index.cjs 3.3 MB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715
  1. /**
  2. * @license
  3. * Cesium - https://github.com/CesiumGS/cesium
  4. * Version 1.97
  5. *
  6. * Copyright 2011-2022 Cesium Contributors
  7. *
  8. * Licensed under the Apache License, Version 2.0 (the "License");
  9. * you may not use this file except in compliance with the License.
  10. * You may obtain a copy of the License at
  11. *
  12. * http://www.apache.org/licenses/LICENSE-2.0
  13. *
  14. * Unless required by applicable law or agreed to in writing, software
  15. * distributed under the License is distributed on an "AS IS" BASIS,
  16. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  17. * See the License for the specific language governing permissions and
  18. * limitations under the License.
  19. *
  20. * Columbus View (Pat. Pend.)
  21. *
  22. * Portions licensed separately.
  23. * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details.
  24. */
  25. var bye=Object.create;var nP=Object.defineProperty;var Sye=Object.getOwnPropertyDescriptor;var wye=Object.getOwnPropertyNames;var vye=Object.getPrototypeOf,Dye=Object.prototype.hasOwnProperty;var Vn=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Pye=(e,t)=>{for(var n in t)nP(e,n,{get:t[n],enumerable:!0})},cY=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of wye(t))!Dye.call(e,o)&&o!==n&&nP(e,o,{get:()=>t[o],enumerable:!(i=Sye(t,o))||i.enumerable});return e};var Ri=(e,t,n)=>(n=e!=null?bye(vye(e)):{},cY(t||!e||!e.__esModule?nP(n,"default",{value:e,enumerable:!0}):n,e)),Iye=e=>cY(nP({},"__esModule",{value:!0}),e);var iP=Vn((m_t,uY)=>{var Kh=function(e){e==null&&(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,e.constructor==Array?this.init_by_array(e,e.length):this.init_seed(e)};Kh.prototype.init_seed=function(e){for(this.mt[0]=e>>>0,this.mti=1;this.mti<this.N;this.mti++){var e=this.mt[this.mti-1]^this.mt[this.mti-1]>>>30;this.mt[this.mti]=(((e&4294901760)>>>16)*1812433253<<16)+(e&65535)*1812433253+this.mti,this.mt[this.mti]>>>=0}};Kh.prototype.init_by_array=function(e,t){var n,i,o;for(this.init_seed(19650218),n=1,i=0,o=this.N>t?this.N:t;o;o--){var r=this.mt[n-1]^this.mt[n-1]>>>30;this.mt[n]=(this.mt[n]^(((r&4294901760)>>>16)*1664525<<16)+(r&65535)*1664525)+e[i]+i,this.mt[n]>>>=0,n++,i++,n>=this.N&&(this.mt[0]=this.mt[this.N-1],n=1),i>=t&&(i=0)}for(o=this.N-1;o;o--){var r=this.mt[n-1]^this.mt[n-1]>>>30;this.mt[n]=(this.mt[n]^(((r&4294901760)>>>16)*1566083941<<16)+(r&65535)*1566083941)-n,this.mt[n]>>>=0,n++,n>=this.N&&(this.mt[0]=this.mt[this.N-1],n=1)}this.mt[0]=2147483648};Kh.prototype.random_int=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_seed(5489),n=0;n<this.N-this.M;n++)e=this.mt[n]&this.UPPER_MASK|this.mt[n+1]&this.LOWER_MASK,this.mt[n]=this.mt[n+this.M]^e>>>1^t[e&1];for(;n<this.N-1;n++)e=this.mt[n]&this.UPPER_MASK|this.mt[n+1]&this.LOWER_MASK,this.mt[n]=this.mt[n+(this.M-this.N)]^e>>>1^t[e&1];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[e&1],this.mti=0}return e=this.mt[this.mti++],e^=e>>>11,e^=e<<7&2636928640,e^=e<<15&4022730752,e^=e>>>18,e>>>0};Kh.prototype.random_int31=function(){return this.random_int()>>>1};Kh.prototype.random_incl=function(){return this.random_int()*(1/4294967295)};Kh.prototype.random=function(){return this.random_int()*(1/4294967296)};Kh.prototype.random_excl=function(){return(this.random_int()+.5)*(1/4294967296)};Kh.prototype.random_long=function(){var e=this.random_int()>>>5,t=this.random_int()>>>6;return(e*67108864+t)*(1/9007199254740992)};uY.exports=Kh});var TY=Vn((jC,qC)=>{/*! https://mths.be/punycode v1.4.0 by @mathias */(function(e){var t=typeof jC=="object"&&jC&&!jC.nodeType&&jC,n=typeof qC=="object"&&qC&&!qC.nodeType&&qC,i=typeof global=="object"&&global;(i.global===i||i.window===i||i.self===i)&&(e=i);var o,r=2147483647,s=36,a=1,c=26,u=38,f=700,d=72,p=128,g="-",m=/^xn--/,C=/[^\x20-\x7E]/,x=/[\x2E\u3002\uFF0E\uFF61]/g,A={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},b=s-a,E=Math.floor,S=String.fromCharCode,v;function P(k){throw new RangeError(A[k])}function O(k,H){for(var V=k.length,Y=[];V--;)Y[V]=H(k[V]);return Y}function M(k,H){var V=k.split("@"),Y="";V.length>1&&(Y=V[0]+"@",k=V[1]),k=k.replace(x,".");var q=k.split("."),X=O(q,H).join(".");return Y+X}function B(k){for(var H=[],V=0,Y=k.length,q,X;V<Y;)q=k.charCodeAt(V++),q>=55296&&q<=56319&&V<Y?(X=k.charCodeAt(V++),(X&64512)==56320?H.push(((q&1023)<<10)+(X&1023)+65536):(H.push(q),V--)):H.push(q);return H}function L(k){return O(k,function(H){var V="";return H>65535&&(H-=65536,V+=S(H>>>10&1023|55296),H=56320|H&1023),V+=S(H),V}).join("")}function _(k){return k-48<10?k-22:k-65<26?k-65:k-97<26?k-97:s}function T(k,H){return k+22+75*(k<26)-((H!=0)<<5)}function w(k,H,V){var Y=0;for(k=V?E(k/f):k>>1,k+=E(k/H);k>b*c>>1;Y+=s)k=E(k/b);return E(Y+(b+1)*k/(k+u))}function D(k){var H=[],V=k.length,Y,q=0,X=p,W=d,K,$,le,me,ie,ce,pe,Ae,we;for(K=k.lastIndexOf(g),K<0&&(K=0),$=0;$<K;++$)k.charCodeAt($)>=128&&P("not-basic"),H.push(k.charCodeAt($));for(le=K>0?K+1:0;le<V;){for(me=q,ie=1,ce=s;le>=V&&P("invalid-input"),pe=_(k.charCodeAt(le++)),(pe>=s||pe>E((r-q)/ie))&&P("overflow"),q+=pe*ie,Ae=ce<=W?a:ce>=W+c?c:ce-W,!(pe<Ae);ce+=s)we=s-Ae,ie>E(r/we)&&P("overflow"),ie*=we;Y=H.length+1,W=w(q-me,Y,me==0),E(q/Y)>r-X&&P("overflow"),X+=E(q/Y),q%=Y,H.splice(q++,0,X)}return L(H)}function R(k){var H,V,Y,q,X,W,K,$,le,me,ie,ce=[],pe,Ae,we,Re;for(k=B(k),pe=k.length,H=p,V=0,X=d,W=0;W<pe;++W)ie=k[W],ie<128&&ce.push(S(ie));for(Y=q=ce.length,q&&ce.push(g);Y<pe;){for(K=r,W=0;W<pe;++W)ie=k[W],ie>=H&&ie<K&&(K=ie);for(Ae=Y+1,K-H>E((r-V)/Ae)&&P("overflow"),V+=(K-H)*Ae,H=K,W=0;W<pe;++W)if(ie=k[W],ie<H&&++V>r&&P("overflow"),ie==H){for($=V,le=s;me=le<=X?a:le>=X+c?c:le-X,!($<me);le+=s)Re=$-me,we=s-me,ce.push(S(T(me+Re%we,0))),$=E(Re/we);ce.push(S(T($,0))),X=w(V,Ae,Y==q),V=0,++Y}++V,++H}return ce.join("")}function F(k){return M(k,function(H){return m.test(H)?D(H.slice(4).toLowerCase()):H})}function z(k){return M(k,function(H){return C.test(H)?"xn--"+R(H):H})}if(o={version:"1.3.2",ucs2:{decode:B,encode:L},decode:D,encode:R,toASCII:z,toUnicode:F},typeof define=="function"&&typeof define.amd=="object"&&define.amd)define("punycode",function(){return o});else if(t&&n)if(qC.exports==t)n.exports=o;else for(v in o)o.hasOwnProperty(v)&&(t[v]=o[v]);else e.punycode=o})(jC)});var bY=Vn((EY,uP)=>{/*!
  26. * URI.js - Mutating URLs
  27. * IPv6 Support
  28. *
  29. * Version: 1.19.11
  30. *
  31. * Author: Rodney Rehm
  32. * Web: http://medialize.github.io/URI.js/
  33. *
  34. * Licensed under
  35. * MIT License http://www.opensource.org/licenses/mit-license
  36. *
  37. */(function(e,t){"use strict";typeof uP=="object"&&uP.exports?uP.exports=t():typeof define=="function"&&define.amd?define(t):e.IPv6=t(e)})(EY,function(e){"use strict";var t=e&&e.IPv6;function n(o){var r=o.toLowerCase(),s=r.split(":"),a=s.length,c=8;s[0]===""&&s[1]===""&&s[2]===""?(s.shift(),s.shift()):s[0]===""&&s[1]===""?s.shift():s[a-1]===""&&s[a-2]===""&&s.pop(),a=s.length,s[a-1].indexOf(".")!==-1&&(c=7);var u;for(u=0;u<a&&s[u]!=="";u++);if(u<c)for(s.splice(u,1,"0000");s.length<c;)s.splice(u,0,"0000");for(var f,d=0;d<c;d++){f=s[d].split("");for(var p=0;p<3&&(f[0]==="0"&&f.length>1);p++)f.splice(0,1);s[d]=f.join("")}var g=-1,m=0,C=0,x=-1,A=!1;for(d=0;d<c;d++)A?s[d]==="0"?C+=1:(A=!1,C>m&&(g=x,m=C)):s[d]==="0"&&(A=!0,x=d,C=1);C>m&&(g=x,m=C),m>1&&s.splice(g,m,""),a=s.length;var b="";for(s[0]===""&&(b=":"),d=0;d<a&&(b+=s[d],d!==a-1);d++)b+=":";return s[a-1]===""&&(b+=":"),b}function i(){return e.IPv6===this&&(e.IPv6=t),this}return{best:n,noConflict:i}})});var wY=Vn((SY,fP)=>{/*!
  38. * URI.js - Mutating URLs
  39. * Second Level Domain (SLD) Support
  40. *
  41. * Version: 1.19.11
  42. *
  43. * Author: Rodney Rehm
  44. * Web: http://medialize.github.io/URI.js/
  45. *
  46. * Licensed under
  47. * MIT License http://www.opensource.org/licenses/mit-license
  48. *
  49. */(function(e,t){"use strict";typeof fP=="object"&&fP.exports?fP.exports=t():typeof define=="function"&&define.amd?define(t):e.SecondLevelDomains=t(e)})(SY,function(e){"use strict";var t=e&&e.SecondLevelDomains,n={list:{ac:" com gov mil net org ",ae:" ac co gov mil name net org pro sch ",af:" com edu gov net org ",al:" com edu gov mil net org ",ao:" co ed gv it og pb ",ar:" com edu gob gov int mil net org tur ",at:" ac co gv or ",au:" asn com csiro edu gov id net org ",ba:" co com edu gov mil net org rs unbi unmo unsa untz unze ",bb:" biz co com edu gov info net org store tv ",bh:" biz cc com edu gov info net org ",bn:" com edu gov net org ",bo:" com edu gob gov int mil net org tv ",br:" adm adv agr am arq art ato b bio blog bmd cim cng cnt com coop ecn edu eng esp etc eti far flog fm fnd fot fst g12 ggf gov imb ind inf jor jus lel mat med mil mus net nom not ntr odo org ppg pro psc psi qsl rec slg srv tmp trd tur tv vet vlog wiki zlg ",bs:" com edu gov net org ",bz:" du et om ov rg ",ca:" ab bc mb nb nf nl ns nt nu on pe qc sk yk ",ck:" biz co edu gen gov info net org ",cn:" ac ah bj com cq edu fj gd gov gs gx gz ha hb he hi hl hn jl js jx ln mil net nm nx org qh sc sd sh sn sx tj tw xj xz yn zj ",co:" com edu gov mil net nom org ",cr:" ac c co ed fi go or sa ",cy:" ac biz com ekloges gov ltd name net org parliament press pro tm ",do:" art com edu gob gov mil net org sld web ",dz:" art asso com edu gov net org pol ",ec:" com edu fin gov info med mil net org pro ",eg:" com edu eun gov mil name net org sci ",er:" com edu gov ind mil net org rochest w ",es:" com edu gob nom org ",et:" biz com edu gov info name net org ",fj:" ac biz com info mil name net org pro ",fk:" ac co gov net nom org ",fr:" asso com f gouv nom prd presse tm ",gg:" co net org ",gh:" com edu gov mil org ",gn:" ac com gov net org ",gr:" com edu gov mil net org ",gt:" com edu gob ind mil net org ",gu:" com edu gov net org ",hk:" com edu gov idv net org ",hu:" 2000 agrar bolt casino city co erotica erotika film forum games hotel info ingatlan jogasz konyvelo lakas media news org priv reklam sex shop sport suli szex tm tozsde utazas video ",id:" ac co go mil net or sch web ",il:" ac co gov idf k12 muni net org ",in:" ac co edu ernet firm gen gov i ind mil net nic org res ",iq:" com edu gov i mil net org ",ir:" ac co dnssec gov i id net org sch ",it:" edu gov ",je:" co net org ",jo:" com edu gov mil name net org sch ",jp:" ac ad co ed go gr lg ne or ",ke:" ac co go info me mobi ne or sc ",kh:" com edu gov mil net org per ",ki:" biz com de edu gov info mob net org tel ",km:" asso com coop edu gouv k medecin mil nom notaires pharmaciens presse tm veterinaire ",kn:" edu gov net org ",kr:" ac busan chungbuk chungnam co daegu daejeon es gangwon go gwangju gyeongbuk gyeonggi gyeongnam hs incheon jeju jeonbuk jeonnam k kg mil ms ne or pe re sc seoul ulsan ",kw:" com edu gov net org ",ky:" com edu gov net org ",kz:" com edu gov mil net org ",lb:" com edu gov net org ",lk:" assn com edu gov grp hotel int ltd net ngo org sch soc web ",lr:" com edu gov net org ",lv:" asn com conf edu gov id mil net org ",ly:" com edu gov id med net org plc sch ",ma:" ac co gov m net org press ",mc:" asso tm ",me:" ac co edu gov its net org priv ",mg:" com edu gov mil nom org prd tm ",mk:" com edu gov inf name net org pro ",ml:" com edu gov net org presse ",mn:" edu gov org ",mo:" com edu gov net org ",mt:" com edu gov net org ",mv:" aero biz com coop edu gov info int mil museum name net org pro ",mw:" ac co com coop edu gov int museum net org ",mx:" com edu gob net org ",my:" com edu gov mil name net org sch ",nf:" arts com firm info net other per rec store web ",ng:" biz com edu gov mil mobi name net org sch ",ni:" ac co com edu gob mil net nom org ",np:" com edu gov mil net org ",nr:" biz com edu gov info net org ",om:" ac biz co com edu gov med mil museum net org pro sch ",pe:" com edu gob mil net nom org sld ",ph:" com edu gov i mil net ngo org ",pk:" biz com edu fam gob gok gon gop gos gov net org web ",pl:" art bialystok biz com edu gda gdansk gorzow gov info katowice krakow lodz lublin mil net ngo olsztyn org poznan pwr radom slupsk szczecin torun warszawa waw wroc wroclaw zgora ",pr:" ac biz com edu est gov info isla name net org pro prof ",ps:" com edu gov net org plo sec ",pw:" belau co ed go ne or ",ro:" arts com firm info nom nt org rec store tm www ",rs:" ac co edu gov in org ",sb:" com edu gov net org ",sc:" com edu gov net org ",sh:" co com edu gov net nom org ",sl:" com edu gov net org ",st:" co com consulado edu embaixada gov mil net org principe saotome store ",sv:" com edu gob org red ",sz:" ac co org ",tr:" av bbs bel biz com dr edu gen gov info k12 name net org pol tel tsk tv web ",tt:" aero biz cat co com coop edu gov info int jobs mil mobi museum name net org pro tel travel ",tw:" club com ebiz edu game gov idv mil net org ",mu:" ac co com gov net or org ",mz:" ac co edu gov org ",na:" co com ",nz:" ac co cri geek gen govt health iwi maori mil net org parliament school ",pa:" abo ac com edu gob ing med net nom org sld ",pt:" com edu gov int net nome org publ ",py:" com edu gov mil net org ",qa:" com edu gov mil net org ",re:" asso com nom ",ru:" ac adygeya altai amur arkhangelsk astrakhan bashkiria belgorod bir bryansk buryatia cbg chel chelyabinsk chita chukotka chuvashia com dagestan e-burg edu gov grozny int irkutsk ivanovo izhevsk jar joshkar-ola kalmykia kaluga kamchatka karelia kazan kchr kemerovo khabarovsk khakassia khv kirov koenig komi kostroma kranoyarsk kuban kurgan kursk lipetsk magadan mari mari-el marine mil mordovia mosreg msk murmansk nalchik net nnov nov novosibirsk nsk omsk orenburg org oryol penza perm pp pskov ptz rnd ryazan sakhalin samara saratov simbirsk smolensk spb stavropol stv surgut tambov tatarstan tom tomsk tsaritsyn tsk tula tuva tver tyumen udm udmurtia ulan-ude vladikavkaz vladimir vladivostok volgograd vologda voronezh vrn vyatka yakutia yamal yekaterinburg yuzhno-sakhalinsk ",rw:" ac co com edu gouv gov int mil net ",sa:" com edu gov med net org pub sch ",sd:" com edu gov info med net org tv ",se:" a ac b bd c d e f g h i k l m n o org p parti pp press r s t tm u w x y z ",sg:" com edu gov idn net org per ",sn:" art com edu gouv org perso univ ",sy:" com edu gov mil net news org ",th:" ac co go in mi net or ",tj:" ac biz co com edu go gov info int mil name net nic org test web ",tn:" agrinet com defense edunet ens fin gov ind info intl mincom nat net org perso rnrt rns rnu tourism ",tz:" ac co go ne or ",ua:" biz cherkassy chernigov chernovtsy ck cn co com crimea cv dn dnepropetrovsk donetsk dp edu gov if in ivano-frankivsk kh kharkov kherson khmelnitskiy kiev kirovograd km kr ks kv lg lugansk lutsk lviv me mk net nikolaev od odessa org pl poltava pp rovno rv sebastopol sumy te ternopil uzhgorod vinnica vn zaporizhzhe zhitomir zp zt ",ug:" ac co go ne or org sc ",uk:" ac bl british-library co cym gov govt icnet jet lea ltd me mil mod national-library-scotland nel net nhs nic nls org orgn parliament plc police sch scot soc ",us:" dni fed isa kids nsn ",uy:" com edu gub mil net org ",ve:" co com edu gob info mil net org web ",vi:" co com k12 net org ",vn:" ac biz com edu gov health info int name net org pro ",ye:" co com gov ltd me net org plc ",yu:" ac co edu gov org ",za:" ac agric alt bourse city co cybernet db edu gov grondar iaccess imt inca landesign law mil net ngo nis nom olivetti org pix school tm web ",zm:" ac co com edu gov net org sch ",com:"ar br cn de eu gb gr hu jpn kr no qc ru sa se uk us uy za ",net:"gb jp se uk ",org:"ae",de:"com "},has:function(i){var o=i.lastIndexOf(".");if(o<=0||o>=i.length-1)return!1;var r=i.lastIndexOf(".",o-1);if(r<=0||r>=o-1)return!1;var s=n.list[i.slice(o+1)];return s?s.indexOf(" "+i.slice(r+1,o)+" ")>=0:!1},is:function(i){var o=i.lastIndexOf(".");if(o<=0||o>=i.length-1)return!1;var r=i.lastIndexOf(".",o-1);if(r>=0)return!1;var s=n.list[i.slice(o+1)];return s?s.indexOf(" "+i.slice(0,o)+" ")>=0:!1},get:function(i){var o=i.lastIndexOf(".");if(o<=0||o>=i.length-1)return null;var r=i.lastIndexOf(".",o-1);if(r<=0||r>=o-1)return null;var s=n.list[i.slice(o+1)];return!s||s.indexOf(" "+i.slice(r+1,o)+" ")<0?null:i.slice(r+1)},noConflict:function(){return e.SecondLevelDomains===this&&(e.SecondLevelDomains=t),this}};return n})});var fl=Vn((vY,dP)=>{/*!
  50. * URI.js - Mutating URLs
  51. *
  52. * Version: 1.19.11
  53. *
  54. * Author: Rodney Rehm
  55. * Web: http://medialize.github.io/URI.js/
  56. *
  57. * Licensed under
  58. * MIT License http://www.opensource.org/licenses/mit-license
  59. *
  60. */(function(e,t){"use strict";typeof dP=="object"&&dP.exports?dP.exports=t(TY(),bY(),wY()):typeof define=="function"&&define.amd?define(["./punycode","./IPv6","./SecondLevelDomains"],t):e.URI=t(e.punycode,e.IPv6,e.SecondLevelDomains,e)})(vY,function(e,t,n,i){"use strict";var o=i&&i.URI;function r(T,w){var D=arguments.length>=1,R=arguments.length>=2;if(!(this instanceof r))return D?R?new r(T,w):new r(T):new r;if(T===void 0){if(D)throw new TypeError("undefined is not a valid argument for URI");typeof location<"u"?T=location.href+"":T=""}if(T===null&&D)throw new TypeError("null is not a valid argument for URI");return this.href(T),w!==void 0?this.absoluteTo(w):this}function s(T){return/^[0-9]+$/.test(T)}r.version="1.19.11";var a=r.prototype,c=Object.prototype.hasOwnProperty;function u(T){return T.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}function f(T){return T===void 0?"Undefined":String(Object.prototype.toString.call(T)).slice(8,-1)}function d(T){return f(T)==="Array"}function p(T,w){var D={},R,F;if(f(w)==="RegExp")D=null;else if(d(w))for(R=0,F=w.length;R<F;R++)D[w[R]]=!0;else D[w]=!0;for(R=0,F=T.length;R<F;R++){var z=D&&D[T[R]]!==void 0||!D&&w.test(T[R]);z&&(T.splice(R,1),F--,R--)}return T}function g(T,w){var D,R;if(d(w)){for(D=0,R=w.length;D<R;D++)if(!g(T,w[D]))return!1;return!0}var F=f(w);for(D=0,R=T.length;D<R;D++)if(F==="RegExp"){if(typeof T[D]=="string"&&T[D].match(w))return!0}else if(T[D]===w)return!0;return!1}function m(T,w){if(!d(T)||!d(w)||T.length!==w.length)return!1;T.sort(),w.sort();for(var D=0,R=T.length;D<R;D++)if(T[D]!==w[D])return!1;return!0}function C(T){var w=/^\/+|\/+$/g;return T.replace(w,"")}r._parts=function(){return{protocol:null,username:null,password:null,hostname:null,urn:null,port:null,path:null,query:null,fragment:null,preventInvalidHostname:r.preventInvalidHostname,duplicateQueryParameters:r.duplicateQueryParameters,escapeQuerySpace:r.escapeQuerySpace}},r.preventInvalidHostname=!1,r.duplicateQueryParameters=!1,r.escapeQuerySpace=!0,r.protocol_expression=/^[a-z][a-z0-9.+-]*$/i,r.idn_expression=/[^a-z0-9\._-]/i,r.punycode_expression=/(xn--)/i,r.ip4_expression=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,r.ip6_expression=/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/,r.find_uri_expression=/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/ig,r.findUri={start:/\b(?:([a-z][a-z0-9.+-]*:\/\/)|www\.)/gi,end:/[\s\r\n]|$/,trim:/[`!()\[\]{};:'".,<>?«»“”„‘’]+$/,parens:/(\([^\)]*\)|\[[^\]]*\]|\{[^}]*\}|<[^>]*>)/g},r.leading_whitespace_expression=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,r.ascii_tab_whitespace=/[\u0009\u000A\u000D]+/g,r.defaultPorts={http:"80",https:"443",ftp:"21",gopher:"70",ws:"80",wss:"443"},r.hostProtocols=["http","https"],r.invalid_hostname_characters=/[^a-zA-Z0-9\.\-:_]/,r.domAttributes={a:"href",blockquote:"cite",link:"href",base:"href",script:"src",form:"action",img:"src",area:"href",iframe:"src",embed:"src",source:"src",track:"src",input:"src",audio:"src",video:"src"},r.getDomAttribute=function(T){if(!(!T||!T.nodeName)){var w=T.nodeName.toLowerCase();if(!(w==="input"&&T.type!=="image"))return r.domAttributes[w]}};function x(T){return escape(T)}function A(T){return encodeURIComponent(T).replace(/[!'()*]/g,x).replace(/\*/g,"%2A")}r.encode=A,r.decode=decodeURIComponent,r.iso8859=function(){r.encode=escape,r.decode=unescape},r.unicode=function(){r.encode=A,r.decode=decodeURIComponent},r.characters={pathname:{encode:{expression:/%(24|26|2B|2C|3B|3D|3A|40)/ig,map:{"%24":"$","%26":"&","%2B":"+","%2C":",","%3B":";","%3D":"=","%3A":":","%40":"@"}},decode:{expression:/[\/\?#]/g,map:{"/":"%2F","?":"%3F","#":"%23"}}},reserved:{encode:{expression:/%(21|23|24|26|27|28|29|2A|2B|2C|2F|3A|3B|3D|3F|40|5B|5D)/ig,map:{"%3A":":","%2F":"/","%3F":"?","%23":"#","%5B":"[","%5D":"]","%40":"@","%21":"!","%24":"$","%26":"&","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"="}}},urnpath:{encode:{expression:/%(21|24|27|28|29|2A|2B|2C|3B|3D|40)/ig,map:{"%21":"!","%24":"$","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"=","%40":"@"}},decode:{expression:/[\/\?#:]/g,map:{"/":"%2F","?":"%3F","#":"%23",":":"%3A"}}}},r.encodeQuery=function(T,w){var D=r.encode(T+"");return w===void 0&&(w=r.escapeQuerySpace),w?D.replace(/%20/g,"+"):D},r.decodeQuery=function(T,w){T+="",w===void 0&&(w=r.escapeQuerySpace);try{return r.decode(w?T.replace(/\+/g,"%20"):T)}catch{return T}};var b={encode:"encode",decode:"decode"},E,S=function(T,w){return function(D){try{return r[w](D+"").replace(r.characters[T][w].expression,function(R){return r.characters[T][w].map[R]})}catch{return D}}};for(E in b)r[E+"PathSegment"]=S("pathname",b[E]),r[E+"UrnPathSegment"]=S("urnpath",b[E]);var v=function(T,w,D){return function(R){var F;D?F=function(V){return r[w](r[D](V))}:F=r[w];for(var z=(R+"").split(T),k=0,H=z.length;k<H;k++)z[k]=F(z[k]);return z.join(T)}};r.decodePath=v("/","decodePathSegment"),r.decodeUrnPath=v(":","decodeUrnPathSegment"),r.recodePath=v("/","encodePathSegment","decode"),r.recodeUrnPath=v(":","encodeUrnPathSegment","decode"),r.encodeReserved=S("reserved","encode"),r.parse=function(T,w){var D;return w||(w={preventInvalidHostname:r.preventInvalidHostname}),T=T.replace(r.leading_whitespace_expression,""),T=T.replace(r.ascii_tab_whitespace,""),D=T.indexOf("#"),D>-1&&(w.fragment=T.substring(D+1)||null,T=T.substring(0,D)),D=T.indexOf("?"),D>-1&&(w.query=T.substring(D+1)||null,T=T.substring(0,D)),T=T.replace(/^(https?|ftp|wss?)?:+[/\\]*/i,"$1://"),T=T.replace(/^[/\\]{2,}/i,"//"),T.substring(0,2)==="//"?(w.protocol=null,T=T.substring(2),T=r.parseAuthority(T,w)):(D=T.indexOf(":"),D>-1&&(w.protocol=T.substring(0,D)||null,w.protocol&&!w.protocol.match(r.protocol_expression)?w.protocol=void 0:T.substring(D+1,D+3).replace(/\\/g,"/")==="//"?(T=T.substring(D+3),T=r.parseAuthority(T,w)):(T=T.substring(D+1),w.urn=!0))),w.path=T,w},r.parseHost=function(T,w){T||(T=""),T=T.replace(/\\/g,"/");var D=T.indexOf("/"),R,F;if(D===-1&&(D=T.length),T.charAt(0)==="[")R=T.indexOf("]"),w.hostname=T.substring(1,R)||null,w.port=T.substring(R+2,D)||null,w.port==="/"&&(w.port=null);else{var z=T.indexOf(":"),k=T.indexOf("/"),H=T.indexOf(":",z+1);H!==-1&&(k===-1||H<k)?(w.hostname=T.substring(0,D)||null,w.port=null):(F=T.substring(0,D).split(":"),w.hostname=F[0]||null,w.port=F[1]||null)}return w.hostname&&T.substring(D).charAt(0)!=="/"&&(D++,T="/"+T),w.preventInvalidHostname&&r.ensureValidHostname(w.hostname,w.protocol),w.port&&r.ensureValidPort(w.port),T.substring(D)||"/"},r.parseAuthority=function(T,w){return T=r.parseUserinfo(T,w),r.parseHost(T,w)},r.parseUserinfo=function(T,w){var D=T,R=T.indexOf("\\");R!==-1&&(T=T.replace(/\\/g,"/"));var F=T.indexOf("/"),z=T.lastIndexOf("@",F>-1?F:T.length-1),k;return z>-1&&(F===-1||z<F)?(k=T.substring(0,z).split(":"),w.username=k[0]?r.decode(k[0]):null,k.shift(),w.password=k[0]?r.decode(k.join(":")):null,T=D.substring(z+1)):(w.username=null,w.password=null),T},r.parseQuery=function(T,w){if(!T)return{};if(T=T.replace(/&+/g,"&").replace(/^\?*&*|&+$/g,""),!T)return{};for(var D={},R=T.split("&"),F=R.length,z,k,H,V=0;V<F;V++)z=R[V].split("="),k=r.decodeQuery(z.shift(),w),H=z.length?r.decodeQuery(z.join("="),w):null,k!=="__proto__"&&(c.call(D,k)?((typeof D[k]=="string"||D[k]===null)&&(D[k]=[D[k]]),D[k].push(H)):D[k]=H);return D},r.build=function(T){var w="",D=!1;return T.protocol&&(w+=T.protocol+":"),!T.urn&&(w||T.hostname)&&(w+="//",D=!0),w+=r.buildAuthority(T)||"",typeof T.path=="string"&&(T.path.charAt(0)!=="/"&&D&&(w+="/"),w+=T.path),typeof T.query=="string"&&T.query&&(w+="?"+T.query),typeof T.fragment=="string"&&T.fragment&&(w+="#"+T.fragment),w},r.buildHost=function(T){var w="";if(T.hostname)r.ip6_expression.test(T.hostname)?w+="["+T.hostname+"]":w+=T.hostname;else return"";return T.port&&(w+=":"+T.port),w},r.buildAuthority=function(T){return r.buildUserinfo(T)+r.buildHost(T)},r.buildUserinfo=function(T){var w="";return T.username&&(w+=r.encode(T.username)),T.password&&(w+=":"+r.encode(T.password)),w&&(w+="@"),w},r.buildQuery=function(T,w,D){var R="",F,z,k,H;for(z in T)if(z!=="__proto__"&&c.call(T,z))if(d(T[z]))for(F={},k=0,H=T[z].length;k<H;k++)T[z][k]!==void 0&&F[T[z][k]+""]===void 0&&(R+="&"+r.buildQueryParameter(z,T[z][k],D),w!==!0&&(F[T[z][k]+""]=!0));else T[z]!==void 0&&(R+="&"+r.buildQueryParameter(z,T[z],D));return R.substring(1)},r.buildQueryParameter=function(T,w,D){return r.encodeQuery(T,D)+(w!==null?"="+r.encodeQuery(w,D):"")},r.addQuery=function(T,w,D){if(typeof w=="object")for(var R in w)c.call(w,R)&&r.addQuery(T,R,w[R]);else if(typeof w=="string"){if(T[w]===void 0){T[w]=D;return}else typeof T[w]=="string"&&(T[w]=[T[w]]);d(D)||(D=[D]),T[w]=(T[w]||[]).concat(D)}else throw new TypeError("URI.addQuery() accepts an object, string as the name parameter")},r.setQuery=function(T,w,D){if(typeof w=="object")for(var R in w)c.call(w,R)&&r.setQuery(T,R,w[R]);else if(typeof w=="string")T[w]=D===void 0?null:D;else throw new TypeError("URI.setQuery() accepts an object, string as the name parameter")},r.removeQuery=function(T,w,D){var R,F,z;if(d(w))for(R=0,F=w.length;R<F;R++)T[w[R]]=void 0;else if(f(w)==="RegExp")for(z in T)w.test(z)&&(T[z]=void 0);else if(typeof w=="object")for(z in w)c.call(w,z)&&r.removeQuery(T,z,w[z]);else if(typeof w=="string")D!==void 0?f(D)==="RegExp"?!d(T[w])&&D.test(T[w])?T[w]=void 0:T[w]=p(T[w],D):T[w]===String(D)&&(!d(D)||D.length===1)?T[w]=void 0:d(T[w])&&(T[w]=p(T[w],D)):T[w]=void 0;else throw new TypeError("URI.removeQuery() accepts an object, string, RegExp as the first parameter")},r.hasQuery=function(T,w,D,R){switch(f(w)){case"String":break;case"RegExp":for(var F in T)if(c.call(T,F)&&w.test(F)&&(D===void 0||r.hasQuery(T,F,D)))return!0;return!1;case"Object":for(var z in w)if(c.call(w,z)&&!r.hasQuery(T,z,w[z]))return!1;return!0;default:throw new TypeError("URI.hasQuery() accepts a string, regular expression or object as the name parameter")}switch(f(D)){case"Undefined":return w in T;case"Boolean":var k=Boolean(d(T[w])?T[w].length:T[w]);return D===k;case"Function":return!!D(T[w],w,T);case"Array":if(!d(T[w]))return!1;var H=R?g:m;return H(T[w],D);case"RegExp":return d(T[w])?R?g(T[w],D):!1:Boolean(T[w]&&T[w].match(D));case"Number":D=String(D);case"String":return d(T[w])?R?g(T[w],D):!1:T[w]===D;default:throw new TypeError("URI.hasQuery() accepts undefined, boolean, string, number, RegExp, Function as the value parameter")}},r.joinPaths=function(){for(var T=[],w=[],D=0,R=0;R<arguments.length;R++){var F=new r(arguments[R]);T.push(F);for(var z=F.segment(),k=0;k<z.length;k++)typeof z[k]=="string"&&w.push(z[k]),z[k]&&D++}if(!w.length||!D)return new r("");var H=new r("").segment(w);return(T[0].path()===""||T[0].path().slice(0,1)==="/")&&H.path("/"+H.path()),H.normalize()},r.commonPath=function(T,w){var D=Math.min(T.length,w.length),R;for(R=0;R<D;R++)if(T.charAt(R)!==w.charAt(R)){R--;break}return R<1?T.charAt(0)===w.charAt(0)&&T.charAt(0)==="/"?"/":"":((T.charAt(R)!=="/"||w.charAt(R)!=="/")&&(R=T.substring(0,R).lastIndexOf("/")),T.substring(0,R+1))},r.withinString=function(T,w,D){D||(D={});var R=D.start||r.findUri.start,F=D.end||r.findUri.end,z=D.trim||r.findUri.trim,k=D.parens||r.findUri.parens,H=/[a-z0-9-]=["']?$/i;for(R.lastIndex=0;;){var V=R.exec(T);if(!V)break;var Y=V.index;if(D.ignoreHtml){var q=T.slice(Math.max(Y-3,0),Y);if(q&&H.test(q))continue}for(var X=Y+T.slice(Y).search(F),W=T.slice(Y,X),K=-1;;){var $=k.exec(W);if(!$)break;var le=$.index+$[0].length;K=Math.max(K,le)}if(K>-1?W=W.slice(0,K)+W.slice(K).replace(z,""):W=W.replace(z,""),!(W.length<=V[0].length)&&!(D.ignore&&D.ignore.test(W))){X=Y+W.length;var me=w(W,Y,X,T);if(me===void 0){R.lastIndex=X;continue}me=String(me),T=T.slice(0,Y)+me+T.slice(X),R.lastIndex=Y+me.length}}return R.lastIndex=0,T},r.ensureValidHostname=function(T,w){var D=!!T,R=!!w,F=!1;if(R&&(F=g(r.hostProtocols,w)),F&&!D)throw new TypeError("Hostname cannot be empty, if protocol is "+w);if(T&&T.match(r.invalid_hostname_characters)){if(!e)throw new TypeError('Hostname "'+T+'" contains characters other than [A-Z0-9.-:_] and Punycode.js is not available');if(e.toASCII(T).match(r.invalid_hostname_characters))throw new TypeError('Hostname "'+T+'" contains characters other than [A-Z0-9.-:_]')}},r.ensureValidPort=function(T){if(!!T){var w=Number(T);if(!(s(w)&&w>0&&w<65536))throw new TypeError('Port "'+T+'" is not a valid port')}},r.noConflict=function(T){if(T){var w={URI:this.noConflict()};return i.URITemplate&&typeof i.URITemplate.noConflict=="function"&&(w.URITemplate=i.URITemplate.noConflict()),i.IPv6&&typeof i.IPv6.noConflict=="function"&&(w.IPv6=i.IPv6.noConflict()),i.SecondLevelDomains&&typeof i.SecondLevelDomains.noConflict=="function"&&(w.SecondLevelDomains=i.SecondLevelDomains.noConflict()),w}else i.URI===this&&(i.URI=o);return this},a.build=function(T){return T===!0?this._deferred_build=!0:(T===void 0||this._deferred_build)&&(this._string=r.build(this._parts),this._deferred_build=!1),this},a.clone=function(){return new r(this)},a.valueOf=a.toString=function(){return this.build(!1)._string};function P(T){return function(w,D){return w===void 0?this._parts[T]||"":(this._parts[T]=w||null,this.build(!D),this)}}function O(T,w){return function(D,R){return D===void 0?this._parts[T]||"":(D!==null&&(D=D+"",D.charAt(0)===w&&(D=D.substring(1))),this._parts[T]=D,this.build(!R),this)}}a.protocol=P("protocol"),a.username=P("username"),a.password=P("password"),a.hostname=P("hostname"),a.port=P("port"),a.query=O("query","?"),a.fragment=O("fragment","#"),a.search=function(T,w){var D=this.query(T,w);return typeof D=="string"&&D.length?"?"+D:D},a.hash=function(T,w){var D=this.fragment(T,w);return typeof D=="string"&&D.length?"#"+D:D},a.pathname=function(T,w){if(T===void 0||T===!0){var D=this._parts.path||(this._parts.hostname?"/":"");return T?(this._parts.urn?r.decodeUrnPath:r.decodePath)(D):D}else return this._parts.urn?this._parts.path=T?r.recodeUrnPath(T):"":this._parts.path=T?r.recodePath(T):"/",this.build(!w),this},a.path=a.pathname,a.href=function(T,w){var D;if(T===void 0)return this.toString();this._string="",this._parts=r._parts();var R=T instanceof r,F=typeof T=="object"&&(T.hostname||T.path||T.pathname);if(T.nodeName){var z=r.getDomAttribute(T);T=T[z]||"",F=!1}if(!R&&F&&T.pathname!==void 0&&(T=T.toString()),typeof T=="string"||T instanceof String)this._parts=r.parse(String(T),this._parts);else if(R||F){var k=R?T._parts:T;for(D in k)D!=="query"&&c.call(this._parts,D)&&(this._parts[D]=k[D]);k.query&&this.query(k.query,!1)}else throw new TypeError("invalid input");return this.build(!w),this},a.is=function(T){var w=!1,D=!1,R=!1,F=!1,z=!1,k=!1,H=!1,V=!this._parts.urn;switch(this._parts.hostname&&(V=!1,D=r.ip4_expression.test(this._parts.hostname),R=r.ip6_expression.test(this._parts.hostname),w=D||R,F=!w,z=F&&n&&n.has(this._parts.hostname),k=F&&r.idn_expression.test(this._parts.hostname),H=F&&r.punycode_expression.test(this._parts.hostname)),T.toLowerCase()){case"relative":return V;case"absolute":return!V;case"domain":case"name":return F;case"sld":return z;case"ip":return w;case"ip4":case"ipv4":case"inet4":return D;case"ip6":case"ipv6":case"inet6":return R;case"idn":return k;case"url":return!this._parts.urn;case"urn":return!!this._parts.urn;case"punycode":return H}return null};var M=a.protocol,B=a.port,L=a.hostname;a.protocol=function(T,w){if(T&&(T=T.replace(/:(\/\/)?$/,""),!T.match(r.protocol_expression)))throw new TypeError('Protocol "'+T+`" contains characters other than [A-Z0-9.+-] or doesn't start with [A-Z]`);return M.call(this,T,w)},a.scheme=a.protocol,a.port=function(T,w){return this._parts.urn?T===void 0?"":this:(T!==void 0&&(T===0&&(T=null),T&&(T+="",T.charAt(0)===":"&&(T=T.substring(1)),r.ensureValidPort(T))),B.call(this,T,w))},a.hostname=function(T,w){if(this._parts.urn)return T===void 0?"":this;if(T!==void 0){var D={preventInvalidHostname:this._parts.preventInvalidHostname},R=r.parseHost(T,D);if(R!=="/")throw new TypeError('Hostname "'+T+'" contains characters other than [A-Z0-9.-]');T=D.hostname,this._parts.preventInvalidHostname&&r.ensureValidHostname(T,this._parts.protocol)}return L.call(this,T,w)},a.origin=function(T,w){if(this._parts.urn)return T===void 0?"":this;if(T===void 0){var D=this.protocol(),R=this.authority();return R?(D?D+"://":"")+this.authority():""}else{var F=r(T);return this.protocol(F.protocol()).authority(F.authority()).build(!w),this}},a.host=function(T,w){if(this._parts.urn)return T===void 0?"":this;if(T===void 0)return this._parts.hostname?r.buildHost(this._parts):"";var D=r.parseHost(T,this._parts);if(D!=="/")throw new TypeError('Hostname "'+T+'" contains characters other than [A-Z0-9.-]');return this.build(!w),this},a.authority=function(T,w){if(this._parts.urn)return T===void 0?"":this;if(T===void 0)return this._parts.hostname?r.buildAuthority(this._parts):"";var D=r.parseAuthority(T,this._parts);if(D!=="/")throw new TypeError('Hostname "'+T+'" contains characters other than [A-Z0-9.-]');return this.build(!w),this},a.userinfo=function(T,w){if(this._parts.urn)return T===void 0?"":this;if(T===void 0){var D=r.buildUserinfo(this._parts);return D&&D.substring(0,D.length-1)}else return T[T.length-1]!=="@"&&(T+="@"),r.parseUserinfo(T,this._parts),this.build(!w),this},a.resource=function(T,w){var D;return T===void 0?this.path()+this.search()+this.hash():(D=r.parse(T),this._parts.path=D.path,this._parts.query=D.query,this._parts.fragment=D.fragment,this.build(!w),this)},a.subdomain=function(T,w){if(this._parts.urn)return T===void 0?"":this;if(T===void 0){if(!this._parts.hostname||this.is("IP"))return"";var D=this._parts.hostname.length-this.domain().length-1;return this._parts.hostname.substring(0,D)||""}else{var R=this._parts.hostname.length-this.domain().length,F=this._parts.hostname.substring(0,R),z=new RegExp("^"+u(F));if(T&&T.charAt(T.length-1)!=="."&&(T+="."),T.indexOf(":")!==-1)throw new TypeError("Domains cannot contain colons");return T&&r.ensureValidHostname(T,this._parts.protocol),this._parts.hostname=this._parts.hostname.replace(z,T),this.build(!w),this}},a.domain=function(T,w){if(this._parts.urn)return T===void 0?"":this;if(typeof T=="boolean"&&(w=T,T=void 0),T===void 0){if(!this._parts.hostname||this.is("IP"))return"";var D=this._parts.hostname.match(/\./g);if(D&&D.length<2)return this._parts.hostname;var R=this._parts.hostname.length-this.tld(w).length-1;return R=this._parts.hostname.lastIndexOf(".",R-1)+1,this._parts.hostname.substring(R)||""}else{if(!T)throw new TypeError("cannot set domain empty");if(T.indexOf(":")!==-1)throw new TypeError("Domains cannot contain colons");if(r.ensureValidHostname(T,this._parts.protocol),!this._parts.hostname||this.is("IP"))this._parts.hostname=T;else{var F=new RegExp(u(this.domain())+"$");this._parts.hostname=this._parts.hostname.replace(F,T)}return this.build(!w),this}},a.tld=function(T,w){if(this._parts.urn)return T===void 0?"":this;if(typeof T=="boolean"&&(w=T,T=void 0),T===void 0){if(!this._parts.hostname||this.is("IP"))return"";var D=this._parts.hostname.lastIndexOf("."),R=this._parts.hostname.substring(D+1);return w!==!0&&n&&n.list[R.toLowerCase()]&&n.get(this._parts.hostname)||R}else{var F;if(T)if(T.match(/[^a-zA-Z0-9-]/))if(n&&n.is(T))F=new RegExp(u(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(F,T);else throw new TypeError('TLD "'+T+'" contains characters other than [A-Z0-9]');else{if(!this._parts.hostname||this.is("IP"))throw new ReferenceError("cannot set TLD on non-domain host");F=new RegExp(u(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(F,T)}else throw new TypeError("cannot set TLD empty");return this.build(!w),this}},a.directory=function(T,w){if(this._parts.urn)return T===void 0?"":this;if(T===void 0||T===!0){if(!this._parts.path&&!this._parts.hostname)return"";if(this._parts.path==="/")return"/";var D=this._parts.path.length-this.filename().length-1,R=this._parts.path.substring(0,D)||(this._parts.hostname?"/":"");return T?r.decodePath(R):R}else{var F=this._parts.path.length-this.filename().length,z=this._parts.path.substring(0,F),k=new RegExp("^"+u(z));return this.is("relative")||(T||(T="/"),T.charAt(0)!=="/"&&(T="/"+T)),T&&T.charAt(T.length-1)!=="/"&&(T+="/"),T=r.recodePath(T),this._parts.path=this._parts.path.replace(k,T),this.build(!w),this}},a.filename=function(T,w){if(this._parts.urn)return T===void 0?"":this;if(typeof T!="string"){if(!this._parts.path||this._parts.path==="/")return"";var D=this._parts.path.lastIndexOf("/"),R=this._parts.path.substring(D+1);return T?r.decodePathSegment(R):R}else{var F=!1;T.charAt(0)==="/"&&(T=T.substring(1)),T.match(/\.?\//)&&(F=!0);var z=new RegExp(u(this.filename())+"$");return T=r.recodePath(T),this._parts.path=this._parts.path.replace(z,T),F?this.normalizePath(w):this.build(!w),this}},a.suffix=function(T,w){if(this._parts.urn)return T===void 0?"":this;if(T===void 0||T===!0){if(!this._parts.path||this._parts.path==="/")return"";var D=this.filename(),R=D.lastIndexOf("."),F,z;return R===-1?"":(F=D.substring(R+1),z=/^[a-z0-9%]+$/i.test(F)?F:"",T?r.decodePathSegment(z):z)}else{T.charAt(0)==="."&&(T=T.substring(1));var k=this.suffix(),H;if(k)T?H=new RegExp(u(k)+"$"):H=new RegExp(u("."+k)+"$");else{if(!T)return this;this._parts.path+="."+r.recodePath(T)}return H&&(T=r.recodePath(T),this._parts.path=this._parts.path.replace(H,T)),this.build(!w),this}},a.segment=function(T,w,D){var R=this._parts.urn?":":"/",F=this.path(),z=F.substring(0,1)==="/",k=F.split(R);if(T!==void 0&&typeof T!="number"&&(D=w,w=T,T=void 0),T!==void 0&&typeof T!="number")throw new Error('Bad segment "'+T+'", must be 0-based integer');if(z&&k.shift(),T<0&&(T=Math.max(k.length+T,0)),w===void 0)return T===void 0?k:k[T];if(T===null||k[T]===void 0)if(d(w)){k=[];for(var H=0,V=w.length;H<V;H++)!w[H].length&&(!k.length||!k[k.length-1].length)||(k.length&&!k[k.length-1].length&&k.pop(),k.push(C(w[H])))}else(w||typeof w=="string")&&(w=C(w),k[k.length-1]===""?k[k.length-1]=w:k.push(w));else w?k[T]=C(w):k.splice(T,1);return z&&k.unshift(""),this.path(k.join(R),D)},a.segmentCoded=function(T,w,D){var R,F,z;if(typeof T!="number"&&(D=w,w=T,T=void 0),w===void 0){if(R=this.segment(T,w,D),!d(R))R=R!==void 0?r.decode(R):void 0;else for(F=0,z=R.length;F<z;F++)R[F]=r.decode(R[F]);return R}if(!d(w))w=typeof w=="string"||w instanceof String?r.encode(w):w;else for(F=0,z=w.length;F<z;F++)w[F]=r.encode(w[F]);return this.segment(T,w,D)};var _=a.query;return a.query=function(T,w){if(T===!0)return r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);if(typeof T=="function"){var D=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace),R=T.call(this,D);return this._parts.query=r.buildQuery(R||D,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),this.build(!w),this}else return T!==void 0&&typeof T!="string"?(this._parts.query=r.buildQuery(T,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),this.build(!w),this):_.call(this,T,w)},a.setQuery=function(T,w,D){var R=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);if(typeof T=="string"||T instanceof String)R[T]=w!==void 0?w:null;else if(typeof T=="object")for(var F in T)c.call(T,F)&&(R[F]=T[F]);else throw new TypeError("URI.addQuery() accepts an object, string as the name parameter");return this._parts.query=r.buildQuery(R,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),typeof T!="string"&&(D=w),this.build(!D),this},a.addQuery=function(T,w,D){var R=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return r.addQuery(R,T,w===void 0?null:w),this._parts.query=r.buildQuery(R,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),typeof T!="string"&&(D=w),this.build(!D),this},a.removeQuery=function(T,w,D){var R=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return r.removeQuery(R,T,w),this._parts.query=r.buildQuery(R,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),typeof T!="string"&&(D=w),this.build(!D),this},a.hasQuery=function(T,w,D){var R=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return r.hasQuery(R,T,w,D)},a.setSearch=a.setQuery,a.addSearch=a.addQuery,a.removeSearch=a.removeQuery,a.hasSearch=a.hasQuery,a.normalize=function(){return this._parts.urn?this.normalizeProtocol(!1).normalizePath(!1).normalizeQuery(!1).normalizeFragment(!1).build():this.normalizeProtocol(!1).normalizeHostname(!1).normalizePort(!1).normalizePath(!1).normalizeQuery(!1).normalizeFragment(!1).build()},a.normalizeProtocol=function(T){return typeof this._parts.protocol=="string"&&(this._parts.protocol=this._parts.protocol.toLowerCase(),this.build(!T)),this},a.normalizeHostname=function(T){return this._parts.hostname&&(this.is("IDN")&&e?this._parts.hostname=e.toASCII(this._parts.hostname):this.is("IPv6")&&t&&(this._parts.hostname=t.best(this._parts.hostname)),this._parts.hostname=this._parts.hostname.toLowerCase(),this.build(!T)),this},a.normalizePort=function(T){return typeof this._parts.protocol=="string"&&this._parts.port===r.defaultPorts[this._parts.protocol]&&(this._parts.port=null,this.build(!T)),this},a.normalizePath=function(T){var w=this._parts.path;if(!w)return this;if(this._parts.urn)return this._parts.path=r.recodeUrnPath(this._parts.path),this.build(!T),this;if(this._parts.path==="/")return this;w=r.recodePath(w);var D,R="",F,z;for(w.charAt(0)!=="/"&&(D=!0,w="/"+w),(w.slice(-3)==="/.."||w.slice(-2)==="/.")&&(w+="/"),w=w.replace(/(\/(\.\/)+)|(\/\.$)/g,"/").replace(/\/{2,}/g,"/"),D&&(R=w.substring(1).match(/^(\.\.\/)+/)||"",R&&(R=R[0]));F=w.search(/\/\.\.(\/|$)/),F!==-1;){if(F===0){w=w.substring(3);continue}z=w.substring(0,F).lastIndexOf("/"),z===-1&&(z=F),w=w.substring(0,z)+w.substring(F+3)}return D&&this.is("relative")&&(w=R+w.substring(1)),this._parts.path=w,this.build(!T),this},a.normalizePathname=a.normalizePath,a.normalizeQuery=function(T){return typeof this._parts.query=="string"&&(this._parts.query.length?this.query(r.parseQuery(this._parts.query,this._parts.escapeQuerySpace)):this._parts.query=null,this.build(!T)),this},a.normalizeFragment=function(T){return this._parts.fragment||(this._parts.fragment=null,this.build(!T)),this},a.normalizeSearch=a.normalizeQuery,a.normalizeHash=a.normalizeFragment,a.iso8859=function(){var T=r.encode,w=r.decode;r.encode=escape,r.decode=decodeURIComponent;try{this.normalize()}finally{r.encode=T,r.decode=w}return this},a.unicode=function(){var T=r.encode,w=r.decode;r.encode=A,r.decode=unescape;try{this.normalize()}finally{r.encode=T,r.decode=w}return this},a.readable=function(){var T=this.clone();T.username("").password("").normalize();var w="";if(T._parts.protocol&&(w+=T._parts.protocol+"://"),T._parts.hostname&&(T.is("punycode")&&e?(w+=e.toUnicode(T._parts.hostname),T._parts.port&&(w+=":"+T._parts.port)):w+=T.host()),T._parts.hostname&&T._parts.path&&T._parts.path.charAt(0)!=="/"&&(w+="/"),w+=T.path(!0),T._parts.query){for(var D="",R=0,F=T._parts.query.split("&"),z=F.length;R<z;R++){var k=(F[R]||"").split("=");D+="&"+r.decodeQuery(k[0],this._parts.escapeQuerySpace).replace(/&/g,"%26"),k[1]!==void 0&&(D+="="+r.decodeQuery(k[1],this._parts.escapeQuerySpace).replace(/&/g,"%26"))}w+="?"+D.substring(1)}return w+=r.decodeQuery(T.hash(),!0),w},a.absoluteTo=function(T){var w=this.clone(),D=["protocol","username","password","hostname","port"],R,F,z;if(this._parts.urn)throw new Error("URNs do not have any generally defined hierarchical components");if(T instanceof r||(T=new r(T)),w._parts.protocol||(w._parts.protocol=T._parts.protocol,this._parts.hostname))return w;for(F=0;z=D[F];F++)w._parts[z]=T._parts[z];return w._parts.path?(w._parts.path.substring(-2)===".."&&(w._parts.path+="/"),w.path().charAt(0)!=="/"&&(R=T.directory(),R=R||(T.path().indexOf("/")===0?"/":""),w._parts.path=(R?R+"/":"")+w._parts.path,w.normalizePath())):(w._parts.path=T._parts.path,w._parts.query||(w._parts.query=T._parts.query)),w.build(),w},a.relativeTo=function(T){var w=this.clone().normalize(),D,R,F,z,k;if(w._parts.urn)throw new Error("URNs do not have any generally defined hierarchical components");if(T=new r(T).normalize(),D=w._parts,R=T._parts,z=w.path(),k=T.path(),z.charAt(0)!=="/")throw new Error("URI is already relative");if(k.charAt(0)!=="/")throw new Error("Cannot calculate a URI relative to another relative URI");if(D.protocol===R.protocol&&(D.protocol=null),D.username!==R.username||D.password!==R.password||D.protocol!==null||D.username!==null||D.password!==null)return w.build();if(D.hostname===R.hostname&&D.port===R.port)D.hostname=null,D.port=null;else return w.build();if(z===k)return D.path="",w.build();if(F=r.commonPath(z,k),!F)return w.build();var H=R.path.substring(F.length).replace(/[^\/]*$/,"").replace(/.*?\//g,"../");return D.path=H+D.path.substring(F.length)||"./",w.build()},a.equals=function(T){var w=this.clone(),D=new r(T),R={},F={},z={},k,H,V;if(w.normalize(),D.normalize(),w.toString()===D.toString())return!0;if(k=w.query(),H=D.query(),w.query(""),D.query(""),w.toString()!==D.toString()||k.length!==H.length)return!1;R=r.parseQuery(k,this._parts.escapeQuerySpace),F=r.parseQuery(H,this._parts.escapeQuerySpace);for(V in R)if(c.call(R,V)){if(d(R[V])){if(!m(R[V],F[V]))return!1}else if(R[V]!==F[V])return!1;z[V]=!0}for(V in F)if(c.call(F,V)&&!z[V])return!1;return!0},a.preventInvalidHostname=function(T){return this._parts.preventInvalidHostname=!!T,this},a.duplicateQueryParameters=function(T){return this._parts.duplicateQueryParameters=!!T,this},a.escapeQuerySpace=function(T){return this._parts.escapeQuerySpace=!!T,this},r})});var uX=Vn((Syt,lX)=>{"use strict";/*! @license DOMPurify 2.4.0 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.4.0/LICENSE */function Rp(e){return Rp=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Rp(e)}function TH(e,t){return TH=Object.setPrototypeOf||function(i,o){return i.__proto__=o,i},TH(e,t)}function Axe(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function SP(e,t,n){return Axe()?SP=Reflect.construct:SP=function(o,r,s){var a=[null];a.push.apply(a,r);var c=Function.bind.apply(o,a),u=new c;return s&&TH(u,s.prototype),u},SP.apply(null,arguments)}function sf(e){return Txe(e)||Exe(e)||bxe(e)||Sxe()}function Txe(e){if(Array.isArray(e))return EH(e)}function Exe(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function bxe(e,t){if(!!e){if(typeof e=="string")return EH(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return EH(e,t)}}function EH(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function Sxe(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
  61. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var wxe=Object.hasOwnProperty,tX=Object.setPrototypeOf,vxe=Object.isFrozen,Dxe=Object.getPrototypeOf,Pxe=Object.getOwnPropertyDescriptor,qa=Object.freeze,Sd=Object.seal,Ixe=Object.create,aX=typeof Reflect<"u"&&Reflect,vP=aX.apply,bH=aX.construct;vP||(vP=function(t,n,i){return t.apply(n,i)});qa||(qa=function(t){return t});Sd||(Sd=function(t){return t});bH||(bH=function(t,n){return SP(t,sf(n))});var Oxe=af(Array.prototype.forEach),nX=af(Array.prototype.pop),pb=af(Array.prototype.push),wP=af(String.prototype.toLowerCase),Rxe=af(String.prototype.match),Op=af(String.prototype.replace),Mxe=af(String.prototype.indexOf),Bxe=af(String.prototype.trim),ja=af(RegExp.prototype.test),gH=Lxe(TypeError);function af(e){return function(t){for(var n=arguments.length,i=new Array(n>1?n-1:0),o=1;o<n;o++)i[o-1]=arguments[o];return vP(e,t,i)}}function Lxe(e){return function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return bH(e,n)}}function li(e,t,n){n=n||wP,tX&&tX(e,null);for(var i=t.length;i--;){var o=t[i];if(typeof o=="string"){var r=n(o);r!==o&&(vxe(t)||(t[i]=r),o=r)}e[o]=!0}return e}function A0(e){var t=Ixe(null),n;for(n in e)vP(wxe,e,[n])&&(t[n]=e[n]);return t}function EP(e,t){for(;e!==null;){var n=Pxe(e,t);if(n){if(n.get)return af(n.get);if(typeof n.value=="function")return af(n.value)}e=Dxe(e)}function i(o){return console.warn("fallback value for",o),null}return i}var iX=qa(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),yH=qa(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),CH=qa(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),Nxe=qa(["animate","color-profile","cursor","discard","fedropshadow","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),xH=qa(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover"]),Fxe=qa(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),oX=qa(["#text"]),rX=qa(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","xmlns","slot"]),AH=qa(["accent-height","accumulate","additive","alignment-baseline","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),sX=qa(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),bP=qa(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),Vxe=Sd(/\{\{[\w\W]*|[\w\W]*\}\}/gm),kxe=Sd(/<%[\w\W]*|[\w\W]*%>/gm),Uxe=Sd(/^data-[\-\w.\u00B7-\uFFFF]/),zxe=Sd(/^aria-[\-\w]+$/),Hxe=Sd(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Gxe=Sd(/^(?:\w+script|data):/i),Wxe=Sd(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),jxe=Sd(/^html$/i),qxe=function(){return typeof window>"u"?null:window},Yxe=function(t,n){if(Rp(t)!=="object"||typeof t.createPolicy!="function")return null;var i=null,o="data-tt-policy-suffix";n.currentScript&&n.currentScript.hasAttribute(o)&&(i=n.currentScript.getAttribute(o));var r="dompurify"+(i?"#"+i:"");try{return t.createPolicy(r,{createHTML:function(a){return a},createScriptURL:function(a){return a}})}catch{return console.warn("TrustedTypes policy "+r+" could not be created."),null}};function cX(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:qxe(),t=function(be){return cX(be)};if(t.version="2.4.0",t.removed=[],!e||!e.document||e.document.nodeType!==9)return t.isSupported=!1,t;var n=e.document,i=e.document,o=e.DocumentFragment,r=e.HTMLTemplateElement,s=e.Node,a=e.Element,c=e.NodeFilter,u=e.NamedNodeMap,f=u===void 0?e.NamedNodeMap||e.MozNamedAttrMap:u,d=e.HTMLFormElement,p=e.DOMParser,g=e.trustedTypes,m=a.prototype,C=EP(m,"cloneNode"),x=EP(m,"nextSibling"),A=EP(m,"childNodes"),b=EP(m,"parentNode");if(typeof r=="function"){var E=i.createElement("template");E.content&&E.content.ownerDocument&&(i=E.content.ownerDocument)}var S=Yxe(g,n),v=S?S.createHTML(""):"",P=i,O=P.implementation,M=P.createNodeIterator,B=P.createDocumentFragment,L=P.getElementsByTagName,_=n.importNode,T={};try{T=A0(i).documentMode?i.documentMode:{}}catch{}var w={};t.isSupported=typeof b=="function"&&O&&typeof O.createHTMLDocument<"u"&&T!==9;var D=Vxe,R=kxe,F=Uxe,z=zxe,k=Gxe,H=Wxe,V=Hxe,Y=null,q=li({},[].concat(sf(iX),sf(yH),sf(CH),sf(xH),sf(oX))),X=null,W=li({},[].concat(sf(rX),sf(AH),sf(sX),sf(bP))),K=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),$=null,le=null,me=!0,ie=!0,ce=!1,pe=!1,Ae=!1,we=!1,Re=!1,Ue=!1,bt=!1,Ut=!1,sn=!0,dt=!1,vn="user-content-",Jn=!0,ot=!1,zt={},qn=null,Se=li({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),_t=null,Vt=li({},["audio","video","img","source","image","track"]),hi=null,Ni=li({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Mo="http://www.w3.org/1998/Math/MathML",wo="http://www.w3.org/2000/svg",co="http://www.w3.org/1999/xhtml",mi=co,Me=!1,$e,Ke=["application/xhtml+xml","text/html"],We="text/html",Qe,wt=null,Cn=i.createElement("form"),yo=function(be){return be instanceof RegExp||be instanceof Function},vo=function(be){wt&&wt===be||((!be||Rp(be)!=="object")&&(be={}),be=A0(be),$e=Ke.indexOf(be.PARSER_MEDIA_TYPE)===-1?$e=We:$e=be.PARSER_MEDIA_TYPE,Qe=$e==="application/xhtml+xml"?function(st){return st}:wP,Y="ALLOWED_TAGS"in be?li({},be.ALLOWED_TAGS,Qe):q,X="ALLOWED_ATTR"in be?li({},be.ALLOWED_ATTR,Qe):W,hi="ADD_URI_SAFE_ATTR"in be?li(A0(Ni),be.ADD_URI_SAFE_ATTR,Qe):Ni,_t="ADD_DATA_URI_TAGS"in be?li(A0(Vt),be.ADD_DATA_URI_TAGS,Qe):Vt,qn="FORBID_CONTENTS"in be?li({},be.FORBID_CONTENTS,Qe):Se,$="FORBID_TAGS"in be?li({},be.FORBID_TAGS,Qe):{},le="FORBID_ATTR"in be?li({},be.FORBID_ATTR,Qe):{},zt="USE_PROFILES"in be?be.USE_PROFILES:!1,me=be.ALLOW_ARIA_ATTR!==!1,ie=be.ALLOW_DATA_ATTR!==!1,ce=be.ALLOW_UNKNOWN_PROTOCOLS||!1,pe=be.SAFE_FOR_TEMPLATES||!1,Ae=be.WHOLE_DOCUMENT||!1,Ue=be.RETURN_DOM||!1,bt=be.RETURN_DOM_FRAGMENT||!1,Ut=be.RETURN_TRUSTED_TYPE||!1,Re=be.FORCE_BODY||!1,sn=be.SANITIZE_DOM!==!1,dt=be.SANITIZE_NAMED_PROPS||!1,Jn=be.KEEP_CONTENT!==!1,ot=be.IN_PLACE||!1,V=be.ALLOWED_URI_REGEXP||V,mi=be.NAMESPACE||co,be.CUSTOM_ELEMENT_HANDLING&&yo(be.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(K.tagNameCheck=be.CUSTOM_ELEMENT_HANDLING.tagNameCheck),be.CUSTOM_ELEMENT_HANDLING&&yo(be.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(K.attributeNameCheck=be.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),be.CUSTOM_ELEMENT_HANDLING&&typeof be.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(K.allowCustomizedBuiltInElements=be.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),pe&&(ie=!1),bt&&(Ue=!0),zt&&(Y=li({},sf(oX)),X=[],zt.html===!0&&(li(Y,iX),li(X,rX)),zt.svg===!0&&(li(Y,yH),li(X,AH),li(X,bP)),zt.svgFilters===!0&&(li(Y,CH),li(X,AH),li(X,bP)),zt.mathMl===!0&&(li(Y,xH),li(X,sX),li(X,bP))),be.ADD_TAGS&&(Y===q&&(Y=A0(Y)),li(Y,be.ADD_TAGS,Qe)),be.ADD_ATTR&&(X===W&&(X=A0(X)),li(X,be.ADD_ATTR,Qe)),be.ADD_URI_SAFE_ATTR&&li(hi,be.ADD_URI_SAFE_ATTR,Qe),be.FORBID_CONTENTS&&(qn===Se&&(qn=A0(qn)),li(qn,be.FORBID_CONTENTS,Qe)),Jn&&(Y["#text"]=!0),Ae&&li(Y,["html","head","body"]),Y.table&&(li(Y,["tbody"]),delete $.tbody),qa&&qa(be),wt=be)},os=li({},["mi","mo","mn","ms","mtext"]),Us=li({},["foreignobject","desc","title","annotation-xml"]),Fr=li({},["title","style","font","a","script"]),Pi=li({},yH);li(Pi,CH),li(Pi,Nxe);var Er=li({},xH);li(Er,Fxe);var qr=function(be){var st=b(be);(!st||!st.tagName)&&(st={namespaceURI:co,tagName:"template"});var Tt=wP(be.tagName),Oi=wP(st.tagName);return be.namespaceURI===wo?st.namespaceURI===co?Tt==="svg":st.namespaceURI===Mo?Tt==="svg"&&(Oi==="annotation-xml"||os[Oi]):Boolean(Pi[Tt]):be.namespaceURI===Mo?st.namespaceURI===co?Tt==="math":st.namespaceURI===wo?Tt==="math"&&Us[Oi]:Boolean(Er[Tt]):be.namespaceURI===co?st.namespaceURI===wo&&!Us[Oi]||st.namespaceURI===Mo&&!os[Oi]?!1:!Er[Tt]&&(Fr[Tt]||!Pi[Tt]):!1},Yr=function(be){pb(t.removed,{element:be});try{be.parentNode.removeChild(be)}catch{try{be.outerHTML=v}catch{be.remove()}}},Ii=function(be,st){try{pb(t.removed,{attribute:st.getAttributeNode(be),from:st})}catch{pb(t.removed,{attribute:null,from:st})}if(st.removeAttribute(be),be==="is"&&!X[be])if(Ue||bt)try{Yr(st)}catch{}else try{st.setAttribute(be,"")}catch{}},br=function(be){var st,Tt;if(Re)be="<remove></remove>"+be;else{var Oi=Rxe(be,/^[\r\n\t ]+/);Tt=Oi&&Oi[0]}$e==="application/xhtml+xml"&&(be='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+be+"</body></html>");var sa=S?S.createHTML(be):be;if(mi===co)try{st=new p().parseFromString(sa,$e)}catch{}if(!st||!st.documentElement){st=O.createDocument(mi,"template",null);try{st.documentElement.innerHTML=Me?"":sa}catch{}}var zs=st.body||st.documentElement;return be&&Tt&&zs.insertBefore(i.createTextNode(Tt),zs.childNodes[0]||null),mi===co?L.call(st,Ae?"html":"body")[0]:Ae?st.documentElement:zs},gs=function(be){return M.call(be.ownerDocument||be,be,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT,null,!1)},Sr=function(be){return be instanceof d&&(typeof be.nodeName!="string"||typeof be.textContent!="string"||typeof be.removeChild!="function"||!(be.attributes instanceof f)||typeof be.removeAttribute!="function"||typeof be.setAttribute!="function"||typeof be.namespaceURI!="string"||typeof be.insertBefore!="function")},rf=function(be){return Rp(s)==="object"?be instanceof s:be&&Rp(be)==="object"&&typeof be.nodeType=="number"&&typeof be.nodeName=="string"},lo=function(be,st,Tt){!w[be]||Oxe(w[be],function(Oi){Oi.call(t,st,Tt,wt)})},cl=function(be){var st;if(lo("beforeSanitizeElements",be,null),Sr(be)||ja(/[\u0080-\uFFFF]/,be.nodeName))return Yr(be),!0;var Tt=Qe(be.nodeName);if(lo("uponSanitizeElement",be,{tagName:Tt,allowedTags:Y}),be.hasChildNodes()&&!rf(be.firstElementChild)&&(!rf(be.content)||!rf(be.content.firstElementChild))&&ja(/<[/\w]/g,be.innerHTML)&&ja(/<[/\w]/g,be.textContent)||Tt==="select"&&ja(/<template/i,be.innerHTML))return Yr(be),!0;if(!Y[Tt]||$[Tt]){if(!$[Tt]&&p0(Tt)&&(K.tagNameCheck instanceof RegExp&&ja(K.tagNameCheck,Tt)||K.tagNameCheck instanceof Function&&K.tagNameCheck(Tt)))return!1;if(Jn&&!qn[Tt]){var Oi=b(be)||be.parentNode,sa=A(be)||be.childNodes;if(sa&&Oi)for(var zs=sa.length,Hs=zs-1;Hs>=0;--Hs)Oi.insertBefore(C(sa[Hs],!0),x(be))}return Yr(be),!0}return be instanceof a&&!qr(be)||(Tt==="noscript"||Tt==="noembed")&&ja(/<\/no(script|embed)/i,be.innerHTML)?(Yr(be),!0):(pe&&be.nodeType===3&&(st=be.textContent,st=Op(st,D," "),st=Op(st,R," "),be.textContent!==st&&(pb(t.removed,{element:be.cloneNode()}),be.textContent=st)),lo("afterSanitizeElements",be,null),!1)},ll=function(be,st,Tt){if(sn&&(st==="id"||st==="name")&&(Tt in i||Tt in Cn))return!1;if(!(ie&&!le[st]&&ja(F,st))){if(!(me&&ja(z,st))){if(!X[st]||le[st]){if(!(p0(be)&&(K.tagNameCheck instanceof RegExp&&ja(K.tagNameCheck,be)||K.tagNameCheck instanceof Function&&K.tagNameCheck(be))&&(K.attributeNameCheck instanceof RegExp&&ja(K.attributeNameCheck,st)||K.attributeNameCheck instanceof Function&&K.attributeNameCheck(st))||st==="is"&&K.allowCustomizedBuiltInElements&&(K.tagNameCheck instanceof RegExp&&ja(K.tagNameCheck,Tt)||K.tagNameCheck instanceof Function&&K.tagNameCheck(Tt))))return!1}else if(!hi[st]){if(!ja(V,Op(Tt,H,""))){if(!((st==="src"||st==="xlink:href"||st==="href")&&be!=="script"&&Mxe(Tt,"data:")===0&&_t[be])){if(!(ce&&!ja(k,Op(Tt,H,"")))){if(Tt)return!1}}}}}}return!0},p0=function(be){return be.indexOf("-")>0},rs=function(be){var st,Tt,Oi,sa;lo("beforeSanitizeAttributes",be,null);var zs=be.attributes;if(!!zs){var Hs={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:X};for(sa=zs.length;sa--;){st=zs[sa];var tP=st,aa=tP.name,Wz=tP.namespaceURI;if(Tt=aa==="value"?st.value:Bxe(st.value),Oi=Qe(aa),Hs.attrName=Oi,Hs.attrValue=Tt,Hs.keepAttr=!0,Hs.forceKeepAttr=void 0,lo("uponSanitizeAttribute",be,Hs),Tt=Hs.attrValue,!Hs.forceKeepAttr&&(Ii(aa,be),!!Hs.keepAttr)){if(ja(/\/>/i,Tt)){Ii(aa,be);continue}pe&&(Tt=Op(Tt,D," "),Tt=Op(Tt,R," "));var aY=Qe(be.nodeName);if(!!ll(aY,Oi,Tt)){if(dt&&(Oi==="id"||Oi==="name")&&(Ii(aa,be),Tt=vn+Tt),S&&Rp(g)==="object"&&typeof g.getAttributeType=="function"&&!Wz)switch(g.getAttributeType(aY,Oi)){case"TrustedHTML":Tt=S.createHTML(Tt);break;case"TrustedScriptURL":Tt=S.createScriptURL(Tt);break}try{Wz?be.setAttributeNS(Wz,aa,Tt):be.setAttribute(aa,Tt),nX(t.removed)}catch{}}}}lo("afterSanitizeAttributes",be,null)}},Xh=function an(be){var st,Tt=gs(be);for(lo("beforeSanitizeShadowDOM",be,null);st=Tt.nextNode();)lo("uponSanitizeShadowNode",st,null),!cl(st)&&(st.content instanceof o&&an(st.content),rs(st));lo("afterSanitizeShadowDOM",be,null)};return t.sanitize=function(an){var be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},st,Tt,Oi,sa,zs;if(Me=!an,Me&&(an="<!-->"),typeof an!="string"&&!rf(an)){if(typeof an.toString!="function")throw gH("toString is not a function");if(an=an.toString(),typeof an!="string")throw gH("dirty is not a string, aborting")}if(!t.isSupported){if(Rp(e.toStaticHTML)==="object"||typeof e.toStaticHTML=="function"){if(typeof an=="string")return e.toStaticHTML(an);if(rf(an))return e.toStaticHTML(an.outerHTML)}return an}if(we||vo(be),t.removed=[],typeof an=="string"&&(ot=!1),ot){if(an.nodeName){var Hs=Qe(an.nodeName);if(!Y[Hs]||$[Hs])throw gH("root node is forbidden and cannot be sanitized in-place")}}else if(an instanceof s)st=br("<!---->"),Tt=st.ownerDocument.importNode(an,!0),Tt.nodeType===1&&Tt.nodeName==="BODY"||Tt.nodeName==="HTML"?st=Tt:st.appendChild(Tt);else{if(!Ue&&!pe&&!Ae&&an.indexOf("<")===-1)return S&&Ut?S.createHTML(an):an;if(st=br(an),!st)return Ue?null:Ut?v:""}st&&Re&&Yr(st.firstChild);for(var tP=gs(ot?an:st);Oi=tP.nextNode();)Oi.nodeType===3&&Oi===sa||cl(Oi)||(Oi.content instanceof o&&Xh(Oi.content),rs(Oi),sa=Oi);if(sa=null,ot)return an;if(Ue){if(bt)for(zs=B.call(st.ownerDocument);st.firstChild;)zs.appendChild(st.firstChild);else zs=st;return X.shadowroot&&(zs=_.call(n,zs,!0)),zs}var aa=Ae?st.outerHTML:st.innerHTML;return Ae&&Y["!doctype"]&&st.ownerDocument&&st.ownerDocument.doctype&&st.ownerDocument.doctype.name&&ja(jxe,st.ownerDocument.doctype.name)&&(aa="<!DOCTYPE "+st.ownerDocument.doctype.name+`>
  62. `+aa),pe&&(aa=Op(aa,D," "),aa=Op(aa,R," ")),S&&Ut?S.createHTML(aa):aa},t.setConfig=function(an){vo(an),we=!0},t.clearConfig=function(){wt=null,we=!1},t.isValidAttribute=function(an,be,st){wt||vo({});var Tt=Qe(an),Oi=Qe(be);return ll(Tt,Oi,st)},t.addHook=function(an,be){typeof be=="function"&&(w[an]=w[an]||[],pb(w[an],be))},t.removeHook=function(an){if(w[an])return nX(w[an])},t.removeHooks=function(an){w[an]&&(w[an]=[])},t.removeAllHooks=function(){w={}},t}var Xxe=cX();lX.exports=Xxe});var i$=Vn((JDt,Y5)=>{"use strict";Y5.exports=P1;Y5.exports.default=P1;function P1(e,t,n){n=n||2;var i=t&&t.length,o=i?t[0]*n:e.length,r=e$(e,0,o,n,!0),s=[];if(!r||r.next===r.prev)return s;var a,c,u,f,d,p,g;if(i&&(r=$Se(e,t,r,n)),e.length>80*n){a=u=e[0],c=f=e[1];for(var m=n;m<o;m+=n)d=e[m],p=e[m+1],d<a&&(a=d),p<c&&(c=p),d>u&&(u=d),p>f&&(f=p);g=Math.max(u-a,f-c),g=g!==0?32767/g:0}return Ob(r,s,n,a,c,g,0),s}function e$(e,t,n,i,o){var r,s;if(o===q5(e,t,n,i)>0)for(r=t;r<n;r+=i)s=QZ(r,e[r],e[r+1],s);else for(r=n-i;r>=t;r-=i)s=QZ(r,e[r],e[r+1],s);return s&&I1(s,s.next)&&(Mb(s),s=s.next),s}function V0(e,t){if(!e)return e;t||(t=e);var n=e,i;do if(i=!1,!n.steiner&&(I1(n,n.next)||mr(n.prev,n,n.next)===0)){if(Mb(n),n=t=n.prev,n===n.next)break;i=!0}else n=n.next;while(i||n!==t);return t}function Ob(e,t,n,i,o,r,s){if(!!e){!s&&r&&nwe(e,i,o,r);for(var a=e,c,u;e.prev!==e.next;){if(c=e.prev,u=e.next,r?XSe(e,i,o,r):YSe(e)){t.push(c.i/n|0),t.push(e.i/n|0),t.push(u.i/n|0),Mb(e),e=u.next,a=u.next;continue}if(e=u,e===a){s?s===1?(e=KSe(V0(e),t,n),Ob(e,t,n,i,o,r,2)):s===2&&ZSe(e,t,n,i,o,r):Ob(V0(e),t,n,i,o,r,1);break}}}}function YSe(e){var t=e.prev,n=e,i=e.next;if(mr(t,n,i)>=0)return!1;for(var o=t.x,r=n.x,s=i.x,a=t.y,c=n.y,u=i.y,f=o<r?o<s?o:s:r<s?r:s,d=a<c?a<u?a:u:c<u?c:u,p=o>r?o>s?o:s:r>s?r:s,g=a>c?a>u?a:u:c>u?c:u,m=i.next;m!==t;){if(m.x>=f&&m.x<=p&&m.y>=d&&m.y<=g&&Ox(o,a,r,c,s,u,m.x,m.y)&&mr(m.prev,m,m.next)>=0)return!1;m=m.next}return!0}function XSe(e,t,n,i){var o=e.prev,r=e,s=e.next;if(mr(o,r,s)>=0)return!1;for(var a=o.x,c=r.x,u=s.x,f=o.y,d=r.y,p=s.y,g=a<c?a<u?a:u:c<u?c:u,m=f<d?f<p?f:p:d<p?d:p,C=a>c?a>u?a:u:c>u?c:u,x=f>d?f>p?f:p:d>p?d:p,A=W5(g,m,t,n,i),b=W5(C,x,t,n,i),E=e.prevZ,S=e.nextZ;E&&E.z>=A&&S&&S.z<=b;){if(E.x>=g&&E.x<=C&&E.y>=m&&E.y<=x&&E!==o&&E!==s&&Ox(a,f,c,d,u,p,E.x,E.y)&&mr(E.prev,E,E.next)>=0||(E=E.prevZ,S.x>=g&&S.x<=C&&S.y>=m&&S.y<=x&&S!==o&&S!==s&&Ox(a,f,c,d,u,p,S.x,S.y)&&mr(S.prev,S,S.next)>=0))return!1;S=S.nextZ}for(;E&&E.z>=A;){if(E.x>=g&&E.x<=C&&E.y>=m&&E.y<=x&&E!==o&&E!==s&&Ox(a,f,c,d,u,p,E.x,E.y)&&mr(E.prev,E,E.next)>=0)return!1;E=E.prevZ}for(;S&&S.z<=b;){if(S.x>=g&&S.x<=C&&S.y>=m&&S.y<=x&&S!==o&&S!==s&&Ox(a,f,c,d,u,p,S.x,S.y)&&mr(S.prev,S,S.next)>=0)return!1;S=S.nextZ}return!0}function KSe(e,t,n){var i=e;do{var o=i.prev,r=i.next.next;!I1(o,r)&&t$(o,i,i.next,r)&&Rb(o,r)&&Rb(r,o)&&(t.push(o.i/n|0),t.push(i.i/n|0),t.push(r.i/n|0),Mb(i),Mb(i.next),i=e=r),i=i.next}while(i!==e);return V0(i)}function ZSe(e,t,n,i,o,r){var s=e;do{for(var a=s.next.next;a!==s.prev;){if(s.i!==a.i&&rwe(s,a)){var c=n$(s,a);s=V0(s,s.next),c=V0(c,c.next),Ob(s,t,n,i,o,r,0),Ob(c,t,n,i,o,r,0);return}a=a.next}s=s.next}while(s!==e)}function $Se(e,t,n,i){var o=[],r,s,a,c,u;for(r=0,s=t.length;r<s;r++)a=t[r]*i,c=r<s-1?t[r+1]*i:e.length,u=e$(e,a,c,i,!1),u===u.next&&(u.steiner=!0),o.push(owe(u));for(o.sort(JSe),r=0;r<o.length;r++)n=QSe(o[r],n);return n}function JSe(e,t){return e.x-t.x}function QSe(e,t){var n=ewe(e,t);if(!n)return t;var i=n$(n,e);return V0(i,i.next),V0(n,n.next)}function ewe(e,t){var n=t,i=e.x,o=e.y,r=-1/0,s;do{if(o<=n.y&&o>=n.next.y&&n.next.y!==n.y){var a=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(a<=i&&a>r&&(r=a,s=n.x<n.next.x?n:n.next,a===i))return s}n=n.next}while(n!==t);if(!s)return null;var c=s,u=s.x,f=s.y,d=1/0,p;n=s;do i>=n.x&&n.x>=u&&i!==n.x&&Ox(o<f?i:r,o,u,f,o<f?r:i,o,n.x,n.y)&&(p=Math.abs(o-n.y)/(i-n.x),Rb(n,e)&&(p<d||p===d&&(n.x>s.x||n.x===s.x&&twe(s,n)))&&(s=n,d=p)),n=n.next;while(n!==c);return s}function twe(e,t){return mr(e.prev,e,t.prev)<0&&mr(t.next,e,e.next)<0}function nwe(e,t,n,i){var o=e;do o.z===0&&(o.z=W5(o.x,o.y,t,n,i)),o.prevZ=o.prev,o.nextZ=o.next,o=o.next;while(o!==e);o.prevZ.nextZ=null,o.prevZ=null,iwe(o)}function iwe(e){var t,n,i,o,r,s,a,c,u=1;do{for(n=e,e=null,r=null,s=0;n;){for(s++,i=n,a=0,t=0;t<u&&(a++,i=i.nextZ,!!i);t++);for(c=u;a>0||c>0&&i;)a!==0&&(c===0||!i||n.z<=i.z)?(o=n,n=n.nextZ,a--):(o=i,i=i.nextZ,c--),r?r.nextZ=o:e=o,o.prevZ=r,r=o;n=i}r.nextZ=null,u*=2}while(s>1);return e}function W5(e,t,n,i,o){return e=(e-n)*o|0,t=(t-i)*o|0,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1}function owe(e){var t=e,n=e;do(t.x<n.x||t.x===n.x&&t.y<n.y)&&(n=t),t=t.next;while(t!==e);return n}function Ox(e,t,n,i,o,r,s,a){return(o-s)*(t-a)>=(e-s)*(r-a)&&(e-s)*(i-a)>=(n-s)*(t-a)&&(n-s)*(r-a)>=(o-s)*(i-a)}function rwe(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!swe(e,t)&&(Rb(e,t)&&Rb(t,e)&&awe(e,t)&&(mr(e.prev,e,t.prev)||mr(e,t.prev,t))||I1(e,t)&&mr(e.prev,e,e.next)>0&&mr(t.prev,t,t.next)>0)}function mr(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function I1(e,t){return e.x===t.x&&e.y===t.y}function t$(e,t,n,i){var o=D1(mr(e,t,n)),r=D1(mr(e,t,i)),s=D1(mr(n,i,e)),a=D1(mr(n,i,t));return!!(o!==r&&s!==a||o===0&&v1(e,n,t)||r===0&&v1(e,i,t)||s===0&&v1(n,e,i)||a===0&&v1(n,t,i))}function v1(e,t,n){return t.x<=Math.max(e.x,n.x)&&t.x>=Math.min(e.x,n.x)&&t.y<=Math.max(e.y,n.y)&&t.y>=Math.min(e.y,n.y)}function D1(e){return e>0?1:e<0?-1:0}function swe(e,t){var n=e;do{if(n.i!==e.i&&n.next.i!==e.i&&n.i!==t.i&&n.next.i!==t.i&&t$(n,n.next,e,t))return!0;n=n.next}while(n!==e);return!1}function Rb(e,t){return mr(e.prev,e,e.next)<0?mr(e,t,e.next)>=0&&mr(e,e.prev,t)>=0:mr(e,t,e.prev)<0||mr(e,e.next,t)<0}function awe(e,t){var n=e,i=!1,o=(e.x+t.x)/2,r=(e.y+t.y)/2;do n.y>r!=n.next.y>r&&n.next.y!==n.y&&o<(n.next.x-n.x)*(r-n.y)/(n.next.y-n.y)+n.x&&(i=!i),n=n.next;while(n!==e);return i}function n$(e,t){var n=new j5(e.i,e.x,e.y),i=new j5(t.i,t.x,t.y),o=e.next,r=t.prev;return e.next=t,t.prev=e,n.next=o,o.prev=n,i.next=n,n.prev=i,r.next=i,i.prev=r,i}function QZ(e,t,n,i){var o=new j5(e,t,n);return i?(o.next=i.next,o.prev=i,i.next.prev=o,i.next=o):(o.prev=o,o.next=o),o}function Mb(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function j5(e,t,n){this.i=e,this.x=t,this.y=n,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}P1.deviation=function(e,t,n,i){var o=t&&t.length,r=o?t[0]*n:e.length,s=Math.abs(q5(e,0,r,n));if(o)for(var a=0,c=t.length;a<c;a++){var u=t[a]*n,f=a<c-1?t[a+1]*n:e.length;s-=Math.abs(q5(e,u,f,n))}var d=0;for(a=0;a<i.length;a+=3){var p=i[a]*n,g=i[a+1]*n,m=i[a+2]*n;d+=Math.abs((e[p]-e[m])*(e[g+1]-e[p+1])-(e[p]-e[g])*(e[m+1]-e[p+1]))}return s===0&&d===0?0:Math.abs((d-s)/s)};function q5(e,t,n,i){for(var o=0,r=t,s=n-i;r<n;r+=i)o+=(e[s]-e[r])*(e[r+1]+e[s+1]),s=r;return o}P1.flatten=function(e){for(var t=e[0][0].length,n={vertices:[],holes:[],dimensions:t},i=0,o=0;o<e.length;o++){for(var r=0;r<e[o].length;r++)for(var s=0;s<t;s++)n.vertices.push(e[o][r][s]);o>0&&(i+=e[o-1].length,n.holes.push(i))}return n}});var h8=Vn(ga=>{"use strict";Object.defineProperty(ga,"__esModule",{value:!0});var zx={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 e===0?0:Math.pow(1024,e-1)},Out:function(e){return e===1?1:1-Math.pow(2,-10*e)},InOut:function(e){return e===0?0:e===1?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){return e===0?0:e===1?1:-Math.pow(2,10*(e-1))*Math.sin((e-1.1)*5*Math.PI)},Out:function(e){return e===0?0:e===1?1:Math.pow(2,-10*e)*Math.sin((e-.1)*5*Math.PI)+1},InOut:function(e){return e===0?0:e===1?1:(e*=2,e<1?-.5*Math.pow(2,10*(e-1))*Math.sin((e-1.1)*5*Math.PI):.5*Math.pow(2,-10*(e-1))*Math.sin((e-1.1)*5*Math.PI)+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(e){return 1-zx.Bounce.Out(1-e)},Out:function(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},InOut:function(e){return e<.5?zx.Bounce.In(e*2)*.5:zx.Bounce.Out(e*2-1)*.5+.5}}},qb;typeof self>"u"&&typeof process<"u"&&process.hrtime?qb=function(){var e=process.hrtime();return e[0]*1e3+e[1]/1e6}:typeof self<"u"&&self.performance!==void 0&&self.performance.now!==void 0?qb=self.performance.now.bind(self.performance):Date.now!==void 0?qb=Date.now:qb=function(){return new Date().getTime()};var n_=qb,d8=function(){function e(){this._tweens={},this._tweensAddedDuringUpdate={}}return e.prototype.getAll=function(){var t=this;return Object.keys(this._tweens).map(function(n){return t._tweens[n]})},e.prototype.removeAll=function(){this._tweens={}},e.prototype.add=function(t){this._tweens[t.getId()]=t,this._tweensAddedDuringUpdate[t.getId()]=t},e.prototype.remove=function(t){delete this._tweens[t.getId()],delete this._tweensAddedDuringUpdate[t.getId()]},e.prototype.update=function(t,n){t===void 0&&(t=n_()),n===void 0&&(n=!1);var i=Object.keys(this._tweens);if(i.length===0)return!1;for(;i.length>0;){this._tweensAddedDuringUpdate={};for(var o=0;o<i.length;o++){var r=this._tweens[i[o]],s=!n;r&&r.update(t,s)===!1&&!n&&delete this._tweens[i[o]]}i=Object.keys(this._tweensAddedDuringUpdate)}return!0},e}(),j0={Linear:function(e,t){var n=e.length-1,i=n*t,o=Math.floor(i),r=j0.Utils.Linear;return t<0?r(e[0],e[1],i):t>1?r(e[n],e[n-1],n-i):r(e[o],e[o+1>n?n:o+1],i-o)},Bezier:function(e,t){for(var n=0,i=e.length-1,o=Math.pow,r=j0.Utils.Bernstein,s=0;s<=i;s++)n+=o(1-t,i-s)*o(t,s)*e[s]*r(i,s);return n},CatmullRom:function(e,t){var n=e.length-1,i=n*t,o=Math.floor(i),r=j0.Utils.CatmullRom;return e[0]===e[n]?(t<0&&(o=Math.floor(i=n*(1+t))),r(e[(o-1+n)%n],e[o],e[(o+1)%n],e[(o+2)%n],i-o)):t<0?e[0]-(r(e[0],e[0],e[1],e[1],-i)-e[0]):t>1?e[n]-(r(e[n],e[n],e[n-1],e[n-1],i-n)-e[n]):r(e[o?o-1:0],e[o],e[n<o+1?n:o+1],e[n<o+2?n:o+2],i-o)},Utils:{Linear:function(e,t,n){return(t-e)*n+e},Bernstein:function(e,t){var n=j0.Utils.Factorial;return n(e)/n(t)/n(e-t)},Factorial:function(){var e=[1];return function(t){var n=1;if(e[t])return e[t];for(var i=t;i>1;i--)n*=i;return e[t]=n,n}}(),CatmullRom:function(e,t,n,i,o){var r=(n-e)*.5,s=(i-t)*.5,a=o*o,c=o*a;return(2*t-2*n+r+s)*c+(-3*t+3*n-2*r-s)*a+r*o+t}}},q1=function(){function e(){}return e.nextId=function(){return e._nextId++},e._nextId=0,e}(),uJ=new d8,fJ=function(){function e(t,n){n===void 0&&(n=uJ),this._object=t,this._group=n,this._isPaused=!1,this._pauseStart=0,this._valuesStart={},this._valuesEnd={},this._valuesStartRepeat={},this._duration=1e3,this._initialRepeat=0,this._repeat=0,this._yoyo=!1,this._isPlaying=!1,this._reversed=!1,this._delayTime=0,this._startTime=0,this._easingFunction=zx.Linear.None,this._interpolationFunction=j0.Linear,this._chainedTweens=[],this._onStartCallbackFired=!1,this._id=q1.nextId(),this._isChainStopped=!1,this._goToEnd=!1}return e.prototype.getId=function(){return this._id},e.prototype.isPlaying=function(){return this._isPlaying},e.prototype.isPaused=function(){return this._isPaused},e.prototype.to=function(t,n){return this._valuesEnd=Object.create(t),n!==void 0&&(this._duration=n),this},e.prototype.duration=function(t){return this._duration=t,this},e.prototype.start=function(t){if(this._isPlaying)return this;if(this._group&&this._group.add(this),this._repeat=this._initialRepeat,this._reversed){this._reversed=!1;for(var n in this._valuesStartRepeat)this._swapEndStartRepeatValues(n),this._valuesStart[n]=this._valuesStartRepeat[n]}return this._isPlaying=!0,this._isPaused=!1,this._onStartCallbackFired=!1,this._isChainStopped=!1,this._startTime=t!==void 0?typeof t=="string"?n_()+parseFloat(t):t:n_(),this._startTime+=this._delayTime,this._setupProperties(this._object,this._valuesStart,this._valuesEnd,this._valuesStartRepeat),this},e.prototype._setupProperties=function(t,n,i,o){for(var r in i){var s=t[r],a=Array.isArray(s),c=a?"array":typeof s,u=!a&&Array.isArray(i[r]);if(!(c==="undefined"||c==="function")){if(u){var f=i[r];if(f.length===0)continue;f=f.map(this._handleRelativeValue.bind(this,s)),i[r]=[s].concat(f)}if((c==="object"||a)&&s&&!u){n[r]=a?[]:{};for(var d in s)n[r][d]=s[d];o[r]=a?[]:{},this._setupProperties(s,n[r],i[r],o[r])}else typeof n[r]>"u"&&(n[r]=s),a||(n[r]*=1),u?o[r]=i[r].slice().reverse():o[r]=n[r]||0}}},e.prototype.stop=function(){return this._isChainStopped||(this._isChainStopped=!0,this.stopChainedTweens()),this._isPlaying?(this._group&&this._group.remove(this),this._isPlaying=!1,this._isPaused=!1,this._onStopCallback&&this._onStopCallback(this._object),this):this},e.prototype.end=function(){return this._goToEnd=!0,this.update(1/0),this},e.prototype.pause=function(t){return t===void 0&&(t=n_()),this._isPaused||!this._isPlaying?this:(this._isPaused=!0,this._pauseStart=t,this._group&&this._group.remove(this),this)},e.prototype.resume=function(t){return t===void 0&&(t=n_()),!this._isPaused||!this._isPlaying?this:(this._isPaused=!1,this._startTime+=t-this._pauseStart,this._pauseStart=0,this._group&&this._group.add(this),this)},e.prototype.stopChainedTweens=function(){for(var t=0,n=this._chainedTweens.length;t<n;t++)this._chainedTweens[t].stop();return this},e.prototype.group=function(t){return this._group=t,this},e.prototype.delay=function(t){return this._delayTime=t,this},e.prototype.repeat=function(t){return this._initialRepeat=t,this._repeat=t,this},e.prototype.repeatDelay=function(t){return this._repeatDelayTime=t,this},e.prototype.yoyo=function(t){return this._yoyo=t,this},e.prototype.easing=function(t){return this._easingFunction=t,this},e.prototype.interpolation=function(t){return this._interpolationFunction=t,this},e.prototype.chain=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return this._chainedTweens=t,this},e.prototype.onStart=function(t){return this._onStartCallback=t,this},e.prototype.onUpdate=function(t){return this._onUpdateCallback=t,this},e.prototype.onRepeat=function(t){return this._onRepeatCallback=t,this},e.prototype.onComplete=function(t){return this._onCompleteCallback=t,this},e.prototype.onStop=function(t){return this._onStopCallback=t,this},e.prototype.update=function(t,n){if(t===void 0&&(t=n_()),n===void 0&&(n=!0),this._isPaused)return!0;var i,o,r=this._startTime+this._duration;if(!this._goToEnd&&!this._isPlaying){if(t>r)return!1;n&&this.start(t)}if(this._goToEnd=!1,t<this._startTime)return!0;this._onStartCallbackFired===!1&&(this._onStartCallback&&this._onStartCallback(this._object),this._onStartCallbackFired=!0),o=(t-this._startTime)/this._duration,o=this._duration===0||o>1?1:o;var s=this._easingFunction(o);if(this._updateProperties(this._object,this._valuesStart,this._valuesEnd,s),this._onUpdateCallback&&this._onUpdateCallback(this._object,o),o===1)if(this._repeat>0){isFinite(this._repeat)&&this._repeat--;for(i in this._valuesStartRepeat)!this._yoyo&&typeof this._valuesEnd[i]=="string"&&(this._valuesStartRepeat[i]=this._valuesStartRepeat[i]+parseFloat(this._valuesEnd[i])),this._yoyo&&this._swapEndStartRepeatValues(i),this._valuesStart[i]=this._valuesStartRepeat[i];return this._yoyo&&(this._reversed=!this._reversed),this._repeatDelayTime!==void 0?this._startTime=t+this._repeatDelayTime:this._startTime=t+this._delayTime,this._onRepeatCallback&&this._onRepeatCallback(this._object),!0}else{this._onCompleteCallback&&this._onCompleteCallback(this._object);for(var a=0,c=this._chainedTweens.length;a<c;a++)this._chainedTweens[a].start(this._startTime+this._duration);return this._isPlaying=!1,!1}return!0},e.prototype._updateProperties=function(t,n,i,o){for(var r in i)if(n[r]!==void 0){var s=n[r]||0,a=i[r],c=Array.isArray(t[r]),u=Array.isArray(a),f=!c&&u;f?t[r]=this._interpolationFunction(a,o):typeof a=="object"&&a?this._updateProperties(t[r],s,a,o):(a=this._handleRelativeValue(s,a),typeof a=="number"&&(t[r]=s+(a-s)*o))}},e.prototype._handleRelativeValue=function(t,n){return typeof n!="string"?n:n.charAt(0)==="+"||n.charAt(0)==="-"?t+parseFloat(n):parseFloat(n)},e.prototype._swapEndStartRepeatValues=function(t){var n=this._valuesStartRepeat[t],i=this._valuesEnd[t];typeof i=="string"?this._valuesStartRepeat[t]=this._valuesStartRepeat[t]+parseFloat(i):this._valuesStartRepeat[t]=this._valuesEnd[t],this._valuesEnd[t]=n},e}(),dJ="18.6.4",hJ=q1.nextId,Ud=uJ,mJ=Ud.getAll.bind(Ud),pJ=Ud.removeAll.bind(Ud),_J=Ud.add.bind(Ud),gJ=Ud.remove.bind(Ud),yJ=Ud.update.bind(Ud),Kve={Easing:zx,Group:d8,Interpolation:j0,now:n_,Sequence:q1,nextId:hJ,Tween:fJ,VERSION:dJ,getAll:mJ,removeAll:pJ,add:_J,remove:gJ,update:yJ};ga.Easing=zx;ga.Group=d8;ga.Interpolation=j0;ga.Sequence=q1;ga.Tween=fJ;ga.VERSION=dJ;ga.add=_J;ga.default=Kve;ga.getAll=mJ;ga.nextId=hJ;ga.now=n_;ga.remove=gJ;ga.removeAll=pJ;ga.update=yJ});var x8=Vn((exports,module)=>{/*!
  63. * protobuf.js v6.10.2 (c) 2016, daniel wirtz
  64. * compiled fri, 08 jul 2022 16:17:13 utc
  65. * licensed under the bsd-3-clause license
  66. * see: https://github.com/dcodeio/protobuf.js for details
  67. */(function(undefined){"use strict";(function(t,n,i){function o(s){var a=n[s];return a||t[s][0].call(a=n[s]={exports:{}},o,a,a.exports),a.exports}var r=o(i[0]);r.util.global.protobuf=r,typeof define=="function"&&define.amd&&define(["long"],function(s){return s&&s.isLong&&(r.util.Long=s,r.configure()),r}),typeof module=="object"&&module&&module.exports&&(module.exports=r)})({1:[function(e,t,n){"use strict";t.exports=i;function i(o,r){for(var s=new Array(arguments.length-1),a=0,c=2,u=!0;c<arguments.length;)s[a++]=arguments[c++];return new Promise(function(d,p){s[a]=function(m){if(u)if(u=!1,m)p(m);else{for(var C=new Array(arguments.length-1),x=0;x<C.length;)C[x++]=arguments[x];d.apply(null,C)}};try{o.apply(r||null,s)}catch(g){u&&(u=!1,p(g))}})}},{}],2:[function(e,t,n){"use strict";var i=n;i.length=function(u){var f=u.length;if(!f)return 0;for(var d=0;--f%4>1&&u.charAt(f)==="=";)++d;return Math.ceil(u.length*3)/4-d};for(var o=new Array(64),r=new Array(123),s=0;s<64;)r[o[s]=s<26?s+65:s<52?s+71:s<62?s-4:s-59|43]=s++;i.encode=function(u,f,d){for(var p=null,g=[],m=0,C=0,x;f<d;){var A=u[f++];switch(C){case 0:g[m++]=o[A>>2],x=(A&3)<<4,C=1;break;case 1:g[m++]=o[x|A>>4],x=(A&15)<<2,C=2;break;case 2:g[m++]=o[x|A>>6],g[m++]=o[A&63],C=0;break}m>8191&&((p||(p=[])).push(String.fromCharCode.apply(String,g)),m=0)}return C&&(g[m++]=o[x],g[m++]=61,C===1&&(g[m++]=61)),p?(m&&p.push(String.fromCharCode.apply(String,g.slice(0,m))),p.join("")):String.fromCharCode.apply(String,g.slice(0,m))};var a="invalid encoding";i.decode=function(u,f,d){for(var p=d,g=0,m,C=0;C<u.length;){var x=u.charCodeAt(C++);if(x===61&&g>1)break;if((x=r[x])===undefined)throw Error(a);switch(g){case 0:m=x,g=1;break;case 1:f[d++]=m<<2|(x&48)>>4,m=x,g=2;break;case 2:f[d++]=(m&15)<<4|(x&60)>>2,m=x,g=3;break;case 3:f[d++]=(m&3)<<6|x,g=0;break}}if(g===1)throw Error(a);return d-p},i.test=function(u){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(u)}},{}],3:[function(e,t,n){"use strict";t.exports=i;function i(){this._listeners={}}i.prototype.on=function(r,s,a){return(this._listeners[r]||(this._listeners[r]=[])).push({fn:s,ctx:a||this}),this},i.prototype.off=function(r,s){if(r===undefined)this._listeners={};else if(s===undefined)this._listeners[r]=[];else for(var a=this._listeners[r],c=0;c<a.length;)a[c].fn===s?a.splice(c,1):++c;return this},i.prototype.emit=function(r){var s=this._listeners[r];if(s){for(var a=[],c=1;c<arguments.length;)a.push(arguments[c++]);for(c=0;c<s.length;)s[c].fn.apply(s[c++].ctx,a)}return this}},{}],4:[function(e,t,n){"use strict";t.exports=i(i);function i(c){return typeof Float32Array<"u"?function(){var u=new Float32Array([-0]),f=new Uint8Array(u.buffer),d=f[3]===128;function p(x,A,b){u[0]=x,A[b]=f[0],A[b+1]=f[1],A[b+2]=f[2],A[b+3]=f[3]}function g(x,A,b){u[0]=x,A[b]=f[3],A[b+1]=f[2],A[b+2]=f[1],A[b+3]=f[0]}c.writeFloatLE=d?p:g,c.writeFloatBE=d?g:p;function m(x,A){return f[0]=x[A],f[1]=x[A+1],f[2]=x[A+2],f[3]=x[A+3],u[0]}function C(x,A){return f[3]=x[A],f[2]=x[A+1],f[1]=x[A+2],f[0]=x[A+3],u[0]}c.readFloatLE=d?m:C,c.readFloatBE=d?C:m}():function(){function u(d,p,g,m){var C=p<0?1:0;if(C&&(p=-p),p===0)d(1/p>0?0:2147483648,g,m);else if(isNaN(p))d(2143289344,g,m);else if(p>34028234663852886e22)d((C<<31|2139095040)>>>0,g,m);else if(p<11754943508222875e-54)d((C<<31|Math.round(p/1401298464324817e-60))>>>0,g,m);else{var x=Math.floor(Math.log(p)/Math.LN2),A=Math.round(p*Math.pow(2,-x)*8388608)&8388607;d((C<<31|x+127<<23|A)>>>0,g,m)}}c.writeFloatLE=u.bind(null,o),c.writeFloatBE=u.bind(null,r);function f(d,p,g){var m=d(p,g),C=(m>>31)*2+1,x=m>>>23&255,A=m&8388607;return x===255?A?NaN:C*(1/0):x===0?C*1401298464324817e-60*A:C*Math.pow(2,x-150)*(A+8388608)}c.readFloatLE=f.bind(null,s),c.readFloatBE=f.bind(null,a)}(),typeof Float64Array<"u"?function(){var u=new Float64Array([-0]),f=new Uint8Array(u.buffer),d=f[7]===128;function p(x,A,b){u[0]=x,A[b]=f[0],A[b+1]=f[1],A[b+2]=f[2],A[b+3]=f[3],A[b+4]=f[4],A[b+5]=f[5],A[b+6]=f[6],A[b+7]=f[7]}function g(x,A,b){u[0]=x,A[b]=f[7],A[b+1]=f[6],A[b+2]=f[5],A[b+3]=f[4],A[b+4]=f[3],A[b+5]=f[2],A[b+6]=f[1],A[b+7]=f[0]}c.writeDoubleLE=d?p:g,c.writeDoubleBE=d?g:p;function m(x,A){return f[0]=x[A],f[1]=x[A+1],f[2]=x[A+2],f[3]=x[A+3],f[4]=x[A+4],f[5]=x[A+5],f[6]=x[A+6],f[7]=x[A+7],u[0]}function C(x,A){return f[7]=x[A],f[6]=x[A+1],f[5]=x[A+2],f[4]=x[A+3],f[3]=x[A+4],f[2]=x[A+5],f[1]=x[A+6],f[0]=x[A+7],u[0]}c.readDoubleLE=d?m:C,c.readDoubleBE=d?C:m}():function(){function u(d,p,g,m,C,x){var A=m<0?1:0;if(A&&(m=-m),m===0)d(0,C,x+p),d(1/m>0?0:2147483648,C,x+g);else if(isNaN(m))d(0,C,x+p),d(2146959360,C,x+g);else if(m>17976931348623157e292)d(0,C,x+p),d((A<<31|2146435072)>>>0,C,x+g);else{var b;if(m<22250738585072014e-324)b=m/5e-324,d(b>>>0,C,x+p),d((A<<31|b/4294967296)>>>0,C,x+g);else{var E=Math.floor(Math.log(m)/Math.LN2);E===1024&&(E=1023),b=m*Math.pow(2,-E),d(b*4503599627370496>>>0,C,x+p),d((A<<31|E+1023<<20|b*1048576&1048575)>>>0,C,x+g)}}}c.writeDoubleLE=u.bind(null,o,0,4),c.writeDoubleBE=u.bind(null,r,4,0);function f(d,p,g,m,C){var x=d(m,C+p),A=d(m,C+g),b=(A>>31)*2+1,E=A>>>20&2047,S=4294967296*(A&1048575)+x;return E===2047?S?NaN:b*(1/0):E===0?b*5e-324*S:b*Math.pow(2,E-1075)*(S+4503599627370496)}c.readDoubleLE=f.bind(null,s,0,4),c.readDoubleBE=f.bind(null,a,4,0)}(),c}function o(c,u,f){u[f]=c&255,u[f+1]=c>>>8&255,u[f+2]=c>>>16&255,u[f+3]=c>>>24}function r(c,u,f){u[f]=c>>>24,u[f+1]=c>>>16&255,u[f+2]=c>>>8&255,u[f+3]=c&255}function s(c,u){return(c[u]|c[u+1]<<8|c[u+2]<<16|c[u+3]<<24)>>>0}function a(c,u){return(c[u]<<24|c[u+1]<<16|c[u+2]<<8|c[u+3])>>>0}},{}],5:[function(require,module,exports){"use strict";module.exports=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(e){}return null}},{}],6:[function(e,t,n){"use strict";t.exports=i;function i(o,r,s){var a=s||8192,c=a>>>1,u=null,f=a;return function(p){if(p<1||p>c)return o(p);f+p>a&&(u=o(a),f=0);var g=r.call(u,f,f+=p);return f&7&&(f=(f|7)+1),g}}},{}],7:[function(e,t,n){"use strict";var i=n;i.length=function(r){for(var s=0,a=0,c=0;c<r.length;++c)a=r.charCodeAt(c),a<128?s+=1:a<2048?s+=2:(a&64512)===55296&&(r.charCodeAt(c+1)&64512)===56320?(++c,s+=4):s+=3;return s},i.read=function(r,s,a){var c=a-s;if(c<1)return"";for(var u=null,f=[],d=0,p;s<a;)p=r[s++],p<128?f[d++]=p:p>191&&p<224?f[d++]=(p&31)<<6|r[s++]&63:p>239&&p<365?(p=((p&7)<<18|(r[s++]&63)<<12|(r[s++]&63)<<6|r[s++]&63)-65536,f[d++]=55296+(p>>10),f[d++]=56320+(p&1023)):f[d++]=(p&15)<<12|(r[s++]&63)<<6|r[s++]&63,d>8191&&((u||(u=[])).push(String.fromCharCode.apply(String,f)),d=0);return u?(d&&u.push(String.fromCharCode.apply(String,f.slice(0,d))),u.join("")):String.fromCharCode.apply(String,f.slice(0,d))},i.write=function(r,s,a){for(var c=a,u,f,d=0;d<r.length;++d)u=r.charCodeAt(d),u<128?s[a++]=u:u<2048?(s[a++]=u>>6|192,s[a++]=u&63|128):(u&64512)===55296&&((f=r.charCodeAt(d+1))&64512)===56320?(u=65536+((u&1023)<<10)+(f&1023),++d,s[a++]=u>>18|240,s[a++]=u>>12&63|128,s[a++]=u>>6&63|128,s[a++]=u&63|128):(s[a++]=u>>12|224,s[a++]=u>>6&63|128,s[a++]=u&63|128);return a-c}},{}],8:[function(e,t,n){"use strict";var i=n;i.build="minimal",i.Writer=e(16),i.BufferWriter=e(17),i.Reader=e(9),i.BufferReader=e(10),i.util=e(15),i.rpc=e(12),i.roots=e(11),i.configure=o;function o(){i.util._configure(),i.Writer._configure(i.BufferWriter),i.Reader._configure(i.BufferReader)}o()},{10:10,11:11,12:12,15:15,16:16,17:17,9:9}],9:[function(e,t,n){"use strict";t.exports=c;var i=e(15),o,r=i.LongBits,s=i.utf8;function a(m,C){return RangeError("index out of range: "+m.pos+" + "+(C||1)+" > "+m.len)}function c(m){this.buf=m,this.pos=0,this.len=m.length}var u=typeof Uint8Array<"u"?function(C){if(C instanceof Uint8Array||Array.isArray(C))return new c(C);throw Error("illegal buffer")}:function(C){if(Array.isArray(C))return new c(C);throw Error("illegal buffer")},f=function(){return i.Buffer?function(x){return(c.create=function(b){return i.Buffer.isBuffer(b)?new o(b):u(b)})(x)}:u};c.create=f(),c.prototype._slice=i.Array.prototype.subarray||i.Array.prototype.slice,c.prototype.uint32=function(){var C=4294967295;return function(){if(C=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(C=(C|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(C=(C|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(C=(C|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(C=(C|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return C;if((this.pos+=5)>this.len)throw this.pos=this.len,a(this,10);return C}}(),c.prototype.int32=function(){return this.uint32()|0},c.prototype.sint32=function(){var C=this.uint32();return C>>>1^-(C&1)|0};function d(){var m=new r(0,0),C=0;if(this.len-this.pos>4){for(;C<4;++C)if(m.lo=(m.lo|(this.buf[this.pos]&127)<<C*7)>>>0,this.buf[this.pos++]<128)return m;if(m.lo=(m.lo|(this.buf[this.pos]&127)<<28)>>>0,m.hi=(m.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return m;C=0}else{for(;C<3;++C){if(this.pos>=this.len)throw a(this);if(m.lo=(m.lo|(this.buf[this.pos]&127)<<C*7)>>>0,this.buf[this.pos++]<128)return m}return m.lo=(m.lo|(this.buf[this.pos++]&127)<<C*7)>>>0,m}if(this.len-this.pos>4){for(;C<5;++C)if(m.hi=(m.hi|(this.buf[this.pos]&127)<<C*7+3)>>>0,this.buf[this.pos++]<128)return m}else for(;C<5;++C){if(this.pos>=this.len)throw a(this);if(m.hi=(m.hi|(this.buf[this.pos]&127)<<C*7+3)>>>0,this.buf[this.pos++]<128)return m}throw Error("invalid varint encoding")}c.prototype.bool=function(){return this.uint32()!==0};function p(m,C){return(m[C-4]|m[C-3]<<8|m[C-2]<<16|m[C-1]<<24)>>>0}c.prototype.fixed32=function(){if(this.pos+4>this.len)throw a(this,4);return p(this.buf,this.pos+=4)},c.prototype.sfixed32=function(){if(this.pos+4>this.len)throw a(this,4);return p(this.buf,this.pos+=4)|0};function g(){if(this.pos+8>this.len)throw a(this,8);return new r(p(this.buf,this.pos+=4),p(this.buf,this.pos+=4))}c.prototype.float=function(){if(this.pos+4>this.len)throw a(this,4);var C=i.float.readFloatLE(this.buf,this.pos);return this.pos+=4,C},c.prototype.double=function(){if(this.pos+8>this.len)throw a(this,4);var C=i.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,C},c.prototype.bytes=function(){var C=this.uint32(),x=this.pos,A=this.pos+C;if(A>this.len)throw a(this,C);return this.pos+=C,Array.isArray(this.buf)?this.buf.slice(x,A):x===A?new this.buf.constructor(0):this._slice.call(this.buf,x,A)},c.prototype.string=function(){var C=this.bytes();return s.read(C,0,C.length)},c.prototype.skip=function(C){if(typeof C=="number"){if(this.pos+C>this.len)throw a(this,C);this.pos+=C}else do if(this.pos>=this.len)throw a(this);while(this.buf[this.pos++]&128);return this},c.prototype.skipType=function(m){switch(m){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(m=this.uint32()&7)!==4;)this.skipType(m);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+m+" at offset "+this.pos)}return this},c._configure=function(m){o=m,c.create=f(),o._configure();var C=i.Long?"toLong":"toNumber";i.merge(c.prototype,{int64:function(){return d.call(this)[C](!1)},uint64:function(){return d.call(this)[C](!0)},sint64:function(){return d.call(this).zzDecode()[C](!1)},fixed64:function(){return g.call(this)[C](!0)},sfixed64:function(){return g.call(this)[C](!1)}})}},{15:15}],10:[function(e,t,n){"use strict";t.exports=r;var i=e(9);(r.prototype=Object.create(i.prototype)).constructor=r;var o=e(15);function r(s){i.call(this,s)}r._configure=function(){o.Buffer&&(r.prototype._slice=o.Buffer.prototype.slice)},r.prototype.string=function(){var a=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+a,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+a,this.len))},r._configure()},{15:15,9:9}],11:[function(e,t,n){"use strict";t.exports={}},{}],12:[function(e,t,n){"use strict";var i=n;i.Service=e(13)},{13:13}],13:[function(e,t,n){"use strict";t.exports=o;var i=e(15);(o.prototype=Object.create(i.EventEmitter.prototype)).constructor=o;function o(r,s,a){if(typeof r!="function")throw TypeError("rpcImpl must be a function");i.EventEmitter.call(this),this.rpcImpl=r,this.requestDelimited=Boolean(s),this.responseDelimited=Boolean(a)}o.prototype.rpcCall=function r(s,a,c,u,f){if(!u)throw TypeError("request must be specified");var d=this;if(!f)return i.asPromise(r,d,s,a,c,u);if(!d.rpcImpl)return setTimeout(function(){f(Error("already ended"))},0),undefined;try{return d.rpcImpl(s,a[d.requestDelimited?"encodeDelimited":"encode"](u).finish(),function(g,m){if(g)return d.emit("error",g,s),f(g);if(m===null)return d.end(!0),undefined;if(!(m instanceof c))try{m=c[d.responseDelimited?"decodeDelimited":"decode"](m)}catch(C){return d.emit("error",C,s),f(C)}return d.emit("data",m,s),f(null,m)})}catch(p){return d.emit("error",p,s),setTimeout(function(){f(p)},0),undefined}},o.prototype.end=function(s){return this.rpcImpl&&(s||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}},{15:15}],14:[function(e,t,n){"use strict";t.exports=o;var i=e(15);function o(c,u){this.lo=c>>>0,this.hi=u>>>0}var r=o.zero=new o(0,0);r.toNumber=function(){return 0},r.zzEncode=r.zzDecode=function(){return this},r.length=function(){return 1};var s=o.zeroHash="\0\0\0\0\0\0\0\0";o.fromNumber=function(u){if(u===0)return r;var f=u<0;f&&(u=-u);var d=u>>>0,p=(u-d)/4294967296>>>0;return f&&(p=~p>>>0,d=~d>>>0,++d>4294967295&&(d=0,++p>4294967295&&(p=0))),new o(d,p)},o.from=function(u){if(typeof u=="number")return o.fromNumber(u);if(i.isString(u))if(i.Long)u=i.Long.fromString(u);else return o.fromNumber(parseInt(u,10));return u.low||u.high?new o(u.low>>>0,u.high>>>0):r},o.prototype.toNumber=function(u){if(!u&&this.hi>>>31){var f=~this.lo+1>>>0,d=~this.hi>>>0;return f||(d=d+1>>>0),-(f+d*4294967296)}return this.lo+this.hi*4294967296},o.prototype.toLong=function(u){return i.Long?new i.Long(this.lo|0,this.hi|0,Boolean(u)):{low:this.lo|0,high:this.hi|0,unsigned:Boolean(u)}};var a=String.prototype.charCodeAt;o.fromHash=function(u){return u===s?r:new o((a.call(u,0)|a.call(u,1)<<8|a.call(u,2)<<16|a.call(u,3)<<24)>>>0,(a.call(u,4)|a.call(u,5)<<8|a.call(u,6)<<16|a.call(u,7)<<24)>>>0)},o.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},o.prototype.zzEncode=function(){var u=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^u)>>>0,this.lo=(this.lo<<1^u)>>>0,this},o.prototype.zzDecode=function(){var u=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^u)>>>0,this.hi=(this.hi>>>1^u)>>>0,this},o.prototype.length=function(){var u=this.lo,f=(this.lo>>>28|this.hi<<4)>>>0,d=this.hi>>>24;return d===0?f===0?u<16384?u<128?1:2:u<2097152?3:4:f<16384?f<128?5:6:f<2097152?7:8:d<128?9:10}},{15:15}],15:[function(e,t,n){"use strict";var i=n;i.asPromise=e(1),i.base64=e(2),i.EventEmitter=e(3),i.float=e(4),i.inquire=e(5),i.utf8=e(7),i.pool=e(6),i.LongBits=e(14),i.isNode=Boolean(typeof global<"u"&&global&&global.process&&global.process.versions&&global.process.versions.node),i.global=i.isNode&&global||typeof window<"u"&&window||typeof self<"u"&&self||this,i.emptyArray=Object.freeze?Object.freeze([]):[],i.emptyObject=Object.freeze?Object.freeze({}):{},i.isInteger=Number.isInteger||function(a){return typeof a=="number"&&isFinite(a)&&Math.floor(a)===a},i.isString=function(a){return typeof a=="string"||a instanceof String},i.isObject=function(a){return a&&typeof a=="object"},i.isset=i.isSet=function(a,c){var u=a[c];return u!=null&&a.hasOwnProperty(c)?typeof u!="object"||(Array.isArray(u)?u.length:Object.keys(u).length)>0:!1},i.Buffer=function(){try{var s=i.inquire("buffer").Buffer;return s.prototype.utf8Write?s:null}catch{return null}}(),i._Buffer_from=null,i._Buffer_allocUnsafe=null,i.newBuffer=function(a){return typeof a=="number"?i.Buffer?i._Buffer_allocUnsafe(a):new i.Array(a):i.Buffer?i._Buffer_from(a):typeof Uint8Array>"u"?a:new Uint8Array(a)},i.Array=typeof Uint8Array<"u"?Uint8Array:Array,i.Long=i.global.dcodeIO&&i.global.dcodeIO.Long||i.global.Long||i.inquire("long"),i.key2Re=/^true|false|0|1$/,i.key32Re=/^-?(?:0|[1-9][0-9]*)$/,i.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,i.longToHash=function(a){return a?i.LongBits.from(a).toHash():i.LongBits.zeroHash},i.longFromHash=function(a,c){var u=i.LongBits.fromHash(a);return i.Long?i.Long.fromBits(u.lo,u.hi,c):u.toNumber(Boolean(c))};function o(s,a,c){for(var u=Object.keys(a),f=0;f<u.length;++f)(s[u[f]]===undefined||!c)&&(s[u[f]]=a[u[f]]);return s}i.merge=o,i.lcFirst=function(a){return a.charAt(0).toLowerCase()+a.substring(1)};function r(s){function a(c,u){if(!(this instanceof a))return new a(c,u);Object.defineProperty(this,"message",{get:function(){return c}}),Error.captureStackTrace?Error.captureStackTrace(this,a):Object.defineProperty(this,"stack",{value:new Error().stack||""}),u&&o(this,u)}return a.prototype=Object.create(Error.prototype,{constructor:{value:a,writable:!0,enumerable:!1,configurable:!0},name:{get(){return s},set:undefined,enumerable:!1,configurable:!0},toString:{value(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),a}i.newError=r,i.ProtocolError=r("ProtocolError"),i.oneOfGetter=function(a){for(var c={},u=0;u<a.length;++u)c[a[u]]=1;return function(){for(var f=Object.keys(this),d=f.length-1;d>-1;--d)if(c[f[d]]===1&&this[f[d]]!==undefined&&this[f[d]]!==null)return f[d]}},i.oneOfSetter=function(a){return function(c){for(var u=0;u<a.length;++u)a[u]!==c&&delete this[a[u]]}},i.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},i._configure=function(){var s=i.Buffer;if(!s){i._Buffer_from=i._Buffer_allocUnsafe=null;return}i._Buffer_from=s.from!==Uint8Array.from&&s.from||function(c,u){return new s(c,u)},i._Buffer_allocUnsafe=s.allocUnsafe||function(c){return new s(c)}}},{1:1,14:14,2:2,3:3,4:4,5:5,6:6,7:7}],16:[function(e,t,n){"use strict";t.exports=d;var i=e(15),o,r=i.LongBits,s=i.base64,a=i.utf8;function c(E,S,v){this.fn=E,this.len=S,this.next=undefined,this.val=v}function u(){}function f(E){this.head=E.head,this.tail=E.tail,this.len=E.len,this.next=E.states}function d(){this.len=0,this.head=new c(u,0,0),this.tail=this.head,this.states=null}var p=function(){return i.Buffer?function(){return(d.create=function(){return new o})()}:function(){return new d}};d.create=p(),d.alloc=function(S){return new i.Array(S)},i.Array!==Array&&(d.alloc=i.pool(d.alloc,i.Array.prototype.subarray)),d.prototype._push=function(S,v,P){return this.tail=this.tail.next=new c(S,v,P),this.len+=v,this};function g(E,S,v){S[v]=E&255}function m(E,S,v){for(;E>127;)S[v++]=E&127|128,E>>>=7;S[v]=E}function C(E,S){this.len=E,this.next=undefined,this.val=S}C.prototype=Object.create(c.prototype),C.prototype.fn=m,d.prototype.uint32=function(S){return this.len+=(this.tail=this.tail.next=new C((S=S>>>0)<128?1:S<16384?2:S<2097152?3:S<268435456?4:5,S)).len,this},d.prototype.int32=function(S){return S<0?this._push(x,10,r.fromNumber(S)):this.uint32(S)},d.prototype.sint32=function(S){return this.uint32((S<<1^S>>31)>>>0)};function x(E,S,v){for(;E.hi;)S[v++]=E.lo&127|128,E.lo=(E.lo>>>7|E.hi<<25)>>>0,E.hi>>>=7;for(;E.lo>127;)S[v++]=E.lo&127|128,E.lo=E.lo>>>7;S[v++]=E.lo}d.prototype.uint64=function(S){var v=r.from(S);return this._push(x,v.length(),v)},d.prototype.int64=d.prototype.uint64,d.prototype.sint64=function(S){var v=r.from(S).zzEncode();return this._push(x,v.length(),v)},d.prototype.bool=function(S){return this._push(g,1,S?1:0)};function A(E,S,v){S[v]=E&255,S[v+1]=E>>>8&255,S[v+2]=E>>>16&255,S[v+3]=E>>>24}d.prototype.fixed32=function(S){return this._push(A,4,S>>>0)},d.prototype.sfixed32=d.prototype.fixed32,d.prototype.fixed64=function(S){var v=r.from(S);return this._push(A,4,v.lo)._push(A,4,v.hi)},d.prototype.sfixed64=d.prototype.fixed64,d.prototype.float=function(S){return this._push(i.float.writeFloatLE,4,S)},d.prototype.double=function(S){return this._push(i.float.writeDoubleLE,8,S)};var b=i.Array.prototype.set?function(S,v,P){v.set(S,P)}:function(S,v,P){for(var O=0;O<S.length;++O)v[P+O]=S[O]};d.prototype.bytes=function(S){var v=S.length>>>0;if(!v)return this._push(g,1,0);if(i.isString(S)){var P=d.alloc(v=s.length(S));s.decode(S,P,0),S=P}return this.uint32(v)._push(b,v,S)},d.prototype.string=function(S){var v=a.length(S);return v?this.uint32(v)._push(a.write,v,S):this._push(g,1,0)},d.prototype.fork=function(){return this.states=new f(this),this.head=this.tail=new c(u,0,0),this.len=0,this},d.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new c(u,0,0),this.len=0),this},d.prototype.ldelim=function(){var S=this.head,v=this.tail,P=this.len;return this.reset().uint32(P),P&&(this.tail.next=S.next,this.tail=v,this.len+=P),this},d.prototype.finish=function(){for(var S=this.head.next,v=this.constructor.alloc(this.len),P=0;S;)S.fn(S.val,v,P),P+=S.len,S=S.next;return v},d._configure=function(E){o=E,d.create=p(),o._configure()}},{15:15}],17:[function(e,t,n){"use strict";t.exports=r;var i=e(16);(r.prototype=Object.create(i.prototype)).constructor=r;var o=e(15);function r(){i.call(this)}r._configure=function(){r.alloc=o._Buffer_allocUnsafe,r.writeBytesBuffer=o.Buffer&&o.Buffer.prototype instanceof Uint8Array&&o.Buffer.prototype.set.name==="set"?function(c,u,f){u.set(c,f)}:function(c,u,f){if(c.copy)c.copy(u,f,0,c.length);else for(var d=0;d<c.length;)u[f++]=c[d++]}},r.prototype.bytes=function(c){o.isString(c)&&(c=o._Buffer_from(c,"base64"));var u=c.length>>>0;return this.uint32(u),u&&this._push(r.writeBytesBuffer,u,c),this};function s(a,c,u){a.length<40?o.utf8.write(a,c,u):c.utf8Write?c.utf8Write(a,u):c.write(a,u)}r.prototype.string=function(c){var u=o.Buffer.byteLength(c);return this.uint32(u),u&&this._push(s,u,c),this},r._configure()},{15:15,16:16}]},{},[8])})()});var dee=Vn((K8,Z8)=>{(function(e,t){typeof K8=="object"&&typeof Z8<"u"?Z8.exports=t():typeof define=="function"&&define.amd?define(t):(e=e||self,e.RBush=t())})(K8,function(){"use strict";function e(E,S,v,P,O){t(E,S,v||0,P||E.length-1,O||i)}function t(E,S,v,P,O){for(;P>v;){if(P-v>600){var M=P-v+1,B=S-v+1,L=Math.log(M),_=.5*Math.exp(2*L/3),T=.5*Math.sqrt(L*_*(M-_)/M)*(B-M/2<0?-1:1),w=Math.max(v,Math.floor(S-B*_/M+T)),D=Math.min(P,Math.floor(S+(M-B)*_/M+T));t(E,S,w,D,O)}var R=E[S],F=v,z=P;for(n(E,v,S),O(E[P],R)>0&&n(E,v,P);F<z;){for(n(E,F,z),F++,z--;O(E[F],R)<0;)F++;for(;O(E[z],R)>0;)z--}O(E[v],R)===0?n(E,v,z):(z++,n(E,z,P)),z<=S&&(v=z+1),S<=z&&(P=z-1)}}function n(E,S,v){var P=E[S];E[S]=E[v],E[v]=P}function i(E,S){return E<S?-1:E>S?1:0}var o=function(S){S===void 0&&(S=9),this._maxEntries=Math.max(4,S),this._minEntries=Math.max(2,Math.ceil(this._maxEntries*.4)),this.clear()};o.prototype.all=function(){return this._all(this.data,[])},o.prototype.search=function(S){var v=this.data,P=[];if(!x(S,v))return P;for(var O=this.toBBox,M=[];v;){for(var B=0;B<v.children.length;B++){var L=v.children[B],_=v.leaf?O(L):L;x(S,_)&&(v.leaf?P.push(L):C(S,_)?this._all(L,P):M.push(L))}v=M.pop()}return P},o.prototype.collides=function(S){var v=this.data;if(!x(S,v))return!1;for(var P=[];v;){for(var O=0;O<v.children.length;O++){var M=v.children[O],B=v.leaf?this.toBBox(M):M;if(x(S,B)){if(v.leaf||C(S,B))return!0;P.push(M)}}v=P.pop()}return!1},o.prototype.load=function(S){if(!(S&&S.length))return this;if(S.length<this._minEntries){for(var v=0;v<S.length;v++)this.insert(S[v]);return this}var P=this._build(S.slice(),0,S.length-1,0);if(!this.data.children.length)this.data=P;else if(this.data.height===P.height)this._splitRoot(this.data,P);else{if(this.data.height<P.height){var O=this.data;this.data=P,P=O}this._insert(P,this.data.height-P.height-1,!0)}return this},o.prototype.insert=function(S){return S&&this._insert(S,this.data.height-1),this},o.prototype.clear=function(){return this.data=A([]),this},o.prototype.remove=function(S,v){if(!S)return this;for(var P=this.data,O=this.toBBox(S),M=[],B=[],L,_,T;P||M.length;){if(P||(P=M.pop(),_=M[M.length-1],L=B.pop(),T=!0),P.leaf){var w=r(S,P.children,v);if(w!==-1)return P.children.splice(w,1),M.push(P),this._condense(M),this}!T&&!P.leaf&&C(P,O)?(M.push(P),B.push(L),L=0,_=P,P=P.children[0]):_?(L++,P=_.children[L],T=!1):P=null}return this},o.prototype.toBBox=function(S){return S},o.prototype.compareMinX=function(S,v){return S.minX-v.minX},o.prototype.compareMinY=function(S,v){return S.minY-v.minY},o.prototype.toJSON=function(){return this.data},o.prototype.fromJSON=function(S){return this.data=S,this},o.prototype._all=function(S,v){for(var P=[];S;)S.leaf?v.push.apply(v,S.children):P.push.apply(P,S.children),S=P.pop();return v},o.prototype._build=function(S,v,P,O){var M=P-v+1,B=this._maxEntries,L;if(M<=B)return L=A(S.slice(v,P+1)),s(L,this.toBBox),L;O||(O=Math.ceil(Math.log(M)/Math.log(B)),B=Math.ceil(M/Math.pow(B,O-1))),L=A([]),L.leaf=!1,L.height=O;var _=Math.ceil(M/B),T=_*Math.ceil(Math.sqrt(B));b(S,v,P,T,this.compareMinX);for(var w=v;w<=P;w+=T){var D=Math.min(w+T-1,P);b(S,w,D,_,this.compareMinY);for(var R=w;R<=D;R+=_){var F=Math.min(R+_-1,D);L.children.push(this._build(S,R,F,O-1))}}return s(L,this.toBBox),L},o.prototype._chooseSubtree=function(S,v,P,O){for(;O.push(v),!(v.leaf||O.length-1===P);){for(var M=1/0,B=1/0,L=void 0,_=0;_<v.children.length;_++){var T=v.children[_],w=d(T),D=g(S,T)-w;D<B?(B=D,M=w<M?w:M,L=T):D===B&&w<M&&(M=w,L=T)}v=L||v.children[0]}return v},o.prototype._insert=function(S,v,P){var O=P?S:this.toBBox(S),M=[],B=this._chooseSubtree(O,this.data,v,M);for(B.children.push(S),c(B,O);v>=0&&M[v].children.length>this._maxEntries;)this._split(M,v),v--;this._adjustParentBBoxes(O,M,v)},o.prototype._split=function(S,v){var P=S[v],O=P.children.length,M=this._minEntries;this._chooseSplitAxis(P,M,O);var B=this._chooseSplitIndex(P,M,O),L=A(P.children.splice(B,P.children.length-B));L.height=P.height,L.leaf=P.leaf,s(P,this.toBBox),s(L,this.toBBox),v?S[v-1].children.push(L):this._splitRoot(P,L)},o.prototype._splitRoot=function(S,v){this.data=A([S,v]),this.data.height=S.height+1,this.data.leaf=!1,s(this.data,this.toBBox)},o.prototype._chooseSplitIndex=function(S,v,P){for(var O,M=1/0,B=1/0,L=v;L<=P-v;L++){var _=a(S,0,L,this.toBBox),T=a(S,L,P,this.toBBox),w=m(_,T),D=d(_)+d(T);w<M?(M=w,O=L,B=D<B?D:B):w===M&&D<B&&(B=D,O=L)}return O||P-v},o.prototype._chooseSplitAxis=function(S,v,P){var O=S.leaf?this.compareMinX:u,M=S.leaf?this.compareMinY:f,B=this._allDistMargin(S,v,P,O),L=this._allDistMargin(S,v,P,M);B<L&&S.children.sort(O)},o.prototype._allDistMargin=function(S,v,P,O){S.children.sort(O);for(var M=this.toBBox,B=a(S,0,v,M),L=a(S,P-v,P,M),_=p(B)+p(L),T=v;T<P-v;T++){var w=S.children[T];c(B,S.leaf?M(w):w),_+=p(B)}for(var D=P-v-1;D>=v;D--){var R=S.children[D];c(L,S.leaf?M(R):R),_+=p(L)}return _},o.prototype._adjustParentBBoxes=function(S,v,P){for(var O=P;O>=0;O--)c(v[O],S)},o.prototype._condense=function(S){for(var v=S.length-1,P=void 0;v>=0;v--)S[v].children.length===0?v>0?(P=S[v-1].children,P.splice(P.indexOf(S[v]),1)):this.clear():s(S[v],this.toBBox)};function r(E,S,v){if(!v)return S.indexOf(E);for(var P=0;P<S.length;P++)if(v(E,S[P]))return P;return-1}function s(E,S){a(E,0,E.children.length,S,E)}function a(E,S,v,P,O){O||(O=A(null)),O.minX=1/0,O.minY=1/0,O.maxX=-1/0,O.maxY=-1/0;for(var M=S;M<v;M++){var B=E.children[M];c(O,E.leaf?P(B):B)}return O}function c(E,S){return E.minX=Math.min(E.minX,S.minX),E.minY=Math.min(E.minY,S.minY),E.maxX=Math.max(E.maxX,S.maxX),E.maxY=Math.max(E.maxY,S.maxY),E}function u(E,S){return E.minX-S.minX}function f(E,S){return E.minY-S.minY}function d(E){return(E.maxX-E.minX)*(E.maxY-E.minY)}function p(E){return E.maxX-E.minX+(E.maxY-E.minY)}function g(E,S){return(Math.max(S.maxX,E.maxX)-Math.min(S.minX,E.minX))*(Math.max(S.maxY,E.maxY)-Math.min(S.minY,E.minY))}function m(E,S){var v=Math.max(E.minX,S.minX),P=Math.max(E.minY,S.minY),O=Math.min(E.maxX,S.maxX),M=Math.min(E.maxY,S.maxY);return Math.max(0,O-v)*Math.max(0,M-P)}function C(E,S){return E.minX<=S.minX&&E.minY<=S.minY&&S.maxX<=E.maxX&&S.maxY<=E.maxY}function x(E,S){return S.minX<=E.maxX&&S.minY<=E.maxY&&S.maxX>=E.minX&&S.maxY>=E.minY}function A(E){return{children:E,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function b(E,S,v,P,O){for(var M=[S,v];M.length;)if(v=M.pop(),S=M.pop(),!(v-S<=P)){var B=S+Math.ceil((v-S)/P/2)*P;e(E,B,S,v,O),M.push(S,B,B,v)}}return o})});var $ie=Vn((YS,EB)=>{(function(e){"use strict";var t="Compound",n="Identifier",i="MemberExpression",o="Literal",r="ThisExpression",s="CallExpression",a="UnaryExpression",c="BinaryExpression",u="LogicalExpression",f="ConditionalExpression",d="ArrayExpression",p=46,g=44,m=39,C=34,x=40,A=41,b=91,E=93,S=63,v=59,P=58,O=function(X,W){var K=new Error(X+" at character "+W);throw K.index=W,K.description=X,K},M=!0,B={"-":M,"!":M,"~":M,"+":M},L={"||":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":10,"/":10,"%":10},_=function(X){var W=0,K;for(var $ in X)(K=$.length)>W&&X.hasOwnProperty($)&&(W=K);return W},T=_(B),w=_(L),D={true:!0,false:!1,null:null},R="this",F=function(X){return L[X]||0},z=function(X,W,K){var $=X==="||"||X==="&&"?u:c;return{type:$,operator:X,left:W,right:K}},k=function(X){return X>=48&&X<=57},H=function(X){return X===36||X===95||X>=65&&X<=90||X>=97&&X<=122||X>=128&&!L[String.fromCharCode(X)]},V=function(X){return X===36||X===95||X>=65&&X<=90||X>=97&&X<=122||X>=48&&X<=57||X>=128&&!L[String.fromCharCode(X)]},Y=function(X){for(var W=0,K=X.charAt,$=X.charCodeAt,le=function(Se){return K.call(X,Se)},me=function(Se){return $.call(X,Se)},ie=X.length,ce=function(){for(var Se=me(W);Se===32||Se===9||Se===10||Se===13;)Se=me(++W)},pe=function(){var Se=we(),_t,Vt;if(ce(),me(W)===S){if(W++,_t=pe(),_t||O("Expected expression",W),ce(),me(W)===P)return W++,Vt=pe(),Vt||O("Expected expression",W),{type:f,test:Se,consequent:_t,alternate:Vt};O("Expected :",W)}else return Se},Ae=function(){ce();for(var Se,_t=X.substr(W,w),Vt=_t.length;Vt>0;){if(L.hasOwnProperty(_t)&&(!H(me(W))||W+_t.length<X.length&&!V(me(W+_t.length))))return W+=Vt,_t;_t=_t.substr(0,--Vt)}return!1},we=function(){var Se,_t,Vt,hi,Ni,Mo,wo,co,mi,Me;if(wo=Re(),Vt=Ae(),!Vt)return wo;for(Mo={value:Vt,prec:F(Vt)},co=Re(),co||O("Expected expression after "+Vt,W),Ni=[wo,Mo,co];(Vt=Ae())&&(hi=F(Vt),hi!==0);){for(Mo={value:Vt,prec:hi},Me=Vt;Ni.length>2&&hi<=Ni[Ni.length-2].prec;)co=Ni.pop(),Vt=Ni.pop().value,wo=Ni.pop(),_t=z(Vt,wo,co),Ni.push(_t);_t=Re(),_t||O("Expected expression after "+Me,W),Ni.push(Mo,_t)}for(mi=Ni.length-1,_t=Ni[mi];mi>1;)_t=z(Ni[mi-1].value,Ni[mi-2],_t),mi-=2;return _t},Re=function(){var Se,_t,Vt;if(ce(),Se=me(W),k(Se)||Se===p)return Ue();if(Se===m||Se===C)return bt();if(Se===b)return Jn();for(_t=X.substr(W,T),Vt=_t.length;Vt>0;){if(B.hasOwnProperty(_t)&&(!H(me(W))||W+_t.length<X.length&&!V(me(W+_t.length))))return W+=Vt,{type:a,operator:_t,argument:Re(),prefix:!0};_t=_t.substr(0,--Vt)}return H(Se)||Se===x?dt():!1},Ue=function(){for(var Se="",_t,Vt;k(me(W));)Se+=le(W++);if(me(W)===p)for(Se+=le(W++);k(me(W));)Se+=le(W++);if(_t=le(W),_t==="e"||_t==="E"){for(Se+=le(W++),_t=le(W),(_t==="+"||_t==="-")&&(Se+=le(W++));k(me(W));)Se+=le(W++);k(me(W-1))||O("Expected exponent ("+Se+le(W)+")",W)}return Vt=me(W),H(Vt)?O("Variable names cannot start with a number ("+Se+le(W)+")",W):Vt===p&&O("Unexpected period",W),{type:o,value:parseFloat(Se),raw:Se}},bt=function(){for(var Se="",_t=le(W++),Vt=!1,hi;W<ie;)if(hi=le(W++),hi===_t){Vt=!0;break}else if(hi==="\\")switch(hi=le(W++),hi){case"n":Se+=`
  68. `;break;case"r":Se+="\r";break;case"t":Se+=" ";break;case"b":Se+="\b";break;case"f":Se+="\f";break;case"v":Se+="\v";break;default:Se+=hi}else Se+=hi;return Vt||O('Unclosed quote after "'+Se+'"',W),{type:o,value:Se,raw:_t+Se+_t}},Ut=function(){var Se=me(W),_t=W,Vt;for(H(Se)?W++:O("Unexpected "+le(W),W);W<ie&&(Se=me(W),V(Se));)W++;return Vt=X.slice(_t,W),D.hasOwnProperty(Vt)?{type:o,value:D[Vt],raw:Vt}:Vt===R?{type:r}:{type:n,name:Vt}},sn=function(Se){for(var _t,Vt=[],hi,Ni=!1,Mo=0;W<ie;)if(ce(),_t=me(W),_t===Se){Ni=!0,W++,Se===A&&Mo&&Mo>=Vt.length&&O("Unexpected token "+String.fromCharCode(Se),W);break}else if(_t===g){if(W++,Mo++,Mo!==Vt.length){if(Se===A)O("Unexpected token ,",W);else if(Se===E)for(var wo=Vt.length;wo<Mo;wo++)Vt.push(null)}}else hi=pe(),(!hi||hi.type===t)&&O("Expected comma",W),Vt.push(hi);return Ni||O("Expected "+String.fromCharCode(Se),W),Vt},dt=function(){var Se,_t;for(Se=me(W),Se===x?_t=vn():_t=Ut(),ce(),Se=me(W);Se===p||Se===b||Se===x;)W++,Se===p?(ce(),_t={type:i,computed:!1,object:_t,property:Ut()}):Se===b?(_t={type:i,computed:!0,object:_t,property:pe()},ce(),Se=me(W),Se!==E&&O("Unclosed [",W),W++):Se===x&&(_t={type:s,arguments:sn(A),callee:_t}),ce(),Se=me(W);return _t},vn=function(){W++;var Se=pe();if(ce(),me(W)===A)return W++,Se;O("Unclosed (",W)},Jn=function(){return W++,{type:d,elements:sn(E)}},ot=[],zt,qn;W<ie;)zt=me(W),zt===v||zt===g?W++:(qn=pe())?ot.push(qn):W<ie&&O('Unexpected "'+le(W)+'"',W);return ot.length===1?ot[0]:{type:t,body:ot}};if(Y.version="0.3.5",Y.toString=function(){return"JavaScript Expression Parser (JSEP) v"+Y.version},Y.addUnaryOp=function(X){return T=Math.max(X.length,T),B[X]=M,this},Y.addBinaryOp=function(X,W){return w=Math.max(X.length,w),L[X]=W,this},Y.addLiteral=function(X,W){return D[X]=W,this},Y.removeUnaryOp=function(X){return delete B[X],X.length===T&&(T=_(B)),this},Y.removeAllUnaryOps=function(){return B={},T=0,this},Y.removeBinaryOp=function(X){return delete L[X],X.length===w&&(w=_(L)),this},Y.removeAllBinaryOps=function(){return L={},w=0,this},Y.removeLiteral=function(X){return delete D[X],this},Y.removeAllLiterals=function(){return D={},this},typeof YS>"u"){var q=e.jsep;e.jsep=Y,Y.noConflict=function(){return e.jsep===Y&&(e.jsep=q),Y}}else typeof EB<"u"&&EB.exports?YS=EB.exports=Y:YS.parse=Y})(YS)});var goe=Vn(($S,t6)=>{var FB=function(){"use strict";var e="B9h79tEBBBENQ9gEUEU9gEUB9gBB9gVUUUUUEU9gDUUEU9gLUUUUEU9gIUUUEU9gVUUUUUB9gLUUUUB9gD99UE99Ie8aDILEVOLEVLRRRRRWWVBOOBEdddLVE9wEIIVIEBEOWEUEC+Q/KEKR/QIhO9tw9t9vv95DBh9f9f939h79t9f9j9h229f9jT9vv7BB8a9tw79o9v9wT9fw9u9j9v9kw9WwvTw949C919m9mwvBE8f9tw79o9v9wT9fw9u9j9v9kw9WwvTw949C919m9mwv9C9v919u9kBDe9tw79o9v9wT9fw9u9j9v9kw9WwvTw949Wwv79p9v9uBIy9tw79o9v9wT9fw9u9j9v9kw69u9kw949C919m9mwvBL8e9tw79o9v9wT9fw9u9j9v9kw69u9kw949C919m9mwv9C9v919u9kBO8a9tw79o9v9wT9fw9u9j9v9kw69u9kw949Wwv79p9v9uBRe9tw79o9v9wT9fw9u9j9v9kw69u9kw949Twg91w9u9jwBWA9tw79o9v9wT9fw9u9j9v9kw69u9kw949Twg91w9u9jw9C9v919u9kBdl9tw79o9v9wT9fw9u9j9v9kws9p2Twv9P9jTBQk9tw79o9v9wT9fw9u9j9v9kws9p2Twv9R919hTBKl9tw79o9v9wT9fw9u9j9v9kws9p2Twvt949wBXe9tw79o9v9wT9f9v9wT9p9t9p96w9WwvTw94j9h9j9owBSA9tw79o9v9wT9f9v9wT9p9t9p96w9WwvTw94j9h9j9ow9TTv9p9wBZA9tw79o9v9wT9f9v9wT9p9t9p96w9WwvTw94swT9j9o9Sw9t9h9wBhL79iv9rBodWEBCEKDqxQ+f9Q8aDBK/EpE8jU8jJJJJBCJO9rGV8kJJJJBCBHODNALCEFAE0MBABCBrBJ+KJJBC+gEv86BBAVCJDFCBCJDZnJJJB8aDNAItMBAVCJDFADALZ+TJJJB8aKABAEFHRABCEFHEAVALFCBCBCJDAL9rALCfE0eZnJJJB8aAVAVCJDFALZ+TJJJBHWCJ/ABAL9uHODNAItMBAOC/wfBgGOCJDAOCJD6eHdCBHQINAWCJLFCBCJDZnJJJB8aAdAIAQ9rAQAdFAI6eHKADAQAL2FHXDNALtMBAKCSFGOC9wgHMAOCL4CIFCD4HpCBHSAXHZAEHhINDNAKtMBAWASFrBBHoCBHEAZHOINAWCJLFAEFAOrBBGaAo9rGoCETAoCkTCk91CR4786BBAOALFHOAaHoAECEFGEAK9HMBKKDNARAh9rAp6MBAhCBApZnJJJBGcApFHEDNAMtMBCBHxAWCJLFHqINARAE9rCk6MDAWCJLFAxFGlrBDHoCUHODNAlrBEGaAlrBBGkvCfEgMBCBHaAoCfEgMBCBHoDNAlrBIMBAlrBLMBAlrBVMBAlrBOMBAlrBRMBAlrBWMBAlrBdMBAlrBQMBAlrBKMBAlrBXMBAlrBMMBCBHaAlrBpMECBHoCUCBAlrBSeHOKCBHaKDNDNDNDNCLCDCECWAOCZ6GheAkCfEgGkCD0CLvAaCfEgGaCD0FAoCfEgGoCD0FAlrBIGyCD0FAlrBLG8aCD0FAlrBVGeCD0FAlrBOG3CD0FAlrBRG5CD0FAlrBWG8eCD0FAlrBdG8fCD0FAlrBQGACD0FAlrBKGHCD0FAlrBXGGCD0FAlrBMG8jCD0FAlrBpG8kCD0FAlrBSG8lCD0FG8mAOCZAheG8n6GOeAkCp0CWvAaCp0FAoCp0FAyCp0FA8aCp0FAeCp0FA3Cp0FA5Cp0FA8eCp0FA8fCp0FAACp0FAHCp0FAGCp0FA8jCp0FA8kCp0FA8lCp0FA8mA8nAOe6GoeGyCUFpDIEBKAcAxCO4FGaAarBBCDCIAoeAxCI4COgTv86BBAyCW9HMEAEAl8pBB83BBAECWFAlCWF8pBB83BBAECZFHEXDKAcAxCO4FGaAarBBCEAxCI4COgTv86BBKCDCLCWCEAheAOeAoeH8aCUAyTCU7HaCBH5AqHeINAEH3A8aHoAeHECBHOINAErBBGhAaAhAaCfEgGk6eAOCfEgAyTvHOAECEFHEAoCUFGoMBKA3AO86BBAeA8aFHeA3CEFHEA5A8aFG5CZ6MBKDNAlrBBGOAk6MBA3AO86BEA3CDFHEKDNAlrBEGOAk6MBAEAO86BBAECEFHEKDNAlrBDGOAk6MBAEAO86BBAECEFHEKDNAlrBIGOAk6MBAEAO86BBAECEFHEKDNAlrBLGOAk6MBAEAO86BBAECEFHEKDNAlrBVGOAk6MBAEAO86BBAECEFHEKDNAlrBOGOAk6MBAEAO86BBAECEFHEKDNAlrBRGOAk6MBAEAO86BBAECEFHEKDNAlrBWGOAk6MBAEAO86BBAECEFHEKDNAlrBdGOAk6MBAEAO86BBAECEFHEKDNAlrBQGOAk6MBAEAO86BBAECEFHEKDNAlrBKGOAk6MBAEAO86BBAECEFHEKDNAlrBXGOAk6MBAEAO86BBAECEFHEKDNAlrBMGOAk6MBAEAO86BBAECEFHEKDNAlrBpGOAk6MBAEAO86BBAECEFHEKAlrBSGOAk6MBAEAO86BBAECEFHEKAqCZFHqAxCZFGxAM6MBKKAEtMBAZCEFHZAEHhASCEFGSALsMDXEKKCBHOXIKAWAXAKCUFAL2FALZ+TJJJB8aAKAQFGQAI6MBKKCBHOARAE9rCAALALCA6e6MBDNALC8f0MBAECBCAAL9rGOZnJJJBAOFHEKAEAWCJDFALZ+TJJJBALFAB9rHOKAVCJOF8kJJJJBAOK9HEEUAECAAECA0eABCJ/ABAE9uC/wfBgGDCJDADCJD6eGDFCUFAD9uAE2ADCL4CIFCD4ADv2FCEFKMBCBABbDJ+KJJBK/pSEeU8jJJJJBC/AE9rGL8kJJJJBCBHVDNAICI9uGOChFAE0MBABCBYD+E+KJJBGRC/gEv86BBALC/ABFCfECJEZnJJJB8aALCuFGW9CU83IBALC8wFGd9CU83IBALCYFGQ9CU83IBALCAFGK9CU83IBALCkFGX9CU83IBALCZFGM9CU83IBAL9CU83IWAL9CU83IBABAEFC9wFGpABCEFGSAOFGE6HODNAItMBCMCSARCB9KeHZCBHhCBHoCBHaCBHcCBHxINDNAOCEgtMBCBHVXIKCDHqADAaCDTFGOYDBHlAOCWFYDBHkAOCLFYDBHyCBH8aCBHODNDNDNDNDNDNDNDNDNINALC/ABFAOCU7AxFCSgCITFGVYDLHeDNAVYDBGVAl9HMBAeAy9HMBAqC9+FHqXDKDNAVAy9HMBAeAk9HMBAqCUFHqXDKDNAVAk9HMBAeAlsMDKAqCLFHqA8aCZFH8aAOCEFGOCZ9HMBXDKKAqC870MBADAqCIgCX2GVC+E1JJBFYDBAaFCDTFYDBHqADAVCJ1JJBFYDBAaFCDTFYDBHyALADAVC11JJBFYDBAaFCDTFYDBGVAcZ+FJJJBGeCBCSAVAhsGkeAeCB9KAeAZ9IgGleHeAkAlCE7gHkDNARCE9IMBAeCS9HMBAVAVAoAVCEFAosGeeGoCEFsMDCMCSAeeHeKASAeA8av86BBAeCS9HMDAVAo9rGOCETAOC8f917HOINAEAOCfB0CRTAOCfBgv86BBAECEFHEAOCR4GOMBKAVHoXIKADCEAkAhsCETAyAhseCX2GOC11JJBFYDBAaFCDTFYDBHqADAOC+E1JJBFYDBAaFCDTFYDBHeADAOCJ1JJBFYDBAaFCDTFYDBHVCBHlDNARCE9IMBAhtMBAVMBAeCE9HMBAqCD9HMBAW9CU83IBAd9CU83IBAQ9CU83IBAK9CU83IBAX9CU83IBAM9CU83IBAL9CU83IWAL9CU83IBCBHhCEHlKAhAVAhsGOFH8aALAeAcZ+FJJJBHyALAqAcZ+FJJJBHkAyCM0MLAyCEFHyXVKCpHeASAOCLTCpv86BBAVHoKAetMBAeAZ9IMEKALAcCDTFAVbDBAcCEFCSgHcKAhAkFHhALC/ABFAxCITFGOAqbDLAOAVbDBALC/ABFAxCEFCSgGOCITFGeAVbDLAeAybDBAOCEFHVXDKCBCSAeA8asG3eHyA8aA3FH8aKDNDNAkCM0MBAkCEFHkXEKCBCSAqA8asG3eHkA8aA3FH8aKDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNDNAkAyCLTvG3CfEgG5C+qUFp9UISSSSSSSSSSSSSSWSLQMSSSSSSSSSSSSESVSSSSSSSSSSSSSRDSdSSSSSSSSSSSSSSKSSSSSSSSSSSSSSSSOBKC/wEH8eA5pDMKpKC/xEH8eXXKC/yEH8eXKKC/zEH8eXQKC/0EH8eXdKC/1EH8eXWKC/2EH8eXRKC/3EH8eXOKC/4EH8eXVKC/5EH8eXLKC/6EH8eXIKC/7EH8eXDKC/8EH8eXEKCPEH8eKAlAVAh9HvMBASA8e86BBXEKASC9+CUAOe86BBAEA386BBAECEFHEKDNAOMBAVAo9rGOCETAOC8f917HOINAEAOCfB0CRTAOCfBgv86BBAECEFHEAOCR4GOMBKAVHoKDNAyCS9HMBAeAo9rGOCETAOC8f917HOINAEAOCfB0CRTAOCfBgv86BBAECEFHEAOCR4GOMBKAeHoKDNAkCS9HMBAqAo9rGOCETAOC8f917HOINAEAOCfB0CRTAOCfBgv86BBAECEFHEAOCR4GOMBKAqHoKALAcCDTFAVbDBAcCEFCSgHODNDNAypZBEEEEEEEEEEEEEEBEKALAOCDTFAebDBAcCDFCSgHOKDNDNAkpZBEEEEEEEEEEEEEEBEKALAOCDTFAqbDBAOCEFCSgHOKALC/ABFAxCITFGyAVbDLAyAebDBALC/ABFAxCEFCSgCITFGyAebDLAyAqbDBALC/ABFAxCDFCSgCITFGeAqbDLAeAVbDBAxCIFHVAOHcA8aHhKApAE6HOASCEFHSAVCSgHxAaCIFGaAI6MBKKCBHVAOMBAE9C/lm+i/D+Z+g8a83BWAE9CJ/s+d+0/1+M/e/U+GU83BBAEAB9rCZFHVKALC/AEF8kJJJJBAVK+mIEEUCBHIDNABADCUFCSgCDTFYDBAEsMBCEHIABADCpFCSgCDTFYDBAEsMBCDHIABADCMFCSgCDTFYDBAEsMBCIHIABADCXFCSgCDTFYDBAEsMBCLHIABADCKFCSgCDTFYDBAEsMBCVHIABADCQFCSgCDTFYDBAEsMBCOHIABADCdFCSgCDTFYDBAEsMBCRHIABADCWFCSgCDTFYDBAEsMBCWHIABADCRFCSgCDTFYDBAEsMBCdHIABADCOFCSgCDTFYDBAEsMBCQHIABADCVFCSgCDTFYDBAEsMBCKHIABADCLFCSgCDTFYDBAEsMBCXHIABADCIFCSgCDTFYDBAEsMBCMHIABADCDFCSgCDTFYDBAEsMBCpHIABADCEFCSgCDTFYDBAEsMBCSCUABADCSgCDTFYDBAEseSKAIKjEIUCRHDDNINADCEFHIADC96FGLC8f0MEAIHDCEALTAE6MBKKAICR9uCI2CDFABCI9u2ChFKMBCBABbD+E+KJJBK+YDERU8jJJJJBCZ9rHLCBHVDNAICVFAE0MBCBHVABCBrB+E+KJJBC/QEv86BBAL9CB83IWABCEFHOABAEFC98FHRDNAItMBCBHWINDNARAO0MBCBSKAVADAWCDTFYDBGdALCWFAVCDTFYDB9rGEAEC8f91GEFAE7C59K7GVAdALCWFAVCDTFGQYDB9rGEC8f91CETAECDT7vHEINAOAECfB0CRTAECfBgv86BBAOCEFHOAECR4GEMBKAQAdbDBAWCEFGWAI9HMBKKCBHVARAO6MBAOCBbBBAOAB9rCLFHVKAVK86EIUCWHDDNINADCEFHIADC95FGLC8f0MEAIHDCEALTAE6MBKKAICR9uAB2CVFK+yWDEUO99DNAEtMBADCLsHVCUADCETCUFTCU7HDDNDNCUAICUFTCU7+yGOjBBBzmGR+LjBBB9P9dtMBAR+oHIXEKCJJJJ94HIKAD+yHWDNAVMBABCOFHDINALCLFiDBGRjBBBBjBBJzALiDBGd+LAR+LmALCWFiDBGQ+LmGR+VARjBBBB9beGRnHKAdARnHRALCXFiDBHdDNDNAQjBBBB9gtMBAKHQXEKjBBJzAR+L+TGQAQ+MAKjBBBB9geHQjBBJzAK+L+TGKAK+MARjBBBB9geHRKADC9+FAI87EBDNDNjBBBzjBBB+/AdjBBBB9geAdjBBJ+/AdjBBJ+/9geGdjBBJzAdjBBJz9feAWnmGd+LjBBB9P9dtMBAd+oHBXEKCJJJJ94HBKADAB87EBDNDNjBBBzjBBB+/AQjBBBB9geAQjBBJ+/AQjBBJ+/9geGdjBBJzAdjBBJz9feAOnmGd+LjBBB9P9dtMBAd+oHBXEKCJJJJ94HBKADC98FAB87EBDNDNjBBBzjBBB+/ARjBBBB9geARjBBJ+/ARjBBJ+/9geGRjBBJzARjBBJz9feAOnmGR+LjBBB9P9dtMBAR+oHBXEKCJJJJ94HBKADC96FAB87EBALCZFHLADCWFHDAECUFGEMBXDKKABCIFHDINALCLFiDBGRjBBBBjBBJzALiDBGd+LAR+LmALCWFiDBGQ+LmGR+VARjBBBB9beGRnHKAdARnHRALCXFiDBHdDNDNAQjBBBB9gtMBAKHQXEKjBBJzAR+L+TGQAQ+MAKjBBBB9geHQjBBJzAK+L+TGKAK+MARjBBBB9geHRKADCUFAI86BBDNDNjBBBzjBBB+/AdjBBBB9geAdjBBJ+/AdjBBJ+/9geGdjBBJzAdjBBJz9feAWnmGd+LjBBB9P9dtMBAd+oHBXEKCJJJJ94HBKADAB86BBDNDNjBBBzjBBB+/AQjBBBB9geAQjBBJ+/AQjBBJ+/9geGdjBBJzAdjBBJz9feAOnmGd+LjBBB9P9dtMBAd+oHBXEKCJJJJ94HBKADC9+FAB86BBDNDNjBBBzjBBB+/ARjBBBB9geARjBBJ+/ARjBBJ+/9geGRjBBJzARjBBJz9feAOnmGR+LjBBB9P9dtMBAR+oHBXEKCJJJJ94HBKADC99FAB86BBALCZFHLADCLFHDAECUFGEMBKKK/KLLD99EUE99EUDNAEtMBDNDNCUAICUFTCU7+yGVjBBBzmGO+LjBBB9P9dtMBAO+oHIXEKCJJJJ94HIKAIC/8fIgHRINABCOFCICDALCLFiDB+LALiDB+L9eGIALCWFiDB+LALAICDTFiDB+L9eeGIALCXFiDB+LALAICDTFiDB+L9eeGIARv87EBDNDNjBBBzjBBB+/ALAICEFCIgCDTFiDBj/zL+1znjBBJ+/jBBJzALAICDTFiDBjBBBB9deGOnGWjBBBB9geAWjBBJ+/AWjBBJ+/9geGWjBBJzAWjBBJz9feAVnmGW+LjBBB9P9dtMBAW+oHdXEKCJJJJ94HdKABAd87EBDNDNjBBBzjBBB+/AOALAICDFCIgCDTFiDBj/zL+1znnGWjBBBB9geAWjBBJ+/AWjBBJ+/9geGWjBBJzAWjBBJz9feAVnmGW+LjBBB9P9dtMBAW+oHdXEKCJJJJ94HdKABCDFAd87EBDNDNjBBBzjBBB+/AOALAICUFCIgCDTFiDBj/zL+1znnGOjBBBB9geAOjBBJ+/AOjBBJ+/9geGOjBBJzAOjBBJz9feAVnmGO+LjBBB9P9dtMBAO+oHIXEKCJJJJ94HIKABCLFAI87EBABCWFHBALCZFHLAECUFGEMBKKK+tDDWUE998jJJJJBCZ9rGV8kJJJJBDNAEtMBADCD4GOtMBCEAI9rHRAOCDTHWCBHdINC+cUHDALHIAOHQINAIiDBAVCXFZ+YJJJB8aAVYDXGKADADAK9IeHDAICLFHIAQCUFGQMBKARADFGICkTHKCBHDCBAI9rHXAOHIINDNDNALADFiDBGMAXZ+XJJJBjBBBzjBBB+/AMjBBBB9gemGM+LjBBB9P9dtMBAM+oHQXEKCJJJJ94HQKABADFAQCfffRgAKvbDBADCLFHDAICUFGIMBKABAWFHBALAWFHLAdCEFGdAE9HMBKKAVCZF8kJJJJBK+iMDlUI998jJJJJBC+QD9rGV8kJJJJBAVC+oEFCBC/kBZnJJJB8aCBHODNADtMBCBHOAItMBDNABAE9HMBAVCUADCDTGRADCffffI0eCBYD/4+JJJBhJJJJBBGEbD+oEAVCEbD1DAEABARZ+TJJJB8aKAVC+YEFCWFCBbDBAV9CB83I+YEAVC+YEFAEADAIAVC+oEFZ+OJJJBCUAICDTGWAICffffI0eGdCBYD/4+JJJBhJJJJBBHRAVC+oEFAVYD1DGOCDTFARbDBAVAOCEFGQbD1DARAVYD+YEGKAWZ+TJJJBHXAVC+oEFAQCDTFADCI9uGMCBYD/4+JJJBhJJJJBBGRbDBAVAOCDFGWbD1DARCBAMZnJJJBHpAVC+oEFAWCDTFAdCBYD/4+JJJBhJJJJBBGSbDBAVAOCIFGQbD1DAXHRASHWINAWALiDBALARYDBGdCWAdCW6eCDTFC/EBFiDBmuDBARCLFHRAWCLFHWAICUFGIMBKCBHIAVC+oEFAQCDTFCUAMCDTADCffff970eCBYD/4+JJJBhJJJJBBGQbDBAVAOCLFGObD1DDNADCI6MBAEHRAQHWINAWASARYDBCDTFiDBASARCLFYDBCDTFiDBmASARCWFYDBCDTFiDBmuDBARCXFHRAWCLFHWAICEFGIAM6MBKKAVC/MBFHZAVYD+cEHhAVYD+gEHoAVHRCBHdCBHWCBHaCEHcINARHxAEAWCX2FGqCWFGlYDBHDAqYDBHkABAaCX2FGRCLFAqCLFGyYDBG8abDBARAkbDBARCWFADbDBApAWFCE86BBAZADbDWAZA8abDLAZAkbDBAQAWCDTFCBbDBCIHeDNAdtMBAxHRINDNARYDBGIADsMBAIAksMBAIA8asMBAZAeCDTFAIbDBAeCEFHeKARCLFHRAdCUFGdMBKKAXAkCDTFGRARYDBCUFbDBAXA8aCDTFGRARYDBCUFbDBAXADCDTFGRARYDBCUFbDBAoAhAqYDBCDTGIFYDBCDTFGkHRAKAIFGDYDBGdHIDNAdtMBDNINARYDBAWsMEARCLFHRAICUFGItMDXBKKARAdCDTAkFC98FYDBbDBADADYDBCUFbDBKAoAhAyYDBCDTGIFYDBCDTFGkHRAKAIFGDYDBGdHIDNAdtMBDNINARYDBAWsMEARCLFHRAICUFGIMBXDKKARAdCDTAkFC98FYDBbDBADADYDBCUFbDBKDNAKAlYDBCDTGRFGDYDBGdtMBAoAhARFYDBCDTFGkHRAdHIDNINARYDBAWsMEARCLFHRAICUFGIMBXDKKARAdCDTAkFC98FYDBbDBADADYDBCUFbDBKDNDNAetMBCUHWjBBBBH3CBHRINASAZARCDTFYDBCDTGIFGdiDBH5AdALCBARCEFGkARCS0eCDTFiDBALAXAIFYDBGRCWARCW6eCDTFC/EBFiDBmG8euDBDNAKAIFYDBGdtMBA8eA5+TH8eAoAhAIFYDBCDTFHRAdCDTHIINAQARYDBGdCDTFGDA8eADiDBmG5uDBA5A3A3A59dGDeH3AdAWADeHWARCLFHRAIC98FGIMBKKAkHRAkAe9HMBKAWCU9HMEKAcAM9PMDINDNApAcFrBBMBAcHWXDKAMAcCEFGc9HMBXIKKAaCEFHaAeCZAeCZ6eHdAZHRAxHZAWCU9HMBKKAOCDTAVC+oEFFC98FHRDNINAOtMEARYDBCBYD/0+JJJBh+BJJJBBARC98FHRAOCUFHOXBKKAVC+QDF8kJJJJBK/iLEVUCUAICDTGVAICffffI0eGOCBYD/4+JJJBhJJJJBBHRALALYD9gGWCDTFARbDBALAWCEFbD9gABARbDBAOCBYD/4+JJJBhJJJJBBHRALALYD9gGOCDTFARbDBALAOCEFbD9gABARbDLCUADCDTADCffffI0eCBYD/4+JJJBhJJJJBBHRALALYD9gGOCDTFARbDBALAOCEFbD9gABARbDWABYDBCBAVZnJJJB8aADCI9uHdDNADtMBABYDBHOAEHLADHRINAOALYDBCDTFGVAVYDBCEFbDBALCLFHLARCUFGRMBKKDNAItMBABYDBHLABYDLHRCBHVAIHOINARAVbDBARCLFHRALYDBAVFHVALCLFHLAOCUFGOMBKKDNADCI6MBABYDLHRABYDWHVCBHLINAECWFYDBHOAECLFYDBHDARAEYDBCDTFGWAWYDBGWCEFbDBAVAWCDTFALbDBARADCDTFGDADYDBGDCEFbDBAVADCDTFALbDBARAOCDTFGOAOYDBGOCEFbDBAVAOCDTFALbDBAECXFHEALCEFGLAd6MBKKDNAItMBABYDLHEABYDBHLINAEAEYDBALYDB9rbDBALCLFHLAECLFHEAICUFGIMBKKKqBABAEADAIC+k1JJBZ+NJJJBKqBABAEADAIC+M+JJJBZ+NJJJBK9dEEUABCfEAICDTZnJJJBHLCBHIDNADtMBINDNALAEYDBCDTFGBYDBCU9HMBABAIbDBAICEFHIKAECLFHEADCUFGDMBKKAIK9TEIUCBCBYD/8+JJJBGEABCIFC98gFGBbD/8+JJJBDNDNABzBCZTGD9NMBCUHIABAD9rCffIFCZ4NBCUsMEKAEHIKAIK/lEEEUDNDNAEABvCIgtMBABHIXEKDNDNADCZ9PMBABHIXEKABHIINAIAEYDBbDBAICLFAECLFYDBbDBAICWFAECWFYDBbDBAICXFAECXFYDBbDBAICZFHIAECZFHEADC9wFGDCS0MBKKADCL6MBINAIAEYDBbDBAECLFHEAICLFHIADC98FGDCI0MBKKDNADtMBINAIAErBB86BBAICEFHIAECEFHEADCUFGDMBKKABK/AEEDUDNDNABCIgtMBABHIXEKAECfEgC+B+C+EW2HLDNDNADCZ9PMBABHIXEKABHIINAIALbDBAICXFALbDBAICWFALbDBAICLFALbDBAICZFHIADC9wFGDCS0MBKKADCL6MBINAIALbDBAICLFHIADC98FGDCI0MBKKDNADtMBINAIAE86BBAICEFHIADCUFGDMBKKABK9TEIUCBCBYD/8+JJJBGEABCIFC98gFGBbD/8+JJJBDNDNABzBCZTGD9NMBCUHIABAD9rCffIFCZ4NBCUsMEKAEHIKAIK9+EIUzBHEDNDNCBYD/8+JJJBGDAECZTGI9NMBCUHEADAI9rCffIFCZ4NBCUsMEKADHEKCBABAE9rCIFC98gCBYD/8+JJJBFGDbD/8+JJJBDNADzBCZTGE9NMBADAE9rCffIFCZ4NB8aKKXBABAEZ+ZJJJBK+BEEIUDNAB+8GDCl4GICfEgGLCfEsMBDNALMBDNABjBBBB9cMBAECBbDBABSKABjBBJ9fnAEZ+YJJJBHBAEAEYDBCNFbDBABSKAEAICfEgC+CUFbDBADCfff+D94gCJJJ/4Iv++HBKABK+gEBDNDNAECJE9IMBABjBBBUnHBDNAECfE9OMBAEC+BUFHEXDKABjBBBUnHBAECPDAECPD9IeC+C9+FHEXEKAEC+BU9KMBABjBBJXnHBDNAEC+b9+9MMBAEC/mBFHEXEKABjBBJXnHBAEC+299AEC+2999KeC/MEFHEKABAEClTCJJJ/8IF++nKK+ODDBCJWK/0EBBBBEBBBDBBBEBBBDBBBBBBBDBBBBBBBEBBBBBBB+L29Hz/69+9Kz/n/76z/RG97z/Z/O9Xz8j/b85z/+/U9Yz/B/K9hz+2/z9dz9E+L9Mz59a8kz+R/t3z+a+Zyz79ohz/J4++8++y+d9v8+BBBB9S+49+z8r+Hbz9m9m/m8+l/Z/O8+/8+pg89Q/X+j878r+Hq8++m+b/E87BBBBBBJzBBJzBBJz+e/v/n8++y+dSz9I/h/68+XD/r8+/H0838+/w+nOzBBBB+wv9o8+UF888+9I/h/68+9C9g/l89/N/M9M89/d8kO8+BBBBF+8Tz9M836zs+2azl/Zpzz818ez9E+LXz/u98f8+819e/68+BC/0dKXEBBBDBBBZwBB",t=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var n,i=WebAssembly.instantiate(o(e),{}).then(function(d){n=d.instance,n.exports.__wasm_call_ctors(),n.exports.meshopt_encodeVertexVersion(0),n.exports.meshopt_encodeIndexVersion(1)});function o(d){for(var p=new Uint8Array(d.length),g=0;g<d.length;++g){var m=d.charCodeAt(g);p[g]=m>96?m-71:m>64?m-65:m>47?m+4:m>46?63:62}for(var C=0,g=0;g<d.length;++g)p[C++]=p[g]<60?t[p[g]]:(p[g]-60)*64+p[++g];return p.buffer.slice(0,C)}function r(d){if(!d)throw new Error("Assertion failed")}function s(d,p,g){var m=n.exports.sbrk,C=m(d.length*4),x=m(p*4),A=new Uint8Array(n.exports.memory.buffer),b=new Uint8Array(d.buffer,d.byteOffset,d.byteLength);A.set(b,C),g&&g(C,C,d.length,p);var E=n.exports.meshopt_optimizeVertexFetchRemap(x,C,d.length,p);A=new Uint8Array(n.exports.memory.buffer);var S=new Uint32Array(p);new Uint8Array(S.buffer).set(A.subarray(x,x+p*4)),b.set(A.subarray(C,C+d.length*4)),m(C-m(0));for(var v=0;v<d.length;++v)d[v]=S[d[v]];return[S,E]}function a(d,p,g,m,C){var x=n.exports.sbrk,A=x(p),b=x(m*C),E=new Uint8Array(n.exports.memory.buffer);E.set(new Uint8Array(g.buffer,g.byteOffset,g.byteLength),b);var S=d(A,p,b,m,C),v=new Uint8Array(S);return v.set(E.subarray(A,A+S)),x(A-x(0)),v}function c(d){for(var p=0,g=0;g<d.length;++g){var m=d[g];p=p<m?m:p}return p}function u(d,p){if(r(p==2||p==4),p==4)return new Uint32Array(d.buffer,d.byteOffset,d.byteLength/4);var g=new Uint16Array(d.buffer,d.byteOffset,d.byteLength/2);return new Uint32Array(g)}function f(d,p,g,m,C,x){var A=n.exports.sbrk,b=A(g*m),E=A(g*x),S=new Uint8Array(n.exports.memory.buffer);S.set(new Uint8Array(p.buffer,p.byteOffset,p.byteLength),E),d(b,g,m,C,E);var v=new Uint8Array(g*m);return v.set(S.subarray(b,b+g*m)),A(b-A(0)),v}return{ready:i,supported:!0,reorderMesh:function(d,p,g){var m=p?g?n.exports.meshopt_optimizeVertexCacheStrip:n.exports.meshopt_optimizeVertexCache:void 0;return s(d,c(d)+1,m)},encodeVertexBuffer:function(d,p,g){r(g>0&&g<=256),r(g%4==0);var m=n.exports.meshopt_encodeVertexBufferBound(p,g);return a(n.exports.meshopt_encodeVertexBuffer,m,d,p,g)},encodeIndexBuffer:function(d,p,g){r(g==2||g==4),r(p%3==0);var m=u(d,g),C=n.exports.meshopt_encodeIndexBufferBound(p,c(m)+1);return a(n.exports.meshopt_encodeIndexBuffer,C,m,p,4)},encodeIndexSequence:function(d,p,g){r(g==2||g==4);var m=u(d,g),C=n.exports.meshopt_encodeIndexSequenceBound(p,c(m)+1);return a(n.exports.meshopt_encodeIndexSequence,C,m,p,4)},encodeGltfBuffer:function(d,p,g,m){var C={ATTRIBUTES:this.encodeVertexBuffer,TRIANGLES:this.encodeIndexBuffer,INDICES:this.encodeIndexSequence};return r(C[m]),C[m](d,p,g)},encodeFilterOct:function(d,p,g,m){return r(g==4||g==8),r(m>=1&&m<=16),f(n.exports.meshopt_encodeFilterOct,d,p,g,m,4)},encodeFilterQuat:function(d,p,g,m){return r(g==8),r(m>=4&&m<=16),f(n.exports.meshopt_encodeFilterQuat,d,p,g,m,4)},encodeFilterExp:function(d,p,g,m){return r(g>0&&g%4==0),r(m>=1&&m<=24),f(n.exports.meshopt_encodeFilterExp,d,p,g,m,g/4)}}}();typeof $S=="object"&&typeof t6=="object"?t6.exports=FB:typeof define=="function"&&define.amd?define([],function(){return FB}):typeof $S=="object"?$S.MeshoptEncoder=FB:(typeof self<"u"?self:$S).MeshoptEncoder=FB});var yoe=Vn((JS,n6)=>{var VB=function(){"use strict";var e="B9h79tEBBBE8fV9gBB9gVUUUUUEU9gIUUUB9gEUEU9gIUUUEUIKQBEEEDDDILLLVE9wEEEVIEBEOWEUEC+Q/IEKR/LEdO9tw9t9vv95DBh9f9f939h79t9f9j9h229f9jT9vv7BB8a9tw79o9v9wT9f9kw9j9v9kw9WwvTw949C919m9mwvBEy9tw79o9v9wT9f9kw9j9v9kw69u9kw949C919m9mwvBDe9tw79o9v9wT9f9kw9j9v9kw69u9kw949Twg91w9u9jwBIl9tw79o9v9wT9f9kw9j9v9kws9p2Twv9P9jTBLk9tw79o9v9wT9f9kw9j9v9kws9p2Twv9R919hTBVl9tw79o9v9wT9f9kw9j9v9kws9p2Twvt949wBOL79iv9rBRQ+x8yQDBK/qMEZU8jJJJJBCJ/EB9rGV8kJJJJBC9+HODNADCEFAL0MBCUHOAIrBBC+gE9HMBAVAIALFGRAD9rADZ1JJJBHWCJ/ABAD9uC/wfBgGOCJDAOCJD6eHdAICEFHLCBHQDNINAQAE9PMEAdAEAQ9rAQAdFAE6eHKDNDNADtMBAKCSFGOC9wgHXAOCL4CIFCD4HMAWCJDFHpCBHSALHZINDNARAZ9rAM9PMBCBHLXIKAZAMFHLDNAXtMBCBHhCBHIINDNARAL9rCk9PMBCBHLXVKAWCJ/CBFAIFHODNDNDNDNDNAZAICO4FrBBAhCOg4CIgpLBEDIBKAO9CB83IBAOCWF9CB83IBXIKAOALrBLALrBBGoCO4GaAaCIsGae86BBAOCEFALCLFAaFGarBBAoCL4CIgGcAcCIsGce86BBAOCDFAaAcFGarBBAoCD4CIgGcAcCIsGce86BBAOCIFAaAcFGarBBAoCIgGoAoCIsGoe86BBAOCLFAaAoFGarBBALrBEGoCO4GcAcCIsGce86BBAOCVFAaAcFGarBBAoCL4CIgGcAcCIsGce86BBAOCOFAaAcFGarBBAoCD4CIgGcAcCIsGce86BBAOCRFAaAcFGarBBAoCIgGoAoCIsGoe86BBAOCWFAaAoFGarBBALrBDGoCO4GcAcCIsGce86BBAOCdFAaAcFGarBBAoCL4CIgGcAcCIsGce86BBAOCQFAaAcFGarBBAoCD4CIgGcAcCIsGce86BBAOCKFAaAcFGarBBAoCIgGoAoCIsGoe86BBAOCXFAaAoFGorBBALrBIGLCO4GaAaCIsGae86BBAOCMFAoAaFGorBBALCL4CIgGaAaCIsGae86BBAOCpFAoAaFGorBBALCD4CIgGaAaCIsGae86BBAOCSFAoAaFGOrBBALCIgGLALCIsGLe86BBAOALFHLXDKAOALrBWALrBBGoCL4GaAaCSsGae86BBAOCEFALCWFAaFGarBBAoCSgGoAoCSsGoe86BBAOCDFAaAoFGorBBALrBEGaCL4GcAcCSsGce86BBAOCIFAoAcFGorBBAaCSgGaAaCSsGae86BBAOCLFAoAaFGorBBALrBDGaCL4GcAcCSsGce86BBAOCVFAoAcFGorBBAaCSgGaAaCSsGae86BBAOCOFAoAaFGorBBALrBIGaCL4GcAcCSsGce86BBAOCRFAoAcFGorBBAaCSgGaAaCSsGae86BBAOCWFAoAaFGorBBALrBLGaCL4GcAcCSsGce86BBAOCdFAoAcFGorBBAaCSgGaAaCSsGae86BBAOCQFAoAaFGorBBALrBVGaCL4GcAcCSsGce86BBAOCKFAoAcFGorBBAaCSgGaAaCSsGae86BBAOCXFAoAaFGorBBALrBOGaCL4GcAcCSsGce86BBAOCMFAoAcFGorBBAaCSgGaAaCSsGae86BBAOCpFAoAaFGorBBALrBRGLCL4GaAaCSsGae86BBAOCSFAoAaFGOrBBALCSgGLALCSsGLe86BBAOALFHLXEKAOAL8pBB83BBAOCWFALCWF8pBB83BBALCZFHLKAhCDFHhAICZFGIAX6MBKKDNALMBCBHLXIKDNAKtMBAWASFrBBHhCBHOApHIINAIAWCJ/CBFAOFrBBGZCE4CBAZCEg9r7AhFGh86BBAIADFHIAOCEFGOAK9HMBKKApCEFHpALHZASCEFGSAD9HMBKKABAQAD2FAWCJDFAKAD2Z1JJJB8aAWAWCJDFAKCUFAD2FADZ1JJJB8aKAKCBALeAQFHQALMBKC9+HOXEKCBC99ARAL9rADCAADCA0eseHOKAVCJ/EBF8kJJJJBAOK+OoEZU8jJJJJBC/AE9rGV8kJJJJBC9+HODNAECI9uGRChFAL0MBCUHOAIrBBGWC/wEgC/gE9HMBAWCSgGdCE0MBAVC/ABFCfECJEZ+JJJJB8aAVCuF9CU83IBAVC8wF9CU83IBAVCYF9CU83IBAVCAF9CU83IBAVCkF9CU83IBAVCZF9CU83IBAV9CU83IWAV9CU83IBAIALFC9wFHQAICEFGWARFHKDNAEtMBCMCSAdCEseHXABHICBHdCBHMCBHpCBHLCBHOINDNAKAQ9NMBC9+HOXIKDNDNAWrBBGRC/vE0MBAVC/ABFARCL4CU7AOFCSgCITFGSYDLHZASYDBHhDNARCSgGSAX9PMBAVARCU7ALFCSgCDTFYDBAdASeHRAStHSDNDNADCD9HMBABAh87EBABCLFAR87EBABCDFAZ87EBXEKAIAhbDBAICWFARbDBAICLFAZbDBKAdASFHdAVC/ABFAOCITFGoARbDBAoAZbDLAVALCDTFARbDBAVC/ABFAOCEFCSgGOCITFGZAhbDBAZARbDLALASFHLAOCEFHOXDKDNDNASCSsMBAMASFASC987FCEFHMXEKAK8sBBGSCfEgHRDNDNASCU9MMBAKCEFHKXEKAK8sBEGSCfBgCRTARCfBgvHRDNASCU9MMBAKCDFHKXEKAK8sBDGSCfBgCpTARvHRDNASCU9MMBAKCIFHKXEKAK8sBIGSCfBgCxTARvHRDNASCU9MMBAKCLFHKXEKAKrBLC3TARvHRAKCVFHKKARCE4CBARCEg9r7AMFHMKDNDNADCD9HMBABAh87EBABCLFAM87EBABCDFAZ87EBXEKAIAhbDBAICWFAMbDBAICLFAZbDBKAVC/ABFAOCITFGRAMbDBARAZbDLAVALCDTFAMbDBAVC/ABFAOCEFCSgGOCITFGRAhbDBARAMbDLALCEFHLAOCEFHOXEKDNARCPE0MBAVALAQARCSgFrBBGSCL4GZ9rCSgCDTFYDBAdCEFGhAZeHRAVALAS9rCSgCDTFYDBAhAZtGoFGhASCSgGZeHSAZtHZDNDNADCD9HMBABAd87EBABCLFAS87EBABCDFAR87EBXEKAIAdbDBAICWFASbDBAICLFARbDBKAVALCDTFAdbDBAVC/ABFAOCITFGaARbDBAaAdbDLAVALCEFGLCSgCDTFARbDBAVC/ABFAOCEFCSgCITFGaASbDBAaARbDLAVALAoFCSgGLCDTFASbDBAVC/ABFAOCDFCSgGOCITFGRAdbDBARASbDLAOCEFHOALAZFHLAhAZFHdXEKAdCBAKrBBGaeGZARC/+EsGcFHRAaCSgHhDNDNAaCL4GoMBARCEFHSXEKARHSAVALAo9rCSgCDTFYDBHRKDNDNAhMBASCEFHdXEKASHdAVALAa9rCSgCDTFYDBHSKDNDNActMBAKCEFHaXEKAK8sBEGaCfEgHZDNDNAaCU9MMBAKCDFHaXEKAK8sBDGaCfBgCRTAZCfBgvHZDNAaCU9MMBAKCIFHaXEKAK8sBIGaCfBgCpTAZvHZDNAaCU9MMBAKCLFHaXEKAK8sBLGaCfBgCxTAZvHZDNAaCU9MMBAKCVFHaXEKAKCOFHaAKrBVC3TAZvHZKAZCE4CBAZCEg9r7AMFGMHZKDNDNAoCSsMBAaHcXEKAa8sBBGKCfEgHRDNDNAKCU9MMBAaCEFHcXEKAa8sBEGKCfBgCRTARCfBgvHRDNAKCU9MMBAaCDFHcXEKAa8sBDGKCfBgCpTARvHRDNAKCU9MMBAaCIFHcXEKAa8sBIGKCfBgCxTARvHRDNAKCU9MMBAaCLFHcXEKAaCVFHcAarBLC3TARvHRKARCE4CBARCEg9r7AMFGMHRKDNDNAhCSsMBAcHKXEKAc8sBBGKCfEgHSDNDNAKCU9MMBAcCEFHKXEKAc8sBEGKCfBgCRTASCfBgvHSDNAKCU9MMBAcCDFHKXEKAc8sBDGKCfBgCpTASvHSDNAKCU9MMBAcCIFHKXEKAc8sBIGKCfBgCxTASvHSDNAKCU9MMBAcCLFHKXEKAcCVFHKAcrBLC3TASvHSKASCE4CBASCEg9r7AMFGMHSKDNDNADCD9HMBABAZ87EBABCLFAS87EBABCDFAR87EBXEKAIAZbDBAICWFASbDBAICLFARbDBKAVC/ABFAOCITFGaARbDBAaAZbDLAVALCDTFAZbDBAVC/ABFAOCEFCSgCITFGaASbDBAaARbDLAVALCEFGLCSgCDTFARbDBAVC/ABFAOCDFCSgCITFGRAZbDBARASbDLAVALAotAoCSsvFGLCSgCDTFASbDBALAhtAhCSsvFHLAOCIFHOKAWCEFHWABCOFHBAICXFHIAOCSgHOALCSgHLApCIFGpAE6MBKKCBC99AKAQseHOKAVC/AEF8kJJJJBAOK/tLEDU8jJJJJBCZ9rHVC9+HODNAECVFAL0MBCUHOAIrBBC/+EgC/QE9HMBAV9CB83IWAICEFHOAIALFC98FHIDNAEtMBDNADCDsMBINDNAOAI6MBC9+SKAO8sBBGDCfEgHLDNDNADCU9MMBAOCEFHOXEKAO8sBEGDCfBgCRTALCfBgvHLDNADCU9MMBAOCDFHOXEKAO8sBDGDCfBgCpTALvHLDNADCU9MMBAOCIFHOXEKAO8sBIGDCfBgCxTALvHLDNADCU9MMBAOCLFHOXEKAOrBLC3TALvHLAOCVFHOKAVCWFALCEgCDTvGDALCD4CBALCE4CEg9r7ADYDBFGLbDBABALbDBABCLFHBAECUFGEMBXDKKINDNAOAI6MBC9+SKAO8sBBGDCfEgHLDNDNADCU9MMBAOCEFHOXEKAO8sBEGDCfBgCRTALCfBgvHLDNADCU9MMBAOCDFHOXEKAO8sBDGDCfBgCpTALvHLDNADCU9MMBAOCIFHOXEKAO8sBIGDCfBgCxTALvHLDNADCU9MMBAOCLFHOXEKAOrBLC3TALvHLAOCVFHOKABALCD4CBALCE4CEg9r7AVCWFALCEgCDTvGLYDBFGD87EBALADbDBABCDFHBAECUFGEMBKKCBC99AOAIseHOKAOK+lVOEUE99DUD99EUD99DNDNADCL9HMBAEtMEINDNDNjBBBzjBBB+/ABCDFGD8sBB+yAB8sBBGI+yGL+L+TABCEFGV8sBBGO+yGR+L+TGWjBBBB9gGdeAWjBB/+9CAWAWnjBBBBAWAdeGQAQ+MGKAICU9KeALmGLALnAQAKAOCU9KeARmGQAQnmm+R+VGRnmGW+LjBBB9P9dtMBAW+oHIXEKCJJJJ94HIKADAI86BBDNDNjBBBzjBBB+/AQjBBBB9geAQARnmGW+LjBBB9P9dtMBAW+oHDXEKCJJJJ94HDKAVAD86BBDNDNjBBBzjBBB+/ALjBBBB9geALARnmGW+LjBBB9P9dtMBAW+oHDXEKCJJJJ94HDKABAD86BBABCLFHBAECUFGEMBXDKKAEtMBINDNDNjBBBzjBBB+/ABCLFGD8uEB+yAB8uEBGI+yGL+L+TABCDFGV8uEBGO+yGR+L+TGWjBBBB9gGdeAWjB/+fsAWAWnjBBBBAWAdeGQAQ+MGKAICU9KeALmGLALnAQAKAOCU9KeARmGQAQnmm+R+VGRnmGW+LjBBB9P9dtMBAW+oHIXEKCJJJJ94HIKADAI87EBDNDNjBBBzjBBB+/AQjBBBB9geAQARnmGW+LjBBB9P9dtMBAW+oHDXEKCJJJJ94HDKAVAD87EBDNDNjBBBzjBBB+/ALjBBBB9geALARnmGW+LjBBB9P9dtMBAW+oHDXEKCJJJJ94HDKABAD87EBABCWFHBAECUFGEMBKKK/SILIUI99IUE99DNAEtMBCBHIABHLINDNDNj/zL81zALCOF8uEBGVCIv+y+VGOAL8uEB+ynGRjB/+fsnjBBBzjBBB+/ARjBBBB9gemGW+LjBBB9P9dtMBAW+oHdXEKCJJJJ94HdKALCLF8uEBHQALCDF8uEBHKABAVCEFCIgAIvCETFAd87EBDNDNAOAK+ynGWjB/+fsnjBBBzjBBB+/AWjBBBB9gemGX+LjBBB9P9dtMBAX+oHKXEKCJJJJ94HKKABAVCDFCIgAIvCETFAK87EBDNDNAOAQ+ynGOjB/+fsnjBBBzjBBB+/AOjBBBB9gemGX+LjBBB9P9dtMBAX+oHQXEKCJJJJ94HQKABAVCUFCIgAIvCETFAQ87EBDNDNjBBJzARARn+TAWAWn+TAOAOn+TGRjBBBBARjBBBB9ge+RjB/+fsnjBBBzmGR+LjBBB9P9dtMBAR+oHQXEKCJJJJ94HQKABAVCIgAIvCETFAQ87EBALCWFHLAICLFHIAECUFGEMBKKK6BDNADCD4AE2GEtMBINABABYDBGDCWTCW91+yADCk91ClTCJJJ/8IF++nuDBABCLFHBAECUFGEMBKKK9TEIUCBCBYDJ1JJBGEABCIFC98gFGBbDJ1JJBDNDNABzBCZTGD9NMBCUHIABAD9rCffIFCZ4NBCUsMEKAEHIKAIK/lEEEUDNDNAEABvCIgtMBABHIXEKDNDNADCZ9PMBABHIXEKABHIINAIAEYDBbDBAICLFAECLFYDBbDBAICWFAECWFYDBbDBAICXFAECXFYDBbDBAICZFHIAECZFHEADC9wFGDCS0MBKKADCL6MBINAIAEYDBbDBAECLFHEAICLFHIADC98FGDCI0MBKKDNADtMBINAIAErBB86BBAICEFHIAECEFHEADCUFGDMBKKABK/AEEDUDNDNABCIgtMBABHIXEKAECfEgC+B+C+EW2HLDNDNADCZ9PMBABHIXEKABHIINAIALbDBAICXFALbDBAICWFALbDBAICLFALbDBAICZFHIADC9wFGDCS0MBKKADCL6MBINAIALbDBAICLFHIADC98FGDCI0MBKKDNADtMBINAIAE86BBAICEFHIADCUFGDMBKKABKKKEBCJWKLZ9kBB",t="B9h79tEBBBE5V9gBB9gVUUUUUEU9gIUUUB9gDUUB9gEUEUIMXBBEBEEDIDIDLLVE9wEEEVIEBEOWEUEC+Q/aEKR/LEdO9tw9t9vv95DBh9f9f939h79t9f9j9h229f9jT9vv7BB8a9tw79o9v9wT9f9kw9j9v9kw9WwvTw949C919m9mwvBDy9tw79o9v9wT9f9kw9j9v9kw69u9kw949C919m9mwvBLe9tw79o9v9wT9f9kw9j9v9kw69u9kw949Twg91w9u9jwBVl9tw79o9v9wT9f9kw9j9v9kws9p2Twv9P9jTBOk9tw79o9v9wT9f9kw9j9v9kws9p2Twv9R919hTBWl9tw79o9v9wT9f9kw9j9v9kws9p2Twvt949wBQL79iv9rBKQ/j6XLBZIK9+EVU8jJJJJBCZ9rHBCBHEINCBHDCBHIINABCWFADFAICJUAEAD4CEgGLe86BBAIALFHIADCEFGDCW9HMBKAEC+Q+YJJBFAI86BBAECITC+Q1JJBFAB8pIW83IBAECEFGECJD9HMBKK1HLSUD97EUO978jJJJJBCJ/KB9rGV8kJJJJBC9+HODNADCEFAL0MBCUHOAIrBBC+gE9HMBAVAIALFGRAD9rAD/8QBBCJ/ABAD9uC/wfBgGOCJDAOCJD6eHWAICEFHOCBHdDNINAdAE9PMEAWAEAd9rAdAWFAE6eHQDNDNADtMBAQCSFGLC9wgGKCI2HXAKCETHMALCL4CIFCD4HpCBHSINAOHZCBHhDNINDNARAZ9rAp9PMBCBHOXVKAVCJ/CBFAhAK2FHoAZApFHOCBHIDNAKC/AB6MBARAO9rC/gB6MBCBHLINAoALFHIDNDNDNDNDNAZALCO4FrBBGaCIgpLBEDIBKAICBPhPKLBXIKAIAOPBBLAOPBBBGcCLP+MEAcPMBZEhDoIaLcVxOqRlGcCDP+MEAcPMBZEhDoIaLcVxOqRlC+D+G+MkPhP9OGxCIPSP8jGcP5B9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBAqC+Q+YJJBFPBBBGlAlPMBBBBBBBBBBBBBBBBAcP5E9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAxAcP9SPKLBAOCLFAlPqBFAqC+Q+YJJBFrBBFHOXDKAIAOPBBWAOPBBBGcCLP+MEAcPMBZEhDoIaLcVxOqRlC+P+e+8/4BPhP9OGxCSPSP8jGcP5B9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBAqC+Q+YJJBFPBBBGlAlPMBBBBBBBBBBBBBBBBAcP5E9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAxAcP9SPKLBAOCWFAlPqBFAqC+Q+YJJBFrBBFHOXEKAIAOPBBBPKLBAOCZFHOKDNDNDNDNDNAaCD4CIgpLBEDIBKAICBPhPKLZXIKAIAOPBBLAOPBBBGcCLP+MEAcPMBZEhDoIaLcVxOqRlGcCDP+MEAcPMBZEhDoIaLcVxOqRlC+D+G+MkPhP9OGxCIPSP8jGcP5B9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBAqC+Q+YJJBFPBBBGlAlPMBBBBBBBBBBBBBBBBAcP5E9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAxAcP9SPKLZAOCLFAlPqBFAqC+Q+YJJBFrBBFHOXDKAIAOPBBWAOPBBBGcCLP+MEAcPMBZEhDoIaLcVxOqRlC+P+e+8/4BPhP9OGxCSPSP8jGcP5B9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBAqC+Q+YJJBFPBBBGlAlPMBBBBBBBBBBBBBBBBAcP5E9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAxAcP9SPKLZAOCWFAlPqBFAqC+Q+YJJBFrBBFHOXEKAIAOPBBBPKLZAOCZFHOKDNDNDNDNDNAaCL4CIgpLBEDIBKAICBPhPKLAXIKAIAOPBBLAOPBBBGcCLP+MEAcPMBZEhDoIaLcVxOqRlGcCDP+MEAcPMBZEhDoIaLcVxOqRlC+D+G+MkPhP9OGxCIPSP8jGcP5B9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBAqC+Q+YJJBFPBBBGlAlPMBBBBBBBBBBBBBBBBAcP5E9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAxAcP9SPKLAAOCLFAlPqBFAqC+Q+YJJBFrBBFHOXDKAIAOPBBWAOPBBBGcCLP+MEAcPMBZEhDoIaLcVxOqRlC+P+e+8/4BPhP9OGxCSPSP8jGcP5B9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBAqC+Q+YJJBFPBBBGlAlPMBBBBBBBBBBBBBBBBAcP5E9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAxAcP9SPKLAAOCWFAlPqBFAqC+Q+YJJBFrBBFHOXEKAIAOPBBBPKLAAOCZFHOKDNDNDNDNDNAaCO4pLBEDIBKAICBPhPKL8wXIKAIAOPBBLAOPBBBGcCLP+MEAcPMBZEhDoIaLcVxOqRlGcCDP+MEAcPMBZEhDoIaLcVxOqRlC+D+G+MkPhP9OGxCIPSP8jGcP5B9CJf/8/4/w/g/AB9+9Cu1+nGaCITC+Q1JJBFPBIBAaC+Q+YJJBFPBBBGlAlPMBBBBBBBBBBBBBBBBAcP5E9CJf/8/4/w/g/AB9+9Cu1+nGaCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAxAcP9SPKL8wAOCLFAlPqBFAaC+Q+YJJBFrBBFHOXDKAIAOPBBWAOPBBBGcCLP+MEAcPMBZEhDoIaLcVxOqRlC+P+e+8/4BPhP9OGxCSPSP8jGcP5B9CJf/8/4/w/g/AB9+9Cu1+nGaCITC+Q1JJBFPBIBAaC+Q+YJJBFPBBBGlAlPMBBBBBBBBBBBBBBBBAcP5E9CJf/8/4/w/g/AB9+9Cu1+nGaCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAxAcP9SPKL8wAOCWFAlPqBFAaC+Q+YJJBFrBBFHOXEKAIAOPBBBPKL8wAOCZFHOKALC/ABFHIALCJEFAK0MEAIHLARAO9rC/fB0MBKKDNAIAK9PMBAICI4HLINDNARAO9rCk9PMBCBHOXRKAoAIFHaDNDNDNDNDNAZAICO4FrBBALCOg4CIgpLBEDIBKAaCBPhPKLBXIKAaAOPBBLAOPBBBGcCLP+MEAcPMBZEhDoIaLcVxOqRlGcCDP+MEAcPMBZEhDoIaLcVxOqRlC+D+G+MkPhP9OGxCIPSP8jGcP5B9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBAqC+Q+YJJBFPBBBGlAlPMBBBBBBBBBBBBBBBBAcP5E9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAxAcP9SPKLBAOCLFAlPqBFAqC+Q+YJJBFrBBFHOXDKAaAOPBBWAOPBBBGcCLP+MEAcPMBZEhDoIaLcVxOqRlC+P+e+8/4BPhP9OGxCSPSP8jGcP5B9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBAqC+Q+YJJBFPBBBGlAlPMBBBBBBBBBBBBBBBBAcP5E9CJf/8/4/w/g/AB9+9Cu1+nGqCITC+Q1JJBFPBIBP9uPMBEDILVORZhoacxqlPpAxAcP9SPKLBAOCWFAlPqBFAqC+Q+YJJBFrBBFHOXEKAaAOPBBBPKLBAOCZFHOKALCDFHLAICZFGIAK6MBKKDNAOtMBAOHZAhCEFGhCLsMDXEKKCBHOXIKDNAKtMBAVCJDFASFHIAVASFPBDBHlCBHaINAIAVCJ/CBFAaFGLPBLBGxCEP9tAxCEPSGcP9OP9hP9RGxALAKFPBLBGkCEP9tAkAcP9OP9hP9RGkPMBZEhDoIaLcVxOqRlGyALAMFPBLBG8aCEP9tA8aAcP9OP9hP9RG8aALAXFPBLBGeCEP9tAeAcP9OP9hP9RGePMBZEhDoIaLcVxOqRlG3PMBEZhDIoaLVcxORqlGcAcPMBEDIBEDIBEDIBEDIAlP9uGlPeBbDBAIADFGLAlAcAcPMLVORLVORLVORLVORP9uGlPeBbDBALADFGLAlAcAcPMWdQKWdQKWdQKWdQKP9uGlPeBbDBALADFGLAlAcAcPMXMpSXMpSXMpSXMpSP9uGlPeBbDBALADFGLAlAyA3PMWdkyQK8aeXM35pS8e8fGcAcPMBEDIBEDIBEDIBEDIP9uGlPeBbDBALADFGLAlAcAcPMLVORLVORLVORLVORP9uGlPeBbDBALADFGLAlAcAcPMWdQKWdQKWdQKWdQKP9uGlPeBbDBALADFGLAlAcAcPMXMpSXMpSXMpSXMpSP9uGlPeBbDBALADFGLAlAxAkPMWkdyQ8aKeX3M5p8eS8fGxA8aAePMWkdyQ8aKeX3M5p8eS8fGkPMBEZhDIoaLVcxORqlGcAcPMBEDIBEDIBEDIBEDIP9uGlPeBbDBALADFGLAlAcAcPMLVORLVORLVORLVORP9uGlPeBbDBALADFGLAlAcAcPMWdQKWdQKWdQKWdQKP9uGlPeBbDBALADFGLAlAcAcPMXMpSXMpSXMpSXMpSP9uGlPeBbDBALADFGLAlAxAkPMWdkyQK8aeXM35pS8e8fGcAcPMBEDIBEDIBEDIBEDIP9uGlPeBbDBALADFGLAlAcAcPMLVORLVORLVORLVORP9uGlPeBbDBALADFGLAlAcAcPMWdQKWdQKWdQKWdQKP9uGlPeBbDBALADFGLAlAcAcPMXMpSXMpSXMpSXMpSP9uGlPeBbDBALADFHIAaCZFGaAK6MBKKASCLFGSAD6MBKKABAdAD2FAVCJDFAQAD2/8QBBAVAVCJDFAQCUFAD2FAD/8QBBKAQCBAOeAdFHdAOMBKC9+HOXEKCBC99ARAO9rADCAADCA0eseHOKAVCJ/KBF8kJJJJBAOKWBZ+BJJJBK+KoEZU8jJJJJBC/AE9rGV8kJJJJBC9+HODNAECI9uGRChFAL0MBCUHOAIrBBGWC/wEgC/gE9HMBAWCSgGdCE0MBAVC/ABFCfECJE/8KBAVCuF9CU83IBAVC8wF9CU83IBAVCYF9CU83IBAVCAF9CU83IBAVCkF9CU83IBAVCZF9CU83IBAV9CU83IWAV9CU83IBAIALFC9wFHQAICEFGWARFHKDNAEtMBCMCSAdCEseHXABHICBHdCBHMCBHpCBHLCBHOINDNAKAQ9NMBC9+HOXIKDNDNAWrBBGRC/vE0MBAVC/ABFARCL4CU7AOFCSgCITFGSYDLHZASYDBHhDNARCSgGSAX9PMBAVARCU7ALFCSgCDTFYDBAdASeHRAStHSDNDNADCD9HMBABAh87EBABCLFAR87EBABCDFAZ87EBXEKAIAhbDBAICWFARbDBAICLFAZbDBKAdASFHdAVC/ABFAOCITFGoARbDBAoAZbDLAVALCDTFARbDBAVC/ABFAOCEFCSgGOCITFGZAhbDBAZARbDLALASFHLAOCEFHOXDKDNDNASCSsMBAMASFASC987FCEFHMXEKAK8sBBGSCfEgHRDNDNASCU9MMBAKCEFHKXEKAK8sBEGSCfBgCRTARCfBgvHRDNASCU9MMBAKCDFHKXEKAK8sBDGSCfBgCpTARvHRDNASCU9MMBAKCIFHKXEKAK8sBIGSCfBgCxTARvHRDNASCU9MMBAKCLFHKXEKAKrBLC3TARvHRAKCVFHKKARCE4CBARCEg9r7AMFHMKDNDNADCD9HMBABAh87EBABCLFAM87EBABCDFAZ87EBXEKAIAhbDBAICWFAMbDBAICLFAZbDBKAVC/ABFAOCITFGRAMbDBARAZbDLAVALCDTFAMbDBAVC/ABFAOCEFCSgGOCITFGRAhbDBARAMbDLALCEFHLAOCEFHOXEKDNARCPE0MBAVALAQARCSgFrBBGSCL4GZ9rCSgCDTFYDBAdCEFGhAZeHRAVALAS9rCSgCDTFYDBAhAZtGoFGhASCSgGZeHSAZtHZDNDNADCD9HMBABAd87EBABCLFAS87EBABCDFAR87EBXEKAIAdbDBAICWFASbDBAICLFARbDBKAVALCDTFAdbDBAVC/ABFAOCITFGaARbDBAaAdbDLAVALCEFGLCSgCDTFARbDBAVC/ABFAOCEFCSgCITFGaASbDBAaARbDLAVALAoFCSgGLCDTFASbDBAVC/ABFAOCDFCSgGOCITFGRAdbDBARASbDLAOCEFHOALAZFHLAhAZFHdXEKAdCBAKrBBGaeGZARC/+EsGcFHRAaCSgHhDNDNAaCL4GoMBARCEFHSXEKARHSAVALAo9rCSgCDTFYDBHRKDNDNAhMBASCEFHdXEKASHdAVALAa9rCSgCDTFYDBHSKDNDNActMBAKCEFHaXEKAK8sBEGaCfEgHZDNDNAaCU9MMBAKCDFHaXEKAK8sBDGaCfBgCRTAZCfBgvHZDNAaCU9MMBAKCIFHaXEKAK8sBIGaCfBgCpTAZvHZDNAaCU9MMBAKCLFHaXEKAK8sBLGaCfBgCxTAZvHZDNAaCU9MMBAKCVFHaXEKAKCOFHaAKrBVC3TAZvHZKAZCE4CBAZCEg9r7AMFGMHZKDNDNAoCSsMBAaHcXEKAa8sBBGKCfEgHRDNDNAKCU9MMBAaCEFHcXEKAa8sBEGKCfBgCRTARCfBgvHRDNAKCU9MMBAaCDFHcXEKAa8sBDGKCfBgCpTARvHRDNAKCU9MMBAaCIFHcXEKAa8sBIGKCfBgCxTARvHRDNAKCU9MMBAaCLFHcXEKAaCVFHcAarBLC3TARvHRKARCE4CBARCEg9r7AMFGMHRKDNDNAhCSsMBAcHKXEKAc8sBBGKCfEgHSDNDNAKCU9MMBAcCEFHKXEKAc8sBEGKCfBgCRTASCfBgvHSDNAKCU9MMBAcCDFHKXEKAc8sBDGKCfBgCpTASvHSDNAKCU9MMBAcCIFHKXEKAc8sBIGKCfBgCxTASvHSDNAKCU9MMBAcCLFHKXEKAcCVFHKAcrBLC3TASvHSKASCE4CBASCEg9r7AMFGMHSKDNDNADCD9HMBABAZ87EBABCLFAS87EBABCDFAR87EBXEKAIAZbDBAICWFASbDBAICLFARbDBKAVC/ABFAOCITFGaARbDBAaAZbDLAVALCDTFAZbDBAVC/ABFAOCEFCSgCITFGaASbDBAaARbDLAVALCEFGLCSgCDTFARbDBAVC/ABFAOCDFCSgCITFGRAZbDBARASbDLAVALAotAoCSsvFGLCSgCDTFASbDBALAhtAhCSsvFHLAOCIFHOKAWCEFHWABCOFHBAICXFHIAOCSgHOALCSgHLApCIFGpAE6MBKKCBC99AKAQseHOKAVC/AEF8kJJJJBAOK/tLEDU8jJJJJBCZ9rHVC9+HODNAECVFAL0MBCUHOAIrBBC/+EgC/QE9HMBAV9CB83IWAICEFHOAIALFC98FHIDNAEtMBDNADCDsMBINDNAOAI6MBC9+SKAO8sBBGDCfEgHLDNDNADCU9MMBAOCEFHOXEKAO8sBEGDCfBgCRTALCfBgvHLDNADCU9MMBAOCDFHOXEKAO8sBDGDCfBgCpTALvHLDNADCU9MMBAOCIFHOXEKAO8sBIGDCfBgCxTALvHLDNADCU9MMBAOCLFHOXEKAOrBLC3TALvHLAOCVFHOKAVCWFALCEgCDTvGDALCD4CBALCE4CEg9r7ADYDBFGLbDBABALbDBABCLFHBAECUFGEMBXDKKINDNAOAI6MBC9+SKAO8sBBGDCfEgHLDNDNADCU9MMBAOCEFHOXEKAO8sBEGDCfBgCRTALCfBgvHLDNADCU9MMBAOCDFHOXEKAO8sBDGDCfBgCpTALvHLDNADCU9MMBAOCIFHOXEKAO8sBIGDCfBgCxTALvHLDNADCU9MMBAOCLFHOXEKAOrBLC3TALvHLAOCVFHOKABALCD4CBALCE4CEg9r7AVCWFALCEgCDTvGLYDBFGD87EBALADbDBABCDFHBAECUFGEMBKKCBC99AOAIseHOKAOK/xVDIUO978jJJJJBCA9rGI8kJJJJBDNDNADCL9HMBDNAEC98gGLtMBABHDCBHVINADADPBBBGOCkP+rECkP+sEP/6EGRAOCWP+rECkP+sEP/6EARP/gEAOCZP+rECkP+sEP/6EGWP/gEP/kEP/lEGdCBPhP+2EGQARCJJJJ94PhGKP9OP9RP/kEGRjBB/+9CPaARARP/mEAdAdP/mEAWAQAWAKP9OP9RP/kEGRARP/mEP/kEP/kEP/jEP/nEGWP/mEjBBN0PaGQP/kECfEPhP9OAOCJJJ94PhP9OP9QARAWP/mEAQP/kECWP+rECJ/+IPhP9OP9QAdAWP/mEAQP/kECZP+rECJJ/8RPhP9OP9QPKBBADCZFHDAVCLFGVAL6MBKKALAE9PMEAIAECIgGVCDTGDvCBCZAD9r/8KBAIABALCDTFGLAD/8QBBDNAVtMBAIAIPBLBGOCkP+rECkP+sEP/6EGRAOCWP+rECkP+sEP/6EARP/gEAOCZP+rECkP+sEP/6EGWP/gEP/kEP/lEGdCBPhP+2EGQARCJJJJ94PhGKP9OP9RP/kEGRjBB/+9CPaARARP/mEAdAdP/mEAWAQAWAKP9OP9RP/kEGRARP/mEP/kEP/kEP/jEP/nEGWP/mEjBBN0PaGQP/kECfEPhP9OAOCJJJ94PhP9OP9QARAWP/mEAQP/kECWP+rECJ/+IPhP9OP9QAdAWP/mEAQP/kECZP+rECJJ/8RPhP9OP9QPKLBKALAIAD/8QBBXEKABAEC98gGDZ+HJJJBADAE9PMBAIAECIgGLCITGVFCBCAAV9r/8KBAIABADCITFGDAV/8QBBAIALZ+HJJJBADAIAV/8QBBKAICAF8kJJJJBK+yIDDUR97DNAEtMBCBHDINABCZFGIAIPBBBGLCBPhGVCJJ98P3ECJJ98P3IGOP9OABPBBBGRALPMLVORXMpScxql358e8fCffEPhP9OP/6EARALPMBEDIWdQKZhoaky8aeGLCZP+sEP/6EGWP/gEALCZP+rECZP+sEP/6EGdP/gEP/kEP/lEGLjB/+fsPaAdALAVP+2EGVAdCJJJJ94PhGQP9OP9RP/kEGdAdP/mEALALP/mEAWAVAWAQP9OP9RP/kEGLALP/mEP/kEP/kEP/jEP/nEGWP/mEjBBN0PaGVP/kECZP+rEAdAWP/mEAVP/kECffIPhP9OP9QGdALAWP/mEAVP/kECUPSCBPlDCBPlICBPlOCBPlRCBPlQCBPlKCBPlpCBPlSP9OGLPMWdkyQK8aeXM35pS8e8fP9QPKBBABARAOP9OAdALPMBEZhDIoaLVcxORqlP9QPKBBABCAFHBADCLFGDAE6MBKKK94EIU8jJJJJBCA9rGI8kJJJJBABAEC98gGLZ+JJJJBDNALAE9PMBAIAECIgGVCITGEFCBCAAE9r/8KBAIABALCITFGBAE/8QBBAIAVZ+JJJJBABAIAE/8QBBKAICAF8kJJJJBK/hILDUE97EUV978jJJJJBCZ9rHDDNAEtMBCBHIINADABPBBBGLABCZFGVPBBBGOPMLVORXMpScxql358e8fGRCZP+sEGWCLP+rEPKLBABjBBJzPaj/zL81zPaAWCIPhP9QP/6EP/nEGWALAOPMBEDIWdQKZhoaky8aeGLCZP+rECZP+sEP/6EP/mEGOAOP/mEAWALCZP+sEP/6EP/mEGdAdP/mEAWARCZP+rECZP+sEP/6EP/mEGRARP/mEP/kEP/kEP/lECBPhP+4EP/jEjB/+fsPaGWP/mEjBBN0PaGLP/kECffIPhGQP9OAdAWP/mEALP/kECZP+rEP9QGdARAWP/mEALP/kECZP+rEAOAWP/mEALP/kEAQP9OP9QGWPMBEZhDIoaLVcxORqlGLP5BADPBLBPeB+t+J83IBABCWFALP5EADPBLBPeE+t+J83IBAVAdAWPMWdkyQK8aeXM35pS8e8fGWP5BADPBLBPeD+t+J83IBABCkFAWP5EADPBLBPeI+t+J83IBABCAFHBAICLFGIAE6MBKKK/3EDIUE978jJJJJBC/AB9rHIDNADCD4AE2GLC98gGVtMBCBHDABHEINAEAEPBBBGOCWP+rECWP+sEP/6EAOCkP+sEClP+rECJJJ/8IPhP+uEP/mEPKBBAECZFHEADCLFGDAV6MBKKDNAVAL9PMBAIALCIgGDCDTGEvCBC/ABAE9r/8KBAIABAVCDTFGVAE/8QBBDNADtMBAIAIPBLBGOCWP+rECWP+sEP/6EAOCkP+sEClP+rECJJJ/8IPhP+uEP/mEPKLBKAVAIAE/8QBBKK9TEIUCBCBYDJ1JJBGEABCIFC98gFGBbDJ1JJBDNDNABzBCZTGD9NMBCUHIABAD9rCffIFCZ4NBCUsMEKAEHIKAIKKKEBCJWKLZ9tBB",n=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),i=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var o=e;WebAssembly.validate(n)&&(o=t);var r,s=WebAssembly.instantiate(a(o),{}).then(function(d){r=d.instance,r.exports.__wasm_call_ctors()});function a(d){for(var p=new Uint8Array(d.length),g=0;g<d.length;++g){var m=d.charCodeAt(g);p[g]=m>96?m-71:m>64?m-65:m>47?m+4:m>46?63:62}for(var C=0,g=0;g<d.length;++g)p[C++]=p[g]<60?i[p[g]]:(p[g]-60)*64+p[++g];return p.buffer.slice(0,C)}function c(d,p,g,m,C,x){var A=r.exports.sbrk,b=g+3&-4,E=A(b*m),S=A(C.length),v=new Uint8Array(r.exports.memory.buffer);v.set(C,S);var P=d(E,g,m,S,C.length);if(P==0&&x&&x(E,b,m),p.set(v.subarray(E,E+g*m)),A(E-A(0)),P!=0)throw new Error("Malformed buffer data: "+P)}var u={0:"",1:"meshopt_decodeFilterOct",2:"meshopt_decodeFilterQuat",3:"meshopt_decodeFilterExp",NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},f={0:"meshopt_decodeVertexBuffer",1:"meshopt_decodeIndexBuffer",2:"meshopt_decodeIndexSequence",ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"};return{ready:s,supported:!0,decodeVertexBuffer:function(d,p,g,m,C){c(r.exports.meshopt_decodeVertexBuffer,d,p,g,m,r.exports[u[C]])},decodeIndexBuffer:function(d,p,g,m){c(r.exports.meshopt_decodeIndexBuffer,d,p,g,m)},decodeIndexSequence:function(d,p,g,m){c(r.exports.meshopt_decodeIndexSequence,d,p,g,m)},decodeGltfBuffer:function(d,p,g,m,C,x){c(r.exports[f[C]],d,p,g,m,r.exports[u[x]])}}}();typeof JS=="object"&&typeof n6=="object"?n6.exports=VB:typeof define=="function"&&define.amd?define([],function(){return VB}):typeof JS=="object"?JS.MeshoptDecoder=VB:(typeof self<"u"?self:JS).MeshoptDecoder=VB});var xoe=Vn((crn,Coe)=>{var Q2e=goe(),e3e=yoe();Coe.exports={MeshoptEncoder:Q2e,MeshoptDecoder:e3e}});var Tae=Vn((Kwn,Aae)=>{"use strict";Aae.exports=w6e;var Mw=1e20;function w6e(e,t){t||(t={});var n=t.cutoff==null?.25:t.cutoff,i=t.radius==null?8:t.radius,o=t.channel||0,r,s,a,c,u,f,d,p,g,m,C;if(ArrayBuffer.isView(e)||Array.isArray(e)){if(!t.width||!t.height)throw Error("For raw data width and height should be provided by options");r=t.width,s=t.height,c=e,t.stride?f=t.stride:f=Math.floor(e.length/r/s)}else window.HTMLCanvasElement&&e instanceof window.HTMLCanvasElement?(p=e,d=p.getContext("2d"),r=p.width,s=p.height,g=d.getImageData(0,0,r,s),c=g.data,f=4):window.CanvasRenderingContext2D&&e instanceof window.CanvasRenderingContext2D?(p=e.canvas,d=e,r=p.width,s=p.height,g=d.getImageData(0,0,r,s),c=g.data,f=4):window.ImageData&&e instanceof window.ImageData&&(g=e,r=e.width,s=e.height,c=g.data,f=4);if(a=Math.max(r,s),window.Uint8ClampedArray&&c instanceof window.Uint8ClampedArray||window.Uint8Array&&c instanceof window.Uint8Array)for(u=c,c=Array(r*s),m=0,C=Math.floor(u.length/f);m<C;m++)c[m]=u[m*f+o]/255;else if(f!==1)throw Error("Raw data can have only 1 value per pixel");var x=Array(r*s),A=Array(r*s),b=Array(a),E=Array(a),S=Array(a+1),v=Array(a);for(m=0,C=r*s;m<C;m++){var P=c[m];x[m]=P===1?0:P===0?Mw:Math.pow(Math.max(0,.5-P),2),A[m]=P===1?Mw:P===0?0:Math.pow(Math.max(0,P-.5),2)}Cae(x,r,s,b,E,v,S),Cae(A,r,s,b,E,v,S);var O=window.Float32Array?new Float32Array(r*s):new Array(r*s);for(m=0,C=r*s;m<C;m++)O[m]=Math.min(Math.max(1-((x[m]-A[m])/i+n),0),1);return O}function Cae(e,t,n,i,o,r,s){for(var a=0;a<t;a++){for(var c=0;c<n;c++)i[c]=e[c*t+a];for(xae(i,o,r,s,n),c=0;c<n;c++)e[c*t+a]=o[c]}for(c=0;c<n;c++){for(a=0;a<t;a++)i[a]=e[c*t+a];for(xae(i,o,r,s,t),a=0;a<t;a++)e[c*t+a]=Math.sqrt(o[a])}}function xae(e,t,n,i,o){n[0]=0,i[0]=-Mw,i[1]=+Mw;for(var r=1,s=0;r<o;r++){for(var a=(e[r]+r*r-(e[n[s]]+n[s]*n[s]))/(2*r-2*n[s]);a<=i[s];)s--,a=(e[r]+r*r-(e[n[s]]+n[s]*n[s]))/(2*r-2*n[s]);s++,n[s]=r,i[s]=a,i[s+1]=+Mw}for(r=0,s=0;r<o;r++){for(;i[s+1]<r;)s++;t[r]=(r-n[s])*(r-n[s])+e[n[s]]}}});var vae=Vn((dvn,gF)=>{function F6e(){var e=0,t=1,n=2,i=3,o=4,r=5,s=6,a=7,c=8,u=9,f=10,d=11,p=12,g=13,m=14,C=15,x=16,A=17,b=0,E=1,S=2,v=3,P=4;function O(_,T){return 55296<=_.charCodeAt(T)&&_.charCodeAt(T)<=56319&&56320<=_.charCodeAt(T+1)&&_.charCodeAt(T+1)<=57343}function M(_,T){T===void 0&&(T=0);var w=_.charCodeAt(T);if(55296<=w&&w<=56319&&T<_.length-1){var D=w,R=_.charCodeAt(T+1);return 56320<=R&&R<=57343?(D-55296)*1024+(R-56320)+65536:D}if(56320<=w&&w<=57343&&T>=1){var D=_.charCodeAt(T-1),R=w;return 55296<=D&&D<=56319?(D-55296)*1024+(R-56320)+65536:R}return w}function B(_,T,w){var D=[_].concat(T).concat([w]),R=D[D.length-2],F=w,z=D.lastIndexOf(m);if(z>1&&D.slice(1,z).every(function(V){return V==i})&&[i,g,A].indexOf(_)==-1)return S;var k=D.lastIndexOf(o);if(k>0&&D.slice(1,k).every(function(V){return V==o})&&[p,o].indexOf(R)==-1)return D.filter(function(V){return V==o}).length%2==1?v:P;if(R==e&&F==t)return b;if(R==n||R==e||R==t)return F==m&&T.every(function(V){return V==i})?S:E;if(F==n||F==e||F==t)return E;if(R==s&&(F==s||F==a||F==u||F==f))return b;if((R==u||R==a)&&(F==a||F==c))return b;if((R==f||R==c)&&F==c)return b;if(F==i||F==C)return b;if(F==r)return b;if(R==p)return b;var H=D.indexOf(i)!=-1?D.lastIndexOf(i)-1:D.length-2;return[g,A].indexOf(D[H])!=-1&&D.slice(H+1,-1).every(function(V){return V==i})&&F==m||R==C&&[x,A].indexOf(F)!=-1?b:T.indexOf(o)!=-1?S:R==o&&F==o?b:E}this.nextBreak=function(_,T){if(T===void 0&&(T=0),T<0)return 0;if(T>=_.length-1)return _.length;for(var w=L(M(_,T)),D=[],R=T+1;R<_.length;R++)if(!O(_,R-1)){var F=L(M(_,R));if(B(w,D,F))return R;D.push(F)}return _.length},this.splitGraphemes=function(_){for(var T=[],w=0,D;(D=this.nextBreak(_,w))<_.length;)T.push(_.slice(w,D)),w=D;return w<_.length&&T.push(_.slice(w)),T},this.iterateGraphemes=function(_){var T=0,w={next:function(){var D,R;return(R=this.nextBreak(_,T))<_.length?(D=_.slice(T,R),T=R,{value:D,done:!1}):T<_.length?(D=_.slice(T),T=_.length,{value:D,done:!1}):{value:void 0,done:!0}}.bind(this)};return typeof Symbol<"u"&&Symbol.iterator&&(w[Symbol.iterator]=function(){return w}),w},this.countGraphemes=function(_){for(var T=0,w=0,D;(D=this.nextBreak(_,w))<_.length;)w=D,T++;return w<_.length&&T++,T};function L(_){return 1536<=_&&_<=1541||_==1757||_==1807||_==2274||_==3406||_==69821||70082<=_&&_<=70083||_==72250||72326<=_&&_<=72329||_==73030?p:_==13?e:_==10?t:0<=_&&_<=9||11<=_&&_<=12||14<=_&&_<=31||127<=_&&_<=159||_==173||_==1564||_==6158||_==8203||8206<=_&&_<=8207||_==8232||_==8233||8234<=_&&_<=8238||8288<=_&&_<=8292||_==8293||8294<=_&&_<=8303||55296<=_&&_<=57343||_==65279||65520<=_&&_<=65528||65529<=_&&_<=65531||113824<=_&&_<=113827||119155<=_&&_<=119162||_==917504||_==917505||917506<=_&&_<=917535||917632<=_&&_<=917759||918e3<=_&&_<=921599?n:768<=_&&_<=879||1155<=_&&_<=1159||1160<=_&&_<=1161||1425<=_&&_<=1469||_==1471||1473<=_&&_<=1474||1476<=_&&_<=1477||_==1479||1552<=_&&_<=1562||1611<=_&&_<=1631||_==1648||1750<=_&&_<=1756||1759<=_&&_<=1764||1767<=_&&_<=1768||1770<=_&&_<=1773||_==1809||1840<=_&&_<=1866||1958<=_&&_<=1968||2027<=_&&_<=2035||2070<=_&&_<=2073||2075<=_&&_<=2083||2085<=_&&_<=2087||2089<=_&&_<=2093||2137<=_&&_<=2139||2260<=_&&_<=2273||2275<=_&&_<=2306||_==2362||_==2364||2369<=_&&_<=2376||_==2381||2385<=_&&_<=2391||2402<=_&&_<=2403||_==2433||_==2492||_==2494||2497<=_&&_<=2500||_==2509||_==2519||2530<=_&&_<=2531||2561<=_&&_<=2562||_==2620||2625<=_&&_<=2626||2631<=_&&_<=2632||2635<=_&&_<=2637||_==2641||2672<=_&&_<=2673||_==2677||2689<=_&&_<=2690||_==2748||2753<=_&&_<=2757||2759<=_&&_<=2760||_==2765||2786<=_&&_<=2787||2810<=_&&_<=2815||_==2817||_==2876||_==2878||_==2879||2881<=_&&_<=2884||_==2893||_==2902||_==2903||2914<=_&&_<=2915||_==2946||_==3006||_==3008||_==3021||_==3031||_==3072||3134<=_&&_<=3136||3142<=_&&_<=3144||3146<=_&&_<=3149||3157<=_&&_<=3158||3170<=_&&_<=3171||_==3201||_==3260||_==3263||_==3266||_==3270||3276<=_&&_<=3277||3285<=_&&_<=3286||3298<=_&&_<=3299||3328<=_&&_<=3329||3387<=_&&_<=3388||_==3390||3393<=_&&_<=3396||_==3405||_==3415||3426<=_&&_<=3427||_==3530||_==3535||3538<=_&&_<=3540||_==3542||_==3551||_==3633||3636<=_&&_<=3642||3655<=_&&_<=3662||_==3761||3764<=_&&_<=3769||3771<=_&&_<=3772||3784<=_&&_<=3789||3864<=_&&_<=3865||_==3893||_==3895||_==3897||3953<=_&&_<=3966||3968<=_&&_<=3972||3974<=_&&_<=3975||3981<=_&&_<=3991||3993<=_&&_<=4028||_==4038||4141<=_&&_<=4144||4146<=_&&_<=4151||4153<=_&&_<=4154||4157<=_&&_<=4158||4184<=_&&_<=4185||4190<=_&&_<=4192||4209<=_&&_<=4212||_==4226||4229<=_&&_<=4230||_==4237||_==4253||4957<=_&&_<=4959||5906<=_&&_<=5908||5938<=_&&_<=5940||5970<=_&&_<=5971||6002<=_&&_<=6003||6068<=_&&_<=6069||6071<=_&&_<=6077||_==6086||6089<=_&&_<=6099||_==6109||6155<=_&&_<=6157||6277<=_&&_<=6278||_==6313||6432<=_&&_<=6434||6439<=_&&_<=6440||_==6450||6457<=_&&_<=6459||6679<=_&&_<=6680||_==6683||_==6742||6744<=_&&_<=6750||_==6752||_==6754||6757<=_&&_<=6764||6771<=_&&_<=6780||_==6783||6832<=_&&_<=6845||_==6846||6912<=_&&_<=6915||_==6964||6966<=_&&_<=6970||_==6972||_==6978||7019<=_&&_<=7027||7040<=_&&_<=7041||7074<=_&&_<=7077||7080<=_&&_<=7081||7083<=_&&_<=7085||_==7142||7144<=_&&_<=7145||_==7149||7151<=_&&_<=7153||7212<=_&&_<=7219||7222<=_&&_<=7223||7376<=_&&_<=7378||7380<=_&&_<=7392||7394<=_&&_<=7400||_==7405||_==7412||7416<=_&&_<=7417||7616<=_&&_<=7673||7675<=_&&_<=7679||_==8204||8400<=_&&_<=8412||8413<=_&&_<=8416||_==8417||8418<=_&&_<=8420||8421<=_&&_<=8432||11503<=_&&_<=11505||_==11647||11744<=_&&_<=11775||12330<=_&&_<=12333||12334<=_&&_<=12335||12441<=_&&_<=12442||_==42607||42608<=_&&_<=42610||42612<=_&&_<=42621||42654<=_&&_<=42655||42736<=_&&_<=42737||_==43010||_==43014||_==43019||43045<=_&&_<=43046||43204<=_&&_<=43205||43232<=_&&_<=43249||43302<=_&&_<=43309||43335<=_&&_<=43345||43392<=_&&_<=43394||_==43443||43446<=_&&_<=43449||_==43452||_==43493||43561<=_&&_<=43566||43569<=_&&_<=43570||43573<=_&&_<=43574||_==43587||_==43596||_==43644||_==43696||43698<=_&&_<=43700||43703<=_&&_<=43704||43710<=_&&_<=43711||_==43713||43756<=_&&_<=43757||_==43766||_==44005||_==44008||_==44013||_==64286||65024<=_&&_<=65039||65056<=_&&_<=65071||65438<=_&&_<=65439||_==66045||_==66272||66422<=_&&_<=66426||68097<=_&&_<=68099||68101<=_&&_<=68102||68108<=_&&_<=68111||68152<=_&&_<=68154||_==68159||68325<=_&&_<=68326||_==69633||69688<=_&&_<=69702||69759<=_&&_<=69761||69811<=_&&_<=69814||69817<=_&&_<=69818||69888<=_&&_<=69890||69927<=_&&_<=69931||69933<=_&&_<=69940||_==70003||70016<=_&&_<=70017||70070<=_&&_<=70078||70090<=_&&_<=70092||70191<=_&&_<=70193||_==70196||70198<=_&&_<=70199||_==70206||_==70367||70371<=_&&_<=70378||70400<=_&&_<=70401||_==70460||_==70462||_==70464||_==70487||70502<=_&&_<=70508||70512<=_&&_<=70516||70712<=_&&_<=70719||70722<=_&&_<=70724||_==70726||_==70832||70835<=_&&_<=70840||_==70842||_==70845||70847<=_&&_<=70848||70850<=_&&_<=70851||_==71087||71090<=_&&_<=71093||71100<=_&&_<=71101||71103<=_&&_<=71104||71132<=_&&_<=71133||71219<=_&&_<=71226||_==71229||71231<=_&&_<=71232||_==71339||_==71341||71344<=_&&_<=71349||_==71351||71453<=_&&_<=71455||71458<=_&&_<=71461||71463<=_&&_<=71467||72193<=_&&_<=72198||72201<=_&&_<=72202||72243<=_&&_<=72248||72251<=_&&_<=72254||_==72263||72273<=_&&_<=72278||72281<=_&&_<=72283||72330<=_&&_<=72342||72344<=_&&_<=72345||72752<=_&&_<=72758||72760<=_&&_<=72765||_==72767||72850<=_&&_<=72871||72874<=_&&_<=72880||72882<=_&&_<=72883||72885<=_&&_<=72886||73009<=_&&_<=73014||_==73018||73020<=_&&_<=73021||73023<=_&&_<=73029||_==73031||92912<=_&&_<=92916||92976<=_&&_<=92982||94095<=_&&_<=94098||113821<=_&&_<=113822||_==119141||119143<=_&&_<=119145||119150<=_&&_<=119154||119163<=_&&_<=119170||119173<=_&&_<=119179||119210<=_&&_<=119213||119362<=_&&_<=119364||121344<=_&&_<=121398||121403<=_&&_<=121452||_==121461||_==121476||121499<=_&&_<=121503||121505<=_&&_<=121519||122880<=_&&_<=122886||122888<=_&&_<=122904||122907<=_&&_<=122913||122915<=_&&_<=122916||122918<=_&&_<=122922||125136<=_&&_<=125142||125252<=_&&_<=125258||917536<=_&&_<=917631||917760<=_&&_<=917999?i:127462<=_&&_<=127487?o:_==2307||_==2363||2366<=_&&_<=2368||2377<=_&&_<=2380||2382<=_&&_<=2383||2434<=_&&_<=2435||2495<=_&&_<=2496||2503<=_&&_<=2504||2507<=_&&_<=2508||_==2563||2622<=_&&_<=2624||_==2691||2750<=_&&_<=2752||_==2761||2763<=_&&_<=2764||2818<=_&&_<=2819||_==2880||2887<=_&&_<=2888||2891<=_&&_<=2892||_==3007||3009<=_&&_<=3010||3014<=_&&_<=3016||3018<=_&&_<=3020||3073<=_&&_<=3075||3137<=_&&_<=3140||3202<=_&&_<=3203||_==3262||3264<=_&&_<=3265||3267<=_&&_<=3268||3271<=_&&_<=3272||3274<=_&&_<=3275||3330<=_&&_<=3331||3391<=_&&_<=3392||3398<=_&&_<=3400||3402<=_&&_<=3404||3458<=_&&_<=3459||3536<=_&&_<=3537||3544<=_&&_<=3550||3570<=_&&_<=3571||_==3635||_==3763||3902<=_&&_<=3903||_==3967||_==4145||4155<=_&&_<=4156||4182<=_&&_<=4183||_==4228||_==6070||6078<=_&&_<=6085||6087<=_&&_<=6088||6435<=_&&_<=6438||6441<=_&&_<=6443||6448<=_&&_<=6449||6451<=_&&_<=6456||6681<=_&&_<=6682||_==6741||_==6743||6765<=_&&_<=6770||_==6916||_==6965||_==6971||6973<=_&&_<=6977||6979<=_&&_<=6980||_==7042||_==7073||7078<=_&&_<=7079||_==7082||_==7143||7146<=_&&_<=7148||_==7150||7154<=_&&_<=7155||7204<=_&&_<=7211||7220<=_&&_<=7221||_==7393||7410<=_&&_<=7411||_==7415||43043<=_&&_<=43044||_==43047||43136<=_&&_<=43137||43188<=_&&_<=43203||43346<=_&&_<=43347||_==43395||43444<=_&&_<=43445||43450<=_&&_<=43451||43453<=_&&_<=43456||43567<=_&&_<=43568||43571<=_&&_<=43572||_==43597||_==43755||43758<=_&&_<=43759||_==43765||44003<=_&&_<=44004||44006<=_&&_<=44007||44009<=_&&_<=44010||_==44012||_==69632||_==69634||_==69762||69808<=_&&_<=69810||69815<=_&&_<=69816||_==69932||_==70018||70067<=_&&_<=70069||70079<=_&&_<=70080||70188<=_&&_<=70190||70194<=_&&_<=70195||_==70197||70368<=_&&_<=70370||70402<=_&&_<=70403||_==70463||70465<=_&&_<=70468||70471<=_&&_<=70472||70475<=_&&_<=70477||70498<=_&&_<=70499||70709<=_&&_<=70711||70720<=_&&_<=70721||_==70725||70833<=_&&_<=70834||_==70841||70843<=_&&_<=70844||_==70846||_==70849||71088<=_&&_<=71089||71096<=_&&_<=71099||_==71102||71216<=_&&_<=71218||71227<=_&&_<=71228||_==71230||_==71340||71342<=_&&_<=71343||_==71350||71456<=_&&_<=71457||_==71462||72199<=_&&_<=72200||_==72249||72279<=_&&_<=72280||_==72343||_==72751||_==72766||_==72873||_==72881||_==72884||94033<=_&&_<=94078||_==119142||_==119149?r:4352<=_&&_<=4447||43360<=_&&_<=43388?s:4448<=_&&_<=4519||55216<=_&&_<=55238?a:4520<=_&&_<=4607||55243<=_&&_<=55291?c:_==44032||_==44060||_==44088||_==44116||_==44144||_==44172||_==44200||_==44228||_==44256||_==44284||_==44312||_==44340||_==44368||_==44396||_==44424||_==44452||_==44480||_==44508||_==44536||_==44564||_==44592||_==44620||_==44648||_==44676||_==44704||_==44732||_==44760||_==44788||_==44816||_==44844||_==44872||_==44900||_==44928||_==44956||_==44984||_==45012||_==45040||_==45068||_==45096||_==45124||_==45152||_==45180||_==45208||_==45236||_==45264||_==45292||_==45320||_==45348||_==45376||_==45404||_==45432||_==45460||_==45488||_==45516||_==45544||_==45572||_==45600||_==45628||_==45656||_==45684||_==45712||_==45740||_==45768||_==45796||_==45824||_==45852||_==45880||_==45908||_==45936||_==45964||_==45992||_==46020||_==46048||_==46076||_==46104||_==46132||_==46160||_==46188||_==46216||_==46244||_==46272||_==46300||_==46328||_==46356||_==46384||_==46412||_==46440||_==46468||_==46496||_==46524||_==46552||_==46580||_==46608||_==46636||_==46664||_==46692||_==46720||_==46748||_==46776||_==46804||_==46832||_==46860||_==46888||_==46916||_==46944||_==46972||_==47e3||_==47028||_==47056||_==47084||_==47112||_==47140||_==47168||_==47196||_==47224||_==47252||_==47280||_==47308||_==47336||_==47364||_==47392||_==47420||_==47448||_==47476||_==47504||_==47532||_==47560||_==47588||_==47616||_==47644||_==47672||_==47700||_==47728||_==47756||_==47784||_==47812||_==47840||_==47868||_==47896||_==47924||_==47952||_==47980||_==48008||_==48036||_==48064||_==48092||_==48120||_==48148||_==48176||_==48204||_==48232||_==48260||_==48288||_==48316||_==48344||_==48372||_==48400||_==48428||_==48456||_==48484||_==48512||_==48540||_==48568||_==48596||_==48624||_==48652||_==48680||_==48708||_==48736||_==48764||_==48792||_==48820||_==48848||_==48876||_==48904||_==48932||_==48960||_==48988||_==49016||_==49044||_==49072||_==49100||_==49128||_==49156||_==49184||_==49212||_==49240||_==49268||_==49296||_==49324||_==49352||_==49380||_==49408||_==49436||_==49464||_==49492||_==49520||_==49548||_==49576||_==49604||_==49632||_==49660||_==49688||_==49716||_==49744||_==49772||_==49800||_==49828||_==49856||_==49884||_==49912||_==49940||_==49968||_==49996||_==50024||_==50052||_==50080||_==50108||_==50136||_==50164||_==50192||_==50220||_==50248||_==50276||_==50304||_==50332||_==50360||_==50388||_==50416||_==50444||_==50472||_==50500||_==50528||_==50556||_==50584||_==50612||_==50640||_==50668||_==50696||_==50724||_==50752||_==50780||_==50808||_==50836||_==50864||_==50892||_==50920||_==50948||_==50976||_==51004||_==51032||_==51060||_==51088||_==51116||_==51144||_==51172||_==51200||_==51228||_==51256||_==51284||_==51312||_==51340||_==51368||_==51396||_==51424||_==51452||_==51480||_==51508||_==51536||_==51564||_==51592||_==51620||_==51648||_==51676||_==51704||_==51732||_==51760||_==51788||_==51816||_==51844||_==51872||_==51900||_==51928||_==51956||_==51984||_==52012||_==52040||_==52068||_==52096||_==52124||_==52152||_==52180||_==52208||_==52236||_==52264||_==52292||_==52320||_==52348||_==52376||_==52404||_==52432||_==52460||_==52488||_==52516||_==52544||_==52572||_==52600||_==52628||_==52656||_==52684||_==52712||_==52740||_==52768||_==52796||_==52824||_==52852||_==52880||_==52908||_==52936||_==52964||_==52992||_==53020||_==53048||_==53076||_==53104||_==53132||_==53160||_==53188||_==53216||_==53244||_==53272||_==53300||_==53328||_==53356||_==53384||_==53412||_==53440||_==53468||_==53496||_==53524||_==53552||_==53580||_==53608||_==53636||_==53664||_==53692||_==53720||_==53748||_==53776||_==53804||_==53832||_==53860||_==53888||_==53916||_==53944||_==53972||_==54e3||_==54028||_==54056||_==54084||_==54112||_==54140||_==54168||_==54196||_==54224||_==54252||_==54280||_==54308||_==54336||_==54364||_==54392||_==54420||_==54448||_==54476||_==54504||_==54532||_==54560||_==54588||_==54616||_==54644||_==54672||_==54700||_==54728||_==54756||_==54784||_==54812||_==54840||_==54868||_==54896||_==54924||_==54952||_==54980||_==55008||_==55036||_==55064||_==55092||_==55120||_==55148||_==55176?u:44033<=_&&_<=44059||44061<=_&&_<=44087||44089<=_&&_<=44115||44117<=_&&_<=44143||44145<=_&&_<=44171||44173<=_&&_<=44199||44201<=_&&_<=44227||44229<=_&&_<=44255||44257<=_&&_<=44283||44285<=_&&_<=44311||44313<=_&&_<=44339||44341<=_&&_<=44367||44369<=_&&_<=44395||44397<=_&&_<=44423||44425<=_&&_<=44451||44453<=_&&_<=44479||44481<=_&&_<=44507||44509<=_&&_<=44535||44537<=_&&_<=44563||44565<=_&&_<=44591||44593<=_&&_<=44619||44621<=_&&_<=44647||44649<=_&&_<=44675||44677<=_&&_<=44703||44705<=_&&_<=44731||44733<=_&&_<=44759||44761<=_&&_<=44787||44789<=_&&_<=44815||44817<=_&&_<=44843||44845<=_&&_<=44871||44873<=_&&_<=44899||44901<=_&&_<=44927||44929<=_&&_<=44955||44957<=_&&_<=44983||44985<=_&&_<=45011||45013<=_&&_<=45039||45041<=_&&_<=45067||45069<=_&&_<=45095||45097<=_&&_<=45123||45125<=_&&_<=45151||45153<=_&&_<=45179||45181<=_&&_<=45207||45209<=_&&_<=45235||45237<=_&&_<=45263||45265<=_&&_<=45291||45293<=_&&_<=45319||45321<=_&&_<=45347||45349<=_&&_<=45375||45377<=_&&_<=45403||45405<=_&&_<=45431||45433<=_&&_<=45459||45461<=_&&_<=45487||45489<=_&&_<=45515||45517<=_&&_<=45543||45545<=_&&_<=45571||45573<=_&&_<=45599||45601<=_&&_<=45627||45629<=_&&_<=45655||45657<=_&&_<=45683||45685<=_&&_<=45711||45713<=_&&_<=45739||45741<=_&&_<=45767||45769<=_&&_<=45795||45797<=_&&_<=45823||45825<=_&&_<=45851||45853<=_&&_<=45879||45881<=_&&_<=45907||45909<=_&&_<=45935||45937<=_&&_<=45963||45965<=_&&_<=45991||45993<=_&&_<=46019||46021<=_&&_<=46047||46049<=_&&_<=46075||46077<=_&&_<=46103||46105<=_&&_<=46131||46133<=_&&_<=46159||46161<=_&&_<=46187||46189<=_&&_<=46215||46217<=_&&_<=46243||46245<=_&&_<=46271||46273<=_&&_<=46299||46301<=_&&_<=46327||46329<=_&&_<=46355||46357<=_&&_<=46383||46385<=_&&_<=46411||46413<=_&&_<=46439||46441<=_&&_<=46467||46469<=_&&_<=46495||46497<=_&&_<=46523||46525<=_&&_<=46551||46553<=_&&_<=46579||46581<=_&&_<=46607||46609<=_&&_<=46635||46637<=_&&_<=46663||46665<=_&&_<=46691||46693<=_&&_<=46719||46721<=_&&_<=46747||46749<=_&&_<=46775||46777<=_&&_<=46803||46805<=_&&_<=46831||46833<=_&&_<=46859||46861<=_&&_<=46887||46889<=_&&_<=46915||46917<=_&&_<=46943||46945<=_&&_<=46971||46973<=_&&_<=46999||47001<=_&&_<=47027||47029<=_&&_<=47055||47057<=_&&_<=47083||47085<=_&&_<=47111||47113<=_&&_<=47139||47141<=_&&_<=47167||47169<=_&&_<=47195||47197<=_&&_<=47223||47225<=_&&_<=47251||47253<=_&&_<=47279||47281<=_&&_<=47307||47309<=_&&_<=47335||47337<=_&&_<=47363||47365<=_&&_<=47391||47393<=_&&_<=47419||47421<=_&&_<=47447||47449<=_&&_<=47475||47477<=_&&_<=47503||47505<=_&&_<=47531||47533<=_&&_<=47559||47561<=_&&_<=47587||47589<=_&&_<=47615||47617<=_&&_<=47643||47645<=_&&_<=47671||47673<=_&&_<=47699||47701<=_&&_<=47727||47729<=_&&_<=47755||47757<=_&&_<=47783||47785<=_&&_<=47811||47813<=_&&_<=47839||47841<=_&&_<=47867||47869<=_&&_<=47895||47897<=_&&_<=47923||47925<=_&&_<=47951||47953<=_&&_<=47979||47981<=_&&_<=48007||48009<=_&&_<=48035||48037<=_&&_<=48063||48065<=_&&_<=48091||48093<=_&&_<=48119||48121<=_&&_<=48147||48149<=_&&_<=48175||48177<=_&&_<=48203||48205<=_&&_<=48231||48233<=_&&_<=48259||48261<=_&&_<=48287||48289<=_&&_<=48315||48317<=_&&_<=48343||48345<=_&&_<=48371||48373<=_&&_<=48399||48401<=_&&_<=48427||48429<=_&&_<=48455||48457<=_&&_<=48483||48485<=_&&_<=48511||48513<=_&&_<=48539||48541<=_&&_<=48567||48569<=_&&_<=48595||48597<=_&&_<=48623||48625<=_&&_<=48651||48653<=_&&_<=48679||48681<=_&&_<=48707||48709<=_&&_<=48735||48737<=_&&_<=48763||48765<=_&&_<=48791||48793<=_&&_<=48819||48821<=_&&_<=48847||48849<=_&&_<=48875||48877<=_&&_<=48903||48905<=_&&_<=48931||48933<=_&&_<=48959||48961<=_&&_<=48987||48989<=_&&_<=49015||49017<=_&&_<=49043||49045<=_&&_<=49071||49073<=_&&_<=49099||49101<=_&&_<=49127||49129<=_&&_<=49155||49157<=_&&_<=49183||49185<=_&&_<=49211||49213<=_&&_<=49239||49241<=_&&_<=49267||49269<=_&&_<=49295||49297<=_&&_<=49323||49325<=_&&_<=49351||49353<=_&&_<=49379||49381<=_&&_<=49407||49409<=_&&_<=49435||49437<=_&&_<=49463||49465<=_&&_<=49491||49493<=_&&_<=49519||49521<=_&&_<=49547||49549<=_&&_<=49575||49577<=_&&_<=49603||49605<=_&&_<=49631||49633<=_&&_<=49659||49661<=_&&_<=49687||49689<=_&&_<=49715||49717<=_&&_<=49743||49745<=_&&_<=49771||49773<=_&&_<=49799||49801<=_&&_<=49827||49829<=_&&_<=49855||49857<=_&&_<=49883||49885<=_&&_<=49911||49913<=_&&_<=49939||49941<=_&&_<=49967||49969<=_&&_<=49995||49997<=_&&_<=50023||50025<=_&&_<=50051||50053<=_&&_<=50079||50081<=_&&_<=50107||50109<=_&&_<=50135||50137<=_&&_<=50163||50165<=_&&_<=50191||50193<=_&&_<=50219||50221<=_&&_<=50247||50249<=_&&_<=50275||50277<=_&&_<=50303||50305<=_&&_<=50331||50333<=_&&_<=50359||50361<=_&&_<=50387||50389<=_&&_<=50415||50417<=_&&_<=50443||50445<=_&&_<=50471||50473<=_&&_<=50499||50501<=_&&_<=50527||50529<=_&&_<=50555||50557<=_&&_<=50583||50585<=_&&_<=50611||50613<=_&&_<=50639||50641<=_&&_<=50667||50669<=_&&_<=50695||50697<=_&&_<=50723||50725<=_&&_<=50751||50753<=_&&_<=50779||50781<=_&&_<=50807||50809<=_&&_<=50835||50837<=_&&_<=50863||50865<=_&&_<=50891||50893<=_&&_<=50919||50921<=_&&_<=50947||50949<=_&&_<=50975||50977<=_&&_<=51003||51005<=_&&_<=51031||51033<=_&&_<=51059||51061<=_&&_<=51087||51089<=_&&_<=51115||51117<=_&&_<=51143||51145<=_&&_<=51171||51173<=_&&_<=51199||51201<=_&&_<=51227||51229<=_&&_<=51255||51257<=_&&_<=51283||51285<=_&&_<=51311||51313<=_&&_<=51339||51341<=_&&_<=51367||51369<=_&&_<=51395||51397<=_&&_<=51423||51425<=_&&_<=51451||51453<=_&&_<=51479||51481<=_&&_<=51507||51509<=_&&_<=51535||51537<=_&&_<=51563||51565<=_&&_<=51591||51593<=_&&_<=51619||51621<=_&&_<=51647||51649<=_&&_<=51675||51677<=_&&_<=51703||51705<=_&&_<=51731||51733<=_&&_<=51759||51761<=_&&_<=51787||51789<=_&&_<=51815||51817<=_&&_<=51843||51845<=_&&_<=51871||51873<=_&&_<=51899||51901<=_&&_<=51927||51929<=_&&_<=51955||51957<=_&&_<=51983||51985<=_&&_<=52011||52013<=_&&_<=52039||52041<=_&&_<=52067||52069<=_&&_<=52095||52097<=_&&_<=52123||52125<=_&&_<=52151||52153<=_&&_<=52179||52181<=_&&_<=52207||52209<=_&&_<=52235||52237<=_&&_<=52263||52265<=_&&_<=52291||52293<=_&&_<=52319||52321<=_&&_<=52347||52349<=_&&_<=52375||52377<=_&&_<=52403||52405<=_&&_<=52431||52433<=_&&_<=52459||52461<=_&&_<=52487||52489<=_&&_<=52515||52517<=_&&_<=52543||52545<=_&&_<=52571||52573<=_&&_<=52599||52601<=_&&_<=52627||52629<=_&&_<=52655||52657<=_&&_<=52683||52685<=_&&_<=52711||52713<=_&&_<=52739||52741<=_&&_<=52767||52769<=_&&_<=52795||52797<=_&&_<=52823||52825<=_&&_<=52851||52853<=_&&_<=52879||52881<=_&&_<=52907||52909<=_&&_<=52935||52937<=_&&_<=52963||52965<=_&&_<=52991||52993<=_&&_<=53019||53021<=_&&_<=53047||53049<=_&&_<=53075||53077<=_&&_<=53103||53105<=_&&_<=53131||53133<=_&&_<=53159||53161<=_&&_<=53187||53189<=_&&_<=53215||53217<=_&&_<=53243||53245<=_&&_<=53271||53273<=_&&_<=53299||53301<=_&&_<=53327||53329<=_&&_<=53355||53357<=_&&_<=53383||53385<=_&&_<=53411||53413<=_&&_<=53439||53441<=_&&_<=53467||53469<=_&&_<=53495||53497<=_&&_<=53523||53525<=_&&_<=53551||53553<=_&&_<=53579||53581<=_&&_<=53607||53609<=_&&_<=53635||53637<=_&&_<=53663||53665<=_&&_<=53691||53693<=_&&_<=53719||53721<=_&&_<=53747||53749<=_&&_<=53775||53777<=_&&_<=53803||53805<=_&&_<=53831||53833<=_&&_<=53859||53861<=_&&_<=53887||53889<=_&&_<=53915||53917<=_&&_<=53943||53945<=_&&_<=53971||53973<=_&&_<=53999||54001<=_&&_<=54027||54029<=_&&_<=54055||54057<=_&&_<=54083||54085<=_&&_<=54111||54113<=_&&_<=54139||54141<=_&&_<=54167||54169<=_&&_<=54195||54197<=_&&_<=54223||54225<=_&&_<=54251||54253<=_&&_<=54279||54281<=_&&_<=54307||54309<=_&&_<=54335||54337<=_&&_<=54363||54365<=_&&_<=54391||54393<=_&&_<=54419||54421<=_&&_<=54447||54449<=_&&_<=54475||54477<=_&&_<=54503||54505<=_&&_<=54531||54533<=_&&_<=54559||54561<=_&&_<=54587||54589<=_&&_<=54615||54617<=_&&_<=54643||54645<=_&&_<=54671||54673<=_&&_<=54699||54701<=_&&_<=54727||54729<=_&&_<=54755||54757<=_&&_<=54783||54785<=_&&_<=54811||54813<=_&&_<=54839||54841<=_&&_<=54867||54869<=_&&_<=54895||54897<=_&&_<=54923||54925<=_&&_<=54951||54953<=_&&_<=54979||54981<=_&&_<=55007||55009<=_&&_<=55035||55037<=_&&_<=55063||55065<=_&&_<=55091||55093<=_&&_<=55119||55121<=_&&_<=55147||55149<=_&&_<=55175||55177<=_&&_<=55203?f:_==9757||_==9977||9994<=_&&_<=9997||_==127877||127938<=_&&_<=127940||_==127943||127946<=_&&_<=127948||128066<=_&&_<=128067||128070<=_&&_<=128080||_==128110||128112<=_&&_<=128120||_==128124||128129<=_&&_<=128131||128133<=_&&_<=128135||_==128170||128372<=_&&_<=128373||_==128378||_==128400||128405<=_&&_<=128406||128581<=_&&_<=128583||128587<=_&&_<=128591||_==128675||128692<=_&&_<=128694||_==128704||_==128716||129304<=_&&_<=129308||129310<=_&&_<=129311||_==129318||129328<=_&&_<=129337||129341<=_&&_<=129342||129489<=_&&_<=129501?g:127995<=_&&_<=127999?m:_==8205?C:_==9792||_==9794||9877<=_&&_<=9878||_==9992||_==10084||_==127752||_==127806||_==127859||_==127891||_==127908||_==127912||_==127979||_==127981||_==128139||128187<=_&&_<=128188||_==128295||_==128300||_==128488||_==128640||_==128658?x:128102<=_&&_<=128105?A:d}return this}typeof gF<"u"&&gF.exports&&(gF.exports=F6e)});var tle=Vn((nW,iW)=>{(function(e,t){typeof nW=="object"&&typeof iW<"u"?iW.exports=t():typeof define=="function"&&define.amd?define(t):e.KDBush=t()})(nW,function(){"use strict";function e(f,d,p,g,m,C){if(!(m-g<=p)){var x=g+m>>1;t(f,d,x,g,m,C%2),e(f,d,p,g,x-1,C+1),e(f,d,p,x+1,m,C+1)}}function t(f,d,p,g,m,C){for(;m>g;){if(m-g>600){var x=m-g+1,A=p-g+1,b=Math.log(x),E=.5*Math.exp(2*b/3),S=.5*Math.sqrt(b*E*(x-E)/x)*(A-x/2<0?-1:1),v=Math.max(g,Math.floor(p-A*E/x+S)),P=Math.min(m,Math.floor(p+(x-A)*E/x+S));t(f,d,p,v,P,C)}var O=d[2*p+C],M=g,B=m;for(n(f,d,g,p),d[2*m+C]>O&&n(f,d,g,m);M<B;){for(n(f,d,M,B),M++,B--;d[2*M+C]<O;)M++;for(;d[2*B+C]>O;)B--}d[2*g+C]===O?n(f,d,g,B):(B++,n(f,d,B,m)),B<=p&&(g=B+1),p<=B&&(m=B-1)}}function n(f,d,p,g){i(f,p,g),i(d,2*p,2*g),i(d,2*p+1,2*g+1)}function i(f,d,p){var g=f[d];f[d]=f[p],f[p]=g}function o(f,d,p,g,m,C,x){for(var A=[0,f.length-1,0],b=[],E,S;A.length;){var v=A.pop(),P=A.pop(),O=A.pop();if(P-O<=x){for(var M=O;M<=P;M++)E=d[2*M],S=d[2*M+1],E>=p&&E<=m&&S>=g&&S<=C&&b.push(f[M]);continue}var B=Math.floor((O+P)/2);E=d[2*B],S=d[2*B+1],E>=p&&E<=m&&S>=g&&S<=C&&b.push(f[B]);var L=(v+1)%2;(v===0?p<=E:g<=S)&&(A.push(O),A.push(B-1),A.push(L)),(v===0?m>=E:C>=S)&&(A.push(B+1),A.push(P),A.push(L))}return b}function r(f,d,p,g,m,C){for(var x=[0,f.length-1,0],A=[],b=m*m;x.length;){var E=x.pop(),S=x.pop(),v=x.pop();if(S-v<=C){for(var P=v;P<=S;P++)s(d[2*P],d[2*P+1],p,g)<=b&&A.push(f[P]);continue}var O=Math.floor((v+S)/2),M=d[2*O],B=d[2*O+1];s(M,B,p,g)<=b&&A.push(f[O]);var L=(E+1)%2;(E===0?p-m<=M:g-m<=B)&&(x.push(v),x.push(O-1),x.push(L)),(E===0?p+m>=M:g+m>=B)&&(x.push(O+1),x.push(S),x.push(L))}return A}function s(f,d,p,g){var m=f-p,C=d-g;return m*m+C*C}var a=function(f){return f[0]},c=function(f){return f[1]},u=function(d,p,g,m,C){p===void 0&&(p=a),g===void 0&&(g=c),m===void 0&&(m=64),C===void 0&&(C=Float64Array),this.nodeSize=m,this.points=d;for(var x=d.length<65536?Uint16Array:Uint32Array,A=this.ids=new x(d.length),b=this.coords=new C(d.length*2),E=0;E<d.length;E++)A[E]=E,b[2*E]=p(d[E]),b[2*E+1]=g(d[E]);e(A,b,m,0,A.length-1,0)};return u.prototype.range=function(d,p,g,m){return o(this.ids,this.coords,d,p,g,m,this.nodeSize)},u.prototype.within=function(d,p,g){return r(this.ids,this.coords,d,p,g,this.nodeSize)},u})});var zue=Vn((V2,Uue)=>{(function(e,t){typeof V2=="object"&&typeof Uue<"u"?t(V2):typeof define=="function"&&define.amd?define(["exports"],t):(e=e||self,t(e.topojson=e.topojson||{}))})(V2,function(e){"use strict";function t(E){return E}function n(E){if(E==null)return t;var S,v,P=E.scale[0],O=E.scale[1],M=E.translate[0],B=E.translate[1];return function(L,_){_||(S=v=0);var T=2,w=L.length,D=new Array(w);for(D[0]=(S+=L[0])*P+M,D[1]=(v+=L[1])*O+B;T<w;)D[T]=L[T],++T;return D}}function i(E){var S=n(E.transform),v,P=1/0,O=P,M=-P,B=-P;function L(T){T=S(T),T[0]<P&&(P=T[0]),T[0]>M&&(M=T[0]),T[1]<O&&(O=T[1]),T[1]>B&&(B=T[1])}function _(T){switch(T.type){case"GeometryCollection":T.geometries.forEach(_);break;case"Point":L(T.coordinates);break;case"MultiPoint":T.coordinates.forEach(L);break}}E.arcs.forEach(function(T){for(var w=-1,D=T.length,R;++w<D;)R=S(T[w],w),R[0]<P&&(P=R[0]),R[0]>M&&(M=R[0]),R[1]<O&&(O=R[1]),R[1]>B&&(B=R[1])});for(v in E.objects)_(E.objects[v]);return[P,O,M,B]}function o(E,S){for(var v,P=E.length,O=P-S;O<--P;)v=E[O],E[O++]=E[P],E[P]=v}function r(E,S){return typeof S=="string"&&(S=E.objects[S]),S.type==="GeometryCollection"?{type:"FeatureCollection",features:S.geometries.map(function(v){return s(E,v)})}:s(E,S)}function s(E,S){var v=S.id,P=S.bbox,O=S.properties==null?{}:S.properties,M=a(E,S);return v==null&&P==null?{type:"Feature",properties:O,geometry:M}:P==null?{type:"Feature",id:v,properties:O,geometry:M}:{type:"Feature",id:v,bbox:P,properties:O,geometry:M}}function a(E,S){var v=n(E.transform),P=E.arcs;function O(w,D){D.length&&D.pop();for(var R=P[w<0?~w:w],F=0,z=R.length;F<z;++F)D.push(v(R[F],F));w<0&&o(D,z)}function M(w){return v(w)}function B(w){for(var D=[],R=0,F=w.length;R<F;++R)O(w[R],D);return D.length<2&&D.push(D[0]),D}function L(w){for(var D=B(w);D.length<4;)D.push(D[0]);return D}function _(w){return w.map(L)}function T(w){var D=w.type,R;switch(D){case"GeometryCollection":return{type:D,geometries:w.geometries.map(T)};case"Point":R=M(w.coordinates);break;case"MultiPoint":R=w.coordinates.map(M);break;case"LineString":R=B(w.arcs);break;case"MultiLineString":R=w.arcs.map(B);break;case"Polygon":R=_(w.arcs);break;case"MultiPolygon":R=w.arcs.map(_);break;default:return null}return{type:D,coordinates:R}}return T(S)}function c(E,S){var v={},P={},O={},M=[],B=-1;S.forEach(function(T,w){var D=E.arcs[T<0?~T:T],R;D.length<3&&!D[1][0]&&!D[1][1]&&(R=S[++B],S[B]=T,S[w]=R)}),S.forEach(function(T){var w=L(T),D=w[0],R=w[1],F,z;if(F=O[D])if(delete O[F.end],F.push(T),F.end=R,z=P[R]){delete P[z.start];var k=z===F?F:F.concat(z);P[k.start=F.start]=O[k.end=z.end]=k}else P[F.start]=O[F.end]=F;else if(F=P[R])if(delete P[F.start],F.unshift(T),F.start=D,z=O[D]){delete O[z.end];var H=z===F?F:z.concat(F);P[H.start=z.start]=O[H.end=F.end]=H}else P[F.start]=O[F.end]=F;else F=[T],P[F.start=D]=O[F.end=R]=F});function L(T){var w=E.arcs[T<0?~T:T],D=w[0],R;return E.transform?(R=[0,0],w.forEach(function(F){R[0]+=F[0],R[1]+=F[1]})):R=w[w.length-1],T<0?[R,D]:[D,R]}function _(T,w){for(var D in T){var R=T[D];delete w[R.start],delete R.start,delete R.end,R.forEach(function(F){v[F<0?~F:F]=1}),M.push(R)}}return _(O,P),_(P,O),S.forEach(function(T){v[T<0?~T:T]||M.push([T])}),M}function u(E){return a(E,f.apply(this,arguments))}function f(E,S,v){var P,O,M;if(arguments.length>1)P=d(E,S,v);else for(O=0,P=new Array(M=E.arcs.length);O<M;++O)P[O]=O;return{type:"MultiLineString",arcs:c(E,P)}}function d(E,S,v){var P=[],O=[],M;function B(D){var R=D<0?~D:D;(O[R]||(O[R]=[])).push({i:D,g:M})}function L(D){D.forEach(B)}function _(D){D.forEach(L)}function T(D){D.forEach(_)}function w(D){switch(M=D,D.type){case"GeometryCollection":D.geometries.forEach(w);break;case"LineString":L(D.arcs);break;case"MultiLineString":case"Polygon":_(D.arcs);break;case"MultiPolygon":T(D.arcs);break}}return w(S),O.forEach(v==null?function(D){P.push(D[0].i)}:function(D){v(D[0].g,D[D.length-1].g)&&P.push(D[0].i)}),P}function p(E){for(var S=-1,v=E.length,P,O=E[v-1],M=0;++S<v;)P=O,O=E[S],M+=P[0]*O[1]-P[1]*O[0];return Math.abs(M)}function g(E){return a(E,m.apply(this,arguments))}function m(E,S){var v={},P=[],O=[];S.forEach(M);function M(_){switch(_.type){case"GeometryCollection":_.geometries.forEach(M);break;case"Polygon":B(_.arcs);break;case"MultiPolygon":_.arcs.forEach(B);break}}function B(_){_.forEach(function(T){T.forEach(function(w){(v[w=w<0?~w:w]||(v[w]=[])).push(_)})}),P.push(_)}function L(_){return p(a(E,{type:"Polygon",arcs:[_]}).coordinates[0])}return P.forEach(function(_){if(!_._){var T=[],w=[_];for(_._=1,O.push(T);_=w.pop();)T.push(_),_.forEach(function(D){D.forEach(function(R){v[R<0?~R:R].forEach(function(F){F._||(F._=1,w.push(F))})})})}}),P.forEach(function(_){delete _._}),{type:"MultiPolygon",arcs:O.map(function(_){var T=[],w;if(_.forEach(function(k){k.forEach(function(H){H.forEach(function(V){v[V<0?~V:V].length<2&&T.push(V)})})}),T=c(E,T),(w=T.length)>1)for(var D=1,R=L(T[0]),F,z;D<w;++D)(F=L(T[D]))>R&&(z=T[0],T[0]=T[D],T[D]=z,R=F);return T}).filter(function(_){return _.length>0})}}function C(E,S){for(var v=0,P=E.length;v<P;){var O=v+P>>>1;E[O]<S?v=O+1:P=O}return v}function x(E){var S={},v=E.map(function(){return[]});function P(k,H){k.forEach(function(V){V<0&&(V=~V);var Y=S[V];Y?Y.push(H):S[V]=[H]})}function O(k,H){k.forEach(function(V){P(V,H)})}function M(k,H){k.type==="GeometryCollection"?k.geometries.forEach(function(V){M(V,H)}):k.type in B&&B[k.type](k.arcs,H)}var B={LineString:P,MultiLineString:O,Polygon:O,MultiPolygon:function(k,H){k.forEach(function(V){O(V,H)})}};E.forEach(M);for(var L in S)for(var _=S[L],T=_.length,w=0;w<T;++w)for(var D=w+1;D<T;++D){var R=_[w],F=_[D],z;(z=v[R])[L=C(z,F)]!==F&&z.splice(L,0,F),(z=v[F])[L=C(z,R)]!==R&&z.splice(L,0,R)}return v}function A(E){if(E==null)return t;var S,v,P=E.scale[0],O=E.scale[1],M=E.translate[0],B=E.translate[1];return function(L,_){_||(S=v=0);var T=2,w=L.length,D=new Array(w),R=Math.round((L[0]-M)/P),F=Math.round((L[1]-B)/O);for(D[0]=R-S,S=R,D[1]=F-v,v=F;T<w;)D[T]=L[T],++T;return D}}function b(E,S){if(E.transform)throw new Error("already quantized");if(!S||!S.scale){if(!((B=Math.floor(S))>=2))throw new Error("n must be \u22652");_=E.bbox||i(E);var v=_[0],P=_[1],O=_[2],M=_[3],B;S={scale:[O-v?(O-v)/(B-1):1,M-P?(M-P)/(B-1):1],translate:[v,P]}}else _=E.bbox;var L=A(S),_,T,w=E.objects,D={};function R(k){return L(k)}function F(k){var H;switch(k.type){case"GeometryCollection":H={type:"GeometryCollection",geometries:k.geometries.map(F)};break;case"Point":H={type:"Point",coordinates:R(k.coordinates)};break;case"MultiPoint":H={type:"MultiPoint",coordinates:k.coordinates.map(R)};break;default:return k}return k.id!=null&&(H.id=k.id),k.bbox!=null&&(H.bbox=k.bbox),k.properties!=null&&(H.properties=k.properties),H}function z(k){var H=0,V=1,Y=k.length,q,X=new Array(Y);for(X[0]=L(k[0],0);++H<Y;)((q=L(k[H],H))[0]||q[1])&&(X[V++]=q);return V===1&&(X[V++]=[0,0]),X.length=V,X}for(T in w)D[T]=F(w[T]);return{type:"Topology",bbox:_,transform:S,objects:D,arcs:E.arcs.map(z)}}e.bbox=i,e.feature=r,e.merge=g,e.mergeArcs=m,e.mesh=u,e.meshArcs=f,e.neighbors=x,e.quantize=b,e.transform=n,e.untransform=A,Object.defineProperty(e,"__esModule",{value:!0})})});var afe=Vn(H2=>{"use strict";Object.defineProperty(H2,"__esModule",{value:!0});H2.version=void 0;H2.version="3.16.0"});var rE=Vn(Jc=>{"use strict";Object.defineProperty(Jc,"__esModule",{value:!0});Jc.throwUnhandledCaseError=Jc.splitAndCapture=Jc.remove=Jc.indexOf=Jc.ellipsis=Jc.defaults=void 0;function OKe(e,t){for(var n in t)t.hasOwnProperty(n)&&e[n]===void 0&&(e[n]=t[n]);return e}Jc.defaults=OKe;function RKe(e,t,n){var i;return e.length>t&&(n==null?(n="&hellip;",i=3):i=n.length,e=e.substring(0,t-i)+n),e}Jc.ellipsis=RKe;function MKe(e,t){if(Array.prototype.indexOf)return e.indexOf(t);for(var n=0,i=e.length;n<i;n++)if(e[n]===t)return n;return-1}Jc.indexOf=MKe;function BKe(e,t){for(var n=e.length-1;n>=0;n--)t(e[n])===!0&&e.splice(n,1)}Jc.remove=BKe;function LKe(e,t){if(!t.global)throw new Error("`splitRegex` must have the 'g' flag set");for(var n=[],i=0,o;o=t.exec(e);)n.push(e.substring(i,o.index)),n.push(o[0]),i=o.index+o[0].length;return n.push(e.substring(i)),n}Jc.splitAndCapture=LKe;function NKe(e){throw new Error("Unhandled case for value: '".concat(e,"'"))}Jc.throwUnhandledCaseError=NKe});var W2=Vn(G2=>{"use strict";Object.defineProperty(G2,"__esModule",{value:!0});G2.HtmlTag=void 0;var cfe=rE(),FKe=function(){function e(t){t===void 0&&(t={}),this.tagName="",this.attrs={},this.innerHTML="",this.whitespaceRegex=/\s+/,this.tagName=t.tagName||"",this.attrs=t.attrs||{},this.innerHTML=t.innerHtml||t.innerHTML||""}return e.prototype.setTagName=function(t){return this.tagName=t,this},e.prototype.getTagName=function(){return this.tagName||""},e.prototype.setAttr=function(t,n){var i=this.getAttrs();return i[t]=n,this},e.prototype.getAttr=function(t){return this.getAttrs()[t]},e.prototype.setAttrs=function(t){return Object.assign(this.getAttrs(),t),this},e.prototype.getAttrs=function(){return this.attrs||(this.attrs={})},e.prototype.setClass=function(t){return this.setAttr("class",t)},e.prototype.addClass=function(t){for(var n=this.getClass(),i=this.whitespaceRegex,o=n?n.split(i):[],r=t.split(i),s;s=r.shift();)(0,cfe.indexOf)(o,s)===-1&&o.push(s);return this.getAttrs().class=o.join(" "),this},e.prototype.removeClass=function(t){for(var n=this.getClass(),i=this.whitespaceRegex,o=n?n.split(i):[],r=t.split(i),s;o.length&&(s=r.shift());){var a=(0,cfe.indexOf)(o,s);a!==-1&&o.splice(a,1)}return this.getAttrs().class=o.join(" "),this},e.prototype.getClass=function(){return this.getAttrs().class||""},e.prototype.hasClass=function(t){return(" "+this.getClass()+" ").indexOf(" "+t+" ")!==-1},e.prototype.setInnerHTML=function(t){return this.innerHTML=t,this},e.prototype.setInnerHtml=function(t){return this.setInnerHTML(t)},e.prototype.getInnerHTML=function(){return this.innerHTML||""},e.prototype.getInnerHtml=function(){return this.getInnerHTML()},e.prototype.toAnchorString=function(){var t=this.getTagName(),n=this.buildAttrsStr();return n=n?" "+n:"",["<",t,n,">",this.getInnerHtml(),"</",t,">"].join("")},e.prototype.buildAttrsStr=function(){if(!this.attrs)return"";var t=this.getAttrs(),n=[];for(var i in t)t.hasOwnProperty(i)&&n.push(i+'="'+t[i]+'"');return n.join(" ")},e}();G2.HtmlTag=FKe});var lfe=Vn(j2=>{"use strict";Object.defineProperty(j2,"__esModule",{value:!0});j2.truncateSmart=void 0;function VKe(e,t,n){var i,o;n==null?(n="&hellip;",o=3,i=8):(o=n.length,i=n.length);var r=function(b){var E={},S=b,v=S.match(/^([a-z]+):\/\//i);return v&&(E.scheme=v[1],S=S.substr(v[0].length)),v=S.match(/^(.*?)(?=(\?|#|\/|$))/i),v&&(E.host=v[1],S=S.substr(v[0].length)),v=S.match(/^\/(.*?)(?=(\?|#|$))/i),v&&(E.path=v[1],S=S.substr(v[0].length)),v=S.match(/^\?(.*?)(?=(#|$))/i),v&&(E.query=v[1],S=S.substr(v[0].length)),v=S.match(/^#(.*?)$/i),v&&(E.fragment=v[1]),E},s=function(b){var E="";return b.scheme&&b.host&&(E+=b.scheme+"://"),b.host&&(E+=b.host),b.path&&(E+="/"+b.path),b.query&&(E+="?"+b.query),b.fragment&&(E+="#"+b.fragment),E},a=function(b,E){var S=E/2,v=Math.ceil(S),P=-1*Math.floor(S),O="";return P<0&&(O=b.substr(P)),b.substr(0,v)+n+O};if(e.length<=t)return e;var c=t-o,u=r(e);if(u.query){var f=u.query.match(/^(.*?)(?=(\?|\#))(.*?)$/i);f&&(u.query=u.query.substr(0,f[1].length),e=s(u))}if(e.length<=t||(u.host&&(u.host=u.host.replace(/^www\./,""),e=s(u)),e.length<=t))return e;var d="";if(u.host&&(d+=u.host),d.length>=c)return u.host.length==t?(u.host.substr(0,t-o)+n).substr(0,c+i):a(d,c).substr(0,c+i);var p="";if(u.path&&(p+="/"+u.path),u.query&&(p+="?"+u.query),p)if((d+p).length>=c){if((d+p).length==t)return(d+p).substr(0,t);var g=c-d.length;return(d+a(p,g)).substr(0,c+i)}else d+=p;if(u.fragment){var m="#"+u.fragment;if((d+m).length>=c){if((d+m).length==t)return(d+m).substr(0,t);var C=c-d.length;return(d+a(m,C)).substr(0,c+i)}else d+=m}if(u.scheme&&u.host){var x=u.scheme+"://";if((d+x).length<c)return(x+d).substr(0,t)}if(d.length<=t)return d;var A="";return c>0&&(A=d.substr(-1*Math.floor(c/2))),(d.substr(0,Math.ceil(c/2))+n+A).substr(0,c+i)}j2.truncateSmart=VKe});var ufe=Vn(q2=>{"use strict";Object.defineProperty(q2,"__esModule",{value:!0});q2.truncateMiddle=void 0;function kKe(e,t,n){if(e.length<=t)return e;var i,o;n==null?(n="&hellip;",i=8,o=3):(i=n.length,o=n.length);var r=t-o,s="";return r>0&&(s=e.substr(-1*Math.floor(r/2))),(e.substr(0,Math.ceil(r/2))+n+s).substr(0,r+i)}q2.truncateMiddle=kKe});var ffe=Vn(Y2=>{"use strict";Object.defineProperty(Y2,"__esModule",{value:!0});Y2.truncateEnd=void 0;var UKe=rE();function zKe(e,t,n){return(0,UKe.ellipsis)(e,t,n)}Y2.truncateEnd=zKe});var BW=Vn(X2=>{"use strict";Object.defineProperty(X2,"__esModule",{value:!0});X2.AnchorTagBuilder=void 0;var HKe=W2(),GKe=lfe(),WKe=ufe(),jKe=ffe(),qKe=function(){function e(t){t===void 0&&(t={}),this.newWindow=!1,this.truncate={},this.className="",this.newWindow=t.newWindow||!1,this.truncate=t.truncate||{},this.className=t.className||""}return e.prototype.build=function(t){return new HKe.HtmlTag({tagName:"a",attrs:this.createAttrs(t),innerHtml:this.processAnchorText(t.getAnchorText())})},e.prototype.createAttrs=function(t){var n={href:t.getAnchorHref()},i=this.createCssClass(t);return i&&(n.class=i),this.newWindow&&(n.target="_blank",n.rel="noopener noreferrer"),this.truncate&&this.truncate.length&&this.truncate.length<t.getAnchorText().length&&(n.title=t.getAnchorHref()),n},e.prototype.createCssClass=function(t){var n=this.className;if(n){for(var i=[n],o=t.getCssClassSuffixes(),r=0,s=o.length;r<s;r++)i.push(n+"-"+o[r]);return i.join(" ")}else return""},e.prototype.processAnchorText=function(t){return t=this.doTruncate(t),t},e.prototype.doTruncate=function(t){var n=this.truncate;if(!n||!n.length)return t;var i=n.length,o=n.location;return o==="smart"?(0,GKe.truncateSmart)(t,i):o==="middle"?(0,WKe.truncateMiddle)(t,i):(0,jKe.truncateEnd)(t,i)},e}();X2.AnchorTagBuilder=qKe});var Rg=Vn(K2=>{"use strict";Object.defineProperty(K2,"__esModule",{value:!0});K2.Match=void 0;var YKe=function(){function e(t){this.__jsduckDummyDocProp=null,this.matchedText="",this.offset=0,this.tagBuilder=t.tagBuilder,this.matchedText=t.matchedText,this.offset=t.offset}return e.prototype.getMatchedText=function(){return this.matchedText},e.prototype.setOffset=function(t){this.offset=t},e.prototype.getOffset=function(){return this.offset},e.prototype.getCssClassSuffixes=function(){return[this.getType()]},e.prototype.buildTag=function(){return this.tagBuilder.build(this)},e}();K2.Match=YKe});var yc=Vn((C9n,J2)=>{var dfe,hfe,mfe,pfe,_fe,gfe,yfe,Cfe,xfe,Z2,LW,Afe,Tfe,Efe,sE,bfe,Sfe,wfe,vfe,Dfe,Pfe,Ife,Ofe,Rfe,$2;(function(e){var t=typeof global=="object"?global:typeof self=="object"?self:typeof this=="object"?this:{};typeof define=="function"&&define.amd?define("tslib",["exports"],function(i){e(n(t,n(i)))}):typeof J2=="object"&&typeof J2.exports=="object"?e(n(t,n(J2.exports))):e(n(t));function n(i,o){return i!==t&&(typeof Object.create=="function"?Object.defineProperty(i,"__esModule",{value:!0}):i.__esModule=!0),function(r,s){return i[r]=o?o(r,s):s}}})(function(e){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,o){i.__proto__=o}||function(i,o){for(var r in o)Object.prototype.hasOwnProperty.call(o,r)&&(i[r]=o[r])};dfe=function(i,o){if(typeof o!="function"&&o!==null)throw new TypeError("Class extends value "+String(o)+" is not a constructor or null");t(i,o);function r(){this.constructor=i}i.prototype=o===null?Object.create(o):(r.prototype=o.prototype,new r)},hfe=Object.assign||function(i){for(var o,r=1,s=arguments.length;r<s;r++){o=arguments[r];for(var a in o)Object.prototype.hasOwnProperty.call(o,a)&&(i[a]=o[a])}return i},mfe=function(i,o){var r={};for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&o.indexOf(s)<0&&(r[s]=i[s]);if(i!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,s=Object.getOwnPropertySymbols(i);a<s.length;a++)o.indexOf(s[a])<0&&Object.prototype.propertyIsEnumerable.call(i,s[a])&&(r[s[a]]=i[s[a]]);return r},pfe=function(i,o,r,s){var a=arguments.length,c=a<3?o:s===null?s=Object.getOwnPropertyDescriptor(o,r):s,u;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")c=Reflect.decorate(i,o,r,s);else for(var f=i.length-1;f>=0;f--)(u=i[f])&&(c=(a<3?u(c):a>3?u(o,r,c):u(o,r))||c);return a>3&&c&&Object.defineProperty(o,r,c),c},_fe=function(i,o){return function(r,s){o(r,s,i)}},gfe=function(i,o){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(i,o)},yfe=function(i,o,r,s){function a(c){return c instanceof r?c:new r(function(u){u(c)})}return new(r||(r=Promise))(function(c,u){function f(g){try{p(s.next(g))}catch(m){u(m)}}function d(g){try{p(s.throw(g))}catch(m){u(m)}}function p(g){g.done?c(g.value):a(g.value).then(f,d)}p((s=s.apply(i,o||[])).next())})},Cfe=function(i,o){var r={label:0,sent:function(){if(c[0]&1)throw c[1];return c[1]},trys:[],ops:[]},s,a,c,u;return u={next:f(0),throw:f(1),return:f(2)},typeof Symbol=="function"&&(u[Symbol.iterator]=function(){return this}),u;function f(p){return function(g){return d([p,g])}}function d(p){if(s)throw new TypeError("Generator is already executing.");for(;r;)try{if(s=1,a&&(c=p[0]&2?a.return:p[0]?a.throw||((c=a.return)&&c.call(a),0):a.next)&&!(c=c.call(a,p[1])).done)return c;switch(a=0,c&&(p=[p[0]&2,c.value]),p[0]){case 0:case 1:c=p;break;case 4:return r.label++,{value:p[1],done:!1};case 5:r.label++,a=p[1],p=[0];continue;case 7:p=r.ops.pop(),r.trys.pop();continue;default:if(c=r.trys,!(c=c.length>0&&c[c.length-1])&&(p[0]===6||p[0]===2)){r=0;continue}if(p[0]===3&&(!c||p[1]>c[0]&&p[1]<c[3])){r.label=p[1];break}if(p[0]===6&&r.label<c[1]){r.label=c[1],c=p;break}if(c&&r.label<c[2]){r.label=c[2],r.ops.push(p);break}c[2]&&r.ops.pop(),r.trys.pop();continue}p=o.call(i,r)}catch(g){p=[6,g],a=0}finally{s=c=0}if(p[0]&5)throw p[1];return{value:p[0]?p[1]:void 0,done:!0}}},xfe=function(i,o){for(var r in i)r!=="default"&&!Object.prototype.hasOwnProperty.call(o,r)&&$2(o,i,r)},$2=Object.create?function(i,o,r,s){s===void 0&&(s=r);var a=Object.getOwnPropertyDescriptor(o,r);(!a||("get"in a?!o.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return o[r]}}),Object.defineProperty(i,s,a)}:function(i,o,r,s){s===void 0&&(s=r),i[s]=o[r]},Z2=function(i){var o=typeof Symbol=="function"&&Symbol.iterator,r=o&&i[o],s=0;if(r)return r.call(i);if(i&&typeof i.length=="number")return{next:function(){return i&&s>=i.length&&(i=void 0),{value:i&&i[s++],done:!i}}};throw new TypeError(o?"Object is not iterable.":"Symbol.iterator is not defined.")},LW=function(i,o){var r=typeof Symbol=="function"&&i[Symbol.iterator];if(!r)return i;var s=r.call(i),a,c=[],u;try{for(;(o===void 0||o-- >0)&&!(a=s.next()).done;)c.push(a.value)}catch(f){u={error:f}}finally{try{a&&!a.done&&(r=s.return)&&r.call(s)}finally{if(u)throw u.error}}return c},Afe=function(){for(var i=[],o=0;o<arguments.length;o++)i=i.concat(LW(arguments[o]));return i},Tfe=function(){for(var i=0,o=0,r=arguments.length;o<r;o++)i+=arguments[o].length;for(var s=Array(i),a=0,o=0;o<r;o++)for(var c=arguments[o],u=0,f=c.length;u<f;u++,a++)s[a]=c[u];return s},Efe=function(i,o,r){if(r||arguments.length===2)for(var s=0,a=o.length,c;s<a;s++)(c||!(s in o))&&(c||(c=Array.prototype.slice.call(o,0,s)),c[s]=o[s]);return i.concat(c||Array.prototype.slice.call(o))},sE=function(i){return this instanceof sE?(this.v=i,this):new sE(i)},bfe=function(i,o,r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var s=r.apply(i,o||[]),a,c=[];return a={},u("next"),u("throw"),u("return"),a[Symbol.asyncIterator]=function(){return this},a;function u(C){s[C]&&(a[C]=function(x){return new Promise(function(A,b){c.push([C,x,A,b])>1||f(C,x)})})}function f(C,x){try{d(s[C](x))}catch(A){m(c[0][3],A)}}function d(C){C.value instanceof sE?Promise.resolve(C.value.v).then(p,g):m(c[0][2],C)}function p(C){f("next",C)}function g(C){f("throw",C)}function m(C,x){C(x),c.shift(),c.length&&f(c[0][0],c[0][1])}},Sfe=function(i){var o,r;return o={},s("next"),s("throw",function(a){throw a}),s("return"),o[Symbol.iterator]=function(){return this},o;function s(a,c){o[a]=i[a]?function(u){return(r=!r)?{value:sE(i[a](u)),done:a==="return"}:c?c(u):u}:c}},wfe=function(i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var o=i[Symbol.asyncIterator],r;return o?o.call(i):(i=typeof Z2=="function"?Z2(i):i[Symbol.iterator](),r={},s("next"),s("throw"),s("return"),r[Symbol.asyncIterator]=function(){return this},r);function s(c){r[c]=i[c]&&function(u){return new Promise(function(f,d){u=i[c](u),a(f,d,u.done,u.value)})}}function a(c,u,f,d){Promise.resolve(d).then(function(p){c({value:p,done:f})},u)}},vfe=function(i,o){return Object.defineProperty?Object.defineProperty(i,"raw",{value:o}):i.raw=o,i};var n=Object.create?function(i,o){Object.defineProperty(i,"default",{enumerable:!0,value:o})}:function(i,o){i.default=o};Dfe=function(i){if(i&&i.__esModule)return i;var o={};if(i!=null)for(var r in i)r!=="default"&&Object.prototype.hasOwnProperty.call(i,r)&&$2(o,i,r);return n(o,i),o},Pfe=function(i){return i&&i.__esModule?i:{default:i}},Ife=function(i,o,r,s){if(r==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof o=="function"?i!==o||!s:!o.has(i))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?s:r==="a"?s.call(i):s?s.value:o.get(i)},Ofe=function(i,o,r,s,a){if(s==="m")throw new TypeError("Private method is not writable");if(s==="a"&&!a)throw new TypeError("Private accessor was defined without a setter");if(typeof o=="function"?i!==o||!a:!o.has(i))throw new TypeError("Cannot write private member to an object whose class did not declare it");return s==="a"?a.call(i,r):a?a.value=r:o.set(i,r),r},Rfe=function(i,o){if(o===null||typeof o!="object"&&typeof o!="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof i=="function"?o===i:i.has(o)},e("__extends",dfe),e("__assign",hfe),e("__rest",mfe),e("__decorate",pfe),e("__param",_fe),e("__metadata",gfe),e("__awaiter",yfe),e("__generator",Cfe),e("__exportStar",xfe),e("__createBinding",$2),e("__values",Z2),e("__read",LW),e("__spread",Afe),e("__spreadArrays",Tfe),e("__spreadArray",Efe),e("__await",sE),e("__asyncGenerator",bfe),e("__asyncDelegator",Sfe),e("__asyncValues",wfe),e("__makeTemplateObject",vfe),e("__importStar",Dfe),e("__importDefault",Pfe),e("__classPrivateFieldGet",Ife),e("__classPrivateFieldSet",Ofe),e("__classPrivateFieldIn",Rfe)})});var e3=Vn(Q2=>{"use strict";Object.defineProperty(Q2,"__esModule",{value:!0});Q2.EmailMatch=void 0;var XKe=yc(),KKe=Rg(),ZKe=function(e){(0,XKe.__extends)(t,e);function t(n){var i=e.call(this,n)||this;return i.email="",i.email=n.email,i}return t.prototype.getType=function(){return"email"},t.prototype.getEmail=function(){return this.email},t.prototype.getAnchorHref=function(){return"mailto:"+this.email},t.prototype.getAnchorText=function(){return this.email},t}(KKe.Match);Q2.EmailMatch=ZKe});var n3=Vn(t3=>{"use strict";Object.defineProperty(t3,"__esModule",{value:!0});t3.HashtagMatch=void 0;var $Ke=yc(),JKe=Rg(),QKe=function(e){(0,$Ke.__extends)(t,e);function t(n){var i=e.call(this,n)||this;return i.serviceName="",i.hashtag="",i.serviceName=n.serviceName,i.hashtag=n.hashtag,i}return t.prototype.getType=function(){return"hashtag"},t.prototype.getServiceName=function(){return this.serviceName},t.prototype.getHashtag=function(){return this.hashtag},t.prototype.getAnchorHref=function(){var n=this.serviceName,i=this.hashtag;switch(n){case"twitter":return"https://twitter.com/hashtag/"+i;case"facebook":return"https://www.facebook.com/hashtag/"+i;case"instagram":return"https://instagram.com/explore/tags/"+i;case"tiktok":return"https://www.tiktok.com/tag/"+i;default:throw new Error("Unknown service name to point hashtag to: "+n)}},t.prototype.getAnchorText=function(){return"#"+this.hashtag},t}(JKe.Match);t3.HashtagMatch=QKe});var o3=Vn(i3=>{"use strict";Object.defineProperty(i3,"__esModule",{value:!0});i3.MentionMatch=void 0;var eZe=yc(),tZe=Rg(),nZe=function(e){(0,eZe.__extends)(t,e);function t(n){var i=e.call(this,n)||this;return i.serviceName="twitter",i.mention="",i.mention=n.mention,i.serviceName=n.serviceName,i}return t.prototype.getType=function(){return"mention"},t.prototype.getMention=function(){return this.mention},t.prototype.getServiceName=function(){return this.serviceName},t.prototype.getAnchorHref=function(){switch(this.serviceName){case"twitter":return"https://twitter.com/"+this.mention;case"instagram":return"https://instagram.com/"+this.mention;case"soundcloud":return"https://soundcloud.com/"+this.mention;case"tiktok":return"https://www.tiktok.com/@"+this.mention;default:throw new Error("Unknown service name to point mention to: "+this.serviceName)}},t.prototype.getAnchorText=function(){return"@"+this.mention},t.prototype.getCssClassSuffixes=function(){var n=e.prototype.getCssClassSuffixes.call(this),i=this.getServiceName();return i&&n.push(i),n},t}(tZe.Match);i3.MentionMatch=nZe});var s3=Vn(r3=>{"use strict";Object.defineProperty(r3,"__esModule",{value:!0});r3.PhoneMatch=void 0;var iZe=yc(),oZe=Rg(),rZe=function(e){(0,iZe.__extends)(t,e);function t(n){var i=e.call(this,n)||this;return i.number="",i.plusSign=!1,i.number=n.number,i.plusSign=n.plusSign,i}return t.prototype.getType=function(){return"phone"},t.prototype.getPhoneNumber=function(){return this.number},t.prototype.getNumber=function(){return this.getPhoneNumber()},t.prototype.getAnchorHref=function(){return"tel:"+(this.plusSign?"+":"")+this.number},t.prototype.getAnchorText=function(){return this.matchedText},t}(oZe.Match);r3.PhoneMatch=rZe});var c3=Vn(a3=>{"use strict";Object.defineProperty(a3,"__esModule",{value:!0});a3.UrlMatch=void 0;var sZe=yc(),aZe=Rg(),cZe=function(e){(0,sZe.__extends)(t,e);function t(n){var i=e.call(this,n)||this;return i.url="",i.urlMatchType="scheme",i.protocolUrlMatch=!1,i.protocolRelativeMatch=!1,i.stripPrefix={scheme:!0,www:!0},i.stripTrailingSlash=!0,i.decodePercentEncoding=!0,i.schemePrefixRegex=/^(https?:\/\/)?/i,i.wwwPrefixRegex=/^(https?:\/\/)?(www\.)?/i,i.protocolRelativeRegex=/^\/\//,i.protocolPrepended=!1,i.urlMatchType=n.urlMatchType,i.url=n.url,i.protocolUrlMatch=n.protocolUrlMatch,i.protocolRelativeMatch=n.protocolRelativeMatch,i.stripPrefix=n.stripPrefix,i.stripTrailingSlash=n.stripTrailingSlash,i.decodePercentEncoding=n.decodePercentEncoding,i}return t.prototype.getType=function(){return"url"},t.prototype.getUrlMatchType=function(){return this.urlMatchType},t.prototype.getUrl=function(){var n=this.url;return!this.protocolRelativeMatch&&!this.protocolUrlMatch&&!this.protocolPrepended&&(n=this.url="http://"+n,this.protocolPrepended=!0),n},t.prototype.getAnchorHref=function(){var n=this.getUrl();return n.replace(/&amp;/g,"&")},t.prototype.getAnchorText=function(){var n=this.getMatchedText();return this.protocolRelativeMatch&&(n=this.stripProtocolRelativePrefix(n)),this.stripPrefix.scheme&&(n=this.stripSchemePrefix(n)),this.stripPrefix.www&&(n=this.stripWwwPrefix(n)),this.stripTrailingSlash&&(n=this.removeTrailingSlash(n)),this.decodePercentEncoding&&(n=this.removePercentEncoding(n)),n},t.prototype.stripSchemePrefix=function(n){return n.replace(this.schemePrefixRegex,"")},t.prototype.stripWwwPrefix=function(n){return n.replace(this.wwwPrefixRegex,"$1")},t.prototype.stripProtocolRelativePrefix=function(n){return n.replace(this.protocolRelativeRegex,"")},t.prototype.removeTrailingSlash=function(n){return n.charAt(n.length-1)==="/"&&(n=n.slice(0,-1)),n},t.prototype.removePercentEncoding=function(n){var i=n.replace(/%22/gi,"&quot;").replace(/%26/gi,"&amp;").replace(/%27/gi,"&#39;").replace(/%3C/gi,"&lt;").replace(/%3E/gi,"&gt;");try{return decodeURIComponent(i)}catch{return i}},t}(aZe.Match);a3.UrlMatch=cZe});var Mg=Vn(l3=>{"use strict";Object.defineProperty(l3,"__esModule",{value:!0});l3.Matcher=void 0;var lZe=function(){function e(t){this.__jsduckDummyDocProp=null,this.tagBuilder=t.tagBuilder}return e}();l3.Matcher=lZe});var Bg=Vn(Mn=>{"use strict";Object.defineProperty(Mn,"__esModule",{value:!0});Mn.domainNameCharRegex=Mn.domainNameRegex=Mn.getDomainNameStr=Mn.alphaNumericAndMarksCharsStr=Mn.alphaNumericCharsStr=Mn.decimalNumbersStr=Mn.alphaCharsAndMarksStr=Mn.marksStr=Mn.emojiStr=Mn.alphaCharsStr=Mn.controlCharsRe=Mn.quoteRe=Mn.whitespaceRe=Mn.nonDigitRe=Mn.digitRe=Mn.letterRe=void 0;Mn.letterRe=/[A-Za-z]/;Mn.digitRe=/[\d]/;Mn.nonDigitRe=/[\D]/;Mn.whitespaceRe=/\s/;Mn.quoteRe=/['"]/;Mn.controlCharsRe=/[\x00-\x1F\x7F]/;Mn.alphaCharsStr=/A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC/.source;Mn.emojiStr=/\u2700-\u27bf\udde6-\uddff\ud800-\udbff\udc00-\udfff\ufe0e\ufe0f\u0300-\u036f\ufe20-\ufe23\u20d0-\u20f0\ud83c\udffb-\udfff\u200d\u3299\u3297\u303d\u3030\u24c2\ud83c\udd70-\udd71\udd7e-\udd7f\udd8e\udd91-\udd9a\udde6-\uddff\ude01-\ude02\ude1a\ude2f\ude32-\ude3a\ude50-\ude51\u203c\u2049\u25aa-\u25ab\u25b6\u25c0\u25fb-\u25fe\u00a9\u00ae\u2122\u2139\udc04\u2600-\u26FF\u2b05\u2b06\u2b07\u2b1b\u2b1c\u2b50\u2b55\u231a\u231b\u2328\u23cf\u23e9-\u23f3\u23f8-\u23fa\udccf\u2935\u2934\u2190-\u21ff/.source;Mn.marksStr=/\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D4-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F/.source;Mn.alphaCharsAndMarksStr=Mn.alphaCharsStr+Mn.emojiStr+Mn.marksStr;Mn.decimalNumbersStr=/0-9\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19/.source;Mn.alphaNumericCharsStr=Mn.alphaCharsAndMarksStr+Mn.decimalNumbersStr;Mn.alphaNumericAndMarksCharsStr=Mn.alphaCharsAndMarksStr+Mn.decimalNumbersStr;var uZe="(?:["+Mn.decimalNumbersStr+"]{1,3}\\.){3}["+Mn.decimalNumbersStr+"]{1,3}",fZe="["+Mn.alphaNumericAndMarksCharsStr+"](?:["+Mn.alphaNumericAndMarksCharsStr+"\\-_]{0,61}["+Mn.alphaNumericAndMarksCharsStr+"])?",Mfe=function(e){return"(?=("+fZe+"))\\"+e},dZe=function(e){return"(?:"+Mfe(e)+"(?:\\."+Mfe(e+1)+"){0,126}|"+uZe+")"};Mn.getDomainNameStr=dZe;Mn.domainNameRegex=new RegExp("["+Mn.alphaNumericAndMarksCharsStr+".\\-]*["+Mn.alphaNumericAndMarksCharsStr+"\\-]");Mn.domainNameCharRegex=new RegExp("[".concat(Mn.alphaNumericAndMarksCharsStr,"]"))});var NW=Vn(u3=>{"use strict";Object.defineProperty(u3,"__esModule",{value:!0});u3.tldRegex=void 0;u3.tldRegex=/(?:xn--vermgensberatung-pwb|xn--vermgensberater-ctb|xn--clchc0ea0b2g2a9gcd|xn--w4r85el8fhu5dnra|northwesternmutual|travelersinsurance|vermögensberatung|xn--5su34j936bgsg|xn--bck1b9a5dre4c|xn--mgbah1a3hjkrd|xn--mgbai9azgqp6j|xn--mgberp4a5d4ar|xn--xkc2dl3a5ee0h|vermögensberater|xn--fzys8d69uvgm|xn--mgba7c0bbn0a|xn--mgbcpq6gpa1a|xn--xkc2al3hye2a|americanexpress|kerryproperties|sandvikcoromant|xn--i1b6b1a6a2e|xn--kcrx77d1x4a|xn--lgbbat1ad8j|xn--mgba3a4f16a|xn--mgbaakc7dvf|xn--mgbc0a9azcg|xn--nqv7fs00ema|americanfamily|bananarepublic|cancerresearch|cookingchannel|kerrylogistics|weatherchannel|xn--54b7fta0cc|xn--6qq986b3xl|xn--80aqecdr1a|xn--b4w605ferd|xn--fiq228c5hs|xn--h2breg3eve|xn--jlq480n2rg|xn--jlq61u9w7b|xn--mgba3a3ejt|xn--mgbaam7a8h|xn--mgbayh7gpa|xn--mgbbh1a71e|xn--mgbca7dzdo|xn--mgbi4ecexp|xn--mgbx4cd0ab|xn--rvc1e0am3e|international|lifeinsurance|travelchannel|wolterskluwer|xn--cckwcxetd|xn--eckvdtc9d|xn--fpcrj9c3d|xn--fzc2c9e2c|xn--h2brj9c8c|xn--tiq49xqyj|xn--yfro4i67o|xn--ygbi2ammx|construction|lplfinancial|scholarships|versicherung|xn--3e0b707e|xn--45br5cyl|xn--4dbrk0ce|xn--80adxhks|xn--80asehdb|xn--8y0a063a|xn--gckr3f0f|xn--mgb9awbf|xn--mgbab2bd|xn--mgbgu82a|xn--mgbpl2fh|xn--mgbt3dhd|xn--mk1bu44c|xn--ngbc5azd|xn--ngbe9e0a|xn--ogbpf8fl|xn--qcka1pmc|accountants|barclaycard|blackfriday|blockbuster|bridgestone|calvinklein|contractors|creditunion|engineering|enterprises|foodnetwork|investments|kerryhotels|lamborghini|motorcycles|olayangroup|photography|playstation|productions|progressive|redumbrella|williamhill|xn--11b4c3d|xn--1ck2e1b|xn--1qqw23a|xn--2scrj9c|xn--3bst00m|xn--3ds443g|xn--3hcrj9c|xn--42c2d9a|xn--45brj9c|xn--55qw42g|xn--6frz82g|xn--80ao21a|xn--9krt00a|xn--cck2b3b|xn--czr694b|xn--d1acj3b|xn--efvy88h|xn--fct429k|xn--fjq720a|xn--flw351e|xn--g2xx48c|xn--gecrj9c|xn--gk3at1e|xn--h2brj9c|xn--hxt814e|xn--imr513n|xn--j6w193g|xn--jvr189m|xn--kprw13d|xn--kpry57d|xn--mgbbh1a|xn--mgbtx2b|xn--mix891f|xn--nyqy26a|xn--otu796d|xn--pgbs0dh|xn--q9jyb4c|xn--rhqv96g|xn--rovu88b|xn--s9brj9c|xn--ses554g|xn--t60b56a|xn--vuq861b|xn--w4rs40l|xn--xhq521b|xn--zfr164b|சிங்கப்பூர்|accountant|apartments|associates|basketball|bnpparibas|boehringer|capitalone|consulting|creditcard|cuisinella|eurovision|extraspace|foundation|healthcare|immobilien|industries|management|mitsubishi|nextdirect|properties|protection|prudential|realestate|republican|restaurant|schaeffler|tatamotors|technology|university|vlaanderen|volkswagen|xn--30rr7y|xn--3pxu8k|xn--45q11c|xn--4gbrim|xn--55qx5d|xn--5tzm5g|xn--80aswg|xn--90a3ac|xn--9dbq2a|xn--9et52u|xn--c2br7g|xn--cg4bki|xn--czrs0t|xn--czru2d|xn--fiq64b|xn--fiqs8s|xn--fiqz9s|xn--io0a7i|xn--kput3i|xn--mxtq1m|xn--o3cw4h|xn--pssy2u|xn--q7ce6a|xn--unup4y|xn--wgbh1c|xn--wgbl6a|xn--y9a3aq|accenture|alfaromeo|allfinanz|amsterdam|analytics|aquarelle|barcelona|bloomberg|christmas|community|directory|education|equipment|fairwinds|financial|firestone|fresenius|frontdoor|furniture|goldpoint|hisamitsu|homedepot|homegoods|homesense|institute|insurance|kuokgroup|lancaster|landrover|lifestyle|marketing|marshalls|melbourne|microsoft|panasonic|passagens|pramerica|richardli|shangrila|solutions|statebank|statefarm|stockholm|travelers|vacations|xn--90ais|xn--c1avg|xn--d1alf|xn--e1a4c|xn--fhbei|xn--j1aef|xn--j1amh|xn--l1acc|xn--ngbrx|xn--nqv7f|xn--p1acf|xn--qxa6a|xn--tckwe|xn--vhquv|yodobashi|موريتانيا|abudhabi|airforce|allstate|attorney|barclays|barefoot|bargains|baseball|boutique|bradesco|broadway|brussels|builders|business|capetown|catering|catholic|cipriani|cityeats|cleaning|clinique|clothing|commbank|computer|delivery|deloitte|democrat|diamonds|discount|discover|download|engineer|ericsson|etisalat|exchange|feedback|fidelity|firmdale|football|frontier|goodyear|grainger|graphics|guardian|hdfcbank|helsinki|holdings|hospital|infiniti|ipiranga|istanbul|jpmorgan|lighting|lundbeck|marriott|maserati|mckinsey|memorial|merckmsd|mortgage|observer|partners|pharmacy|pictures|plumbing|property|redstone|reliance|saarland|samsclub|security|services|shopping|showtime|softbank|software|stcgroup|supplies|training|vanguard|ventures|verisign|woodside|xn--90ae|xn--node|xn--p1ai|xn--qxam|yokohama|السعودية|abogado|academy|agakhan|alibaba|android|athleta|auction|audible|auspost|avianca|banamex|bauhaus|bentley|bestbuy|booking|brother|bugatti|capital|caravan|careers|channel|charity|chintai|citadel|clubmed|college|cologne|comcast|company|compare|contact|cooking|corsica|country|coupons|courses|cricket|cruises|dentist|digital|domains|exposed|express|farmers|fashion|ferrari|ferrero|finance|fishing|fitness|flights|florist|flowers|forsale|frogans|fujitsu|gallery|genting|godaddy|grocery|guitars|hamburg|hangout|hitachi|holiday|hosting|hoteles|hotmail|hyundai|ismaili|jewelry|juniper|kitchen|komatsu|lacaixa|lanxess|lasalle|latrobe|leclerc|limited|lincoln|markets|monster|netbank|netflix|network|neustar|okinawa|oldnavy|organic|origins|philips|pioneer|politie|realtor|recipes|rentals|reviews|rexroth|samsung|sandvik|schmidt|schwarz|science|shiksha|singles|staples|storage|support|surgery|systems|temasek|theater|theatre|tickets|tiffany|toshiba|trading|walmart|wanggou|watches|weather|website|wedding|whoswho|windows|winners|xfinity|yamaxun|youtube|zuerich|католик|اتصالات|البحرين|الجزائر|العليان|پاکستان|كاثوليك|இந்தியா|abarth|abbott|abbvie|africa|agency|airbus|airtel|alipay|alsace|alstom|amazon|anquan|aramco|author|bayern|beauty|berlin|bharti|bostik|boston|broker|camera|career|casino|center|chanel|chrome|church|circle|claims|clinic|coffee|comsec|condos|coupon|credit|cruise|dating|datsun|dealer|degree|dental|design|direct|doctor|dunlop|dupont|durban|emerck|energy|estate|events|expert|family|flickr|futbol|gallup|garden|george|giving|global|google|gratis|health|hermes|hiphop|hockey|hotels|hughes|imamat|insure|intuit|jaguar|joburg|juegos|kaufen|kinder|kindle|kosher|lancia|latino|lawyer|lefrak|living|locker|london|luxury|madrid|maison|makeup|market|mattel|mobile|monash|mormon|moscow|museum|mutual|nagoya|natura|nissan|nissay|norton|nowruz|office|olayan|online|oracle|orange|otsuka|pfizer|photos|physio|pictet|quebec|racing|realty|reisen|repair|report|review|rocher|rogers|ryukyu|safety|sakura|sanofi|school|schule|search|secure|select|shouji|soccer|social|stream|studio|supply|suzuki|swatch|sydney|taipei|taobao|target|tattoo|tennis|tienda|tjmaxx|tkmaxx|toyota|travel|unicom|viajes|viking|villas|virgin|vision|voting|voyage|vuelos|walter|webcam|xihuan|yachts|yandex|zappos|москва|онлайн|ابوظبي|ارامكو|الاردن|المغرب|امارات|فلسطين|مليسيا|भारतम्|இலங்கை|ファッション|actor|adult|aetna|amfam|amica|apple|archi|audio|autos|azure|baidu|beats|bible|bingo|black|boats|bosch|build|canon|cards|chase|cheap|cisco|citic|click|cloud|coach|codes|crown|cymru|dabur|dance|deals|delta|drive|dubai|earth|edeka|email|epson|faith|fedex|final|forex|forum|gallo|games|gifts|gives|glass|globo|gmail|green|gripe|group|gucci|guide|homes|honda|horse|house|hyatt|ikano|irish|jetzt|koeln|kyoto|lamer|lease|legal|lexus|lilly|linde|lipsy|loans|locus|lotte|lotto|macys|mango|media|miami|money|movie|music|nexus|nikon|ninja|nokia|nowtv|omega|osaka|paris|parts|party|phone|photo|pizza|place|poker|praxi|press|prime|promo|quest|radio|rehab|reise|ricoh|rocks|rodeo|rugby|salon|sener|seven|sharp|shell|shoes|skype|sling|smart|smile|solar|space|sport|stada|store|study|style|sucks|swiss|tatar|tires|tirol|tmall|today|tokyo|tools|toray|total|tours|trade|trust|tunes|tushu|ubank|vegas|video|vodka|volvo|wales|watch|weber|weibo|works|world|xerox|yahoo|ישראל|ایران|بازار|بھارت|سودان|سورية|همراه|भारोत|संगठन|বাংলা|భారత్|ഭാരതം|嘉里大酒店|aarp|able|adac|aero|akdn|ally|amex|arab|army|arpa|arte|asda|asia|audi|auto|baby|band|bank|bbva|beer|best|bike|bing|blog|blue|bofa|bond|book|buzz|cafe|call|camp|care|cars|casa|case|cash|cbre|cern|chat|citi|city|club|cool|coop|cyou|data|date|dclk|deal|dell|desi|diet|dish|docs|dvag|erni|fage|fail|fans|farm|fast|fiat|fido|film|fire|fish|flir|food|ford|free|fund|game|gbiz|gent|ggee|gift|gmbh|gold|golf|goog|guge|guru|hair|haus|hdfc|help|here|hgtv|host|hsbc|icbc|ieee|imdb|immo|info|itau|java|jeep|jobs|jprs|kddi|kids|kiwi|kpmg|kred|land|lego|lgbt|lidl|life|like|limo|link|live|loan|loft|love|ltda|luxe|maif|meet|meme|menu|mini|mint|mobi|moda|moto|name|navy|news|next|nico|nike|ollo|open|page|pars|pccw|pics|ping|pink|play|plus|pohl|porn|post|prod|prof|qpon|read|reit|rent|rest|rich|room|rsvp|ruhr|safe|sale|sarl|save|saxo|scot|seat|seek|sexy|shaw|shia|shop|show|silk|sina|site|skin|sncf|sohu|song|sony|spot|star|surf|talk|taxi|team|tech|teva|tiaa|tips|town|toys|tube|vana|visa|viva|vivo|vote|voto|wang|weir|wien|wiki|wine|work|xbox|yoga|zara|zero|zone|дети|сайт|بارت|بيتك|ڀارت|تونس|شبكة|عراق|عمان|موقع|भारत|ভারত|ভাৰত|ਭਾਰਤ|ભારત|ଭାରତ|ಭಾರತ|ලංකා|アマゾン|グーグル|クラウド|ポイント|组织机构|電訊盈科|香格里拉|aaa|abb|abc|aco|ads|aeg|afl|aig|anz|aol|app|art|aws|axa|bar|bbc|bbt|bcg|bcn|bet|bid|bio|biz|bms|bmw|bom|boo|bot|box|buy|bzh|cab|cal|cam|car|cat|cba|cbn|cbs|ceo|cfa|cfd|com|cpa|crs|dad|day|dds|dev|dhl|diy|dnp|dog|dot|dtv|dvr|eat|eco|edu|esq|eus|fan|fit|fly|foo|fox|frl|ftr|fun|fyi|gal|gap|gay|gdn|gea|gle|gmo|gmx|goo|gop|got|gov|hbo|hiv|hkt|hot|how|ibm|ice|icu|ifm|inc|ing|ink|int|ist|itv|jcb|jio|jll|jmp|jnj|jot|joy|kfh|kia|kim|kpn|krd|lat|law|lds|llc|llp|lol|lpl|ltd|man|map|mba|med|men|mil|mit|mlb|mls|mma|moe|moi|mom|mov|msd|mtn|mtr|nab|nba|nec|net|new|nfl|ngo|nhk|now|nra|nrw|ntt|nyc|obi|one|ong|onl|ooo|org|ott|ovh|pay|pet|phd|pid|pin|pnc|pro|pru|pub|pwc|red|ren|ril|rio|rip|run|rwe|sap|sas|sbi|sbs|sca|scb|ses|sew|sex|sfr|ski|sky|soy|spa|srl|stc|tab|tax|tci|tdk|tel|thd|tjx|top|trv|tui|tvs|ubs|uno|uol|ups|vet|vig|vin|vip|wed|win|wme|wow|wtc|wtf|xin|xxx|xyz|you|yun|zip|бел|ком|қаз|мкд|мон|орг|рус|срб|укр|հայ|קום|عرب|قطر|كوم|مصر|कॉम|नेट|คอม|ไทย|ລາວ|ストア|セール|みんな|中文网|亚马逊|天主教|我爱你|新加坡|淡马锡|诺基亚|飞利浦|ac|ad|ae|af|ag|ai|al|am|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cw|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|ss|st|su|sv|sx|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|za|zm|zw|ελ|ευ|бг|ею|рф|გე|닷넷|닷컴|삼성|한국|コム|世界|中信|中国|中國|企业|佛山|信息|健康|八卦|公司|公益|台湾|台灣|商城|商店|商标|嘉里|在线|大拿|娱乐|家電|广东|微博|慈善|手机|招聘|政务|政府|新闻|时尚|書籍|机构|游戏|澳門|点看|移动|网址|网店|网站|网络|联通|谷歌|购物|通販|集团|食品|餐厅|香港)/});var FW=Vn(d3=>{"use strict";Object.defineProperty(d3,"__esModule",{value:!0});d3.EmailMatcher=void 0;var wv=yc(),hZe=Mg(),vv=Bg(),mZe=e3(),pZe=rE(),_Ze=NW(),gZe=new RegExp("[".concat(vv.alphaNumericAndMarksCharsStr,"!#$%&'*+/=?^_`{|}~-]")),yZe=new RegExp("^".concat(_Ze.tldRegex.source,"$")),CZe=function(e){(0,wv.__extends)(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.localPartCharRegex=gZe,n.strictTldRegex=yZe,n}return t.prototype.parseMatches=function(n){for(var i=this.tagBuilder,o=this.localPartCharRegex,r=this.strictTldRegex,s=[],a=n.length,c=new f3,u={m:"a",a:"i",i:"l",l:"t",t:"o",o:":"},f=0,d=0,p=c;f<a;){var g=n.charAt(f);switch(d){case 0:m(g);break;case 1:C(n.charAt(f-1),g);break;case 2:x(g);break;case 3:A(g);break;case 4:b(g);break;case 5:E(g);break;case 6:S(g);break;case 7:v(g);break;default:(0,pZe.throwUnhandledCaseError)(d)}f++}return M(),s;function m(B){B==="m"?P(1):o.test(B)&&P()}function C(B,L){B===":"?o.test(L)?(d=2,p=new f3((0,wv.__assign)((0,wv.__assign)({},p),{hasMailtoPrefix:!0}))):O():u[B]===L||(o.test(L)?d=2:L==="."?d=3:L==="@"?d=4:O())}function x(B){B==="."?d=3:B==="@"?d=4:o.test(B)||O()}function A(B){B==="."||B==="@"?O():o.test(B)?d=2:O()}function b(B){vv.domainNameCharRegex.test(B)?d=5:O()}function E(B){B==="."?d=7:B==="-"?d=6:vv.domainNameCharRegex.test(B)||M()}function S(B){B==="-"||B==="."?M():vv.domainNameCharRegex.test(B)?d=5:M()}function v(B){B==="."||B==="-"?M():vv.domainNameCharRegex.test(B)?(d=5,p=new f3((0,wv.__assign)((0,wv.__assign)({},p),{hasDomainDot:!0}))):M()}function P(B){B===void 0&&(B=2),d=B,p=new f3({idx:f})}function O(){d=0,p=c}function M(){if(p.hasDomainDot){var B=n.slice(p.idx,f);/[-.]$/.test(B)&&(B=B.slice(0,-1));var L=p.hasMailtoPrefix?B.slice(7):B;_(L)&&s.push(new mZe.EmailMatch({tagBuilder:i,matchedText:B,offset:p.idx,email:L}))}O();function _(T){var w=T.split(".").pop()||"",D=w.toLowerCase(),R=r.test(D);return R}}},t}(hZe.Matcher);d3.EmailMatcher=CZe;var f3=function(){function e(t){t===void 0&&(t={}),this.idx=t.idx!==void 0?t.idx:-1,this.hasMailtoPrefix=!!t.hasMailtoPrefix,this.hasDomainDot=!!t.hasDomainDot}return e}()});var Bfe=Vn(h3=>{"use strict";Object.defineProperty(h3,"__esModule",{value:!0});h3.UrlMatchValidator=void 0;var xZe=Bg(),AZe=function(){function e(){}return e.isValid=function(t,n){return!(n&&!this.isValidUriScheme(n)||this.urlMatchDoesNotHaveProtocolOrDot(t,n)||this.urlMatchDoesNotHaveAtLeastOneWordChar(t,n)&&!this.isValidIpAddress(t)||this.containsMultipleDots(t))},e.isValidIpAddress=function(t){var n=new RegExp(this.hasFullProtocolRegex.source+this.ipRegex.source),i=t.match(n);return i!==null},e.containsMultipleDots=function(t){var n=t;return this.hasFullProtocolRegex.test(t)&&(n=t.split("://")[1]),n.split("/")[0].indexOf("..")>-1},e.isValidUriScheme=function(t){var n=t.match(this.uriSchemeRegex),i=n&&n[0].toLowerCase();return i!=="javascript:"&&i!=="vbscript:"},e.urlMatchDoesNotHaveProtocolOrDot=function(t,n){return!!t&&(!n||!this.hasFullProtocolRegex.test(n))&&t.indexOf(".")===-1},e.urlMatchDoesNotHaveAtLeastOneWordChar=function(t,n){return t&&n?!this.hasFullProtocolRegex.test(n)&&!this.hasWordCharAfterProtocolRegex.test(t):!1},e.hasFullProtocolRegex=/^[A-Za-z][-.+A-Za-z0-9]*:\/\//,e.uriSchemeRegex=/^[A-Za-z][-.+A-Za-z0-9]*:/,e.hasWordCharAfterProtocolRegex=new RegExp(":[^\\s]*?["+xZe.alphaCharsStr+"]"),e.ipRegex=/[0-9][0-9]?[0-9]?\.[0-9][0-9]?[0-9]?\.[0-9][0-9]?[0-9]?\.[0-9][0-9]?[0-9]?(:[0-9]*)?\/?$/,e}();h3.UrlMatchValidator=AZe});var VW=Vn(m3=>{"use strict";Object.defineProperty(m3,"__esModule",{value:!0});m3.UrlMatcher=void 0;var TZe=yc(),EZe=Mg(),Mh=Bg(),bZe=NW(),SZe=c3(),wZe=Bfe(),vZe=function(){var e=/(?:[A-Za-z][-.+A-Za-z0-9]{0,63}:(?![A-Za-z][-.+A-Za-z0-9]{0,63}:\/\/)(?!\d+\/?)(?:\/\/)?)/,t=/(?:www\.)/,n=new RegExp("[/?#](?:["+Mh.alphaNumericAndMarksCharsStr+"\\-+&@#/%=~_()|'$*\\[\\]{}?!:,.;^\u2713]*["+Mh.alphaNumericAndMarksCharsStr+"\\-+&@#/%=~_()|'$*\\[\\]{}\u2713])?");return new RegExp(["(?:","(",e.source,(0,Mh.getDomainNameStr)(2),")","|","(","(//)?",t.source,(0,Mh.getDomainNameStr)(6),")","|","(","(//)?",(0,Mh.getDomainNameStr)(10)+"\\.",bZe.tldRegex.source,"(?![-"+Mh.alphaNumericCharsStr+"])",")",")","(?::[0-9]+)?","(?:"+n.source+")?"].join(""),"gi")}(),DZe=new RegExp("["+Mh.alphaNumericAndMarksCharsStr+"]"),PZe=function(e){(0,TZe.__extends)(t,e);function t(n){var i=e.call(this,n)||this;return i.stripPrefix={scheme:!0,www:!0},i.stripTrailingSlash=!0,i.decodePercentEncoding=!0,i.matcherRegex=vZe,i.wordCharRegExp=DZe,i.stripPrefix=n.stripPrefix,i.stripTrailingSlash=n.stripTrailingSlash,i.decodePercentEncoding=n.decodePercentEncoding,i}return t.prototype.parseMatches=function(n){for(var i=this.matcherRegex,o=this.stripPrefix,r=this.stripTrailingSlash,s=this.decodePercentEncoding,a=this.tagBuilder,c=[],u,f=function(){var p=u[0],g=u[1],m=u[4],C=u[5],x=u[9],A=u.index,b=C||x,E=n.charAt(A-1);if(!wZe.UrlMatchValidator.isValid(p,g)||A>0&&E==="@"||A>0&&b&&d.wordCharRegExp.test(E))return"continue";if(/\?$/.test(p)&&(p=p.substr(0,p.length-1)),d.matchHasUnbalancedClosingParen(p))p=p.substr(0,p.length-1);else{var S=d.matchHasInvalidCharAfterTld(p,g);S>-1&&(p=p.substr(0,S))}var v=["http://","https://"].find(function(B){return!!g&&g.indexOf(B)!==-1});if(v){var P=p.indexOf(v);p=p.substr(P),g=g.substr(P),A=A+P}var O=g?"scheme":m?"www":"tld",M=!!g;c.push(new SZe.UrlMatch({tagBuilder:a,matchedText:p,offset:A,urlMatchType:O,url:p,protocolUrlMatch:M,protocolRelativeMatch:!!b,stripPrefix:o,stripTrailingSlash:r,decodePercentEncoding:s}))},d=this;(u=i.exec(n))!==null;)f();return c},t.prototype.matchHasUnbalancedClosingParen=function(n){var i=n.charAt(n.length-1),o;if(i===")")o="(";else if(i==="]")o="[";else if(i==="}")o="{";else return!1;for(var r=0,s=0,a=n.length-1;s<a;s++){var c=n.charAt(s);c===o?r++:c===i&&(r=Math.max(r-1,0))}return r===0},t.prototype.matchHasInvalidCharAfterTld=function(n,i){if(!n)return-1;var o=0;i&&(o=n.indexOf(":"),n=n.slice(o));var r=new RegExp("^((.?//)?[-."+Mh.alphaNumericAndMarksCharsStr+"]*[-"+Mh.alphaNumericAndMarksCharsStr+"]\\.[-"+Mh.alphaNumericAndMarksCharsStr+"]+)"),s=r.exec(n);return s===null?-1:(o+=s[1].length,n=n.slice(s[1].length),/^[^-.A-Za-z0-9:\/?#]/.test(n)?o:-1)},t}(EZe.Matcher);m3.UrlMatcher=PZe});var UW=Vn(p3=>{"use strict";Object.defineProperty(p3,"__esModule",{value:!0});p3.HashtagMatcher=void 0;var IZe=yc(),OZe=Mg(),kW=Bg(),RZe=n3(),MZe=new RegExp("#[_".concat(kW.alphaNumericAndMarksCharsStr,"]{1,139}(?![_").concat(kW.alphaNumericAndMarksCharsStr,"])"),"g"),BZe=new RegExp("[^"+kW.alphaNumericAndMarksCharsStr+"]"),LZe=function(e){(0,IZe.__extends)(t,e);function t(n){var i=e.call(this,n)||this;return i.serviceName="twitter",i.matcherRegex=MZe,i.nonWordCharRegex=BZe,i.serviceName=n.serviceName,i}return t.prototype.parseMatches=function(n){for(var i=this.matcherRegex,o=this.nonWordCharRegex,r=this.serviceName,s=this.tagBuilder,a=[],c;(c=i.exec(n))!==null;){var u=c.index,f=n.charAt(u-1);if(u===0||o.test(f)){var d=c[0],p=c[0].slice(1);a.push(new RZe.HashtagMatch({tagBuilder:s,matchedText:d,offset:u,serviceName:r,hashtag:p}))}}return a},t}(OZe.Matcher);p3.HashtagMatcher=LZe});var zW=Vn(_3=>{"use strict";Object.defineProperty(_3,"__esModule",{value:!0});_3.PhoneMatcher=void 0;var NZe=yc(),FZe=Mg(),VZe=s3(),kZe=Bg(),UZe=/(?:(?:(?:(\+)?\d{1,3}[-\040.]?)?\(?\d{3}\)?[-\040.]?\d{3}[-\040.]?\d{4})|(?:(\+)(?:9[976]\d|8[987530]\d|6[987]\d|5[90]\d|42\d|3[875]\d|2[98654321]\d|9[8543210]|8[6421]|6[6543210]|5[87654321]|4[987654310]|3[9643210]|2[70]|7|1)[-\040.]?(?:\d[-\040.]?){6,12}\d+))([,;]+[0-9]+#?)*/,zZe=/(0([1-9]{1}-?[1-9]\d{3}|[1-9]{2}-?\d{3}|[1-9]{2}\d{1}-?\d{2}|[1-9]{2}\d{2}-?\d{1})-?\d{4}|0[789]0-?\d{4}-?\d{4}|050-?\d{4}-?\d{4})/,HZe=new RegExp("".concat(UZe.source,"|").concat(zZe.source),"g"),GZe=function(e){(0,NZe.__extends)(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.matcherRegex=HZe,n}return t.prototype.parseMatches=function(n){for(var i=this.matcherRegex,o=this.tagBuilder,r=[],s;(s=i.exec(n))!==null;){var a=s[0],c=a.replace(/[^0-9,;#]/g,""),u=!!(s[1]||s[2]),f=s.index==0?"":n.substr(s.index-1,1),d=n.substr(s.index+a.length,1),p=!f.match(/\d/)&&!d.match(/\d/);this.testMatch(s[3])&&this.testMatch(a)&&p&&r.push(new VZe.PhoneMatch({tagBuilder:o,matchedText:a,offset:s.index,number:c,plusSign:u}))}return r},t.prototype.testMatch=function(n){return kZe.nonDigitRe.test(n)},t}(FZe.Matcher);_3.PhoneMatcher=GZe});var HW=Vn(g3=>{"use strict";Object.defineProperty(g3,"__esModule",{value:!0});g3.MentionMatcher=void 0;var WZe=yc(),jZe=Mg(),Bh=Bg(),qZe=o3(),YZe=new RegExp("@[_".concat(Bh.alphaNumericAndMarksCharsStr,"]{1,50}(?![_").concat(Bh.alphaNumericAndMarksCharsStr,"])"),"g"),XZe=new RegExp("@[_.".concat(Bh.alphaNumericAndMarksCharsStr,"]{1,30}(?![_").concat(Bh.alphaNumericAndMarksCharsStr,"])"),"g"),KZe=new RegExp("@[-_.".concat(Bh.alphaNumericAndMarksCharsStr,"]{1,50}(?![-_").concat(Bh.alphaNumericAndMarksCharsStr,"])"),"g"),ZZe=new RegExp("@[_.".concat(Bh.alphaNumericAndMarksCharsStr,"]{1,23}[_").concat(Bh.alphaNumericAndMarksCharsStr,"](?![_").concat(Bh.alphaNumericAndMarksCharsStr,"])"),"g"),$Ze=new RegExp("[^"+Bh.alphaNumericAndMarksCharsStr+"]"),JZe=function(e){(0,WZe.__extends)(t,e);function t(n){var i=e.call(this,n)||this;return i.serviceName="twitter",i.matcherRegexes={twitter:YZe,instagram:XZe,soundcloud:KZe,tiktok:ZZe},i.nonWordCharRegex=$Ze,i.serviceName=n.serviceName,i}return t.prototype.parseMatches=function(n){var i=this.serviceName,o=this.matcherRegexes[this.serviceName],r=this.nonWordCharRegex,s=this.tagBuilder,a=[],c;if(!o)return a;for(;(c=o.exec(n))!==null;){var u=c.index,f=n.charAt(u-1);if(u===0||r.test(f)){var d=c[0].replace(/\.+$/g,""),p=d.slice(1);a.push(new qZe.MentionMatch({tagBuilder:s,matchedText:d,offset:u,serviceName:i,mention:p}))}}return a},t}(jZe.Matcher);g3.MentionMatcher=JZe});var Lfe=Vn(y3=>{"use strict";Object.defineProperty(y3,"__esModule",{value:!0});y3.parseHtml=void 0;var La=yc(),Cc=Bg(),QZe=rE();function e$e(e,t){for(var n=t.onOpenTag,i=t.onCloseTag,o=t.onText,r=t.onComment,s=t.onDoctype,a=new Lh,c=0,u=e.length,f=0,d=0,p=a;c<u;){var g=e.charAt(c);switch(f){case 0:m(g);break;case 1:C(g);break;case 2:A(g);break;case 3:x(g);break;case 4:b(g);break;case 5:E(g);break;case 6:S(g);break;case 7:v(g);break;case 8:P(g);break;case 9:O(g);break;case 10:M(g);break;case 11:B(g);break;case 12:L(g);break;case 13:_(g);break;case 14:T(g);break;case 15:w(g);break;case 16:D(g);break;case 17:R(g);break;case 18:F(g);break;case 19:z(g);break;case 20:k(g);break;default:(0,QZe.throwUnhandledCaseError)(f)}c++}d<c&&q();function m(K){K==="<"&&V()}function C(K){K==="!"?f=13:K==="/"?(f=2,p=new Lh((0,La.__assign)((0,La.__assign)({},p),{isClosing:!0}))):K==="<"?V():Cc.letterRe.test(K)?(f=3,p=new Lh((0,La.__assign)((0,La.__assign)({},p),{isOpening:!0}))):(f=0,p=a)}function x(K){Cc.whitespaceRe.test(K)?(p=new Lh((0,La.__assign)((0,La.__assign)({},p),{name:X()})),f=4):K==="<"?V():K==="/"?(p=new Lh((0,La.__assign)((0,La.__assign)({},p),{name:X()})),f=12):K===">"?(p=new Lh((0,La.__assign)((0,La.__assign)({},p),{name:X()})),Y()):!Cc.letterRe.test(K)&&!Cc.digitRe.test(K)&&K!==":"&&H()}function A(K){K===">"?H():Cc.letterRe.test(K)?f=3:H()}function b(K){Cc.whitespaceRe.test(K)||(K==="/"?f=12:K===">"?Y():K==="<"?V():K==="="||Cc.quoteRe.test(K)||Cc.controlCharsRe.test(K)?H():f=5)}function E(K){Cc.whitespaceRe.test(K)?f=6:K==="/"?f=12:K==="="?f=7:K===">"?Y():K==="<"?V():Cc.quoteRe.test(K)&&H()}function S(K){Cc.whitespaceRe.test(K)||(K==="/"?f=12:K==="="?f=7:K===">"?Y():K==="<"?V():Cc.quoteRe.test(K)?H():f=5)}function v(K){Cc.whitespaceRe.test(K)||(K==='"'?f=8:K==="'"?f=9:/[>=`]/.test(K)?H():K==="<"?V():f=10)}function P(K){K==='"'&&(f=11)}function O(K){K==="'"&&(f=11)}function M(K){Cc.whitespaceRe.test(K)?f=4:K===">"?Y():K==="<"&&V()}function B(K){Cc.whitespaceRe.test(K)?f=4:K==="/"?f=12:K===">"?Y():K==="<"?V():(f=4,W())}function L(K){K===">"?(p=new Lh((0,La.__assign)((0,La.__assign)({},p),{isClosing:!0})),Y()):f=4}function _(K){e.substr(c,2)==="--"?(c+=2,p=new Lh((0,La.__assign)((0,La.__assign)({},p),{type:"comment"})),f=14):e.substr(c,7).toUpperCase()==="DOCTYPE"?(c+=7,p=new Lh((0,La.__assign)((0,La.__assign)({},p),{type:"doctype"})),f=20):H()}function T(K){K==="-"?f=15:K===">"?H():f=16}function w(K){K==="-"?f=18:K===">"?H():f=16}function D(K){K==="-"&&(f=17)}function R(K){K==="-"?f=18:f=16}function F(K){K===">"?Y():K==="!"?f=19:K==="-"||(f=16)}function z(K){K==="-"?f=17:K===">"?Y():f=16}function k(K){K===">"?Y():K==="<"&&V()}function H(){f=0,p=a}function V(){f=1,p=new Lh({idx:c})}function Y(){var K=e.slice(d,p.idx);K&&o(K,d),p.type==="comment"?r(p.idx):p.type==="doctype"?s(p.idx):(p.isOpening&&n(p.name,p.idx),p.isClosing&&i(p.name,p.idx)),H(),d=c+1}function q(){var K=e.slice(d,c);o(K,d),d=c+1}function X(){var K=p.idx+(p.isClosing?2:1);return e.slice(K,c).toLowerCase()}function W(){c--}}y3.parseHtml=e$e;var Lh=function(){function e(t){t===void 0&&(t={}),this.idx=t.idx!==void 0?t.idx:-1,this.type=t.type||"tag",this.name=t.name||"",this.isOpening=!!t.isOpening,this.isClosing=!!t.isClosing}return e}()});var C3=Vn(GW=>{"use strict";Object.defineProperty(GW,"__esModule",{value:!0});var t$e=afe(),_p=rE(),Nfe=BW(),n$e=Rg(),i$e=e3(),o$e=n3(),r$e=o3(),s$e=s3(),a$e=c3(),c$e=Mg(),Ffe=W2(),Vfe=FW(),kfe=VW(),Ufe=UW(),zfe=zW(),Hfe=HW(),l$e=Lfe(),u$e=function(){function e(t){t===void 0&&(t={}),this.version=e.version,this.urls={},this.email=!0,this.phone=!0,this.hashtag=!1,this.mention=!1,this.newWindow=!0,this.stripPrefix={scheme:!0,www:!0},this.stripTrailingSlash=!0,this.decodePercentEncoding=!0,this.truncate={length:0,location:"end"},this.className="",this.replaceFn=null,this.context=void 0,this.sanitizeHtml=!1,this.matchers=null,this.tagBuilder=null,this.urls=this.normalizeUrlsCfg(t.urls),this.email=typeof t.email=="boolean"?t.email:this.email,this.phone=typeof t.phone=="boolean"?t.phone:this.phone,this.hashtag=t.hashtag||this.hashtag,this.mention=t.mention||this.mention,this.newWindow=typeof t.newWindow=="boolean"?t.newWindow:this.newWindow,this.stripPrefix=this.normalizeStripPrefixCfg(t.stripPrefix),this.stripTrailingSlash=typeof t.stripTrailingSlash=="boolean"?t.stripTrailingSlash:this.stripTrailingSlash,this.decodePercentEncoding=typeof t.decodePercentEncoding=="boolean"?t.decodePercentEncoding:this.decodePercentEncoding,this.sanitizeHtml=t.sanitizeHtml||!1;var n=this.mention;if(n!==!1&&["twitter","instagram","soundcloud","tiktok"].indexOf(n)===-1)throw new Error("invalid `mention` cfg '".concat(n,"' - see docs"));var i=this.hashtag;if(i!==!1&&["twitter","facebook","instagram","tiktok"].indexOf(i)===-1)throw new Error("invalid `hashtag` cfg '".concat(i,"' - see docs"));this.truncate=this.normalizeTruncateCfg(t.truncate),this.className=t.className||this.className,this.replaceFn=t.replaceFn||this.replaceFn,this.context=t.context||this}return e.link=function(t,n){var i=new e(n);return i.link(t)},e.parse=function(t,n){var i=new e(n);return i.parse(t)},e.prototype.normalizeUrlsCfg=function(t){return t==null&&(t=!0),typeof t=="boolean"?{schemeMatches:t,wwwMatches:t,tldMatches:t}:{schemeMatches:typeof t.schemeMatches=="boolean"?t.schemeMatches:!0,wwwMatches:typeof t.wwwMatches=="boolean"?t.wwwMatches:!0,tldMatches:typeof t.tldMatches=="boolean"?t.tldMatches:!0}},e.prototype.normalizeStripPrefixCfg=function(t){return t==null&&(t=!0),typeof t=="boolean"?{scheme:t,www:t}:{scheme:typeof t.scheme=="boolean"?t.scheme:!0,www:typeof t.www=="boolean"?t.www:!0}},e.prototype.normalizeTruncateCfg=function(t){return typeof t=="number"?{length:t,location:"end"}:(0,_p.defaults)(t||{},{length:Number.POSITIVE_INFINITY,location:"end"})},e.prototype.parse=function(t){var n=this,i=["a","style","script"],o=0,r=[];return(0,l$e.parseHtml)(t,{onOpenTag:function(s){i.indexOf(s)>=0&&o++},onText:function(s,a){if(o===0){var c=/(&nbsp;|&#160;|&lt;|&#60;|&gt;|&#62;|&quot;|&#34;|&#39;)/gi,u=(0,_p.splitAndCapture)(s,c),f=a;u.forEach(function(d,p){if(p%2===0){var g=n.parseText(d,f);r.push.apply(r,g)}f+=d.length})}},onCloseTag:function(s){i.indexOf(s)>=0&&(o=Math.max(o-1,0))},onComment:function(s){},onDoctype:function(s){}}),r=this.compactMatches(r),r=this.removeUnwantedMatches(r),r},e.prototype.compactMatches=function(t){t.sort(function(c,u){return c.getOffset()-u.getOffset()});for(var n=0;n<t.length-1;){var i=t[n],o=i.getOffset(),r=i.getMatchedText().length,s=o+r;if(n+1<t.length){if(t[n+1].getOffset()===o){var a=t[n+1].getMatchedText().length>r?n:n+1;t.splice(a,1);continue}if(t[n+1].getOffset()<s){t.splice(n+1,1);continue}}n++}return t},e.prototype.removeUnwantedMatches=function(t){return this.hashtag||(0,_p.remove)(t,function(n){return n.getType()==="hashtag"}),this.email||(0,_p.remove)(t,function(n){return n.getType()==="email"}),this.phone||(0,_p.remove)(t,function(n){return n.getType()==="phone"}),this.mention||(0,_p.remove)(t,function(n){return n.getType()==="mention"}),this.urls.schemeMatches||(0,_p.remove)(t,function(n){return n.getType()==="url"&&n.getUrlMatchType()==="scheme"}),this.urls.wwwMatches||(0,_p.remove)(t,function(n){return n.getType()==="url"&&n.getUrlMatchType()==="www"}),this.urls.tldMatches||(0,_p.remove)(t,function(n){return n.getType()==="url"&&n.getUrlMatchType()==="tld"}),t},e.prototype.parseText=function(t,n){n===void 0&&(n=0),n=n||0;for(var i=this.getMatchers(),o=[],r=0,s=i.length;r<s;r++){for(var a=i[r].parseMatches(t),c=0,u=a.length;c<u;c++)a[c].setOffset(n+a[c].getOffset());o.push.apply(o,a)}return o},e.prototype.link=function(t){if(!t)return"";this.sanitizeHtml&&(t=t.replace(/</g,"&lt;").replace(/>/g,"&gt;"));for(var n=this.parse(t),i=[],o=0,r=0,s=n.length;r<s;r++){var a=n[r];i.push(t.substring(o,a.getOffset())),i.push(this.createMatchReturnVal(a)),o=a.getOffset()+a.getMatchedText().length}return i.push(t.substring(o)),i.join("")},e.prototype.createMatchReturnVal=function(t){var n;if(this.replaceFn&&(n=this.replaceFn.call(this.context,t)),typeof n=="string")return n;if(n===!1)return t.getMatchedText();if(n instanceof Ffe.HtmlTag)return n.toAnchorString();var i=t.buildTag();return i.toAnchorString()},e.prototype.getMatchers=function(){if(this.matchers)return this.matchers;var t=this.getTagBuilder(),n=[new Ufe.HashtagMatcher({tagBuilder:t,serviceName:this.hashtag}),new Vfe.EmailMatcher({tagBuilder:t}),new zfe.PhoneMatcher({tagBuilder:t}),new Hfe.MentionMatcher({tagBuilder:t,serviceName:this.mention}),new kfe.UrlMatcher({tagBuilder:t,stripPrefix:this.stripPrefix,stripTrailingSlash:this.stripTrailingSlash,decodePercentEncoding:this.decodePercentEncoding})];return this.matchers=n},e.prototype.getTagBuilder=function(){var t=this.tagBuilder;return t||(t=this.tagBuilder=new Nfe.AnchorTagBuilder({newWindow:this.newWindow,truncate:this.truncate,className:this.className})),t},e.version=t$e.version,e.AnchorTagBuilder=Nfe.AnchorTagBuilder,e.HtmlTag=Ffe.HtmlTag,e.matcher={Email:Vfe.EmailMatcher,Hashtag:Ufe.HashtagMatcher,Matcher:c$e.Matcher,Mention:Hfe.MentionMatcher,Phone:zfe.PhoneMatcher,Url:kfe.UrlMatcher},e.match={Email:i$e.EmailMatch,Hashtag:o$e.HashtagMatch,Match:n$e.Match,Mention:r$e.MentionMatch,Phone:s$e.PhoneMatch,Url:a$e.UrlMatch},e}();GW.default=u$e});var Gfe=Vn(Lg=>{"use strict";Object.defineProperty(Lg,"__esModule",{value:!0});var aE=yc();(0,aE.__exportStar)(e3(),Lg);(0,aE.__exportStar)(n3(),Lg);(0,aE.__exportStar)(Rg(),Lg);(0,aE.__exportStar)(o3(),Lg);(0,aE.__exportStar)(s3(),Lg);(0,aE.__exportStar)(c3(),Lg)});var Wfe=Vn(Ng=>{"use strict";Object.defineProperty(Ng,"__esModule",{value:!0});var cE=yc();(0,cE.__exportStar)(FW(),Ng);(0,cE.__exportStar)(UW(),Ng);(0,cE.__exportStar)(Mg(),Ng);(0,cE.__exportStar)(HW(),Ng);(0,cE.__exportStar)(zW(),Ng);(0,cE.__exportStar)(VW(),Ng)});var WW=Vn((nd,qfe)=>{"use strict";nd=qfe.exports=C3().default;Object.defineProperty(nd,"__esModule",{value:!0});nd.Autolinker=void 0;var lE=yc(),jfe=(0,lE.__importDefault)(C3());nd.Autolinker=jfe.default;nd.default=jfe.default;(0,lE.__exportStar)(C3(),nd);(0,lE.__exportStar)(BW(),nd);(0,lE.__exportStar)(W2(),nd);(0,lE.__exportStar)(Gfe(),nd);(0,lE.__exportStar)(Wfe(),nd)});var lye=Vn((eP,rY)=>{/*! NoSleep.min.js v0.9.0 - git.io/vfn01 - Rich Tibbett - MIT license */(function(e,t){typeof eP=="object"&&typeof rY=="object"?rY.exports=t():typeof define=="function"&&define.amd?define([],t):typeof eP=="object"?eP.NoSleep=t():e.NoSleep=t()})(typeof self<"u"?self:eP,function(){return function(e){function t(i){if(n[i])return n[i].exports;var o=n[i]={i,l:!1,exports:{}};return e[i].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.d=function(i,o,r){t.o(i,o)||Object.defineProperty(i,o,{configurable:!1,enumerable:!0,get:r})},t.n=function(i){var o=i&&i.__esModule?function(){return i.default}:function(){return i};return t.d(o,"a",o),o},t.o=function(i,o){return Object.prototype.hasOwnProperty.call(i,o)},t.p="",t(t.s=0)}([function(e,t,n){"use strict";function i(f,d){if(!(f instanceof d))throw new TypeError("Cannot call a class as a function")}var o=function(){function f(d,p){for(var g=0;g<p.length;g++){var m=p[g];m.enumerable=m.enumerable||!1,m.configurable=!0,"value"in m&&(m.writable=!0),Object.defineProperty(d,m.key,m)}}return function(d,p,g){return p&&f(d.prototype,p),g&&f(d,g),d}}(),r=n(1),s=r.webm,a=r.mp4,c=typeof navigator<"u"&&parseFloat((""+(/CPU.*OS ([0-9_]{3,4})[0-9_]{0,1}|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)||[0,""])[1]).replace("undefined","3_2").replace("_",".").replace("_",""))<10&&!window.MSStream,u=function(){function f(){var d=this;i(this,f),c?this.noSleepTimer=null:(this.noSleepVideo=document.createElement("video"),this.noSleepVideo.setAttribute("muted",""),this.noSleepVideo.setAttribute("title","No Sleep"),this.noSleepVideo.setAttribute("playsinline",""),this._addSourceToVideo(this.noSleepVideo,"webm",s),this._addSourceToVideo(this.noSleepVideo,"mp4",a),this.noSleepVideo.addEventListener("loadedmetadata",function(){d.noSleepVideo.duration<=1?d.noSleepVideo.setAttribute("loop",""):d.noSleepVideo.addEventListener("timeupdate",function(){d.noSleepVideo.currentTime>.5&&(d.noSleepVideo.currentTime=Math.random())})}))}return o(f,[{key:"_addSourceToVideo",value:function(d,p,g){var m=document.createElement("source");m.src=g,m.type="video/"+p,d.appendChild(m)}},{key:"enable",value:function(){c?(this.disable(),console.warn(`
  69. NoSleep enabled for older iOS devices. This can interrupt
  70. active or long-running network requests from completing successfully.
  71. See https://github.com/richtr/NoSleep.js/issues/15 for more details.
  72. `),this.noSleepTimer=window.setInterval(function(){document.hidden||(window.location.href=window.location.href.split("#")[0],window.setTimeout(window.stop,0))},15e3)):this.noSleepVideo.play()}},{key:"disable",value:function(){c?this.noSleepTimer&&(console.warn(`
  73. NoSleep now disabled for older iOS devices.
  74. `),window.clearInterval(this.noSleepTimer),this.noSleepTimer=null):this.noSleepVideo.pause()}}]),f}();e.exports=u},function(e,t,n){"use strict";e.exports={webm:"data:video/webm;base64,GkXfo0AgQoaBAUL3gQFC8oEEQvOBCEKCQAR3ZWJtQoeBAkKFgQIYU4BnQI0VSalmQCgq17FAAw9CQE2AQAZ3aGFtbXlXQUAGd2hhbW15RIlACECPQAAAAAAAFlSua0AxrkAu14EBY8WBAZyBACK1nEADdW5khkAFVl9WUDglhohAA1ZQOIOBAeBABrCBCLqBCB9DtnVAIueBAKNAHIEAAIAwAQCdASoIAAgAAUAmJaQAA3AA/vz0AAA=",mp4:"data:video/mp4;base64,AAAAIGZ0eXBtcDQyAAACAGlzb21pc28yYXZjMW1wNDEAAAAIZnJlZQAACKBtZGF0AAAC8wYF///v3EXpvebZSLeWLNgg2SPu73gyNjQgLSBjb3JlIDE0MiByMjQ3OSBkZDc5YTYxIC0gSC4yNjQvTVBFRy00IEFWQyBjb2RlYyAtIENvcHlsZWZ0IDIwMDMtMjAxNCAtIGh0dHA6Ly93d3cudmlkZW9sYW4ub3JnL3gyNjQuaHRtbCAtIG9wdGlvbnM6IGNhYmFjPTEgcmVmPTEgZGVibG9jaz0xOjA6MCBhbmFseXNlPTB4MToweDExMSBtZT1oZXggc3VibWU9MiBwc3k9MSBwc3lfcmQ9MS4wMDowLjAwIG1peGVkX3JlZj0wIG1lX3JhbmdlPTE2IGNocm9tYV9tZT0xIHRyZWxsaXM9MCA4eDhkY3Q9MCBjcW09MCBkZWFkem9uZT0yMSwxMSBmYXN0X3Bza2lwPTEgY2hyb21hX3FwX29mZnNldD0wIHRocmVhZHM9NiBsb29rYWhlYWRfdGhyZWFkcz0xIHNsaWNlZF90aHJlYWRzPTAgbnI9MCBkZWNpbWF0ZT0xIGludGVybGFjZWQ9MCBibHVyYXlfY29tcGF0PTAgY29uc3RyYWluZWRfaW50cmE9MCBiZnJhbWVzPTMgYl9weXJhbWlkPTIgYl9hZGFwdD0xIGJfYmlhcz0wIGRpcmVjdD0xIHdlaWdodGI9MSBvcGVuX2dvcD0wIHdlaWdodHA9MSBrZXlpbnQ9MzAwIGtleWludF9taW49MzAgc2NlbmVjdXQ9NDAgaW50cmFfcmVmcmVzaD0wIHJjX2xvb2thaGVhZD0xMCByYz1jcmYgbWJ0cmVlPTEgY3JmPTIwLjAgcWNvbXA9MC42MCBxcG1pbj0wIHFwbWF4PTY5IHFwc3RlcD00IHZidl9tYXhyYXRlPTIwMDAwIHZidl9idWZzaXplPTI1MDAwIGNyZl9tYXg9MC4wIG5hbF9ocmQ9bm9uZSBmaWxsZXI9MCBpcF9yYXRpbz0xLjQwIGFxPTE6MS4wMACAAAAAOWWIhAA3//p+C7v8tDDSTjf97w55i3SbRPO4ZY+hkjD5hbkAkL3zpJ6h/LR1CAABzgB1kqqzUorlhQAAAAxBmiQYhn/+qZYADLgAAAAJQZ5CQhX/AAj5IQADQGgcIQADQGgcAAAACQGeYUQn/wALKCEAA0BoHAAAAAkBnmNEJ/8ACykhAANAaBwhAANAaBwAAAANQZpoNExDP/6plgAMuSEAA0BoHAAAAAtBnoZFESwr/wAI+SEAA0BoHCEAA0BoHAAAAAkBnqVEJ/8ACykhAANAaBwAAAAJAZ6nRCf/AAsoIQADQGgcIQADQGgcAAAADUGarDRMQz/+qZYADLghAANAaBwAAAALQZ7KRRUsK/8ACPkhAANAaBwAAAAJAZ7pRCf/AAsoIQADQGgcIQADQGgcAAAACQGe60Qn/wALKCEAA0BoHAAAAA1BmvA0TEM//qmWAAy5IQADQGgcIQADQGgcAAAAC0GfDkUVLCv/AAj5IQADQGgcAAAACQGfLUQn/wALKSEAA0BoHCEAA0BoHAAAAAkBny9EJ/8ACyghAANAaBwAAAANQZs0NExDP/6plgAMuCEAA0BoHAAAAAtBn1JFFSwr/wAI+SEAA0BoHCEAA0BoHAAAAAkBn3FEJ/8ACyghAANAaBwAAAAJAZ9zRCf/AAsoIQADQGgcIQADQGgcAAAADUGbeDRMQz/+qZYADLkhAANAaBwAAAALQZ+WRRUsK/8ACPghAANAaBwhAANAaBwAAAAJAZ+1RCf/AAspIQADQGgcAAAACQGft0Qn/wALKSEAA0BoHCEAA0BoHAAAAA1Bm7w0TEM//qmWAAy4IQADQGgcAAAAC0Gf2kUVLCv/AAj5IQADQGgcAAAACQGf+UQn/wALKCEAA0BoHCEAA0BoHAAAAAkBn/tEJ/8ACykhAANAaBwAAAANQZvgNExDP/6plgAMuSEAA0BoHCEAA0BoHAAAAAtBnh5FFSwr/wAI+CEAA0BoHAAAAAkBnj1EJ/8ACyghAANAaBwhAANAaBwAAAAJAZ4/RCf/AAspIQADQGgcAAAADUGaJDRMQz/+qZYADLghAANAaBwAAAALQZ5CRRUsK/8ACPkhAANAaBwhAANAaBwAAAAJAZ5hRCf/AAsoIQADQGgcAAAACQGeY0Qn/wALKSEAA0BoHCEAA0BoHAAAAA1Bmmg0TEM//qmWAAy5IQADQGgcAAAAC0GehkUVLCv/AAj5IQADQGgcIQADQGgcAAAACQGepUQn/wALKSEAA0BoHAAAAAkBnqdEJ/8ACyghAANAaBwAAAANQZqsNExDP/6plgAMuCEAA0BoHCEAA0BoHAAAAAtBnspFFSwr/wAI+SEAA0BoHAAAAAkBnulEJ/8ACyghAANAaBwhAANAaBwAAAAJAZ7rRCf/AAsoIQADQGgcAAAADUGa8DRMQz/+qZYADLkhAANAaBwhAANAaBwAAAALQZ8ORRUsK/8ACPkhAANAaBwAAAAJAZ8tRCf/AAspIQADQGgcIQADQGgcAAAACQGfL0Qn/wALKCEAA0BoHAAAAA1BmzQ0TEM//qmWAAy4IQADQGgcAAAAC0GfUkUVLCv/AAj5IQADQGgcIQADQGgcAAAACQGfcUQn/wALKCEAA0BoHAAAAAkBn3NEJ/8ACyghAANAaBwhAANAaBwAAAANQZt4NExC//6plgAMuSEAA0BoHAAAAAtBn5ZFFSwr/wAI+CEAA0BoHCEAA0BoHAAAAAkBn7VEJ/8ACykhAANAaBwAAAAJAZ+3RCf/AAspIQADQGgcAAAADUGbuzRMQn/+nhAAYsAhAANAaBwhAANAaBwAAAAJQZ/aQhP/AAspIQADQGgcAAAACQGf+UQn/wALKCEAA0BoHCEAA0BoHCEAA0BoHCEAA0BoHCEAA0BoHCEAA0BoHAAACiFtb292AAAAbG12aGQAAAAA1YCCX9WAgl8AAAPoAAAH/AABAAABAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAGGlvZHMAAAAAEICAgAcAT////v7/AAAF+XRyYWsAAABcdGtoZAAAAAPVgIJf1YCCXwAAAAEAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAygAAAMoAAAAAACRlZHRzAAAAHGVsc3QAAAAAAAAAAQAAB9AAABdwAAEAAAAABXFtZGlhAAAAIG1kaGQAAAAA1YCCX9WAgl8AAV+QAAK/IFXEAAAAAAAtaGRscgAAAAAAAAAAdmlkZQAAAAAAAAAAAAAAAFZpZGVvSGFuZGxlcgAAAAUcbWluZgAAABR2bWhkAAAAAQAAAAAAAAAAAAAAJGRpbmYAAAAcZHJlZgAAAAAAAAABAAAADHVybCAAAAABAAAE3HN0YmwAAACYc3RzZAAAAAAAAAABAAAAiGF2YzEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAygDKAEgAAABIAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY//8AAAAyYXZjQwFNQCj/4QAbZ01AKOyho3ySTUBAQFAAAAMAEAAr8gDxgxlgAQAEaO+G8gAAABhzdHRzAAAAAAAAAAEAAAA8AAALuAAAABRzdHNzAAAAAAAAAAEAAAABAAAB8GN0dHMAAAAAAAAAPAAAAAEAABdwAAAAAQAAOpgAAAABAAAXcAAAAAEAAAAAAAAAAQAAC7gAAAABAAA6mAAAAAEAABdwAAAAAQAAAAAAAAABAAALuAAAAAEAADqYAAAAAQAAF3AAAAABAAAAAAAAAAEAAAu4AAAAAQAAOpgAAAABAAAXcAAAAAEAAAAAAAAAAQAAC7gAAAABAAA6mAAAAAEAABdwAAAAAQAAAAAAAAABAAALuAAAAAEAADqYAAAAAQAAF3AAAAABAAAAAAAAAAEAAAu4AAAAAQAAOpgAAAABAAAXcAAAAAEAAAAAAAAAAQAAC7gAAAABAAA6mAAAAAEAABdwAAAAAQAAAAAAAAABAAALuAAAAAEAADqYAAAAAQAAF3AAAAABAAAAAAAAAAEAAAu4AAAAAQAAOpgAAAABAAAXcAAAAAEAAAAAAAAAAQAAC7gAAAABAAA6mAAAAAEAABdwAAAAAQAAAAAAAAABAAALuAAAAAEAADqYAAAAAQAAF3AAAAABAAAAAAAAAAEAAAu4AAAAAQAAOpgAAAABAAAXcAAAAAEAAAAAAAAAAQAAC7gAAAABAAA6mAAAAAEAABdwAAAAAQAAAAAAAAABAAALuAAAAAEAAC7gAAAAAQAAF3AAAAABAAAAAAAAABxzdHNjAAAAAAAAAAEAAAABAAAAAQAAAAEAAAEEc3RzegAAAAAAAAAAAAAAPAAAAzQAAAAQAAAADQAAAA0AAAANAAAAEQAAAA8AAAANAAAADQAAABEAAAAPAAAADQAAAA0AAAARAAAADwAAAA0AAAANAAAAEQAAAA8AAAANAAAADQAAABEAAAAPAAAADQAAAA0AAAARAAAADwAAAA0AAAANAAAAEQAAAA8AAAANAAAADQAAABEAAAAPAAAADQAAAA0AAAARAAAADwAAAA0AAAANAAAAEQAAAA8AAAANAAAADQAAABEAAAAPAAAADQAAAA0AAAARAAAADwAAAA0AAAANAAAAEQAAAA8AAAANAAAADQAAABEAAAANAAAADQAAAQBzdGNvAAAAAAAAADwAAAAwAAADZAAAA3QAAAONAAADoAAAA7kAAAPQAAAD6wAAA/4AAAQXAAAELgAABEMAAARcAAAEbwAABIwAAAShAAAEugAABM0AAATkAAAE/wAABRIAAAUrAAAFQgAABV0AAAVwAAAFiQAABaAAAAW1AAAFzgAABeEAAAX+AAAGEwAABiwAAAY/AAAGVgAABnEAAAaEAAAGnQAABrQAAAbPAAAG4gAABvUAAAcSAAAHJwAAB0AAAAdTAAAHcAAAB4UAAAeeAAAHsQAAB8gAAAfjAAAH9gAACA8AAAgmAAAIQQAACFQAAAhnAAAIhAAACJcAAAMsdHJhawAAAFx0a2hkAAAAA9WAgl/VgIJfAAAAAgAAAAAAAAf8AAAAAAAAAAAAAAABAQAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAACsm1kaWEAAAAgbWRoZAAAAADVgIJf1YCCXwAArEQAAWAAVcQAAAAAACdoZGxyAAAAAAAAAABzb3VuAAAAAAAAAAAAAAAAU3RlcmVvAAAAAmNtaW5mAAAAEHNtaGQAAAAAAAAAAAAAACRkaW5mAAAAHGRyZWYAAAAAAAAAAQAAAAx1cmwgAAAAAQAAAidzdGJsAAAAZ3N0c2QAAAAAAAAAAQAAAFdtcDRhAAAAAAAAAAEAAAAAAAAAAAACABAAAAAArEQAAAAAADNlc2RzAAAAAAOAgIAiAAIABICAgBRAFQAAAAADDUAAAAAABYCAgAISEAaAgIABAgAAABhzdHRzAAAAAAAAAAEAAABYAAAEAAAAABxzdHNjAAAAAAAAAAEAAAABAAAAAQAAAAEAAAAUc3RzegAAAAAAAAAGAAAAWAAAAXBzdGNvAAAAAAAAAFgAAAOBAAADhwAAA5oAAAOtAAADswAAA8oAAAPfAAAD5QAAA/gAAAQLAAAEEQAABCgAAAQ9AAAEUAAABFYAAARpAAAEgAAABIYAAASbAAAErgAABLQAAATHAAAE3gAABPMAAAT5AAAFDAAABR8AAAUlAAAFPAAABVEAAAVXAAAFagAABX0AAAWDAAAFmgAABa8AAAXCAAAFyAAABdsAAAXyAAAF+AAABg0AAAYgAAAGJgAABjkAAAZQAAAGZQAABmsAAAZ+AAAGkQAABpcAAAauAAAGwwAABskAAAbcAAAG7wAABwYAAAcMAAAHIQAABzQAAAc6AAAHTQAAB2QAAAdqAAAHfwAAB5IAAAeYAAAHqwAAB8IAAAfXAAAH3QAAB/AAAAgDAAAICQAACCAAAAg1AAAIOwAACE4AAAhhAAAIeAAACH4AAAiRAAAIpAAACKoAAAiwAAAItgAACLwAAAjCAAAAFnVkdGEAAAAObmFtZVN0ZXJlbwAAAHB1ZHRhAAAAaG1ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAG1kaXJhcHBsAAAAAAAAAAAAAAAAO2lsc3QAAAAzqXRvbwAAACtkYXRhAAAAAQAAAABIYW5kQnJha2UgMC4xMC4yIDIwMTUwNjExMDA="}}])})});var o_t={};Pye(o_t,{AlphaMode:()=>Vm,AlphaPipelineStage:()=>cN,Animation:()=>W4,AnimationViewModel:()=>j4,Appearance:()=>$i,ApproximateTerrainHeights:()=>si,ArcGISTiledElevationTerrainProvider:()=>OK,ArcGisMapServerImageryProvider:()=>Yg,ArcType:()=>qt,ArticulationStageType:()=>$a,AssociativeArray:()=>gt,AttributeCompression:()=>kn,AttributeType:()=>tn,AutoExposure:()=>LV,AutomaticUniforms:()=>v_,Axis:()=>Po,AxisAlignedBoundingBox:()=>T0,B3dmLoader:()=>SL,B3dmParser:()=>bL,BaseLayerPicker:()=>X4,BaseLayerPickerViewModel:()=>q4,BatchTable:()=>EA,BatchTableHierarchy:()=>jA,BatchTexture:()=>jc,BatchTexturePipelineStage:()=>lN,Billboard:()=>mo,BillboardCollection:()=>Iu,BillboardGraphics:()=>rc,BillboardVisualizer:()=>QI,BingMapsGeocoderService:()=>MK,BingMapsImageryProvider:()=>VV,BingMapsStyle:()=>NV,BlendEquation:()=>Aa,BlendFunction:()=>To,BlendOption:()=>bo,BlendingState:()=>cn,BoundingRectangle:()=>Ge,BoundingSphere:()=>re,BoundingSphereState:()=>it,BoxEmitter:()=>hme,BoxGeometry:()=>hl,BoxGeometryUpdater:()=>_B,BoxGraphics:()=>PA,BoxOutlineGeometry:()=>Md,BrdfLutGenerator:()=>UV,Buffer:()=>ct,BufferLoader:()=>YA,BufferUsage:()=>Le,CPUStylingPipelineStage:()=>hN,CallbackProperty:()=>ch,Camera:()=>ao,CameraEventAggregator:()=>KV,CameraEventType:()=>Di,CameraFlightPath:()=>zV,Cartesian2:()=>G,Cartesian3:()=>h,Cartesian4:()=>se,Cartographic:()=>he,CartographicGeocoderService:()=>s1,CatmullRomSpline:()=>KK,Cesium3DContentGroup:()=>WA,Cesium3DTile:()=>Qw,Cesium3DTileBatchTable:()=>B_,Cesium3DTileColorBlendMode:()=>Sl,Cesium3DTileContent:()=>jme,Cesium3DTileContentFactory:()=>xT,Cesium3DTileContentState:()=>So,Cesium3DTileContentType:()=>vs,Cesium3DTileFeature:()=>bs,Cesium3DTileFeatureTable:()=>ph,Cesium3DTileOptimizationHint:()=>Vf,Cesium3DTileOptimizations:()=>zF,Cesium3DTilePass:()=>er,Cesium3DTilePassState:()=>ud,Cesium3DTilePointFeature:()=>cg,Cesium3DTileRefine:()=>Br,Cesium3DTileStyle:()=>DE,Cesium3DTileStyleEngine:()=>qF,Cesium3DTilesInspector:()=>ez,Cesium3DTilesInspectorViewModel:()=>J4,Cesium3DTileset:()=>Lu,Cesium3DTilesetCache:()=>HF,Cesium3DTilesetGraphics:()=>NA,Cesium3DTilesetHeatmap:()=>WF,Cesium3DTilesetMetadata:()=>UF,Cesium3DTilesetMostDetailedTraversal:()=>Ww,Cesium3DTilesetStatistics:()=>pg,Cesium3DTilesetTraversal:()=>rp,Cesium3DTilesetVisualizer:()=>ZF,CesiumInspector:()=>iz,CesiumInspectorViewModel:()=>tz,CesiumTerrainProvider:()=>u1,CesiumWidget:()=>oz,Check:()=>ul,CheckerboardMaterialProperty:()=>nv,CircleEmitter:()=>$V,CircleGeometry:()=>UZ,CircleOutlineGeometry:()=>WZ,ClassificationModelDrawCommand:()=>UL,ClassificationPipelineStage:()=>uN,ClassificationPrimitive:()=>SS,ClassificationType:()=>Ln,ClearCommand:()=>oi,ClippingPlane:()=>JA,ClippingPlaneCollection:()=>Zs,Clock:()=>Vd,ClockRange:()=>vr,ClockStep:()=>fo,ClockViewModel:()=>F4,CloudCollection:()=>Jme,CloudType:()=>$v,Color:()=>U,ColorBlendMode:()=>dc,ColorGeometryInstanceAttribute:()=>It,ColorMaterialProperty:()=>Pt,Command:()=>B0e,ComponentDatatype:()=>Z,Composite3DTileContent:()=>TB,CompositeEntityCollection:()=>Nce,CompositeMaterialProperty:()=>ov,CompositePositionProperty:()=>Qs,CompositeProperty:()=>mc,CompressedTextureBuffer:()=>S1,ComputeCommand:()=>bf,ComputeEngine:()=>DV,ConditionsExpression:()=>ZV,ConeEmitter:()=>Qme,ConstantPositionProperty:()=>Wc,ConstantProperty:()=>Zn,ConstantSpline:()=>w1,ContentMetadata:()=>OF,Context:()=>RV,ContextLimits:()=>kt,CoplanarPolygonGeometry:()=>R1,CoplanarPolygonGeometryLibrary:()=>Xp,CoplanarPolygonOutlineGeometry:()=>pf,CornerType:()=>bi,CorridorGeometry:()=>Nx,CorridorGeometryLibrary:()=>Bi,CorridorGeometryUpdater:()=>QF,CorridorGraphics:()=>OA,CorridorOutlineGeometry:()=>z1,Credit:()=>jt,CreditDisplay:()=>ok,CubeMap:()=>sc,CubeMapFace:()=>Cm,CubicRealPolynomial:()=>ix,CullFace:()=>wi,CullingVolume:()=>qs,CumulusCloud:()=>Ku,CustomDataSource:()=>i2,CustomHeightmapTerrainProvider:()=>tJ,CustomShader:()=>k0e,CustomShaderMode:()=>ng,CustomShaderPipelineStage:()=>AN,CustomShaderTranslucencyMode:()=>Ly,CylinderGeometry:()=>H1,CylinderGeometryLibrary:()=>Vx,CylinderGeometryUpdater:()=>o2,CylinderGraphics:()=>RA,CylinderOutlineGeometry:()=>G1,CzmlDataSource:()=>f2,DataSource:()=>Lr,DataSourceClock:()=>vh,DataSourceCollection:()=>h2,DataSourceDisplay:()=>B2,DebugAppearance:()=>lpe,DebugCameraPrimitive:()=>Cp,DebugInspector:()=>sk,DebugModelMatrixPrimitive:()=>ck,DefaultProxy:()=>rJ,DepthFunction:()=>ac,DepthPlane:()=>dk,DequantizationPipelineStage:()=>TN,DerivedCommand:()=>Zg,DeveloperError:()=>ye,DeviceOrientationCameraController:()=>mk,DirectionalLight:()=>ppe,DiscardEmptyTileImagePolicy:()=>qv,DiscardMissingTileImagePolicy:()=>BV,DistanceDisplayCondition:()=>At,DistanceDisplayConditionGeometryInstanceAttribute:()=>Bn,DoubleEndedPriorityQueue:()=>cJ,DoublyLinkedList:()=>j1,DracoLoader:()=>k_,DrawCommand:()=>Je,DynamicGeometryBatch:()=>GT,DynamicGeometryUpdater:()=>ni,EarthOrientationParameters:()=>NP,EarthOrientationParametersSample:()=>b0,EasingFunction:()=>Dr,EllipseGeometry:()=>Lc,EllipseGeometryLibrary:()=>pl,EllipseGeometryUpdater:()=>_2,EllipseGraphics:()=>MA,EllipseOutlineGeometry:()=>ru,Ellipsoid:()=>oe,EllipsoidGeodesic:()=>_f,EllipsoidGeometry:()=>As,EllipsoidGeometryUpdater:()=>g2,EllipsoidGraphics:()=>BA,EllipsoidOutlineGeometry:()=>lu,EllipsoidPrimitive:()=>_k,EllipsoidRhumbLine:()=>_a,EllipsoidSurfaceAppearance:()=>gpe,EllipsoidTangentPlane:()=>da,EllipsoidTerrainProvider:()=>o_,EllipsoidalOccluder:()=>Mp,Empty3DTileContent:()=>$w,EncodedCartesian3:()=>Un,Entity:()=>$o,EntityCluster:()=>Vu,EntityCollection:()=>Ps,EntityView:()=>F2,Event:()=>ge,EventHelper:()=>Pr,Expression:()=>wf,ExpressionNodeType:()=>lt,ExtrapolationType:()=>uu,FeatureDetection:()=>Mt,FeatureIdPipelineStage:()=>By,Fog:()=>xk,ForEach:()=>De,FrameRateMonitor:()=>Ak,FrameState:()=>Tk,Framebuffer:()=>$s,FramebufferManager:()=>ci,FrustumCommands:()=>Ek,FrustumGeometry:()=>jx,FrustumOutlineGeometry:()=>Z1,Fullscreen:()=>dr,FullscreenButton:()=>cz,FullscreenButtonViewModel:()=>sz,GeoJsonDataSource:()=>z2,GeoJsonLoader:()=>wL,GeocodeType:()=>X0,Geocoder:()=>fz,GeocoderService:()=>RJ,GeocoderViewModel:()=>lz,GeographicProjection:()=>xi,GeographicTilingScheme:()=>Hi,Geometry:()=>rt,Geometry3DTileContent:()=>RB,GeometryAttribute:()=>Ee,GeometryAttributes:()=>rn,GeometryFactory:()=>BJ,GeometryInstance:()=>pt,GeometryInstanceAttribute:()=>tc,GeometryOffsetAttribute:()=>Jt,GeometryPipeline:()=>In,GeometryPipelineStage:()=>SN,GeometryType:()=>df,GeometryUpdater:()=>ii,GeometryVisualizer:()=>S2,GetFeatureInfoFormat:()=>PE,Globe:()=>Jk,GlobeDepth:()=>Qk,GlobeSurfaceShaderSet:()=>vk,GlobeSurfaceTile:()=>hd,GlobeSurfaceTileProvider:()=>zk,GlobeTranslucency:()=>Hk,GlobeTranslucencyFramebuffer:()=>eU,GlobeTranslucencyState:()=>tU,GltfBufferViewLoader:()=>QS,GltfDracoLoader:()=>ew,GltfImageLoader:()=>tw,GltfIndexBufferLoader:()=>nw,GltfJsonLoader:()=>ow,GltfLoader:()=>X_,GltfLoaderUtil:()=>Pl,GltfStructuralMetadataLoader:()=>_L,GltfTextureLoader:()=>rw,GltfVertexBufferLoader:()=>sw,GoogleEarthEnterpriseImageryProvider:()=>m_e,GoogleEarthEnterpriseMapsProvider:()=>nU,GoogleEarthEnterpriseMetadata:()=>jd,GoogleEarthEnterpriseTerrainData:()=>Kb,GoogleEarthEnterpriseTerrainProvider:()=>GJ,GoogleEarthEnterpriseTileInformation:()=>$1,GpxDataSource:()=>A3,GregorianDate:()=>Bp,GridImageryProvider:()=>p_e,GridMaterialProperty:()=>av,GroundGeometryUpdater:()=>Gn,GroundPolylineGeometry:()=>Yx,GroundPolylinePrimitive:()=>ih,GroundPrimitive:()=>Gc,GroupMetadata:()=>ev,HeadingPitchRange:()=>du,HeadingPitchRoll:()=>lf,Heap:()=>gP,HeightReference:()=>ze,HeightmapEncoding:()=>Qh,HeightmapTerrainData:()=>ma,HeightmapTessellator:()=>Tb,HermitePolynomialApproximation:()=>rI,HermiteSpline:()=>I0,HilbertOrder:()=>$b,HomeButton:()=>mz,HomeButtonViewModel:()=>dz,HorizontalOrigin:()=>ui,I3dmLoader:()=>OL,I3dmParser:()=>DL,Iau2000Orientation:()=>aI,Iau2006XysData:()=>FP,Iau2006XysSample:()=>rx,IauOrientationAxes:()=>cI,IauOrientationParameters:()=>sI,ImageBasedLighting:()=>GA,ImageBasedLightingPipelineStage:()=>qL,ImageMaterialProperty:()=>Cy,Imagery:()=>aD,ImageryLayer:()=>Zu,ImageryLayerCollection:()=>Wk,ImageryLayerFeatureInfo:()=>kh,ImageryProvider:()=>ol,ImageryState:()=>ri,Implicit3DTileContent:()=>fw,ImplicitAvailabilityBitstream:()=>XS,ImplicitMetadataView:()=>KS,ImplicitSubdivisionScheme:()=>Gr,ImplicitSubtree:()=>cL,ImplicitSubtreeMetadata:()=>BB,ImplicitTileCoordinates:()=>XF,ImplicitTileset:()=>YF,IndexDatatype:()=>Be,InfoBox:()=>gz,InfoBoxViewModel:()=>pz,InspectorShared:()=>u0,InstanceAttributeSemantic:()=>Wr,InstancingPipelineStage:()=>oN,InterpolationAlgorithm:()=>RQ,InterpolationType:()=>qd,Intersect:()=>Kt,IntersectionTests:()=>Gi,Intersections2D:()=>jp,Interval:()=>Dc,InvertClassification:()=>pD,Ion:()=>Yd,IonGeocoderService:()=>fI,IonImageryProvider:()=>e0,IonResource:()=>Xd,IonWorldImageryStyle:()=>t0,Iso8601:()=>Ve,JobScheduler:()=>hU,JobType:()=>Sa,JsonMetadataTable:()=>aT,JulianDate:()=>Q,KTX2Transcoder:()=>dI,KeyboardEventModifier:()=>Ys,KmlCamera:()=>T3,KmlDataSource:()=>bV,KmlLookAt:()=>dV,KmlTour:()=>mV,KmlTourFlyTo:()=>_V,KmlTourWait:()=>gV,Label:()=>Uy,LabelCollection:()=>tp,LabelGraphics:()=>oh,LabelStyle:()=>Fo,LabelVisualizer:()=>w2,LagrangePolynomialApproximation:()=>hI,LeapSecond:()=>Fi,Light:()=>D_e,LightingModel:()=>Km,LightingPipelineStage:()=>vN,LinearApproximation:()=>Kx,LinearSpline:()=>P0,ManagedArray:()=>hu,MapMode2D:()=>ql,MapProjection:()=>FQ,MapboxImageryProvider:()=>cU,MapboxStyleImageryProvider:()=>I_e,Material:()=>Qi,MaterialAppearance:()=>no,MaterialPipelineStage:()=>PN,MaterialProperty:()=>Zo,Math:()=>I,Matrix2:()=>Yi,Matrix3:()=>J,Matrix4:()=>N,MetadataClass:()=>dh,MetadataClassProperty:()=>Sy,MetadataComponentType:()=>Sn,MetadataEntity:()=>On,MetadataEnum:()=>rL,MetadataEnumValue:()=>oL,MetadataPipelineStage:()=>Xm,MetadataSchema:()=>hh,MetadataSchemaLoader:()=>aw,MetadataSemantic:()=>lL,MetadataTable:()=>Df,MetadataTableProperty:()=>NB,MetadataType:()=>Rn,MipmapHint:()=>xm,Model:()=>Ch,Model3DTileContent:()=>$m,ModelAlphaOptions:()=>jN,ModelAnimation:()=>ML,ModelAnimationChannel:()=>RL,ModelAnimationCollection:()=>LL,ModelAnimationLoop:()=>fc,ModelAnimationState:()=>_h,ModelArticulation:()=>KL,ModelArticulationStage:()=>YL,ModelClippingPlanesPipelineStage:()=>JL,ModelColorPipelineStage:()=>My,ModelComponents:()=>Ft,ModelDrawCommand:()=>HL,ModelFeature:()=>NL,ModelFeatureTable:()=>FL,ModelGraphics:()=>P_,ModelLightingOptions:()=>nF,ModelMatrixUpdateStage:()=>rN,ModelNode:()=>QL,ModelRenderResources:()=>KN,ModelRuntimeNode:()=>aN,ModelRuntimePrimitive:()=>GN,ModelSceneGraph:()=>rF,ModelSilhouettePipelineStage:()=>JN,ModelSkin:()=>WN,ModelSplitterPipelineStage:()=>eF,ModelStatistics:()=>sF,ModelType:()=>Mr,ModelUtility:()=>Xt,ModelVisualizer:()=>v2,Moon:()=>_U,MorphTargetsPipelineStage:()=>ON,MorphWeightSpline:()=>VQ,MortonOrder:()=>Z0,Multiple3DTileContent:()=>BF,MultisampleFramebuffer:()=>TL,NavigationHelpButton:()=>xz,NavigationHelpButtonViewModel:()=>yz,NearFarScalar:()=>St,NeverTileDiscardPolicy:()=>O_e,NodeRenderResources:()=>tF,NodeStatisticsPipelineStage:()=>sN,NodeTransformationProperty:()=>LA,OIT:()=>yU,Occluder:()=>yI,OctahedralProjectedCubeMap:()=>lh,OffsetGeometryInstanceAttribute:()=>ji,OpenCageGeocoderService:()=>GQ,OpenStreetMapImageryProvider:()=>GE,OrderedGroundPrimitiveCollection:()=>p2,OrientedBoundingBox:()=>pi,OrthographicFrustum:()=>$t,OrthographicOffCenterFrustum:()=>Ir,Packable:()=>WQ,PackableForInterpolation:()=>jQ,Particle:()=>TD,ParticleBurst:()=>N_e,ParticleEmitter:()=>V_e,ParticleSystem:()=>z_e,Pass:()=>xe,PassState:()=>Tc,PathGraphics:()=>I_,PathVisualizer:()=>D2,PeliasGeocoderService:()=>uI,PerInstanceColorAppearance:()=>Qt,PerformanceDisplay:()=>i0,PerformanceWatchdog:()=>Ez,PerformanceWatchdogViewModel:()=>Az,PerspectiveFrustum:()=>_i,PerspectiveOffCenterFrustum:()=>kc,PickDepth:()=>TU,PickDepthFramebuffer:()=>EU,PickFramebuffer:()=>bU,Picking:()=>RU,PickingPipelineStage:()=>RN,PinBuilder:()=>c_,PixelDatatype:()=>je,PixelFormat:()=>ft,Plane:()=>en,PlaneGeometry:()=>TI,PlaneGeometryUpdater:()=>y2,PlaneGraphics:()=>pB,PlaneOutlineGeometry:()=>bI,PntsLoader:()=>cF,PntsParser:()=>hT,PointCloud:()=>NU,PointCloudEyeDomeLighting:()=>K_,PointCloudShading:()=>zm,PointCloudStylingPipelineStage:()=>BN,PointGraphics:()=>FA,PointPrimitive:()=>Is,PointPrimitiveCollection:()=>sv,PointVisualizer:()=>P2,PolygonGeometry:()=>nA,PolygonGeometryLibrary:()=>zn,PolygonGeometryUpdater:()=>C2,PolygonGraphics:()=>rh,PolygonHierarchy:()=>zc,PolygonOutlineGeometry:()=>vI,PolygonPipeline:()=>ei,Polyline:()=>Bf,PolylineArrowMaterialProperty:()=>cv,PolylineCollection:()=>lg,PolylineColorAppearance:()=>Hr,PolylineDashMaterialProperty:()=>lv,PolylineGeometry:()=>f_,PolylineGeometryUpdater:()=>O2,PolylineGlowMaterialProperty:()=>uv,PolylineGraphics:()=>cc,PolylineMaterialAppearance:()=>Ks,PolylineOutlineMaterialProperty:()=>$y,PolylinePipeline:()=>Si,PolylineVisualizer:()=>M2,PolylineVolumeGeometry:()=>DI,PolylineVolumeGeometryLibrary:()=>kd,PolylineVolumeGeometryUpdater:()=>x2,PolylineVolumeGraphics:()=>VA,PolylineVolumeOutlineGeometry:()=>PI,PositionProperty:()=>D_,PositionPropertyArray:()=>xg,PostProcessStage:()=>go,PostProcessStageCollection:()=>n4,PostProcessStageComposite:()=>sl,PostProcessStageLibrary:()=>gd,PostProcessStageSampleMode:()=>ef,PostProcessStageTextureCache:()=>KE,Primitive:()=>xn,PrimitiveCollection:()=>Nl,PrimitiveLoadPlan:()=>iT,PrimitiveOutlineGenerator:()=>nT,PrimitiveOutlinePipelineStage:()=>FN,PrimitivePipeline:()=>bA,PrimitiveRenderResources:()=>iF,PrimitiveState:()=>_r,PrimitiveStatisticsPipelineStage:()=>VN,PrimitiveType:()=>Ne,ProjectionPicker:()=>vz,ProjectionPickerViewModel:()=>Sz,Property:()=>j,PropertyArray:()=>fv,PropertyAttribute:()=>eT,PropertyAttributeProperty:()=>hL,PropertyBag:()=>El,PropertyTable:()=>qc,PropertyTexture:()=>QA,PropertyTextureProperty:()=>dL,ProviderViewModel:()=>_s,Proxy:()=>fee,QuadraticRealPolynomial:()=>Pc,QuadtreeOccluders:()=>jk,QuadtreePrimitive:()=>$k,QuadtreeTile:()=>Yk,QuadtreeTileLoadState:()=>Fs,QuadtreeTileProvider:()=>Cge,QuantizedMeshTerrainData:()=>gx,QuarticRealPolynomial:()=>IP,Quaternion:()=>Oe,QuaternionSpline:()=>II,Queue:()=>k0,Ray:()=>Tn,Rectangle:()=>ue,RectangleCollisionChecker:()=>oA,RectangleGeometry:()=>aA,RectangleGeometryLibrary:()=>cs,RectangleGeometryUpdater:()=>A2,RectangleGraphics:()=>sh,RectangleOutlineGeometry:()=>uA,ReferenceFrame:()=>Zi,ReferenceProperty:()=>Tg,RenderState:()=>Fe,Renderbuffer:()=>Su,RenderbufferFormat:()=>Xc,Request:()=>jo,RequestErrorEvent:()=>Zh,RequestScheduler:()=>Wa,RequestState:()=>ai,RequestType:()=>Kr,Resource:()=>Ie,ResourceCache:()=>ho,ResourceCacheKey:()=>Il,ResourceCacheStatistics:()=>aL,ResourceLoader:()=>to,ResourceLoaderState:()=>Nt,Rotation:()=>jf,RuntimeError:()=>de,S2Cell:()=>__,SDFSettings:()=>ws,SampledPositionProperty:()=>ea,SampledProperty:()=>ku,Sampler:()=>hn,ScaledPositionProperty:()=>pp,Scene:()=>C4,SceneFramebuffer:()=>WE,SceneMode:()=>ee,SceneMode2DPipelineStage:()=>kN,SceneModePicker:()=>Oz,SceneModePickerViewModel:()=>Pz,SceneTransforms:()=>qi,SceneTransitioner:()=>o4,ScreenSpaceCameraController:()=>h4,ScreenSpaceEventHandler:()=>_u,ScreenSpaceEventType:()=>fn,SelectedFeatureIdPipelineStage:()=>Ny,SelectionIndicator:()=>Lz,SelectionIndicatorViewModel:()=>Mz,ShaderBuilder:()=>XN,ShaderCache:()=>PV,ShaderDestination:()=>Te,ShaderFunction:()=>YN,ShaderProgram:()=>Yt,ShaderSource:()=>ke,ShaderStruct:()=>qN,ShadowMap:()=>r0,ShadowMapShader:()=>bp,ShadowMode:()=>mn,ShadowVolumeAppearance:()=>xu,ShowGeometryInstanceAttribute:()=>dn,Simon1994PlanetaryPositions:()=>iy,SimplePolylineGeometry:()=>Ate,SingleTileImageryProvider:()=>lU,SkinningPipelineStage:()=>zN,SkyAtmosphere:()=>T4,SkyBox:()=>w4,SphereEmitter:()=>m0e,SphereGeometry:()=>Tte,SphereOutlineGeometry:()=>C_,Spherical:()=>UI,Spline:()=>Xi,SplitDirection:()=>Kc,Splitter:()=>DD,StaticGeometryColorBatch:()=>Zf,StaticGeometryPerMaterialBatch:()=>Jf,StaticGroundGeometryColorBatch:()=>Cv,StaticGroundGeometryPerMaterialBatch:()=>E2,StaticGroundPolylinePerMaterialBatch:()=>R2,StaticOutlineGeometryBatch:()=>xv,StencilConstants:()=>vt,StencilFunction:()=>Nn,StencilOperation:()=>at,SteppedSpline:()=>zI,StripeMaterialProperty:()=>dv,StripeOrientation:()=>Dh,StructuralMetadata:()=>Pa,StyleCommandsNeeded:()=>gh,StyleExpression:()=>p0e,Sun:()=>I4,SunLight:()=>qg,SunPostProcess:()=>_4,SupportedImageFormats:()=>CL,SvgPathBindingHandler:()=>N4,TaskProcessor:()=>Ti,TerrainData:()=>Id,TerrainEncoding:()=>Ka,TerrainExaggeration:()=>Rc,TerrainFillMesh:()=>uD,TerrainMesh:()=>ff,TerrainOffsetProperty:()=>zA,TerrainProvider:()=>kr,TerrainQuantization:()=>Cs,TerrainState:()=>_o,Texture:()=>Ot,TextureAtlas:()=>Vy,TextureCache:()=>IV,TextureMagnificationFilter:()=>Ji,TextureManager:()=>k4,TextureMinificationFilter:()=>ln,TextureUniform:()=>U0e,TextureWrap:()=>Dn,TileAvailability:()=>Od,TileBoundingRegion:()=>zf,TileBoundingS2Cell:()=>FF,TileBoundingSphere:()=>hg,TileBoundingVolume:()=>_0e,TileCoordinatesImageryProvider:()=>O4,TileDiscardPolicy:()=>g0e,TileEdge:()=>un,TileImagery:()=>cD,TileMapServiceImageryProvider:()=>xC,TileMetadata:()=>RF,TileOrientedBoundingBox:()=>Hf,TileProviderError:()=>jn,TileReplacementQueue:()=>Kk,TileSelectionResult:()=>Kn,TileState:()=>y0e,Tileset3DTileContent:()=>uF,TilesetMetadata:()=>kF,TilesetPipelineStage:()=>WL,TilingScheme:()=>Ete,TimeConstants:()=>Yn,TimeDynamicImagery:()=>zE,TimeDynamicPointCloud:()=>HD,TimeInterval:()=>gn,TimeIntervalCollection:()=>Rr,TimeIntervalCollectionPositionProperty:()=>bg,TimeIntervalCollectionProperty:()=>Sg,TimeStandard:()=>Wn,Timeline:()=>Vz,TimelineHighlightRange:()=>Nz,TimelineTrack:()=>Fz,Tipsify:()=>d1,ToggleButtonViewModel:()=>BC,Tonemapper:()=>vC,Transforms:()=>Dt,TranslationRotationScale:()=>ry,TranslucentTileClassification:()=>vU,TridiagonalSystemSolver:()=>Sb,TrustedServers:()=>db,TweenCollection:()=>ZE,UniformState:()=>OV,UniformType:()=>qD,UrlTemplateImageryProvider:()=>za,VERSION:()=>i_t,VRButton:()=>Hz,VRButtonViewModel:()=>Uz,VRTheWorldTerrainProvider:()=>vte,VaryingType:()=>z0e,Vector3DTileBatch:()=>Om,Vector3DTileClampedPolylines:()=>wF,Vector3DTileContent:()=>vF,Vector3DTileGeometry:()=>N_,Vector3DTilePoints:()=>AF,Vector3DTilePolygons:()=>TF,Vector3DTilePolylines:()=>CT,Vector3DTilePrimitive:()=>qA,VelocityOrientationProperty:()=>s2,VelocityVectorProperty:()=>zT,VertexArray:()=>ti,VertexArrayFacade:()=>sg,VertexAttributeSemantic:()=>xt,VertexFormat:()=>ve,VerticalOrigin:()=>bn,VideoSynchronizer:()=>Dte,View:()=>qE,Viewer:()=>gye,ViewportQuad:()=>T0e,Visibility:()=>ir,Visualizer:()=>Yhe,VulkanConstants:()=>Pte,WallGeometry:()=>WI,WallGeometryLibrary:()=>gA,WallGeometryUpdater:()=>b2,WallGraphics:()=>O_,WallOutlineGeometry:()=>jI,WebGLConstants:()=>te,WebMapServiceImageryProvider:()=>uU,WebMapTileServiceImageryProvider:()=>fU,WebMercatorProjection:()=>Vi,WebMercatorTilingScheme:()=>Ur,WindingOrder:()=>$r,WireframeIndexGenerator:()=>pS,WireframePipelineStage:()=>HN,_shadersAcesTonemappingStage:()=>FU,_shadersAdditiveBlend:()=>m4,_shadersAdjustTranslucentFS:()=>AD,_shadersAllMaterialAppearanceFS:()=>eO,_shadersAllMaterialAppearanceVS:()=>tO,_shadersAmbientOcclusionGenerate:()=>VU,_shadersAmbientOcclusionModulate:()=>kU,_shadersAspectRampMaterial:()=>uO,_shadersAtmosphereCommon:()=>$g,_shadersBasicMaterialAppearanceFS:()=>nO,_shadersBasicMaterialAppearanceVS:()=>iO,_shadersBillboardCollectionFS:()=>fF,_shadersBillboardCollectionVS:()=>dF,_shadersBlackAndWhite:()=>UU,_shadersBloomComposite:()=>zU,_shadersBrdfLutGeneratorFS:()=>kV,_shadersBrightPass:()=>p4,_shadersBrightness:()=>HU,_shadersBumpMapMaterial:()=>fO,_shadersCPUStylingStageFS:()=>dN,_shadersCPUStylingStageVS:()=>fN,_shadersCheckerboardMaterial:()=>dO,_shadersCloudCollectionFS:()=>JV,_shadersCloudCollectionVS:()=>QV,_shadersCloudNoiseFS:()=>ek,_shadersCloudNoiseVS:()=>tk,_shadersCompareAndPackTranslucentDepth:()=>wU,_shadersCompositeOITFS:()=>gU,_shadersCompositeTranslucentClassification:()=>jE,_shadersContrastBias:()=>GU,_shadersCustomShaderStageFS:()=>pN,_shadersCustomShaderStageVS:()=>mN,_shadersCzmBuiltins:()=>TA,_shadersDepthOfField:()=>WU,_shadersDepthPlaneFS:()=>lk,_shadersDepthPlaneVS:()=>uk,_shadersDepthView:()=>jU,_shadersDepthViewPacked:()=>H0e,_shadersDotMaterial:()=>hO,_shadersEdgeDetection:()=>qU,_shadersElevationBandMaterial:()=>mO,_shadersElevationContourMaterial:()=>pO,_shadersElevationRampMaterial:()=>_O,_shadersEllipsoidFS:()=>oD,_shadersEllipsoidSurfaceAppearanceFS:()=>gk,_shadersEllipsoidSurfaceAppearanceVS:()=>yk,_shadersEllipsoidVS:()=>rD,_shadersFXAA:()=>XU,_shadersFXAA3_11:()=>e4,_shadersFadeMaterial:()=>gO,_shadersFeatureIdStageFS:()=>_N,_shadersFeatureIdStageVS:()=>gN,_shadersFilmicTonemapping:()=>YU,_shadersGaussianBlur1D:()=>SC,_shadersGeometryStageFS:()=>EN,_shadersGeometryStageVS:()=>bN,_shadersGlobeFS:()=>Sk,_shadersGlobeVS:()=>wk,_shadersGridMaterial:()=>yO,_shadersGroundAtmosphere:()=>sD,_shadersHSBToRGB:()=>vR,_shadersHSLToRGB:()=>DR,_shadersImageBasedLightingStageFS:()=>jL,_shadersInstancingStageCommon:()=>eN,_shadersInstancingStageVS:()=>tN,_shadersLegacyInstancingStageVS:()=>nN,_shadersLensFlare:()=>KU,_shadersLightingStageFS:()=>wN,_shadersMaterialStageFS:()=>DN,_shadersMetadataStageFS:()=>yN,_shadersMetadataStageVS:()=>CN,_shadersModelClippingPlanesStageFS:()=>$L,_shadersModelColorStageFS:()=>ZL,_shadersModelFS:()=>VL,_shadersModelSilhouetteStageFS:()=>ZN,_shadersModelSilhouetteStageVS:()=>$N,_shadersModelSplitterStageFS:()=>QN,_shadersModelVS:()=>kL,_shadersModifiedReinhardTonemapping:()=>ZU,_shadersMorphTargetsStageVS:()=>IN,_shadersNightVision:()=>$U,_shadersNormalMapMaterial:()=>CO,_shadersOctahedralProjectionAtlasFS:()=>gB,_shadersOctahedralProjectionFS:()=>yB,_shadersOctahedralProjectionVS:()=>CB,_shadersPassThrough:()=>Kl,_shadersPassThroughDepth:()=>mC,_shadersPerInstanceColorAppearanceFS:()=>DO,_shadersPerInstanceColorAppearanceVS:()=>PO,_shadersPerInstanceFlatColorAppearanceFS:()=>xA,_shadersPerInstanceFlatColorAppearanceVS:()=>IO,_shadersPointCloudEyeDomeLighting:()=>EL,_shadersPointCloudStylingStageVS:()=>MN,_shadersPointPrimitiveCollectionFS:()=>Ky,_shadersPointPrimitiveCollectionVS:()=>t2,_shadersPolylineArrowMaterial:()=>xO,_shadersPolylineColorAppearanceVS:()=>hB,_shadersPolylineCommon:()=>Au,_shadersPolylineDashMaterial:()=>AO,_shadersPolylineFS:()=>vA,_shadersPolylineGlowMaterial:()=>TO,_shadersPolylineMaterialAppearanceVS:()=>mB,_shadersPolylineOutlineMaterial:()=>EO,_shadersPolylineShadowVolumeFS:()=>lB,_shadersPolylineShadowVolumeMorphFS:()=>uB,_shadersPolylineShadowVolumeMorphVS:()=>fB,_shadersPolylineShadowVolumeVS:()=>dB,_shadersPolylineVS:()=>yF,_shadersPrimitiveOutlineStageFS:()=>NN,_shadersPrimitiveOutlineStageVS:()=>LN,_shadersRGBToHSB:()=>PR,_shadersRGBToHSL:()=>IR,_shadersRGBToXYZ:()=>OR,_shadersReinhardTonemapping:()=>JU,_shadersReprojectWebMercatorFS:()=>Dk,_shadersReprojectWebMercatorVS:()=>Pk,_shadersRimLightingMaterial:()=>bO,_shadersSelectedFeatureIdStageCommon:()=>bw,_shadersShadowVolumeAppearanceFS:()=>bS,_shadersShadowVolumeAppearanceVS:()=>nB,_shadersShadowVolumeFS:()=>my,_shadersSilhouette:()=>QU,_shadersSkinningStageVS:()=>UN,_shadersSkyAtmosphereCommon:()=>FD,_shadersSkyAtmosphereFS:()=>x4,_shadersSkyAtmosphereVS:()=>A4,_shadersSkyBoxFS:()=>E4,_shadersSkyBoxVS:()=>b4,_shadersSlopeRampMaterial:()=>SO,_shadersStripeMaterial:()=>wO,_shadersSunFS:()=>v4,_shadersSunTextureFS:()=>D4,_shadersSunVS:()=>P4,_shadersTexturedMaterialAppearanceFS:()=>oO,_shadersTexturedMaterialAppearanceVS:()=>rO,_shadersVector3DTileClampedPolylinesFS:()=>SF,_shadersVector3DTileClampedPolylinesVS:()=>bF,_shadersVector3DTilePolylinesVS:()=>EF,_shadersVectorTileVS:()=>qS,_shadersViewportQuadFS:()=>R4,_shadersViewportQuadVS:()=>TE,_shadersWater:()=>vO,_shadersXYZToRGB:()=>RR,_shadersacesTonemapping:()=>MR,_shadersalphaWeight:()=>BR,_shadersantialias:()=>LR,_shadersapproximateSphericalCoordinates:()=>NR,_shadersbackFacing:()=>FR,_shadersbranchFreeTernary:()=>VR,_shaderscascadeColor:()=>kR,_shaderscascadeDistance:()=>UR,_shaderscascadeMatrix:()=>zR,_shaderscascadeWeights:()=>HR,_shaderscolumbusViewMorph:()=>GR,_shaderscomputePosition:()=>WR,_shaderscosineAndSine:()=>jR,_shadersdecompressTextureCoordinates:()=>qR,_shadersdefaultPbrMaterial:()=>YR,_shadersdegreesPerRadian:()=>LO,_shadersdepthClamp:()=>XR,_shadersdepthRange:()=>NO,_shadersdepthRangeStruct:()=>yR,_shaderseastNorthUpToEyeCoordinates:()=>KR,_shadersellipsoidContainsPoint:()=>ZR,_shadersellipsoidWgs84TextureCoordinates:()=>$R,_shadersepsilon1:()=>FO,_shadersepsilon2:()=>VO,_shadersepsilon3:()=>kO,_shadersepsilon4:()=>UO,_shadersepsilon5:()=>zO,_shadersepsilon6:()=>HO,_shadersepsilon7:()=>GO,_shadersequalsEpsilon:()=>JR,_shaderseyeOffset:()=>QR,_shaderseyeToWindowCoordinates:()=>eM,_shadersfastApproximateAtan:()=>tM,_shadersfog:()=>nM,_shadersgammaCorrect:()=>iM,_shadersgeodeticSurfaceNormal:()=>oM,_shadersgetDefaultMaterial:()=>rM,_shadersgetLambertDiffuse:()=>sM,_shadersgetSpecular:()=>aM,_shadersgetWaterNoise:()=>cM,_shadershue:()=>lM,_shadersinfinity:()=>WO,_shadersinverseGamma:()=>uM,_shadersisEmpty:()=>fM,_shadersisFull:()=>dM,_shaderslatitudeToWebMercatorFraction:()=>hM,_shaderslineDistance:()=>mM,_shaderslinearToSrgb:()=>pM,_shadersluminance:()=>_M,_shadersmaterial:()=>CR,_shadersmaterialInput:()=>xR,_shadersmetersPerPixel:()=>gM,_shadersmodelMaterial:()=>AR,_shadersmodelToWindowCoordinates:()=>yM,_shadersmodelVertexOutput:()=>TR,_shadersmultiplyWithColorBalance:()=>CM,_shadersnearFarScalar:()=>xM,_shadersoctDecode:()=>AM,_shadersoneOverPi:()=>jO,_shadersoneOverTwoPi:()=>qO,_shaderspackDepth:()=>TM,_shaderspassCesium3DTile:()=>YO,_shaderspassCesium3DTileClassification:()=>XO,_shaderspassCesium3DTileClassificationIgnoreShow:()=>KO,_shaderspassClassification:()=>ZO,_shaderspassCompute:()=>$O,_shaderspassEnvironment:()=>JO,_shaderspassGlobe:()=>QO,_shaderspassOpaque:()=>eR,_shaderspassOverlay:()=>tR,_shaderspassTerrainClassification:()=>nR,_shaderspassTranslucent:()=>iR,_shaderspbrLighting:()=>EM,_shaderspbrMetallicRoughnessMaterial:()=>bM,_shaderspbrParameters:()=>ER,_shaderspbrSpecularGlossinessMaterial:()=>SM,_shadersphong:()=>wM,_shaderspi:()=>oR,_shaderspiOverFour:()=>rR,_shaderspiOverSix:()=>sR,_shaderspiOverThree:()=>aR,_shaderspiOverTwo:()=>cR,_shadersplaneDistance:()=>vM,_shaderspointAlongRay:()=>DM,_shadersradiansPerDegree:()=>lR,_shadersray:()=>bR,_shadersrayEllipsoidIntersectionInterval:()=>PM,_shadersraySegment:()=>SR,_shadersraySphereIntersectionInterval:()=>IM,_shadersreadDepth:()=>OM,_shadersreadNonPerspective:()=>RM,_shadersreverseLogDepth:()=>MM,_shadersround:()=>BM,_shaderssampleOctahedralProjection:()=>LM,_shaderssaturation:()=>NM,_shaderssceneMode2D:()=>uR,_shaderssceneMode3D:()=>fR,_shaderssceneModeColumbusView:()=>dR,_shaderssceneModeMorphing:()=>hR,_shadersshadowDepthCompare:()=>FM,_shadersshadowParameters:()=>wR,_shadersshadowVisibility:()=>VM,_shaderssignNotZero:()=>kM,_shaderssolarRadius:()=>mR,_shaderssphericalHarmonics:()=>UM,_shaderssrgbToLinear:()=>zM,_shaderstangentToEyeSpaceMatrix:()=>HM,_shadersthreePiOver2:()=>pR,_shaderstransformPlane:()=>GM,_shaderstranslateRelativeToEye:()=>WM,_shaderstranslucentPhong:()=>jM,_shaderstranspose:()=>qM,_shaderstwoPi:()=>_R,_shadersunpackDepth:()=>YM,_shadersunpackFloat:()=>XM,_shadersunpackUint:()=>KM,_shadersvalueTransform:()=>ZM,_shadersvertexLogDepth:()=>$M,_shaderswebMercatorMaxLatitude:()=>gR,_shaderswindowToEyeCoordinates:()=>JM,_shaderswriteDepthClamp:()=>QM,_shaderswriteLogDepth:()=>eB,_shaderswriteNonPerspective:()=>tB,addBuffer:()=>KB,addDefaults:()=>kB,addExtensionsRequired:()=>qB,addExtensionsUsed:()=>Pf,addPipelineExtras:()=>vy,addToArray:()=>fs,appendForwardSlash:()=>hP,arrayRemoveDuplicates:()=>Co,barycentricCoordinates:()=>Cx,binarySearch:()=>Yo,buildDrawCommand:()=>GL,buildModuleUrl:()=>Zt,cancelAnimationFrame:()=>Fte,clone:()=>et,combine:()=>mt,computeFlyToLocationForRectangle:()=>eb,createBillboardPointCallback:()=>pT,createCommand:()=>yn,createDefaultImageryProviderViewModels:()=>K4,createDefaultTerrainProviderViewModels:()=>Z4,createElevationBandMaterial:()=>w0e,createGuid:()=>Hn,createMaterialPropertyDescriptor:()=>Do,createOsmBuildings:()=>v0e,createPropertyDescriptor:()=>ae,createRawPropertyDescriptor:()=>Tl,createTangentSpaceDebugPrimitive:()=>D0e,createTaskProcessorWorker:()=>Eye,createUniform:()=>OO,createUniformArray:()=>RO,createWorldImagery:()=>l0,createWorldTerrain:()=>qI,decodeGoogleEarthEnterpriseData:()=>YI,decodeVectorPolylinePositions:()=>XI,defaultValue:()=>y,defer:()=>Gs,defined:()=>l,deprecationWarning:()=>or,destroyObject:()=>fe,exportKml:()=>ime,findAccessorMinMax:()=>KA,findContentMetadata:()=>AT,findGroupMetadata:()=>TT,findTileMetadata:()=>MF,forEachTextureInMaterial:()=>iw,formatError:()=>im,freezeRenderState:()=>$te,getAbsoluteUri:()=>Dp,getAccessorByteStride:()=>Dl,getBaseUri:()=>mP,getBinaryAccessor:()=>Tu,getClipAndStyleCode:()=>MU,getClippingFunction:()=>IE,getComponentReader:()=>H_,getElement:()=>wn,getExtensionFromUri:()=>YC,getFilenameFromUri:()=>A_,getImageFromTypedArray:()=>KI,getImagePixels:()=>Ad,getJsonFromTypedArray:()=>Xo,getMagic:()=>Jd,getStringFromTypedArray:()=>ml,getTimestamp:()=>Ei,hasExtension:()=>eo,heightReferenceOnEntityPropertyChanged:()=>R_,isBitSet:()=>nc,isBlobUri:()=>XC,isCrossOriginUrl:()=>KC,isDataUri:()=>Pp,isLeapYear:()=>Lp,knockout:()=>Ce,knockout_3_5_1:()=>tb,knockout_es5:()=>L4,loadAndExecuteScript:()=>ZC,loadCubeMap:()=>MV,loadImageFromTypedArray:()=>yA,loadKTX2:()=>xl,mergeSort:()=>ly,modernizeShader:()=>BO,moveTechniqueRenderStates:()=>jB,moveTechniquesToExtension:()=>YB,numberOfComponentsForType:()=>Eu,objectToQuery:()=>$C,oneTimeWarning:()=>Bt,parseBatchTable:()=>Z_,parseBoundingVolumeSemantics:()=>uL,parseFeatureMetadataLegacy:()=>pL,parseGlb:()=>HB,parseResponseHeaders:()=>_P,parseStructuralMetadata:()=>mL,pointInsideTriangle:()=>zte,preprocess3DTileContent:()=>ET,queryToObject:()=>tu,readAccessorPacked:()=>ZB,removeExtension:()=>ZA,removeExtensionsRequired:()=>zB,removeExtensionsUsed:()=>XA,removePipelineExtras:()=>WB,removeUnusedElements:()=>XB,requestAnimationFrame:()=>Hte,resizeImageToNextPowerOfTwo:()=>fy,sampleTerrain:()=>ZI,sampleTerrainMostDetailed:()=>T_,scaleToGeodeticSurface:()=>HC,subdivideArray:()=>$I,subscribeAndEvaluate:()=>ra,updateAccessorComponentTypes:()=>JB,updateVersion:()=>nL,usesExtension:()=>gr,viewerCesium3DTilesInspectorMixin:()=>yye,viewerCesiumInspectorMixin:()=>Cye,viewerDragDropMixin:()=>Aye,viewerPerformanceWatchdogMixin:()=>Tye,webGLConstantToGlslType:()=>jte,wrapFunction:()=>JI,writeTextToCanvas:()=>$x});module.exports=Iye(o_t);function Oye(e){return e!=null}var l=Oye;function _0(e){this.name="DeveloperError",this.message=e;let t;try{throw new Error}catch(n){t=n.stack}this.stack=t}l(Object.create)&&(_0.prototype=Object.create(Error.prototype),_0.prototype.constructor=_0);_0.prototype.toString=function(){let e=`${this.name}: ${this.message}`;return l(this.stack)&&(e+=`
  75. ${this.stack.toString()}`),e};_0.throwInstantiationError=function(){throw new _0("This function defines an interface and should not be called directly.")};var ye=_0;var Xr={};Xr.typeOf={};function Rye(e){return`${e} is required, actual value was undefined`}function UC(e,t,n){return`Expected ${n} to be typeof ${t}, actual typeof was ${e}`}Xr.defined=function(e,t){if(!l(t))throw new ye(Rye(e))};Xr.typeOf.func=function(e,t){if(typeof t!="function")throw new ye(UC(typeof t,"function",e))};Xr.typeOf.string=function(e,t){if(typeof t!="string")throw new ye(UC(typeof t,"string",e))};Xr.typeOf.number=function(e,t){if(typeof t!="number")throw new ye(UC(typeof t,"number",e))};Xr.typeOf.number.lessThan=function(e,t,n){if(Xr.typeOf.number(e,t),t>=n)throw new ye(`Expected ${e} to be less than ${n}, actual value was ${t}`)};Xr.typeOf.number.lessThanOrEquals=function(e,t,n){if(Xr.typeOf.number(e,t),t>n)throw new ye(`Expected ${e} to be less than or equal to ${n}, actual value was ${t}`)};Xr.typeOf.number.greaterThan=function(e,t,n){if(Xr.typeOf.number(e,t),t<=n)throw new ye(`Expected ${e} to be greater than ${n}, actual value was ${t}`)};Xr.typeOf.number.greaterThanOrEquals=function(e,t,n){if(Xr.typeOf.number(e,t),t<n)throw new ye(`Expected ${e} to be greater than or equal to ${n}, actual value was ${t}`)};Xr.typeOf.object=function(e,t){if(typeof t!="object")throw new ye(UC(typeof t,"object",e))};Xr.typeOf.bool=function(e,t){if(typeof t!="boolean")throw new ye(UC(typeof t,"boolean",e))};Xr.typeOf.bigint=function(e,t){if(typeof t!="bigint")throw new ye(UC(typeof t,"bigint",e))};Xr.typeOf.number.equals=function(e,t,n,i){if(Xr.typeOf.number(e,n),Xr.typeOf.number(t,i),n!==i)throw new ye(`${e} must be equal to ${t}, the actual values are ${n} and ${i}`)};var ul=Xr;function lY(e,t){return e??t}lY.EMPTY_OBJECT=Object.freeze({});var y=lY;var jz=Ri(iP(),1);var tt={};tt.EPSILON1=.1;tt.EPSILON2=.01;tt.EPSILON3=.001;tt.EPSILON4=1e-4;tt.EPSILON5=1e-5;tt.EPSILON6=1e-6;tt.EPSILON7=1e-7;tt.EPSILON8=1e-8;tt.EPSILON9=1e-9;tt.EPSILON10=1e-10;tt.EPSILON11=1e-11;tt.EPSILON12=1e-12;tt.EPSILON13=1e-13;tt.EPSILON14=1e-14;tt.EPSILON15=1e-15;tt.EPSILON16=1e-16;tt.EPSILON17=1e-17;tt.EPSILON18=1e-18;tt.EPSILON19=1e-19;tt.EPSILON20=1e-20;tt.EPSILON21=1e-21;tt.GRAVITATIONALPARAMETER=3986004418e5;tt.SOLAR_RADIUS=6955e5;tt.LUNAR_RADIUS=1737400;tt.SIXTY_FOUR_KILOBYTES=64*1024;tt.FOUR_GIGABYTES=4*1024*1024*1024;tt.sign=y(Math.sign,function(t){return t=+t,t===0||t!==t?t:t>0?1:-1});tt.signNotZero=function(e){return e<0?-1:1};tt.toSNorm=function(e,t){return t=y(t,255),Math.round((tt.clamp(e,-1,1)*.5+.5)*t)};tt.fromSNorm=function(e,t){return t=y(t,255),tt.clamp(e,0,t)/t*2-1};tt.normalize=function(e,t,n){return n=Math.max(n-t,0),n===0?0:tt.clamp((e-t)/n,0,1)};tt.sinh=y(Math.sinh,function(t){return(Math.exp(t)-Math.exp(-t))/2});tt.cosh=y(Math.cosh,function(t){return(Math.exp(t)+Math.exp(-t))/2});tt.lerp=function(e,t,n){return(1-n)*e+n*t};tt.PI=Math.PI;tt.ONE_OVER_PI=1/Math.PI;tt.PI_OVER_TWO=Math.PI/2;tt.PI_OVER_THREE=Math.PI/3;tt.PI_OVER_FOUR=Math.PI/4;tt.PI_OVER_SIX=Math.PI/6;tt.THREE_PI_OVER_TWO=3*Math.PI/2;tt.TWO_PI=2*Math.PI;tt.ONE_OVER_TWO_PI=1/(2*Math.PI);tt.RADIANS_PER_DEGREE=Math.PI/180;tt.DEGREES_PER_RADIAN=180/Math.PI;tt.RADIANS_PER_ARCSECOND=tt.RADIANS_PER_DEGREE/3600;tt.toRadians=function(e){return e*tt.RADIANS_PER_DEGREE};tt.toDegrees=function(e){return e*tt.DEGREES_PER_RADIAN};tt.convertLongitudeRange=function(e){let t=tt.TWO_PI,n=e-Math.floor(e/t)*t;return n<-Math.PI?n+t:n>=Math.PI?n-t:n};tt.clampToLatitudeRange=function(e){return tt.clamp(e,-1*tt.PI_OVER_TWO,tt.PI_OVER_TWO)};tt.negativePiToPi=function(e){return e>=-tt.PI&&e<=tt.PI?e:tt.zeroToTwoPi(e+tt.PI)-tt.PI};tt.zeroToTwoPi=function(e){if(e>=0&&e<=tt.TWO_PI)return e;let t=tt.mod(e,tt.TWO_PI);return Math.abs(t)<tt.EPSILON14&&Math.abs(e)>tt.EPSILON14?tt.TWO_PI:t};tt.mod=function(e,t){return tt.sign(e)===tt.sign(t)&&Math.abs(e)<Math.abs(t)?e:(e%t+t)%t};tt.equalsEpsilon=function(e,t,n,i){n=y(n,0),i=y(i,n);let o=Math.abs(e-t);return o<=i||o<=n*Math.max(Math.abs(e),Math.abs(t))};tt.lessThan=function(e,t,n){return e-t<-n};tt.lessThanOrEquals=function(e,t,n){return e-t<n};tt.greaterThan=function(e,t,n){return e-t>n};tt.greaterThanOrEquals=function(e,t,n){return e-t>-n};var oP=[1];tt.factorial=function(e){let t=oP.length;if(e>=t){let n=oP[t-1];for(let i=t;i<=e;i++){let o=n*i;oP.push(o),n=o}}return oP[e]};tt.incrementWrap=function(e,t,n){return n=y(n,0),++e,e>t&&(e=n),e};tt.isPowerOfTwo=function(e){return e!==0&&(e&e-1)===0};tt.nextPowerOfTwo=function(e){return--e,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e,e};tt.previousPowerOfTwo=function(e){return e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,e|=e>>32,e=(e>>>0)-(e>>>1),e};tt.clamp=function(e,t,n){return e<t?t:e>n?n:e};var fY=new jz.default;tt.setRandomNumberSeed=function(e){fY=new jz.default(e)};tt.nextRandomNumber=function(){return fY.random()};tt.randomBetween=function(e,t){return tt.nextRandomNumber()*(t-e)+e};tt.acosClamped=function(e){return Math.acos(tt.clamp(e,-1,1))};tt.asinClamped=function(e){return Math.asin(tt.clamp(e,-1,1))};tt.chordLength=function(e,t){return 2*t*Math.sin(e*.5)};tt.logBase=function(e,t){return Math.log(e)/Math.log(t)};tt.cbrt=y(Math.cbrt,function(t){let n=Math.pow(Math.abs(t),.3333333333333333);return t<0?-n:n});tt.log2=y(Math.log2,function(t){return Math.log(t)*Math.LOG2E});tt.fog=function(e,t){let n=e*t;return 1-Math.exp(-(n*n))};tt.fastApproximateAtan=function(e){return e*(-.1784*Math.abs(e)-.0663*e*e+1.0301)};tt.fastApproximateAtan2=function(e,t){let n,i=Math.abs(e);n=Math.abs(t);let o=Math.max(i,n);n=Math.min(i,n);let r=n/o;return i=tt.fastApproximateAtan(r),i=Math.abs(t)>Math.abs(e)?tt.PI_OVER_TWO-i:i,i=e<0?tt.PI-i:i,i=t<0?-i:i,i};var I=tt;function Ye(e,t,n){this.x=y(e,0),this.y=y(t,0),this.z=y(n,0)}Ye.fromSpherical=function(e,t){l(t)||(t=new Ye);let n=e.clock,i=e.cone,o=y(e.magnitude,1),r=o*Math.sin(i);return t.x=r*Math.cos(n),t.y=r*Math.sin(n),t.z=o*Math.cos(i),t};Ye.fromElements=function(e,t,n,i){return l(i)?(i.x=e,i.y=t,i.z=n,i):new Ye(e,t,n)};Ye.clone=function(e,t){if(!!l(e))return l(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t):new Ye(e.x,e.y,e.z)};Ye.fromCartesian4=Ye.clone;Ye.packedLength=3;Ye.pack=function(e,t,n){return n=y(n,0),t[n++]=e.x,t[n++]=e.y,t[n]=e.z,t};Ye.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new Ye),n.x=e[t++],n.y=e[t++],n.z=e[t],n};Ye.packArray=function(e,t){let n=e.length,i=n*3;l(t)?!Array.isArray(t)&&t.length!==i||t.length!==i&&(t.length=i):t=new Array(i);for(let o=0;o<n;++o)Ye.pack(e[o],t,o*3);return t};Ye.unpackArray=function(e,t){let n=e.length;l(t)?t.length=n/3:t=new Array(n/3);for(let i=0;i<n;i+=3){let o=i/3;t[o]=Ye.unpack(e,i,t[o])}return t};Ye.fromArray=Ye.unpack;Ye.maximumComponent=function(e){return Math.max(e.x,e.y,e.z)};Ye.minimumComponent=function(e){return Math.min(e.x,e.y,e.z)};Ye.minimumByComponent=function(e,t,n){return 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};Ye.maximumByComponent=function(e,t,n){return 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};Ye.clamp=function(e,t,n,i){let o=I.clamp(e.x,t.x,n.x),r=I.clamp(e.y,t.y,n.y),s=I.clamp(e.z,t.z,n.z);return i.x=o,i.y=r,i.z=s,i};Ye.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z};Ye.magnitude=function(e){return Math.sqrt(Ye.magnitudeSquared(e))};var sP=new Ye;Ye.distance=function(e,t){return Ye.subtract(e,t,sP),Ye.magnitude(sP)};Ye.distanceSquared=function(e,t){return Ye.subtract(e,t,sP),Ye.magnitudeSquared(sP)};Ye.normalize=function(e,t){let n=Ye.magnitude(e);return t.x=e.x/n,t.y=e.y/n,t.z=e.z/n,t};Ye.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z};Ye.multiplyComponents=function(e,t,n){return n.x=e.x*t.x,n.y=e.y*t.y,n.z=e.z*t.z,n};Ye.divideComponents=function(e,t,n){return n.x=e.x/t.x,n.y=e.y/t.y,n.z=e.z/t.z,n};Ye.add=function(e,t,n){return n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n};Ye.subtract=function(e,t,n){return n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n};Ye.multiplyByScalar=function(e,t,n){return n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n};Ye.divideByScalar=function(e,t,n){return n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n};Ye.negate=function(e,t){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t};Ye.abs=function(e,t){return t.x=Math.abs(e.x),t.y=Math.abs(e.y),t.z=Math.abs(e.z),t};var dY=new Ye;Ye.lerp=function(e,t,n,i){return Ye.multiplyByScalar(t,n,dY),i=Ye.multiplyByScalar(e,1-n,i),Ye.add(dY,i,i)};var rP=new Ye,qz=new Ye;Ye.angleBetween=function(e,t){Ye.normalize(e,rP),Ye.normalize(t,qz);let n=Ye.dot(rP,qz),i=Ye.magnitude(Ye.cross(rP,qz,rP));return Math.atan2(i,n)};var Mye=new Ye;Ye.mostOrthogonalAxis=function(e,t){let n=Ye.normalize(e,Mye);return Ye.abs(n,n),n.x<=n.y?n.x<=n.z?t=Ye.clone(Ye.UNIT_X,t):t=Ye.clone(Ye.UNIT_Z,t):n.y<=n.z?t=Ye.clone(Ye.UNIT_Y,t):t=Ye.clone(Ye.UNIT_Z,t),t};Ye.projectVector=function(e,t,n){let i=Ye.dot(e,t)/Ye.dot(t,t);return Ye.multiplyByScalar(t,i,n)};Ye.equals=function(e,t){return e===t||l(e)&&l(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z};Ye.equalsArray=function(e,t,n){return e.x===t[n]&&e.y===t[n+1]&&e.z===t[n+2]};Ye.equalsEpsilon=function(e,t,n,i){return e===t||l(e)&&l(t)&&I.equalsEpsilon(e.x,t.x,n,i)&&I.equalsEpsilon(e.y,t.y,n,i)&&I.equalsEpsilon(e.z,t.z,n,i)};Ye.cross=function(e,t,n){let i=e.x,o=e.y,r=e.z,s=t.x,a=t.y,c=t.z,u=o*c-r*a,f=r*s-i*c,d=i*a-o*s;return n.x=u,n.y=f,n.z=d,n};Ye.midpoint=function(e,t,n){return n.x=(e.x+t.x)*.5,n.y=(e.y+t.y)*.5,n.z=(e.z+t.z)*.5,n};Ye.fromDegrees=function(e,t,n,i,o){return e=I.toRadians(e),t=I.toRadians(t),Ye.fromRadians(e,t,n,i,o)};var eu=new Ye,zC=new Ye,Bye=new Ye(6378137*6378137,6378137*6378137,6356752314245179e-9*6356752314245179e-9);Ye.fromRadians=function(e,t,n,i,o){n=y(n,0);let r=l(i)?i.radiiSquared:Bye,s=Math.cos(t);eu.x=s*Math.cos(e),eu.y=s*Math.sin(e),eu.z=Math.sin(t),eu=Ye.normalize(eu,eu),Ye.multiplyComponents(r,eu,zC);let a=Math.sqrt(Ye.dot(eu,zC));return zC=Ye.divideByScalar(zC,a,zC),eu=Ye.multiplyByScalar(eu,n,eu),l(o)||(o=new Ye),Ye.add(zC,eu,o)};Ye.fromDegreesArray=function(e,t,n){let i=e.length;l(n)?n.length=i/2:n=new Array(i/2);for(let o=0;o<i;o+=2){let r=e[o],s=e[o+1],a=o/2;n[a]=Ye.fromDegrees(r,s,0,t,n[a])}return n};Ye.fromRadiansArray=function(e,t,n){let i=e.length;l(n)?n.length=i/2:n=new Array(i/2);for(let o=0;o<i;o+=2){let r=e[o],s=e[o+1],a=o/2;n[a]=Ye.fromRadians(r,s,0,t,n[a])}return n};Ye.fromDegreesArrayHeights=function(e,t,n){let i=e.length;l(n)?n.length=i/3:n=new Array(i/3);for(let o=0;o<i;o+=3){let r=e[o],s=e[o+1],a=e[o+2],c=o/3;n[c]=Ye.fromDegrees(r,s,a,t,n[c])}return n};Ye.fromRadiansArrayHeights=function(e,t,n){let i=e.length;l(n)?n.length=i/3:n=new Array(i/3);for(let o=0;o<i;o+=3){let r=e[o],s=e[o+1],a=e[o+2],c=o/3;n[c]=Ye.fromRadians(r,s,a,t,n[c])}return n};Ye.ZERO=Object.freeze(new Ye(0,0,0));Ye.ONE=Object.freeze(new Ye(1,1,1));Ye.UNIT_X=Object.freeze(new Ye(1,0,0));Ye.UNIT_Y=Object.freeze(new Ye(0,1,0));Ye.UNIT_Z=Object.freeze(new Ye(0,0,1));Ye.prototype.clone=function(e){return Ye.clone(this,e)};Ye.prototype.equals=function(e){return Ye.equals(this,e)};Ye.prototype.equalsEpsilon=function(e,t,n){return Ye.equalsEpsilon(this,e,t,n)};Ye.prototype.toString=function(){return`(${this.x}, ${this.y}, ${this.z})`};var h=Ye;var Lye=new h,Nye=new h;function Fye(e,t,n,i,o){let r=e.x,s=e.y,a=e.z,c=t.x,u=t.y,f=t.z,d=r*r*c*c,p=s*s*u*u,g=a*a*f*f,m=d+p+g,C=Math.sqrt(1/m),x=h.multiplyByScalar(e,C,Lye);if(m<i)return isFinite(C)?h.clone(x,o):void 0;let A=n.x,b=n.y,E=n.z,S=Nye;S.x=x.x*A*2,S.y=x.y*b*2,S.z=x.z*E*2;let v=(1-C)*h.magnitude(e)/(.5*h.magnitude(S)),P=0,O,M,B,L,_,T,w,D,R,F,z;do{v-=P,B=1/(1+v*A),L=1/(1+v*b),_=1/(1+v*E),T=B*B,w=L*L,D=_*_,R=T*B,F=w*L,z=D*_,O=d*T+p*w+g*D-1,M=d*R*A+p*F*b+g*z*E;let k=-2*M;P=O/k}while(Math.abs(O)>I.EPSILON12);return l(o)?(o.x=r*B,o.y=s*L,o.z=a*_,o):new h(r*B,s*L,a*_)}var HC=Fye;function Vr(e,t,n){this.longitude=y(e,0),this.latitude=y(t,0),this.height=y(n,0)}Vr.fromRadians=function(e,t,n,i){return n=y(n,0),l(i)?(i.longitude=e,i.latitude=t,i.height=n,i):new Vr(e,t,n)};Vr.fromDegrees=function(e,t,n,i){return e=I.toRadians(e),t=I.toRadians(t),Vr.fromRadians(e,t,n,i)};var Vye=new h,kye=new h,Uye=new h,zye=new h(1/6378137,1/6378137,1/6356752314245179e-9),Hye=new h(1/(6378137*6378137),1/(6378137*6378137),1/(6356752314245179e-9*6356752314245179e-9)),Gye=I.EPSILON1;Vr.fromCartesian=function(e,t,n){let i=l(t)?t.oneOverRadii:zye,o=l(t)?t.oneOverRadiiSquared:Hye,r=l(t)?t._centerToleranceSquared:Gye,s=HC(e,i,o,r,kye);if(!l(s))return;let a=h.multiplyComponents(s,o,Vye);a=h.normalize(a,a);let c=h.subtract(e,s,Uye),u=Math.atan2(a.y,a.x),f=Math.asin(a.z),d=I.sign(h.dot(c,e))*h.magnitude(c);return l(n)?(n.longitude=u,n.latitude=f,n.height=d,n):new Vr(u,f,d)};Vr.toCartesian=function(e,t,n){return h.fromRadians(e.longitude,e.latitude,e.height,t,n)};Vr.clone=function(e,t){if(!!l(e))return l(t)?(t.longitude=e.longitude,t.latitude=e.latitude,t.height=e.height,t):new Vr(e.longitude,e.latitude,e.height)};Vr.equals=function(e,t){return e===t||l(e)&&l(t)&&e.longitude===t.longitude&&e.latitude===t.latitude&&e.height===t.height};Vr.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(t)&&Math.abs(e.longitude-t.longitude)<=n&&Math.abs(e.latitude-t.latitude)<=n&&Math.abs(e.height-t.height)<=n};Vr.ZERO=Object.freeze(new Vr(0,0,0));Vr.prototype.clone=function(e){return Vr.clone(this,e)};Vr.prototype.equals=function(e){return Vr.equals(this,e)};Vr.prototype.equalsEpsilon=function(e,t){return Vr.equalsEpsilon(this,e,t)};Vr.prototype.toString=function(){return`(${this.longitude}, ${this.latitude}, ${this.height})`};var he=Vr;function mY(e,t,n,i){t=y(t,0),n=y(n,0),i=y(i,0),e._radii=new h(t,n,i),e._radiiSquared=new h(t*t,n*n,i*i),e._radiiToTheFourth=new h(t*t*t*t,n*n*n*n,i*i*i*i),e._oneOverRadii=new h(t===0?0:1/t,n===0?0:1/n,i===0?0:1/i),e._oneOverRadiiSquared=new h(t===0?0:1/(t*t),n===0?0:1/(n*n),i===0?0:1/(i*i)),e._minimumRadius=Math.min(t,n,i),e._maximumRadius=Math.max(t,n,i),e._centerToleranceSquared=I.EPSILON1,e._radiiSquared.z!==0&&(e._squaredXOverSquaredZ=e._radiiSquared.x/e._radiiSquared.z)}function Ui(e,t,n){this._radii=void 0,this._radiiSquared=void 0,this._radiiToTheFourth=void 0,this._oneOverRadii=void 0,this._oneOverRadiiSquared=void 0,this._minimumRadius=void 0,this._maximumRadius=void 0,this._centerToleranceSquared=void 0,this._squaredXOverSquaredZ=void 0,mY(this,e,t,n)}Object.defineProperties(Ui.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}}});Ui.clone=function(e,t){if(!l(e))return;let n=e._radii;return l(t)?(h.clone(n,t._radii),h.clone(e._radiiSquared,t._radiiSquared),h.clone(e._radiiToTheFourth,t._radiiToTheFourth),h.clone(e._oneOverRadii,t._oneOverRadii),h.clone(e._oneOverRadiiSquared,t._oneOverRadiiSquared),t._minimumRadius=e._minimumRadius,t._maximumRadius=e._maximumRadius,t._centerToleranceSquared=e._centerToleranceSquared,t):new Ui(n.x,n.y,n.z)};Ui.fromCartesian3=function(e,t){return l(t)||(t=new Ui),l(e)&&mY(t,e.x,e.y,e.z),t};Ui.WGS84=Object.freeze(new Ui(6378137,6378137,6356752314245179e-9));Ui.UNIT_SPHERE=Object.freeze(new Ui(1,1,1));Ui.MOON=Object.freeze(new Ui(I.LUNAR_RADIUS,I.LUNAR_RADIUS,I.LUNAR_RADIUS));Ui.prototype.clone=function(e){return Ui.clone(this,e)};Ui.packedLength=h.packedLength;Ui.pack=function(e,t,n){return n=y(n,0),h.pack(e._radii,t,n),t};Ui.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t);return Ui.fromCartesian3(i,n)};Ui.prototype.geocentricSurfaceNormal=h.normalize;Ui.prototype.geodeticSurfaceNormalCartographic=function(e,t){let n=e.longitude,i=e.latitude,o=Math.cos(i),r=o*Math.cos(n),s=o*Math.sin(n),a=Math.sin(i);return l(t)||(t=new h),t.x=r,t.y=s,t.z=a,h.normalize(t,t)};Ui.prototype.geodeticSurfaceNormal=function(e,t){if(!h.equalsEpsilon(e,h.ZERO,I.EPSILON14))return l(t)||(t=new h),t=h.multiplyComponents(e,this._oneOverRadiiSquared,t),h.normalize(t,t)};var Wye=new h,jye=new h;Ui.prototype.cartographicToCartesian=function(e,t){let n=Wye,i=jye;this.geodeticSurfaceNormalCartographic(e,n),h.multiplyComponents(this._radiiSquared,n,i);let o=Math.sqrt(h.dot(n,i));return h.divideByScalar(i,o,i),h.multiplyByScalar(n,e.height,n),l(t)||(t=new h),h.add(i,n,t)};Ui.prototype.cartographicArrayToCartesianArray=function(e,t){let n=e.length;l(t)?t.length=n:t=new Array(n);for(let i=0;i<n;i++)t[i]=this.cartographicToCartesian(e[i],t[i]);return t};var qye=new h,Yye=new h,Xye=new h;Ui.prototype.cartesianToCartographic=function(e,t){let n=this.scaleToGeodeticSurface(e,Yye);if(!l(n))return;let i=this.geodeticSurfaceNormal(n,qye),o=h.subtract(e,n,Xye),r=Math.atan2(i.y,i.x),s=Math.asin(i.z),a=I.sign(h.dot(o,e))*h.magnitude(o);return l(t)?(t.longitude=r,t.latitude=s,t.height=a,t):new he(r,s,a)};Ui.prototype.cartesianArrayToCartographicArray=function(e,t){let n=e.length;l(t)?t.length=n:t=new Array(n);for(let i=0;i<n;++i)t[i]=this.cartesianToCartographic(e[i],t[i]);return t};Ui.prototype.scaleToGeodeticSurface=function(e,t){return HC(e,this._oneOverRadii,this._oneOverRadiiSquared,this._centerToleranceSquared,t)};Ui.prototype.scaleToGeocentricSurface=function(e,t){l(t)||(t=new h);let n=e.x,i=e.y,o=e.z,r=this._oneOverRadiiSquared,s=1/Math.sqrt(n*n*r.x+i*i*r.y+o*o*r.z);return h.multiplyByScalar(e,s,t)};Ui.prototype.transformPositionToScaledSpace=function(e,t){return l(t)||(t=new h),h.multiplyComponents(e,this._oneOverRadii,t)};Ui.prototype.transformPositionFromScaledSpace=function(e,t){return l(t)||(t=new h),h.multiplyComponents(e,this._radii,t)};Ui.prototype.equals=function(e){return this===e||l(e)&&h.equals(this._radii,e._radii)};Ui.prototype.toString=function(){return this._radii.toString()};Ui.prototype.getSurfaceNormalIntersectionWithZAxis=function(e,t,n){t=y(t,0);let i=this._squaredXOverSquaredZ;if(l(n)||(n=new h),n.x=0,n.y=0,n.z=e.z*(1-i),!(Math.abs(n.z)>=this._radii.z-t))return n};var Kye=[.14887433898163,.43339539412925,.67940956829902,.86506336668898,.97390652851717,0],Zye=[.29552422471475,.26926671930999,.21908636251598,.14945134915058,.066671344308684,0];function hY(e,t,n){let i=.5*(t+e),o=.5*(t-e),r=0;for(let s=0;s<5;s++){let a=o*Kye[s];r+=Zye[s]*(n(i+a)+n(i-a))}return r*=o,r}Ui.prototype.surfaceArea=function(e){let t=e.west,n=e.east,i=e.south,o=e.north;for(;n<t;)n+=I.TWO_PI;let r=this._radiiSquared,s=r.x,a=r.y,c=r.z,u=s*a;return hY(i,o,function(f){let d=Math.cos(f),p=Math.sin(f);return Math.cos(f)*hY(t,n,function(g){let m=Math.cos(g),C=Math.sin(g);return Math.sqrt(u*p*p+c*(a*m*m+s*C*C)*d*d)})})};var oe=Ui;function aP(e){this._ellipsoid=y(e,oe.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis}Object.defineProperties(aP.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});aP.prototype.project=function(e,t){let n=this._semimajorAxis,i=e.longitude*n,o=e.latitude*n,r=e.height;return l(t)?(t.x=i,t.y=o,t.z=r,t):new h(i,o,r)};aP.prototype.unproject=function(e,t){let n=this._oneOverSemimajorAxis,i=e.x*n,o=e.y*n,r=e.z;return l(t)?(t.longitude=i,t.latitude=o,t.height=r,t):new he(i,o,r)};var xi=aP;var $ye={OUTSIDE:-1,INTERSECTING:0,INSIDE:1},Kt=Object.freeze($ye);function Jye(e,t){this.start=y(e,0),this.stop=y(t,0)}var Dc=Jye;function Xe(e,t,n,i,o,r,s,a,c){this[0]=y(e,0),this[1]=y(i,0),this[2]=y(s,0),this[3]=y(t,0),this[4]=y(o,0),this[5]=y(a,0),this[6]=y(n,0),this[7]=y(r,0),this[8]=y(c,0)}Xe.packedLength=9;Xe.pack=function(e,t,n){return n=y(n,0),t[n++]=e[0],t[n++]=e[1],t[n++]=e[2],t[n++]=e[3],t[n++]=e[4],t[n++]=e[5],t[n++]=e[6],t[n++]=e[7],t[n++]=e[8],t};Xe.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new Xe),n[0]=e[t++],n[1]=e[t++],n[2]=e[t++],n[3]=e[t++],n[4]=e[t++],n[5]=e[t++],n[6]=e[t++],n[7]=e[t++],n[8]=e[t++],n};Xe.packArray=function(e,t){let n=e.length,i=n*9;l(t)?!Array.isArray(t)&&t.length!==i||t.length!==i&&(t.length=i):t=new Array(i);for(let o=0;o<n;++o)Xe.pack(e[o],t,o*9);return t};Xe.unpackArray=function(e,t){let n=e.length;l(t)?t.length=n/9:t=new Array(n/9);for(let i=0;i<n;i+=9){let o=i/9;t[o]=Xe.unpack(e,i,t[o])}return t};Xe.clone=function(e,t){if(!!l(e))return l(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 Xe(e[0],e[3],e[6],e[1],e[4],e[7],e[2],e[5],e[8])};Xe.fromArray=Xe.unpack;Xe.fromColumnMajorArray=function(e,t){return Xe.clone(e,t)};Xe.fromRowMajorArray=function(e,t){return l(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 Xe(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])};Xe.fromQuaternion=function(e,t){let n=e.x*e.x,i=e.x*e.y,o=e.x*e.z,r=e.x*e.w,s=e.y*e.y,a=e.y*e.z,c=e.y*e.w,u=e.z*e.z,f=e.z*e.w,d=e.w*e.w,p=n-s-u+d,g=2*(i-f),m=2*(o+c),C=2*(i+f),x=-n+s-u+d,A=2*(a-r),b=2*(o-c),E=2*(a+r),S=-n-s+u+d;return l(t)?(t[0]=p,t[1]=C,t[2]=b,t[3]=g,t[4]=x,t[5]=E,t[6]=m,t[7]=A,t[8]=S,t):new Xe(p,g,m,C,x,A,b,E,S)};Xe.fromHeadingPitchRoll=function(e,t){let n=Math.cos(-e.pitch),i=Math.cos(-e.heading),o=Math.cos(e.roll),r=Math.sin(-e.pitch),s=Math.sin(-e.heading),a=Math.sin(e.roll),c=n*i,u=-o*s+a*r*i,f=a*s+o*r*i,d=n*s,p=o*i+a*r*s,g=-a*i+o*r*s,m=-r,C=a*n,x=o*n;return l(t)?(t[0]=c,t[1]=d,t[2]=m,t[3]=u,t[4]=p,t[5]=C,t[6]=f,t[7]=g,t[8]=x,t):new Xe(c,u,f,d,p,g,m,C,x)};Xe.fromScale=function(e,t){return l(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 Xe(e.x,0,0,0,e.y,0,0,0,e.z)};Xe.fromUniformScale=function(e,t){return l(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 Xe(e,0,0,0,e,0,0,0,e)};Xe.fromCrossProduct=function(e,t){return l(t)?(t[0]=0,t[1]=e.z,t[2]=-e.y,t[3]=-e.z,t[4]=0,t[5]=e.x,t[6]=e.y,t[7]=-e.x,t[8]=0,t):new Xe(0,-e.z,e.y,e.z,0,-e.x,-e.y,e.x,0)};Xe.fromRotationX=function(e,t){let n=Math.cos(e),i=Math.sin(e);return l(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 Xe(1,0,0,0,n,-i,0,i,n)};Xe.fromRotationY=function(e,t){let n=Math.cos(e),i=Math.sin(e);return l(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 Xe(n,0,i,0,1,0,-i,0,n)};Xe.fromRotationZ=function(e,t){let n=Math.cos(e),i=Math.sin(e);return l(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 Xe(n,-i,0,i,n,0,0,0,1)};Xe.toArray=function(e,t){return l(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]]};Xe.getElementIndex=function(e,t){return e*3+t};Xe.getColumn=function(e,t,n){let i=t*3,o=e[i],r=e[i+1],s=e[i+2];return n.x=o,n.y=r,n.z=s,n};Xe.setColumn=function(e,t,n,i){i=Xe.clone(e,i);let o=t*3;return i[o]=n.x,i[o+1]=n.y,i[o+2]=n.z,i};Xe.getRow=function(e,t,n){let i=e[t],o=e[t+3],r=e[t+6];return n.x=i,n.y=o,n.z=r,n};Xe.setRow=function(e,t,n,i){return i=Xe.clone(e,i),i[t]=n.x,i[t+3]=n.y,i[t+6]=n.z,i};var Qye=new h;Xe.setScale=function(e,t,n){let i=Xe.getScale(e,Qye),o=t.x/i.x,r=t.y/i.y,s=t.z/i.z;return n[0]=e[0]*o,n[1]=e[1]*o,n[2]=e[2]*o,n[3]=e[3]*r,n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*s,n[7]=e[7]*s,n[8]=e[8]*s,n};var eCe=new h;Xe.setUniformScale=function(e,t,n){let i=Xe.getScale(e,eCe),o=t/i.x,r=t/i.y,s=t/i.z;return n[0]=e[0]*o,n[1]=e[1]*o,n[2]=e[2]*o,n[3]=e[3]*r,n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*s,n[7]=e[7]*s,n[8]=e[8]*s,n};var Yz=new h;Xe.getScale=function(e,t){return t.x=h.magnitude(h.fromElements(e[0],e[1],e[2],Yz)),t.y=h.magnitude(h.fromElements(e[3],e[4],e[5],Yz)),t.z=h.magnitude(h.fromElements(e[6],e[7],e[8],Yz)),t};var pY=new h;Xe.getMaximumScale=function(e){return Xe.getScale(e,pY),h.maximumComponent(pY)};var tCe=new h;Xe.setRotation=function(e,t,n){let i=Xe.getScale(e,tCe);return n[0]=t[0]*i.x,n[1]=t[1]*i.x,n[2]=t[2]*i.x,n[3]=t[3]*i.y,n[4]=t[4]*i.y,n[5]=t[5]*i.y,n[6]=t[6]*i.z,n[7]=t[7]*i.z,n[8]=t[8]*i.z,n};var nCe=new h;Xe.getRotation=function(e,t){let n=Xe.getScale(e,nCe);return t[0]=e[0]/n.x,t[1]=e[1]/n.x,t[2]=e[2]/n.x,t[3]=e[3]/n.y,t[4]=e[4]/n.y,t[5]=e[5]/n.y,t[6]=e[6]/n.z,t[7]=e[7]/n.z,t[8]=e[8]/n.z,t};Xe.multiply=function(e,t,n){let 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],r=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],a=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],u=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[0]=i,n[1]=o,n[2]=r,n[3]=s,n[4]=a,n[5]=c,n[6]=u,n[7]=f,n[8]=d,n};Xe.add=function(e,t,n){return n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n[4]=e[4]+t[4],n[5]=e[5]+t[5],n[6]=e[6]+t[6],n[7]=e[7]+t[7],n[8]=e[8]+t[8],n};Xe.subtract=function(e,t,n){return n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2],n[3]=e[3]-t[3],n[4]=e[4]-t[4],n[5]=e[5]-t[5],n[6]=e[6]-t[6],n[7]=e[7]-t[7],n[8]=e[8]-t[8],n};Xe.multiplyByVector=function(e,t,n){let i=t.x,o=t.y,r=t.z,s=e[0]*i+e[3]*o+e[6]*r,a=e[1]*i+e[4]*o+e[7]*r,c=e[2]*i+e[5]*o+e[8]*r;return n.x=s,n.y=a,n.z=c,n};Xe.multiplyByScalar=function(e,t,n){return 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};Xe.multiplyByScale=function(e,t,n){return n[0]=e[0]*t.x,n[1]=e[1]*t.x,n[2]=e[2]*t.x,n[3]=e[3]*t.y,n[4]=e[4]*t.y,n[5]=e[5]*t.y,n[6]=e[6]*t.z,n[7]=e[7]*t.z,n[8]=e[8]*t.z,n};Xe.multiplyByUniformScale=function(e,t,n){return 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};Xe.negate=function(e,t){return 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};Xe.transpose=function(e,t){let n=e[0],i=e[3],o=e[6],r=e[1],s=e[4],a=e[7],c=e[2],u=e[5],f=e[8];return t[0]=n,t[1]=i,t[2]=o,t[3]=r,t[4]=s,t[5]=a,t[6]=c,t[7]=u,t[8]=f,t};function iCe(e){let t=0;for(let n=0;n<9;++n){let i=e[n];t+=i*i}return Math.sqrt(t)}var Xz=[1,0,0],Kz=[2,2,1];function oCe(e){let t=0;for(let n=0;n<3;++n){let i=e[Xe.getElementIndex(Kz[n],Xz[n])];t+=2*i*i}return Math.sqrt(t)}function rCe(e,t){let n=I.EPSILON15,i=0,o=1;for(let u=0;u<3;++u){let f=Math.abs(e[Xe.getElementIndex(Kz[u],Xz[u])]);f>i&&(o=u,i=f)}let r=1,s=0,a=Xz[o],c=Kz[o];if(Math.abs(e[Xe.getElementIndex(c,a)])>n){let u=e[Xe.getElementIndex(c,c)],f=e[Xe.getElementIndex(a,a)],d=e[Xe.getElementIndex(c,a)],p=(u-f)/2/d,g;p<0?g=-1/(-p+Math.sqrt(1+p*p)):g=1/(p+Math.sqrt(1+p*p)),r=1/Math.sqrt(1+g*g),s=g*r}return t=Xe.clone(Xe.IDENTITY,t),t[Xe.getElementIndex(a,a)]=t[Xe.getElementIndex(c,c)]=r,t[Xe.getElementIndex(c,a)]=s,t[Xe.getElementIndex(a,c)]=-s,t}var cP=new Xe,_Y=new Xe;Xe.computeEigenDecomposition=function(e,t){let n=I.EPSILON20,i=10,o=0,r=0;l(t)||(t={});let s=t.unitary=Xe.clone(Xe.IDENTITY,t.unitary),a=t.diagonal=Xe.clone(e,t.diagonal),c=n*iCe(a);for(;r<i&&oCe(a)>c;)rCe(a,cP),Xe.transpose(cP,_Y),Xe.multiply(a,cP,a),Xe.multiply(_Y,a,a),Xe.multiply(s,cP,s),++o>2&&(++r,o=0);return t};Xe.abs=function(e,t){return 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};Xe.determinant=function(e){let t=e[0],n=e[3],i=e[6],o=e[1],r=e[4],s=e[7],a=e[2],c=e[5],u=e[8];return t*(r*u-c*s)+o*(c*i-n*u)+a*(n*s-r*i)};Xe.inverse=function(e,t){let n=e[0],i=e[1],o=e[2],r=e[3],s=e[4],a=e[5],c=e[6],u=e[7],f=e[8],d=Xe.determinant(e);t[0]=s*f-u*a,t[1]=u*o-i*f,t[2]=i*a-s*o,t[3]=c*a-r*f,t[4]=n*f-c*o,t[5]=r*o-n*a,t[6]=r*u-c*s,t[7]=c*i-n*u,t[8]=n*s-r*i;let p=1/d;return Xe.multiplyByScalar(t,p,t)};var sCe=new Xe;Xe.inverseTranspose=function(e,t){return Xe.inverse(Xe.transpose(e,sCe),t)};Xe.equals=function(e,t){return e===t||l(e)&&l(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]};Xe.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(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};Xe.IDENTITY=Object.freeze(new Xe(1,0,0,0,1,0,0,0,1));Xe.ZERO=Object.freeze(new Xe(0,0,0,0,0,0,0,0,0));Xe.COLUMN0ROW0=0;Xe.COLUMN0ROW1=1;Xe.COLUMN0ROW2=2;Xe.COLUMN1ROW0=3;Xe.COLUMN1ROW1=4;Xe.COLUMN1ROW2=5;Xe.COLUMN2ROW0=6;Xe.COLUMN2ROW1=7;Xe.COLUMN2ROW2=8;Object.defineProperties(Xe.prototype,{length:{get:function(){return Xe.packedLength}}});Xe.prototype.clone=function(e){return Xe.clone(this,e)};Xe.prototype.equals=function(e){return Xe.equals(this,e)};Xe.equalsArray=function(e,t,n){return e[0]===t[n]&&e[1]===t[n+1]&&e[2]===t[n+2]&&e[3]===t[n+3]&&e[4]===t[n+4]&&e[5]===t[n+5]&&e[6]===t[n+6]&&e[7]===t[n+7]&&e[8]===t[n+8]};Xe.prototype.equalsEpsilon=function(e,t){return Xe.equalsEpsilon(this,e,t)};Xe.prototype.toString=function(){return`(${this[0]}, ${this[3]}, ${this[6]})
  76. (${this[1]}, ${this[4]}, ${this[7]})
  77. (${this[2]}, ${this[5]}, ${this[8]})`};var J=Xe;function ut(e,t,n,i){this.x=y(e,0),this.y=y(t,0),this.z=y(n,0),this.w=y(i,0)}ut.fromElements=function(e,t,n,i,o){return l(o)?(o.x=e,o.y=t,o.z=n,o.w=i,o):new ut(e,t,n,i)};ut.fromColor=function(e,t){return l(t)?(t.x=e.red,t.y=e.green,t.z=e.blue,t.w=e.alpha,t):new ut(e.red,e.green,e.blue,e.alpha)};ut.clone=function(e,t){if(!!l(e))return l(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t):new ut(e.x,e.y,e.z,e.w)};ut.packedLength=4;ut.pack=function(e,t,n){return n=y(n,0),t[n++]=e.x,t[n++]=e.y,t[n++]=e.z,t[n]=e.w,t};ut.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new ut),n.x=e[t++],n.y=e[t++],n.z=e[t++],n.w=e[t],n};ut.packArray=function(e,t){let n=e.length,i=n*4;l(t)?!Array.isArray(t)&&t.length!==i||t.length!==i&&(t.length=i):t=new Array(i);for(let o=0;o<n;++o)ut.pack(e[o],t,o*4);return t};ut.unpackArray=function(e,t){let n=e.length;l(t)?t.length=n/4:t=new Array(n/4);for(let i=0;i<n;i+=4){let o=i/4;t[o]=ut.unpack(e,i,t[o])}return t};ut.fromArray=ut.unpack;ut.maximumComponent=function(e){return Math.max(e.x,e.y,e.z,e.w)};ut.minimumComponent=function(e){return Math.min(e.x,e.y,e.z,e.w)};ut.minimumByComponent=function(e,t,n){return 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};ut.maximumByComponent=function(e,t,n){return 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};ut.clamp=function(e,t,n,i){let o=I.clamp(e.x,t.x,n.x),r=I.clamp(e.y,t.y,n.y),s=I.clamp(e.z,t.z,n.z),a=I.clamp(e.w,t.w,n.w);return i.x=o,i.y=r,i.z=s,i.w=a,i};ut.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w};ut.magnitude=function(e){return Math.sqrt(ut.magnitudeSquared(e))};var lP=new ut;ut.distance=function(e,t){return ut.subtract(e,t,lP),ut.magnitude(lP)};ut.distanceSquared=function(e,t){return ut.subtract(e,t,lP),ut.magnitudeSquared(lP)};ut.normalize=function(e,t){let n=ut.magnitude(e);return t.x=e.x/n,t.y=e.y/n,t.z=e.z/n,t.w=e.w/n,t};ut.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w};ut.multiplyComponents=function(e,t,n){return 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};ut.divideComponents=function(e,t,n){return 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};ut.add=function(e,t,n){return 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};ut.subtract=function(e,t,n){return 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};ut.multiplyByScalar=function(e,t,n){return n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n.w=e.w*t,n};ut.divideByScalar=function(e,t,n){return n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n.w=e.w/t,n};ut.negate=function(e,t){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t};ut.abs=function(e,t){return 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};var gY=new ut;ut.lerp=function(e,t,n,i){return ut.multiplyByScalar(t,n,gY),i=ut.multiplyByScalar(e,1-n,i),ut.add(gY,i,i)};var aCe=new ut;ut.mostOrthogonalAxis=function(e,t){let n=ut.normalize(e,aCe);return ut.abs(n,n),n.x<=n.y?n.x<=n.z?n.x<=n.w?t=ut.clone(ut.UNIT_X,t):t=ut.clone(ut.UNIT_W,t):n.z<=n.w?t=ut.clone(ut.UNIT_Z,t):t=ut.clone(ut.UNIT_W,t):n.y<=n.z?n.y<=n.w?t=ut.clone(ut.UNIT_Y,t):t=ut.clone(ut.UNIT_W,t):n.z<=n.w?t=ut.clone(ut.UNIT_Z,t):t=ut.clone(ut.UNIT_W,t),t};ut.equals=function(e,t){return e===t||l(e)&&l(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w};ut.equalsArray=function(e,t,n){return e.x===t[n]&&e.y===t[n+1]&&e.z===t[n+2]&&e.w===t[n+3]};ut.equalsEpsilon=function(e,t,n,i){return e===t||l(e)&&l(t)&&I.equalsEpsilon(e.x,t.x,n,i)&&I.equalsEpsilon(e.y,t.y,n,i)&&I.equalsEpsilon(e.z,t.z,n,i)&&I.equalsEpsilon(e.w,t.w,n,i)};ut.ZERO=Object.freeze(new ut(0,0,0,0));ut.ONE=Object.freeze(new ut(1,1,1,1));ut.UNIT_X=Object.freeze(new ut(1,0,0,0));ut.UNIT_Y=Object.freeze(new ut(0,1,0,0));ut.UNIT_Z=Object.freeze(new ut(0,0,1,0));ut.UNIT_W=Object.freeze(new ut(0,0,0,1));ut.prototype.clone=function(e){return ut.clone(this,e)};ut.prototype.equals=function(e){return ut.equals(this,e)};ut.prototype.equalsEpsilon=function(e,t,n){return ut.equalsEpsilon(this,e,t,n)};ut.prototype.toString=function(){return`(${this.x}, ${this.y}, ${this.z}, ${this.w})`};var Zz=new Float32Array(1),ca=new Uint8Array(Zz.buffer),cCe=new Uint32Array([287454020]),lCe=new Uint8Array(cCe.buffer),yY=lCe[0]===68;ut.packFloat=function(e,t){return l(t)||(t=new ut),Zz[0]=e,yY?(t.x=ca[0],t.y=ca[1],t.z=ca[2],t.w=ca[3]):(t.x=ca[3],t.y=ca[2],t.z=ca[1],t.w=ca[0]),t};ut.unpackFloat=function(e){return yY?(ca[0]=e.x,ca[1]=e.y,ca[2]=e.z,ca[3]=e.w):(ca[0]=e.w,ca[1]=e.z,ca[2]=e.y,ca[3]=e.x),Zz[0]};var se=ut;function ab(e){this.name="RuntimeError",this.message=e;let t;try{throw new Error}catch(n){t=n.stack}this.stack=t}l(Object.create)&&(ab.prototype=Object.create(Error.prototype),ab.prototype.constructor=ab);ab.prototype.toString=function(){let e=`${this.name}: ${this.message}`;return l(this.stack)&&(e+=`
  78. ${this.stack.toString()}`),e};var de=ab;function qe(e,t,n,i,o,r,s,a,c,u,f,d,p,g,m,C){this[0]=y(e,0),this[1]=y(o,0),this[2]=y(c,0),this[3]=y(p,0),this[4]=y(t,0),this[5]=y(r,0),this[6]=y(u,0),this[7]=y(g,0),this[8]=y(n,0),this[9]=y(s,0),this[10]=y(f,0),this[11]=y(m,0),this[12]=y(i,0),this[13]=y(a,0),this[14]=y(d,0),this[15]=y(C,0)}qe.packedLength=16;qe.pack=function(e,t,n){return n=y(n,0),t[n++]=e[0],t[n++]=e[1],t[n++]=e[2],t[n++]=e[3],t[n++]=e[4],t[n++]=e[5],t[n++]=e[6],t[n++]=e[7],t[n++]=e[8],t[n++]=e[9],t[n++]=e[10],t[n++]=e[11],t[n++]=e[12],t[n++]=e[13],t[n++]=e[14],t[n]=e[15],t};qe.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new qe),n[0]=e[t++],n[1]=e[t++],n[2]=e[t++],n[3]=e[t++],n[4]=e[t++],n[5]=e[t++],n[6]=e[t++],n[7]=e[t++],n[8]=e[t++],n[9]=e[t++],n[10]=e[t++],n[11]=e[t++],n[12]=e[t++],n[13]=e[t++],n[14]=e[t++],n[15]=e[t],n};qe.packArray=function(e,t){let n=e.length,i=n*16;l(t)?!Array.isArray(t)&&t.length!==i||t.length!==i&&(t.length=i):t=new Array(i);for(let o=0;o<n;++o)qe.pack(e[o],t,o*16);return t};qe.unpackArray=function(e,t){let n=e.length;l(t)?t.length=n/16:t=new Array(n/16);for(let i=0;i<n;i+=16){let o=i/16;t[o]=qe.unpack(e,i,t[o])}return t};qe.clone=function(e,t){if(!!l(e))return l(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 qe(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])};qe.fromArray=qe.unpack;qe.fromColumnMajorArray=function(e,t){return qe.clone(e,t)};qe.fromRowMajorArray=function(e,t){return l(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 qe(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])};qe.fromRotationTranslation=function(e,t,n){return t=y(t,h.ZERO),l(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 qe(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)};qe.fromTranslationQuaternionRotationScale=function(e,t,n,i){l(i)||(i=new qe);let o=n.x,r=n.y,s=n.z,a=t.x*t.x,c=t.x*t.y,u=t.x*t.z,f=t.x*t.w,d=t.y*t.y,p=t.y*t.z,g=t.y*t.w,m=t.z*t.z,C=t.z*t.w,x=t.w*t.w,A=a-d-m+x,b=2*(c-C),E=2*(u+g),S=2*(c+C),v=-a+d-m+x,P=2*(p-f),O=2*(u-g),M=2*(p+f),B=-a-d+m+x;return i[0]=A*o,i[1]=S*o,i[2]=O*o,i[3]=0,i[4]=b*r,i[5]=v*r,i[6]=M*r,i[7]=0,i[8]=E*s,i[9]=P*s,i[10]=B*s,i[11]=0,i[12]=e.x,i[13]=e.y,i[14]=e.z,i[15]=1,i};qe.fromTranslationRotationScale=function(e,t){return qe.fromTranslationQuaternionRotationScale(e.translation,e.rotation,e.scale,t)};qe.fromTranslation=function(e,t){return qe.fromRotationTranslation(J.IDENTITY,e,t)};qe.fromScale=function(e,t){return l(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 qe(e.x,0,0,0,0,e.y,0,0,0,0,e.z,0,0,0,0,1)};qe.fromUniformScale=function(e,t){return l(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 qe(e,0,0,0,0,e,0,0,0,0,e,0,0,0,0,1)};qe.fromRotation=function(e,t){return l(t)||(t=new qe),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]=0,t[13]=0,t[14]=0,t[15]=1,t};var GC=new h,WC=new h,cb=new h;qe.fromCamera=function(e,t){let n=e.position,i=e.direction,o=e.up;h.normalize(i,GC),h.normalize(h.cross(GC,o,WC),WC),h.normalize(h.cross(WC,GC,cb),cb);let r=WC.x,s=WC.y,a=WC.z,c=GC.x,u=GC.y,f=GC.z,d=cb.x,p=cb.y,g=cb.z,m=n.x,C=n.y,x=n.z,A=r*-m+s*-C+a*-x,b=d*-m+p*-C+g*-x,E=c*m+u*C+f*x;return l(t)?(t[0]=r,t[1]=d,t[2]=-c,t[3]=0,t[4]=s,t[5]=p,t[6]=-u,t[7]=0,t[8]=a,t[9]=g,t[10]=-f,t[11]=0,t[12]=A,t[13]=b,t[14]=E,t[15]=1,t):new qe(r,s,a,A,d,p,g,b,-c,-u,-f,E,0,0,0,1)};qe.computePerspectiveFieldOfView=function(e,t,n,i,o){let r=Math.tan(e*.5),s=1/r,a=s/t,c=(i+n)/(n-i),u=2*i*n/(n-i);return o[0]=a,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]=u,o[15]=0,o};qe.computeOrthographicOffCenter=function(e,t,n,i,o,r,s){let a=1/(t-e),c=1/(i-n),u=1/(r-o),f=-(t+e)*a,d=-(i+n)*c,p=-(r+o)*u;return a*=2,c*=2,u*=-2,s[0]=a,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]=u,s[11]=0,s[12]=f,s[13]=d,s[14]=p,s[15]=1,s};qe.computePerspectiveOffCenter=function(e,t,n,i,o,r,s){let a=2*o/(t-e),c=2*o/(i-n),u=(t+e)/(t-e),f=(i+n)/(i-n),d=-(r+o)/(r-o),p=-1,g=-2*r*o/(r-o);return s[0]=a,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=u,s[9]=f,s[10]=d,s[11]=p,s[12]=0,s[13]=0,s[14]=g,s[15]=0,s};qe.computeInfinitePerspectiveOffCenter=function(e,t,n,i,o,r){let s=2*o/(t-e),a=2*o/(i-n),c=(t+e)/(t-e),u=(i+n)/(i-n),f=-1,d=-1,p=-2*o;return r[0]=s,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=a,r[6]=0,r[7]=0,r[8]=c,r[9]=u,r[10]=f,r[11]=d,r[12]=0,r[13]=0,r[14]=p,r[15]=0,r};qe.computeViewportTransformation=function(e,t,n,i){l(i)||(i=new qe),e=y(e,y.EMPTY_OBJECT);let o=y(e.x,0),r=y(e.y,0),s=y(e.width,0),a=y(e.height,0);t=y(t,0),n=y(n,1);let c=s*.5,u=a*.5,f=(n-t)*.5,d=c,p=u,g=f,m=o+c,C=r+u,x=t+f,A=1;return i[0]=d,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]=g,i[11]=0,i[12]=m,i[13]=C,i[14]=x,i[15]=A,i};qe.computeView=function(e,t,n,i,o){return o[0]=i.x,o[1]=n.x,o[2]=-t.x,o[3]=0,o[4]=i.y,o[5]=n.y,o[6]=-t.y,o[7]=0,o[8]=i.z,o[9]=n.z,o[10]=-t.z,o[11]=0,o[12]=-h.dot(i,e),o[13]=-h.dot(n,e),o[14]=h.dot(t,e),o[15]=1,o};qe.toArray=function(e,t){return l(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]]};qe.getElementIndex=function(e,t){return e*4+t};qe.getColumn=function(e,t,n){let i=t*4,o=e[i],r=e[i+1],s=e[i+2],a=e[i+3];return n.x=o,n.y=r,n.z=s,n.w=a,n};qe.setColumn=function(e,t,n,i){i=qe.clone(e,i);let o=t*4;return i[o]=n.x,i[o+1]=n.y,i[o+2]=n.z,i[o+3]=n.w,i};qe.getRow=function(e,t,n){let i=e[t],o=e[t+4],r=e[t+8],s=e[t+12];return n.x=i,n.y=o,n.z=r,n.w=s,n};qe.setRow=function(e,t,n,i){return i=qe.clone(e,i),i[t]=n.x,i[t+4]=n.y,i[t+8]=n.z,i[t+12]=n.w,i};qe.setTranslation=function(e,t,n){return n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[4]=e[4],n[5]=e[5],n[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]=t.x,n[13]=t.y,n[14]=t.z,n[15]=e[15],n};var uCe=new h;qe.setScale=function(e,t,n){let i=qe.getScale(e,uCe),o=t.x/i.x,r=t.y/i.y,s=t.z/i.z;return n[0]=e[0]*o,n[1]=e[1]*o,n[2]=e[2]*o,n[3]=e[3],n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7],n[8]=e[8]*s,n[9]=e[9]*s,n[10]=e[10]*s,n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n};var fCe=new h;qe.setUniformScale=function(e,t,n){let i=qe.getScale(e,fCe),o=t/i.x,r=t/i.y,s=t/i.z;return n[0]=e[0]*o,n[1]=e[1]*o,n[2]=e[2]*o,n[3]=e[3],n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7],n[8]=e[8]*s,n[9]=e[9]*s,n[10]=e[10]*s,n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n};var $z=new h;qe.getScale=function(e,t){return t.x=h.magnitude(h.fromElements(e[0],e[1],e[2],$z)),t.y=h.magnitude(h.fromElements(e[4],e[5],e[6],$z)),t.z=h.magnitude(h.fromElements(e[8],e[9],e[10],$z)),t};var CY=new h;qe.getMaximumScale=function(e){return qe.getScale(e,CY),h.maximumComponent(CY)};var dCe=new h;qe.setRotation=function(e,t,n){let i=qe.getScale(e,dCe);return n[0]=t[0]*i.x,n[1]=t[1]*i.x,n[2]=t[2]*i.x,n[3]=e[3],n[4]=t[3]*i.y,n[5]=t[4]*i.y,n[6]=t[5]*i.y,n[7]=e[7],n[8]=t[6]*i.z,n[9]=t[7]*i.z,n[10]=t[8]*i.z,n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n};var hCe=new h;qe.getRotation=function(e,t){let n=qe.getScale(e,hCe);return t[0]=e[0]/n.x,t[1]=e[1]/n.x,t[2]=e[2]/n.x,t[3]=e[4]/n.y,t[4]=e[5]/n.y,t[5]=e[6]/n.y,t[6]=e[8]/n.z,t[7]=e[9]/n.z,t[8]=e[10]/n.z,t};qe.multiply=function(e,t,n){let i=e[0],o=e[1],r=e[2],s=e[3],a=e[4],c=e[5],u=e[6],f=e[7],d=e[8],p=e[9],g=e[10],m=e[11],C=e[12],x=e[13],A=e[14],b=e[15],E=t[0],S=t[1],v=t[2],P=t[3],O=t[4],M=t[5],B=t[6],L=t[7],_=t[8],T=t[9],w=t[10],D=t[11],R=t[12],F=t[13],z=t[14],k=t[15],H=i*E+a*S+d*v+C*P,V=o*E+c*S+p*v+x*P,Y=r*E+u*S+g*v+A*P,q=s*E+f*S+m*v+b*P,X=i*O+a*M+d*B+C*L,W=o*O+c*M+p*B+x*L,K=r*O+u*M+g*B+A*L,$=s*O+f*M+m*B+b*L,le=i*_+a*T+d*w+C*D,me=o*_+c*T+p*w+x*D,ie=r*_+u*T+g*w+A*D,ce=s*_+f*T+m*w+b*D,pe=i*R+a*F+d*z+C*k,Ae=o*R+c*F+p*z+x*k,we=r*R+u*F+g*z+A*k,Re=s*R+f*F+m*z+b*k;return n[0]=H,n[1]=V,n[2]=Y,n[3]=q,n[4]=X,n[5]=W,n[6]=K,n[7]=$,n[8]=le,n[9]=me,n[10]=ie,n[11]=ce,n[12]=pe,n[13]=Ae,n[14]=we,n[15]=Re,n};qe.add=function(e,t,n){return n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n[4]=e[4]+t[4],n[5]=e[5]+t[5],n[6]=e[6]+t[6],n[7]=e[7]+t[7],n[8]=e[8]+t[8],n[9]=e[9]+t[9],n[10]=e[10]+t[10],n[11]=e[11]+t[11],n[12]=e[12]+t[12],n[13]=e[13]+t[13],n[14]=e[14]+t[14],n[15]=e[15]+t[15],n};qe.subtract=function(e,t,n){return n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2],n[3]=e[3]-t[3],n[4]=e[4]-t[4],n[5]=e[5]-t[5],n[6]=e[6]-t[6],n[7]=e[7]-t[7],n[8]=e[8]-t[8],n[9]=e[9]-t[9],n[10]=e[10]-t[10],n[11]=e[11]-t[11],n[12]=e[12]-t[12],n[13]=e[13]-t[13],n[14]=e[14]-t[14],n[15]=e[15]-t[15],n};qe.multiplyTransformation=function(e,t,n){let i=e[0],o=e[1],r=e[2],s=e[4],a=e[5],c=e[6],u=e[8],f=e[9],d=e[10],p=e[12],g=e[13],m=e[14],C=t[0],x=t[1],A=t[2],b=t[4],E=t[5],S=t[6],v=t[8],P=t[9],O=t[10],M=t[12],B=t[13],L=t[14],_=i*C+s*x+u*A,T=o*C+a*x+f*A,w=r*C+c*x+d*A,D=i*b+s*E+u*S,R=o*b+a*E+f*S,F=r*b+c*E+d*S,z=i*v+s*P+u*O,k=o*v+a*P+f*O,H=r*v+c*P+d*O,V=i*M+s*B+u*L+p,Y=o*M+a*B+f*L+g,q=r*M+c*B+d*L+m;return n[0]=_,n[1]=T,n[2]=w,n[3]=0,n[4]=D,n[5]=R,n[6]=F,n[7]=0,n[8]=z,n[9]=k,n[10]=H,n[11]=0,n[12]=V,n[13]=Y,n[14]=q,n[15]=1,n};qe.multiplyByMatrix3=function(e,t,n){let i=e[0],o=e[1],r=e[2],s=e[4],a=e[5],c=e[6],u=e[8],f=e[9],d=e[10],p=t[0],g=t[1],m=t[2],C=t[3],x=t[4],A=t[5],b=t[6],E=t[7],S=t[8],v=i*p+s*g+u*m,P=o*p+a*g+f*m,O=r*p+c*g+d*m,M=i*C+s*x+u*A,B=o*C+a*x+f*A,L=r*C+c*x+d*A,_=i*b+s*E+u*S,T=o*b+a*E+f*S,w=r*b+c*E+d*S;return n[0]=v,n[1]=P,n[2]=O,n[3]=0,n[4]=M,n[5]=B,n[6]=L,n[7]=0,n[8]=_,n[9]=T,n[10]=w,n[11]=0,n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n};qe.multiplyByTranslation=function(e,t,n){let i=t.x,o=t.y,r=t.z,s=i*e[0]+o*e[4]+r*e[8]+e[12],a=i*e[1]+o*e[5]+r*e[9]+e[13],c=i*e[2]+o*e[6]+r*e[10]+e[14];return n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[4]=e[4],n[5]=e[5],n[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]=s,n[13]=a,n[14]=c,n[15]=e[15],n};qe.multiplyByScale=function(e,t,n){let i=t.x,o=t.y,r=t.z;return i===1&&o===1&&r===1?qe.clone(e,n):(n[0]=i*e[0],n[1]=i*e[1],n[2]=i*e[2],n[3]=e[3],n[4]=o*e[4],n[5]=o*e[5],n[6]=o*e[6],n[7]=e[7],n[8]=r*e[8],n[9]=r*e[9],n[10]=r*e[10],n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n)};qe.multiplyByUniformScale=function(e,t,n){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3],n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7],n[8]=e[8]*t,n[9]=e[9]*t,n[10]=e[10]*t,n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n};qe.multiplyByVector=function(e,t,n){let i=t.x,o=t.y,r=t.z,s=t.w,a=e[0]*i+e[4]*o+e[8]*r+e[12]*s,c=e[1]*i+e[5]*o+e[9]*r+e[13]*s,u=e[2]*i+e[6]*o+e[10]*r+e[14]*s,f=e[3]*i+e[7]*o+e[11]*r+e[15]*s;return n.x=a,n.y=c,n.z=u,n.w=f,n};qe.multiplyByPointAsVector=function(e,t,n){let i=t.x,o=t.y,r=t.z,s=e[0]*i+e[4]*o+e[8]*r,a=e[1]*i+e[5]*o+e[9]*r,c=e[2]*i+e[6]*o+e[10]*r;return n.x=s,n.y=a,n.z=c,n};qe.multiplyByPoint=function(e,t,n){let i=t.x,o=t.y,r=t.z,s=e[0]*i+e[4]*o+e[8]*r+e[12],a=e[1]*i+e[5]*o+e[9]*r+e[13],c=e[2]*i+e[6]*o+e[10]*r+e[14];return n.x=s,n.y=a,n.z=c,n};qe.multiplyByScalar=function(e,t,n){return 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};qe.negate=function(e,t){return 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};qe.transpose=function(e,t){let n=e[1],i=e[2],o=e[3],r=e[6],s=e[7],a=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]=r,t[10]=e[10],t[11]=e[14],t[12]=o,t[13]=s,t[14]=a,t[15]=e[15],t};qe.abs=function(e,t){return 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};qe.equals=function(e,t){return e===t||l(e)&&l(t)&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[3]===t[3]&&e[7]===t[7]&&e[11]===t[11]&&e[15]===t[15]};qe.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(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};qe.getTranslation=function(e,t){return t.x=e[12],t.y=e[13],t.z=e[14],t};qe.getMatrix3=function(e,t){return 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};var mCe=new J,pCe=new J,_Ce=new se,gCe=new se(0,0,0,1);qe.inverse=function(e,t){let n=e[0],i=e[4],o=e[8],r=e[12],s=e[1],a=e[5],c=e[9],u=e[13],f=e[2],d=e[6],p=e[10],g=e[14],m=e[3],C=e[7],x=e[11],A=e[15],b=p*A,E=g*x,S=d*A,v=g*C,P=d*x,O=p*C,M=f*A,B=g*m,L=f*x,_=p*m,T=f*C,w=d*m,D=b*a+v*c+P*u-(E*a+S*c+O*u),R=E*s+M*c+_*u-(b*s+B*c+L*u),F=S*s+B*a+T*u-(v*s+M*a+w*u),z=O*s+L*a+w*c-(P*s+_*a+T*c),k=E*i+S*o+O*r-(b*i+v*o+P*r),H=b*n+B*o+L*r-(E*n+M*o+_*r),V=v*n+M*i+w*r-(S*n+B*i+T*r),Y=P*n+_*i+T*o-(O*n+L*i+w*o);b=o*u,E=r*c,S=i*u,v=r*a,P=i*c,O=o*a,M=n*u,B=r*s,L=n*c,_=o*s,T=n*a,w=i*s;let q=b*C+v*x+P*A-(E*C+S*x+O*A),X=E*m+M*x+_*A-(b*m+B*x+L*A),W=S*m+B*C+T*A-(v*m+M*C+w*A),K=O*m+L*C+w*x-(P*m+_*C+T*x),$=S*p+O*g+E*d-(P*g+b*d+v*p),le=L*g+b*f+B*p-(M*p+_*g+E*f),me=M*d+w*g+v*f-(T*g+S*f+B*d),ie=T*p+P*f+_*d-(L*d+w*p+O*f),ce=n*D+i*R+o*F+r*z;if(Math.abs(ce)<I.EPSILON21){if(J.equalsEpsilon(qe.getMatrix3(e,mCe),pCe,I.EPSILON7)&&se.equals(qe.getRow(e,3,_Ce),gCe))return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=0,t[11]=0,t[12]=-e[12],t[13]=-e[13],t[14]=-e[14],t[15]=1,t;throw new de("matrix is not invertible because its determinate is zero.")}return ce=1/ce,t[0]=D*ce,t[1]=R*ce,t[2]=F*ce,t[3]=z*ce,t[4]=k*ce,t[5]=H*ce,t[6]=V*ce,t[7]=Y*ce,t[8]=q*ce,t[9]=X*ce,t[10]=W*ce,t[11]=K*ce,t[12]=$*ce,t[13]=le*ce,t[14]=me*ce,t[15]=ie*ce,t};qe.inverseTransformation=function(e,t){let n=e[0],i=e[1],o=e[2],r=e[4],s=e[5],a=e[6],c=e[8],u=e[9],f=e[10],d=e[12],p=e[13],g=e[14],m=-n*d-i*p-o*g,C=-r*d-s*p-a*g,x=-c*d-u*p-f*g;return t[0]=n,t[1]=r,t[2]=c,t[3]=0,t[4]=i,t[5]=s,t[6]=u,t[7]=0,t[8]=o,t[9]=a,t[10]=f,t[11]=0,t[12]=m,t[13]=C,t[14]=x,t[15]=1,t};var yCe=new qe;qe.inverseTranspose=function(e,t){return qe.inverse(qe.transpose(e,yCe),t)};qe.IDENTITY=Object.freeze(new qe(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1));qe.ZERO=Object.freeze(new qe(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0));qe.COLUMN0ROW0=0;qe.COLUMN0ROW1=1;qe.COLUMN0ROW2=2;qe.COLUMN0ROW3=3;qe.COLUMN1ROW0=4;qe.COLUMN1ROW1=5;qe.COLUMN1ROW2=6;qe.COLUMN1ROW3=7;qe.COLUMN2ROW0=8;qe.COLUMN2ROW1=9;qe.COLUMN2ROW2=10;qe.COLUMN2ROW3=11;qe.COLUMN3ROW0=12;qe.COLUMN3ROW1=13;qe.COLUMN3ROW2=14;qe.COLUMN3ROW3=15;Object.defineProperties(qe.prototype,{length:{get:function(){return qe.packedLength}}});qe.prototype.clone=function(e){return qe.clone(this,e)};qe.prototype.equals=function(e){return qe.equals(this,e)};qe.equalsArray=function(e,t,n){return e[0]===t[n]&&e[1]===t[n+1]&&e[2]===t[n+2]&&e[3]===t[n+3]&&e[4]===t[n+4]&&e[5]===t[n+5]&&e[6]===t[n+6]&&e[7]===t[n+7]&&e[8]===t[n+8]&&e[9]===t[n+9]&&e[10]===t[n+10]&&e[11]===t[n+11]&&e[12]===t[n+12]&&e[13]===t[n+13]&&e[14]===t[n+14]&&e[15]===t[n+15]};qe.prototype.equalsEpsilon=function(e,t){return qe.equalsEpsilon(this,e,t)};qe.prototype.toString=function(){return`(${this[0]}, ${this[4]}, ${this[8]}, ${this[12]})
  79. (${this[1]}, ${this[5]}, ${this[9]}, ${this[13]})
  80. (${this[2]}, ${this[6]}, ${this[10]}, ${this[14]})
  81. (${this[3]}, ${this[7]}, ${this[11]}, ${this[15]})`};var N=qe;function Pn(e,t,n,i){this.west=y(e,0),this.south=y(t,0),this.east=y(n,0),this.north=y(i,0)}Object.defineProperties(Pn.prototype,{width:{get:function(){return Pn.computeWidth(this)}},height:{get:function(){return Pn.computeHeight(this)}}});Pn.packedLength=4;Pn.pack=function(e,t,n){return n=y(n,0),t[n++]=e.west,t[n++]=e.south,t[n++]=e.east,t[n]=e.north,t};Pn.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new Pn),n.west=e[t++],n.south=e[t++],n.east=e[t++],n.north=e[t],n};Pn.computeWidth=function(e){let t=e.east,n=e.west;return t<n&&(t+=I.TWO_PI),t-n};Pn.computeHeight=function(e){return e.north-e.south};Pn.fromDegrees=function(e,t,n,i,o){return e=I.toRadians(y(e,0)),t=I.toRadians(y(t,0)),n=I.toRadians(y(n,0)),i=I.toRadians(y(i,0)),l(o)?(o.west=e,o.south=t,o.east=n,o.north=i,o):new Pn(e,t,n,i)};Pn.fromRadians=function(e,t,n,i,o){return l(o)?(o.west=y(e,0),o.south=y(t,0),o.east=y(n,0),o.north=y(i,0),o):new Pn(e,t,n,i)};Pn.fromCartographicArray=function(e,t){let n=Number.MAX_VALUE,i=-Number.MAX_VALUE,o=Number.MAX_VALUE,r=-Number.MAX_VALUE,s=Number.MAX_VALUE,a=-Number.MAX_VALUE;for(let c=0,u=e.length;c<u;c++){let f=e[c];n=Math.min(n,f.longitude),i=Math.max(i,f.longitude),s=Math.min(s,f.latitude),a=Math.max(a,f.latitude);let d=f.longitude>=0?f.longitude:f.longitude+I.TWO_PI;o=Math.min(o,d),r=Math.max(r,d)}return i-n>r-o&&(n=o,i=r,i>I.PI&&(i=i-I.TWO_PI),n>I.PI&&(n=n-I.TWO_PI)),l(t)?(t.west=n,t.south=s,t.east=i,t.north=a,t):new Pn(n,s,i,a)};Pn.fromCartesianArray=function(e,t,n){t=y(t,oe.WGS84);let i=Number.MAX_VALUE,o=-Number.MAX_VALUE,r=Number.MAX_VALUE,s=-Number.MAX_VALUE,a=Number.MAX_VALUE,c=-Number.MAX_VALUE;for(let u=0,f=e.length;u<f;u++){let d=t.cartesianToCartographic(e[u]);i=Math.min(i,d.longitude),o=Math.max(o,d.longitude),a=Math.min(a,d.latitude),c=Math.max(c,d.latitude);let p=d.longitude>=0?d.longitude:d.longitude+I.TWO_PI;r=Math.min(r,p),s=Math.max(s,p)}return o-i>s-r&&(i=r,o=s,o>I.PI&&(o=o-I.TWO_PI),i>I.PI&&(i=i-I.TWO_PI)),l(n)?(n.west=i,n.south=a,n.east=o,n.north=c,n):new Pn(i,a,o,c)};Pn.clone=function(e,t){if(!!l(e))return l(t)?(t.west=e.west,t.south=e.south,t.east=e.east,t.north=e.north,t):new Pn(e.west,e.south,e.east,e.north)};Pn.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(t)&&Math.abs(e.west-t.west)<=n&&Math.abs(e.south-t.south)<=n&&Math.abs(e.east-t.east)<=n&&Math.abs(e.north-t.north)<=n};Pn.prototype.clone=function(e){return Pn.clone(this,e)};Pn.prototype.equals=function(e){return Pn.equals(this,e)};Pn.equals=function(e,t){return e===t||l(e)&&l(t)&&e.west===t.west&&e.south===t.south&&e.east===t.east&&e.north===t.north};Pn.prototype.equalsEpsilon=function(e,t){return Pn.equalsEpsilon(this,e,t)};Pn.validate=function(e){};Pn.southwest=function(e,t){return l(t)?(t.longitude=e.west,t.latitude=e.south,t.height=0,t):new he(e.west,e.south)};Pn.northwest=function(e,t){return l(t)?(t.longitude=e.west,t.latitude=e.north,t.height=0,t):new he(e.west,e.north)};Pn.northeast=function(e,t){return l(t)?(t.longitude=e.east,t.latitude=e.north,t.height=0,t):new he(e.east,e.north)};Pn.southeast=function(e,t){return l(t)?(t.longitude=e.east,t.latitude=e.south,t.height=0,t):new he(e.east,e.south)};Pn.center=function(e,t){let n=e.east,i=e.west;n<i&&(n+=I.TWO_PI);let o=I.negativePiToPi((i+n)*.5),r=(e.south+e.north)*.5;return l(t)?(t.longitude=o,t.latitude=r,t.height=0,t):new he(o,r)};Pn.intersection=function(e,t,n){let i=e.east,o=e.west,r=t.east,s=t.west;i<o&&r>0?i+=I.TWO_PI:r<s&&i>0&&(r+=I.TWO_PI),i<o&&s<0?s+=I.TWO_PI:r<s&&o<0&&(o+=I.TWO_PI);let a=I.negativePiToPi(Math.max(o,s)),c=I.negativePiToPi(Math.min(i,r));if((e.west<e.east||t.west<t.east)&&c<=a)return;let u=Math.max(e.south,t.south),f=Math.min(e.north,t.north);if(!(u>=f))return l(n)?(n.west=a,n.south=u,n.east=c,n.north=f,n):new Pn(a,u,c,f)};Pn.simpleIntersection=function(e,t,n){let i=Math.max(e.west,t.west),o=Math.max(e.south,t.south),r=Math.min(e.east,t.east),s=Math.min(e.north,t.north);if(!(o>=s||i>=r))return l(n)?(n.west=i,n.south=o,n.east=r,n.north=s,n):new Pn(i,o,r,s)};Pn.union=function(e,t,n){l(n)||(n=new Pn);let i=e.east,o=e.west,r=t.east,s=t.west;i<o&&r>0?i+=I.TWO_PI:r<s&&i>0&&(r+=I.TWO_PI),i<o&&s<0?s+=I.TWO_PI:r<s&&o<0&&(o+=I.TWO_PI);let a=I.negativePiToPi(Math.min(o,s)),c=I.negativePiToPi(Math.max(i,r));return n.west=a,n.south=Math.min(e.south,t.south),n.east=c,n.north=Math.max(e.north,t.north),n};Pn.expand=function(e,t,n){return l(n)||(n=new Pn),n.west=Math.min(e.west,t.longitude),n.south=Math.min(e.south,t.latitude),n.east=Math.max(e.east,t.longitude),n.north=Math.max(e.north,t.latitude),n};Pn.contains=function(e,t){let n=t.longitude,i=t.latitude,o=e.west,r=e.east;return r<o&&(r+=I.TWO_PI,n<0&&(n+=I.TWO_PI)),(n>o||I.equalsEpsilon(n,o,I.EPSILON14))&&(n<r||I.equalsEpsilon(n,r,I.EPSILON14))&&i>=e.south&&i<=e.north};var CCe=new he;Pn.subsample=function(e,t,n,i){t=y(t,oe.WGS84),n=y(n,0),l(i)||(i=[]);let o=0,r=e.north,s=e.south,a=e.east,c=e.west,u=CCe;u.height=n,u.longitude=c,u.latitude=r,i[o]=t.cartographicToCartesian(u,i[o]),o++,u.longitude=a,i[o]=t.cartographicToCartesian(u,i[o]),o++,u.latitude=s,i[o]=t.cartographicToCartesian(u,i[o]),o++,u.longitude=c,i[o]=t.cartographicToCartesian(u,i[o]),o++,r<0?u.latitude=r:s>0?u.latitude=s:u.latitude=0;for(let f=1;f<8;++f)u.longitude=-Math.PI+f*I.PI_OVER_TWO,Pn.contains(e,u)&&(i[o]=t.cartographicToCartesian(u,i[o]),o++);return u.latitude===0&&(u.longitude=c,i[o]=t.cartographicToCartesian(u,i[o]),o++,u.longitude=a,i[o]=t.cartographicToCartesian(u,i[o]),o++),i.length=o,i};Pn.subsection=function(e,t,n,i,o,r){if(l(r)||(r=new Pn),e.west<=e.east){let a=e.east-e.west;r.west=e.west+t*a,r.east=e.west+i*a}else{let a=I.TWO_PI+e.east-e.west;r.west=I.negativePiToPi(e.west+t*a),r.east=I.negativePiToPi(e.west+i*a)}let s=e.north-e.south;return r.south=e.south+n*s,r.north=e.south+o*s,t===1&&(r.west=e.east),i===1&&(r.east=e.east),n===1&&(r.south=e.north),o===1&&(r.north=e.north),r};Pn.MAX_VALUE=Object.freeze(new Pn(-Math.PI,-I.PI_OVER_TWO,Math.PI,I.PI_OVER_TWO));var ue=Pn;function on(e,t){this.center=h.clone(y(e,h.ZERO)),this.radius=y(t,0)}var eH=new h,tH=new h,nH=new h,iH=new h,oH=new h,rH=new h,sH=new h,ys=new h,aH=new h,cH=new h,lH=new h,uH=new h,xCe=4/3*I.PI;on.fromPoints=function(e,t){if(l(t)||(t=new on),!l(e)||e.length===0)return t.center=h.clone(h.ZERO,t.center),t.radius=0,t;let n=h.clone(e[0],sH),i=h.clone(n,eH),o=h.clone(n,tH),r=h.clone(n,nH),s=h.clone(n,iH),a=h.clone(n,oH),c=h.clone(n,rH),u=e.length,f;for(f=1;f<u;f++){h.clone(e[f],n);let M=n.x,B=n.y,L=n.z;M<i.x&&h.clone(n,i),M>s.x&&h.clone(n,s),B<o.y&&h.clone(n,o),B>a.y&&h.clone(n,a),L<r.z&&h.clone(n,r),L>c.z&&h.clone(n,c)}let d=h.magnitudeSquared(h.subtract(s,i,ys)),p=h.magnitudeSquared(h.subtract(a,o,ys)),g=h.magnitudeSquared(h.subtract(c,r,ys)),m=i,C=s,x=d;p>x&&(x=p,m=o,C=a),g>x&&(x=g,m=r,C=c);let A=aH;A.x=(m.x+C.x)*.5,A.y=(m.y+C.y)*.5,A.z=(m.z+C.z)*.5;let b=h.magnitudeSquared(h.subtract(C,A,ys)),E=Math.sqrt(b),S=cH;S.x=i.x,S.y=o.y,S.z=r.z;let v=lH;v.x=s.x,v.y=a.y,v.z=c.z;let P=h.midpoint(S,v,uH),O=0;for(f=0;f<u;f++){h.clone(e[f],n);let M=h.magnitude(h.subtract(n,P,ys));M>O&&(O=M);let B=h.magnitudeSquared(h.subtract(n,A,ys));if(B>b){let L=Math.sqrt(B);E=(E+L)*.5,b=E*E;let _=L-E;A.x=(E*A.x+_*n.x)/L,A.y=(E*A.y+_*n.y)/L,A.z=(E*A.z+_*n.z)/L}}return E<O?(h.clone(A,t.center),t.radius=E):(h.clone(P,t.center),t.radius=O),t};var ACe=new xi,TCe=new h,ECe=new h,Jz=new he,Qz=new he;on.fromRectangle2D=function(e,t,n){return on.fromRectangleWithHeights2D(e,t,0,0,n)};on.fromRectangleWithHeights2D=function(e,t,n,i,o){if(l(o)||(o=new on),!l(e))return o.center=h.clone(h.ZERO,o.center),o.radius=0,o;t=y(t,ACe),ue.southwest(e,Jz),Jz.height=n,ue.northeast(e,Qz),Qz.height=i;let r=t.project(Jz,TCe),s=t.project(Qz,ECe),a=s.x-r.x,c=s.y-r.y,u=s.z-r.z;o.radius=Math.sqrt(a*a+c*c+u*u)*.5;let f=o.center;return f.x=r.x+a*.5,f.y=r.y+c*.5,f.z=r.z+u*.5,o};var bCe=[];on.fromRectangle3D=function(e,t,n,i){if(t=y(t,oe.WGS84),n=y(n,0),l(i)||(i=new on),!l(e))return i.center=h.clone(h.ZERO,i.center),i.radius=0,i;let o=ue.subsample(e,t,n,bCe);return on.fromPoints(o,i)};on.fromVertices=function(e,t,n,i){if(l(i)||(i=new on),!l(e)||e.length===0)return i.center=h.clone(h.ZERO,i.center),i.radius=0,i;t=y(t,h.ZERO),n=y(n,3);let o=sH;o.x=e[0]+t.x,o.y=e[1]+t.y,o.z=e[2]+t.z;let r=h.clone(o,eH),s=h.clone(o,tH),a=h.clone(o,nH),c=h.clone(o,iH),u=h.clone(o,oH),f=h.clone(o,rH),d=e.length,p;for(p=0;p<d;p+=n){let L=e[p]+t.x,_=e[p+1]+t.y,T=e[p+2]+t.z;o.x=L,o.y=_,o.z=T,L<r.x&&h.clone(o,r),L>c.x&&h.clone(o,c),_<s.y&&h.clone(o,s),_>u.y&&h.clone(o,u),T<a.z&&h.clone(o,a),T>f.z&&h.clone(o,f)}let g=h.magnitudeSquared(h.subtract(c,r,ys)),m=h.magnitudeSquared(h.subtract(u,s,ys)),C=h.magnitudeSquared(h.subtract(f,a,ys)),x=r,A=c,b=g;m>b&&(b=m,x=s,A=u),C>b&&(b=C,x=a,A=f);let E=aH;E.x=(x.x+A.x)*.5,E.y=(x.y+A.y)*.5,E.z=(x.z+A.z)*.5;let S=h.magnitudeSquared(h.subtract(A,E,ys)),v=Math.sqrt(S),P=cH;P.x=r.x,P.y=s.y,P.z=a.z;let O=lH;O.x=c.x,O.y=u.y,O.z=f.z;let M=h.midpoint(P,O,uH),B=0;for(p=0;p<d;p+=n){o.x=e[p]+t.x,o.y=e[p+1]+t.y,o.z=e[p+2]+t.z;let L=h.magnitude(h.subtract(o,M,ys));L>B&&(B=L);let _=h.magnitudeSquared(h.subtract(o,E,ys));if(_>S){let T=Math.sqrt(_);v=(v+T)*.5,S=v*v;let w=T-v;E.x=(v*E.x+w*o.x)/T,E.y=(v*E.y+w*o.y)/T,E.z=(v*E.z+w*o.z)/T}}return v<B?(h.clone(E,i.center),i.radius=v):(h.clone(M,i.center),i.radius=B),i};on.fromEncodedCartesianVertices=function(e,t,n){if(l(n)||(n=new on),!l(e)||!l(t)||e.length!==t.length||e.length===0)return n.center=h.clone(h.ZERO,n.center),n.radius=0,n;let i=sH;i.x=e[0]+t[0],i.y=e[1]+t[1],i.z=e[2]+t[2];let o=h.clone(i,eH),r=h.clone(i,tH),s=h.clone(i,nH),a=h.clone(i,iH),c=h.clone(i,oH),u=h.clone(i,rH),f=e.length,d;for(d=0;d<f;d+=3){let B=e[d]+t[d],L=e[d+1]+t[d+1],_=e[d+2]+t[d+2];i.x=B,i.y=L,i.z=_,B<o.x&&h.clone(i,o),B>a.x&&h.clone(i,a),L<r.y&&h.clone(i,r),L>c.y&&h.clone(i,c),_<s.z&&h.clone(i,s),_>u.z&&h.clone(i,u)}let p=h.magnitudeSquared(h.subtract(a,o,ys)),g=h.magnitudeSquared(h.subtract(c,r,ys)),m=h.magnitudeSquared(h.subtract(u,s,ys)),C=o,x=a,A=p;g>A&&(A=g,C=r,x=c),m>A&&(A=m,C=s,x=u);let b=aH;b.x=(C.x+x.x)*.5,b.y=(C.y+x.y)*.5,b.z=(C.z+x.z)*.5;let E=h.magnitudeSquared(h.subtract(x,b,ys)),S=Math.sqrt(E),v=cH;v.x=o.x,v.y=r.y,v.z=s.z;let P=lH;P.x=a.x,P.y=c.y,P.z=u.z;let O=h.midpoint(v,P,uH),M=0;for(d=0;d<f;d+=3){i.x=e[d]+t[d],i.y=e[d+1]+t[d+1],i.z=e[d+2]+t[d+2];let B=h.magnitude(h.subtract(i,O,ys));B>M&&(M=B);let L=h.magnitudeSquared(h.subtract(i,b,ys));if(L>E){let _=Math.sqrt(L);S=(S+_)*.5,E=S*S;let T=_-S;b.x=(S*b.x+T*i.x)/_,b.y=(S*b.y+T*i.y)/_,b.z=(S*b.z+T*i.z)/_}}return S<M?(h.clone(b,n.center),n.radius=S):(h.clone(O,n.center),n.radius=M),n};on.fromCornerPoints=function(e,t,n){l(n)||(n=new on);let i=h.midpoint(e,t,n.center);return n.radius=h.distance(i,t),n};on.fromEllipsoid=function(e,t){return l(t)||(t=new on),h.clone(h.ZERO,t.center),t.radius=e.maximumRadius,t};var SCe=new h;on.fromBoundingSpheres=function(e,t){if(l(t)||(t=new on),!l(e)||e.length===0)return t.center=h.clone(h.ZERO,t.center),t.radius=0,t;let n=e.length;if(n===1)return on.clone(e[0],t);if(n===2)return on.union(e[0],e[1],t);let i=[],o;for(o=0;o<n;o++)i.push(e[o].center);t=on.fromPoints(i,t);let r=t.center,s=t.radius;for(o=0;o<n;o++){let a=e[o];s=Math.max(s,h.distance(r,a.center,SCe)+a.radius)}return t.radius=s,t};var wCe=new h,vCe=new h,DCe=new h;on.fromOrientedBoundingBox=function(e,t){l(t)||(t=new on);let n=e.halfAxes,i=J.getColumn(n,0,wCe),o=J.getColumn(n,1,vCe),r=J.getColumn(n,2,DCe);return h.add(i,o,i),h.add(i,r,i),t.center=h.clone(e.center,t.center),t.radius=h.magnitude(i),t};var PCe=new h,ICe=new h;on.fromTransformation=function(e,t){l(t)||(t=new on);let n=N.getTranslation(e,PCe),i=N.getScale(e,ICe),o=.5*h.magnitude(i);return t.center=h.clone(n,t.center),t.radius=o,t};on.clone=function(e,t){if(!!l(e))return l(t)?(t.center=h.clone(e.center,t.center),t.radius=e.radius,t):new on(e.center,e.radius)};on.packedLength=4;on.pack=function(e,t,n){n=y(n,0);let i=e.center;return t[n++]=i.x,t[n++]=i.y,t[n++]=i.z,t[n]=e.radius,t};on.unpack=function(e,t,n){t=y(t,0),l(n)||(n=new on);let i=n.center;return i.x=e[t++],i.y=e[t++],i.z=e[t++],n.radius=e[t],n};var OCe=new h,RCe=new h;on.union=function(e,t,n){l(n)||(n=new on);let i=e.center,o=e.radius,r=t.center,s=t.radius,a=h.subtract(r,i,OCe),c=h.magnitude(a);if(o>=c+s)return e.clone(n),n;if(s>=c+o)return t.clone(n),n;let u=(o+c+s)*.5,f=h.multiplyByScalar(a,(-o+u)/c,RCe);return h.add(f,i,f),h.clone(f,n.center),n.radius=u,n};var MCe=new h;on.expand=function(e,t,n){n=on.clone(e,n);let i=h.magnitude(h.subtract(t,n.center,MCe));return i>n.radius&&(n.radius=i),n};on.intersectPlane=function(e,t){let n=e.center,i=e.radius,o=t.normal,r=h.dot(o,n)+t.distance;return r<-i?Kt.OUTSIDE:r<i?Kt.INTERSECTING:Kt.INSIDE};on.transform=function(e,t,n){return l(n)||(n=new on),n.center=N.multiplyByPoint(t,e.center,n.center),n.radius=N.getMaximumScale(t)*e.radius,n};var BCe=new h;on.distanceSquaredTo=function(e,t){let n=h.subtract(e.center,t,BCe),i=h.magnitude(n)-e.radius;return i<=0?0:i*i};on.transformWithoutScale=function(e,t,n){return l(n)||(n=new on),n.center=N.multiplyByPoint(t,e.center,n.center),n.radius=e.radius,n};var LCe=new h;on.computePlaneDistances=function(e,t,n,i){l(i)||(i=new Dc);let o=h.subtract(e.center,t,LCe),r=h.dot(n,o);return i.start=r-e.radius,i.stop=r+e.radius,i};var xY=new h,NCe=new h,FCe=new h,VCe=new h,kCe=new h,UCe=new he,AY=new Array(8);for(let e=0;e<8;++e)AY[e]=new h;var zCe=new xi;on.projectTo2D=function(e,t,n){t=y(t,zCe);let i=t.ellipsoid,o=e.center,r=e.radius,s;h.equals(o,h.ZERO)?s=h.clone(h.UNIT_X,xY):s=i.geodeticSurfaceNormal(o,xY);let a=h.cross(h.UNIT_Z,s,NCe);h.normalize(a,a);let c=h.cross(s,a,FCe);h.normalize(c,c),h.multiplyByScalar(s,r,s),h.multiplyByScalar(c,r,c),h.multiplyByScalar(a,r,a);let u=h.negate(c,kCe),f=h.negate(a,VCe),d=AY,p=d[0];h.add(s,c,p),h.add(p,a,p),p=d[1],h.add(s,c,p),h.add(p,f,p),p=d[2],h.add(s,u,p),h.add(p,f,p),p=d[3],h.add(s,u,p),h.add(p,a,p),h.negate(s,s),p=d[4],h.add(s,c,p),h.add(p,a,p),p=d[5],h.add(s,c,p),h.add(p,f,p),p=d[6],h.add(s,u,p),h.add(p,f,p),p=d[7],h.add(s,u,p),h.add(p,a,p);let g=d.length;for(let A=0;A<g;++A){let b=d[A];h.add(o,b,b);let E=i.cartesianToCartographic(b,UCe);t.project(E,b)}n=on.fromPoints(d,n),o=n.center;let m=o.x,C=o.y,x=o.z;return o.x=x,o.y=m,o.z=C,n};on.isOccluded=function(e,t){return!t.isBoundingSphereVisible(e)};on.equals=function(e,t){return e===t||l(e)&&l(t)&&h.equals(e.center,t.center)&&e.radius===t.radius};on.prototype.intersectPlane=function(e){return on.intersectPlane(this,e)};on.prototype.distanceSquaredTo=function(e){return on.distanceSquaredTo(this,e)};on.prototype.computePlaneDistances=function(e,t,n){return on.computePlaneDistances(this,e,t,n)};on.prototype.isOccluded=function(e){return on.isOccluded(this,e)};on.prototype.equals=function(e){return on.equals(this,e)};on.prototype.clone=function(e){return on.clone(this,e)};on.prototype.volume=function(){let e=this.radius;return xCe*e*e*e};var re=on;var DY=Ri(fl(),1);function fH(e,t){let n;return typeof document<"u"&&(n=document),fH._implementation(e,t,n)}fH._implementation=function(e,t,n){if(!l(t)){if(typeof n>"u")return e;t=y(n.baseURI,n.location.href)}let i=new DY.default(e);return i.scheme()!==""?i.toString():i.absoluteTo(t).toString()};var Dp=fH;var tx=Ri(fl(),1);function HCe(e){return(e.length===0||e[e.length-1]!=="/")&&(e=`${e}/`),e}var hP=HCe;function PY(e,t){if(e===null||typeof e!="object")return e;t=y(t,!1);let n=new e.constructor;for(let i in e)if(e.hasOwnProperty(i)){let o=e[i];t&&(o=PY(o,t)),n[i]=o}return n}var et=PY;function IY(e,t,n){n=y(n,!1);let i={},o=l(e),r=l(t),s,a,c;if(o)for(s in e)e.hasOwnProperty(s)&&(a=e[s],r&&n&&typeof a=="object"&&t.hasOwnProperty(s)?(c=t[s],typeof c=="object"?i[s]=IY(a,c,n):i[s]=a):i[s]=a);if(r)for(s in t)t.hasOwnProperty(s)&&!i.hasOwnProperty(s)&&(c=t[s],i[s]=c);return i}var mt=IY;function GCe(){let e,t,n=new Promise(function(i,o){e=i,t=o});return{resolve:e,reject:t,promise:n}}var Gs=GCe;var OY=Ri(fl(),1);function WCe(e,t){let n="",i=e.lastIndexOf("/");return i!==-1&&(n=e.substring(0,i+1)),t&&(e=new OY.default(e),e.query().length!==0&&(n+=`?${e.query()}`),e.fragment().length!==0&&(n+=`#${e.fragment()}`)),n}var mP=WCe;var RY=Ri(fl(),1);function jCe(e){let t=new RY.default(e);t.normalize();let n=t.path(),i=n.lastIndexOf("/");return i!==-1&&(n=n.substr(i+1)),i=n.lastIndexOf("."),i===-1?n="":n=n.substr(i+1),n}var YC=jCe;var MY={};function qCe(e,t,n){l(t)||(t=e.width),l(n)||(n=e.height);let i=MY[t];l(i)||(i={},MY[t]=i);let o=i[n];if(!l(o)){let r=document.createElement("canvas");r.width=t,r.height=n,o=r.getContext("2d"),o.globalCompositeOperation="copy",i[n]=o}return o.drawImage(e,0,0,t,n),o.getImageData(0,0,t,n).data}var Ad=qCe;var YCe=/^blob:/i;function XCe(e){return YCe.test(e)}var XC=XCe;var Td;function KCe(e){l(Td)||(Td=document.createElement("a")),Td.href=window.location.href;let t=Td.host,n=Td.protocol;return Td.href=e,Td.href=Td.href,n!==Td.protocol||t!==Td.host}var KC=KCe;var ZCe=/^data:/i;function $Ce(e){return ZCe.test(e)}var Pp=$Ce;function JCe(e){let t=document.createElement("script");return t.async=!0,t.src=e,new Promise((n,i)=>{window.crossOriginIsolated&&t.setAttribute("crossorigin","anonymous");let o=document.getElementsByTagName("head")[0];t.onload=function(){t.onload=void 0,o.removeChild(t),n()},t.onerror=function(r){i(r)},o.appendChild(t)})}var ZC=JCe;function QCe(e){let t="";for(let n in e)if(e.hasOwnProperty(n)){let i=e[n],o=`${encodeURIComponent(n)}=`;if(Array.isArray(i))for(let r=0,s=i.length;r<s;++r)t+=`${o+encodeURIComponent(i[r])}&`;else t+=`${o+encodeURIComponent(i)}&`}return t=t.slice(0,-1),t}var $C=QCe;function exe(e){let t={};if(e==="")return t;let n=e.replace(/\+/g,"%20").split(/[&;]/);for(let i=0,o=n.length;i<o;++i){let r=n[i].split("="),s=decodeURIComponent(r[0]),a=r[1];l(a)?a=decodeURIComponent(a):a="";let c=t[s];typeof c=="string"?t[s]=[c,a]:Array.isArray(c)?c.push(a):t[s]=a}return t}var tu=exe;var txe={UNISSUED:0,ISSUED:1,ACTIVE:2,RECEIVED:3,CANCELLED:4,FAILED:5},ai=Object.freeze(txe);var nxe={TERRAIN:0,IMAGERY:1,TILES3D:2,OTHER:3},Kr=Object.freeze(nxe);function pP(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.throttleByServer,!1),n=y(e.throttle,!1);this.url=e.url,this.requestFunction=e.requestFunction,this.cancelFunction=e.cancelFunction,this.priorityFunction=e.priorityFunction,this.priority=y(e.priority,0),this.throttle=n,this.throttleByServer=t,this.type=y(e.type,Kr.OTHER),this.serverKey=void 0,this.state=ai.UNISSUED,this.deferred=void 0,this.cancelled=!1}pP.prototype.cancel=function(){this.cancelled=!0};pP.prototype.clone=function(e){return l(e)?(e.url=this.url,e.requestFunction=this.requestFunction,e.cancelFunction=this.cancelFunction,e.priorityFunction=this.priorityFunction,e.priority=this.priority,e.throttle=this.throttle,e.throttleByServer=this.throttleByServer,e.type=this.type,e.serverKey=this.serverKey,e.state=this.RequestState.UNISSUED,e.deferred=void 0,e.cancelled=!1,e):new pP(this)};var jo=pP;function ixe(e){let t={};if(!e)return t;let n=e.split(`\r
  82. `);for(let i=0;i<n.length;++i){let o=n[i],r=o.indexOf(": ");if(r>0){let s=o.substring(0,r),a=o.substring(r+2);t[s]=a}}return t}var _P=ixe;function BY(e,t,n){this.statusCode=e,this.response=t,this.responseHeaders=n,typeof this.responseHeaders=="string"&&(this.responseHeaders=_P(this.responseHeaders))}BY.prototype.toString=function(){let e="Request has failed.";return l(this.statusCode)&&(e+=` Status Code: ${this.statusCode}`),e};var Zh=BY;var ub=Ri(fl(),1);function lb(){this._listeners=[],this._scopes=[],this._toRemove=[],this._insideRaiseEvent=!1}Object.defineProperties(lb.prototype,{numberOfListeners:{get:function(){return this._listeners.length-this._toRemove.length}}});lb.prototype.addEventListener=function(e,t){this._listeners.push(e),this._scopes.push(t);let n=this;return function(){n.removeEventListener(e,t)}};lb.prototype.removeEventListener=function(e,t){let n=this._listeners,i=this._scopes,o=-1;for(let r=0;r<n.length;r++)if(n[r]===e&&i[r]===t){o=r;break}return o!==-1?(this._insideRaiseEvent?(this._toRemove.push(o),n[o]=void 0,i[o]=void 0):(n.splice(o,1),i.splice(o,1)),!0):!1};function oxe(e,t){return t-e}lb.prototype.raiseEvent=function(){this._insideRaiseEvent=!0;let e,t=this._listeners,n=this._scopes,i=t.length;for(e=0;e<i;e++){let r=t[e];l(r)&&t[e].apply(n[e],arguments)}let o=this._toRemove;if(i=o.length,i>0){for(o.sort(oxe),e=0;e<i;e++){let r=o[e];t.splice(r,1),n.splice(r,1)}o.length=0}this._insideRaiseEvent=!1};var ge=lb;function g0(e){this._comparator=e.comparator,this._array=[],this._length=0,this._maximumLength=void 0}Object.defineProperties(g0.prototype,{length:{get:function(){return this._length}},internalArray:{get:function(){return this._array}},maximumLength:{get:function(){return this._maximumLength},set:function(e){let t=this._length;if(e<t){let n=this._array;for(let i=e;i<t;++i)n[i]=void 0;this._length=e,n.length=e}this._maximumLength=e}},comparator:{get:function(){return this._comparator}}});function dH(e,t,n){let i=e[t];e[t]=e[n],e[n]=i}g0.prototype.reserve=function(e){e=y(e,this._length),this._array.length=e};g0.prototype.heapify=function(e){e=y(e,0);let t=this._length,n=this._comparator,i=this._array,o=-1,r=!0;for(;r;){let s=2*(e+1),a=s-1;a<t&&n(i[a],i[e])<0?o=a:o=e,s<t&&n(i[s],i[o])<0&&(o=s),o!==e?(dH(i,o,e),e=o):r=!1}};g0.prototype.resort=function(){let e=this._length;for(let t=Math.ceil(e/2);t>=0;--t)this.heapify(t)};g0.prototype.insert=function(e){let t=this._array,n=this._comparator,i=this._maximumLength,o=this._length++;for(o<t.length?t[o]=e:t.push(e);o!==0;){let s=Math.floor((o-1)/2);if(n(t[o],t[s])<0)dH(t,o,s),o=s;else break}let r;return l(i)&&this._length>i&&(r=t[i],this._length=i),r};g0.prototype.pop=function(e){if(e=y(e,0),this._length===0)return;let t=this._array,n=t[e];return dH(t,e,--this._length),this.heapify(e),t[this._length]=void 0,n};var gP=g0;function rxe(e,t){return e.priority-t.priority}var zi={numberOfAttemptedRequests:0,numberOfActiveRequests:0,numberOfCancelledRequests:0,numberOfCancelledActiveRequests:0,numberOfFailedRequests:0,numberOfActiveRequestsEver:0,lastNumberOfActiveRequests:0},JC=20,la=new gP({comparator:rxe});la.maximumLength=JC;la.reserve(JC);var Ed=[],$h={},sxe=typeof document<"u"?new ub.default(document.location.href):new ub.default,yP=new ge;function Bo(){}Bo.maximumRequests=50;Bo.maximumRequestsPerServer=6;Bo.requestsByServer={"api.cesium.com:443":18,"assets.cesium.com:443":18};Bo.throttleRequests=!0;Bo.debugShowStatistics=!1;Bo.requestCompletedEvent=yP;Object.defineProperties(Bo,{statistics:{get:function(){return zi}},priorityHeapLength:{get:function(){return JC},set:function(e){if(e<JC)for(;la.length>e;){let t=la.pop();y0(t)}JC=e,la.maximumLength=e,la.reserve(e)}}});function LY(e){l(e.priorityFunction)&&(e.priority=e.priorityFunction())}Bo.serverHasOpenSlots=function(e,t){t=y(t,1);let n=y(Bo.requestsByServer[e],Bo.maximumRequestsPerServer);return $h[e]+t<=n};Bo.heapHasOpenSlots=function(e){return la.length+e<=JC};function NY(e){return e.state===ai.UNISSUED&&(e.state=ai.ISSUED,e.deferred=Gs()),e.deferred.promise}function axe(e){return function(t){if(e.state===ai.CANCELLED)return;let n=e.deferred;--zi.numberOfActiveRequests,--$h[e.serverKey],yP.raiseEvent(),e.state=ai.RECEIVED,e.deferred=void 0,n.resolve(t)}}function cxe(e){return function(t){e.state!==ai.CANCELLED&&(++zi.numberOfFailedRequests,--zi.numberOfActiveRequests,--$h[e.serverKey],yP.raiseEvent(t),e.state=ai.FAILED,e.deferred.reject(t))}}function FY(e){let t=NY(e);return e.state=ai.ACTIVE,Ed.push(e),++zi.numberOfActiveRequests,++zi.numberOfActiveRequestsEver,++$h[e.serverKey],e.requestFunction().then(axe(e)).catch(cxe(e)),t}function y0(e){let t=e.state===ai.ACTIVE;if(e.state=ai.CANCELLED,++zi.numberOfCancelledRequests,l(e.deferred)){let n=e.deferred;e.deferred=void 0,n.reject()}t&&(--zi.numberOfActiveRequests,--$h[e.serverKey],++zi.numberOfCancelledActiveRequests),l(e.cancelFunction)&&e.cancelFunction()}Bo.update=function(){let e,t,n=0,i=Ed.length;for(e=0;e<i;++e){if(t=Ed[e],t.cancelled&&y0(t),t.state!==ai.ACTIVE){++n;continue}n>0&&(Ed[e-n]=t)}Ed.length-=n;let o=la.internalArray,r=la.length;for(e=0;e<r;++e)LY(o[e]);la.resort();let s=Math.max(Bo.maximumRequests-Ed.length,0),a=0;for(;a<s&&la.length>0;){if(t=la.pop(),t.cancelled){y0(t);continue}if(t.throttleByServer&&!Bo.serverHasOpenSlots(t.serverKey)){y0(t);continue}FY(t),++a}lxe()};Bo.getServerKey=function(e){let t=new ub.default(e);t.scheme()===""&&(t=new ub.default(e).absoluteTo(sxe),t.normalize());let n=t.authority();/:/.test(n)||(n=`${n}:${t.scheme()==="https"?"443":"80"}`);let i=$h[n];return l(i)||($h[n]=0),n};Bo.request=function(e){if(Pp(e.url)||XC(e.url))return yP.raiseEvent(),e.state=ai.RECEIVED,e.requestFunction();if(++zi.numberOfAttemptedRequests,l(e.serverKey)||(e.serverKey=Bo.getServerKey(e.url)),Bo.throttleRequests&&e.throttleByServer&&!Bo.serverHasOpenSlots(e.serverKey))return;if(!Bo.throttleRequests||!e.throttle)return FY(e);if(Ed.length>=Bo.maximumRequests)return;LY(e);let t=la.insert(e);if(l(t)){if(t===e)return;y0(t)}return NY(e)};function lxe(){!Bo.debugShowStatistics||(zi.numberOfActiveRequests===0&&zi.lastNumberOfActiveRequests>0&&(zi.numberOfAttemptedRequests>0&&(console.log(`Number of attempted requests: ${zi.numberOfAttemptedRequests}`),zi.numberOfAttemptedRequests=0),zi.numberOfCancelledRequests>0&&(console.log(`Number of cancelled requests: ${zi.numberOfCancelledRequests}`),zi.numberOfCancelledRequests=0),zi.numberOfCancelledActiveRequests>0&&(console.log(`Number of cancelled active requests: ${zi.numberOfCancelledActiveRequests}`),zi.numberOfCancelledActiveRequests=0),zi.numberOfFailedRequests>0&&(console.log(`Number of failed requests: ${zi.numberOfFailedRequests}`),zi.numberOfFailedRequests=0)),zi.lastNumberOfActiveRequests=zi.numberOfActiveRequests)}Bo.clearForSpecs=function(){for(;la.length>0;){let t=la.pop();y0(t)}let e=Ed.length;for(let t=0;t<e;++t)y0(Ed[t]);Ed.length=0,$h={},zi.numberOfAttemptedRequests=0,zi.numberOfActiveRequests=0,zi.numberOfCancelledRequests=0,zi.numberOfCancelledActiveRequests=0,zi.numberOfFailedRequests=0,zi.numberOfActiveRequestsEver=0,zi.lastNumberOfActiveRequests=0};Bo.numberOfActiveRequestsByServer=function(e){return $h[e]};Bo.requestHeap=la;var Wa=Bo;var VY=Ri(fl(),1);var fb={},QC={};fb.add=function(e,t){let n=`${e.toLowerCase()}:${t}`;l(QC[n])||(QC[n]=!0)};fb.remove=function(e,t){let n=`${e.toLowerCase()}:${t}`;l(QC[n])&&delete QC[n]};function uxe(e){let t=new VY.default(e);t.normalize();let n=t.authority();if(n.length!==0){if(t.authority(n),n.indexOf("@")!==-1&&(n=n.split("@")[1]),n.indexOf(":")===-1){let i=t.scheme();if(i.length===0&&(i=window.location.protocol,i=i.substring(0,i.length-1)),i==="http")n+=":80";else if(i==="https")n+=":443";else return}return n}}fb.contains=function(e){let t=uxe(e);return!!(l(t)&&l(QC[t]))};fb.clear=function(){QC={}};var db=fb;var zY=function(){try{let e=new XMLHttpRequest;return e.open("GET","#",!0),e.responseType="blob",e.responseType==="blob"}catch{return!1}}();function mH(e,t,n,i){let o=e.query();if(o.length===0)return{};let r;if(o.indexOf("=")===-1){let s={};s[o]=void 0,r=s}else r=tu(o);n?t._queryParameters=xP(r,t._queryParameters,i):t._queryParameters=r,e.search("")}function fxe(e,t){let n=t._queryParameters,i=Object.keys(n);i.length===1&&!l(n[i[0]])?e.search(i[0]):e.search($C(n))}function bd(e,t){return l(e)?l(e.clone)?e.clone():et(e):t}function pH(e){if(e.state===ai.ISSUED||e.state===ai.ACTIVE)throw new de("The Resource is already being fetched.");e.state=ai.UNISSUED,e.deferred=void 0}function xP(e,t,n){if(!n)return mt(e,t);let i=et(e,!0);for(let o in t)if(t.hasOwnProperty(o)){let r=i[o],s=t[o];l(r)?(Array.isArray(r)||(r=i[o]=[r]),i[o]=r.concat(s)):i[o]=Array.isArray(s)?s.slice():s}return i}function yt(e){e=y(e,y.EMPTY_OBJECT),typeof e=="string"&&(e={url:e}),this._url=void 0,this._templateValues=bd(e.templateValues,{}),this._queryParameters=bd(e.queryParameters,{}),this.headers=bd(e.headers,{}),this.request=y(e.request,new jo),this.proxy=e.proxy,this.retryCallback=e.retryCallback,this.retryAttempts=y(e.retryAttempts,0),this._retryCount=0;let t=new tx.default(e.url);mH(t,this,!0,!0),t.fragment(""),this._url=t.toString()}yt.createIfNeeded=function(e){return e instanceof yt?e.getDerivedResource({request:e.request}):typeof e!="string"?e:new yt({url:e})};var ex;yt.supportsImageBitmapOptions=function(){if(l(ex))return ex;if(typeof createImageBitmap!="function")return ex=Promise.resolve(!1),ex;let e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAABGdBTUEAAE4g3rEiDgAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAADElEQVQI12Ng6GAAAAEUAIngE3ZiAAAAAElFTkSuQmCC";return ex=yt.fetchBlob({url:e}).then(function(t){let n={imageOrientation:"flipY",premultiplyAlpha:"none",colorSpaceConversion:"none"};return Promise.all([createImageBitmap(t,n),createImageBitmap(t)])}).then(function(t){let n=Ad(t[0]),i=Ad(t[1]);return n[1]!==i[1]}).catch(function(){return!1}),ex};Object.defineProperties(yt,{isBlobSupported:{get:function(){return zY}}});Object.defineProperties(yt.prototype,{queryParameters:{get:function(){return this._queryParameters}},templateValues:{get:function(){return this._templateValues}},url:{get:function(){return this.getUrlComponent(!0,!0)},set:function(e){let t=new tx.default(e);mH(t,this,!1),t.fragment(""),this._url=t.toString()}},extension:{get:function(){return YC(this._url)}},isDataUri:{get:function(){return Pp(this._url)}},isBlobUri:{get:function(){return XC(this._url)}},isCrossOriginUrl:{get:function(){return KC(this._url)}},hasHeaders:{get:function(){return Object.keys(this.headers).length>0}}});yt.prototype.toString=function(){return this.getUrlComponent(!0,!0)};yt.prototype.getUrlComponent=function(e,t){if(this.isDataUri)return this._url;let n=new tx.default(this._url);e&&fxe(n,this);let i=n.toString().replace(/%7B/g,"{").replace(/%7D/g,"}"),o=this._templateValues;return i=i.replace(/{(.*?)}/g,function(r,s){let a=o[s];return l(a)?encodeURIComponent(a):r}),t&&l(this.proxy)&&(i=this.proxy.getURL(i)),i};yt.prototype.setQueryParameters=function(e,t){t?this._queryParameters=xP(this._queryParameters,e,!1):this._queryParameters=xP(e,this._queryParameters,!1)};yt.prototype.appendQueryParameters=function(e){this._queryParameters=xP(e,this._queryParameters,!0)};yt.prototype.setTemplateValues=function(e,t){t?this._templateValues=mt(this._templateValues,e):this._templateValues=mt(e,this._templateValues)};yt.prototype.getDerivedResource=function(e){let t=this.clone();if(t._retryCount=0,l(e.url)){let n=new tx.default(e.url),i=y(e.preserveQueryParameters,!1);mH(n,t,!0,i),n.fragment(""),n.scheme()!==""?t._url=n.toString():t._url=n.absoluteTo(new tx.default(Dp(this._url))).toString()}return l(e.queryParameters)&&(t._queryParameters=mt(e.queryParameters,t._queryParameters)),l(e.templateValues)&&(t._templateValues=mt(e.templateValues,t.templateValues)),l(e.headers)&&(t.headers=mt(e.headers,t.headers)),l(e.proxy)&&(t.proxy=e.proxy),l(e.request)&&(t.request=e.request),l(e.retryCallback)&&(t.retryCallback=e.retryCallback),l(e.retryAttempts)&&(t.retryAttempts=e.retryAttempts),t};yt.prototype.retryOnError=function(e){let t=this.retryCallback;if(typeof t!="function"||this._retryCount>=this.retryAttempts)return Promise.resolve(!1);let n=this;return Promise.resolve(t(this,e)).then(function(i){return++n._retryCount,i})};yt.prototype.clone=function(e){return l(e)||(e=new yt({url:this._url})),e._url=this._url,e._queryParameters=et(this._queryParameters),e._templateValues=et(this._templateValues),e.headers=et(this.headers),e.proxy=this.proxy,e.retryCallback=this.retryCallback,e.retryAttempts=this.retryAttempts,e._retryCount=0,e.request=this.request.clone(),e};yt.prototype.getBaseUri=function(e){return mP(this.getUrlComponent(e),e)};yt.prototype.appendForwardSlash=function(){this._url=hP(this._url)};yt.prototype.fetchArrayBuffer=function(){return this.fetch({responseType:"arraybuffer"})};yt.fetchArrayBuffer=function(e){return new yt(e).fetchArrayBuffer()};yt.prototype.fetchBlob=function(){return this.fetch({responseType:"blob"})};yt.fetchBlob=function(e){return new yt(e).fetchBlob()};yt.prototype.fetchImage=function(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.preferImageBitmap,!1),n=y(e.preferBlob,!1),i=y(e.flipY,!1),o=y(e.skipColorSpaceConversion,!1);if(pH(this.request),!zY||this.isDataUri||this.isBlobUri||!this.hasHeaders&&!n)return hH({resource:this,flipY:i,skipColorSpaceConversion:o,preferImageBitmap:t});let r=this.fetchBlob();if(!l(r))return;let s,a,c,u;return yt.supportsImageBitmapOptions().then(function(f){return s=f,a=s&&t,r}).then(function(f){if(!l(f))return;if(u=f,a)return yt.createImageBitmapFromBlob(f,{flipY:i,premultiplyAlpha:!1,skipColorSpaceConversion:o});let d=window.URL.createObjectURL(f);return c=new yt({url:d}),hH({resource:c,flipY:i,skipColorSpaceConversion:o,preferImageBitmap:!1})}).then(function(f){if(!!l(f))return f.blob=u,a||window.URL.revokeObjectURL(c.url),f}).catch(function(f){return l(c)&&window.URL.revokeObjectURL(c.url),f.blob=u,Promise.reject(f)})};function hH(e){let t=e.resource,n=e.flipY,i=e.skipColorSpaceConversion,o=e.preferImageBitmap,r=t.request;r.url=t.url,r.requestFunction=function(){let a=!1;!t.isDataUri&&!t.isBlobUri&&(a=t.isCrossOriginUrl);let c=Gs();return yt._Implementations.createImage(r,a,c,n,i,o),c.promise};let s=Wa.request(r);if(!!l(s))return s.catch(function(a){return r.state!==ai.FAILED?Promise.reject(a):t.retryOnError(a).then(function(c){return c?(r.state=ai.UNISSUED,r.deferred=void 0,hH({resource:t,flipY:n,skipColorSpaceConversion:i,preferImageBitmap:o})):Promise.reject(a)})})}yt.fetchImage=function(e){return new yt(e).fetchImage({flipY:e.flipY,skipColorSpaceConversion:e.skipColorSpaceConversion,preferBlob:e.preferBlob,preferImageBitmap:e.preferImageBitmap})};yt.prototype.fetchText=function(){return this.fetch({responseType:"text"})};yt.fetchText=function(e){return new yt(e).fetchText()};yt.prototype.fetchJson=function(){let e=this.fetch({responseType:"text",headers:{Accept:"application/json,*/*;q=0.01"}});if(!!l(e))return e.then(function(t){if(!!l(t))return JSON.parse(t)})};yt.fetchJson=function(e){return new yt(e).fetchJson()};yt.prototype.fetchXML=function(){return this.fetch({responseType:"document",overrideMimeType:"text/xml"})};yt.fetchXML=function(e){return new yt(e).fetchXML()};yt.prototype.fetchJsonp=function(e){e=y(e,"callback"),pH(this.request);let t;do t=`loadJsonp${I.nextRandomNumber().toString().substring(2,8)}`;while(l(window[t]));return HY(this,e,t)};function HY(e,t,n){let i={};i[t]=n,e.setQueryParameters(i);let o=e.request;o.url=e.url,o.requestFunction=function(){let s=Gs();return window[n]=function(a){s.resolve(a);try{delete window[n]}catch{window[n]=void 0}},yt._Implementations.loadAndExecuteScript(e.url,n,s),s.promise};let r=Wa.request(o);if(!!l(r))return r.catch(function(s){return o.state!==ai.FAILED?Promise.reject(s):e.retryOnError(s).then(function(a){return a?(o.state=ai.UNISSUED,o.deferred=void 0,HY(e,t,n)):Promise.reject(s)})})}yt.fetchJsonp=function(e){return new yt(e).fetchJsonp(e.callbackParameterName)};yt.prototype._makeRequest=function(e){let t=this;pH(t.request);let n=t.request;n.url=t.url,n.requestFunction=function(){let o=e.responseType,r=mt(e.headers,t.headers),s=e.overrideMimeType,a=e.method,c=e.data,u=Gs(),f=yt._Implementations.loadWithXhr(t.url,o,a,c,r,u,s);return l(f)&&l(f.abort)&&(n.cancelFunction=function(){f.abort()}),u.promise};let i=Wa.request(n);if(!!l(i))return i.then(function(o){return n.cancelFunction=void 0,o}).catch(function(o){return n.cancelFunction=void 0,n.state!==ai.FAILED?Promise.reject(o):t.retryOnError(o).then(function(r){return r?(n.state=ai.UNISSUED,n.deferred=void 0,t.fetch(e)):Promise.reject(o)})})};var dxe=/^data:(.*?)(;base64)?,(.*)$/;function CP(e,t){let n=decodeURIComponent(t);return e?atob(n):n}function kY(e,t){let n=CP(e,t),i=new ArrayBuffer(n.length),o=new Uint8Array(i);for(let r=0;r<n.length;r++)o[r]=n.charCodeAt(r);return i}function hxe(e,t){t=y(t,"");let n=e[1],i=!!e[2],o=e[3],r,s;switch(t){case"":case"text":return CP(i,o);case"arraybuffer":return kY(i,o);case"blob":return r=kY(i,o),new Blob([r],{type:n});case"document":return s=new DOMParser,s.parseFromString(CP(i,o),n);case"json":return JSON.parse(CP(i,o));default:}}yt.prototype.fetch=function(e){return e=bd(e,{}),e.method="GET",this._makeRequest(e)};yt.fetch=function(e){return new yt(e).fetch({responseType:e.responseType,overrideMimeType:e.overrideMimeType})};yt.prototype.delete=function(e){return e=bd(e,{}),e.method="DELETE",this._makeRequest(e)};yt.delete=function(e){return new yt(e).delete({responseType:e.responseType,overrideMimeType:e.overrideMimeType,data:e.data})};yt.prototype.head=function(e){return e=bd(e,{}),e.method="HEAD",this._makeRequest(e)};yt.head=function(e){return new yt(e).head({responseType:e.responseType,overrideMimeType:e.overrideMimeType})};yt.prototype.options=function(e){return e=bd(e,{}),e.method="OPTIONS",this._makeRequest(e)};yt.options=function(e){return new yt(e).options({responseType:e.responseType,overrideMimeType:e.overrideMimeType})};yt.prototype.post=function(e,t){return ul.defined("data",e),t=bd(t,{}),t.method="POST",t.data=e,this._makeRequest(t)};yt.post=function(e){return new yt(e).post(e.data,{responseType:e.responseType,overrideMimeType:e.overrideMimeType})};yt.prototype.put=function(e,t){return ul.defined("data",e),t=bd(t,{}),t.method="PUT",t.data=e,this._makeRequest(t)};yt.put=function(e){return new yt(e).put(e.data,{responseType:e.responseType,overrideMimeType:e.overrideMimeType})};yt.prototype.patch=function(e,t){return ul.defined("data",e),t=bd(t,{}),t.method="PATCH",t.data=e,this._makeRequest(t)};yt.patch=function(e){return new yt(e).patch(e.data,{responseType:e.responseType,overrideMimeType:e.overrideMimeType})};yt._Implementations={};yt._Implementations.loadImageElement=function(e,t,n){let i=new Image;i.onload=function(){i.naturalWidth===0&&i.naturalHeight===0&&i.width===0&&i.height===0&&(i.width=300,i.height=150),n.resolve(i)},i.onerror=function(o){n.reject(o)},t&&(db.contains(e)?i.crossOrigin="use-credentials":i.crossOrigin=""),i.src=e};yt._Implementations.createImage=function(e,t,n,i,o,r){let s=e.url;yt.supportsImageBitmapOptions().then(function(a){if(!(a&&r)){yt._Implementations.loadImageElement(s,t,n);return}let c="blob",u="GET",f=Gs(),d=yt._Implementations.loadWithXhr(s,c,u,void 0,void 0,f,void 0,void 0,void 0);return l(d)&&l(d.abort)&&(e.cancelFunction=function(){d.abort()}),f.promise.then(function(p){if(!l(p)){n.reject(new de(`Successfully retrieved ${s} but it contained no content.`));return}return yt.createImageBitmapFromBlob(p,{flipY:i,premultiplyAlpha:!1,skipColorSpaceConversion:o})}).then(function(p){n.resolve(p)})}).catch(function(a){n.reject(a)})};yt.createImageBitmapFromBlob=function(e,t){return ul.defined("options",t),ul.typeOf.bool("options.flipY",t.flipY),ul.typeOf.bool("options.premultiplyAlpha",t.premultiplyAlpha),ul.typeOf.bool("options.skipColorSpaceConversion",t.skipColorSpaceConversion),createImageBitmap(e,{imageOrientation:t.flipY?"flipY":"none",premultiplyAlpha:t.premultiplyAlpha?"premultiply":"none",colorSpaceConversion:t.skipColorSpaceConversion?"none":"default"})};function UY(e,t){switch(t){case"text":return e.toString("utf8");case"json":return JSON.parse(e.toString("utf8"));default:return new Uint8Array(e).buffer}}function mxe(e,t,n,i,o,r,s){let a,c;Promise.all([import("url"),import("zlib")]).then(([u,f])=>(a=u.parse(e),c=f,a.protocol==="https:"?import("https"):import("http"))).then(u=>{let f={protocol:a.protocol,hostname:a.hostname,port:a.port,path:a.path,query:a.query,method:n,headers:o};u.request(f).on("response",function(d){if(d.statusCode<200||d.statusCode>=300){r.reject(new Zh(d.statusCode,d,d.headers));return}let p=[];d.on("data",function(g){p.push(g)}),d.on("end",function(){let g=Buffer.concat(p);d.headers["content-encoding"]==="gzip"?c.gunzip(g,function(m,C){m?r.reject(new de("Error decompressing response.")):r.resolve(UY(C,t))}):r.resolve(UY(g,t))})}).on("error",function(d){r.reject(new Zh)}).end()})}var pxe=typeof XMLHttpRequest>"u";yt._Implementations.loadWithXhr=function(e,t,n,i,o,r,s){let a=dxe.exec(e);if(a!==null){r.resolve(hxe(a,t));return}if(pxe){mxe(e,t,n,i,o,r,s);return}let c=new XMLHttpRequest;if(db.contains(e)&&(c.withCredentials=!0),c.open(n,e,!0),l(s)&&l(c.overrideMimeType)&&c.overrideMimeType(s),l(o))for(let f in o)o.hasOwnProperty(f)&&c.setRequestHeader(f,o[f]);l(t)&&(c.responseType=t);let u=!1;return typeof e=="string"&&(u=e.indexOf("file://")===0||typeof window<"u"&&window.location.origin==="file://"),c.onload=function(){if((c.status<200||c.status>=300)&&!(u&&c.status===0)){r.reject(new Zh(c.status,c.response,c.getAllResponseHeaders()));return}let f=c.response,d=c.responseType;if(n==="HEAD"||n==="OPTIONS"){let g=c.getAllResponseHeaders().trim().split(/[\r\n]+/),m={};g.forEach(function(C){let x=C.split(": "),A=x.shift();m[A]=x.join(": ")}),r.resolve(m);return}if(c.status===204)r.resolve();else if(l(f)&&(!l(t)||d===t))r.resolve(f);else if(t==="json"&&typeof f=="string")try{r.resolve(JSON.parse(f))}catch(p){r.reject(p)}else(d===""||d==="document")&&l(c.responseXML)&&c.responseXML.hasChildNodes()?r.resolve(c.responseXML):(d===""||d==="text")&&l(c.responseText)?r.resolve(c.responseText):r.reject(new de("Invalid XMLHttpRequest response type."))},c.onerror=function(f){r.reject(new Zh)},c.send(i),c};yt._Implementations.loadAndExecuteScript=function(e,t,n){return ZC(e,t).catch(function(i){n.reject(i)})};yt._DefaultImplementations={};yt._DefaultImplementations.createImage=yt._Implementations.createImage;yt._DefaultImplementations.loadWithXhr=yt._Implementations.loadWithXhr;yt._DefaultImplementations.loadAndExecuteScript=yt._Implementations.loadAndExecuteScript;yt.DEFAULT=Object.freeze(new yt({url:typeof document>"u"?"":document.location.href.split("?")[0]}));var Ie=yt;var GY=/((?:.*\/)|^)Cesium\.js(?:\?|\#|$)/;function _xe(){let e=document.getElementsByTagName("script");for(let t=0,n=e.length;t<n;++t){let i=e[t].getAttribute("src"),o=GY.exec(i);if(o!==null)return o[1]}}var nx;function WY(e){return typeof document>"u"?e:(l(nx)||(nx=document.createElement("a")),nx.href=e,nx.href=nx.href,nx.href)}var C0;function jY(){if(l(C0))return C0;let e;return typeof CESIUM_BASE_URL<"u"?e=CESIUM_BASE_URL:typeof define=="object"&&l(define.amd)&&!define.amd.toUrlUndefined&&l(require.toUrl)?e=Dp("..",x0("Core/buildModuleUrl.js")):e=_xe(),C0=new Ie({url:WY(e)}),C0.appendForwardSlash(),C0}function gxe(e){return WY(require.toUrl(`../${e}`))}function qY(e){return jY().getDerivedResource({url:e}).url}var AP;function x0(e){return l(AP)||(typeof define=="object"&&l(define.amd)&&!define.amd.toUrlUndefined&&l(require.toUrl)?AP=gxe:AP=qY),AP(e)}x0._cesiumScriptRegex=GY;x0._buildModuleUrlFromBaseUrl=qY;x0._clearBaseResource=function(){C0=void 0};x0.setBaseUrl=function(e){C0=Ie.DEFAULT.getDerivedResource({url:e})};x0.getCesiumBaseUrl=jY;var Zt=x0;function Et(e,t){this.x=y(e,0),this.y=y(t,0)}Et.fromElements=function(e,t,n){return l(n)?(n.x=e,n.y=t,n):new Et(e,t)};Et.clone=function(e,t){if(!!l(e))return l(t)?(t.x=e.x,t.y=e.y,t):new Et(e.x,e.y)};Et.fromCartesian3=Et.clone;Et.fromCartesian4=Et.clone;Et.packedLength=2;Et.pack=function(e,t,n){return n=y(n,0),t[n++]=e.x,t[n]=e.y,t};Et.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new Et),n.x=e[t++],n.y=e[t],n};Et.packArray=function(e,t){let n=e.length,i=n*2;l(t)?!Array.isArray(t)&&t.length!==i||t.length!==i&&(t.length=i):t=new Array(i);for(let o=0;o<n;++o)Et.pack(e[o],t,o*2);return t};Et.unpackArray=function(e,t){let n=e.length;l(t)?t.length=n/2:t=new Array(n/2);for(let i=0;i<n;i+=2){let o=i/2;t[o]=Et.unpack(e,i,t[o])}return t};Et.fromArray=Et.unpack;Et.maximumComponent=function(e){return Math.max(e.x,e.y)};Et.minimumComponent=function(e){return Math.min(e.x,e.y)};Et.minimumByComponent=function(e,t,n){return n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n};Et.maximumByComponent=function(e,t,n){return n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n};Et.clamp=function(e,t,n,i){let o=I.clamp(e.x,t.x,n.x),r=I.clamp(e.y,t.y,n.y);return i.x=o,i.y=r,i};Et.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y};Et.magnitude=function(e){return Math.sqrt(Et.magnitudeSquared(e))};var TP=new Et;Et.distance=function(e,t){return Et.subtract(e,t,TP),Et.magnitude(TP)};Et.distanceSquared=function(e,t){return Et.subtract(e,t,TP),Et.magnitudeSquared(TP)};Et.normalize=function(e,t){let n=Et.magnitude(e);return t.x=e.x/n,t.y=e.y/n,t};Et.dot=function(e,t){return e.x*t.x+e.y*t.y};Et.cross=function(e,t){return e.x*t.y-e.y*t.x};Et.multiplyComponents=function(e,t,n){return n.x=e.x*t.x,n.y=e.y*t.y,n};Et.divideComponents=function(e,t,n){return n.x=e.x/t.x,n.y=e.y/t.y,n};Et.add=function(e,t,n){return n.x=e.x+t.x,n.y=e.y+t.y,n};Et.subtract=function(e,t,n){return n.x=e.x-t.x,n.y=e.y-t.y,n};Et.multiplyByScalar=function(e,t,n){return n.x=e.x*t,n.y=e.y*t,n};Et.divideByScalar=function(e,t,n){return n.x=e.x/t,n.y=e.y/t,n};Et.negate=function(e,t){return t.x=-e.x,t.y=-e.y,t};Et.abs=function(e,t){return t.x=Math.abs(e.x),t.y=Math.abs(e.y),t};var YY=new Et;Et.lerp=function(e,t,n,i){return Et.multiplyByScalar(t,n,YY),i=Et.multiplyByScalar(e,1-n,i),Et.add(YY,i,i)};var XY=new Et,KY=new Et;Et.angleBetween=function(e,t){return Et.normalize(e,XY),Et.normalize(t,KY),I.acosClamped(Et.dot(XY,KY))};var yxe=new Et;Et.mostOrthogonalAxis=function(e,t){let n=Et.normalize(e,yxe);return Et.abs(n,n),n.x<=n.y?t=Et.clone(Et.UNIT_X,t):t=Et.clone(Et.UNIT_Y,t),t};Et.equals=function(e,t){return e===t||l(e)&&l(t)&&e.x===t.x&&e.y===t.y};Et.equalsArray=function(e,t,n){return e.x===t[n]&&e.y===t[n+1]};Et.equalsEpsilon=function(e,t,n,i){return e===t||l(e)&&l(t)&&I.equalsEpsilon(e.x,t.x,n,i)&&I.equalsEpsilon(e.y,t.y,n,i)};Et.ZERO=Object.freeze(new Et(0,0));Et.ONE=Object.freeze(new Et(1,1));Et.UNIT_X=Object.freeze(new Et(1,0));Et.UNIT_Y=Object.freeze(new Et(0,1));Et.prototype.clone=function(e){return Et.clone(this,e)};Et.prototype.equals=function(e){return Et.equals(this,e)};Et.prototype.equalsEpsilon=function(e,t,n){return Et.equalsEpsilon(this,e,t,n)};Et.prototype.toString=function(){return`(${this.x}, ${this.y})`};var G=Et;function Ip(e){e=y(e,y.EMPTY_OBJECT),this._ellipsoid=y(e.ellipsoid,oe.WGS84),this._rectangle=y(e.rectangle,ue.MAX_VALUE),this._projection=new xi(this._ellipsoid),this._numberOfLevelZeroTilesX=y(e.numberOfLevelZeroTilesX,2),this._numberOfLevelZeroTilesY=y(e.numberOfLevelZeroTilesY,1)}Object.defineProperties(Ip.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},rectangle:{get:function(){return this._rectangle}},projection:{get:function(){return this._projection}}});Ip.prototype.getNumberOfXTilesAtLevel=function(e){return this._numberOfLevelZeroTilesX<<e};Ip.prototype.getNumberOfYTilesAtLevel=function(e){return this._numberOfLevelZeroTilesY<<e};Ip.prototype.rectangleToNativeRectangle=function(e,t){let n=I.toDegrees(e.west),i=I.toDegrees(e.south),o=I.toDegrees(e.east),r=I.toDegrees(e.north);return l(t)?(t.west=n,t.south=i,t.east=o,t.north=r,t):new ue(n,i,o,r)};Ip.prototype.tileXYToNativeRectangle=function(e,t,n,i){let o=this.tileXYToRectangle(e,t,n,i);return o.west=I.toDegrees(o.west),o.south=I.toDegrees(o.south),o.east=I.toDegrees(o.east),o.north=I.toDegrees(o.north),o};Ip.prototype.tileXYToRectangle=function(e,t,n,i){let o=this._rectangle,r=this.getNumberOfXTilesAtLevel(n),s=this.getNumberOfYTilesAtLevel(n),a=o.width/r,c=e*a+o.west,u=(e+1)*a+o.west,f=o.height/s,d=o.north-t*f,p=o.north-(t+1)*f;return l(i)||(i=new ue(c,p,u,d)),i.west=c,i.south=p,i.east=u,i.north=d,i};Ip.prototype.positionToTileXY=function(e,t,n){let i=this._rectangle;if(!ue.contains(i,e))return;let o=this.getNumberOfXTilesAtLevel(t),r=this.getNumberOfYTilesAtLevel(t),s=i.width/o,a=i.height/r,c=e.longitude;i.east<i.west&&(c+=I.TWO_PI);let u=(c-i.west)/s|0;u>=o&&(u=o-1);let f=(i.north-e.latitude)/a|0;return f>=r&&(f=r-1),l(n)?(n.x=u,n.y=f,n):new G(u,f)};var Hi=Ip;var ZY=new h,$Y=new h,JY=new he,_H=new h,Cxe=new h,QY=new re,xxe=new Hi,hb=[new he,new he,new he,new he],mb=new G,wr={};wr.initialize=function(){let e=wr._initPromise;return l(e)||(e=Ie.fetchJson(Zt("Assets/approximateTerrainHeights.json")).then(function(t){wr._terrainHeights=t}),wr._initPromise=e),e};wr.getMinimumMaximumHeights=function(e,t){t=y(t,oe.WGS84);let n=eX(e),i=wr._defaultMinTerrainHeight,o=wr._defaultMaxTerrainHeight;if(l(n)){let r=`${n.level}-${n.x}-${n.y}`,s=wr._terrainHeights[r];l(s)&&(i=s[0],o=s[1]),t.cartographicToCartesian(ue.northeast(e,JY),ZY),t.cartographicToCartesian(ue.southwest(e,JY),$Y),h.midpoint($Y,ZY,_H);let a=t.scaleToGeodeticSurface(_H,Cxe);if(l(a)){let c=h.distance(_H,a);i=Math.min(i,-c)}else i=wr._defaultMinTerrainHeight}return i=Math.max(wr._defaultMinTerrainHeight,i),{minimumTerrainHeight:i,maximumTerrainHeight:o}};wr.getBoundingSphere=function(e,t){t=y(t,oe.WGS84);let n=eX(e),i=wr._defaultMaxTerrainHeight;if(l(n)){let r=`${n.level}-${n.x}-${n.y}`,s=wr._terrainHeights[r];l(s)&&(i=s[1])}let o=re.fromRectangle3D(e,t,0);return re.fromRectangle3D(e,t,i,QY),re.union(o,QY,o)};function eX(e){he.fromRadians(e.east,e.north,0,hb[0]),he.fromRadians(e.west,e.north,0,hb[1]),he.fromRadians(e.east,e.south,0,hb[2]),he.fromRadians(e.west,e.south,0,hb[3]);let t=0,n=0,i=0,o=0,r=wr._terrainHeightsMaxLevel,s;for(s=0;s<=r;++s){let a=!1;for(let c=0;c<4;++c){let u=hb[c];if(xxe.positionToTileXY(u,s,mb),c===0)i=mb.x,o=mb.y;else if(i!==mb.x||o!==mb.y){a=!0;break}}if(a)break;t=i,n=o}if(s!==0)return{x:t,y:n,level:s>r?r:s-1}}wr._terrainHeightsMaxLevel=6;wr._defaultMaxTerrainHeight=9e3;wr._defaultMinTerrainHeight=-1e5;wr._terrainHeights=void 0;wr._initPromise=void 0;Object.defineProperties(wr,{initialized:{get:function(){return l(wr._terrainHeights)}}});var si=wr;var fX=Ri(uX(),1);var Kxe=0,SH={};function Jh(e,t){let n,i=e;l(SH[i])?n=SH[i]:(n=Kxe++,SH[i]=n),t=y(t,!1),this._id=n,this._html=e,this._showOnScreen=t,this._element=void 0}Object.defineProperties(Jh.prototype,{html:{get:function(){return this._html}},id:{get:function(){return this._id}},showOnScreen:{get:function(){return this._showOnScreen},set:function(e){this._showOnScreen=e}},element:{get:function(){if(!l(this._element)){let e=fX.default.sanitize(this._html),t=document.createElement("div");t._creditId=this._id,t.style.display="inline",t.innerHTML=e;let n=t.querySelectorAll("a");for(let i=0;i<n.length;i++)n[i].setAttribute("target","_blank");this._element=t}return this._element}}});Jh.equals=function(e,t){return e===t||l(e)&&l(t)&&e._id===t._id&&e._showOnScreen===t._showOnScreen};Jh.prototype.equals=function(e){return Jh.equals(this,e)};Jh.getIonCredit=function(e){let t=l(e.collapsible)&&!e.collapsible,n=new Jh(e.html,t);return n._isIon=n.html.indexOf("ion-credit.png")!==-1,n};Jh.clone=function(e){if(l(e))return new Jh(e.html,e.showOnScreen)};var jt=Jh;var Zxe={NONE:0,LERC:1},Qh=Object.freeze(Zxe);function Ya(e,t,n){this.minimum=h.clone(y(e,h.ZERO)),this.maximum=h.clone(y(t,h.ZERO)),l(n)?n=h.clone(n):n=h.midpoint(this.minimum,this.maximum,new h),this.center=n}Ya.fromCorners=function(e,t,n){return l(n)||(n=new Ya),n.minimum=h.clone(e,n.minimum),n.maximum=h.clone(t,n.maximum),n.center=h.midpoint(e,t,n.center),n};Ya.fromPoints=function(e,t){if(l(t)||(t=new Ya),!l(e)||e.length===0)return t.minimum=h.clone(h.ZERO,t.minimum),t.maximum=h.clone(h.ZERO,t.maximum),t.center=h.clone(h.ZERO,t.center),t;let n=e[0].x,i=e[0].y,o=e[0].z,r=e[0].x,s=e[0].y,a=e[0].z,c=e.length;for(let d=1;d<c;d++){let p=e[d],g=p.x,m=p.y,C=p.z;n=Math.min(g,n),r=Math.max(g,r),i=Math.min(m,i),s=Math.max(m,s),o=Math.min(C,o),a=Math.max(C,a)}let u=t.minimum;u.x=n,u.y=i,u.z=o;let f=t.maximum;return f.x=r,f.y=s,f.z=a,t.center=h.midpoint(u,f,t.center),t};Ya.clone=function(e,t){if(!!l(e))return l(t)?(t.minimum=h.clone(e.minimum,t.minimum),t.maximum=h.clone(e.maximum,t.maximum),t.center=h.clone(e.center,t.center),t):new Ya(e.minimum,e.maximum,e.center)};Ya.equals=function(e,t){return e===t||l(e)&&l(t)&&h.equals(e.center,t.center)&&h.equals(e.minimum,t.minimum)&&h.equals(e.maximum,t.maximum)};var DP=new h;Ya.intersectPlane=function(e,t){DP=h.subtract(e.maximum,e.minimum,DP);let n=h.multiplyByScalar(DP,.5,DP),i=t.normal,o=n.x*Math.abs(i.x)+n.y*Math.abs(i.y)+n.z*Math.abs(i.z),r=h.dot(e.center,i)+t.distance;return r-o>0?Kt.INSIDE:r+o<0?Kt.OUTSIDE:Kt.INTERSECTING};Ya.prototype.clone=function(e){return Ya.clone(this,e)};Ya.prototype.intersectPlane=function(e){return Ya.intersectPlane(this,e)};Ya.prototype.equals=function(e){return Ya.equals(this,e)};var T0=Ya;function wd(e,t){this._ellipsoid=e,this._cameraPosition=new h,this._cameraPositionInScaledSpace=new h,this._distanceToLimbInScaledSpaceSquared=0,l(t)&&(this.cameraPosition=t)}Object.defineProperties(wd.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},cameraPosition:{get:function(){return this._cameraPosition},set:function(e){let n=this._ellipsoid.transformPositionToScaledSpace(e,this._cameraPositionInScaledSpace),i=h.magnitudeSquared(n)-1;h.clone(e,this._cameraPosition),this._cameraPositionInScaledSpace=n,this._distanceToLimbInScaledSpaceSquared=i}}});var dX=new h;wd.prototype.isPointVisible=function(e){let n=this._ellipsoid.transformPositionToScaledSpace(e,dX);return vH(n,this._cameraPositionInScaledSpace,this._distanceToLimbInScaledSpaceSquared)};wd.prototype.isScaledSpacePointVisible=function(e){return vH(e,this._cameraPositionInScaledSpace,this._distanceToLimbInScaledSpaceSquared)};var $xe=new h;wd.prototype.isScaledSpacePointVisiblePossiblyUnderEllipsoid=function(e,t){let n=this._ellipsoid,i,o;return l(t)&&t<0&&n.minimumRadius>-t?(o=$xe,o.x=this._cameraPosition.x/(n.radii.x+t),o.y=this._cameraPosition.y/(n.radii.y+t),o.z=this._cameraPosition.z/(n.radii.z+t),i=o.x*o.x+o.y*o.y+o.z*o.z-1):(o=this._cameraPositionInScaledSpace,i=this._distanceToLimbInScaledSpaceSquared),vH(e,o,i)};wd.prototype.computeHorizonCullingPoint=function(e,t,n){return pX(this._ellipsoid,e,t,n)};var hX=oe.clone(oe.UNIT_SPHERE);wd.prototype.computeHorizonCullingPointPossiblyUnderEllipsoid=function(e,t,n,i){let o=mX(this._ellipsoid,n,hX);return pX(o,e,t,i)};wd.prototype.computeHorizonCullingPointFromVertices=function(e,t,n,i,o){return _X(this._ellipsoid,e,t,n,i,o)};wd.prototype.computeHorizonCullingPointFromVerticesPossiblyUnderEllipsoid=function(e,t,n,i,o,r){let s=mX(this._ellipsoid,o,hX);return _X(s,e,t,n,i,r)};var Jxe=[];wd.prototype.computeHorizonCullingPointFromRectangle=function(e,t,n){let i=ue.subsample(e,t,0,Jxe),o=re.fromPoints(i);if(!(h.magnitude(o.center)<.1*t.minimumRadius))return this.computeHorizonCullingPoint(o.center,i,n)};var Qxe=new h;function mX(e,t,n){if(l(t)&&t<0&&e.minimumRadius>-t){let i=h.fromElements(e.radii.x+t,e.radii.y+t,e.radii.z+t,Qxe);e=oe.fromCartesian3(i,n)}return e}function pX(e,t,n,i){l(i)||(i=new h);let o=CX(e,t),r=0;for(let s=0,a=n.length;s<a;++s){let c=n[s],u=gX(e,c,o);if(u<0)return;r=Math.max(r,u)}return yX(o,r,i)}var PP=new h;function _X(e,t,n,i,o,r){l(r)||(r=new h),i=y(i,3),o=y(o,h.ZERO);let s=CX(e,t),a=0;for(let c=0,u=n.length;c<u;c+=i){PP.x=n[c]+o.x,PP.y=n[c+1]+o.y,PP.z=n[c+2]+o.z;let f=gX(e,PP,s);if(f<0)return;a=Math.max(a,f)}return yX(s,a,r)}function vH(e,t,n){let i=t,o=n,r=h.subtract(e,i,dX),s=-h.dot(r,i);return!(o<0?s>0:s>o&&s*s/h.magnitudeSquared(r)>o)}var eAe=new h,tAe=new h;function gX(e,t,n){let i=e.transformPositionToScaledSpace(t,eAe),o=h.magnitudeSquared(i),r=Math.sqrt(o),s=h.divideByScalar(i,r,tAe);o=Math.max(1,o),r=Math.max(1,r);let a=h.dot(s,n),c=h.magnitude(h.cross(s,n,s)),u=1/r,f=Math.sqrt(o-1)*u;return 1/(a*u-c*f)}function yX(e,t,n){if(!(t<=0||t===1/0||t!==t))return h.multiplyByScalar(e,t,n)}var wH=new h;function CX(e,t){return h.equals(t,h.ZERO)?t:(e.transformPositionToScaledSpace(t,wH),h.normalize(wH,wH))}var Mp=wd;var DH={};DH.computeDiscriminant=function(e,t,n){return t*t-4*e*n};function xX(e,t,n){let i=e+t;return I.sign(e)!==I.sign(t)&&Math.abs(i/Math.max(Math.abs(e),Math.abs(t)))<n?0:i}DH.computeRealRoots=function(e,t,n){let i;if(e===0)return t===0?[]:[-n/t];if(t===0){if(n===0)return[0,0];let c=Math.abs(n),u=Math.abs(e);if(c<u&&c/u<I.EPSILON14)return[0,0];if(c>u&&u/c<I.EPSILON14)return[];if(i=-n/e,i<0)return[];let f=Math.sqrt(i);return[-f,f]}else if(n===0)return i=-t/e,i<0?[i,0]:[0,i];let o=t*t,r=4*e*n,s=xX(o,-r,I.EPSILON14);if(s<0)return[];let a=-.5*xX(t,I.sign(t)*Math.sqrt(s),I.EPSILON14);return t>0?[a/e,n/a]:[n/a,a/e]};var Pc=DH;var IH={};IH.computeDiscriminant=function(e,t,n,i){let o=e*e,r=t*t,s=n*n,a=i*i;return 18*e*t*n*i+r*s-27*o*a-4*(e*s*n+r*t*i)};function PH(e,t,n,i){let o=e,r=t/3,s=n/3,a=i,c=o*s,u=r*a,f=r*r,d=s*s,p=o*s-f,g=o*a-r*s,m=r*a-d,C=4*p*m-g*g,x,A;if(C<0){let Y,q,X;f*u>=c*d?(Y=o,q=p,X=-2*r*p+o*g):(Y=a,q=m,X=-a*g+2*s*m);let K=-(X<0?-1:1)*Math.abs(Y)*Math.sqrt(-C);A=-X+K;let $=A/2,le=$<0?-Math.pow(-$,1/3):Math.pow($,1/3),me=A===K?-le:-q/le;return x=q<=0?le+me:-X/(le*le+me*me+q),f*u>=c*d?[(x-r)/o]:[-a/(x+s)]}let b=p,E=-2*r*p+o*g,S=m,v=-a*g+2*s*m,P=Math.sqrt(C),O=Math.sqrt(3)/2,M=Math.abs(Math.atan2(o*P,-E)/3);x=2*Math.sqrt(-b);let B=Math.cos(M);A=x*B;let L=x*(-B/2-O*Math.sin(M)),_=A+L>2*r?A-r:L-r,T=o,w=_/T;M=Math.abs(Math.atan2(a*P,-v)/3),x=2*Math.sqrt(-S),B=Math.cos(M),A=x*B,L=x*(-B/2-O*Math.sin(M));let D=-a,R=A+L<2*s?A+s:L+s,F=D/R,z=T*R,k=-_*R-T*D,H=_*D,V=(s*k-r*H)/(-r*k+s*z);return w<=V?w<=F?V<=F?[w,V,F]:[w,F,V]:[F,w,V]:w<=F?[V,w,F]:V<=F?[V,F,w]:[F,V,w]}IH.computeRealRoots=function(e,t,n,i){let o,r;if(e===0)return Pc.computeRealRoots(t,n,i);if(t===0){if(n===0){if(i===0)return[0,0,0];r=-i/e;let s=r<0?-Math.pow(-r,1/3):Math.pow(r,1/3);return[s,s,s]}else if(i===0)return o=Pc.computeRealRoots(e,0,n),o.Length===0?[0]:[o[0],0,o[1]];return PH(e,0,n,i)}else{if(n===0)return i===0?(r=-t/e,r<0?[r,0,0]:[0,0,r]):PH(e,t,0,i);if(i===0)return o=Pc.computeRealRoots(e,t,n),o.length===0?[0]:o[1]<=0?[o[0],o[1],0]:o[0]>=0?[0,o[0],o[1]]:[o[0],0,o[1]]}return PH(e,t,n,i)};var ix=IH;var OH={};OH.computeDiscriminant=function(e,t,n,i,o){let r=e*e,s=r*e,a=t*t,c=a*t,u=n*n,f=u*n,d=i*i,p=d*i,g=o*o,m=g*o;return a*u*d-4*c*p-4*e*f*d+18*e*t*n*p-27*r*d*d+256*s*m+o*(18*c*n*i-4*a*f+16*e*u*u-80*e*t*u*i-6*e*a*d+144*r*n*d)+g*(144*e*a*n-27*a*a-128*r*u-192*r*t*i)};function cf(e,t,n,i){let o=e*e,r=t-3*o/8,s=n-t*e/2+o*e/8,a=i-n*e/4+t*o/16-3*o*o/256,c=ix.computeRealRoots(1,2*r,r*r-4*a,-s*s);if(c.length>0){let u=-e/4,f=c[c.length-1];if(Math.abs(f)<I.EPSILON14){let d=Pc.computeRealRoots(1,r,a);if(d.length===2){let p=d[0],g=d[1],m;if(p>=0&&g>=0){let C=Math.sqrt(p),x=Math.sqrt(g);return[u-x,u-C,u+C,u+x]}else{if(p>=0&&g<0)return m=Math.sqrt(p),[u-m,u+m];if(p<0&&g>=0)return m=Math.sqrt(g),[u-m,u+m]}}return[]}else if(f>0){let d=Math.sqrt(f),p=(r+f-s/d)/2,g=(r+f+s/d)/2,m=Pc.computeRealRoots(1,d,p),C=Pc.computeRealRoots(1,-d,g);return m.length!==0?(m[0]+=u,m[1]+=u,C.length!==0?(C[0]+=u,C[1]+=u,m[1]<=C[0]?[m[0],m[1],C[0],C[1]]:C[1]<=m[0]?[C[0],C[1],m[0],m[1]]:m[0]>=C[0]&&m[1]<=C[1]?[C[0],m[0],m[1],C[1]]:C[0]>=m[0]&&C[1]<=m[1]?[m[0],C[0],C[1],m[1]]:m[0]>C[0]&&m[0]<C[1]?[C[0],m[0],C[1],m[1]]:[m[0],C[0],m[1],C[1]]):m):C.length!==0?(C[0]+=u,C[1]+=u,C):[]}}return[]}function _b(e,t,n,i){let o=n*n,r=t*t,s=e*e,a=-2*t,c=n*e+r-4*i,u=s*i-n*t*e+o,f=ix.computeRealRoots(1,a,c,u);if(f.length>0){let d=f[0],p=t-d,g=p*p,m=e/2,C=p/2,x=g-4*i,A=g+4*Math.abs(i),b=s-4*d,E=s+4*Math.abs(d),S,v;if(d<0||x*E<b*A){let T=Math.sqrt(b);S=T/2,v=T===0?0:(e*C-n)/T}else{let T=Math.sqrt(x);S=T===0?0:(e*C-n)/T,v=T/2}let P,O;m===0&&S===0?(P=0,O=0):I.sign(m)===I.sign(S)?(P=m+S,O=d/P):(O=m-S,P=d/O);let M,B;C===0&&v===0?(M=0,B=0):I.sign(C)===I.sign(v)?(M=C+v,B=i/M):(B=C-v,M=i/B);let L=Pc.computeRealRoots(1,P,M),_=Pc.computeRealRoots(1,O,B);if(L.length!==0)return _.length!==0?L[1]<=_[0]?[L[0],L[1],_[0],_[1]]:_[1]<=L[0]?[_[0],_[1],L[0],L[1]]:L[0]>=_[0]&&L[1]<=_[1]?[_[0],L[0],L[1],_[1]]:_[0]>=L[0]&&_[1]<=L[1]?[L[0],_[0],_[1],L[1]]:L[0]>_[0]&&L[0]<_[1]?[_[0],L[0],_[1],L[1]]:[L[0],_[0],L[1],_[1]]:L;if(_.length!==0)return _}return[]}OH.computeRealRoots=function(e,t,n,i,o){if(Math.abs(e)<I.EPSILON15)return ix.computeRealRoots(t,n,i,o);let r=t/e,s=n/e,a=i/e,c=o/e,u=r<0?1:0;switch(u+=s<0?u+1:u,u+=a<0?u+1:u,u+=c<0?u+1:u,u){case 0:return cf(r,s,a,c);case 1:return _b(r,s,a,c);case 2:return _b(r,s,a,c);case 3:return cf(r,s,a,c);case 4:return cf(r,s,a,c);case 5:return _b(r,s,a,c);case 6:return cf(r,s,a,c);case 7:return cf(r,s,a,c);case 8:return _b(r,s,a,c);case 9:return cf(r,s,a,c);case 10:return cf(r,s,a,c);case 11:return _b(r,s,a,c);case 12:return cf(r,s,a,c);case 13:return cf(r,s,a,c);case 14:return cf(r,s,a,c);case 15:return cf(r,s,a,c);default:return}};var IP=OH;function OP(e,t){t=h.clone(y(t,h.ZERO)),h.equals(t,h.ZERO)||h.normalize(t,t),this.origin=h.clone(y(e,h.ZERO)),this.direction=t}OP.clone=function(e,t){if(!!l(e))return l(t)?(t.origin=h.clone(e.origin),t.direction=h.clone(e.direction),t):new OP(e.origin,e.direction)};OP.getPoint=function(e,t,n){return l(n)||(n=new h),n=h.multiplyByScalar(e.direction,t,n),h.add(e.origin,n,n)};var Tn=OP;var qo={};qo.rayPlane=function(e,t,n){l(n)||(n=new h);let i=e.origin,o=e.direction,r=t.normal,s=h.dot(r,o);if(Math.abs(s)<I.EPSILON15)return;let a=(-t.distance-h.dot(r,i))/s;if(!(a<0))return n=h.multiplyByScalar(o,a,n),h.add(i,n,n)};var nAe=new h,iAe=new h,DX=new h,AX=new h,TX=new h;qo.rayTriangleParametric=function(e,t,n,i,o){o=y(o,!1);let r=e.origin,s=e.direction,a=h.subtract(n,t,nAe),c=h.subtract(i,t,iAe),u=h.cross(s,c,DX),f=h.dot(a,u),d,p,g,m,C;if(o){if(f<I.EPSILON6||(d=h.subtract(r,t,AX),g=h.dot(d,u),g<0||g>f)||(p=h.cross(d,a,TX),m=h.dot(s,p),m<0||g+m>f))return;C=h.dot(c,p)/f}else{if(Math.abs(f)<I.EPSILON6)return;let x=1/f;if(d=h.subtract(r,t,AX),g=h.dot(d,u)*x,g<0||g>1||(p=h.cross(d,a,TX),m=h.dot(s,p)*x,m<0||g+m>1))return;C=h.dot(c,p)*x}return C};qo.rayTriangle=function(e,t,n,i,o,r){let s=qo.rayTriangleParametric(e,t,n,i,o);if(!(!l(s)||s<0))return l(r)||(r=new h),h.multiplyByScalar(e.direction,s,r),h.add(e.origin,r,r)};var oAe=new Tn;qo.lineSegmentTriangle=function(e,t,n,i,o,r,s){let a=oAe;h.clone(e,a.origin),h.subtract(t,e,a.direction),h.normalize(a.direction,a.direction);let c=qo.rayTriangleParametric(a,n,i,o,r);if(!(!l(c)||c<0||c>h.distance(e,t)))return l(s)||(s=new h),h.multiplyByScalar(a.direction,c,s),h.add(a.origin,s,s)};function rAe(e,t,n,i){let o=t*t-4*e*n;if(o<0)return;if(o>0){let s=1/(2*e),a=Math.sqrt(o),c=(-t+a)*s,u=(-t-a)*s;return c<u?(i.root0=c,i.root1=u):(i.root0=u,i.root1=c),i}let r=-t/(2*e);if(r!==0)return i.root0=i.root1=r,i}var sAe={root0:0,root1:0};function PX(e,t,n){l(n)||(n=new Dc);let i=e.origin,o=e.direction,r=t.center,s=t.radius*t.radius,a=h.subtract(i,r,DX),c=h.dot(o,o),u=2*h.dot(o,a),f=h.magnitudeSquared(a)-s,d=rAe(c,u,f,sAe);if(!!l(d))return n.start=d.root0,n.stop=d.root1,n}qo.raySphere=function(e,t,n){if(n=PX(e,t,n),!(!l(n)||n.stop<0))return n.start=Math.max(n.start,0),n};var aAe=new Tn;qo.lineSegmentSphere=function(e,t,n,i){let o=aAe;h.clone(e,o.origin);let r=h.subtract(t,e,o.direction),s=h.magnitude(r);if(h.normalize(r,r),i=PX(o,n,i),!(!l(i)||i.stop<0||i.start>s))return i.start=Math.max(i.start,0),i.stop=Math.min(i.stop,s),i};var cAe=new h,lAe=new h;qo.rayEllipsoid=function(e,t){let n=t.oneOverRadii,i=h.multiplyComponents(n,e.origin,cAe),o=h.multiplyComponents(n,e.direction,lAe),r=h.magnitudeSquared(i),s=h.dot(i,o),a,c,u,f,d;if(r>1){if(s>=0)return;let p=s*s;if(a=r-1,c=h.magnitudeSquared(o),u=c*a,p<u)return;if(p>u){f=s*s-u,d=-s+Math.sqrt(f);let m=d/c,C=a/d;return m<C?new Dc(m,C):{start:C,stop:m}}let g=Math.sqrt(a/c);return new Dc(g,g)}else if(r<1)return a=r-1,c=h.magnitudeSquared(o),u=c*a,f=s*s-u,d=-s+Math.sqrt(f),new Dc(0,d/c);if(s<0)return c=h.magnitudeSquared(o),new Dc(0,-s/c)};function E0(e,t,n){let i=e+t;return I.sign(e)!==I.sign(t)&&Math.abs(i/Math.max(Math.abs(e),Math.abs(t)))<n?0:i}function uAe(e,t,n,i,o){let r=i*i,s=o*o,a=(e[J.COLUMN1ROW1]-e[J.COLUMN2ROW2])*s,c=o*(i*E0(e[J.COLUMN1ROW0],e[J.COLUMN0ROW1],I.EPSILON15)+t.y),u=e[J.COLUMN0ROW0]*r+e[J.COLUMN2ROW2]*s+i*t.x+n,f=s*E0(e[J.COLUMN2ROW1],e[J.COLUMN1ROW2],I.EPSILON15),d=o*(i*E0(e[J.COLUMN2ROW0],e[J.COLUMN0ROW2])+t.z),p,g=[];if(d===0&&f===0){if(p=Pc.computeRealRoots(a,c,u),p.length===0)return g;let M=p[0],B=Math.sqrt(Math.max(1-M*M,0));if(g.push(new h(i,o*M,o*-B)),g.push(new h(i,o*M,o*B)),p.length===2){let L=p[1],_=Math.sqrt(Math.max(1-L*L,0));g.push(new h(i,o*L,o*-_)),g.push(new h(i,o*L,o*_))}return g}let m=d*d,C=f*f,x=a*a,A=d*f,b=x+C,E=2*(c*a+A),S=2*u*a+c*c-C+m,v=2*(u*c-A),P=u*u-m;if(b===0&&E===0&&S===0&&v===0)return g;p=IP.computeRealRoots(b,E,S,v,P);let O=p.length;if(O===0)return g;for(let M=0;M<O;++M){let B=p[M],L=B*B,_=Math.max(1-L,0),T=Math.sqrt(_),w;I.sign(a)===I.sign(u)?w=E0(a*L+u,c*B,I.EPSILON12):I.sign(u)===I.sign(c*B)?w=E0(a*L,c*B+u,I.EPSILON12):w=E0(a*L+c*B,u,I.EPSILON12);let D=E0(f*B,d,I.EPSILON15),R=w*D;R<0?g.push(new h(i,o*B,o*T)):R>0?g.push(new h(i,o*B,o*-T)):T!==0?(g.push(new h(i,o*B,o*-T)),g.push(new h(i,o*B,o*T)),++M):g.push(new h(i,o*B,o*T))}return g}var RH=new h,EX=new h,bX=new h,RP=new h,fAe=new h,dAe=new J,hAe=new J,mAe=new J,pAe=new J,_Ae=new J,SX=new J,wX=new J,vX=new h,gAe=new h,yAe=new he;qo.grazingAltitudeLocation=function(e,t){let n=e.origin,i=e.direction;if(!h.equals(n,h.ZERO)){let P=t.geodeticSurfaceNormal(n,RH);if(h.dot(i,P)>=0)return n}let o=l(this.rayEllipsoid(e,t)),r=t.transformPositionToScaledSpace(i,RH),s=h.normalize(r,r),a=h.mostOrthogonalAxis(r,RP),c=h.normalize(h.cross(a,s,EX),EX),u=h.normalize(h.cross(s,c,bX),bX),f=dAe;f[0]=s.x,f[1]=s.y,f[2]=s.z,f[3]=c.x,f[4]=c.y,f[5]=c.z,f[6]=u.x,f[7]=u.y,f[8]=u.z;let d=J.transpose(f,hAe),p=J.fromScale(t.radii,mAe),g=J.fromScale(t.oneOverRadii,pAe),m=_Ae;m[0]=0,m[1]=-i.z,m[2]=i.y,m[3]=i.z,m[4]=0,m[5]=-i.x,m[6]=-i.y,m[7]=i.x,m[8]=0;let C=J.multiply(J.multiply(d,g,SX),m,SX),x=J.multiply(J.multiply(C,p,wX),f,wX),A=J.multiplyByVector(C,n,fAe),b=uAe(x,h.negate(A,RH),0,0,1),E,S,v=b.length;if(v>0){let P=h.clone(h.ZERO,gAe),O=Number.NEGATIVE_INFINITY;for(let B=0;B<v;++B){E=J.multiplyByVector(p,J.multiplyByVector(f,b[B],vX),vX);let L=h.normalize(h.subtract(E,n,RP),RP),_=h.dot(L,i);_>O&&(O=_,P=h.clone(E,P))}let M=t.cartesianToCartographic(P,yAe);return O=I.clamp(O,0,1),S=h.magnitude(h.subtract(P,n,RP))*Math.sqrt(1-O*O),S=o?-S:S,M.height=S,t.cartographicToCartesian(M,new h)}};var CAe=new h;qo.lineSegmentPlane=function(e,t,n,i){l(i)||(i=new h);let o=h.subtract(t,e,CAe),r=n.normal,s=h.dot(r,o);if(Math.abs(s)<I.EPSILON6)return;let a=h.dot(r,e),c=-(n.distance+a)/s;if(!(c<0||c>1))return h.multiplyByScalar(o,c,i),h.add(e,i,i),i};qo.trianglePlaneIntersection=function(e,t,n,i){let o=i.normal,r=i.distance,s=h.dot(o,e)+r<0,a=h.dot(o,t)+r<0,c=h.dot(o,n)+r<0,u=0;u+=s?1:0,u+=a?1:0,u+=c?1:0;let f,d;if((u===1||u===2)&&(f=new h,d=new h),u===1){if(s)return qo.lineSegmentPlane(e,t,i,f),qo.lineSegmentPlane(e,n,i,d),{positions:[e,t,n,f,d],indices:[0,3,4,1,2,4,1,4,3]};if(a)return qo.lineSegmentPlane(t,n,i,f),qo.lineSegmentPlane(t,e,i,d),{positions:[e,t,n,f,d],indices:[1,3,4,2,0,4,2,4,3]};if(c)return qo.lineSegmentPlane(n,e,i,f),qo.lineSegmentPlane(n,t,i,d),{positions:[e,t,n,f,d],indices:[2,3,4,0,1,4,0,4,3]}}else if(u===2)if(s)if(a){if(!c)return qo.lineSegmentPlane(e,n,i,f),qo.lineSegmentPlane(t,n,i,d),{positions:[e,t,n,f,d],indices:[0,1,4,0,4,3,2,3,4]}}else return qo.lineSegmentPlane(n,t,i,f),qo.lineSegmentPlane(e,t,i,d),{positions:[e,t,n,f,d],indices:[2,0,4,2,4,3,1,3,4]};else return qo.lineSegmentPlane(t,e,i,f),qo.lineSegmentPlane(n,e,i,d),{positions:[e,t,n,f,d],indices:[1,2,4,1,4,3,0,3,4]}};var Gi=qo;function ss(e,t){this.normal=h.clone(e),this.distance=t}ss.fromPointNormal=function(e,t,n){let i=-h.dot(t,e);return l(n)?(h.clone(t,n.normal),n.distance=i,n):new ss(t,i)};var xAe=new h;ss.fromCartesian4=function(e,t){let n=h.fromCartesian4(e,xAe),i=e.w;return l(t)?(h.clone(n,t.normal),t.distance=i,t):new ss(n,i)};ss.getPointDistance=function(e,t){return h.dot(e.normal,t)+e.distance};var AAe=new h;ss.projectPointOntoPlane=function(e,t,n){l(n)||(n=new h);let i=ss.getPointDistance(e,t),o=h.multiplyByScalar(e.normal,i,AAe);return h.subtract(t,o,n)};var TAe=new N,EAe=new se,bAe=new h;ss.transform=function(e,t,n){let i=e.normal,o=e.distance,r=N.inverseTranspose(t,TAe),s=se.fromElements(i.x,i.y,i.z,o,EAe);s=N.multiplyByVector(r,s,s);let a=h.fromCartesian4(s,bAe);return s=se.divideByScalar(s,h.magnitude(a),s),ss.fromCartesian4(s,n)};ss.clone=function(e,t){return l(t)?(h.clone(e.normal,t.normal),t.distance=e.distance,t):new ss(e.normal,e.distance)};ss.equals=function(e,t){return e.distance===t.distance&&h.equals(e.normal,t.normal)};ss.ORIGIN_XY_PLANE=Object.freeze(new ss(h.UNIT_Z,0));ss.ORIGIN_YZ_PLANE=Object.freeze(new ss(h.UNIT_X,0));ss.ORIGIN_ZX_PLANE=Object.freeze(new ss(h.UNIT_Y,0));var en=ss;function SAe(e,t,n){let i=0,o=e.length-1,r,s;for(;i<=o;){if(r=~~((i+o)/2),s=n(e[r],t),s<0){i=r+1;continue}if(s>0){o=r-1;continue}return r}return~(o+1)}var Yo=SAe;function wAe(e,t,n,i,o){this.xPoleWander=e,this.yPoleWander=t,this.xPoleOffset=n,this.yPoleOffset=i,this.ut1MinusUtc=o}var b0=wAe;function vAe(e,t,n,i,o,r,s,a){this.year=e,this.month=t,this.day=n,this.hour=i,this.minute=o,this.second=r,this.millisecond=s,this.isLeapSecond=a}var Bp=vAe;function DAe(e){return e%4===0&&e%100!==0||e%400===0}var Lp=DAe;function PAe(e,t){this.julianDate=e,this.offset=t}var Fi=PAe;var IAe={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:24000005e-1},Yn=Object.freeze(IAe);var OAe={UTC:0,TAI:1},Wn=Object.freeze(OAe);var OX=new Bp,MH=[31,28,31,30,31,30,31,31,30,31,30,31],BH=29;function LH(e,t){return Ct.compare(e.julianDate,t.julianDate)}var ox=new Fi;function BP(e){ox.julianDate=e;let t=Ct.leapSeconds,n=Yo(t,ox,LH);n<0&&(n=~n),n>=t.length&&(n=t.length-1);let i=t[n].offset;n>0&&Ct.secondsDifference(t[n].julianDate,e)>i&&(n--,i=t[n].offset),Ct.addSeconds(e,i,e)}function IX(e,t){ox.julianDate=e;let n=Ct.leapSeconds,i=Yo(n,ox,LH);if(i<0&&(i=~i),i===0)return Ct.addSeconds(e,-n[0].offset,t);if(i>=n.length)return Ct.addSeconds(e,-n[i-1].offset,t);let o=Ct.secondsDifference(n[i].julianDate,e);if(o===0)return Ct.addSeconds(e,-n[i].offset,t);if(!(o<=1))return Ct.addSeconds(e,-n[--i].offset,t)}function Np(e,t,n){let i=t/Yn.SECONDS_PER_DAY|0;return e+=i,t-=Yn.SECONDS_PER_DAY*i,t<0&&(e--,t+=Yn.SECONDS_PER_DAY),n.dayNumber=e,n.secondsOfDay=t,n}function NH(e,t,n,i,o,r,s){let a=(t-14)/12|0,c=e+4800+a,u=(1461*c/4|0)+(367*(t-2-12*a)/12|0)-(3*((c+100)/100|0)/4|0)+n-32075;i=i-12,i<0&&(i+=24);let f=r+(i*Yn.SECONDS_PER_HOUR+o*Yn.SECONDS_PER_MINUTE+s*Yn.SECONDS_PER_MILLISECOND);return f>=43200&&(u-=1),[u,f]}var RAe=/^(\d{4})$/,MAe=/^(\d{4})-(\d{2})$/,BAe=/^(\d{4})-?(\d{3})$/,LAe=/^(\d{4})-?W(\d{2})-?(\d{1})?$/,NAe=/^(\d{4})-?(\d{2})-?(\d{2})$/,FH=/([Z+\-])?(\d{2})?:?(\d{2})?$/,FAe=/^(\d{2})(\.\d+)?/.source+FH.source,VAe=/^(\d{2}):?(\d{2})(\.\d+)?/.source+FH.source,kAe=/^(\d{2}):?(\d{2}):?(\d{2})(\.\d+)?/.source+FH.source;function Ct(e,t,n){this.dayNumber=void 0,this.secondsOfDay=void 0,e=y(e,0),t=y(t,0),n=y(n,Wn.UTC);let i=e|0;t=t+(e-i)*Yn.SECONDS_PER_DAY,Np(i,t,this),n===Wn.UTC&&BP(this)}Ct.fromGregorianDate=function(e,t){let n=NH(e.year,e.month,e.day,e.hour,e.minute,e.second,e.millisecond);return l(t)?(Np(n[0],n[1],t),BP(t),t):new Ct(n[0],n[1],Wn.UTC)};Ct.fromDate=function(e,t){let n=NH(e.getUTCFullYear(),e.getUTCMonth()+1,e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds());return l(t)?(Np(n[0],n[1],t),BP(t),t):new Ct(n[0],n[1],Wn.UTC)};Ct.fromIso8601=function(e,t){e=e.replace(",",".");let n=e.split("T"),i,o=1,r=1,s=0,a=0,c=0,u=0,f=n[0],d=n[1],p,g;if(n=f.match(NAe),n!==null)i=+n[1],o=+n[2],r=+n[3];else if(n=f.match(MAe),n!==null)i=+n[1],o=+n[2];else if(n=f.match(RAe),n!==null)i=+n[1];else{let A;if(n=f.match(BAe),n!==null)i=+n[1],A=+n[2],g=Lp(i);else if(n=f.match(LAe),n!==null){i=+n[1];let b=+n[2],E=+n[3]||0,S=new Date(Date.UTC(i,0,4));A=b*7+E-S.getUTCDay()-3}p=new Date(Date.UTC(i,0,1)),p.setUTCDate(A),o=p.getUTCMonth()+1,r=p.getUTCDate()}g=Lp(i);let m;if(l(d)){n=d.match(kAe),n!==null?(s=+n[1],a=+n[2],c=+n[3],u=+(n[4]||0)*1e3,m=5):(n=d.match(VAe),n!==null?(s=+n[1],a=+n[2],c=+(n[3]||0)*60,m=4):(n=d.match(FAe),n!==null&&(s=+n[1],a=+(n[2]||0)*60,m=3)));let A=n[m],b=+n[m+1],E=+(n[m+2]||0);switch(A){case"+":s=s-b,a=a-E;break;case"-":s=s+b,a=a+E;break;case"Z":break;default:a=a+new Date(Date.UTC(i,o-1,r,s,a)).getTimezoneOffset();break}}let C=c===60;for(C&&c--;a>=60;)a-=60,s++;for(;s>=24;)s-=24,r++;for(p=g&&o===2?BH:MH[o-1];r>p;)r-=p,o++,o>12&&(o-=12,i++),p=g&&o===2?BH:MH[o-1];for(;a<0;)a+=60,s--;for(;s<0;)s+=24,r--;for(;r<1;)o--,o<1&&(o+=12,i--),p=g&&o===2?BH:MH[o-1],r+=p;let x=NH(i,o,r,s,a,c,u);return l(t)?(Np(x[0],x[1],t),BP(t)):t=new Ct(x[0],x[1],Wn.UTC),C&&Ct.addSeconds(t,1,t),t};Ct.now=function(e){return Ct.fromDate(new Date,e)};var MP=new Ct(0,0,Wn.TAI);Ct.toGregorianDate=function(e,t){let n=!1,i=IX(e,MP);l(i)||(Ct.addSeconds(e,-1,MP),i=IX(MP,MP),n=!0);let o=i.dayNumber,r=i.secondsOfDay;r>=43200&&(o+=1);let s=o+68569|0,a=4*s/146097|0;s=s-((146097*a+3)/4|0)|0;let c=4e3*(s+1)/1461001|0;s=s-(1461*c/4|0)+31|0;let u=80*s/2447|0,f=s-(2447*u/80|0)|0;s=u/11|0;let d=u+2-12*s|0,p=100*(a-49)+c+s|0,g=r/Yn.SECONDS_PER_HOUR|0,m=r-g*Yn.SECONDS_PER_HOUR,C=m/Yn.SECONDS_PER_MINUTE|0;m=m-C*Yn.SECONDS_PER_MINUTE;let x=m|0,A=(m-x)/Yn.SECONDS_PER_MILLISECOND;return g+=12,g>23&&(g-=24),n&&(x+=1),l(t)?(t.year=p,t.month=d,t.day=f,t.hour=g,t.minute=C,t.second=x,t.millisecond=A,t.isLeapSecond=n,t):new Bp(p,d,f,g,C,x,A,n)};Ct.toDate=function(e){let t=Ct.toGregorianDate(e,OX),n=t.second;return t.isLeapSecond&&(n-=1),new Date(Date.UTC(t.year,t.month-1,t.day,t.hour,t.minute,n,t.millisecond))};Ct.toIso8601=function(e,t){let n=Ct.toGregorianDate(e,OX),i=n.year,o=n.month,r=n.day,s=n.hour,a=n.minute,c=n.second,u=n.millisecond;i===1e4&&o===1&&r===1&&s===0&&a===0&&c===0&&u===0&&(i=9999,o=12,r=31,s=24);let f;return!l(t)&&u!==0?(f=(u*.01).toString().replace(".",""),`${i.toString().padStart(4,"0")}-${o.toString().padStart(2,"0")}-${r.toString().padStart(2,"0")}T${s.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}:${c.toString().padStart(2,"0")}.${f}Z`):!l(t)||t===0?`${i.toString().padStart(4,"0")}-${o.toString().padStart(2,"0")}-${r.toString().padStart(2,"0")}T${s.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}:${c.toString().padStart(2,"0")}Z`:(f=(u*.01).toFixed(t).replace(".","").slice(0,t),`${i.toString().padStart(4,"0")}-${o.toString().padStart(2,"0")}-${r.toString().padStart(2,"0")}T${s.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}:${c.toString().padStart(2,"0")}.${f}Z`)};Ct.clone=function(e,t){if(!!l(e))return l(t)?(t.dayNumber=e.dayNumber,t.secondsOfDay=e.secondsOfDay,t):new Ct(e.dayNumber,e.secondsOfDay,Wn.TAI)};Ct.compare=function(e,t){let n=e.dayNumber-t.dayNumber;return n!==0?n:e.secondsOfDay-t.secondsOfDay};Ct.equals=function(e,t){return e===t||l(e)&&l(t)&&e.dayNumber===t.dayNumber&&e.secondsOfDay===t.secondsOfDay};Ct.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(t)&&Math.abs(Ct.secondsDifference(e,t))<=n};Ct.totalDays=function(e){return e.dayNumber+e.secondsOfDay/Yn.SECONDS_PER_DAY};Ct.secondsDifference=function(e,t){return(e.dayNumber-t.dayNumber)*Yn.SECONDS_PER_DAY+(e.secondsOfDay-t.secondsOfDay)};Ct.daysDifference=function(e,t){let n=e.dayNumber-t.dayNumber,i=(e.secondsOfDay-t.secondsOfDay)/Yn.SECONDS_PER_DAY;return n+i};Ct.computeTaiMinusUtc=function(e){ox.julianDate=e;let t=Ct.leapSeconds,n=Yo(t,ox,LH);return n<0&&(n=~n,--n,n<0&&(n=0)),t[n].offset};Ct.addSeconds=function(e,t,n){return Np(e.dayNumber,e.secondsOfDay+t,n)};Ct.addMinutes=function(e,t,n){let i=e.secondsOfDay+t*Yn.SECONDS_PER_MINUTE;return Np(e.dayNumber,i,n)};Ct.addHours=function(e,t,n){let i=e.secondsOfDay+t*Yn.SECONDS_PER_HOUR;return Np(e.dayNumber,i,n)};Ct.addDays=function(e,t,n){let i=e.dayNumber+t;return Np(i,e.secondsOfDay,n)};Ct.lessThan=function(e,t){return Ct.compare(e,t)<0};Ct.lessThanOrEquals=function(e,t){return Ct.compare(e,t)<=0};Ct.greaterThan=function(e,t){return Ct.compare(e,t)>0};Ct.greaterThanOrEquals=function(e,t){return Ct.compare(e,t)>=0};Ct.prototype.clone=function(e){return Ct.clone(this,e)};Ct.prototype.equals=function(e){return Ct.equals(this,e)};Ct.prototype.equalsEpsilon=function(e,t){return Ct.equalsEpsilon(this,e,t)};Ct.prototype.toString=function(){return Ct.toIso8601(this)};Ct.leapSeconds=[new Fi(new Ct(2441317,43210,Wn.TAI),10),new Fi(new Ct(2441499,43211,Wn.TAI),11),new Fi(new Ct(2441683,43212,Wn.TAI),12),new Fi(new Ct(2442048,43213,Wn.TAI),13),new Fi(new Ct(2442413,43214,Wn.TAI),14),new Fi(new Ct(2442778,43215,Wn.TAI),15),new Fi(new Ct(2443144,43216,Wn.TAI),16),new Fi(new Ct(2443509,43217,Wn.TAI),17),new Fi(new Ct(2443874,43218,Wn.TAI),18),new Fi(new Ct(2444239,43219,Wn.TAI),19),new Fi(new Ct(2444786,43220,Wn.TAI),20),new Fi(new Ct(2445151,43221,Wn.TAI),21),new Fi(new Ct(2445516,43222,Wn.TAI),22),new Fi(new Ct(2446247,43223,Wn.TAI),23),new Fi(new Ct(2447161,43224,Wn.TAI),24),new Fi(new Ct(2447892,43225,Wn.TAI),25),new Fi(new Ct(2448257,43226,Wn.TAI),26),new Fi(new Ct(2448804,43227,Wn.TAI),27),new Fi(new Ct(2449169,43228,Wn.TAI),28),new Fi(new Ct(2449534,43229,Wn.TAI),29),new Fi(new Ct(2450083,43230,Wn.TAI),30),new Fi(new Ct(2450630,43231,Wn.TAI),31),new Fi(new Ct(2451179,43232,Wn.TAI),32),new Fi(new Ct(2453736,43233,Wn.TAI),33),new Fi(new Ct(2454832,43234,Wn.TAI),34),new Fi(new Ct(2456109,43235,Wn.TAI),35),new Fi(new Ct(2457204,43236,Wn.TAI),36),new Fi(new Ct(2457754,43237,Wn.TAI),37)];var Q=Ct;function LP(e){if(e=y(e,y.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=y(e.addNewLeapSeconds,!0),l(e.data))VH(this,e.data);else if(l(e.url)){let t=Ie.createIfNeeded(e.url),n=this;this._downloadPromise=t.fetchJson().then(function(i){VH(n,i)}).catch(function(){n._dataError=`An error occurred while retrieving the EOP data from the URL ${t.url}.`})}else VH(this,{columnNames:["dateIso8601","modifiedJulianDateUtc","xPoleWanderRadians","yPoleWanderRadians","ut1MinusUtcSeconds","lengthOfDayCorrectionSeconds","xCelestialPoleOffsetRadians","yCelestialPoleOffsetRadians","taiMinusUtcSeconds"],samples:[]})}LP.NONE=Object.freeze({getPromiseToLoad:function(){return Promise.resolve()},compute:function(e,t){return l(t)?(t.xPoleWander=0,t.yPoleWander=0,t.xPoleOffset=0,t.yPoleOffset=0,t.ut1MinusUtc=0):t=new b0(0,0,0,0,0),t}});LP.prototype.getPromiseToLoad=function(){return Promise.resolve(this._downloadPromise)};LP.prototype.compute=function(e,t){if(!l(this._samples)){if(l(this._dataError))throw new de(this._dataError);return}if(l(t)||(t=new b0(0,0,0,0,0)),this._samples.length===0)return t.xPoleWander=0,t.yPoleWander=0,t.xPoleOffset=0,t.yPoleOffset=0,t.ut1MinusUtc=0,t;let n=this._dates,i=this._lastIndex,o=0,r=0;if(l(i)){let a=n[i],c=n[i+1],u=Q.lessThanOrEquals(a,e),f=!l(c),d=f||Q.greaterThanOrEquals(c,e);if(u&&d)return o=i,!f&&c.equals(e)&&++o,r=o+1,MX(this,n,this._samples,e,o,r,t),t}let s=Yo(n,e,Q.compare,this._dateColumn);return s>=0?(s<n.length-1&&n[s+1].equals(e)&&++s,o=s,r=s):(r=~s,o=r-1,o<0&&(o=0)),this._lastIndex=o,MX(this,n,this._samples,e,o,r,t),t};function UAe(e,t){return Q.compare(e.julianDate,t)}function VH(e,t){if(!l(t.columnNames)){e._dataError="Error in loaded EOP data: The columnNames property is required.";return}if(!l(t.samples)){e._dataError="Error in loaded EOP data: The samples property is required.";return}let n=t.columnNames.indexOf("modifiedJulianDateUtc"),i=t.columnNames.indexOf("xPoleWanderRadians"),o=t.columnNames.indexOf("yPoleWanderRadians"),r=t.columnNames.indexOf("ut1MinusUtcSeconds"),s=t.columnNames.indexOf("xCelestialPoleOffsetRadians"),a=t.columnNames.indexOf("yCelestialPoleOffsetRadians"),c=t.columnNames.indexOf("taiMinusUtcSeconds");if(n<0||i<0||o<0||r<0||s<0||a<0||c<0){e._dataError="Error in loaded EOP data: The columnNames property must include modifiedJulianDateUtc, xPoleWanderRadians, yPoleWanderRadians, ut1MinusUtcSeconds, xCelestialPoleOffsetRadians, yCelestialPoleOffsetRadians, and taiMinusUtcSeconds columns";return}let u=e._samples=t.samples,f=e._dates=[];e._dateColumn=n,e._xPoleWanderRadiansColumn=i,e._yPoleWanderRadiansColumn=o,e._ut1MinusUtcSecondsColumn=r,e._xCelestialPoleOffsetRadiansColumn=s,e._yCelestialPoleOffsetRadiansColumn=a,e._taiMinusUtcSecondsColumn=c,e._columnCount=t.columnNames.length,e._lastIndex=void 0;let d,p=e._addNewLeapSeconds;for(let g=0,m=u.length;g<m;g+=e._columnCount){let C=u[g+n],x=u[g+c],A=C+Yn.MODIFIED_JULIAN_DATE_DIFFERENCE,b=new Q(A,x,Wn.TAI);if(f.push(b),p){if(x!==d&&l(d)){let E=Q.leapSeconds,S=Yo(E,b,UAe);if(S<0){let v=new Fi(b,x);E.splice(~S,0,v)}}d=x}}}function RX(e,t,n,i,o){let r=n*i;o.xPoleWander=t[r+e._xPoleWanderRadiansColumn],o.yPoleWander=t[r+e._yPoleWanderRadiansColumn],o.xPoleOffset=t[r+e._xCelestialPoleOffsetRadiansColumn],o.yPoleOffset=t[r+e._yCelestialPoleOffsetRadiansColumn],o.ut1MinusUtc=t[r+e._ut1MinusUtcSecondsColumn]}function gb(e,t,n){return t+e*(n-t)}function MX(e,t,n,i,o,r,s){let a=e._columnCount;if(r>t.length-1)return s.xPoleWander=0,s.yPoleWander=0,s.xPoleOffset=0,s.yPoleOffset=0,s.ut1MinusUtc=0,s;let c=t[o],u=t[r];if(c.equals(u)||i.equals(c))return RX(e,n,o,a,s),s;if(i.equals(u))return RX(e,n,r,a,s),s;let f=Q.secondsDifference(i,c)/Q.secondsDifference(u,c),d=o*a,p=r*a,g=n[d+e._ut1MinusUtcSecondsColumn],m=n[p+e._ut1MinusUtcSecondsColumn],C=m-g;if(C>.5||C<-.5){let x=n[d+e._taiMinusUtcSecondsColumn],A=n[p+e._taiMinusUtcSecondsColumn];x!==A&&(u.equals(i)?g=m:m-=A-x)}return s.xPoleWander=gb(f,n[d+e._xPoleWanderRadiansColumn],n[p+e._xPoleWanderRadiansColumn]),s.yPoleWander=gb(f,n[d+e._yPoleWanderRadiansColumn],n[p+e._yPoleWanderRadiansColumn]),s.xPoleOffset=gb(f,n[d+e._xCelestialPoleOffsetRadiansColumn],n[p+e._xCelestialPoleOffsetRadiansColumn]),s.yPoleOffset=gb(f,n[d+e._yCelestialPoleOffsetRadiansColumn],n[p+e._yCelestialPoleOffsetRadiansColumn]),s.ut1MinusUtc=gb(f,g,m),s}var NP=LP;function ua(e,t,n){this.heading=y(e,0),this.pitch=y(t,0),this.roll=y(n,0)}ua.fromQuaternion=function(e,t){l(t)||(t=new ua);let n=2*(e.w*e.y-e.z*e.x),i=1-2*(e.x*e.x+e.y*e.y),o=2*(e.w*e.x+e.y*e.z),r=1-2*(e.y*e.y+e.z*e.z),s=2*(e.w*e.z+e.x*e.y);return t.heading=-Math.atan2(s,r),t.roll=Math.atan2(o,i),t.pitch=-I.asinClamped(n),t};ua.fromDegrees=function(e,t,n,i){return l(i)||(i=new ua),i.heading=e*I.RADIANS_PER_DEGREE,i.pitch=t*I.RADIANS_PER_DEGREE,i.roll=n*I.RADIANS_PER_DEGREE,i};ua.clone=function(e,t){if(!!l(e))return l(t)?(t.heading=e.heading,t.pitch=e.pitch,t.roll=e.roll,t):new ua(e.heading,e.pitch,e.roll)};ua.equals=function(e,t){return e===t||l(e)&&l(t)&&e.heading===t.heading&&e.pitch===t.pitch&&e.roll===t.roll};ua.equalsEpsilon=function(e,t,n,i){return e===t||l(e)&&l(t)&&I.equalsEpsilon(e.heading,t.heading,n,i)&&I.equalsEpsilon(e.pitch,t.pitch,n,i)&&I.equalsEpsilon(e.roll,t.roll,n,i)};ua.prototype.clone=function(e){return ua.clone(this,e)};ua.prototype.equals=function(e){return ua.equals(this,e)};ua.prototype.equalsEpsilon=function(e,t,n){return ua.equalsEpsilon(this,e,t,n)};ua.prototype.toString=function(){return`(${this.heading}, ${this.pitch}, ${this.roll})`};var lf=ua;function zAe(e,t,n){this.x=e,this.y=t,this.s=n}var rx=zAe;function zH(e){e=y(e,y.EMPTY_OBJECT),this._xysFileUrlTemplate=Ie.createIfNeeded(e.xysFileUrlTemplate),this._interpolationOrder=y(e.interpolationOrder,9),this._sampleZeroJulianEphemerisDate=y(e.sampleZeroJulianEphemerisDate,24423965e-1),this._sampleZeroDateTT=new Q(this._sampleZeroJulianEphemerisDate,0,Wn.TAI),this._stepSizeDays=y(e.stepSizeDays,1),this._samplesPerXysFile=y(e.samplesPerXysFile,1e3),this._totalSamples=y(e.totalSamples,27426),this._samples=new Array(this._totalSamples*3),this._chunkDownloadsInProgress=[];let t=this._interpolationOrder,n=this._denominators=new Array(t+1),i=this._xTable=new Array(t+1),o=Math.pow(this._stepSizeDays,t);for(let r=0;r<=t;++r){n[r]=o,i[r]=r*this._stepSizeDays;for(let s=0;s<=t;++s)s!==r&&(n[r]*=r-s);n[r]=1/n[r]}this._work=new Array(t+1),this._coef=new Array(t+1)}var HAe=new Q(0,0,Wn.TAI);function kH(e,t,n){let i=HAe;return i.dayNumber=t,i.secondsOfDay=n,Q.daysDifference(i,e._sampleZeroDateTT)}zH.prototype.preload=function(e,t,n,i){let o=kH(this,e,t),r=kH(this,n,i),s=o/this._stepSizeDays-this._interpolationOrder/2|0;s<0&&(s=0);let a=r/this._stepSizeDays-this._interpolationOrder/2|0+this._interpolationOrder;a>=this._totalSamples&&(a=this._totalSamples-1);let c=s/this._samplesPerXysFile|0,u=a/this._samplesPerXysFile|0,f=[];for(let d=c;d<=u;++d)f.push(UH(this,d));return Promise.all(f)};zH.prototype.computeXysRadians=function(e,t,n){let i=kH(this,e,t);if(i<0)return;let o=i/this._stepSizeDays|0;if(o>=this._totalSamples)return;let r=this._interpolationOrder,s=o-(r/2|0);s<0&&(s=0);let a=s+r;a>=this._totalSamples&&(a=this._totalSamples-1,s=a-r,s<0&&(s=0));let c=!1,u=this._samples;if(l(u[s*3])||(UH(this,s/this._samplesPerXysFile|0),c=!0),l(u[a*3])||(UH(this,a/this._samplesPerXysFile|0),c=!0),c)return;l(n)?(n.x=0,n.y=0,n.s=0):n=new rx(0,0,0);let f=i-s*this._stepSizeDays,d=this._work,p=this._denominators,g=this._coef,m=this._xTable,C,x;for(C=0;C<=r;++C)d[C]=f-m[C];for(C=0;C<=r;++C){for(g[C]=1,x=0;x<=r;++x)x!==C&&(g[C]*=d[x]);g[C]*=p[C];let A=(s+C)*3;n.x+=g[C]*u[A++],n.y+=g[C]*u[A++],n.s+=g[C]*u[A]}return n};function UH(e,t){if(e._chunkDownloadsInProgress[t])return e._chunkDownloadsInProgress[t];let n,i=e._xysFileUrlTemplate;l(i)?n=i.getDerivedResource({templateValues:{0:t}}):n=new Ie({url:Zt(`Assets/IAU2006_XYS/IAU2006_XYS_${t}.json`)});let o=n.fetchJson().then(function(r){e._chunkDownloadsInProgress[t]=!1;let s=e._samples,a=r.samples,c=t*e._samplesPerXysFile*3;for(let u=0,f=a.length;u<f;++u)s[c+u]=a[u]});return e._chunkDownloadsInProgress[t]=o,o}var FP=zH;var Fp,fr={requestFullscreen:void 0,exitFullscreen:void 0,fullscreenEnabled:void 0,fullscreenElement:void 0,fullscreenchange:void 0,fullscreenerror:void 0},Ic={};Object.defineProperties(Ic,{element:{get:function(){if(!!Ic.supportsFullscreen())return document[fr.fullscreenElement]}},changeEventName:{get:function(){if(!!Ic.supportsFullscreen())return fr.fullscreenchange}},errorEventName:{get:function(){if(!!Ic.supportsFullscreen())return fr.fullscreenerror}},enabled:{get:function(){if(!!Ic.supportsFullscreen())return document[fr.fullscreenEnabled]}},fullscreen:{get:function(){if(!!Ic.supportsFullscreen())return Ic.element!==null}}});Ic.supportsFullscreen=function(){if(l(Fp))return Fp;Fp=!1;let e=document.body;if(typeof e.requestFullscreen=="function")return fr.requestFullscreen="requestFullscreen",fr.exitFullscreen="exitFullscreen",fr.fullscreenEnabled="fullscreenEnabled",fr.fullscreenElement="fullscreenElement",fr.fullscreenchange="fullscreenchange",fr.fullscreenerror="fullscreenerror",Fp=!0,Fp;let t=["webkit","moz","o","ms","khtml"],n;for(let i=0,o=t.length;i<o;++i){let r=t[i];n=`${r}RequestFullscreen`,typeof e[n]=="function"?(fr.requestFullscreen=n,Fp=!0):(n=`${r}RequestFullScreen`,typeof e[n]=="function"&&(fr.requestFullscreen=n,Fp=!0)),n=`${r}ExitFullscreen`,typeof document[n]=="function"?fr.exitFullscreen=n:(n=`${r}CancelFullScreen`,typeof document[n]=="function"&&(fr.exitFullscreen=n)),n=`${r}FullscreenEnabled`,document[n]!==void 0?fr.fullscreenEnabled=n:(n=`${r}FullScreenEnabled`,document[n]!==void 0&&(fr.fullscreenEnabled=n)),n=`${r}FullscreenElement`,document[n]!==void 0?fr.fullscreenElement=n:(n=`${r}FullScreenElement`,document[n]!==void 0&&(fr.fullscreenElement=n)),n=`${r}fullscreenchange`,document[`on${n}`]!==void 0&&(r==="ms"&&(n="MSFullscreenChange"),fr.fullscreenchange=n),n=`${r}fullscreenerror`,document[`on${n}`]!==void 0&&(r==="ms"&&(n="MSFullscreenError"),fr.fullscreenerror=n)}return Fp};Ic.requestFullscreen=function(e,t){!Ic.supportsFullscreen()||e[fr.requestFullscreen]({vrDisplay:t})};Ic.exitFullscreen=function(){!Ic.supportsFullscreen()||document[fr.exitFullscreen]()};Ic._names=fr;var dr=Ic;var fa;typeof navigator<"u"?fa=navigator:fa={};function S0(e){let t=e.split(".");for(let n=0,i=t.length;n<i;++n)t[n]=parseInt(t[n],10);return t}var VP,BX;function YH(){if(!l(VP)&&(VP=!1,!WP())){let e=/ Chrome\/([\.0-9]+)/.exec(fa.userAgent);e!==null&&(VP=!0,BX=S0(e[1]))}return VP}function GAe(){return YH()&&BX}var kP,LX;function NX(){if(!l(kP)&&(kP=!1,!YH()&&!WP()&&/ Safari\/[\.0-9]+/.test(fa.userAgent))){let e=/ Version\/([\.0-9]+)/.exec(fa.userAgent);e!==null&&(kP=!0,LX=S0(e[1]))}return kP}function WAe(){return NX()&&LX}var UP,jH;function FX(){if(!l(UP)){UP=!1;let e=/ AppleWebKit\/([\.0-9]+)(\+?)/.exec(fa.userAgent);e!==null&&(UP=!0,jH=S0(e[1]),jH.isNightly=!!e[2])}return UP}function jAe(){return FX()&&jH}var yb,qH;function VX(){if(!l(yb)){yb=!1;let e;fa.appName==="Microsoft Internet Explorer"?(e=/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(fa.userAgent),e!==null&&(yb=!0,qH=S0(e[1]))):fa.appName==="Netscape"&&(e=/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(fa.userAgent),e!==null&&(yb=!0,qH=S0(e[1])))}return yb}function qAe(){return VX()&&qH}var zP,kX;function WP(){if(!l(zP)){zP=!1;let e=/ Edg\/([\.0-9]+)/.exec(fa.userAgent);e!==null&&(zP=!0,kX=S0(e[1]))}return zP}function YAe(){return WP()&&kX}var HP,UX;function XH(){if(!l(HP)){HP=!1;let e=/Firefox\/([\.0-9]+)/.exec(fa.userAgent);e!==null&&(HP=!0,UX=S0(e[1]))}return HP}var HH;function XAe(){return l(HH)||(HH=/Windows/i.test(fa.appVersion)),HH}var GH;function KAe(){return l(GH)||(GH=navigator.platform==="iPhone"||navigator.platform==="iPod"||navigator.platform==="iPad"),GH}function ZAe(){return XH()&&UX}var WH;function $Ae(){return l(WH)||(WH=!XH()&&typeof PointerEvent<"u"&&(!l(fa.pointerEnabled)||fa.pointerEnabled)),WH}var zX,GP;function HX(){if(!l(GP)){let e=document.createElement("canvas");e.setAttribute("style","image-rendering: -moz-crisp-edges;image-rendering: pixelated;");let t=e.style.imageRendering;GP=l(t)&&t!=="",GP&&(zX=t)}return GP}function JAe(){return HX()?zX:void 0}function Xa(){return Xa._result}Xa._promise=void 0;Xa._result=void 0;Xa.initialize=function(){return l(Xa._promise)||(Xa._promise=new Promise(e=>{let t=new Image;t.onload=function(){Xa._result=t.width>0&&t.height>0,e(Xa._result)},t.onerror=function(){Xa._result=!1,e(Xa._result)},t.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA"})),Xa._promise};Object.defineProperties(Xa,{initialized:{get:function(){return l(Xa._result)}}});var sx=[];typeof ArrayBuffer<"u"&&(sx.push(Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array),typeof Uint8ClampedArray<"u"&&sx.push(Uint8ClampedArray),typeof Uint8ClampedArray<"u"&&sx.push(Uint8ClampedArray),typeof BigInt64Array<"u"&&sx.push(BigInt64Array),typeof BigUint64Array<"u"&&sx.push(BigUint64Array));var vd={isChrome:YH,chromeVersion:GAe,isSafari:NX,safariVersion:WAe,isWebkit:FX,webkitVersion:jAe,isInternetExplorer:VX,internetExplorerVersion:qAe,isEdge:WP,edgeVersion:YAe,isFirefox:XH,firefoxVersion:ZAe,isWindows:XAe,isIPadOrIOS:KAe,hardwareConcurrency:y(fa.hardwareConcurrency,3),supportsPointerEvents:$Ae,supportsImageRenderingPixelated:HX,supportsWebP:Xa,imageRenderingValue:JAe,typedArrayTypes:sx};vd.supportsBasis=function(e){return vd.supportsWebAssembly()&&e.context.supportsBasis};vd.supportsFullscreen=function(){return dr.supportsFullscreen()};vd.supportsTypedArrays=function(){return typeof ArrayBuffer<"u"};vd.supportsBigInt64Array=function(){return typeof BigInt64Array<"u"};vd.supportsBigUint64Array=function(){return typeof BigUint64Array<"u"};vd.supportsBigInt=function(){return typeof BigInt<"u"};vd.supportsWebWorkers=function(){return typeof Worker<"u"};vd.supportsWebAssembly=function(){return typeof WebAssembly<"u"};var Mt=vd;function Ze(e,t,n,i){this.x=y(e,0),this.y=y(t,0),this.z=y(n,0),this.w=y(i,0)}var Cb=new h;Ze.fromAxisAngle=function(e,t,n){let i=t/2,o=Math.sin(i);Cb=h.normalize(e,Cb);let r=Cb.x*o,s=Cb.y*o,a=Cb.z*o,c=Math.cos(i);return l(n)?(n.x=r,n.y=s,n.z=a,n.w=c,n):new Ze(r,s,a,c)};var QAe=[1,2,0],eTe=new Array(3);Ze.fromRotationMatrix=function(e,t){let n,i,o,r,s,a=e[J.COLUMN0ROW0],c=e[J.COLUMN1ROW1],u=e[J.COLUMN2ROW2],f=a+c+u;if(f>0)n=Math.sqrt(f+1),s=.5*n,n=.5/n,i=(e[J.COLUMN1ROW2]-e[J.COLUMN2ROW1])*n,o=(e[J.COLUMN2ROW0]-e[J.COLUMN0ROW2])*n,r=(e[J.COLUMN0ROW1]-e[J.COLUMN1ROW0])*n;else{let d=QAe,p=0;c>a&&(p=1),u>a&&u>c&&(p=2);let g=d[p],m=d[g];n=Math.sqrt(e[J.getElementIndex(p,p)]-e[J.getElementIndex(g,g)]-e[J.getElementIndex(m,m)]+1);let C=eTe;C[p]=.5*n,n=.5/n,s=(e[J.getElementIndex(m,g)]-e[J.getElementIndex(g,m)])*n,C[g]=(e[J.getElementIndex(g,p)]+e[J.getElementIndex(p,g)])*n,C[m]=(e[J.getElementIndex(m,p)]+e[J.getElementIndex(p,m)])*n,i=-C[0],o=-C[1],r=-C[2]}return l(t)?(t.x=i,t.y=o,t.z=r,t.w=s,t):new Ze(i,o,r,s)};var GX=new Ze,WX=new Ze,KH=new Ze,jX=new Ze;Ze.fromHeadingPitchRoll=function(e,t){return jX=Ze.fromAxisAngle(h.UNIT_X,e.roll,GX),KH=Ze.fromAxisAngle(h.UNIT_Y,-e.pitch,t),t=Ze.multiply(KH,jX,KH),WX=Ze.fromAxisAngle(h.UNIT_Z,-e.heading,GX),Ze.multiply(WX,t,t)};var jP=new h,ZH=new h,uf=new Ze,qX=new Ze,qP=new Ze;Ze.packedLength=4;Ze.pack=function(e,t,n){return n=y(n,0),t[n++]=e.x,t[n++]=e.y,t[n++]=e.z,t[n]=e.w,t};Ze.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new Ze),n.x=e[t],n.y=e[t+1],n.z=e[t+2],n.w=e[t+3],n};Ze.packedInterpolationLength=3;Ze.convertPackedArrayForInterpolation=function(e,t,n,i){Ze.unpack(e,n*4,qP),Ze.conjugate(qP,qP);for(let o=0,r=n-t+1;o<r;o++){let s=o*3;Ze.unpack(e,(t+o)*4,uf),Ze.multiply(uf,qP,uf),uf.w<0&&Ze.negate(uf,uf),Ze.computeAxis(uf,jP);let a=Ze.computeAngle(uf);l(i)||(i=[]),i[s]=jP.x*a,i[s+1]=jP.y*a,i[s+2]=jP.z*a}};Ze.unpackInterpolationResult=function(e,t,n,i,o){l(o)||(o=new Ze),h.fromArray(e,0,ZH);let r=h.magnitude(ZH);return Ze.unpack(t,i*4,qX),r===0?Ze.clone(Ze.IDENTITY,uf):Ze.fromAxisAngle(ZH,r,uf),Ze.multiply(uf,qX,o)};Ze.clone=function(e,t){if(!!l(e))return l(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t):new Ze(e.x,e.y,e.z,e.w)};Ze.conjugate=function(e,t){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=e.w,t};Ze.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w};Ze.magnitude=function(e){return Math.sqrt(Ze.magnitudeSquared(e))};Ze.normalize=function(e,t){let n=1/Ze.magnitude(e),i=e.x*n,o=e.y*n,r=e.z*n,s=e.w*n;return t.x=i,t.y=o,t.z=r,t.w=s,t};Ze.inverse=function(e,t){let n=Ze.magnitudeSquared(e);return t=Ze.conjugate(e,t),Ze.multiplyByScalar(t,1/n,t)};Ze.add=function(e,t,n){return 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};Ze.subtract=function(e,t,n){return 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};Ze.negate=function(e,t){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t};Ze.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w};Ze.multiply=function(e,t,n){let i=e.x,o=e.y,r=e.z,s=e.w,a=t.x,c=t.y,u=t.z,f=t.w,d=s*a+i*f+o*u-r*c,p=s*c-i*u+o*f+r*a,g=s*u+i*c-o*a+r*f,m=s*f-i*a-o*c-r*u;return n.x=d,n.y=p,n.z=g,n.w=m,n};Ze.multiplyByScalar=function(e,t,n){return n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n.w=e.w*t,n};Ze.divideByScalar=function(e,t,n){return n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n.w=e.w/t,n};Ze.computeAxis=function(e,t){let n=e.w;if(Math.abs(n-1)<I.EPSILON6)return t.x=t.y=t.z=0,t;let i=1/Math.sqrt(1-n*n);return t.x=e.x*i,t.y=e.y*i,t.z=e.z*i,t};Ze.computeAngle=function(e){return Math.abs(e.w-1)<I.EPSILON6?0:2*Math.acos(e.w)};var $H=new Ze;Ze.lerp=function(e,t,n,i){return $H=Ze.multiplyByScalar(t,n,$H),i=Ze.multiplyByScalar(e,1-n,i),Ze.add($H,i,i)};var YX=new Ze,JH=new Ze,QH=new Ze;Ze.slerp=function(e,t,n,i){let o=Ze.dot(e,t),r=t;if(o<0&&(o=-o,r=YX=Ze.negate(t,YX)),1-o<I.EPSILON6)return Ze.lerp(e,r,n,i);let s=Math.acos(o);return JH=Ze.multiplyByScalar(e,Math.sin((1-n)*s),JH),QH=Ze.multiplyByScalar(r,Math.sin(n*s),QH),i=Ze.add(JH,QH,i),Ze.multiplyByScalar(i,1/Math.sin(s),i)};Ze.log=function(e,t){let n=I.acosClamped(e.w),i=0;return n!==0&&(i=n/Math.sin(n)),h.multiplyByScalar(e,i,t)};Ze.exp=function(e,t){let n=h.magnitude(e),i=0;return n!==0&&(i=Math.sin(n)/n),t.x=e.x*i,t.y=e.y*i,t.z=e.z*i,t.w=Math.cos(n),t};var tTe=new h,nTe=new h,xb=new Ze,ax=new Ze;Ze.computeInnerQuadrangle=function(e,t,n,i){let o=Ze.conjugate(t,xb);Ze.multiply(o,n,ax);let r=Ze.log(ax,tTe);Ze.multiply(o,e,ax);let s=Ze.log(ax,nTe);return h.add(r,s,r),h.multiplyByScalar(r,.25,r),h.negate(r,r),Ze.exp(r,xb),Ze.multiply(t,xb,i)};Ze.squad=function(e,t,n,i,o,r){let s=Ze.slerp(e,t,o,xb),a=Ze.slerp(n,i,o,ax);return Ze.slerp(s,a,2*o*(1-o),r)};var iTe=new Ze,XX=1.9011074535173003,YP=Mt.supportsTypedArrays()?new Float32Array(8):[],XP=Mt.supportsTypedArrays()?new Float32Array(8):[],em=Mt.supportsTypedArrays()?new Float32Array(8):[],tm=Mt.supportsTypedArrays()?new Float32Array(8):[];for(let e=0;e<7;++e){let t=e+1,n=2*t+1;YP[e]=1/(t*n),XP[e]=t/n}YP[7]=XX/(8*17);XP[7]=XX*8/17;Ze.fastSlerp=function(e,t,n,i){let o=Ze.dot(e,t),r;o>=0?r=1:(r=-1,o=-o);let s=o-1,a=1-n,c=n*n,u=a*a;for(let g=7;g>=0;--g)em[g]=(YP[g]*c-XP[g])*s,tm[g]=(YP[g]*u-XP[g])*s;let f=r*n*(1+em[0]*(1+em[1]*(1+em[2]*(1+em[3]*(1+em[4]*(1+em[5]*(1+em[6]*(1+em[7])))))))),d=a*(1+tm[0]*(1+tm[1]*(1+tm[2]*(1+tm[3]*(1+tm[4]*(1+tm[5]*(1+tm[6]*(1+tm[7])))))))),p=Ze.multiplyByScalar(e,d,iTe);return Ze.multiplyByScalar(t,f,i),Ze.add(p,i,i)};Ze.fastSquad=function(e,t,n,i,o,r){let s=Ze.fastSlerp(e,t,o,xb),a=Ze.fastSlerp(n,i,o,ax);return Ze.fastSlerp(s,a,2*o*(1-o),r)};Ze.equals=function(e,t){return e===t||l(e)&&l(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w};Ze.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(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};Ze.ZERO=Object.freeze(new Ze(0,0,0,0));Ze.IDENTITY=Object.freeze(new Ze(0,0,0,1));Ze.prototype.clone=function(e){return Ze.clone(this,e)};Ze.prototype.equals=function(e){return Ze.equals(this,e)};Ze.prototype.equalsEpsilon=function(e,t){return Ze.equalsEpsilon(this,e,t)};Ze.prototype.toString=function(){return`(${this.x}, ${this.y}, ${this.z}, ${this.w})`};var Oe=Ze;var Mi={},e5={up:{south:"east",north:"west",west:"south",east:"north"},down:{south:"west",north:"east",west:"north",east:"south"},south:{up:"west",down:"east",west:"down",east:"up"},north:{up:"east",down:"west",west:"up",east:"down"},west:{up:"north",down:"south",north:"down",south:"up"},east:{up:"south",down:"north",north:"up",south:"down"}},cx={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},t5={},Oc={east:new h,north:new h,up:new h,west:new h,south:new h,down:new h},Vp=new h,kp=new h,Up=new h;Mi.localFrameToFixedFrameGenerator=function(e,t){if(!e5.hasOwnProperty(e)||!e5[e].hasOwnProperty(t))throw new ye("firstAxis and secondAxis must be east, north, up, west, south or down.");let n=e5[e][t],i,o=e+t;return l(t5[o])?i=t5[o]:(i=function(r,s,a){if(l(a)||(a=new N),h.equalsEpsilon(r,h.ZERO,I.EPSILON14))h.unpack(cx[e],0,Vp),h.unpack(cx[t],0,kp),h.unpack(cx[n],0,Up);else if(I.equalsEpsilon(r.x,0,I.EPSILON14)&&I.equalsEpsilon(r.y,0,I.EPSILON14)){let c=I.sign(r.z);h.unpack(cx[e],0,Vp),e!=="east"&&e!=="west"&&h.multiplyByScalar(Vp,c,Vp),h.unpack(cx[t],0,kp),t!=="east"&&t!=="west"&&h.multiplyByScalar(kp,c,kp),h.unpack(cx[n],0,Up),n!=="east"&&n!=="west"&&h.multiplyByScalar(Up,c,Up)}else{s=y(s,oe.WGS84),s.geodeticSurfaceNormal(r,Oc.up);let c=Oc.up,u=Oc.east;u.x=-r.y,u.y=r.x,u.z=0,h.normalize(u,Oc.east),h.cross(c,u,Oc.north),h.multiplyByScalar(Oc.up,-1,Oc.down),h.multiplyByScalar(Oc.east,-1,Oc.west),h.multiplyByScalar(Oc.north,-1,Oc.south),Vp=Oc[e],kp=Oc[t],Up=Oc[n]}return a[0]=Vp.x,a[1]=Vp.y,a[2]=Vp.z,a[3]=0,a[4]=kp.x,a[5]=kp.y,a[6]=kp.z,a[7]=0,a[8]=Up.x,a[9]=Up.y,a[10]=Up.z,a[11]=0,a[12]=r.x,a[13]=r.y,a[14]=r.z,a[15]=1,a},t5[o]=i),i};Mi.eastNorthUpToFixedFrame=Mi.localFrameToFixedFrameGenerator("east","north");Mi.northEastDownToFixedFrame=Mi.localFrameToFixedFrameGenerator("north","east");Mi.northUpEastToFixedFrame=Mi.localFrameToFixedFrameGenerator("north","up");Mi.northWestUpToFixedFrame=Mi.localFrameToFixedFrameGenerator("north","west");var oTe=new Oe,rTe=new h(1,1,1),sTe=new N;Mi.headingPitchRollToFixedFrame=function(e,t,n,i,o){i=y(i,Mi.eastNorthUpToFixedFrame);let r=Oe.fromHeadingPitchRoll(t,oTe),s=N.fromTranslationQuaternionRotationScale(h.ZERO,r,rTe,sTe);return o=i(e,n,o),N.multiply(o,s,o)};var aTe=new N,cTe=new J;Mi.headingPitchRollQuaternion=function(e,t,n,i,o){let r=Mi.headingPitchRollToFixedFrame(e,t,n,i,aTe),s=N.getMatrix3(r,cTe);return Oe.fromRotationMatrix(s,o)};var lTe=new h(1,1,1),uTe=new h,KX=new N,fTe=new N,dTe=new J,hTe=new Oe;Mi.fixedFrameToHeadingPitchRoll=function(e,t,n,i){t=y(t,oe.WGS84),n=y(n,Mi.eastNorthUpToFixedFrame),l(i)||(i=new lf);let o=N.getTranslation(e,uTe);if(h.equals(o,h.ZERO))return i.heading=0,i.pitch=0,i.roll=0,i;let r=N.inverseTransformation(n(o,t,KX),KX),s=N.setScale(e,lTe,fTe);s=N.setTranslation(s,h.ZERO,s),r=N.multiply(r,s,r);let a=Oe.fromRotationMatrix(N.getMatrix3(r,dTe),hTe);return a=Oe.normalize(a,a),lf.fromQuaternion(a,i)};var mTe=6*3600+41*60+50.54841,pTe=8640184812866e-6,_Te=.093104,gTe=-62e-7,yTe=11772758384668e-32,CTe=72921158553e-15,xTe=I.TWO_PI/86400,KP=new Q;Mi.computeTemeToPseudoFixedMatrix=function(e,t){KP=Q.addSeconds(e,-Q.computeTaiMinusUtc(e),KP);let n=KP.dayNumber,i=KP.secondsOfDay,o,r=n-2451545;i>=43200?o=(r+.5)/Yn.DAYS_PER_JULIAN_CENTURY:o=(r-.5)/Yn.DAYS_PER_JULIAN_CENTURY;let a=(mTe+o*(pTe+o*(_Te+o*gTe)))*xTe%I.TWO_PI,c=CTe+yTe*(n-24515455e-1),u=(i+Yn.SECONDS_PER_DAY*.5)%Yn.SECONDS_PER_DAY,f=a+c*u,d=Math.cos(f),p=Math.sin(f);return l(t)?(t[0]=d,t[1]=-p,t[2]=0,t[3]=p,t[4]=d,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t):new J(d,p,0,-p,d,0,0,0,1)};Mi.iau2006XysData=new FP;Mi.earthOrientationParameters=NP.NONE;var o5=32.184,ATe=2451545;Mi.preloadIcrfFixed=function(e){let t=e.start.dayNumber,n=e.start.secondsOfDay+o5,i=e.stop.dayNumber,o=e.stop.secondsOfDay+o5,r=Mi.iau2006XysData.preload(t,n,i,o),s=Mi.earthOrientationParameters.getPromiseToLoad();return Promise.all([r,s])};Mi.computeIcrfToFixedMatrix=function(e,t){l(t)||(t=new J);let n=Mi.computeFixedToIcrfMatrix(e,t);if(!!l(n))return J.transpose(n,t)};var TTe=new rx(0,0,0),ETe=new b0(0,0,0,0,0,0),n5=new J,i5=new J;Mi.computeFixedToIcrfMatrix=function(e,t){l(t)||(t=new J);let n=Mi.earthOrientationParameters.compute(e,ETe);if(!l(n))return;let i=e.dayNumber,o=e.secondsOfDay+o5,r=Mi.iau2006XysData.computeXysRadians(i,o,TTe);if(!l(r))return;let s=r.x+n.xPoleOffset,a=r.y+n.yPoleOffset,c=1/(1+Math.sqrt(1-s*s-a*a)),u=n5;u[0]=1-c*s*s,u[3]=-c*s*a,u[6]=s,u[1]=-c*s*a,u[4]=1-c*a*a,u[7]=a,u[2]=-s,u[5]=-a,u[8]=1-c*(s*s+a*a);let f=J.fromRotationZ(-r.s,i5),d=J.multiply(u,f,n5),p=e.dayNumber,g=e.secondsOfDay-Q.computeTaiMinusUtc(e)+n.ut1MinusUtc,m=p-2451545,C=g/Yn.SECONDS_PER_DAY,x=.779057273264+C+.00273781191135448*(m+C);x=x%1*I.TWO_PI;let A=J.fromRotationZ(x,i5),b=J.multiply(d,A,n5),E=Math.cos(n.xPoleWander),S=Math.cos(n.yPoleWander),v=Math.sin(n.xPoleWander),P=Math.sin(n.yPoleWander),O=i-ATe+o/Yn.SECONDS_PER_DAY;O/=36525;let M=-47e-6*O*I.RADIANS_PER_DEGREE/3600,B=Math.cos(M),L=Math.sin(M),_=i5;return _[0]=E*B,_[1]=E*L,_[2]=v,_[3]=-S*L+P*v*B,_[4]=S*B+P*v*L,_[5]=-P*E,_[6]=-P*L-S*v*B,_[7]=P*B-S*v*L,_[8]=S*E,J.multiply(b,_,t)};var bTe=new se;Mi.pointToWindowCoordinates=function(e,t,n,i){return i=Mi.pointToGLWindowCoordinates(e,t,n,i),i.y=2*t[5]-i.y,i};Mi.pointToGLWindowCoordinates=function(e,t,n,i){l(i)||(i=new G);let o=bTe;return N.multiplyByVector(e,se.fromElements(n.x,n.y,n.z,1,o),o),se.multiplyByScalar(o,1/o.w,o),N.multiplyByVector(t,o,o),G.fromCartesian4(o,i)};var STe=new h,wTe=new h,vTe=new h;Mi.rotationMatrixFromPositionVelocity=function(e,t,n,i){let o=y(n,oe.WGS84).geodeticSurfaceNormal(e,STe),r=h.cross(t,o,wTe);h.equalsEpsilon(r,h.ZERO,I.EPSILON6)&&(r=h.clone(h.UNIT_X,r));let s=h.cross(r,t,vTe);return h.normalize(s,s),h.cross(t,s,r),h.negate(r,r),h.normalize(r,r),l(i)||(i=new J),i[0]=t.x,i[1]=t.y,i[2]=t.z,i[3]=r.x,i[4]=r.y,i[5]=r.z,i[6]=s.x,i[7]=s.y,i[8]=s.z,i};var ZX=new N(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1),$X=new he,JX=new h,DTe=new h,PTe=new J,r5=new N,QX=new N;Mi.basisTo2D=function(e,t,n){let i=N.getTranslation(t,DTe),o=e.ellipsoid,r=o.cartesianToCartographic(i,$X),s=e.project(r,JX);h.fromElements(s.z,s.x,s.y,s);let a=Mi.eastNorthUpToFixedFrame(i,o,r5),c=N.inverseTransformation(a,QX),u=N.getMatrix3(t,PTe),f=N.multiplyByMatrix3(c,u,n);return N.multiply(ZX,f,n),N.setTranslation(n,s,n),n};Mi.wgs84To2DModelMatrix=function(e,t,n){let i=e.ellipsoid,o=Mi.eastNorthUpToFixedFrame(t,i,r5),r=N.inverseTransformation(o,QX),s=i.cartesianToCartographic(t,$X),a=e.project(s,JX);h.fromElements(a.z,a.x,a.y,a);let c=N.fromTranslation(a,r5);return N.multiply(ZX,r,n),N.multiply(c,n,n),n};var Dt=Mi;var s5=new se;function Dd(e,t){t=y(t,oe.WGS84),e=t.scaleToGeodeticSurface(e);let n=Dt.eastNorthUpToFixedFrame(e,t);this._ellipsoid=t,this._origin=e,this._xAxis=h.fromCartesian4(N.getColumn(n,0,s5)),this._yAxis=h.fromCartesian4(N.getColumn(n,1,s5));let i=h.fromCartesian4(N.getColumn(n,2,s5));this._plane=en.fromPointNormal(e,i)}Object.defineProperties(Dd.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},origin:{get:function(){return this._origin}},plane:{get:function(){return this._plane}},xAxis:{get:function(){return this._xAxis}},yAxis:{get:function(){return this._yAxis}},zAxis:{get:function(){return this._plane.normal}}});var ITe=new T0;Dd.fromPoints=function(e,t){let n=T0.fromPoints(e,ITe);return new Dd(n.center,t)};var eK=new Tn,ZP=new h;Dd.prototype.projectPointOntoPlane=function(e,t){let n=eK;n.origin=e,h.normalize(e,n.direction);let i=Gi.rayPlane(n,this._plane,ZP);if(l(i)||(h.negate(n.direction,n.direction),i=Gi.rayPlane(n,this._plane,ZP)),l(i)){let o=h.subtract(i,this._origin,i),r=h.dot(this._xAxis,o),s=h.dot(this._yAxis,o);return l(t)?(t.x=r,t.y=s,t):new G(r,s)}};Dd.prototype.projectPointsOntoPlane=function(e,t){l(t)||(t=[]);let n=0,i=e.length;for(let o=0;o<i;o++){let r=this.projectPointOntoPlane(e[o],t[n]);l(r)&&(t[n]=r,n++)}return t.length=n,t};Dd.prototype.projectPointToNearestOnPlane=function(e,t){l(t)||(t=new G);let n=eK;n.origin=e,h.clone(this._plane.normal,n.direction);let i=Gi.rayPlane(n,this._plane,ZP);l(i)||(h.negate(n.direction,n.direction),i=Gi.rayPlane(n,this._plane,ZP));let o=h.subtract(i,this._origin,i),r=h.dot(this._xAxis,o),s=h.dot(this._yAxis,o);return t.x=r,t.y=s,t};Dd.prototype.projectPointsToNearestOnPlane=function(e,t){l(t)||(t=[]);let n=e.length;t.length=n;for(let i=0;i<n;i++)t[i]=this.projectPointToNearestOnPlane(e[i],t[i]);return t};var OTe=new h;Dd.prototype.projectPointOntoEllipsoid=function(e,t){l(t)||(t=new h);let n=this._ellipsoid,i=this._origin,o=this._xAxis,r=this._yAxis,s=OTe;return h.multiplyByScalar(o,e.x,s),t=h.add(i,s,t),h.multiplyByScalar(r,e.y,s),h.add(t,s,t),n.scaleToGeocentricSurface(t,t),t};Dd.prototype.projectPointsOntoEllipsoid=function(e,t){let n=e.length;l(t)?t.length=n:t=new Array(n);for(let i=0;i<n;++i)t[i]=this.projectPointOntoEllipsoid(e[i],t[i]);return t};var da=Dd;function Ai(e,t){this.center=h.clone(y(e,h.ZERO)),this.halfAxes=J.clone(y(t,J.ZERO))}Ai.packedLength=h.packedLength+J.packedLength;Ai.pack=function(e,t,n){return n=y(n,0),h.pack(e.center,t,n),J.pack(e.halfAxes,t,n+h.packedLength),t};Ai.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new Ai),h.unpack(e,t,n.center),J.unpack(e,t+h.packedLength,n.halfAxes),n};var RTe=new h,MTe=new h,BTe=new h,LTe=new h,NTe=new h,FTe=new h,VTe=new J,kTe={unitary:new J,diagonal:new J};Ai.fromPoints=function(e,t){if(l(t)||(t=new Ai),!l(e)||e.length===0)return t.halfAxes=J.ZERO,t.center=h.ZERO,t;let n,i=e.length,o=h.clone(e[0],RTe);for(n=1;n<i;n++)h.add(o,e[n],o);let r=1/i;h.multiplyByScalar(o,r,o);let s=0,a=0,c=0,u=0,f=0,d=0,p;for(n=0;n<i;n++)p=h.subtract(e[n],o,MTe),s+=p.x*p.x,a+=p.x*p.y,c+=p.x*p.z,u+=p.y*p.y,f+=p.y*p.z,d+=p.z*p.z;s*=r,a*=r,c*=r,u*=r,f*=r,d*=r;let g=VTe;g[0]=s,g[1]=a,g[2]=c,g[3]=a,g[4]=u,g[5]=f,g[6]=c,g[7]=f,g[8]=d;let m=J.computeEigenDecomposition(g,kTe),C=J.clone(m.unitary,t.halfAxes),x=J.getColumn(C,0,LTe),A=J.getColumn(C,1,NTe),b=J.getColumn(C,2,FTe),E=-Number.MAX_VALUE,S=-Number.MAX_VALUE,v=-Number.MAX_VALUE,P=Number.MAX_VALUE,O=Number.MAX_VALUE,M=Number.MAX_VALUE;for(n=0;n<i;n++)p=e[n],E=Math.max(h.dot(x,p),E),S=Math.max(h.dot(A,p),S),v=Math.max(h.dot(b,p),v),P=Math.min(h.dot(x,p),P),O=Math.min(h.dot(A,p),O),M=Math.min(h.dot(b,p),M);x=h.multiplyByScalar(x,.5*(P+E),x),A=h.multiplyByScalar(A,.5*(O+S),A),b=h.multiplyByScalar(b,.5*(M+v),b);let B=h.add(x,A,t.center);h.add(B,b,B);let L=BTe;return L.x=E-P,L.y=S-O,L.z=v-M,h.multiplyByScalar(L,.5,L),J.multiplyByScale(t.halfAxes,L,t.halfAxes),t};var sK=new h,UTe=new h;function tK(e,t,n,i,o,r,s,a,c,u,f){l(f)||(f=new Ai);let d=f.halfAxes;J.setColumn(d,0,t,d),J.setColumn(d,1,n,d),J.setColumn(d,2,i,d);let p=sK;p.x=(o+r)/2,p.y=(s+a)/2,p.z=(c+u)/2;let g=UTe;g.x=(r-o)/2,g.y=(a-s)/2,g.z=(u-c)/2;let m=f.center;return p=J.multiplyByVector(d,p,p),h.add(e,p,m),J.multiplyByScale(d,g,d),f}var nK=new he,zTe=new h,HTe=new he,GTe=new he,WTe=new he,jTe=new he,qTe=new he,YTe=new h,iK=new h,XTe=new h,oK=new h,KTe=new h,ZTe=new G,$Te=new G,JTe=new G,QTe=new G,eEe=new G,tEe=new h,nEe=new h,iEe=new h,oEe=new h,rEe=new G,sEe=new h,aEe=new h,cEe=new h,lEe=new en(h.UNIT_X,0);Ai.fromRectangle=function(e,t,n,i,o){t=y(t,0),n=y(n,0),i=y(i,oe.WGS84);let r,s,a,c,u,f,d;if(e.width<=I.PI){let O=ue.center(e,nK),M=i.cartographicToCartesian(O,zTe),B=new da(M,i);d=B.plane;let L=O.longitude,_=e.south<0&&e.north>0?0:O.latitude,T=he.fromRadians(L,e.north,n,HTe),w=he.fromRadians(e.west,e.north,n,GTe),D=he.fromRadians(e.west,_,n,WTe),R=he.fromRadians(e.west,e.south,n,jTe),F=he.fromRadians(L,e.south,n,qTe),z=i.cartographicToCartesian(T,YTe),k=i.cartographicToCartesian(w,iK),H=i.cartographicToCartesian(D,XTe),V=i.cartographicToCartesian(R,oK),Y=i.cartographicToCartesian(F,KTe),q=B.projectPointToNearestOnPlane(z,ZTe),X=B.projectPointToNearestOnPlane(k,$Te),W=B.projectPointToNearestOnPlane(H,JTe),K=B.projectPointToNearestOnPlane(V,QTe),$=B.projectPointToNearestOnPlane(Y,eEe);return r=Math.min(X.x,W.x,K.x),s=-r,c=Math.max(X.y,q.y),a=Math.min(K.y,$.y),w.height=R.height=t,k=i.cartographicToCartesian(w,iK),V=i.cartographicToCartesian(R,oK),u=Math.min(en.getPointDistance(d,k),en.getPointDistance(d,V)),f=n,tK(B.origin,B.xAxis,B.yAxis,B.zAxis,r,s,a,c,u,f,o)}let p=e.south>0,g=e.north<0,m=p?e.south:g?e.north:0,C=ue.center(e,nK).longitude,x=h.fromRadians(C,m,n,i,tEe);x.z=0;let b=Math.abs(x.x)<I.EPSILON10&&Math.abs(x.y)<I.EPSILON10?h.UNIT_X:h.normalize(x,nEe),E=h.UNIT_Z,S=h.cross(b,E,iEe);d=en.fromPointNormal(x,b,lEe);let v=h.fromRadians(C+I.PI_OVER_TWO,m,n,i,oEe);s=h.dot(en.projectPointOntoPlane(d,v,rEe),S),r=-s,c=h.fromRadians(0,e.north,g?t:n,i,sEe).z,a=h.fromRadians(0,e.south,p?t:n,i,aEe).z;let P=h.fromRadians(e.east,m,n,i,cEe);return u=en.getPointDistance(d,P),f=0,tK(x,S,E,b,r,s,a,c,u,f,o)};Ai.fromTransformation=function(e,t){return l(t)||(t=new Ai),t.center=N.getTranslation(e,t.center),t.halfAxes=N.getMatrix3(e,t.halfAxes),t.halfAxes=J.multiplyByScalar(t.halfAxes,.5,t.halfAxes),t};Ai.clone=function(e,t){if(!!l(e))return l(t)?(h.clone(e.center,t.center),J.clone(e.halfAxes,t.halfAxes),t):new Ai(e.center,e.halfAxes)};Ai.intersectPlane=function(e,t){let n=e.center,i=t.normal,o=e.halfAxes,r=i.x,s=i.y,a=i.z,c=Math.abs(r*o[J.COLUMN0ROW0]+s*o[J.COLUMN0ROW1]+a*o[J.COLUMN0ROW2])+Math.abs(r*o[J.COLUMN1ROW0]+s*o[J.COLUMN1ROW1]+a*o[J.COLUMN1ROW2])+Math.abs(r*o[J.COLUMN2ROW0]+s*o[J.COLUMN2ROW1]+a*o[J.COLUMN2ROW2]),u=h.dot(i,n)+t.distance;return u<=-c?Kt.OUTSIDE:u>=c?Kt.INSIDE:Kt.INTERSECTING};var aK=new h,cK=new h,lK=new h,uEe=new h,rK=new h,fEe=new h;Ai.distanceSquaredTo=function(e,t){let n=h.subtract(t,e.center,sK),i=e.halfAxes,o=J.getColumn(i,0,aK),r=J.getColumn(i,1,cK),s=J.getColumn(i,2,lK),a=h.magnitude(o),c=h.magnitude(r),u=h.magnitude(s),f=!0,d=!0,p=!0;a>0?h.divideByScalar(o,a,o):f=!1,c>0?h.divideByScalar(r,c,r):d=!1,u>0?h.divideByScalar(s,u,s):p=!1;let g=!f+!d+!p,m,C,x;if(g===1){let S=o;m=r,C=s,d?p||(S=s,C=o):(S=r,m=o),x=h.cross(m,C,rK),S===o?o=x:S===r?r=x:S===s&&(s=x)}else if(g===2){m=o,d?m=r:p&&(m=s);let S=h.UNIT_Y;S.equalsEpsilon(m,I.EPSILON3)&&(S=h.UNIT_X),C=h.cross(m,S,uEe),h.normalize(C,C),x=h.cross(m,C,rK),h.normalize(x,x),m===o?(r=C,s=x):m===r?(s=C,o=x):m===s&&(o=C,r=x)}else g===3&&(o=h.UNIT_X,r=h.UNIT_Y,s=h.UNIT_Z);let A=fEe;A.x=h.dot(n,o),A.y=h.dot(n,r),A.z=h.dot(n,s);let b=0,E;return A.x<-a?(E=A.x+a,b+=E*E):A.x>a&&(E=A.x-a,b+=E*E),A.y<-c?(E=A.y+c,b+=E*E):A.y>c&&(E=A.y-c,b+=E*E),A.z<-u?(E=A.z+u,b+=E*E):A.z>u&&(E=A.z-u,b+=E*E),b};var dEe=new h,hEe=new h;Ai.computePlaneDistances=function(e,t,n,i){l(i)||(i=new Dc);let o=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY,s=e.center,a=e.halfAxes,c=J.getColumn(a,0,aK),u=J.getColumn(a,1,cK),f=J.getColumn(a,2,lK),d=h.add(c,u,dEe);h.add(d,f,d),h.add(d,s,d);let p=h.subtract(d,t,hEe),g=h.dot(n,p);return o=Math.min(g,o),r=Math.max(g,r),h.add(s,c,d),h.add(d,u,d),h.subtract(d,f,d),h.subtract(d,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.add(s,c,d),h.subtract(d,u,d),h.add(d,f,d),h.subtract(d,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.add(s,c,d),h.subtract(d,u,d),h.subtract(d,f,d),h.subtract(d,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.subtract(s,c,d),h.add(d,u,d),h.add(d,f,d),h.subtract(d,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.subtract(s,c,d),h.add(d,u,d),h.subtract(d,f,d),h.subtract(d,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.subtract(s,c,d),h.subtract(d,u,d),h.add(d,f,d),h.subtract(d,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.subtract(s,c,d),h.subtract(d,u,d),h.subtract(d,f,d),h.subtract(d,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),i.start=o,i.stop=r,i};var mEe=new h,pEe=new h,_Ee=new h;Ai.computeCorners=function(e,t){l(t)||(t=[new h,new h,new h,new h,new h,new h,new h,new h]);let n=e.center,i=e.halfAxes,o=J.getColumn(i,0,mEe),r=J.getColumn(i,1,pEe),s=J.getColumn(i,2,_Ee);return h.clone(n,t[0]),h.subtract(t[0],o,t[0]),h.subtract(t[0],r,t[0]),h.subtract(t[0],s,t[0]),h.clone(n,t[1]),h.subtract(t[1],o,t[1]),h.subtract(t[1],r,t[1]),h.add(t[1],s,t[1]),h.clone(n,t[2]),h.subtract(t[2],o,t[2]),h.add(t[2],r,t[2]),h.subtract(t[2],s,t[2]),h.clone(n,t[3]),h.subtract(t[3],o,t[3]),h.add(t[3],r,t[3]),h.add(t[3],s,t[3]),h.clone(n,t[4]),h.add(t[4],o,t[4]),h.subtract(t[4],r,t[4]),h.subtract(t[4],s,t[4]),h.clone(n,t[5]),h.add(t[5],o,t[5]),h.subtract(t[5],r,t[5]),h.add(t[5],s,t[5]),h.clone(n,t[6]),h.add(t[6],o,t[6]),h.add(t[6],r,t[6]),h.subtract(t[6],s,t[6]),h.clone(n,t[7]),h.add(t[7],o,t[7]),h.add(t[7],r,t[7]),h.add(t[7],s,t[7]),t};var gEe=new J;Ai.computeTransformation=function(e,t){l(t)||(t=new N);let n=e.center,i=J.multiplyByUniformScale(e.halfAxes,2,gEe);return N.fromRotationTranslation(i,n,t)};var yEe=new re;Ai.isOccluded=function(e,t){let n=re.fromOrientedBoundingBox(e,yEe);return!t.isBoundingSphereVisible(n)};Ai.prototype.intersectPlane=function(e){return Ai.intersectPlane(this,e)};Ai.prototype.distanceSquaredTo=function(e){return Ai.distanceSquaredTo(this,e)};Ai.prototype.computePlaneDistances=function(e,t,n){return Ai.computePlaneDistances(this,e,t,n)};Ai.prototype.computeCorners=function(e){return Ai.computeCorners(this,e)};Ai.prototype.computeTransformation=function(e){return Ai.computeTransformation(this,e)};Ai.prototype.isOccluded=function(e){return Ai.isOccluded(this,e)};Ai.equals=function(e,t){return e===t||l(e)&&l(t)&&h.equals(e.center,t.center)&&J.equals(e.halfAxes,t.halfAxes)};Ai.prototype.clone=function(e){return Ai.clone(this,e)};Ai.prototype.equals=function(e){return Ai.equals(this,e)};var pi=Ai;var CEe={DEPTH_BUFFER_BIT:256,STENCIL_BUFFER_BIT:1024,COLOR_BUFFER_BIT:16384,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,ZERO:0,ONE:1,SRC_COLOR:768,ONE_MINUS_SRC_COLOR:769,SRC_ALPHA:770,ONE_MINUS_SRC_ALPHA:771,DST_ALPHA:772,ONE_MINUS_DST_ALPHA:773,DST_COLOR:774,ONE_MINUS_DST_COLOR:775,SRC_ALPHA_SATURATE:776,FUNC_ADD:32774,BLEND_EQUATION:32777,BLEND_EQUATION_RGB:32777,BLEND_EQUATION_ALPHA:34877,FUNC_SUBTRACT:32778,FUNC_REVERSE_SUBTRACT:32779,BLEND_DST_RGB:32968,BLEND_SRC_RGB:32969,BLEND_DST_ALPHA:32970,BLEND_SRC_ALPHA:32971,CONSTANT_COLOR:32769,ONE_MINUS_CONSTANT_COLOR:32770,CONSTANT_ALPHA:32771,ONE_MINUS_CONSTANT_ALPHA:32772,BLEND_COLOR:32773,ARRAY_BUFFER:34962,ELEMENT_ARRAY_BUFFER:34963,ARRAY_BUFFER_BINDING:34964,ELEMENT_ARRAY_BUFFER_BINDING:34965,STREAM_DRAW:35040,STATIC_DRAW:35044,DYNAMIC_DRAW:35048,BUFFER_SIZE:34660,BUFFER_USAGE:34661,CURRENT_VERTEX_ATTRIB:34342,FRONT:1028,BACK:1029,FRONT_AND_BACK:1032,CULL_FACE:2884,BLEND:3042,DITHER:3024,STENCIL_TEST:2960,DEPTH_TEST:2929,SCISSOR_TEST:3089,POLYGON_OFFSET_FILL:32823,SAMPLE_ALPHA_TO_COVERAGE:32926,SAMPLE_COVERAGE:32928,NO_ERROR:0,INVALID_ENUM:1280,INVALID_VALUE:1281,INVALID_OPERATION:1282,OUT_OF_MEMORY:1285,CW:2304,CCW:2305,LINE_WIDTH:2849,ALIASED_POINT_SIZE_RANGE:33901,ALIASED_LINE_WIDTH_RANGE:33902,CULL_FACE_MODE:2885,FRONT_FACE:2886,DEPTH_RANGE:2928,DEPTH_WRITEMASK:2930,DEPTH_CLEAR_VALUE:2931,DEPTH_FUNC:2932,STENCIL_CLEAR_VALUE:2961,STENCIL_FUNC:2962,STENCIL_FAIL:2964,STENCIL_PASS_DEPTH_FAIL:2965,STENCIL_PASS_DEPTH_PASS:2966,STENCIL_REF:2967,STENCIL_VALUE_MASK:2963,STENCIL_WRITEMASK:2968,STENCIL_BACK_FUNC:34816,STENCIL_BACK_FAIL:34817,STENCIL_BACK_PASS_DEPTH_FAIL:34818,STENCIL_BACK_PASS_DEPTH_PASS:34819,STENCIL_BACK_REF:36003,STENCIL_BACK_VALUE_MASK:36004,STENCIL_BACK_WRITEMASK:36005,VIEWPORT:2978,SCISSOR_BOX:3088,COLOR_CLEAR_VALUE:3106,COLOR_WRITEMASK:3107,UNPACK_ALIGNMENT:3317,PACK_ALIGNMENT:3333,MAX_TEXTURE_SIZE:3379,MAX_VIEWPORT_DIMS:3386,SUBPIXEL_BITS:3408,RED_BITS:3410,GREEN_BITS:3411,BLUE_BITS:3412,ALPHA_BITS:3413,DEPTH_BITS:3414,STENCIL_BITS:3415,POLYGON_OFFSET_UNITS:10752,POLYGON_OFFSET_FACTOR:32824,TEXTURE_BINDING_2D:32873,SAMPLE_BUFFERS:32936,SAMPLES:32937,SAMPLE_COVERAGE_VALUE:32938,SAMPLE_COVERAGE_INVERT:32939,COMPRESSED_TEXTURE_FORMATS:34467,DONT_CARE:4352,FASTEST:4353,NICEST:4354,GENERATE_MIPMAP_HINT:33170,BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DEPTH_COMPONENT:6402,ALPHA:6406,RGB:6407,RGBA:6408,LUMINANCE:6409,LUMINANCE_ALPHA:6410,UNSIGNED_SHORT_4_4_4_4:32819,UNSIGNED_SHORT_5_5_5_1:32820,UNSIGNED_SHORT_5_6_5:33635,FRAGMENT_SHADER:35632,VERTEX_SHADER:35633,MAX_VERTEX_ATTRIBS:34921,MAX_VERTEX_UNIFORM_VECTORS:36347,MAX_VARYING_VECTORS:36348,MAX_COMBINED_TEXTURE_IMAGE_UNITS:35661,MAX_VERTEX_TEXTURE_IMAGE_UNITS:35660,MAX_TEXTURE_IMAGE_UNITS:34930,MAX_FRAGMENT_UNIFORM_VECTORS:36349,SHADER_TYPE:35663,DELETE_STATUS:35712,LINK_STATUS:35714,VALIDATE_STATUS:35715,ATTACHED_SHADERS:35717,ACTIVE_UNIFORMS:35718,ACTIVE_ATTRIBUTES:35721,SHADING_LANGUAGE_VERSION:35724,CURRENT_PROGRAM:35725,NEVER:512,LESS:513,EQUAL:514,LEQUAL:515,GREATER:516,NOTEQUAL:517,GEQUAL:518,ALWAYS:519,KEEP:7680,REPLACE:7681,INCR:7682,DECR:7683,INVERT:5386,INCR_WRAP:34055,DECR_WRAP:34056,VENDOR:7936,RENDERER:7937,VERSION:7938,NEAREST:9728,LINEAR:9729,NEAREST_MIPMAP_NEAREST:9984,LINEAR_MIPMAP_NEAREST:9985,NEAREST_MIPMAP_LINEAR:9986,LINEAR_MIPMAP_LINEAR:9987,TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,TEXTURE_2D:3553,TEXTURE:5890,TEXTURE_CUBE_MAP:34067,TEXTURE_BINDING_CUBE_MAP:34068,TEXTURE_CUBE_MAP_POSITIVE_X:34069,TEXTURE_CUBE_MAP_NEGATIVE_X:34070,TEXTURE_CUBE_MAP_POSITIVE_Y:34071,TEXTURE_CUBE_MAP_NEGATIVE_Y:34072,TEXTURE_CUBE_MAP_POSITIVE_Z:34073,TEXTURE_CUBE_MAP_NEGATIVE_Z:34074,MAX_CUBE_MAP_TEXTURE_SIZE:34076,TEXTURE0:33984,TEXTURE1:33985,TEXTURE2:33986,TEXTURE3:33987,TEXTURE4:33988,TEXTURE5:33989,TEXTURE6:33990,TEXTURE7:33991,TEXTURE8:33992,TEXTURE9:33993,TEXTURE10:33994,TEXTURE11:33995,TEXTURE12:33996,TEXTURE13:33997,TEXTURE14:33998,TEXTURE15:33999,TEXTURE16:34e3,TEXTURE17:34001,TEXTURE18:34002,TEXTURE19:34003,TEXTURE20:34004,TEXTURE21:34005,TEXTURE22:34006,TEXTURE23:34007,TEXTURE24:34008,TEXTURE25:34009,TEXTURE26:34010,TEXTURE27:34011,TEXTURE28:34012,TEXTURE29:34013,TEXTURE30:34014,TEXTURE31:34015,ACTIVE_TEXTURE:34016,REPEAT:10497,CLAMP_TO_EDGE:33071,MIRRORED_REPEAT:33648,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,INT_VEC2:35667,INT_VEC3:35668,INT_VEC4:35669,BOOL:35670,BOOL_VEC2:35671,BOOL_VEC3:35672,BOOL_VEC4:35673,FLOAT_MAT2:35674,FLOAT_MAT3:35675,FLOAT_MAT4:35676,SAMPLER_2D:35678,SAMPLER_CUBE:35680,VERTEX_ATTRIB_ARRAY_ENABLED:34338,VERTEX_ATTRIB_ARRAY_SIZE:34339,VERTEX_ATTRIB_ARRAY_STRIDE:34340,VERTEX_ATTRIB_ARRAY_TYPE:34341,VERTEX_ATTRIB_ARRAY_NORMALIZED:34922,VERTEX_ATTRIB_ARRAY_POINTER:34373,VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:34975,IMPLEMENTATION_COLOR_READ_TYPE:35738,IMPLEMENTATION_COLOR_READ_FORMAT:35739,COMPILE_STATUS:35713,LOW_FLOAT:36336,MEDIUM_FLOAT:36337,HIGH_FLOAT:36338,LOW_INT:36339,MEDIUM_INT:36340,HIGH_INT:36341,FRAMEBUFFER:36160,RENDERBUFFER:36161,RGBA4:32854,RGB5_A1:32855,RGB565:36194,DEPTH_COMPONENT16:33189,STENCIL_INDEX:6401,STENCIL_INDEX8:36168,DEPTH_STENCIL:34041,RENDERBUFFER_WIDTH:36162,RENDERBUFFER_HEIGHT:36163,RENDERBUFFER_INTERNAL_FORMAT:36164,RENDERBUFFER_RED_SIZE:36176,RENDERBUFFER_GREEN_SIZE:36177,RENDERBUFFER_BLUE_SIZE:36178,RENDERBUFFER_ALPHA_SIZE:36179,RENDERBUFFER_DEPTH_SIZE:36180,RENDERBUFFER_STENCIL_SIZE:36181,FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE:36048,FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:36049,FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL:36050,FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE:36051,COLOR_ATTACHMENT0:36064,DEPTH_ATTACHMENT:36096,STENCIL_ATTACHMENT:36128,DEPTH_STENCIL_ATTACHMENT:33306,NONE:0,FRAMEBUFFER_COMPLETE:36053,FRAMEBUFFER_INCOMPLETE_ATTACHMENT:36054,FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:36055,FRAMEBUFFER_INCOMPLETE_DIMENSIONS:36057,FRAMEBUFFER_UNSUPPORTED:36061,FRAMEBUFFER_BINDING:36006,RENDERBUFFER_BINDING:36007,MAX_RENDERBUFFER_SIZE:34024,INVALID_FRAMEBUFFER_OPERATION:1286,UNPACK_FLIP_Y_WEBGL:37440,UNPACK_PREMULTIPLY_ALPHA_WEBGL:37441,CONTEXT_LOST_WEBGL:37442,UNPACK_COLORSPACE_CONVERSION_WEBGL:37443,BROWSER_DEFAULT_WEBGL:37444,COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_RGB_PVRTC_4BPPV1_IMG:35840,COMPRESSED_RGB_PVRTC_2BPPV1_IMG:35841,COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:35842,COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:35843,COMPRESSED_RGBA_ASTC_4x4_WEBGL:37808,COMPRESSED_RGB_ETC1_WEBGL:36196,COMPRESSED_RGBA_BPTC_UNORM:36492,HALF_FLOAT_OES:36193,DOUBLE:5130,READ_BUFFER:3074,UNPACK_ROW_LENGTH:3314,UNPACK_SKIP_ROWS:3315,UNPACK_SKIP_PIXELS:3316,PACK_ROW_LENGTH:3330,PACK_SKIP_ROWS:3331,PACK_SKIP_PIXELS:3332,COLOR:6144,DEPTH:6145,STENCIL:6146,RED:6403,RGB8:32849,RGBA8:32856,RGB10_A2:32857,TEXTURE_BINDING_3D:32874,UNPACK_SKIP_IMAGES:32877,UNPACK_IMAGE_HEIGHT:32878,TEXTURE_3D:32879,TEXTURE_WRAP_R:32882,MAX_3D_TEXTURE_SIZE:32883,UNSIGNED_INT_2_10_10_10_REV:33640,MAX_ELEMENTS_VERTICES:33e3,MAX_ELEMENTS_INDICES:33001,TEXTURE_MIN_LOD:33082,TEXTURE_MAX_LOD:33083,TEXTURE_BASE_LEVEL:33084,TEXTURE_MAX_LEVEL:33085,MIN:32775,MAX:32776,DEPTH_COMPONENT24:33190,MAX_TEXTURE_LOD_BIAS:34045,TEXTURE_COMPARE_MODE:34892,TEXTURE_COMPARE_FUNC:34893,CURRENT_QUERY:34917,QUERY_RESULT:34918,QUERY_RESULT_AVAILABLE:34919,STREAM_READ:35041,STREAM_COPY:35042,STATIC_READ:35045,STATIC_COPY:35046,DYNAMIC_READ:35049,DYNAMIC_COPY:35050,MAX_DRAW_BUFFERS:34852,DRAW_BUFFER0:34853,DRAW_BUFFER1:34854,DRAW_BUFFER2:34855,DRAW_BUFFER3:34856,DRAW_BUFFER4:34857,DRAW_BUFFER5:34858,DRAW_BUFFER6:34859,DRAW_BUFFER7:34860,DRAW_BUFFER8:34861,DRAW_BUFFER9:34862,DRAW_BUFFER10:34863,DRAW_BUFFER11:34864,DRAW_BUFFER12:34865,DRAW_BUFFER13:34866,DRAW_BUFFER14:34867,DRAW_BUFFER15:34868,MAX_FRAGMENT_UNIFORM_COMPONENTS:35657,MAX_VERTEX_UNIFORM_COMPONENTS:35658,SAMPLER_3D:35679,SAMPLER_2D_SHADOW:35682,FRAGMENT_SHADER_DERIVATIVE_HINT:35723,PIXEL_PACK_BUFFER:35051,PIXEL_UNPACK_BUFFER:35052,PIXEL_PACK_BUFFER_BINDING:35053,PIXEL_UNPACK_BUFFER_BINDING:35055,FLOAT_MAT2x3:35685,FLOAT_MAT2x4:35686,FLOAT_MAT3x2:35687,FLOAT_MAT3x4:35688,FLOAT_MAT4x2:35689,FLOAT_MAT4x3:35690,SRGB:35904,SRGB8:35905,SRGB8_ALPHA8:35907,COMPARE_REF_TO_TEXTURE:34894,RGBA32F:34836,RGB32F:34837,RGBA16F:34842,RGB16F:34843,VERTEX_ATTRIB_ARRAY_INTEGER:35069,MAX_ARRAY_TEXTURE_LAYERS:35071,MIN_PROGRAM_TEXEL_OFFSET:35076,MAX_PROGRAM_TEXEL_OFFSET:35077,MAX_VARYING_COMPONENTS:35659,TEXTURE_2D_ARRAY:35866,TEXTURE_BINDING_2D_ARRAY:35869,R11F_G11F_B10F:35898,UNSIGNED_INT_10F_11F_11F_REV:35899,RGB9_E5:35901,UNSIGNED_INT_5_9_9_9_REV:35902,TRANSFORM_FEEDBACK_BUFFER_MODE:35967,MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS:35968,TRANSFORM_FEEDBACK_VARYINGS:35971,TRANSFORM_FEEDBACK_BUFFER_START:35972,TRANSFORM_FEEDBACK_BUFFER_SIZE:35973,TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN:35976,RASTERIZER_DISCARD:35977,MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS:35978,MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS:35979,INTERLEAVED_ATTRIBS:35980,SEPARATE_ATTRIBS:35981,TRANSFORM_FEEDBACK_BUFFER:35982,TRANSFORM_FEEDBACK_BUFFER_BINDING:35983,RGBA32UI:36208,RGB32UI:36209,RGBA16UI:36214,RGB16UI:36215,RGBA8UI:36220,RGB8UI:36221,RGBA32I:36226,RGB32I:36227,RGBA16I:36232,RGB16I:36233,RGBA8I:36238,RGB8I:36239,RED_INTEGER:36244,RGB_INTEGER:36248,RGBA_INTEGER:36249,SAMPLER_2D_ARRAY:36289,SAMPLER_2D_ARRAY_SHADOW:36292,SAMPLER_CUBE_SHADOW:36293,UNSIGNED_INT_VEC2:36294,UNSIGNED_INT_VEC3:36295,UNSIGNED_INT_VEC4:36296,INT_SAMPLER_2D:36298,INT_SAMPLER_3D:36299,INT_SAMPLER_CUBE:36300,INT_SAMPLER_2D_ARRAY:36303,UNSIGNED_INT_SAMPLER_2D:36306,UNSIGNED_INT_SAMPLER_3D:36307,UNSIGNED_INT_SAMPLER_CUBE:36308,UNSIGNED_INT_SAMPLER_2D_ARRAY:36311,DEPTH_COMPONENT32F:36012,DEPTH32F_STENCIL8:36013,FLOAT_32_UNSIGNED_INT_24_8_REV:36269,FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING:33296,FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE:33297,FRAMEBUFFER_ATTACHMENT_RED_SIZE:33298,FRAMEBUFFER_ATTACHMENT_GREEN_SIZE:33299,FRAMEBUFFER_ATTACHMENT_BLUE_SIZE:33300,FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE:33301,FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE:33302,FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE:33303,FRAMEBUFFER_DEFAULT:33304,UNSIGNED_INT_24_8:34042,DEPTH24_STENCIL8:35056,UNSIGNED_NORMALIZED:35863,DRAW_FRAMEBUFFER_BINDING:36006,READ_FRAMEBUFFER:36008,DRAW_FRAMEBUFFER:36009,READ_FRAMEBUFFER_BINDING:36010,RENDERBUFFER_SAMPLES:36011,FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER:36052,MAX_COLOR_ATTACHMENTS:36063,COLOR_ATTACHMENT1:36065,COLOR_ATTACHMENT2:36066,COLOR_ATTACHMENT3:36067,COLOR_ATTACHMENT4:36068,COLOR_ATTACHMENT5:36069,COLOR_ATTACHMENT6:36070,COLOR_ATTACHMENT7:36071,COLOR_ATTACHMENT8:36072,COLOR_ATTACHMENT9:36073,COLOR_ATTACHMENT10:36074,COLOR_ATTACHMENT11:36075,COLOR_ATTACHMENT12:36076,COLOR_ATTACHMENT13:36077,COLOR_ATTACHMENT14:36078,COLOR_ATTACHMENT15:36079,FRAMEBUFFER_INCOMPLETE_MULTISAMPLE:36182,MAX_SAMPLES:36183,HALF_FLOAT:5131,RG:33319,RG_INTEGER:33320,R8:33321,RG8:33323,R16F:33325,R32F:33326,RG16F:33327,RG32F:33328,R8I:33329,R8UI:33330,R16I:33331,R16UI:33332,R32I:33333,R32UI:33334,RG8I:33335,RG8UI:33336,RG16I:33337,RG16UI:33338,RG32I:33339,RG32UI:33340,VERTEX_ARRAY_BINDING:34229,R8_SNORM:36756,RG8_SNORM:36757,RGB8_SNORM:36758,RGBA8_SNORM:36759,SIGNED_NORMALIZED:36764,COPY_READ_BUFFER:36662,COPY_WRITE_BUFFER:36663,COPY_READ_BUFFER_BINDING:36662,COPY_WRITE_BUFFER_BINDING:36663,UNIFORM_BUFFER:35345,UNIFORM_BUFFER_BINDING:35368,UNIFORM_BUFFER_START:35369,UNIFORM_BUFFER_SIZE:35370,MAX_VERTEX_UNIFORM_BLOCKS:35371,MAX_FRAGMENT_UNIFORM_BLOCKS:35373,MAX_COMBINED_UNIFORM_BLOCKS:35374,MAX_UNIFORM_BUFFER_BINDINGS:35375,MAX_UNIFORM_BLOCK_SIZE:35376,MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS:35377,MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS:35379,UNIFORM_BUFFER_OFFSET_ALIGNMENT:35380,ACTIVE_UNIFORM_BLOCKS:35382,UNIFORM_TYPE:35383,UNIFORM_SIZE:35384,UNIFORM_BLOCK_INDEX:35386,UNIFORM_OFFSET:35387,UNIFORM_ARRAY_STRIDE:35388,UNIFORM_MATRIX_STRIDE:35389,UNIFORM_IS_ROW_MAJOR:35390,UNIFORM_BLOCK_BINDING:35391,UNIFORM_BLOCK_DATA_SIZE:35392,UNIFORM_BLOCK_ACTIVE_UNIFORMS:35394,UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES:35395,UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER:35396,UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER:35398,INVALID_INDEX:4294967295,MAX_VERTEX_OUTPUT_COMPONENTS:37154,MAX_FRAGMENT_INPUT_COMPONENTS:37157,MAX_SERVER_WAIT_TIMEOUT:37137,OBJECT_TYPE:37138,SYNC_CONDITION:37139,SYNC_STATUS:37140,SYNC_FLAGS:37141,SYNC_FENCE:37142,SYNC_GPU_COMMANDS_COMPLETE:37143,UNSIGNALED:37144,SIGNALED:37145,ALREADY_SIGNALED:37146,TIMEOUT_EXPIRED:37147,CONDITION_SATISFIED:37148,WAIT_FAILED:37149,SYNC_FLUSH_COMMANDS_BIT:1,VERTEX_ATTRIB_ARRAY_DIVISOR:35070,ANY_SAMPLES_PASSED:35887,ANY_SAMPLES_PASSED_CONSERVATIVE:36202,SAMPLER_BINDING:35097,RGB10_A2UI:36975,INT_2_10_10_10_REV:36255,TRANSFORM_FEEDBACK:36386,TRANSFORM_FEEDBACK_PAUSED:36387,TRANSFORM_FEEDBACK_ACTIVE:36388,TRANSFORM_FEEDBACK_BINDING:36389,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_SRGB8_ETC2:37493,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37494,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37495,COMPRESSED_RGBA8_ETC2_EAC:37496,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37497,TEXTURE_IMMUTABLE_FORMAT:37167,MAX_ELEMENT_INDEX:36203,TEXTURE_IMMUTABLE_LEVELS:33503,MAX_TEXTURE_MAX_ANISOTROPY_EXT:34047},te=Object.freeze(CEe);var _n={BYTE:te.BYTE,UNSIGNED_BYTE:te.UNSIGNED_BYTE,SHORT:te.SHORT,UNSIGNED_SHORT:te.UNSIGNED_SHORT,INT:te.INT,UNSIGNED_INT:te.UNSIGNED_INT,FLOAT:te.FLOAT,DOUBLE:te.DOUBLE};_n.getSizeInBytes=function(e){switch(e){case _n.BYTE:return Int8Array.BYTES_PER_ELEMENT;case _n.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case _n.SHORT:return Int16Array.BYTES_PER_ELEMENT;case _n.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case _n.INT:return Int32Array.BYTES_PER_ELEMENT;case _n.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT;case _n.FLOAT:return Float32Array.BYTES_PER_ELEMENT;case _n.DOUBLE:return Float64Array.BYTES_PER_ELEMENT}};_n.fromTypedArray=function(e){if(e instanceof Int8Array)return _n.BYTE;if(e instanceof Uint8Array)return _n.UNSIGNED_BYTE;if(e instanceof Int16Array)return _n.SHORT;if(e instanceof Uint16Array)return _n.UNSIGNED_SHORT;if(e instanceof Int32Array)return _n.INT;if(e instanceof Uint32Array)return _n.UNSIGNED_INT;if(e instanceof Float32Array)return _n.FLOAT;if(e instanceof Float64Array)return _n.DOUBLE};_n.validate=function(e){return l(e)&&(e===_n.BYTE||e===_n.UNSIGNED_BYTE||e===_n.SHORT||e===_n.UNSIGNED_SHORT||e===_n.INT||e===_n.UNSIGNED_INT||e===_n.FLOAT||e===_n.DOUBLE)};_n.createTypedArray=function(e,t){switch(e){case _n.BYTE:return new Int8Array(t);case _n.UNSIGNED_BYTE:return new Uint8Array(t);case _n.SHORT:return new Int16Array(t);case _n.UNSIGNED_SHORT:return new Uint16Array(t);case _n.INT:return new Int32Array(t);case _n.UNSIGNED_INT:return new Uint32Array(t);case _n.FLOAT:return new Float32Array(t);case _n.DOUBLE:return new Float64Array(t)}};_n.createArrayBufferView=function(e,t,n,i){switch(n=y(n,0),i=y(i,(t.byteLength-n)/_n.getSizeInBytes(e)),e){case _n.BYTE:return new Int8Array(t,n,i);case _n.UNSIGNED_BYTE:return new Uint8Array(t,n,i);case _n.SHORT:return new Int16Array(t,n,i);case _n.UNSIGNED_SHORT:return new Uint16Array(t,n,i);case _n.INT:return new Int32Array(t,n,i);case _n.UNSIGNED_INT:return new Uint32Array(t,n,i);case _n.FLOAT:return new Float32Array(t,n,i);case _n.DOUBLE:return new Float64Array(t,n,i)}};_n.fromName=function(e){switch(e){case"BYTE":return _n.BYTE;case"UNSIGNED_BYTE":return _n.UNSIGNED_BYTE;case"SHORT":return _n.SHORT;case"UNSIGNED_SHORT":return _n.UNSIGNED_SHORT;case"INT":return _n.INT;case"UNSIGNED_INT":return _n.UNSIGNED_INT;case"FLOAT":return _n.FLOAT;case"DOUBLE":return _n.DOUBLE}};var Z=Object.freeze(_n);function Gt(e,t,n,i){this[0]=y(e,0),this[1]=y(n,0),this[2]=y(t,0),this[3]=y(i,0)}Gt.packedLength=4;Gt.pack=function(e,t,n){return n=y(n,0),t[n++]=e[0],t[n++]=e[1],t[n++]=e[2],t[n++]=e[3],t};Gt.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new Gt),n[0]=e[t++],n[1]=e[t++],n[2]=e[t++],n[3]=e[t++],n};Gt.packArray=function(e,t){let n=e.length,i=n*4;l(t)?!Array.isArray(t)&&t.length!==i||t.length!==i&&(t.length=i):t=new Array(i);for(let o=0;o<n;++o)Gt.pack(e[o],t,o*4);return t};Gt.unpackArray=function(e,t){let n=e.length;l(t)?t.length=n/4:t=new Array(n/4);for(let i=0;i<n;i+=4){let o=i/4;t[o]=Gt.unpack(e,i,t[o])}return t};Gt.clone=function(e,t){if(!!l(e))return l(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t):new Gt(e[0],e[2],e[1],e[3])};Gt.fromArray=Gt.unpack;Gt.fromColumnMajorArray=function(e,t){return Gt.clone(e,t)};Gt.fromRowMajorArray=function(e,t){return l(t)?(t[0]=e[0],t[1]=e[2],t[2]=e[1],t[3]=e[3],t):new Gt(e[0],e[1],e[2],e[3])};Gt.fromScale=function(e,t){return l(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=e.y,t):new Gt(e.x,0,0,e.y)};Gt.fromUniformScale=function(e,t){return l(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=e,t):new Gt(e,0,0,e)};Gt.fromRotation=function(e,t){let n=Math.cos(e),i=Math.sin(e);return l(t)?(t[0]=n,t[1]=i,t[2]=-i,t[3]=n,t):new Gt(n,-i,i,n)};Gt.toArray=function(e,t){return l(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]]};Gt.getElementIndex=function(e,t){return e*2+t};Gt.getColumn=function(e,t,n){let i=t*2,o=e[i],r=e[i+1];return n.x=o,n.y=r,n};Gt.setColumn=function(e,t,n,i){i=Gt.clone(e,i);let o=t*2;return i[o]=n.x,i[o+1]=n.y,i};Gt.getRow=function(e,t,n){let i=e[t],o=e[t+2];return n.x=i,n.y=o,n};Gt.setRow=function(e,t,n,i){return i=Gt.clone(e,i),i[t]=n.x,i[t+2]=n.y,i};var xEe=new G;Gt.setScale=function(e,t,n){let i=Gt.getScale(e,xEe),o=t.x/i.x,r=t.y/i.y;return n[0]=e[0]*o,n[1]=e[1]*o,n[2]=e[2]*r,n[3]=e[3]*r,n};var AEe=new G;Gt.setUniformScale=function(e,t,n){let i=Gt.getScale(e,AEe),o=t/i.x,r=t/i.y;return n[0]=e[0]*o,n[1]=e[1]*o,n[2]=e[2]*r,n[3]=e[3]*r,n};var uK=new G;Gt.getScale=function(e,t){return t.x=G.magnitude(G.fromElements(e[0],e[1],uK)),t.y=G.magnitude(G.fromElements(e[2],e[3],uK)),t};var fK=new G;Gt.getMaximumScale=function(e){return Gt.getScale(e,fK),G.maximumComponent(fK)};var TEe=new G;Gt.setRotation=function(e,t,n){let i=Gt.getScale(e,TEe);return n[0]=t[0]*i.x,n[1]=t[1]*i.x,n[2]=t[2]*i.y,n[3]=t[3]*i.y,n};var EEe=new G;Gt.getRotation=function(e,t){let n=Gt.getScale(e,EEe);return t[0]=e[0]/n.x,t[1]=e[1]/n.x,t[2]=e[2]/n.y,t[3]=e[3]/n.y,t};Gt.multiply=function(e,t,n){let i=e[0]*t[0]+e[2]*t[1],o=e[0]*t[2]+e[2]*t[3],r=e[1]*t[0]+e[3]*t[1],s=e[1]*t[2]+e[3]*t[3];return n[0]=i,n[1]=r,n[2]=o,n[3]=s,n};Gt.add=function(e,t,n){return n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n};Gt.subtract=function(e,t,n){return n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2],n[3]=e[3]-t[3],n};Gt.multiplyByVector=function(e,t,n){let i=e[0]*t.x+e[2]*t.y,o=e[1]*t.x+e[3]*t.y;return n.x=i,n.y=o,n};Gt.multiplyByScalar=function(e,t,n){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n};Gt.multiplyByScale=function(e,t,n){return n[0]=e[0]*t.x,n[1]=e[1]*t.x,n[2]=e[2]*t.y,n[3]=e[3]*t.y,n};Gt.multiplyByUniformScale=function(e,t,n){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n};Gt.negate=function(e,t){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t};Gt.transpose=function(e,t){let n=e[0],i=e[2],o=e[1],r=e[3];return t[0]=n,t[1]=i,t[2]=o,t[3]=r,t};Gt.abs=function(e,t){return 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};Gt.equals=function(e,t){return e===t||l(e)&&l(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]};Gt.equalsArray=function(e,t,n){return e[0]===t[n]&&e[1]===t[n+1]&&e[2]===t[n+2]&&e[3]===t[n+3]};Gt.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(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};Gt.IDENTITY=Object.freeze(new Gt(1,0,0,1));Gt.ZERO=Object.freeze(new Gt(0,0,0,0));Gt.COLUMN0ROW0=0;Gt.COLUMN0ROW1=1;Gt.COLUMN1ROW0=2;Gt.COLUMN1ROW1=3;Object.defineProperties(Gt.prototype,{length:{get:function(){return Gt.packedLength}}});Gt.prototype.clone=function(e){return Gt.clone(this,e)};Gt.prototype.equals=function(e){return Gt.equals(this,e)};Gt.prototype.equalsEpsilon=function(e,t){return Gt.equalsEpsilon(this,e,t)};Gt.prototype.toString=function(){return`(${this[0]}, ${this[2]})
  83. (${this[1]}, ${this[3]})`};var Yi=Gt;var Wi={SCALAR:"SCALAR",VEC2:"VEC2",VEC3:"VEC3",VEC4:"VEC4",MAT2:"MAT2",MAT3:"MAT3",MAT4:"MAT4"};Wi.getMathType=function(e){switch(e){case Wi.SCALAR:return Number;case Wi.VEC2:return G;case Wi.VEC3:return h;case Wi.VEC4:return se;case Wi.MAT2:return Yi;case Wi.MAT3:return J;case Wi.MAT4:return N}};Wi.getNumberOfComponents=function(e){switch(e){case Wi.SCALAR:return 1;case Wi.VEC2:return 2;case Wi.VEC3:return 3;case Wi.VEC4:case Wi.MAT2:return 4;case Wi.MAT3:return 9;case Wi.MAT4:return 16}};Wi.getAttributeLocationCount=function(e){switch(e){case Wi.SCALAR:case Wi.VEC2:case Wi.VEC3:case Wi.VEC4:return 1;case Wi.MAT2:return 2;case Wi.MAT3:return 3;case Wi.MAT4:return 4}};Wi.getGlslType=function(e){switch(e){case Wi.SCALAR:return"float";case Wi.VEC2:return"vec2";case Wi.VEC3:return"vec3";case Wi.VEC4:return"vec4";case Wi.MAT2:return"mat2";case Wi.MAT3:return"mat3";case Wi.MAT4:return"mat4"}};var tn=Object.freeze(Wi);var dK=1/256,hK=256,uo={};uo.octEncodeInRange=function(e,t,n){if(n.x=e.x/(Math.abs(e.x)+Math.abs(e.y)+Math.abs(e.z)),n.y=e.y/(Math.abs(e.x)+Math.abs(e.y)+Math.abs(e.z)),e.z<0){let i=n.x,o=n.y;n.x=(1-Math.abs(o))*I.signNotZero(i),n.y=(1-Math.abs(i))*I.signNotZero(o)}return n.x=I.toSNorm(n.x,t),n.y=I.toSNorm(n.y,t),n};uo.octEncode=function(e,t){return uo.octEncodeInRange(e,255,t)};var Ab=new G,mK=new Uint8Array(1);function $P(e){return mK[0]=e,mK[0]}uo.octEncodeToCartesian4=function(e,t){return uo.octEncodeInRange(e,65535,Ab),t.x=$P(Ab.x*dK),t.y=$P(Ab.x),t.z=$P(Ab.y*dK),t.w=$P(Ab.y),t};uo.octDecodeInRange=function(e,t,n,i){if(i.x=I.fromSNorm(e,n),i.y=I.fromSNorm(t,n),i.z=1-(Math.abs(i.x)+Math.abs(i.y)),i.z<0){let o=i.x;i.x=(1-Math.abs(i.y))*I.signNotZero(o),i.y=(1-Math.abs(o))*I.signNotZero(i.y)}return h.normalize(i,i)};uo.octDecode=function(e,t,n){return uo.octDecodeInRange(e,t,255,n)};uo.octDecodeFromCartesian4=function(e,t){let n=e.x,i=e.y,o=e.z,r=e.w,s=n*hK+i,a=o*hK+r;return uo.octDecodeInRange(s,a,65535,t)};uo.octPackFloat=function(e){return 256*e.x+e.y};var c5=new G;uo.octEncodeFloat=function(e){return uo.octEncode(e,c5),uo.octPackFloat(c5)};uo.octDecodeFloat=function(e,t){let n=e/256,i=Math.floor(n),o=(n-i)*256;return uo.octDecode(i,o,t)};uo.octPack=function(e,t,n,i){let o=uo.octEncodeFloat(e),r=uo.octEncodeFloat(t),s=uo.octEncode(n,c5);return i.x=65536*s.x+o,i.y=65536*s.y+r,i};uo.octUnpack=function(e,t,n,i){let o=e.x/65536,r=Math.floor(o),s=(o-r)*65536;o=e.y/65536;let a=Math.floor(o),c=(o-a)*65536;uo.octDecodeFloat(s,t),uo.octDecodeFloat(c,n),uo.octDecode(r,a,i)};uo.compressTextureCoordinates=function(e){let t=e.x*4095|0,n=e.y*4095|0;return 4096*t+n};uo.decompressTextureCoordinates=function(e,t){let n=e/4096,i=Math.floor(n);return t.x=i/4095,t.y=(e-i*4096)/4095,t};function a5(e){return e>>1^-(e&1)}uo.zigZagDeltaDecode=function(e,t,n){let i=e.length,o=0,r=0,s=0;for(let a=0;a<i;++a)o+=a5(e[a]),r+=a5(t[a]),e[a]=o,t[a]=r,l(n)&&(s+=a5(n[a]),n[a]=s)};uo.dequantize=function(e,t,n,i){let o=tn.getNumberOfComponents(n),r;switch(t){case Z.BYTE:r=127;break;case Z.UNSIGNED_BYTE:r=255;break;case Z.SHORT:r=32767;break;case Z.UNSIGNED_SHORT:r=65535;break;case Z.INT:r=2147483647;break;case Z.UNSIGNED_INT:r=4294967295;break}let s=new Float32Array(i*o);for(let a=0;a<i;a++)for(let c=0;c<o;c++){let u=a*o+c;s[u]=Math.max(e[u]/r,-1)}return s};uo.decodeRGB565=function(e,t){let n=e.length;l(t)||(t=new Float32Array(n*3));let i=(1<<5)-1,o=(1<<6)-1,r=1/31,s=1/63;for(let a=0;a<n;a++){let c=e[a],u=c>>11,f=c>>5&o,d=c&i,p=3*a;t[p]=u*r,t[p+1]=f*s,t[p+2]=d*r}return t};var kn=uo;var JP={};JP.getHeight=function(e,t,n){return(e-n)*t+n};var bEe=new h;JP.getPosition=function(e,t,n,i,o){let r=t.cartesianToCartographic(e,bEe),s=JP.getHeight(r.height,n,i);return h.fromRadians(r.longitude,r.latitude,s,t,o)};var Rc=JP;var SEe={NONE:0,BITS12:1},Cs=Object.freeze(SEe);var w0=new h,wEe=new h,nu=new G,QP=new N,vEe=new N,DEe=Math.pow(2,12);function ha(e,t,n,i,o,r,s,a,c,u){let f=Cs.NONE,d,p;if(l(t)&&l(n)&&l(i)&&l(o)){let g=t.minimum,m=t.maximum,C=h.subtract(m,g,wEe),x=i-n;Math.max(h.maximumComponent(C),x)<DEe-1?f=Cs.BITS12:f=Cs.NONE,d=N.inverseTransformation(o,new N);let b=h.negate(g,w0);N.multiply(N.fromTranslation(b,QP),d,d);let E=w0;E.x=1/C.x,E.y=1/C.y,E.z=1/C.z,N.multiply(N.fromScale(E,QP),d,d),p=N.clone(o),N.setTranslation(p,h.ZERO,p),o=N.clone(o,new N);let S=N.fromTranslation(g,QP),v=N.fromScale(C,vEe),P=N.multiply(S,v,QP);N.multiply(o,P,o),N.multiply(p,P,p)}this.quantization=f,this.minimumHeight=n,this.maximumHeight=i,this.center=h.clone(e),this.toScaledENU=d,this.fromScaledENU=o,this.matrix=p,this.hasVertexNormals=r,this.hasWebMercatorT=y(s,!1),this.hasGeodeticSurfaceNormals=y(a,!1),this.exaggeration=y(c,1),this.exaggerationRelativeHeight=y(u,0),this.stride=0,this._offsetGeodeticSurfaceNormal=0,this._offsetVertexNormal=0,this._calculateStrideAndOffsets()}ha.prototype.encode=function(e,t,n,i,o,r,s,a){let c=i.x,u=i.y;if(this.quantization===Cs.BITS12){n=N.multiplyByPoint(this.toScaledENU,n,w0),n.x=I.clamp(n.x,0,1),n.y=I.clamp(n.y,0,1),n.z=I.clamp(n.z,0,1);let f=this.maximumHeight-this.minimumHeight,d=I.clamp((o-this.minimumHeight)/f,0,1);G.fromElements(n.x,n.y,nu);let p=kn.compressTextureCoordinates(nu);G.fromElements(n.z,d,nu);let g=kn.compressTextureCoordinates(nu);G.fromElements(c,u,nu);let m=kn.compressTextureCoordinates(nu);if(e[t++]=p,e[t++]=g,e[t++]=m,this.hasWebMercatorT){G.fromElements(s,0,nu);let C=kn.compressTextureCoordinates(nu);e[t++]=C}}else h.subtract(n,this.center,w0),e[t++]=w0.x,e[t++]=w0.y,e[t++]=w0.z,e[t++]=o,e[t++]=c,e[t++]=u,this.hasWebMercatorT&&(e[t++]=s);return this.hasVertexNormals&&(e[t++]=kn.octPackFloat(r)),this.hasGeodeticSurfaceNormals&&(e[t++]=a.x,e[t++]=a.y,e[t++]=a.z),t};var PEe=new h,pK=new h;ha.prototype.addGeodeticSurfaceNormals=function(e,t,n){if(this.hasGeodeticSurfaceNormals)return;let i=this.stride,o=e.length/i;this.hasGeodeticSurfaceNormals=!0,this._calculateStrideAndOffsets();let r=this.stride;for(let s=0;s<o;s++){for(let f=0;f<i;f++){let d=s*i+f,p=s*r+f;t[p]=e[d]}let a=this.decodePosition(t,s,PEe),c=n.geodeticSurfaceNormal(a,pK),u=s*r+this._offsetGeodeticSurfaceNormal;t[u]=c.x,t[u+1]=c.y,t[u+2]=c.z}};ha.prototype.removeGeodeticSurfaceNormals=function(e,t){if(!this.hasGeodeticSurfaceNormals)return;let n=this.stride,i=e.length/n;this.hasGeodeticSurfaceNormals=!1,this._calculateStrideAndOffsets();let o=this.stride;for(let r=0;r<i;r++)for(let s=0;s<o;s++){let a=r*n+s,c=r*o+s;t[c]=e[a]}};ha.prototype.decodePosition=function(e,t,n){if(l(n)||(n=new h),t*=this.stride,this.quantization===Cs.BITS12){let i=kn.decompressTextureCoordinates(e[t],nu);n.x=i.x,n.y=i.y;let o=kn.decompressTextureCoordinates(e[t+1],nu);return n.z=o.x,N.multiplyByPoint(this.fromScaledENU,n,n)}return n.x=e[t],n.y=e[t+1],n.z=e[t+2],h.add(n,this.center,n)};ha.prototype.getExaggeratedPosition=function(e,t,n){n=this.decodePosition(e,t,n);let i=this.exaggeration,o=this.exaggerationRelativeHeight;if(i!==1&&this.hasGeodeticSurfaceNormals){let s=this.decodeGeodeticSurfaceNormal(e,t,pK),a=this.decodeHeight(e,t),c=Rc.getHeight(a,i,o)-a;n.x+=s.x*c,n.y+=s.y*c,n.z+=s.z*c}return n};ha.prototype.decodeTextureCoordinates=function(e,t,n){return l(n)||(n=new G),t*=this.stride,this.quantization===Cs.BITS12?kn.decompressTextureCoordinates(e[t+2],n):G.fromElements(e[t+4],e[t+5],n)};ha.prototype.decodeHeight=function(e,t){return t*=this.stride,this.quantization===Cs.BITS12?kn.decompressTextureCoordinates(e[t+1],nu).y*(this.maximumHeight-this.minimumHeight)+this.minimumHeight:e[t+3]};ha.prototype.decodeWebMercatorT=function(e,t){return t*=this.stride,this.quantization===Cs.BITS12?kn.decompressTextureCoordinates(e[t+3],nu).x:e[t+6]};ha.prototype.getOctEncodedNormal=function(e,t,n){t=t*this.stride+this._offsetVertexNormal;let i=e[t]/256,o=Math.floor(i),r=(i-o)*256;return G.fromElements(o,r,n)};ha.prototype.decodeGeodeticSurfaceNormal=function(e,t,n){return t=t*this.stride+this._offsetGeodeticSurfaceNormal,n.x=e[t],n.y=e[t+1],n.z=e[t+2],n};ha.prototype._calculateStrideAndOffsets=function(){let e=0;switch(this.quantization){case Cs.BITS12:e+=3;break;default:e+=6}this.hasWebMercatorT&&(e+=1),this.hasVertexNormals&&(this._offsetVertexNormal=e,e+=1),this.hasGeodeticSurfaceNormals&&(this._offsetGeodeticSurfaceNormal=e,e+=3),this.stride=e};var e1={position3DAndHeight:0,textureCoordAndEncodedNormals:1,geodeticSurfaceNormal:2},t1={compressed0:0,compressed1:1,geodeticSurfaceNormal:2};ha.prototype.getAttributes=function(e){let t=Z.FLOAT,n=Z.getSizeInBytes(t),i=this.stride*n,o=0,r=[];function s(a,c){r.push({index:a,vertexBuffer:e,componentDatatype:t,componentsPerAttribute:c,offsetInBytes:o,strideInBytes:i}),o+=c*n}if(this.quantization===Cs.NONE){s(e1.position3DAndHeight,4);let a=2;a+=this.hasWebMercatorT?1:0,a+=this.hasVertexNormals?1:0,s(e1.textureCoordAndEncodedNormals,a),this.hasGeodeticSurfaceNormals&&s(e1.geodeticSurfaceNormal,3)}else{let a=this.hasWebMercatorT||this.hasVertexNormals,c=this.hasWebMercatorT&&this.hasVertexNormals;s(t1.compressed0,a?4:3),c&&s(t1.compressed1,1),this.hasGeodeticSurfaceNormals&&s(t1.geodeticSurfaceNormal,3)}return r};ha.prototype.getAttributeLocations=function(){return this.quantization===Cs.NONE?e1:t1};ha.clone=function(e,t){if(!!l(e))return l(t)||(t=new ha),t.quantization=e.quantization,t.minimumHeight=e.minimumHeight,t.maximumHeight=e.maximumHeight,t.center=h.clone(e.center),t.toScaledENU=N.clone(e.toScaledENU),t.fromScaledENU=N.clone(e.fromScaledENU),t.matrix=N.clone(e.matrix),t.hasVertexNormals=e.hasVertexNormals,t.hasWebMercatorT=e.hasWebMercatorT,t.hasGeodeticSurfaceNormals=e.hasGeodeticSurfaceNormals,t.exaggeration=e.exaggeration,t.exaggerationRelativeHeight=e.exaggerationRelativeHeight,t._calculateStrideAndOffsets(),t};var Ka=ha;function Mc(e){this._ellipsoid=y(e,oe.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis}Object.defineProperties(Mc.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});Mc.mercatorAngleToGeodeticLatitude=function(e){return I.PI_OVER_TWO-2*Math.atan(Math.exp(-e))};Mc.geodeticLatitudeToMercatorAngle=function(e){e>Mc.MaximumLatitude?e=Mc.MaximumLatitude:e<-Mc.MaximumLatitude&&(e=-Mc.MaximumLatitude);let t=Math.sin(e);return .5*Math.log((1+t)/(1-t))};Mc.MaximumLatitude=Mc.mercatorAngleToGeodeticLatitude(Math.PI);Mc.prototype.project=function(e,t){let n=this._semimajorAxis,i=e.longitude*n,o=Mc.geodeticLatitudeToMercatorAngle(e.latitude)*n,r=e.height;return l(t)?(t.x=i,t.y=o,t.z=r,t):new h(i,o,r)};Mc.prototype.unproject=function(e,t){let n=this._oneOverSemimajorAxis,i=e.x*n,o=Mc.mercatorAngleToGeodeticLatitude(e.y*n),r=e.z;return l(t)?(t.longitude=i,t.latitude=o,t.height=r,t):new he(i,o,r)};var Vi=Mc;var Pd={};Pd.DEFAULT_STRUCTURE=Object.freeze({heightScale:1,heightOffset:0,elementsPerHeight:1,stride:1,elementMultiplier:256,isBigEndian:!1});var l5=new h,IEe=new N,OEe=new h,REe=new h;Pd.computeVertices=function(e){let t=Math.cos,n=Math.sin,i=Math.sqrt,o=Math.atan,r=Math.exp,s=I.PI_OVER_TWO,a=I.toRadians,c=e.heightmap,u=e.width,f=e.height,d=e.skirtHeight,p=d>0,g=y(e.isGeographic,!0),m=y(e.ellipsoid,oe.WGS84),C=1/m.maximumRadius,x=ue.clone(e.nativeRectangle),A=ue.clone(e.rectangle),b,E,S,v;l(A)?(b=A.west,E=A.south,S=A.east,v=A.north):g?(b=a(x.west),E=a(x.south),S=a(x.east),v=a(x.north)):(b=x.west*C,E=s-2*o(r(-x.south*C)),S=x.east*C,v=s-2*o(r(-x.north*C)));let P=e.relativeToCenter,O=l(P);P=O?P:h.ZERO;let M=y(e.includeWebMercatorT,!1),B=y(e.exaggeration,1),L=y(e.exaggerationRelativeHeight,0),T=B!==1,w=y(e.structure,Pd.DEFAULT_STRUCTURE),D=y(w.heightScale,Pd.DEFAULT_STRUCTURE.heightScale),R=y(w.heightOffset,Pd.DEFAULT_STRUCTURE.heightOffset),F=y(w.elementsPerHeight,Pd.DEFAULT_STRUCTURE.elementsPerHeight),z=y(w.stride,Pd.DEFAULT_STRUCTURE.stride),k=y(w.elementMultiplier,Pd.DEFAULT_STRUCTURE.elementMultiplier),H=y(w.isBigEndian,Pd.DEFAULT_STRUCTURE.isBigEndian),V=ue.computeWidth(x),Y=ue.computeHeight(x),q=V/(u-1),X=Y/(f-1);g||(V*=C,Y*=C);let W=m.radiiSquared,K=W.x,$=W.y,le=W.z,me=65536,ie=-65536,ce=Dt.eastNorthUpToFixedFrame(P,m),pe=N.inverseTransformation(ce,IEe),Ae,we;M&&(Ae=Vi.geodeticLatitudeToMercatorAngle(E),we=1/(Vi.geodeticLatitudeToMercatorAngle(v)-Ae));let Re=OEe;Re.x=Number.POSITIVE_INFINITY,Re.y=Number.POSITIVE_INFINITY,Re.z=Number.POSITIVE_INFINITY;let Ue=REe;Ue.x=Number.NEGATIVE_INFINITY,Ue.y=Number.NEGATIVE_INFINITY,Ue.z=Number.NEGATIVE_INFINITY;let bt=Number.POSITIVE_INFINITY,Ut=u*f,sn=d>0?u*2+f*2:0,dt=Ut+sn,vn=new Array(dt),Jn=new Array(dt),ot=new Array(dt),zt=M?new Array(dt):[],qn=T?new Array(dt):[],Se=0,_t=f,Vt=0,hi=u;p&&(--Se,++_t,--Vt,++hi);let Ni=1e-5;for(let We=Se;We<_t;++We){let Qe=We;Qe<0&&(Qe=0),Qe>=f&&(Qe=f-1);let wt=x.north-X*Qe;g?wt=a(wt):wt=s-2*o(r(-wt*C));let Cn=(wt-E)/(v-E);Cn=I.clamp(Cn,0,1);let yo=We===Se,vo=We===_t-1;d>0&&(yo?wt+=Ni*Y:vo&&(wt-=Ni*Y));let os=t(wt),Us=n(wt),Fr=le*Us,Pi;M&&(Pi=(Vi.geodeticLatitudeToMercatorAngle(wt)-Ae)*we);for(let Er=Vt;Er<hi;++Er){let qr=Er;qr<0&&(qr=0),qr>=u&&(qr=u-1);let Yr=Qe*(u*z)+qr*z,Ii;if(F===1)Ii=c[Yr];else{Ii=0;let Tt;if(H)for(Tt=0;Tt<F;++Tt)Ii=Ii*k+c[Yr+Tt];else for(Tt=F-1;Tt>=0;--Tt)Ii=Ii*k+c[Yr+Tt]}Ii=Ii*D+R,ie=Math.max(ie,Ii),me=Math.min(me,Ii);let br=x.west+q*qr;g?br=a(br):br=br*C;let gs=(br-b)/(S-b);gs=I.clamp(gs,0,1);let Sr=Qe*u+qr;if(d>0){let Tt=Er===Vt,Oi=Er===hi-1,sa=yo||vo||Tt||Oi;if((yo||vo)&&(Tt||Oi))continue;sa&&(Ii-=d,Tt?(Sr=Ut+(f-Qe-1),br-=Ni*V):vo?Sr=Ut+f+(u-qr-1):Oi?(Sr=Ut+f+u+Qe,br+=Ni*V):yo&&(Sr=Ut+f+u+f+qr))}let rf=os*t(br),lo=os*n(br),cl=K*rf,ll=$*lo,p0=i(cl*rf+ll*lo+Fr*Us),rs=1/p0,Xh=cl*rs,an=ll*rs,be=Fr*rs,st=new h;st.x=Xh+rf*Ii,st.y=an+lo*Ii,st.z=be+Us*Ii,N.multiplyByPoint(pe,st,l5),h.minimumByComponent(l5,Re,Re),h.maximumByComponent(l5,Ue,Ue),bt=Math.min(bt,Ii),vn[Sr]=st,ot[Sr]=new G(gs,Cn),Jn[Sr]=Ii,M&&(zt[Sr]=Pi),T&&(qn[Sr]=m.geodeticSurfaceNormal(st))}}let Mo=re.fromPoints(vn),wo;l(A)&&(wo=pi.fromRectangle(A,me,ie,m));let co;O&&(co=new Mp(m).computeHorizonCullingPointPossiblyUnderEllipsoid(P,vn,me));let mi=new T0(Re,Ue,P),Me=new Ka(P,mi,bt,ie,ce,!1,M,T,B,L),$e=new Float32Array(dt*Me.stride),Ke=0;for(let We=0;We<dt;++We)Ke=Me.encode($e,Ke,vn[We],ot[We],Jn[We],void 0,zt[We],qn[We]);return{vertices:$e,maximumHeight:ie,minimumHeight:me,encoding:Me,boundingSphere3D:Mo,orientedBoundingBox:wo,occludeePointInScaledSpace:co}};var Tb=Pd;var _K=Ri(fl(),1);function MEe(){return!0}function BEe(e,t){t=y(t,"This object was destroyed, i.e., destroy() was called.");function n(){}for(let i in e)typeof e[i]=="function"&&(e[i]=n);e.isDestroyed=MEe}var fe=BEe;function gK(){if(!l(Ws._canTransferArrayBuffer)){let e=new Worker(CK("Workers/transferTypedArrayTest.js"));e.postMessage=y(e.webkitPostMessage,e.postMessage);let t=99,n=new Int8Array([t]);try{e.postMessage({array:n},[n.buffer])}catch{return Ws._canTransferArrayBuffer=!1,Ws._canTransferArrayBuffer}let i=Gs();e.onmessage=function(o){let r=o.data.array,s=l(r)&&r[0]===t;i.resolve(s),e.terminate(),Ws._canTransferArrayBuffer=s},Ws._canTransferArrayBuffer=i.promise}return Ws._canTransferArrayBuffer}var f5=new ge;function yK(e,t){--e._activeTasks;let n=t.id;if(!l(n))return;let i=e._deferreds,o=i[n];if(l(t.error)){let r=t.error;r.name==="RuntimeError"?(r=new de(t.error.message),r.stack=t.error.stack):r.name==="DeveloperError"&&(r=new ye(t.error.message),r.stack=t.error.stack),f5.raiseEvent(r),o.reject(r)}else f5.raiseEvent(),o.resolve(t.result);delete i[n]}function CK(e){let t=Zt(e);if(KC(t)){let n=`importScripts("${t}");`,i;try{i=new Blob([n],{type:"application/javascript"})}catch{let s=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,a=new s;a.append(n),i=a.getBlob("application/javascript")}t=(window.URL||window.webkitURL).createObjectURL(i)}return t}var u5;function LEe(){return l(u5)||(u5=CK("Workers/cesiumWorkerBootstrapper.js")),u5}function xK(e){let t=new Worker(LEe());t.postMessage=y(t.webkitPostMessage,t.postMessage);let n={loaderConfig:{paths:{Workers:Zt("Workers")},baseUrl:Zt.getCesiumBaseUrl().url},workerModule:e._workerPath};return t.postMessage(n),t.onmessage=function(i){yK(e,i.data)},t}function NEe(e,t){let n={modulePath:void 0,wasmBinaryFile:void 0,wasmBinary:void 0};if(!Mt.supportsWebAssembly()){if(!l(t.fallbackModulePath))throw new de(`This browser does not support Web Assembly, and no backup module was provided for ${e._workerPath}`);return n.modulePath=Zt(t.fallbackModulePath),Promise.resolve(n)}return n.modulePath=Zt(t.modulePath),n.wasmBinaryFile=Zt(t.wasmBinaryFile),Ie.fetchArrayBuffer({url:n.wasmBinaryFile}).then(function(i){return n.wasmBinary=i,n})}function Ws(e,t){let n=new _K.default(e);this._workerPath=n.scheme().length!==0&&n.fragment().length===0?e:Ws._workerModulePrefix+e,this._maximumActiveTasks=y(t,Number.POSITIVE_INFINITY),this._activeTasks=0,this._deferreds={},this._nextID=0}var FEe=[];Ws.prototype.scheduleTask=function(e,t){if(l(this._worker)||(this._worker=xK(this)),this._activeTasks>=this._maximumActiveTasks)return;++this._activeTasks;let n=this;return Promise.resolve(gK()).then(function(i){l(t)?i||(t.length=0):t=FEe;let o=n._nextID++,r=Gs();return n._deferreds[o]=r,n._worker.postMessage({id:o,parameters:e,canTransferArrayBuffer:i},t),r.promise})};Ws.prototype.initWebAssemblyModule=function(e){l(this._worker)||(this._worker=xK(this));let t=Gs(),n=this,i=this._worker;return NEe(this,e).then(function(o){return Promise.resolve(gK()).then(function(r){let s,a=o.wasmBinary;l(a)&&r&&(s=[a]),i.onmessage=function(c){i.onmessage=function(u){yK(n,u.data)},t.resolve(c.data)},i.postMessage({webAssemblyConfig:o},s)})}),t.promise};Ws.prototype.isDestroyed=function(){return!1};Ws.prototype.destroy=function(){return l(this._worker)&&this._worker.terminate(),fe(this)};Ws.taskCompletedEvent=f5;Ws._defaultWorkerModulePrefix="Workers/";Ws._workerModulePrefix=Ws._defaultWorkerModulePrefix;Ws._canTransferArrayBuffer=void 0;var Ti=Ws;function zp(){ye.throwInstantiationError()}Object.defineProperties(zp.prototype,{credits:{get:ye.throwInstantiationError},waterMask:{get:ye.throwInstantiationError}});zp.prototype.interpolateHeight=ye.throwInstantiationError;zp.prototype.isChildAvailable=ye.throwInstantiationError;zp.prototype.createMesh=ye.throwInstantiationError;zp.prototype.upsample=ye.throwInstantiationError;zp.prototype.wasCreatedByUpsampling=ye.throwInstantiationError;zp.maximumAsynchronousTasks=5;var Id=zp;function VEe(e,t,n,i,o,r,s,a,c,u,f,d,p,g,m,C){this.center=e,this.vertices=t,this.stride=y(u,6),this.indices=n,this.indexCountWithoutSkirts=i,this.vertexCountWithoutSkirts=o,this.minimumHeight=r,this.maximumHeight=s,this.boundingSphere3D=a,this.occludeePointInScaledSpace=c,this.orientedBoundingBox=f,this.encoding=d,this.westIndicesSouthToNorth=p,this.southIndicesEastToWest=g,this.eastIndicesNorthToSouth=m,this.northIndicesWestToEast=C}var ff=VEe;var as={UNSIGNED_BYTE:te.UNSIGNED_BYTE,UNSIGNED_SHORT:te.UNSIGNED_SHORT,UNSIGNED_INT:te.UNSIGNED_INT};as.getSizeInBytes=function(e){switch(e){case as.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case as.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case as.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT}};as.fromSizeInBytes=function(e){switch(e){case 2:return as.UNSIGNED_SHORT;case 4:return as.UNSIGNED_INT;case 1:return as.UNSIGNED_BYTE}};as.validate=function(e){return l(e)&&(e===as.UNSIGNED_BYTE||e===as.UNSIGNED_SHORT||e===as.UNSIGNED_INT)};as.createTypedArray=function(e,t){return e>=I.SIXTY_FOUR_KILOBYTES?new Uint32Array(t):new Uint16Array(t)};as.createTypedArrayFromArrayBuffer=function(e,t,n,i){return e>=I.SIXTY_FOUR_KILOBYTES?new Uint32Array(t,n,i):new Uint16Array(t,n,i)};as.fromTypedArray=function(e){if(e instanceof Uint8Array)return as.UNSIGNED_BYTE;if(e instanceof Uint16Array)return as.UNSIGNED_SHORT;if(e instanceof Uint32Array)return as.UNSIGNED_INT};var Be=Object.freeze(as);function Za(){ye.throwInstantiationError()}Object.defineProperties(Za.prototype,{errorEvent:{get:ye.throwInstantiationError},credit:{get:ye.throwInstantiationError},tilingScheme:{get:ye.throwInstantiationError},ready:{get:ye.throwInstantiationError},readyPromise:{get:ye.throwInstantiationError},hasWaterMask:{get:ye.throwInstantiationError},hasVertexNormals:{get:ye.throwInstantiationError},availability:{get:ye.throwInstantiationError}});var AK=[];Za.getRegularGridIndices=function(e,t){let n=AK[e];l(n)||(AK[e]=n=[]);let i=n[t];return l(i)||(e*t<I.SIXTY_FOUR_KILOBYTES?i=n[t]=new Uint16Array((e-1)*(t-1)*6):i=n[t]=new Uint32Array((e-1)*(t-1)*6),SK(e,t,i,0)),i};var TK=[];Za.getRegularGridIndicesAndEdgeIndices=function(e,t){let n=TK[e];l(n)||(TK[e]=n=[]);let i=n[t];if(!l(i)){let o=Za.getRegularGridIndices(e,t),r=bK(e,t),s=r.westIndicesSouthToNorth,a=r.southIndicesEastToWest,c=r.eastIndicesNorthToSouth,u=r.northIndicesWestToEast;i=n[t]={indices:o,westIndicesSouthToNorth:s,southIndicesEastToWest:a,eastIndicesNorthToSouth:c,northIndicesWestToEast:u}}return i};var EK=[];Za.getRegularGridAndSkirtIndicesAndEdgeIndices=function(e,t){let n=EK[e];l(n)||(EK[e]=n=[]);let i=n[t];if(!l(i)){let o=e*t,r=(e-1)*(t-1)*6,s=e*2+t*2,a=Math.max(0,s-4)*6,c=o+s,u=r+a,f=bK(e,t),d=f.westIndicesSouthToNorth,p=f.southIndicesEastToWest,g=f.eastIndicesNorthToSouth,m=f.northIndicesWestToEast,C=Be.createTypedArray(c,u);SK(e,t,C,0),Za.addSkirtIndices(d,p,g,m,o,C,r),i=n[t]={indices:C,westIndicesSouthToNorth:d,southIndicesEastToWest:p,eastIndicesNorthToSouth:g,northIndicesWestToEast:m,indexCountWithoutSkirts:r}}return i};Za.addSkirtIndices=function(e,t,n,i,o,r,s){let a=o;s=n1(e,a,r,s),a+=e.length,s=n1(t,a,r,s),a+=t.length,s=n1(n,a,r,s),a+=n.length,n1(i,a,r,s)};function bK(e,t){let n=new Array(t),i=new Array(e),o=new Array(t),r=new Array(e),s;for(s=0;s<e;++s)r[s]=s,i[s]=e*t-1-s;for(s=0;s<t;++s)o[s]=(s+1)*e-1,n[s]=(t-s-1)*e;return{westIndicesSouthToNorth:n,southIndicesEastToWest:i,eastIndicesNorthToSouth:o,northIndicesWestToEast:r}}function SK(e,t,n,i){let o=0;for(let r=0;r<t-1;++r){for(let s=0;s<e-1;++s){let a=o,c=a+e,u=c+1,f=a+1;n[i++]=a,n[i++]=c,n[i++]=f,n[i++]=f,n[i++]=c,n[i++]=u,++o}++o}}function n1(e,t,n,i){let o=e[0],r=e.length;for(let s=1;s<r;++s){let a=e[s];n[i++]=o,n[i++]=a,n[i++]=t,n[i++]=t,n[i++]=a,n[i++]=t+1,o=a,++t}return i}Za.heightmapTerrainQuality=.25;Za.getEstimatedLevelZeroGeometricErrorForAHeightmap=function(e,t,n){return e.maximumRadius*2*Math.PI*Za.heightmapTerrainQuality/(t*n)};Za.prototype.requestTileGeometry=ye.throwInstantiationError;Za.prototype.getLevelMaximumGeometricError=ye.throwInstantiationError;Za.prototype.getTileDataAvailable=ye.throwInstantiationError;Za.prototype.loadTileDataAvailability=ye.throwInstantiationError;var kr=Za;function nm(e){this._buffer=e.buffer,this._width=e.width,this._height=e.height,this._childTileMask=y(e.childTileMask,15),this._encoding=y(e.encoding,Qh.NONE);let t=Tb.DEFAULT_STRUCTURE,n=e.structure;l(n)?n!==t&&(n.heightScale=y(n.heightScale,t.heightScale),n.heightOffset=y(n.heightOffset,t.heightOffset),n.elementsPerHeight=y(n.elementsPerHeight,t.elementsPerHeight),n.stride=y(n.stride,t.stride),n.elementMultiplier=y(n.elementMultiplier,t.elementMultiplier),n.isBigEndian=y(n.isBigEndian,t.isBigEndian)):n=t,this._structure=n,this._createdByUpsampling=y(e.createdByUpsampling,!1),this._waterMask=e.waterMask,this._skirtHeight=void 0,this._bufferType=this._encoding===Qh.LERC?Float32Array:this._buffer.constructor,this._mesh=void 0}Object.defineProperties(nm.prototype,{credits:{get:function(){}},waterMask:{get:function(){return this._waterMask}},childTileMask:{get:function(){return this._childTileMask}}});var wK="createVerticesFromHeightmap",kEe=new Ti(wK),UEe=new Ti(wK,Id.maximumAsynchronousTasks);nm.prototype.createMesh=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.tilingScheme,n=e.x,i=e.y,o=e.level,r=y(e.exaggeration,1),s=y(e.exaggerationRelativeHeight,0),a=y(e.throttle,!0),c=t.ellipsoid,u=t.tileXYToNativeRectangle(n,i,o),f=t.tileXYToRectangle(n,i,o),d=c.cartographicToCartesian(ue.center(f)),p=this._structure,m=kr.getEstimatedLevelZeroGeometricErrorForAHeightmap(c,this._width,t.getNumberOfXTilesAtLevel(0))/(1<<o);this._skirtHeight=Math.min(m*4,1e3);let x=(a?UEe:kEe).scheduleTask({heightmap:this._buffer,structure:p,includeWebMercatorT:!0,width:this._width,height:this._height,nativeRectangle:u,rectangle:f,relativeToCenter:d,ellipsoid:c,skirtHeight:this._skirtHeight,isGeographic:t.projection instanceof xi,exaggeration:r,exaggerationRelativeHeight:s,encoding:this._encoding});if(!l(x))return;let A=this;return Promise.resolve(x).then(function(b){let E;A._skirtHeight>0?E=kr.getRegularGridAndSkirtIndicesAndEdgeIndices(b.gridWidth,b.gridHeight):E=kr.getRegularGridIndicesAndEdgeIndices(b.gridWidth,b.gridHeight);let S=b.gridWidth*b.gridHeight;return A._mesh=new ff(d,new Float32Array(b.vertices),E.indices,E.indexCountWithoutSkirts,S,b.minimumHeight,b.maximumHeight,re.clone(b.boundingSphere3D),h.clone(b.occludeePointInScaledSpace),b.numberOfAttributes,pi.clone(b.orientedBoundingBox),Ka.clone(b.encoding),E.westIndicesSouthToNorth,E.southIndicesEastToWest,E.eastIndicesNorthToSouth,E.northIndicesWestToEast),A._buffer=void 0,A._mesh})};nm.prototype._createMeshSync=function(e){let t=e.tilingScheme,n=e.x,i=e.y,o=e.level,r=y(e.exaggeration,1),s=y(e.exaggerationRelativeHeight,0),a=t.ellipsoid,c=t.tileXYToNativeRectangle(n,i,o),u=t.tileXYToRectangle(n,i,o),f=a.cartographicToCartesian(ue.center(u)),d=this._structure,g=kr.getEstimatedLevelZeroGeometricErrorForAHeightmap(a,this._width,t.getNumberOfXTilesAtLevel(0))/(1<<o);this._skirtHeight=Math.min(g*4,1e3);let m=Tb.computeVertices({heightmap:this._buffer,structure:d,includeWebMercatorT:!0,width:this._width,height:this._height,nativeRectangle:c,rectangle:u,relativeToCenter:f,ellipsoid:a,skirtHeight:this._skirtHeight,isGeographic:t.projection instanceof xi,exaggeration:r,exaggerationRelativeHeight:s});this._buffer=void 0;let C;this._skirtHeight>0?C=kr.getRegularGridAndSkirtIndicesAndEdgeIndices(this._width,this._height):C=kr.getRegularGridIndicesAndEdgeIndices(this._width,this._height);let x=m.gridWidth*m.gridHeight;return this._mesh=new ff(f,m.vertices,C.indices,C.indexCountWithoutSkirts,x,m.minimumHeight,m.maximumHeight,m.boundingSphere3D,m.occludeePointInScaledSpace,m.encoding.stride,m.orientedBoundingBox,m.encoding,C.westIndicesSouthToNorth,C.southIndicesEastToWest,C.eastIndicesNorthToSouth,C.northIndicesWestToEast),this._mesh};nm.prototype.interpolateHeight=function(e,t,n){let i=this._width,o=this._height,r=this._structure,s=r.stride,a=r.elementsPerHeight,c=r.elementMultiplier,u=r.isBigEndian,f=r.heightOffset,d=r.heightScale,p=l(this._mesh),g=this._encoding===Qh.LERC;if(!p&&g)return;let C;if(p){let x=this._mesh.vertices,A=this._mesh.encoding;C=vK(x,A,f,d,e,i,o,t,n)}else C=zEe(this._buffer,a,c,s,u,e,i,o,t,n),C=C*d+f;return C};nm.prototype.upsample=function(e,t,n,i,o,r,s){let a=this._mesh;if(!l(a))return;let c=this._width,u=this._height,f=this._structure,d=f.stride,p=new this._bufferType(c*u*d),g=a.vertices,m=a.encoding,C=e.tileXYToRectangle(t,n,i),x=e.tileXYToRectangle(o,r,s),A=f.heightOffset,b=f.heightScale,E=f.elementsPerHeight,S=f.elementMultiplier,v=f.isBigEndian,P=Math.pow(S,E-1);for(let O=0;O<u;++O){let M=I.lerp(x.north,x.south,O/(u-1));for(let B=0;B<c;++B){let L=I.lerp(x.west,x.east,B/(c-1)),_=vK(g,m,A,b,C,c,u,L,M);_=_<f.lowestEncodedHeight?f.lowestEncodedHeight:_,_=_>f.highestEncodedHeight?f.highestEncodedHeight:_,HEe(p,E,S,P,d,v,O*c+B,_)}}return Promise.resolve(new nm({buffer:p,width:c,height:u,childTileMask:0,structure:this._structure,createdByUpsampling:!0}))};nm.prototype.isChildAvailable=function(e,t,n,i){let o=2;return n!==e*2&&++o,i!==t*2&&(o-=2),(this._childTileMask&1<<o)!==0};nm.prototype.wasCreatedByUpsampling=function(){return this._createdByUpsampling};function zEe(e,t,n,i,o,r,s,a,c,u){let f=(c-r.west)*(s-1)/(r.east-r.west),d=(u-r.south)*(a-1)/(r.north-r.south),p=f|0,g=p+1;g>=s&&(g=s-1,p=s-2);let m=d|0,C=m+1;C>=a&&(C=a-1,m=a-2);let x=f-p,A=d-m;m=a-1-m,C=a-1-C;let b=i1(e,t,n,i,o,m*s+p),E=i1(e,t,n,i,o,m*s+g),S=i1(e,t,n,i,o,C*s+p),v=i1(e,t,n,i,o,C*s+g);return DK(x,A,b,E,S,v)}function vK(e,t,n,i,o,r,s,a,c){let u=(a-o.west)*(r-1)/(o.east-o.west),f=(c-o.south)*(s-1)/(o.north-o.south),d=u|0,p=d+1;p>=r&&(p=r-1,d=r-2);let g=f|0,m=g+1;m>=s&&(m=s-1,g=s-2);let C=u-d,x=f-g;g=s-1-g,m=s-1-m;let A=(t.decodeHeight(e,g*r+d)-n)/i,b=(t.decodeHeight(e,g*r+p)-n)/i,E=(t.decodeHeight(e,m*r+d)-n)/i,S=(t.decodeHeight(e,m*r+p)-n)/i;return DK(C,x,A,b,E,S)}function DK(e,t,n,i,o,r){return t<e?n+e*(i-n)+t*(r-i):n+e*(r-o)+t*(o-n)}function i1(e,t,n,i,o,r){r*=i;let s=0,a;if(o)for(a=0;a<t;++a)s=s*n+e[r+a];else for(a=t-1;a>=0;--a)s=s*n+e[r+a];return s}function HEe(e,t,n,i,o,r,s,a){s*=o;let c;if(r)for(c=0;c<t-1;++c)e[s+c]=a/i|0,a-=e[s+c]*i,i/=n;else for(c=t-1;c>0;--c)e[s+c]=a/i|0,a-=e[s+c]*i,i/=n;e[s+c]=a}var ma=nm;function fx(e,t){this._tilingScheme=e,this._maximumLevel=t,this._rootNodes=[]}var v0=new ue;function GEe(e,t,n,i){let o=i.length;for(let r=0;r<o;++r){let s=i[r];if(s.x===t&&s.y===n&&s.level===e)return!0}return!1}fx.prototype.addAvailableTileRange=function(e,t,n,i,o){let r=this._tilingScheme,s=this._rootNodes;if(e===0)for(let p=n;p<=o;++p)for(let g=t;g<=i;++g)GEe(e,g,p,s)||s.push(new lx(r,void 0,0,g,p));r.tileXYToRectangle(t,n,e,v0);let a=v0.west,c=v0.north;r.tileXYToRectangle(i,o,e,v0);let u=v0.east,f=v0.south,d=new XEe(e,a,f,u,c);for(let p=0;p<s.length;++p){let g=s[p];d5(g.extent,d)&&KEe(this._maximumLevel,g,d)}};fx.prototype.computeMaximumLevelAtPosition=function(e){let t;for(let n=0;n<this._rootNodes.length;++n){let i=this._rootNodes[n];if(ux(i.extent,e)){t=i;break}}return l(t)?Eb(void 0,t,e):-1};var WEe=[],jEe=[],qEe=new ue,YEe=new ue;fx.prototype.computeBestAvailableLevelOverRectangle=function(e){let t=WEe;t.length=0,e.east<e.west?(t.push(ue.fromRadians(-Math.PI,e.south,e.east,e.north,qEe)),t.push(ue.fromRadians(e.west,e.south,Math.PI,e.north,YEe))):t.push(e);let n=jEe;n.length=0;let i;for(i=0;i<this._rootNodes.length;++i)bb(n,this._rootNodes[i],t);for(i=n.length-1;i>=0;--i)if(l(n[i])&&n[i].length===0)return i;return 0};var PK=new he;fx.prototype.isTileAvailable=function(e,t,n){let i=this._tilingScheme.tileXYToRectangle(t,n,e,v0);return ue.center(i,PK),this.computeMaximumLevelAtPosition(PK)>=e};fx.prototype.computeChildMaskForTile=function(e,t,n){let i=e+1;if(i>=this._maximumLevel)return 0;let o=0;return o|=this.isTileAvailable(i,2*t,2*n+1)?1:0,o|=this.isTileAvailable(i,2*t+1,2*n+1)?2:0,o|=this.isTileAvailable(i,2*t,2*n)?4:0,o|=this.isTileAvailable(i,2*t+1,2*n)?8:0,o};function lx(e,t,n,i,o){this.tilingScheme=e,this.parent=t,this.level=n,this.x=i,this.y=o,this.extent=e.tileXYToRectangle(i,o,n),this.rectangles=[],this._sw=void 0,this._se=void 0,this._nw=void 0,this._ne=void 0}Object.defineProperties(lx.prototype,{nw:{get:function(){return this._nw||(this._nw=new lx(this.tilingScheme,this,this.level+1,this.x*2,this.y*2)),this._nw}},ne:{get:function(){return this._ne||(this._ne=new lx(this.tilingScheme,this,this.level+1,this.x*2+1,this.y*2)),this._ne}},sw:{get:function(){return this._sw||(this._sw=new lx(this.tilingScheme,this,this.level+1,this.x*2,this.y*2+1)),this._sw}},se:{get:function(){return this._se||(this._se=new lx(this.tilingScheme,this,this.level+1,this.x*2+1,this.y*2+1)),this._se}}});function XEe(e,t,n,i,o){this.level=e,this.west=t,this.south=n,this.east=i,this.north=o}function d5(e,t){let n=Math.max(e.west,t.west),i=Math.max(e.south,t.south),o=Math.min(e.east,t.east),r=Math.min(e.north,t.north);return i<r&&n<o}function KEe(e,t,n){for(;t.level<e;)if(o1(t.nw.extent,n))t=t.nw;else if(o1(t.ne.extent,n))t=t.ne;else if(o1(t.sw.extent,n))t=t.sw;else if(o1(t.se.extent,n))t=t.se;else break;if(t.rectangles.length===0||t.rectangles[t.rectangles.length-1].level<=n.level)t.rectangles.push(n);else{let i=Yo(t.rectangles,n.level,ZEe);i<0&&(i=~i),t.rectangles.splice(i,0,n)}}function ZEe(e,t){return e.level-t}function o1(e,t){return t.west>=e.west&&t.east<=e.east&&t.south>=e.south&&t.north<=e.north}function ux(e,t){return t.longitude>=e.west&&t.longitude<=e.east&&t.latitude>=e.south&&t.latitude<=e.north}function Eb(e,t,n){let i=0,o=!1;for(;!o;){let r=t._nw&&ux(t._nw.extent,n),s=t._ne&&ux(t._ne.extent,n),a=t._sw&&ux(t._sw.extent,n),c=t._se&&ux(t._se.extent,n);if(r+s+a+c>1){r&&(i=Math.max(i,Eb(t,t._nw,n))),s&&(i=Math.max(i,Eb(t,t._ne,n))),a&&(i=Math.max(i,Eb(t,t._sw,n))),c&&(i=Math.max(i,Eb(t,t._se,n)));break}else r?t=t._nw:s?t=t._ne:a?t=t._sw:c?t=t._se:o=!0}for(;t!==e;){let r=t.rectangles;for(let s=r.length-1;s>=0&&r[s].level>i;--s){let a=r[s];ux(a,n)&&(i=a.level)}t=t.parent}return i}function bb(e,t,n){if(!t)return;let i,o=!1;for(i=0;i<n.length;++i)o=o||d5(t.extent,n[i]);if(!o)return;let r=t.rectangles;for(i=0;i<r.length;++i){let s=r[i];e[s.level]||(e[s.level]=n),e[s.level]=$Ee(e[s.level],s)}bb(e,t._nw,n),bb(e,t._ne,n),bb(e,t._sw,n),bb(e,t._se,n)}function $Ee(e,t){let n=[];for(let i=0;i<e.length;++i){let o=e[i];d5(o,t)?(o.west<t.west&&n.push(new ue(o.west,o.south,t.west,o.north)),o.east>t.east&&n.push(new ue(t.east,o.south,o.east,o.north)),o.south<t.south&&n.push(new ue(Math.max(t.west,o.west),o.south,Math.min(t.east,o.east),t.south)),o.north>t.north&&n.push(new ue(Math.max(t.west,o.west),t.north,Math.min(t.east,o.east),o.north))):n.push(o)}return n}var Od=fx;function JEe(e){let t,n=e.name,i=e.message;l(n)&&l(i)?t=`${n}: ${i}`:t=e.toString();let o=e.stack;return l(o)&&(t+=`
  84. ${o}`),t}var im=JEe;function r1(e,t,n,i,o,r,s){this.provider=e,this.message=t,this.x=n,this.y=i,this.level=o,this.timesRetried=y(r,0),this.retry=!1,this.error=s}r1.reportError=function(e,t,n,i,o,r,s,a){let c=e;return l(e)?(c.provider=t,c.message=i,c.x=o,c.y=r,c.level=s,c.retry=!1,c.error=a,++c.timesRetried):c=new r1(t,i,o,r,s,0,a),n.numberOfListeners>0?n.raiseEvent(c):console.log(`An error occurred in "${t.constructor.name}": ${im(i)}`),c};r1.reportSuccess=function(e){l(e)&&(e.timesRetried=-1)};var jn=r1;function Hp(e){if(e=y(e,y.EMPTY_OBJECT),this._ellipsoid=y(e.ellipsoid,oe.WGS84),this._numberOfLevelZeroTilesX=y(e.numberOfLevelZeroTilesX,1),this._numberOfLevelZeroTilesY=y(e.numberOfLevelZeroTilesY,1),this._projection=new Vi(this._ellipsoid),l(e.rectangleSouthwestInMeters)&&l(e.rectangleNortheastInMeters))this._rectangleSouthwestInMeters=e.rectangleSouthwestInMeters,this._rectangleNortheastInMeters=e.rectangleNortheastInMeters;else{let i=this._ellipsoid.maximumRadius*Math.PI;this._rectangleSouthwestInMeters=new G(-i,-i),this._rectangleNortheastInMeters=new G(i,i)}let t=this._projection.unproject(this._rectangleSouthwestInMeters),n=this._projection.unproject(this._rectangleNortheastInMeters);this._rectangle=new ue(t.longitude,t.latitude,n.longitude,n.latitude)}Object.defineProperties(Hp.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},rectangle:{get:function(){return this._rectangle}},projection:{get:function(){return this._projection}}});Hp.prototype.getNumberOfXTilesAtLevel=function(e){return this._numberOfLevelZeroTilesX<<e};Hp.prototype.getNumberOfYTilesAtLevel=function(e){return this._numberOfLevelZeroTilesY<<e};Hp.prototype.rectangleToNativeRectangle=function(e,t){let n=this._projection,i=n.project(ue.southwest(e)),o=n.project(ue.northeast(e));return l(t)?(t.west=i.x,t.south=i.y,t.east=o.x,t.north=o.y,t):new ue(i.x,i.y,o.x,o.y)};Hp.prototype.tileXYToNativeRectangle=function(e,t,n,i){let o=this.getNumberOfXTilesAtLevel(n),r=this.getNumberOfYTilesAtLevel(n),s=(this._rectangleNortheastInMeters.x-this._rectangleSouthwestInMeters.x)/o,a=this._rectangleSouthwestInMeters.x+e*s,c=this._rectangleSouthwestInMeters.x+(e+1)*s,u=(this._rectangleNortheastInMeters.y-this._rectangleSouthwestInMeters.y)/r,f=this._rectangleNortheastInMeters.y-t*u,d=this._rectangleNortheastInMeters.y-(t+1)*u;return l(i)?(i.west=a,i.south=d,i.east=c,i.north=f,i):new ue(a,d,c,f)};Hp.prototype.tileXYToRectangle=function(e,t,n,i){let o=this.tileXYToNativeRectangle(e,t,n,i),r=this._projection,s=r.unproject(new G(o.west,o.south)),a=r.unproject(new G(o.east,o.north));return o.west=s.longitude,o.south=s.latitude,o.east=a.longitude,o.north=a.latitude,o};Hp.prototype.positionToTileXY=function(e,t,n){let i=this._rectangle;if(!ue.contains(i,e))return;let o=this.getNumberOfXTilesAtLevel(t),r=this.getNumberOfYTilesAtLevel(t),a=(this._rectangleNortheastInMeters.x-this._rectangleSouthwestInMeters.x)/o,u=(this._rectangleNortheastInMeters.y-this._rectangleSouthwestInMeters.y)/r,d=this._projection.project(e),p=d.x-this._rectangleSouthwestInMeters.x,g=this._rectangleNortheastInMeters.y-d.y,m=p/a|0;m>=o&&(m=o-1);let C=g/u|0;return C>=r&&(C=r-1),l(n)?(n.x=m,n.y=C,n):new G(m,C)};var Ur=Hp;var QEe=15;function dx(e){this._resource=void 0,this._credit=void 0,this._tilingScheme=void 0,this._levelZeroMaximumGeometricError=void 0,this._maxLevel=void 0,this._terrainDataStructure=void 0,this._ready=!1,this._width=void 0,this._height=void 0,this._encoding=void 0;let t=e.token;this._hasAvailability=!1,this._tilesAvailable=void 0,this._tilesAvailablityLoaded=void 0,this._availableCache={};let n=this,i=y(e.ellipsoid,oe.WGS84);this._readyPromise=Promise.resolve(e.url).then(function(o){let r=Ie.createIfNeeded(o);return r.appendForwardSlash(),l(t)&&(r=r.getDerivedResource({queryParameters:{token:t}})),n._resource=r,r.getDerivedResource({queryParameters:{f:"pjson"}}).fetchJson()}).then(function(o){let r=o.copyrightText;l(r)&&(n._credit=new jt(r));let s=o.spatialReference,a=y(s.latestWkid,s.wkid),c=o.extent,u={ellipsoid:i};if(a===4326)u.rectangle=ue.fromDegrees(c.xmin,c.ymin,c.xmax,c.ymax),n._tilingScheme=new Hi(u);else if(a===3857)u.rectangleSouthwestInMeters=new G(c.xmin,c.ymin),u.rectangleNortheastInMeters=new G(c.xmax,c.ymax),n._tilingScheme=new Ur(u);else return Promise.reject(new de("Invalid spatial reference"));let f=o.tileInfo;return l(f)?(n._width=f.rows+1,n._height=f.cols+1,n._encoding=f.format==="LERC"?Qh.LERC:Qh.NONE,n._lodCount=f.lods.length-1,(n._hasAvailability=o.capabilities.indexOf("Tilemap")!==-1)&&(n._tilesAvailable=new Od(n._tilingScheme,n._lodCount),n._tilesAvailable.addAvailableTileRange(0,0,0,n._tilingScheme.getNumberOfXTilesAtLevel(0),n._tilingScheme.getNumberOfYTilesAtLevel(0)),n._tilesAvailablityLoaded=new Od(n._tilingScheme,n._lodCount)),n._levelZeroMaximumGeometricError=kr.getEstimatedLevelZeroGeometricErrorForAHeightmap(n._tilingScheme.ellipsoid,n._width,n._tilingScheme.getNumberOfXTilesAtLevel(0)),o.bandCount>1&&console.log("ArcGISTiledElevationTerrainProvider: Terrain data has more than 1 band. Using the first one."),n._terrainDataStructure={elementMultiplier:1,lowestEncodedHeight:o.minValues[0],highestEncodedHeight:o.maxValues[0]},n._ready=!0,!0):Promise.reject(new de("tileInfo is required"))}).catch(function(o){let r=`An error occurred while accessing ${n._resource.url}.`;return jn.reportError(void 0,n,n._errorEvent,r),Promise.reject(o)}),this._errorEvent=new ge}Object.defineProperties(dx.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){return this._tilingScheme}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){return this._tilesAvailable}}});dx.prototype.requestTileGeometry=function(e,t,n,i){let o=this._resource.getDerivedResource({url:`tile/${n}/${t}/${e}`,request:i}),r=this._hasAvailability,s=Promise.resolve(!0),a;if(r&&!l(h5(this,n+1,e*2,t*2))){let d=IK(this,n+1,e*2,t*2);s=d.promise,a=d.request}let c=o.fetchArrayBuffer();if(!l(c)||!l(s))return;let u=this,f=this._tilesAvailable;return Promise.all([c,s]).then(function(d){return new ma({buffer:d[0],width:u._width,height:u._height,childTileMask:r?f.computeChildMaskForTile(n,e,t):QEe,structure:u._terrainDataStructure,encoding:u._encoding})}).catch(function(d){return l(a)&&a.state===ai.CANCELLED?(i.cancel(),i.deferred.promise.finally(function(){return i.state=ai.CANCELLED,Promise.reject(d)})):Promise.reject(d)})};function h5(e,t,n,i){if(!e._hasAvailability)return;let o=e._tilesAvailablityLoaded,r=e._tilesAvailable;if(t>e._lodCount)return!1;if(r.isTileAvailable(t,n,i))return!0;if(o.isTileAvailable(t,n,i))return!1}dx.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)};dx.prototype.getTileDataAvailable=function(e,t,n){if(!this._hasAvailability)return;let i=h5(this,n,e,t);if(l(i))return i;IK(this,n,e,t)};dx.prototype.loadTileDataAvailability=function(e,t,n){};function ebe(e,t,n,i){let o=t-1,r=n-1,s=i[e.y*t+e.x],a=[],c={startX:e.x,startY:e.y,endX:0,endY:0},u=new G(e.x+1,e.y+1),f=!1,d=!1;for(;!(f&&d);){let p=u.x,g=d?u.y+1:u.y;if(!f){for(let m=e.y;m<g;++m)if(i[m*t+u.x]!==s){f=!0;break}f?(a.push(new G(u.x,e.y)),--u.x,--p,c.endX=u.x):u.x===o?(c.endX=u.x,f=!0):++u.x}if(!d){let m=u.y*t;for(let C=e.x;C<=p;++C)if(i[m+C]!==s){d=!0;break}d?(a.push(new G(e.x,u.y)),--u.y,c.endY=u.y):u.y===r?(c.endY=u.y,d=!0):++u.y}}return{endingIndices:a,range:c,value:s}}function tbe(e,t,n,i,o){let r=[];if(o.every(function(c){return c===o[0]}))return o[0]===1&&r.push({startX:e,startY:t,endX:e+n-1,endY:t+i-1}),r;let a=[new G(0,0)];for(;a.length>0;){let c=a.pop(),u=ebe(c,n,i,o);if(u.value===1){let d=u.range;d.startX+=e,d.endX+=e,d.startY+=t,d.endY+=t,r.push(d)}let f=u.endingIndices;f.length>0&&(a=a.concat(f))}return r}function IK(e,t,n,i){if(!e._hasAvailability)return{};let o=Math.floor(n/128)*128,r=Math.floor(i/128)*128,s=Math.min(1<<t,128),a=`tilemap/${t}/${r}/${o}/${s}/${s}`,c=e._availableCache;if(l(c[a]))return c[a];let u=new jo({throttle:!1,throttleByServer:!0,type:Kr.TERRAIN}),d=e._resource.getDerivedResource({url:a,request:u}).fetchJson();return l(d)?(d=d.then(function(p){let g=tbe(o,r,s,s,p.data);e._tilesAvailablityLoaded.addAvailableTileRange(t,o,r,o+s,r+s);let m=e._tilesAvailable;for(let C=0;C<g.length;++C){let x=g[C];m.addAvailableTileRange(t,x.startX,x.startY,x.endX,x.endY)}return h5(e,t,n,i)}),c[a]={promise:d,request:u},d=d.finally(function(p){return delete c[a],p}),{promise:d,request:u}):{}}var OK=dx;var nbe={NONE:0,GEODESIC:1,RHUMB:2},qt=Object.freeze(nbe);var ibe={XTRANSLATE:"xTranslate",YTRANSLATE:"yTranslate",ZTRANSLATE:"zTranslate",XROTATE:"xRotate",YROTATE:"yRotate",ZROTATE:"zRotate",XSCALE:"xScale",YSCALE:"yScale",ZSCALE:"zScale",UNIFORMSCALE:"uniformScale"},$a=Object.freeze(ibe);function D0(){this._array=[],this._hash={}}Object.defineProperties(D0.prototype,{length:{get:function(){return this._array.length}},values:{get:function(){return this._array}}});D0.prototype.contains=function(e){return l(this._hash[e])};D0.prototype.set=function(e,t){let n=this._hash[e];t!==n&&(this.remove(e),this._hash[e]=t,this._array.push(t))};D0.prototype.get=function(e){return this._hash[e]};D0.prototype.remove=function(e){let t=this._hash[e],n=l(t);if(n){let i=this._array;i.splice(i.indexOf(t),1),delete this._hash[e]}return n};D0.prototype.removeAll=function(){let e=this._array;e.length>0&&(this._hash={},e.length=0)};var gt=D0;var RK="https://dev.virtualearth.net/REST/v1/Locations";function m5(e){e=y(e,y.EMPTY_OBJECT);let t=e.key;this._key=t;let n={key:t};l(e.culture)&&(n.culture=e.culture),this._resource=new Ie({url:RK,queryParameters:n})}Object.defineProperties(m5.prototype,{url:{get:function(){return RK}},key:{get:function(){return this._key}}});m5.prototype.geocode=function(e){return this._resource.getDerivedResource({queryParameters:{query:e}}).fetchJsonp("jsonp").then(function(n){return n.resourceSets.length===0?[]:n.resourceSets[0].resources.map(function(o){let r=o.bbox,s=r[0],a=r[1],c=r[2],u=r[3];return{displayName:o.name,destination:ue.fromDegrees(a,s,u,c)}})})};var MK=m5;function hr(e,t,n,i){this.x=y(e,0),this.y=y(t,0),this.width=y(n,0),this.height=y(i,0)}hr.packedLength=4;hr.pack=function(e,t,n){return n=y(n,0),t[n++]=e.x,t[n++]=e.y,t[n++]=e.width,t[n]=e.height,t};hr.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new hr),n.x=e[t++],n.y=e[t++],n.width=e[t++],n.height=e[t],n};hr.fromPoints=function(e,t){if(l(t)||(t=new hr),!l(e)||e.length===0)return t.x=0,t.y=0,t.width=0,t.height=0,t;let n=e.length,i=e[0].x,o=e[0].y,r=e[0].x,s=e[0].y;for(let a=1;a<n;a++){let c=e[a],u=c.x,f=c.y;i=Math.min(u,i),r=Math.max(u,r),o=Math.min(f,o),s=Math.max(f,s)}return t.x=i,t.y=o,t.width=r-i,t.height=s-o,t};var obe=new xi,rbe=new he,sbe=new he;hr.fromRectangle=function(e,t,n){if(l(n)||(n=new hr),!l(e))return n.x=0,n.y=0,n.width=0,n.height=0,n;t=y(t,obe);let i=t.project(ue.southwest(e,rbe)),o=t.project(ue.northeast(e,sbe));return G.subtract(o,i,o),n.x=i.x,n.y=i.y,n.width=o.x,n.height=o.y,n};hr.clone=function(e,t){if(!!l(e))return l(t)?(t.x=e.x,t.y=e.y,t.width=e.width,t.height=e.height,t):new hr(e.x,e.y,e.width,e.height)};hr.union=function(e,t,n){l(n)||(n=new hr);let i=Math.min(e.x,t.x),o=Math.min(e.y,t.y),r=Math.max(e.x+e.width,t.x+t.width),s=Math.max(e.y+e.height,t.y+t.height);return n.x=i,n.y=o,n.width=r-i,n.height=s-o,n};hr.expand=function(e,t,n){n=hr.clone(e,n);let i=t.x-n.x,o=t.y-n.y;return i>n.width?n.width=i:i<0&&(n.width-=i,n.x=t.x),o>n.height?n.height=o:o<0&&(n.height-=o,n.y=t.y),n};hr.intersect=function(e,t){let n=e.x,i=e.y,o=t.x,r=t.y;return n>o+t.width||n+e.width<o||i+e.height<r||i>r+t.height?Kt.OUTSIDE:Kt.INTERSECTING};hr.equals=function(e,t){return e===t||l(e)&&l(t)&&e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height};hr.prototype.clone=function(e){return hr.clone(this,e)};hr.prototype.intersect=function(e){return hr.intersect(this,e)};hr.prototype.equals=function(e){return hr.equals(this,e)};var Ge=hr;var abe={NONE:0,TRIANGLES:1,LINES:2,POLYLINES:3},df=Object.freeze(abe);var js={POINTS:te.POINTS,LINES:te.LINES,LINE_LOOP:te.LINE_LOOP,LINE_STRIP:te.LINE_STRIP,TRIANGLES:te.TRIANGLES,TRIANGLE_STRIP:te.TRIANGLE_STRIP,TRIANGLE_FAN:te.TRIANGLE_FAN};js.isLines=function(e){return e===js.LINES||e===js.LINE_LOOP||e===js.LINE_STRIP};js.isTriangles=function(e){return e===js.TRIANGLES||e===js.TRIANGLE_STRIP||e===js.TRIANGLE_FAN};js.validate=function(e){return e===js.POINTS||e===js.LINES||e===js.LINE_LOOP||e===js.LINE_STRIP||e===js.TRIANGLES||e===js.TRIANGLE_STRIP||e===js.TRIANGLE_FAN};var Ne=Object.freeze(js);function p5(e){e=y(e,y.EMPTY_OBJECT),this.attributes=e.attributes,this.indices=e.indices,this.primitiveType=y(e.primitiveType,Ne.TRIANGLES),this.boundingSphere=e.boundingSphere,this.geometryType=y(e.geometryType,df.NONE),this.boundingSphereCV=e.boundingSphereCV,this.offsetAttribute=e.offsetAttribute}p5.computeNumberOfVertices=function(e){let t=-1;for(let n in e.attributes)if(e.attributes.hasOwnProperty(n)&&l(e.attributes[n])&&l(e.attributes[n].values)){let i=e.attributes[n];t=i.values.length/i.componentsPerAttribute}return t};var cbe=new he,lbe=new h,BK=new N,ube=[new he,new he,new he],fbe=[new G,new G,new G],dbe=[new G,new G,new G],hbe=new h,mbe=new Oe,pbe=new N,_be=new Yi;p5._textureCoordinateRotationPoints=function(e,t,n,i){let o,r=ue.center(i,cbe),s=he.toCartesian(r,n,lbe),a=Dt.eastNorthUpToFixedFrame(s,n,BK),c=N.inverse(a,BK),u=fbe,f=ube;f[0].longitude=i.west,f[0].latitude=i.south,f[1].longitude=i.west,f[1].latitude=i.north,f[2].longitude=i.east,f[2].latitude=i.south;let d=hbe;for(o=0;o<3;o++)he.toCartesian(f[o],n,d),d=N.multiplyByPointAsVector(c,d,d),u[o].x=d.x,u[o].y=d.y;let p=Oe.fromAxisAngle(h.UNIT_Z,-t,mbe),g=J.fromQuaternion(p,pbe),m=e.length,C=Number.POSITIVE_INFINITY,x=Number.POSITIVE_INFINITY,A=Number.NEGATIVE_INFINITY,b=Number.NEGATIVE_INFINITY;for(o=0;o<m;o++)d=N.multiplyByPointAsVector(c,e[o],d),d=J.multiplyByVector(g,d,d),C=Math.min(C,d.x),x=Math.min(x,d.y),A=Math.max(A,d.x),b=Math.max(b,d.y);let E=Yi.fromRotation(t,_be),S=dbe;S[0].x=C,S[0].y=x,S[1].x=C,S[1].y=b,S[2].x=A,S[2].y=x;let v=u[0],P=u[2].x-v.x,O=u[1].y-v.y;for(o=0;o<3;o++){let T=S[o];Yi.multiplyByVector(E,T,T),T.x=(T.x-v.x)/P,T.y=(T.y-v.y)/O}let M=S[0],B=S[1],L=S[2],_=new Array(6);return G.pack(M,_),G.pack(B,_,2),G.pack(L,_,4),_};var rt=p5;function gbe(e){e=y(e,y.EMPTY_OBJECT),this.componentDatatype=e.componentDatatype,this.componentsPerAttribute=e.componentsPerAttribute,this.normalize=y(e.normalize,!1),this.values=e.values}var Ee=gbe;function ybe(e){e=y(e,y.EMPTY_OBJECT),this.position=e.position,this.normal=e.normal,this.st=e.st,this.bitangent=e.bitangent,this.tangent=e.tangent,this.color=e.color}var rn=ybe;var Cbe={NONE:0,TOP:1,ALL:2},Jt=Object.freeze(Cbe);function zr(e){e=y(e,y.EMPTY_OBJECT),this.position=y(e.position,!1),this.normal=y(e.normal,!1),this.st=y(e.st,!1),this.bitangent=y(e.bitangent,!1),this.tangent=y(e.tangent,!1),this.color=y(e.color,!1)}zr.POSITION_ONLY=Object.freeze(new zr({position:!0}));zr.POSITION_AND_NORMAL=Object.freeze(new zr({position:!0,normal:!0}));zr.POSITION_NORMAL_AND_ST=Object.freeze(new zr({position:!0,normal:!0,st:!0}));zr.POSITION_AND_ST=Object.freeze(new zr({position:!0,st:!0}));zr.POSITION_AND_COLOR=Object.freeze(new zr({position:!0,color:!0}));zr.ALL=Object.freeze(new zr({position:!0,normal:!0,st:!0,tangent:!0,bitangent:!0}));zr.DEFAULT=zr.POSITION_NORMAL_AND_ST;zr.packedLength=6;zr.pack=function(e,t,n){return n=y(n,0),t[n++]=e.position?1:0,t[n++]=e.normal?1:0,t[n++]=e.st?1:0,t[n++]=e.tangent?1:0,t[n++]=e.bitangent?1:0,t[n]=e.color?1:0,t};zr.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new zr),n.position=e[t++]===1,n.normal=e[t++]===1,n.st=e[t++]===1,n.tangent=e[t++]===1,n.bitangent=e[t++]===1,n.color=e[t]===1,n};zr.clone=function(e,t){if(!!l(e))return l(t)||(t=new zr),t.position=e.position,t.normal=e.normal,t.st=e.st,t.tangent=e.tangent,t.bitangent=e.bitangent,t.color=e.color,t};var ve=zr;var xbe=new h;function dl(e){e=y(e,y.EMPTY_OBJECT);let t=e.minimum,n=e.maximum,i=y(e.vertexFormat,ve.DEFAULT);this._minimum=h.clone(t),this._maximum=h.clone(n),this._vertexFormat=i,this._offsetAttribute=e.offsetAttribute,this._workerName="createBoxGeometry"}dl.fromDimensions=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.dimensions,n=h.multiplyByScalar(t,.5,new h);return new dl({minimum:h.negate(n,new h),maximum:n,vertexFormat:e.vertexFormat,offsetAttribute:e.offsetAttribute})};dl.fromAxisAlignedBoundingBox=function(e){return new dl({minimum:e.minimum,maximum:e.maximum})};dl.packedLength=2*h.packedLength+ve.packedLength+1;dl.pack=function(e,t,n){return n=y(n,0),h.pack(e._minimum,t,n),h.pack(e._maximum,t,n+h.packedLength),ve.pack(e._vertexFormat,t,n+2*h.packedLength),t[n+2*h.packedLength+ve.packedLength]=y(e._offsetAttribute,-1),t};var NK=new h,FK=new h,VK=new ve,LK={minimum:NK,maximum:FK,vertexFormat:VK,offsetAttribute:void 0};dl.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t,NK),o=h.unpack(e,t+h.packedLength,FK),r=ve.unpack(e,t+2*h.packedLength,VK),s=e[t+2*h.packedLength+ve.packedLength];return l(n)?(n._minimum=h.clone(i,n._minimum),n._maximum=h.clone(o,n._maximum),n._vertexFormat=ve.clone(r,n._vertexFormat),n._offsetAttribute=s===-1?void 0:s,n):(LK.offsetAttribute=s===-1?void 0:s,new dl(LK))};dl.createGeometry=function(e){let t=e._minimum,n=e._maximum,i=e._vertexFormat;if(h.equals(t,n))return;let o=new rn,r,s;if(i.position&&(i.st||i.normal||i.tangent||i.bitangent)){if(i.position&&(s=new Float64Array(6*4*3),s[0]=t.x,s[1]=t.y,s[2]=n.z,s[3]=n.x,s[4]=t.y,s[5]=n.z,s[6]=n.x,s[7]=n.y,s[8]=n.z,s[9]=t.x,s[10]=n.y,s[11]=n.z,s[12]=t.x,s[13]=t.y,s[14]=t.z,s[15]=n.x,s[16]=t.y,s[17]=t.z,s[18]=n.x,s[19]=n.y,s[20]=t.z,s[21]=t.x,s[22]=n.y,s[23]=t.z,s[24]=n.x,s[25]=t.y,s[26]=t.z,s[27]=n.x,s[28]=n.y,s[29]=t.z,s[30]=n.x,s[31]=n.y,s[32]=n.z,s[33]=n.x,s[34]=t.y,s[35]=n.z,s[36]=t.x,s[37]=t.y,s[38]=t.z,s[39]=t.x,s[40]=n.y,s[41]=t.z,s[42]=t.x,s[43]=n.y,s[44]=n.z,s[45]=t.x,s[46]=t.y,s[47]=n.z,s[48]=t.x,s[49]=n.y,s[50]=t.z,s[51]=n.x,s[52]=n.y,s[53]=t.z,s[54]=n.x,s[55]=n.y,s[56]=n.z,s[57]=t.x,s[58]=n.y,s[59]=n.z,s[60]=t.x,s[61]=t.y,s[62]=t.z,s[63]=n.x,s[64]=t.y,s[65]=t.z,s[66]=n.x,s[67]=t.y,s[68]=n.z,s[69]=t.x,s[70]=t.y,s[71]=n.z,o.position=new Ee({componentDatatype:Z.DOUBLE,componentsPerAttribute:3,values:s})),i.normal){let u=new Float32Array(72);u[0]=0,u[1]=0,u[2]=1,u[3]=0,u[4]=0,u[5]=1,u[6]=0,u[7]=0,u[8]=1,u[9]=0,u[10]=0,u[11]=1,u[12]=0,u[13]=0,u[14]=-1,u[15]=0,u[16]=0,u[17]=-1,u[18]=0,u[19]=0,u[20]=-1,u[21]=0,u[22]=0,u[23]=-1,u[24]=1,u[25]=0,u[26]=0,u[27]=1,u[28]=0,u[29]=0,u[30]=1,u[31]=0,u[32]=0,u[33]=1,u[34]=0,u[35]=0,u[36]=-1,u[37]=0,u[38]=0,u[39]=-1,u[40]=0,u[41]=0,u[42]=-1,u[43]=0,u[44]=0,u[45]=-1,u[46]=0,u[47]=0,u[48]=0,u[49]=1,u[50]=0,u[51]=0,u[52]=1,u[53]=0,u[54]=0,u[55]=1,u[56]=0,u[57]=0,u[58]=1,u[59]=0,u[60]=0,u[61]=-1,u[62]=0,u[63]=0,u[64]=-1,u[65]=0,u[66]=0,u[67]=-1,u[68]=0,u[69]=0,u[70]=-1,u[71]=0,o.normal=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:u})}if(i.st){let u=new Float32Array(48);u[0]=0,u[1]=0,u[2]=1,u[3]=0,u[4]=1,u[5]=1,u[6]=0,u[7]=1,u[8]=1,u[9]=0,u[10]=0,u[11]=0,u[12]=0,u[13]=1,u[14]=1,u[15]=1,u[16]=0,u[17]=0,u[18]=1,u[19]=0,u[20]=1,u[21]=1,u[22]=0,u[23]=1,u[24]=1,u[25]=0,u[26]=0,u[27]=0,u[28]=0,u[29]=1,u[30]=1,u[31]=1,u[32]=1,u[33]=0,u[34]=0,u[35]=0,u[36]=0,u[37]=1,u[38]=1,u[39]=1,u[40]=0,u[41]=0,u[42]=1,u[43]=0,u[44]=1,u[45]=1,u[46]=0,u[47]=1,o.st=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:2,values:u})}if(i.tangent){let u=new Float32Array(72);u[0]=1,u[1]=0,u[2]=0,u[3]=1,u[4]=0,u[5]=0,u[6]=1,u[7]=0,u[8]=0,u[9]=1,u[10]=0,u[11]=0,u[12]=-1,u[13]=0,u[14]=0,u[15]=-1,u[16]=0,u[17]=0,u[18]=-1,u[19]=0,u[20]=0,u[21]=-1,u[22]=0,u[23]=0,u[24]=0,u[25]=1,u[26]=0,u[27]=0,u[28]=1,u[29]=0,u[30]=0,u[31]=1,u[32]=0,u[33]=0,u[34]=1,u[35]=0,u[36]=0,u[37]=-1,u[38]=0,u[39]=0,u[40]=-1,u[41]=0,u[42]=0,u[43]=-1,u[44]=0,u[45]=0,u[46]=-1,u[47]=0,u[48]=-1,u[49]=0,u[50]=0,u[51]=-1,u[52]=0,u[53]=0,u[54]=-1,u[55]=0,u[56]=0,u[57]=-1,u[58]=0,u[59]=0,u[60]=1,u[61]=0,u[62]=0,u[63]=1,u[64]=0,u[65]=0,u[66]=1,u[67]=0,u[68]=0,u[69]=1,u[70]=0,u[71]=0,o.tangent=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:u})}if(i.bitangent){let u=new Float32Array(72);u[0]=0,u[1]=1,u[2]=0,u[3]=0,u[4]=1,u[5]=0,u[6]=0,u[7]=1,u[8]=0,u[9]=0,u[10]=1,u[11]=0,u[12]=0,u[13]=1,u[14]=0,u[15]=0,u[16]=1,u[17]=0,u[18]=0,u[19]=1,u[20]=0,u[21]=0,u[22]=1,u[23]=0,u[24]=0,u[25]=0,u[26]=1,u[27]=0,u[28]=0,u[29]=1,u[30]=0,u[31]=0,u[32]=1,u[33]=0,u[34]=0,u[35]=1,u[36]=0,u[37]=0,u[38]=1,u[39]=0,u[40]=0,u[41]=1,u[42]=0,u[43]=0,u[44]=1,u[45]=0,u[46]=0,u[47]=1,u[48]=0,u[49]=0,u[50]=1,u[51]=0,u[52]=0,u[53]=1,u[54]=0,u[55]=0,u[56]=1,u[57]=0,u[58]=0,u[59]=1,u[60]=0,u[61]=0,u[62]=1,u[63]=0,u[64]=0,u[65]=1,u[66]=0,u[67]=0,u[68]=1,u[69]=0,u[70]=0,u[71]=1,o.bitangent=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:u})}r=new Uint16Array(6*2*3),r[0]=0,r[1]=1,r[2]=2,r[3]=0,r[4]=2,r[5]=3,r[6]=4+2,r[7]=4+1,r[8]=4+0,r[9]=4+3,r[10]=4+2,r[11]=4+0,r[12]=8+0,r[13]=8+1,r[14]=8+2,r[15]=8+0,r[16]=8+2,r[17]=8+3,r[18]=12+2,r[19]=12+1,r[20]=12+0,r[21]=12+3,r[22]=12+2,r[23]=12+0,r[24]=16+2,r[25]=16+1,r[26]=16+0,r[27]=16+3,r[28]=16+2,r[29]=16+0,r[30]=20+0,r[31]=20+1,r[32]=20+2,r[33]=20+0,r[34]=20+2,r[35]=20+3}else s=new Float64Array(8*3),s[0]=t.x,s[1]=t.y,s[2]=t.z,s[3]=n.x,s[4]=t.y,s[5]=t.z,s[6]=n.x,s[7]=n.y,s[8]=t.z,s[9]=t.x,s[10]=n.y,s[11]=t.z,s[12]=t.x,s[13]=t.y,s[14]=n.z,s[15]=n.x,s[16]=t.y,s[17]=n.z,s[18]=n.x,s[19]=n.y,s[20]=n.z,s[21]=t.x,s[22]=n.y,s[23]=n.z,o.position=new Ee({componentDatatype:Z.DOUBLE,componentsPerAttribute:3,values:s}),r=new Uint16Array(6*2*3),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;let a=h.subtract(n,t,xbe),c=h.magnitude(a)*.5;if(l(e._offsetAttribute)){let u=s.length,f=e._offsetAttribute===Jt.NONE?0:1,d=new Uint8Array(u/3).fill(f);o.applyOffset=new Ee({componentDatatype:Z.UNSIGNED_BYTE,componentsPerAttribute:1,values:d})}return new rt({attributes:o,indices:r,primitiveType:Ne.TRIANGLES,boundingSphere:new re(h.ZERO,c),offsetAttribute:e._offsetAttribute})};var _5;dl.getUnitBox=function(){return l(_5)||(_5=dl.createGeometry(dl.fromDimensions({dimensions:new h(1,1,1),vertexFormat:ve.POSITION_ONLY}))),_5};var hl=dl;var Abe=new h;function Rd(e){e=y(e,y.EMPTY_OBJECT);let t=e.minimum,n=e.maximum;this._min=h.clone(t),this._max=h.clone(n),this._offsetAttribute=e.offsetAttribute,this._workerName="createBoxOutlineGeometry"}Rd.fromDimensions=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.dimensions,n=h.multiplyByScalar(t,.5,new h);return new Rd({minimum:h.negate(n,new h),maximum:n,offsetAttribute:e.offsetAttribute})};Rd.fromAxisAlignedBoundingBox=function(e){return new Rd({minimum:e.minimum,maximum:e.maximum})};Rd.packedLength=2*h.packedLength+1;Rd.pack=function(e,t,n){return n=y(n,0),h.pack(e._min,t,n),h.pack(e._max,t,n+h.packedLength),t[n+h.packedLength*2]=y(e._offsetAttribute,-1),t};var UK=new h,zK=new h,kK={minimum:UK,maximum:zK,offsetAttribute:void 0};Rd.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t,UK),o=h.unpack(e,t+h.packedLength,zK),r=e[t+h.packedLength*2];return l(n)?(n._min=h.clone(i,n._min),n._max=h.clone(o,n._max),n._offsetAttribute=r===-1?void 0:r,n):(kK.offsetAttribute=r===-1?void 0:r,new Rd(kK))};Rd.createGeometry=function(e){let t=e._min,n=e._max;if(h.equals(t,n))return;let i=new rn,o=new Uint16Array(12*2),r=new Float64Array(8*3);r[0]=t.x,r[1]=t.y,r[2]=t.z,r[3]=n.x,r[4]=t.y,r[5]=t.z,r[6]=n.x,r[7]=n.y,r[8]=t.z,r[9]=t.x,r[10]=n.y,r[11]=t.z,r[12]=t.x,r[13]=t.y,r[14]=n.z,r[15]=n.x,r[16]=t.y,r[17]=n.z,r[18]=n.x,r[19]=n.y,r[20]=n.z,r[21]=t.x,r[22]=n.y,r[23]=n.z,i.position=new Ee({componentDatatype:Z.DOUBLE,componentsPerAttribute:3,values:r}),o[0]=4,o[1]=5,o[2]=5,o[3]=6,o[4]=6,o[5]=7,o[6]=7,o[7]=4,o[8]=0,o[9]=1,o[10]=1,o[11]=2,o[12]=2,o[13]=3,o[14]=3,o[15]=0,o[16]=0,o[17]=4,o[18]=1,o[19]=5,o[20]=2,o[21]=6,o[22]=3,o[23]=7;let s=h.subtract(n,t,Abe),a=h.magnitude(s)*.5;if(l(e._offsetAttribute)){let c=r.length,u=e._offsetAttribute===Jt.NONE?0:1,f=new Uint8Array(c/3).fill(u);i.applyOffset=new Ee({componentDatatype:Z.UNSIGNED_BYTE,componentsPerAttribute:1,values:f})}return new rt({attributes:i,indices:o,primitiveType:Ne.LINES,boundingSphere:new re(h.ZERO,a),offsetAttribute:e._offsetAttribute})};var Md=Rd;function HK(){}HK.prototype.geocode=function(e){let t=e.match(/[^\s,\n]+/g);if(t.length===2||t.length===3){let n=+t[0],i=+t[1],o=t.length===3?+t[2]:300;if(isNaN(n)&&isNaN(i)){let r=/^(\d+.?\d*)([nsew])/i;for(let s=0;s<t.length;++s){let a=t[s].match(r);r.test(t[s])&&a.length===3&&(/^[ns]/i.test(a[2])?i=/^[n]/i.test(a[2])?+a[1]:-a[1]:/^[ew]/i.test(a[2])&&(n=/^[e]/i.test(a[2])?+a[1]:-a[1]))}}if(!isNaN(n)&&!isNaN(i)&&!isNaN(o)){let r={displayName:e,destination:h.fromDegrees(n,i,o)};return Promise.resolve([r])}}return Promise.resolve([])};var s1=HK;function hx(){this.times=void 0,this.points=void 0,ye.throwInstantiationError()}hx.getPointType=function(e){if(typeof e=="number")return Number;if(e instanceof h)return h;if(e instanceof Oe)return Oe};hx.prototype.evaluate=ye.throwInstantiationError;hx.prototype.findTimeInterval=function(e,t){let n=this.times,i=n.length;if(t=y(t,0),e>=n[t]){if(t+1<i&&e<n[t+1])return t;if(t+2<i&&e<n[t+2])return t+1}else if(t-1>=0&&e>=n[t-1])return t-1;let o;if(e>n[t])for(o=t;o<i-1&&!(e>=n[o]&&e<n[o+1]);++o);else for(o=t-1;o>=0&&!(e>=n[o]&&e<n[o+1]);--o);return o===i-1&&(o=i-2),o};hx.prototype.wrapTime=function(e){let t=this.times,n=t[t.length-1],i=t[0],o=n-i,r;return e<i&&(r=Math.floor((i-e)/o)+1,e+=r*o),e>n&&(r=Math.floor((e-n)/o)+1,e-=r*o),e};hx.prototype.clampTime=function(e){let t=this.times;return I.clamp(e,t[0],t[t.length-1])};var Xi=hx;function mx(e){e=y(e,y.EMPTY_OBJECT);let t=e.points,n=e.times;this._times=n,this._points=t,this._pointType=Xi.getPointType(t[0]),this._lastTimeIndex=0}Object.defineProperties(mx.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}}});mx.prototype.findTimeInterval=Xi.prototype.findTimeInterval;mx.prototype.wrapTime=Xi.prototype.wrapTime;mx.prototype.clampTime=Xi.prototype.clampTime;mx.prototype.evaluate=function(e,t){let n=this.points,i=this.times,o=this._lastTimeIndex=this.findTimeInterval(e,this._lastTimeIndex),r=(e-i[o])/(i[o+1]-i[o]);return this._pointType===Number?(1-r)*n[o]+r*n[o+1]:(l(t)||(t=new h),h.lerp(n[o],n[o+1],r,t))};var P0=mx;var GK={};GK.solve=function(e,t,n,i){let o=new Array(n.length),r=new Array(i.length),s=new Array(i.length),a;for(a=0;a<r.length;a++)r[a]=new h,s[a]=new h;o[0]=n[0]/t[0],r[0]=h.multiplyByScalar(i[0],1/t[0],r[0]);let c;for(a=1;a<o.length;++a)c=1/(t[a]-o[a-1]*e[a-1]),o[a]=n[a]*c,r[a]=h.subtract(i[a],h.multiplyByScalar(r[a-1],e[a-1],r[a]),r[a]),r[a]=h.multiplyByScalar(r[a],c,r[a]);for(c=1/(t[a]-o[a-1]*e[a-1]),r[a]=h.subtract(i[a],h.multiplyByScalar(r[a-1],e[a-1],r[a]),r[a]),r[a]=h.multiplyByScalar(r[a],c,r[a]),s[s.length-1]=r[r.length-1],a=s.length-2;a>=0;--a)s[a]=h.subtract(r[a],h.multiplyByScalar(s[a+1],o[a],s[a]),s[a]);return s};var Sb=GK;var WK=[],jK=[],qK=[],YK=[];function Tbe(e,t,n){let i=WK,o=qK,r=jK,s=YK;i.length=o.length=e.length-1,r.length=s.length=e.length;let a;i[0]=r[0]=1,o[0]=0;let c=s[0];for(l(c)||(c=s[0]=new h),h.clone(t,c),a=1;a<i.length-1;++a)i[a]=o[a]=1,r[a]=4,c=s[a],l(c)||(c=s[a]=new h),h.subtract(e[a+1],e[a-1],c),h.multiplyByScalar(c,3,c);return i[a]=0,o[a]=1,r[a]=4,c=s[a],l(c)||(c=s[a]=new h),h.subtract(e[a+1],e[a-1],c),h.multiplyByScalar(c,3,c),r[a+1]=1,c=s[a+1],l(c)||(c=s[a+1]=new h),h.clone(n,c),Sb.solve(i,r,o,s)}function Ebe(e){let t=WK,n=qK,i=jK,o=YK;t.length=n.length=e.length-1,i.length=o.length=e.length;let r;t[0]=n[0]=1,i[0]=2;let s=o[0];for(l(s)||(s=o[0]=new h),h.subtract(e[1],e[0],s),h.multiplyByScalar(s,3,s),r=1;r<t.length;++r)t[r]=n[r]=1,i[r]=4,s=o[r],l(s)||(s=o[r]=new h),h.subtract(e[r+1],e[r-1],s),h.multiplyByScalar(s,3,s);return i[r]=2,s=o[r],l(s)||(s=o[r]=new h),h.subtract(e[r],e[r-1],s),h.multiplyByScalar(s,3,s),Sb.solve(t,i,n,o)}function Bc(e){e=y(e,y.EMPTY_OBJECT);let t=e.points,n=e.times,i=e.inTangents,o=e.outTangents;this._times=n,this._points=t,this._pointType=Xi.getPointType(t[0]),this._inTangents=i,this._outTangents=o,this._lastTimeIndex=0}Object.defineProperties(Bc.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}},inTangents:{get:function(){return this._inTangents}},outTangents:{get:function(){return this._outTangents}}});Bc.createC1=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.times,n=e.points,i=e.tangents,o=i.slice(0,i.length-1),r=i.slice(1,i.length);return new Bc({times:t,points:n,inTangents:r,outTangents:o})};Bc.createNaturalCubic=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.times,n=e.points;if(n.length<3)return new P0({points:n,times:t});let i=Ebe(n),o=i.slice(0,i.length-1),r=i.slice(1,i.length);return new Bc({times:t,points:n,inTangents:r,outTangents:o})};Bc.createClampedCubic=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.times,n=e.points,i=e.firstTangent,o=e.lastTangent,r=Xi.getPointType(n[0]);if(n.length<3)return new P0({points:n,times:t});let s=Tbe(n,i,o),a=s.slice(0,s.length-1),c=s.slice(1,s.length);return new Bc({times:t,points:n,inTangents:c,outTangents:a})};Bc.hermiteCoefficientMatrix=new N(2,-3,0,1,-2,3,0,0,1,-2,1,0,1,-1,0,0);Bc.prototype.findTimeInterval=Xi.prototype.findTimeInterval;var bbe=new se,px=new h;Bc.prototype.wrapTime=Xi.prototype.wrapTime;Bc.prototype.clampTime=Xi.prototype.clampTime;Bc.prototype.evaluate=function(e,t){let n=this.points,i=this.times,o=this.inTangents,r=this.outTangents;this._lastTimeIndex=this.findTimeInterval(e,this._lastTimeIndex);let s=this._lastTimeIndex,a=i[s+1]-i[s],c=(e-i[s])/a,u=bbe;u.z=c,u.y=c*c,u.x=u.y*c,u.w=1;let f=N.multiplyByVector(Bc.hermiteCoefficientMatrix,u,u);f.z*=a,f.w*=a;let d=this._pointType;return d===Number?n[s]*f.x+n[s+1]*f.y+r[s]*f.z+o[s]*f.w:(l(t)||(t=new d),t=d.multiplyByScalar(n[s],f.x,t),d.multiplyByScalar(n[s+1],f.y,px),d.add(t,px,t),d.multiplyByScalar(r[s],f.z,px),d.add(t,px,t),d.multiplyByScalar(o[s],f.w,px),d.add(t,px,t))};var I0=Bc;var Sbe=new se,XK=new h,_x=new h;function wbe(e){let t=e.points,n=e.times;if(t.length<3){let i=n[0],o=1/(n[1]-i),r=t[0],s=t[1];return function(a,c){l(c)||(c=new h);let u=(a-i)*o;return h.lerp(r,s,u,c)}}return function(i,o){l(o)||(o=new h);let r=e._lastTimeIndex=e.findTimeInterval(i,e._lastTimeIndex),s=(i-n[r])/(n[r+1]-n[r]),a=Sbe;a.z=s,a.y=s*s,a.x=a.y*s,a.w=1;let c,u,f,d,p;return r===0?(c=t[0],u=t[1],f=e.firstTangent,d=h.subtract(t[2],c,XK),h.multiplyByScalar(d,.5,d),p=N.multiplyByVector(I0.hermiteCoefficientMatrix,a,a)):r===t.length-2?(c=t[r],u=t[r+1],d=e.lastTangent,f=h.subtract(u,t[r-1],XK),h.multiplyByScalar(f,.5,f),p=N.multiplyByVector(I0.hermiteCoefficientMatrix,a,a)):(c=t[r-1],u=t[r],f=t[r+1],d=t[r+2],p=N.multiplyByVector(Gp.catmullRomCoefficientMatrix,a,a)),o=h.multiplyByScalar(c,p.x,o),h.multiplyByScalar(u,p.y,_x),h.add(o,_x,o),h.multiplyByScalar(f,p.z,_x),h.add(o,_x,o),h.multiplyByScalar(d,p.w,_x),h.add(o,_x,o)}}var vbe=new h,Dbe=new h;function Gp(e){e=y(e,y.EMPTY_OBJECT);let t=e.points,n=e.times,i=e.firstTangent,o=e.lastTangent;if(t.length>2&&(l(i)||(i=vbe,h.multiplyByScalar(t[1],2,i),h.subtract(i,t[2],i),h.subtract(i,t[0],i),h.multiplyByScalar(i,.5,i)),!l(o))){let r=t.length-1;o=Dbe,h.multiplyByScalar(t[r-1],2,o),h.subtract(t[r],o,o),h.add(o,t[r-2],o),h.multiplyByScalar(o,.5,o)}this._times=n,this._points=t,this._firstTangent=h.clone(i),this._lastTangent=h.clone(o),this._evaluateFunction=wbe(this),this._lastTimeIndex=0}Object.defineProperties(Gp.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}},firstTangent:{get:function(){return this._firstTangent}},lastTangent:{get:function(){return this._lastTangent}}});Gp.catmullRomCoefficientMatrix=new N(-.5,1,-.5,0,1.5,-2.5,0,1,-1.5,2,.5,0,.5,-.5,0,0);Gp.prototype.findTimeInterval=Xi.prototype.findTimeInterval;Gp.prototype.wrapTime=Xi.prototype.wrapTime;Gp.prototype.clampTime=Xi.prototype.clampTime;Gp.prototype.evaluate=function(e,t){return this._evaluateFunction(e,t)};var KK=Gp;function Wp(e,t,n){return t=y(t,0),n=y(n,e.byteLength-t),e=e.subarray(t,t+n),Wp.decode(e)}Wp.decodeWithTextDecoder=function(e){return new TextDecoder("utf-8").decode(e)};Wp.decodeWithFromCharCode=function(e){let t="",n=Pbe(e),i=n.length;for(let o=0;o<i;++o){let r=n[o];r<=65535?t+=String.fromCharCode(r):(r-=65536,t+=String.fromCharCode((r>>10)+55296,(r&1023)+56320))}return t};function wb(e,t,n){return t<=e&&e<=n}function Pbe(e){let t=0,n=0,i=0,o=128,r=191,s=[],a=e.length;for(let c=0;c<a;++c){let u=e[c];if(i===0){if(wb(u,0,127)){s.push(u);continue}if(wb(u,194,223)){i=1,t=u&31;continue}if(wb(u,224,239)){u===224&&(o=160),u===237&&(r=159),i=2,t=u&15;continue}if(wb(u,240,244)){u===240&&(o=144),u===244&&(r=143),i=3,t=u&7;continue}throw new de("String decoding failed.")}if(!wb(u,o,r)){t=i=n=0,o=128,r=191,--c;continue}o=128,r=191,t=t<<6|u&63,++n,n===i&&(s.push(t),t=i=n=0)}return s}typeof TextDecoder<"u"?Wp.decode=Wp.decodeWithTextDecoder:Wp.decode=Wp.decodeWithFromCharCode;var ml=Wp;function Ibe(e,t,n){return JSON.parse(ml(e,t,n))}var Xo=Ibe;var a1={};a1.clipTriangleAtAxisAlignedThreshold=function(e,t,n,i,o,r){l(r)?r.length=0:r=[];let s,a,c;t?(s=n<e,a=i<e,c=o<e):(s=n>e,a=i>e,c=o>e);let u=s+a+c,f,d,p,g,m,C;return u===1?s?(f=(e-n)/(i-n),d=(e-n)/(o-n),r.push(1),r.push(2),d!==1&&(r.push(-1),r.push(0),r.push(2),r.push(d)),f!==1&&(r.push(-1),r.push(0),r.push(1),r.push(f))):a?(p=(e-i)/(o-i),g=(e-i)/(n-i),r.push(2),r.push(0),g!==1&&(r.push(-1),r.push(1),r.push(0),r.push(g)),p!==1&&(r.push(-1),r.push(1),r.push(2),r.push(p))):c&&(m=(e-o)/(n-o),C=(e-o)/(i-o),r.push(0),r.push(1),C!==1&&(r.push(-1),r.push(2),r.push(1),r.push(C)),m!==1&&(r.push(-1),r.push(2),r.push(0),r.push(m))):u===2?!s&&n!==e?(g=(e-i)/(n-i),m=(e-o)/(n-o),r.push(0),r.push(-1),r.push(1),r.push(0),r.push(g),r.push(-1),r.push(2),r.push(0),r.push(m)):!a&&i!==e?(C=(e-o)/(i-o),f=(e-n)/(i-n),r.push(1),r.push(-1),r.push(2),r.push(1),r.push(C),r.push(-1),r.push(0),r.push(1),r.push(f)):!c&&o!==e&&(d=(e-n)/(o-n),p=(e-i)/(o-i),r.push(2),r.push(-1),r.push(0),r.push(2),r.push(d),r.push(-1),r.push(1),r.push(2),r.push(p)):u!==3&&(r.push(0),r.push(1),r.push(2)),r};a1.computeBarycentricCoordinates=function(e,t,n,i,o,r,s,a,c){let u=n-s,f=s-o,d=r-a,p=i-a,g=1/(d*u+f*p),m=t-a,C=e-s,x=(d*C+f*m)*g,A=(-p*C+u*m)*g,b=1-x-A;return l(c)?(c.x=x,c.y=A,c.z=b,c):new h(x,A,b)};a1.computeLineSegmentLineSegmentIntersection=function(e,t,n,i,o,r,s,a,c){let u=(s-o)*(t-r)-(a-r)*(e-o),f=(n-e)*(t-r)-(i-t)*(e-o),d=(a-r)*(n-e)-(s-o)*(i-t);if(d===0)return;let p=u/d,g=f/d;if(p>=0&&p<=1&&g>=0&&g<=1)return l(c)||(c=new G),c.x=e+p*(n-e),c.y=t+p*(i-t),c};var jp=a1;function qp(e){this._quantizedVertices=e.quantizedVertices,this._encodedNormals=e.encodedNormals,this._indices=e.indices,this._minimumHeight=e.minimumHeight,this._maximumHeight=e.maximumHeight,this._boundingSphere=e.boundingSphere,this._orientedBoundingBox=e.orientedBoundingBox,this._horizonOcclusionPoint=e.horizonOcclusionPoint,this._credits=e.credits;let t=this._quantizedVertices.length/3,n=this._uValues=this._quantizedVertices.subarray(0,t),i=this._vValues=this._quantizedVertices.subarray(t,2*t);this._heightValues=this._quantizedVertices.subarray(2*t,3*t);function o(s,a){return i[s]-i[a]}function r(s,a){return n[s]-n[a]}this._westIndices=l1(e.westIndices,o,t),this._southIndices=l1(e.southIndices,r,t),this._eastIndices=l1(e.eastIndices,o,t),this._northIndices=l1(e.northIndices,r,t),this._westSkirtHeight=e.westSkirtHeight,this._southSkirtHeight=e.southSkirtHeight,this._eastSkirtHeight=e.eastSkirtHeight,this._northSkirtHeight=e.northSkirtHeight,this._childTileMask=y(e.childTileMask,15),this._createdByUpsampling=y(e.createdByUpsampling,!1),this._waterMask=e.waterMask,this._mesh=void 0}Object.defineProperties(qp.prototype,{credits:{get:function(){return this._credits}},waterMask:{get:function(){return this._waterMask}},childTileMask:{get:function(){return this._childTileMask}},canUpsample:{get:function(){return l(this._mesh)}}});var c1=[];function l1(e,t,n){c1.length=e.length;let i=!1;for(let o=0,r=e.length;o<r;++o)c1[o]=e[o],i=i||o>0&&t(e[o-1],e[o])>0;return i?(c1.sort(t),Be.createTypedArray(n,c1)):e}var ZK="createVerticesFromQuantizedTerrainMesh",Obe=new Ti(ZK),Rbe=new Ti(ZK,Id.maximumAsynchronousTasks);qp.prototype.createMesh=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.tilingScheme,n=e.x,i=e.y,o=e.level,r=y(e.exaggeration,1),s=y(e.exaggerationRelativeHeight,0),a=y(e.throttle,!0),c=t.ellipsoid,u=t.tileXYToRectangle(n,i,o),d=(a?Rbe:Obe).scheduleTask({minimumHeight:this._minimumHeight,maximumHeight:this._maximumHeight,quantizedVertices:this._quantizedVertices,octEncodedNormals:this._encodedNormals,includeWebMercatorT:!0,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,rectangle:u,relativeToCenter:this._boundingSphere.center,ellipsoid:c,exaggeration:r,exaggerationRelativeHeight:s});if(!l(d))return;let p=this;return Promise.resolve(d).then(function(g){let m=p._quantizedVertices.length/3,C=m+p._westIndices.length+p._southIndices.length+p._eastIndices.length+p._northIndices.length,x=Be.createTypedArray(C,g.indices),A=new Float32Array(g.vertices),b=g.center,E=g.minimumHeight,S=g.maximumHeight,v=p._boundingSphere,P=p._orientedBoundingBox,O=y(h.clone(g.occludeePointInScaledSpace),p._horizonOcclusionPoint),M=g.vertexStride,B=Ka.clone(g.encoding);return p._mesh=new ff(b,A,x,g.indexCountWithoutSkirts,m,E,S,v,O,M,P,B,g.westIndicesSouthToNorth,g.southIndicesEastToWest,g.eastIndicesNorthToSouth,g.northIndicesWestToEast),p._quantizedVertices=void 0,p._encodedNormals=void 0,p._indices=void 0,p._uValues=void 0,p._vValues=void 0,p._heightValues=void 0,p._westIndices=void 0,p._southIndices=void 0,p._eastIndices=void 0,p._northIndices=void 0,p._mesh})};var Mbe=new Ti("upsampleQuantizedTerrainMesh",Id.maximumAsynchronousTasks);qp.prototype.upsample=function(e,t,n,i,o,r,s){let a=this._mesh;if(!l(this._mesh))return;let c=t*2!==o,u=n*2===r,f=e.ellipsoid,d=e.tileXYToRectangle(o,r,s),p=Mbe.scheduleTask({vertices:a.vertices,vertexCountWithoutSkirts:a.vertexCountWithoutSkirts,indices:a.indices,indexCountWithoutSkirts:a.indexCountWithoutSkirts,encoding:a.encoding,minimumHeight:this._minimumHeight,maximumHeight:this._maximumHeight,isEastChild:c,isNorthChild:u,childRectangle:d,ellipsoid:f});if(!l(p))return;let g=Math.min(this._westSkirtHeight,this._eastSkirtHeight);g=Math.min(g,this._southSkirtHeight),g=Math.min(g,this._northSkirtHeight);let m=c?g*.5:this._westSkirtHeight,C=u?g*.5:this._southSkirtHeight,x=c?this._eastSkirtHeight:g*.5,A=u?this._northSkirtHeight:g*.5,b=this._credits;return Promise.resolve(p).then(function(E){let S=new Uint16Array(E.vertices),v=Be.createTypedArray(S.length/3,E.indices),P;return l(E.encodedNormals)&&(P=new Uint8Array(E.encodedNormals)),new qp({quantizedVertices:S,indices:v,encodedNormals:P,minimumHeight:E.minimumHeight,maximumHeight:E.maximumHeight,boundingSphere:re.clone(E.boundingSphere),orientedBoundingBox:pi.clone(E.orientedBoundingBox),horizonOcclusionPoint:h.clone(E.horizonOcclusionPoint),westIndices:E.westIndices,southIndices:E.southIndices,eastIndices:E.eastIndices,northIndices:E.northIndices,westSkirtHeight:m,southSkirtHeight:C,eastSkirtHeight:x,northSkirtHeight:A,childTileMask:0,credits:b,createdByUpsampling:!0})})};var g5=32767,$K=new h;qp.prototype.interpolateHeight=function(e,t,n){let i=I.clamp((t-e.west)/e.width,0,1);i*=g5;let o=I.clamp((n-e.south)/e.height,0,1);return o*=g5,l(this._mesh)?Fbe(this,i,o):Vbe(this,i,o)};function JK(e,t,n,i,o,r,s,a){let c=Math.min(n,o,s),u=Math.max(n,o,s),f=Math.min(i,r,a),d=Math.max(i,r,a);return e>=c&&e<=u&&t>=f&&t<=d}var Bbe=new G,Lbe=new G,Nbe=new G;function Fbe(e,t,n){let i=e._mesh,o=i.vertices,r=i.encoding,s=i.indices;for(let a=0,c=s.length;a<c;a+=3){let u=s[a],f=s[a+1],d=s[a+2],p=r.decodeTextureCoordinates(o,u,Bbe),g=r.decodeTextureCoordinates(o,f,Lbe),m=r.decodeTextureCoordinates(o,d,Nbe);if(JK(t,n,p.x,p.y,g.x,g.y,m.x,m.y)){let C=jp.computeBarycentricCoordinates(t,n,p.x,p.y,g.x,g.y,m.x,m.y,$K);if(C.x>=-1e-15&&C.y>=-1e-15&&C.z>=-1e-15){let x=r.decodeHeight(o,u),A=r.decodeHeight(o,f),b=r.decodeHeight(o,d);return C.x*x+C.y*A+C.z*b}}}}function Vbe(e,t,n){let i=e._uValues,o=e._vValues,r=e._heightValues,s=e._indices;for(let a=0,c=s.length;a<c;a+=3){let u=s[a],f=s[a+1],d=s[a+2],p=i[u],g=i[f],m=i[d],C=o[u],x=o[f],A=o[d];if(JK(t,n,p,C,g,x,m,A)){let b=jp.computeBarycentricCoordinates(t,n,p,C,g,x,m,A,$K);if(b.x>=-1e-15&&b.y>=-1e-15&&b.z>=-1e-15){let E=b.x*r[u]+b.y*r[f]+b.z*r[d];return I.lerp(e._minimumHeight,e._maximumHeight,E/g5)}}}}qp.prototype.isChildAvailable=function(e,t,n,i){let o=2;return n!==e*2&&++o,i!==t*2&&(o-=2),(this._childTileMask&1<<o)!==0};qp.prototype.wasCreatedByUpsampling=function(){return this._createdByUpsampling};var gx=qp;function kbe(e){this.resource=e.resource,this.version=e.version,this.isHeightmap=e.isHeightmap,this.tileUrlTemplates=e.tileUrlTemplates,this.availability=e.availability,this.hasVertexNormals=e.hasVertexNormals,this.hasWaterMask=e.hasWaterMask,this.hasMetadata=e.hasMetadata,this.availabilityLevels=e.availabilityLevels,this.availabilityTilesLoaded=e.availabilityTilesLoaded,this.littleEndianExtensionSize=e.littleEndianExtensionSize,this.availabilityPromiseCache={}}function O0(e){this._heightmapWidth=65,this._heightmapStructure=void 0,this._hasWaterMask=!1,this._hasVertexNormals=!1,this._ellipsoid=e.ellipsoid,this._requestVertexNormals=y(e.requestVertexNormals,!1),this._requestWaterMask=y(e.requestWaterMask,!1),this._requestMetadata=y(e.requestMetadata,!0),this._errorEvent=new ge;let t=e.credit;typeof t=="string"&&(t=new jt(t)),this._credit=t,this._availability=void 0,this._ready=!1,this._tileCredits=void 0;let n=this,i,o,r,s=this._layers=[],a="",c=[],u=0;this._readyPromise=Promise.resolve(e.url).then(function(C){let x=Ie.createIfNeeded(C);return x.appendForwardSlash(),i=x,o=i.getDerivedResource({url:"layer.json"}),n._tileCredits=x.credits,m()});function f(C){let x;if(!C.format)return x="The tile format is not specified in the layer.json file.",r=jn.reportError(r,n,n._errorEvent,x),r.retry?m():Promise.reject(new de(x));if(!C.tiles||C.tiles.length===0)return x="The layer.json file does not specify any tile URL templates.",r=jn.reportError(r,n,n._errorEvent,x),r.retry?m():Promise.reject(new de(x));let A=!1,b=!1,E=!1,S=!0,v=!1;if(C.format==="heightmap-1.0")v=!0,l(n._heightmapStructure)||(n._heightmapStructure={heightScale:1/5,heightOffset:-1e3,elementsPerHeight:1,stride:1,elementMultiplier:256,isBigEndian:!1,lowestEncodedHeight:0,highestEncodedHeight:256*256-1}),b=!0,n._requestWaterMask=!0;else if(C.format.indexOf("quantized-mesh-1.")!==0)return x=`The tile format "${C.format}" is invalid or not supported.`,r=jn.reportError(r,n,n._errorEvent,x),r.retry?m():Promise.reject(new de(x));let P=C.tiles,O=C.maxzoom;if(u=Math.max(u,O),!C.projection||C.projection==="EPSG:4326")n._tilingScheme=new Hi({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:1,ellipsoid:n._ellipsoid});else if(C.projection==="EPSG:3857")n._tilingScheme=new Ur({numberOfLevelZeroTilesX:1,numberOfLevelZeroTilesY:1,ellipsoid:n._ellipsoid});else return x=`The projection "${C.projection}" is invalid or not supported.`,r=jn.reportError(r,n,n._errorEvent,x),r.retry?m():Promise.reject(new de(x));if(n._levelZeroMaximumGeometricError=kr.getEstimatedLevelZeroGeometricErrorForAHeightmap(n._tilingScheme.ellipsoid,n._heightmapWidth,n._tilingScheme.getNumberOfXTilesAtLevel(0)),!C.scheme||C.scheme==="tms"||C.scheme==="slippyMap")n._scheme=C.scheme;else return x=`The scheme "${C.scheme}" is invalid or not supported.`,r=jn.reportError(r,n,n._errorEvent,x),r.retry?m():Promise.reject(new de(x));let M;l(C.extensions)&&C.extensions.indexOf("octvertexnormals")!==-1?A=!0:l(C.extensions)&&C.extensions.indexOf("vertexnormals")!==-1&&(A=!0,S=!1),l(C.extensions)&&C.extensions.indexOf("watermask")!==-1&&(b=!0),l(C.extensions)&&C.extensions.indexOf("metadata")!==-1&&(E=!0);let B=C.metadataAvailability,L=C.available,_;if(l(L)&&!l(B)){_=new Od(n._tilingScheme,L.length);for(let w=0;w<L.length;++w){let D=L[w],R=n._tilingScheme.getNumberOfYTilesAtLevel(w);l(c[w])||(c[w]=[]);for(let F=0;F<D.length;++F){let z=D[F],k=R-z.endY-1,H=R-z.startY-1;c[w].push([z.startX,k,z.endX,H]),_.addAvailableTileRange(w,z.startX,k,z.endX,H)}}}else l(B)&&(M=new Od(n._tilingScheme,O),_=new Od(n._tilingScheme,O),c[0]=[[0,0,1,0]],_.addAvailableTileRange(0,0,0,1,0));n._hasWaterMask=n._hasWaterMask||b,n._hasVertexNormals=n._hasVertexNormals||A,n._hasMetadata=n._hasMetadata||E,l(C.attribution)&&(a.length>0&&(a+=" "),a+=C.attribution),s.push(new kbe({resource:i,version:C.version,isHeightmap:v,tileUrlTemplates:P,availability:_,hasVertexNormals:A,hasWaterMask:b,hasMetadata:E,availabilityLevels:B,availabilityTilesLoaded:M,littleEndianExtensionSize:S}));let T=C.parentUrl;if(l(T)){if(!l(_))return console.log("A layer.json can't have a parentUrl if it does't have an available array."),Promise.resolve(!0);i=i.getDerivedResource({url:T}),i.appendForwardSlash(),o=i.getDerivedResource({url:"layer.json"});let w=o.fetchJson();return Promise.resolve(w).then(f).catch(d)}return Promise.resolve(!0)}function d(C){let x=`An error occurred while accessing ${o.url}.`;return r=jn.reportError(r,n,n._errorEvent,x),r.retry?m():Promise.reject(new de(x))}function p(C){return f(C).then(function(){if(l(r))return;let x=c.length;if(x>0){let A=n._availability=new Od(n._tilingScheme,u);for(let b=0;b<x;++b){let E=c[b];for(let S=0;S<E.length;++S){let v=E[S];A.addAvailableTileRange(b,v[0],v[1],v[2],v[3])}}}if(a.length>0){let A=new jt(a);l(n._tileCredits)?n._tileCredits.push(A):n._tileCredits=[A]}return n._ready=!0,Promise.resolve(!0)})}function g(C){return l(C)&&C.statusCode===404?p({tilejson:"2.1.0",format:"heightmap-1.0",version:"1.0.0",scheme:"tms",tiles:["{z}/{x}/{y}.terrain?v={version}"]}):d(C)}function m(){return Promise.resolve(o.fetchJson()).then(p).catch(g)}}var y5={OCT_VERTEX_NORMALS:1,WATER_MASK:2,METADATA:4};function QK(e){return!l(e)||e.length===0?{Accept:"application/vnd.quantized-mesh,application/octet-stream;q=0.9,*/*;q=0.01"}:{Accept:`application/vnd.quantized-mesh;extensions=${e.join("-")},application/octet-stream;q=0.9,*/*;q=0.01`}}function Ube(e,t,n,i,o){let r=new Uint16Array(t,0,e._heightmapWidth*e._heightmapWidth);return new ma({buffer:r,childTileMask:new Uint8Array(t,r.byteLength,1)[0],waterMask:new Uint8Array(t,r.byteLength+1,t.byteLength-r.byteLength-1),width:e._heightmapWidth,height:e._heightmapWidth,structure:e._heightmapStructure,credits:e._tileCredits})}function zbe(e,t,n,i,o,r){let s=r.littleEndianExtensionSize,a=0,c=3,u=c+1,f=Float64Array.BYTES_PER_ELEMENT*c,d=Float64Array.BYTES_PER_ELEMENT*u,p=3,g=Uint16Array.BYTES_PER_ELEMENT*p,m=3,C=Uint16Array.BYTES_PER_ELEMENT,x=C*m,A=new DataView(t),b=new h(A.getFloat64(a,!0),A.getFloat64(a+8,!0),A.getFloat64(a+16,!0));a+=f;let E=A.getFloat32(a,!0);a+=Float32Array.BYTES_PER_ELEMENT;let S=A.getFloat32(a,!0);a+=Float32Array.BYTES_PER_ELEMENT;let v=new re(new h(A.getFloat64(a,!0),A.getFloat64(a+8,!0),A.getFloat64(a+16,!0)),A.getFloat64(a+f,!0));a+=d;let P=new h(A.getFloat64(a,!0),A.getFloat64(a+8,!0),A.getFloat64(a+16,!0));a+=f;let O=A.getUint32(a,!0);a+=Uint32Array.BYTES_PER_ELEMENT;let M=new Uint16Array(t,a,O*3);a+=O*g,O>64*1024&&(C=Uint32Array.BYTES_PER_ELEMENT,x=C*m);let B=M.subarray(0,O),L=M.subarray(O,2*O),_=M.subarray(O*2,3*O);kn.zigZagDeltaDecode(B,L,_),a%C!==0&&(a+=C-a%C);let T=A.getUint32(a,!0);a+=Uint32Array.BYTES_PER_ELEMENT;let w=Be.createTypedArrayFromArrayBuffer(O,t,a,T*m);a+=T*x;let D=0,R=w.length;for(let ie=0;ie<R;++ie){let ce=w[ie];w[ie]=D-ce,ce===0&&++D}let F=A.getUint32(a,!0);a+=Uint32Array.BYTES_PER_ELEMENT;let z=Be.createTypedArrayFromArrayBuffer(O,t,a,F);a+=F*C;let k=A.getUint32(a,!0);a+=Uint32Array.BYTES_PER_ELEMENT;let H=Be.createTypedArrayFromArrayBuffer(O,t,a,k);a+=k*C;let V=A.getUint32(a,!0);a+=Uint32Array.BYTES_PER_ELEMENT;let Y=Be.createTypedArrayFromArrayBuffer(O,t,a,V);a+=V*C;let q=A.getUint32(a,!0);a+=Uint32Array.BYTES_PER_ELEMENT;let X=Be.createTypedArrayFromArrayBuffer(O,t,a,q);a+=q*C;let W,K;for(;a<A.byteLength;){let ie=A.getUint8(a,!0);a+=Uint8Array.BYTES_PER_ELEMENT;let ce=A.getUint32(a,s);if(a+=Uint32Array.BYTES_PER_ELEMENT,ie===y5.OCT_VERTEX_NORMALS&&e._requestVertexNormals)W=new Uint8Array(t,a,O*2);else if(ie===y5.WATER_MASK&&e._requestWaterMask)K=new Uint8Array(t,a,ce);else if(ie===y5.METADATA&&e._requestMetadata){let pe=A.getUint32(a,!0);if(pe>0){let we=Xo(new Uint8Array(t),a+Uint32Array.BYTES_PER_ELEMENT,pe).available;if(l(we))for(let Re=0;Re<we.length;++Re){let Ue=n+Re+1,bt=we[Re],Ut=e._tilingScheme.getNumberOfYTilesAtLevel(Ue);for(let sn=0;sn<bt.length;++sn){let dt=bt[sn],vn=Ut-dt.endY-1,Jn=Ut-dt.startY-1;e.availability.addAvailableTileRange(Ue,dt.startX,vn,dt.endX,Jn),r.availability.addAvailableTileRange(Ue,dt.startX,vn,dt.endX,Jn)}}}r.availabilityTilesLoaded.addAvailableTileRange(n,i,o,i,o)}a+=ce}let $=e.getLevelMaximumGeometricError(n)*5,le=e._tilingScheme.tileXYToRectangle(i,o,n),me=pi.fromRectangle(le,E,S,e._tilingScheme.ellipsoid);return new gx({center:b,minimumHeight:E,maximumHeight:S,boundingSphere:v,orientedBoundingBox:me,horizonOcclusionPoint:P,quantizedVertices:M,encodedNormals:W,indices:w,westIndices:z,southIndices:H,eastIndices:Y,northIndices:X,westSkirtHeight:$,southSkirtHeight:$,eastSkirtHeight:$,northSkirtHeight:$,childTileMask:e.availability.computeChildMaskForTile(n,i,o),waterMask:K,credits:e._tileCredits})}O0.prototype.requestTileGeometry=function(e,t,n,i){let o=this._layers,r,s=o.length;if(s===1)r=o[0];else for(let a=0;a<s;++a){let c=o[a];if(!l(c.availability)||c.availability.isTileAvailable(n,e,t)){r=c;break}}return eZ(this,e,t,n,r,i)};function eZ(e,t,n,i,o,r){if(!l(o))return Promise.reject(new de("Terrain tile doesn't exist"));let s=o.tileUrlTemplates;if(s.length===0)return;let a;!e._scheme||e._scheme==="tms"?a=e._tilingScheme.getNumberOfYTilesAtLevel(i)-n-1:a=n;let c=[];e._requestVertexNormals&&o.hasVertexNormals&&c.push(o.littleEndianExtensionSize?"octvertexnormals":"vertexnormals"),e._requestWaterMask&&o.hasWaterMask&&c.push("watermask"),e._requestMetadata&&o.hasMetadata&&c.push("metadata");let u,f,d=s[(t+a+i)%s.length],p=o.resource;l(p._ionEndpoint)&&!l(p._ionEndpoint.externalType)?(c.length!==0&&(f={extensions:c.join("-")}),u=QK(void 0)):u=QK(c);let g=p.getDerivedResource({url:d,templateValues:{version:o.version,z:i,x:t,y:a},queryParameters:f,headers:u,request:r}).fetchArrayBuffer();if(!!l(g))return g.then(function(m){return l(m)?l(e._heightmapStructure)?Ube(e,m,i,t,n):zbe(e,m,i,t,n,o):Promise.reject(new de("Mesh buffer doesn't exist."))})}Object.defineProperties(O0.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){return this._tilingScheme}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}},hasWaterMask:{get:function(){return this._hasWaterMask&&this._requestWaterMask}},hasVertexNormals:{get:function(){return this._hasVertexNormals&&this._requestVertexNormals}},hasMetadata:{get:function(){return this._hasMetadata&&this._requestMetadata}},requestVertexNormals:{get:function(){return this._requestVertexNormals}},requestWaterMask:{get:function(){return this._requestWaterMask}},requestMetadata:{get:function(){return this._requestMetadata}},availability:{get:function(){return this._availability}}});O0.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)};O0.prototype.getTileDataAvailable=function(e,t,n){if(!l(this._availability))return;if(n>this._availability._maximumLevel)return!1;if(this._availability.isTileAvailable(n,e,t))return!0;if(!this._hasMetadata)return!1;let i=this._layers,o=i.length;for(let r=0;r<o;++r)if(tZ(this,e,t,n,i[r],r===0).result)return;return!1};O0.prototype.loadTileDataAvailability=function(e,t,n){if(!l(this._availability)||n>this._availability._maximumLevel||this._availability.isTileAvailable(n,e,t)||!this._hasMetadata)return;let i=this._layers,o=i.length;for(let r=0;r<o;++r){let s=tZ(this,e,t,n,i[r],r===0);if(l(s.promise))return s.promise}};function C5(e,t,n,i){if(i===0)return;let o=e.availabilityLevels,r=i%o===0?i-o:(i/o|0)*o,s=1<<i-r,a=t/s|0,c=n/s|0;return{level:r,x:a,y:c}}function tZ(e,t,n,i,o,r){if(!l(o.availabilityLevels))return{result:!1};let s,a=function(){delete o.availabilityPromiseCache[s]},c=o.availabilityTilesLoaded,u=o.availability,f=C5(o,t,n,i);for(;l(f);){if(u.isTileAvailable(f.level,f.x,f.y)&&!c.isTileAvailable(f.level,f.x,f.y)){let d;if(!r&&(s=`${f.level}-${f.x}-${f.y}`,d=o.availabilityPromiseCache[s],!l(d))){let p=new jo({throttle:!1,throttleByServer:!0,type:Kr.TERRAIN});d=eZ(e,f.x,f.y,f.level,o,p),l(d)&&(o.availabilityPromiseCache[s]=d,d.then(a))}return{result:!0,promise:d}}f=C5(o,f.x,f.y,f.level)}return{result:!1}}O0._getAvailabilityTile=C5;var u1=O0;var A5={},f1=new h,nZ=new h,iZ=new Oe,oZ=new J;function yx(e,t,n,i,o,r,s,a,c,u){let f=e+t;h.multiplyByScalar(i,Math.cos(f),f1),h.multiplyByScalar(n,Math.sin(f),nZ),h.add(f1,nZ,f1);let d=Math.cos(e);d=d*d;let p=Math.sin(e);p=p*p;let m=r/Math.sqrt(s*d+o*p)/a;return Oe.fromAxisAngle(f1,m,iZ),J.fromQuaternion(iZ,oZ),J.multiplyByVector(oZ,c,u),h.normalize(u,u),h.multiplyByScalar(u,a,u),u}var rZ=new h,sZ=new h,x5=new h,Hbe=new h;A5.raisePositionsToHeight=function(e,t,n){let i=t.ellipsoid,o=t.height,r=t.extrudedHeight,s=n?e.length/3*2:e.length/3,a=new Float64Array(s*3),c=e.length,u=n?c:0;for(let f=0;f<c;f+=3){let d=f+1,p=f+2,g=h.fromArray(e,f,rZ);i.scaleToGeodeticSurface(g,g);let m=h.clone(g,sZ),C=i.geodeticSurfaceNormal(g,Hbe),x=h.multiplyByScalar(C,o,x5);h.add(g,x,g),n&&(h.multiplyByScalar(C,r,x),h.add(m,x,m),a[f+u]=m.x,a[d+u]=m.y,a[p+u]=m.z),a[f]=g.x,a[d]=g.y,a[p]=g.z}return a};var Gbe=new h,Wbe=new h,jbe=new h;A5.computeEllipsePositions=function(e,t,n){let i=e.semiMinorAxis,o=e.semiMajorAxis,r=e.rotation,s=e.center,a=e.granularity*8,c=i*i,u=o*o,f=o*i,d=h.magnitude(s),p=h.normalize(s,Gbe),g=h.cross(h.UNIT_Z,s,Wbe);g=h.normalize(g,g);let m=h.cross(p,g,jbe),C=1+Math.ceil(I.PI_OVER_TWO/a),x=I.PI_OVER_TWO/(C-1),A=I.PI_OVER_TWO-C*x;A<0&&(C-=Math.ceil(Math.abs(A)/x));let b=2*(C*(C+2)),E=t?new Array(b*3):void 0,S=0,v=rZ,P=sZ,O=C*4*3,M=O-1,B=0,L=n?new Array(O):void 0,_,T,w,D,R;for(A=I.PI_OVER_TWO,v=yx(A,r,m,g,c,f,u,d,p,v),t&&(E[S++]=v.x,E[S++]=v.y,E[S++]=v.z),n&&(L[M--]=v.z,L[M--]=v.y,L[M--]=v.x),A=I.PI_OVER_TWO-x,_=1;_<C+1;++_){if(v=yx(A,r,m,g,c,f,u,d,p,v),P=yx(Math.PI-A,r,m,g,c,f,u,d,p,P),t){for(E[S++]=v.x,E[S++]=v.y,E[S++]=v.z,w=2*_+2,T=1;T<w-1;++T)D=T/(w-1),R=h.lerp(v,P,D,x5),E[S++]=R.x,E[S++]=R.y,E[S++]=R.z;E[S++]=P.x,E[S++]=P.y,E[S++]=P.z}n&&(L[M--]=v.z,L[M--]=v.y,L[M--]=v.x,L[B++]=P.x,L[B++]=P.y,L[B++]=P.z),A=I.PI_OVER_TWO-(_+1)*x}for(_=C;_>1;--_){if(A=I.PI_OVER_TWO-(_-1)*x,v=yx(-A,r,m,g,c,f,u,d,p,v),P=yx(A+Math.PI,r,m,g,c,f,u,d,p,P),t){for(E[S++]=v.x,E[S++]=v.y,E[S++]=v.z,w=2*(_-1)+2,T=1;T<w-1;++T)D=T/(w-1),R=h.lerp(v,P,D,x5),E[S++]=R.x,E[S++]=R.y,E[S++]=R.z;E[S++]=P.x,E[S++]=P.y,E[S++]=P.z}n&&(L[M--]=v.z,L[M--]=v.y,L[M--]=v.x,L[B++]=P.x,L[B++]=P.y,L[B++]=P.z)}A=I.PI_OVER_TWO,v=yx(-A,r,m,g,c,f,u,d,p,v);let F={};return t&&(E[S++]=v.x,E[S++]=v.y,E[S++]=v.z,F.positions=E,F.numPts=C),n&&(L[M--]=v.z,L[M--]=v.y,L[M--]=v.x,F.outerPositions=L),F};var pl=A5;function qbe(e){e=y(e,y.EMPTY_OBJECT),this.geometry=e.geometry,this.modelMatrix=N.clone(y(e.modelMatrix,N.IDENTITY)),this.id=e.id,this.pickPrimitive=e.pickPrimitive,this.attributes=y(e.attributes,{}),this.westHemisphereGeometry=void 0,this.eastHemisphereGeometry=void 0}var pt=qbe;var aZ=new h,cZ=new h,lZ=new h;function Ybe(e,t,n,i,o){l(o)||(o=new h);let r,s,a,c,u,f,d,p;if(l(t.z)){if(h.equalsEpsilon(e,t,I.EPSILON14))return h.clone(h.UNIT_X,o);if(h.equalsEpsilon(e,n,I.EPSILON14))return h.clone(h.UNIT_Y,o);if(h.equalsEpsilon(e,i,I.EPSILON14))return h.clone(h.UNIT_Z,o);r=h.subtract(n,t,aZ),s=h.subtract(i,t,cZ),a=h.subtract(e,t,lZ),c=h.dot(r,r),u=h.dot(r,s),f=h.dot(r,a),d=h.dot(s,s),p=h.dot(s,a)}else{if(G.equalsEpsilon(e,t,I.EPSILON14))return h.clone(h.UNIT_X,o);if(G.equalsEpsilon(e,n,I.EPSILON14))return h.clone(h.UNIT_Y,o);if(G.equalsEpsilon(e,i,I.EPSILON14))return h.clone(h.UNIT_Z,o);r=G.subtract(n,t,aZ),s=G.subtract(i,t,cZ),a=G.subtract(e,t,lZ),c=G.dot(r,r),u=G.dot(r,s),f=G.dot(r,a),d=G.dot(s,s),p=G.dot(s,a)}o.y=d*f-u*p,o.z=c*p-u*f;let g=c*d-u*u;if(g!==0)return o.y/=g,o.z/=g,o.x=1-o.y-o.z,o}var Cx=Ybe;function Bd(){this.high=h.clone(h.ZERO),this.low=h.clone(h.ZERO)}Bd.encode=function(e,t){l(t)||(t={high:0,low:0});let n;return e>=0?(n=Math.floor(e/65536)*65536,t.high=n,t.low=e-n):(n=Math.floor(-e/65536)*65536,t.high=-n,t.low=e+n),t};var om={high:0,low:0};Bd.fromCartesian=function(e,t){l(t)||(t=new Bd);let n=t.high,i=t.low;return Bd.encode(e.x,om),n.x=om.high,i.x=om.low,Bd.encode(e.y,om),n.y=om.high,i.y=om.low,Bd.encode(e.z,om),n.z=om.high,i.z=om.low,t};var T5=new Bd;Bd.writeElements=function(e,t,n){Bd.fromCartesian(e,T5);let i=T5.high,o=T5.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};var Un=Bd;var E5={};E5.calculateACMR=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.indices,n=e.maximumIndex,i=y(e.cacheSize,24),o=t.length;if(!l(n)){n=0;let a=0,c=t[a];for(;a<o;)c>n&&(n=c),++a,c=t[a]}let r=[];for(let a=0;a<n+1;a++)r[a]=0;let s=i+1;for(let a=0;a<o;++a)s-r[t[a]]>i&&(r[t[a]]=s,++s);return(s-i+1)/(o/3)};E5.tipsify=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.indices,n=e.maximumIndex,i=y(e.cacheSize,24),o;function r(_,T,w,D){for(;T.length>=1;){let R=T[T.length-1];if(T.splice(T.length-1,1),_[R].numLiveTriangles>0)return R}for(;o<D;){if(_[o].numLiveTriangles>0)return++o,o-1;++o}return-1}function s(_,T,w,D,R,F,z){let k=-1,H,V=-1,Y=0;for(;Y<w.length;){let q=w[Y];D[q].numLiveTriangles&&(H=0,R-D[q].timeStamp+2*D[q].numLiveTriangles<=T&&(H=R-D[q].timeStamp),(H>V||V===-1)&&(V=H,k=q)),++Y}return k===-1?r(D,F,_,z):k}let a=t.length,c=0,u=0,f=t[u],d=a;if(l(n))c=n+1;else{for(;u<d;)f>c&&(c=f),++u,f=t[u];if(c===-1)return 0;++c}let p=[],g;for(g=0;g<c;g++)p[g]={numLiveTriangles:0,timeStamp:0,vertexTriangles:[]};u=0;let m=0;for(;u<d;)p[t[u]].vertexTriangles.push(m),++p[t[u]].numLiveTriangles,p[t[u+1]].vertexTriangles.push(m),++p[t[u+1]].numLiveTriangles,p[t[u+2]].vertexTriangles.push(m),++p[t[u+2]].numLiveTriangles,++m,u+=3;let C=0,x=i+1;o=1;let A=[],b=[],E,S,v=0,P=[],O=a/3,M=[];for(g=0;g<O;g++)M[g]=!1;let B,L;for(;C!==-1;){A=[],S=p[C],L=S.vertexTriangles.length;for(let _=0;_<L;++_)if(m=S.vertexTriangles[_],!M[m]){M[m]=!0,u=m+m+m;for(let T=0;T<3;++T)B=t[u],A.push(B),b.push(B),P[v]=B,++v,E=p[B],--E.numLiveTriangles,x-E.timeStamp>i&&(E.timeStamp=x,++x),++u}C=s(t,i,A,p,x,b,c)}return P};var d1=E5;var Ja={};function C1(e,t,n,i,o){e[t++]=n,e[t++]=i,e[t++]=i,e[t++]=o,e[t++]=o,e[t]=n}function Xbe(e){let t=e.length,n=t/3*6,i=Be.createTypedArray(t,n),o=0;for(let r=0;r<t;r+=3,o+=6)C1(i,o,e[r],e[r+1],e[r+2]);return i}function Kbe(e){let t=e.length;if(t>=3){let n=(t-2)*6,i=Be.createTypedArray(t,n);C1(i,0,e[0],e[1],e[2]);let o=6;for(let r=3;r<t;++r,o+=6)C1(i,o,e[r-1],e[r],e[r-2]);return i}return new Uint16Array}function Zbe(e){if(e.length>0){let t=e.length-1,n=(t-1)*6,i=Be.createTypedArray(t,n),o=e[0],r=0;for(let s=1;s<t;++s,r+=6)C1(i,r,o,e[s],e[s+1]);return i}return new Uint16Array}Ja.toWireframe=function(e){let t=e.indices;if(l(t)){switch(e.primitiveType){case Ne.TRIANGLES:e.indices=Xbe(t);break;case Ne.TRIANGLE_STRIP:e.indices=Kbe(t);break;case Ne.TRIANGLE_FAN:e.indices=Zbe(t);break}e.primitiveType=Ne.LINES}return e};Ja.createLineSegmentsForVectors=function(e,t,n){t=y(t,"normal"),n=y(n,1e4);let i=e.attributes.position.values,o=e.attributes[t].values,r=i.length,s=new Float64Array(2*r),a=0;for(let f=0;f<r;f+=3)s[a++]=i[f],s[a++]=i[f+1],s[a++]=i[f+2],s[a++]=i[f]+o[f]*n,s[a++]=i[f+1]+o[f+1]*n,s[a++]=i[f+2]+o[f+2]*n;let c,u=e.boundingSphere;return l(u)&&(c=new re(u.center,u.radius+n)),new rt({attributes:{position:new Ee({componentDatatype:Z.DOUBLE,componentsPerAttribute:3,values:s})},primitiveType:Ne.LINES,boundingSphere:c})};Ja.createAttributeLocations=function(e){let t=["position","positionHigh","positionLow","position3DHigh","position3DLow","position2DHigh","position2DLow","pickColor","normal","st","tangent","bitangent","extrudeDirection","compressedAttributes"],n=e.attributes,i={},o=0,r,s=t.length;for(r=0;r<s;++r){let a=t[r];l(n[a])&&(i[a]=o++)}for(let a in n)n.hasOwnProperty(a)&&!l(i[a])&&(i[a]=o++);return i};Ja.reorderForPreVertexCache=function(e){let t=rt.computeNumberOfVertices(e),n=e.indices;if(l(n)){let i=new Int32Array(t);for(let p=0;p<t;p++)i[p]=-1;let o=n,r=o.length,s=Be.createTypedArray(t,r),a=0,c=0,u=0,f;for(;a<r;)f=i[o[a]],f!==-1?s[c]=f:(f=o[a],i[f]=u,s[c]=u,++u),++a,++c;e.indices=s;let d=e.attributes;for(let p in d)if(d.hasOwnProperty(p)&&l(d[p])&&l(d[p].values)){let g=d[p],m=g.values,C=0,x=g.componentsPerAttribute,A=Z.createTypedArray(g.componentDatatype,u*x);for(;C<t;){let b=i[C];if(b!==-1)for(let E=0;E<x;E++)A[x*b+E]=m[x*C+E];++C}g.values=A}}return e};Ja.reorderForPostVertexCache=function(e,t){let n=e.indices;if(e.primitiveType===Ne.TRIANGLES&&l(n)){let i=n.length,o=0;for(let r=0;r<i;r++)n[r]>o&&(o=n[r]);e.indices=d1.tipsify({indices:n,maximumIndex:o,cacheSize:t})}return e};function uZ(e){let t={};for(let n in e)if(e.hasOwnProperty(n)&&l(e[n])&&l(e[n].values)){let i=e[n];t[n]=new Ee({componentDatatype:i.componentDatatype,componentsPerAttribute:i.componentsPerAttribute,normalize:i.normalize,values:[]})}return t}function $be(e,t,n){for(let i in t)if(t.hasOwnProperty(i)&&l(t[i])&&l(t[i].values)){let o=t[i];for(let r=0;r<o.componentsPerAttribute;++r)e[i].values.push(o.values[n*o.componentsPerAttribute+r])}}Ja.fitToUnsignedShortIndices=function(e){let t=[],n=rt.computeNumberOfVertices(e);if(l(e.indices)&&n>=I.SIXTY_FOUR_KILOBYTES){let i=[],o=[],r=0,s=uZ(e.attributes),a=e.indices,c=a.length,u;e.primitiveType===Ne.TRIANGLES?u=3:e.primitiveType===Ne.LINES?u=2:e.primitiveType===Ne.POINTS&&(u=1);for(let f=0;f<c;f+=u){for(let d=0;d<u;++d){let p=a[f+d],g=i[p];l(g)||(g=r++,i[p]=g,$be(s,e.attributes,p)),o.push(g)}r+u>=I.SIXTY_FOUR_KILOBYTES&&(t.push(new rt({attributes:s,indices:o,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere,boundingSphereCV:e.boundingSphereCV})),i=[],o=[],r=0,s=uZ(e.attributes))}o.length!==0&&t.push(new rt({attributes:s,indices:o,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere,boundingSphereCV:e.boundingSphereCV}))}else t.push(e);return t};var fZ=new h,Jbe=new he;Ja.projectTo2D=function(e,t,n,i,o){let r=e.attributes[t];o=l(o)?o:new xi;let s=o.ellipsoid,a=r.values,c=new Float64Array(a.length),u=0;for(let f=0;f<a.length;f+=3){let d=h.fromArray(a,f,fZ),p=s.cartesianToCartographic(d,Jbe),g=o.project(p,fZ);c[u++]=g.x,c[u++]=g.y,c[u++]=g.z}return e.attributes[n]=r,e.attributes[i]=new Ee({componentDatatype:Z.DOUBLE,componentsPerAttribute:3,values:c}),delete e.attributes[t],e};var b5={high:0,low:0};Ja.encodeAttribute=function(e,t,n,i){let o=e.attributes[t],r=o.values,s=r.length,a=new Float32Array(s),c=new Float32Array(s);for(let f=0;f<s;++f)Un.encode(r[f],b5),a[f]=b5.high,c[f]=b5.low;let u=o.componentsPerAttribute;return e.attributes[n]=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:u,values:a}),e.attributes[i]=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:u,values:c}),delete e.attributes[t],e};var mf=new h;function S5(e,t){if(l(t)){let n=t.values,i=n.length;for(let o=0;o<i;o+=3)h.unpack(n,o,mf),N.multiplyByPoint(e,mf,mf),h.pack(mf,n,o)}}function w5(e,t){if(l(t)){let n=t.values,i=n.length;for(let o=0;o<i;o+=3)h.unpack(n,o,mf),J.multiplyByVector(e,mf,mf),mf=h.normalize(mf,mf),h.pack(mf,n,o)}}var h1=new N,m1=new J;Ja.transformToWorldCoordinates=function(e){let t=e.modelMatrix;if(N.equals(t,N.IDENTITY))return e;let n=e.geometry.attributes;S5(t,n.position),S5(t,n.prevPosition),S5(t,n.nextPosition),(l(n.normal)||l(n.tangent)||l(n.bitangent))&&(N.inverse(t,h1),N.transpose(h1,h1),N.getMatrix3(h1,m1),w5(m1,n.normal),w5(m1,n.tangent),w5(m1,n.bitangent));let i=e.geometry.boundingSphere;return l(i)&&(e.geometry.boundingSphere=re.transform(i,t,i)),e.modelMatrix=N.clone(N.IDENTITY),e};function Qbe(e,t){let n=e.length,i={},o=e[0][t].attributes,r;for(r in o)if(o.hasOwnProperty(r)&&l(o[r])&&l(o[r].values)){let s=o[r],a=s.values.length,c=!0;for(let u=1;u<n;++u){let f=e[u][t].attributes[r];if(!l(f)||s.componentDatatype!==f.componentDatatype||s.componentsPerAttribute!==f.componentsPerAttribute||s.normalize!==f.normalize){c=!1;break}a+=f.values.length}c&&(i[r]=new Ee({componentDatatype:s.componentDatatype,componentsPerAttribute:s.componentsPerAttribute,normalize:s.normalize,values:Z.createTypedArray(s.componentDatatype,a)}))}return i}var eSe=new h;function v5(e,t){let n=e.length,i,o,r,s,a=e[0].modelMatrix,c=l(e[0][t].indices),u=e[0][t].primitiveType,f=Qbe(e,t),d,p,g;for(i in f)if(f.hasOwnProperty(i))for(d=f[i].values,s=0,o=0;o<n;++o)for(p=e[o][t].attributes[i].values,g=p.length,r=0;r<g;++r)d[s++]=p[r];let m;if(c){let b=0;for(o=0;o<n;++o)b+=e[o][t].indices.length;let E=rt.computeNumberOfVertices(new rt({attributes:f,primitiveType:Ne.POINTS})),S=Be.createTypedArray(E,b),v=0,P=0;for(o=0;o<n;++o){let O=e[o][t].indices,M=O.length;for(s=0;s<M;++s)S[v++]=P+O[s];P+=rt.computeNumberOfVertices(e[o][t])}m=S}let C=new h,x=0,A;for(o=0;o<n;++o){if(A=e[o][t].boundingSphere,!l(A)){C=void 0;break}h.add(A.center,C,C)}if(l(C))for(h.divideByScalar(C,n,C),o=0;o<n;++o){A=e[o][t].boundingSphere;let b=h.magnitude(h.subtract(A.center,C,eSe))+A.radius;b>x&&(x=b)}return new rt({attributes:f,indices:m,primitiveType:u,boundingSphere:l(C)?new re(C,x):void 0})}Ja.combineInstances=function(e){let t=[],n=[],i=e.length;for(let r=0;r<i;++r){let s=e[r];l(s.geometry)?t.push(s):l(s.westHemisphereGeometry)&&l(s.eastHemisphereGeometry)&&n.push(s)}let o=[];return t.length>0&&o.push(v5(t,"geometry")),n.length>0&&(o.push(v5(n,"westHemisphereGeometry")),o.push(v5(n,"eastHemisphereGeometry"))),o};var iu=new h,vb=new h,xx=new h,Ax=new h;Ja.computeNormal=function(e){let t=e.indices,n=e.attributes,i=n.position.values,o=n.position.values.length/3,r=t.length,s=new Array(o),a=new Array(r/3),c=new Array(r),u;for(u=0;u<o;u++)s[u]={indexOffset:0,count:0,currentCount:0};let f=0;for(u=0;u<r;u+=3){let m=t[u],C=t[u+1],x=t[u+2],A=m*3,b=C*3,E=x*3;vb.x=i[A],vb.y=i[A+1],vb.z=i[A+2],xx.x=i[b],xx.y=i[b+1],xx.z=i[b+2],Ax.x=i[E],Ax.y=i[E+1],Ax.z=i[E+2],s[m].count++,s[C].count++,s[x].count++,h.subtract(xx,vb,xx),h.subtract(Ax,vb,Ax),a[f]=h.cross(xx,Ax,new h),f++}let d=0;for(u=0;u<o;u++)s[u].indexOffset+=d,d+=s[u].count;f=0;let p;for(u=0;u<r;u+=3){p=s[t[u]];let m=p.indexOffset+p.currentCount;c[m]=f,p.currentCount++,p=s[t[u+1]],m=p.indexOffset+p.currentCount,c[m]=f,p.currentCount++,p=s[t[u+2]],m=p.indexOffset+p.currentCount,c[m]=f,p.currentCount++,f++}let g=new Float32Array(o*3);for(u=0;u<o;u++){let m=u*3;if(p=s[u],h.clone(h.ZERO,iu),p.count>0){for(f=0;f<p.count;f++)h.add(iu,a[c[p.indexOffset+f]],iu);h.equalsEpsilon(h.ZERO,iu,I.EPSILON10)&&h.clone(a[c[p.indexOffset]],iu)}h.equalsEpsilon(h.ZERO,iu,I.EPSILON10)&&(iu.z=1),h.normalize(iu,iu),g[m]=iu.x,g[m+1]=iu.y,g[m+2]=iu.z}return e.attributes.normal=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:g}),e};var tSe=new h,dZ=new h,nSe=new h;Ja.computeTangentAndBitangent=function(e){let t=e.attributes,n=e.indices,i=e.attributes.position.values,o=e.attributes.normal.values,r=e.attributes.st.values,s=e.attributes.position.values.length/3,a=n.length,c=new Array(s*3),u;for(u=0;u<c.length;u++)c[u]=0;let f,d,p;for(u=0;u<a;u+=3){let C=n[u],x=n[u+1],A=n[u+2];f=C*3,d=x*3,p=A*3;let b=C*2,E=x*2,S=A*2,v=i[f],P=i[f+1],O=i[f+2],M=r[b],B=r[b+1],L=r[E+1]-B,_=r[S+1]-B,T=1/((r[E]-M)*_-(r[S]-M)*L),w=(_*(i[d]-v)-L*(i[p]-v))*T,D=(_*(i[d+1]-P)-L*(i[p+1]-P))*T,R=(_*(i[d+2]-O)-L*(i[p+2]-O))*T;c[f]+=w,c[f+1]+=D,c[f+2]+=R,c[d]+=w,c[d+1]+=D,c[d+2]+=R,c[p]+=w,c[p+1]+=D,c[p+2]+=R}let g=new Float32Array(s*3),m=new Float32Array(s*3);for(u=0;u<s;u++){f=u*3,d=f+1,p=f+2;let C=h.fromArray(o,f,tSe),x=h.fromArray(c,f,nSe),A=h.dot(C,x);h.multiplyByScalar(C,A,dZ),h.normalize(h.subtract(x,dZ,x),x),g[f]=x.x,g[d]=x.y,g[p]=x.z,h.normalize(h.cross(C,x,x),x),m[f]=x.x,m[d]=x.y,m[p]=x.z}return e.attributes.tangent=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:g}),e.attributes.bitangent=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:m}),e};var Db=new G,hf=new h,hZ=new h,mZ=new h,p1=new G;Ja.compressVertices=function(e){let t=e.attributes.extrudeDirection,n,i;if(l(t)){let P=t.values;i=P.length/3;let O=new Float32Array(i*2),M=0;for(n=0;n<i;++n){if(h.fromArray(P,n*3,hf),h.equals(hf,h.ZERO)){M+=2;continue}p1=kn.octEncodeInRange(hf,65535,p1),O[M++]=p1.x,O[M++]=p1.y}return e.attributes.compressedAttributes=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:2,values:O}),delete e.attributes.extrudeDirection,e}let o=e.attributes.normal,r=e.attributes.st,s=l(o),a=l(r);if(!s&&!a)return e;let c=e.attributes.tangent,u=e.attributes.bitangent,f=l(c),d=l(u),p,g,m,C;s&&(p=o.values),a&&(g=r.values),f&&(m=c.values),d&&(C=u.values),i=(s?p.length:g.length)/(s?3:2);let b=i,E=a&&s?2:1;E+=f||d?1:0,b*=E;let S=new Float32Array(b),v=0;for(n=0;n<i;++n){a&&(G.fromArray(g,n*2,Db),S[v++]=kn.compressTextureCoordinates(Db));let P=n*3;s&&l(m)&&l(C)?(h.fromArray(p,P,hf),h.fromArray(m,P,hZ),h.fromArray(C,P,mZ),kn.octPack(hf,hZ,mZ,Db),S[v++]=Db.x,S[v++]=Db.y):(s&&(h.fromArray(p,P,hf),S[v++]=kn.octEncodeFloat(hf)),f&&(h.fromArray(m,P,hf),S[v++]=kn.octEncodeFloat(hf)),d&&(h.fromArray(C,P,hf),S[v++]=kn.octEncodeFloat(hf)))}return e.attributes.compressedAttributes=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:E,values:S}),s&&delete e.attributes.normal,a&&delete e.attributes.st,d&&delete e.attributes.bitangent,f&&delete e.attributes.tangent,e};function iSe(e){if(l(e.indices))return e;let t=rt.computeNumberOfVertices(e),n=Be.createTypedArray(t,t);for(let i=0;i<t;++i)n[i]=i;return e.indices=n,e}function oSe(e){let t=rt.computeNumberOfVertices(e),n=Be.createTypedArray(t,(t-2)*3);n[0]=1,n[1]=0,n[2]=2;let i=3;for(let o=3;o<t;++o)n[i++]=o-1,n[i++]=0,n[i++]=o;return e.indices=n,e.primitiveType=Ne.TRIANGLES,e}function rSe(e){let t=rt.computeNumberOfVertices(e),n=Be.createTypedArray(t,(t-2)*3);n[0]=0,n[1]=1,n[2]=2,t>3&&(n[3]=0,n[4]=2,n[5]=3);let i=6;for(let o=3;o<t-1;o+=2)n[i++]=o,n[i++]=o-1,n[i++]=o+1,o+2<t&&(n[i++]=o,n[i++]=o+1,n[i++]=o+2);return e.indices=n,e.primitiveType=Ne.TRIANGLES,e}function sSe(e){if(l(e.indices))return e;let t=rt.computeNumberOfVertices(e),n=Be.createTypedArray(t,t);for(let i=0;i<t;++i)n[i]=i;return e.indices=n,e}function aSe(e){let t=rt.computeNumberOfVertices(e),n=Be.createTypedArray(t,(t-1)*2);n[0]=0,n[1]=1;let i=2;for(let o=2;o<t;++o)n[i++]=o-1,n[i++]=o;return e.indices=n,e.primitiveType=Ne.LINES,e}function cSe(e){let t=rt.computeNumberOfVertices(e),n=Be.createTypedArray(t,t*2);n[0]=0,n[1]=1;let i=2;for(let o=2;o<t;++o)n[i++]=o-1,n[i++]=o;return n[i++]=t-1,n[i]=0,e.indices=n,e.primitiveType=Ne.LINES,e}function lSe(e){switch(e.primitiveType){case Ne.TRIANGLE_FAN:return oSe(e);case Ne.TRIANGLE_STRIP:return rSe(e);case Ne.TRIANGLES:return iSe(e);case Ne.LINE_STRIP:return aSe(e);case Ne.LINE_LOOP:return cSe(e);case Ne.LINES:return sSe(e)}return e}function Yp(e,t){Math.abs(e.y)<I.EPSILON6&&(t?e.y=-I.EPSILON6:e.y=I.EPSILON6)}function uSe(e,t,n){if(e.y!==0&&t.y!==0&&n.y!==0){Yp(e,e.y<0),Yp(t,t.y<0),Yp(n,n.y<0);return}let i=Math.abs(e.y),o=Math.abs(t.y),r=Math.abs(n.y),s;i>o?i>r?s=I.sign(e.y):s=I.sign(n.y):o>r?s=I.sign(t.y):s=I.sign(n.y);let a=s<0;Yp(e,a),Yp(t,a),Yp(n,a)}var pZ=new h;function ou(e,t,n,i){h.add(e,h.multiplyByScalar(h.subtract(t,e,pZ),e.y/(e.y-t.y),pZ),n),h.clone(n,i),Yp(n,!0),Yp(i,!1)}var R0=new h,M0=new h,B0=new h,L0=new h,D5={positions:new Array(7),indices:new Array(3*3)};function fSe(e,t,n){if(e.x>=0||t.x>=0||n.x>=0)return;uSe(e,t,n);let i=e.y<0,o=t.y<0,r=n.y<0,s=0;s+=i?1:0,s+=o?1:0,s+=r?1:0;let a=D5.indices;s===1?(a[1]=3,a[2]=4,a[5]=6,a[7]=6,a[8]=5,i?(ou(e,t,R0,B0),ou(e,n,M0,L0),a[0]=0,a[3]=1,a[4]=2,a[6]=1):o?(ou(t,n,R0,B0),ou(t,e,M0,L0),a[0]=1,a[3]=2,a[4]=0,a[6]=2):r&&(ou(n,e,R0,B0),ou(n,t,M0,L0),a[0]=2,a[3]=0,a[4]=1,a[6]=0)):s===2&&(a[2]=4,a[4]=4,a[5]=3,a[7]=5,a[8]=6,i?o?r||(ou(n,e,R0,B0),ou(n,t,M0,L0),a[0]=0,a[1]=1,a[3]=0,a[6]=2):(ou(t,n,R0,B0),ou(t,e,M0,L0),a[0]=2,a[1]=0,a[3]=2,a[6]=1):(ou(e,t,R0,B0),ou(e,n,M0,L0),a[0]=1,a[1]=2,a[3]=1,a[6]=0));let c=D5.positions;return c[0]=e,c[1]=t,c[2]=n,c.length=3,(s===1||s===2)&&(c[3]=R0,c[4]=M0,c[5]=B0,c[6]=L0,c.length=7),D5}function _Z(e,t){let n=e.attributes;if(n.position.values.length===0)return;for(let o in n)if(n.hasOwnProperty(o)&&l(n[o])&&l(n[o].values)){let r=n[o];r.values=Z.createTypedArray(r.componentDatatype,r.values)}let i=rt.computeNumberOfVertices(e);return e.indices=Be.createTypedArray(i,e.indices),t&&(e.boundingSphere=re.fromVertices(n.position.values)),e}function Ex(e){let t=e.attributes,n={};for(let i in t)if(t.hasOwnProperty(i)&&l(t[i])&&l(t[i].values)){let o=t[i];n[i]=new Ee({componentDatatype:o.componentDatatype,componentsPerAttribute:o.componentsPerAttribute,normalize:o.normalize,values:[]})}return new rt({attributes:n,indices:[],primitiveType:e.primitiveType})}function R5(e,t,n){let i=l(e.geometry.boundingSphere);t=_Z(t,i),n=_Z(n,i),l(n)&&!l(t)?e.geometry=n:!l(n)&&l(t)?e.geometry=t:(e.westHemisphereGeometry=t,e.eastHemisphereGeometry=n,e.geometry=void 0)}function M5(e,t){let n=new e,i=new e,o=new e;return function(r,s,a,c,u,f,d,p){let g=e.fromArray(u,r*t,n),m=e.fromArray(u,s*t,i),C=e.fromArray(u,a*t,o);e.multiplyByScalar(g,c.x,g),e.multiplyByScalar(m,c.y,m),e.multiplyByScalar(C,c.z,C);let x=e.add(g,m,g);e.add(x,C,x),p&&e.normalize(x,x),e.pack(x,f,d*t)}}var dSe=M5(se,4),y1=M5(h,3),TZ=M5(G,2),hSe=function(e,t,n,i,o,r,s){let a=o[e]*i.x,c=o[t]*i.y,u=o[n]*i.z;r[s]=a+c+u>I.EPSILON6?1:0},Pb=new h,P5=new h,I5=new h,mSe=new h;function _1(e,t,n,i,o,r,s,a,c,u,f,d,p,g,m,C){if(!l(r)&&!l(s)&&!l(a)&&!l(c)&&!l(u)&&g===0)return;let x=h.fromArray(o,e*3,Pb),A=h.fromArray(o,t*3,P5),b=h.fromArray(o,n*3,I5),E=Cx(i,x,A,b,mSe);if(!!l(E)){if(l(r)&&y1(e,t,n,E,r,d.normal.values,C,!0),l(u)){let S=h.fromArray(u,e*3,Pb),v=h.fromArray(u,t*3,P5),P=h.fromArray(u,n*3,I5);h.multiplyByScalar(S,E.x,S),h.multiplyByScalar(v,E.y,v),h.multiplyByScalar(P,E.z,P);let O;!h.equals(S,h.ZERO)||!h.equals(v,h.ZERO)||!h.equals(P,h.ZERO)?(O=h.add(S,v,S),h.add(O,P,O),h.normalize(O,O)):(O=Pb,O.x=0,O.y=0,O.z=0),h.pack(O,d.extrudeDirection.values,C*3)}if(l(f)&&hSe(e,t,n,E,f,d.applyOffset.values,C),l(s)&&y1(e,t,n,E,s,d.tangent.values,C,!0),l(a)&&y1(e,t,n,E,a,d.bitangent.values,C,!0),l(c)&&TZ(e,t,n,E,c,d.st.values,C),g>0)for(let S=0;S<g;S++){let v=p[S];pSe(e,t,n,E,C,m[v],d[v])}}}function pSe(e,t,n,i,o,r,s){let a=r.componentsPerAttribute,c=r.values,u=s.values;switch(a){case 4:dSe(e,t,n,i,c,u,o,!1);break;case 3:y1(e,t,n,i,c,u,o,!1);break;case 2:TZ(e,t,n,i,c,u,o,!1);break;default:u[o]=c[e]*i.x+c[t]*i.y+c[n]*i.z}}function Ld(e,t,n,i,o,r){let s=e.position.values.length/3;if(o!==-1){let a=i[o],c=n[a];return c===-1?(n[a]=s,e.position.values.push(r.x,r.y,r.z),t.push(s),s):(t.push(c),c)}return e.position.values.push(r.x,r.y,r.z),t.push(s),s}var _Se={position:!0,normal:!0,bitangent:!0,tangent:!0,st:!0,extrudeDirection:!0,applyOffset:!0};function gZ(e){let t=e.geometry,n=t.attributes,i=n.position.values,o=l(n.normal)?n.normal.values:void 0,r=l(n.bitangent)?n.bitangent.values:void 0,s=l(n.tangent)?n.tangent.values:void 0,a=l(n.st)?n.st.values:void 0,c=l(n.extrudeDirection)?n.extrudeDirection.values:void 0,u=l(n.applyOffset)?n.applyOffset.values:void 0,f=t.indices,d=[];for(let O in n)n.hasOwnProperty(O)&&!_Se[O]&&l(n[O])&&d.push(O);let p=d.length,g=Ex(t),m=Ex(t),C,x,A,b,E,S=[];S.length=i.length/3;let v=[];for(v.length=i.length/3,E=0;E<S.length;++E)S[E]=-1,v[E]=-1;let P=f.length;for(E=0;E<P;E+=3){let O=f[E],M=f[E+1],B=f[E+2],L=h.fromArray(i,O*3),_=h.fromArray(i,M*3),T=h.fromArray(i,B*3),w=fSe(L,_,T);if(l(w)&&w.positions.length>3){let D=w.positions,R=w.indices,F=R.length;for(let z=0;z<F;++z){let k=R[z],H=D[k];H.y<0?(C=m.attributes,x=m.indices,A=S):(C=g.attributes,x=g.indices,A=v),b=Ld(C,x,A,f,k<3?E+k:-1,H),_1(O,M,B,H,i,o,s,r,a,c,u,C,d,p,n,b)}}else l(w)&&(L=w.positions[0],_=w.positions[1],T=w.positions[2]),L.y<0?(C=m.attributes,x=m.indices,A=S):(C=g.attributes,x=g.indices,A=v),b=Ld(C,x,A,f,E,L),_1(O,M,B,L,i,o,s,r,a,c,u,C,d,p,n,b),b=Ld(C,x,A,f,E+1,_),_1(O,M,B,_,i,o,s,r,a,c,u,C,d,p,n,b),b=Ld(C,x,A,f,E+2,T),_1(O,M,B,T,i,o,s,r,a,c,u,C,d,p,n,b)}R5(e,m,g)}var EZ=en.fromPointNormal(h.ZERO,h.UNIT_Y),gSe=new h,ySe=new h;function Tx(e,t,n,i,o,r,s){if(!l(s))return;let a=h.fromArray(i,e*3,Pb);h.equalsEpsilon(a,n,I.EPSILON10)?r.applyOffset.values[o]=s[e]:r.applyOffset.values[o]=s[t]}function yZ(e){let t=e.geometry,n=t.attributes,i=n.position.values,o=l(n.applyOffset)?n.applyOffset.values:void 0,r=t.indices,s=Ex(t),a=Ex(t),c,u=r.length,f=[];f.length=i.length/3;let d=[];for(d.length=i.length/3,c=0;c<f.length;++c)f[c]=-1,d[c]=-1;for(c=0;c<u;c+=2){let p=r[c],g=r[c+1],m=h.fromArray(i,p*3,Pb),C=h.fromArray(i,g*3,P5),x;Math.abs(m.y)<I.EPSILON6&&(m.y<0?m.y=-I.EPSILON6:m.y=I.EPSILON6),Math.abs(C.y)<I.EPSILON6&&(C.y<0?C.y=-I.EPSILON6:C.y=I.EPSILON6);let A=s.attributes,b=s.indices,E=d,S=a.attributes,v=a.indices,P=f,O=Gi.lineSegmentPlane(m,C,EZ,I5);if(l(O)){let M=h.multiplyByScalar(h.UNIT_Y,5*I.EPSILON9,gSe);m.y<0&&(h.negate(M,M),A=a.attributes,b=a.indices,E=f,S=s.attributes,v=s.indices,P=d);let B=h.add(O,M,ySe);x=Ld(A,b,E,r,c,m),Tx(p,g,m,i,x,A,o),x=Ld(A,b,E,r,-1,B),Tx(p,g,B,i,x,A,o),h.negate(M,M),h.add(O,M,B),x=Ld(S,v,P,r,-1,B),Tx(p,g,B,i,x,S,o),x=Ld(S,v,P,r,c+1,C),Tx(p,g,C,i,x,S,o)}else{let M,B,L;m.y<0?(M=a.attributes,B=a.indices,L=f):(M=s.attributes,B=s.indices,L=d),x=Ld(M,B,L,r,c,m),Tx(p,g,m,i,x,M,o),x=Ld(M,B,L,r,c+1,C),Tx(p,g,C,i,x,M,o)}}R5(e,a,s)}var CZ=new G,CSe=new G,bZ=new h,SZ=new h,O5=new h,xSe=new h,ASe=new h,TSe=new h,xZ=new se;function AZ(e){let t=e.attributes,n=t.position.values,i=t.prevPosition.values,o=t.nextPosition.values,r=n.length;for(let s=0;s<r;s+=3){let a=h.unpack(n,s,bZ);if(a.x>0)continue;let c=h.unpack(i,s,SZ);(a.y<0&&c.y>0||a.y>0&&c.y<0)&&(s-3>0?(i[s]=n[s-3],i[s+1]=n[s-2],i[s+2]=n[s-1]):h.pack(a,i,s));let u=h.unpack(o,s,O5);(a.y<0&&u.y>0||a.y>0&&u.y<0)&&(s+3<r?(o[s]=n[s+3],o[s+1]=n[s+4],o[s+2]=n[s+5]):h.pack(a,o,s))}}var ESe=5*I.EPSILON9,g1=I.EPSILON6;function bSe(e){let t=e.geometry,n=t.attributes,i=n.position.values,o=n.prevPosition.values,r=n.nextPosition.values,s=n.expandAndWidth.values,a=l(n.st)?n.st.values:void 0,c=l(n.color)?n.color.values:void 0,u=Ex(t),f=Ex(t),d,p,g,m=!1,C=i.length/3;for(d=0;d<C;d+=4){let x=d,A=d+2,b=h.fromArray(i,x*3,bZ),E=h.fromArray(i,A*3,SZ);if(Math.abs(b.y)<g1)for(b.y=g1*(E.y<0?-1:1),i[d*3+1]=b.y,i[(d+1)*3+1]=b.y,p=x*3;p<x*3+4*3;p+=3)o[p]=i[d*3],o[p+1]=i[d*3+1],o[p+2]=i[d*3+2];if(Math.abs(E.y)<g1)for(E.y=g1*(b.y<0?-1:1),i[(d+2)*3+1]=E.y,i[(d+3)*3+1]=E.y,p=x*3;p<x*3+4*3;p+=3)r[p]=i[(d+2)*3],r[p+1]=i[(d+2)*3+1],r[p+2]=i[(d+2)*3+2];let S=u.attributes,v=u.indices,P=f.attributes,O=f.indices,M=Gi.lineSegmentPlane(b,E,EZ,xSe);if(l(M)){m=!0;let B=h.multiplyByScalar(h.UNIT_Y,ESe,ASe);b.y<0&&(h.negate(B,B),S=f.attributes,v=f.indices,P=u.attributes,O=u.indices);let L=h.add(M,B,TSe);S.position.values.push(b.x,b.y,b.z,b.x,b.y,b.z),S.position.values.push(L.x,L.y,L.z),S.position.values.push(L.x,L.y,L.z),S.prevPosition.values.push(o[x*3],o[x*3+1],o[x*3+2]),S.prevPosition.values.push(o[x*3+3],o[x*3+4],o[x*3+5]),S.prevPosition.values.push(b.x,b.y,b.z,b.x,b.y,b.z),S.nextPosition.values.push(L.x,L.y,L.z),S.nextPosition.values.push(L.x,L.y,L.z),S.nextPosition.values.push(L.x,L.y,L.z),S.nextPosition.values.push(L.x,L.y,L.z),h.negate(B,B),h.add(M,B,L),P.position.values.push(L.x,L.y,L.z),P.position.values.push(L.x,L.y,L.z),P.position.values.push(E.x,E.y,E.z,E.x,E.y,E.z),P.prevPosition.values.push(L.x,L.y,L.z),P.prevPosition.values.push(L.x,L.y,L.z),P.prevPosition.values.push(L.x,L.y,L.z),P.prevPosition.values.push(L.x,L.y,L.z),P.nextPosition.values.push(E.x,E.y,E.z,E.x,E.y,E.z),P.nextPosition.values.push(r[A*3],r[A*3+1],r[A*3+2]),P.nextPosition.values.push(r[A*3+3],r[A*3+4],r[A*3+5]);let _=G.fromArray(s,x*2,CZ),T=Math.abs(_.y);S.expandAndWidth.values.push(-1,T,1,T),S.expandAndWidth.values.push(-1,-T,1,-T),P.expandAndWidth.values.push(-1,T,1,T),P.expandAndWidth.values.push(-1,-T,1,-T);let w=h.magnitudeSquared(h.subtract(M,b,O5));if(w/=h.magnitudeSquared(h.subtract(E,b,O5)),l(c)){let D=se.fromArray(c,x*4,xZ),R=se.fromArray(c,A*4,xZ),F=I.lerp(D.x,R.x,w),z=I.lerp(D.y,R.y,w),k=I.lerp(D.z,R.z,w),H=I.lerp(D.w,R.w,w);for(p=x*4;p<x*4+2*4;++p)S.color.values.push(c[p]);for(S.color.values.push(F,z,k,H),S.color.values.push(F,z,k,H),P.color.values.push(F,z,k,H),P.color.values.push(F,z,k,H),p=A*4;p<A*4+2*4;++p)P.color.values.push(c[p])}if(l(a)){let D=G.fromArray(a,x*2,CZ),R=G.fromArray(a,(d+3)*2,CSe),F=I.lerp(D.x,R.x,w);for(p=x*2;p<x*2+2*2;++p)S.st.values.push(a[p]);for(S.st.values.push(F,D.y),S.st.values.push(F,R.y),P.st.values.push(F,D.y),P.st.values.push(F,R.y),p=A*2;p<A*2+2*2;++p)P.st.values.push(a[p])}g=S.position.values.length/3-4,v.push(g,g+2,g+1),v.push(g+1,g+2,g+3),g=P.position.values.length/3-4,O.push(g,g+2,g+1),O.push(g+1,g+2,g+3)}else{let B,L;for(b.y<0?(B=f.attributes,L=f.indices):(B=u.attributes,L=u.indices),B.position.values.push(b.x,b.y,b.z),B.position.values.push(b.x,b.y,b.z),B.position.values.push(E.x,E.y,E.z),B.position.values.push(E.x,E.y,E.z),p=d*3;p<d*3+4*3;++p)B.prevPosition.values.push(o[p]),B.nextPosition.values.push(r[p]);for(p=d*2;p<d*2+4*2;++p)B.expandAndWidth.values.push(s[p]),l(a)&&B.st.values.push(a[p]);if(l(c))for(p=d*4;p<d*4+4*4;++p)B.color.values.push(c[p]);g=B.position.values.length/3-4,L.push(g,g+2,g+1),L.push(g+1,g+2,g+3)}}m&&(AZ(f),AZ(u)),R5(e,f,u)}Ja.splitLongitude=function(e){let t=e.geometry,n=t.boundingSphere;if(l(n)&&(n.center.x-n.radius>0||re.intersectPlane(n,en.ORIGIN_ZX_PLANE)!==Kt.INTERSECTING))return e;if(t.geometryType!==df.NONE)switch(t.geometryType){case df.POLYLINES:bSe(e);break;case df.TRIANGLES:gZ(e);break;case df.LINES:yZ(e);break}else lSe(t),t.primitiveType===Ne.TRIANGLES?gZ(e):t.primitiveType===Ne.LINES&&yZ(e);return e};var In=Ja;var bx=new h,B5=new h,L5=new h,wZ=new h,Zr=new G,vZ=new J,SSe=new J,N5=new Oe,DZ=new h,PZ=new h,IZ=new h,T1=new he,OZ=new h,RZ=new G,MZ=new G;function BZ(e,t,n){let i=t.vertexFormat,o=t.center,r=t.semiMajorAxis,s=t.semiMinorAxis,a=t.ellipsoid,c=t.stRotation,u=n?e.length/3*2:e.length/3,f=t.shadowVolume,d=i.st?new Float32Array(u*2):void 0,p=i.normal?new Float32Array(u*3):void 0,g=i.tangent?new Float32Array(u*3):void 0,m=i.bitangent?new Float32Array(u*3):void 0,C=f?new Float32Array(u*3):void 0,x=0,A=DZ,b=PZ,E=IZ,S=new xi(a),v=S.project(a.cartesianToCartographic(o,T1),OZ),P=a.scaleToGeodeticSurface(o,bx);a.geodeticSurfaceNormal(P,P);let O=vZ,M=SSe;if(c!==0){let R=Oe.fromAxisAngle(P,c,N5);O=J.fromQuaternion(R,O),R=Oe.fromAxisAngle(P,-c,N5),M=J.fromQuaternion(R,M)}else O=J.clone(J.IDENTITY,O),M=J.clone(J.IDENTITY,M);let B=G.fromElements(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,RZ),L=G.fromElements(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,MZ),_=e.length,T=n?_:0,w=T/3*2;for(let R=0;R<_;R+=3){let F=R+1,z=R+2,k=h.fromArray(e,R,bx);if(i.st){let H=J.multiplyByVector(O,k,B5),V=S.project(a.cartesianToCartographic(H,T1),L5);h.subtract(V,v,V),Zr.x=(V.x+r)/(2*r),Zr.y=(V.y+s)/(2*s),B.x=Math.min(Zr.x,B.x),B.y=Math.min(Zr.y,B.y),L.x=Math.max(Zr.x,L.x),L.y=Math.max(Zr.y,L.y),n&&(d[x+w]=Zr.x,d[x+1+w]=Zr.y),d[x++]=Zr.x,d[x++]=Zr.y}(i.normal||i.tangent||i.bitangent||f)&&(A=a.geodeticSurfaceNormal(k,A),f&&(C[R+T]=-A.x,C[F+T]=-A.y,C[z+T]=-A.z),(i.normal||i.tangent||i.bitangent)&&((i.tangent||i.bitangent)&&(b=h.normalize(h.cross(h.UNIT_Z,A,b),b),J.multiplyByVector(M,b,b)),i.normal&&(p[R]=A.x,p[F]=A.y,p[z]=A.z,n&&(p[R+T]=-A.x,p[F+T]=-A.y,p[z+T]=-A.z)),i.tangent&&(g[R]=b.x,g[F]=b.y,g[z]=b.z,n&&(g[R+T]=-b.x,g[F+T]=-b.y,g[z+T]=-b.z)),i.bitangent&&(E=h.normalize(h.cross(A,b,E),E),m[R]=E.x,m[F]=E.y,m[z]=E.z,n&&(m[R+T]=E.x,m[F+T]=E.y,m[z+T]=E.z))))}if(i.st){_=d.length;for(let R=0;R<_;R+=2)d[R]=(d[R]-B.x)/(L.x-B.x),d[R+1]=(d[R+1]-B.y)/(L.y-B.y)}let D=new rn;if(i.position){let R=pl.raisePositionsToHeight(e,t,n);D.position=new Ee({componentDatatype:Z.DOUBLE,componentsPerAttribute:3,values:R})}if(i.st&&(D.st=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:2,values:d})),i.normal&&(D.normal=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:p})),i.tangent&&(D.tangent=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:g})),i.bitangent&&(D.bitangent=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:m})),f&&(D.extrudeDirection=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:C})),n&&l(t.offsetAttribute)){let R=new Uint8Array(u);if(t.offsetAttribute===Jt.TOP)R=R.fill(1,0,u/2);else{let F=t.offsetAttribute===Jt.NONE?0:1;R=R.fill(F)}D.applyOffset=new Ee({componentDatatype:Z.UNSIGNED_BYTE,componentsPerAttribute:1,values:R})}return D}function LZ(e){let t=new Array(12*(e*(e+1))-6),n=0,i,o,r,s,a;for(i=0,r=1,s=0;s<3;s++)t[n++]=r++,t[n++]=i,t[n++]=r;for(s=2;s<e+1;++s){for(r=s*(s+1)-1,i=(s-1)*s-1,t[n++]=r++,t[n++]=i,t[n++]=r,o=2*s,a=0;a<o-1;++a)t[n++]=r,t[n++]=i++,t[n++]=i,t[n++]=r++,t[n++]=i,t[n++]=r;t[n++]=r++,t[n++]=i,t[n++]=r}for(o=e*2,++r,++i,s=0;s<o-1;++s)t[n++]=r,t[n++]=i++,t[n++]=i,t[n++]=r++,t[n++]=i,t[n++]=r;for(t[n++]=r,t[n++]=i++,t[n++]=i,t[n++]=r++,t[n++]=i++,t[n++]=i,++i,s=e-1;s>1;--s){for(t[n++]=i++,t[n++]=i,t[n++]=r,o=2*s,a=0;a<o-1;++a)t[n++]=r,t[n++]=i++,t[n++]=i,t[n++]=r++,t[n++]=i,t[n++]=r;t[n++]=i++,t[n++]=i++,t[n++]=r++}for(s=0;s<3;s++)t[n++]=i++,t[n++]=i,t[n++]=r;return t}var N0=new h;function wSe(e){let t=e.center;N0=h.multiplyByScalar(e.ellipsoid.geodeticSurfaceNormal(t,N0),e.height,N0),N0=h.add(t,N0,N0);let n=new re(N0,e.semiMajorAxis),i=pl.computeEllipsePositions(e,!0,!1),o=i.positions,r=i.numPts,s=BZ(o,e,!1),a=LZ(r);return a=Be.createTypedArray(o.length/3,a),{boundingSphere:n,attributes:s,indices:a}}function vSe(e,t){let n=t.vertexFormat,i=t.center,o=t.semiMajorAxis,r=t.semiMinorAxis,s=t.ellipsoid,a=t.height,c=t.extrudedHeight,u=t.stRotation,f=e.length/3*2,d=new Float64Array(f*3),p=n.st?new Float32Array(f*2):void 0,g=n.normal?new Float32Array(f*3):void 0,m=n.tangent?new Float32Array(f*3):void 0,C=n.bitangent?new Float32Array(f*3):void 0,x=t.shadowVolume,A=x?new Float32Array(f*3):void 0,b=0,E=DZ,S=PZ,v=IZ,P=new xi(s),O=P.project(s.cartesianToCartographic(i,T1),OZ),M=s.scaleToGeodeticSurface(i,bx);s.geodeticSurfaceNormal(M,M);let B=Oe.fromAxisAngle(M,u,N5),L=J.fromQuaternion(B,vZ),_=G.fromElements(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,RZ),T=G.fromElements(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,MZ),w=e.length,D=w/3*2;for(let F=0;F<w;F+=3){let z=F+1,k=F+2,H=h.fromArray(e,F,bx),V;if(n.st){let q=J.multiplyByVector(L,H,B5),X=P.project(s.cartesianToCartographic(q,T1),L5);h.subtract(X,O,X),Zr.x=(X.x+o)/(2*o),Zr.y=(X.y+r)/(2*r),_.x=Math.min(Zr.x,_.x),_.y=Math.min(Zr.y,_.y),T.x=Math.max(Zr.x,T.x),T.y=Math.max(Zr.y,T.y),p[b+D]=Zr.x,p[b+1+D]=Zr.y,p[b++]=Zr.x,p[b++]=Zr.y}H=s.scaleToGeodeticSurface(H,H),V=h.clone(H,B5),E=s.geodeticSurfaceNormal(H,E),x&&(A[F+w]=-E.x,A[z+w]=-E.y,A[k+w]=-E.z);let Y=h.multiplyByScalar(E,a,wZ);if(H=h.add(H,Y,H),Y=h.multiplyByScalar(E,c,Y),V=h.add(V,Y,V),n.position&&(d[F+w]=V.x,d[z+w]=V.y,d[k+w]=V.z,d[F]=H.x,d[z]=H.y,d[k]=H.z),n.normal||n.tangent||n.bitangent){v=h.clone(E,v);let q=h.fromArray(e,(F+3)%w,wZ);h.subtract(q,H,q);let X=h.subtract(V,H,L5);E=h.normalize(h.cross(X,q,E),E),n.normal&&(g[F]=E.x,g[z]=E.y,g[k]=E.z,g[F+w]=E.x,g[z+w]=E.y,g[k+w]=E.z),n.tangent&&(S=h.normalize(h.cross(v,E,S),S),m[F]=S.x,m[z]=S.y,m[k]=S.z,m[F+w]=S.x,m[F+1+w]=S.y,m[F+2+w]=S.z),n.bitangent&&(C[F]=v.x,C[z]=v.y,C[k]=v.z,C[F+w]=v.x,C[z+w]=v.y,C[k+w]=v.z)}}if(n.st){w=p.length;for(let F=0;F<w;F+=2)p[F]=(p[F]-_.x)/(T.x-_.x),p[F+1]=(p[F+1]-_.y)/(T.y-_.y)}let R=new rn;if(n.position&&(R.position=new Ee({componentDatatype:Z.DOUBLE,componentsPerAttribute:3,values:d})),n.st&&(R.st=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:2,values:p})),n.normal&&(R.normal=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:g})),n.tangent&&(R.tangent=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:m})),n.bitangent&&(R.bitangent=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:C})),x&&(R.extrudeDirection=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:A})),l(t.offsetAttribute)){let F=new Uint8Array(f);if(t.offsetAttribute===Jt.TOP)F=F.fill(1,0,f/2);else{let z=t.offsetAttribute===Jt.NONE?0:1;F=F.fill(z)}R.applyOffset=new Ee({componentDatatype:Z.UNSIGNED_BYTE,componentsPerAttribute:1,values:F})}return R}function DSe(e){let t=e.length/3,n=Be.createTypedArray(t,t*6),i=0;for(let o=0;o<t;o++){let r=o,s=o+t,a=(r+1)%t,c=a+t;n[i++]=r,n[i++]=s,n[i++]=a,n[i++]=a,n[i++]=s,n[i++]=c}return n}var x1=new re,A1=new re;function PSe(e){let t=e.center,n=e.ellipsoid,i=e.semiMajorAxis,o=h.multiplyByScalar(n.geodeticSurfaceNormal(t,bx),e.height,bx);x1.center=h.add(t,o,x1.center),x1.radius=i,o=h.multiplyByScalar(n.geodeticSurfaceNormal(t,o),e.extrudedHeight,o),A1.center=h.add(t,o,A1.center),A1.radius=i;let r=pl.computeEllipsePositions(e,!0,!0),s=r.positions,a=r.numPts,c=r.outerPositions,u=re.union(x1,A1),f=BZ(s,e,!0),d=LZ(a),p=d.length;d.length=p*2;let g=s.length/3;for(let S=0;S<p;S+=3)d[S+p]=d[S+2]+g,d[S+1+p]=d[S+1]+g,d[S+2+p]=d[S]+g;let m=Be.createTypedArray(g*2/3,d),C=new rt({attributes:f,indices:m,primitiveType:Ne.TRIANGLES}),x=vSe(c,e);d=DSe(c);let A=Be.createTypedArray(c.length*2/3,d),b=new rt({attributes:x,indices:A,primitiveType:Ne.TRIANGLES}),E=In.combineInstances([new pt({geometry:C}),new pt({geometry:b})]);return{boundingSphere:u,attributes:E[0].attributes,indices:E[0].indices}}function NZ(e,t,n,i,o,r,s){let c=pl.computeEllipsePositions({center:e,semiMajorAxis:t,semiMinorAxis:n,rotation:i,granularity:o},!1,!0).outerPositions,u=c.length/3,f=new Array(u);for(let p=0;p<u;++p)f[p]=h.fromArray(c,p*3);let d=ue.fromCartesianArray(f,r,s);return d.width>I.PI&&(d.north=d.north>0?I.PI_OVER_TWO-I.EPSILON7:d.north,d.south=d.south<0?I.EPSILON7-I.PI_OVER_TWO:d.south,d.east=I.PI,d.west=-I.PI),d}function Fd(e){e=y(e,y.EMPTY_OBJECT);let t=e.center,n=y(e.ellipsoid,oe.WGS84),i=e.semiMajorAxis,o=e.semiMinorAxis,r=y(e.granularity,I.RADIANS_PER_DEGREE),s=y(e.vertexFormat,ve.DEFAULT),a=y(e.height,0),c=y(e.extrudedHeight,a);this._center=h.clone(t),this._semiMajorAxis=i,this._semiMinorAxis=o,this._ellipsoid=oe.clone(n),this._rotation=y(e.rotation,0),this._stRotation=y(e.stRotation,0),this._height=Math.max(c,a),this._granularity=r,this._vertexFormat=ve.clone(s),this._extrudedHeight=Math.min(c,a),this._shadowVolume=y(e.shadowVolume,!1),this._workerName="createEllipseGeometry",this._offsetAttribute=e.offsetAttribute,this._rectangle=void 0,this._textureCoordinateRotationPoints=void 0}Fd.packedLength=h.packedLength+oe.packedLength+ve.packedLength+9;Fd.pack=function(e,t,n){return n=y(n,0),h.pack(e._center,t,n),n+=h.packedLength,oe.pack(e._ellipsoid,t,n),n+=oe.packedLength,ve.pack(e._vertexFormat,t,n),n+=ve.packedLength,t[n++]=e._semiMajorAxis,t[n++]=e._semiMinorAxis,t[n++]=e._rotation,t[n++]=e._stRotation,t[n++]=e._height,t[n++]=e._granularity,t[n++]=e._extrudedHeight,t[n++]=e._shadowVolume?1:0,t[n]=y(e._offsetAttribute,-1),t};var FZ=new h,VZ=new oe,kZ=new ve,Nd={center:FZ,ellipsoid:VZ,vertexFormat:kZ,semiMajorAxis:void 0,semiMinorAxis:void 0,rotation:void 0,stRotation:void 0,height:void 0,granularity:void 0,extrudedHeight:void 0,shadowVolume:void 0,offsetAttribute:void 0};Fd.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t,FZ);t+=h.packedLength;let o=oe.unpack(e,t,VZ);t+=oe.packedLength;let r=ve.unpack(e,t,kZ);t+=ve.packedLength;let s=e[t++],a=e[t++],c=e[t++],u=e[t++],f=e[t++],d=e[t++],p=e[t++],g=e[t++]===1,m=e[t];return l(n)?(n._center=h.clone(i,n._center),n._ellipsoid=oe.clone(o,n._ellipsoid),n._vertexFormat=ve.clone(r,n._vertexFormat),n._semiMajorAxis=s,n._semiMinorAxis=a,n._rotation=c,n._stRotation=u,n._height=f,n._granularity=d,n._extrudedHeight=p,n._shadowVolume=g,n._offsetAttribute=m===-1?void 0:m,n):(Nd.height=f,Nd.extrudedHeight=p,Nd.granularity=d,Nd.stRotation=u,Nd.rotation=c,Nd.semiMajorAxis=s,Nd.semiMinorAxis=a,Nd.shadowVolume=g,Nd.offsetAttribute=m===-1?void 0:m,new Fd(Nd))};Fd.computeRectangle=function(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.center,i=y(e.ellipsoid,oe.WGS84),o=e.semiMajorAxis,r=e.semiMinorAxis,s=y(e.granularity,I.RADIANS_PER_DEGREE),a=y(e.rotation,0);return NZ(n,o,r,a,s,i,t)};Fd.createGeometry=function(e){if(e._semiMajorAxis<=0||e._semiMinorAxis<=0)return;let t=e._height,n=e._extrudedHeight,i=!I.equalsEpsilon(t,n,0,I.EPSILON2);e._center=e._ellipsoid.scaleToGeodeticSurface(e._center,e._center);let o={center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,ellipsoid:e._ellipsoid,rotation:e._rotation,height:t,granularity:e._granularity,vertexFormat:e._vertexFormat,stRotation:e._stRotation},r;if(i)o.extrudedHeight=n,o.shadowVolume=e._shadowVolume,o.offsetAttribute=e._offsetAttribute,r=PSe(o);else if(r=wSe(o),l(e._offsetAttribute)){let s=r.attributes.position.values.length,a=e._offsetAttribute===Jt.NONE?0:1,c=new Uint8Array(s/3).fill(a);r.attributes.applyOffset=new Ee({componentDatatype:Z.UNSIGNED_BYTE,componentsPerAttribute:1,values:c})}return new rt({attributes:r.attributes,indices:r.indices,primitiveType:Ne.TRIANGLES,boundingSphere:r.boundingSphere,offsetAttribute:e._offsetAttribute})};Fd.createShadowVolume=function(e,t,n){let i=e._granularity,o=e._ellipsoid,r=t(i,o),s=n(i,o);return new Fd({center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,ellipsoid:o,rotation:e._rotation,stRotation:e._stRotation,granularity:i,extrudedHeight:r,height:s,vertexFormat:ve.POSITION_ONLY,shadowVolume:!0})};function ISe(e){let t=-e._stRotation;if(t===0)return[0,0,0,1,1,0];let i=pl.computeEllipsePositions({center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,rotation:e._rotation,granularity:e._granularity},!1,!0).outerPositions,o=i.length/3,r=new Array(o);for(let c=0;c<o;++c)r[c]=h.fromArray(i,c*3);let s=e._ellipsoid,a=e.rectangle;return rt._textureCoordinateRotationPoints(r,t,s,a)}Object.defineProperties(Fd.prototype,{rectangle:{get:function(){return l(this._rectangle)||(this._rectangle=NZ(this._center,this._semiMajorAxis,this._semiMinorAxis,this._rotation,this._granularity,this._ellipsoid)),this._rectangle}},textureCoordinateRotationPoints:{get:function(){return l(this._textureCoordinateRotationPoints)||(this._textureCoordinateRotationPoints=ISe(this)),this._textureCoordinateRotationPoints}}});var Lc=Fd;function rm(e){e=y(e,y.EMPTY_OBJECT);let t=e.radius,n={center:e.center,semiMajorAxis:t,semiMinorAxis:t,ellipsoid:e.ellipsoid,height:e.height,extrudedHeight:e.extrudedHeight,granularity:e.granularity,vertexFormat:e.vertexFormat,stRotation:e.stRotation,shadowVolume:e.shadowVolume};this._ellipseGeometry=new Lc(n),this._workerName="createCircleGeometry"}rm.packedLength=Lc.packedLength;rm.pack=function(e,t,n){return Lc.pack(e._ellipseGeometry,t,n)};var OSe=new Lc({center:new h,semiMajorAxis:1,semiMinorAxis:1}),pa={center:new h,radius:void 0,ellipsoid:oe.clone(oe.UNIT_SPHERE),height:void 0,extrudedHeight:void 0,granularity:void 0,vertexFormat:new ve,stRotation:void 0,semiMajorAxis:void 0,semiMinorAxis:void 0,shadowVolume:void 0};rm.unpack=function(e,t,n){let i=Lc.unpack(e,t,OSe);return pa.center=h.clone(i._center,pa.center),pa.ellipsoid=oe.clone(i._ellipsoid,pa.ellipsoid),pa.height=i._height,pa.extrudedHeight=i._extrudedHeight,pa.granularity=i._granularity,pa.vertexFormat=ve.clone(i._vertexFormat,pa.vertexFormat),pa.stRotation=i._stRotation,pa.shadowVolume=i._shadowVolume,l(n)?(pa.semiMajorAxis=i._semiMajorAxis,pa.semiMinorAxis=i._semiMinorAxis,n._ellipseGeometry=new Lc(pa),n):(pa.radius=i._semiMajorAxis,new rm(pa))};rm.createGeometry=function(e){return Lc.createGeometry(e._ellipseGeometry)};rm.createShadowVolume=function(e,t,n){let i=e._ellipseGeometry._granularity,o=e._ellipseGeometry._ellipsoid,r=t(i,o),s=n(i,o);return new rm({center:e._ellipseGeometry._center,radius:e._ellipseGeometry._semiMajorAxis,ellipsoid:o,stRotation:e._ellipseGeometry._stRotation,granularity:i,extrudedHeight:r,height:s,vertexFormat:ve.POSITION_ONLY,shadowVolume:!0})};Object.defineProperties(rm.prototype,{rectangle:{get:function(){return this._ellipseGeometry.rectangle}},textureCoordinateRotationPoints:{get:function(){return this._ellipseGeometry.textureCoordinateRotationPoints}}});var UZ=rm;var zZ=new h,F0=new h;function RSe(e){let t=e.center;F0=h.multiplyByScalar(e.ellipsoid.geodeticSurfaceNormal(t,F0),e.height,F0),F0=h.add(t,F0,F0);let n=new re(F0,e.semiMajorAxis),i=pl.computeEllipsePositions(e,!1,!0).outerPositions,o=new rn({position:new Ee({componentDatatype:Z.DOUBLE,componentsPerAttribute:3,values:pl.raisePositionsToHeight(i,e,!1)})}),r=i.length/3,s=Be.createTypedArray(r,r*2),a=0;for(let c=0;c<r;++c)s[a++]=c,s[a++]=(c+1)%r;return{boundingSphere:n,attributes:o,indices:s}}var E1=new re,b1=new re;function MSe(e){let t=e.center,n=e.ellipsoid,i=e.semiMajorAxis,o=h.multiplyByScalar(n.geodeticSurfaceNormal(t,zZ),e.height,zZ);E1.center=h.add(t,o,E1.center),E1.radius=i,o=h.multiplyByScalar(n.geodeticSurfaceNormal(t,o),e.extrudedHeight,o),b1.center=h.add(t,o,b1.center),b1.radius=i;let r=pl.computeEllipsePositions(e,!1,!0).outerPositions,s=new rn({position:new Ee({componentDatatype:Z.DOUBLE,componentsPerAttribute:3,values:pl.raisePositionsToHeight(r,e,!0)})});r=s.position.values;let a=re.union(E1,b1),c=r.length/3;if(l(e.offsetAttribute)){let m=new Uint8Array(c);if(e.offsetAttribute===Jt.TOP)m=m.fill(1,0,c/2);else{let C=e.offsetAttribute===Jt.NONE?0:1;m=m.fill(C)}s.applyOffset=new Ee({componentDatatype:Z.UNSIGNED_BYTE,componentsPerAttribute:1,values:m})}let u=y(e.numberOfVerticalLines,16);u=I.clamp(u,0,c/2);let f=Be.createTypedArray(c,c*2+u*2);c/=2;let d=0,p;for(p=0;p<c;++p)f[d++]=p,f[d++]=(p+1)%c,f[d++]=p+c,f[d++]=(p+1)%c+c;let g;if(u>0){let m=Math.min(u,c);g=Math.round(c/m);let C=Math.min(g*u,c);for(p=0;p<C;p+=g)f[d++]=p,f[d++]=p+c}return{boundingSphere:a,attributes:s,indices:f}}function Sx(e){e=y(e,y.EMPTY_OBJECT);let t=e.center,n=y(e.ellipsoid,oe.WGS84),i=e.semiMajorAxis,o=e.semiMinorAxis,r=y(e.granularity,I.RADIANS_PER_DEGREE),s=y(e.height,0),a=y(e.extrudedHeight,s);this._center=h.clone(t),this._semiMajorAxis=i,this._semiMinorAxis=o,this._ellipsoid=oe.clone(n),this._rotation=y(e.rotation,0),this._height=Math.max(a,s),this._granularity=r,this._extrudedHeight=Math.min(a,s),this._numberOfVerticalLines=Math.max(y(e.numberOfVerticalLines,16),0),this._offsetAttribute=e.offsetAttribute,this._workerName="createEllipseOutlineGeometry"}Sx.packedLength=h.packedLength+oe.packedLength+8;Sx.pack=function(e,t,n){return n=y(n,0),h.pack(e._center,t,n),n+=h.packedLength,oe.pack(e._ellipsoid,t,n),n+=oe.packedLength,t[n++]=e._semiMajorAxis,t[n++]=e._semiMinorAxis,t[n++]=e._rotation,t[n++]=e._height,t[n++]=e._granularity,t[n++]=e._extrudedHeight,t[n++]=e._numberOfVerticalLines,t[n]=y(e._offsetAttribute,-1),t};var HZ=new h,GZ=new oe,sm={center:HZ,ellipsoid:GZ,semiMajorAxis:void 0,semiMinorAxis:void 0,rotation:void 0,height:void 0,granularity:void 0,extrudedHeight:void 0,numberOfVerticalLines:void 0,offsetAttribute:void 0};Sx.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t,HZ);t+=h.packedLength;let o=oe.unpack(e,t,GZ);t+=oe.packedLength;let r=e[t++],s=e[t++],a=e[t++],c=e[t++],u=e[t++],f=e[t++],d=e[t++],p=e[t];return l(n)?(n._center=h.clone(i,n._center),n._ellipsoid=oe.clone(o,n._ellipsoid),n._semiMajorAxis=r,n._semiMinorAxis=s,n._rotation=a,n._height=c,n._granularity=u,n._extrudedHeight=f,n._numberOfVerticalLines=d,n._offsetAttribute=p===-1?void 0:p,n):(sm.height=c,sm.extrudedHeight=f,sm.granularity=u,sm.rotation=a,sm.semiMajorAxis=r,sm.semiMinorAxis=s,sm.numberOfVerticalLines=d,sm.offsetAttribute=p===-1?void 0:p,new Sx(sm))};Sx.createGeometry=function(e){if(e._semiMajorAxis<=0||e._semiMinorAxis<=0)return;let t=e._height,n=e._extrudedHeight,i=!I.equalsEpsilon(t,n,0,I.EPSILON2);e._center=e._ellipsoid.scaleToGeodeticSurface(e._center,e._center);let o={center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,ellipsoid:e._ellipsoid,rotation:e._rotation,height:t,granularity:e._granularity,numberOfVerticalLines:e._numberOfVerticalLines},r;if(i)o.extrudedHeight=n,o.offsetAttribute=e._offsetAttribute,r=MSe(o);else if(r=RSe(o),l(e._offsetAttribute)){let s=r.attributes.position.values.length,a=e._offsetAttribute===Jt.NONE?0:1,c=new Uint8Array(s/3).fill(a);r.attributes.applyOffset=new Ee({componentDatatype:Z.UNSIGNED_BYTE,componentsPerAttribute:1,values:c})}return new rt({attributes:r.attributes,indices:r.indices,primitiveType:Ne.LINES,boundingSphere:r.boundingSphere,offsetAttribute:e._offsetAttribute})};var ru=Sx;function wx(e){e=y(e,y.EMPTY_OBJECT);let t=e.radius,n={center:e.center,semiMajorAxis:t,semiMinorAxis:t,ellipsoid:e.ellipsoid,height:e.height,extrudedHeight:e.extrudedHeight,granularity:e.granularity,numberOfVerticalLines:e.numberOfVerticalLines};this._ellipseGeometry=new ru(n),this._workerName="createCircleOutlineGeometry"}wx.packedLength=ru.packedLength;wx.pack=function(e,t,n){return ru.pack(e._ellipseGeometry,t,n)};var BSe=new ru({center:new h,semiMajorAxis:1,semiMinorAxis:1}),_l={center:new h,radius:void 0,ellipsoid:oe.clone(oe.UNIT_SPHERE),height:void 0,extrudedHeight:void 0,granularity:void 0,numberOfVerticalLines:void 0,semiMajorAxis:void 0,semiMinorAxis:void 0};wx.unpack=function(e,t,n){let i=ru.unpack(e,t,BSe);return _l.center=h.clone(i._center,_l.center),_l.ellipsoid=oe.clone(i._ellipsoid,_l.ellipsoid),_l.height=i._height,_l.extrudedHeight=i._extrudedHeight,_l.granularity=i._granularity,_l.numberOfVerticalLines=i._numberOfVerticalLines,l(n)?(_l.semiMajorAxis=i._semiMajorAxis,_l.semiMinorAxis=i._semiMinorAxis,n._ellipseGeometry=new ru(_l),n):(_l.radius=i._semiMajorAxis,new wx(_l))};wx.createGeometry=function(e){return ru.createGeometry(e._ellipseGeometry)};var WZ=wx;var LSe={UNBOUNDED:0,CLAMPED:1,LOOP_STOP:2},vr=Object.freeze(LSe);var NSe={TICK_DEPENDENT:0,SYSTEM_CLOCK_MULTIPLIER:1,SYSTEM_CLOCK:2},fo=Object.freeze(NSe);var F5;typeof performance<"u"&&typeof performance.now=="function"&&isFinite(performance.now())?F5=function(){return performance.now()}:F5=function(){return Date.now()};var Ei=F5;function V5(e){e=y(e,y.EMPTY_OBJECT);let t=e.currentTime,n=e.startTime,i=e.stopTime;l(t)?t=Q.clone(t):l(n)?t=Q.clone(n):l(i)?t=Q.addDays(i,-1,new Q):t=Q.now(),l(n)?n=Q.clone(n):n=Q.clone(t),l(i)?i=Q.clone(i):i=Q.addDays(n,1,new Q),this.startTime=n,this.stopTime=i,this.clockRange=y(e.clockRange,vr.UNBOUNDED),this.canAnimate=y(e.canAnimate,!0),this.onTick=new ge,this.onStop=new ge,this._currentTime=void 0,this._multiplier=void 0,this._clockStep=void 0,this._shouldAnimate=void 0,this._lastSystemTime=Ei(),this.currentTime=t,this.multiplier=y(e.multiplier,1),this.shouldAnimate=y(e.shouldAnimate,!1),this.clockStep=y(e.clockStep,fo.SYSTEM_CLOCK_MULTIPLIER)}Object.defineProperties(V5.prototype,{currentTime:{get:function(){return this._currentTime},set:function(e){Q.equals(this._currentTime,e)||(this._clockStep===fo.SYSTEM_CLOCK&&(this._clockStep=fo.SYSTEM_CLOCK_MULTIPLIER),this._currentTime=e)}},multiplier:{get:function(){return this._multiplier},set:function(e){this._multiplier!==e&&(this._clockStep===fo.SYSTEM_CLOCK&&(this._clockStep=fo.SYSTEM_CLOCK_MULTIPLIER),this._multiplier=e)}},clockStep:{get:function(){return this._clockStep},set:function(e){e===fo.SYSTEM_CLOCK&&(this._multiplier=1,this._shouldAnimate=!0,this._currentTime=Q.now()),this._clockStep=e}},shouldAnimate:{get:function(){return this._shouldAnimate},set:function(e){this._shouldAnimate!==e&&(this._clockStep===fo.SYSTEM_CLOCK&&(this._clockStep=fo.SYSTEM_CLOCK_MULTIPLIER),this._shouldAnimate=e)}}});V5.prototype.tick=function(){let e=Ei(),t=Q.clone(this._currentTime);if(this.canAnimate&&this._shouldAnimate){let n=this._clockStep;if(n===fo.SYSTEM_CLOCK)t=Q.now(t);else{let i=this._multiplier;if(n===fo.TICK_DEPENDENT)t=Q.addSeconds(t,i,t);else{let a=e-this._lastSystemTime;t=Q.addSeconds(t,i*(a/1e3),t)}let o=this.clockRange,r=this.startTime,s=this.stopTime;if(o===vr.CLAMPED)Q.lessThan(t,r)?t=Q.clone(r,t):Q.greaterThan(t,s)&&(t=Q.clone(s,t),this.onStop.raiseEvent(this));else if(o===vr.LOOP_STOP)for(Q.lessThan(t,r)&&(t=Q.clone(r,t));Q.greaterThan(t,s);)t=Q.addSeconds(r,Q.secondsDifference(t,s),t),this.onStop.raiseEvent(this)}}return this._currentTime=t,this._lastSystemTime=e,this.onTick.raiseEvent(this),t};var Vd=V5;function k5(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n*6<1?e+(t-e)*6*n:n*2<1?t:n*3<2?e+(t-e)*(2/3-n)*6:e}function ne(e,t,n,i){this.red=y(e,1),this.green=y(t,1),this.blue=y(n,1),this.alpha=y(i,1)}ne.fromCartesian4=function(e,t){return l(t)?(t.red=e.x,t.green=e.y,t.blue=e.z,t.alpha=e.w,t):new ne(e.x,e.y,e.z,e.w)};ne.fromBytes=function(e,t,n,i,o){return e=ne.byteToFloat(y(e,255)),t=ne.byteToFloat(y(t,255)),n=ne.byteToFloat(y(n,255)),i=ne.byteToFloat(y(i,255)),l(o)?(o.red=e,o.green=t,o.blue=n,o.alpha=i,o):new ne(e,t,n,i)};ne.fromAlpha=function(e,t,n){return l(n)?(n.red=e.red,n.green=e.green,n.blue=e.blue,n.alpha=t,n):new ne(e.red,e.green,e.blue,t)};var U5,z5,am;Mt.supportsTypedArrays()&&(U5=new ArrayBuffer(4),z5=new Uint32Array(U5),am=new Uint8Array(U5));ne.fromRgba=function(e,t){return z5[0]=e,ne.fromBytes(am[0],am[1],am[2],am[3],t)};ne.fromHsl=function(e,t,n,i,o){e=y(e,0)%1,t=y(t,0),n=y(n,0),i=y(i,1);let r=n,s=n,a=n;if(t!==0){let c;n<.5?c=n*(1+t):c=n+t-n*t;let u=2*n-c;r=k5(u,c,e+1/3),s=k5(u,c,e),a=k5(u,c,e-1/3)}return l(o)?(o.red=r,o.green=s,o.blue=a,o.alpha=i,o):new ne(r,s,a,i)};ne.fromRandom=function(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.red;if(!l(n)){let s=y(e.minimumRed,0),a=y(e.maximumRed,1);n=s+I.nextRandomNumber()*(a-s)}let i=e.green;if(!l(i)){let s=y(e.minimumGreen,0),a=y(e.maximumGreen,1);i=s+I.nextRandomNumber()*(a-s)}let o=e.blue;if(!l(o)){let s=y(e.minimumBlue,0),a=y(e.maximumBlue,1);o=s+I.nextRandomNumber()*(a-s)}let r=e.alpha;if(!l(r)){let s=y(e.minimumAlpha,0),a=y(e.maximumAlpha,1);r=s+I.nextRandomNumber()*(a-s)}return l(t)?(t.red=n,t.green=i,t.blue=o,t.alpha=r,t):new ne(n,i,o,r)};var FSe=/^#([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])?$/i,VSe=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})?$/i,kSe=/^rgba?\(\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)(?:\s*,\s*([0-9.]+))?\s*\)$/i,USe=/^hsla?\(\s*([0-9.]+)\s*,\s*([0-9.]+%)\s*,\s*([0-9.]+%)(?:\s*,\s*([0-9.]+))?\s*\)$/i;ne.fromCssColorString=function(e,t){l(t)||(t=new ne),e=e.replace(/\s/g,"");let n=ne[e.toUpperCase()];if(l(n))return ne.clone(n,t),t;let i=FSe.exec(e);return i!==null?(t.red=parseInt(i[1],16)/15,t.green=parseInt(i[2],16)/15,t.blue=parseInt(i[3],16)/15,t.alpha=parseInt(y(i[4],"f"),16)/15,t):(i=VSe.exec(e),i!==null?(t.red=parseInt(i[1],16)/255,t.green=parseInt(i[2],16)/255,t.blue=parseInt(i[3],16)/255,t.alpha=parseInt(y(i[4],"ff"),16)/255,t):(i=kSe.exec(e),i!==null?(t.red=parseFloat(i[1])/(i[1].substr(-1)==="%"?100:255),t.green=parseFloat(i[2])/(i[2].substr(-1)==="%"?100:255),t.blue=parseFloat(i[3])/(i[3].substr(-1)==="%"?100:255),t.alpha=parseFloat(y(i[4],"1.0")),t):(i=USe.exec(e),i!==null?ne.fromHsl(parseFloat(i[1])/360,parseFloat(i[2])/100,parseFloat(i[3])/100,parseFloat(y(i[4],"1.0")),t):(t=void 0,t))))};ne.packedLength=4;ne.pack=function(e,t,n){return n=y(n,0),t[n++]=e.red,t[n++]=e.green,t[n++]=e.blue,t[n]=e.alpha,t};ne.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new ne),n.red=e[t++],n.green=e[t++],n.blue=e[t++],n.alpha=e[t],n};ne.byteToFloat=function(e){return e/255};ne.floatToByte=function(e){return e===1?255:e*256|0};ne.clone=function(e,t){if(!!l(e))return l(t)?(t.red=e.red,t.green=e.green,t.blue=e.blue,t.alpha=e.alpha,t):new ne(e.red,e.green,e.blue,e.alpha)};ne.equals=function(e,t){return e===t||l(e)&&l(t)&&e.red===t.red&&e.green===t.green&&e.blue===t.blue&&e.alpha===t.alpha};ne.equalsArray=function(e,t,n){return e.red===t[n]&&e.green===t[n+1]&&e.blue===t[n+2]&&e.alpha===t[n+3]};ne.prototype.clone=function(e){return ne.clone(this,e)};ne.prototype.equals=function(e){return ne.equals(this,e)};ne.prototype.equalsEpsilon=function(e,t){return this===e||l(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};ne.prototype.toString=function(){return`(${this.red}, ${this.green}, ${this.blue}, ${this.alpha})`};ne.prototype.toCssColorString=function(){let e=ne.floatToByte(this.red),t=ne.floatToByte(this.green),n=ne.floatToByte(this.blue);return this.alpha===1?`rgb(${e},${t},${n})`:`rgba(${e},${t},${n},${this.alpha})`};ne.prototype.toCssHexString=function(){let e=ne.floatToByte(this.red).toString(16);e.length<2&&(e=`0${e}`);let t=ne.floatToByte(this.green).toString(16);t.length<2&&(t=`0${t}`);let n=ne.floatToByte(this.blue).toString(16);if(n.length<2&&(n=`0${n}`),this.alpha<1){let i=ne.floatToByte(this.alpha).toString(16);return i.length<2&&(i=`0${i}`),`#${e}${t}${n}${i}`}return`#${e}${t}${n}`};ne.prototype.toBytes=function(e){let t=ne.floatToByte(this.red),n=ne.floatToByte(this.green),i=ne.floatToByte(this.blue),o=ne.floatToByte(this.alpha);return l(e)?(e[0]=t,e[1]=n,e[2]=i,e[3]=o,e):[t,n,i,o]};ne.prototype.toRgba=function(){return am[0]=ne.floatToByte(this.red),am[1]=ne.floatToByte(this.green),am[2]=ne.floatToByte(this.blue),am[3]=ne.floatToByte(this.alpha),z5[0]};ne.prototype.brighten=function(e,t){return e=1-e,t.red=1-(1-this.red)*e,t.green=1-(1-this.green)*e,t.blue=1-(1-this.blue)*e,t.alpha=this.alpha,t};ne.prototype.darken=function(e,t){return e=1-e,t.red=this.red*e,t.green=this.green*e,t.blue=this.blue*e,t.alpha=this.alpha,t};ne.prototype.withAlpha=function(e,t){return ne.fromAlpha(this,e,t)};ne.add=function(e,t,n){return n.red=e.red+t.red,n.green=e.green+t.green,n.blue=e.blue+t.blue,n.alpha=e.alpha+t.alpha,n};ne.subtract=function(e,t,n){return n.red=e.red-t.red,n.green=e.green-t.green,n.blue=e.blue-t.blue,n.alpha=e.alpha-t.alpha,n};ne.multiply=function(e,t,n){return n.red=e.red*t.red,n.green=e.green*t.green,n.blue=e.blue*t.blue,n.alpha=e.alpha*t.alpha,n};ne.divide=function(e,t,n){return n.red=e.red/t.red,n.green=e.green/t.green,n.blue=e.blue/t.blue,n.alpha=e.alpha/t.alpha,n};ne.mod=function(e,t,n){return n.red=e.red%t.red,n.green=e.green%t.green,n.blue=e.blue%t.blue,n.alpha=e.alpha%t.alpha,n};ne.lerp=function(e,t,n,i){return i.red=I.lerp(e.red,t.red,n),i.green=I.lerp(e.green,t.green,n),i.blue=I.lerp(e.blue,t.blue,n),i.alpha=I.lerp(e.alpha,t.alpha,n),i};ne.multiplyByScalar=function(e,t,n){return n.red=e.red*t,n.green=e.green*t,n.blue=e.blue*t,n.alpha=e.alpha*t,n};ne.divideByScalar=function(e,t,n){return n.red=e.red/t,n.green=e.green/t,n.blue=e.blue/t,n.alpha=e.alpha/t,n};ne.ALICEBLUE=Object.freeze(ne.fromCssColorString("#F0F8FF"));ne.ANTIQUEWHITE=Object.freeze(ne.fromCssColorString("#FAEBD7"));ne.AQUA=Object.freeze(ne.fromCssColorString("#00FFFF"));ne.AQUAMARINE=Object.freeze(ne.fromCssColorString("#7FFFD4"));ne.AZURE=Object.freeze(ne.fromCssColorString("#F0FFFF"));ne.BEIGE=Object.freeze(ne.fromCssColorString("#F5F5DC"));ne.BISQUE=Object.freeze(ne.fromCssColorString("#FFE4C4"));ne.BLACK=Object.freeze(ne.fromCssColorString("#000000"));ne.BLANCHEDALMOND=Object.freeze(ne.fromCssColorString("#FFEBCD"));ne.BLUE=Object.freeze(ne.fromCssColorString("#0000FF"));ne.BLUEVIOLET=Object.freeze(ne.fromCssColorString("#8A2BE2"));ne.BROWN=Object.freeze(ne.fromCssColorString("#A52A2A"));ne.BURLYWOOD=Object.freeze(ne.fromCssColorString("#DEB887"));ne.CADETBLUE=Object.freeze(ne.fromCssColorString("#5F9EA0"));ne.CHARTREUSE=Object.freeze(ne.fromCssColorString("#7FFF00"));ne.CHOCOLATE=Object.freeze(ne.fromCssColorString("#D2691E"));ne.CORAL=Object.freeze(ne.fromCssColorString("#FF7F50"));ne.CORNFLOWERBLUE=Object.freeze(ne.fromCssColorString("#6495ED"));ne.CORNSILK=Object.freeze(ne.fromCssColorString("#FFF8DC"));ne.CRIMSON=Object.freeze(ne.fromCssColorString("#DC143C"));ne.CYAN=Object.freeze(ne.fromCssColorString("#00FFFF"));ne.DARKBLUE=Object.freeze(ne.fromCssColorString("#00008B"));ne.DARKCYAN=Object.freeze(ne.fromCssColorString("#008B8B"));ne.DARKGOLDENROD=Object.freeze(ne.fromCssColorString("#B8860B"));ne.DARKGRAY=Object.freeze(ne.fromCssColorString("#A9A9A9"));ne.DARKGREEN=Object.freeze(ne.fromCssColorString("#006400"));ne.DARKGREY=ne.DARKGRAY;ne.DARKKHAKI=Object.freeze(ne.fromCssColorString("#BDB76B"));ne.DARKMAGENTA=Object.freeze(ne.fromCssColorString("#8B008B"));ne.DARKOLIVEGREEN=Object.freeze(ne.fromCssColorString("#556B2F"));ne.DARKORANGE=Object.freeze(ne.fromCssColorString("#FF8C00"));ne.DARKORCHID=Object.freeze(ne.fromCssColorString("#9932CC"));ne.DARKRED=Object.freeze(ne.fromCssColorString("#8B0000"));ne.DARKSALMON=Object.freeze(ne.fromCssColorString("#E9967A"));ne.DARKSEAGREEN=Object.freeze(ne.fromCssColorString("#8FBC8F"));ne.DARKSLATEBLUE=Object.freeze(ne.fromCssColorString("#483D8B"));ne.DARKSLATEGRAY=Object.freeze(ne.fromCssColorString("#2F4F4F"));ne.DARKSLATEGREY=ne.DARKSLATEGRAY;ne.DARKTURQUOISE=Object.freeze(ne.fromCssColorString("#00CED1"));ne.DARKVIOLET=Object.freeze(ne.fromCssColorString("#9400D3"));ne.DEEPPINK=Object.freeze(ne.fromCssColorString("#FF1493"));ne.DEEPSKYBLUE=Object.freeze(ne.fromCssColorString("#00BFFF"));ne.DIMGRAY=Object.freeze(ne.fromCssColorString("#696969"));ne.DIMGREY=ne.DIMGRAY;ne.DODGERBLUE=Object.freeze(ne.fromCssColorString("#1E90FF"));ne.FIREBRICK=Object.freeze(ne.fromCssColorString("#B22222"));ne.FLORALWHITE=Object.freeze(ne.fromCssColorString("#FFFAF0"));ne.FORESTGREEN=Object.freeze(ne.fromCssColorString("#228B22"));ne.FUCHSIA=Object.freeze(ne.fromCssColorString("#FF00FF"));ne.GAINSBORO=Object.freeze(ne.fromCssColorString("#DCDCDC"));ne.GHOSTWHITE=Object.freeze(ne.fromCssColorString("#F8F8FF"));ne.GOLD=Object.freeze(ne.fromCssColorString("#FFD700"));ne.GOLDENROD=Object.freeze(ne.fromCssColorString("#DAA520"));ne.GRAY=Object.freeze(ne.fromCssColorString("#808080"));ne.GREEN=Object.freeze(ne.fromCssColorString("#008000"));ne.GREENYELLOW=Object.freeze(ne.fromCssColorString("#ADFF2F"));ne.GREY=ne.GRAY;ne.HONEYDEW=Object.freeze(ne.fromCssColorString("#F0FFF0"));ne.HOTPINK=Object.freeze(ne.fromCssColorString("#FF69B4"));ne.INDIANRED=Object.freeze(ne.fromCssColorString("#CD5C5C"));ne.INDIGO=Object.freeze(ne.fromCssColorString("#4B0082"));ne.IVORY=Object.freeze(ne.fromCssColorString("#FFFFF0"));ne.KHAKI=Object.freeze(ne.fromCssColorString("#F0E68C"));ne.LAVENDER=Object.freeze(ne.fromCssColorString("#E6E6FA"));ne.LAVENDAR_BLUSH=Object.freeze(ne.fromCssColorString("#FFF0F5"));ne.LAWNGREEN=Object.freeze(ne.fromCssColorString("#7CFC00"));ne.LEMONCHIFFON=Object.freeze(ne.fromCssColorString("#FFFACD"));ne.LIGHTBLUE=Object.freeze(ne.fromCssColorString("#ADD8E6"));ne.LIGHTCORAL=Object.freeze(ne.fromCssColorString("#F08080"));ne.LIGHTCYAN=Object.freeze(ne.fromCssColorString("#E0FFFF"));ne.LIGHTGOLDENRODYELLOW=Object.freeze(ne.fromCssColorString("#FAFAD2"));ne.LIGHTGRAY=Object.freeze(ne.fromCssColorString("#D3D3D3"));ne.LIGHTGREEN=Object.freeze(ne.fromCssColorString("#90EE90"));ne.LIGHTGREY=ne.LIGHTGRAY;ne.LIGHTPINK=Object.freeze(ne.fromCssColorString("#FFB6C1"));ne.LIGHTSEAGREEN=Object.freeze(ne.fromCssColorString("#20B2AA"));ne.LIGHTSKYBLUE=Object.freeze(ne.fromCssColorString("#87CEFA"));ne.LIGHTSLATEGRAY=Object.freeze(ne.fromCssColorString("#778899"));ne.LIGHTSLATEGREY=ne.LIGHTSLATEGRAY;ne.LIGHTSTEELBLUE=Object.freeze(ne.fromCssColorString("#B0C4DE"));ne.LIGHTYELLOW=Object.freeze(ne.fromCssColorString("#FFFFE0"));ne.LIME=Object.freeze(ne.fromCssColorString("#00FF00"));ne.LIMEGREEN=Object.freeze(ne.fromCssColorString("#32CD32"));ne.LINEN=Object.freeze(ne.fromCssColorString("#FAF0E6"));ne.MAGENTA=Object.freeze(ne.fromCssColorString("#FF00FF"));ne.MAROON=Object.freeze(ne.fromCssColorString("#800000"));ne.MEDIUMAQUAMARINE=Object.freeze(ne.fromCssColorString("#66CDAA"));ne.MEDIUMBLUE=Object.freeze(ne.fromCssColorString("#0000CD"));ne.MEDIUMORCHID=Object.freeze(ne.fromCssColorString("#BA55D3"));ne.MEDIUMPURPLE=Object.freeze(ne.fromCssColorString("#9370DB"));ne.MEDIUMSEAGREEN=Object.freeze(ne.fromCssColorString("#3CB371"));ne.MEDIUMSLATEBLUE=Object.freeze(ne.fromCssColorString("#7B68EE"));ne.MEDIUMSPRINGGREEN=Object.freeze(ne.fromCssColorString("#00FA9A"));ne.MEDIUMTURQUOISE=Object.freeze(ne.fromCssColorString("#48D1CC"));ne.MEDIUMVIOLETRED=Object.freeze(ne.fromCssColorString("#C71585"));ne.MIDNIGHTBLUE=Object.freeze(ne.fromCssColorString("#191970"));ne.MINTCREAM=Object.freeze(ne.fromCssColorString("#F5FFFA"));ne.MISTYROSE=Object.freeze(ne.fromCssColorString("#FFE4E1"));ne.MOCCASIN=Object.freeze(ne.fromCssColorString("#FFE4B5"));ne.NAVAJOWHITE=Object.freeze(ne.fromCssColorString("#FFDEAD"));ne.NAVY=Object.freeze(ne.fromCssColorString("#000080"));ne.OLDLACE=Object.freeze(ne.fromCssColorString("#FDF5E6"));ne.OLIVE=Object.freeze(ne.fromCssColorString("#808000"));ne.OLIVEDRAB=Object.freeze(ne.fromCssColorString("#6B8E23"));ne.ORANGE=Object.freeze(ne.fromCssColorString("#FFA500"));ne.ORANGERED=Object.freeze(ne.fromCssColorString("#FF4500"));ne.ORCHID=Object.freeze(ne.fromCssColorString("#DA70D6"));ne.PALEGOLDENROD=Object.freeze(ne.fromCssColorString("#EEE8AA"));ne.PALEGREEN=Object.freeze(ne.fromCssColorString("#98FB98"));ne.PALETURQUOISE=Object.freeze(ne.fromCssColorString("#AFEEEE"));ne.PALEVIOLETRED=Object.freeze(ne.fromCssColorString("#DB7093"));ne.PAPAYAWHIP=Object.freeze(ne.fromCssColorString("#FFEFD5"));ne.PEACHPUFF=Object.freeze(ne.fromCssColorString("#FFDAB9"));ne.PERU=Object.freeze(ne.fromCssColorString("#CD853F"));ne.PINK=Object.freeze(ne.fromCssColorString("#FFC0CB"));ne.PLUM=Object.freeze(ne.fromCssColorString("#DDA0DD"));ne.POWDERBLUE=Object.freeze(ne.fromCssColorString("#B0E0E6"));ne.PURPLE=Object.freeze(ne.fromCssColorString("#800080"));ne.RED=Object.freeze(ne.fromCssColorString("#FF0000"));ne.ROSYBROWN=Object.freeze(ne.fromCssColorString("#BC8F8F"));ne.ROYALBLUE=Object.freeze(ne.fromCssColorString("#4169E1"));ne.SADDLEBROWN=Object.freeze(ne.fromCssColorString("#8B4513"));ne.SALMON=Object.freeze(ne.fromCssColorString("#FA8072"));ne.SANDYBROWN=Object.freeze(ne.fromCssColorString("#F4A460"));ne.SEAGREEN=Object.freeze(ne.fromCssColorString("#2E8B57"));ne.SEASHELL=Object.freeze(ne.fromCssColorString("#FFF5EE"));ne.SIENNA=Object.freeze(ne.fromCssColorString("#A0522D"));ne.SILVER=Object.freeze(ne.fromCssColorString("#C0C0C0"));ne.SKYBLUE=Object.freeze(ne.fromCssColorString("#87CEEB"));ne.SLATEBLUE=Object.freeze(ne.fromCssColorString("#6A5ACD"));ne.SLATEGRAY=Object.freeze(ne.fromCssColorString("#708090"));ne.SLATEGREY=ne.SLATEGRAY;ne.SNOW=Object.freeze(ne.fromCssColorString("#FFFAFA"));ne.SPRINGGREEN=Object.freeze(ne.fromCssColorString("#00FF7F"));ne.STEELBLUE=Object.freeze(ne.fromCssColorString("#4682B4"));ne.TAN=Object.freeze(ne.fromCssColorString("#D2B48C"));ne.TEAL=Object.freeze(ne.fromCssColorString("#008080"));ne.THISTLE=Object.freeze(ne.fromCssColorString("#D8BFD8"));ne.TOMATO=Object.freeze(ne.fromCssColorString("#FF6347"));ne.TURQUOISE=Object.freeze(ne.fromCssColorString("#40E0D0"));ne.VIOLET=Object.freeze(ne.fromCssColorString("#EE82EE"));ne.WHEAT=Object.freeze(ne.fromCssColorString("#F5DEB3"));ne.WHITE=Object.freeze(ne.fromCssColorString("#FFFFFF"));ne.WHITESMOKE=Object.freeze(ne.fromCssColorString("#F5F5F5"));ne.YELLOW=Object.freeze(ne.fromCssColorString("#FFFF00"));ne.YELLOWGREEN=Object.freeze(ne.fromCssColorString("#9ACD32"));ne.TRANSPARENT=Object.freeze(new ne(0,0,0,0));var U=ne;function vx(e,t,n,i){e=y(e,1),t=y(t,1),n=y(n,1),i=y(i,1),this.value=new Uint8Array([U.floatToByte(e),U.floatToByte(t),U.floatToByte(n),U.floatToByte(i)])}Object.defineProperties(vx.prototype,{componentDatatype:{get:function(){return Z.UNSIGNED_BYTE}},componentsPerAttribute:{get:function(){return 4}},normalize:{get:function(){return!0}}});vx.fromColor=function(e){return new vx(e.red,e.green,e.blue,e.alpha)};vx.toValue=function(e,t){return l(t)?e.toBytes(t):new Uint8Array(e.toBytes())};vx.equals=function(e,t){return e===t||l(e)&&l(t)&&e.value[0]===t.value[0]&&e.value[1]===t.value[1]&&e.value[2]===t.value[2]&&e.value[3]===t.value[3]};var It=vx;function Dx(e,t,n,i,o){this._format=e,this._datatype=t,this._width=n,this._height=i,this._buffer=o}Object.defineProperties(Dx.prototype,{internalFormat:{get:function(){return this._format}},pixelDatatype:{get:function(){return this._datatype}},width:{get:function(){return this._width}},height:{get:function(){return this._height}},bufferView:{get:function(){return this._buffer}}});Dx.clone=function(e){if(!!l(e))return new Dx(e._format,e._datatype,e._width,e._height,e._buffer)};Dx.prototype.clone=function(){return Dx.clone(this)};var S1=Dx;function Px(e){this._value=e,this._valueType=Xi.getPointType(e)}Object.defineProperties(Px.prototype,{value:{get:function(){return this._value}}});Px.prototype.findTimeInterval=function(e){};Px.prototype.wrapTime=function(e){return 0};Px.prototype.clampTime=function(e){return 0};Px.prototype.evaluate=function(e,t){let n=this._value,i=this._valueType;return i===Number?n:i.clone(n,t)};var w1=Px;var jZ=I.EPSILON10;function zSe(e,t,n,i){if(!l(e))return;n=y(n,!1);let o=l(i),r=e.length;if(r<2)return e;let s,a=e[0],c,u,f=0,d=-1;for(s=1;s<r;++s)c=e[s],t(a,c,jZ)?(l(u)||(u=e.slice(0,s),f=s-1,d=0),o&&i.push(s)):(l(u)&&(u.push(c),f=s,o&&(d=i.length)),a=c);return n&&t(e[0],e[r-1],jZ)&&(o&&(l(u)?i.splice(d,0,f):i.push(r-1)),l(u)?u.length-=1:u=e.slice(0,-1)),l(u)?u:e}var Co=zSe;var Ib={},HSe=new h,qZ=new h,YZ=new h,XZ=new h,KZ=new pi;Ib.validOutline=function(e){let n=pi.fromPoints(e,KZ).halfAxes,i=J.getColumn(n,0,qZ),o=J.getColumn(n,1,YZ),r=J.getColumn(n,2,XZ),s=h.magnitude(i),a=h.magnitude(o),c=h.magnitude(r);return!(s===0&&(a===0||c===0)||a===0&&c===0)};Ib.computeProjectTo2DArguments=function(e,t,n,i){let o=pi.fromPoints(e,KZ),r=o.halfAxes,s=J.getColumn(r,0,qZ),a=J.getColumn(r,1,YZ),c=J.getColumn(r,2,XZ),u=h.magnitude(s),f=h.magnitude(a),d=h.magnitude(c),p=Math.min(u,f,d);if(u===0&&(f===0||d===0)||f===0&&d===0)return!1;let g,m;return(p===f||p===d)&&(g=s),p===u?g=a:p===d&&(m=a),(p===u||p===f)&&(m=c),h.normalize(g,n),h.normalize(m,i),h.clone(o.center,t),!0};function ZZ(e,t,n,i,o){let r=h.subtract(e,t,HSe),s=h.dot(n,r),a=h.dot(i,r);return G.fromElements(s,a,o)}Ib.createProjectPointsTo2DFunction=function(e,t,n){return function(i){let o=new Array(i.length);for(let r=0;r<i.length;r++)o[r]=ZZ(i[r],e,t,n);return o}};Ib.createProjectPointTo2DFunction=function(e,t,n){return function(i,o){return ZZ(i,e,t,n,o)}};var Xp=Ib;function G5(e,t,n){if(e===0)return t*n;let i=e*e,o=i*i,r=o*i,s=r*i,a=s*i,c=a*i,u=n,f=Math.sin(2*u),d=Math.sin(4*u),p=Math.sin(6*u),g=Math.sin(8*u),m=Math.sin(10*u),C=Math.sin(12*u);return t*((1-i/4-3*o/64-5*r/256-175*s/16384-441*a/65536-4851*c/1048576)*u-(3*i/8+3*o/32+45*r/1024+105*s/4096+2205*a/131072+6237*c/524288)*f+(15*o/256+45*r/1024+525*s/16384+1575*a/65536+155925*c/8388608)*d-(35*r/3072+175*s/12288+3675*a/262144+13475*c/1048576)*p+(315*s/131072+2205*a/524288+43659*c/8388608)*g-(693*a/1310720+6237*c/5242880)*m+1001*c/8388608*C)}function GSe(e,t,n){let i=e/n;if(t===0)return i;let o=i*i,r=o*i,s=r*i,a=t,c=a*a,u=c*c,f=u*c,d=f*c,p=d*c,g=p*c,m=Math.sin(2*i),C=Math.cos(2*i),x=Math.sin(4*i),A=Math.cos(4*i),b=Math.sin(6*i),E=Math.cos(6*i),S=Math.sin(8*i),v=Math.cos(8*i),P=Math.sin(10*i),O=Math.cos(10*i),M=Math.sin(12*i);return i+i*c/4+7*i*u/64+15*i*f/256+579*i*d/16384+1515*i*p/65536+16837*i*g/1048576+(3*i*u/16+45*i*f/256-i*(32*o-561)*d/4096-i*(232*o-1677)*p/16384+i*(399985-90560*o+512*s)*g/5242880)*C+(21*i*f/256+483*i*d/4096-i*(224*o-1969)*p/16384-i*(33152*o-112599)*g/1048576)*A+(151*i*d/4096+4681*i*p/65536+1479*i*g/16384-453*r*g/32768)*E+(1097*i*p/65536+42783*i*g/1048576)*v+8011*i*g/1048576*O+(3*c/8+3*u/16+213*f/2048-3*o*f/64+255*d/4096-33*o*d/512+20861*p/524288-33*o*p/512+s*p/1024+28273*g/1048576-471*o*g/8192+9*s*g/4096)*m+(21*u/256+21*f/256+533*d/8192-21*o*d/512+197*p/4096-315*o*p/4096+584039*g/16777216-12517*o*g/131072+7*s*g/2048)*x+(151*f/6144+151*d/4096+5019*p/131072-453*o*p/16384+26965*g/786432-8607*o*g/131072)*b+(1097*d/131072+1097*p/65536+225797*g/10485760-1097*o*g/65536)*S+(8011*p/2621440+8011*g/1048576)*P+293393*g/251658240*M}function Ix(e,t){if(e===0)return Math.log(Math.tan(.5*(I.PI_OVER_TWO+t)));let n=e*Math.sin(t);return Math.log(Math.tan(.5*(I.PI_OVER_TWO+t)))-e/2*Math.log((1+n)/(1-n))}function WSe(e,t,n,i,o){let r=Ix(e._ellipticity,n),s=Ix(e._ellipticity,o);return Math.atan2(I.negativePiToPi(i-t),s-r)}function jSe(e,t,n,i,o,r,s){let a=e._heading,c=r-i,u=0;if(I.equalsEpsilon(Math.abs(a),I.PI_OVER_TWO,I.EPSILON8))if(t===n)u=t*Math.cos(o)*I.negativePiToPi(c);else{let f=Math.sin(o);u=t*Math.cos(o)*I.negativePiToPi(c)/Math.sqrt(1-e._ellipticitySquared*f*f)}else{let f=G5(e._ellipticity,t,o);u=(G5(e._ellipticity,t,s)-f)/Math.cos(a)}return Math.abs(u)}var qSe=new h,H5=new h;function $Z(e,t,n,i){let o=h.normalize(i.cartographicToCartesian(t,H5),qSe),r=h.normalize(i.cartographicToCartesian(n,H5),H5),s=i.maximumRadius,a=i.minimumRadius,c=s*s,u=a*a;e._ellipticitySquared=(c-u)/c,e._ellipticity=Math.sqrt(e._ellipticitySquared),e._start=he.clone(t,e._start),e._start.height=0,e._end=he.clone(n,e._end),e._end.height=0,e._heading=WSe(e,t.longitude,t.latitude,n.longitude,n.latitude),e._distance=jSe(e,i.maximumRadius,i.minimumRadius,t.longitude,t.latitude,n.longitude,n.latitude)}function JZ(e,t,n,i,o,r){if(n===0)return he.clone(e,r);let s=o*o,a,c,u;if(Math.abs(I.PI_OVER_TWO-Math.abs(t))>I.EPSILON8){let f=G5(o,i,e.latitude),d=n*Math.cos(t),p=f+d;c=GSe(p,o,i);let g=Ix(o,e.latitude),m=Ix(o,c);u=Math.tan(t)*(m-g),a=I.negativePiToPi(e.longitude+u)}else{c=e.latitude;let f;if(o===0)f=i*Math.cos(e.latitude);else{let d=Math.sin(e.latitude);f=i*Math.cos(e.latitude)/Math.sqrt(1-s*d*d)}u=n/f,t>0?a=I.negativePiToPi(e.longitude+u):a=I.negativePiToPi(e.longitude-u)}return l(r)?(r.longitude=a,r.latitude=c,r.height=0,r):new he(a,c,0)}function cm(e,t,n){let i=y(n,oe.WGS84);this._ellipsoid=i,this._start=new he,this._end=new he,this._heading=void 0,this._distance=void 0,this._ellipticity=void 0,this._ellipticitySquared=void 0,l(e)&&l(t)&&$Z(this,e,t,i)}Object.defineProperties(cm.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},surfaceDistance:{get:function(){return this._distance}},start:{get:function(){return this._start}},end:{get:function(){return this._end}},heading:{get:function(){return this._heading}}});cm.fromStartHeadingDistance=function(e,t,n,i,o){let r=y(i,oe.WGS84),s=r.maximumRadius,a=r.minimumRadius,c=s*s,u=a*a,f=Math.sqrt((c-u)/c);t=I.negativePiToPi(t);let d=JZ(e,t,n,r.maximumRadius,f);return!l(o)||l(i)&&!i.equals(o.ellipsoid)?new cm(e,d,r):(o.setEndPoints(e,d),o)};cm.prototype.setEndPoints=function(e,t){$Z(this,e,t,this._ellipsoid)};cm.prototype.interpolateUsingFraction=function(e,t){return this.interpolateUsingSurfaceDistance(e*this._distance,t)};cm.prototype.interpolateUsingSurfaceDistance=function(e,t){return JZ(this._start,this._heading,e,this._ellipsoid.maximumRadius,this._ellipticity,t)};cm.prototype.findIntersectionWithLongitude=function(e,t){let n=this._ellipticity,i=this._heading,o=Math.abs(i),r=this._start;if(e=I.negativePiToPi(e),I.equalsEpsilon(Math.abs(e),Math.PI,I.EPSILON14)&&(e=I.sign(r.longitude)*Math.PI),l(t)||(t=new he),Math.abs(I.PI_OVER_TWO-o)<=I.EPSILON8)return t.longitude=e,t.latitude=r.latitude,t.height=0,t;if(I.equalsEpsilon(Math.abs(I.PI_OVER_TWO-o),I.PI_OVER_TWO,I.EPSILON8))return I.equalsEpsilon(e,r.longitude,I.EPSILON12)?void 0:(t.longitude=e,t.latitude=I.PI_OVER_TWO*I.sign(I.PI_OVER_TWO-i),t.height=0,t);let s=r.latitude,a=n*Math.sin(s),c=Math.tan(.5*(I.PI_OVER_TWO+s))*Math.exp((e-r.longitude)/Math.tan(i)),u=(1+a)/(1-a),f=r.latitude,d;do{d=f;let p=n*Math.sin(d),g=(1+p)/(1-p);f=2*Math.atan(c*Math.pow(g/u,n/2))-I.PI_OVER_TWO}while(!I.equalsEpsilon(f,d,I.EPSILON12));return t.longitude=e,t.latitude=f,t.height=0,t};cm.prototype.findIntersectionWithLatitude=function(e,t){let n=this._ellipticity,i=this._heading,o=this._start;if(I.equalsEpsilon(Math.abs(i),I.PI_OVER_TWO,I.EPSILON8))return;let r=Ix(n,o.latitude),s=Ix(n,e),a=Math.tan(i)*(s-r),c=I.negativePiToPi(o.longitude+a);return l(t)?(t.longitude=c,t.latitude=e,t.height=0,t):new he(c,e,0)};var _a=cm;var a$=Ri(i$(),1);var O1={CLOCKWISE:te.CW,COUNTER_CLOCKWISE:te.CCW};O1.validate=function(e){return e===O1.CLOCKWISE||e===O1.COUNTER_CLOCKWISE};var $r=Object.freeze(O1);var cwe=new h,lwe=new h,Kp={};Kp.computeArea2D=function(e){let t=e.length,n=0;for(let i=t-1,o=0;o<t;i=o++){let r=e[i],s=e[o];n+=r.x*s.y-s.x*r.y}return n*.5};Kp.computeWindingOrder2D=function(e){return Kp.computeArea2D(e)>0?$r.COUNTER_CLOCKWISE:$r.CLOCKWISE};Kp.triangulate=function(e,t){let n=G.packArray(e);return(0,a$.default)(n,t,2)};var c$=new h,l$=new h,u$=new h,o$=new h,r$=new h,s$=new h,lm=new h,f$=new G,d$=new G,h$=new G,Rx=new G;Kp.computeSubdivision=function(e,t,n,i,o){o=y(o,I.RADIANS_PER_DEGREE);let r=l(i),s=n.slice(0),a,c=t.length,u=new Array(c*3),f=new Array(c*2),d=0,p=0;for(a=0;a<c;a++){let E=t[a];if(u[d++]=E.x,u[d++]=E.y,u[d++]=E.z,r){let S=i[a];f[p++]=S.x,f[p++]=S.y}}let g=[],m={},C=e.maximumRadius,x=I.chordLength(o,C),A=x*x;for(;s.length>0;){let E=s.pop(),S=s.pop(),v=s.pop(),P=h.fromArray(u,v*3,c$),O=h.fromArray(u,S*3,l$),M=h.fromArray(u,E*3,u$),B,L,_;r&&(B=G.fromArray(f,v*2,f$),L=G.fromArray(f,S*2,d$),_=G.fromArray(f,E*2,h$));let T=h.multiplyByScalar(h.normalize(P,o$),C,o$),w=h.multiplyByScalar(h.normalize(O,r$),C,r$),D=h.multiplyByScalar(h.normalize(M,s$),C,s$),R=h.magnitudeSquared(h.subtract(T,w,lm)),F=h.magnitudeSquared(h.subtract(w,D,lm)),z=h.magnitudeSquared(h.subtract(D,T,lm)),k=Math.max(R,F,z),H,V,Y;k>A?R===k?(H=`${Math.min(v,S)} ${Math.max(v,S)}`,a=m[H],l(a)||(V=h.add(P,O,lm),h.multiplyByScalar(V,.5,V),u.push(V.x,V.y,V.z),a=u.length/3-1,m[H]=a,r&&(Y=G.add(B,L,Rx),G.multiplyByScalar(Y,.5,Y),f.push(Y.x,Y.y))),s.push(v,a,E),s.push(a,S,E)):F===k?(H=`${Math.min(S,E)} ${Math.max(S,E)}`,a=m[H],l(a)||(V=h.add(O,M,lm),h.multiplyByScalar(V,.5,V),u.push(V.x,V.y,V.z),a=u.length/3-1,m[H]=a,r&&(Y=G.add(L,_,Rx),G.multiplyByScalar(Y,.5,Y),f.push(Y.x,Y.y))),s.push(S,a,v),s.push(a,E,v)):z===k&&(H=`${Math.min(E,v)} ${Math.max(E,v)}`,a=m[H],l(a)||(V=h.add(M,P,lm),h.multiplyByScalar(V,.5,V),u.push(V.x,V.y,V.z),a=u.length/3-1,m[H]=a,r&&(Y=G.add(_,B,Rx),G.multiplyByScalar(Y,.5,Y),f.push(Y.x,Y.y))),s.push(E,a,S),s.push(a,v,S)):(g.push(v),g.push(S),g.push(E))}let b={attributes:{position:new Ee({componentDatatype:Z.DOUBLE,componentsPerAttribute:3,values:u})},indices:g,primitiveType:Ne.TRIANGLES};return r&&(b.attributes.st=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:2,values:f})),new rt(b)};var uwe=new he,fwe=new he,dwe=new he,X5=new he;Kp.computeRhumbLineSubdivision=function(e,t,n,i,o){o=y(o,I.RADIANS_PER_DEGREE);let r=l(i),s=n.slice(0),a,c=t.length,u=new Array(c*3),f=new Array(c*2),d=0,p=0;for(a=0;a<c;a++){let v=t[a];if(u[d++]=v.x,u[d++]=v.y,u[d++]=v.z,r){let P=i[a];f[p++]=P.x,f[p++]=P.y}}let g=[],m={},C=e.maximumRadius,x=I.chordLength(o,C),A=new _a(void 0,void 0,e),b=new _a(void 0,void 0,e),E=new _a(void 0,void 0,e);for(;s.length>0;){let v=s.pop(),P=s.pop(),O=s.pop(),M=h.fromArray(u,O*3,c$),B=h.fromArray(u,P*3,l$),L=h.fromArray(u,v*3,u$),_,T,w;r&&(_=G.fromArray(f,O*2,f$),T=G.fromArray(f,P*2,d$),w=G.fromArray(f,v*2,h$));let D=e.cartesianToCartographic(M,uwe),R=e.cartesianToCartographic(B,fwe),F=e.cartesianToCartographic(L,dwe);A.setEndPoints(D,R);let z=A.surfaceDistance;b.setEndPoints(R,F);let k=b.surfaceDistance;E.setEndPoints(F,D);let H=E.surfaceDistance,V=Math.max(z,k,H),Y,q,X,W,K;V>x?z===V?(Y=`${Math.min(O,P)} ${Math.max(O,P)}`,a=m[Y],l(a)||(q=A.interpolateUsingFraction(.5,X5),X=(D.height+R.height)*.5,W=h.fromRadians(q.longitude,q.latitude,X,e,lm),u.push(W.x,W.y,W.z),a=u.length/3-1,m[Y]=a,r&&(K=G.add(_,T,Rx),G.multiplyByScalar(K,.5,K),f.push(K.x,K.y))),s.push(O,a,v),s.push(a,P,v)):k===V?(Y=`${Math.min(P,v)} ${Math.max(P,v)}`,a=m[Y],l(a)||(q=b.interpolateUsingFraction(.5,X5),X=(R.height+F.height)*.5,W=h.fromRadians(q.longitude,q.latitude,X,e,lm),u.push(W.x,W.y,W.z),a=u.length/3-1,m[Y]=a,r&&(K=G.add(T,w,Rx),G.multiplyByScalar(K,.5,K),f.push(K.x,K.y))),s.push(P,a,O),s.push(a,v,O)):H===V&&(Y=`${Math.min(v,O)} ${Math.max(v,O)}`,a=m[Y],l(a)||(q=E.interpolateUsingFraction(.5,X5),X=(F.height+D.height)*.5,W=h.fromRadians(q.longitude,q.latitude,X,e,lm),u.push(W.x,W.y,W.z),a=u.length/3-1,m[Y]=a,r&&(K=G.add(w,_,Rx),G.multiplyByScalar(K,.5,K),f.push(K.x,K.y))),s.push(v,a,P),s.push(a,O,P)):(g.push(O),g.push(P),g.push(v))}let S={attributes:{position:new Ee({componentDatatype:Z.DOUBLE,componentsPerAttribute:3,values:u})},indices:g,primitiveType:Ne.TRIANGLES};return r&&(S.attributes.st=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:2,values:f})),new rt(S)};Kp.scaleToGeodeticHeight=function(e,t,n,i){n=y(n,oe.WGS84);let o=cwe,r=lwe;if(t=y(t,0),i=y(i,!0),l(e)){let s=e.length;for(let a=0;a<s;a+=3)h.fromArray(e,a,r),i&&(r=n.scaleToGeodeticSurface(r,r)),t!==0&&(o=n.geodeticSurfaceNormal(r,o),h.multiplyByScalar(o,t,o),h.add(r,o,r)),e[a]=r.x,e[a+1]=r.y,e[a+2]=r.z}return e};var ei=Kp;function Zp(){this._array=[],this._offset=0,this._length=0}Object.defineProperties(Zp.prototype,{length:{get:function(){return this._length}}});Zp.prototype.enqueue=function(e){this._array.push(e),this._length++};Zp.prototype.dequeue=function(){if(this._length===0)return;let e=this._array,t=this._offset,n=e[t];return e[t]=void 0,t++,t>10&&t*2>e.length&&(this._array=e.slice(t),t=0),this._offset=t,this._length--,n};Zp.prototype.peek=function(){if(this._length!==0)return this._array[this._offset]};Zp.prototype.contains=function(e){return this._array.indexOf(e)!==-1};Zp.prototype.clear=function(){this._array.length=this._offset=this._length=0};Zp.prototype.sort=function(e){this._offset>0&&(this._array=this._array.slice(this._offset),this._offset=0),this._array.sort(e)};var k0=Zp;var Ko={};Ko.computeHierarchyPackedLength=function(e,t){let n=0,i=[e];for(;i.length>0;){let o=i.pop();if(!l(o))continue;n+=2;let r=o.positions,s=o.holes;if(l(r)&&r.length>0&&(n+=r.length*t.packedLength),l(s)){let a=s.length;for(let c=0;c<a;++c)i.push(s[c])}}return n};Ko.packPolygonHierarchy=function(e,t,n,i){let o=[e];for(;o.length>0;){let r=o.pop();if(!l(r))continue;let s=r.positions,a=r.holes;if(t[n++]=l(s)?s.length:0,t[n++]=l(a)?a.length:0,l(s)){let c=s.length;for(let u=0;u<c;++u,n+=i.packedLength)i.pack(s[u],t,n)}if(l(a)){let c=a.length;for(let u=0;u<c;++u)o.push(a[u])}}return n};Ko.unpackPolygonHierarchy=function(e,t,n){let i=e[t++],o=e[t++],r=new Array(i),s=o>0?new Array(o):void 0;for(let a=0;a<i;++a,t+=n.packedLength)r[a]=n.unpack(e,t);for(let a=0;a<o;++a)s[a]=Ko.unpackPolygonHierarchy(e,t,n),t=s[a].startingIndex,delete s[a].startingIndex;return{positions:r,holes:s,startingIndex:t}};var U0=new G;function g$(e,t,n,i){return G.subtract(t,e,U0),G.multiplyByScalar(U0,n/i,U0),G.add(e,U0,U0),[U0.x,U0.y]}var $p=new h;function hwe(e,t,n,i){return h.subtract(t,e,$p),h.multiplyByScalar($p,n/i,$p),h.add(e,$p,$p),[$p.x,$p.y,$p.z]}Ko.subdivideLineCount=function(e,t,n){let o=h.distance(e,t)/n,r=Math.max(0,Math.ceil(I.log2(o)));return Math.pow(2,r)};var K5=new he,Z5=new he,mwe=new he,pwe=new h,m$=new _a;Ko.subdivideRhumbLineCount=function(e,t,n,i){let o=e.cartesianToCartographic(t,K5),r=e.cartesianToCartographic(n,Z5),a=new _a(o,r,e).surfaceDistance/i,c=Math.max(0,Math.ceil(I.log2(a)));return Math.pow(2,c)};Ko.subdivideTexcoordLine=function(e,t,n,i,o,r){let s=Ko.subdivideLineCount(n,i,o),a=G.distance(e,t),c=a/s,u=r;u.length=s*2;let f=0;for(let d=0;d<s;d++){let p=g$(e,t,d*c,a);u[f++]=p[0],u[f++]=p[1]}return u};Ko.subdivideLine=function(e,t,n,i){let o=Ko.subdivideLineCount(e,t,n),r=h.distance(e,t),s=r/o;l(i)||(i=[]);let a=i;a.length=o*3;let c=0;for(let u=0;u<o;u++){let f=hwe(e,t,u*s,r);a[c++]=f[0],a[c++]=f[1],a[c++]=f[2]}return a};Ko.subdivideTexcoordRhumbLine=function(e,t,n,i,o,r,s){let a=n.cartesianToCartographic(i,K5),c=n.cartesianToCartographic(o,Z5);m$.setEndPoints(a,c);let u=m$.surfaceDistance/r,f=Math.max(0,Math.ceil(I.log2(u))),d=Math.pow(2,f),p=G.distance(e,t),g=p/d,m=s;m.length=d*2;let C=0;for(let x=0;x<d;x++){let A=g$(e,t,x*g,p);m[C++]=A[0],m[C++]=A[1]}return m};Ko.subdivideRhumbLine=function(e,t,n,i,o){let r=e.cartesianToCartographic(t,K5),s=e.cartesianToCartographic(n,Z5),a=new _a(r,s,e),c=a.surfaceDistance/i,u=Math.max(0,Math.ceil(I.log2(c))),f=Math.pow(2,u),d=a.surfaceDistance/f;l(o)||(o=[]);let p=o;p.length=f*3;let g=0;for(let m=0;m<f;m++){let C=a.interpolateUsingSurfaceDistance(m*d,mwe),x=e.cartographicToCartesian(C,pwe);p[g++]=x.x,p[g++]=x.y,p[g++]=x.z}return p};var _we=new h,gwe=new h,ywe=new h,Cwe=new h;Ko.scaleToGeodeticHeightExtruded=function(e,t,n,i,o){i=y(i,oe.WGS84);let r=_we,s=gwe,a=ywe,c=Cwe;if(l(e)&&l(e.attributes)&&l(e.attributes.position)){let u=e.attributes.position.values,f=u.length/2;for(let d=0;d<f;d+=3)h.fromArray(u,d,a),i.geodeticSurfaceNormal(a,r),c=i.scaleToGeodeticSurface(a,c),s=h.multiplyByScalar(r,n,s),s=h.add(c,s,s),u[d+f]=s.x,u[d+1+f]=s.y,u[d+2+f]=s.z,o&&(c=h.clone(a,c)),s=h.multiplyByScalar(r,t,s),s=h.add(c,s,s),u[d]=s.x,u[d+1]=s.y,u[d+2]=s.z}return e};Ko.polygonOutlinesFromHierarchy=function(e,t,n){let i=[],o=new k0;o.enqueue(e);let r,s,a;for(;o.length!==0;){let c=o.dequeue(),u=c.positions;if(t)for(a=u.length,r=0;r<a;r++)n.scaleToGeodeticSurface(u[r],u[r]);if(u=Co(u,h.equalsEpsilon,!0),u.length<3)continue;let f=c.holes?c.holes.length:0;for(r=0;r<f;r++){let d=c.holes[r],p=d.positions;if(t)for(a=p.length,s=0;s<a;++s)n.scaleToGeodeticSurface(p[s],p[s]);if(p=Co(p,h.equalsEpsilon,!0),p.length<3)continue;i.push(p);let g=0;for(l(d.holes)&&(g=d.holes.length),s=0;s<g;s++)o.enqueue(d.holes[s])}i.push(u)}return i};Ko.polygonsFromHierarchy=function(e,t,n,i,o){let r=[],s=[],a=new k0;for(a.enqueue(e);a.length!==0;){let c=a.dequeue(),u=c.positions,f=c.holes,d,p;if(i)for(p=u.length,d=0;d<p;d++)o.scaleToGeodeticSurface(u[d],u[d]);if(t||(u=Co(u,h.equalsEpsilon,!0)),u.length<3)continue;let g=n(u);if(!l(g))continue;let m=[],C=ei.computeWindingOrder2D(g);C===$r.CLOCKWISE&&(g.reverse(),u=u.slice().reverse());let x=u.slice(),A=l(f)?f.length:0,b=[],E;for(d=0;d<A;d++){let S=f[d],v=S.positions;if(i)for(p=v.length,E=0;E<p;++E)o.scaleToGeodeticSurface(v[E],v[E]);if(t||(v=Co(v,h.equalsEpsilon,!0)),v.length<3)continue;let P=n(v);if(!l(P))continue;C=ei.computeWindingOrder2D(P),C===$r.CLOCKWISE&&(P.reverse(),v=v.slice().reverse()),b.push(v),m.push(x.length),x=x.concat(v),g=g.concat(P);let O=0;for(l(S.holes)&&(O=S.holes.length),E=0;E<O;E++)a.enqueue(S.holes[E])}r.push({outerRing:u,holes:b}),s.push({positions:x,positions2D:g,holes:m})}return{hierarchy:r,polygons:s}};var xwe=new G,Awe=new h,Twe=new Oe,Ewe=new J;Ko.computeBoundingRectangle=function(e,t,n,i,o){let r=Oe.fromAxisAngle(e,i,Twe),s=J.fromQuaternion(r,Ewe),a=Number.POSITIVE_INFINITY,c=Number.NEGATIVE_INFINITY,u=Number.POSITIVE_INFINITY,f=Number.NEGATIVE_INFINITY,d=n.length;for(let p=0;p<d;++p){let g=h.clone(n[p],Awe);J.multiplyByVector(s,g,g);let m=t(g,xwe);l(m)&&(a=Math.min(a,m.x),c=Math.max(c,m.x),u=Math.min(u,m.y),f=Math.max(f,m.y))}return o.x=a,o.y=u,o.width=c-a,o.height=f-u,o};Ko.createGeometryFromPositions=function(e,t,n,i,o,r,s){let a=ei.triangulate(t.positions2D,t.holes);a.length<3&&(a=[0,1,2]);let c=t.positions,u=l(n),f=u?n.positions:void 0;if(o){let d=c.length,p=new Array(d*3),g=0;for(let x=0;x<d;x++){let A=c[x];p[g++]=A.x,p[g++]=A.y,p[g++]=A.z}let m={attributes:{position:new Ee({componentDatatype:Z.DOUBLE,componentsPerAttribute:3,values:p})},indices:a,primitiveType:Ne.TRIANGLES};u&&(m.attributes.st=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:2,values:G.packArray(f)}));let C=new rt(m);return r.normal?In.computeNormal(C):C}if(s===qt.GEODESIC)return ei.computeSubdivision(e,c,a,f,i);if(s===qt.RHUMB)return ei.computeRhumbLineSubdivision(e,c,a,f,i)};var p$=[],_$=[],bwe=new h,Swe=new h;Ko.computeWallGeometry=function(e,t,n,i,o,r){let s,a,c,u,f,d,p,g,m,C=e.length,x=0,A=0,b=l(t),E=b?t.positions:void 0;if(o)for(a=C*3*2,s=new Array(a*2),b&&(m=C*2*2,g=new Array(m*2)),c=0;c<C;c++)u=e[c],f=e[(c+1)%C],s[x]=s[x+a]=u.x,++x,s[x]=s[x+a]=u.y,++x,s[x]=s[x+a]=u.z,++x,s[x]=s[x+a]=f.x,++x,s[x]=s[x+a]=f.y,++x,s[x]=s[x+a]=f.z,++x,b&&(d=E[c],p=E[(c+1)%C],g[A]=g[A+m]=d.x,++A,g[A]=g[A+m]=d.y,++A,g[A]=g[A+m]=p.x,++A,g[A]=g[A+m]=p.y,++A);else{let M=I.chordLength(i,n.maximumRadius),B=0;if(r===qt.GEODESIC)for(c=0;c<C;c++)B+=Ko.subdivideLineCount(e[c],e[(c+1)%C],M);else if(r===qt.RHUMB)for(c=0;c<C;c++)B+=Ko.subdivideRhumbLineCount(n,e[c],e[(c+1)%C],M);for(a=(B+C)*3,s=new Array(a*2),b&&(m=(B+C)*2,g=new Array(m*2)),c=0;c<C;c++){u=e[c],f=e[(c+1)%C];let L,_;b&&(d=E[c],p=E[(c+1)%C]),r===qt.GEODESIC?(L=Ko.subdivideLine(u,f,M,_$),b&&(_=Ko.subdivideTexcoordLine(d,p,u,f,M,p$))):r===qt.RHUMB&&(L=Ko.subdivideRhumbLine(n,u,f,M,_$),b&&(_=Ko.subdivideTexcoordRhumbLine(d,p,n,u,f,M,p$)));let T=L.length;for(let w=0;w<T;++w,++x)s[x]=L[w],s[x+a]=L[w];if(s[x]=f.x,s[x+a]=f.x,++x,s[x]=f.y,s[x+a]=f.y,++x,s[x]=f.z,s[x+a]=f.z,++x,b){let w=_.length;for(let D=0;D<w;++D,++A)g[A]=_[D],g[A+m]=_[D];g[A]=p.x,g[A+m]=p.x,++A,g[A]=p.y,g[A+m]=p.y,++A}}}C=s.length;let S=Be.createTypedArray(C/3,C-e.length*6),v=0;for(C/=6,c=0;c<C;c++){let M=c,B=M+1,L=M+C,_=L+1;u=h.fromArray(s,M*3,bwe),f=h.fromArray(s,B*3,Swe),!h.equalsEpsilon(u,f,I.EPSILON10,I.EPSILON10)&&(S[v++]=M,S[v++]=L,S[v++]=B,S[v++]=B,S[v++]=L,S[v++]=_)}let P={attributes:new rn({position:new Ee({componentDatatype:Z.DOUBLE,componentsPerAttribute:3,values:s})}),indices:S,primitiveType:Ne.TRIANGLES};return b&&(P.attributes.st=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:2,values:g})),new rt(P)};var zn=Ko;var wwe=new h,vwe=new Ge,Dwe=new G,Pwe=new G,Iwe=new h,Owe=new h,Rwe=new h,Bb=new h,Mwe=new h,Bwe=new h,y$=new Oe,Lwe=new J,Nwe=new J,Fwe=new h;function Vwe(e,t,n,i,o,r,s,a,c){let u=e.positions,f=ei.triangulate(e.positions2D,e.holes);f.length<3&&(f=[0,1,2]);let d=Be.createTypedArray(u.length,f.length);d.set(f);let p=Lwe;if(i!==0){let _=Oe.fromAxisAngle(s,i,y$);if(p=J.fromQuaternion(_,p),t.tangent||t.bitangent){_=Oe.fromAxisAngle(s,-i,y$);let T=J.fromQuaternion(_,Nwe);a=h.normalize(J.multiplyByVector(T,a,a),a),t.bitangent&&(c=h.normalize(h.cross(s,a,c),c))}}else p=J.clone(J.IDENTITY,p);let g=Pwe;t.st&&(g.x=n.x,g.y=n.y);let m=u.length,C=m*3,x=new Float64Array(C),A=t.normal?new Float32Array(C):void 0,b=t.tangent?new Float32Array(C):void 0,E=t.bitangent?new Float32Array(C):void 0,S=t.st?new Float32Array(m*2):void 0,v=0,P=0,O=0,M=0,B=0;for(let _=0;_<m;_++){let T=u[_];if(x[v++]=T.x,x[v++]=T.y,x[v++]=T.z,t.st)if(l(o)&&o.positions.length===m)S[B++]=o.positions[_].x,S[B++]=o.positions[_].y;else{let w=J.multiplyByVector(p,T,wwe),D=r(w,Dwe);G.subtract(D,g,D);let R=I.clamp(D.x/n.width,0,1),F=I.clamp(D.y/n.height,0,1);S[B++]=R,S[B++]=F}t.normal&&(A[P++]=s.x,A[P++]=s.y,A[P++]=s.z),t.tangent&&(b[M++]=a.x,b[M++]=a.y,b[M++]=a.z),t.bitangent&&(E[O++]=c.x,E[O++]=c.y,E[O++]=c.z)}let L=new rn;return t.position&&(L.position=new Ee({componentDatatype:Z.DOUBLE,componentsPerAttribute:3,values:x})),t.normal&&(L.normal=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:A})),t.tangent&&(L.tangent=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:b})),t.bitangent&&(L.bitangent=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:E})),t.st&&(L.st=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:2,values:S})),new rt({attributes:L,indices:d,primitiveType:Ne.TRIANGLES})}function z0(e){e=y(e,y.EMPTY_OBJECT);let t=e.polygonHierarchy,n=e.textureCoordinates,i=y(e.vertexFormat,ve.DEFAULT);this._vertexFormat=ve.clone(i),this._polygonHierarchy=t,this._stRotation=y(e.stRotation,0),this._ellipsoid=oe.clone(y(e.ellipsoid,oe.WGS84)),this._workerName="createCoplanarPolygonGeometry",this._textureCoordinates=n,this.packedLength=zn.computeHierarchyPackedLength(t,h)+ve.packedLength+oe.packedLength+(l(n)?zn.computeHierarchyPackedLength(n,G):1)+2}z0.fromPositions=function(e){e=y(e,y.EMPTY_OBJECT);let t={polygonHierarchy:{positions:e.positions},vertexFormat:e.vertexFormat,stRotation:e.stRotation,ellipsoid:e.ellipsoid,textureCoordinates:e.textureCoordinates};return new z0(t)};z0.pack=function(e,t,n){return n=y(n,0),n=zn.packPolygonHierarchy(e._polygonHierarchy,t,n,h),oe.pack(e._ellipsoid,t,n),n+=oe.packedLength,ve.pack(e._vertexFormat,t,n),n+=ve.packedLength,t[n++]=e._stRotation,l(e._textureCoordinates)?n=zn.packPolygonHierarchy(e._textureCoordinates,t,n,G):t[n++]=-1,t[n++]=e.packedLength,t};var kwe=oe.clone(oe.UNIT_SPHERE),Uwe=new ve,zwe={polygonHierarchy:{}};z0.unpack=function(e,t,n){t=y(t,0);let i=zn.unpackPolygonHierarchy(e,t,h);t=i.startingIndex,delete i.startingIndex;let o=oe.unpack(e,t,kwe);t+=oe.packedLength;let r=ve.unpack(e,t,Uwe);t+=ve.packedLength;let s=e[t++],a=e[t]===-1?void 0:zn.unpackPolygonHierarchy(e,t,G);l(a)?(t=a.startingIndex,delete a.startingIndex):t++;let c=e[t++];return l(n)||(n=new z0(zwe)),n._polygonHierarchy=i,n._ellipsoid=oe.clone(o,n._ellipsoid),n._vertexFormat=ve.clone(r,n._vertexFormat),n._stRotation=s,n._textureCoordinates=a,n.packedLength=c,n};z0.createGeometry=function(e){let t=e._vertexFormat,n=e._polygonHierarchy,i=e._stRotation,o=e._textureCoordinates,r=l(o),s=n.positions;if(s=Co(s,h.equalsEpsilon,!0),s.length<3)return;let a=Iwe,c=Owe,u=Rwe,f=Mwe,d=Bwe;if(!Xp.computeProjectTo2DArguments(s,Bb,f,d))return;if(a=h.cross(f,d,a),a=h.normalize(a,a),!h.equalsEpsilon(Bb,h.ZERO,I.EPSILON6)){let B=e._ellipsoid.geodeticSurfaceNormal(Bb,Fwe);h.dot(a,B)<0&&(a=h.negate(a,a),f=h.negate(f,f))}let g=Xp.createProjectPointsTo2DFunction(Bb,f,d),m=Xp.createProjectPointTo2DFunction(Bb,f,d);t.tangent&&(c=h.clone(f,c)),t.bitangent&&(u=h.clone(d,u));let C=zn.polygonsFromHierarchy(n,r,g,!1),x=C.hierarchy,A=C.polygons,b=function(B){return B},E=r?zn.polygonsFromHierarchy(o,!0,b,!1).polygons:void 0;if(x.length===0)return;s=x[0].outerRing;let S=re.fromPoints(s),v=zn.computeBoundingRectangle(a,m,s,i,vwe),P=[];for(let B=0;B<A.length;B++){let L=new pt({geometry:Vwe(A[B],t,v,i,r?E[B]:void 0,m,a,c,u)});P.push(L)}let O=In.combineInstances(P)[0];O.attributes.position.values=new Float64Array(O.attributes.position.values),O.indices=Be.createTypedArray(O.attributes.position.values.length/3,O.indices);let M=O.attributes;return t.position||delete M.position,new rt({attributes:M,indices:O.indices,primitiveType:O.primitiveType,boundingSphere:S})};var R1=z0;function Hwe(e){let t=e.length,n=new Float64Array(t*3),i=Be.createTypedArray(t,t*2),o=0,r=0;for(let a=0;a<t;a++){let c=e[a];n[o++]=c.x,n[o++]=c.y,n[o++]=c.z,i[r++]=a,i[r++]=(a+1)%t}let s=new rn({position:new Ee({componentDatatype:Z.DOUBLE,componentsPerAttribute:3,values:n})});return new rt({attributes:s,indices:i,primitiveType:Ne.LINES})}function H0(e){e=y(e,y.EMPTY_OBJECT);let t=e.polygonHierarchy;this._polygonHierarchy=t,this._workerName="createCoplanarPolygonOutlineGeometry",this.packedLength=zn.computeHierarchyPackedLength(t,h)+1}H0.fromPositions=function(e){e=y(e,y.EMPTY_OBJECT);let t={polygonHierarchy:{positions:e.positions}};return new H0(t)};H0.pack=function(e,t,n){return n=y(n,0),n=zn.packPolygonHierarchy(e._polygonHierarchy,t,n,h),t[n]=e.packedLength,t};var Gwe={polygonHierarchy:{}};H0.unpack=function(e,t,n){t=y(t,0);let i=zn.unpackPolygonHierarchy(e,t,h);t=i.startingIndex,delete i.startingIndex;let o=e[t];return l(n)||(n=new H0(Gwe)),n._polygonHierarchy=i,n.packedLength=o,n};H0.createGeometry=function(e){let t=e._polygonHierarchy,n=t.positions;if(n=Co(n,h.equalsEpsilon,!0),n.length<3||!Xp.validOutline(n))return;let o=zn.polygonOutlinesFromHierarchy(t,!1);if(o.length===0)return;let r=[];for(let c=0;c<o.length;c++){let u=new pt({geometry:Hwe(o[c])});r.push(u)}let s=In.combineInstances(r)[0],a=re.fromPoints(t.positions);return new rt({attributes:s.attributes,indices:s.indices,primitiveType:s.primitiveType,boundingSphere:a})};var pf=H0;var Wwe={ROUNDED:0,MITERED:1,BEVELED:2},bi=Object.freeze(Wwe);function jwe(e){let t=e._uSquared,n=e._ellipsoid.maximumRadius,i=e._ellipsoid.minimumRadius,o=(n-i)/n,r=Math.cos(e._startHeading),s=Math.sin(e._startHeading),a=(1-o)*Math.tan(e._start.latitude),c=1/Math.sqrt(1+a*a),u=c*a,f=Math.atan2(a,r),d=c*s,p=d*d,g=1-p,m=Math.sqrt(g),C=t/4,x=C*C,A=x*C,b=x*x,E=1+C-3*x/4+5*A/4-175*b/64,S=1-C+15*x/8-35*A/8,v=1-3*C+35*x/4,P=1-5*C,O=E*f-S*Math.sin(2*f)*C/2-v*Math.sin(4*f)*x/16-P*Math.sin(6*f)*A/48-Math.sin(8*f)*5*b/512,M=e._constants;M.a=n,M.b=i,M.f=o,M.cosineHeading=r,M.sineHeading=s,M.tanU=a,M.cosineU=c,M.sineU=u,M.sigma=f,M.sineAlpha=d,M.sineSquaredAlpha=p,M.cosineSquaredAlpha=g,M.cosineAlpha=m,M.u2Over4=C,M.u4Over16=x,M.u6Over64=A,M.u8Over256=b,M.a0=E,M.a1=S,M.a2=v,M.a3=P,M.distanceRatio=O}function qwe(e,t){return e*t*(4+e*(4-3*t))/16}function C$(e,t,n,i,o,r,s){let a=qwe(e,n);return(1-a)*e*t*(i+a*o*(s+a*r*(2*s*s-1)))}function Ywe(e,t,n,i,o,r,s){let a=(t-n)/t,c=r-i,u=Math.atan((1-a)*Math.tan(o)),f=Math.atan((1-a)*Math.tan(s)),d=Math.cos(u),p=Math.sin(u),g=Math.cos(f),m=Math.sin(f),C=d*g,x=d*m,A=p*m,b=p*g,E=c,S=I.TWO_PI,v=Math.cos(E),P=Math.sin(E),O,M,B,L,_;do{v=Math.cos(E),P=Math.sin(E);let V=x-b*v;B=Math.sqrt(g*g*P*P+V*V),M=A+C*v,O=Math.atan2(B,M);let Y;B===0?(Y=0,L=1):(Y=C*P/B,L=1-Y*Y),S=E,_=M-2*A/L,isFinite(_)||(_=0),E=c+C$(a,Y,L,O,B,M,_)}while(Math.abs(E-S)>I.EPSILON12);let T=L*(t*t-n*n)/(n*n),w=1+T*(4096+T*(T*(320-175*T)-768))/16384,D=T*(256+T*(T*(74-47*T)-128))/1024,R=_*_,F=D*B*(_+D*(M*(2*R-1)-D*_*(4*B*B-3)*(4*R-3)/6)/4),z=n*w*(O-F),k=Math.atan2(g*P,x-b*v),H=Math.atan2(d*P,x*v-b);e._distance=z,e._startHeading=k,e._endHeading=H,e._uSquared=T}var Xwe=new h,$5=new h;function x$(e,t,n,i){let o=h.normalize(i.cartographicToCartesian(t,$5),Xwe),r=h.normalize(i.cartographicToCartesian(n,$5),$5);Ywe(e,i.maximumRadius,i.minimumRadius,t.longitude,t.latitude,n.longitude,n.latitude),e._start=he.clone(t,e._start),e._end=he.clone(n,e._end),e._start.height=0,e._end.height=0,jwe(e)}function Lb(e,t,n){let i=y(n,oe.WGS84);this._ellipsoid=i,this._start=new he,this._end=new he,this._constants={},this._startHeading=void 0,this._endHeading=void 0,this._distance=void 0,this._uSquared=void 0,l(e)&&l(t)&&x$(this,e,t,i)}Object.defineProperties(Lb.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},surfaceDistance:{get:function(){return this._distance}},start:{get:function(){return this._start}},end:{get:function(){return this._end}},startHeading:{get:function(){return this._startHeading}},endHeading:{get:function(){return this._endHeading}}});Lb.prototype.setEndPoints=function(e,t){x$(this,e,t,this._ellipsoid)};Lb.prototype.interpolateUsingFraction=function(e,t){return this.interpolateUsingSurfaceDistance(this._distance*e,t)};Lb.prototype.interpolateUsingSurfaceDistance=function(e,t){let n=this._constants,i=n.distanceRatio+e/n.b,o=Math.cos(2*i),r=Math.cos(4*i),s=Math.cos(6*i),a=Math.sin(2*i),c=Math.sin(4*i),u=Math.sin(6*i),f=Math.sin(8*i),d=i*i,p=i*d,g=n.u8Over256,m=n.u2Over4,C=n.u6Over64,x=n.u4Over16,A=2*p*g*o/3+i*(1-m+7*x/4-15*C/4+579*g/64-(x-15*C/4+187*g/16)*o-(5*C/4-115*g/16)*r-29*g*s/16)+(m/2-x+71*C/32-85*g/16)*a+(5*x/16-5*C/4+383*g/96)*c-d*((C-11*g/2)*a+5*g*c/2)+(29*C/96-29*g/16)*u+539*g*f/1536,b=Math.asin(Math.sin(A)*n.cosineAlpha),E=Math.atan(n.a/n.b*Math.tan(b));A=A-n.sigma;let S=Math.cos(2*n.sigma+A),v=Math.sin(A),P=Math.cos(A),O=n.cosineU*P,M=n.sineU*v,L=Math.atan2(v*n.sineHeading,O-M*n.cosineHeading)-C$(n.f,n.sineAlpha,n.cosineSquaredAlpha,A,v,P,S);return l(t)?(t.longitude=this._start.longitude+L,t.latitude=E,t.height=0,t):new he(this._start.longitude+L,E,0)};var _f=Lb;var Qa={};Qa.numberOfPoints=function(e,t,n){let i=h.distance(e,t);return Math.ceil(i/n)};Qa.numberOfPointsRhumbLine=function(e,t,n){let i=Math.pow(e.longitude-t.longitude,2)+Math.pow(e.latitude-t.latitude,2);return Math.max(1,Math.ceil(Math.sqrt(i/(n*n))))};var Kwe=new he;Qa.extractHeights=function(e,t){let n=e.length,i=new Array(n);for(let o=0;o<n;o++){let r=e[o];i[o]=t.cartesianToCartographic(r,Kwe).height}return i};var Zwe=new N,$we=new h,A$=new h,Jwe=new en(h.UNIT_X,0),T$=new h,Qwe=new en(h.UNIT_X,0),eve=new h,tve=new h,Q5=[];function b$(e,t,n){let i=Q5;i.length=e;let o;if(t===n){for(o=0;o<e;o++)i[o]=t;return i}let s=(n-t)/e;for(o=0;o<e;o++){let a=t+o*s;i[o]=a}return i}var B1=new he,M1=new he,Jp=new h,e8=new h,nve=new h,J5=new _f,Nb=new _a;function ive(e,t,n,i,o,r,s,a){let c=i.scaleToGeodeticSurface(e,e8),u=i.scaleToGeodeticSurface(t,nve),f=Qa.numberOfPoints(e,t,n),d=i.cartesianToCartographic(c,B1),p=i.cartesianToCartographic(u,M1),g=b$(f,o,r);J5.setEndPoints(d,p);let m=J5.surfaceDistance/f,C=a;d.height=o;let x=i.cartographicToCartesian(d,Jp);h.pack(x,s,C),C+=3;for(let A=1;A<f;A++){let b=J5.interpolateUsingSurfaceDistance(A*m,M1);b.height=g[A],x=i.cartographicToCartesian(b,Jp),h.pack(x,s,C),C+=3}return C}function ove(e,t,n,i,o,r,s,a){let c=i.cartesianToCartographic(e,B1),u=i.cartesianToCartographic(t,M1),f=Qa.numberOfPointsRhumbLine(c,u,n);c.height=0,u.height=0;let d=b$(f,o,r);Nb.ellipsoid.equals(i)||(Nb=new _a(void 0,void 0,i)),Nb.setEndPoints(c,u);let p=Nb.surfaceDistance/f,g=a;c.height=o;let m=i.cartographicToCartesian(c,Jp);h.pack(m,s,g),g+=3;for(let C=1;C<f;C++){let x=Nb.interpolateUsingSurfaceDistance(C*p,M1);x.height=d[C],m=i.cartographicToCartesian(x,Jp),h.pack(m,s,g),g+=3}return g}Qa.wrapLongitude=function(e,t){let n=[],i=[];if(l(e)&&e.length>0){t=y(t,N.IDENTITY);let o=N.inverseTransformation(t,Zwe),r=N.multiplyByPoint(o,h.ZERO,$we),s=h.normalize(N.multiplyByPointAsVector(o,h.UNIT_Y,A$),A$),a=en.fromPointNormal(r,s,Jwe),c=h.normalize(N.multiplyByPointAsVector(o,h.UNIT_X,T$),T$),u=en.fromPointNormal(r,c,Qwe),f=1;n.push(h.clone(e[0]));let d=n[0],p=e.length;for(let g=1;g<p;++g){let m=e[g];if(en.getPointDistance(u,d)<0||en.getPointDistance(u,m)<0){let C=Gi.lineSegmentPlane(d,m,a,eve);if(l(C)){let x=h.multiplyByScalar(s,5e-9,tve);en.getPointDistance(a,d)<0&&h.negate(x,x),n.push(h.add(C,x,new h)),i.push(f+1),h.negate(x,x),n.push(h.add(C,x,new h)),f=1}}n.push(h.clone(e[g])),f++,d=m}i.push(f)}return{positions:n,lengths:i}};Qa.generateArc=function(e){l(e)||(e={});let t=e.positions,n=t.length,i=y(e.ellipsoid,oe.WGS84),o=y(e.height,0),r=Array.isArray(o);if(n<1)return[];if(n===1){let C=i.scaleToGeodeticSurface(t[0],e8);if(o=r?o[0]:o,o!==0){let x=i.geodeticSurfaceNormal(C,Jp);h.multiplyByScalar(x,o,x),h.add(C,x,C)}return[C.x,C.y,C.z]}let s=e.minDistance;if(!l(s)){let C=y(e.granularity,I.RADIANS_PER_DEGREE);s=I.chordLength(C,i.maximumRadius)}let a=0,c;for(c=0;c<n-1;c++)a+=Qa.numberOfPoints(t[c],t[c+1],s);let u=(a+1)*3,f=new Array(u),d=0;for(c=0;c<n-1;c++){let C=t[c],x=t[c+1],A=r?o[c]:o,b=r?o[c+1]:o;d=ive(C,x,s,i,A,b,f,d)}Q5.length=0;let p=t[n-1],g=i.cartesianToCartographic(p,B1);g.height=r?o[n-1]:o;let m=i.cartographicToCartesian(g,Jp);return h.pack(m,f,u-3),f};var E$=new he,rve=new he;Qa.generateRhumbArc=function(e){l(e)||(e={});let t=e.positions,n=t.length,i=y(e.ellipsoid,oe.WGS84),o=y(e.height,0),r=Array.isArray(o);if(n<1)return[];if(n===1){let A=i.scaleToGeodeticSurface(t[0],e8);if(o=r?o[0]:o,o!==0){let b=i.geodeticSurfaceNormal(A,Jp);h.multiplyByScalar(b,o,b),h.add(A,b,A)}return[A.x,A.y,A.z]}let s=y(e.granularity,I.RADIANS_PER_DEGREE),a=0,c,u=i.cartesianToCartographic(t[0],E$),f;for(c=0;c<n-1;c++)f=i.cartesianToCartographic(t[c+1],rve),a+=Qa.numberOfPointsRhumbLine(u,f,s),u=he.clone(f,E$);let d=(a+1)*3,p=new Array(d),g=0;for(c=0;c<n-1;c++){let A=t[c],b=t[c+1],E=r?o[c]:o,S=r?o[c+1]:o;g=ove(A,b,s,i,E,S,p,g)}Q5.length=0;let m=t[n-1],C=i.cartesianToCartographic(m,B1);C.height=r?o[n-1]:o;let x=i.cartographicToCartesian(C,Jp);return h.pack(x,p,d-3),p};Qa.generateCartesianArc=function(e){let t=Qa.generateArc(e),n=t.length/3,i=new Array(n);for(let o=0;o<n;o++)i[o]=h.unpack(t,o*3);return i};Qa.generateCartesianRhumbArc=function(e){let t=Qa.generateRhumbArc(e),n=t.length/3,i=new Array(n);for(let o=0;o<n;o++)i[o]=h.unpack(t,o*3);return i};var Si=Qa;var S$={};function Fb(e,t){l(S$[e])||(S$[e]=!0,console.warn(y(t,e)))}Fb.geometryOutlines="Entity geometry outlines are unsupported on terrain. Outlines will be disabled. To enable outlines, disable geometry terrain clamping by explicitly setting height to 0.";Fb.geometryZIndex="Entity geometry with zIndex are unsupported when height or extrudedHeight are defined. zIndex will be ignored";Fb.geometryHeightReference="Entity corridor, ellipse, polygon or rectangle with heightReference must also have a defined height. heightReference will be ignored";Fb.geometryExtrudedHeightReference="Entity corridor, ellipse, polygon or rectangle with extrudedHeightReference must also have a defined extrudedHeight. extrudedHeightReference will be ignored";var Bt=Fb;var xs=[new h,new h],sve=new h,ave=new h,cve=new h,lve=new h,uve=new h,fve=new h,dve=new h,hve=new h,mve=new h,Mx=new h,L1=new h,Vb={},t8=new he;function pve(e,t){let n=new Array(e.length);for(let i=0;i<e.length;i++){let o=e[i];t8=t.cartesianToCartographic(o,t8),n[i]=t8.height,e[i]=t.scaleToGeodeticSurface(o,o)}return n}function n8(e,t,n,i){let o=e[0],r=e[1],s=h.angleBetween(o,r),a=Math.ceil(s/i),c=new Array(a),u;if(t===n){for(u=0;u<a;u++)c[u]=t;return c.push(n),c}let d=(n-t)/a;for(u=1;u<a;u++){let p=t+u*d;c[u]=p}return c[0]=t,c.push(n),c}var N1=new h,F1=new h;function _ve(e,t,n,i){let o=new da(n,i),r=o.projectPointOntoPlane(h.add(n,e,N1),N1),s=o.projectPointOntoPlane(h.add(n,t,F1),F1),a=G.angleBetween(r,s);return s.x*r.y-s.y*r.x>=0?-a:a}var gve=new h(-1,0,0),G0=new N,yve=new N,i8=new J,Cve=J.IDENTITY.clone(),xve=new h,Ave=new se,w$=new h;function um(e,t,n,i,o,r,s,a){let c=xve,u=Ave;G0=Dt.eastNorthUpToFixedFrame(e,o,G0),c=N.multiplyByPointAsVector(G0,gve,c),c=h.normalize(c,c);let f=_ve(c,t,e,o);i8=J.fromRotationZ(f,i8),w$.z=r,G0=N.multiplyTransformation(G0,N.fromRotationTranslation(i8,w$,yve),G0);let d=Cve;d[0]=s;for(let p=0;p<a;p++)for(let g=0;g<n.length;g+=3)u=h.fromArray(n,g,u),u=J.multiplyByVector(d,u,u),u=N.multiplyByPoint(G0,u,u),i.push(u.x,u.y,u.z);return i}var Tve=new h;function o8(e,t,n,i,o,r,s){for(let a=0;a<e.length;a+=3){let c=h.fromArray(e,a,Tve);i=um(c,t,n,i,o,r[a/3],s,1)}return i}function Eve(e,t){let n=e.length,i=new Array(n*6),o=0,r=t.x+t.width/2,s=t.y+t.height/2,a=e[0];i[o++]=a.x-r,i[o++]=0,i[o++]=a.y-s;for(let c=1;c<n;c++){a=e[c];let u=a.x-r,f=a.y-s;i[o++]=u,i[o++]=0,i[o++]=f,i[o++]=u,i[o++]=0,i[o++]=f}return a=e[0],i[o++]=a.x-r,i[o++]=0,i[o++]=a.y-s,i}function v$(e,t){let n=e.length,i=new Array(n*3),o=0,r=t.x+t.width/2,s=t.y+t.height/2;for(let a=0;a<n;a++)i[o++]=e[a].x-r,i[o++]=0,i[o++]=e[a].y-s;return i}var D$=new Oe,P$=new h,I$=new J;function O$(e,t,n,i,o,r,s,a,c,u){let f=h.angleBetween(h.subtract(t,e,Mx),h.subtract(n,e,L1)),d=i===bi.BEVELED?0:Math.ceil(f/I.toRadians(5)),p;o?p=J.fromQuaternion(Oe.fromAxisAngle(h.negate(e,Mx),f/(d+1),D$),I$):p=J.fromQuaternion(Oe.fromAxisAngle(e,f/(d+1),D$),I$);let g,m;if(t=h.clone(t,P$),d>0){let C=u?2:1;for(let x=0;x<d;x++)t=J.multiplyByVector(p,t,t),g=h.subtract(t,e,Mx),g=h.normalize(g,g),o||(g=h.negate(g,g)),m=r.scaleToGeodeticSurface(t,L1),s=um(m,g,a,s,r,c,1,C)}else g=h.subtract(t,e,Mx),g=h.normalize(g,g),o||(g=h.negate(g,g)),m=r.scaleToGeodeticSurface(t,L1),s=um(m,g,a,s,r,c,1,1),n=h.clone(n,P$),g=h.subtract(n,e,Mx),g=h.normalize(g,g),o||(g=h.negate(g,g)),m=r.scaleToGeodeticSurface(n,L1),s=um(m,g,a,s,r,c,1,1);return s}Vb.removeDuplicatesFromShape=function(e){let t=e.length,n=[];for(let i=t-1,o=0;o<t;i=o++){let r=e[i],s=e[o];G.equals(r,s)||n.push(s)}return n};Vb.angleIsGreaterThanPi=function(e,t,n,i){let o=new da(n,i),r=o.projectPointOntoPlane(h.add(n,e,N1),N1),s=o.projectPointOntoPlane(h.add(n,t,F1),F1);return s.x*r.y-s.y*r.x>=0};var bve=new h,Sve=new h;Vb.computePositions=function(e,t,n,i,o){let r=i._ellipsoid,s=pve(e,r),a=i._granularity,c=i._cornerType,u=o?Eve(t,n):v$(t,n),f=o?v$(t,n):void 0,d=n.height/2,p=n.width/2,g=e.length,m=[],C=o?[]:void 0,x=sve,A=ave,b=cve,E=lve,S=uve,v=fve,P=dve,O=hve,M=mve,B=e[0],L=e[1];E=r.geodeticSurfaceNormal(B,E),x=h.subtract(L,B,x),x=h.normalize(x,x),O=h.cross(E,x,O),O=h.normalize(O,O);let _=s[0],T=s[1];o&&(C=um(B,O,f,C,r,_+d,1,1)),M=h.clone(B,M),B=L,A=h.negate(x,A);let w,D;for(let z=1;z<g-1;z++){let k=o?2:1;if(L=e[z+1],B.equals(L)){Bt("Positions are too close and are considered equivalent with rounding error.");continue}x=h.subtract(L,B,x),x=h.normalize(x,x),b=h.add(x,A,b),b=h.normalize(b,b),E=r.geodeticSurfaceNormal(B,E);let H=h.multiplyByScalar(E,h.dot(x,E),bve);h.subtract(x,H,H),h.normalize(H,H);let V=h.multiplyByScalar(E,h.dot(A,E),Sve);if(h.subtract(A,V,V),h.normalize(V,V),!I.equalsEpsilon(Math.abs(h.dot(H,V)),1,I.EPSILON7)){b=h.cross(b,E,b),b=h.cross(E,b,b),b=h.normalize(b,b);let q=1/Math.max(.25,h.magnitude(h.cross(b,A,Mx))),X=Vb.angleIsGreaterThanPi(x,A,B,r);X?(S=h.add(B,h.multiplyByScalar(b,q*p,b),S),v=h.add(S,h.multiplyByScalar(O,p,v),v),xs[0]=h.clone(M,xs[0]),xs[1]=h.clone(v,xs[1]),w=n8(xs,_+d,T+d,a),D=Si.generateArc({positions:xs,granularity:a,ellipsoid:r}),m=o8(D,O,u,m,r,w,1),O=h.cross(E,x,O),O=h.normalize(O,O),P=h.add(S,h.multiplyByScalar(O,p,P),P),c===bi.ROUNDED||c===bi.BEVELED?O$(S,v,P,c,X,r,m,u,T+d,o):(b=h.negate(b,b),m=um(B,b,u,m,r,T+d,q,k)),M=h.clone(P,M)):(S=h.add(B,h.multiplyByScalar(b,q*p,b),S),v=h.add(S,h.multiplyByScalar(O,-p,v),v),xs[0]=h.clone(M,xs[0]),xs[1]=h.clone(v,xs[1]),w=n8(xs,_+d,T+d,a),D=Si.generateArc({positions:xs,granularity:a,ellipsoid:r}),m=o8(D,O,u,m,r,w,1),O=h.cross(E,x,O),O=h.normalize(O,O),P=h.add(S,h.multiplyByScalar(O,-p,P),P),c===bi.ROUNDED||c===bi.BEVELED?O$(S,v,P,c,X,r,m,u,T+d,o):m=um(B,b,u,m,r,T+d,q,k),M=h.clone(P,M)),A=h.negate(x,A)}else m=um(M,O,u,m,r,_+d,1,1),M=B;_=T,T=s[z+1],B=L}xs[0]=h.clone(M,xs[0]),xs[1]=h.clone(B,xs[1]),w=n8(xs,_+d,T+d,a),D=Si.generateArc({positions:xs,granularity:a,ellipsoid:r}),m=o8(D,O,u,m,r,w,1),o&&(C=um(B,O,f,C,r,T+d,1,1)),g=m.length;let R=o?g+C.length:g,F=new Float64Array(R);return F.set(m),o&&F.set(C,g),F};var kd=Vb;var s8={},Bx=new h,N$=new h,wve=new h,R$=new h,ec=[new h,new h],F$=new h,V$=new h,k$=new h,vve=new h,Dve=new h,Pve=new h,Ive=new h,Ove=new h,Rve=new h,Mve=new h,M$=new Oe,B$=new J;function V1(e,t,n,i,o){let r=h.angleBetween(h.subtract(t,e,Bx),h.subtract(n,e,N$)),s=i===bi.BEVELED?1:Math.ceil(r/I.toRadians(5))+1,a=s*3,c=new Array(a);c[a-3]=n.x,c[a-2]=n.y,c[a-1]=n.z;let u;o?u=J.fromQuaternion(Oe.fromAxisAngle(h.negate(e,Bx),r/s,M$),B$):u=J.fromQuaternion(Oe.fromAxisAngle(e,r/s,M$),B$);let f=0;t=h.clone(t,Bx);for(let d=0;d<s;d++)t=J.multiplyByVector(u,t,t),c[f++]=t.x,c[f++]=t.y,c[f++]=t.z;return c}function Bve(e){let t=F$,n=V$,i=k$,o=e[1];n=h.fromArray(e[1],o.length-3,n),i=h.fromArray(e[0],0,i),t=h.midpoint(n,i,t);let r=V1(t,n,i,bi.ROUNDED,!1),s=e.length-1,a=e[s-1];o=e[s],n=h.fromArray(a,a.length-3,n),i=h.fromArray(o,0,i),t=h.midpoint(n,i,t);let c=V1(t,n,i,bi.ROUNDED,!1);return[r,c]}function L$(e,t,n,i){let o=Bx;return i?o=h.add(e,t,o):(t=h.negate(t,t),o=h.add(e,t,o)),[o.x,o.y,o.z,n.x,n.y,n.z]}function r8(e,t,n,i){let o=new Array(e.length),r=new Array(e.length),s=h.multiplyByScalar(t,n,Bx),a=h.negate(s,N$),c=0,u=e.length-1;for(let f=0;f<e.length;f+=3){let d=h.fromArray(e,f,wve),p=h.add(d,a,R$);o[c++]=p.x,o[c++]=p.y,o[c++]=p.z;let g=h.add(d,s,R$);r[u--]=g.z,r[u--]=g.y,r[u--]=g.x}return i.push(o,r),i}s8.addAttribute=function(e,t,n,i){let o=t.x,r=t.y,s=t.z;l(n)&&(e[n]=o,e[n+1]=r,e[n+2]=s),l(i)&&(e[i]=s,e[i-1]=r,e[i-2]=o)};var Lve=new h,Nve=new h;s8.computePositions=function(e){let t=e.granularity,n=e.positions,i=e.ellipsoid,o=e.width/2,r=e.cornerType,s=e.saveAttributes,a=F$,c=V$,u=k$,f=vve,d=Dve,p=Pve,g=Ive,m=Ove,C=Rve,x=Mve,A=[],b=s?[]:void 0,E=s?[]:void 0,S=n[0],v=n[1];c=h.normalize(h.subtract(v,S,c),c),a=i.geodeticSurfaceNormal(S,a),f=h.normalize(h.cross(a,c,f),f),s&&(b.push(f.x,f.y,f.z),E.push(a.x,a.y,a.z)),g=h.clone(S,g),S=v,u=h.negate(c,u);let P,O=[],M,B=n.length;for(M=1;M<B-1;M++){a=i.geodeticSurfaceNormal(S,a),v=n[M+1],c=h.normalize(h.subtract(v,S,c),c),d=h.normalize(h.add(c,u,d),d);let _=h.multiplyByScalar(a,h.dot(c,a),Lve);h.subtract(c,_,_),h.normalize(_,_);let T=h.multiplyByScalar(a,h.dot(u,a),Nve);if(h.subtract(u,T,T),h.normalize(T,T),!I.equalsEpsilon(Math.abs(h.dot(_,T)),1,I.EPSILON7)){d=h.cross(d,a,d),d=h.cross(a,d,d),d=h.normalize(d,d);let D=o/Math.max(.25,h.magnitude(h.cross(d,u,Bx))),R=kd.angleIsGreaterThanPi(c,u,S,i);d=h.multiplyByScalar(d,D,d),R?(m=h.add(S,d,m),x=h.add(m,h.multiplyByScalar(f,o,x),x),C=h.add(m,h.multiplyByScalar(f,o*2,C),C),ec[0]=h.clone(g,ec[0]),ec[1]=h.clone(x,ec[1]),P=Si.generateArc({positions:ec,granularity:t,ellipsoid:i}),A=r8(P,f,o,A),s&&(b.push(f.x,f.y,f.z),E.push(a.x,a.y,a.z)),p=h.clone(C,p),f=h.normalize(h.cross(a,c,f),f),C=h.add(m,h.multiplyByScalar(f,o*2,C),C),g=h.add(m,h.multiplyByScalar(f,o,g),g),r===bi.ROUNDED||r===bi.BEVELED?O.push({leftPositions:V1(m,p,C,r,R)}):O.push({leftPositions:L$(S,h.negate(d,d),C,R)})):(C=h.add(S,d,C),x=h.add(C,h.negate(h.multiplyByScalar(f,o,x),x),x),m=h.add(C,h.negate(h.multiplyByScalar(f,o*2,m),m),m),ec[0]=h.clone(g,ec[0]),ec[1]=h.clone(x,ec[1]),P=Si.generateArc({positions:ec,granularity:t,ellipsoid:i}),A=r8(P,f,o,A),s&&(b.push(f.x,f.y,f.z),E.push(a.x,a.y,a.z)),p=h.clone(m,p),f=h.normalize(h.cross(a,c,f),f),m=h.add(C,h.negate(h.multiplyByScalar(f,o*2,m),m),m),g=h.add(C,h.negate(h.multiplyByScalar(f,o,g),g),g),r===bi.ROUNDED||r===bi.BEVELED?O.push({rightPositions:V1(C,p,m,r,R)}):O.push({rightPositions:L$(S,d,m,R)})),u=h.negate(c,u)}S=v}a=i.geodeticSurfaceNormal(S,a),ec[0]=h.clone(g,ec[0]),ec[1]=h.clone(S,ec[1]),P=Si.generateArc({positions:ec,granularity:t,ellipsoid:i}),A=r8(P,f,o,A),s&&(b.push(f.x,f.y,f.z),E.push(a.x,a.y,a.z));let L;return r===bi.ROUNDED&&(L=Bve(A)),{positions:A,corners:O,lefts:b,normals:E,endPositions:L}};var Bi=s8;var H$=new h,G$=new h,k1=new h,U1=new h,Fve=new h,W$=new h,Qp=new h,Lx=new h;function j$(e,t){for(let n=0;n<e.length;n++)e[n]=t.scaleToGeodeticSurface(e[n],e[n]);return e}function gf(e,t,n,i,o,r){let s=e.normals,a=e.tangents,c=e.bitangents,u=h.normalize(h.cross(n,t,Qp),Qp);r.normal&&Bi.addAttribute(s,t,i,o),r.tangent&&Bi.addAttribute(a,u,i,o),r.bitangent&&Bi.addAttribute(c,n,i,o)}function q$(e,t,n){let i=e.positions,o=e.corners,r=e.endPositions,s=e.lefts,a=e.normals,c=new rn,u,f=0,d=0,p,g=0,m;for(p=0;p<i.length;p+=2)m=i[p].length-3,f+=m,g+=m*2,d+=i[p+1].length-3;for(f+=3,d+=3,p=0;p<o.length;p++){u=o[p];let $=o[p].leftPositions;l($)?(m=$.length,f+=m,g+=m):(m=o[p].rightPositions.length,d+=m,g+=m)}let C=l(r),x;C&&(x=r[0].length-3,f+=x,d+=x,x/=3,g+=x*6);let A=f+d,b=new Float64Array(A),E=t.normal?new Float32Array(A):void 0,S=t.tangent?new Float32Array(A):void 0,v=t.bitangent?new Float32Array(A):void 0,P={normals:E,tangents:S,bitangents:v},O=0,M=A-1,B,L,_,T,w=H$,D=G$,R,F,z=x/2,k=Be.createTypedArray(A/3,g),H=0;if(C){F=k1,R=U1;let $=r[0];for(w=h.fromArray(a,0,w),D=h.fromArray(s,0,D),p=0;p<z;p++)F=h.fromArray($,(z-1-p)*3,F),R=h.fromArray($,(z+p)*3,R),Bi.addAttribute(b,R,O),Bi.addAttribute(b,F,void 0,M),gf(P,w,D,O,M,t),L=O/3,T=L+1,B=(M-2)/3,_=B-1,k[H++]=B,k[H++]=L,k[H++]=_,k[H++]=_,k[H++]=L,k[H++]=T,O+=3,M-=3}let V=0,Y=0,q=i[V++],X=i[V++];b.set(q,O),b.set(X,M-X.length+1),D=h.fromArray(s,Y,D);let W,K;for(m=X.length-3,p=0;p<m;p+=3)W=n.geodeticSurfaceNormal(h.fromArray(q,p,Qp),Qp),K=n.geodeticSurfaceNormal(h.fromArray(X,m-p,Lx),Lx),w=h.normalize(h.add(W,K,w),w),gf(P,w,D,O,M,t),L=O/3,T=L+1,B=(M-2)/3,_=B-1,k[H++]=B,k[H++]=L,k[H++]=_,k[H++]=_,k[H++]=L,k[H++]=T,O+=3,M-=3;for(W=n.geodeticSurfaceNormal(h.fromArray(q,m,Qp),Qp),K=n.geodeticSurfaceNormal(h.fromArray(X,m,Lx),Lx),w=h.normalize(h.add(W,K,w),w),Y+=3,p=0;p<o.length;p++){let $;u=o[p];let le=u.leftPositions,me=u.rightPositions,ie,ce,pe=W$,Ae=k1,we=U1;if(w=h.fromArray(a,Y,w),l(le)){for(gf(P,w,D,void 0,M,t),M-=3,ie=T,ce=_,$=0;$<le.length/3;$++)pe=h.fromArray(le,$*3,pe),k[H++]=ie,k[H++]=ce-$-1,k[H++]=ce-$,Bi.addAttribute(b,pe,void 0,M),Ae=h.fromArray(b,(ce-$-1)*3,Ae),we=h.fromArray(b,ie*3,we),D=h.normalize(h.subtract(Ae,we,D),D),gf(P,w,D,void 0,M,t),M-=3;pe=h.fromArray(b,ie*3,pe),Ae=h.subtract(h.fromArray(b,ce*3,Ae),pe,Ae),we=h.subtract(h.fromArray(b,(ce-$)*3,we),pe,we),D=h.normalize(h.add(Ae,we,D),D),gf(P,w,D,O,void 0,t),O+=3}else{for(gf(P,w,D,O,void 0,t),O+=3,ie=_,ce=T,$=0;$<me.length/3;$++)pe=h.fromArray(me,$*3,pe),k[H++]=ie,k[H++]=ce+$,k[H++]=ce+$+1,Bi.addAttribute(b,pe,O),Ae=h.fromArray(b,ie*3,Ae),we=h.fromArray(b,(ce+$)*3,we),D=h.normalize(h.subtract(Ae,we,D),D),gf(P,w,D,O,void 0,t),O+=3;pe=h.fromArray(b,ie*3,pe),Ae=h.subtract(h.fromArray(b,(ce+$)*3,Ae),pe,Ae),we=h.subtract(h.fromArray(b,ce*3,we),pe,we),D=h.normalize(h.negate(h.add(we,Ae,D),D),D),gf(P,w,D,void 0,M,t),M-=3}for(q=i[V++],X=i[V++],q.splice(0,3),X.splice(X.length-3,3),b.set(q,O),b.set(X,M-X.length+1),m=X.length-3,Y+=3,D=h.fromArray(s,Y,D),$=0;$<X.length;$+=3)W=n.geodeticSurfaceNormal(h.fromArray(q,$,Qp),Qp),K=n.geodeticSurfaceNormal(h.fromArray(X,m-$,Lx),Lx),w=h.normalize(h.add(W,K,w),w),gf(P,w,D,O,M,t),T=O/3,L=T-1,_=(M-2)/3,B=_+1,k[H++]=B,k[H++]=L,k[H++]=_,k[H++]=_,k[H++]=L,k[H++]=T,O+=3,M-=3;O-=3,M+=3}if(w=h.fromArray(a,a.length-3,w),gf(P,w,D,O,M,t),C){O+=3,M-=3,F=k1,R=U1;let $=r[1];for(p=0;p<z;p++)F=h.fromArray($,(x-p-1)*3,F),R=h.fromArray($,p*3,R),Bi.addAttribute(b,F,void 0,M),Bi.addAttribute(b,R,O),gf(P,w,D,O,M,t),T=O/3,L=T-1,_=(M-2)/3,B=_+1,k[H++]=B,k[H++]=L,k[H++]=_,k[H++]=_,k[H++]=L,k[H++]=T,O+=3,M-=3}if(c.position=new Ee({componentDatatype:Z.DOUBLE,componentsPerAttribute:3,values:b}),t.st){let $=new Float32Array(A/3*2),le,me,ie=0;if(C){f/=3,d/=3;let ce=Math.PI/(x+1);me=1/(f-x+1),le=1/(d-x+1);let pe,Ae=x/2;for(p=Ae+1;p<x+1;p++)pe=I.PI_OVER_TWO+ce*p,$[ie++]=le*(1+Math.cos(pe)),$[ie++]=.5*(1+Math.sin(pe));for(p=1;p<d-x+1;p++)$[ie++]=p*le,$[ie++]=0;for(p=x;p>Ae;p--)pe=I.PI_OVER_TWO-p*ce,$[ie++]=1-le*(1+Math.cos(pe)),$[ie++]=.5*(1+Math.sin(pe));for(p=Ae;p>0;p--)pe=I.PI_OVER_TWO-ce*p,$[ie++]=1-me*(1+Math.cos(pe)),$[ie++]=.5*(1+Math.sin(pe));for(p=f-x;p>0;p--)$[ie++]=p*me,$[ie++]=1;for(p=1;p<Ae+1;p++)pe=I.PI_OVER_TWO+ce*p,$[ie++]=me*(1+Math.cos(pe)),$[ie++]=.5*(1+Math.sin(pe))}else{for(f/=3,d/=3,me=1/(f-1),le=1/(d-1),p=0;p<d;p++)$[ie++]=p*le,$[ie++]=0;for(p=f;p>0;p--)$[ie++]=(p-1)*me,$[ie++]=1}c.st=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:2,values:$})}return t.normal&&(c.normal=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:P.normals})),t.tangent&&(c.tangent=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:P.tangents})),t.bitangent&&(c.bitangent=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:P.bitangents})),{attributes:c,indices:k}}function Vve(e,t){if(!t.normal&&!t.tangent&&!t.bitangent&&!t.st)return e;let n=e.position.values,i,o;(t.normal||t.bitangent)&&(i=e.normal.values,o=e.bitangent.values);let r=e.position.values.length/18,s=r*3,a=r*2,c=s*2,u;if(t.normal||t.bitangent||t.tangent){let f=t.normal?new Float32Array(s*6):void 0,d=t.tangent?new Float32Array(s*6):void 0,p=t.bitangent?new Float32Array(s*6):void 0,g=H$,m=G$,C=k1,x=U1,A=Fve,b=W$,E=c;for(u=0;u<s;u+=3){let S=E+c;g=h.fromArray(n,u,g),m=h.fromArray(n,u+s,m),C=h.fromArray(n,(u+3)%s,C),m=h.subtract(m,g,m),C=h.subtract(C,g,C),x=h.normalize(h.cross(m,C,x),x),t.normal&&(Bi.addAttribute(f,x,S),Bi.addAttribute(f,x,S+3),Bi.addAttribute(f,x,E),Bi.addAttribute(f,x,E+3)),(t.tangent||t.bitangent)&&(b=h.fromArray(i,u,b),t.bitangent&&(Bi.addAttribute(p,b,S),Bi.addAttribute(p,b,S+3),Bi.addAttribute(p,b,E),Bi.addAttribute(p,b,E+3)),t.tangent&&(A=h.normalize(h.cross(b,x,A),A),Bi.addAttribute(d,A,S),Bi.addAttribute(d,A,S+3),Bi.addAttribute(d,A,E),Bi.addAttribute(d,A,E+3))),E+=6}if(t.normal){for(f.set(i),u=0;u<s;u+=3)f[u+s]=-i[u],f[u+s+1]=-i[u+1],f[u+s+2]=-i[u+2];e.normal.values=f}else e.normal=void 0;if(t.bitangent?(p.set(o),p.set(o,s),e.bitangent.values=p):e.bitangent=void 0,t.tangent){let S=e.tangent.values;d.set(S),d.set(S,s),e.tangent.values=d}}if(t.st){let f=e.st.values,d=new Float32Array(a*6);d.set(f),d.set(f,a);let p=a*2;for(let g=0;g<2;g++){for(d[p++]=f[0],d[p++]=f[1],u=2;u<a;u+=2){let m=f[u],C=f[u+1];d[p++]=m,d[p++]=C,d[p++]=m,d[p++]=C}d[p++]=f[0],d[p++]=f[1]}e.st.values=d}return e}function a8(e,t,n){n[t++]=e[0],n[t++]=e[1],n[t++]=e[2];for(let i=3;i<e.length;i+=3){let o=e[i],r=e[i+1],s=e[i+2];n[t++]=o,n[t++]=r,n[t++]=s,n[t++]=o,n[t++]=r,n[t++]=s}return n[t++]=e[0],n[t++]=e[1],n[t++]=e[2],n}function kve(e,t){let n=new ve({position:t.position,normal:t.normal||t.bitangent||e.shadowVolume,tangent:t.tangent,bitangent:t.normal||t.bitangent,st:t.st}),i=e.ellipsoid,o=Bi.computePositions(e),r=q$(o,n,i),s=e.height,a=e.extrudedHeight,c=r.attributes,u=r.indices,f=c.position.values,d=f.length,p=new Float64Array(d*6),g=new Float64Array(d);g.set(f);let m=new Float64Array(d*4);f=ei.scaleToGeodeticHeight(f,s,i),m=a8(f,0,m),g=ei.scaleToGeodeticHeight(g,a,i),m=a8(g,d*2,m),p.set(f),p.set(g,d),p.set(m,d*2),c.position.values=p,c=Vve(c,t);let C,x=d/3;if(e.shadowVolume){let B=c.normal.values;d=B.length;let L=new Float32Array(d*6);for(C=0;C<d;C++)B[C]=-B[C];L.set(B,d),L=a8(B,d*4,L),c.extrudeDirection=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:L}),t.normal||(c.normal=void 0)}if(l(e.offsetAttribute)){let B=new Uint8Array(x*6);if(e.offsetAttribute===Jt.TOP)B=B.fill(1,0,x).fill(1,x*2,x*4);else{let L=e.offsetAttribute===Jt.NONE?0:1;B=B.fill(L)}c.applyOffset=new Ee({componentDatatype:Z.UNSIGNED_BYTE,componentsPerAttribute:1,values:B})}let A=u.length,b=x+x,E=Be.createTypedArray(p.length/3,A*2+b*3);E.set(u);let S=A;for(C=0;C<A;C+=3){let B=u[C],L=u[C+1],_=u[C+2];E[S++]=_+x,E[S++]=L+x,E[S++]=B+x}let v,P,O,M;for(C=0;C<b;C+=2)v=C+b,P=v+b,O=v+1,M=P+1,E[S++]=v,E[S++]=P,E[S++]=O,E[S++]=O,E[S++]=P,E[S++]=M;return{attributes:c,indices:E}}var U$=new h,kb=new h,au=new he;function z$(e,t,n,i,o,r){let s=h.subtract(t,e,U$);h.normalize(s,s);let a=n.geodeticSurfaceNormal(e,kb),c=h.cross(s,a,U$);h.multiplyByScalar(c,i,c);let u=o.latitude,f=o.longitude,d=r.latitude,p=r.longitude;h.add(e,c,kb),n.cartesianToCartographic(kb,au);let g=au.latitude,m=au.longitude;u=Math.min(u,g),f=Math.min(f,m),d=Math.max(d,g),p=Math.max(p,m),h.subtract(e,c,kb),n.cartesianToCartographic(kb,au),g=au.latitude,m=au.longitude,u=Math.min(u,g),f=Math.min(f,m),d=Math.max(d,g),p=Math.max(p,m),o.latitude=u,o.longitude=f,r.latitude=d,r.longitude=p}var su=new h,Ub=new h,Nc=new he,Fc=new he;function Y$(e,t,n,i,o){e=j$(e,t);let r=Co(e,h.equalsEpsilon),s=r.length;if(s<2||n<=0)return new ue;let a=n*.5;Nc.latitude=Number.POSITIVE_INFINITY,Nc.longitude=Number.POSITIVE_INFINITY,Fc.latitude=Number.NEGATIVE_INFINITY,Fc.longitude=Number.NEGATIVE_INFINITY;let c,u;if(i===bi.ROUNDED){let p=r[0];h.subtract(p,r[1],su),h.normalize(su,su),h.multiplyByScalar(su,a,su),h.add(p,su,Ub),t.cartesianToCartographic(Ub,au),c=au.latitude,u=au.longitude,Nc.latitude=Math.min(Nc.latitude,c),Nc.longitude=Math.min(Nc.longitude,u),Fc.latitude=Math.max(Fc.latitude,c),Fc.longitude=Math.max(Fc.longitude,u)}for(let p=0;p<s-1;++p)z$(r[p],r[p+1],t,a,Nc,Fc);let f=r[s-1];h.subtract(f,r[s-2],su),h.normalize(su,su),h.multiplyByScalar(su,a,su),h.add(f,su,Ub),z$(f,Ub,t,a,Nc,Fc),i===bi.ROUNDED&&(t.cartesianToCartographic(Ub,au),c=au.latitude,u=au.longitude,Nc.latitude=Math.min(Nc.latitude,c),Nc.longitude=Math.min(Nc.longitude,u),Fc.latitude=Math.max(Fc.latitude,c),Fc.longitude=Math.max(Fc.longitude,u));let d=l(o)?o:new ue;return d.north=Fc.latitude,d.south=Nc.latitude,d.east=Fc.longitude,d.west=Nc.longitude,d}function dm(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n=e.width,i=y(e.height,0),o=y(e.extrudedHeight,i);this._positions=t,this._ellipsoid=oe.clone(y(e.ellipsoid,oe.WGS84)),this._vertexFormat=ve.clone(y(e.vertexFormat,ve.DEFAULT)),this._width=n,this._height=Math.max(i,o),this._extrudedHeight=Math.min(i,o),this._cornerType=y(e.cornerType,bi.ROUNDED),this._granularity=y(e.granularity,I.RADIANS_PER_DEGREE),this._shadowVolume=y(e.shadowVolume,!1),this._workerName="createCorridorGeometry",this._offsetAttribute=e.offsetAttribute,this._rectangle=void 0,this.packedLength=1+t.length*h.packedLength+oe.packedLength+ve.packedLength+7}dm.pack=function(e,t,n){n=y(n,0);let i=e._positions,o=i.length;t[n++]=o;for(let r=0;r<o;++r,n+=h.packedLength)h.pack(i[r],t,n);return oe.pack(e._ellipsoid,t,n),n+=oe.packedLength,ve.pack(e._vertexFormat,t,n),n+=ve.packedLength,t[n++]=e._width,t[n++]=e._height,t[n++]=e._extrudedHeight,t[n++]=e._cornerType,t[n++]=e._granularity,t[n++]=e._shadowVolume?1:0,t[n]=y(e._offsetAttribute,-1),t};var X$=oe.clone(oe.UNIT_SPHERE),K$=new ve,fm={positions:void 0,ellipsoid:X$,vertexFormat:K$,width:void 0,height:void 0,extrudedHeight:void 0,cornerType:void 0,granularity:void 0,shadowVolume:void 0,offsetAttribute:void 0};dm.unpack=function(e,t,n){t=y(t,0);let i=e[t++],o=new Array(i);for(let m=0;m<i;++m,t+=h.packedLength)o[m]=h.unpack(e,t);let r=oe.unpack(e,t,X$);t+=oe.packedLength;let s=ve.unpack(e,t,K$);t+=ve.packedLength;let a=e[t++],c=e[t++],u=e[t++],f=e[t++],d=e[t++],p=e[t++]===1,g=e[t];return l(n)?(n._positions=o,n._ellipsoid=oe.clone(r,n._ellipsoid),n._vertexFormat=ve.clone(s,n._vertexFormat),n._width=a,n._height=c,n._extrudedHeight=u,n._cornerType=f,n._granularity=d,n._shadowVolume=p,n._offsetAttribute=g===-1?void 0:g,n):(fm.positions=o,fm.width=a,fm.height=c,fm.extrudedHeight=u,fm.cornerType=f,fm.granularity=d,fm.shadowVolume=p,fm.offsetAttribute=g===-1?void 0:g,new dm(fm))};dm.computeRectangle=function(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.positions,i=e.width,o=y(e.ellipsoid,oe.WGS84),r=y(e.cornerType,bi.ROUNDED);return Y$(n,o,i,r,t)};dm.createGeometry=function(e){let t=e._positions,n=e._width,i=e._ellipsoid;t=j$(t,i);let o=Co(t,h.equalsEpsilon);if(o.length<2||n<=0)return;let r=e._height,s=e._extrudedHeight,a=!I.equalsEpsilon(r,s,0,I.EPSILON2),c=e._vertexFormat,u={ellipsoid:i,positions:o,width:n,cornerType:e._cornerType,granularity:e._granularity,saveAttributes:!0},f;if(a)u.height=r,u.extrudedHeight=s,u.shadowVolume=e._shadowVolume,u.offsetAttribute=e._offsetAttribute,f=kve(u,c);else{let g=Bi.computePositions(u);if(f=q$(g,c,i),f.attributes.position.values=ei.scaleToGeodeticHeight(f.attributes.position.values,r,i),l(e._offsetAttribute)){let m=e._offsetAttribute===Jt.NONE?0:1,C=f.attributes.position.values.length,x=new Uint8Array(C/3).fill(m);f.attributes.applyOffset=new Ee({componentDatatype:Z.UNSIGNED_BYTE,componentsPerAttribute:1,values:x})}}let d=f.attributes,p=re.fromVertices(d.position.values,void 0,3);return c.position||(f.attributes.position.values=void 0),new rt({attributes:d,indices:f.indices,primitiveType:Ne.TRIANGLES,boundingSphere:p,offsetAttribute:e._offsetAttribute})};dm.createShadowVolume=function(e,t,n){let i=e._granularity,o=e._ellipsoid,r=t(i,o),s=n(i,o);return new dm({positions:e._positions,width:e._width,cornerType:e._cornerType,ellipsoid:o,granularity:i,extrudedHeight:r,height:s,vertexFormat:ve.POSITION_ONLY,shadowVolume:!0})};Object.defineProperties(dm.prototype,{rectangle:{get:function(){return l(this._rectangle)||(this._rectangle=Y$(this._positions,this._ellipsoid,this._width,this._cornerType)),this._rectangle}},textureCoordinateRotationPoints:{get:function(){return[0,0,0,1,1,0]}}});var Nx=dm;var Z$=new h,$$=new h,Uve=new h;function zve(e,t){for(let n=0;n<e.length;n++)e[n]=t.scaleToGeodeticSurface(e[n],e[n]);return e}function J$(e,t){let n=[],i=e.positions,o=e.corners,r=e.endPositions,s=new rn,a,c=0,u=0,f,d=0,p;for(f=0;f<i.length;f+=2)p=i[f].length-3,c+=p,d+=p/3*4,u+=i[f+1].length-3;for(c+=3,u+=3,f=0;f<o.length;f++){a=o[f];let R=o[f].leftPositions;l(R)?(p=R.length,c+=p,d+=p/3*2):(p=o[f].rightPositions.length,u+=p,d+=p/3*2)}let g=l(r),m;g&&(m=r[0].length-3,c+=m,u+=m,m/=3,d+=m*4);let C=c+u,x=new Float64Array(C),A=0,b=C-1,E,S,v,P,O,M,B=m/2,L=Be.createTypedArray(C/3,d+4),_=0;if(L[_++]=A/3,L[_++]=(b-2)/3,g){n.push(A/3),M=Z$,O=$$;let R=r[0];for(f=0;f<B;f++)M=h.fromArray(R,(B-1-f)*3,M),O=h.fromArray(R,(B+f)*3,O),Bi.addAttribute(x,O,A),Bi.addAttribute(x,M,void 0,b),S=A/3,P=S+1,E=(b-2)/3,v=E-1,L[_++]=E,L[_++]=v,L[_++]=S,L[_++]=P,A+=3,b-=3}let T=0,w=i[T++],D=i[T++];for(x.set(w,A),x.set(D,b-D.length+1),p=D.length-3,n.push(A/3,(b-2)/3),f=0;f<p;f+=3)S=A/3,P=S+1,E=(b-2)/3,v=E-1,L[_++]=E,L[_++]=v,L[_++]=S,L[_++]=P,A+=3,b-=3;for(f=0;f<o.length;f++){let R;a=o[f];let F=a.leftPositions,z=a.rightPositions,k,H=Uve;if(l(F)){for(b-=3,k=v,n.push(P),R=0;R<F.length/3;R++)H=h.fromArray(F,R*3,H),L[_++]=k-R-1,L[_++]=k-R,Bi.addAttribute(x,H,void 0,b),b-=3;n.push(k-Math.floor(F.length/6)),t===bi.BEVELED&&n.push((b-2)/3+1),A+=3}else{for(A+=3,k=P,n.push(v),R=0;R<z.length/3;R++)H=h.fromArray(z,R*3,H),L[_++]=k+R,L[_++]=k+R+1,Bi.addAttribute(x,H,A),A+=3;n.push(k+Math.floor(z.length/6)),t===bi.BEVELED&&n.push(A/3-1),b-=3}for(w=i[T++],D=i[T++],w.splice(0,3),D.splice(D.length-3,3),x.set(w,A),x.set(D,b-D.length+1),p=D.length-3,R=0;R<D.length;R+=3)P=A/3,S=P-1,v=(b-2)/3,E=v+1,L[_++]=E,L[_++]=v,L[_++]=S,L[_++]=P,A+=3,b-=3;A-=3,b+=3,n.push(A/3,(b-2)/3)}if(g){A+=3,b-=3,M=Z$,O=$$;let R=r[1];for(f=0;f<B;f++)M=h.fromArray(R,(m-f-1)*3,M),O=h.fromArray(R,f*3,O),Bi.addAttribute(x,M,void 0,b),Bi.addAttribute(x,O,A),P=A/3,S=P-1,v=(b-2)/3,E=v+1,L[_++]=E,L[_++]=v,L[_++]=S,L[_++]=P,A+=3,b-=3;n.push(A/3)}else n.push(A/3,(b-2)/3);return L[_++]=A/3,L[_++]=(b-2)/3,s.position=new Ee({componentDatatype:Z.DOUBLE,componentsPerAttribute:3,values:x}),{attributes:s,indices:L,wallIndices:n}}function Hve(e){let t=e.ellipsoid,n=Bi.computePositions(e),i=J$(n,e.cornerType),o=i.wallIndices,r=e.height,s=e.extrudedHeight,a=i.attributes,c=i.indices,u=a.position.values,f=u.length,d=new Float64Array(f);d.set(u);let p=new Float64Array(f*2);if(u=ei.scaleToGeodeticHeight(u,r,t),d=ei.scaleToGeodeticHeight(d,s,t),p.set(u),p.set(d,f),a.position.values=p,f/=3,l(e.offsetAttribute)){let E=new Uint8Array(f*2);if(e.offsetAttribute===Jt.TOP)E=E.fill(1,0,f);else{let S=e.offsetAttribute===Jt.NONE?0:1;E=E.fill(S)}a.applyOffset=new Ee({componentDatatype:Z.UNSIGNED_BYTE,componentsPerAttribute:1,values:E})}let g,m=c.length,C=Be.createTypedArray(p.length/3,(m+o.length)*2);C.set(c);let x=m;for(g=0;g<m;g+=2){let E=c[g],S=c[g+1];C[x++]=E+f,C[x++]=S+f}let A,b;for(g=0;g<o.length;g++)A=o[g],b=A+f,C[x++]=A,C[x++]=b;return{attributes:a,indices:C}}function zb(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n=e.width,i=y(e.height,0),o=y(e.extrudedHeight,i);this._positions=t,this._ellipsoid=oe.clone(y(e.ellipsoid,oe.WGS84)),this._width=n,this._height=Math.max(i,o),this._extrudedHeight=Math.min(i,o),this._cornerType=y(e.cornerType,bi.ROUNDED),this._granularity=y(e.granularity,I.RADIANS_PER_DEGREE),this._offsetAttribute=e.offsetAttribute,this._workerName="createCorridorOutlineGeometry",this.packedLength=1+t.length*h.packedLength+oe.packedLength+6}zb.pack=function(e,t,n){n=y(n,0);let i=e._positions,o=i.length;t[n++]=o;for(let r=0;r<o;++r,n+=h.packedLength)h.pack(i[r],t,n);return oe.pack(e._ellipsoid,t,n),n+=oe.packedLength,t[n++]=e._width,t[n++]=e._height,t[n++]=e._extrudedHeight,t[n++]=e._cornerType,t[n++]=e._granularity,t[n]=y(e._offsetAttribute,-1),t};var Q$=oe.clone(oe.UNIT_SPHERE),e_={positions:void 0,ellipsoid:Q$,width:void 0,height:void 0,extrudedHeight:void 0,cornerType:void 0,granularity:void 0,offsetAttribute:void 0};zb.unpack=function(e,t,n){t=y(t,0);let i=e[t++],o=new Array(i);for(let p=0;p<i;++p,t+=h.packedLength)o[p]=h.unpack(e,t);let r=oe.unpack(e,t,Q$);t+=oe.packedLength;let s=e[t++],a=e[t++],c=e[t++],u=e[t++],f=e[t++],d=e[t];return l(n)?(n._positions=o,n._ellipsoid=oe.clone(r,n._ellipsoid),n._width=s,n._height=a,n._extrudedHeight=c,n._cornerType=u,n._granularity=f,n._offsetAttribute=d===-1?void 0:d,n):(e_.positions=o,e_.width=s,e_.height=a,e_.extrudedHeight=c,e_.cornerType=u,e_.granularity=f,e_.offsetAttribute=d===-1?void 0:d,new zb(e_))};zb.createGeometry=function(e){let t=e._positions,n=e._width,i=e._ellipsoid;t=zve(t,i);let o=Co(t,h.equalsEpsilon);if(o.length<2||n<=0)return;let r=e._height,s=e._extrudedHeight,a=!I.equalsEpsilon(r,s,0,I.EPSILON2),c={ellipsoid:i,positions:o,width:n,cornerType:e._cornerType,granularity:e._granularity,saveAttributes:!1},u;if(a)c.height=r,c.extrudedHeight=s,c.offsetAttribute=e._offsetAttribute,u=Hve(c);else{let p=Bi.computePositions(c);if(u=J$(p,c.cornerType),u.attributes.position.values=ei.scaleToGeodeticHeight(u.attributes.position.values,r,i),l(e._offsetAttribute)){let g=u.attributes.position.values.length,m=e._offsetAttribute===Jt.NONE?0:1,C=new Uint8Array(g/3).fill(m);u.attributes.applyOffset=new Ee({componentDatatype:Z.UNSIGNED_BYTE,componentsPerAttribute:1,values:C})}}let f=u.attributes,d=re.fromVertices(f.position.values,void 0,3);return new rt({attributes:f,indices:u.indices,primitiveType:Ne.LINES,boundingSphere:d,offsetAttribute:e._offsetAttribute})};var z1=zb;function cu(e){this.planes=y(e,[])}var Hb=[new h,new h,new h];h.clone(h.UNIT_X,Hb[0]);h.clone(h.UNIT_Y,Hb[1]);h.clone(h.UNIT_Z,Hb[2]);var t_=new h,Gve=new h,eJ=new en(new h(1,0,0),0);cu.fromBoundingSphere=function(e,t){l(t)||(t=new cu);let n=Hb.length,i=t.planes;i.length=2*n;let o=e.center,r=e.radius,s=0;for(let a=0;a<n;++a){let c=Hb[a],u=i[s],f=i[s+1];l(u)||(u=i[s]=new se),l(f)||(f=i[s+1]=new se),h.multiplyByScalar(c,-r,t_),h.add(o,t_,t_),u.x=c.x,u.y=c.y,u.z=c.z,u.w=-h.dot(c,t_),h.multiplyByScalar(c,r,t_),h.add(o,t_,t_),f.x=-c.x,f.y=-c.y,f.z=-c.z,f.w=-h.dot(h.negate(c,Gve),t_),s+=2}return t};cu.prototype.computeVisibility=function(e){let t=this.planes,n=!1;for(let i=0,o=t.length;i<o;++i){let r=e.intersectPlane(en.fromCartesian4(t[i],eJ));if(r===Kt.OUTSIDE)return Kt.OUTSIDE;r===Kt.INTERSECTING&&(n=!0)}return n?Kt.INTERSECTING:Kt.INSIDE};cu.prototype.computeVisibilityWithPlaneMask=function(e,t){if(t===cu.MASK_OUTSIDE||t===cu.MASK_INSIDE)return t;let n=cu.MASK_INSIDE,i=this.planes;for(let o=0,r=i.length;o<r;++o){let s=o<31?1<<o:0;if(o<31&&(t&s)===0)continue;let a=e.intersectPlane(en.fromCartesian4(i[o],eJ));if(a===Kt.OUTSIDE)return cu.MASK_OUTSIDE;a===Kt.INTERSECTING&&(n|=s)}return n};cu.MASK_OUTSIDE=4294967295;cu.MASK_INSIDE=0;cu.MASK_INDETERMINATE=2147483647;var qs=cu;function Fx(e){e=y(e,y.EMPTY_OBJECT),this._callback=e.callback,this._tilingScheme=e.tilingScheme,l(this._tilingScheme)||(this._tilingScheme=new Hi({ellipsoid:y(e.ellipsoid,oe.WGS84)})),this._width=e.width,this._height=e.height;let t=Math.max(this._width,this._height);this._levelZeroMaximumGeometricError=kr.getEstimatedLevelZeroGeometricErrorForAHeightmap(this._tilingScheme.ellipsoid,t,this._tilingScheme.getNumberOfXTilesAtLevel(0)),this._errorEvent=new ge;let n=e.credit;typeof n=="string"&&(n=new jt(n)),this._credit=n,this._readyPromise=Promise.resolve(!0)}Object.defineProperties(Fx.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){return this._tilingScheme}},ready:{get:function(){return!0}},readyPromise:{get:function(){return this._readyPromise}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},width:{get:function(){return this._width}},height:{get:function(){return this._height}}});Fx.prototype.requestTileGeometry=function(e,t,n,i){let o=this._callback(e,t,n);if(!l(o))return;let r=this._width,s=this._height;return Promise.resolve(o).then(function(a){let c=a;return Array.isArray(c)&&(c=new Float64Array(c)),new ma({buffer:c,width:r,height:s})})};Fx.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)};Fx.prototype.getTileDataAvailable=function(e,t,n){};Fx.prototype.loadTileDataAvailability=function(e,t,n){};var tJ=Fx;var nJ={};nJ.computePositions=function(e,t,n,i,o){let r=e*.5,s=-r,a=i+i,c=o?2*a:a,u=new Float64Array(c*3),f,d=0,p=0,g=o?a*3:0,m=o?(a+i)*3:i*3;for(f=0;f<i;f++){let C=f/i*I.TWO_PI,x=Math.cos(C),A=Math.sin(C),b=x*n,E=A*n,S=x*t,v=A*t;u[p+g]=b,u[p+g+1]=E,u[p+g+2]=s,u[p+m]=S,u[p+m+1]=v,u[p+m+2]=r,p+=3,o&&(u[d++]=b,u[d++]=E,u[d++]=s,u[d++]=S,u[d++]=v,u[d++]=r)}return u};var Vx=nJ;var c8=new G,Wve=new h,jve=new h,qve=new h,Yve=new h;function hm(e){e=y(e,y.EMPTY_OBJECT);let t=e.length,n=e.topRadius,i=e.bottomRadius,o=y(e.vertexFormat,ve.DEFAULT),r=y(e.slices,128);this._length=t,this._topRadius=n,this._bottomRadius=i,this._vertexFormat=ve.clone(o),this._slices=r,this._offsetAttribute=e.offsetAttribute,this._workerName="createCylinderGeometry"}hm.packedLength=ve.packedLength+5;hm.pack=function(e,t,n){return n=y(n,0),ve.pack(e._vertexFormat,t,n),n+=ve.packedLength,t[n++]=e._length,t[n++]=e._topRadius,t[n++]=e._bottomRadius,t[n++]=e._slices,t[n]=y(e._offsetAttribute,-1),t};var iJ=new ve,kx={vertexFormat:iJ,length:void 0,topRadius:void 0,bottomRadius:void 0,slices:void 0,offsetAttribute:void 0};hm.unpack=function(e,t,n){t=y(t,0);let i=ve.unpack(e,t,iJ);t+=ve.packedLength;let o=e[t++],r=e[t++],s=e[t++],a=e[t++],c=e[t];return l(n)?(n._vertexFormat=ve.clone(i,n._vertexFormat),n._length=o,n._topRadius=r,n._bottomRadius=s,n._slices=a,n._offsetAttribute=c===-1?void 0:c,n):(kx.length=o,kx.topRadius=r,kx.bottomRadius=s,kx.slices=a,kx.offsetAttribute=c===-1?void 0:c,new hm(kx))};hm.createGeometry=function(e){let t=e._length,n=e._topRadius,i=e._bottomRadius,o=e._vertexFormat,r=e._slices;if(t<=0||n<0||i<0||n===0&&i===0)return;let s=r+r,a=r+s,c=s+s,u=Vx.computePositions(t,n,i,r,!0),f=o.st?new Float32Array(c*2):void 0,d=o.normal?new Float32Array(c*3):void 0,p=o.tangent?new Float32Array(c*3):void 0,g=o.bitangent?new Float32Array(c*3):void 0,m,C=o.normal||o.tangent||o.bitangent;if(C){let O=o.tangent||o.bitangent,M=0,B=0,L=0,_=Math.atan2(i-n,t),T=Wve;T.z=Math.sin(_);let w=Math.cos(_),D=qve,R=jve;for(m=0;m<r;m++){let F=m/r*I.TWO_PI,z=w*Math.cos(F),k=w*Math.sin(F);C&&(T.x=z,T.y=k,O&&(D=h.normalize(h.cross(h.UNIT_Z,T,D),D)),o.normal&&(d[M++]=T.x,d[M++]=T.y,d[M++]=T.z,d[M++]=T.x,d[M++]=T.y,d[M++]=T.z),o.tangent&&(p[B++]=D.x,p[B++]=D.y,p[B++]=D.z,p[B++]=D.x,p[B++]=D.y,p[B++]=D.z),o.bitangent&&(R=h.normalize(h.cross(T,D,R),R),g[L++]=R.x,g[L++]=R.y,g[L++]=R.z,g[L++]=R.x,g[L++]=R.y,g[L++]=R.z))}for(m=0;m<r;m++)o.normal&&(d[M++]=0,d[M++]=0,d[M++]=-1),o.tangent&&(p[B++]=1,p[B++]=0,p[B++]=0),o.bitangent&&(g[L++]=0,g[L++]=-1,g[L++]=0);for(m=0;m<r;m++)o.normal&&(d[M++]=0,d[M++]=0,d[M++]=1),o.tangent&&(p[B++]=1,p[B++]=0,p[B++]=0),o.bitangent&&(g[L++]=0,g[L++]=1,g[L++]=0)}let x=12*r-12,A=Be.createTypedArray(c,x),b=0,E=0;for(m=0;m<r-1;m++)A[b++]=E,A[b++]=E+2,A[b++]=E+3,A[b++]=E,A[b++]=E+3,A[b++]=E+1,E+=2;for(A[b++]=s-2,A[b++]=0,A[b++]=1,A[b++]=s-2,A[b++]=1,A[b++]=s-1,m=1;m<r-1;m++)A[b++]=s+m+1,A[b++]=s+m,A[b++]=s;for(m=1;m<r-1;m++)A[b++]=a,A[b++]=a+m,A[b++]=a+m+1;let S=0;if(o.st){let O=Math.max(n,i);for(m=0;m<c;m++){let M=h.fromArray(u,m*3,Yve);f[S++]=(M.x+O)/(2*O),f[S++]=(M.y+O)/(2*O)}}let v=new rn;o.position&&(v.position=new Ee({componentDatatype:Z.DOUBLE,componentsPerAttribute:3,values:u})),o.normal&&(v.normal=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:d})),o.tangent&&(v.tangent=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:p})),o.bitangent&&(v.bitangent=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:g})),o.st&&(v.st=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:2,values:f})),c8.x=t*.5,c8.y=Math.max(i,n);let P=new re(h.ZERO,G.magnitude(c8));if(l(e._offsetAttribute)){t=u.length;let O=e._offsetAttribute===Jt.NONE?0:1,M=new Uint8Array(t/3).fill(O);v.applyOffset=new Ee({componentDatatype:Z.UNSIGNED_BYTE,componentsPerAttribute:1,values:M})}return new rt({attributes:v,indices:A,primitiveType:Ne.TRIANGLES,boundingSphere:P,offsetAttribute:e._offsetAttribute})};var l8;hm.getUnitCylinder=function(){return l(l8)||(l8=hm.createGeometry(new hm({topRadius:1,bottomRadius:1,length:1,vertexFormat:ve.POSITION_ONLY}))),l8};var H1=hm;var u8=new G;function Ux(e){e=y(e,y.EMPTY_OBJECT);let t=e.length,n=e.topRadius,i=e.bottomRadius,o=y(e.slices,128),r=Math.max(y(e.numberOfVerticalLines,16),0);this._length=t,this._topRadius=n,this._bottomRadius=i,this._slices=o,this._numberOfVerticalLines=r,this._offsetAttribute=e.offsetAttribute,this._workerName="createCylinderOutlineGeometry"}Ux.packedLength=6;Ux.pack=function(e,t,n){return n=y(n,0),t[n++]=e._length,t[n++]=e._topRadius,t[n++]=e._bottomRadius,t[n++]=e._slices,t[n++]=e._numberOfVerticalLines,t[n]=y(e._offsetAttribute,-1),t};var W0={length:void 0,topRadius:void 0,bottomRadius:void 0,slices:void 0,numberOfVerticalLines:void 0,offsetAttribute:void 0};Ux.unpack=function(e,t,n){t=y(t,0);let i=e[t++],o=e[t++],r=e[t++],s=e[t++],a=e[t++],c=e[t];return l(n)?(n._length=i,n._topRadius=o,n._bottomRadius=r,n._slices=s,n._numberOfVerticalLines=a,n._offsetAttribute=c===-1?void 0:c,n):(W0.length=i,W0.topRadius=o,W0.bottomRadius=r,W0.slices=s,W0.numberOfVerticalLines=a,W0.offsetAttribute=c===-1?void 0:c,new Ux(W0))};Ux.createGeometry=function(e){let t=e._length,n=e._topRadius,i=e._bottomRadius,o=e._slices,r=e._numberOfVerticalLines;if(t<=0||n<0||i<0||n===0&&i===0)return;let s=o*2,a=Vx.computePositions(t,n,i,o,!1),c=o*2,u;if(r>0){let C=Math.min(r,o);u=Math.round(o/C),c+=C}let f=Be.createTypedArray(s,c*2),d=0,p;for(p=0;p<o-1;p++)f[d++]=p,f[d++]=p+1,f[d++]=p+o,f[d++]=p+1+o;if(f[d++]=o-1,f[d++]=0,f[d++]=o+o-1,f[d++]=o,r>0)for(p=0;p<o;p+=u)f[d++]=p,f[d++]=p+o;let g=new rn;g.position=new Ee({componentDatatype:Z.DOUBLE,componentsPerAttribute:3,values:a}),u8.x=t*.5,u8.y=Math.max(i,n);let m=new re(h.ZERO,G.magnitude(u8));if(l(e._offsetAttribute)){t=a.length;let C=e._offsetAttribute===Jt.NONE?0:1,x=new Uint8Array(t/3).fill(C);g.applyOffset=new Ee({componentDatatype:Z.UNSIGNED_BYTE,componentsPerAttribute:1,values:x})}return new rt({attributes:g,indices:f,primitiveType:Ne.LINES,boundingSphere:m,offsetAttribute:e._offsetAttribute})};var G1=Ux;function oJ(e){this.proxy=e}oJ.prototype.getURL=function(e){let t=this.proxy.indexOf("?")===-1?"?":"";return this.proxy+t+encodeURIComponent(e)};var rJ=oJ;function gl(e,t){e=y(e,0),this._near=e,t=y(t,Number.MAX_VALUE),this._far=t}Object.defineProperties(gl.prototype,{near:{get:function(){return this._near},set:function(e){this._near=e}},far:{get:function(){return this._far},set:function(e){this._far=e}}});gl.packedLength=2;gl.pack=function(e,t,n){return n=y(n,0),t[n++]=e.near,t[n]=e.far,t};gl.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new gl),n.near=e[t++],n.far=e[t],n};gl.equals=function(e,t){return e===t||l(e)&&l(t)&&e.near===t.near&&e.far===t.far};gl.clone=function(e,t){if(!!l(e))return l(t)||(t=new gl),t.near=e.near,t.far=e.far,t};gl.prototype.clone=function(e){return gl.clone(this,e)};gl.prototype.equals=function(e){return gl.equals(this,e)};var At=gl;function Gb(e,t){e=y(e,0),t=y(t,Number.MAX_VALUE),this.value=new Float32Array([e,t])}Object.defineProperties(Gb.prototype,{componentDatatype:{get:function(){return Z.FLOAT}},componentsPerAttribute:{get:function(){return 2}},normalize:{get:function(){return!1}}});Gb.fromDistanceDisplayCondition=function(e){return new Gb(e.near,e.far)};Gb.toValue=function(e,t){return l(t)?(t[0]=e.near,t[1]=e.far,t):new Float32Array([e.near,e.far])};var Bn=Gb;function yf(e){this._comparator=e.comparator,this._maximumLength=e.maximumLength,this._array=l(e.maximumLength)?new Array(e.maximumLength):[],this._length=0}Object.defineProperties(yf.prototype,{length:{get:function(){return this._length}},maximumLength:{get:function(){return this._maximumLength},set:function(e){if(l(e)){for(;this._length>e;)this.removeMinimum();this._array.length=e}this._maximumLength=e}},internalArray:{get:function(){return this._array}},comparator:{get:function(){return this._comparator}}});yf.prototype.clone=function(){let e=this._maximumLength,t=this._comparator,n=this._array,i=this._length,o=new yf({comparator:t,maximumLength:e});o._length=i;for(let r=0;r<i;r++)o._array[r]=n[r];return o};yf.prototype.reset=function(){this._length=0;let e=this._maximumLength;if(l(e))for(let t=0;t<e;t++)this._array[t]=void 0;else this._array.length=0};yf.prototype.resort=function(){let e=this._length;for(let t=0;t<e;t++)sJ(this,t)};yf.prototype.insert=function(e){let t,n=this._maximumLength;if(l(n)){if(n===0)return;if(this._length===n){let o=this._array[0];if(this._comparator(e,o)<=0)return e;t=this.removeMinimum()}}let i=this._length;return this._array[i]=e,this._length++,sJ(this,i),t};yf.prototype.removeMinimum=function(){let e=this._length;if(e===0)return;this._length--;let t=this._array[0];return e>=2&&(this._array[0]=this._array[e-1],aJ(this,0)),this._array[e-1]=void 0,t};yf.prototype.removeMaximum=function(){let e=this._length;if(e===0)return;this._length--;let t;if(e<=2)t=this._array[e-1];else{let n=f8(this,1,2)?1:2;t=this._array[n],this._array[n]=this._array[e-1],e>=4&&aJ(this,n)}return this._array[e-1]=void 0,t};yf.prototype.getMinimum=function(){if(this._length!==0)return this._array[0]};yf.prototype.getMaximum=function(){let e=this._length;if(e!==0)return e<=2?this._array[e-1]:this._array[f8(this,1,2)?1:2]};function W1(e,t,n){let i=e._array,o=i[t];i[t]=i[n],i[n]=o}function Wb(e,t,n){return e._comparator(e._array[t],e._array[n])<0}function f8(e,t,n){return e._comparator(e._array[t],e._array[n])>0}function sJ(e,t){if(t===0)return;let n=Math.floor(I.log2(t+1))%2===0,i=Math.floor((t-1)/2),o=Wb(e,t,i);for(o!==n&&(W1(e,t,i),t=i);t>=3;){let r=Math.floor((t-3)/4);if(Wb(e,t,r)!==o)break;W1(e,t,r),t=r}}function aJ(e,t){let n=e._length,i=Math.floor(I.log2(t+1))%2===0,o;for(;(o=2*t+1)<n;){let r=o,s=o+1;if(s<n){Wb(e,s,r)===i&&(r=s);let a=2*o+1,c=Math.max(Math.min(n-a,4),0);for(let u=0;u<c;u++){let f=a+u;Wb(e,f,r)===i&&(r=f)}}if(Wb(e,r,t)===i&&(W1(e,r,t),r!==o&&r!==s)){let a=Math.floor((r-1)/2);f8(e,r,a)===i&&W1(e,r,a)}t=r}}var cJ=yf;function jb(){this.head=void 0,this.tail=void 0,this._length=0}Object.defineProperties(jb.prototype,{length:{get:function(){return this._length}}});function Xve(e,t,n){this.item=e,this.previous=t,this.next=n}jb.prototype.add=function(e){let t=new Xve(e,this.tail,void 0);return l(this.tail)?(this.tail.next=t,this.tail=t):(this.head=t,this.tail=t),++this._length,t};function lJ(e,t){l(t.previous)&&l(t.next)?(t.previous.next=t.next,t.next.previous=t.previous):l(t.previous)?(t.previous.next=void 0,e.tail=t.previous):l(t.next)?(t.next.previous=void 0,e.head=t.next):(e.head=void 0,e.tail=void 0),t.next=void 0,t.previous=void 0}jb.prototype.remove=function(e){!l(e)||(lJ(this,e),--this._length)};jb.prototype.splice=function(e,t){if(e===t)return;lJ(this,t);let n=e.next;e.next=t,this.tail===e?this.tail=t:n.previous=t,t.next=n,t.previous=e};var j1=jb;var Ki=Ri(h8(),1),Zve={LINEAR_NONE:Ki.Easing.Linear.None,QUADRATIC_IN:Ki.Easing.Quadratic.In,QUADRATIC_OUT:Ki.Easing.Quadratic.Out,QUADRATIC_IN_OUT:Ki.Easing.Quadratic.InOut,CUBIC_IN:Ki.Easing.Cubic.In,CUBIC_OUT:Ki.Easing.Cubic.Out,CUBIC_IN_OUT:Ki.Easing.Cubic.InOut,QUARTIC_IN:Ki.Easing.Quartic.In,QUARTIC_OUT:Ki.Easing.Quartic.Out,QUARTIC_IN_OUT:Ki.Easing.Quartic.InOut,QUINTIC_IN:Ki.Easing.Quintic.In,QUINTIC_OUT:Ki.Easing.Quintic.Out,QUINTIC_IN_OUT:Ki.Easing.Quintic.InOut,SINUSOIDAL_IN:Ki.Easing.Sinusoidal.In,SINUSOIDAL_OUT:Ki.Easing.Sinusoidal.Out,SINUSOIDAL_IN_OUT:Ki.Easing.Sinusoidal.InOut,EXPONENTIAL_IN:Ki.Easing.Exponential.In,EXPONENTIAL_OUT:Ki.Easing.Exponential.Out,EXPONENTIAL_IN_OUT:Ki.Easing.Exponential.InOut,CIRCULAR_IN:Ki.Easing.Circular.In,CIRCULAR_OUT:Ki.Easing.Circular.Out,CIRCULAR_IN_OUT:Ki.Easing.Circular.InOut,ELASTIC_IN:Ki.Easing.Elastic.In,ELASTIC_OUT:Ki.Easing.Elastic.Out,ELASTIC_IN_OUT:Ki.Easing.Elastic.InOut,BACK_IN:Ki.Easing.Back.In,BACK_OUT:Ki.Easing.Back.Out,BACK_IN_OUT:Ki.Easing.Back.InOut,BOUNCE_IN:Ki.Easing.Bounce.In,BOUNCE_OUT:Ki.Easing.Bounce.Out,BOUNCE_IN_OUT:Ki.Easing.Bounce.InOut},Dr=Object.freeze(Zve);var $ve=new h,Jve=new h,Qve=new h,eDe=new h,tDe=new h,nDe=new h(1,1,1),CJ=Math.cos,xJ=Math.sin;function mm(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.radii,nDe),n=y(e.innerRadii,t),i=y(e.minimumClock,0),o=y(e.maximumClock,I.TWO_PI),r=y(e.minimumCone,0),s=y(e.maximumCone,I.PI),a=Math.round(y(e.stackPartitions,64)),c=Math.round(y(e.slicePartitions,64)),u=y(e.vertexFormat,ve.DEFAULT);this._radii=h.clone(t),this._innerRadii=h.clone(n),this._minimumClock=i,this._maximumClock=o,this._minimumCone=r,this._maximumCone=s,this._stackPartitions=a,this._slicePartitions=c,this._vertexFormat=ve.clone(u),this._offsetAttribute=e.offsetAttribute,this._workerName="createEllipsoidGeometry"}mm.packedLength=2*h.packedLength+ve.packedLength+7;mm.pack=function(e,t,n){return n=y(n,0),h.pack(e._radii,t,n),n+=h.packedLength,h.pack(e._innerRadii,t,n),n+=h.packedLength,ve.pack(e._vertexFormat,t,n),n+=ve.packedLength,t[n++]=e._minimumClock,t[n++]=e._maximumClock,t[n++]=e._minimumCone,t[n++]=e._maximumCone,t[n++]=e._stackPartitions,t[n++]=e._slicePartitions,t[n]=y(e._offsetAttribute,-1),t};var AJ=new h,TJ=new h,EJ=new ve,i_={radii:AJ,innerRadii:TJ,vertexFormat:EJ,minimumClock:void 0,maximumClock:void 0,minimumCone:void 0,maximumCone:void 0,stackPartitions:void 0,slicePartitions:void 0,offsetAttribute:void 0};mm.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t,AJ);t+=h.packedLength;let o=h.unpack(e,t,TJ);t+=h.packedLength;let r=ve.unpack(e,t,EJ);t+=ve.packedLength;let s=e[t++],a=e[t++],c=e[t++],u=e[t++],f=e[t++],d=e[t++],p=e[t];return l(n)?(n._radii=h.clone(i,n._radii),n._innerRadii=h.clone(o,n._innerRadii),n._vertexFormat=ve.clone(r,n._vertexFormat),n._minimumClock=s,n._maximumClock=a,n._minimumCone=c,n._maximumCone=u,n._stackPartitions=f,n._slicePartitions=d,n._offsetAttribute=p===-1?void 0:p,n):(i_.minimumClock=s,i_.maximumClock=a,i_.minimumCone=c,i_.maximumCone=u,i_.stackPartitions=f,i_.slicePartitions=d,i_.offsetAttribute=p===-1?void 0:p,new mm(i_))};mm.createGeometry=function(e){let t=e._radii;if(t.x<=0||t.y<=0||t.z<=0)return;let n=e._innerRadii;if(n.x<=0||n.y<=0||n.z<=0)return;let i=e._minimumClock,o=e._maximumClock,r=e._minimumCone,s=e._maximumCone,a=e._vertexFormat,c=e._slicePartitions+1,u=e._stackPartitions+1;c=Math.round(c*Math.abs(o-i)/I.TWO_PI),u=Math.round(u*Math.abs(s-r)/I.PI),c<2&&(c=2),u<2&&(u=2);let f,d,p=0,g=[r],m=[i];for(f=0;f<u;f++)g.push(r+f*(s-r)/(u-1));for(g.push(s),d=0;d<c;d++)m.push(i+d*(o-i)/(c-1));m.push(o);let C=g.length,x=m.length,A=0,b=1,E=n.x!==t.x||n.y!==t.y||n.z!==t.z,S=!1,v=!1,P=!1;E&&(b=2,r>0&&(S=!0,A+=c-1),s<Math.PI&&(v=!0,A+=c-1),(o-i)%I.TWO_PI?(P=!0,A+=(u-1)*2+1):A+=1);let O=x*C*b,M=new Float64Array(O*3),B=new Array(O).fill(!1),L=new Array(O).fill(!1),_=c*u*b,T=6*(_+A+1-(c+u)*b),w=Be.createTypedArray(_,T),D=a.normal?new Float32Array(O*3):void 0,R=a.tangent?new Float32Array(O*3):void 0,F=a.bitangent?new Float32Array(O*3):void 0,z=a.st?new Float32Array(O*2):void 0,k=new Array(C),H=new Array(C);for(f=0;f<C;f++)k[f]=xJ(g[f]),H[f]=CJ(g[f]);let V=new Array(x),Y=new Array(x);for(d=0;d<x;d++)Y[d]=CJ(m[d]),V[d]=xJ(m[d]);for(f=0;f<C;f++)for(d=0;d<x;d++)M[p++]=t.x*k[f]*Y[d],M[p++]=t.y*k[f]*V[d],M[p++]=t.z*H[f];let q=O/2;if(E)for(f=0;f<C;f++)for(d=0;d<x;d++)M[p++]=n.x*k[f]*Y[d],M[p++]=n.y*k[f]*V[d],M[p++]=n.z*H[f],B[q]=!0,f>0&&f!==C-1&&d!==0&&d!==x-1&&(L[q]=!0),q++;p=0;let X,W;for(f=1;f<C-2;f++)for(X=f*x,W=(f+1)*x,d=1;d<x-2;d++)w[p++]=W+d,w[p++]=W+d+1,w[p++]=X+d+1,w[p++]=W+d,w[p++]=X+d+1,w[p++]=X+d;if(E){let bt=C*x;for(f=1;f<C-2;f++)for(X=bt+f*x,W=bt+(f+1)*x,d=1;d<x-2;d++)w[p++]=W+d,w[p++]=X+d,w[p++]=X+d+1,w[p++]=W+d,w[p++]=X+d+1,w[p++]=W+d+1}let K,$;if(E){if(S)for($=C*x,f=1;f<x-2;f++)w[p++]=f,w[p++]=f+1,w[p++]=$+f+1,w[p++]=f,w[p++]=$+f+1,w[p++]=$+f;if(v)for(K=C*x-x,$=C*x*b-x,f=1;f<x-2;f++)w[p++]=K+f+1,w[p++]=K+f,w[p++]=$+f,w[p++]=K+f+1,w[p++]=$+f,w[p++]=$+f+1}if(P){for(f=1;f<C-2;f++)$=x*C+x*f,K=x*f,w[p++]=$,w[p++]=K+x,w[p++]=K,w[p++]=$,w[p++]=$+x,w[p++]=K+x;for(f=1;f<C-2;f++)$=x*C+x*(f+1)-1,K=x*(f+1)-1,w[p++]=K+x,w[p++]=$,w[p++]=K,w[p++]=K+x,w[p++]=$+x,w[p++]=$}let le=new rn;a.position&&(le.position=new Ee({componentDatatype:Z.DOUBLE,componentsPerAttribute:3,values:M}));let me=0,ie=0,ce=0,pe=0,Ae=O/2,we,Re=oe.fromCartesian3(t),Ue=oe.fromCartesian3(n);if(a.st||a.normal||a.tangent||a.bitangent){for(f=0;f<O;f++){we=B[f]?Ue:Re;let bt=h.fromArray(M,f*3,$ve),Ut=we.geodeticSurfaceNormal(bt,Jve);if(L[f]&&h.negate(Ut,Ut),a.st){let sn=G.negate(Ut,tDe);z[me++]=Math.atan2(sn.y,sn.x)/I.TWO_PI+.5,z[me++]=Math.asin(Ut.z)/Math.PI+.5}if(a.normal&&(D[ie++]=Ut.x,D[ie++]=Ut.y,D[ie++]=Ut.z),a.tangent||a.bitangent){let sn=Qve,dt=0,vn;if(B[f]&&(dt=Ae),!S&&f>=dt&&f<dt+x*2?vn=h.UNIT_X:vn=h.UNIT_Z,h.cross(vn,Ut,sn),h.normalize(sn,sn),a.tangent&&(R[ce++]=sn.x,R[ce++]=sn.y,R[ce++]=sn.z),a.bitangent){let Jn=h.cross(Ut,sn,eDe);h.normalize(Jn,Jn),F[pe++]=Jn.x,F[pe++]=Jn.y,F[pe++]=Jn.z}}}a.st&&(le.st=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:2,values:z})),a.normal&&(le.normal=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:D})),a.tangent&&(le.tangent=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:R})),a.bitangent&&(le.bitangent=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:F}))}if(l(e._offsetAttribute)){let bt=M.length,Ut=e._offsetAttribute===Jt.NONE?0:1,sn=new Uint8Array(bt/3).fill(Ut);le.applyOffset=new Ee({componentDatatype:Z.UNSIGNED_BYTE,componentsPerAttribute:1,values:sn})}return new rt({attributes:le,indices:w,primitiveType:Ne.TRIANGLES,boundingSphere:re.fromEllipsoid(Re),offsetAttribute:e._offsetAttribute})};var m8;mm.getUnitEllipsoid=function(){return l(m8)||(m8=mm.createGeometry(new mm({radii:new h(1,1,1),vertexFormat:ve.POSITION_ONLY}))),m8};var As=mm;var iDe=new h(1,1,1),Y1=Math.cos,X1=Math.sin;function Hx(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.radii,iDe),n=y(e.innerRadii,t),i=y(e.minimumClock,0),o=y(e.maximumClock,I.TWO_PI),r=y(e.minimumCone,0),s=y(e.maximumCone,I.PI),a=Math.round(y(e.stackPartitions,10)),c=Math.round(y(e.slicePartitions,8)),u=Math.round(y(e.subdivisions,128));this._radii=h.clone(t),this._innerRadii=h.clone(n),this._minimumClock=i,this._maximumClock=o,this._minimumCone=r,this._maximumCone=s,this._stackPartitions=a,this._slicePartitions=c,this._subdivisions=u,this._offsetAttribute=e.offsetAttribute,this._workerName="createEllipsoidOutlineGeometry"}Hx.packedLength=2*h.packedLength+8;Hx.pack=function(e,t,n){return n=y(n,0),h.pack(e._radii,t,n),n+=h.packedLength,h.pack(e._innerRadii,t,n),n+=h.packedLength,t[n++]=e._minimumClock,t[n++]=e._maximumClock,t[n++]=e._minimumCone,t[n++]=e._maximumCone,t[n++]=e._stackPartitions,t[n++]=e._slicePartitions,t[n++]=e._subdivisions,t[n]=y(e._offsetAttribute,-1),t};var bJ=new h,SJ=new h,pm={radii:bJ,innerRadii:SJ,minimumClock:void 0,maximumClock:void 0,minimumCone:void 0,maximumCone:void 0,stackPartitions:void 0,slicePartitions:void 0,subdivisions:void 0,offsetAttribute:void 0};Hx.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t,bJ);t+=h.packedLength;let o=h.unpack(e,t,SJ);t+=h.packedLength;let r=e[t++],s=e[t++],a=e[t++],c=e[t++],u=e[t++],f=e[t++],d=e[t++],p=e[t];return l(n)?(n._radii=h.clone(i,n._radii),n._innerRadii=h.clone(o,n._innerRadii),n._minimumClock=r,n._maximumClock=s,n._minimumCone=a,n._maximumCone=c,n._stackPartitions=u,n._slicePartitions=f,n._subdivisions=d,n._offsetAttribute=p===-1?void 0:p,n):(pm.minimumClock=r,pm.maximumClock=s,pm.minimumCone=a,pm.maximumCone=c,pm.stackPartitions=u,pm.slicePartitions=f,pm.subdivisions=d,pm.offsetAttribute=p===-1?void 0:p,new Hx(pm))};Hx.createGeometry=function(e){let t=e._radii;if(t.x<=0||t.y<=0||t.z<=0)return;let n=e._innerRadii;if(n.x<=0||n.y<=0||n.z<=0)return;let i=e._minimumClock,o=e._maximumClock,r=e._minimumCone,s=e._maximumCone,a=e._subdivisions,c=oe.fromCartesian3(t),u=e._slicePartitions+1,f=e._stackPartitions+1;u=Math.round(u*Math.abs(o-i)/I.TWO_PI),f=Math.round(f*Math.abs(s-r)/I.PI),u<2&&(u=2),f<2&&(f=2);let d=0,p=1,g=n.x!==t.x||n.y!==t.y||n.z!==t.z,m=!1,C=!1;g&&(p=2,r>0&&(m=!0,d+=u),s<Math.PI&&(C=!0,d+=u));let x=a*p*(f+u),A=new Float64Array(x*3),b=2*(x+d-(u+f)*p),E=Be.createTypedArray(x,b),S,v,P,O,M=0,B=new Array(f),L=new Array(f);for(S=0;S<f;S++)O=r+S*(s-r)/(f-1),B[S]=X1(O),L[S]=Y1(O);let _=new Array(a),T=new Array(a);for(S=0;S<a;S++)P=i+S*(o-i)/(a-1),_[S]=X1(P),T[S]=Y1(P);for(S=0;S<f;S++)for(v=0;v<a;v++)A[M++]=t.x*B[S]*T[v],A[M++]=t.y*B[S]*_[v],A[M++]=t.z*L[S];if(g)for(S=0;S<f;S++)for(v=0;v<a;v++)A[M++]=n.x*B[S]*T[v],A[M++]=n.y*B[S]*_[v],A[M++]=n.z*L[S];for(B.length=a,L.length=a,S=0;S<a;S++)O=r+S*(s-r)/(a-1),B[S]=X1(O),L[S]=Y1(O);for(_.length=u,T.length=u,S=0;S<u;S++)P=i+S*(o-i)/(u-1),_[S]=X1(P),T[S]=Y1(P);for(S=0;S<a;S++)for(v=0;v<u;v++)A[M++]=t.x*B[S]*T[v],A[M++]=t.y*B[S]*_[v],A[M++]=t.z*L[S];if(g)for(S=0;S<a;S++)for(v=0;v<u;v++)A[M++]=n.x*B[S]*T[v],A[M++]=n.y*B[S]*_[v],A[M++]=n.z*L[S];for(M=0,S=0;S<f*p;S++){let R=S*a;for(v=0;v<a-1;v++)E[M++]=R+v,E[M++]=R+v+1}let w=f*a*p;for(S=0;S<u;S++)for(v=0;v<a-1;v++)E[M++]=w+S+v*u,E[M++]=w+S+(v+1)*u;if(g)for(w=f*a*p+u*a,S=0;S<u;S++)for(v=0;v<a-1;v++)E[M++]=w+S+v*u,E[M++]=w+S+(v+1)*u;if(g){let R=f*a*p,F=R+a*u;if(m)for(S=0;S<u;S++)E[M++]=R+S,E[M++]=F+S;if(C)for(R+=a*u-u,F+=a*u-u,S=0;S<u;S++)E[M++]=R+S,E[M++]=F+S}let D=new rn({position:new Ee({componentDatatype:Z.DOUBLE,componentsPerAttribute:3,values:A})});if(l(e._offsetAttribute)){let R=A.length,F=e._offsetAttribute===Jt.NONE?0:1,z=new Uint8Array(R/3).fill(F);D.applyOffset=new Ee({componentDatatype:Z.UNSIGNED_BYTE,componentsPerAttribute:1,values:z})}return new rt({attributes:D,indices:E,primitiveType:Ne.LINES,boundingSphere:re.fromEllipsoid(c),offsetAttribute:e._offsetAttribute})};var lu=Hx;function Gx(e){e=y(e,y.EMPTY_OBJECT),this._tilingScheme=e.tilingScheme,l(this._tilingScheme)||(this._tilingScheme=new Hi({ellipsoid:y(e.ellipsoid,oe.WGS84)})),this._levelZeroMaximumGeometricError=kr.getEstimatedLevelZeroGeometricErrorForAHeightmap(this._tilingScheme.ellipsoid,64,this._tilingScheme.getNumberOfXTilesAtLevel(0)),this._errorEvent=new ge,this._readyPromise=Promise.resolve(!0)}Object.defineProperties(Gx.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){}},tilingScheme:{get:function(){return this._tilingScheme}},ready:{get:function(){return!0}},readyPromise:{get:function(){return this._readyPromise}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){}}});Gx.prototype.requestTileGeometry=function(e,t,n,i){return Promise.resolve(new ma({buffer:new Uint8Array(16*16),width:16,height:16}))};Gx.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)};Gx.prototype.getTileDataAvailable=function(e,t,n){};Gx.prototype.loadTileDataAvailability=function(e,t,n){};var o_=Gx;function p8(){this._removalFunctions=[]}p8.prototype.add=function(e,t,n){let i=e.addEventListener(t,n);this._removalFunctions.push(i);let o=this;return function(){i();let r=o._removalFunctions;r.splice(r.indexOf(i),1)}};p8.prototype.removeAll=function(){let e=this._removalFunctions;for(let t=0,n=e.length;t<n;++t)e[t]();e.length=0};var Pr=p8;var oDe={NONE:0,HOLD:1,EXTRAPOLATE:2},uu=Object.freeze(oDe);function zd(e){e=y(e,y.EMPTY_OBJECT),this.left=e.left,this._left=void 0,this.right=e.right,this._right=void 0,this.top=e.top,this._top=void 0,this.bottom=e.bottom,this._bottom=void 0,this.near=y(e.near,1),this._near=this.near,this.far=y(e.far,5e8),this._far=this.far,this._cullingVolume=new qs,this._orthographicMatrix=new N}function wJ(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=N.computeOrthographicOffCenter(e.left,e.right,e.bottom,e.top,e.near,e.far,e._orthographicMatrix))}Object.defineProperties(zd.prototype,{projectionMatrix:{get:function(){return wJ(this),this._orthographicMatrix}}});var rDe=new h,sDe=new h,aDe=new h,_8=new h;zd.prototype.computeCullingVolume=function(e,t,n){let i=this._cullingVolume.planes,o=this.top,r=this.bottom,s=this.right,a=this.left,c=this.near,u=this.far,f=h.cross(t,n,rDe);h.normalize(f,f);let d=sDe;h.multiplyByScalar(t,c,d),h.add(e,d,d);let p=aDe;h.multiplyByScalar(f,a,p),h.add(d,p,p);let g=i[0];return l(g)||(g=i[0]=new se),g.x=f.x,g.y=f.y,g.z=f.z,g.w=-h.dot(f,p),h.multiplyByScalar(f,s,p),h.add(d,p,p),g=i[1],l(g)||(g=i[1]=new se),g.x=-f.x,g.y=-f.y,g.z=-f.z,g.w=-h.dot(h.negate(f,_8),p),h.multiplyByScalar(n,r,p),h.add(d,p,p),g=i[2],l(g)||(g=i[2]=new se),g.x=n.x,g.y=n.y,g.z=n.z,g.w=-h.dot(n,p),h.multiplyByScalar(n,o,p),h.add(d,p,p),g=i[3],l(g)||(g=i[3]=new se),g.x=-n.x,g.y=-n.y,g.z=-n.z,g.w=-h.dot(h.negate(n,_8),p),g=i[4],l(g)||(g=i[4]=new se),g.x=t.x,g.y=t.y,g.z=t.z,g.w=-h.dot(t,d),h.multiplyByScalar(t,u,p),h.add(e,p,p),g=i[5],l(g)||(g=i[5]=new se),g.x=-t.x,g.y=-t.y,g.z=-t.z,g.w=-h.dot(h.negate(t,_8),p),this._cullingVolume};zd.prototype.getPixelDimensions=function(e,t,n,i,o){wJ(this);let r=this.right-this.left,s=this.top-this.bottom,a=i*r/e,c=i*s/t;return o.x=a,o.y=c,o};zd.prototype.clone=function(e){return l(e)||(e=new zd),e.left=this.left,e.right=this.right,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};zd.prototype.equals=function(e){return l(e)&&e instanceof zd&&this.right===e.right&&this.left===e.left&&this.top===e.top&&this.bottom===e.bottom&&this.near===e.near&&this.far===e.far};zd.prototype.equalsEpsilon=function(e,t,n){return e===this||l(e)&&e instanceof zd&&I.equalsEpsilon(this.right,e.right,t,n)&&I.equalsEpsilon(this.left,e.left,t,n)&&I.equalsEpsilon(this.top,e.top,t,n)&&I.equalsEpsilon(this.bottom,e.bottom,t,n)&&I.equalsEpsilon(this.near,e.near,t,n)&&I.equalsEpsilon(this.far,e.far,t,n)};var Ir=zd;function Vc(e){e=y(e,y.EMPTY_OBJECT),this._offCenterFrustum=new Ir,this.width=e.width,this._width=void 0,this.aspectRatio=e.aspectRatio,this._aspectRatio=void 0,this.near=y(e.near,1),this._near=this.near,this.far=y(e.far,5e8),this._far=this.far}Vc.packedLength=4;Vc.pack=function(e,t,n){return n=y(n,0),t[n++]=e.width,t[n++]=e.aspectRatio,t[n++]=e.near,t[n]=e.far,t};Vc.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new Vc),n.width=e[t++],n.aspectRatio=e[t++],n.near=e[t++],n.far=e[t],n};function q0(e){let t=e._offCenterFrustum;if(e.width!==e._width||e.aspectRatio!==e._aspectRatio||e.near!==e._near||e.far!==e._far){e._aspectRatio=e.aspectRatio,e._width=e.width,e._near=e.near,e._far=e.far;let n=1/e.aspectRatio;t.right=e.width*.5,t.left=-t.right,t.top=n*t.right,t.bottom=-t.top,t.near=e.near,t.far=e.far}}Object.defineProperties(Vc.prototype,{projectionMatrix:{get:function(){return q0(this),this._offCenterFrustum.projectionMatrix}}});Vc.prototype.computeCullingVolume=function(e,t,n){return q0(this),this._offCenterFrustum.computeCullingVolume(e,t,n)};Vc.prototype.getPixelDimensions=function(e,t,n,i,o){return q0(this),this._offCenterFrustum.getPixelDimensions(e,t,n,i,o)};Vc.prototype.clone=function(e){return l(e)||(e=new Vc),e.aspectRatio=this.aspectRatio,e.width=this.width,e.near=this.near,e.far=this.far,e._aspectRatio=void 0,e._width=void 0,e._near=void 0,e._far=void 0,this._offCenterFrustum.clone(e._offCenterFrustum),e};Vc.prototype.equals=function(e){return!l(e)||!(e instanceof Vc)?!1:(q0(this),q0(e),this.width===e.width&&this.aspectRatio===e.aspectRatio&&this._offCenterFrustum.equals(e._offCenterFrustum))};Vc.prototype.equalsEpsilon=function(e,t,n){return!l(e)||!(e instanceof Vc)?!1:(q0(this),q0(e),I.equalsEpsilon(this.width,e.width,t,n)&&I.equalsEpsilon(this.aspectRatio,e.aspectRatio,t,n)&&this._offCenterFrustum.equalsEpsilon(e._offCenterFrustum,t,n))};var $t=Vc;function Hd(e){e=y(e,y.EMPTY_OBJECT),this.left=e.left,this._left=void 0,this.right=e.right,this._right=void 0,this.top=e.top,this._top=void 0,this.bottom=e.bottom,this._bottom=void 0,this.near=y(e.near,1),this._near=this.near,this.far=y(e.far,5e8),this._far=this.far,this._cullingVolume=new qs,this._perspectiveMatrix=new N,this._infinitePerspective=new N}function g8(e){let t=e.top,n=e.bottom,i=e.right,o=e.left,r=e.near,s=e.far;(t!==e._top||n!==e._bottom||o!==e._left||i!==e._right||r!==e._near||s!==e._far)&&(e._left=o,e._right=i,e._top=t,e._bottom=n,e._near=r,e._far=s,e._perspectiveMatrix=N.computePerspectiveOffCenter(o,i,n,t,r,s,e._perspectiveMatrix),e._infinitePerspective=N.computeInfinitePerspectiveOffCenter(o,i,n,t,r,e._infinitePerspective))}Object.defineProperties(Hd.prototype,{projectionMatrix:{get:function(){return g8(this),this._perspectiveMatrix}},infiniteProjectionMatrix:{get:function(){return g8(this),this._infinitePerspective}}});var cDe=new h,lDe=new h,uDe=new h,fDe=new h;Hd.prototype.computeCullingVolume=function(e,t,n){let i=this._cullingVolume.planes,o=this.top,r=this.bottom,s=this.right,a=this.left,c=this.near,u=this.far,f=h.cross(t,n,cDe),d=lDe;h.multiplyByScalar(t,c,d),h.add(e,d,d);let p=uDe;h.multiplyByScalar(t,u,p),h.add(e,p,p);let g=fDe;h.multiplyByScalar(f,a,g),h.add(d,g,g),h.subtract(g,e,g),h.normalize(g,g),h.cross(g,n,g),h.normalize(g,g);let m=i[0];return l(m)||(m=i[0]=new se),m.x=g.x,m.y=g.y,m.z=g.z,m.w=-h.dot(g,e),h.multiplyByScalar(f,s,g),h.add(d,g,g),h.subtract(g,e,g),h.cross(n,g,g),h.normalize(g,g),m=i[1],l(m)||(m=i[1]=new se),m.x=g.x,m.y=g.y,m.z=g.z,m.w=-h.dot(g,e),h.multiplyByScalar(n,r,g),h.add(d,g,g),h.subtract(g,e,g),h.cross(f,g,g),h.normalize(g,g),m=i[2],l(m)||(m=i[2]=new se),m.x=g.x,m.y=g.y,m.z=g.z,m.w=-h.dot(g,e),h.multiplyByScalar(n,o,g),h.add(d,g,g),h.subtract(g,e,g),h.cross(g,f,g),h.normalize(g,g),m=i[3],l(m)||(m=i[3]=new se),m.x=g.x,m.y=g.y,m.z=g.z,m.w=-h.dot(g,e),m=i[4],l(m)||(m=i[4]=new se),m.x=t.x,m.y=t.y,m.z=t.z,m.w=-h.dot(t,d),h.negate(t,g),m=i[5],l(m)||(m=i[5]=new se),m.x=g.x,m.y=g.y,m.z=g.z,m.w=-h.dot(g,p),this._cullingVolume};Hd.prototype.getPixelDimensions=function(e,t,n,i,o){g8(this);let r=1/this.near,s=this.top*r,a=2*i*n*s/t;s=this.right*r;let c=2*i*n*s/e;return o.x=c,o.y=a,o};Hd.prototype.clone=function(e){return l(e)||(e=new Hd),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};Hd.prototype.equals=function(e){return l(e)&&e instanceof Hd&&this.right===e.right&&this.left===e.left&&this.top===e.top&&this.bottom===e.bottom&&this.near===e.near&&this.far===e.far};Hd.prototype.equalsEpsilon=function(e,t,n){return e===this||l(e)&&e instanceof Hd&&I.equalsEpsilon(this.right,e.right,t,n)&&I.equalsEpsilon(this.left,e.left,t,n)&&I.equalsEpsilon(this.top,e.top,t,n)&&I.equalsEpsilon(this.bottom,e.bottom,t,n)&&I.equalsEpsilon(this.near,e.near,t,n)&&I.equalsEpsilon(this.far,e.far,t,n)};var kc=Hd;function Uc(e){e=y(e,y.EMPTY_OBJECT),this._offCenterFrustum=new kc,this.fov=e.fov,this._fov=void 0,this._fovy=void 0,this._sseDenominator=void 0,this.aspectRatio=e.aspectRatio,this._aspectRatio=void 0,this.near=y(e.near,1),this._near=this.near,this.far=y(e.far,5e8),this._far=this.far,this.xOffset=y(e.xOffset,0),this._xOffset=this.xOffset,this.yOffset=y(e.yOffset,0),this._yOffset=this.yOffset}Uc.packedLength=6;Uc.pack=function(e,t,n){return n=y(n,0),t[n++]=e.fov,t[n++]=e.aspectRatio,t[n++]=e.near,t[n++]=e.far,t[n++]=e.xOffset,t[n]=e.yOffset,t};Uc.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new Uc),n.fov=e[t++],n.aspectRatio=e[t++],n.near=e[t++],n.far=e[t++],n.xOffset=e[t++],n.yOffset=e[t],n};function Gd(e){let t=e._offCenterFrustum;(e.fov!==e._fov||e.aspectRatio!==e._aspectRatio||e.near!==e._near||e.far!==e._far||e.xOffset!==e._xOffset||e.yOffset!==e._yOffset)&&(e._aspectRatio=e.aspectRatio,e._fov=e.fov,e._fovy=e.aspectRatio<=1?e.fov:Math.atan(Math.tan(e.fov*.5)/e.aspectRatio)*2,e._near=e.near,e._far=e.far,e._sseDenominator=2*Math.tan(.5*e._fovy),e._xOffset=e.xOffset,e._yOffset=e.yOffset,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,t.right+=e.xOffset,t.left+=e.xOffset,t.top+=e.yOffset,t.bottom+=e.yOffset)}Object.defineProperties(Uc.prototype,{projectionMatrix:{get:function(){return Gd(this),this._offCenterFrustum.projectionMatrix}},infiniteProjectionMatrix:{get:function(){return Gd(this),this._offCenterFrustum.infiniteProjectionMatrix}},fovy:{get:function(){return Gd(this),this._fovy}},sseDenominator:{get:function(){return Gd(this),this._sseDenominator}}});Uc.prototype.computeCullingVolume=function(e,t,n){return Gd(this),this._offCenterFrustum.computeCullingVolume(e,t,n)};Uc.prototype.getPixelDimensions=function(e,t,n,i,o){return Gd(this),this._offCenterFrustum.getPixelDimensions(e,t,n,i,o)};Uc.prototype.clone=function(e){return l(e)||(e=new Uc),e.aspectRatio=this.aspectRatio,e.fov=this.fov,e.near=this.near,e.far=this.far,e._aspectRatio=void 0,e._fov=void 0,e._near=void 0,e._far=void 0,this._offCenterFrustum.clone(e._offCenterFrustum),e};Uc.prototype.equals=function(e){return!l(e)||!(e instanceof Uc)?!1:(Gd(this),Gd(e),this.fov===e.fov&&this.aspectRatio===e.aspectRatio&&this._offCenterFrustum.equals(e._offCenterFrustum))};Uc.prototype.equalsEpsilon=function(e,t,n){return!l(e)||!(e instanceof Uc)?!1:(Gd(this),Gd(e),I.equalsEpsilon(this.fov,e.fov,t,n)&&I.equalsEpsilon(this.aspectRatio,e.aspectRatio,t,n)&&this._offCenterFrustum.equalsEpsilon(e._offCenterFrustum,t,n))};var _i=Uc;var K1=0,dDe=1;function Y0(e){let t=e.frustum,n=e.orientation,i=e.origin,o=y(e.vertexFormat,ve.DEFAULT),r=y(e._drawNearPlane,!0),s,a;t instanceof _i?(s=K1,a=_i.packedLength):t instanceof $t&&(s=dDe,a=$t.packedLength),this._frustumType=s,this._frustum=t.clone(),this._origin=h.clone(i),this._orientation=Oe.clone(n),this._drawNearPlane=r,this._vertexFormat=o,this._workerName="createFrustumGeometry",this.packedLength=2+a+h.packedLength+Oe.packedLength+ve.packedLength}Y0.pack=function(e,t,n){n=y(n,0);let i=e._frustumType,o=e._frustum;return t[n++]=i,i===K1?(_i.pack(o,t,n),n+=_i.packedLength):($t.pack(o,t,n),n+=$t.packedLength),h.pack(e._origin,t,n),n+=h.packedLength,Oe.pack(e._orientation,t,n),n+=Oe.packedLength,ve.pack(e._vertexFormat,t,n),n+=ve.packedLength,t[n]=e._drawNearPlane?1:0,t};var hDe=new _i,mDe=new $t,pDe=new Oe,_De=new h,gDe=new ve;Y0.unpack=function(e,t,n){t=y(t,0);let i=e[t++],o;i===K1?(o=_i.unpack(e,t,hDe),t+=_i.packedLength):(o=$t.unpack(e,t,mDe),t+=$t.packedLength);let r=h.unpack(e,t,_De);t+=h.packedLength;let s=Oe.unpack(e,t,pDe);t+=Oe.packedLength;let a=ve.unpack(e,t,gDe);t+=ve.packedLength;let c=e[t]===1;if(!l(n))return new Y0({frustum:o,origin:r,orientation:s,vertexFormat:a,_drawNearPlane:c});let u=i===n._frustumType?n._frustum:void 0;return n._frustum=o.clone(u),n._frustumType=i,n._origin=h.clone(r,n._origin),n._orientation=Oe.clone(s,n._orientation),n._vertexFormat=ve.clone(a,n._vertexFormat),n._drawNearPlane=c,n};function Wx(e,t,n,i,o,r,s,a){let c=e/3*2;for(let u=0;u<4;++u)l(t)&&(t[e]=r.x,t[e+1]=r.y,t[e+2]=r.z),l(n)&&(n[e]=s.x,n[e+1]=s.y,n[e+2]=s.z),l(i)&&(i[e]=a.x,i[e+1]=a.y,i[e+2]=a.z),e+=3;o[c]=0,o[c+1]=0,o[c+2]=1,o[c+3]=0,o[c+4]=1,o[c+5]=1,o[c+6]=0,o[c+7]=1}var yDe=new J,CDe=new N,y8=new N,vJ=new h,DJ=new h,PJ=new h,xDe=new h,ADe=new h,TDe=new h,r_=new Array(3),Yb=new Array(4);Yb[0]=new se(-1,-1,1,1);Yb[1]=new se(1,-1,1,1);Yb[2]=new se(1,1,1,1);Yb[3]=new se(-1,1,1,1);var IJ=new Array(4);for(let e=0;e<4;++e)IJ[e]=new se;Y0._computeNearFarPlanes=function(e,t,n,i,o,r,s,a){let c=J.fromQuaternion(t,yDe),u=y(r,vJ),f=y(s,DJ),d=y(a,PJ);u=J.getColumn(c,0,u),f=J.getColumn(c,1,f),d=J.getColumn(c,2,d),h.normalize(u,u),h.normalize(f,f),h.normalize(d,d),h.negate(u,u);let p=N.computeView(e,d,f,u,CDe),g,m;if(n===K1){let C=i.projectionMatrix,x=N.multiply(C,p,y8);m=N.inverse(x,y8)}else g=N.inverseTransformation(p,y8);l(m)?(r_[0]=i.near,r_[1]=i.far):(r_[0]=0,r_[1]=i.near,r_[2]=i.far);for(let C=0;C<2;++C)for(let x=0;x<4;++x){let A=se.clone(Yb[x],IJ[x]);if(l(m)){A=N.multiplyByVector(m,A,A);let b=1/A.w;h.multiplyByScalar(A,b,A),h.subtract(A,e,A),h.normalize(A,A);let E=h.dot(d,A);h.multiplyByScalar(A,r_[C]/E,A),h.add(A,e,A)}else{l(i._offCenterFrustum)&&(i=i._offCenterFrustum);let b=r_[C],E=r_[C+1];A.x=(A.x*(i.right-i.left)+i.left+i.right)*.5,A.y=(A.y*(i.top-i.bottom)+i.bottom+i.top)*.5,A.z=(A.z*(b-E)-b-E)*.5,A.w=1,N.multiplyByVector(g,A,A)}o[12*C+x*3]=A.x,o[12*C+x*3+1]=A.y,o[12*C+x*3+2]=A.z}};Y0.createGeometry=function(e){let t=e._frustumType,n=e._frustum,i=e._origin,o=e._orientation,r=e._drawNearPlane,s=e._vertexFormat,a=r?6:5,c=new Float64Array(3*4*6);Y0._computeNearFarPlanes(i,o,t,n,c);let u=3*4*2;c[u]=c[3*4],c[u+1]=c[3*4+1],c[u+2]=c[3*4+2],c[u+3]=c[0],c[u+4]=c[1],c[u+5]=c[2],c[u+6]=c[3*3],c[u+7]=c[3*3+1],c[u+8]=c[3*3+2],c[u+9]=c[3*7],c[u+10]=c[3*7+1],c[u+11]=c[3*7+2],u+=3*4,c[u]=c[3*5],c[u+1]=c[3*5+1],c[u+2]=c[3*5+2],c[u+3]=c[3],c[u+4]=c[3+1],c[u+5]=c[3+2],c[u+6]=c[0],c[u+7]=c[1],c[u+8]=c[2],c[u+9]=c[3*4],c[u+10]=c[3*4+1],c[u+11]=c[3*4+2],u+=3*4,c[u]=c[3],c[u+1]=c[3+1],c[u+2]=c[3+2],c[u+3]=c[3*5],c[u+4]=c[3*5+1],c[u+5]=c[3*5+2],c[u+6]=c[3*6],c[u+7]=c[3*6+1],c[u+8]=c[3*6+2],c[u+9]=c[3*2],c[u+10]=c[3*2+1],c[u+11]=c[3*2+2],u+=3*4,c[u]=c[3*2],c[u+1]=c[3*2+1],c[u+2]=c[3*2+2],c[u+3]=c[3*6],c[u+4]=c[3*6+1],c[u+5]=c[3*6+2],c[u+6]=c[3*7],c[u+7]=c[3*7+1],c[u+8]=c[3*7+2],c[u+9]=c[3*3],c[u+10]=c[3*3+1],c[u+11]=c[3*3+2],r||(c=c.subarray(3*4));let f=new rn({position:new Ee({componentDatatype:Z.DOUBLE,componentsPerAttribute:3,values:c})});if(l(s.normal)||l(s.tangent)||l(s.bitangent)||l(s.st)){let p=l(s.normal)?new Float32Array(12*a):void 0,g=l(s.tangent)?new Float32Array(3*4*a):void 0,m=l(s.bitangent)?new Float32Array(3*4*a):void 0,C=l(s.st)?new Float32Array(2*4*a):void 0,x=vJ,A=DJ,b=PJ,E=h.negate(x,xDe),S=h.negate(A,ADe),v=h.negate(b,TDe);u=0,r&&(Wx(u,p,g,m,C,v,x,A),u+=3*4),Wx(u,p,g,m,C,b,E,A),u+=3*4,Wx(u,p,g,m,C,E,v,A),u+=3*4,Wx(u,p,g,m,C,S,v,E),u+=3*4,Wx(u,p,g,m,C,x,b,A),u+=3*4,Wx(u,p,g,m,C,A,b,E),l(p)&&(f.normal=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:p})),l(g)&&(f.tangent=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:g})),l(m)&&(f.bitangent=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:m})),l(C)&&(f.st=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:2,values:C}))}let d=new Uint16Array(6*a);for(let p=0;p<a;++p){let g=p*6,m=p*4;d[g]=m,d[g+1]=m+1,d[g+2]=m+2,d[g+3]=m,d[g+4]=m+2,d[g+5]=m+3}return new rt({attributes:f,indices:d,primitiveType:Ne.TRIANGLES,boundingSphere:re.fromVertices(c)})};var jx=Y0;var C8=0,EDe=1;function Xb(e){let t=e.frustum,n=e.orientation,i=e.origin,o=y(e._drawNearPlane,!0),r,s;t instanceof _i?(r=C8,s=_i.packedLength):t instanceof $t&&(r=EDe,s=$t.packedLength),this._frustumType=r,this._frustum=t.clone(),this._origin=h.clone(i),this._orientation=Oe.clone(n),this._drawNearPlane=o,this._workerName="createFrustumOutlineGeometry",this.packedLength=2+s+h.packedLength+Oe.packedLength}Xb.pack=function(e,t,n){n=y(n,0);let i=e._frustumType,o=e._frustum;return t[n++]=i,i===C8?(_i.pack(o,t,n),n+=_i.packedLength):($t.pack(o,t,n),n+=$t.packedLength),h.pack(e._origin,t,n),n+=h.packedLength,Oe.pack(e._orientation,t,n),n+=Oe.packedLength,t[n]=e._drawNearPlane?1:0,t};var bDe=new _i,SDe=new $t,wDe=new Oe,vDe=new h;Xb.unpack=function(e,t,n){t=y(t,0);let i=e[t++],o;i===C8?(o=_i.unpack(e,t,bDe),t+=_i.packedLength):(o=$t.unpack(e,t,SDe),t+=$t.packedLength);let r=h.unpack(e,t,vDe);t+=h.packedLength;let s=Oe.unpack(e,t,wDe);t+=Oe.packedLength;let a=e[t]===1;if(!l(n))return new Xb({frustum:o,origin:r,orientation:s,_drawNearPlane:a});let c=i===n._frustumType?n._frustum:void 0;return n._frustum=o.clone(c),n._frustumType=i,n._origin=h.clone(r,n._origin),n._orientation=Oe.clone(s,n._orientation),n._drawNearPlane=a,n};Xb.createGeometry=function(e){let t=e._frustumType,n=e._frustum,i=e._origin,o=e._orientation,r=e._drawNearPlane,s=new Float64Array(3*4*2);jx._computeNearFarPlanes(i,o,t,n,s);let a=new rn({position:new Ee({componentDatatype:Z.DOUBLE,componentsPerAttribute:3,values:s})}),c,u,f=r?2:1,d=new Uint16Array(8*(f+1)),p=r?0:1;for(;p<2;++p)c=r?p*8:0,u=p*4,d[c]=u,d[c+1]=u+1,d[c+2]=u+1,d[c+3]=u+2,d[c+4]=u+2,d[c+5]=u+3,d[c+6]=u+3,d[c+7]=u;for(p=0;p<2;++p)c=(f+p)*8,u=p*4,d[c]=u,d[c+1]=u+4,d[c+2]=u+1,d[c+3]=u+5,d[c+4]=u+2,d[c+5]=u+6,d[c+6]=u+3,d[c+7]=u+7;return new rt({attributes:a,indices:d,primitiveType:Ne.LINES,boundingSphere:re.fromVertices(s)})};var Z1=Xb;var DDe={SEARCH:0,AUTOCOMPLETE:1},X0=Object.freeze(DDe);function OJ(){}OJ.prototype.geocode=ye.throwInstantiationError;var RJ=OJ;function MJ(){ye.throwInstantiationError()}MJ.createGeometry=function(e){ye.throwInstantiationError()};var BJ=MJ;function PDe(e){e=y(e,y.EMPTY_OBJECT),this.componentDatatype=e.componentDatatype,this.componentsPerAttribute=e.componentsPerAttribute,this.normalize=y(e.normalize,!1),this.value=e.value}var tc=PDe;var LDe=Ri(x8(),1);function IDe(e,t){return(e&t)!==0}var nc=IDe;var ODe=[1,2,4,8],LJ=15,RDe=16,MDe=64,BDe=128;function Wd(e,t,n,i,o,r){this._bits=e,this.cnodeVersion=t,this.imageryVersion=n,this.terrainVersion=i,this.imageryProvider=o,this.terrainProvider=r,this.ancestorHasTerrain=!1,this.terrainState=void 0}Wd.clone=function(e,t){return l(t)?(t._bits=e._bits,t.cnodeVersion=e.cnodeVersion,t.imageryVersion=e.imageryVersion,t.terrainVersion=e.terrainVersion,t.imageryProvider=e.imageryProvider,t.terrainProvider=e.terrainProvider):t=new Wd(e._bits,e.cnodeVersion,e.imageryVersion,e.terrainVersion,e.imageryProvider,e.terrainProvider),t.ancestorHasTerrain=e.ancestorHasTerrain,t.terrainState=e.terrainState,t};Wd.prototype.setParent=function(e){this.ancestorHasTerrain=e.ancestorHasTerrain||this.hasTerrain()};Wd.prototype.hasSubtree=function(){return nc(this._bits,RDe)};Wd.prototype.hasImagery=function(){return nc(this._bits,MDe)};Wd.prototype.hasTerrain=function(){return nc(this._bits,BDe)};Wd.prototype.hasChildren=function(){return nc(this._bits,LJ)};Wd.prototype.hasChild=function(e){return nc(this._bits,ODe[e])};Wd.prototype.getChildBitmask=function(){return this._bits&LJ};var $1=Wd;function NDe(e){let t=e.length,n=new ArrayBuffer(t),i=new Uint8Array(n);for(let o=0;o<t;++o)i[o]=e.charCodeAt(o);return n}var FDe=NDe(`E\xF4\xBD\vy\xE2jE"\x92,\xCDq\xF8IFgQ\0B%\xC6\xE8a,f)\b\xC64\xDCjb%y
  85. wmi\xD6\xF0\x9Ck\x93\xA1\xBDNu\xE0A[\xDF@V\f\xD9\xBBr\x9B\x81|3S\xEEOl\xD4q\xB0{\xC0\x7FEVZ\xADwUe\v3\x92*\xACl5\xC50s\xF83>mF8J\xB4\xDD\xF0.\xDDu\xDA\x8CDt"\xFAa"\f3"So\xAF9D\v\x8C9\xD99L\xB9\xBF\x7F\xAB\\\x8CP_\x9F"ux\xE9\x07q\x91h;\xC1\xC4\x9B\x7F\xF0<VqH\x82'UfYNe\x98u\xA3aF}a?A\0\x9F\xD7\xB44M\xCE\x87F\xB0\xD5\xB8\x8A'{\x8B\xDC+\xBBMg0\xC8\xD1\xF6\\\x8FP\xFA[/F\x9Bn5/'C.\xEB
  86. \f^\xA5s\x1Be4\xE5l.jC'c#U\xA9?q{gC}:\xAF\xCD\xE2TU\x9C\xFDK\xC6\xE2\x9F/(\xED\xCB\\\xC6-f\x07\x88\xA7;/*"N\xB0k.\xDD\r\x95}}G\xBAC\xB2\xB2+>M\xAA>}\xE6\xCEI\x89\xC6\xE6x\fa1-\xA4O\xA5~q \x88\xEC\r1\xE8N\v\0nPh}=\b\r\x95\xA6n\xA3h\x97$[k\xF3#\xF3\xB6s\xB3\r\v@\xC0\x9F\xD8Q]\xFA".j\xDFI\0\xB9\xA0wU\xC6\xEFj\xBF{GL\x7F\x83\xEE\xDC\xDCF\x85\xA9\xADS\x07+S4\x07\xFF\x94Y\xE48\xE81\x83N\xB9XFk\xCB-#\x86\x92p\x005\x88"\xCF1\xB2&/\xE7\xC3u-6,rt\xB0#G\xB7\xD3\xD1&\x857r\xE2\0\x8CD\xCF\xDA3-\xDE\`\x86i#i*|\xCDKQ\r\x95T9w.)\xEA\x1B\xA6P\xA2j\x8FoP\x99\\>T\xFB\xEFP[\v\x07E\x89m(w7\xDB\x8EJfJo\x99 \xE5p\xE2\xB9q~\fmI-z\xFEr\xC7\xF2Y0\x8F\xBB]s\xE5\xC9 \xEAx\xEC \x90\xF0\x8A\x7FB|G\`\xB0\xBD&\xB7q\xB6\xC7\x9F\xD13\x82=\xD3\xAB\xEEc\x99\xC8+S\xA0D\\q\xC6\xCCD2O<\xCA\xC0)=R\xD3aX\xA9}e\xB4\xDC\xCF\r\xF4=\xF1\b\xA9B\xDA# \xD8\xBF^PI\xF8M\xC0\xCBGLO\xF7{+\xD8\xC51\x92;\xB5o\xDCl\r\x92\x88\xD1\x9E\xDB?\xE2\xE9\xDA_\xD4\x84\xE2FaZ\xDEU\xCF\xA4\0\xBE\xFD\xCEg\xF1Ji\x97\xE6 H\xD8]\x7F~\xAEq N\xAE\xC0V\xA9\x91<\x82r\xE7v\xEC)I\xD6]-\x83\xE3\xDB6\xA9;f\x97\x87j\xD5\xB6=P^R\xB9K\xC7sWx\xC9\xF4.Y\x07\x95\x93o\xD0KW>''\xC7\`\xDB;\xED\x9ASD>?\x8D\x92mw\xA2
  87. \xEB?R\xA8\xC6U^1I7\x85\xF4\xC5&-\xA9\xBF\x8B'T\xDA\xC3j \xE5*x\xB0\xD6\x90pr\xAA\x8Bh\xBD\x88\xF7_H\xB1~\xC0XL?f\xF9>\xE1e\xC0p\xA7\xCF8i\xAF\xF0VldI\x9C'\xADxtO\xC2\x87\xDEV9\0\xDAw\v\xCB-\x1B\x89\xFB5O\xF5\bQ\`\xC1
  88. ZGM&30x\xDA\xC0\x9CFG\xE2[y\`In7gS
  89. >\xE9\xECF9\xB2\xF14\r\xC6\x84Sun\xE1\fY\xD9\xDE)\x85{II\xA5wy\xBEIV.6\xE7\v:\xBBOb{\xD2M1\x95/\xBD8{\xA8O!\xE1\xECFpv\x95})"x\x88
  90. \x90\xDD\x9D\\\xDA\xDEQ\xCF\xF0\xFCYRe|3\xDF\xF3H\xDA\xBB*u\xDB\`\xB2\xD4\xFC\xED\x1B\xEC\x7F5\xA8\xFF(1\x07-\xC8\xDC\x88F|\x8A["`);function Cf(e){let t=e;typeof t!="string"&&!(t instanceof Ie)&&(t=e.url);let n=Ie.createIfNeeded(t);n.appendForwardSlash(),this._resource=n,this.imageryPresent=!0,this.protoImagery=void 0,this.terrainPresent=!0,this.negativeAltitudeExponentBias=32,this.negativeAltitudeThreshold=I.EPSILON12,this.providers={},this.key=void 0,this._quadPacketVersion=1,this._tileInfo={},this._subtreePromises={};let i=this;this._readyPromise=VDe(this).then(function(){return i.getQuadTreePacket("",i._quadPacketVersion)}).then(function(){return!0}).catch(function(o){let r=`An error occurred while accessing ${FJ(i,"",1).url}.`;return Promise.reject(new de(r))})}Object.defineProperties(Cf.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},resource:{get:function(){return this._resource}},readyPromise:{get:function(){return this._readyPromise}}});Cf.tileXYToQuadKey=function(e,t,n){let i="";for(let o=n;o>=0;--o){let r=1<<o,s=0;nc(t,r)?nc(e,r)&&(s|=1):(s|=2,nc(e,r)||(s|=1)),i+=s}return i};Cf.quadKeyToTileXY=function(e){let t=0,n=0,i=e.length-1;for(let o=i;o>=0;--o){let r=1<<o,s=+e[i-o];nc(s,2)?nc(s,1)||(t|=r):(n|=r,nc(s,1)&&(t|=r))}return{x:t,y:n,level:i}};Cf.prototype.isValid=function(e){let t=this.getTileInformationFromQuadKey(e);if(l(t))return t!==null;let n=!0,i=e,o;for(;i.length>1;)if(o=i.substring(i.length-1),i=i.substring(0,i.length-1),t=this.getTileInformationFromQuadKey(i),l(t)){!t.hasSubtree()&&!t.hasChild(parseInt(o))&&(n=!1);break}else if(t===null){n=!1;break}return n};var NJ=new Ti("decodeGoogleEarthEnterprisePacket");Cf.prototype.getQuadTreePacket=function(e,t,n){t=y(t,1),e=y(e,"");let o=FJ(this,e,t,n).fetchArrayBuffer();if(!l(o))return;let r=this._tileInfo,s=this.key;return o.then(function(a){return NJ.scheduleTask({buffer:a,quadKey:e,type:"Metadata",key:s},[a]).then(function(u){let f,d=-1;if(e!==""){d=e.length+1;let m=u[e];f=r[e],f._bits|=m._bits,delete u[e]}let p=Object.keys(u);p.sort(function(m,C){return m.length-C.length});let g=p.length;for(let m=0;m<g;++m){let C=p[m];if(u[C]!==null){let A=$1.clone(u[C]),b=C.length;if(b===d)A.setParent(f);else if(b>1){let E=r[C.substring(0,C.length-1)];A.setParent(E)}r[C]=A}else r[C]=null}})})};Cf.prototype.populateSubtree=function(e,t,n,i){let o=Cf.tileXYToQuadKey(e,t,n);return E8(this,o,i)};function E8(e,t,n){let i=e._tileInfo,o=t,r=i[o];if(l(r)&&(!r.hasSubtree()||r.hasChildren()))return r;for(;r===void 0&&o.length>1;)o=o.substring(0,o.length-1),r=i[o];let s,a=e._subtreePromises,c=a[o];if(l(c))return c.then(function(){return s=new jo({throttle:n.throttle,throttleByServer:n.throttleByServer,type:n.type,priorityFunction:n.priorityFunction}),E8(e,t,s)});if(!l(r)||!r.hasSubtree())return Promise.reject(new de(`Couldn't load metadata for tile ${t}`));if(c=e.getQuadTreePacket(o,r.cnodeVersion,n),!!l(c))return a[o]=c,c.then(function(){return s=new jo({throttle:n.throttle,throttleByServer:n.throttleByServer,type:n.type,priorityFunction:n.priorityFunction}),E8(e,t,s)}).finally(function(){delete a[o]})}Cf.prototype.getTileInformation=function(e,t,n){let i=Cf.tileXYToQuadKey(e,t,n);return this._tileInfo[i]};Cf.prototype.getTileInformationFromQuadKey=function(e){return this._tileInfo[e]};function FJ(e,t,n,i){return e._resource.getDerivedResource({url:`flatfile?q2-0${t}-q.${n.toString()}`,request:i})}var A8,T8;function VDe(e){let t=e._resource.getDerivedResource({url:"dbRoot.v5",queryParameters:{output:"proto"}});if(!l(T8)){let n=Zt("ThirdParty/google-earth-dbroot-parser.js"),i=window.cesiumGoogleEarthDbRootParser;T8=ZC(n).then(function(){A8=window.cesiumGoogleEarthDbRootParser(LDe),l(i)?window.cesiumGoogleEarthDbRootParser=i:delete window.cesiumGoogleEarthDbRootParser})}return T8.then(function(){return t.fetchArrayBuffer()}).then(function(n){let i=A8.EncryptedDbRootProto.decode(new Uint8Array(n)),o=i.encryptionData,r=o.byteOffset,s=r+o.byteLength,a=e.key=o.buffer.slice(r,s);o=i.dbrootData,r=o.byteOffset,s=r+o.byteLength;let c=o.buffer.slice(r,s);return NJ.scheduleTask({buffer:c,type:"DbRoot",key:a},[c])}).then(function(n){let i=A8.DbRootProto.decode(new Uint8Array(n.buffer));if(e.imageryPresent=y(i.imageryPresent,e.imageryPresent),e.protoImagery=i.protoImagery,e.terrainPresent=y(i.terrainPresent,e.terrainPresent),l(i.endSnippet)&&l(i.endSnippet.model)){let a=i.endSnippet.model;e.negativeAltitudeExponentBias=y(a.negativeAltitudeExponentBias,e.negativeAltitudeExponentBias),e.negativeAltitudeThreshold=y(a.compressedNegativeAltitudeThreshold,e.negativeAltitudeThreshold)}l(i.databaseVersion)&&(e._quadPacketVersion=y(i.databaseVersion.quadtreeVersion,e._quadPacketVersion));let o=e.providers,r=y(i.providerInfo,[]),s=r.length;for(let a=0;a<s;++a){let c=r[a],u=c.copyrightString;l(u)&&(o[c.providerId]=new jt(u.value))}}).catch(function(){console.log(`Failed to retrieve ${t.url}. Using defaults.`),e.key=FDe})}var jd=Cf;function K0(e){e=y(e,y.EMPTY_OBJECT),this._buffer=e.buffer,this._credits=e.credits,this._negativeAltitudeExponentBias=e.negativeAltitudeExponentBias,this._negativeElevationThreshold=e.negativeElevationThreshold;let t=y(e.childTileMask,15),n=t&3;n|=t&4?8:0,n|=t&8?4:0,this._childTileMask=n,this._createdByUpsampling=y(e.createdByUpsampling,!1),this._skirtHeight=void 0,this._bufferType=this._buffer.constructor,this._mesh=void 0,this._minimumHeight=void 0,this._maximumHeight=void 0}Object.defineProperties(K0.prototype,{credits:{get:function(){return this._credits}},waterMask:{get:function(){}}});var UJ="createVerticesFromGoogleEarthEnterpriseBuffer",kDe=new Ti(UJ),UDe=new Ti(UJ,Id.maximumAsynchronousTasks),VJ=new ue,b8=new ue;K0.prototype.createMesh=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.tilingScheme,n=e.x,i=e.y,o=e.level,r=y(e.exaggeration,1),s=y(e.exaggerationRelativeHeight,0),a=y(e.throttle,!0),c=t.ellipsoid;t.tileXYToNativeRectangle(n,i,o,VJ),t.tileXYToRectangle(n,i,o,b8);let u=c.cartographicToCartesian(ue.center(b8)),d=40075.16/(1<<o);this._skirtHeight=Math.min(d*8,1e3);let g=(a?UDe:kDe).scheduleTask({buffer:this._buffer,nativeRectangle:VJ,rectangle:b8,relativeToCenter:u,ellipsoid:c,skirtHeight:this._skirtHeight,exaggeration:r,exaggerationRelativeHeight:s,includeWebMercatorT:!0,negativeAltitudeExponentBias:this._negativeAltitudeExponentBias,negativeElevationThreshold:this._negativeElevationThreshold});if(!l(g))return;let m=this;return g.then(function(C){return m._mesh=new ff(u,new Float32Array(C.vertices),new Uint16Array(C.indices),C.indexCountWithoutSkirts,C.vertexCountWithoutSkirts,C.minimumHeight,C.maximumHeight,re.clone(C.boundingSphere3D),h.clone(C.occludeePointInScaledSpace),C.numberOfAttributes,pi.clone(C.orientedBoundingBox),Ka.clone(C.encoding),C.westIndicesSouthToNorth,C.southIndicesEastToWest,C.eastIndicesNorthToSouth,C.northIndicesWestToEast),m._minimumHeight=C.minimumHeight,m._maximumHeight=C.maximumHeight,m._buffer=void 0,m._mesh})};K0.prototype.interpolateHeight=function(e,t,n){let i=I.clamp((t-e.west)/e.width,0,1),o=I.clamp((n-e.south)/e.height,0,1);return l(this._mesh)?jDe(this,i,o):XDe(this,i,o,e)};var zDe=new Ti("upsampleQuantizedTerrainMesh",Id.maximumAsynchronousTasks);K0.prototype.upsample=function(e,t,n,i,o,r,s){let a=this._mesh;if(!l(this._mesh))return;let c=t*2!==o,u=n*2===r,f=e.ellipsoid,d=e.tileXYToRectangle(o,r,s),p=zDe.scheduleTask({vertices:a.vertices,indices:a.indices,indexCountWithoutSkirts:a.indexCountWithoutSkirts,vertexCountWithoutSkirts:a.vertexCountWithoutSkirts,encoding:a.encoding,minimumHeight:this._minimumHeight,maximumHeight:this._maximumHeight,isEastChild:c,isNorthChild:u,childRectangle:d,ellipsoid:f});if(!l(p))return;let g=this;return p.then(function(m){let C=new Uint16Array(m.vertices),x=Be.createTypedArray(C.length/3,m.indices),A=g._skirtHeight;return new gx({quantizedVertices:C,indices:x,minimumHeight:m.minimumHeight,maximumHeight:m.maximumHeight,boundingSphere:re.clone(m.boundingSphere),orientedBoundingBox:pi.clone(m.orientedBoundingBox),horizonOcclusionPoint:h.clone(m.horizonOcclusionPoint),westIndices:m.westIndices,southIndices:m.southIndices,eastIndices:m.eastIndices,northIndices:m.northIndices,westSkirtHeight:A,southSkirtHeight:A,eastSkirtHeight:A,northSkirtHeight:A,childTileMask:0,createdByUpsampling:!0,credits:g._credits})})};K0.prototype.isChildAvailable=function(e,t,n,i){let o=2;return n!==e*2&&++o,i!==t*2&&(o-=2),(this._childTileMask&1<<o)!==0};K0.prototype.wasCreatedByUpsampling=function(){return this._createdByUpsampling};var HDe=new G,GDe=new G,WDe=new G,zJ=new h;function jDe(e,t,n){let i=e._mesh,o=i.vertices,r=i.encoding,s=i.indices;for(let a=0,c=s.length;a<c;a+=3){let u=s[a],f=s[a+1],d=s[a+2],p=r.decodeTextureCoordinates(o,u,HDe),g=r.decodeTextureCoordinates(o,f,GDe),m=r.decodeTextureCoordinates(o,d,WDe),C=jp.computeBarycentricCoordinates(t,n,p.x,p.y,g.x,g.y,m.x,m.y,zJ);if(C.x>=-1e-15&&C.y>=-1e-15&&C.z>=-1e-15){let x=r.decodeHeight(o,u),A=r.decodeHeight(o,f),b=r.decodeHeight(o,d);return C.x*x+C.y*A+C.z*b}}}var qDe=Uint16Array.BYTES_PER_ELEMENT,kJ=Uint32Array.BYTES_PER_ELEMENT,S8=Int32Array.BYTES_PER_ELEMENT,YDe=Float32Array.BYTES_PER_ELEMENT,w8=Float64Array.BYTES_PER_ELEMENT;function XDe(e,t,n,i){let o=e._buffer,r=0,s=0,a=0;n>.5?(t>.5?(r=2,s=.5):r=3,a=.5):t>.5&&(r=1,s=.5);let c=new DataView(o),u=0;for(let v=0;v<r;++v)u+=c.getUint32(u,!0),u+=kJ;u+=kJ,u+=2*w8;let f=I.toRadians(c.getFloat64(u,!0)*180);u+=w8;let d=I.toRadians(c.getFloat64(u,!0)*180);u+=w8;let p=i.width/f/2,g=i.height/d/2,m=c.getInt32(u,!0);u+=S8;let C=c.getInt32(u,!0)*3;u+=S8,u+=S8;let x=new Array(m),A=new Array(m),b=new Array(m),E;for(E=0;E<m;++E)x[E]=s+c.getUint8(u++)*p,A[E]=a+c.getUint8(u++)*g,b[E]=c.getFloat32(u,!0)*6371010,u+=YDe;let S=new Array(C);for(E=0;E<C;++E)S[E]=c.getUint16(u,!0),u+=qDe;for(E=0;E<C;E+=3){let v=S[E],P=S[E+1],O=S[E+2],M=x[v],B=x[P],L=x[O],_=A[v],T=A[P],w=A[O],D=jp.computeBarycentricCoordinates(t,n,M,_,B,T,L,w,zJ);if(D.x>=-1e-15&&D.y>=-1e-15&&D.z>=-1e-15)return D.x*b[v]+D.y*b[P]+D.z*b[O]}}var Kb=K0;var fu={UNKNOWN:0,NONE:1,SELF:2,PARENT:3},J1=new Q;function Q1(){this._terrainCache={},this._lastTidy=Q.now()}Q1.prototype.add=function(e,t){this._terrainCache[e]={buffer:t,timestamp:Q.now()}};Q1.prototype.get=function(e){let n=this._terrainCache[e];if(l(n))return delete this._terrainCache[e],n.buffer};Q1.prototype.tidy=function(){if(Q.now(J1),Q.secondsDifference(J1,this._lastTidy)>10){let e=this._terrainCache,t=Object.keys(e),n=t.length;for(let i=0;i<n;++i){let o=t[i],r=e[o];Q.secondsDifference(J1,r.timestamp)>10&&delete e[o]}Q.clone(J1,this._lastTidy)}};function qx(e){e=y(e,y.EMPTY_OBJECT);let t;if(l(e.metadata))t=e.metadata;else{let r=Ie.createIfNeeded(e.url);t=new jd(r)}this._metadata=t,this._tilingScheme=new Hi({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,rectangle:new ue(-I.PI,-I.PI,I.PI,I.PI),ellipsoid:e.ellipsoid});let n=e.credit;typeof n=="string"&&(n=new jt(n)),this._credit=n,this._levelZeroMaximumGeometricError=40075.16,this._terrainCache=new Q1,this._terrainPromises={},this._terrainRequests={},this._errorEvent=new ge,this._ready=!1;let i=this,o;this._readyPromise=t.readyPromise.then(function(r){if(!t.terrainPresent){let s=new de(`The server ${t.url} doesn't have terrain`);return o=jn.reportError(o,i,i._errorEvent,s.message,void 0,void 0,void 0,s),Promise.reject(s)}return jn.reportSuccess(o),i._ready=r,r}).catch(function(r){return o=jn.reportError(o,i,i._errorEvent,r.message,void 0,void 0,void 0,r),Promise.reject(r)})}Object.defineProperties(qx.prototype,{url:{get:function(){return this._metadata.url}},proxy:{get:function(){return this._metadata.proxy}},tilingScheme:{get:function(){return this._tilingScheme}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}},credit:{get:function(){return this._credit}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){}}});var KDe=new Ti("decodeGoogleEarthEnterprisePacket");function HJ(e,t,n){let i=t.getChildBitmask();if(t.terrainState===fu.PARENT){i=0;for(let o=0;o<4;++o){let r=n.getTileInformationFromQuadKey(e+o.toString());l(r)&&r.hasTerrain()&&(i|=1<<o)}}return i}qx.prototype.requestTileGeometry=function(e,t,n,i){let o=jd.tileXYToQuadKey(e,t,n),r=this._terrainCache,s=this._metadata,a=s.getTileInformationFromQuadKey(o);if(!l(a))return Promise.reject(new de("Terrain tile doesn't exist"));let c=a.terrainState;l(c)||(c=a.terrainState=fu.UNKNOWN);let u=r.get(o);if(l(u)){let A=s.providers[a.terrainProvider];return Promise.resolve(new Kb({buffer:u,childTileMask:HJ(o,a,s),credits:l(A)?[A]:void 0,negativeAltitudeExponentBias:s.negativeAltitudeExponentBias,negativeElevationThreshold:s.negativeAltitudeThreshold}))}if(r.tidy(),a.ancestorHasTerrain){if(c===fu.NONE)return Promise.reject(new de("Terrain tile doesn't exist"))}else return Promise.resolve(new ma({buffer:new Uint8Array(16*16),width:16,height:16}));let f,d=o,p=-1;switch(c){case fu.SELF:p=a.terrainVersion;break;case fu.PARENT:d=d.substring(0,d.length-1),f=s.getTileInformationFromQuadKey(d),p=f.terrainVersion;break;case fu.UNKNOWN:a.hasTerrain()?p=a.terrainVersion:(d=d.substring(0,d.length-1),f=s.getTileInformationFromQuadKey(d),l(f)&&f.hasTerrain()&&(p=f.terrainVersion));break}if(p<0)return Promise.reject(new de("Terrain tile doesn't exist"));let g=this._terrainPromises,m=this._terrainRequests,C,x;if(l(g[d]))C=g[d],x=m[d];else{x=i;let A=ZDe(this,d,p,x).fetchArrayBuffer();if(!l(A))return;C=A.then(function(b){return l(b)?KDe.scheduleTask({buffer:b,type:"Terrain",key:s.key},[b]).then(function(E){let S=s.getTileInformationFromQuadKey(d);S.terrainState=fu.SELF,r.add(d,E[0]);let v=S.terrainProvider,P=E.length-1;for(let O=0;O<P;++O){let M=d+O.toString(),B=s.getTileInformationFromQuadKey(M);l(B)&&(r.add(M,E[O+1]),B.terrainState=fu.PARENT,B.terrainProvider===0&&(B.terrainProvider=v))}}):Promise.reject(new de("Failed to load terrain."))}),g[d]=C,m[d]=x,C=C.finally(function(){delete g[d],delete m[d]})}return C.then(function(){let A=r.get(o);if(l(A)){let b=s.providers[a.terrainProvider];return new Kb({buffer:A,childTileMask:HJ(o,a,s),credits:l(b)?[b]:void 0,negativeAltitudeExponentBias:s.negativeAltitudeExponentBias,negativeElevationThreshold:s.negativeAltitudeThreshold})}return Promise.reject(new de("Failed to load terrain."))}).catch(function(A){return x.state===ai.CANCELLED?(i.state=x.state,Promise.reject(A)):(a.terrainState=fu.NONE,Promise.reject(A))})};qx.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)};qx.prototype.getTileDataAvailable=function(e,t,n){let i=this._metadata,o=jd.tileXYToQuadKey(e,t,n),r=i.getTileInformation(e,t,n);if(r===null)return!1;if(l(r)){if(!r.ancestorHasTerrain)return!0;let s=r.terrainState;if(s===fu.NONE)return!1;if((!l(s)||s===fu.UNKNOWN)&&(r.terrainState=fu.UNKNOWN,!r.hasTerrain())){o=o.substring(0,o.length-1);let a=i.getTileInformationFromQuadKey(o);if(!l(a)||!a.hasTerrain())return!1}return!0}if(i.isValid(o)){let s=new jo({throttle:!1,throttleByServer:!0,type:Kr.TERRAIN});i.populateSubtree(e,t,n,s)}return!1};qx.prototype.loadTileDataAvailability=function(e,t,n){};function ZDe(e,t,n,i){return n=l(n)&&n>0?n:1,e._metadata.resource.getDerivedResource({url:`flatfile?f1c-0${t}-t.${n.toString()}`,request:i})}var GJ=qx;var B8=[xi,Vi],$De=B8.length,lQ=Math.cos(I.toRadians(30)),WJ=Math.cos(I.toRadians(150)),uQ=0,fQ=1e3;function a_(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions;this.width=y(e.width,1),this._positions=t,this.granularity=y(e.granularity,9999),this.loop=y(e.loop,!1),this.arcType=y(e.arcType,qt.GEODESIC),this._ellipsoid=oe.WGS84,this._projectionIndex=0,this._workerName="createGroundPolylineGeometry",this._scene3DOnly=!1}Object.defineProperties(a_.prototype,{packedLength:{get:function(){return 1+this._positions.length*3+1+1+1+oe.packedLength+1+1}}});a_.setProjectionAndEllipsoid=function(e,t){let n=0;for(let i=0;i<$De;i++)if(t instanceof B8[i]){n=i;break}e._projectionIndex=n,e._ellipsoid=t.ellipsoid};var JDe=new h,jJ=new h,qJ=new h;function M8(e,t,n,i,o){let r=ic(i,e,0,JDe),s=ic(i,e,n,jJ),a=ic(i,t,0,qJ),c=_m(s,r,jJ),u=_m(a,r,qJ);return h.cross(u,c,o),h.normalize(o,o)}var QDe=new he,ePe=new h,tPe=new h,nPe=new h;function v8(e,t,n,i,o,r,s,a,c,u,f){if(o===0)return;let d;r===qt.GEODESIC?d=new _f(e,t,s):r===qt.RHUMB&&(d=new _a(e,t,s));let p=d.surfaceDistance;if(p<o)return;let g=M8(e,t,i,s,nPe),m=Math.ceil(p/o),C=p/m,x=C,A=m-1,b=a.length;for(let E=0;E<A;E++){let S=d.interpolateUsingSurfaceDistance(x,QDe),v=ic(s,S,n,ePe),P=ic(s,S,i,tPe);h.pack(g,a,b),h.pack(v,c,b),h.pack(P,u,b),f.push(S.latitude),f.push(S.longitude),b+=3,x+=C}}var D8=new he;function ic(e,t,n,i){return he.clone(t,D8),D8.height=n,he.toCartesian(D8,e,i)}a_.pack=function(e,t,n){let i=y(n,0),o=e._positions,r=o.length;t[i++]=r;for(let s=0;s<r;++s){let a=o[s];h.pack(a,t,i),i+=3}return t[i++]=e.granularity,t[i++]=e.loop?1:0,t[i++]=e.arcType,oe.pack(e._ellipsoid,t,i),i+=oe.packedLength,t[i++]=e._projectionIndex,t[i++]=e._scene3DOnly?1:0,t};a_.unpack=function(e,t,n){let i=y(t,0),o=e[i++],r=new Array(o);for(let p=0;p<o;p++)r[p]=h.unpack(e,i),i+=3;let s=e[i++],a=e[i++]===1,c=e[i++],u=oe.unpack(e,i);i+=oe.packedLength;let f=e[i++],d=e[i++]===1;return l(n)||(n=new a_({positions:r})),n._positions=r,n.granularity=s,n.loop=a,n.arcType=c,n._ellipsoid=u,n._projectionIndex=f,n._scene3DOnly=d,n};function _m(e,t,n){return h.subtract(e,t,n),h.normalize(n,n),n}function YJ(e,t,n,i){return i=_m(e,t,i),i=h.cross(i,n,i),i=h.normalize(i,i),i=h.cross(n,i,i),i}var iPe=new h,oPe=new h,rPe=new h,dQ=new h,sPe=0,aPe=-1;function P8(e,t,n,i,o){let r=_m(n,t,dQ),s=YJ(e,t,r,iPe),a=YJ(i,t,r,oPe);if(I.equalsEpsilon(h.dot(s,a),aPe,I.EPSILON5))return o=h.cross(r,s,o),o=h.normalize(o,o),o;o=h.add(a,s,o),o=h.normalize(o,o);let c=h.cross(r,o,rPe);return h.dot(a,c)<sPe&&(o=h.negate(o,o)),o}var iI=en.fromPointNormal(h.ZERO,h.UNIT_Y),cPe=new h,lPe=new h,uPe=new h,fPe=new h,dPe=new h,eI=new h,tI=new he,XJ=new he,KJ=new he;a_.createGeometry=function(e){let t=!e._scene3DOnly,n=e.loop,i=e._ellipsoid,o=e.granularity,r=e.arcType,s=new B8[e._projectionIndex](i),a=uQ,c=fQ,u,f,d=e._positions,p=d.length;p===2&&(n=!1);let g,m,C,x,A=new _a(void 0,void 0,i),b,E,S,v=[d[0]];for(f=0;f<p-1;f++)g=d[f],m=d[f+1],b=Gi.lineSegmentPlane(g,m,iI,eI),l(b)&&!h.equalsEpsilon(b,g,I.EPSILON7)&&!h.equalsEpsilon(b,m,I.EPSILON7)&&(e.arcType===qt.GEODESIC?v.push(h.clone(b)):e.arcType===qt.RHUMB&&(S=i.cartesianToCartographic(b,tI).longitude,C=i.cartesianToCartographic(g,tI),x=i.cartesianToCartographic(m,XJ),A.setEndPoints(C,x),E=A.findIntersectionWithLongitude(S,KJ),b=i.cartographicToCartesian(E,eI),l(b)&&!h.equalsEpsilon(b,g,I.EPSILON7)&&!h.equalsEpsilon(b,m,I.EPSILON7)&&v.push(h.clone(b)))),v.push(m);n&&(g=d[p-1],m=d[0],b=Gi.lineSegmentPlane(g,m,iI,eI),l(b)&&!h.equalsEpsilon(b,g,I.EPSILON7)&&!h.equalsEpsilon(b,m,I.EPSILON7)&&(e.arcType===qt.GEODESIC?v.push(h.clone(b)):e.arcType===qt.RHUMB&&(S=i.cartesianToCartographic(b,tI).longitude,C=i.cartesianToCartographic(g,tI),x=i.cartesianToCartographic(m,XJ),A.setEndPoints(C,x),E=A.findIntersectionWithLongitude(S,KJ),b=i.cartographicToCartesian(E,eI),l(b)&&!h.equalsEpsilon(b,g,I.EPSILON7)&&!h.equalsEpsilon(b,m,I.EPSILON7)&&v.push(h.clone(b)))));let P=v.length,O=new Array(P);for(f=0;f<P;f++){let q=he.fromCartesian(v[f],i);q.height=0,O[f]=q}if(O=Co(O,he.equalsEpsilon),P=O.length,P<2)return;let M=[],B=[],L=[],_=[],T=cPe,w=lPe,D=uPe,R=fPe,F=dPe,z=O[0],k=O[1],H=O[P-1];for(T=ic(i,H,a,T),R=ic(i,k,a,R),w=ic(i,z,a,w),D=ic(i,z,c,D),n?F=P8(T,w,D,R,F):F=M8(z,k,c,i,F),h.pack(F,B,0),h.pack(w,L,0),h.pack(D,_,0),M.push(z.latitude),M.push(z.longitude),v8(z,k,a,c,o,r,i,B,L,_,M),f=1;f<P-1;++f){T=h.clone(w,T),w=h.clone(R,w);let q=O[f];ic(i,q,c,D),ic(i,O[f+1],a,R),P8(T,w,D,R,F),u=B.length,h.pack(F,B,u),h.pack(w,L,u),h.pack(D,_,u),M.push(q.latitude),M.push(q.longitude),v8(O[f],O[f+1],a,c,o,r,i,B,L,_,M)}let V=O[P-1],Y=O[P-2];if(w=ic(i,V,a,w),D=ic(i,V,c,D),n){let q=O[0];T=ic(i,Y,a,T),R=ic(i,q,a,R),F=P8(T,w,D,R,F)}else F=M8(Y,V,c,i,F);if(u=B.length,h.pack(F,B,u),h.pack(w,L,u),h.pack(D,_,u),M.push(V.latitude),M.push(V.longitude),n){for(v8(V,z,a,c,o,r,i,B,L,_,M),u=B.length,f=0;f<3;++f)B[u+f]=B[f],L[u+f]=L[f],_[u+f]=_[f];M.push(z.latitude),M.push(z.longitude)}return VPe(n,s,L,_,B,M,t)};var hPe=new h,mPe=new J,pPe=new Oe;function ZJ(e,t,n,i){let o=_m(n,t,hPe),r=h.dot(o,e);if(r>lQ||r<WJ){let s=_m(i,n,dQ),a=r<WJ?I.PI_OVER_TWO:-I.PI_OVER_TWO,c=Oe.fromAxisAngle(s,a,pPe),u=J.fromQuaternion(c,mPe);return J.multiplyByVector(u,e,e),!0}return!1}var $J=new he,_Pe=new h,JJ=new h;function Zb(e,t,n,i,o){let r=he.toCartesian(t,e._ellipsoid,_Pe),s=h.add(r,n,JJ),a=!1,c=e._ellipsoid,u=c.cartesianToCartographic(s,$J);Math.abs(t.longitude-u.longitude)>I.PI_OVER_TWO&&(a=!0,s=h.subtract(r,n,JJ),u=c.cartesianToCartographic(s,$J)),u.height=0;let f=e.project(u,o);return o=h.subtract(f,i,o),o.z=0,o=h.normalize(o,o),a&&h.negate(o,o),o}var gPe=new h,QJ=new h;function eQ(e,t,n,i,o,r){let s=h.subtract(t,e,gPe);h.normalize(s,s);let a=n-uQ,c=h.multiplyByScalar(s,a,QJ);h.add(e,c,o);let u=i-fQ;c=h.multiplyByScalar(s,u,QJ),h.add(t,c,r)}var yPe=new h;function nI(e,t){let n=en.getPointDistance(iI,e),i=en.getPointDistance(iI,t),o=yPe;I.equalsEpsilon(n,0,I.EPSILON2)?(o=_m(t,e,o),h.multiplyByScalar(o,I.EPSILON2,o),h.add(e,o,e)):I.equalsEpsilon(i,0,I.EPSILON2)&&(o=_m(e,t,o),h.multiplyByScalar(o,I.EPSILON2,o),h.add(t,o,t))}function CPe(e,t){let n=Math.abs(e.longitude),i=Math.abs(t.longitude);if(I.equalsEpsilon(n,I.PI,I.EPSILON11)){let o=I.sign(t.longitude);return e.longitude=o*(n-I.EPSILON11),1}else if(I.equalsEpsilon(i,I.PI,I.EPSILON11)){let o=I.sign(e.longitude);return t.longitude=o*(i-I.EPSILON11),2}return 0}var hQ=new he,mQ=new he,tQ=new h,I8=new h,nQ=new h,iQ=new h,xPe=new h,oQ=new h,APe=[hQ,mQ],TPe=new ue,EPe=new h,bPe=new h,SPe=new h,wPe=new h,vPe=new h,DPe=new h,O8=new h,R8=new h,PPe=new h,IPe=new h,OPe=new h,rQ=new h,RPe=new h,MPe=new h,BPe=new Un,LPe=new Un,sQ=new h,NPe=new h,aQ=new h,FPe=[new re,new re],pQ=[0,2,1,0,3,2,0,7,3,0,4,7,0,5,4,0,1,5,5,7,4,5,6,7,5,2,6,5,1,2,3,6,2,3,7,6],cQ=pQ.length;function VPe(e,t,n,i,o,r,s){let a,c,u=t._ellipsoid,f=n.length/3-1,d=f*8,p=d*4,g=f*36,m=d>65535?new Uint32Array(g):new Uint16Array(g),C=new Float64Array(d*3),x=new Float32Array(p),A=new Float32Array(p),b=new Float32Array(p),E=new Float32Array(p),S=new Float32Array(p),v,P,O,M;s&&(v=new Float32Array(p),P=new Float32Array(p),O=new Float32Array(p),M=new Float32Array(d*2));let B=r.length/2,L=0,_=hQ;_.height=0;let T=mQ;T.height=0;let w=tQ,D=I8;if(s)for(c=0,a=1;a<B;a++)_.latitude=r[c],_.longitude=r[c+1],T.latitude=r[c+2],T.longitude=r[c+3],w=t.project(_,w),D=t.project(T,D),L+=h.distance(w,D),c+=2;let R=i.length/3;D=h.unpack(i,0,D);let F=0;for(c=3,a=1;a<R;a++)w=h.clone(D,w),D=h.unpack(i,c,D),F+=h.distance(w,D),c+=3;let z;c=3;let k=0,H=0,V=0,Y=0,q=!1,X=h.unpack(n,0,iQ),W=h.unpack(i,0,I8),K=h.unpack(o,0,oQ);if(e){let we=h.unpack(n,n.length-6,nQ);ZJ(K,we,X,W)&&(K=h.negate(K,K))}let $=0,le=0,me=0;for(a=0;a<f;a++){let we=h.clone(X,nQ),Re=h.clone(W,tQ),Ue=h.clone(K,xPe);q&&(Ue=h.negate(Ue,Ue)),X=h.unpack(n,c,iQ),W=h.unpack(i,c,I8),K=h.unpack(o,c,oQ),q=ZJ(K,we,X,W),_.latitude=r[k],_.longitude=r[k+1],T.latitude=r[k+2],T.longitude=r[k+3];let bt,Ut,sn,dt;if(s){let Pi=CPe(_,T);bt=t.project(_,vPe),Ut=t.project(T,DPe);let Er=_m(Ut,bt,sQ);Er.y=Math.abs(Er.y),sn=O8,dt=R8,Pi===0||h.dot(Er,h.UNIT_Y)>lQ?(sn=Zb(t,_,Ue,bt,O8),dt=Zb(t,T,K,Ut,R8)):Pi===1?(dt=Zb(t,T,K,Ut,R8),sn.x=0,sn.y=I.sign(_.longitude-Math.abs(T.longitude)),sn.z=0):(sn=Zb(t,_,Ue,bt,O8),dt.x=0,dt.y=I.sign(_.longitude-T.longitude),dt.z=0)}let vn=h.distance(Re,W),Jn=Un.fromCartesian(we,BPe),ot=h.subtract(X,we,PPe),zt=h.normalize(ot,rQ),qn=h.subtract(Re,we,IPe);qn=h.normalize(qn,qn);let Se=h.cross(zt,qn,rQ);Se=h.normalize(Se,Se);let _t=h.cross(qn,Ue,RPe);_t=h.normalize(_t,_t);let Vt=h.subtract(W,X,OPe);Vt=h.normalize(Vt,Vt);let hi=h.cross(K,Vt,MPe);hi=h.normalize(hi,hi);let Ni=vn/F,Mo=$/F,wo=0,co,mi,Me,$e=0,Ke=0;if(s){wo=h.distance(bt,Ut),co=Un.fromCartesian(bt,LPe),mi=h.subtract(Ut,bt,sQ),Me=h.normalize(mi,NPe);let Pi=Me.x;Me.x=Me.y,Me.y=-Pi,$e=wo/L,Ke=le/L}for(z=0;z<8;z++){let Pi=Y+z*4,Er=H+z*2,qr=Pi+3,Yr=z<4?1:-1,Ii=z===2||z===3||z===6||z===7?1:-1;h.pack(Jn.high,x,Pi),x[qr]=ot.x,h.pack(Jn.low,A,Pi),A[qr]=ot.y,h.pack(_t,b,Pi),b[qr]=ot.z,h.pack(hi,E,Pi),E[qr]=Ni*Yr,h.pack(Se,S,Pi);let br=Mo*Ii;br===0&&Ii<0&&(br=9),S[qr]=br,s&&(v[Pi]=co.high.x,v[Pi+1]=co.high.y,v[Pi+2]=co.low.x,v[Pi+3]=co.low.y,O[Pi]=-sn.y,O[Pi+1]=sn.x,O[Pi+2]=dt.y,O[Pi+3]=-dt.x,P[Pi]=mi.x,P[Pi+1]=mi.y,P[Pi+2]=Me.x,P[Pi+3]=Me.y,M[Er]=$e*Yr,br=Ke*Ii,br===0&&Ii<0&&(br=9),M[Er+1]=br)}let We=SPe,Qe=wPe,wt=EPe,Cn=bPe,yo=ue.fromCartographicArray(APe,TPe),vo=si.getMinimumMaximumHeights(yo,u),os=vo.minimumTerrainHeight,Us=vo.maximumTerrainHeight;me+=os,me+=Us,eQ(we,Re,os,Us,We,wt),eQ(X,W,os,Us,Qe,Cn);let Fr=h.multiplyByScalar(Se,I.EPSILON5,aQ);h.add(We,Fr,We),h.add(Qe,Fr,Qe),h.add(wt,Fr,wt),h.add(Cn,Fr,Cn),nI(We,Qe),nI(wt,Cn),h.pack(We,C,V),h.pack(Qe,C,V+3),h.pack(Cn,C,V+6),h.pack(wt,C,V+9),Fr=h.multiplyByScalar(Se,-2*I.EPSILON5,aQ),h.add(We,Fr,We),h.add(Qe,Fr,Qe),h.add(wt,Fr,wt),h.add(Cn,Fr,Cn),nI(We,Qe),nI(wt,Cn),h.pack(We,C,V+12),h.pack(Qe,C,V+15),h.pack(Cn,C,V+18),h.pack(wt,C,V+21),k+=2,c+=3,H+=16,V+=24,Y+=32,$+=vn,le+=wo}c=0;let ie=0;for(a=0;a<f;a++){for(z=0;z<cQ;z++)m[c+z]=pQ[z]+ie;ie+=8,c+=cQ}let ce=FPe;re.fromVertices(n,h.ZERO,3,ce[0]),re.fromVertices(i,h.ZERO,3,ce[1]);let pe=re.fromBoundingSpheres(ce);pe.radius+=me/(f*2);let Ae={position:new Ee({componentDatatype:Z.DOUBLE,componentsPerAttribute:3,normalize:!1,values:C}),startHiAndForwardOffsetX:s_(x),startLoAndForwardOffsetY:s_(A),startNormalAndForwardOffsetZ:s_(b),endNormalAndTextureCoordinateNormalizationX:s_(E),rightNormalAndTextureCoordinateNormalizationY:s_(S)};return s&&(Ae.startHiLo2D=s_(v),Ae.offsetAndRight2D=s_(P),Ae.startEndNormals2D=s_(O),Ae.texcoordNormalization2D=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:2,normalize:!1,values:M})),new rt({attributes:Ae,indices:m,boundingSphere:pe})}function s_(e){return new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:4,normalize:!1,values:e})}a_._projectNormal=Zb;var Yx=a_;function L8(e,t,n){this.heading=y(e,0),this.pitch=y(t,0),this.range=y(n,0)}L8.clone=function(e,t){if(!!l(e))return l(t)||(t=new L8),t.heading=e.heading,t.pitch=e.pitch,t.range=e.range,t};var du=L8;var kPe=I.factorial;function N8(e,t,n,i,o,r){let s=0,a,c,u;if(i>0){for(c=0;c<o;c++){for(a=!1,u=0;u<r.length&&!a;u++)c===r[u]&&(a=!0);a||(r.push(c),s+=N8(e,t,n,i-1,o,r),r.splice(r.length-1,1))}return s}for(s=1,c=0;c<o;c++){for(a=!1,u=0;u<r.length&&!a;u++)c===r[u]&&(a=!0);a||(s*=e-n[t[c]])}return s}var oI={type:"Hermite"};oI.getRequiredDataPoints=function(e,t){return t=y(t,0),Math.max(Math.floor((e+1)/(t+1)),2)};oI.interpolateOrderZero=function(e,t,n,i,o){l(o)||(o=new Array(i));let r,s,a,c,u,f,d=t.length,p=new Array(i);for(r=0;r<i;r++){o[r]=0;let x=new Array(d);for(p[r]=x,s=0;s<d;s++)x[s]=[]}let g=d,m=new Array(g);for(r=0;r<g;r++)m[r]=r;let C=d-1;for(c=0;c<i;c++){for(s=0;s<g;s++)f=m[s]*i+c,p[c][0].push(n[f]);for(r=1;r<g;r++){let x=!1;for(s=0;s<g-r;s++){let A=t[m[s]],b=t[m[s+r]],E;b-A<=0?(f=m[s]*i+i*r+c,E=n[f],p[c][r].push(E/kPe(r))):(E=p[c][r-1][s+1]-p[c][r-1][s],p[c][r].push(E/(b-A))),x=x||E!==0}x||(C=r-1)}}for(a=0,u=0;a<=u;a++)for(r=a;r<=C;r++){let x=N8(e,m,t,a,r,[]);for(c=0;c<i;c++){let A=p[c][r][0];o[c+a*i]+=A*x}}return o};var UPe=[];oI.interpolate=function(e,t,n,i,o,r,s){let a=i*(r+1);l(s)||(s=new Array(a));for(let A=0;A<a;A++)s[A]=0;let c=t.length,u=new Array(c*(o+1)),f;for(f=0;f<c;f++)for(let A=0;A<o+1;A++)u[f*(o+1)+A]=f;let d=u.length,p=UPe,g=zPe(p,u,t,n,i,o),m=[],C=d*(d+1)/2,x=Math.min(g,r);for(let A=0;A<=x;A++)for(f=A;f<=g;f++){m.length=0;let b=N8(e,u,t,A,f,m),E=Math.floor(f*(1-f)/2)+d*f;for(let S=0;S<i;S++){let v=Math.floor(S*C),P=p[v+E];s[S+A*i]+=P*b}}return s};function zPe(e,t,n,i,o,r){let s,a,c=-1,u=t.length,f=u*(u+1)/2;for(let d=0;d<o;d++){let p=Math.floor(d*f);for(s=0;s<u;s++)a=t[s]*o*(r+1)+d,e[p+s]=i[a];for(let g=1;g<u;g++){let m=0,C=Math.floor(g*(1-g)/2)+u*g,x=!1;for(s=0;s<u-g;s++){let A=n[t[s]],b=n[t[s+g]],E,S;if(b-A<=0)a=t[s]*o*(r+1)+o*g+d,E=i[a],S=E/I.factorial(g),e[p+C+m]=S,m++;else{let v=Math.floor((g-1)*(2-g)/2)+u*(g-1);E=e[p+v+s+1]-e[p+v+s],S=E/(b-A),e[p+C+m]=S,m++}x=x||E!==0}x&&(c=Math.max(c,g))}}return c}var rI=oI;var F8={};F8.encode2D=function(e,t,n){let i=Math.pow(2,e),o={x:t,y:n},r,s,a,c=BigInt(0);for(a=i/2;a>0;a/=2)r=(o.x&a)>0?1:0,s=(o.y&a)>0?1:0,c+=BigInt((3*r^s)*a*a),_Q(i,o,r,s);return c};F8.decode2D=function(e,t){let n=Math.pow(2,e),i={x:0,y:0},o,r,s,a;for(s=1,a=t;s<n;s*=2)o=1&Number(a/BigInt(2)),r=1&Number(a^BigInt(o)),_Q(s,i,o,r),i.x+=s*o,i.y+=s*r,a/=BigInt(4);return[i.x,i.y]};function _Q(e,t,n,i){if(i!==0)return;n===1&&(t.x=e-1-t.x,t.y=e-1-t.y);let o=t.x;t.x=t.y,t.y=o}var $b=F8;function HPe(e,t,n,i){this.rightAscension=e,this.declination=t,this.rotation=n,this.rotationRate=i}var sI=HPe;var IQ={},GPe=32.184,WPe=2451545,gQ=-.0529921,yQ=-.1059842,CQ=13.0120009,xQ=13.3407154,AQ=.9856003,TQ=26.4057084,EQ=13.064993,bQ=.3287146,SQ=1.7484877,wQ=-.1589763,vQ=.0036096,DQ=.1643573,PQ=12.9590088,V8=new Q;IQ.ComputeMoon=function(e,t){l(e)||(e=Q.now()),V8=Q.addSeconds(e,GPe,V8);let n=Q.totalDays(V8)-WPe,i=n/Yn.DAYS_PER_JULIAN_CENTURY,o=(125.045+gQ*n)*I.RADIANS_PER_DEGREE,r=(250.089+yQ*n)*I.RADIANS_PER_DEGREE,s=(260.008+CQ*n)*I.RADIANS_PER_DEGREE,a=(176.625+xQ*n)*I.RADIANS_PER_DEGREE,c=(357.529+AQ*n)*I.RADIANS_PER_DEGREE,u=(311.589+TQ*n)*I.RADIANS_PER_DEGREE,f=(134.963+EQ*n)*I.RADIANS_PER_DEGREE,d=(276.617+bQ*n)*I.RADIANS_PER_DEGREE,p=(34.226+SQ*n)*I.RADIANS_PER_DEGREE,g=(15.134+wQ*n)*I.RADIANS_PER_DEGREE,m=(119.743+vQ*n)*I.RADIANS_PER_DEGREE,C=(239.961+DQ*n)*I.RADIANS_PER_DEGREE,x=(25.053+PQ*n)*I.RADIANS_PER_DEGREE,A=Math.sin(o),b=Math.sin(r),E=Math.sin(s),S=Math.sin(a),v=Math.sin(c),P=Math.sin(u),O=Math.sin(f),M=Math.sin(d),B=Math.sin(p),L=Math.sin(g),_=Math.sin(m),T=Math.sin(C),w=Math.sin(x),D=Math.cos(o),R=Math.cos(r),F=Math.cos(s),z=Math.cos(a),k=Math.cos(c),H=Math.cos(u),V=Math.cos(f),Y=Math.cos(d),q=Math.cos(p),X=Math.cos(g),W=Math.cos(m),K=Math.cos(C),$=Math.cos(x),le=(269.9949+.0031*i-3.8787*A-.1204*b+.07*E-.0172*S+.0072*P-.0052*L+.0043*w)*I.RADIANS_PER_DEGREE,me=(66.5392+.013*i+1.5419*D+.0239*R-.0278*F+.0068*z-.0029*H+9e-4*V+8e-4*X-9e-4*$)*I.RADIANS_PER_DEGREE,ie=(38.3213+13.17635815*n-14e-13*n*n+3.561*A+.1208*b-.0642*E+.0158*S+.0252*v-.0066*P-.0047*O-.0046*M+.0028*B+.0052*L+.004*_+.0019*T-.0044*w)*I.RADIANS_PER_DEGREE,ce=(13.17635815-14e-13*(2*n)+3.561*D*gQ+.1208*R*yQ-.0642*F*CQ+.0158*z*xQ+.0252*k*AQ-.0066*H*TQ-.0047*V*EQ-.0046*Y*bQ+.0028*q*SQ+.0052*X*wQ+.004*W*vQ+.0019*K*DQ-.0044*$*PQ)/86400*I.RADIANS_PER_DEGREE;return l(t)||(t=new sI),t.rightAscension=le,t.declination=me,t.rotation=ie,t.rotationRate=ce,t};var aI=IQ;function OQ(e){(!l(e)||typeof e!="function")&&(e=aI.ComputeMoon),this._computeFunction=e}var jPe=new h,qPe=new h,YPe=new h;function XPe(e,t,n){let i=jPe;i.x=Math.cos(e+I.PI_OVER_TWO),i.y=Math.sin(e+I.PI_OVER_TWO),i.z=0;let o=Math.cos(t),r=YPe;r.x=o*Math.cos(e),r.y=o*Math.sin(e),r.z=Math.sin(t);let s=h.cross(r,i,qPe);return l(n)||(n=new J),n[0]=i.x,n[1]=s.x,n[2]=r.x,n[3]=i.y,n[4]=s.y,n[5]=r.y,n[6]=i.z,n[7]=s.z,n[8]=r.z,n}var KPe=new J,ZPe=new Oe;OQ.prototype.evaluate=function(e,t){l(e)||(e=Q.now());let n=this._computeFunction(e),i=XPe(n.rightAscension,n.declination,t),o=I.zeroToTwoPi(n.rotation),r=Oe.fromAxisAngle(h.UNIT_Z,o,ZPe),s=J.fromQuaternion(Oe.conjugate(r,r),KPe);return J.multiply(s,i,i)};var cI=OQ;var Jb={};Jb.type=void 0;Jb.getRequiredDataPoints=ye.throwInstantiationError;Jb.interpolateOrderZero=ye.throwInstantiationError;Jb.interpolate=ye.throwInstantiationError;var RQ=Jb;var $Pe={STEP:0,LINEAR:1,CUBICSPLINE:2},qd=Object.freeze($Pe);var k8,MQ="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJjYjNlMTg5Zi1hMzc2LTRmZjktOGEwZC00NGEzNTM0MTAzZGUiLCJpZCI6MjU5LCJpYXQiOjE1MTgxOTE2NTV9.qaP8-_Ej6AihGnv5iB990Hm6lHr8F_rrC3_EPxdT6MQ",lI={};lI.defaultAccessToken=MQ;lI.defaultServer=new Ie({url:"https://api.cesium.com/"});lI.getDefaultTokenCredit=function(e){if(e===MQ){if(!l(k8)){let t=`<b> This application is using Cesium's default ion access token. Please assign <i>Cesium.Ion.defaultAccessToken</i> with an access token from your ion account before making any Cesium API calls. You can sign up for a free ion account at <a href="https://cesium.com">https://cesium.com</a>.</b>`;k8=new jt(t,!0)}return k8}};var Yd=lI;function U8(e){this._url=Ie.createIfNeeded(e),this._url.appendForwardSlash()}Object.defineProperties(U8.prototype,{url:{get:function(){return this._url}}});U8.prototype.geocode=function(e,t){return this._url.getDerivedResource({url:t===X0.AUTOCOMPLETE?"autocomplete":"search",queryParameters:{text:e}}).fetchJson().then(function(i){return i.features.map(function(o){let r,s=o.bbox;if(l(s))r=ue.fromDegrees(s[0],s[1],s[2],s[3]);else{let a=o.geometry.coordinates[0],c=o.geometry.coordinates[1];r=h.fromDegrees(a,c)}return{displayName:o.properties.label,destination:r}})})};var uI=U8;function BQ(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.accessToken,Yd.defaultAccessToken),n=Ie.createIfNeeded(y(e.server,Yd.defaultServer));n.appendForwardSlash();let i=Yd.getDefaultTokenCredit(t);l(i)&&e.scene.frameState.creditDisplay.addDefaultCredit(jt.clone(i));let o=n.getDerivedResource({url:"v1/geocode"});l(t)&&o.appendQueryParameters({access_token:t}),this._accessToken=t,this._server=n,this._pelias=new uI(o)}BQ.prototype.geocode=function(e,t){return this._pelias.geocode(e,t)};var fI=BQ;var z8=Ri(fl(),1);function oc(e,t){let n,i=e.externalType,o=l(i);if(!o)n={url:e.url,retryAttempts:1,retryCallback:JPe};else if(i==="3DTILES"||i==="STK_TERRAIN_SERVER")n={url:e.options.url};else throw new de("Ion.createResource does not support external imagery assets; use IonImageryProvider instead.");Ie.call(this,n),this._ionEndpoint=e,this._ionEndpointDomain=o?void 0:new z8.default(e.url).authority(),this._ionEndpointResource=t,this._ionRoot=void 0,this._pendingPromise=void 0,this._credits=void 0,this._isExternal=o}l(Object.create)&&(oc.prototype=Object.create(Ie.prototype),oc.prototype.constructor=oc);oc.fromAssetId=function(e,t){let n=oc._createEndpointResource(e,t);return n.fetchJson().then(function(i){return new oc(i,n)})};Object.defineProperties(oc.prototype,{credits:{get:function(){return l(this._ionRoot)?this._ionRoot.credits:l(this._credits)?this._credits:(this._credits=oc.getCreditsFromEndpoint(this._ionEndpoint,this._ionEndpointResource),this._credits)}}});oc.getCreditsFromEndpoint=function(e,t){let n=e.attributions.map(jt.getIonCredit),i=Yd.getDefaultTokenCredit(t.queryParameters.access_token);return l(i)&&n.push(jt.clone(i)),n};oc.prototype.clone=function(e){let t=y(this._ionRoot,this);return l(e)||(e=new oc(t._ionEndpoint,t._ionEndpointResource)),e=Ie.prototype.clone.call(this,e),e._ionRoot=t,e._isExternal=this._isExternal,e};oc.prototype.fetchImage=function(e){if(!this._isExternal){let t=e;e={preferBlob:!0},l(t)&&(e.flipY=t.flipY,e.preferImageBitmap=t.preferImageBitmap)}return Ie.prototype.fetchImage.call(this,e)};oc.prototype._makeRequest=function(e){return this._isExternal||new z8.default(this.url).authority()!==this._ionEndpointDomain?Ie.prototype._makeRequest.call(this,e):(l(e.headers)||(e.headers={}),e.headers.Authorization=`Bearer ${this._ionEndpoint.accessToken}`,Ie.prototype._makeRequest.call(this,e))};oc._createEndpointResource=function(e,t){t=y(t,y.EMPTY_OBJECT);let n=y(t.server,Yd.defaultServer),i=y(t.accessToken,Yd.defaultAccessToken);n=Ie.createIfNeeded(n);let o={url:`v1/assets/${e}/endpoint`};return l(i)&&(o.queryParameters={access_token:i}),n.getDerivedResource(o)};function JPe(e,t){let n=y(e._ionRoot,e),i=n._ionEndpointResource,o=typeof Image<"u";return!l(t)||t.statusCode!==401&&!(o&&t.target instanceof Image)?Promise.resolve(!1):(l(n._pendingPromise)||(n._pendingPromise=i.fetchJson().then(function(r){return n._ionEndpoint=r,r}).finally(function(r){return n._pendingPromise=void 0,r})),n._pendingPromise.then(function(r){return e._ionEndpoint=r,!0}))}var Xd=oc;function Lo(e){e=y(e,y.EMPTY_OBJECT),this.start=l(e.start)?Q.clone(e.start):new Q,this.stop=l(e.stop)?Q.clone(e.stop):new Q,this.data=e.data,this.isStartIncluded=y(e.isStartIncluded,!0),this.isStopIncluded=y(e.isStopIncluded,!0)}Object.defineProperties(Lo.prototype,{isEmpty:{get:function(){let e=Q.compare(this.stop,this.start);return e<0||e===0&&(!this.isStartIncluded||!this.isStopIncluded)}}});var Xx={start:void 0,stop:void 0,isStartIncluded:void 0,isStopIncluded:void 0,data:void 0};Lo.fromIso8601=function(e,t){let n=e.iso8601.split("/");if(n.length!==2)throw new ye("options.iso8601 is an invalid ISO 8601 interval.");let i=Q.fromIso8601(n[0]),o=Q.fromIso8601(n[1]),r=y(e.isStartIncluded,!0),s=y(e.isStopIncluded,!0),a=e.data;return l(t)?(t.start=i,t.stop=o,t.isStartIncluded=r,t.isStopIncluded=s,t.data=a,t):(Xx.start=i,Xx.stop=o,Xx.isStartIncluded=r,Xx.isStopIncluded=s,Xx.data=a,new Lo(Xx))};Lo.toIso8601=function(e,t){return`${Q.toIso8601(e.start,t)}/${Q.toIso8601(e.stop,t)}`};Lo.clone=function(e,t){if(!!l(e))return l(t)?(t.start=e.start,t.stop=e.stop,t.isStartIncluded=e.isStartIncluded,t.isStopIncluded=e.isStopIncluded,t.data=e.data,t):new Lo(e)};Lo.equals=function(e,t,n){return e===t||l(e)&&l(t)&&(e.isEmpty&&t.isEmpty||e.isStartIncluded===t.isStartIncluded&&e.isStopIncluded===t.isStopIncluded&&Q.equals(e.start,t.start)&&Q.equals(e.stop,t.stop)&&(e.data===t.data||l(n)&&n(e.data,t.data)))};Lo.equalsEpsilon=function(e,t,n,i){return n=y(n,0),e===t||l(e)&&l(t)&&(e.isEmpty&&t.isEmpty||e.isStartIncluded===t.isStartIncluded&&e.isStopIncluded===t.isStopIncluded&&Q.equalsEpsilon(e.start,t.start,n)&&Q.equalsEpsilon(e.stop,t.stop,n)&&(e.data===t.data||l(i)&&i(e.data,t.data)))};Lo.intersect=function(e,t,n,i){if(!l(t))return Lo.clone(Lo.EMPTY,n);let o=e.start,r=e.stop,s=t.start,a=t.stop,c=Q.greaterThanOrEquals(s,o)&&Q.greaterThanOrEquals(r,s),u=!c&&Q.lessThanOrEquals(s,o)&&Q.lessThanOrEquals(o,a);if(!c&&!u)return Lo.clone(Lo.EMPTY,n);let f=e.isStartIncluded,d=e.isStopIncluded,p=t.isStartIncluded,g=t.isStopIncluded,m=Q.lessThan(r,a);return l(n)||(n=new Lo),n.start=c?s:o,n.isStartIncluded=f&&p||!Q.equals(s,o)&&(c&&p||u&&f),n.stop=m?r:a,n.isStopIncluded=m?d:d&&g||!Q.equals(a,r)&&g,n.data=l(i)?i(e.data,t.data):e.data,n};Lo.contains=function(e,t){if(e.isEmpty)return!1;let n=Q.compare(e.start,t);if(n===0)return e.isStartIncluded;let i=Q.compare(t,e.stop);return i===0?e.isStopIncluded:n<0&&i<0};Lo.prototype.clone=function(e){return Lo.clone(this,e)};Lo.prototype.equals=function(e,t){return Lo.equals(this,e,t)};Lo.prototype.equalsEpsilon=function(e,t,n){return Lo.equalsEpsilon(this,e,t,n)};Lo.prototype.toString=function(){return Lo.toIso8601(this)};Lo.EMPTY=Object.freeze(new Lo({start:new Q,stop:new Q,isStartIncluded:!1,isStopIncluded:!1}));var gn=Lo;var LQ=Object.freeze(Q.fromIso8601("0000-01-01T00:00:00Z")),NQ=Object.freeze(Q.fromIso8601("9999-12-31T24:00:00Z")),QPe=Object.freeze(new gn({start:LQ,stop:NQ})),e1e={MINIMUM_VALUE:LQ,MAXIMUM_VALUE:NQ,MAXIMUM_INTERVAL:QPe},Ve=e1e;function gm(){}gm._transcodeTaskProcessor=new Ti("transcodeKTX2",Number.POSITIVE_INFINITY);gm._readyPromise=void 0;function t1e(){let e=gm._transcodeTaskProcessor.initWebAssemblyModule({modulePath:"ThirdParty/Workers/basis_transcoder.js",wasmBinaryFile:"ThirdParty/basis_transcoder.wasm"}).then(function(){return gm._transcodeTaskProcessor});gm._readyPromise=e}gm.transcode=function(e,t){return l(gm._readyPromise)||t1e(),gm._readyPromise.then(function(n){let i;if(e instanceof ArrayBuffer){let o=new Uint8Array(e);return i={supportedTargetFormats:t,ktx2Buffer:o},n.scheduleTask(i,[e])}return i={supportedTargetFormats:t,ktx2Buffer:e},n.scheduleTask(i,[e.buffer])}).then(function(n){let i=n.length,o=Object.keys(n[0]),r=o.length,s;for(s=0;s<i;s++){let a=n[s];for(let c=0;c<r;c++){let u=a[o[c]];a[o[c]]=new S1(u.internalFormat,u.datatype,u.width,u.height,u.levelBuffer)}}if(r===1){for(s=0;s<i;++s)n[s]=n[s][o[0]];i===1&&(n=n[0])}return n}).catch(function(n){throw n})};var dI=gm;var n1e={SHIFT:0,CTRL:1,ALT:2},Ys=Object.freeze(n1e);var H8={type:"Lagrange"};H8.getRequiredDataPoints=function(e){return Math.max(e+1,2)};H8.interpolateOrderZero=function(e,t,n,i,o){l(o)||(o=new Array(i));let r,s,a=t.length;for(r=0;r<i;r++)o[r]=0;for(r=0;r<a;r++){let c=1;for(s=0;s<a;s++)if(s!==r){let u=t[r]-t[s];c*=(e-t[s])/u}for(s=0;s<i;s++)o[s]+=c*n[r*i+s]}return o};var hI=H8;var G8={type:"Linear"};G8.getRequiredDataPoints=function(e){return 2};G8.interpolateOrderZero=function(e,t,n,i,o){l(o)||(o=new Array(i));let r,s,a,c=t[0],u=t[1];for(r=0;r<i;r++)s=n[r],a=n[r+i],o[r]=((a-s)*e+u*s-c*a)/(u-c);return o};var Kx=G8;function Kd(e){e=y(e,0),this._array=new Array(e),this._length=e}Object.defineProperties(Kd.prototype,{length:{get:function(){return this._length},set:function(e){let t=this._array,n=this._length;if(e<n)for(let i=e;i<n;++i)t[i]=void 0;else e>t.length&&(t.length=e);this._length=e}},values:{get:function(){return this._array}}});Kd.prototype.get=function(e){return this._array[e]};Kd.prototype.set=function(e,t){e>=this._length&&(this.length=e+1),this._array[e]=t};Kd.prototype.peek=function(){return this._array[this._length-1]};Kd.prototype.push=function(e){let t=this.length++;this._array[t]=e};Kd.prototype.pop=function(){if(this._length===0)return;let e=this._array[this._length-1];return--this.length,e};Kd.prototype.reserve=function(e){e>this._array.length&&(this._array.length=e)};Kd.prototype.resize=function(e){this.length=e};Kd.prototype.trim=function(e){e=y(e,this._length),this._array.length=e};var hu=Kd;function mI(){ye.throwInstantiationError()}Object.defineProperties(mI.prototype,{ellipsoid:{get:ye.throwInstantiationError}});mI.prototype.project=ye.throwInstantiationError;mI.prototype.unproject=ye.throwInstantiationError;var FQ=mI;function Zx(e){e=y(e,y.EMPTY_OBJECT);let t=e.weights,n=e.times;this._times=n,this._weights=t,this._count=t.length/n.length,this._lastTimeIndex=0}Object.defineProperties(Zx.prototype,{times:{get:function(){return this._times}},weights:{get:function(){return this._weights}}});Zx.prototype.findTimeInterval=Xi.prototype.findTimeInterval;Zx.prototype.wrapTime=Xi.prototype.wrapTime;Zx.prototype.clampTime=Xi.prototype.clampTime;Zx.prototype.evaluate=function(e,t){let n=this.weights,i=this.times,o=this._lastTimeIndex=this.findTimeInterval(e,this._lastTimeIndex),r=(e-i[o])/(i[o+1]-i[o]);l(t)||(t=new Array(this._count));for(let s=0;s<this._count;s++){let a=o*this._count+s;t[s]=n[a]*(1-r)+n[a+this._count]*r}return t};var VQ=Zx;var Qb={};function kQ(e){return e=(e^e<<8)&16711935,e=(e^e<<4)&252645135,e=(e^e<<2)&858993459,e=(e^e<<1)&1431655765,e}function W8(e){return e=(e^e<<16)&50331903,e=(e^e<<8)&50393103,e=(e^e<<4)&51130563,e=(e^e<<2)&153391689,e}function UQ(e){return e&=1431655765,e=(e^e>>1)&858993459,e=(e^e>>2)&252645135,e=(e^e>>4)&16711935,e=(e^e>>8)&65535,e}function j8(e){return e&=153391689,e=(e^e>>2)&51130563,e=(e^e>>4)&50393103,e=(e^e>>8)&4278190335,e=(e^e>>16)&1023,e}Qb.encode2D=function(e,t){return(kQ(e)|kQ(t)<<1)>>>0};Qb.decode2D=function(e,t){return l(t)||(t=new Array(2)),t[0]=UQ(e),t[1]=UQ(e>>1),t};Qb.encode3D=function(e,t,n){return W8(e)|W8(t)<<1|W8(n)<<2};Qb.decode3D=function(e,t){return l(t)||(t=new Array(3)),t[0]=j8(e),t[1]=j8(e>>1),t[2]=j8(e>>2),t};var Z0=Qb;function mu(e,t,n,i){this.near=y(e,0),this.nearValue=y(t,0),this.far=y(n,1),this.farValue=y(i,0)}mu.clone=function(e,t){if(!!l(e))return l(t)?(t.near=e.near,t.nearValue=e.nearValue,t.far=e.far,t.farValue=e.farValue,t):new mu(e.near,e.nearValue,e.far,e.farValue)};mu.packedLength=4;mu.pack=function(e,t,n){return n=y(n,0),t[n++]=e.near,t[n++]=e.nearValue,t[n++]=e.far,t[n]=e.farValue,t};mu.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new mu),n.near=e[t++],n.nearValue=e[t++],n.far=e[t++],n.farValue=e[t],n};mu.equals=function(e,t){return e===t||l(e)&&l(t)&&e.near===t.near&&e.nearValue===t.nearValue&&e.far===t.far&&e.farValue===t.farValue};mu.prototype.clone=function(e){return mu.clone(this,e)};mu.prototype.equals=function(e){return mu.equals(this,e)};var St=mu;var i1e={NONE:-1,PARTIAL:0,FULL:1},ir=Object.freeze(i1e);function ya(e,t){this._occluderPosition=h.clone(e.center),this._occluderRadius=e.radius,this._horizonDistance=0,this._horizonPlaneNormal=void 0,this._horizonPlanePosition=void 0,this._cameraPosition=void 0,this.cameraPosition=t}var pI=new h;Object.defineProperties(ya.prototype,{position:{get:function(){return this._occluderPosition}},radius:{get:function(){return this._occluderRadius}},cameraPosition:{set:function(e){e=h.clone(e,this._cameraPosition);let t=h.subtract(this._occluderPosition,e,pI),n=h.magnitudeSquared(t),i=this._occluderRadius*this._occluderRadius,o,r,s;if(n>i){o=Math.sqrt(n-i),n=1/Math.sqrt(n),r=h.multiplyByScalar(t,n,pI);let a=o*o*n;s=h.add(e,h.multiplyByScalar(r,a,pI),pI)}else o=Number.MAX_VALUE;this._horizonDistance=o,this._horizonPlaneNormal=r,this._horizonPlanePosition=s,this._cameraPosition=e}}});ya.fromBoundingSphere=function(e,t,n){return l(n)?(h.clone(e.center,n._occluderPosition),n._occluderRadius=e.radius,n.cameraPosition=t,n):new ya(e,t)};var HQ=new h;ya.prototype.isPointVisible=function(e){if(this._horizonDistance!==Number.MAX_VALUE){let t=h.subtract(e,this._occluderPosition,HQ),n=this._occluderRadius;if(n=h.magnitudeSquared(t)-n*n,n>0)return n=Math.sqrt(n)+this._horizonDistance,t=h.subtract(e,this._cameraPosition,t),n*n>h.magnitudeSquared(t)}return!1};var o1e=new h;ya.prototype.isBoundingSphereVisible=function(e){let t=h.clone(e.center,o1e),n=e.radius;if(this._horizonDistance!==Number.MAX_VALUE){let i=h.subtract(t,this._occluderPosition,HQ),o=this._occluderRadius-n;if(o=h.magnitudeSquared(i)-o*o,n<this._occluderRadius)return o>0?(o=Math.sqrt(o)+this._horizonDistance,i=h.subtract(t,this._cameraPosition,i),o*o+n*n>h.magnitudeSquared(i)):!1;if(o>0){i=h.subtract(t,this._cameraPosition,i);let r=h.magnitudeSquared(i),s=this._occluderRadius*this._occluderRadius,a=n*n;return(this._horizonDistance*this._horizonDistance+s)*a>r*s?!0:(o=Math.sqrt(o)+this._horizonDistance,o*o+a>r)}return!0}return!1};var r1e=new h;ya.prototype.computeVisibility=function(e){let t=h.clone(e.center),n=e.radius;if(n>this._occluderRadius)return ir.FULL;if(this._horizonDistance!==Number.MAX_VALUE){let i=h.subtract(t,this._occluderPosition,r1e),o=this._occluderRadius-n,r=h.magnitudeSquared(i);if(o=r-o*o,o>0){o=Math.sqrt(o)+this._horizonDistance,i=h.subtract(t,this._cameraPosition,i);let s=h.magnitudeSquared(i);return o*o+n*n<s?ir.NONE:(o=this._occluderRadius+n,o=r-o*o,o>0?(o=Math.sqrt(o)+this._horizonDistance,s<o*o+n*n?ir.FULL:ir.PARTIAL):(i=h.subtract(t,this._horizonPlanePosition,i),h.dot(i,this._horizonPlaneNormal)>-n?ir.PARTIAL:ir.FULL))}}return ir.NONE};var _I=new h;ya.computeOccludeePoint=function(e,t,n){let i=h.clone(t),o=h.clone(e.center),r=e.radius,s=n.length,a=h.normalize(h.subtract(i,o,_I),_I),c=-h.dot(a,o),u=ya._anyRotationVector(o,a,c),f=ya._horizonToPlaneNormalDotProduct(e,a,c,u,n[0]);if(!f)return;let d;for(let g=1;g<s;++g){if(d=ya._horizonToPlaneNormalDotProduct(e,a,c,u,n[g]),!d)return;d<f&&(f=d)}if(f<.0017453283658983088)return;let p=r/f;return h.add(o,h.multiplyByScalar(a,p,_I),_I)};var s1e=[];ya.computeOccludeePointFromRectangle=function(e,t){t=y(t,oe.WGS84);let n=ue.subsample(e,t,0,s1e),i=re.fromPoints(n),o=h.ZERO;if(!h.equals(o,i.center))return ya.computeOccludeePoint(new re(o,t.minimumRadius),i.center,n)};var a1e=new h;ya._anyRotationVector=function(e,t,n){let i=h.abs(t,a1e),o=i.x>i.y?0:1;(o===0&&i.z>i.x||o===1&&i.z>i.y)&&(o=2);let r=new h,s;o===0?(i.x=e.x,i.y=e.y+1,i.z=e.z+1,s=h.UNIT_X):o===1?(i.x=e.x+1,i.y=e.y,i.z=e.z+1,s=h.UNIT_Y):(i.x=e.x+1,i.y=e.y+1,i.z=e.z,s=h.UNIT_Z);let a=(h.dot(t,i)+n)/-h.dot(t,s);return h.normalize(h.subtract(h.add(i,h.multiplyByScalar(s,a,r),i),e,i),i)};var c1e=new h;ya._rotationVector=function(e,t,n,i,o){let r=h.subtract(i,e,c1e);if(r=h.normalize(r,r),h.dot(t,r)<.9999999847691291){let s=h.cross(t,r,r);if(h.magnitude(s)>I.EPSILON13)return h.normalize(s,new h)}return o};var q8=new h,l1e=new h,gI=new h,zQ=new h;ya._horizonToPlaneNormalDotProduct=function(e,t,n,i,o){let r=h.clone(o,q8),s=h.clone(e.center,l1e),a=e.radius,c=h.subtract(s,r,gI),u=h.magnitudeSquared(c),f=a*a;if(u<f)return!1;let d=u-f,p=Math.sqrt(d),g=Math.sqrt(u),m=1/g,x=p*m*p;c=h.normalize(c,c);let A=h.add(r,h.multiplyByScalar(c,x,zQ),zQ),b=Math.sqrt(d-x*x),E=this._rotationVector(s,t,n,r,i),S=h.fromElements(E.x*E.x*c.x+(E.x*E.y-E.z)*c.y+(E.x*E.z+E.y)*c.z,(E.x*E.y+E.z)*c.x+E.y*E.y*c.y+(E.y*E.z-E.x)*c.z,(E.x*E.z-E.y)*c.x+(E.y*E.z+E.x)*c.y+E.z*E.z*c.z,q8);S=h.normalize(S,S);let v=h.multiplyByScalar(S,b,q8);E=h.normalize(h.subtract(h.add(A,v,gI),s,gI),gI);let P=h.dot(t,E);E=h.normalize(h.subtract(h.subtract(A,v,E),s,E),E);let O=h.dot(t,E);return P<O?P:O};var yI=ya;function eS(e,t,n){e=y(e,0),t=y(t,0),n=y(n,0),this.value=new Float32Array([e,t,n])}Object.defineProperties(eS.prototype,{componentDatatype:{get:function(){return Z.FLOAT}},componentsPerAttribute:{get:function(){return 3}},normalize:{get:function(){return!1}}});eS.fromCartesian3=function(e){return new eS(e.x,e.y,e.z)};eS.toValue=function(e,t){return l(t)||(t=new Float32Array([e.x,e.y,e.z])),t[0]=e.x,t[1]=e.y,t[2]=e.z,t};var ji=eS;function Y8(e,t,n){e=Ie.createIfNeeded(e),e.appendForwardSlash(),e.setQueryParameters({key:t}),this._url=e,this._params=y(n,{})}Object.defineProperties(Y8.prototype,{url:{get:function(){return this._url}},params:{get:function(){return this._params}}});Y8.prototype.geocode=function(e){return this._url.getDerivedResource({url:"json",queryParameters:mt(this._params,{q:e})}).fetchJson().then(function(n){return n.results.map(function(i){let o,r=i.bounds;if(l(r))o=ue.fromDegrees(r.southwest.lng,r.southwest.lat,r.northeast.lng,r.northeast.lat);else{let s=i.geometry.lat,a=i.geometry.lng;o=h.fromDegrees(s,a)}return{displayName:i.formatted,destination:o}})})};var GQ=Y8;var u1e={packedLength:void 0,pack:ye.throwInstantiationError,unpack:ye.throwInstantiationError},WQ=u1e;var f1e={packedInterpolationLength:void 0,convertPackedArrayForInterpolation:ye.throwInstantiationError,unpackInterpolationResult:ye.throwInstantiationError},jQ=f1e;function d1e(e,t,n,i,o){let r=e.measureText(t);if(!!/\S/.test(t)){let a=document.defaultView.getComputedStyle(e.canvas).getPropertyValue("font-size").replace("px",""),c=document.createElement("canvas"),u=100,f=r.width+u|0,d=3*a,p=d/2;c.width=f,c.height=d;let g=c.getContext("2d");g.font=n,g.fillStyle="white",g.fillRect(0,0,c.width+1,c.height+1),i&&(g.strokeStyle="black",g.lineWidth=e.lineWidth,g.strokeText(t,u/2,p)),o&&(g.fillStyle="black",g.fillText(t,u/2,p));let m=g.getImageData(0,0,f,d).data,C=m.length,x=f*4,A,b,E,S;for(A=0;A<C;++A)if(m[A]!==255){E=A/x|0;break}for(A=C-1;A>=0;--A)if(m[A]!==255){S=A/x|0;break}let v=-1;for(A=0;A<f&&v===-1;++A)for(b=0;b<d;++b){let P=A*4+b*x;if(m[P]!==255||m[P+1]!==255||m[P+2]!==255||m[P+3]!==255){v=A;break}}return{width:r.width,height:S-E,ascent:p-E,descent:S-p,minx:v-u/2}}return{width:r.width,height:0,ascent:0,descent:0,minx:0}}var $0;function h1e(e,t){if(e==="")return;t=y(t,y.EMPTY_OBJECT);let n=y(t.font,"10px sans-serif"),i=y(t.stroke,!1),o=y(t.fill,!0),r=y(t.strokeWidth,1),s=y(t.backgroundColor,U.TRANSPARENT),a=y(t.padding,0),c=a*2,u=document.createElement("canvas");u.width=1,u.height=1,u.style.font=n;let f=u.getContext("2d");l($0)||(l(f.imageSmoothingEnabled)?$0="imageSmoothingEnabled":l(f.mozImageSmoothingEnabled)?$0="mozImageSmoothingEnabled":l(f.webkitImageSmoothingEnabled)?$0="webkitImageSmoothingEnabled":l(f.msImageSmoothingEnabled)&&($0="msImageSmoothingEnabled")),f.font=n,f.lineJoin="round",f.lineWidth=r,f[$0]=!1,u.style.visibility="hidden",document.body.appendChild(u);let d=d1e(f,e,n,i,o);u.dimensions=d,document.body.removeChild(u),u.style.visibility="";let p=-d.minx,g=Math.ceil(d.width)+p+c,m=d.height+c,C=m-d.ascent+a,x=m-C+c;if(u.width=g,u.height=m,f.font=n,f.lineJoin="round",f.lineWidth=r,f[$0]=!1,s!==U.TRANSPARENT&&(f.fillStyle=s.toCssColorString(),f.fillRect(0,0,u.width,u.height)),i){let A=y(t.strokeColor,U.BLACK);f.strokeStyle=A.toCssColorString(),f.strokeText(e,p+a,x)}if(o){let A=y(t.fillColor,U.WHITE);f.fillStyle=A.toCssColorString(),f.fillText(e,p+a,x)}return u}var $x=h1e;function nS(){this._cache={}}nS.prototype.fromColor=function(e,t){return CI(void 0,void 0,e,t,this._cache)};nS.prototype.fromUrl=function(e,t,n){return CI(e,void 0,t,n,this._cache)};nS.prototype.fromMakiIconId=function(e,t,n){return CI(Zt(`Assets/Textures/maki/${encodeURIComponent(e)}.png`),void 0,t,n,this._cache)};nS.prototype.fromText=function(e,t,n){return CI(void 0,e,t,n,this._cache)};var m1e=new U;function p1e(e,t,n){e.save(),e.scale(n/24,n/24),e.fillStyle=t.toCssColorString(),e.strokeStyle=t.brighten(.6,m1e).toCssColorString(),e.lineWidth=.846,e.beginPath(),e.moveTo(6.72,.422),e.lineTo(17.28,.422),e.bezierCurveTo(18.553,.422,19.577,1.758,19.577,3.415),e.lineTo(19.577,10.973),e.bezierCurveTo(19.577,12.63,18.553,13.966,17.282,13.966),e.lineTo(14.386,14.008),e.lineTo(11.826,23.578),e.lineTo(9.614,14.008),e.lineTo(6.719,13.965),e.bezierCurveTo(5.446,13.983,4.422,12.629,4.422,10.972),e.lineTo(4.422,3.416),e.bezierCurveTo(4.423,1.76,5.447,.423,6.718,.423),e.closePath(),e.fill(),e.stroke(),e.restore()}function qQ(e,t,n){let i=n/2.5,o=i,r=i;t.width>t.height?r=i*(t.height/t.width):t.width<t.height&&(o=i*(t.width/t.height));let s=Math.round((n-o)/2),a=Math.round(7/24*n-r/2);e.globalCompositeOperation="destination-out",e.drawImage(t,s-1,a,o,r),e.drawImage(t,s,a-1,o,r),e.drawImage(t,s+1,a,o,r),e.drawImage(t,s,a+1,o,r),e.globalCompositeOperation="destination-over",e.fillStyle=U.BLACK.toCssColorString(),e.fillRect(s-1,a-1,o+2,r+2),e.globalCompositeOperation="destination-out",e.drawImage(t,s,a,o,r),e.globalCompositeOperation="destination-over",e.fillStyle=U.WHITE.toCssColorString(),e.fillRect(s-1,a-2,o+2,r+2)}var tS=new Array(4);function CI(e,t,n,i,o){tS[0]=e,tS[1]=t,tS[2]=n,tS[3]=i;let r=JSON.stringify(tS),s=o[r];if(l(s))return s;let a=document.createElement("canvas");a.width=i,a.height=i;let c=a.getContext("2d");if(p1e(c,n,i),l(e)){let f=Ie.createIfNeeded(e).fetchImage().then(function(d){return qQ(c,d,i),o[r]=a,a});return o[r]=f,f}else if(l(t)){let u=$x(t,{font:`bold ${i}px sans-serif`});qQ(c,u,i)}return o[r]=a,a}var c_=nS;var gi={UNSIGNED_BYTE:te.UNSIGNED_BYTE,UNSIGNED_SHORT:te.UNSIGNED_SHORT,UNSIGNED_INT:te.UNSIGNED_INT,FLOAT:te.FLOAT,HALF_FLOAT:te.HALF_FLOAT_OES,UNSIGNED_INT_24_8:te.UNSIGNED_INT_24_8,UNSIGNED_SHORT_4_4_4_4:te.UNSIGNED_SHORT_4_4_4_4,UNSIGNED_SHORT_5_5_5_1:te.UNSIGNED_SHORT_5_5_5_1,UNSIGNED_SHORT_5_6_5:te.UNSIGNED_SHORT_5_6_5};gi.toWebGLConstant=function(e,t){switch(e){case gi.UNSIGNED_BYTE:return te.UNSIGNED_BYTE;case gi.UNSIGNED_SHORT:return te.UNSIGNED_SHORT;case gi.UNSIGNED_INT:return te.UNSIGNED_INT;case gi.FLOAT:return te.FLOAT;case gi.HALF_FLOAT:return t.webgl2?te.HALF_FLOAT:te.HALF_FLOAT_OES;case gi.UNSIGNED_INT_24_8:return te.UNSIGNED_INT_24_8;case gi.UNSIGNED_SHORT_4_4_4_4:return te.UNSIGNED_SHORT_4_4_4_4;case gi.UNSIGNED_SHORT_5_5_5_1:return te.UNSIGNED_SHORT_5_5_5_1;case gi.UNSIGNED_SHORT_5_6_5:return gi.UNSIGNED_SHORT_5_6_5}};gi.isPacked=function(e){return e===gi.UNSIGNED_INT_24_8||e===gi.UNSIGNED_SHORT_4_4_4_4||e===gi.UNSIGNED_SHORT_5_5_5_1||e===gi.UNSIGNED_SHORT_5_6_5};gi.sizeInBytes=function(e){switch(e){case gi.UNSIGNED_BYTE:return 1;case gi.UNSIGNED_SHORT:case gi.UNSIGNED_SHORT_4_4_4_4:case gi.UNSIGNED_SHORT_5_5_5_1:case gi.UNSIGNED_SHORT_5_6_5:case gi.HALF_FLOAT:return 2;case gi.UNSIGNED_INT:case gi.FLOAT:case gi.UNSIGNED_INT_24_8:return 4}};gi.validate=function(e){return e===gi.UNSIGNED_BYTE||e===gi.UNSIGNED_SHORT||e===gi.UNSIGNED_INT||e===gi.FLOAT||e===gi.HALF_FLOAT||e===gi.UNSIGNED_INT_24_8||e===gi.UNSIGNED_SHORT_4_4_4_4||e===gi.UNSIGNED_SHORT_5_5_5_1||e===gi.UNSIGNED_SHORT_5_6_5};var je=Object.freeze(gi);var nt={DEPTH_COMPONENT:te.DEPTH_COMPONENT,DEPTH_STENCIL:te.DEPTH_STENCIL,ALPHA:te.ALPHA,RGB:te.RGB,RGBA:te.RGBA,LUMINANCE:te.LUMINANCE,LUMINANCE_ALPHA:te.LUMINANCE_ALPHA,RGB_DXT1:te.COMPRESSED_RGB_S3TC_DXT1_EXT,RGBA_DXT1:te.COMPRESSED_RGBA_S3TC_DXT1_EXT,RGBA_DXT3:te.COMPRESSED_RGBA_S3TC_DXT3_EXT,RGBA_DXT5:te.COMPRESSED_RGBA_S3TC_DXT5_EXT,RGB_PVRTC_4BPPV1:te.COMPRESSED_RGB_PVRTC_4BPPV1_IMG,RGB_PVRTC_2BPPV1:te.COMPRESSED_RGB_PVRTC_2BPPV1_IMG,RGBA_PVRTC_4BPPV1:te.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,RGBA_PVRTC_2BPPV1:te.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,RGBA_ASTC:te.COMPRESSED_RGBA_ASTC_4x4_WEBGL,RGB_ETC1:te.COMPRESSED_RGB_ETC1_WEBGL,RGB8_ETC2:te.COMPRESSED_RGB8_ETC2,RGBA8_ETC2_EAC:te.COMPRESSED_RGBA8_ETC2_EAC,RGBA_BC7:te.COMPRESSED_RGBA_BPTC_UNORM};nt.componentsLength=function(e){switch(e){case nt.RGB:return 3;case nt.RGBA:return 4;case nt.LUMINANCE_ALPHA:return 2;case nt.ALPHA:case nt.LUMINANCE:return 1;default:return 1}};nt.validate=function(e){return e===nt.DEPTH_COMPONENT||e===nt.DEPTH_STENCIL||e===nt.ALPHA||e===nt.RGB||e===nt.RGBA||e===nt.LUMINANCE||e===nt.LUMINANCE_ALPHA||e===nt.RGB_DXT1||e===nt.RGBA_DXT1||e===nt.RGBA_DXT3||e===nt.RGBA_DXT5||e===nt.RGB_PVRTC_4BPPV1||e===nt.RGB_PVRTC_2BPPV1||e===nt.RGBA_PVRTC_4BPPV1||e===nt.RGBA_PVRTC_2BPPV1||e===nt.RGBA_ASTC||e===nt.RGB_ETC1||e===nt.RGB8_ETC2||e===nt.RGBA8_ETC2_EAC||e===nt.RGBA_BC7};nt.isColorFormat=function(e){return e===nt.ALPHA||e===nt.RGB||e===nt.RGBA||e===nt.LUMINANCE||e===nt.LUMINANCE_ALPHA};nt.isDepthFormat=function(e){return e===nt.DEPTH_COMPONENT||e===nt.DEPTH_STENCIL};nt.isCompressedFormat=function(e){return e===nt.RGB_DXT1||e===nt.RGBA_DXT1||e===nt.RGBA_DXT3||e===nt.RGBA_DXT5||e===nt.RGB_PVRTC_4BPPV1||e===nt.RGB_PVRTC_2BPPV1||e===nt.RGBA_PVRTC_4BPPV1||e===nt.RGBA_PVRTC_2BPPV1||e===nt.RGBA_ASTC||e===nt.RGB_ETC1||e===nt.RGB8_ETC2||e===nt.RGBA8_ETC2_EAC||e===nt.RGBA_BC7};nt.isDXTFormat=function(e){return e===nt.RGB_DXT1||e===nt.RGBA_DXT1||e===nt.RGBA_DXT3||e===nt.RGBA_DXT5};nt.isPVRTCFormat=function(e){return e===nt.RGB_PVRTC_4BPPV1||e===nt.RGB_PVRTC_2BPPV1||e===nt.RGBA_PVRTC_4BPPV1||e===nt.RGBA_PVRTC_2BPPV1};nt.isASTCFormat=function(e){return e===nt.RGBA_ASTC};nt.isETC1Format=function(e){return e===nt.RGB_ETC1};nt.isETC2Format=function(e){return e===nt.RGB8_ETC2||e===nt.RGBA8_ETC2_EAC};nt.isBC7Format=function(e){return e===nt.RGBA_BC7};nt.compressedTextureSizeInBytes=function(e,t,n){switch(e){case nt.RGB_DXT1:case nt.RGBA_DXT1:case nt.RGB_ETC1:case nt.RGB8_ETC2:return Math.floor((t+3)/4)*Math.floor((n+3)/4)*8;case nt.RGBA_DXT3:case nt.RGBA_DXT5:case nt.RGBA_ASTC:case nt.RGBA8_ETC2_EAC:return Math.floor((t+3)/4)*Math.floor((n+3)/4)*16;case nt.RGB_PVRTC_4BPPV1:case nt.RGBA_PVRTC_4BPPV1:return Math.floor((Math.max(t,8)*Math.max(n,8)*4+7)/8);case nt.RGB_PVRTC_2BPPV1:case nt.RGBA_PVRTC_2BPPV1:return Math.floor((Math.max(t,16)*Math.max(n,8)*2+7)/8);case nt.RGBA_BC7:return Math.ceil(t/4)*Math.ceil(n/4)*16;default:return 0}};nt.textureSizeInBytes=function(e,t,n,i){let o=nt.componentsLength(e);return je.isPacked(t)&&(o=1),o*je.sizeInBytes(t)*n*i};nt.alignmentInBytes=function(e,t,n){let i=nt.textureSizeInBytes(e,t,n,1)%4;return i===0?4:i===2?2:1};nt.createTypedArray=function(e,t,n,i){let o,r=je.sizeInBytes(t);r===Uint8Array.BYTES_PER_ELEMENT?o=Uint8Array:r===Uint16Array.BYTES_PER_ELEMENT?o=Uint16Array:r===Float32Array.BYTES_PER_ELEMENT&&t===je.FLOAT?o=Float32Array:o=Uint32Array;let s=nt.componentsLength(e)*n*i;return new o(s)};nt.flipY=function(e,t,n,i,o){if(o===1)return e;let r=nt.createTypedArray(t,n,i,o),s=nt.componentsLength(t),a=i*s;for(let c=0;c<o;++c){let u=c*i*s,f=(o-c-1)*i*s;for(let d=0;d<a;++d)r[f+d]=e[u+d]}return r};nt.toInternalFormat=function(e,t,n){if(!n.webgl2)return e;if(e===nt.DEPTH_STENCIL)return te.DEPTH24_STENCIL8;if(e===nt.DEPTH_COMPONENT){if(t===je.UNSIGNED_SHORT)return te.DEPTH_COMPONENT16;if(t===je.UNSIGNED_INT)return te.DEPTH_COMPONENT24}if(t===je.FLOAT)switch(e){case nt.RGBA:return te.RGBA32F;case nt.RGB:return te.RGB32F;case nt.RG:return te.RG32F;case nt.R:return te.R32F}if(t===je.HALF_FLOAT)switch(e){case nt.RGBA:return te.RGBA16F;case nt.RGB:return te.RGB16F;case nt.RG:return te.RG16F;case nt.R:return te.R16F}return e};var ft=Object.freeze(nt);function Jx(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.vertexFormat,ve.DEFAULT);this._vertexFormat=t,this._workerName="createPlaneGeometry"}Jx.packedLength=ve.packedLength;Jx.pack=function(e,t,n){return n=y(n,0),ve.pack(e._vertexFormat,t,n),t};var YQ=new ve,_1e={vertexFormat:YQ};Jx.unpack=function(e,t,n){t=y(t,0);let i=ve.unpack(e,t,YQ);return l(n)?(n._vertexFormat=ve.clone(i,n._vertexFormat),n):new Jx(_1e)};var xI=new h(-.5,-.5,0),AI=new h(.5,.5,0);Jx.createGeometry=function(e){let t=e._vertexFormat,n=new rn,i,o;if(t.position){if(o=new Float64Array(4*3),o[0]=xI.x,o[1]=xI.y,o[2]=0,o[3]=AI.x,o[4]=xI.y,o[5]=0,o[6]=AI.x,o[7]=AI.y,o[8]=0,o[9]=xI.x,o[10]=AI.y,o[11]=0,n.position=new Ee({componentDatatype:Z.DOUBLE,componentsPerAttribute:3,values:o}),t.normal){let r=new Float32Array(12);r[0]=0,r[1]=0,r[2]=1,r[3]=0,r[4]=0,r[5]=1,r[6]=0,r[7]=0,r[8]=1,r[9]=0,r[10]=0,r[11]=1,n.normal=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:r})}if(t.st){let r=new Float32Array(8);r[0]=0,r[1]=0,r[2]=1,r[3]=0,r[4]=1,r[5]=1,r[6]=0,r[7]=1,n.st=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:2,values:r})}if(t.tangent){let r=new Float32Array(12);r[0]=1,r[1]=0,r[2]=0,r[3]=1,r[4]=0,r[5]=0,r[6]=1,r[7]=0,r[8]=0,r[9]=1,r[10]=0,r[11]=0,n.tangent=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:r})}if(t.bitangent){let r=new Float32Array(12);r[0]=0,r[1]=1,r[2]=0,r[3]=0,r[4]=1,r[5]=0,r[6]=0,r[7]=1,r[8]=0,r[9]=0,r[10]=1,r[11]=0,n.bitangent=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:r})}i=new Uint16Array(2*3),i[0]=0,i[1]=1,i[2]=2,i[3]=0,i[4]=2,i[5]=3}return new rt({attributes:n,indices:i,primitiveType:Ne.TRIANGLES,boundingSphere:new re(h.ZERO,Math.sqrt(2))})};var TI=Jx;function Qx(){this._workerName="createPlaneOutlineGeometry"}Qx.packedLength=0;Qx.pack=function(e,t){return t};Qx.unpack=function(e,t,n){return l(n)?n:new Qx};var l_=new h(-.5,-.5,0),EI=new h(.5,.5,0);Qx.createGeometry=function(){let e=new rn,t=new Uint16Array(4*2),n=new Float64Array(4*3);return n[0]=l_.x,n[1]=l_.y,n[2]=l_.z,n[3]=EI.x,n[4]=l_.y,n[5]=l_.z,n[6]=EI.x,n[7]=EI.y,n[8]=l_.z,n[9]=l_.x,n[10]=EI.y,n[11]=l_.z,e.position=new Ee({componentDatatype:Z.DOUBLE,componentsPerAttribute:3,values:n}),t[0]=0,t[1]=1,t[2]=1,t[3]=2,t[4]=2,t[5]=3,t[6]=3,t[7]=0,new rt({attributes:e,indices:t,primitiveType:Ne.LINES,boundingSphere:new re(h.ZERO,Math.sqrt(2))})};var bI=Qx;var g1e=new he,XQ=new he;function y1e(e,t,n,i){let r=i.cartesianToCartographic(e,g1e).height,s=i.cartesianToCartographic(t,XQ);s.height=r,i.cartographicToCartesian(s,t);let a=i.cartesianToCartographic(n,XQ);a.height=r-100,i.cartographicToCartesian(a,n)}var C1e=new Ge,x1e=new h,A1e=new h,T1e=new h,E1e=new h,b1e=new h,S1e=new h,SI=new h,Zd=new h,eA=new h,w1e=new G,v1e=new G,D1e=new h,KQ=new Oe,P1e=new J,I1e=new J;function X8(e){let t=e.vertexFormat,n=e.geometry,i=e.shadowVolume,o=n.attributes.position.values,r=l(n.attributes.st)?n.attributes.st.values:void 0,s=o.length,a=e.wall,c=e.top||a,u=e.bottom||a;if(t.st||t.normal||t.tangent||t.bitangent||i){let f=e.boundingRectangle,d=e.tangentPlane,p=e.ellipsoid,g=e.stRotation,m=e.perPositionHeight,C=w1e;C.x=f.x,C.y=f.y;let x=t.st?new Float32Array(2*(s/3)):void 0,A;t.normal&&(m&&c&&!a?A=n.attributes.normal.values:A=new Float32Array(s));let b=t.tangent?new Float32Array(s):void 0,E=t.bitangent?new Float32Array(s):void 0,S=i?new Float32Array(s):void 0,v=0,P=0,O=A1e,M=T1e,B=E1e,L=!0,_=P1e,T=I1e;if(g!==0){let R=Oe.fromAxisAngle(d._plane.normal,g,KQ);_=J.fromQuaternion(R,_),R=Oe.fromAxisAngle(d._plane.normal,-g,KQ),T=J.fromQuaternion(R,T)}else _=J.clone(J.IDENTITY,_),T=J.clone(J.IDENTITY,T);let w=0,D=0;c&&u&&(w=s/2,D=s/3,s/=2);for(let R=0;R<s;R+=3){let F=h.fromArray(o,R,D1e);if(t.st&&!l(r)){let z=J.multiplyByVector(_,F,x1e);z=p.scaleToGeodeticSurface(z,z);let k=d.projectPointOntoPlane(z,v1e);G.subtract(k,C,k);let H=I.clamp(k.x/f.width,0,1),V=I.clamp(k.y/f.height,0,1);u&&(x[v+D]=H,x[v+1+D]=V),c&&(x[v]=H,x[v+1]=V),v+=2}if(t.normal||t.tangent||t.bitangent||i){let z=P+1,k=P+2;if(a){if(R+3<s){let H=h.fromArray(o,R+3,b1e);if(L){let V=h.fromArray(o,R+s,S1e);m&&y1e(F,H,V,p),h.subtract(H,F,H),h.subtract(V,F,V),O=h.normalize(h.cross(V,H,O),O),L=!1}h.equalsEpsilon(H,F,I.EPSILON10)&&(L=!0)}(t.tangent||t.bitangent)&&(B=p.geodeticSurfaceNormal(F,B),t.tangent&&(M=h.normalize(h.cross(B,O,M),M)))}else O=p.geodeticSurfaceNormal(F,O),(t.tangent||t.bitangent)&&(m&&(SI=h.fromArray(A,P,SI),Zd=h.cross(h.UNIT_Z,SI,Zd),Zd=h.normalize(J.multiplyByVector(T,Zd,Zd),Zd),t.bitangent&&(eA=h.normalize(h.cross(SI,Zd,eA),eA))),M=h.cross(h.UNIT_Z,O,M),M=h.normalize(J.multiplyByVector(T,M,M),M),t.bitangent&&(B=h.normalize(h.cross(O,M,B),B)));t.normal&&(e.wall?(A[P+w]=O.x,A[z+w]=O.y,A[k+w]=O.z):u&&(A[P+w]=-O.x,A[z+w]=-O.y,A[k+w]=-O.z),(c&&!m||a)&&(A[P]=O.x,A[z]=O.y,A[k]=O.z)),i&&(a&&(O=p.geodeticSurfaceNormal(F,O)),S[P+w]=-O.x,S[z+w]=-O.y,S[k+w]=-O.z),t.tangent&&(e.wall?(b[P+w]=M.x,b[z+w]=M.y,b[k+w]=M.z):u&&(b[P+w]=-M.x,b[z+w]=-M.y,b[k+w]=-M.z),c&&(m?(b[P]=Zd.x,b[z]=Zd.y,b[k]=Zd.z):(b[P]=M.x,b[z]=M.y,b[k]=M.z))),t.bitangent&&(u&&(E[P+w]=B.x,E[z+w]=B.y,E[k+w]=B.z),c&&(m?(E[P]=eA.x,E[z]=eA.y,E[k]=eA.z):(E[P]=B.x,E[z]=B.y,E[k]=B.z))),P+=3}}t.st&&!l(r)&&(n.attributes.st=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:2,values:x})),t.normal&&(n.attributes.normal=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:A})),t.tangent&&(n.attributes.tangent=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:b})),t.bitangent&&(n.attributes.bitangent=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:E})),i&&(n.attributes.extrudeDirection=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:S}))}if(e.extrude&&l(e.offsetAttribute)){let f=o.length/3,d=new Uint8Array(f);if(e.offsetAttribute===Jt.TOP)c&&u||a?d=d.fill(1,0,f/2):c&&(d=d.fill(1));else{let p=e.offsetAttribute===Jt.NONE?0:1;d=d.fill(p)}n.attributes.applyOffset=new Ee({componentDatatype:Z.UNSIGNED_BYTE,componentsPerAttribute:1,values:d})}return n}var O1e=new he,R1e=new he,u_={westOverIDL:0,eastOverIDL:0},tA=new _f;function JQ(e,t,n,i,o){if(o=y(o,new ue),!l(e)||e.length<3)return o.west=0,o.north=0,o.south=0,o.east=0,o;if(n===qt.RHUMB)return ue.fromCartesianArray(e,t,o);tA.ellipsoid.equals(t)||(tA=new _f(void 0,void 0,t)),o.west=Number.POSITIVE_INFINITY,o.east=Number.NEGATIVE_INFINITY,o.south=Number.POSITIVE_INFINITY,o.north=Number.NEGATIVE_INFINITY,u_.westOverIDL=Number.POSITIVE_INFINITY,u_.eastOverIDL=Number.NEGATIVE_INFINITY;let r=1/I.chordLength(i,t.maximumRadius),s=e.length,a=t.cartesianToCartographic(e[0],R1e),c=O1e,u;for(let f=1;f<s;f++)u=c,c=a,a=t.cartesianToCartographic(e[f],u),tA.setEndPoints(c,a),ZQ(tA,r,o,u_);return u=c,c=a,a=t.cartesianToCartographic(e[0],u),tA.setEndPoints(c,a),ZQ(tA,r,o,u_),o.east-o.west>u_.eastOverIDL-u_.westOverIDL&&(o.west=u_.westOverIDL,o.east=u_.eastOverIDL,o.east>I.PI&&(o.east=o.east-I.TWO_PI),o.west>I.PI&&(o.west=o.west-I.TWO_PI)),o}var M1e=new he;function ZQ(e,t,n,i){let o=e.surfaceDistance,r=Math.ceil(o*t),s=r>0?o/(r-1):Number.POSITIVE_INFINITY,a=0;for(let c=0;c<r;c++){let u=e.interpolateUsingSurfaceDistance(a,M1e);a+=s;let f=u.longitude,d=u.latitude;n.west=Math.min(n.west,f),n.east=Math.max(n.east,f),n.south=Math.min(n.south,d),n.north=Math.max(n.north,d);let p=f>=0?f:f+I.TWO_PI;i.westOverIDL=Math.min(i.westOverIDL,p),i.eastOverIDL=Math.max(i.eastOverIDL,p)}}var $Q=[];function B1e(e,t,n,i,o,r,s,a,c,u){let f={walls:[]},d;if(s||a){let b=zn.createGeometryFromPositions(e,t,n,i,r,c,u),E=b.attributes.position.values,S=b.indices,v,P;if(s&&a){let O=E.concat(E);v=O.length/3,P=Be.createTypedArray(v,S.length*2),P.set(S);let M=S.length,B=v/2;for(d=0;d<M;d+=3){let L=P[d]+B,_=P[d+1]+B,T=P[d+2]+B;P[d+M]=T,P[d+1+M]=_,P[d+2+M]=L}if(b.attributes.position.values=O,r&&c.normal){let L=b.attributes.normal.values;b.attributes.normal.values=new Float32Array(O.length),b.attributes.normal.values.set(L)}if(c.st&&l(n)){let L=b.attributes.st.values;b.attributes.st.values=new Float32Array(v*2),b.attributes.st.values=L.concat(L)}b.indices=P}else if(a){for(v=E.length/3,P=Be.createTypedArray(v,S.length),d=0;d<S.length;d+=3)P[d]=S[d+2],P[d+1]=S[d+1],P[d+2]=S[d];b.indices=P}f.topAndBottom=new pt({geometry:b})}let p=o.outerRing,g=da.fromPoints(p,e),m=g.projectPointsOntoPlane(p,$Q),C=ei.computeWindingOrder2D(m);C===$r.CLOCKWISE&&(p=p.slice().reverse());let x=zn.computeWallGeometry(p,n,e,i,r,u);f.walls.push(new pt({geometry:x}));let A=o.holes;for(d=0;d<A.length;d++){let b=A[d];g=da.fromPoints(b,e),m=g.projectPointsOntoPlane(b,$Q),C=ei.computeWindingOrder2D(m),C===$r.COUNTER_CLOCKWISE&&(b=b.slice().reverse()),x=zn.computeWallGeometry(b,n,e,i,r,u),f.walls.push(new pt({geometry:x}))}return f}function xf(e){let t=e.polygonHierarchy,n=y(e.vertexFormat,ve.DEFAULT),i=y(e.ellipsoid,oe.WGS84),o=y(e.granularity,I.RADIANS_PER_DEGREE),r=y(e.stRotation,0),s=e.textureCoordinates,a=y(e.perPositionHeight,!1),c=a&&l(e.extrudedHeight),u=y(e.height,0),f=y(e.extrudedHeight,u);if(!c){let d=Math.max(u,f);f=Math.min(u,f),u=d}this._vertexFormat=ve.clone(n),this._ellipsoid=oe.clone(i),this._granularity=o,this._stRotation=r,this._height=u,this._extrudedHeight=f,this._closeTop=y(e.closeTop,!0),this._closeBottom=y(e.closeBottom,!0),this._polygonHierarchy=t,this._perPositionHeight=a,this._perPositionHeightExtrude=c,this._shadowVolume=y(e.shadowVolume,!1),this._workerName="createPolygonGeometry",this._offsetAttribute=e.offsetAttribute,this._arcType=y(e.arcType,qt.GEODESIC),this._rectangle=void 0,this._textureCoordinateRotationPoints=void 0,this._textureCoordinates=s,this.packedLength=zn.computeHierarchyPackedLength(t,h)+oe.packedLength+ve.packedLength+(s?zn.computeHierarchyPackedLength(s,G):1)+12}xf.fromPositions=function(e){e=y(e,y.EMPTY_OBJECT);let t={polygonHierarchy:{positions:e.positions},height:e.height,extrudedHeight:e.extrudedHeight,vertexFormat:e.vertexFormat,stRotation:e.stRotation,ellipsoid:e.ellipsoid,granularity:e.granularity,perPositionHeight:e.perPositionHeight,closeTop:e.closeTop,closeBottom:e.closeBottom,offsetAttribute:e.offsetAttribute,arcType:e.arcType,textureCoordinates:e.textureCoordinates};return new xf(t)};xf.pack=function(e,t,n){return n=y(n,0),n=zn.packPolygonHierarchy(e._polygonHierarchy,t,n,h),oe.pack(e._ellipsoid,t,n),n+=oe.packedLength,ve.pack(e._vertexFormat,t,n),n+=ve.packedLength,t[n++]=e._height,t[n++]=e._extrudedHeight,t[n++]=e._granularity,t[n++]=e._stRotation,t[n++]=e._perPositionHeightExtrude?1:0,t[n++]=e._perPositionHeight?1:0,t[n++]=e._closeTop?1:0,t[n++]=e._closeBottom?1:0,t[n++]=e._shadowVolume?1:0,t[n++]=y(e._offsetAttribute,-1),t[n++]=e._arcType,l(e._textureCoordinates)?n=zn.packPolygonHierarchy(e._textureCoordinates,t,n,G):t[n++]=-1,t[n++]=e.packedLength,t};var L1e=oe.clone(oe.UNIT_SPHERE),N1e=new ve,F1e={polygonHierarchy:{}};xf.unpack=function(e,t,n){t=y(t,0);let i=zn.unpackPolygonHierarchy(e,t,h);t=i.startingIndex,delete i.startingIndex;let o=oe.unpack(e,t,L1e);t+=oe.packedLength;let r=ve.unpack(e,t,N1e);t+=ve.packedLength;let s=e[t++],a=e[t++],c=e[t++],u=e[t++],f=e[t++]===1,d=e[t++]===1,p=e[t++]===1,g=e[t++]===1,m=e[t++]===1,C=e[t++],x=e[t++],A=e[t]===-1?void 0:zn.unpackPolygonHierarchy(e,t,G);l(A)?(t=A.startingIndex,delete A.startingIndex):t++;let b=e[t++];return l(n)||(n=new xf(F1e)),n._polygonHierarchy=i,n._ellipsoid=oe.clone(o,n._ellipsoid),n._vertexFormat=ve.clone(r,n._vertexFormat),n._height=s,n._extrudedHeight=a,n._granularity=c,n._stRotation=u,n._perPositionHeightExtrude=f,n._perPositionHeight=d,n._closeTop=p,n._closeBottom=g,n._shadowVolume=m,n._offsetAttribute=C===-1?void 0:C,n._arcType=x,n._textureCoordinates=A,n.packedLength=b,n};xf.computeRectangle=function(e,t){let n=y(e.granularity,I.RADIANS_PER_DEGREE),i=y(e.arcType,qt.GEODESIC),o=e.polygonHierarchy,r=y(e.ellipsoid,oe.WGS84);return JQ(o.positions,r,i,n,t)};xf.createGeometry=function(e){let t=e._vertexFormat,n=e._ellipsoid,i=e._granularity,o=e._stRotation,r=e._polygonHierarchy,s=e._perPositionHeight,a=e._closeTop,c=e._closeBottom,u=e._arcType,f=e._textureCoordinates,d=l(f),p=r.positions;if(p.length<3)return;let g=da.fromPoints(p,n),m=zn.polygonsFromHierarchy(r,d,g.projectPointsOntoPlane.bind(g),!s,n),C=m.hierarchy,x=m.polygons,A=function(w){return w},b=d?zn.polygonsFromHierarchy(f,!0,A,!1).polygons:void 0;if(C.length===0)return;p=C[0].outerRing;let E=zn.computeBoundingRectangle(g.plane.normal,g.projectPointOntoPlane.bind(g),p,o,C1e),S=[],v=e._height,P=e._extrudedHeight,O=e._perPositionHeightExtrude||!I.equalsEpsilon(v,P,0,I.EPSILON2),M={perPositionHeight:s,vertexFormat:t,geometry:void 0,tangentPlane:g,boundingRectangle:E,ellipsoid:n,stRotation:o,textureCoordinates:void 0,bottom:!1,top:!0,wall:!1,extrude:!1,arcType:u},B;if(O)for(M.extrude=!0,M.top=a,M.bottom=c,M.shadowVolume=e._shadowVolume,M.offsetAttribute=e._offsetAttribute,B=0;B<x.length;B++){let w=B1e(n,x[B],d?b[B]:void 0,i,C[B],s,a,c,t,u),D;a&&c?(D=w.topAndBottom,M.geometry=zn.scaleToGeodeticHeightExtruded(D.geometry,v,P,n,s)):a?(D=w.topAndBottom,D.geometry.attributes.position.values=ei.scaleToGeodeticHeight(D.geometry.attributes.position.values,v,n,!s),M.geometry=D.geometry):c&&(D=w.topAndBottom,D.geometry.attributes.position.values=ei.scaleToGeodeticHeight(D.geometry.attributes.position.values,P,n,!0),M.geometry=D.geometry),(a||c)&&(M.wall=!1,D.geometry=X8(M),S.push(D));let R=w.walls;M.wall=!0;for(let F=0;F<R.length;F++){let z=R[F];M.geometry=zn.scaleToGeodeticHeightExtruded(z.geometry,v,P,n,s),z.geometry=X8(M),S.push(z)}}else for(B=0;B<x.length;B++){let w=new pt({geometry:zn.createGeometryFromPositions(n,x[B],d?b[B]:void 0,i,s,t,u)});if(w.geometry.attributes.position.values=ei.scaleToGeodeticHeight(w.geometry.attributes.position.values,v,n,!s),M.geometry=w.geometry,w.geometry=X8(M),l(e._offsetAttribute)){let D=w.geometry.attributes.position.values.length,R=e._offsetAttribute===Jt.NONE?0:1,F=new Uint8Array(D/3).fill(R);w.geometry.attributes.applyOffset=new Ee({componentDatatype:Z.UNSIGNED_BYTE,componentsPerAttribute:1,values:F})}S.push(w)}let L=In.combineInstances(S)[0];L.attributes.position.values=new Float64Array(L.attributes.position.values),L.indices=Be.createTypedArray(L.attributes.position.values.length/3,L.indices);let _=L.attributes,T=re.fromVertices(_.position.values);return t.position||delete _.position,new rt({attributes:_,indices:L.indices,primitiveType:L.primitiveType,boundingSphere:T,offsetAttribute:e._offsetAttribute})};xf.createShadowVolume=function(e,t,n){let i=e._granularity,o=e._ellipsoid,r=t(i,o),s=n(i,o);return new xf({polygonHierarchy:e._polygonHierarchy,ellipsoid:o,stRotation:e._stRotation,granularity:i,perPositionHeight:!1,extrudedHeight:r,height:s,vertexFormat:ve.POSITION_ONLY,shadowVolume:!0,arcType:e._arcType})};function V1e(e){let t=-e._stRotation;if(t===0)return[0,0,0,1,1,0];let n=e._ellipsoid,i=e._polygonHierarchy.positions,o=e.rectangle;return rt._textureCoordinateRotationPoints(i,t,n,o)}Object.defineProperties(xf.prototype,{rectangle:{get:function(){if(!l(this._rectangle)){let e=this._polygonHierarchy.positions;this._rectangle=JQ(e,this._ellipsoid,this._arcType,this._granularity)}return this._rectangle}},textureCoordinateRotationPoints:{get:function(){return l(this._textureCoordinateRotationPoints)||(this._textureCoordinateRotationPoints=V1e(this)),this._textureCoordinateRotationPoints}}});var nA=xf;function k1e(e,t){this.positions=l(e)?e:[],this.holes=l(t)?t:[]}var zc=k1e;var QQ=[],wI=[];function U1e(e,t,n,i,o){let s=da.fromPoints(t,e).projectPointsOntoPlane(t,QQ);ei.computeWindingOrder2D(s)===$r.CLOCKWISE&&(s.reverse(),t=t.slice().reverse());let c,u,f=t.length,d=0;if(i)for(c=new Float64Array(f*2*3),u=0;u<f;u++){let m=t[u],C=t[(u+1)%f];c[d++]=m.x,c[d++]=m.y,c[d++]=m.z,c[d++]=C.x,c[d++]=C.y,c[d++]=C.z}else{let m=0;if(o===qt.GEODESIC)for(u=0;u<f;u++)m+=zn.subdivideLineCount(t[u],t[(u+1)%f],n);else if(o===qt.RHUMB)for(u=0;u<f;u++)m+=zn.subdivideRhumbLineCount(e,t[u],t[(u+1)%f],n);for(c=new Float64Array(m*3),u=0;u<f;u++){let C;o===qt.GEODESIC?C=zn.subdivideLine(t[u],t[(u+1)%f],n,wI):o===qt.RHUMB&&(C=zn.subdivideRhumbLine(e,t[u],t[(u+1)%f],n,wI));let x=C.length;for(let A=0;A<x;++A)c[d++]=C[A]}}f=c.length/3;let p=f*2,g=Be.createTypedArray(f,p);for(d=0,u=0;u<f-1;u++)g[d++]=u,g[d++]=u+1;return g[d++]=f-1,g[d++]=0,new pt({geometry:new rt({attributes:new rn({position:new Ee({componentDatatype:Z.DOUBLE,componentsPerAttribute:3,values:c})}),indices:g,primitiveType:Ne.LINES})})}function z1e(e,t,n,i,o){let s=da.fromPoints(t,e).projectPointsOntoPlane(t,QQ);ei.computeWindingOrder2D(s)===$r.CLOCKWISE&&(s.reverse(),t=t.slice().reverse());let c,u,f=t.length,d=new Array(f),p=0;if(i)for(c=new Float64Array(f*2*3*2),u=0;u<f;++u){d[u]=p/3;let x=t[u],A=t[(u+1)%f];c[p++]=x.x,c[p++]=x.y,c[p++]=x.z,c[p++]=A.x,c[p++]=A.y,c[p++]=A.z}else{let x=0;if(o===qt.GEODESIC)for(u=0;u<f;u++)x+=zn.subdivideLineCount(t[u],t[(u+1)%f],n);else if(o===qt.RHUMB)for(u=0;u<f;u++)x+=zn.subdivideRhumbLineCount(e,t[u],t[(u+1)%f],n);for(c=new Float64Array(x*3*2),u=0;u<f;++u){d[u]=p/3;let A;o===qt.GEODESIC?A=zn.subdivideLine(t[u],t[(u+1)%f],n,wI):o===qt.RHUMB&&(A=zn.subdivideRhumbLine(e,t[u],t[(u+1)%f],n,wI));let b=A.length;for(let E=0;E<b;++E)c[p++]=A[E]}}f=c.length/(3*2);let g=d.length,m=(f*2+g)*2,C=Be.createTypedArray(f+g,m);for(p=0,u=0;u<f;++u)C[p++]=u,C[p++]=(u+1)%f,C[p++]=u+f,C[p++]=(u+1)%f+f;for(u=0;u<g;u++){let x=d[u];C[p++]=x,C[p++]=x+f}return new pt({geometry:new rt({attributes:new rn({position:new Ee({componentDatatype:Z.DOUBLE,componentsPerAttribute:3,values:c})}),indices:C,primitiveType:Ne.LINES})})}function J0(e){let t=e.polygonHierarchy,n=y(e.ellipsoid,oe.WGS84),i=y(e.granularity,I.RADIANS_PER_DEGREE),o=y(e.perPositionHeight,!1),r=o&&l(e.extrudedHeight),s=y(e.arcType,qt.GEODESIC),a=y(e.height,0),c=y(e.extrudedHeight,a);if(!r){let u=Math.max(a,c);c=Math.min(a,c),a=u}this._ellipsoid=oe.clone(n),this._granularity=i,this._height=a,this._extrudedHeight=c,this._arcType=s,this._polygonHierarchy=t,this._perPositionHeight=o,this._perPositionHeightExtrude=r,this._offsetAttribute=e.offsetAttribute,this._workerName="createPolygonOutlineGeometry",this.packedLength=zn.computeHierarchyPackedLength(t,h)+oe.packedLength+8}J0.pack=function(e,t,n){return n=y(n,0),n=zn.packPolygonHierarchy(e._polygonHierarchy,t,n,h),oe.pack(e._ellipsoid,t,n),n+=oe.packedLength,t[n++]=e._height,t[n++]=e._extrudedHeight,t[n++]=e._granularity,t[n++]=e._perPositionHeightExtrude?1:0,t[n++]=e._perPositionHeight?1:0,t[n++]=e._arcType,t[n++]=y(e._offsetAttribute,-1),t[n]=e.packedLength,t};var H1e=oe.clone(oe.UNIT_SPHERE),G1e={polygonHierarchy:{}};J0.unpack=function(e,t,n){t=y(t,0);let i=zn.unpackPolygonHierarchy(e,t,h);t=i.startingIndex,delete i.startingIndex;let o=oe.unpack(e,t,H1e);t+=oe.packedLength;let r=e[t++],s=e[t++],a=e[t++],c=e[t++]===1,u=e[t++]===1,f=e[t++],d=e[t++],p=e[t];return l(n)||(n=new J0(G1e)),n._polygonHierarchy=i,n._ellipsoid=oe.clone(o,n._ellipsoid),n._height=r,n._extrudedHeight=s,n._granularity=a,n._perPositionHeight=u,n._perPositionHeightExtrude=c,n._arcType=f,n._offsetAttribute=d===-1?void 0:d,n.packedLength=p,n};J0.fromPositions=function(e){e=y(e,y.EMPTY_OBJECT);let t={polygonHierarchy:{positions:e.positions},height:e.height,extrudedHeight:e.extrudedHeight,ellipsoid:e.ellipsoid,granularity:e.granularity,perPositionHeight:e.perPositionHeight,arcType:e.arcType,offsetAttribute:e.offsetAttribute};return new J0(t)};J0.createGeometry=function(e){let t=e._ellipsoid,n=e._granularity,i=e._polygonHierarchy,o=e._perPositionHeight,r=e._arcType,s=zn.polygonOutlinesFromHierarchy(i,!o,t);if(s.length===0)return;let a,c=[],u=I.chordLength(n,t.maximumRadius),f=e._height,d=e._extrudedHeight,p=e._perPositionHeightExtrude||!I.equalsEpsilon(f,d,0,I.EPSILON2),g,m;if(p)for(m=0;m<s.length;m++){if(a=z1e(t,s[m],u,o,r),a.geometry=zn.scaleToGeodeticHeightExtruded(a.geometry,f,d,t,o),l(e._offsetAttribute)){let A=a.geometry.attributes.position.values.length/3,b=new Uint8Array(A);e._offsetAttribute===Jt.TOP?b=b.fill(1,0,A/2):(g=e._offsetAttribute===Jt.NONE?0:1,b=b.fill(g)),a.geometry.attributes.applyOffset=new Ee({componentDatatype:Z.UNSIGNED_BYTE,componentsPerAttribute:1,values:b})}c.push(a)}else for(m=0;m<s.length;m++){if(a=U1e(t,s[m],u,o,r),a.geometry.attributes.position.values=ei.scaleToGeodeticHeight(a.geometry.attributes.position.values,f,t,!o),l(e._offsetAttribute)){let A=a.geometry.attributes.position.values.length;g=e._offsetAttribute===Jt.NONE?0:1;let b=new Uint8Array(A/3).fill(g);a.geometry.attributes.applyOffset=new Ee({componentDatatype:Z.UNSIGNED_BYTE,componentsPerAttribute:1,values:b})}c.push(a)}let C=In.combineInstances(c)[0],x=re.fromVertices(C.attributes.position.values);return new rt({attributes:C.attributes,indices:C.indices,primitiveType:C.primitiveType,boundingSphere:x,offsetAttribute:e._offsetAttribute})};var vI=J0;var oee=[];function W1e(e,t,n,i,o){let r=oee;r.length=o;let s,a=n.red,c=n.green,u=n.blue,f=n.alpha,d=i.red,p=i.green,g=i.blue,m=i.alpha;if(U.equals(n,i)){for(s=0;s<o;s++)r[s]=U.clone(n);return r}let C=(d-a)/o,x=(p-c)/o,A=(g-u)/o,b=(m-f)/o;for(s=0;s<o;s++)r[s]=new U(a+s*C,c+s*x,u+s*A,f+s*b);return r}function iS(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n=e.colors,i=y(e.width,1),o=y(e.colorsPerVertex,!1);this._positions=t,this._colors=n,this._width=i,this._colorsPerVertex=o,this._vertexFormat=ve.clone(y(e.vertexFormat,ve.DEFAULT)),this._arcType=y(e.arcType,qt.GEODESIC),this._granularity=y(e.granularity,I.RADIANS_PER_DEGREE),this._ellipsoid=oe.clone(y(e.ellipsoid,oe.WGS84)),this._workerName="createPolylineGeometry";let r=1+t.length*h.packedLength;r+=l(n)?1+n.length*U.packedLength:1,this.packedLength=r+oe.packedLength+ve.packedLength+4}iS.pack=function(e,t,n){n=y(n,0);let i,o=e._positions,r=o.length;for(t[n++]=r,i=0;i<r;++i,n+=h.packedLength)h.pack(o[i],t,n);let s=e._colors;for(r=l(s)?s.length:0,t[n++]=r,i=0;i<r;++i,n+=U.packedLength)U.pack(s[i],t,n);return oe.pack(e._ellipsoid,t,n),n+=oe.packedLength,ve.pack(e._vertexFormat,t,n),n+=ve.packedLength,t[n++]=e._width,t[n++]=e._colorsPerVertex?1:0,t[n++]=e._arcType,t[n]=e._granularity,t};var ree=oe.clone(oe.UNIT_SPHERE),see=new ve,Q0={positions:void 0,colors:void 0,ellipsoid:ree,vertexFormat:see,width:void 0,colorsPerVertex:void 0,arcType:void 0,granularity:void 0};iS.unpack=function(e,t,n){t=y(t,0);let i,o=e[t++],r=new Array(o);for(i=0;i<o;++i,t+=h.packedLength)r[i]=h.unpack(e,t);o=e[t++];let s=o>0?new Array(o):void 0;for(i=0;i<o;++i,t+=U.packedLength)s[i]=U.unpack(e,t);let a=oe.unpack(e,t,ree);t+=oe.packedLength;let c=ve.unpack(e,t,see);t+=ve.packedLength;let u=e[t++],f=e[t++]===1,d=e[t++],p=e[t];return l(n)?(n._positions=r,n._colors=s,n._ellipsoid=oe.clone(a,n._ellipsoid),n._vertexFormat=ve.clone(c,n._vertexFormat),n._width=u,n._colorsPerVertex=f,n._arcType=d,n._granularity=p,n):(Q0.positions=r,Q0.colors=s,Q0.width=u,Q0.colorsPerVertex=f,Q0.arcType=d,Q0.granularity=p,new iS(Q0))};var eee=new h,tee=new h,nee=new h,iee=new h;iS.createGeometry=function(e){let t=e._width,n=e._vertexFormat,i=e._colors,o=e._colorsPerVertex,r=e._arcType,s=e._granularity,a=e._ellipsoid,c,u,f,d=[],p=Co(e._positions,h.equalsEpsilon,!1,d);if(l(i)&&d.length>0){let R=0,F=d[0];i=i.filter(function(z,k){let H=!1;return o?H=k===F||k===0&&F===1:H=k+1===F,H?(R++,F=d[R],!1):!0})}let g=p.length;if(g<2||t<=0)return;if(r===qt.GEODESIC||r===qt.RHUMB){let R,F;r===qt.GEODESIC?(R=I.chordLength(s,a.maximumRadius),F=Si.numberOfPoints):(R=s,F=Si.numberOfPointsRhumbLine);let z=Si.extractHeights(p,a);if(l(i)){let k=1;for(c=0;c<g-1;++c)k+=F(p[c],p[c+1],R);let H=new Array(k),V=0;for(c=0;c<g-1;++c){let Y=p[c],q=p[c+1],X=i[c],W=F(Y,q,R);if(o&&c<k){let K=i[c+1],$=W1e(Y,q,X,K,W),le=$.length;for(u=0;u<le;++u)H[V++]=$[u]}else for(u=0;u<W;++u)H[V++]=U.clone(X)}H[V]=U.clone(i[i.length-1]),i=H,oee.length=0}r===qt.GEODESIC?p=Si.generateCartesianArc({positions:p,minDistance:R,ellipsoid:a,height:z}):p=Si.generateCartesianRhumbArc({positions:p,granularity:R,ellipsoid:a,height:z})}g=p.length;let m=g*4-4,C=new Float64Array(m*3),x=new Float64Array(m*3),A=new Float64Array(m*3),b=new Float32Array(m*2),E=n.st?new Float32Array(m*2):void 0,S=l(i)?new Uint8Array(m*4):void 0,v=0,P=0,O=0,M=0,B;for(u=0;u<g;++u){u===0?(B=eee,h.subtract(p[0],p[1],B),h.add(p[0],B,B)):B=p[u-1],h.clone(B,nee),h.clone(p[u],tee),u===g-1?(B=eee,h.subtract(p[g-1],p[g-2],B),h.add(p[g-1],B,B)):B=p[u+1],h.clone(B,iee);let R,F;l(S)&&(u!==0&&!o?R=i[u-1]:R=i[u],u!==g-1&&(F=i[u]));let z=u===0?2:0,k=u===g-1?2:4;for(f=z;f<k;++f){h.pack(tee,C,v),h.pack(nee,x,v),h.pack(iee,A,v),v+=3;let H=f-2<0?-1:1;if(b[P++]=2*(f%2)-1,b[P++]=H*t,n.st&&(E[O++]=u/(g-1),E[O++]=Math.max(b[P-2],0)),l(S)){let V=f<2?R:F;S[M++]=U.floatToByte(V.red),S[M++]=U.floatToByte(V.green),S[M++]=U.floatToByte(V.blue),S[M++]=U.floatToByte(V.alpha)}}}let L=new rn;L.position=new Ee({componentDatatype:Z.DOUBLE,componentsPerAttribute:3,values:C}),L.prevPosition=new Ee({componentDatatype:Z.DOUBLE,componentsPerAttribute:3,values:x}),L.nextPosition=new Ee({componentDatatype:Z.DOUBLE,componentsPerAttribute:3,values:A}),L.expandAndWidth=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:2,values:b}),n.st&&(L.st=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:2,values:E})),l(S)&&(L.color=new Ee({componentDatatype:Z.UNSIGNED_BYTE,componentsPerAttribute:4,values:S,normalize:!0}));let _=Be.createTypedArray(m,g*6-6),T=0,w=0,D=g-1;for(u=0;u<D;++u)_[w++]=T,_[w++]=T+2,_[w++]=T+1,_[w++]=T+1,_[w++]=T+2,_[w++]=T+3,T+=4;return new rt({attributes:L,indices:_,primitiveType:Ne.TRIANGLES,boundingSphere:re.fromPoints(p),geometryType:df.POLYLINES})};var f_=iS;function j1e(e,t,n,i){let o=new rn;i.position&&(o.position=new Ee({componentDatatype:Z.DOUBLE,componentsPerAttribute:3,values:e}));let r=t.length,s=e.length/3,a=(s-r*2)/(r*2),c=ei.triangulate(t),u=(a-1)*r*6+c.length*2,f=Be.createTypedArray(s,u),d,p,g,m,C,x,A=r*2,b=0;for(d=0;d<a-1;d++){for(p=0;p<r-1;p++)g=p*2+d*r*2,x=g+A,m=g+1,C=m+A,f[b++]=m,f[b++]=g,f[b++]=C,f[b++]=C,f[b++]=g,f[b++]=x;g=r*2-2+d*r*2,m=g+1,C=m+A,x=g+A,f[b++]=m,f[b++]=g,f[b++]=C,f[b++]=C,f[b++]=g,f[b++]=x}if(i.st||i.tangent||i.bitangent){let v=new Float32Array(s*2),P=1/(a-1),O=1/n.height,M=n.height/2,B,L,_=0;for(d=0;d<a;d++){for(B=d*P,L=O*(t[0].y+M),v[_++]=B,v[_++]=L,p=1;p<r;p++)L=O*(t[p].y+M),v[_++]=B,v[_++]=L,v[_++]=B,v[_++]=L;L=O*(t[0].y+M),v[_++]=B,v[_++]=L}for(p=0;p<r;p++)B=0,L=O*(t[p].y+M),v[_++]=B,v[_++]=L;for(p=0;p<r;p++)B=(a-1)*P,L=O*(t[p].y+M),v[_++]=B,v[_++]=L;o.st=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:2,values:new Float32Array(v)})}let E=s-r*2;for(d=0;d<c.length;d+=3){let v=c[d]+E,P=c[d+1]+E,O=c[d+2]+E;f[b++]=v,f[b++]=P,f[b++]=O,f[b++]=O+r,f[b++]=P+r,f[b++]=v+r}let S=new rt({attributes:o,indices:f,boundingSphere:re.fromVertices(e),primitiveType:Ne.TRIANGLES});if(i.normal&&(S=In.computeNormal(S)),i.tangent||i.bitangent){try{S=In.computeTangentAndBitangent(S)}catch{Bt("polyline-volume-tangent-bitangent","Unable to compute tangents and bitangents for polyline volume geometry")}i.tangent||(S.attributes.tangent=void 0),i.bitangent||(S.attributes.bitangent=void 0),i.st||(S.attributes.st=void 0)}return S}function rS(e){e=y(e,y.EMPTY_OBJECT);let t=e.polylinePositions,n=e.shapePositions;this._positions=t,this._shape=n,this._ellipsoid=oe.clone(y(e.ellipsoid,oe.WGS84)),this._cornerType=y(e.cornerType,bi.ROUNDED),this._vertexFormat=ve.clone(y(e.vertexFormat,ve.DEFAULT)),this._granularity=y(e.granularity,I.RADIANS_PER_DEGREE),this._workerName="createPolylineVolumeGeometry";let i=1+t.length*h.packedLength;i+=1+n.length*G.packedLength,this.packedLength=i+oe.packedLength+ve.packedLength+2}rS.pack=function(e,t,n){n=y(n,0);let i,o=e._positions,r=o.length;for(t[n++]=r,i=0;i<r;++i,n+=h.packedLength)h.pack(o[i],t,n);let s=e._shape;for(r=s.length,t[n++]=r,i=0;i<r;++i,n+=G.packedLength)G.pack(s[i],t,n);return oe.pack(e._ellipsoid,t,n),n+=oe.packedLength,ve.pack(e._vertexFormat,t,n),n+=ve.packedLength,t[n++]=e._cornerType,t[n]=e._granularity,t};var aee=oe.clone(oe.UNIT_SPHERE),cee=new ve,oS={polylinePositions:void 0,shapePositions:void 0,ellipsoid:aee,vertexFormat:cee,cornerType:void 0,granularity:void 0};rS.unpack=function(e,t,n){t=y(t,0);let i,o=e[t++],r=new Array(o);for(i=0;i<o;++i,t+=h.packedLength)r[i]=h.unpack(e,t);o=e[t++];let s=new Array(o);for(i=0;i<o;++i,t+=G.packedLength)s[i]=G.unpack(e,t);let a=oe.unpack(e,t,aee);t+=oe.packedLength;let c=ve.unpack(e,t,cee);t+=ve.packedLength;let u=e[t++],f=e[t];return l(n)?(n._positions=r,n._shape=s,n._ellipsoid=oe.clone(a,n._ellipsoid),n._vertexFormat=ve.clone(c,n._vertexFormat),n._cornerType=u,n._granularity=f,n):(oS.polylinePositions=r,oS.shapePositions=s,oS.cornerType=u,oS.granularity=f,new rS(oS))};var q1e=new Ge;rS.createGeometry=function(e){let t=e._positions,n=Co(t,h.equalsEpsilon),i=e._shape;if(i=kd.removeDuplicatesFromShape(i),n.length<2||i.length<3)return;ei.computeWindingOrder2D(i)===$r.CLOCKWISE&&i.reverse();let o=Ge.fromPoints(i,q1e),r=kd.computePositions(n,i,o,e,!0);return j1e(r,i,o,e._vertexFormat)};var DI=rS;function Y1e(e,t){let n=new rn;n.position=new Ee({componentDatatype:Z.DOUBLE,componentsPerAttribute:3,values:e});let i=t.length,o=n.position.values.length/3,s=e.length/3/i,a=Be.createTypedArray(o,2*i*(s+1)),c,u,f=0;c=0;let d=c*i;for(u=0;u<i-1;u++)a[f++]=u+d,a[f++]=u+d+1;for(a[f++]=i-1+d,a[f++]=d,c=s-1,d=c*i,u=0;u<i-1;u++)a[f++]=u+d,a[f++]=u+d+1;for(a[f++]=i-1+d,a[f++]=d,c=0;c<s-1;c++){let g=i*c,m=g+i;for(u=0;u<i;u++)a[f++]=u+g,a[f++]=u+m}return new rt({attributes:n,indices:Be.createTypedArray(o,a),boundingSphere:re.fromVertices(e),primitiveType:Ne.LINES})}function aS(e){e=y(e,y.EMPTY_OBJECT);let t=e.polylinePositions,n=e.shapePositions;this._positions=t,this._shape=n,this._ellipsoid=oe.clone(y(e.ellipsoid,oe.WGS84)),this._cornerType=y(e.cornerType,bi.ROUNDED),this._granularity=y(e.granularity,I.RADIANS_PER_DEGREE),this._workerName="createPolylineVolumeOutlineGeometry";let i=1+t.length*h.packedLength;i+=1+n.length*G.packedLength,this.packedLength=i+oe.packedLength+2}aS.pack=function(e,t,n){n=y(n,0);let i,o=e._positions,r=o.length;for(t[n++]=r,i=0;i<r;++i,n+=h.packedLength)h.pack(o[i],t,n);let s=e._shape;for(r=s.length,t[n++]=r,i=0;i<r;++i,n+=G.packedLength)G.pack(s[i],t,n);return oe.pack(e._ellipsoid,t,n),n+=oe.packedLength,t[n++]=e._cornerType,t[n]=e._granularity,t};var lee=oe.clone(oe.UNIT_SPHERE),sS={polylinePositions:void 0,shapePositions:void 0,ellipsoid:lee,height:void 0,cornerType:void 0,granularity:void 0};aS.unpack=function(e,t,n){t=y(t,0);let i,o=e[t++],r=new Array(o);for(i=0;i<o;++i,t+=h.packedLength)r[i]=h.unpack(e,t);o=e[t++];let s=new Array(o);for(i=0;i<o;++i,t+=G.packedLength)s[i]=G.unpack(e,t);let a=oe.unpack(e,t,lee);t+=oe.packedLength;let c=e[t++],u=e[t];return l(n)?(n._positions=r,n._shape=s,n._ellipsoid=oe.clone(a,n._ellipsoid),n._cornerType=c,n._granularity=u,n):(sS.polylinePositions=r,sS.shapePositions=s,sS.cornerType=c,sS.granularity=u,new aS(sS))};var X1e=new Ge;aS.createGeometry=function(e){let t=e._positions,n=Co(t,h.equalsEpsilon),i=e._shape;if(i=kd.removeDuplicatesFromShape(i),n.length<2||i.length<3)return;ei.computeWindingOrder2D(i)===$r.CLOCKWISE&&i.reverse();let o=Ge.fromPoints(i,X1e),r=kd.computePositions(n,i,o,e,!1);return Y1e(r,i)};var PI=aS;function uee(){ye.throwInstantiationError()}uee.prototype.getURL=ye.throwInstantiationError;var fee=uee;function K1e(e){let t=e.points,n=e.times;return function(i,o){l(o)||(o=new Oe);let r=e._lastTimeIndex=e.findTimeInterval(i,e._lastTimeIndex),s=(i-n[r])/(n[r+1]-n[r]),a=t[r],c=t[r+1];return Oe.fastSlerp(a,c,s,o)}}function iA(e){e=y(e,y.EMPTY_OBJECT);let t=e.points,n=e.times;this._times=n,this._points=t,this._evaluateFunction=K1e(this),this._lastTimeIndex=0}Object.defineProperties(iA.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}}});iA.prototype.findTimeInterval=Xi.prototype.findTimeInterval;iA.prototype.wrapTime=Xi.prototype.wrapTime;iA.prototype.clampTime=Xi.prototype.clampTime;iA.prototype.evaluate=function(e,t){return this._evaluateFunction(e,t)};var II=iA;var hee=Ri(dee(),1);function OI(){this._tree=new hee.default}function ey(){this.minX=0,this.minY=0,this.maxX=0,this.maxY=0,this.id=""}ey.fromRectangleAndId=function(e,t,n){return n.minX=t.west,n.minY=t.south,n.maxX=t.east,n.maxY=t.north,n.id=e,n};OI.prototype.insert=function(e,t){let n=ey.fromRectangleAndId(e,t,new ey);this._tree.insert(n)};function Z1e(e,t){return e.id===t.id}var $1e=new ey;OI.prototype.remove=function(e,t){let n=ey.fromRectangleAndId(e,t,$1e);this._tree.remove(n,Z1e)};var J1e=new ey;OI.prototype.collides=function(e){let t=ey.fromRectangleAndId("",e,J1e);return this._tree.collides(t)};var oA=OI;var mee=Math.cos,pee=Math.sin,Q1e=Math.sqrt,J8={};J8.computePosition=function(e,t,n,i,o,r,s){let a=t.radiiSquared,c=e.nwCorner,u=e.boundingRectangle,f=c.latitude-e.granYCos*i+o*e.granXSin,d=mee(f),p=pee(f),g=a.z*p,m=c.longitude+i*e.granYSin+o*e.granXCos,C=d*mee(m),x=d*pee(m),A=a.x*C,b=a.y*x,E=Q1e(A*C+b*x+g*p);if(r.x=A/E,r.y=b/E,r.z=g/E,n){let S=e.stNwCorner;l(S)?(f=S.latitude-e.stGranYCos*i+o*e.stGranXSin,m=S.longitude+i*e.stGranYSin+o*e.stGranXCos,s.x=(m-e.stWest)*e.lonScalar,s.y=(f-e.stSouth)*e.latScalar):(s.x=(m-u.west)*e.lonScalar,s.y=(f-u.south)*e.latScalar)}};var eIe=new Yi,pu=new h,tIe=new he,RI=new h,$8=new xi;function _ee(e,t,n,i,o,r,s){let a=Math.cos(t),c=i*a,u=n*a,f=Math.sin(t),d=i*f,p=n*f;pu=$8.project(e,pu),pu=h.subtract(pu,RI,pu);let g=Yi.fromRotation(t,eIe);pu=Yi.multiplyByVector(g,pu,pu),pu=h.add(pu,RI,pu),e=$8.unproject(pu,e),r-=1,s-=1;let m=e.latitude,C=m+r*p,x=m-c*s,A=m-c*s+r*p,b=Math.max(m,C,x,A),E=Math.min(m,C,x,A),S=e.longitude,v=S+r*u,P=S+s*d,O=S+s*d+r*u,M=Math.max(S,v,P,O),B=Math.min(S,v,P,O);return{north:b,south:E,east:M,west:B,granYCos:c,granYSin:d,granXCos:u,granXSin:p,nwCorner:e}}J8.computeOptions=function(e,t,n,i,o,r,s){let a=e.east,c=e.west,u=e.north,f=e.south,d=!1,p=!1;u===I.PI_OVER_TWO&&(d=!0),f===-I.PI_OVER_TWO&&(p=!0);let g,m=u-f;c>a?g=I.TWO_PI-c+a:g=a-c;let C=Math.ceil(g/t)+1,x=Math.ceil(m/t)+1,A=g/(C-1),b=m/(x-1),E=ue.northwest(e,r),S=ue.center(e,tIe);(n!==0||i!==0)&&(S.longitude<E.longitude&&(S.longitude+=I.TWO_PI),RI=$8.project(S,RI));let v=b,P=A,O=0,M=0,B=ue.clone(e,o),L={granYCos:v,granYSin:O,granXCos:P,granXSin:M,nwCorner:E,boundingRectangle:B,width:C,height:x,northCap:d,southCap:p};if(n!==0){let _=_ee(E,n,A,b,S,C,x);u=_.north,f=_.south,a=_.east,c=_.west,L.granYCos=_.granYCos,L.granYSin=_.granYSin,L.granXCos=_.granXCos,L.granXSin=_.granXSin,B.north=u,B.south=f,B.east=a,B.west=c}if(i!==0){n=n-i;let _=ue.northwest(B,s),T=_ee(_,n,A,b,S,C,x);L.stGranYCos=T.granYCos,L.stGranXCos=T.granXCos,L.stGranYSin=T.granYSin,L.stGranXSin=T.granXSin,L.stNwCorner=_,L.stWest=T.west,L.stSouth=T.south}return L};var cs=J8;var Q8=new h,Cee=new h,xee=new h,Aee=new h,Tee=new ue,nIe=new G,iIe=new re,oIe=new re;function Eee(e,t){let n=new rt({attributes:new rn,primitiveType:Ne.TRIANGLES});return n.attributes.position=new Ee({componentDatatype:Z.DOUBLE,componentsPerAttribute:3,values:t.positions}),e.normal&&(n.attributes.normal=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:t.normals})),e.tangent&&(n.attributes.tangent=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:t.tangents})),e.bitangent&&(n.attributes.bitangent=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:t.bitangents})),n}function rIe(e,t,n,i){let o=e.length,r=t.normal?new Float32Array(o):void 0,s=t.tangent?new Float32Array(o):void 0,a=t.bitangent?new Float32Array(o):void 0,c=0,u=Aee,f=xee,d=Cee;if(t.normal||t.tangent||t.bitangent)for(let p=0;p<o;p+=3){let g=h.fromArray(e,p,Q8),m=c+1,C=c+2;d=n.geodeticSurfaceNormal(g,d),(t.tangent||t.bitangent)&&(h.cross(h.UNIT_Z,d,f),J.multiplyByVector(i,f,f),h.normalize(f,f),t.bitangent&&h.normalize(h.cross(d,f,u),u)),t.normal&&(r[c]=d.x,r[m]=d.y,r[C]=d.z),t.tangent&&(s[c]=f.x,s[m]=f.y,s[C]=f.z),t.bitangent&&(a[c]=u.x,a[m]=u.y,a[C]=u.z),c+=3}return Eee(t,{positions:e,normals:r,tangents:s,bitangents:a})}var eG=new h,bee=new h;function sIe(e,t,n){let i=e.length,o=t.normal?new Float32Array(i):void 0,r=t.tangent?new Float32Array(i):void 0,s=t.bitangent?new Float32Array(i):void 0,a=0,c=0,u=0,f=!0,d=Aee,p=xee,g=Cee;if(t.normal||t.tangent||t.bitangent)for(let m=0;m<i;m+=6){let C=h.fromArray(e,m,Q8),x=h.fromArray(e,(m+6)%i,eG);if(f){let A=h.fromArray(e,(m+3)%i,bee);h.subtract(x,C,x),h.subtract(A,C,A),g=h.normalize(h.cross(A,x,g),g),f=!1}h.equalsEpsilon(x,C,I.EPSILON10)&&(f=!0),(t.tangent||t.bitangent)&&(d=n.geodeticSurfaceNormal(C,d),t.tangent&&(p=h.normalize(h.cross(d,g,p),p))),t.normal&&(o[a++]=g.x,o[a++]=g.y,o[a++]=g.z,o[a++]=g.x,o[a++]=g.y,o[a++]=g.z),t.tangent&&(r[c++]=p.x,r[c++]=p.y,r[c++]=p.z,r[c++]=p.x,r[c++]=p.y,r[c++]=p.z),t.bitangent&&(s[u++]=d.x,s[u++]=d.y,s[u++]=d.z,s[u++]=d.x,s[u++]=d.y,s[u++]=d.z)}return Eee(t,{positions:e,normals:o,tangents:r,bitangents:s})}function See(e,t){let n=e._vertexFormat,i=e._ellipsoid,o=t.height,r=t.width,s=t.northCap,a=t.southCap,c=0,u=o,f=o,d=0;s&&(c=1,f-=1,d+=1),a&&(u-=1,f-=1,d+=1),d+=r*f;let p=n.position?new Float64Array(d*3):void 0,g=n.st?new Float32Array(d*2):void 0,m=0,C=0,x=Q8,A=nIe,b=Number.MAX_VALUE,E=Number.MAX_VALUE,S=-Number.MAX_VALUE,v=-Number.MAX_VALUE;for(let T=c;T<u;++T)for(let w=0;w<r;++w)cs.computePosition(t,i,n.st,T,w,x,A),p[m++]=x.x,p[m++]=x.y,p[m++]=x.z,n.st&&(g[C++]=A.x,g[C++]=A.y,b=Math.min(b,A.x),E=Math.min(E,A.y),S=Math.max(S,A.x),v=Math.max(v,A.y));if(s&&(cs.computePosition(t,i,n.st,0,0,x,A),p[m++]=x.x,p[m++]=x.y,p[m++]=x.z,n.st&&(g[C++]=A.x,g[C++]=A.y,b=A.x,E=A.y,S=A.x,v=A.y)),a&&(cs.computePosition(t,i,n.st,o-1,0,x,A),p[m++]=x.x,p[m++]=x.y,p[m]=x.z,n.st&&(g[C++]=A.x,g[C]=A.y,b=Math.min(b,A.x),E=Math.min(E,A.y),S=Math.max(S,A.x),v=Math.max(v,A.y))),n.st&&(b<0||E<0||S>1||v>1))for(let T=0;T<g.length;T+=2)g[T]=(g[T]-b)/(S-b),g[T+1]=(g[T+1]-E)/(v-E);let P=rIe(p,n,i,t.tangentRotationMatrix),O=6*(r-1)*(f-1);s&&(O+=3*(r-1)),a&&(O+=3*(r-1));let M=Be.createTypedArray(d,O),B=0,L=0,_;for(_=0;_<f-1;++_){for(let T=0;T<r-1;++T){let w=B,D=w+r,R=D+1,F=w+1;M[L++]=w,M[L++]=D,M[L++]=F,M[L++]=F,M[L++]=D,M[L++]=R,++B}++B}if(s||a){let T=d-1,w=d-1;s&&a&&(T=d-2);let D,R;if(B=0,s)for(_=0;_<r-1;_++)D=B,R=D+1,M[L++]=T,M[L++]=D,M[L++]=R,++B;if(a)for(B=(f-1)*r,_=0;_<r-1;_++)D=B,R=D+1,M[L++]=D,M[L++]=w,M[L++]=R,++B}return P.indices=M,n.st&&(P.attributes.st=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:2,values:g})),P}function rA(e,t,n,i,o){return e[t++]=i[n],e[t++]=i[n+1],e[t++]=i[n+2],e[t++]=o[n],e[t++]=o[n+1],e[t]=o[n+2],e}function sA(e,t,n,i){return e[t++]=i[n],e[t++]=i[n+1],e[t++]=i[n],e[t]=i[n+1],e}var tG=new ve;function aIe(e,t){let n=e._shadowVolume,i=e._offsetAttribute,o=e._vertexFormat,r=e._extrudedHeight,s=e._surfaceHeight,a=e._ellipsoid,c=t.height,u=t.width,f;if(n){let dt=ve.clone(o,tG);dt.normal=!0,e._vertexFormat=dt}let d=See(e,t);n&&(e._vertexFormat=o);let p=ei.scaleToGeodeticHeight(d.attributes.position.values,s,a,!1);p=new Float64Array(p);let g=p.length,m=g*2,C=new Float64Array(m);C.set(p);let x=ei.scaleToGeodeticHeight(d.attributes.position.values,r,a);C.set(x,g),d.attributes.position.values=C;let A=o.normal?new Float32Array(m):void 0,b=o.tangent?new Float32Array(m):void 0,E=o.bitangent?new Float32Array(m):void 0,S=o.st?new Float32Array(m/3*2):void 0,v,P;if(o.normal){for(P=d.attributes.normal.values,A.set(P),f=0;f<g;f++)P[f]=-P[f];A.set(P,g),d.attributes.normal.values=A}if(n){P=d.attributes.normal.values,o.normal||(d.attributes.normal=void 0);let dt=new Float32Array(m);for(f=0;f<g;f++)P[f]=-P[f];dt.set(P,g),d.attributes.extrudeDirection=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:dt})}let O,M=l(i);if(M){let dt=g/3*2,vn=new Uint8Array(dt);i===Jt.TOP?vn=vn.fill(1,0,dt/2):(O=i===Jt.NONE?0:1,vn=vn.fill(O)),d.attributes.applyOffset=new Ee({componentDatatype:Z.UNSIGNED_BYTE,componentsPerAttribute:1,values:vn})}if(o.tangent){let dt=d.attributes.tangent.values;for(b.set(dt),f=0;f<g;f++)dt[f]=-dt[f];b.set(dt,g),d.attributes.tangent.values=b}if(o.bitangent){let dt=d.attributes.bitangent.values;E.set(dt),E.set(dt,g),d.attributes.bitangent.values=E}o.st&&(v=d.attributes.st.values,S.set(v),S.set(v,g/3*2),d.attributes.st.values=S);let B=d.indices,L=B.length,_=g/3,T=Be.createTypedArray(m/3,L*2);for(T.set(B),f=0;f<L;f+=3)T[f+L]=B[f+2]+_,T[f+1+L]=B[f+1]+_,T[f+2+L]=B[f]+_;d.indices=T;let w=t.northCap,D=t.southCap,R=c,F=2,z=0,k=4,H=4;w&&(F-=1,R-=1,z+=1,k-=2,H-=1),D&&(F-=1,R-=1,z+=1,k-=2,H-=1),z+=F*u+2*R-k;let V=(z+H)*2,Y=new Float64Array(V*3),q=n?new Float32Array(V*3):void 0,X=M?new Uint8Array(V):void 0,W=o.st?new Float32Array(V*2):void 0,K=i===Jt.TOP;M&&!K&&(O=i===Jt.ALL?1:0,X=X.fill(O));let $=0,le=0,me=0,ie=0,ce=u*R,pe;for(f=0;f<ce;f+=u)pe=f*3,Y=rA(Y,$,pe,p,x),$+=6,o.st&&(W=sA(W,le,f*2,v),le+=4),n&&(me+=3,q[me++]=P[pe],q[me++]=P[pe+1],q[me++]=P[pe+2]),K&&(X[ie++]=1,ie+=1);if(D){let dt=w?ce+1:ce;for(pe=dt*3,f=0;f<2;f++)Y=rA(Y,$,pe,p,x),$+=6,o.st&&(W=sA(W,le,dt*2,v),le+=4),n&&(me+=3,q[me++]=P[pe],q[me++]=P[pe+1],q[me++]=P[pe+2]),K&&(X[ie++]=1,ie+=1)}else for(f=ce-u;f<ce;f++)pe=f*3,Y=rA(Y,$,pe,p,x),$+=6,o.st&&(W=sA(W,le,f*2,v),le+=4),n&&(me+=3,q[me++]=P[pe],q[me++]=P[pe+1],q[me++]=P[pe+2]),K&&(X[ie++]=1,ie+=1);for(f=ce-1;f>0;f-=u)pe=f*3,Y=rA(Y,$,pe,p,x),$+=6,o.st&&(W=sA(W,le,f*2,v),le+=4),n&&(me+=3,q[me++]=P[pe],q[me++]=P[pe+1],q[me++]=P[pe+2]),K&&(X[ie++]=1,ie+=1);if(w){let dt=ce;for(pe=dt*3,f=0;f<2;f++)Y=rA(Y,$,pe,p,x),$+=6,o.st&&(W=sA(W,le,dt*2,v),le+=4),n&&(me+=3,q[me++]=P[pe],q[me++]=P[pe+1],q[me++]=P[pe+2]),K&&(X[ie++]=1,ie+=1)}else for(f=u-1;f>=0;f--)pe=f*3,Y=rA(Y,$,pe,p,x),$+=6,o.st&&(W=sA(W,le,f*2,v),le+=4),n&&(me+=3,q[me++]=P[pe],q[me++]=P[pe+1],q[me++]=P[pe+2]),K&&(X[ie++]=1,ie+=1);let Ae=sIe(Y,o,a);o.st&&(Ae.attributes.st=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:2,values:W})),n&&(Ae.attributes.extrudeDirection=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:q})),M&&(Ae.attributes.applyOffset=new Ee({componentDatatype:Z.UNSIGNED_BYTE,componentsPerAttribute:1,values:X}));let we=Be.createTypedArray(V,z*6),Re,Ue,bt,Ut;g=Y.length/3;let sn=0;for(f=0;f<g-1;f+=2){Re=f,Ut=(Re+2)%g;let dt=h.fromArray(Y,Re*3,eG),vn=h.fromArray(Y,Ut*3,bee);h.equalsEpsilon(dt,vn,I.EPSILON10)||(Ue=(Re+1)%g,bt=(Ue+2)%g,we[sn++]=Re,we[sn++]=Ue,we[sn++]=Ut,we[sn++]=Ut,we[sn++]=Ue,we[sn++]=bt)}return Ae.indices=we,Ae=In.combineInstances([new pt({geometry:d}),new pt({geometry:Ae})]),Ae[0]}var cIe=[new h,new h,new h,new h],wee=new he,lIe=new he;function nG(e,t,n,i,o){if(n===0)return ue.clone(e,o);let r=cs.computeOptions(e,t,n,0,Tee,wee),s=r.height,a=r.width,c=cIe;return cs.computePosition(r,i,!1,0,0,c[0]),cs.computePosition(r,i,!1,0,a-1,c[1]),cs.computePosition(r,i,!1,s-1,0,c[2]),cs.computePosition(r,i,!1,s-1,a-1,c[3]),ue.fromCartesianArray(c,i,o)}function $d(e){e=y(e,y.EMPTY_OBJECT);let t=e.rectangle,n=y(e.height,0),i=y(e.extrudedHeight,n);this._rectangle=ue.clone(t),this._granularity=y(e.granularity,I.RADIANS_PER_DEGREE),this._ellipsoid=oe.clone(y(e.ellipsoid,oe.WGS84)),this._surfaceHeight=Math.max(n,i),this._rotation=y(e.rotation,0),this._stRotation=y(e.stRotation,0),this._vertexFormat=ve.clone(y(e.vertexFormat,ve.DEFAULT)),this._extrudedHeight=Math.min(n,i),this._shadowVolume=y(e.shadowVolume,!1),this._workerName="createRectangleGeometry",this._offsetAttribute=e.offsetAttribute,this._rotatedRectangle=void 0,this._textureCoordinateRotationPoints=void 0}$d.packedLength=ue.packedLength+oe.packedLength+ve.packedLength+7;$d.pack=function(e,t,n){return n=y(n,0),ue.pack(e._rectangle,t,n),n+=ue.packedLength,oe.pack(e._ellipsoid,t,n),n+=oe.packedLength,ve.pack(e._vertexFormat,t,n),n+=ve.packedLength,t[n++]=e._granularity,t[n++]=e._surfaceHeight,t[n++]=e._rotation,t[n++]=e._stRotation,t[n++]=e._extrudedHeight,t[n++]=e._shadowVolume?1:0,t[n]=y(e._offsetAttribute,-1),t};var vee=new ue,Dee=oe.clone(oe.UNIT_SPHERE),d_={rectangle:vee,ellipsoid:Dee,vertexFormat:tG,granularity:void 0,height:void 0,rotation:void 0,stRotation:void 0,extrudedHeight:void 0,shadowVolume:void 0,offsetAttribute:void 0};$d.unpack=function(e,t,n){t=y(t,0);let i=ue.unpack(e,t,vee);t+=ue.packedLength;let o=oe.unpack(e,t,Dee);t+=oe.packedLength;let r=ve.unpack(e,t,tG);t+=ve.packedLength;let s=e[t++],a=e[t++],c=e[t++],u=e[t++],f=e[t++],d=e[t++]===1,p=e[t];return l(n)?(n._rectangle=ue.clone(i,n._rectangle),n._ellipsoid=oe.clone(o,n._ellipsoid),n._vertexFormat=ve.clone(r,n._vertexFormat),n._granularity=s,n._surfaceHeight=a,n._rotation=c,n._stRotation=u,n._extrudedHeight=f,n._shadowVolume=d,n._offsetAttribute=p===-1?void 0:p,n):(d_.granularity=s,d_.height=a,d_.rotation=c,d_.stRotation=u,d_.extrudedHeight=f,d_.shadowVolume=d,d_.offsetAttribute=p===-1?void 0:p,new $d(d_))};$d.computeRectangle=function(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.rectangle,i=y(e.granularity,I.RADIANS_PER_DEGREE),o=y(e.ellipsoid,oe.WGS84),r=y(e.rotation,0);return nG(n,i,r,o,t)};var uIe=new J,gee=new Oe,fIe=new he;$d.createGeometry=function(e){if(I.equalsEpsilon(e._rectangle.north,e._rectangle.south,I.EPSILON10)||I.equalsEpsilon(e._rectangle.east,e._rectangle.west,I.EPSILON10))return;let t=e._rectangle,n=e._ellipsoid,i=e._rotation,o=e._stRotation,r=e._vertexFormat,s=cs.computeOptions(t,e._granularity,i,o,Tee,wee,lIe),a=uIe;if(o!==0||i!==0){let g=ue.center(t,fIe),m=n.geodeticSurfaceNormalCartographic(g,eG);Oe.fromAxisAngle(m,-o,gee),J.fromQuaternion(gee,a)}else J.clone(J.IDENTITY,a);let c=e._surfaceHeight,u=e._extrudedHeight,f=!I.equalsEpsilon(c,u,0,I.EPSILON2);s.lonScalar=1/e._rectangle.width,s.latScalar=1/e._rectangle.height,s.tangentRotationMatrix=a;let d,p;if(t=e._rectangle,f){d=aIe(e,s);let g=re.fromRectangle3D(t,n,c,oIe),m=re.fromRectangle3D(t,n,u,iIe);p=re.union(g,m)}else{if(d=See(e,s),d.attributes.position.values=ei.scaleToGeodeticHeight(d.attributes.position.values,c,n,!1),l(e._offsetAttribute)){let g=d.attributes.position.values.length,m=e._offsetAttribute===Jt.NONE?0:1,C=new Uint8Array(g/3).fill(m);d.attributes.applyOffset=new Ee({componentDatatype:Z.UNSIGNED_BYTE,componentsPerAttribute:1,values:C})}p=re.fromRectangle3D(t,n,c)}return r.position||delete d.attributes.position,new rt({attributes:d.attributes,indices:d.indices,primitiveType:d.primitiveType,boundingSphere:p,offsetAttribute:e._offsetAttribute})};$d.createShadowVolume=function(e,t,n){let i=e._granularity,o=e._ellipsoid,r=t(i,o),s=n(i,o);return new $d({rectangle:e._rectangle,rotation:e._rotation,ellipsoid:o,stRotation:e._stRotation,granularity:i,extrudedHeight:s,height:r,vertexFormat:ve.POSITION_ONLY,shadowVolume:!0})};var yee=new ue,dIe=[new G,new G,new G],hIe=new Yi,mIe=new he;function pIe(e){if(e._stRotation===0)return[0,0,0,1,1,0];let t=ue.clone(e._rectangle,yee),n=e._granularity,i=e._ellipsoid,o=e._rotation-e._stRotation,r=nG(t,n,o,i,yee),s=dIe;s[0].x=r.west,s[0].y=r.south,s[1].x=r.west,s[1].y=r.north,s[2].x=r.east,s[2].y=r.south;let a=e.rectangle,c=Yi.fromRotation(e._stRotation,hIe),u=ue.center(a,mIe);for(let m=0;m<3;++m){let C=s[m];C.x-=u.longitude,C.y-=u.latitude,Yi.multiplyByVector(c,C,C),C.x+=u.longitude,C.y+=u.latitude,C.x=(C.x-a.west)/a.width,C.y=(C.y-a.south)/a.height}let f=s[0],d=s[1],p=s[2],g=new Array(6);return G.pack(f,g),G.pack(d,g,2),G.pack(p,g,4),g}Object.defineProperties($d.prototype,{rectangle:{get:function(){return l(this._rotatedRectangle)||(this._rotatedRectangle=nG(this._rectangle,this._granularity,this._rotation,this._ellipsoid)),this._rotatedRectangle}},textureCoordinateRotationPoints:{get:function(){return l(this._textureCoordinateRotationPoints)||(this._textureCoordinateRotationPoints=pIe(this)),this._textureCoordinateRotationPoints}}});var aA=$d;var _Ie=new re,gIe=new re,yIe=new h,CIe=new ue;function Pee(e,t){let n=e._ellipsoid,i=t.height,o=t.width,r=t.northCap,s=t.southCap,a=i,c=2,u=0,f=4;r&&(c-=1,a-=1,u+=1,f-=2),s&&(c-=1,a-=1,u+=1,f-=2),u+=c*o+2*a-f;let d=new Float64Array(u*3),p=0,g=0,m,C=yIe;if(r)cs.computePosition(t,n,!1,g,0,C),d[p++]=C.x,d[p++]=C.y,d[p++]=C.z;else for(m=0;m<o;m++)cs.computePosition(t,n,!1,g,m,C),d[p++]=C.x,d[p++]=C.y,d[p++]=C.z;for(m=o-1,g=1;g<i;g++)cs.computePosition(t,n,!1,g,m,C),d[p++]=C.x,d[p++]=C.y,d[p++]=C.z;if(g=i-1,!s)for(m=o-2;m>=0;m--)cs.computePosition(t,n,!1,g,m,C),d[p++]=C.x,d[p++]=C.y,d[p++]=C.z;for(m=0,g=i-2;g>0;g--)cs.computePosition(t,n,!1,g,m,C),d[p++]=C.x,d[p++]=C.y,d[p++]=C.z;let x=d.length/3*2,A=Be.createTypedArray(d.length/3,x),b=0;for(let S=0;S<d.length/3-1;S++)A[b++]=S,A[b++]=S+1;A[b++]=d.length/3-1,A[b++]=0;let E=new rt({attributes:new rn,primitiveType:Ne.LINES});return E.attributes.position=new Ee({componentDatatype:Z.DOUBLE,componentsPerAttribute:3,values:d}),E.indices=A,E}function xIe(e,t){let n=e._surfaceHeight,i=e._extrudedHeight,o=e._ellipsoid,r=i,s=n,a=Pee(e,t),c=t.height,u=t.width,f=ei.scaleToGeodeticHeight(a.attributes.position.values,s,o,!1),d=f.length,p=new Float64Array(d*2);p.set(f);let g=ei.scaleToGeodeticHeight(a.attributes.position.values,r,o);p.set(g,d),a.attributes.position.values=p;let m=t.northCap,C=t.southCap,x=4;m&&(x-=1),C&&(x-=1);let A=(p.length/3+x)*2,b=Be.createTypedArray(p.length/3,A);d=p.length/6;let E=0;for(let v=0;v<d-1;v++)b[E++]=v,b[E++]=v+1,b[E++]=v+d,b[E++]=v+d+1;b[E++]=d-1,b[E++]=0,b[E++]=d+d-1,b[E++]=d,b[E++]=0,b[E++]=d;let S;if(m)S=c-1;else{let v=u-1;b[E++]=v,b[E++]=v+d,S=u+c-2}if(b[E++]=S,b[E++]=S+d,!C){let v=u+S-1;b[E++]=v,b[E]=v+d}return a.indices=b,a}function lA(e){e=y(e,y.EMPTY_OBJECT);let t=e.rectangle,n=y(e.granularity,I.RADIANS_PER_DEGREE),i=y(e.ellipsoid,oe.WGS84),o=y(e.rotation,0),r=y(e.height,0),s=y(e.extrudedHeight,r);this._rectangle=ue.clone(t),this._granularity=n,this._ellipsoid=i,this._surfaceHeight=Math.max(r,s),this._rotation=o,this._extrudedHeight=Math.min(r,s),this._offsetAttribute=e.offsetAttribute,this._workerName="createRectangleOutlineGeometry"}lA.packedLength=ue.packedLength+oe.packedLength+5;lA.pack=function(e,t,n){return n=y(n,0),ue.pack(e._rectangle,t,n),n+=ue.packedLength,oe.pack(e._ellipsoid,t,n),n+=oe.packedLength,t[n++]=e._granularity,t[n++]=e._surfaceHeight,t[n++]=e._rotation,t[n++]=e._extrudedHeight,t[n]=y(e._offsetAttribute,-1),t};var Iee=new ue,Oee=oe.clone(oe.UNIT_SPHERE),cA={rectangle:Iee,ellipsoid:Oee,granularity:void 0,height:void 0,rotation:void 0,extrudedHeight:void 0,offsetAttribute:void 0};lA.unpack=function(e,t,n){t=y(t,0);let i=ue.unpack(e,t,Iee);t+=ue.packedLength;let o=oe.unpack(e,t,Oee);t+=oe.packedLength;let r=e[t++],s=e[t++],a=e[t++],c=e[t++],u=e[t];return l(n)?(n._rectangle=ue.clone(i,n._rectangle),n._ellipsoid=oe.clone(o,n._ellipsoid),n._surfaceHeight=s,n._rotation=a,n._extrudedHeight=c,n._offsetAttribute=u===-1?void 0:u,n):(cA.granularity=r,cA.height=s,cA.rotation=a,cA.extrudedHeight=c,cA.offsetAttribute=u===-1?void 0:u,new lA(cA))};var AIe=new he;lA.createGeometry=function(e){let t=e._rectangle,n=e._ellipsoid,i=cs.computeOptions(t,e._granularity,e._rotation,0,CIe,AIe),o,r;if(I.equalsEpsilon(t.north,t.south,I.EPSILON10)||I.equalsEpsilon(t.east,t.west,I.EPSILON10))return;let s=e._surfaceHeight,a=e._extrudedHeight,c=!I.equalsEpsilon(s,a,0,I.EPSILON2),u;if(c){if(o=xIe(e,i),l(e._offsetAttribute)){let p=o.attributes.position.values.length/3,g=new Uint8Array(p);e._offsetAttribute===Jt.TOP?g=g.fill(1,0,p/2):(u=e._offsetAttribute===Jt.NONE?0:1,g=g.fill(u)),o.attributes.applyOffset=new Ee({componentDatatype:Z.UNSIGNED_BYTE,componentsPerAttribute:1,values:g})}let f=re.fromRectangle3D(t,n,s,gIe),d=re.fromRectangle3D(t,n,a,_Ie);r=re.union(f,d)}else{if(o=Pee(e,i),o.attributes.position.values=ei.scaleToGeodeticHeight(o.attributes.position.values,s,n,!1),l(e._offsetAttribute)){let f=o.attributes.position.values.length;u=e._offsetAttribute===Jt.NONE?0:1;let d=new Uint8Array(f/3).fill(u);o.attributes.applyOffset=new Ee({componentDatatype:Z.UNSIGNED_BYTE,componentsPerAttribute:1,values:d})}r=re.fromRectangle3D(t,n,s)}return new rt({attributes:o.attributes,indices:o.indices,primitiveType:Ne.LINES,boundingSphere:r,offsetAttribute:e._offsetAttribute})};var uA=lA;var TIe={FIXED:0,INERTIAL:1},Zi=Object.freeze(TIe);var ty=30,EIe=1<<ty,bIe=1<<ty+1>>>0,iG=2*ty+1,h_=4,Bee=[],Lee=[],SIe=[[0,1,3,2],[0,2,3,1],[3,2,0,1],[3,1,0,2]],m_=1,fA=2,MI=[m_,0,0,m_|fA];function Or(e){if(!Mt.supportsBigInt())throw new de("S2 required BigInt support");this._cellId=e,this._level=Or.getLevel(e)}Or.fromToken=function(e){return new Or(Or.getIdFromToken(e))};Or.isValidId=function(e){return!(e<=0||e>>BigInt(iG)>5||!(e&~e+BigInt(1)&BigInt("0x1555555555555555")))};Or.isValidToken=function(e){return/^[0-9a-fA-F]{1,16}$/.test(e)?Or.isValidId(Or.getIdFromToken(e)):!1};Or.getIdFromToken=function(e){return BigInt("0x"+e+"0".repeat(16-e.length))};Or.getTokenFromId=function(e){let t=Math.floor(LIe(e)/4),n=e.toString(16).replace(/0*$/,"");return Array(17-t-n.length).join("0")+n};Or.getLevel=function(e){let t=0;for(;e!==BigInt(0)&&!(e&BigInt(1));)t++,e=e>>BigInt(1);return ty-(t>>1)};Or.prototype.getChild=function(e){let t=Vee(this._cellId)>>BigInt(2),n=this._cellId+BigInt(2*e+1-4)*t;return new Or(n)};Or.prototype.getParent=function(){let e=Vee(this._cellId)<<BigInt(2);return new Or(this._cellId&~e+BigInt(1)|e)};Or.prototype.getParentAtLevel=function(e){let t=MIe(e);return new Or(this._cellId&-t|t)};Or.prototype.getCenter=function(e){e=y(e,oe.WGS84);let t=wIe(this._cellId,this._level);t=h.normalize(t,t);let n=new he.fromCartesian(t,oe.UNIT_SPHERE);return he.toCartesian(n,e,new h)};Or.prototype.getVertex=function(e,t){t=y(t,oe.WGS84);let n=vIe(this._cellId,this._level,e);n=h.normalize(n,n);let i=new he.fromCartesian(n,oe.UNIT_SPHERE);return he.toCartesian(i,t,new h)};Or.fromFacePositionLevel=function(e,t,n){let i=(e<4?"0":"")+(e<2?"0":"")+e.toString(2),o=t.toString(2),r=Array(2*n-o.length+1).join("0"),s=Array(iG-2*n).join("0"),a=BigInt(`0b${i}${r}${o}1${s}`);return new Or(a)};function wIe(e,t){let n=DIe(e,t);return PIe(n[0],n[1],n[2])}function vIe(e,t,n){let i=Nee(e,t),o=IIe([i[1],i[2]],t),r=n>>1&1;return Fee(i[0],o[0][r^n&1],o[1][r])}function DIe(e,t){let n=Nee(e),i=n[0],o=n[1],r=n[2],s=t===30,a=!s&&(BigInt(o)^e>>BigInt(2))&BigInt(1),c=s?1:a?2:0,u=(o<<1)+c,f=(r<<1)+c;return[i,u,f]}function Nee(e){Bee.length===0&&RIe();let t=Number(e>>BigInt(iG)),n=t&m_,i=(1<<h_)-1,o=0,r=0;for(let s=7;s>=0;s--){let a=s===7?ty-7*h_:h_,c=(1<<2*a)-1;n+=Number(e>>BigInt(s*2*h_+1)&BigInt(c))<<2,n=Lee[n];let u=s*h_;o+=n>>h_+2<<u,r+=(n>>2&i)<<u,n&=m_|fA}return[t,o,r]}function PIe(e,t,n){let i=Ree(t),o=Ree(n),r=BI(i),s=BI(o);return Fee(e,r,s)}function Fee(e,t,n){switch(e){case 0:return new h(1,t,n);case 1:return new h(-t,1,n);case 2:return new h(-t,-n,1);case 3:return new h(-1,-n,-t);case 4:return new h(n,-1,-t);default:return new h(n,t,-1)}}function BI(e){return e>=.5?1/3*(4*e*e-1):1/3*(1-4*(1-e)*(1-e))}function Ree(e){return 1/bIe*e}function IIe(e,t){let n=[[],[]],i=OIe(t);for(let o=0;o<2;++o){let r=e[o]&-i,s=r+i;n[o][0]=BI(Mee(r)),n[o][1]=BI(Mee(s))}return n}function OIe(e){return 1<<ty-e>>>0}function Mee(e){return 1/EIe*e}function p_(e,t,n,i,o,r){if(e===h_){let s=(t<<h_)+n;Bee[(s<<2)+i]=(o<<2)+r,Lee[(o<<2)+i]=(s<<2)+r}else{e++,t<<=1,n<<=1,o<<=2;let s=SIe[r];p_(e,t+(s[0]>>1),n+(s[0]&1),i,o,r^MI[0]),p_(e,t+(s[1]>>1),n+(s[1]&1),i,o+1,r^MI[1]),p_(e,t+(s[2]>>1),n+(s[2]&1),i,o+2,r^MI[2]),p_(e,t+(s[3]>>1),n+(s[3]&1),i,o+3,r^MI[3])}}function RIe(){p_(0,0,0,0,0,0),p_(0,0,0,m_,0,m_),p_(0,0,0,fA,0,fA),p_(0,0,0,m_|fA,0,m_|fA)}function Vee(e){return e&~e+BigInt(1)}function MIe(e){return BigInt(1)<<BigInt(2*(ty-e))}var BIe=[64,0,1,39,2,15,40,23,3,12,16,59,41,19,24,54,4,64,13,10,17,62,60,28,42,30,20,51,25,44,55,47,5,32,65,38,14,22,11,58,18,53,63,9,61,27,29,50,43,46,31,37,21,57,52,8,26,49,45,36,56,7,48,35,6,34,33,0];function LIe(e){return BIe[(-e&e)%BigInt(67)]}var __=Or;var NIe={LEFT_DOWN:0,LEFT_UP:1,LEFT_CLICK:2,LEFT_DOUBLE_CLICK:3,RIGHT_DOWN:5,RIGHT_UP:6,RIGHT_CLICK:7,MIDDLE_DOWN:10,MIDDLE_UP:11,MIDDLE_CLICK:12,MOUSE_MOVE:15,WHEEL:16,PINCH_START:17,PINCH_END:18,PINCH_MOVE:19},fn=Object.freeze(NIe);function g_(e,t,n){let i=e._element;if(i===document)return n.x=t.clientX,n.y=t.clientY,n;let o=i.getBoundingClientRect();return n.x=t.clientX-o.left,n.y=t.clientY-o.top,n}function lG(e,t){let n=e;return l(t)&&(n+=`+${t}`),n}function ny(e){if(e.shiftKey)return Ys.SHIFT;if(e.ctrlKey)return Ys.CTRL;if(e.altKey)return Ys.ALT}var Jr={LEFT:0,MIDDLE:1,RIGHT:2};function yl(e,t,n,i){function o(r){i(e,r)}Mt.isInternetExplorer()?n.addEventListener(t,o,!1):n.addEventListener(t,o,{capture:!1,passive:!1}),e._removalFunctions.push(function(){n.removeEventListener(t,o,!1)})}function FIe(e){let t=e._element,n=l(t.disableRootEvents)?t:document;Mt.supportsPointerEvents()?(yl(e,"pointerdown",t,GIe),yl(e,"pointerup",t,Xee),yl(e,"pointermove",t,WIe),yl(e,"pointercancel",t,Xee)):(yl(e,"mousedown",t,Kee),yl(e,"mouseup",n,Zee),yl(e,"mousemove",n,$ee),yl(e,"touchstart",t,zIe),yl(e,"touchend",n,Gee),yl(e,"touchmove",n,HIe),yl(e,"touchcancel",n,Gee)),yl(e,"dblclick",t,kIe);let i;"onwheel"in t?i="wheel":document.onmousewheel!==void 0?i="mousewheel":i="DOMMouseScroll",yl(e,i,t,UIe)}function VIe(e){let t=e._removalFunctions;for(let n=0;n<t.length;++n)t[n]()}var kee={position:new G};function uG(e){e._lastSeenTouchEvent=Ei()}function fG(e){return Ei()-e._lastSeenTouchEvent>Af.mouseEmulationIgnoreMilliseconds}function cG(e,t,n){let i=e.x-t.x,o=e.y-t.y;return Math.sqrt(i*i+o*o)<n}function Kee(e,t){if(!fG(e))return;let n=t.button;e._buttonDown[n]=!0;let i;if(n===Jr.LEFT)i=fn.LEFT_DOWN;else if(n===Jr.MIDDLE)i=fn.MIDDLE_DOWN;else if(n===Jr.RIGHT)i=fn.RIGHT_DOWN;else return;let o=g_(e,t,e._primaryPosition);G.clone(o,e._primaryStartPosition),G.clone(o,e._primaryPreviousPosition);let r=ny(t),s=e.getInputAction(i,r);l(s)&&(G.clone(o,kee.position),s(kee),t.preventDefault())}var Uee={position:new G},zee={position:new G};function oG(e,t,n,i){let o=ny(i),r=e.getInputAction(t,o),s=e.getInputAction(n,o);if(l(r)||l(s)){let a=g_(e,i,e._primaryPosition);if(l(r)&&(G.clone(a,Uee.position),r(Uee)),l(s)){let c=e._primaryStartPosition;cG(c,a,e._clickPixelTolerance)&&(G.clone(a,zee.position),s(zee))}}}function Zee(e,t){if(!fG(e))return;let n=t.button;n!==Jr.LEFT&&n!==Jr.MIDDLE&&n!==Jr.RIGHT||(e._buttonDown[Jr.LEFT]&&(oG(e,fn.LEFT_UP,fn.LEFT_CLICK,t),e._buttonDown[Jr.LEFT]=!1),e._buttonDown[Jr.MIDDLE]&&(oG(e,fn.MIDDLE_UP,fn.MIDDLE_CLICK,t),e._buttonDown[Jr.MIDDLE]=!1),e._buttonDown[Jr.RIGHT]&&(oG(e,fn.RIGHT_UP,fn.RIGHT_CLICK,t),e._buttonDown[Jr.RIGHT]=!1))}var rG={startPosition:new G,endPosition:new G};function $ee(e,t){if(!fG(e))return;let n=ny(t),i=g_(e,t,e._primaryPosition),o=e._primaryPreviousPosition,r=e.getInputAction(fn.MOUSE_MOVE,n);l(r)&&(G.clone(o,rG.startPosition),G.clone(i,rG.endPosition),r(rG)),G.clone(i,o),(e._buttonDown[Jr.LEFT]||e._buttonDown[Jr.MIDDLE]||e._buttonDown[Jr.RIGHT])&&t.preventDefault()}var Hee={position:new G};function kIe(e,t){let n=t.button,i;if(n===Jr.LEFT)i=fn.LEFT_DOUBLE_CLICK;else return;let o=ny(t),r=e.getInputAction(i,o);l(r)&&(g_(e,t,Hee.position),r(Hee))}function UIe(e,t){let n;if(l(t.deltaY)){let r=t.deltaMode;r===t.DOM_DELTA_PIXEL?n=-t.deltaY:r===t.DOM_DELTA_LINE?n=-t.deltaY*40:n=-t.deltaY*120}else t.detail>0?n=t.detail*-120:n=t.wheelDelta;if(!l(n))return;let i=ny(t),o=e.getInputAction(fn.WHEEL,i);l(o)&&(o(n),t.preventDefault())}function zIe(e,t){uG(e);let n=t.changedTouches,i,o=n.length,r,s,a=e._positions;for(i=0;i<o;++i)r=n[i],s=r.identifier,a.set(s,g_(e,r,new G));LI(e,t);let c=e._previousPositions;for(i=0;i<o;++i)r=n[i],s=r.identifier,c.set(s,G.clone(a.get(s)))}function Gee(e,t){uG(e);let n=t.changedTouches,i,o=n.length,r,s,a=e._positions;for(i=0;i<o;++i)r=n[i],s=r.identifier,a.remove(s);LI(e,t);let c=e._previousPositions;for(i=0;i<o;++i)r=n[i],s=r.identifier,c.remove(s)}var Wee={position:new G},sG={position1:new G,position2:new G},jee={position:new G},qee={position:new G},Yee={position:new G};function LI(e,t){let n=ny(t),i=e._positions,o=i.length,r,s,a=e._isPinching;if(o!==1&&e._buttonDown[Jr.LEFT]){if(e._buttonDown[Jr.LEFT]=!1,l(e._touchHoldTimer)&&(clearTimeout(e._touchHoldTimer),e._touchHoldTimer=void 0),r=e.getInputAction(fn.LEFT_UP,n),l(r)&&(G.clone(e._primaryPosition,jee.position),r(jee)),o===0&&!e._isTouchHolding&&(s=e.getInputAction(fn.LEFT_CLICK,n),l(s))){let c=e._primaryStartPosition,u=e._previousPositions.values[0];cG(c,u,e._clickPixelTolerance)&&(G.clone(e._primaryPosition,qee.position),s(qee))}e._isTouchHolding=!1}if(o===0&&a&&(e._isPinching=!1,r=e.getInputAction(fn.PINCH_END,n),l(r)&&r()),o===1&&!a){let c=i.values[0];G.clone(c,e._primaryPosition),G.clone(c,e._primaryStartPosition),G.clone(c,e._primaryPreviousPosition),e._buttonDown[Jr.LEFT]=!0,r=e.getInputAction(fn.LEFT_DOWN,n),l(r)&&(G.clone(c,Wee.position),r(Wee)),e._touchHoldTimer=setTimeout(function(){if(!e.isDestroyed()&&(e._touchHoldTimer=void 0,e._isTouchHolding=!0,s=e.getInputAction(fn.RIGHT_CLICK,n),l(s))){let u=e._primaryStartPosition,f=e._previousPositions.values[0];cG(u,f,e._holdPixelTolerance)&&(G.clone(e._primaryPosition,Yee.position),s(Yee))}},Af.touchHoldDelayMilliseconds),t.preventDefault()}o===2&&!a&&(e._isPinching=!0,r=e.getInputAction(fn.PINCH_START,n),l(r)&&(G.clone(i.values[0],sG.position1),G.clone(i.values[1],sG.position2),r(sG),t.preventDefault()))}function HIe(e,t){uG(e);let n=t.changedTouches,i,o=n.length,r,s,a=e._positions;for(i=0;i<o;++i){r=n[i],s=r.identifier;let u=a.get(s);l(u)&&g_(e,r,u)}Jee(e,t);let c=e._previousPositions;for(i=0;i<o;++i)r=n[i],s=r.identifier,G.clone(a.get(s),c.get(s))}var aG={startPosition:new G,endPosition:new G},cS={distance:{startPosition:new G,endPosition:new G},angleAndHeight:{startPosition:new G,endPosition:new G}};function Jee(e,t){let n=ny(t),i=e._positions,o=e._previousPositions,r=i.length,s;if(r===1&&e._buttonDown[Jr.LEFT]){let a=i.values[0];G.clone(a,e._primaryPosition);let c=e._primaryPreviousPosition;s=e.getInputAction(fn.MOUSE_MOVE,n),l(s)&&(G.clone(c,aG.startPosition),G.clone(a,aG.endPosition),s(aG)),G.clone(a,c),t.preventDefault()}else if(r===2&&e._isPinching&&(s=e.getInputAction(fn.PINCH_MOVE,n),l(s))){let a=i.values[0],c=i.values[1],u=o.values[0],f=o.values[1],d=c.x-a.x,p=c.y-a.y,g=Math.sqrt(d*d+p*p)*.25,m=f.x-u.x,C=f.y-u.y,x=Math.sqrt(m*m+C*C)*.25,A=(c.y+a.y)*.125,b=(f.y+u.y)*.125,E=Math.atan2(p,d),S=Math.atan2(C,m);G.fromElements(0,x,cS.distance.startPosition),G.fromElements(0,g,cS.distance.endPosition),G.fromElements(S,b,cS.angleAndHeight.startPosition),G.fromElements(E,A,cS.angleAndHeight.endPosition),s(cS)}}function GIe(e,t){if(t.target.setPointerCapture(t.pointerId),t.pointerType==="touch"){let n=e._positions,i=t.pointerId;n.set(i,g_(e,t,new G)),LI(e,t),e._previousPositions.set(i,G.clone(n.get(i)))}else Kee(e,t)}function Xee(e,t){if(t.pointerType==="touch"){let n=e._positions,i=t.pointerId;n.remove(i),LI(e,t),e._previousPositions.remove(i)}else Zee(e,t)}function WIe(e,t){if(t.pointerType==="touch"){let n=e._positions,i=t.pointerId,o=n.get(i);if(!l(o))return;g_(e,t,o),Jee(e,t);let r=e._previousPositions;G.clone(n.get(i),r.get(i))}else $ee(e,t)}function Af(e){this._inputEvents={},this._buttonDown={LEFT:!1,MIDDLE:!1,RIGHT:!1},this._isPinching=!1,this._isTouchHolding=!1,this._lastSeenTouchEvent=-Af.mouseEmulationIgnoreMilliseconds,this._primaryStartPosition=new G,this._primaryPosition=new G,this._primaryPreviousPosition=new G,this._positions=new gt,this._previousPositions=new gt,this._removalFunctions=[],this._touchHoldTimer=void 0,this._clickPixelTolerance=5,this._holdPixelTolerance=25,this._element=y(e,document),FIe(this)}Af.prototype.setInputAction=function(e,t,n){let i=lG(t,n);this._inputEvents[i]=e};Af.prototype.getInputAction=function(e,t){let n=lG(e,t);return this._inputEvents[n]};Af.prototype.removeInputAction=function(e,t){let n=lG(e,t);delete this._inputEvents[n]};Af.prototype.isDestroyed=function(){return!1};Af.prototype.destroy=function(){return VIe(this),fe(this)};Af.mouseEmulationIgnoreMilliseconds=800;Af.touchHoldDelayMilliseconds=1500;var _u=Af;function NI(e){e=y(e,!0),this.value=NI.toValue(e)}Object.defineProperties(NI.prototype,{componentDatatype:{get:function(){return Z.UNSIGNED_BYTE}},componentsPerAttribute:{get:function(){return 1}},normalize:{get:function(){return!1}}});NI.toValue=function(e,t){return l(t)?(t[0]=e,t):new Uint8Array([e])};var dn=NI;var dG={};function jIe(e){let t=6.239996+.0172019696544*e;return .001657*Math.sin(t+.01671*Math.sin(t))}var qIe=32.184,YIe=2451545;function gte(e,t){t=Q.addSeconds(e,qIe,t);let n=Q.totalDays(t)-YIe;return t=Q.addSeconds(t,jIe(n),t),t}var FI=new Q(2451545,0,Wn.TAI),XIe=1e3,gu=I.RADIANS_PER_DEGREE,Cl=I.RADIANS_PER_ARCSECOND,Xs=14959787e4,Qee=new J;function yte(e,t,n,i,o,r,s){n<0&&(n=-n,o+=I.PI);let a=e*(1-t),c=i-o,u=o,f=ZIe(r-i,t),d=KIe(t,0);tOe(c,n,u,Qee);let p=a*(1+t),g=Math.cos(f),m=Math.sin(f),C=1+t*g,x=p/C;return l(s)?(s.x=x*g,s.y=x*m,s.z=0):s=new h(x*g,x*m,0),J.multiplyByVector(Qee,s,s)}function KIe(e,t){return e<=t?"Circular":e<1-t?"Elliptical":e<=1+t?"Parabolic":"Hyperbolic"}function ZIe(e,t){let n=QIe(e,t);return eOe(n,t)}var $Ie=50,JIe=I.EPSILON8;function QIe(e,t){let n=Math.floor(e/I.TWO_PI);e-=n*I.TWO_PI;let i=e+t*Math.sin(e)/(1-Math.sin(e+t)+Math.sin(e)),o=Number.MAX_VALUE,r;for(r=0;r<$Ie&&Math.abs(o-i)>JIe;++r){o=i;let s=o-t*Math.sin(o)-e,a=1-t*Math.cos(o);i=o-s/a}return o=i+n*I.TWO_PI,o}function eOe(e,t){let n=Math.floor(e/I.TWO_PI);e-=n*I.TWO_PI;let i=Math.cos(e)-t,o=Math.sin(e)*Math.sqrt(1-t*t),r=Math.atan2(o,i);return r=I.zeroToTwoPi(r),e<0&&(r-=I.TWO_PI),r+=n*I.TWO_PI,r}function tOe(e,t,n,i){let o=Math.cos(e),r=Math.sin(e),s=Math.cos(t),a=Math.sin(t),c=Math.cos(n),u=Math.sin(n);return l(i)?(i[0]=c*o-u*r*s,i[1]=u*o+c*r*s,i[2]=r*a,i[3]=-c*r-u*o*s,i[4]=-u*r+c*o*s,i[5]=o*a,i[6]=u*a,i[7]=-c*a,i[8]=s):i=new J(c*o-u*r*s,-c*r-u*o*s,u*a,u*o+c*r*s,-u*r+c*o*s,-c*a,r*a,o*a,s),i}var nOe=1.0000010178*Xs,iOe=100.46645683*gu,oOe=129597742283429e-5*Cl,ete=16002,tte=21863,nte=32004,ite=10931,ote=14529,rte=16368,ste=15318,ate=32794,rOe=64*1e-7*Xs,sOe=-152*1e-7*Xs,aOe=62*1e-7*Xs,cOe=-8*1e-7*Xs,lOe=32*1e-7*Xs,uOe=-41*1e-7*Xs,fOe=19*1e-7*Xs,dOe=-11*1e-7*Xs,hOe=-150*1e-7*Xs,mOe=-46*1e-7*Xs,pOe=68*1e-7*Xs,_Oe=54*1e-7*Xs,gOe=14*1e-7*Xs,yOe=24*1e-7*Xs,COe=-28*1e-7*Xs,xOe=22*1e-7*Xs,cte=10,lte=16002,ute=21863,fte=10931,dte=1473,hte=32004,mte=4387,pte=73,AOe=-325*1e-7,TOe=-322*1e-7,EOe=-79*1e-7,bOe=232*1e-7,SOe=-52*1e-7,wOe=97*1e-7,vOe=55*1e-7,DOe=-41*1e-7,POe=-105*1e-7,IOe=-137*1e-7,OOe=258*1e-7,ROe=35*1e-7,MOe=-116*1e-7,BOe=-88*1e-7,LOe=-112*1e-7,NOe=-80*1e-7,dA=new Q(0,0,Wn.TAI);function FOe(e,t){gte(e,dA);let i=(dA.dayNumber-FI.dayNumber+(dA.secondsOfDay-FI.secondsOfDay)/Yn.SECONDS_PER_DAY)/(Yn.DAYS_PER_JULIAN_CENTURY*10),o=.3595362*i,r=nOe+rOe*Math.cos(ete*o)+hOe*Math.sin(ete*o)+sOe*Math.cos(tte*o)+mOe*Math.sin(tte*o)+aOe*Math.cos(nte*o)+pOe*Math.sin(nte*o)+cOe*Math.cos(ite*o)+_Oe*Math.sin(ite*o)+lOe*Math.cos(ote*o)+gOe*Math.sin(ote*o)+uOe*Math.cos(rte*o)+yOe*Math.sin(rte*o)+fOe*Math.cos(ste*o)+COe*Math.sin(ste*o)+dOe*Math.cos(ate*o)+xOe*Math.sin(ate*o),s=iOe+oOe*i+AOe*Math.cos(cte*o)+POe*Math.sin(cte*o)+TOe*Math.cos(lte*o)+IOe*Math.sin(lte*o)+EOe*Math.cos(ute*o)+OOe*Math.sin(ute*o)+bOe*Math.cos(fte*o)+ROe*Math.sin(fte*o)+SOe*Math.cos(dte*o)+MOe*Math.sin(dte*o)+wOe*Math.cos(hte*o)+BOe*Math.sin(hte*o)+vOe*Math.cos(mte*o)+LOe*Math.sin(mte*o)+DOe*Math.cos(pte*o)+NOe*Math.sin(pte*o),a=.0167086342-.0004203654*i,c=102.93734808*gu+11612.3529*Cl*i,u=469.97289*Cl*i,f=174.87317577*gu-8679.27034*Cl*i;return yte(r,a,u,c,f,s,t)}function Cte(e,t){gte(e,dA);let i=(dA.dayNumber-FI.dayNumber+(dA.secondsOfDay-FI.secondsOfDay)/Yn.SECONDS_PER_DAY)/Yn.DAYS_PER_JULIAN_CENTURY,o=i*i,r=o*i,s=r*i,a=383397.7725+.004*i,c=.055545526-16e-9*i,u=5.15668983*gu,f=-8e-5*i+.02966*o-42e-6*r-13e-8*s,d=83.35324312*gu,p=146434202669e-4*i-38.2702*o-.045047*r+21301e-8*s,g=125.04455501*gu,m=-69679193631e-4*i+6.3602*o+.007625*r-3586e-8*s,C=218.31664563*gu,x=17325593434847e-4*i-6.391*o+.006588*r-3169e-8*s,A=297.85019547*gu+Cl*(1602961601209e-3*i-6.3706*o+.006593*r-3169e-8*s),b=93.27209062*gu+Cl*(17395272628478e-4*i-12.7512*o-.001037*r+417e-8*s),E=134.96340251*gu+Cl*(17179159232178e-4*i+31.8792*o+.051635*r-2447e-7*s),S=357.52910918*gu+Cl*(1295965810481e-4*i-.5532*o+136e-6*r-1149e-8*s),v=310.17137918*gu-Cl*(6967051436e-3*i+6.2068*o+.007618*r-3219e-8*s),P=2*A,O=4*A,M=6*A,B=2*E,L=3*E,_=4*E,T=2*b;a+=3400.4*Math.cos(P)-635.6*Math.cos(P-E)-235.6*Math.cos(E)+218.1*Math.cos(P-S)+181*Math.cos(P+E),c+=.014216*Math.cos(P-E)+.008551*Math.cos(P-B)-.001383*Math.cos(E)+.001356*Math.cos(P+E)-.001147*Math.cos(O-L)-914e-6*Math.cos(O-B)+869e-6*Math.cos(P-S-E)-627e-6*Math.cos(P)-394e-6*Math.cos(O-_)+282e-6*Math.cos(P-S-B)-279e-6*Math.cos(A-E)-236e-6*Math.cos(B)+231e-6*Math.cos(O)+229e-6*Math.cos(M-_)-201e-6*Math.cos(B-T),f+=486.26*Math.cos(P-T)-40.13*Math.cos(P)+37.51*Math.cos(T)+25.73*Math.cos(B-T)+19.97*Math.cos(P-S-T),p+=-55609*Math.sin(P-E)-34711*Math.sin(P-B)-9792*Math.sin(E)+9385*Math.sin(O-L)+7505*Math.sin(O-B)+5318*Math.sin(P+E)+3484*Math.sin(O-_)-3417*Math.sin(P-S-E)-2530*Math.sin(M-_)-2376*Math.sin(P)-2075*Math.sin(P-L)-1883*Math.sin(B)-1736*Math.sin(M-5*E)+1626*Math.sin(S)-1370*Math.sin(M-L),m+=-5392*Math.sin(P-T)-540*Math.sin(S)-441*Math.sin(P)+423*Math.sin(T)-288*Math.sin(B-T),x+=-3332.9*Math.sin(P)+1197.4*Math.sin(P-E)-662.5*Math.sin(S)+396.3*Math.sin(E)-218*Math.sin(P-S);let w=2*v,D=3*v;f+=46.997*Math.cos(v)*i-.614*Math.cos(P-T+v)*i+.614*Math.cos(P-T-v)*i-.0297*Math.cos(w)*o-.0335*Math.cos(v)*o+.0012*Math.cos(P-T+w)*o-16e-5*Math.cos(v)*r+4e-5*Math.cos(D)*r+4e-5*Math.cos(w)*r;let R=2.116*Math.sin(v)*i-.111*Math.sin(P-T-v)*i-.0015*Math.sin(v)*o;p+=R,x+=R,m+=-520.77*Math.sin(v)*i+13.66*Math.sin(P-T+v)*i+1.12*Math.sin(P-v)*i-1.06*Math.sin(T-v)*i+.66*Math.sin(w)*o+.371*Math.sin(v)*o-.035*Math.sin(P-T+w)*o-.015*Math.sin(P-T+v)*o+.0014*Math.sin(v)*r-.0011*Math.sin(D)*r-9e-4*Math.sin(w)*r,a*=XIe;let F=u+f*Cl,z=d+p*Cl,k=C+x*Cl,H=g+m*Cl;return yte(a,c,F,z,H,k,t)}var _te=.012300034,VOe=_te/(_te+1)*-1;function kOe(e,t){return t=Cte(e,t),h.multiplyByScalar(t,VOe,t)}var xte=new J(1.0000000000000002,5619723173785822e-31,4690511510146299e-34,-5154129427414611e-31,.9174820620691819,-.39777715593191376,-223970096136568e-30,.39777715593191376,.9174820620691819),lS=new h;dG.computeSunPositionInEarthInertialFrame=function(e,t){return l(e)||(e=Q.now()),l(t)||(t=new h),lS=FOe(e,lS),t=h.negate(lS,t),kOe(e,lS),h.subtract(t,lS,t),J.multiplyByVector(xte,t,t),t};dG.computeMoonPositionInEarthInertialFrame=function(e,t){return l(e)||(e=Q.now()),t=Cte(e,t),J.multiplyByVector(xte,t,t),t};var iy=dG;function UOe(e,t,n,i,o,r,s){let a=Si.numberOfPoints(e,t,o),c,u=n.red,f=n.green,d=n.blue,p=n.alpha,g=i.red,m=i.green,C=i.blue,x=i.alpha;if(U.equals(n,i)){for(c=0;c<a;c++)r[s++]=U.floatToByte(u),r[s++]=U.floatToByte(f),r[s++]=U.floatToByte(d),r[s++]=U.floatToByte(p);return s}let A=(g-u)/a,b=(m-f)/a,E=(C-d)/a,S=(x-p)/a,v=s;for(c=0;c<a;c++)r[v++]=U.floatToByte(u+c*A),r[v++]=U.floatToByte(f+c*b),r[v++]=U.floatToByte(d+c*E),r[v++]=U.floatToByte(p+c*S);return v}function uS(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n=e.colors,i=y(e.colorsPerVertex,!1);this._positions=t,this._colors=n,this._colorsPerVertex=i,this._arcType=y(e.arcType,qt.GEODESIC),this._granularity=y(e.granularity,I.RADIANS_PER_DEGREE),this._ellipsoid=y(e.ellipsoid,oe.WGS84),this._workerName="createSimplePolylineGeometry";let o=1+t.length*h.packedLength;o+=l(n)?1+n.length*U.packedLength:1,this.packedLength=o+oe.packedLength+3}uS.pack=function(e,t,n){n=y(n,0);let i,o=e._positions,r=o.length;for(t[n++]=r,i=0;i<r;++i,n+=h.packedLength)h.pack(o[i],t,n);let s=e._colors;for(r=l(s)?s.length:0,t[n++]=r,i=0;i<r;++i,n+=U.packedLength)U.pack(s[i],t,n);return oe.pack(e._ellipsoid,t,n),n+=oe.packedLength,t[n++]=e._colorsPerVertex?1:0,t[n++]=e._arcType,t[n]=e._granularity,t};uS.unpack=function(e,t,n){t=y(t,0);let i,o=e[t++],r=new Array(o);for(i=0;i<o;++i,t+=h.packedLength)r[i]=h.unpack(e,t);o=e[t++];let s=o>0?new Array(o):void 0;for(i=0;i<o;++i,t+=U.packedLength)s[i]=U.unpack(e,t);let a=oe.unpack(e,t);t+=oe.packedLength;let c=e[t++]===1,u=e[t++],f=e[t];return l(n)?(n._positions=r,n._colors=s,n._ellipsoid=a,n._colorsPerVertex=c,n._arcType=u,n._granularity=f,n):new uS({positions:r,colors:s,ellipsoid:a,colorsPerVertex:c,arcType:u,granularity:f})};var VI=new Array(2),kI=new Array(2),zOe={positions:VI,height:kI,ellipsoid:void 0,minDistance:void 0,granularity:void 0};uS.createGeometry=function(e){let t=e._positions,n=e._colors,i=e._colorsPerVertex,o=e._arcType,r=e._granularity,s=e._ellipsoid,a=I.chordLength(r,s.maximumRadius),c=l(n)&&!i,u,f=t.length,d,p,g,m,C=0;if(o===qt.GEODESIC||o===qt.RHUMB){let S,v,P;o===qt.GEODESIC?(S=I.chordLength(r,s.maximumRadius),v=Si.numberOfPoints,P=Si.generateArc):(S=r,v=Si.numberOfPointsRhumbLine,P=Si.generateRhumbArc);let O=Si.extractHeights(t,s),M=zOe;if(o===qt.GEODESIC?M.minDistance=a:M.granularity=r,M.ellipsoid=s,c){let B=0;for(u=0;u<f-1;u++)B+=v(t[u],t[u+1],S)+1;d=new Float64Array(B*3),g=new Uint8Array(B*4),M.positions=VI,M.height=kI;let L=0;for(u=0;u<f-1;++u){VI[0]=t[u],VI[1]=t[u+1],kI[0]=O[u],kI[1]=O[u+1];let _=P(M);if(l(n)){let T=_.length/3;m=n[u];for(let w=0;w<T;++w)g[L++]=U.floatToByte(m.red),g[L++]=U.floatToByte(m.green),g[L++]=U.floatToByte(m.blue),g[L++]=U.floatToByte(m.alpha)}d.set(_,C),C+=_.length}}else if(M.positions=t,M.height=O,d=new Float64Array(P(M)),l(n)){for(g=new Uint8Array(d.length/3*4),u=0;u<f-1;++u){let L=t[u],_=t[u+1],T=n[u],w=n[u+1];C=UOe(L,_,T,w,a,g,C)}let B=n[f-1];g[C++]=U.floatToByte(B.red),g[C++]=U.floatToByte(B.green),g[C++]=U.floatToByte(B.blue),g[C++]=U.floatToByte(B.alpha)}}else{p=c?f*2-2:f,d=new Float64Array(p*3),g=l(n)?new Uint8Array(p*4):void 0;let S=0,v=0;for(u=0;u<f;++u){let P=t[u];if(c&&u>0&&(h.pack(P,d,S),S+=3,m=n[u-1],g[v++]=U.floatToByte(m.red),g[v++]=U.floatToByte(m.green),g[v++]=U.floatToByte(m.blue),g[v++]=U.floatToByte(m.alpha)),c&&u===f-1)break;h.pack(P,d,S),S+=3,l(n)&&(m=n[u],g[v++]=U.floatToByte(m.red),g[v++]=U.floatToByte(m.green),g[v++]=U.floatToByte(m.blue),g[v++]=U.floatToByte(m.alpha))}}let x=new rn;x.position=new Ee({componentDatatype:Z.DOUBLE,componentsPerAttribute:3,values:d}),l(n)&&(x.color=new Ee({componentDatatype:Z.UNSIGNED_BYTE,componentsPerAttribute:4,values:g,normalize:!0})),p=d.length/3;let A=(p-1)*2,b=Be.createTypedArray(p,A),E=0;for(u=0;u<p-1;++u)b[E++]=u,b[E++]=u+1;return new rt({attributes:x,indices:b,primitiveType:Ne.LINES,boundingSphere:re.fromPoints(t)})};var Ate=uS;function hA(e){let t=y(e.radius,1),i={radii:new h(t,t,t),stackPartitions:e.stackPartitions,slicePartitions:e.slicePartitions,vertexFormat:e.vertexFormat};this._ellipsoidGeometry=new As(i),this._workerName="createSphereGeometry"}hA.packedLength=As.packedLength;hA.pack=function(e,t,n){return As.pack(e._ellipsoidGeometry,t,n)};var HOe=new As,y_={radius:void 0,radii:new h,vertexFormat:new ve,stackPartitions:void 0,slicePartitions:void 0};hA.unpack=function(e,t,n){let i=As.unpack(e,t,HOe);return y_.vertexFormat=ve.clone(i._vertexFormat,y_.vertexFormat),y_.stackPartitions=i._stackPartitions,y_.slicePartitions=i._slicePartitions,l(n)?(h.clone(i._radii,y_.radii),n._ellipsoidGeometry=new As(y_),n):(y_.radius=i._radii.x,new hA(y_))};hA.createGeometry=function(e){return As.createGeometry(e._ellipsoidGeometry)};var Tte=hA;function mA(e){let t=y(e.radius,1),i={radii:new h(t,t,t),stackPartitions:e.stackPartitions,slicePartitions:e.slicePartitions,subdivisions:e.subdivisions};this._ellipsoidGeometry=new lu(i),this._workerName="createSphereOutlineGeometry"}mA.packedLength=lu.packedLength;mA.pack=function(e,t,n){return lu.pack(e._ellipsoidGeometry,t,n)};var GOe=new lu,oy={radius:void 0,radii:new h,stackPartitions:void 0,slicePartitions:void 0,subdivisions:void 0};mA.unpack=function(e,t,n){let i=lu.unpack(e,t,GOe);return oy.stackPartitions=i._stackPartitions,oy.slicePartitions=i._slicePartitions,oy.subdivisions=i._subdivisions,l(n)?(h.clone(i._radii,oy.radii),n._ellipsoidGeometry=new lu(oy),n):(oy.radius=i._radii.x,new mA(oy))};mA.createGeometry=function(e){return lu.createGeometry(e._ellipsoidGeometry)};var C_=mA;function Ca(e,t,n){this.clock=y(e,0),this.cone=y(t,0),this.magnitude=y(n,1)}Ca.fromCartesian3=function(e,t){let n=e.x,i=e.y,o=e.z,r=n*n+i*i;return l(t)||(t=new Ca),t.clock=Math.atan2(i,n),t.cone=Math.atan2(Math.sqrt(r),o),t.magnitude=Math.sqrt(r+o*o),t};Ca.clone=function(e,t){if(!!l(e))return l(t)?(t.clock=e.clock,t.cone=e.cone,t.magnitude=e.magnitude,t):new Ca(e.clock,e.cone,e.magnitude)};Ca.normalize=function(e,t){return l(t)?(t.clock=e.clock,t.cone=e.cone,t.magnitude=1,t):new Ca(e.clock,e.cone,1)};Ca.equals=function(e,t){return e===t||l(e)&&l(t)&&e.clock===t.clock&&e.cone===t.cone&&e.magnitude===t.magnitude};Ca.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(t)&&Math.abs(e.clock-t.clock)<=n&&Math.abs(e.cone-t.cone)<=n&&Math.abs(e.magnitude-t.magnitude)<=n};Ca.prototype.equals=function(e){return Ca.equals(this,e)};Ca.prototype.clone=function(e){return Ca.clone(this,e)};Ca.prototype.equalsEpsilon=function(e,t){return Ca.equalsEpsilon(this,e,t)};Ca.prototype.toString=function(){return`(${this.clock}, ${this.cone}, ${this.magnitude})`};var UI=Ca;function pA(e){e=y(e,y.EMPTY_OBJECT);let t=e.points,n=e.times;this._times=n,this._points=t,this._pointType=Xi.getPointType(t[0]),this._lastTimeIndex=0}Object.defineProperties(pA.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}}});pA.prototype.findTimeInterval=Xi.prototype.findTimeInterval;pA.prototype.wrapTime=Xi.prototype.wrapTime;pA.prototype.clampTime=Xi.prototype.clampTime;pA.prototype.evaluate=function(e,t){let n=this.points;this._lastTimeIndex=this.findTimeInterval(e,this._lastTimeIndex);let i=this._lastTimeIndex,o=this._pointType;return o===Number?n[i]:(l(t)||(t=new o),o.clone(n[i],t))};var zI=pA;var WOe={WEST:0,NORTH:1,EAST:2,SOUTH:3,NORTHWEST:4,NORTHEAST:5,SOUTHWEST:6,SOUTHEAST:7},un=WOe;function x_(e){}Object.defineProperties(x_.prototype,{ellipsoid:{get:ye.throwInstantiationError},rectangle:{get:ye.throwInstantiationError},projection:{get:ye.throwInstantiationError}});x_.prototype.getNumberOfXTilesAtLevel=ye.throwInstantiationError;x_.prototype.getNumberOfYTilesAtLevel=ye.throwInstantiationError;x_.prototype.rectangleToNativeRectangle=ye.throwInstantiationError;x_.prototype.tileXYToNativeRectangle=ye.throwInstantiationError;x_.prototype.tileXYToRectangle=ye.throwInstantiationError;x_.prototype.positionToTileXY=ye.throwInstantiationError;var Ete=x_;function pG(e,t){return Q.compare(e.start,t.start)}function pr(e){if(this._intervals=[],this._changedEvent=new ge,l(e)){let t=e.length;for(let n=0;n<t;n++)this.addInterval(e[n])}}Object.defineProperties(pr.prototype,{changedEvent:{get:function(){return this._changedEvent}},start:{get:function(){let e=this._intervals;return e.length===0?void 0:e[0].start}},isStartIncluded:{get:function(){let e=this._intervals;return e.length===0?!1:e[0].isStartIncluded}},stop:{get:function(){let e=this._intervals,t=e.length;return t===0?void 0:e[t-1].stop}},isStopIncluded:{get:function(){let e=this._intervals,t=e.length;return t===0?!1:e[t-1].isStopIncluded}},length:{get:function(){return this._intervals.length}},isEmpty:{get:function(){return this._intervals.length===0}}});pr.prototype.equals=function(e,t){if(this===e)return!0;if(!(e instanceof pr))return!1;let n=this._intervals,i=e._intervals,o=n.length;if(o!==i.length)return!1;for(let r=0;r<o;r++)if(!gn.equals(n[r],i[r],t))return!1;return!0};pr.prototype.get=function(e){return this._intervals[e]};pr.prototype.removeAll=function(){this._intervals.length>0&&(this._intervals.length=0,this._changedEvent.raiseEvent(this))};pr.prototype.findIntervalContainingDate=function(e){let t=this.indexOf(e);return t>=0?this._intervals[t]:void 0};pr.prototype.findDataForIntervalContainingDate=function(e){let t=this.indexOf(e);return t>=0?this._intervals[t].data:void 0};pr.prototype.contains=function(e){return this.indexOf(e)>=0};var hG=new gn;pr.prototype.indexOf=function(e){let t=this._intervals;hG.start=e,hG.stop=e;let n=Yo(t,hG,pG);return n>=0?t[n].isStartIncluded?n:n>0&&t[n-1].stop.equals(e)&&t[n-1].isStopIncluded?n-1:~n:(n=~n,n>0&&n-1<t.length&&gn.contains(t[n-1],e)?n-1:~n)};pr.prototype.findInterval=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.start,n=e.stop,i=e.isStartIncluded,o=e.isStopIncluded,r=this._intervals;for(let s=0,a=r.length;s<a;s++){let c=r[s];if((!l(t)||c.start.equals(t))&&(!l(n)||c.stop.equals(n))&&(!l(i)||c.isStartIncluded===i)&&(!l(o)||c.isStopIncluded===o))return r[s]}};pr.prototype.addInterval=function(e,t){if(e.isEmpty)return;let n=this._intervals;if(n.length===0||Q.greaterThan(e.start,n[n.length-1].stop)){n.push(e),this._changedEvent.raiseEvent(this);return}let i=Yo(n,e,pG);i<0?i=~i:i>0&&e.isStartIncluded&&n[i-1].isStartIncluded&&n[i-1].start.equals(e.start)?--i:i<n.length&&!e.isStartIncluded&&n[i].isStartIncluded&&n[i].start.equals(e.start)&&++i;let o;for(i>0&&(o=Q.compare(n[i-1].stop,e.start),(o>0||o===0&&(n[i-1].isStopIncluded||e.isStartIncluded))&&((l(t)?t(n[i-1].data,e.data):n[i-1].data===e.data)?(Q.greaterThan(e.stop,n[i-1].stop)?e=new gn({start:n[i-1].start,stop:e.stop,isStartIncluded:n[i-1].isStartIncluded,isStopIncluded:e.isStopIncluded,data:e.data}):e=new gn({start:n[i-1].start,stop:n[i-1].stop,isStartIncluded:n[i-1].isStartIncluded,isStopIncluded:n[i-1].isStopIncluded||e.stop.equals(n[i-1].stop)&&e.isStopIncluded,data:e.data}),n.splice(i-1,1),--i):(o=Q.compare(n[i-1].stop,e.stop),(o>0||o===0&&n[i-1].isStopIncluded&&!e.isStopIncluded)&&n.splice(i,0,new gn({start:e.stop,stop:n[i-1].stop,isStartIncluded:!e.isStopIncluded,isStopIncluded:n[i-1].isStopIncluded,data:n[i-1].data})),n[i-1]=new gn({start:n[i-1].start,stop:e.start,isStartIncluded:n[i-1].isStartIncluded,isStopIncluded:!e.isStartIncluded,data:n[i-1].data}))));i<n.length&&(o=Q.compare(e.stop,n[i].start),o>0||o===0&&(e.isStopIncluded||n[i].isStartIncluded));)if(l(t)?t(n[i].data,e.data):n[i].data===e.data)e=new gn({start:e.start,stop:Q.greaterThan(n[i].stop,e.stop)?n[i].stop:e.stop,isStartIncluded:e.isStartIncluded,isStopIncluded:Q.greaterThan(n[i].stop,e.stop)?n[i].isStopIncluded:e.isStopIncluded,data:e.data}),n.splice(i,1);else if(n[i]=new gn({start:e.stop,stop:n[i].stop,isStartIncluded:!e.isStopIncluded,isStopIncluded:n[i].isStopIncluded,data:n[i].data}),n[i].isEmpty)n.splice(i,1);else break;n.splice(i,0,e),this._changedEvent.raiseEvent(this)};pr.prototype.removeInterval=function(e){if(e.isEmpty)return!1;let t=this._intervals,n=Yo(t,e,pG);n<0&&(n=~n);let i=!1;for(n>0&&(Q.greaterThan(t[n-1].stop,e.start)||t[n-1].stop.equals(e.start)&&t[n-1].isStopIncluded&&e.isStartIncluded)&&(i=!0,(Q.greaterThan(t[n-1].stop,e.stop)||t[n-1].isStopIncluded&&!e.isStopIncluded&&t[n-1].stop.equals(e.stop))&&t.splice(n,0,new gn({start:e.stop,stop:t[n-1].stop,isStartIncluded:!e.isStopIncluded,isStopIncluded:t[n-1].isStopIncluded,data:t[n-1].data})),t[n-1]=new gn({start:t[n-1].start,stop:e.start,isStartIncluded:t[n-1].isStartIncluded,isStopIncluded:!e.isStartIncluded,data:t[n-1].data})),n<t.length&&!e.isStartIncluded&&t[n].isStartIncluded&&e.start.equals(t[n].start)&&(i=!0,t.splice(n,0,new gn({start:t[n].start,stop:t[n].start,isStartIncluded:!0,isStopIncluded:!0,data:t[n].data})),++n);n<t.length&&Q.greaterThan(e.stop,t[n].stop);)i=!0,t.splice(n,1);return n<t.length&&e.stop.equals(t[n].stop)&&(i=!0,!e.isStopIncluded&&t[n].isStopIncluded?n+1<t.length&&t[n+1].start.equals(e.stop)&&t[n].data===t[n+1].data?(t.splice(n,1),t[n]=new gn({start:t[n].start,stop:t[n].stop,isStartIncluded:!0,isStopIncluded:t[n].isStopIncluded,data:t[n].data})):t[n]=new gn({start:e.stop,stop:e.stop,isStartIncluded:!0,isStopIncluded:!0,data:t[n].data}):t.splice(n,1)),n<t.length&&(Q.greaterThan(e.stop,t[n].start)||e.stop.equals(t[n].start)&&e.isStopIncluded&&t[n].isStartIncluded)&&(i=!0,t[n]=new gn({start:e.stop,stop:t[n].stop,isStartIncluded:!e.isStopIncluded,isStopIncluded:t[n].isStopIncluded,data:t[n].data})),i&&this._changedEvent.raiseEvent(this),i};pr.prototype.intersect=function(e,t,n){let i=new pr,o=0,r=0,s=this._intervals,a=e._intervals;for(;o<s.length&&r<a.length;){let c=s[o],u=a[r];if(Q.lessThan(c.stop,u.start))++o;else if(Q.lessThan(u.stop,c.start))++r;else{if(l(n)||l(t)&&t(c.data,u.data)||!l(t)&&u.data===c.data){let f=gn.intersect(c,u,new gn,n);f.isEmpty||i.addInterval(f,t)}Q.lessThan(c.stop,u.stop)||c.stop.equals(u.stop)&&!c.isStopIncluded&&u.isStopIncluded?++o:++r}}return i};pr.fromJulianDateArray=function(e,t){l(t)||(t=new pr);let n=e.julianDates,i=n.length,o=e.dataCallback,r=y(e.isStartIncluded,!0),s=y(e.isStopIncluded,!0),a=y(e.leadingInterval,!1),c=y(e.trailingInterval,!1),u,f=0;a&&(++f,u=new gn({start:Ve.MINIMUM_VALUE,stop:n[0],isStartIncluded:!0,isStopIncluded:!r}),u.data=l(o)?o(u,t.length):t.length,t.addInterval(u));for(let d=0;d<i-1;++d){let p=n[d],g=n[d+1];u=new gn({start:p,stop:g,isStartIncluded:t.length===f?r:!0,isStopIncluded:d===i-2?s:!1}),u.data=l(o)?o(u,t.length):t.length,t.addInterval(u),p=g}return c&&(u=new gn({start:n[i-1],stop:Ve.MAXIMUM_VALUE,isStartIncluded:!s,isStopIncluded:!0}),u.data=l(o)?o(u,t.length):t.length,t.addInterval(u)),t};var xa=new Bp,fS=[0,31,28,31,30,31,30,31,31,30,31,30,31];function mG(e,t,n){l(n)||(n=new Q),Q.toGregorianDate(e,xa);let i=xa.millisecond+t.millisecond,o=xa.second+t.second,r=xa.minute+t.minute,s=xa.hour+t.hour,a=xa.day+t.day,c=xa.month+t.month,u=xa.year+t.year;for(i>=1e3&&(o+=Math.floor(i/1e3),i=i%1e3),o>=60&&(r+=Math.floor(o/60),o=o%60),r>=60&&(s+=Math.floor(r/60),r=r%60),s>=24&&(a+=Math.floor(s/24),s=s%24),fS[2]=Lp(u)?29:28;a>fS[c]||c>=13;)a>fS[c]&&(a-=fS[c],++c),c>=13&&(--c,u+=Math.floor(c/12),c=c%12,++c),fS[2]=Lp(u)?29:28;return xa.millisecond=i,xa.second=o,xa.minute=r,xa.hour=s,xa.day=a,xa.month=c,xa.year=u,Q.fromGregorianDate(xa,n)}var jOe=new Q,qOe=/P(?:([\d.,]+)Y)?(?:([\d.,]+)M)?(?:([\d.,]+)W)?(?:([\d.,]+)D)?(?:T(?:([\d.,]+)H)?(?:([\d.,]+)M)?(?:([\d.,]+)S)?)?/;function bte(e,t){if(!l(e)||e.length===0)return!1;if(t.year=0,t.month=0,t.day=0,t.hour=0,t.minute=0,t.second=0,t.millisecond=0,e[0]==="P"){let n=e.match(qOe);if(!l(n))return!1;if(l(n[1])&&(t.year=Number(n[1].replace(",","."))),l(n[2])&&(t.month=Number(n[2].replace(",","."))),l(n[3])&&(t.day=Number(n[3].replace(",","."))*7),l(n[4])&&(t.day+=Number(n[4].replace(",","."))),l(n[5])&&(t.hour=Number(n[5].replace(",","."))),l(n[6])&&(t.minute=Number(n[6].replace(",","."))),l(n[7])){let i=Number(n[7].replace(",","."));t.second=Math.floor(i),t.millisecond=i%1*1e3}}else e[e.length-1]!=="Z"&&(e+="Z"),Q.toGregorianDate(Q.fromIso8601(e,jOe),t);return t.year||t.month||t.day||t.hour||t.minute||t.second||t.millisecond}var dS=new Bp;pr.fromIso8601=function(e,t){let n=e.iso8601.split("/"),i=Q.fromIso8601(n[0]),o=Q.fromIso8601(n[1]),r=[];if(!bte(n[2],dS))r.push(i,o);else{let s=Q.clone(i);for(r.push(s);Q.compare(s,o)<0;)s=mG(s,dS),Q.compare(o,s)<=0&&Q.clone(o,s),r.push(s)}return pr.fromJulianDateArray({julianDates:r,isStartIncluded:e.isStartIncluded,isStopIncluded:e.isStopIncluded,leadingInterval:e.leadingInterval,trailingInterval:e.trailingInterval,dataCallback:e.dataCallback},t)};pr.fromIso8601DateArray=function(e,t){return pr.fromJulianDateArray({julianDates:e.iso8601Dates.map(function(n){return Q.fromIso8601(n)}),isStartIncluded:e.isStartIncluded,isStopIncluded:e.isStopIncluded,leadingInterval:e.leadingInterval,trailingInterval:e.trailingInterval,dataCallback:e.dataCallback},t)};pr.fromIso8601DurationArray=function(e,t){let n=e.epoch,i=e.iso8601Durations,o=y(e.relativeToPrevious,!1),r=[],s,a,c=i.length;for(let u=0;u<c;++u)(bte(i[u],dS)||u===0)&&(o&&l(a)?s=mG(a,dS):s=mG(n,dS),r.push(s),a=s);return pr.fromJulianDateArray({julianDates:r,isStartIncluded:e.isStartIncluded,isStopIncluded:e.isStopIncluded,leadingInterval:e.leadingInterval,trailingInterval:e.trailingInterval,dataCallback:e.dataCallback},t)};var Rr=pr;var YOe=new h(1,1,1),XOe=h.ZERO,KOe=Oe.IDENTITY;function Ste(e,t,n){this.translation=h.clone(y(e,XOe)),this.rotation=Oe.clone(y(t,KOe)),this.scale=h.clone(y(n,YOe))}Ste.prototype.equals=function(e){return this===e||l(e)&&h.equals(this.translation,e.translation)&&Oe.equals(this.rotation,e.rotation)&&h.equals(this.scale,e.scale)};var ry=Ste;function ZOe(e,t){this.rectangle=e,this.maxLevel=t}function _A(e){e=y(e,y.EMPTY_OBJECT);let t=Ie.createIfNeeded(e.url);this._resource=t,this._errorEvent=new ge,this._ready=!1,this._terrainDataStructure={heightScale:1/1e3,heightOffset:-1e3,elementsPerHeight:3,stride:4,elementMultiplier:256,isBigEndian:!0,lowestEncodedHeight:0,highestEncodedHeight:256*256*256-1};let n=e.credit;typeof n=="string"&&(n=new jt(n)),this._credit=n,this._tilingScheme=void 0,this._rectangles=[];let i=this,o,r=y(e.ellipsoid,oe.WGS84);function s(u){let f=u.getElementsByTagName("SRS")[0].textContent;if(f==="EPSG:4326")i._tilingScheme=new Hi({ellipsoid:r});else return Promise.reject(new de(`SRS ${f} is not supported.`));let d=u.getElementsByTagName("TileFormat")[0];i._heightmapWidth=parseInt(d.getAttribute("width"),10),i._heightmapHeight=parseInt(d.getAttribute("height"),10),i._levelZeroMaximumGeometricError=kr.getEstimatedLevelZeroGeometricErrorForAHeightmap(r,Math.min(i._heightmapWidth,i._heightmapHeight),i._tilingScheme.getNumberOfXTilesAtLevel(0));let p=u.getElementsByTagName("DataExtent");for(let g=0;g<p.length;++g){let m=p[g],C=I.toRadians(parseFloat(m.getAttribute("minx"))),x=I.toRadians(parseFloat(m.getAttribute("miny"))),A=I.toRadians(parseFloat(m.getAttribute("maxx"))),b=I.toRadians(parseFloat(m.getAttribute("maxy"))),E=parseInt(m.getAttribute("maxlevel"),10);i._rectangles.push(new ZOe(new ue(C,x,A,b),E))}return i._ready=!0,Promise.resolve(!0)}function a(u){let f=y(l(u)?u.message:void 0,`An error occurred while accessing ${i._resource.url}.`);return o=jn.reportError(o,i,i._errorEvent,f),o.retry?c():Promise.reject(new de(f))}function c(){return i._resource.fetchXML().then(s).catch(a)}this._readyPromise=c()}Object.defineProperties(_A.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){return this._tilingScheme}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){}}});_A.prototype.requestTileGeometry=function(e,t,n,i){let o=this._tilingScheme.getNumberOfYTilesAtLevel(n),s=this._resource.getDerivedResource({url:`${n}/${e}/${o-t-1}.tif`,queryParameters:{cesium:!0},request:i}).fetchImage({preferImageBitmap:!0});if(!l(s))return;let a=this;return Promise.resolve(s).then(function(c){return new ma({buffer:Ad(c),width:a._heightmapWidth,height:a._heightmapHeight,childTileMask:$Oe(a,e,t,n),structure:a._terrainDataStructure})})};_A.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)};var wte=new ue;function $Oe(e,t,n,i){let o=e._tilingScheme,r=e._rectangles,s=o.tileXYToRectangle(t,n,i),a=0;for(let c=0;c<r.length&&a!==15;++c){let u=r[c];if(u.maxLevel<=i)continue;let f=u.rectangle,d=ue.intersection(f,s,wte);l(d)&&(HI(o,f,t*2,n*2,i+1)&&(a|=4),HI(o,f,t*2+1,n*2,i+1)&&(a|=8),HI(o,f,t*2,n*2+1,i+1)&&(a|=1),HI(o,f,t*2+1,n*2+1,i+1)&&(a|=2))}return a}function HI(e,t,n,i,o){let r=e.tileXYToRectangle(n,i,o);return l(ue.intersection(r,t,wte))}_A.prototype.getTileDataAvailable=function(e,t,n){};_A.prototype.loadTileDataAvailability=function(e,t,n){};var vte=_A;function sy(e){e=y(e,y.EMPTY_OBJECT),this._clock=void 0,this._element=void 0,this._clockSubscription=void 0,this._seekFunction=void 0,this._lastPlaybackRate=void 0,this.clock=e.clock,this.element=e.element,this.epoch=y(e.epoch,Ve.MINIMUM_VALUE),this.tolerance=y(e.tolerance,1),this._seeking=!1,this._seekFunction=void 0,this._firstTickAfterSeek=!1}Object.defineProperties(sy.prototype,{clock:{get:function(){return this._clock},set:function(e){let t=this._clock;t!==e&&(l(t)&&(this._clockSubscription(),this._clockSubscription=void 0),l(e)&&(this._clockSubscription=e.onTick.addEventListener(sy.prototype._onTick,this)),this._clock=e)}},element:{get:function(){return this._element},set:function(e){let t=this._element;t!==e&&(l(t)&&t.removeEventListener("seeked",this._seekFunction,!1),l(e)&&(this._seeking=!1,this._seekFunction=JOe(this),e.addEventListener("seeked",this._seekFunction,!1)),this._element=e,this._seeking=!1,this._firstTickAfterSeek=!1)}}});sy.prototype.destroy=function(){return this.element=void 0,this.clock=void 0,fe(this)};sy.prototype.isDestroyed=function(){return!1};sy.prototype._trySetPlaybackRate=function(e){if(this._lastPlaybackRate===e.multiplier)return;let t=this._element;try{t.playbackRate=e.multiplier}catch{t.playbackRate=0}this._lastPlaybackRate=e.multiplier};sy.prototype._onTick=function(e){let t=this._element;if(!l(t)||t.readyState<2)return;let n=t.paused,i=e.shouldAnimate;if(i===n&&(i?t.play():t.pause()),this._seeking||this._firstTickAfterSeek){this._firstTickAfterSeek=!1;return}this._trySetPlaybackRate(e);let o=e.currentTime,r=y(this.epoch,Ve.MINIMUM_VALUE),s=Q.secondsDifference(o,r),a=t.duration,c,u=t.currentTime;t.loop?(s=s%a,s<0&&(s=a-s),c=s):s>a?c=a:s<0?c=0:c=s;let f=i?y(this.tolerance,1):.001;Math.abs(c-u)>f&&(this._seeking=!0,t.currentTime=c)};function JOe(e){return function(){e._seeking=!1,e._firstTickAfterSeek=!0}}var Dte=sy;var QOe={VK_FORMAT_UNDEFINED:0,VK_FORMAT_R4G4_UNORM_PACK8:1,VK_FORMAT_R4G4B4A4_UNORM_PACK16:2,VK_FORMAT_B4G4R4A4_UNORM_PACK16:3,VK_FORMAT_R5G6B5_UNORM_PACK16:4,VK_FORMAT_B5G6R5_UNORM_PACK16:5,VK_FORMAT_R5G5B5A1_UNORM_PACK16:6,VK_FORMAT_B5G5R5A1_UNORM_PACK16:7,VK_FORMAT_A1R5G5B5_UNORM_PACK16:8,VK_FORMAT_R8_UNORM:9,VK_FORMAT_R8_SNORM:10,VK_FORMAT_R8_USCALED:11,VK_FORMAT_R8_SSCALED:12,VK_FORMAT_R8_UINT:13,VK_FORMAT_R8_SINT:14,VK_FORMAT_R8_SRGB:15,VK_FORMAT_R8G8_UNORM:16,VK_FORMAT_R8G8_SNORM:17,VK_FORMAT_R8G8_USCALED:18,VK_FORMAT_R8G8_SSCALED:19,VK_FORMAT_R8G8_UINT:20,VK_FORMAT_R8G8_SINT:21,VK_FORMAT_R8G8_SRGB:22,VK_FORMAT_R8G8B8_UNORM:23,VK_FORMAT_R8G8B8_SNORM:24,VK_FORMAT_R8G8B8_USCALED:25,VK_FORMAT_R8G8B8_SSCALED:26,VK_FORMAT_R8G8B8_UINT:27,VK_FORMAT_R8G8B8_SINT:28,VK_FORMAT_R8G8B8_SRGB:29,VK_FORMAT_B8G8R8_UNORM:30,VK_FORMAT_B8G8R8_SNORM:31,VK_FORMAT_B8G8R8_USCALED:32,VK_FORMAT_B8G8R8_SSCALED:33,VK_FORMAT_B8G8R8_UINT:34,VK_FORMAT_B8G8R8_SINT:35,VK_FORMAT_B8G8R8_SRGB:36,VK_FORMAT_R8G8B8A8_UNORM:37,VK_FORMAT_R8G8B8A8_SNORM:38,VK_FORMAT_R8G8B8A8_USCALED:39,VK_FORMAT_R8G8B8A8_SSCALED:40,VK_FORMAT_R8G8B8A8_UINT:41,VK_FORMAT_R8G8B8A8_SINT:42,VK_FORMAT_R8G8B8A8_SRGB:43,VK_FORMAT_B8G8R8A8_UNORM:44,VK_FORMAT_B8G8R8A8_SNORM:45,VK_FORMAT_B8G8R8A8_USCALED:46,VK_FORMAT_B8G8R8A8_SSCALED:47,VK_FORMAT_B8G8R8A8_UINT:48,VK_FORMAT_B8G8R8A8_SINT:49,VK_FORMAT_B8G8R8A8_SRGB:50,VK_FORMAT_A8B8G8R8_UNORM_PACK32:51,VK_FORMAT_A8B8G8R8_SNORM_PACK32:52,VK_FORMAT_A8B8G8R8_USCALED_PACK32:53,VK_FORMAT_A8B8G8R8_SSCALED_PACK32:54,VK_FORMAT_A8B8G8R8_UINT_PACK32:55,VK_FORMAT_A8B8G8R8_SINT_PACK32:56,VK_FORMAT_A8B8G8R8_SRGB_PACK32:57,VK_FORMAT_A2R10G10B10_UNORM_PACK32:58,VK_FORMAT_A2R10G10B10_SNORM_PACK32:59,VK_FORMAT_A2R10G10B10_USCALED_PACK32:60,VK_FORMAT_A2R10G10B10_SSCALED_PACK32:61,VK_FORMAT_A2R10G10B10_UINT_PACK32:62,VK_FORMAT_A2R10G10B10_SINT_PACK32:63,VK_FORMAT_A2B10G10R10_UNORM_PACK32:64,VK_FORMAT_A2B10G10R10_SNORM_PACK32:65,VK_FORMAT_A2B10G10R10_USCALED_PACK32:66,VK_FORMAT_A2B10G10R10_SSCALED_PACK32:67,VK_FORMAT_A2B10G10R10_UINT_PACK32:68,VK_FORMAT_A2B10G10R10_SINT_PACK32:69,VK_FORMAT_R16_UNORM:70,VK_FORMAT_R16_SNORM:71,VK_FORMAT_R16_USCALED:72,VK_FORMAT_R16_SSCALED:73,VK_FORMAT_R16_UINT:74,VK_FORMAT_R16_SINT:75,VK_FORMAT_R16_SFLOAT:76,VK_FORMAT_R16G16_UNORM:77,VK_FORMAT_R16G16_SNORM:78,VK_FORMAT_R16G16_USCALED:79,VK_FORMAT_R16G16_SSCALED:80,VK_FORMAT_R16G16_UINT:81,VK_FORMAT_R16G16_SINT:82,VK_FORMAT_R16G16_SFLOAT:83,VK_FORMAT_R16G16B16_UNORM:84,VK_FORMAT_R16G16B16_SNORM:85,VK_FORMAT_R16G16B16_USCALED:86,VK_FORMAT_R16G16B16_SSCALED:87,VK_FORMAT_R16G16B16_UINT:88,VK_FORMAT_R16G16B16_SINT:89,VK_FORMAT_R16G16B16_SFLOAT:90,VK_FORMAT_R16G16B16A16_UNORM:91,VK_FORMAT_R16G16B16A16_SNORM:92,VK_FORMAT_R16G16B16A16_USCALED:93,VK_FORMAT_R16G16B16A16_SSCALED:94,VK_FORMAT_R16G16B16A16_UINT:95,VK_FORMAT_R16G16B16A16_SINT:96,VK_FORMAT_R16G16B16A16_SFLOAT:97,VK_FORMAT_R32_UINT:98,VK_FORMAT_R32_SINT:99,VK_FORMAT_R32_SFLOAT:100,VK_FORMAT_R32G32_UINT:101,VK_FORMAT_R32G32_SINT:102,VK_FORMAT_R32G32_SFLOAT:103,VK_FORMAT_R32G32B32_UINT:104,VK_FORMAT_R32G32B32_SINT:105,VK_FORMAT_R32G32B32_SFLOAT:106,VK_FORMAT_R32G32B32A32_UINT:107,VK_FORMAT_R32G32B32A32_SINT:108,VK_FORMAT_R32G32B32A32_SFLOAT:109,VK_FORMAT_R64_UINT:110,VK_FORMAT_R64_SINT:111,VK_FORMAT_R64_SFLOAT:112,VK_FORMAT_R64G64_UINT:113,VK_FORMAT_R64G64_SINT:114,VK_FORMAT_R64G64_SFLOAT:115,VK_FORMAT_R64G64B64_UINT:116,VK_FORMAT_R64G64B64_SINT:117,VK_FORMAT_R64G64B64_SFLOAT:118,VK_FORMAT_R64G64B64A64_UINT:119,VK_FORMAT_R64G64B64A64_SINT:120,VK_FORMAT_R64G64B64A64_SFLOAT:121,VK_FORMAT_B10G11R11_UFLOAT_PACK32:122,VK_FORMAT_E5B9G9R9_UFLOAT_PACK32:123,VK_FORMAT_D16_UNORM:124,VK_FORMAT_X8_D24_UNORM_PACK32:125,VK_FORMAT_D32_SFLOAT:126,VK_FORMAT_S8_UINT:127,VK_FORMAT_D16_UNORM_S8_UINT:128,VK_FORMAT_D24_UNORM_S8_UINT:129,VK_FORMAT_D32_SFLOAT_S8_UINT:130,VK_FORMAT_BC1_RGB_UNORM_BLOCK:131,VK_FORMAT_BC1_RGB_SRGB_BLOCK:132,VK_FORMAT_BC1_RGBA_UNORM_BLOCK:133,VK_FORMAT_BC1_RGBA_SRGB_BLOCK:134,VK_FORMAT_BC2_UNORM_BLOCK:135,VK_FORMAT_BC2_SRGB_BLOCK:136,VK_FORMAT_BC3_UNORM_BLOCK:137,VK_FORMAT_BC3_SRGB_BLOCK:138,VK_FORMAT_BC4_UNORM_BLOCK:139,VK_FORMAT_BC4_SNORM_BLOCK:140,VK_FORMAT_BC5_UNORM_BLOCK:141,VK_FORMAT_BC5_SNORM_BLOCK:142,VK_FORMAT_BC6H_UFLOAT_BLOCK:143,VK_FORMAT_BC6H_SFLOAT_BLOCK:144,VK_FORMAT_BC7_UNORM_BLOCK:145,VK_FORMAT_BC7_SRGB_BLOCK:146,VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK:147,VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK:148,VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK:149,VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK:150,VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK:151,VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK:152,VK_FORMAT_EAC_R11_UNORM_BLOCK:153,VK_FORMAT_EAC_R11_SNORM_BLOCK:154,VK_FORMAT_EAC_R11G11_UNORM_BLOCK:155,VK_FORMAT_EAC_R11G11_SNORM_BLOCK:156,VK_FORMAT_ASTC_4x4_UNORM_BLOCK:157,VK_FORMAT_ASTC_4x4_SRGB_BLOCK:158,VK_FORMAT_ASTC_5x4_UNORM_BLOCK:159,VK_FORMAT_ASTC_5x4_SRGB_BLOCK:160,VK_FORMAT_ASTC_5x5_UNORM_BLOCK:161,VK_FORMAT_ASTC_5x5_SRGB_BLOCK:162,VK_FORMAT_ASTC_6x5_UNORM_BLOCK:163,VK_FORMAT_ASTC_6x5_SRGB_BLOCK:164,VK_FORMAT_ASTC_6x6_UNORM_BLOCK:165,VK_FORMAT_ASTC_6x6_SRGB_BLOCK:166,VK_FORMAT_ASTC_8x5_UNORM_BLOCK:167,VK_FORMAT_ASTC_8x5_SRGB_BLOCK:168,VK_FORMAT_ASTC_8x6_UNORM_BLOCK:169,VK_FORMAT_ASTC_8x6_SRGB_BLOCK:170,VK_FORMAT_ASTC_8x8_UNORM_BLOCK:171,VK_FORMAT_ASTC_8x8_SRGB_BLOCK:172,VK_FORMAT_ASTC_10x5_UNORM_BLOCK:173,VK_FORMAT_ASTC_10x5_SRGB_BLOCK:174,VK_FORMAT_ASTC_10x6_UNORM_BLOCK:175,VK_FORMAT_ASTC_10x6_SRGB_BLOCK:176,VK_FORMAT_ASTC_10x8_UNORM_BLOCK:177,VK_FORMAT_ASTC_10x8_SRGB_BLOCK:178,VK_FORMAT_ASTC_10x10_UNORM_BLOCK:179,VK_FORMAT_ASTC_10x10_SRGB_BLOCK:180,VK_FORMAT_ASTC_12x10_UNORM_BLOCK:181,VK_FORMAT_ASTC_12x10_SRGB_BLOCK:182,VK_FORMAT_ASTC_12x12_UNORM_BLOCK:183,VK_FORMAT_ASTC_12x12_SRGB_BLOCK:184,VK_FORMAT_G8B8G8R8_422_UNORM:1000156e3,VK_FORMAT_B8G8R8G8_422_UNORM:1000156001,VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM:1000156002,VK_FORMAT_G8_B8R8_2PLANE_420_UNORM:1000156003,VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM:1000156004,VK_FORMAT_G8_B8R8_2PLANE_422_UNORM:1000156005,VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM:1000156006,VK_FORMAT_R10X6_UNORM_PACK16:1000156007,VK_FORMAT_R10X6G10X6_UNORM_2PACK16:1000156008,VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16:1000156009,VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16:1000156010,VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16:1000156011,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16:1000156012,VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16:1000156013,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16:1000156014,VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16:1000156015,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16:1000156016,VK_FORMAT_R12X4_UNORM_PACK16:1000156017,VK_FORMAT_R12X4G12X4_UNORM_2PACK16:1000156018,VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16:1000156019,VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16:1000156020,VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16:1000156021,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16:1000156022,VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16:1000156023,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16:1000156024,VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16:1000156025,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16:1000156026,VK_FORMAT_G16B16G16R16_422_UNORM:1000156027,VK_FORMAT_B16G16R16G16_422_UNORM:1000156028,VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM:1000156029,VK_FORMAT_G16_B16R16_2PLANE_420_UNORM:1000156030,VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM:1000156031,VK_FORMAT_G16_B16R16_2PLANE_422_UNORM:1000156032,VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM:1000156033,VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG:1000054e3,VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG:1000054001,VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG:1000054002,VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG:1000054003,VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG:1000054004,VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG:1000054005,VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG:1000054006,VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG:1000054007,VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT:1000066e3,VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT:1000066001,VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT:1000066002,VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT:1000066003,VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT:1000066004,VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT:1000066005,VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT:1000066006,VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT:1000066007,VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT:1000066008,VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT:1000066009,VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT:1000066010,VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT:1000066011,VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT:1000066012,VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT:1000066013,VK_FORMAT_G8B8G8R8_422_UNORM_KHR:1000156e3,VK_FORMAT_B8G8R8G8_422_UNORM_KHR:1000156001,VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR:1000156002,VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR:1000156003,VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR:1000156004,VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR:1000156005,VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR:1000156006,VK_FORMAT_R10X6_UNORM_PACK16_KHR:1000156007,VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR:1000156008,VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR:1000156009,VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR:1000156010,VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR:1000156011,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR:1000156012,VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR:1000156013,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR:1000156014,VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR:1000156015,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR:1000156016,VK_FORMAT_R12X4_UNORM_PACK16_KHR:1000156017,VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR:1000156018,VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR:1000156019,VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR:1000156020,VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR:1000156021,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR:1000156022,VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR:1000156023,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR:1000156024,VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR:1000156025,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR:1000156026,VK_FORMAT_G16B16G16R16_422_UNORM_KHR:1000156027,VK_FORMAT_B16G16R16G16_422_UNORM_KHR:1000156028,VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR:1000156029,VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR:1000156030,VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR:1000156031,VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR:1000156032,VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR:1000156033},Pte=Object.freeze(QOe);var Ite={};function eRe(e,t){return I.equalsEpsilon(e.latitude,t.latitude,I.EPSILON10)&&I.equalsEpsilon(e.longitude,t.longitude,I.EPSILON10)}var tRe=new he,nRe=new he;function iRe(e,t,n,i){t=Co(t,h.equalsEpsilon);let o=t.length;if(o<2)return;let r=l(i),s=l(n),a=new Array(o),c=new Array(o),u=new Array(o),f=t[0];a[0]=f;let d=e.cartesianToCartographic(f,tRe);s&&(d.height=n[0]),c[0]=d.height,r?u[0]=i[0]:u[0]=0;let p=c[0],g=u[0],m=p===g,C=1;for(let x=1;x<o;++x){let A=t[x],b=e.cartesianToCartographic(A,nRe);s&&(b.height=n[x]),m=m&&b.height===0,eRe(d,b)?d.height<b.height&&(c[C-1]=b.height):(a[C]=A,c[C]=b.height,r?u[C]=i[x]:u[C]=0,m=m&&c[C]===u[C],he.clone(b,d),++C)}if(!(m||C<2))return a.length=C,c.length=C,u.length=C,{positions:a,topHeights:c,bottomHeights:u}}var oRe=new Array(2),rRe=new Array(2),sRe={positions:void 0,height:void 0,granularity:void 0,ellipsoid:void 0};Ite.computePositions=function(e,t,n,i,o,r){let s=iRe(e,t,n,i);if(!l(s))return;t=s.positions,n=s.topHeights,i=s.bottomHeights;let a=t.length,c=a-2,u,f,d=I.chordLength(o,e.maximumRadius),p=sRe;if(p.minDistance=d,p.ellipsoid=e,r){let g=0,m;for(m=0;m<a-1;m++)g+=Si.numberOfPoints(t[m],t[m+1],d)+1;u=new Float64Array(g*3),f=new Float64Array(g*3);let C=oRe,x=rRe;p.positions=C,p.height=x;let A=0;for(m=0;m<a-1;m++){C[0]=t[m],C[1]=t[m+1],x[0]=n[m],x[1]=n[m+1];let b=Si.generateArc(p);u.set(b,A),x[0]=i[m],x[1]=i[m+1],f.set(Si.generateArc(p),A),A+=b.length}}else p.positions=t,p.height=n,u=new Float64Array(Si.generateArc(p)),p.height=i,f=new Float64Array(Si.generateArc(p));return{bottomPositions:f,topPositions:u,numCorners:c}};var gA=Ite;var _G=new h,GI=new h,aRe=new h,Ote=new h,cRe=new h,lRe=new h,uRe=new h;function ay(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n=e.maximumHeights,i=e.minimumHeights,o=y(e.vertexFormat,ve.DEFAULT),r=y(e.granularity,I.RADIANS_PER_DEGREE),s=y(e.ellipsoid,oe.WGS84);this._positions=t,this._minimumHeights=i,this._maximumHeights=n,this._vertexFormat=ve.clone(o),this._granularity=r,this._ellipsoid=oe.clone(s),this._workerName="createWallGeometry";let a=1+t.length*h.packedLength+2;l(i)&&(a+=i.length),l(n)&&(a+=n.length),this.packedLength=a+oe.packedLength+ve.packedLength+1}ay.pack=function(e,t,n){n=y(n,0);let i,o=e._positions,r=o.length;for(t[n++]=r,i=0;i<r;++i,n+=h.packedLength)h.pack(o[i],t,n);let s=e._minimumHeights;if(r=l(s)?s.length:0,t[n++]=r,l(s))for(i=0;i<r;++i)t[n++]=s[i];let a=e._maximumHeights;if(r=l(a)?a.length:0,t[n++]=r,l(a))for(i=0;i<r;++i)t[n++]=a[i];return oe.pack(e._ellipsoid,t,n),n+=oe.packedLength,ve.pack(e._vertexFormat,t,n),n+=ve.packedLength,t[n]=e._granularity,t};var Rte=oe.clone(oe.UNIT_SPHERE),Mte=new ve,hS={positions:void 0,minimumHeights:void 0,maximumHeights:void 0,ellipsoid:Rte,vertexFormat:Mte,granularity:void 0};ay.unpack=function(e,t,n){t=y(t,0);let i,o=e[t++],r=new Array(o);for(i=0;i<o;++i,t+=h.packedLength)r[i]=h.unpack(e,t);o=e[t++];let s;if(o>0)for(s=new Array(o),i=0;i<o;++i)s[i]=e[t++];o=e[t++];let a;if(o>0)for(a=new Array(o),i=0;i<o;++i)a[i]=e[t++];let c=oe.unpack(e,t,Rte);t+=oe.packedLength;let u=ve.unpack(e,t,Mte);t+=ve.packedLength;let f=e[t];return l(n)?(n._positions=r,n._minimumHeights=s,n._maximumHeights=a,n._ellipsoid=oe.clone(c,n._ellipsoid),n._vertexFormat=ve.clone(u,n._vertexFormat),n._granularity=f,n):(hS.positions=r,hS.minimumHeights=s,hS.maximumHeights=a,hS.granularity=f,new ay(hS))};ay.fromConstantHeights=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n,i,o=e.minimumHeight,r=e.maximumHeight,s=l(o),a=l(r);if(s||a){let u=t.length;n=s?new Array(u):void 0,i=a?new Array(u):void 0;for(let f=0;f<u;++f)s&&(n[f]=o),a&&(i[f]=r)}let c={positions:t,maximumHeights:i,minimumHeights:n,ellipsoid:e.ellipsoid,vertexFormat:e.vertexFormat};return new ay(c)};ay.createGeometry=function(e){let t=e._positions,n=e._minimumHeights,i=e._maximumHeights,o=e._vertexFormat,r=e._granularity,s=e._ellipsoid,a=gA.computePositions(s,t,i,n,r,!0);if(!l(a))return;let c=a.bottomPositions,u=a.topPositions,f=a.numCorners,d=u.length,p=d*2,g=o.position?new Float64Array(p):void 0,m=o.normal?new Float32Array(p):void 0,C=o.tangent?new Float32Array(p):void 0,x=o.bitangent?new Float32Array(p):void 0,A=o.st?new Float32Array(p/3*2):void 0,b=0,E=0,S=0,v=0,P=0,O=uRe,M=lRe,B=cRe,L=!0;d/=3;let _,T=0,w=1/(d-f-1);for(_=0;_<d;++_){let k=_*3,H=h.fromArray(u,k,_G),V=h.fromArray(c,k,GI);if(o.position&&(g[b++]=V.x,g[b++]=V.y,g[b++]=V.z,g[b++]=H.x,g[b++]=H.y,g[b++]=H.z),o.st&&(A[P++]=T,A[P++]=0,A[P++]=T,A[P++]=1),o.normal||o.tangent||o.bitangent){let Y=h.clone(h.ZERO,Ote),q=h.subtract(H,s.geodeticSurfaceNormal(H,GI),GI);if(_+1<d&&(Y=h.fromArray(u,k+3,Ote)),L){let X=h.subtract(Y,H,aRe),W=h.subtract(q,H,_G);O=h.normalize(h.cross(W,X,O),O),L=!1}h.equalsEpsilon(H,Y,I.EPSILON10)?L=!0:(T+=w,o.tangent&&(M=h.normalize(h.subtract(Y,H,M),M)),o.bitangent&&(B=h.normalize(h.cross(O,M,B),B))),o.normal&&(m[E++]=O.x,m[E++]=O.y,m[E++]=O.z,m[E++]=O.x,m[E++]=O.y,m[E++]=O.z),o.tangent&&(C[v++]=M.x,C[v++]=M.y,C[v++]=M.z,C[v++]=M.x,C[v++]=M.y,C[v++]=M.z),o.bitangent&&(x[S++]=B.x,x[S++]=B.y,x[S++]=B.z,x[S++]=B.x,x[S++]=B.y,x[S++]=B.z)}}let D=new rn;o.position&&(D.position=new Ee({componentDatatype:Z.DOUBLE,componentsPerAttribute:3,values:g})),o.normal&&(D.normal=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:m})),o.tangent&&(D.tangent=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:C})),o.bitangent&&(D.bitangent=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:x})),o.st&&(D.st=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:2,values:A}));let R=p/3;p-=6*(f+1);let F=Be.createTypedArray(R,p),z=0;for(_=0;_<R-2;_+=2){let k=_,H=_+2,V=h.fromArray(g,k*3,_G),Y=h.fromArray(g,H*3,GI);if(h.equalsEpsilon(V,Y,I.EPSILON10))continue;let q=_+1,X=_+3;F[z++]=q,F[z++]=k,F[z++]=X,F[z++]=X,F[z++]=k,F[z++]=H}return new rt({attributes:D,indices:F,primitiveType:Ne.TRIANGLES,boundingSphere:new re.fromVertices(g)})};var WI=ay;var Bte=new h,Lte=new h;function cy(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n=e.maximumHeights,i=e.minimumHeights,o=y(e.granularity,I.RADIANS_PER_DEGREE),r=y(e.ellipsoid,oe.WGS84);this._positions=t,this._minimumHeights=i,this._maximumHeights=n,this._granularity=o,this._ellipsoid=oe.clone(r),this._workerName="createWallOutlineGeometry";let s=1+t.length*h.packedLength+2;l(i)&&(s+=i.length),l(n)&&(s+=n.length),this.packedLength=s+oe.packedLength+1}cy.pack=function(e,t,n){n=y(n,0);let i,o=e._positions,r=o.length;for(t[n++]=r,i=0;i<r;++i,n+=h.packedLength)h.pack(o[i],t,n);let s=e._minimumHeights;if(r=l(s)?s.length:0,t[n++]=r,l(s))for(i=0;i<r;++i)t[n++]=s[i];let a=e._maximumHeights;if(r=l(a)?a.length:0,t[n++]=r,l(a))for(i=0;i<r;++i)t[n++]=a[i];return oe.pack(e._ellipsoid,t,n),n+=oe.packedLength,t[n]=e._granularity,t};var Nte=oe.clone(oe.UNIT_SPHERE),mS={positions:void 0,minimumHeights:void 0,maximumHeights:void 0,ellipsoid:Nte,granularity:void 0};cy.unpack=function(e,t,n){t=y(t,0);let i,o=e[t++],r=new Array(o);for(i=0;i<o;++i,t+=h.packedLength)r[i]=h.unpack(e,t);o=e[t++];let s;if(o>0)for(s=new Array(o),i=0;i<o;++i)s[i]=e[t++];o=e[t++];let a;if(o>0)for(a=new Array(o),i=0;i<o;++i)a[i]=e[t++];let c=oe.unpack(e,t,Nte);t+=oe.packedLength;let u=e[t];return l(n)?(n._positions=r,n._minimumHeights=s,n._maximumHeights=a,n._ellipsoid=oe.clone(c,n._ellipsoid),n._granularity=u,n):(mS.positions=r,mS.minimumHeights=s,mS.maximumHeights=a,mS.granularity=u,new cy(mS))};cy.fromConstantHeights=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n,i,o=e.minimumHeight,r=e.maximumHeight,s=l(o),a=l(r);if(s||a){let u=t.length;n=s?new Array(u):void 0,i=a?new Array(u):void 0;for(let f=0;f<u;++f)s&&(n[f]=o),a&&(i[f]=r)}let c={positions:t,maximumHeights:i,minimumHeights:n,ellipsoid:e.ellipsoid};return new cy(c)};cy.createGeometry=function(e){let t=e._positions,n=e._minimumHeights,i=e._maximumHeights,o=e._granularity,r=e._ellipsoid,s=gA.computePositions(r,t,i,n,o,!1);if(!l(s))return;let a=s.bottomPositions,c=s.topPositions,u=c.length,f=u*2,d=new Float64Array(f),p=0;u/=3;let g;for(g=0;g<u;++g){let b=g*3,E=h.fromArray(c,b,Bte),S=h.fromArray(a,b,Lte);d[p++]=S.x,d[p++]=S.y,d[p++]=S.z,d[p++]=E.x,d[p++]=E.y,d[p++]=E.z}let m=new rn({position:new Ee({componentDatatype:Z.DOUBLE,componentsPerAttribute:3,values:d})}),C=f/3;f=2*C-4+C;let x=Be.createTypedArray(C,f),A=0;for(g=0;g<C-2;g+=2){let b=g,E=g+2,S=h.fromArray(d,b*3,Bte),v=h.fromArray(d,E*3,Lte);if(h.equalsEpsilon(S,v,I.EPSILON10))continue;let P=g+1,O=g+3;x[A++]=P,x[A++]=b,x[A++]=P,x[A++]=O,x[A++]=b,x[A++]=E}return x[A++]=C-2,x[A++]=C-1,new rt({attributes:m,indices:x,primitiveType:Ne.LINES,boundingSphere:new re.fromVertices(d)})};var jI=cy;var gG={};function fRe(e){let t=Be.createTypedArray(e,e*2),n=e,i=0;for(let o=0;o<n;o+=3)t[i++]=o,t[i++]=o+1,t[i++]=o+1,t[i++]=o+2,t[i++]=o+2,t[i++]=o;return t}function dRe(e,t){let n=t.length,i=Be.createTypedArray(e,n*2),o=0;for(let r=0;r<n;r+=3){let s=t[r],a=t[r+1],c=t[r+2];i[o++]=s,i[o++]=a,i[o++]=a,i[o++]=c,i[o++]=c,i[o++]=s}return i}function hRe(e){let t=e-2,n=2+t*4,i=Be.createTypedArray(e,n),o=0;i[o++]=0,i[o++]=1;for(let r=0;r<t;r++)i[o++]=r+1,i[o++]=r+2,i[o++]=r+2,i[o++]=r;return i}function mRe(e,t){let i=t.length-2,o=2+i*4,r=Be.createTypedArray(e,o),s=0;r[s++]=t[0],r[s++]=t[1];for(let a=0;a<i;a++){let c=t[a],u=t[a+1],f=t[a+2];r[s++]=u,r[s++]=f,r[s++]=f,r[s++]=c}return r}function pRe(e){let t=e-2,n=2+t*4,i=Be.createTypedArray(e,n),o=0;i[o++]=0,i[o++]=1;for(let r=0;r<t;r++)i[o++]=r+1,i[o++]=r+2,i[o++]=r+2,i[o++]=0;return i}function _Re(e,t){let i=t.length-2,o=2+i*4,r=Be.createTypedArray(e,o),s=0,a=t[0];r[s++]=a,r[s++]=t[1];for(let c=0;c<i;c++){let u=t[c+1],f=t[c+2];r[s++]=u,r[s++]=f,r[s++]=f,r[s++]=a}return r}gG.createWireframeIndices=function(e,t,n){let i=l(n);if(e===Ne.TRIANGLES)return i?dRe(t,n):fRe(t);if(e===Ne.TRIANGLE_STRIP)return i?mRe(t,n):hRe(t);if(e===Ne.TRIANGLE_FAN)return i?_Re(t,n):pRe(t)};gG.getWireframeIndicesCount=function(e,t){if(e===Ne.TRIANGLES)return t*2;if(e===Ne.TRIANGLE_STRIP||e===Ne.TRIANGLE_FAN){let n=t-2;return 2+n*4}return t};var pS=gG;function gRe(e,t){Bt(e,t)}var or=gRe;var ym;typeof cancelAnimationFrame<"u"&&(ym=cancelAnimationFrame);(function(){if(!l(ym)&&typeof window<"u"){let e=["webkit","moz","ms","o"],t=0,n=e.length;for(;t<n&&!l(ym);)ym=window[`${e[t]}CancelAnimationFrame`],l(ym)||(ym=window[`${e[t]}CancelRequestAnimationFrame`]),++t}l(ym)||(ym=clearTimeout)})();function yRe(e){or("Cesium.cancelAnimationFrame","Cesium.cancelAnimationFrame was deprecated in CesiumJS 1.96 and will be removed in 1.99. Use the native cancelAnimationFrame method instead."),ym(e)}var Fte=yRe;function CRe(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}var Hn=CRe;function xRe(e){return e=y(e,y.EMPTY_OBJECT),new u1({url:Xd.fromAssetId(1),requestVertexNormals:y(e.requestVertexNormals,!1),requestWaterMask:y(e.requestWaterMask,!1)})}var qI=xRe;var ARe=1953029805,TRe=2917034100;function yG(e,t){if(yG.passThroughDataForTesting)return t;let n=e.byteLength;if(n===0||n%4!==0)throw new de("The length of key must be greater than 0 and a multiple of 4.");let i=new DataView(t),o=i.getUint32(0,!0);if(o===ARe||o===TRe)return t;let r=new DataView(e),s=0,a=t.byteLength,c=a-a%8,u=n,f,d=8;for(;s<c;)for(d=(d+8)%24,f=d;s<c&&f<u;)i.setUint32(s,i.getUint32(s,!0)^r.getUint32(f,!0),!0),i.setUint32(s+4,i.getUint32(s+4,!0)^r.getUint32(f+4,!0),!0),s+=8,f+=24;if(s<a)for(f>=u&&(d=(d+8)%24,f=d);s<a;)i.setUint8(s,i.getUint8(s)^r.getUint8(f)),s++,f++}yG.passThroughDataForTesting=!1;var YI=yG;var CG=32767,ERe=new he,bRe=new h;function SRe(e,t,n,i,o){let r=e.length/3,s=e.subarray(0,r),a=e.subarray(r,2*r),c=e.subarray(2*r,3*r);kn.zigZagDeltaDecode(s,a,c);let u=new Float64Array(e.length);for(let f=0;f<r;++f){let d=s[f],p=a[f],g=c[f],m=I.lerp(t.west,t.east,d/CG),C=I.lerp(t.south,t.north,p/CG),x=I.lerp(n,i,g/CG),A=he.fromRadians(m,C,x,ERe),b=o.cartographicToCartesian(A,bRe);h.pack(b,u,f*3)}return u}var XI=SRe;var Vte=Ri(fl(),1);function wRe(e){let t=new Vte.default(e);t.normalize();let n=t.path(),i=n.lastIndexOf("/");return i!==-1&&(n=n.substr(i+1)),n}var A_=wRe;function vRe(e,t,n){let i=new Uint8ClampedArray(e.buffer),o=new ImageData(i,t,n),r=document.createElement("canvas");return r.width=t,r.height=n,r.getContext("2d").putImageData(o,0,0),r}var KI=vRe;function DRe(e,t){return t=y(t,0),ml(e,t,Math.min(4,e.length))}var Jd=DRe;function PRe(e){let t=e.uint8Array,n=e.format,i=e.request,o=y(e.flipY,!1),r=y(e.skipColorSpaceConversion,!1),s=new Blob([t],{type:n}),a;return Ie.supportsImageBitmapOptions().then(function(c){return c?Promise.resolve(Ie.createImageBitmapFromBlob(s,{flipY:o,premultiplyAlpha:!1,skipColorSpaceConversion:r})):(a=window.URL.createObjectURL(s),new Ie({url:a,request:i}).fetchImage({flipY:o,skipColorSpaceConversion:r}))}).then(function(c){return l(a)&&window.URL.revokeObjectURL(a),c}).catch(function(c){return l(a)&&window.URL.revokeObjectURL(a),Promise.reject(c)})}var yA=PRe;var kte;Ute.setKTX2SupportedFormats=function(e,t,n,i,o,r){kte={s3tc:e,pvrtc:t,astc:n,etc:i,etc1:o,bc7:r}};function Ute(e){let t;return e instanceof ArrayBuffer||ArrayBuffer.isView(e)?t=Promise.resolve(e):t=Ie.createIfNeeded(e).fetchArrayBuffer(),t.then(function(n){return dI.transcode(n,kte)})}var xl=Ute;var xG=[],AG=[];function IRe(e,t,n,i,o,r){let s=o-i+1,a=r-o,c=xG,u=AG,f,d;for(f=0;f<s;++f)c[f]=e[i+f];for(d=0;d<a;++d)u[d]=e[o+d+1];f=0,d=0;for(let p=i;p<=r;++p){let g=c[f],m=u[d];f<s&&(d>=a||t(g,m,n)<=0)?(e[p]=g,++f):d<a&&(e[p]=m,++d)}}function TG(e,t,n,i,o){if(i>=o)return;let r=Math.floor((i+o)*.5);TG(e,t,n,i,r),TG(e,t,n,r+1,o),IRe(e,t,n,i,r,o)}function ORe(e,t,n){let i=e.length,o=Math.ceil(i*.5);xG.length=o,AG.length=o,TG(e,t,n,0,i-1),xG.length=0,AG.length=0}var ly=ORe;var RRe=new h;function MRe(e,t,n,i){let o=Cx(e,t,n,i,RRe);return l(o)?o.x>0&&o.y>0&&o.z>0:!1}var zte=MRe;var uy;typeof requestAnimationFrame<"u"&&(uy=requestAnimationFrame);(function(){if(!l(uy)&&typeof window<"u"){let e=["webkit","moz","ms","o"],t=0,n=e.length;for(;t<n&&!l(uy);)uy=window[`${e[t]}RequestAnimationFrame`],++t}if(!l(uy)){let e=16.666666666666668,t=0;uy=function(n){let i=Ei(),o=Math.max(e-(i-t),0);return t=i+o,setTimeout(function(){n(t)},o)}}})();function BRe(e){return or("Cesium.requestAnimationFrame","Cesium.requestAnimationFrame was deprecated in CesiumJS 1.96 and will be removed in 1.99. Use the native requestAnimationFrame method instead."),uy(e)}var Hte=BRe;function LRe(e){let t=document.createElement("canvas");return t.width=I.nextPowerOfTwo(e.width),t.height=I.nextPowerOfTwo(e.height),t.getContext("2d").drawImage(e,0,0,e.width,e.height,0,0,t.width,t.height),t}var fy=LRe;function NRe(e,t,n){return e.readyPromise.then(function(){return kRe(e,t,n)})}function FRe(e,t){let n=e[0],i=n.terrainProvider.requestTileGeometry(n.x,n.y,n.level);if(!i)return!1;let o=i.then(URe(n)).catch(zRe(n));return e.shift(),t.push(o),!0}function VRe(e){return new Promise(function(t){setTimeout(t,e)})}function EG(e,t){return e.length?FRe(e,t)?EG(e,t):VRe(100).then(()=>EG(e,t)):Promise.resolve()}function kRe(e,t,n){let i=e.tilingScheme,o,r=[],s={};for(o=0;o<n.length;++o){let c=i.positionToTileXY(n[o],t),u=c.toString();if(!s.hasOwnProperty(u)){let f={x:c.x,y:c.y,level:t,tilingScheme:i,terrainProvider:e,positions:[]};s[u]=f,r.push(f)}s[u].positions.push(n[o])}let a=[];return EG(r,a).then(function(){return Promise.all(a).then(function(){return n})})}function Gte(e,t,n){let i=t.interpolateHeight(n,e.longitude,e.latitude);return i===void 0?!1:(e.height=i,!0)}function URe(e){let t=e.positions,n=e.tilingScheme.tileXYToRectangle(e.x,e.y,e.level);return function(i){let o=!1;for(let r=0;r<t.length;++r){let s=t[r];if(!Gte(s,i,n)){o=!0;break}}return o?i.createMesh({tilingScheme:e.tilingScheme,x:e.x,y:e.y,level:e.level,throttle:!1}).then(function(){for(let r=0;r<t.length;++r){let s=t[r];Gte(s,i,n)}}):Promise.resolve()}}function zRe(e){let t=e.positions;return function(){for(let n=0;n<t.length;++n){let i=t[n];i.height=void 0}}}var ZI=NRe;var bG=new G;function Wte(e,t){return e.readyPromise.then(function(){let n=[],i=[],o=e.availability,r=[];for(let s=0;s<t.length;++s){let a=t[s],c=o.computeMaximumLevelAtPosition(a);if(i[s]=c,c===0){e.tilingScheme.positionToTileXY(a,1,bG);let f=e.loadTileDataAvailability(bG.x,bG.y,1);l(f)&&r.push(f)}let u=n[c];l(u)||(n[c]=u=[]),u.push(a)}return Promise.all(r).then(function(){return Promise.all(n.map(function(s,a){if(l(s))return ZI(e,a,s)}))}).then(function(){let s=[];for(let a=0;a<t.length;++a){let c=t[a];o.computeMaximumLevelAtPosition(c)!==i[a]&&s.push(c)}if(s.length>0)return Wte(e,s)}).then(function(){return t})})}var T_=Wte;function HRe(e,t){let n=[],i=e.length,o=0;for(;o<i;){let r=Math.ceil((i-o)/t--);n.push(e.slice(o,o+r)),o+=r}return n}var $I=HRe;function GRe(e){switch(e){case te.FLOAT:return"float";case te.FLOAT_VEC2:return"vec2";case te.FLOAT_VEC3:return"vec3";case te.FLOAT_VEC4:return"vec4";case te.FLOAT_MAT2:return"mat2";case te.FLOAT_MAT3:return"mat3";case te.FLOAT_MAT4:return"mat4";case te.SAMPLER_2D:return"sampler2D";case te.BOOL:return"bool"}}var jte=GRe;function WRe(e,t,n){return function(){n.apply(e,arguments),t.apply(e,arguments)}}var JI=WRe;function E_(e){this._value=void 0,this._hasClone=!1,this._hasEquals=!1,this._definitionChanged=new ge,this.setValue(e)}Object.defineProperties(E_.prototype,{isConstant:{value:!0},definitionChanged:{get:function(){return this._definitionChanged}}});E_.prototype.getValue=function(e,t){return this._hasClone?this._value.clone(t):this._value};E_.prototype.setValue=function(e){let t=this._value;if(t!==e){let n=l(e),i=n&&typeof e.clone=="function",o=n&&typeof e.equals=="function";(!o||!e.equals(t))&&(this._hasClone=i,this._hasEquals=o,this._value=i?e.clone(this._value):e,this._definitionChanged.raiseEvent(this))}};E_.prototype.equals=function(e){return this===e||e instanceof E_&&(!this._hasEquals&&this._value===e._value||this._hasEquals&&this._value.equals(e._value))};E_.prototype.valueOf=function(){return this._value};E_.prototype.toString=function(){return String(this._value)};var Zn=E_;function jRe(e,t,n,i,o){return{configurable:i,get:function(){return this[t]},set:function(r){let s=this[t],a=this[n];l(a)&&(a(),this[n]=void 0),r!==void 0&&(!l(r)||!l(r.getValue))&&l(o)&&(r=o(r)),s!==r&&(this[t]=r,this._definitionChanged.raiseEvent(this,e,r,s)),l(r)&&l(r.definitionChanged)&&(this[n]=r.definitionChanged.addEventListener(function(){this._definitionChanged.raiseEvent(this,e,r,r)},this))}}}function qRe(e){return new Zn(e)}function YRe(e,t,n){return jRe(e,`_${e.toString()}`,`_${e.toString()}Subscription`,y(t,!1),y(n,qRe))}var ae=YRe;function _S(e){this._definitionChanged=new ge,this._show=void 0,this._showSubscription=void 0,this._image=void 0,this._imageSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this._pixelOffset=void 0,this._pixelOffsetSubscription=void 0,this._eyeOffset=void 0,this._eyeOffsetSubscription=void 0,this._horizontalOrigin=void 0,this._horizontalOriginSubscription=void 0,this._verticalOrigin=void 0,this._verticalOriginSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._color=void 0,this._colorSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._alignedAxis=void 0,this._alignedAxisSubscription=void 0,this._sizeInMeters=void 0,this._sizeInMetersSubscription=void 0,this._width=void 0,this._widthSubscription=void 0,this._height=void 0,this._heightSubscription=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._imageSubRegion=void 0,this._imageSubRegionSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._disableDepthTestDistance=void 0,this._disableDepthTestDistanceSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(_S.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ae("show"),image:ae("image"),scale:ae("scale"),pixelOffset:ae("pixelOffset"),eyeOffset:ae("eyeOffset"),horizontalOrigin:ae("horizontalOrigin"),verticalOrigin:ae("verticalOrigin"),heightReference:ae("heightReference"),color:ae("color"),rotation:ae("rotation"),alignedAxis:ae("alignedAxis"),sizeInMeters:ae("sizeInMeters"),width:ae("width"),height:ae("height"),scaleByDistance:ae("scaleByDistance"),translucencyByDistance:ae("translucencyByDistance"),pixelOffsetScaleByDistance:ae("pixelOffsetScaleByDistance"),imageSubRegion:ae("imageSubRegion"),distanceDisplayCondition:ae("distanceDisplayCondition"),disableDepthTestDistance:ae("disableDepthTestDistance")});_S.prototype.clone=function(e){return l(e)?(e.show=this._show,e.image=this._image,e.scale=this._scale,e.pixelOffset=this._pixelOffset,e.eyeOffset=this._eyeOffset,e.horizontalOrigin=this._horizontalOrigin,e.verticalOrigin=this._verticalOrigin,e.heightReference=this._heightReference,e.color=this._color,e.rotation=this._rotation,e.alignedAxis=this._alignedAxis,e.sizeInMeters=this._sizeInMeters,e.width=this._width,e.height=this._height,e.scaleByDistance=this._scaleByDistance,e.translucencyByDistance=this._translucencyByDistance,e.pixelOffsetScaleByDistance=this._pixelOffsetScaleByDistance,e.imageSubRegion=this._imageSubRegion,e.distanceDisplayCondition=this._distanceDisplayCondition,e.disableDepthTestDistance=this._disableDepthTestDistance,e):new _S(this)};_S.prototype.merge=function(e){this.show=y(this._show,e.show),this.image=y(this._image,e.image),this.scale=y(this._scale,e.scale),this.pixelOffset=y(this._pixelOffset,e.pixelOffset),this.eyeOffset=y(this._eyeOffset,e.eyeOffset),this.horizontalOrigin=y(this._horizontalOrigin,e.horizontalOrigin),this.verticalOrigin=y(this._verticalOrigin,e.verticalOrigin),this.heightReference=y(this._heightReference,e.heightReference),this.color=y(this._color,e.color),this.rotation=y(this._rotation,e.rotation),this.alignedAxis=y(this._alignedAxis,e.alignedAxis),this.sizeInMeters=y(this._sizeInMeters,e.sizeInMeters),this.width=y(this._width,e.width),this.height=y(this._height,e.height),this.scaleByDistance=y(this._scaleByDistance,e.scaleByDistance),this.translucencyByDistance=y(this._translucencyByDistance,e.translucencyByDistance),this.pixelOffsetScaleByDistance=y(this._pixelOffsetScaleByDistance,e.pixelOffsetScaleByDistance),this.imageSubRegion=y(this._imageSubRegion,e.imageSubRegion),this.distanceDisplayCondition=y(this._distanceDisplayCondition,e.distanceDisplayCondition),this.disableDepthTestDistance=y(this._disableDepthTestDistance,e.disableDepthTestDistance)};var rc=_S;var XRe={NONE:0,CLAMP_TO_GROUND:1,RELATIVE_TO_GROUND:2},ze=Object.freeze(XRe);var KRe={CENTER:0,LEFT:1,RIGHT:-1},ui=Object.freeze(KRe);var ZRe={CENTER:0,BOTTOM:1,BASELINE:2,TOP:-1},bn=Object.freeze(ZRe);var $Re={DONE:0,PENDING:1,FAILED:2},it=Object.freeze($Re);function Tf(){ye.throwInstantiationError()}Object.defineProperties(Tf.prototype,{isConstant:{get:ye.throwInstantiationError},definitionChanged:{get:ye.throwInstantiationError}});Tf.prototype.getValue=ye.throwInstantiationError;Tf.prototype.equals=ye.throwInstantiationError;Tf.equals=function(e,t){return e===t||l(e)&&e.equals(t)};Tf.arrayEquals=function(e,t){if(e===t)return!0;if(!l(e)||!l(t)||e.length!==t.length)return!1;let n=e.length;for(let i=0;i<n;i++)if(!Tf.equals(e[i],t[i]))return!1;return!0};Tf.isConstant=function(e){return!l(e)||e.isConstant};Tf.getValueOrUndefined=function(e,t,n){return l(e)?e.getValue(t,n):void 0};Tf.getValueOrDefault=function(e,t,n,i){return l(e)?y(e.getValue(t,i),n):n};Tf.getValueOrClonedDefault=function(e,t,n,i){let o;return l(e)&&(o=e.getValue(t,i)),l(o)||(o=n.clone(o)),o};var j=Tf;var JRe=U.WHITE,QRe=h.ZERO,eMe=ze.NONE,tMe=G.ZERO,nMe=1,iMe=0,oMe=h.ZERO,rMe=ui.CENTER,sMe=bn.CENTER,aMe=!1,cMe=new h,lMe=new U,uMe=new h,fMe=new G,dMe=new St,hMe=new St,mMe=new St,pMe=new Ge,_Me=new At;function qte(e){this.entity=e,this.billboard=void 0,this.textureValue=void 0}function b_(e,t){t.collectionChanged.addEventListener(b_.prototype._onCollectionChanged,this),this._cluster=e,this._entityCollection=t,this._items=new gt,this._onCollectionChanged(t,t.values,[],[])}b_.prototype.update=function(e){let t=this._items.values,n=this._cluster;for(let i=0,o=t.length;i<o;i++){let r=t[i],s=r.entity,a=s._billboard,c,u=r.billboard,f=s.isShowing&&s.isAvailable(e)&&j.getValueOrDefault(a._show,e,!0),d;if(f&&(d=j.getValueOrUndefined(s._position,e,cMe),c=j.getValueOrUndefined(a._image,e),f=l(d)&&l(c)),!f){SG(r,s,n);continue}j.isConstant(s._position)||(n._clusterDirty=!0),l(u)||(u=n.getBillboard(s),u.id=s,u.image=void 0,r.billboard=u),u.show=f,(!l(u.image)||r.textureValue!==c)&&(u.image=c,r.textureValue=c),u.position=d,u.color=j.getValueOrDefault(a._color,e,JRe,lMe),u.eyeOffset=j.getValueOrDefault(a._eyeOffset,e,QRe,uMe),u.heightReference=j.getValueOrDefault(a._heightReference,e,eMe),u.pixelOffset=j.getValueOrDefault(a._pixelOffset,e,tMe,fMe),u.scale=j.getValueOrDefault(a._scale,e,nMe),u.rotation=j.getValueOrDefault(a._rotation,e,iMe),u.alignedAxis=j.getValueOrDefault(a._alignedAxis,e,oMe),u.horizontalOrigin=j.getValueOrDefault(a._horizontalOrigin,e,rMe),u.verticalOrigin=j.getValueOrDefault(a._verticalOrigin,e,sMe),u.width=j.getValueOrUndefined(a._width,e),u.height=j.getValueOrUndefined(a._height,e),u.scaleByDistance=j.getValueOrUndefined(a._scaleByDistance,e,dMe),u.translucencyByDistance=j.getValueOrUndefined(a._translucencyByDistance,e,hMe),u.pixelOffsetScaleByDistance=j.getValueOrUndefined(a._pixelOffsetScaleByDistance,e,mMe),u.sizeInMeters=j.getValueOrDefault(a._sizeInMeters,e,aMe),u.distanceDisplayCondition=j.getValueOrUndefined(a._distanceDisplayCondition,e,_Me),u.disableDepthTestDistance=j.getValueOrUndefined(a._disableDepthTestDistance,e);let p=j.getValueOrUndefined(a._imageSubRegion,e,pMe);l(p)&&u.setImageSubRegion(u._imageId,p)}return!0};b_.prototype.getBoundingSphere=function(e,t){let n=this._items.get(e.id);if(!l(n)||!l(n.billboard))return it.FAILED;let i=n.billboard;if(i.heightReference===ze.NONE)t.center=h.clone(i.position,t.center);else{if(!l(i._clampedPosition))return it.PENDING;t.center=h.clone(i._clampedPosition,t.center)}return t.radius=0,it.DONE};b_.prototype.isDestroyed=function(){return!1};b_.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(b_.prototype._onCollectionChanged,this);let e=this._entityCollection.values;for(let t=0;t<e.length;t++)this._cluster.removeBillboard(e[t]);return fe(this)};b_.prototype._onCollectionChanged=function(e,t,n,i){let o,r,s=this._items,a=this._cluster;for(o=t.length-1;o>-1;o--)r=t[o],l(r._billboard)&&l(r._position)&&s.set(r.id,new qte(r));for(o=i.length-1;o>-1;o--)r=i[o],l(r._billboard)&&l(r._position)?s.contains(r.id)||s.set(r.id,new qte(r)):(SG(s.get(r.id),r,a),s.remove(r.id));for(o=n.length-1;o>-1;o--)r=n[o],SG(s.get(r.id),r,a),s.remove(r.id)};function SG(e,t,n){l(e)&&(e.billboard=void 0,n.removeBillboard(t))}var QI=b_;var eO=`varying vec3 v_positionEC;
  91. varying vec3 v_normalEC;
  92. varying vec3 v_tangentEC;
  93. varying vec3 v_bitangentEC;
  94. varying vec2 v_st;
  95. void main()
  96. {
  97. vec3 positionToEyeEC = -v_positionEC;
  98. mat3 tangentToEyeMatrix = czm_tangentToEyeSpaceMatrix(v_normalEC, v_tangentEC, v_bitangentEC);
  99. vec3 normalEC = normalize(v_normalEC);
  100. #ifdef FACE_FORWARD
  101. normalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC);
  102. #endif
  103. czm_materialInput materialInput;
  104. materialInput.normalEC = normalEC;
  105. materialInput.tangentToEyeMatrix = tangentToEyeMatrix;
  106. materialInput.positionToEyeEC = positionToEyeEC;
  107. materialInput.st = v_st;
  108. czm_material material = czm_getMaterial(materialInput);
  109. #ifdef FLAT
  110. gl_FragColor = vec4(material.diffuse + material.emission, material.alpha);
  111. #else
  112. gl_FragColor = czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC);
  113. #endif
  114. }
  115. `;var tO=`attribute vec3 position3DHigh;
  116. attribute vec3 position3DLow;
  117. attribute vec3 normal;
  118. attribute vec3 tangent;
  119. attribute vec3 bitangent;
  120. attribute vec2 st;
  121. attribute float batchId;
  122. varying vec3 v_positionEC;
  123. varying vec3 v_normalEC;
  124. varying vec3 v_tangentEC;
  125. varying vec3 v_bitangentEC;
  126. varying vec2 v_st;
  127. void main()
  128. {
  129. vec4 p = czm_computePosition();
  130. v_positionEC = (czm_modelViewRelativeToEye * p).xyz;
  131. v_normalEC = czm_normal * normal;
  132. v_tangentEC = czm_normal * tangent;
  133. v_bitangentEC = czm_normal * bitangent;
  134. v_st = st;
  135. gl_Position = czm_modelViewProjectionRelativeToEye * p;
  136. }
  137. `;var nO=`varying vec3 v_positionEC;
  138. varying vec3 v_normalEC;
  139. void main()
  140. {
  141. vec3 positionToEyeEC = -v_positionEC;
  142. vec3 normalEC = normalize(v_normalEC);
  143. #ifdef FACE_FORWARD
  144. normalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC);
  145. #endif
  146. czm_materialInput materialInput;
  147. materialInput.normalEC = normalEC;
  148. materialInput.positionToEyeEC = positionToEyeEC;
  149. czm_material material = czm_getMaterial(materialInput);
  150. #ifdef FLAT
  151. gl_FragColor = vec4(material.diffuse + material.emission, material.alpha);
  152. #else
  153. gl_FragColor = czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC);
  154. #endif
  155. }
  156. `;var iO=`attribute vec3 position3DHigh;
  157. attribute vec3 position3DLow;
  158. attribute vec3 normal;
  159. attribute float batchId;
  160. varying vec3 v_positionEC;
  161. varying vec3 v_normalEC;
  162. void main()
  163. {
  164. vec4 p = czm_computePosition();
  165. v_positionEC = (czm_modelViewRelativeToEye * p).xyz;
  166. v_normalEC = czm_normal * normal;
  167. gl_Position = czm_modelViewProjectionRelativeToEye * p;
  168. }
  169. `;var oO=`varying vec3 v_positionEC;
  170. varying vec3 v_normalEC;
  171. varying vec2 v_st;
  172. void main()
  173. {
  174. vec3 positionToEyeEC = -v_positionEC;
  175. vec3 normalEC = normalize(v_normalEC);
  176. #ifdef FACE_FORWARD
  177. normalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC);
  178. #endif
  179. czm_materialInput materialInput;
  180. materialInput.normalEC = normalEC;
  181. materialInput.positionToEyeEC = positionToEyeEC;
  182. materialInput.st = v_st;
  183. czm_material material = czm_getMaterial(materialInput);
  184. #ifdef FLAT
  185. gl_FragColor = vec4(material.diffuse + material.emission, material.alpha);
  186. #else
  187. gl_FragColor = czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC);
  188. #endif
  189. }
  190. `;var rO=`attribute vec3 position3DHigh;
  191. attribute vec3 position3DLow;
  192. attribute vec3 normal;
  193. attribute vec2 st;
  194. attribute float batchId;
  195. varying vec3 v_positionEC;
  196. varying vec3 v_normalEC;
  197. varying vec2 v_st;
  198. void main()
  199. {
  200. vec4 p = czm_computePosition();
  201. v_positionEC = (czm_modelViewRelativeToEye * p).xyz;
  202. v_normalEC = czm_normal * normal;
  203. v_st = st;
  204. gl_Position = czm_modelViewProjectionRelativeToEye * p;
  205. }
  206. `;var gMe={ADD:te.FUNC_ADD,SUBTRACT:te.FUNC_SUBTRACT,REVERSE_SUBTRACT:te.FUNC_REVERSE_SUBTRACT,MIN:te.MIN,MAX:te.MAX},Aa=Object.freeze(gMe);var yMe={ZERO:te.ZERO,ONE:te.ONE,SOURCE_COLOR:te.SRC_COLOR,ONE_MINUS_SOURCE_COLOR:te.ONE_MINUS_SRC_COLOR,DESTINATION_COLOR:te.DST_COLOR,ONE_MINUS_DESTINATION_COLOR:te.ONE_MINUS_DST_COLOR,SOURCE_ALPHA:te.SRC_ALPHA,ONE_MINUS_SOURCE_ALPHA:te.ONE_MINUS_SRC_ALPHA,DESTINATION_ALPHA:te.DST_ALPHA,ONE_MINUS_DESTINATION_ALPHA:te.ONE_MINUS_DST_ALPHA,CONSTANT_COLOR:te.CONSTANT_COLOR,ONE_MINUS_CONSTANT_COLOR:te.ONE_MINUS_CONSTANT_COLOR,CONSTANT_ALPHA:te.CONSTANT_ALPHA,ONE_MINUS_CONSTANT_ALPHA:te.ONE_MINUS_CONSTANT_ALPHA,SOURCE_ALPHA_SATURATE:te.SRC_ALPHA_SATURATE},To=Object.freeze(yMe);var CMe={DISABLED:Object.freeze({enabled:!1}),ALPHA_BLEND:Object.freeze({enabled:!0,equationRgb:Aa.ADD,equationAlpha:Aa.ADD,functionSourceRgb:To.SOURCE_ALPHA,functionSourceAlpha:To.ONE,functionDestinationRgb:To.ONE_MINUS_SOURCE_ALPHA,functionDestinationAlpha:To.ONE_MINUS_SOURCE_ALPHA}),PRE_MULTIPLIED_ALPHA_BLEND:Object.freeze({enabled:!0,equationRgb:Aa.ADD,equationAlpha:Aa.ADD,functionSourceRgb:To.ONE,functionSourceAlpha:To.ONE,functionDestinationRgb:To.ONE_MINUS_SOURCE_ALPHA,functionDestinationAlpha:To.ONE_MINUS_SOURCE_ALPHA}),ADDITIVE_BLEND:Object.freeze({enabled:!0,equationRgb:Aa.ADD,equationAlpha:Aa.ADD,functionSourceRgb:To.SOURCE_ALPHA,functionSourceAlpha:To.ONE,functionDestinationRgb:To.ONE,functionDestinationAlpha:To.ONE})},cn=Object.freeze(CMe);var xMe={FRONT:te.FRONT,BACK:te.BACK,FRONT_AND_BACK:te.FRONT_AND_BACK},wi=Object.freeze(xMe);function CA(e){e=y(e,y.EMPTY_OBJECT),this.material=e.material,this.translucent=y(e.translucent,!0),this._vertexShaderSource=e.vertexShaderSource,this._fragmentShaderSource=e.fragmentShaderSource,this._renderState=e.renderState,this._closed=y(e.closed,!1)}Object.defineProperties(CA.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}}});CA.prototype.getFragmentShaderSource=function(){let e=[];return this.flat&&e.push("#define FLAT"),this.faceForward&&e.push("#define FACE_FORWARD"),l(this.material)&&e.push(this.material.shaderSource),e.push(this.fragmentShaderSource),e.join(`
  207. `)};CA.prototype.isTranslucent=function(){return l(this.material)&&this.material.isTranslucent()||!l(this.material)&&this.translucent};CA.prototype.getRenderState=function(){let e=this.isTranslucent(),t=et(this.renderState,!1);return e?(t.depthMask=!1,t.blending=cn.ALPHA_BLEND):t.depthMask=!0,t};CA.getDefaultRenderState=function(e,t,n){let i={depthTest:{enabled:!0}};return e&&(i.depthMask=!1,i.blending=cn.ALPHA_BLEND),t&&(i.cull={enabled:!0,face:wi.BACK}),l(n)&&(i=mt(n,i,!0)),i};var $i=CA;var rr={_maximumCombinedTextureImageUnits:0,_maximumCubeMapSize:0,_maximumFragmentUniformVectors:0,_maximumTextureImageUnits:0,_maximumRenderbufferSize:0,_maximumTextureSize:0,_maximumVaryingVectors:0,_maximumVertexAttributes:0,_maximumVertexTextureImageUnits:0,_maximumVertexUniformVectors:0,_minimumAliasedLineWidth:0,_maximumAliasedLineWidth:0,_minimumAliasedPointSize:0,_maximumAliasedPointSize:0,_maximumViewportWidth:0,_maximumViewportHeight:0,_maximumTextureFilterAnisotropy:0,_maximumDrawBuffers:0,_maximumColorAttachments:0,_maximumSamples:0,_highpFloatSupported:!1,_highpIntSupported:!1};Object.defineProperties(rr,{maximumCombinedTextureImageUnits:{get:function(){return rr._maximumCombinedTextureImageUnits}},maximumCubeMapSize:{get:function(){return rr._maximumCubeMapSize}},maximumFragmentUniformVectors:{get:function(){return rr._maximumFragmentUniformVectors}},maximumTextureImageUnits:{get:function(){return rr._maximumTextureImageUnits}},maximumRenderbufferSize:{get:function(){return rr._maximumRenderbufferSize}},maximumTextureSize:{get:function(){return rr._maximumTextureSize}},maximumVaryingVectors:{get:function(){return rr._maximumVaryingVectors}},maximumVertexAttributes:{get:function(){return rr._maximumVertexAttributes}},maximumVertexTextureImageUnits:{get:function(){return rr._maximumVertexTextureImageUnits}},maximumVertexUniformVectors:{get:function(){return rr._maximumVertexUniformVectors}},minimumAliasedLineWidth:{get:function(){return rr._minimumAliasedLineWidth}},maximumAliasedLineWidth:{get:function(){return rr._maximumAliasedLineWidth}},minimumAliasedPointSize:{get:function(){return rr._minimumAliasedPointSize}},maximumAliasedPointSize:{get:function(){return rr._maximumAliasedPointSize}},maximumViewportWidth:{get:function(){return rr._maximumViewportWidth}},maximumViewportHeight:{get:function(){return rr._maximumViewportHeight}},maximumTextureFilterAnisotropy:{get:function(){return rr._maximumTextureFilterAnisotropy}},maximumDrawBuffers:{get:function(){return rr._maximumDrawBuffers}},maximumColorAttachments:{get:function(){return rr._maximumColorAttachments}},maximumSamples:{get:function(){return rr._maximumSamples}},highpFloatSupported:{get:function(){return rr._highpFloatSupported}},highpIntSupported:{get:function(){return rr._highpIntSupported}}});var kt=rr;function sO(e,t,n,i,o,r,s,a,c,u,f){this._context=e,this._texture=t,this._textureTarget=n,this._targetFace=i,this._pixelDatatype=s,this._internalFormat=o,this._pixelFormat=r,this._size=a,this._preMultiplyAlpha=c,this._flipY=u,this._initialized=f}Object.defineProperties(sO.prototype,{pixelFormat:{get:function(){return this._pixelFormat}},pixelDatatype:{get:function(){return this._pixelDatatype}},_target:{get:function(){return this._targetFace}}});sO.prototype.copyFrom=function(e){let t=y(e.xOffset,0),n=y(e.yOffset,0),i=e.source,o=this._context._gl,r=this._textureTarget,s=this._targetFace;o.activeTexture(o.TEXTURE0),o.bindTexture(r,this._texture);let a=i.width,c=i.height,u=i.arrayBufferView,f=this._size,d=this._pixelFormat,p=this._internalFormat,g=this._pixelDatatype,m=this._preMultiplyAlpha,C=this._flipY,x=y(e.skipColorSpaceConversion,!1),A=4;l(u)&&(A=ft.alignmentInBytes(d,g,a)),o.pixelStorei(o.UNPACK_ALIGNMENT,A),x?o.pixelStorei(o.UNPACK_COLORSPACE_CONVERSION_WEBGL,o.NONE):o.pixelStorei(o.UNPACK_COLORSPACE_CONVERSION_WEBGL,o.BROWSER_DEFAULT_WEBGL);let b=!1;if(!this._initialized){if(t===0&&n===0&&a===f&&c===f)l(u)?(o.pixelStorei(o.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,!1),C&&(u=ft.flipY(u,d,g,f,f)),o.texImage2D(s,0,p,f,f,0,d,je.toWebGLConstant(g,this._context),u)):(o.pixelStorei(o.UNPACK_PREMULTIPLY_ALPHA_WEBGL,m),o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,C),o.texImage2D(s,0,p,d,je.toWebGLConstant(g,this._context),i)),b=!0;else{o.pixelStorei(o.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,!1);let E=ft.createTypedArray(d,g,f,f);o.texImage2D(s,0,p,f,f,0,d,je.toWebGLConstant(g,this._context),E)}this._initialized=!0}b||(l(u)?(o.pixelStorei(o.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,!1),C&&(u=ft.flipY(u,d,g,a,c)),o.texSubImage2D(s,0,t,n,a,c,d,je.toWebGLConstant(g,this._context),u)):(o.pixelStorei(o.UNPACK_PREMULTIPLY_ALPHA_WEBGL,m),o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,C),o.texSubImage2D(s,0,t,n,d,je.toWebGLConstant(g,this._context),i))),o.bindTexture(r,null)};sO.prototype.copyFromFramebuffer=function(e,t,n,i,o,r){e=y(e,0),t=y(t,0),n=y(n,0),i=y(i,0),o=y(o,this._size),r=y(r,this._size);let s=this._context._gl,a=this._textureTarget;s.activeTexture(s.TEXTURE0),s.bindTexture(a,this._texture),s.copyTexSubImage2D(this._targetFace,0,e,t,n,i,o,r),s.bindTexture(a,null),this._initialized=!0};var Cm=sO;var aO={DONT_CARE:te.DONT_CARE,FASTEST:te.FASTEST,NICEST:te.NICEST,validate:function(e){return e===aO.DONT_CARE||e===aO.FASTEST||e===aO.NICEST}},xm=Object.freeze(aO);var cO={NEAREST:te.NEAREST,LINEAR:te.LINEAR};cO.validate=function(e){return e===cO.NEAREST||e===cO.LINEAR};var Ji=Object.freeze(cO);var S_={NEAREST:te.NEAREST,LINEAR:te.LINEAR,NEAREST_MIPMAP_NEAREST:te.NEAREST_MIPMAP_NEAREST,LINEAR_MIPMAP_NEAREST:te.LINEAR_MIPMAP_NEAREST,NEAREST_MIPMAP_LINEAR:te.NEAREST_MIPMAP_LINEAR,LINEAR_MIPMAP_LINEAR:te.LINEAR_MIPMAP_LINEAR};S_.validate=function(e){return e===S_.NEAREST||e===S_.LINEAR||e===S_.NEAREST_MIPMAP_NEAREST||e===S_.LINEAR_MIPMAP_NEAREST||e===S_.NEAREST_MIPMAP_LINEAR||e===S_.LINEAR_MIPMAP_LINEAR};var ln=Object.freeze(S_);var lO={CLAMP_TO_EDGE:te.CLAMP_TO_EDGE,REPEAT:te.REPEAT,MIRRORED_REPEAT:te.MIRRORED_REPEAT,validate:function(e){return e===lO.CLAMP_TO_EDGE||e===lO.REPEAT||e===lO.MIRRORED_REPEAT}},Dn=Object.freeze(lO);function gS(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.wrapS,Dn.CLAMP_TO_EDGE),n=y(e.wrapT,Dn.CLAMP_TO_EDGE),i=y(e.minificationFilter,ln.LINEAR),o=y(e.magnificationFilter,Ji.LINEAR),r=l(e.maximumAnisotropy)?e.maximumAnisotropy:1;this._wrapS=t,this._wrapT=n,this._minificationFilter=i,this._magnificationFilter=o,this._maximumAnisotropy=r}Object.defineProperties(gS.prototype,{wrapS:{get:function(){return this._wrapS}},wrapT:{get:function(){return this._wrapT}},minificationFilter:{get:function(){return this._minificationFilter}},magnificationFilter:{get:function(){return this._magnificationFilter}},maximumAnisotropy:{get:function(){return this._maximumAnisotropy}}});gS.equals=function(e,t){return e===t||l(e)&&l(t)&&e._wrapS===t._wrapS&&e._wrapT===t._wrapT&&e._minificationFilter===t._minificationFilter&&e._magnificationFilter===t._magnificationFilter&&e._maximumAnisotropy===t._maximumAnisotropy};gS.NEAREST=Object.freeze(new gS({wrapS:Dn.CLAMP_TO_EDGE,wrapT:Dn.CLAMP_TO_EDGE,minificationFilter:ln.NEAREST,magnificationFilter:Ji.NEAREST}));var hn=gS;function yS(e){e=y(e,y.EMPTY_OBJECT);let t=e.context,n=e.source,i,o;if(l(n)){let b=[n.positiveX,n.negativeX,n.positiveY,n.negativeY,n.positiveZ,n.negativeZ];i=b[0].width,o=b[0].height}else i=e.width,o=e.height;let r=i,s=y(e.pixelDatatype,je.UNSIGNED_BYTE),a=y(e.pixelFormat,ft.RGBA),c=ft.toInternalFormat(a,s,t),u=ft.textureSizeInBytes(a,s,r,r)*6,f=e.preMultiplyAlpha||a===ft.RGB||a===ft.LUMINANCE,d=y(e.flipY,!0),p=y(e.skipColorSpaceConversion,!1),g=t._gl,m=g.TEXTURE_CUBE_MAP,C=g.createTexture();g.activeTexture(g.TEXTURE0),g.bindTexture(m,C);function x(b,E,S,v,P){let O=E.arrayBufferView;l(O)||(O=E.bufferView);let M=4;l(O)&&(M=ft.alignmentInBytes(a,s,i)),g.pixelStorei(g.UNPACK_ALIGNMENT,M),P?g.pixelStorei(g.UNPACK_COLORSPACE_CONVERSION_WEBGL,g.NONE):g.pixelStorei(g.UNPACK_COLORSPACE_CONVERSION_WEBGL,g.BROWSER_DEFAULT_WEBGL),l(O)?(g.pixelStorei(g.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),g.pixelStorei(g.UNPACK_FLIP_Y_WEBGL,!1),v&&(O=ft.flipY(O,a,s,r,r)),g.texImage2D(b,0,c,r,r,0,a,je.toWebGLConstant(s,t),O)):(g.pixelStorei(g.UNPACK_PREMULTIPLY_ALPHA_WEBGL,S),g.pixelStorei(g.UNPACK_FLIP_Y_WEBGL,v),g.texImage2D(b,0,c,a,je.toWebGLConstant(s,t),E))}l(n)?(x(g.TEXTURE_CUBE_MAP_POSITIVE_X,n.positiveX,f,d,p),x(g.TEXTURE_CUBE_MAP_NEGATIVE_X,n.negativeX,f,d,p),x(g.TEXTURE_CUBE_MAP_POSITIVE_Y,n.positiveY,f,d,p),x(g.TEXTURE_CUBE_MAP_NEGATIVE_Y,n.negativeY,f,d,p),x(g.TEXTURE_CUBE_MAP_POSITIVE_Z,n.positiveZ,f,d,p),x(g.TEXTURE_CUBE_MAP_NEGATIVE_Z,n.negativeZ,f,d,p)):(g.texImage2D(g.TEXTURE_CUBE_MAP_POSITIVE_X,0,c,r,r,0,a,je.toWebGLConstant(s,t),null),g.texImage2D(g.TEXTURE_CUBE_MAP_NEGATIVE_X,0,c,r,r,0,a,je.toWebGLConstant(s,t),null),g.texImage2D(g.TEXTURE_CUBE_MAP_POSITIVE_Y,0,c,r,r,0,a,je.toWebGLConstant(s,t),null),g.texImage2D(g.TEXTURE_CUBE_MAP_NEGATIVE_Y,0,c,r,r,0,a,je.toWebGLConstant(s,t),null),g.texImage2D(g.TEXTURE_CUBE_MAP_POSITIVE_Z,0,c,r,r,0,a,je.toWebGLConstant(s,t),null),g.texImage2D(g.TEXTURE_CUBE_MAP_NEGATIVE_Z,0,c,r,r,0,a,je.toWebGLConstant(s,t),null)),g.bindTexture(m,null),this._context=t,this._textureFilterAnisotropic=t._textureFilterAnisotropic,this._textureTarget=m,this._texture=C,this._pixelFormat=a,this._pixelDatatype=s,this._size=r,this._hasMipmap=!1,this._sizeInBytes=u,this._preMultiplyAlpha=f,this._flipY=d,this._sampler=void 0;let A=l(n);this._positiveX=new Cm(t,C,m,g.TEXTURE_CUBE_MAP_POSITIVE_X,c,a,s,r,f,d,A),this._negativeX=new Cm(t,C,m,g.TEXTURE_CUBE_MAP_NEGATIVE_X,c,a,s,r,f,d,A),this._positiveY=new Cm(t,C,m,g.TEXTURE_CUBE_MAP_POSITIVE_Y,c,a,s,r,f,d,A),this._negativeY=new Cm(t,C,m,g.TEXTURE_CUBE_MAP_NEGATIVE_Y,c,a,s,r,f,d,A),this._positiveZ=new Cm(t,C,m,g.TEXTURE_CUBE_MAP_POSITIVE_Z,c,a,s,r,f,d,A),this._negativeZ=new Cm(t,C,m,g.TEXTURE_CUBE_MAP_NEGATIVE_Z,c,a,s,r,f,d,A),this.sampler=l(e.sampler)?e.sampler:new hn}Object.defineProperties(yS.prototype,{positiveX:{get:function(){return this._positiveX}},negativeX:{get:function(){return this._negativeX}},positiveY:{get:function(){return this._positiveY}},negativeY:{get:function(){return this._negativeY}},positiveZ:{get:function(){return this._positiveZ}},negativeZ:{get:function(){return this._negativeZ}},sampler:{get:function(){return this._sampler},set:function(e){let t=e.minificationFilter,n=e.magnificationFilter,i=t===ln.NEAREST_MIPMAP_NEAREST||t===ln.NEAREST_MIPMAP_LINEAR||t===ln.LINEAR_MIPMAP_NEAREST||t===ln.LINEAR_MIPMAP_LINEAR,o=this._context,r=this._pixelDatatype;(r===je.FLOAT&&!o.textureFloatLinear||r===je.HALF_FLOAT&&!o.textureHalfFloatLinear)&&(t=i?ln.NEAREST_MIPMAP_NEAREST:ln.NEAREST,n=Ji.NEAREST);let s=o._gl,a=this._textureTarget;s.activeTexture(s.TEXTURE0),s.bindTexture(a,this._texture),s.texParameteri(a,s.TEXTURE_MIN_FILTER,t),s.texParameteri(a,s.TEXTURE_MAG_FILTER,n),s.texParameteri(a,s.TEXTURE_WRAP_S,e.wrapS),s.texParameteri(a,s.TEXTURE_WRAP_T,e.wrapT),l(this._textureFilterAnisotropic)&&s.texParameteri(a,this._textureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,e.maximumAnisotropy),s.bindTexture(a,null),this._sampler=e}},pixelFormat:{get:function(){return this._pixelFormat}},pixelDatatype:{get:function(){return this._pixelDatatype}},width:{get:function(){return this._size}},height:{get:function(){return this._size}},sizeInBytes:{get:function(){return this._hasMipmap?Math.floor(this._sizeInBytes*4/3):this._sizeInBytes}},preMultiplyAlpha:{get:function(){return this._preMultiplyAlpha}},flipY:{get:function(){return this._flipY}},_target:{get:function(){return this._textureTarget}}});yS.prototype.generateMipmap=function(e){e=y(e,xm.DONT_CARE),this._hasMipmap=!0;let t=this._context._gl,n=this._textureTarget;t.hint(t.GENERATE_MIPMAP_HINT,e),t.activeTexture(t.TEXTURE0),t.bindTexture(n,this._texture),t.generateMipmap(n),t.bindTexture(n,null)};yS.prototype.isDestroyed=function(){return!1};yS.prototype.destroy=function(){return this._context._gl.deleteTexture(this._texture),this._positiveX=fe(this._positiveX),this._negativeX=fe(this._negativeX),this._positiveY=fe(this._positiveY),this._negativeY=fe(this._negativeY),this._positiveZ=fe(this._positiveZ),this._negativeZ=fe(this._negativeZ),fe(this)};var sc=yS;function Ef(e){e=y(e,y.EMPTY_OBJECT);let t=e.context,n=e.width,i=e.height,o=e.source;l(o)&&(l(n)||(n=y(o.videoWidth,o.width)),l(i)||(i=y(o.videoHeight,o.height)));let r=y(e.pixelFormat,ft.RGBA),s=y(e.pixelDatatype,je.UNSIGNED_BYTE),a=ft.toInternalFormat(r,s,t),c=ft.isCompressedFormat(a),u=e.preMultiplyAlpha||r===ft.RGB||r===ft.LUMINANCE,f=y(e.flipY,!0),d=y(e.skipColorSpaceConversion,!1),p=!0,g=t._gl,m=g.TEXTURE_2D,C=g.createTexture();g.activeTexture(g.TEXTURE0),g.bindTexture(m,C);let x=4;if(l(o)&&l(o.arrayBufferView)&&!c&&(x=ft.alignmentInBytes(r,s,n)),g.pixelStorei(g.UNPACK_ALIGNMENT,x),d?g.pixelStorei(g.UNPACK_COLORSPACE_CONVERSION_WEBGL,g.NONE):g.pixelStorei(g.UNPACK_COLORSPACE_CONVERSION_WEBGL,g.BROWSER_DEFAULT_WEBGL),l(o))if(l(o.arrayBufferView)){g.pixelStorei(g.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),g.pixelStorei(g.UNPACK_FLIP_Y_WEBGL,!1);let b=o.arrayBufferView,E,S,v;if(c){if(g.compressedTexImage2D(m,0,a,n,i,0,b),l(o.mipLevels))for(S=n,v=i,E=0;E<o.mipLevels.length;++E)S=Math.floor(S/2)|0,S<1&&(S=1),v=Math.floor(v/2)|0,v<1&&(v=1),g.compressedTexImage2D(m,E+1,a,S,v,0,o.mipLevels[E])}else if(f&&(b=ft.flipY(b,r,s,n,i)),g.texImage2D(m,0,a,n,i,0,r,je.toWebGLConstant(s,t),b),l(o.mipLevels))for(S=n,v=i,E=0;E<o.mipLevels.length;++E)S=Math.floor(S/2)|0,S<1&&(S=1),v=Math.floor(v/2)|0,v<1&&(v=1),g.texImage2D(m,E+1,a,S,v,0,r,je.toWebGLConstant(s,t),o.mipLevels[E])}else l(o.framebuffer)?(g.pixelStorei(g.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),g.pixelStorei(g.UNPACK_FLIP_Y_WEBGL,!1),o.framebuffer!==t.defaultFramebuffer&&o.framebuffer._bind(),g.copyTexImage2D(m,0,a,o.xOffset,o.yOffset,n,i,0),o.framebuffer!==t.defaultFramebuffer&&o.framebuffer._unBind()):(g.pixelStorei(g.UNPACK_PREMULTIPLY_ALPHA_WEBGL,u),g.pixelStorei(g.UNPACK_FLIP_Y_WEBGL,f),g.texImage2D(m,0,a,r,je.toWebGLConstant(s,t),o));else g.texImage2D(m,0,a,n,i,0,r,je.toWebGLConstant(s,t),null),p=!1;g.bindTexture(m,null);let A;c?A=ft.compressedTextureSizeInBytes(r,n,i):A=ft.textureSizeInBytes(r,s,n,i),this._id=Hn(),this._context=t,this._textureFilterAnisotropic=t._textureFilterAnisotropic,this._textureTarget=m,this._texture=C,this._internalFormat=a,this._pixelFormat=r,this._pixelDatatype=s,this._width=n,this._height=i,this._dimensions=new G(n,i),this._hasMipmap=!1,this._sizeInBytes=A,this._preMultiplyAlpha=u,this._flipY=f,this._initialized=p,this._sampler=void 0,this.sampler=l(e.sampler)?e.sampler:new hn}Ef.create=function(e){return new Ef(e)};Ef.fromFramebuffer=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.context,n=t._gl,i=y(e.pixelFormat,ft.RGB),o=y(e.framebufferXOffset,0),r=y(e.framebufferYOffset,0),s=y(e.width,n.drawingBufferWidth),a=y(e.height,n.drawingBufferHeight),c=e.framebuffer;return new Ef({context:t,width:s,height:a,pixelFormat:i,source:{framebuffer:l(c)?c:t.defaultFramebuffer,xOffset:o,yOffset:r,width:s,height:a}})};Object.defineProperties(Ef.prototype,{id:{get:function(){return this._id}},sampler:{get:function(){return this._sampler},set:function(e){let t=e.minificationFilter,n=e.magnificationFilter,i=this._context,o=this._pixelFormat,r=this._pixelDatatype,s=t===ln.NEAREST_MIPMAP_NEAREST||t===ln.NEAREST_MIPMAP_LINEAR||t===ln.LINEAR_MIPMAP_NEAREST||t===ln.LINEAR_MIPMAP_LINEAR;(r===je.FLOAT&&!i.textureFloatLinear||r===je.HALF_FLOAT&&!i.textureHalfFloatLinear)&&(t=s?ln.NEAREST_MIPMAP_NEAREST:ln.NEAREST,n=Ji.NEAREST),i.webgl2&&ft.isDepthFormat(o)&&(t=ln.NEAREST,n=Ji.NEAREST);let a=i._gl,c=this._textureTarget;a.activeTexture(a.TEXTURE0),a.bindTexture(c,this._texture),a.texParameteri(c,a.TEXTURE_MIN_FILTER,t),a.texParameteri(c,a.TEXTURE_MAG_FILTER,n),a.texParameteri(c,a.TEXTURE_WRAP_S,e.wrapS),a.texParameteri(c,a.TEXTURE_WRAP_T,e.wrapT),l(this._textureFilterAnisotropic)&&a.texParameteri(c,this._textureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,e.maximumAnisotropy),a.bindTexture(c,null),this._sampler=e}},pixelFormat:{get:function(){return this._pixelFormat}},pixelDatatype:{get:function(){return this._pixelDatatype}},dimensions:{get:function(){return this._dimensions}},preMultiplyAlpha:{get:function(){return this._preMultiplyAlpha}},flipY:{get:function(){return this._flipY}},width:{get:function(){return this._width}},height:{get:function(){return this._height}},sizeInBytes:{get:function(){return this._hasMipmap?Math.floor(this._sizeInBytes*4/3):this._sizeInBytes}},_target:{get:function(){return this._textureTarget}}});Ef.prototype.copyFrom=function(e){let t=y(e.xOffset,0),n=y(e.yOffset,0),i=e.source,o=this._context,r=o._gl,s=this._textureTarget;r.activeTexture(r.TEXTURE0),r.bindTexture(s,this._texture);let a=i.width,c=i.height,u=i.arrayBufferView,f=this._width,d=this._height,p=this._internalFormat,g=this._pixelFormat,m=this._pixelDatatype,C=this._preMultiplyAlpha,x=this._flipY,A=y(e.skipColorSpaceConversion,!1),b=4;l(u)&&(b=ft.alignmentInBytes(g,m,a)),r.pixelStorei(r.UNPACK_ALIGNMENT,b),A?r.pixelStorei(r.UNPACK_COLORSPACE_CONVERSION_WEBGL,r.NONE):r.pixelStorei(r.UNPACK_COLORSPACE_CONVERSION_WEBGL,r.BROWSER_DEFAULT_WEBGL);let E=!1;if(!this._initialized){if(t===0&&n===0&&a===f&&c===d)l(u)?(r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1),x&&(u=ft.flipY(u,g,m,f,d)),r.texImage2D(s,0,p,f,d,0,g,je.toWebGLConstant(m,o),u)):(r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL,C),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,x),r.texImage2D(s,0,p,g,je.toWebGLConstant(m,o),i)),E=!0;else{r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1);let S=ft.createTypedArray(g,m,f,d);r.texImage2D(s,0,p,f,d,0,g,je.toWebGLConstant(m,o),S)}this._initialized=!0}E||(l(u)?(r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1),x&&(u=ft.flipY(u,g,m,a,c)),r.texSubImage2D(s,0,t,n,a,c,g,je.toWebGLConstant(m,o),u)):(r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL,C),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,x),r.texSubImage2D(s,0,t,n,g,je.toWebGLConstant(m,o),i))),r.bindTexture(s,null)};Ef.prototype.copyFromFramebuffer=function(e,t,n,i,o,r){e=y(e,0),t=y(t,0),n=y(n,0),i=y(i,0),o=y(o,this._width),r=y(r,this._height);let s=this._context._gl,a=this._textureTarget;s.activeTexture(s.TEXTURE0),s.bindTexture(a,this._texture),s.copyTexSubImage2D(a,0,e,t,n,i,o,r),s.bindTexture(a,null),this._initialized=!0};Ef.prototype.generateMipmap=function(e){e=y(e,xm.DONT_CARE),this._hasMipmap=!0;let t=this._context._gl,n=this._textureTarget;t.hint(t.GENERATE_MIPMAP_HINT,e),t.activeTexture(t.TEXTURE0),t.bindTexture(n,this._texture),t.generateMipmap(n),t.bindTexture(n,null)};Ef.prototype.isDestroyed=function(){return!1};Ef.prototype.destroy=function(){return this._context._gl.deleteTexture(this._texture),fe(this)};var Ot=Ef;var uO=`uniform sampler2D image;
  208. czm_material czm_getMaterial(czm_materialInput materialInput)
  209. {
  210. czm_material material = czm_getDefaultMaterial(materialInput);
  211. vec4 rampColor = texture2D(image, vec2(materialInput.aspect / (2.0 * czm_pi), 0.5));
  212. rampColor = czm_gammaCorrect(rampColor);
  213. material.diffuse = rampColor.rgb;
  214. material.alpha = rampColor.a;
  215. return material;
  216. }
  217. `;var fO=`uniform sampler2D image;
  218. uniform float strength;
  219. uniform vec2 repeat;
  220. czm_material czm_getMaterial(czm_materialInput materialInput)
  221. {
  222. czm_material material = czm_getDefaultMaterial(materialInput);
  223. vec2 st = materialInput.st;
  224. vec2 centerPixel = fract(repeat * st);
  225. float centerBump = texture2D(image, centerPixel).channel;
  226. float imageWidth = float(imageDimensions.x);
  227. vec2 rightPixel = fract(repeat * (st + vec2(1.0 / imageWidth, 0.0)));
  228. float rightBump = texture2D(image, rightPixel).channel;
  229. float imageHeight = float(imageDimensions.y);
  230. vec2 leftPixel = fract(repeat * (st + vec2(0.0, 1.0 / imageHeight)));
  231. float topBump = texture2D(image, leftPixel).channel;
  232. vec3 normalTangentSpace = normalize(vec3(centerBump - rightBump, centerBump - topBump, clamp(1.0 - strength, 0.1, 1.0)));
  233. vec3 normalEC = materialInput.tangentToEyeMatrix * normalTangentSpace;
  234. material.normal = normalEC;
  235. material.diffuse = vec3(0.01);
  236. return material;
  237. }
  238. `;var dO=`uniform vec4 lightColor;
  239. uniform vec4 darkColor;
  240. uniform vec2 repeat;
  241. czm_material czm_getMaterial(czm_materialInput materialInput)
  242. {
  243. czm_material material = czm_getDefaultMaterial(materialInput);
  244. vec2 st = materialInput.st;
  245. float b = mod(floor(repeat.s * st.s) + floor(repeat.t * st.t), 2.0);
  246. float scaledWidth = fract(repeat.s * st.s);
  247. scaledWidth = abs(scaledWidth - floor(scaledWidth + 0.5));
  248. float scaledHeight = fract(repeat.t * st.t);
  249. scaledHeight = abs(scaledHeight - floor(scaledHeight + 0.5));
  250. float value = min(scaledWidth, scaledHeight);
  251. vec4 currentColor = mix(lightColor, darkColor, b);
  252. vec4 color = czm_antialias(lightColor, darkColor, currentColor, value, 0.03);
  253. color = czm_gammaCorrect(color);
  254. material.diffuse = color.rgb;
  255. material.alpha = color.a;
  256. return material;
  257. }
  258. `;var hO=`uniform vec4 lightColor;
  259. uniform vec4 darkColor;
  260. uniform vec2 repeat;
  261. czm_material czm_getMaterial(czm_materialInput materialInput)
  262. {
  263. czm_material material = czm_getDefaultMaterial(materialInput);
  264. float b = smoothstep(0.3, 0.32, length(fract(repeat * materialInput.st) - 0.5));
  265. vec4 color = mix(lightColor, darkColor, b);
  266. color = czm_gammaCorrect(color);
  267. material.diffuse = color.rgb;
  268. material.alpha = color.a;
  269. return material;
  270. }
  271. `;var mO=`uniform sampler2D heights;
  272. uniform sampler2D colors;
  273. float getHeight(int idx, float invTexSize)
  274. {
  275. vec2 uv = vec2((float(idx) + 0.5) * invTexSize, 0.5);
  276. #ifdef OES_texture_float
  277. return texture2D(heights, uv).x;
  278. #else
  279. return czm_unpackFloat(texture2D(heights, uv));
  280. #endif
  281. }
  282. czm_material czm_getMaterial(czm_materialInput materialInput)
  283. {
  284. czm_material material = czm_getDefaultMaterial(materialInput);
  285. float height = materialInput.height;
  286. float invTexSize = 1.0 / float(heightsDimensions.x);
  287. float minHeight = getHeight(0, invTexSize);
  288. float maxHeight = getHeight(heightsDimensions.x - 1, invTexSize);
  289. if (height < minHeight || height > maxHeight) {
  290. material.diffuse = vec3(0.0);
  291. material.alpha = 0.0;
  292. return material;
  293. }
  294. int idxBelow = 0;
  295. int idxAbove = heightsDimensions.x;
  296. float heightBelow = minHeight;
  297. float heightAbove = maxHeight;
  298. const int maxIterations = 16;
  299. for (int i = 0; i < maxIterations; i++) {
  300. if (idxBelow >= idxAbove - 1) {
  301. break;
  302. }
  303. int idxMid = (idxBelow + idxAbove) / 2;
  304. float heightTex = getHeight(idxMid, invTexSize);
  305. if (height > heightTex) {
  306. idxBelow = idxMid;
  307. heightBelow = heightTex;
  308. } else {
  309. idxAbove = idxMid;
  310. heightAbove = heightTex;
  311. }
  312. }
  313. float lerper = heightBelow == heightAbove ? 1.0 : (height - heightBelow) / (heightAbove - heightBelow);
  314. vec2 colorUv = vec2(invTexSize * (float(idxBelow) + 0.5 + lerper), 0.5);
  315. vec4 color = texture2D(colors, colorUv);
  316. if (color.a > 0.0)
  317. {
  318. color.rgb /= color.a;
  319. }
  320. color.rgb = czm_gammaCorrect(color.rgb);
  321. material.diffuse = color.rgb;
  322. material.alpha = color.a;
  323. return material;
  324. }
  325. `;var pO=`#ifdef GL_OES_standard_derivatives
  326. #extension GL_OES_standard_derivatives : enable
  327. #endif
  328. uniform vec4 color;
  329. uniform float spacing;
  330. uniform float width;
  331. czm_material czm_getMaterial(czm_materialInput materialInput)
  332. {
  333. czm_material material = czm_getDefaultMaterial(materialInput);
  334. float distanceToContour = mod(materialInput.height, spacing);
  335. #ifdef GL_OES_standard_derivatives
  336. float dxc = abs(dFdx(materialInput.height));
  337. float dyc = abs(dFdy(materialInput.height));
  338. float dF = max(dxc, dyc) * czm_pixelRatio * width;
  339. float alpha = (distanceToContour < dF) ? 1.0 : 0.0;
  340. #else
  341. float alpha = (distanceToContour < (czm_pixelRatio * width)) ? 1.0 : 0.0;
  342. #endif
  343. vec4 outColor = czm_gammaCorrect(vec4(color.rgb, alpha * color.a));
  344. material.diffuse = outColor.rgb;
  345. material.alpha = outColor.a;
  346. return material;
  347. }
  348. `;var _O=`uniform sampler2D image;
  349. uniform float minimumHeight;
  350. uniform float maximumHeight;
  351. czm_material czm_getMaterial(czm_materialInput materialInput)
  352. {
  353. czm_material material = czm_getDefaultMaterial(materialInput);
  354. float scaledHeight = clamp((materialInput.height - minimumHeight) / (maximumHeight - minimumHeight), 0.0, 1.0);
  355. vec4 rampColor = texture2D(image, vec2(scaledHeight, 0.5));
  356. rampColor = czm_gammaCorrect(rampColor);
  357. material.diffuse = rampColor.rgb;
  358. material.alpha = rampColor.a;
  359. return material;
  360. }
  361. `;var gO=`uniform vec4 fadeInColor;
  362. uniform vec4 fadeOutColor;
  363. uniform float maximumDistance;
  364. uniform bool repeat;
  365. uniform vec2 fadeDirection;
  366. uniform vec2 time;
  367. float getTime(float t, float coord)
  368. {
  369. float scalar = 1.0 / maximumDistance;
  370. float q = distance(t, coord) * scalar;
  371. if (repeat)
  372. {
  373. float r = distance(t, coord + 1.0) * scalar;
  374. float s = distance(t, coord - 1.0) * scalar;
  375. q = min(min(r, s), q);
  376. }
  377. return clamp(q, 0.0, 1.0);
  378. }
  379. czm_material czm_getMaterial(czm_materialInput materialInput)
  380. {
  381. czm_material material = czm_getDefaultMaterial(materialInput);
  382. vec2 st = materialInput.st;
  383. float s = getTime(time.x, st.s) * fadeDirection.s;
  384. float t = getTime(time.y, st.t) * fadeDirection.t;
  385. float u = length(vec2(s, t));
  386. vec4 color = mix(fadeInColor, fadeOutColor, u);
  387. color = czm_gammaCorrect(color);
  388. material.emission = color.rgb;
  389. material.alpha = color.a;
  390. return material;
  391. }
  392. `;var yO=`#ifdef GL_OES_standard_derivatives
  393. #extension GL_OES_standard_derivatives : enable
  394. #endif
  395. uniform vec4 color;
  396. uniform float cellAlpha;
  397. uniform vec2 lineCount;
  398. uniform vec2 lineThickness;
  399. uniform vec2 lineOffset;
  400. czm_material czm_getMaterial(czm_materialInput materialInput)
  401. {
  402. czm_material material = czm_getDefaultMaterial(materialInput);
  403. vec2 st = materialInput.st;
  404. float scaledWidth = fract(lineCount.s * st.s - lineOffset.s);
  405. scaledWidth = abs(scaledWidth - floor(scaledWidth + 0.5));
  406. float scaledHeight = fract(lineCount.t * st.t - lineOffset.t);
  407. scaledHeight = abs(scaledHeight - floor(scaledHeight + 0.5));
  408. float value;
  409. #ifdef GL_OES_standard_derivatives
  410. const float fuzz = 1.2;
  411. vec2 thickness = (lineThickness * czm_pixelRatio) - 1.0;
  412. vec2 dx = abs(dFdx(st));
  413. vec2 dy = abs(dFdy(st));
  414. vec2 dF = vec2(max(dx.s, dy.s), max(dx.t, dy.t)) * lineCount;
  415. value = min(
  416. smoothstep(dF.s * thickness.s, dF.s * (fuzz + thickness.s), scaledWidth),
  417. smoothstep(dF.t * thickness.t, dF.t * (fuzz + thickness.t), scaledHeight));
  418. #else
  419. const float fuzz = 0.05;
  420. vec2 range = 0.5 - (lineThickness * 0.05);
  421. value = min(
  422. 1.0 - smoothstep(range.s, range.s + fuzz, scaledWidth),
  423. 1.0 - smoothstep(range.t, range.t + fuzz, scaledHeight));
  424. #endif
  425. float dRim = 1.0 - abs(dot(materialInput.normalEC, normalize(materialInput.positionToEyeEC)));
  426. float sRim = smoothstep(0.8, 1.0, dRim);
  427. value *= (1.0 - sRim);
  428. vec4 halfColor;
  429. halfColor.rgb = color.rgb * 0.5;
  430. halfColor.a = color.a * (1.0 - ((1.0 - cellAlpha) * value));
  431. halfColor = czm_gammaCorrect(halfColor);
  432. material.diffuse = halfColor.rgb;
  433. material.emission = halfColor.rgb;
  434. material.alpha = halfColor.a;
  435. return material;
  436. }
  437. `;var CO=`uniform sampler2D image;
  438. uniform float strength;
  439. uniform vec2 repeat;
  440. czm_material czm_getMaterial(czm_materialInput materialInput)
  441. {
  442. czm_material material = czm_getDefaultMaterial(materialInput);
  443. vec4 textureValue = texture2D(image, fract(repeat * materialInput.st));
  444. vec3 normalTangentSpace = textureValue.channels;
  445. normalTangentSpace.xy = normalTangentSpace.xy * 2.0 - 1.0;
  446. normalTangentSpace.z = clamp(1.0 - strength, 0.1, 1.0);
  447. normalTangentSpace = normalize(normalTangentSpace);
  448. vec3 normalEC = materialInput.tangentToEyeMatrix * normalTangentSpace;
  449. material.normal = normalEC;
  450. return material;
  451. }
  452. `;var xO=`#ifdef GL_OES_standard_derivatives
  453. #extension GL_OES_standard_derivatives : enable
  454. #endif
  455. uniform vec4 color;
  456. float getPointOnLine(vec2 p0, vec2 p1, float x)
  457. {
  458. float slope = (p0.y - p1.y) / (p0.x - p1.x);
  459. return slope * (x - p0.x) + p0.y;
  460. }
  461. czm_material czm_getMaterial(czm_materialInput materialInput)
  462. {
  463. czm_material material = czm_getDefaultMaterial(materialInput);
  464. vec2 st = materialInput.st;
  465. #ifdef GL_OES_standard_derivatives
  466. float base = 1.0 - abs(fwidth(st.s)) * 10.0 * czm_pixelRatio;
  467. #else
  468. float base = 0.975;
  469. #endif
  470. vec2 center = vec2(1.0, 0.5);
  471. float ptOnUpperLine = getPointOnLine(vec2(base, 1.0), center, st.s);
  472. float ptOnLowerLine = getPointOnLine(vec2(base, 0.0), center, st.s);
  473. float halfWidth = 0.15;
  474. float s = step(0.5 - halfWidth, st.t);
  475. s *= 1.0 - step(0.5 + halfWidth, st.t);
  476. s *= 1.0 - step(base, st.s);
  477. float t = step(base, materialInput.st.s);
  478. t *= 1.0 - step(ptOnUpperLine, st.t);
  479. t *= step(ptOnLowerLine, st.t);
  480. float dist;
  481. if (st.s < base)
  482. {
  483. float d1 = abs(st.t - (0.5 - halfWidth));
  484. float d2 = abs(st.t - (0.5 + halfWidth));
  485. dist = min(d1, d2);
  486. }
  487. else
  488. {
  489. float d1 = czm_infinity;
  490. if (st.t < 0.5 - halfWidth && st.t > 0.5 + halfWidth)
  491. {
  492. d1 = abs(st.s - base);
  493. }
  494. float d2 = abs(st.t - ptOnUpperLine);
  495. float d3 = abs(st.t - ptOnLowerLine);
  496. dist = min(min(d1, d2), d3);
  497. }
  498. vec4 outsideColor = vec4(0.0);
  499. vec4 currentColor = mix(outsideColor, color, clamp(s + t, 0.0, 1.0));
  500. vec4 outColor = czm_antialias(outsideColor, color, currentColor, dist);
  501. outColor = czm_gammaCorrect(outColor);
  502. material.diffuse = outColor.rgb;
  503. material.alpha = outColor.a;
  504. return material;
  505. }
  506. `;var AO=`uniform vec4 color;
  507. uniform vec4 gapColor;
  508. uniform float dashLength;
  509. uniform float dashPattern;
  510. varying float v_polylineAngle;
  511. const float maskLength = 16.0;
  512. mat2 rotate(float rad) {
  513. float c = cos(rad);
  514. float s = sin(rad);
  515. return mat2(
  516. c, s,
  517. -s, c
  518. );
  519. }
  520. czm_material czm_getMaterial(czm_materialInput materialInput)
  521. {
  522. czm_material material = czm_getDefaultMaterial(materialInput);
  523. vec2 pos = rotate(v_polylineAngle) * gl_FragCoord.xy;
  524. float dashPosition = fract(pos.x / (dashLength * czm_pixelRatio));
  525. float maskIndex = floor(dashPosition * maskLength);
  526. float maskTest = floor(dashPattern / pow(2.0, maskIndex));
  527. vec4 fragColor = (mod(maskTest, 2.0) < 1.0) ? gapColor : color;
  528. if (fragColor.a < 0.005) {
  529. discard;
  530. }
  531. fragColor = czm_gammaCorrect(fragColor);
  532. material.emission = fragColor.rgb;
  533. material.alpha = fragColor.a;
  534. return material;
  535. }
  536. `;var TO=`uniform vec4 color;
  537. uniform float glowPower;
  538. uniform float taperPower;
  539. czm_material czm_getMaterial(czm_materialInput materialInput)
  540. {
  541. czm_material material = czm_getDefaultMaterial(materialInput);
  542. vec2 st = materialInput.st;
  543. float glow = glowPower / abs(st.t - 0.5) - (glowPower / 0.5);
  544. if (taperPower <= 0.99999) {
  545. glow *= min(1.0, taperPower / (0.5 - st.s * 0.5) - (taperPower / 0.5));
  546. }
  547. vec4 fragColor;
  548. fragColor.rgb = max(vec3(glow - 1.0 + color.rgb), color.rgb);
  549. fragColor.a = clamp(0.0, 1.0, glow) * color.a;
  550. fragColor = czm_gammaCorrect(fragColor);
  551. material.emission = fragColor.rgb;
  552. material.alpha = fragColor.a;
  553. return material;
  554. }
  555. `;var EO=`uniform vec4 color;
  556. uniform vec4 outlineColor;
  557. uniform float outlineWidth;
  558. varying float v_width;
  559. czm_material czm_getMaterial(czm_materialInput materialInput)
  560. {
  561. czm_material material = czm_getDefaultMaterial(materialInput);
  562. vec2 st = materialInput.st;
  563. float halfInteriorWidth = 0.5 * (v_width - outlineWidth) / v_width;
  564. float b = step(0.5 - halfInteriorWidth, st.t);
  565. b *= 1.0 - step(0.5 + halfInteriorWidth, st.t);
  566. float d1 = abs(st.t - (0.5 - halfInteriorWidth));
  567. float d2 = abs(st.t - (0.5 + halfInteriorWidth));
  568. float dist = min(d1, d2);
  569. vec4 currentColor = mix(outlineColor, color, b);
  570. vec4 outColor = czm_antialias(outlineColor, color, currentColor, dist);
  571. outColor = czm_gammaCorrect(outColor);
  572. material.diffuse = outColor.rgb;
  573. material.alpha = outColor.a;
  574. return material;
  575. }
  576. `;var bO=`uniform vec4 color;
  577. uniform vec4 rimColor;
  578. uniform float width;
  579. czm_material czm_getMaterial(czm_materialInput materialInput)
  580. {
  581. czm_material material = czm_getDefaultMaterial(materialInput);
  582. float d = 1.0 - dot(materialInput.normalEC, normalize(materialInput.positionToEyeEC));
  583. float s = smoothstep(1.0 - width, 1.0, d);
  584. vec4 outColor = czm_gammaCorrect(color);
  585. vec4 outRimColor = czm_gammaCorrect(rimColor);
  586. material.diffuse = outColor.rgb;
  587. material.emission = outRimColor.rgb * s;
  588. material.alpha = mix(outColor.a, outRimColor.a, s);
  589. return material;
  590. }
  591. `;var SO=`uniform sampler2D image;
  592. czm_material czm_getMaterial(czm_materialInput materialInput)
  593. {
  594. czm_material material = czm_getDefaultMaterial(materialInput);
  595. vec4 rampColor = texture2D(image, vec2(materialInput.slope / (czm_pi / 2.0), 0.5));
  596. rampColor = czm_gammaCorrect(rampColor);
  597. material.diffuse = rampColor.rgb;
  598. material.alpha = rampColor.a;
  599. return material;
  600. }
  601. `;var wO=`uniform vec4 evenColor;
  602. uniform vec4 oddColor;
  603. uniform float offset;
  604. uniform float repeat;
  605. uniform bool horizontal;
  606. czm_material czm_getMaterial(czm_materialInput materialInput)
  607. {
  608. czm_material material = czm_getDefaultMaterial(materialInput);
  609. float coord = mix(materialInput.st.s, materialInput.st.t, float(horizontal));
  610. float value = fract((coord - offset) * (repeat * 0.5));
  611. float dist = min(value, min(abs(value - 0.5), 1.0 - value));
  612. vec4 currentColor = mix(evenColor, oddColor, step(0.5, value));
  613. vec4 color = czm_antialias(evenColor, oddColor, currentColor, dist);
  614. color = czm_gammaCorrect(color);
  615. material.diffuse = color.rgb;
  616. material.alpha = color.a;
  617. return material;
  618. }
  619. `;var vO=`uniform sampler2D specularMap;
  620. uniform sampler2D normalMap;
  621. uniform vec4 baseWaterColor;
  622. uniform vec4 blendColor;
  623. uniform float frequency;
  624. uniform float animationSpeed;
  625. uniform float amplitude;
  626. uniform float specularIntensity;
  627. uniform float fadeFactor;
  628. czm_material czm_getMaterial(czm_materialInput materialInput)
  629. {
  630. czm_material material = czm_getDefaultMaterial(materialInput);
  631. float time = czm_frameNumber * animationSpeed;
  632. float fade = max(1.0, (length(materialInput.positionToEyeEC) / 10000000000.0) * frequency * fadeFactor);
  633. float specularMapValue = texture2D(specularMap, materialInput.st).r;
  634. vec4 noise = czm_getWaterNoise(normalMap, materialInput.st * frequency, time, 0.0);
  635. vec3 normalTangentSpace = noise.xyz * vec3(1.0, 1.0, (1.0 / amplitude));
  636. normalTangentSpace.xy /= fade;
  637. normalTangentSpace = mix(vec3(0.0, 0.0, 50.0), normalTangentSpace, specularMapValue);
  638. normalTangentSpace = normalize(normalTangentSpace);
  639. float tsPerturbationRatio = clamp(dot(normalTangentSpace, vec3(0.0, 0.0, 1.0)), 0.0, 1.0);
  640. material.alpha = mix(blendColor.a, baseWaterColor.a, specularMapValue) * specularMapValue;
  641. material.diffuse = mix(blendColor.rgb, baseWaterColor.rgb, specularMapValue);
  642. material.diffuse += (0.1 * tsPerturbationRatio);
  643. material.diffuse = material.diffuse;
  644. material.normal = normalize(materialInput.tangentToEyeMatrix * normalTangentSpace);
  645. material.specular = specularIntensity;
  646. material.shininess = 10.0;
  647. return material;
  648. }
  649. `;function He(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._minificationFilter=y(e.minificationFilter,ln.LINEAR),this._magnificationFilter=y(e.magnificationFilter,Ji.LINEAR),this._strict=void 0,this._template=void 0,this._count=void 0,this._texturePaths={},this._loadedImages=[],this._loadedCubeMaps=[],this._textures={},this._updateFunctions=[],this._defaultTexture=void 0,AMe(e,this),Object.defineProperties(this,{type:{value:this.type,writable:!1}}),l(He._uniformList[this.type])||(He._uniformList[this.type]=Object.keys(this._uniforms))}He._uniformList={};He.fromType=function(e,t){let n=new He({fabric:{type:e}});if(l(t))for(let i in t)t.hasOwnProperty(i)&&(n.uniforms[i]=t[i]);return n};He.prototype.isTranslucent=function(){if(l(this.translucent))return typeof this.translucent=="function"?this.translucent():this.translucent;let e=!0,t=this._translucentFunctions,n=t.length;for(let i=0;i<n;++i){let o=t[i];if(typeof o=="function"?e=e&&o():e=e&&o,!e)break}return e};He.prototype.update=function(e){this._defaultTexture=e.defaultTexture;let t,n,i=this._loadedImages,o=i.length;for(t=0;t<o;++t){let c=i[t];n=c.id;let u=c.image,f;Array.isArray(u)&&(f=u.slice(1,u.length).map(function(C){return C.bufferView}),u=u[0]);let d=new hn({minificationFilter:this._minificationFilter,magnificationFilter:this._magnificationFilter}),p;l(u.internalFormat)?p=new Ot({context:e,pixelFormat:u.internalFormat,width:u.width,height:u.height,source:{arrayBufferView:u.bufferView,mipLevels:f},sampler:d}):p=new Ot({context:e,source:u,sampler:d});let g=this._textures[n];l(g)&&g!==this._defaultTexture&&g.destroy(),this._textures[n]=p;let m=`${n}Dimensions`;if(this.uniforms.hasOwnProperty(m)){let C=this.uniforms[m];C.x=p._width,C.y=p._height}}i.length=0;let r=this._loadedCubeMaps;for(o=r.length,t=0;t<o;++t){let c=r[t];n=c.id;let u=c.images,f=new sc({context:e,source:{positiveX:u[0],negativeX:u[1],positiveY:u[2],negativeY:u[3],positiveZ:u[4],negativeZ:u[5]},sampler:new hn({minificationFilter:this._minificationFilter,magnificationFilter:this._magnificationFilter})});this._textures[n]=f}r.length=0;let s=this._updateFunctions;for(o=s.length,t=0;t<o;++t)s[t](this,e);let a=this.materials;for(let c in a)a.hasOwnProperty(c)&&a[c].update(e)};He.prototype.isDestroyed=function(){return!1};He.prototype.destroy=function(){let e=this._textures;for(let n in e)if(e.hasOwnProperty(n)){let i=e[n];i!==this._defaultTexture&&i.destroy()}let t=this.materials;for(let n in t)t.hasOwnProperty(n)&&t[n].destroy();return fe(this)};function AMe(e,t){e=y(e,y.EMPTY_OBJECT),t._strict=y(e.strict,!1),t._count=y(e.count,0),t._template=et(y(e.fabric,y.EMPTY_OBJECT)),t._template.uniforms=et(y(t._template.uniforms,y.EMPTY_OBJECT)),t._template.materials=et(y(t._template.materials,y.EMPTY_OBJECT)),t.type=l(t._template.type)?t._template.type:Hn(),t.shaderSource="",t.materials={},t.uniforms={},t._uniforms={},t._translucentFunctions=[];let n,i=He._materialCache.getMaterial(t.type);if(l(i)){let r=et(i.fabric,!0);t._template=mt(t._template,r,!0),n=i.translucent}SMe(t),l(i)||He._materialCache.addMaterial(t.type,t),vMe(t),OMe(t),MMe(t);let o=t._translucentFunctions.length===0?!0:void 0;if(n=y(n,o),n=y(e.translucent,n),l(n))if(typeof n=="function"){let r=function(){return n(t)};t._translucentFunctions.push(r)}else t._translucentFunctions.push(n)}function wG(e,t,n,i){if(l(e)){for(let o in e)if(e.hasOwnProperty(o)){let r=t.indexOf(o)!==-1;(i&&!r||!i&&r)&&n(o,t)}}}function Yte(e,t){}function TMe(e,t){}var EMe=["type","materials","uniforms","components","source"],bMe=["diffuse","specular","shininess","normal","emission","alpha"];function SMe(e){let t=e._template,n=t.uniforms,i=t.materials,o=t.components;wG(t,EMe,Yte,!0),wG(o,bMe,Yte,!0);let r=[];for(let s in i)i.hasOwnProperty(s)&&r.push(s);wG(n,r,TMe,!1)}function wMe(e,t){let n=t._template.materials;for(let i in n)if(n.hasOwnProperty(i)&&e.indexOf(i)>-1)return!0;return!1}function vMe(e){let t=e._template.components,n=e._template.source;if(l(n))e.shaderSource+=`${n}
  650. `;else{if(e.shaderSource+=`czm_material czm_getMaterial(czm_materialInput materialInput)
  651. {
  652. `,e.shaderSource+=`czm_material material = czm_getDefaultMaterial(materialInput);
  653. `,l(t)){let i=Object.keys(e._template.materials).length>0;for(let o in t)if(t.hasOwnProperty(o))if(o==="diffuse"||o==="emission"){let s=i&&wMe(t[o],e)?t[o]:`czm_gammaCorrect(${t[o]})`;e.shaderSource+=`material.${o} = ${s};
  654. `}else o==="alpha"?e.shaderSource+=`material.alpha = ${t.alpha};
  655. `:e.shaderSource+=`material.${o} = ${t[o]};
  656. `}e.shaderSource+=`return material;
  657. }
  658. `}}var Xte={mat2:Yi,mat3:J,mat4:N},DMe=/\.ktx2$/i;function PMe(e){let t;return function(n,i){let o=n.uniforms,r=o[e],s=t!==r,a=!l(r)||r===He.DefaultImageId;t=r;let c=n._textures[e],u,f;if(r instanceof HTMLVideoElement){if(r.readyState>=2){if(s&&l(c)&&(c!==i.defaultTexture&&c.destroy(),c=void 0),!l(c)||c===i.defaultTexture){let p=new hn({minificationFilter:n._minificationFilter,magnificationFilter:n._magnificationFilter});c=new Ot({context:i,source:r,sampler:p}),n._textures[e]=c;return}c.copyFrom({source:r})}else l(c)||(n._textures[e]=i.defaultTexture);return}if(r instanceof Ot&&r!==c){n._texturePaths[e]=void 0;let p=n._textures[e];l(p)&&p!==n._defaultTexture&&p.destroy(),n._textures[e]=r,u=`${e}Dimensions`,o.hasOwnProperty(u)&&(f=o[u],f.x=r._width,f.y=r._height);return}if(s&&l(c)&&a&&(c!==n._defaultTexture&&c.destroy(),c=void 0),l(c)||(n._texturePaths[e]=void 0,c=n._textures[e]=n._defaultTexture,u=`${e}Dimensions`,o.hasOwnProperty(u)&&(f=o[u],f.x=c._width,f.y=c._height)),a)return;let d=r instanceof Ie;if(!l(n._texturePaths[e])||d&&r.url!==n._texturePaths[e].url||!d&&r!==n._texturePaths[e]){if(typeof r=="string"||d){let p=d?r:Ie.createIfNeeded(r),g;DMe.test(p.url)?g=xl(p.url):g=p.fetchImage(),Promise.resolve(g).then(function(m){n._loadedImages.push({id:e,image:m})}).catch(function(){l(c)&&c!==n._defaultTexture&&c.destroy(),n._textures[e]=n._defaultTexture})}else(r instanceof HTMLCanvasElement||r instanceof HTMLImageElement)&&n._loadedImages.push({id:e,image:r});n._texturePaths[e]=r}}}function IMe(e){return function(t,n){let i=t.uniforms[e];if(i instanceof sc){let r=t._textures[e];r!==t._defaultTexture&&r.destroy(),t._texturePaths[e]=void 0,t._textures[e]=i;return}if(l(t._textures[e])||(t._texturePaths[e]=void 0,t._textures[e]=n.defaultCubeMap),i===He.DefaultCubeMapId)return;let o=i.positiveX+i.negativeX+i.positiveY+i.negativeY+i.positiveZ+i.negativeZ;if(o!==t._texturePaths[e]){let r=[Ie.createIfNeeded(i.positiveX).fetchImage(),Ie.createIfNeeded(i.negativeX).fetchImage(),Ie.createIfNeeded(i.positiveY).fetchImage(),Ie.createIfNeeded(i.negativeY).fetchImage(),Ie.createIfNeeded(i.positiveZ).fetchImage(),Ie.createIfNeeded(i.negativeZ).fetchImage()];Promise.all(r).then(function(s){t._loadedCubeMaps.push({id:e,images:s})}),t._texturePaths[e]=o}}}function OMe(e){let t=e._template.uniforms;for(let n in t)t.hasOwnProperty(n)&&Kte(e,n)}function Kte(e,t){let n=e._strict,i=e._template.uniforms,o=i[t],r=RMe(o),s;if(r==="channels")s=CS(e,t,o,!1);else{if(r==="sampler2D"){let u=`${t}Dimensions`;BMe(e,u)>0&&(i[u]={type:"ivec3",x:1,y:1},Kte(e,u))}if(!new RegExp(`uniform\\s+${r}\\s+${t}\\s*;`).test(e.shaderSource)){let u=`uniform ${r} ${t};`;e.shaderSource=u+e.shaderSource}let c=`${t}_${e._count++}`;if(s=CS(e,t,c),e.uniforms[t]=o,r==="sampler2D")e._uniforms[c]=function(){return e._textures[t]},e._updateFunctions.push(PMe(t));else if(r==="samplerCube")e._uniforms[c]=function(){return e._textures[t]},e._updateFunctions.push(IMe(t));else if(r.indexOf("mat")!==-1){let u=new Xte[r];e._uniforms[c]=function(){return Xte[r].fromColumnMajorArray(e.uniforms[t],u)}}else e._uniforms[c]=function(){return e.uniforms[t]}}}function RMe(e){let t=e.type;if(!l(t)){let n=typeof e;if(n==="number")t="float";else if(n==="boolean")t="bool";else if(n==="string"||e instanceof Ie||e instanceof HTMLCanvasElement||e instanceof HTMLImageElement)/^([rgba]){1,4}$/i.test(e)?t="channels":e===He.DefaultCubeMapId?t="samplerCube":t="sampler2D";else if(n==="object")if(Array.isArray(e))(e.length===4||e.length===9||e.length===16)&&(t=`mat${Math.sqrt(e.length)}`);else{let i=0;for(let o in e)e.hasOwnProperty(o)&&(i+=1);i>=2&&i<=4?t=`vec${i}`:i===6&&(t="samplerCube")}}return t}function MMe(e){let t=e._strict,n=e._template.materials;for(let i in n)if(n.hasOwnProperty(i)){let o=new He({strict:t,fabric:n[i],count:e._count});e._count=o._count,e._uniforms=mt(e._uniforms,o._uniforms,!0),e.materials[i]=o,e._translucentFunctions=e._translucentFunctions.concat(o._translucentFunctions);let r="czm_getMaterial",s=`${r}_${e._count++}`;CS(o,r,s),e.shaderSource=o.shaderSource+e.shaderSource;let a=`${s}(materialInput)`,c=CS(e,i,a)}}function CS(e,t,n,i){i=y(i,!0);let o=0,r="([\\w])?",s=`([\\w${i?".":""}])?`,a=new RegExp(s+t+r,"g");return e.shaderSource=e.shaderSource.replace(a,function(c,u,f){return u||f?c:(o+=1,n)}),o}function BMe(e,t,n){return CS(e,t,t,n)}He._materialCache={_materials:{},addMaterial:function(e,t){this._materials[e]=t},getMaterial:function(e){return this._materials[e]}};He.DefaultImageId="czm_defaultImage";He.DefaultCubeMapId="czm_defaultCubeMap";He.ColorType="Color";He._materialCache.addMaterial(He.ColorType,{fabric:{type:He.ColorType,uniforms:{color:new U(1,0,0,.5)},components:{diffuse:"color.rgb",alpha:"color.a"}},translucent:function(e){return e.uniforms.color.alpha<1}});He.ImageType="Image";He._materialCache.addMaterial(He.ImageType,{fabric:{type:He.ImageType,uniforms:{image:He.DefaultImageId,repeat:new G(1,1),color:new U(1,1,1,1)},components:{diffuse:"texture2D(image, fract(repeat * materialInput.st)).rgb * color.rgb",alpha:"texture2D(image, fract(repeat * materialInput.st)).a * color.a"}},translucent:function(e){return e.uniforms.color.alpha<1}});He.DiffuseMapType="DiffuseMap";He._materialCache.addMaterial(He.DiffuseMapType,{fabric:{type:He.DiffuseMapType,uniforms:{image:He.DefaultImageId,channels:"rgb",repeat:new G(1,1)},components:{diffuse:"texture2D(image, fract(repeat * materialInput.st)).channels"}},translucent:!1});He.AlphaMapType="AlphaMap";He._materialCache.addMaterial(He.AlphaMapType,{fabric:{type:He.AlphaMapType,uniforms:{image:He.DefaultImageId,channel:"a",repeat:new G(1,1)},components:{alpha:"texture2D(image, fract(repeat * materialInput.st)).channel"}},translucent:!0});He.SpecularMapType="SpecularMap";He._materialCache.addMaterial(He.SpecularMapType,{fabric:{type:He.SpecularMapType,uniforms:{image:He.DefaultImageId,channel:"r",repeat:new G(1,1)},components:{specular:"texture2D(image, fract(repeat * materialInput.st)).channel"}},translucent:!1});He.EmissionMapType="EmissionMap";He._materialCache.addMaterial(He.EmissionMapType,{fabric:{type:He.EmissionMapType,uniforms:{image:He.DefaultImageId,channels:"rgb",repeat:new G(1,1)},components:{emission:"texture2D(image, fract(repeat * materialInput.st)).channels"}},translucent:!1});He.BumpMapType="BumpMap";He._materialCache.addMaterial(He.BumpMapType,{fabric:{type:He.BumpMapType,uniforms:{image:He.DefaultImageId,channel:"r",strength:.8,repeat:new G(1,1)},source:fO},translucent:!1});He.NormalMapType="NormalMap";He._materialCache.addMaterial(He.NormalMapType,{fabric:{type:He.NormalMapType,uniforms:{image:He.DefaultImageId,channels:"rgb",strength:.8,repeat:new G(1,1)},source:CO},translucent:!1});He.GridType="Grid";He._materialCache.addMaterial(He.GridType,{fabric:{type:He.GridType,uniforms:{color:new U(0,1,0,1),cellAlpha:.1,lineCount:new G(8,8),lineThickness:new G(1,1),lineOffset:new G(0,0)},source:yO},translucent:function(e){let t=e.uniforms;return t.color.alpha<1||t.cellAlpha<1}});He.StripeType="Stripe";He._materialCache.addMaterial(He.StripeType,{fabric:{type:He.StripeType,uniforms:{horizontal:!0,evenColor:new U(1,1,1,.5),oddColor:new U(0,0,1,.5),offset:0,repeat:5},source:wO},translucent:function(e){let t=e.uniforms;return t.evenColor.alpha<1||t.oddColor.alpha<1}});He.CheckerboardType="Checkerboard";He._materialCache.addMaterial(He.CheckerboardType,{fabric:{type:He.CheckerboardType,uniforms:{lightColor:new U(1,1,1,.5),darkColor:new U(0,0,0,.5),repeat:new G(5,5)},source:dO},translucent:function(e){let t=e.uniforms;return t.lightColor.alpha<1||t.darkColor.alpha<1}});He.DotType="Dot";He._materialCache.addMaterial(He.DotType,{fabric:{type:He.DotType,uniforms:{lightColor:new U(1,1,0,.75),darkColor:new U(0,1,1,.75),repeat:new G(5,5)},source:hO},translucent:function(e){let t=e.uniforms;return t.lightColor.alpha<1||t.darkColor.alpha<1}});He.WaterType="Water";He._materialCache.addMaterial(He.WaterType,{fabric:{type:He.WaterType,uniforms:{baseWaterColor:new U(.2,.3,.6,1),blendColor:new U(0,1,.699,1),specularMap:He.DefaultImageId,normalMap:He.DefaultImageId,frequency:10,animationSpeed:.01,amplitude:1,specularIntensity:.5,fadeFactor:1},source:vO},translucent:function(e){let t=e.uniforms;return t.baseWaterColor.alpha<1||t.blendColor.alpha<1}});He.RimLightingType="RimLighting";He._materialCache.addMaterial(He.RimLightingType,{fabric:{type:He.RimLightingType,uniforms:{color:new U(1,0,0,.7),rimColor:new U(1,1,1,.4),width:.3},source:bO},translucent:function(e){let t=e.uniforms;return t.color.alpha<1||t.rimColor.alpha<1}});He.FadeType="Fade";He._materialCache.addMaterial(He.FadeType,{fabric:{type:He.FadeType,uniforms:{fadeInColor:new U(1,0,0,1),fadeOutColor:new U(0,0,0,0),maximumDistance:.5,repeat:!0,fadeDirection:{x:!0,y:!0},time:new G(.5,.5)},source:gO},translucent:function(e){let t=e.uniforms;return t.fadeInColor.alpha<1||t.fadeOutColor.alpha<1}});He.PolylineArrowType="PolylineArrow";He._materialCache.addMaterial(He.PolylineArrowType,{fabric:{type:He.PolylineArrowType,uniforms:{color:new U(1,1,1,1)},source:xO},translucent:!0});He.PolylineDashType="PolylineDash";He._materialCache.addMaterial(He.PolylineDashType,{fabric:{type:He.PolylineDashType,uniforms:{color:new U(1,0,1,1),gapColor:new U(0,0,0,0),dashLength:16,dashPattern:255},source:AO},translucent:!0});He.PolylineGlowType="PolylineGlow";He._materialCache.addMaterial(He.PolylineGlowType,{fabric:{type:He.PolylineGlowType,uniforms:{color:new U(0,.5,1,1),glowPower:.25,taperPower:1},source:TO},translucent:!0});He.PolylineOutlineType="PolylineOutline";He._materialCache.addMaterial(He.PolylineOutlineType,{fabric:{type:He.PolylineOutlineType,uniforms:{color:new U(1,1,1,1),outlineColor:new U(1,0,0,1),outlineWidth:1},source:EO},translucent:function(e){let t=e.uniforms;return t.color.alpha<1||t.outlineColor.alpha<1}});He.ElevationContourType="ElevationContour";He._materialCache.addMaterial(He.ElevationContourType,{fabric:{type:He.ElevationContourType,uniforms:{spacing:100,color:new U(1,0,0,1),width:1},source:pO},translucent:!1});He.ElevationRampType="ElevationRamp";He._materialCache.addMaterial(He.ElevationRampType,{fabric:{type:He.ElevationRampType,uniforms:{image:He.DefaultImageId,minimumHeight:0,maximumHeight:1e4},source:_O},translucent:!1});He.SlopeRampMaterialType="SlopeRamp";He._materialCache.addMaterial(He.SlopeRampMaterialType,{fabric:{type:He.SlopeRampMaterialType,uniforms:{image:He.DefaultImageId},source:SO},translucent:!1});He.AspectRampMaterialType="AspectRamp";He._materialCache.addMaterial(He.AspectRampMaterialType,{fabric:{type:He.AspectRampMaterialType,uniforms:{image:He.DefaultImageId},source:uO},translucent:!1});He.ElevationBandType="ElevationBand";He._materialCache.addMaterial(He.ElevationBandType,{fabric:{type:He.ElevationBandType,uniforms:{heights:He.DefaultImageId,colors:He.DefaultImageId},source:mO},translucent:!0});var Qi=He;function dy(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.translucent,!0),n=y(e.closed,!1),i=y(e.materialSupport,dy.MaterialSupport.TEXTURED);this.material=l(e.material)?e.material:Qi.fromType(Qi.ColorType),this.translucent=t,this._vertexShaderSource=y(e.vertexShaderSource,i.vertexShaderSource),this._fragmentShaderSource=y(e.fragmentShaderSource,i.fragmentShaderSource),this._renderState=$i.getDefaultRenderState(t,n,e.renderState),this._closed=n,this._materialSupport=i,this._vertexFormat=i.vertexFormat,this._flat=y(e.flat,!1),this._faceForward=y(e.faceForward,!n)}Object.defineProperties(dy.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},materialSupport:{get:function(){return this._materialSupport}},vertexFormat:{get:function(){return this._vertexFormat}},flat:{get:function(){return this._flat}},faceForward:{get:function(){return this._faceForward}}});dy.prototype.getFragmentShaderSource=$i.prototype.getFragmentShaderSource;dy.prototype.isTranslucent=$i.prototype.isTranslucent;dy.prototype.getRenderState=$i.prototype.getRenderState;dy.MaterialSupport={BASIC:Object.freeze({vertexFormat:ve.POSITION_AND_NORMAL,vertexShaderSource:iO,fragmentShaderSource:nO}),TEXTURED:Object.freeze({vertexFormat:ve.POSITION_NORMAL_AND_ST,vertexShaderSource:rO,fragmentShaderSource:oO}),ALL:Object.freeze({vertexFormat:ve.ALL,vertexShaderSource:tO,fragmentShaderSource:eO})};var no=dy;var DO=`varying vec3 v_positionEC;
  659. varying vec3 v_normalEC;
  660. varying vec4 v_color;
  661. void main()
  662. {
  663. vec3 positionToEyeEC = -v_positionEC;
  664. vec3 normalEC = normalize(v_normalEC);
  665. #ifdef FACE_FORWARD
  666. normalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC);
  667. #endif
  668. vec4 color = czm_gammaCorrect(v_color);
  669. czm_materialInput materialInput;
  670. materialInput.normalEC = normalEC;
  671. materialInput.positionToEyeEC = positionToEyeEC;
  672. czm_material material = czm_getDefaultMaterial(materialInput);
  673. material.diffuse = color.rgb;
  674. material.alpha = color.a;
  675. gl_FragColor = czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC);
  676. }
  677. `;var PO=`attribute vec3 position3DHigh;
  678. attribute vec3 position3DLow;
  679. attribute vec3 normal;
  680. attribute vec4 color;
  681. attribute float batchId;
  682. varying vec3 v_positionEC;
  683. varying vec3 v_normalEC;
  684. varying vec4 v_color;
  685. void main()
  686. {
  687. vec4 p = czm_computePosition();
  688. v_positionEC = (czm_modelViewRelativeToEye * p).xyz;
  689. v_normalEC = czm_normal * normal;
  690. v_color = color;
  691. gl_Position = czm_modelViewProjectionRelativeToEye * p;
  692. }
  693. `;var xA=`varying vec4 v_color;
  694. void main()
  695. {
  696. gl_FragColor = czm_gammaCorrect(v_color);
  697. }
  698. `;var IO=`attribute vec3 position3DHigh;
  699. attribute vec3 position3DLow;
  700. attribute vec4 color;
  701. attribute float batchId;
  702. varying vec4 v_color;
  703. void main()
  704. {
  705. vec4 p = czm_computePosition();
  706. v_color = color;
  707. gl_Position = czm_modelViewProjectionRelativeToEye * p;
  708. }
  709. `;function Am(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.translucent,!0),n=y(e.closed,!1),i=y(e.flat,!1),o=i?IO:PO,r=i?xA:DO,s=i?Am.FLAT_VERTEX_FORMAT:Am.VERTEX_FORMAT;this.material=void 0,this.translucent=t,this._vertexShaderSource=y(e.vertexShaderSource,o),this._fragmentShaderSource=y(e.fragmentShaderSource,r),this._renderState=$i.getDefaultRenderState(t,n,e.renderState),this._closed=n,this._vertexFormat=s,this._flat=i,this._faceForward=y(e.faceForward,!n)}Object.defineProperties(Am.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},vertexFormat:{get:function(){return this._vertexFormat}},flat:{get:function(){return this._flat}},faceForward:{get:function(){return this._faceForward}}});Am.VERTEX_FORMAT=ve.POSITION_AND_NORMAL;Am.FLAT_VERTEX_FORMAT=ve.POSITION_ONLY;Am.prototype.getFragmentShaderSource=$i.prototype.getFragmentShaderSource;Am.prototype.isTranslucent=$i.prototype.isTranslucent;Am.prototype.getRenderState=$i.prototype.getRenderState;var Qt=Am;function AA(e){this._definitionChanged=new ge,this._color=void 0,this._colorSubscription=void 0,this.color=e}Object.defineProperties(AA.prototype,{isConstant:{get:function(){return j.isConstant(this._color)}},definitionChanged:{get:function(){return this._definitionChanged}},color:ae("color")});AA.prototype.getType=function(e){return"Color"};AA.prototype.getValue=function(e,t){return l(t)||(t={}),t.color=j.getValueOrClonedDefault(this._color,e,U.WHITE,t.color),t};AA.prototype.equals=function(e){return this===e||e instanceof AA&&j.equals(this._color,e._color)};var Pt=AA;var sr={CULL:1,OCCLUDE:2,EXECUTE_IN_CLOSEST_FRUSTUM:4,DEBUG_SHOW_BOUNDING_VOLUME:8,CAST_SHADOWS:16,RECEIVE_SHADOWS:32,PICK_ONLY:64,DEPTH_FOR_TRANSLUCENT_CLASSIFICATION:128};function xS(e){e=y(e,y.EMPTY_OBJECT),this._boundingVolume=e.boundingVolume,this._orientedBoundingBox=e.orientedBoundingBox,this._modelMatrix=e.modelMatrix,this._primitiveType=y(e.primitiveType,Ne.TRIANGLES),this._vertexArray=e.vertexArray,this._count=e.count,this._offset=y(e.offset,0),this._instanceCount=y(e.instanceCount,0),this._shaderProgram=e.shaderProgram,this._uniformMap=e.uniformMap,this._renderState=e.renderState,this._framebuffer=e.framebuffer,this._pass=e.pass,this._owner=e.owner,this._debugOverlappingFrustums=0,this._pickId=e.pickId,this._flags=0,this.cull=y(e.cull,!0),this.occlude=y(e.occlude,!0),this.executeInClosestFrustum=y(e.executeInClosestFrustum,!1),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.castShadows=y(e.castShadows,!1),this.receiveShadows=y(e.receiveShadows,!1),this.pickOnly=y(e.pickOnly,!1),this.depthForTranslucentClassification=y(e.depthForTranslucentClassification,!1),this.dirty=!0,this.lastDirtyTime=0,this.derivedCommands={}}function Ta(e,t){return(e._flags&t)===t}function w_(e,t,n){n?e._flags|=t:e._flags&=~t}Object.defineProperties(xS.prototype,{boundingVolume:{get:function(){return this._boundingVolume},set:function(e){this._boundingVolume!==e&&(this._boundingVolume=e,this.dirty=!0)}},orientedBoundingBox:{get:function(){return this._orientedBoundingBox},set:function(e){this._orientedBoundingBox!==e&&(this._orientedBoundingBox=e,this.dirty=!0)}},cull:{get:function(){return Ta(this,sr.CULL)},set:function(e){Ta(this,sr.CULL)!==e&&(w_(this,sr.CULL,e),this.dirty=!0)}},occlude:{get:function(){return Ta(this,sr.OCCLUDE)},set:function(e){Ta(this,sr.OCCLUDE)!==e&&(w_(this,sr.OCCLUDE,e),this.dirty=!0)}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._modelMatrix!==e&&(this._modelMatrix=e,this.dirty=!0)}},primitiveType:{get:function(){return this._primitiveType},set:function(e){this._primitiveType!==e&&(this._primitiveType=e,this.dirty=!0)}},vertexArray:{get:function(){return this._vertexArray},set:function(e){this._vertexArray!==e&&(this._vertexArray=e,this.dirty=!0)}},count:{get:function(){return this._count},set:function(e){this._count!==e&&(this._count=e,this.dirty=!0)}},offset:{get:function(){return this._offset},set:function(e){this._offset!==e&&(this._offset=e,this.dirty=!0)}},instanceCount:{get:function(){return this._instanceCount},set:function(e){this._instanceCount!==e&&(this._instanceCount=e,this.dirty=!0)}},shaderProgram:{get:function(){return this._shaderProgram},set:function(e){this._shaderProgram!==e&&(this._shaderProgram=e,this.dirty=!0)}},castShadows:{get:function(){return Ta(this,sr.CAST_SHADOWS)},set:function(e){Ta(this,sr.CAST_SHADOWS)!==e&&(w_(this,sr.CAST_SHADOWS,e),this.dirty=!0)}},receiveShadows:{get:function(){return Ta(this,sr.RECEIVE_SHADOWS)},set:function(e){Ta(this,sr.RECEIVE_SHADOWS)!==e&&(w_(this,sr.RECEIVE_SHADOWS,e),this.dirty=!0)}},uniformMap:{get:function(){return this._uniformMap},set:function(e){this._uniformMap!==e&&(this._uniformMap=e,this.dirty=!0)}},renderState:{get:function(){return this._renderState},set:function(e){this._renderState!==e&&(this._renderState=e,this.dirty=!0)}},framebuffer:{get:function(){return this._framebuffer},set:function(e){this._framebuffer!==e&&(this._framebuffer=e,this.dirty=!0)}},pass:{get:function(){return this._pass},set:function(e){this._pass!==e&&(this._pass=e,this.dirty=!0)}},executeInClosestFrustum:{get:function(){return Ta(this,sr.EXECUTE_IN_CLOSEST_FRUSTUM)},set:function(e){Ta(this,sr.EXECUTE_IN_CLOSEST_FRUSTUM)!==e&&(w_(this,sr.EXECUTE_IN_CLOSEST_FRUSTUM,e),this.dirty=!0)}},owner:{get:function(){return this._owner},set:function(e){this._owner!==e&&(this._owner=e,this.dirty=!0)}},debugShowBoundingVolume:{get:function(){return Ta(this,sr.DEBUG_SHOW_BOUNDING_VOLUME)},set:function(e){Ta(this,sr.DEBUG_SHOW_BOUNDING_VOLUME)!==e&&(w_(this,sr.DEBUG_SHOW_BOUNDING_VOLUME,e),this.dirty=!0)}},debugOverlappingFrustums:{get:function(){return this._debugOverlappingFrustums},set:function(e){this._debugOverlappingFrustums!==e&&(this._debugOverlappingFrustums=e,this.dirty=!0)}},pickId:{get:function(){return this._pickId},set:function(e){this._pickId!==e&&(this._pickId=e,this.dirty=!0)}},pickOnly:{get:function(){return Ta(this,sr.PICK_ONLY)},set:function(e){Ta(this,sr.PICK_ONLY)!==e&&(w_(this,sr.PICK_ONLY,e),this.dirty=!0)}},depthForTranslucentClassification:{get:function(){return Ta(this,sr.DEPTH_FOR_TRANSLUCENT_CLASSIFICATION)},set:function(e){Ta(this,sr.DEPTH_FOR_TRANSLUCENT_CLASSIFICATION)!==e&&(w_(this,sr.DEPTH_FOR_TRANSLUCENT_CLASSIFICATION,e),this.dirty=!0)}}});xS.shallowClone=function(e,t){if(!!l(e))return l(t)||(t=new xS),t._boundingVolume=e._boundingVolume,t._orientedBoundingBox=e._orientedBoundingBox,t._modelMatrix=e._modelMatrix,t._primitiveType=e._primitiveType,t._vertexArray=e._vertexArray,t._count=e._count,t._offset=e._offset,t._instanceCount=e._instanceCount,t._shaderProgram=e._shaderProgram,t._uniformMap=e._uniformMap,t._renderState=e._renderState,t._framebuffer=e._framebuffer,t._pass=e._pass,t._owner=e._owner,t._debugOverlappingFrustums=e._debugOverlappingFrustums,t._pickId=e._pickId,t._flags=e._flags,t.dirty=!0,t.lastDirtyTime=0,t};xS.prototype.execute=function(e,t){e.draw(this,t)};var Je=xS;var LMe={ENVIRONMENT:0,COMPUTE:1,GLOBE:2,TERRAIN_CLASSIFICATION:3,CESIUM_3D_TILE:4,CESIUM_3D_TILE_CLASSIFICATION:5,CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW:6,OPAQUE:7,TRANSLUCENT:8,OVERLAY:9,NUMBER_OF_PASSES:10},xe=Object.freeze(LMe);function Zte(e){if(typeof e!="object"||e===null)return e;let t,n=Object.keys(e);for(let i=0;i<n.length;i++)t=n[i],e.hasOwnProperty(t)&&t!=="_applyFunctions"&&(e[t]=Zte(e[t]));return Object.freeze(e)}var $te=Zte;function eh(e){let t=y(e,y.EMPTY_OBJECT),n=y(t.cull,y.EMPTY_OBJECT),i=y(t.polygonOffset,y.EMPTY_OBJECT),o=y(t.scissorTest,y.EMPTY_OBJECT),r=y(o.rectangle,y.EMPTY_OBJECT),s=y(t.depthRange,y.EMPTY_OBJECT),a=y(t.depthTest,y.EMPTY_OBJECT),c=y(t.colorMask,y.EMPTY_OBJECT),u=y(t.blending,y.EMPTY_OBJECT),f=y(u.color,y.EMPTY_OBJECT),d=y(t.stencilTest,y.EMPTY_OBJECT),p=y(d.frontOperation,y.EMPTY_OBJECT),g=y(d.backOperation,y.EMPTY_OBJECT),m=y(t.sampleCoverage,y.EMPTY_OBJECT),C=t.viewport;this.frontFace=y(t.frontFace,$r.COUNTER_CLOCKWISE),this.cull={enabled:y(n.enabled,!1),face:y(n.face,te.BACK)},this.lineWidth=y(t.lineWidth,1),this.polygonOffset={enabled:y(i.enabled,!1),factor:y(i.factor,0),units:y(i.units,0)},this.scissorTest={enabled:y(o.enabled,!1),rectangle:Ge.clone(r)},this.depthRange={near:y(s.near,0),far:y(s.far,1)},this.depthTest={enabled:y(a.enabled,!1),func:y(a.func,te.LESS)},this.colorMask={red:y(c.red,!0),green:y(c.green,!0),blue:y(c.blue,!0),alpha:y(c.alpha,!0)},this.depthMask=y(t.depthMask,!0),this.stencilMask=y(t.stencilMask,-1),this.blending={enabled:y(u.enabled,!1),color:new U(y(f.red,0),y(f.green,0),y(f.blue,0),y(f.alpha,0)),equationRgb:y(u.equationRgb,te.FUNC_ADD),equationAlpha:y(u.equationAlpha,te.FUNC_ADD),functionSourceRgb:y(u.functionSourceRgb,te.ONE),functionSourceAlpha:y(u.functionSourceAlpha,te.ONE),functionDestinationRgb:y(u.functionDestinationRgb,te.ZERO),functionDestinationAlpha:y(u.functionDestinationAlpha,te.ZERO)},this.stencilTest={enabled:y(d.enabled,!1),frontFunction:y(d.frontFunction,te.ALWAYS),backFunction:y(d.backFunction,te.ALWAYS),reference:y(d.reference,0),mask:y(d.mask,-1),frontOperation:{fail:y(p.fail,te.KEEP),zFail:y(p.zFail,te.KEEP),zPass:y(p.zPass,te.KEEP)},backOperation:{fail:y(g.fail,te.KEEP),zFail:y(g.zFail,te.KEEP),zPass:y(g.zPass,te.KEEP)}},this.sampleCoverage={enabled:y(m.enabled,!1),value:y(m.value,1),invert:y(m.invert,!1)},this.viewport=l(C)?new Ge(C.x,C.y,C.width,C.height):void 0,this.id=0,this._applyFunctions=[]}var NMe=0,Qd={};eh.fromCache=function(e){let t=JSON.stringify(e),n=Qd[t];if(l(n))return++n.referenceCount,n.state;let i=new eh(e),o=JSON.stringify(i);return n=Qd[o],l(n)||(i.id=NMe++,n={referenceCount:0,state:i},Qd[o]=n),++n.referenceCount,Qd[t]={referenceCount:1,state:n.state},n.state};eh.removeFromCache=function(e){let t=new eh(e),n=JSON.stringify(t),i=Qd[n],o=JSON.stringify(e),r=Qd[o];l(r)&&(--r.referenceCount,r.referenceCount===0&&(delete Qd[o],l(i)&&--i.referenceCount)),l(i)&&i.referenceCount===0&&delete Qd[n]};eh.getCache=function(){return Qd};eh.clearCache=function(){Qd={}};function hy(e,t,n){n?e.enable(t):e.disable(t)}function Jte(e,t){e.frontFace(t.frontFace)}function Qte(e,t){let n=t.cull,i=n.enabled;hy(e,e.CULL_FACE,i),i&&e.cullFace(n.face)}function ene(e,t){e.lineWidth(t.lineWidth)}function tne(e,t){let n=t.polygonOffset,i=n.enabled;hy(e,e.POLYGON_OFFSET_FILL,i),i&&e.polygonOffset(n.factor,n.units)}function nne(e,t,n){let i=t.scissorTest,o=l(n.scissorTest)?n.scissorTest.enabled:i.enabled;if(hy(e,e.SCISSOR_TEST,o),o){let r=l(n.scissorTest)?n.scissorTest.rectangle:i.rectangle;e.scissor(r.x,r.y,r.width,r.height)}}function ine(e,t){let n=t.depthRange;e.depthRange(n.near,n.far)}function one(e,t){let n=t.depthTest,i=n.enabled;hy(e,e.DEPTH_TEST,i),i&&e.depthFunc(n.func)}function rne(e,t){let n=t.colorMask;e.colorMask(n.red,n.green,n.blue,n.alpha)}function sne(e,t){e.depthMask(t.depthMask)}function ane(e,t){e.stencilMask(t.stencilMask)}function FMe(e,t){e.blendColor(t.red,t.green,t.blue,t.alpha)}function cne(e,t,n){let i=t.blending,o=l(n.blendingEnabled)?n.blendingEnabled:i.enabled;hy(e,e.BLEND,o),o&&(FMe(e,i.color),e.blendEquationSeparate(i.equationRgb,i.equationAlpha),e.blendFuncSeparate(i.functionSourceRgb,i.functionDestinationRgb,i.functionSourceAlpha,i.functionDestinationAlpha))}function lne(e,t){let n=t.stencilTest,i=n.enabled;if(hy(e,e.STENCIL_TEST,i),i){let o=n.frontFunction,r=n.backFunction,s=n.reference,a=n.mask;e.stencilFunc(o,s,a),e.stencilFuncSeparate(e.BACK,r,s,a),e.stencilFuncSeparate(e.FRONT,o,s,a);let c=n.frontOperation,u=c.fail,f=c.zFail,d=c.zPass;e.stencilOpSeparate(e.FRONT,u,f,d);let p=n.backOperation,g=p.fail,m=p.zFail,C=p.zPass;e.stencilOpSeparate(e.BACK,g,m,C)}}function une(e,t){let n=t.sampleCoverage,i=n.enabled;hy(e,e.SAMPLE_COVERAGE,i),i&&e.sampleCoverage(n.value,n.invert)}var VMe=new Ge;function fne(e,t,n){let i=y(t.viewport,n.viewport);l(i)||(i=VMe,i.width=n.context.drawingBufferWidth,i.height=n.context.drawingBufferHeight),n.context.uniformState.viewport=i,e.viewport(i.x,i.y,i.width,i.height)}eh.apply=function(e,t,n){Jte(e,t),Qte(e,t),ene(e,t),tne(e,t),ine(e,t),one(e,t),rne(e,t),sne(e,t),ane(e,t),lne(e,t),une(e,t),nne(e,t,n),cne(e,t,n),fne(e,t,n)};function kMe(e,t){let n=[];return e.frontFace!==t.frontFace&&n.push(Jte),(e.cull.enabled!==t.cull.enabled||e.cull.face!==t.cull.face)&&n.push(Qte),e.lineWidth!==t.lineWidth&&n.push(ene),(e.polygonOffset.enabled!==t.polygonOffset.enabled||e.polygonOffset.factor!==t.polygonOffset.factor||e.polygonOffset.units!==t.polygonOffset.units)&&n.push(tne),(e.depthRange.near!==t.depthRange.near||e.depthRange.far!==t.depthRange.far)&&n.push(ine),(e.depthTest.enabled!==t.depthTest.enabled||e.depthTest.func!==t.depthTest.func)&&n.push(one),(e.colorMask.red!==t.colorMask.red||e.colorMask.green!==t.colorMask.green||e.colorMask.blue!==t.colorMask.blue||e.colorMask.alpha!==t.colorMask.alpha)&&n.push(rne),e.depthMask!==t.depthMask&&n.push(sne),e.stencilMask!==t.stencilMask&&n.push(ane),(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)&&n.push(lne),(e.sampleCoverage.enabled!==t.sampleCoverage.enabled||e.sampleCoverage.value!==t.sampleCoverage.value||e.sampleCoverage.invert!==t.sampleCoverage.invert)&&n.push(une),n}eh.partialApply=function(e,t,n,i,o,r){if(t!==n){let f=n._applyFunctions[t.id];l(f)||(f=kMe(t,n),n._applyFunctions[t.id]=f);let d=f.length;for(let p=0;p<d;++p)f[p](e,n)}let s=l(i.scissorTest)?i.scissorTest:t.scissorTest,a=l(o.scissorTest)?o.scissorTest:n.scissorTest;(s!==a||r)&&nne(e,n,o);let c=l(i.blendingEnabled)?i.blendingEnabled:t.blending.enabled,u=l(o.blendingEnabled)?o.blendingEnabled:n.blending.enabled;(c!==u||u&&t.blending!==n.blending)&&cne(e,n,o),(t!==n||i!==o||i.context!==o.context)&&fne(e,n,o)};eh.getState=function(e){return{frontFace:e.frontFace,cull:{enabled:e.cull.enabled,face:e.cull.face},lineWidth:e.lineWidth,polygonOffset:{enabled:e.polygonOffset.enabled,factor:e.polygonOffset.factor,units:e.polygonOffset.units},scissorTest:{enabled:e.scissorTest.enabled,rectangle:Ge.clone(e.scissorTest.rectangle)},depthRange:{near:e.depthRange.near,far:e.depthRange.far},depthTest:{enabled:e.depthTest.enabled,func:e.depthTest.func},colorMask:{red:e.colorMask.red,green:e.colorMask.green,blue:e.colorMask.blue,alpha:e.colorMask.alpha},depthMask:e.depthMask,stencilMask:e.stencilMask,blending:{enabled:e.blending.enabled,color:U.clone(e.blending.color),equationRgb:e.blending.equationRgb,equationAlpha:e.blending.equationAlpha,functionSourceRgb:e.blending.functionSourceRgb,functionSourceAlpha:e.blending.functionSourceAlpha,functionDestinationRgb:e.blending.functionDestinationRgb,functionDestinationAlpha:e.blending.functionDestinationAlpha},stencilTest:{enabled:e.stencilTest.enabled,frontFunction:e.stencilTest.frontFunction,backFunction:e.stencilTest.backFunction,reference:e.stencilTest.reference,mask:e.stencilTest.mask,frontOperation:{fail:e.stencilTest.frontOperation.fail,zFail:e.stencilTest.frontOperation.zFail,zPass:e.stencilTest.frontOperation.zPass},backOperation:{fail:e.stencilTest.backOperation.fail,zFail:e.stencilTest.backOperation.zFail,zPass:e.stencilTest.backOperation.zPass}},sampleCoverage:{enabled:e.sampleCoverage.enabled,value:e.sampleCoverage.value,invert:e.sampleCoverage.invert},viewport:l(e.viewport)?Ge.clone(e.viewport):void 0}};var Fe=eh;var UMe=new h;function Lt(e){this._size=e.size,this._datatype=e.datatype,this.getValue=e.getValue}var Ts={};Ts[te.FLOAT]="float";Ts[te.FLOAT_VEC2]="vec2";Ts[te.FLOAT_VEC3]="vec3";Ts[te.FLOAT_VEC4]="vec4";Ts[te.INT]="int";Ts[te.INT_VEC2]="ivec2";Ts[te.INT_VEC3]="ivec3";Ts[te.INT_VEC4]="ivec4";Ts[te.BOOL]="bool";Ts[te.BOOL_VEC2]="bvec2";Ts[te.BOOL_VEC3]="bvec3";Ts[te.BOOL_VEC4]="bvec4";Ts[te.FLOAT_MAT2]="mat2";Ts[te.FLOAT_MAT3]="mat3";Ts[te.FLOAT_MAT4]="mat4";Ts[te.SAMPLER_2D]="sampler2D";Ts[te.SAMPLER_CUBE]="samplerCube";Lt.prototype.getDeclaration=function(e){let t=`uniform ${Ts[this._datatype]} ${e}`,n=this._size;return n===1?t+=";":t+=`[${n.toString()}];`,t};var zMe={czm_viewport:new Lt({size:1,datatype:te.FLOAT_VEC4,getValue:function(e){return e.viewportCartesian4}}),czm_viewportOrthographic:new Lt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.viewportOrthographic}}),czm_viewportTransformation:new Lt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.viewportTransformation}}),czm_globeDepthTexture:new Lt({size:1,datatype:te.SAMPLER_2D,getValue:function(e){return e.globeDepthTexture}}),czm_model:new Lt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.model}}),czm_inverseModel:new Lt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.inverseModel}}),czm_view:new Lt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.view}}),czm_view3D:new Lt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.view3D}}),czm_viewRotation:new Lt({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.viewRotation}}),czm_viewRotation3D:new Lt({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.viewRotation3D}}),czm_inverseView:new Lt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.inverseView}}),czm_inverseView3D:new Lt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.inverseView3D}}),czm_inverseViewRotation:new Lt({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.inverseViewRotation}}),czm_inverseViewRotation3D:new Lt({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.inverseViewRotation3D}}),czm_projection:new Lt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.projection}}),czm_inverseProjection:new Lt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.inverseProjection}}),czm_infiniteProjection:new Lt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.infiniteProjection}}),czm_modelView:new Lt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.modelView}}),czm_modelView3D:new Lt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.modelView3D}}),czm_modelViewRelativeToEye:new Lt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.modelViewRelativeToEye}}),czm_inverseModelView:new Lt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.inverseModelView}}),czm_inverseModelView3D:new Lt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.inverseModelView3D}}),czm_viewProjection:new Lt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.viewProjection}}),czm_inverseViewProjection:new Lt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.inverseViewProjection}}),czm_modelViewProjection:new Lt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.modelViewProjection}}),czm_inverseModelViewProjection:new Lt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.inverseModelViewProjection}}),czm_modelViewProjectionRelativeToEye:new Lt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.modelViewProjectionRelativeToEye}}),czm_modelViewInfiniteProjection:new Lt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.modelViewInfiniteProjection}}),czm_orthographicIn3D:new Lt({size:1,datatype:te.FLOAT,getValue:function(e){return e.orthographicIn3D?1:0}}),czm_normal:new Lt({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.normal}}),czm_normal3D:new Lt({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.normal3D}}),czm_inverseNormal:new Lt({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.inverseNormal}}),czm_inverseNormal3D:new Lt({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.inverseNormal3D}}),czm_eyeHeight:new Lt({size:1,datatype:te.FLOAT,getValue:function(e){return e.eyeHeight}}),czm_eyeHeight2D:new Lt({size:1,datatype:te.FLOAT_VEC2,getValue:function(e){return e.eyeHeight2D}}),czm_entireFrustum:new Lt({size:1,datatype:te.FLOAT_VEC2,getValue:function(e){return e.entireFrustum}}),czm_currentFrustum:new Lt({size:1,datatype:te.FLOAT_VEC2,getValue:function(e){return e.currentFrustum}}),czm_frustumPlanes:new Lt({size:1,datatype:te.FLOAT_VEC4,getValue:function(e){return e.frustumPlanes}}),czm_farDepthFromNearPlusOne:new Lt({size:1,datatype:te.FLOAT,getValue:function(e){return e.farDepthFromNearPlusOne}}),czm_log2FarDepthFromNearPlusOne:new Lt({size:1,datatype:te.FLOAT,getValue:function(e){return e.log2FarDepthFromNearPlusOne}}),czm_oneOverLog2FarDepthFromNearPlusOne:new Lt({size:1,datatype:te.FLOAT,getValue:function(e){return e.oneOverLog2FarDepthFromNearPlusOne}}),czm_sunPositionWC:new Lt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.sunPositionWC}}),czm_sunPositionColumbusView:new Lt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.sunPositionColumbusView}}),czm_sunDirectionEC:new Lt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.sunDirectionEC}}),czm_sunDirectionWC:new Lt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.sunDirectionWC}}),czm_moonDirectionEC:new Lt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.moonDirectionEC}}),czm_lightDirectionEC:new Lt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.lightDirectionEC}}),czm_lightDirectionWC:new Lt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.lightDirectionWC}}),czm_lightColor:new Lt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.lightColor}}),czm_lightColorHdr:new Lt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.lightColorHdr}}),czm_encodedCameraPositionMCHigh:new Lt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.encodedCameraPositionMCHigh}}),czm_encodedCameraPositionMCLow:new Lt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.encodedCameraPositionMCLow}}),czm_viewerPositionWC:new Lt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return N.getTranslation(e.inverseView,UMe)}}),czm_frameNumber:new Lt({size:1,datatype:te.FLOAT,getValue:function(e){return e.frameState.frameNumber}}),czm_morphTime:new Lt({size:1,datatype:te.FLOAT,getValue:function(e){return e.frameState.morphTime}}),czm_sceneMode:new Lt({size:1,datatype:te.FLOAT,getValue:function(e){return e.frameState.mode}}),czm_pass:new Lt({size:1,datatype:te.FLOAT,getValue:function(e){return e.pass}}),czm_backgroundColor:new Lt({size:1,datatype:te.FLOAT_VEC4,getValue:function(e){return e.backgroundColor}}),czm_brdfLut:new Lt({size:1,datatype:te.SAMPLER_2D,getValue:function(e){return e.brdfLut}}),czm_environmentMap:new Lt({size:1,datatype:te.SAMPLER_CUBE,getValue:function(e){return e.environmentMap}}),czm_specularEnvironmentMaps:new Lt({size:1,datatype:te.SAMPLER_2D,getValue:function(e){return e.specularEnvironmentMaps}}),czm_specularEnvironmentMapSize:new Lt({size:1,datatype:te.FLOAT_VEC2,getValue:function(e){return e.specularEnvironmentMapsDimensions}}),czm_specularEnvironmentMapsMaximumLOD:new Lt({size:1,datatype:te.FLOAT,getValue:function(e){return e.specularEnvironmentMapsMaximumLOD}}),czm_sphericalHarmonicCoefficients:new Lt({size:9,datatype:te.FLOAT_VEC3,getValue:function(e){return e.sphericalHarmonicCoefficients}}),czm_temeToPseudoFixed:new Lt({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.temeToPseudoFixedMatrix}}),czm_pixelRatio:new Lt({size:1,datatype:te.FLOAT,getValue:function(e){return e.pixelRatio}}),czm_fogDensity:new Lt({size:1,datatype:te.FLOAT,getValue:function(e){return e.fogDensity}}),czm_splitPosition:new Lt({size:1,datatype:te.FLOAT,getValue:function(e){return e.splitPosition}}),czm_geometricToleranceOverMeter:new Lt({size:1,datatype:te.FLOAT,getValue:function(e){return e.geometricToleranceOverMeter}}),czm_minimumDisableDepthTestDistance:new Lt({size:1,datatype:te.FLOAT,getValue:function(e){return e.minimumDisableDepthTestDistance}}),czm_invertClassificationColor:new Lt({size:1,datatype:te.FLOAT_VEC4,getValue:function(e){return e.invertClassificationColor}}),czm_gamma:new Lt({size:1,datatype:te.FLOAT,getValue:function(e){return e.gamma}}),czm_ellipsoidRadii:new Lt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.ellipsoid.radii}}),czm_ellipsoidInverseRadii:new Lt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.ellipsoid.oneOverRadii}})},v_=zMe;function HMe(e,t,n,i){switch(t.type){case e.FLOAT:return new dne(e,t,n,i);case e.FLOAT_VEC2:return new hne(e,t,n,i);case e.FLOAT_VEC3:return new mne(e,t,n,i);case e.FLOAT_VEC4:return new pne(e,t,n,i);case e.SAMPLER_2D:case e.SAMPLER_CUBE:return new vG(e,t,n,i);case e.INT:case e.BOOL:return new _ne(e,t,n,i);case e.INT_VEC2:case e.BOOL_VEC2:return new gne(e,t,n,i);case e.INT_VEC3:case e.BOOL_VEC3:return new yne(e,t,n,i);case e.INT_VEC4:case e.BOOL_VEC4:return new Cne(e,t,n,i);case e.FLOAT_MAT2:return new xne(e,t,n,i);case e.FLOAT_MAT3:return new Ane(e,t,n,i);case e.FLOAT_MAT4:return new Tne(e,t,n,i);default:throw new de(`Unrecognized uniform type: ${t.type} for uniform "${n}".`)}}function dne(e,t,n,i){this.name=n,this.value=void 0,this._value=0,this._gl=e,this._location=i}dne.prototype.set=function(){this.value!==this._value&&(this._value=this.value,this._gl.uniform1f(this._location,this.value))};function hne(e,t,n,i){this.name=n,this.value=void 0,this._value=new G,this._gl=e,this._location=i}hne.prototype.set=function(){let e=this.value;G.equals(e,this._value)||(G.clone(e,this._value),this._gl.uniform2f(this._location,e.x,e.y))};function mne(e,t,n,i){this.name=n,this.value=void 0,this._value=void 0,this._gl=e,this._location=i}mne.prototype.set=function(){let e=this.value;l(e.red)?U.equals(e,this._value)||(this._value=U.clone(e,this._value),this._gl.uniform3f(this._location,e.red,e.green,e.blue)):l(e.x)&&(h.equals(e,this._value)||(this._value=h.clone(e,this._value),this._gl.uniform3f(this._location,e.x,e.y,e.z)))};function pne(e,t,n,i){this.name=n,this.value=void 0,this._value=void 0,this._gl=e,this._location=i}pne.prototype.set=function(){let e=this.value;l(e.red)?U.equals(e,this._value)||(this._value=U.clone(e,this._value),this._gl.uniform4f(this._location,e.red,e.green,e.blue,e.alpha)):l(e.x)&&(se.equals(e,this._value)||(this._value=se.clone(e,this._value),this._gl.uniform4f(this._location,e.x,e.y,e.z,e.w)))};function vG(e,t,n,i){this.name=n,this.value=void 0,this._gl=e,this._location=i,this.textureUnitIndex=void 0}vG.prototype.set=function(){let e=this._gl;e.activeTexture(e.TEXTURE0+this.textureUnitIndex);let t=this.value;e.bindTexture(t._target,t._texture)};vG.prototype._setSampler=function(e){return this.textureUnitIndex=e,this._gl.uniform1i(this._location,e),e+1};function _ne(e,t,n,i){this.name=n,this.value=void 0,this._value=0,this._gl=e,this._location=i}_ne.prototype.set=function(){this.value!==this._value&&(this._value=this.value,this._gl.uniform1i(this._location,this.value))};function gne(e,t,n,i){this.name=n,this.value=void 0,this._value=new G,this._gl=e,this._location=i}gne.prototype.set=function(){let e=this.value;G.equals(e,this._value)||(G.clone(e,this._value),this._gl.uniform2i(this._location,e.x,e.y))};function yne(e,t,n,i){this.name=n,this.value=void 0,this._value=new h,this._gl=e,this._location=i}yne.prototype.set=function(){let e=this.value;h.equals(e,this._value)||(h.clone(e,this._value),this._gl.uniform3i(this._location,e.x,e.y,e.z))};function Cne(e,t,n,i){this.name=n,this.value=void 0,this._value=new se,this._gl=e,this._location=i}Cne.prototype.set=function(){let e=this.value;se.equals(e,this._value)||(se.clone(e,this._value),this._gl.uniform4i(this._location,e.x,e.y,e.z,e.w))};var GMe=new Float32Array(4);function xne(e,t,n,i){this.name=n,this.value=void 0,this._value=new Yi,this._gl=e,this._location=i}xne.prototype.set=function(){if(!Yi.equalsArray(this.value,this._value,0)){Yi.clone(this.value,this._value);let e=Yi.toArray(this.value,GMe);this._gl.uniformMatrix2fv(this._location,!1,e)}};var WMe=new Float32Array(9);function Ane(e,t,n,i){this.name=n,this.value=void 0,this._value=new J,this._gl=e,this._location=i}Ane.prototype.set=function(){if(!J.equalsArray(this.value,this._value,0)){J.clone(this.value,this._value);let e=J.toArray(this.value,WMe);this._gl.uniformMatrix3fv(this._location,!1,e)}};var jMe=new Float32Array(16);function Tne(e,t,n,i){this.name=n,this.value=void 0,this._value=new N,this._gl=e,this._location=i}Tne.prototype.set=function(){if(!N.equalsArray(this.value,this._value,0)){N.clone(this.value,this._value);let e=N.toArray(this.value,jMe);this._gl.uniformMatrix4fv(this._location,!1,e)}};var OO=HMe;function qMe(e,t,n,i){switch(t.type){case e.FLOAT:return new Ene(e,t,n,i);case e.FLOAT_VEC2:return new bne(e,t,n,i);case e.FLOAT_VEC3:return new Sne(e,t,n,i);case e.FLOAT_VEC4:return new wne(e,t,n,i);case e.SAMPLER_2D:case e.SAMPLER_CUBE:return new DG(e,t,n,i);case e.INT:case e.BOOL:return new vne(e,t,n,i);case e.INT_VEC2:case e.BOOL_VEC2:return new Dne(e,t,n,i);case e.INT_VEC3:case e.BOOL_VEC3:return new Pne(e,t,n,i);case e.INT_VEC4:case e.BOOL_VEC4:return new Ine(e,t,n,i);case e.FLOAT_MAT2:return new One(e,t,n,i);case e.FLOAT_MAT3:return new Rne(e,t,n,i);case e.FLOAT_MAT4:return new Mne(e,t,n,i);default:throw new de(`Unrecognized uniform type: ${t.type} for uniform "${n}".`)}}function Ene(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o),this._gl=e,this._location=i[0]}Ene.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1;for(let o=0;o<t;++o){let r=e[o];r!==n[o]&&(n[o]=r,i=!0)}i&&this._gl.uniform1fv(this._location,n)};function bne(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o*2),this._gl=e,this._location=i[0]}bne.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];G.equalsArray(s,n,o)||(G.pack(s,n,o),i=!0),o+=2}i&&this._gl.uniform2fv(this._location,n)};function Sne(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o*3),this._gl=e,this._location=i[0]}Sne.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];l(s.red)?(s.red!==n[o]||s.green!==n[o+1]||s.blue!==n[o+2])&&(n[o]=s.red,n[o+1]=s.green,n[o+2]=s.blue,i=!0):l(s.x)&&(h.equalsArray(s,n,o)||(h.pack(s,n,o),i=!0)),o+=3}i&&this._gl.uniform3fv(this._location,n)};function wne(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o*4),this._gl=e,this._location=i[0]}wne.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];l(s.red)?U.equalsArray(s,n,o)||(U.pack(s,n,o),i=!0):l(s.x)&&(se.equalsArray(s,n,o)||(se.pack(s,n,o),i=!0)),o+=4}i&&this._gl.uniform4fv(this._location,n)};function DG(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o),this._gl=e,this._locations=i,this.textureUnitIndex=void 0}DG.prototype.set=function(){let e=this._gl,t=e.TEXTURE0+this.textureUnitIndex,n=this.value,i=n.length;for(let o=0;o<i;++o){let r=n[o];e.activeTexture(t+o),e.bindTexture(r._target,r._texture)}};DG.prototype._setSampler=function(e){this.textureUnitIndex=e;let t=this._locations,n=t.length;for(let i=0;i<n;++i){let o=e+i;this._gl.uniform1i(t[i],o)}return e+n};function vne(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Int32Array(o),this._gl=e,this._location=i[0]}vne.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1;for(let o=0;o<t;++o){let r=e[o];r!==n[o]&&(n[o]=r,i=!0)}i&&this._gl.uniform1iv(this._location,n)};function Dne(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Int32Array(o*2),this._gl=e,this._location=i[0]}Dne.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];G.equalsArray(s,n,o)||(G.pack(s,n,o),i=!0),o+=2}i&&this._gl.uniform2iv(this._location,n)};function Pne(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Int32Array(o*3),this._gl=e,this._location=i[0]}Pne.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];h.equalsArray(s,n,o)||(h.pack(s,n,o),i=!0),o+=3}i&&this._gl.uniform3iv(this._location,n)};function Ine(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Int32Array(o*4),this._gl=e,this._location=i[0]}Ine.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];se.equalsArray(s,n,o)||(se.pack(s,n,o),i=!0),o+=4}i&&this._gl.uniform4iv(this._location,n)};function One(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o*4),this._gl=e,this._location=i[0]}One.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];Yi.equalsArray(s,n,o)||(Yi.pack(s,n,o),i=!0),o+=4}i&&this._gl.uniformMatrix2fv(this._location,!1,n)};function Rne(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o*9),this._gl=e,this._location=i[0]}Rne.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];J.equalsArray(s,n,o)||(J.pack(s,n,o),i=!0),o+=9}i&&this._gl.uniformMatrix3fv(this._location,!1,n)};function Mne(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o*16),this._gl=e,this._location=i[0]}Mne.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];N.equalsArray(s,n,o)||(N.pack(s,n,o),i=!0),o+=16}i&&this._gl.uniformMatrix4fv(this._location,!1,n)};var RO=qMe;var YMe=0;function Tm(e){let t=e.vertexShaderText,n=e.fragmentShaderText;typeof spector<"u"&&(t=t.replace(/^#line/gm,"//#line"),n=n.replace(/^#line/gm,"//#line"));let i=XMe(t,n);this._gl=e.gl,this._logShaderCompilation=e.logShaderCompilation,this._debugShaders=e.debugShaders,this._attributeLocations=e.attributeLocations,this._program=void 0,this._numberOfVertexAttributes=void 0,this._vertexAttributes=void 0,this._uniformsByName=void 0,this._uniforms=void 0,this._automaticUniforms=void 0,this._manualUniforms=void 0,this._duplicateUniformNames=i.duplicateUniformNames,this._cachedShader=void 0,this.maximumTextureUnitIndex=void 0,this._vertexShaderSource=e.vertexShaderSource,this._vertexShaderText=e.vertexShaderText,this._fragmentShaderSource=e.fragmentShaderSource,this._fragmentShaderText=i.fragmentShaderText,this.id=YMe++}Tm.fromCache=function(e){return e=y(e,y.EMPTY_OBJECT),e.context.shaderCache.getShaderProgram(e)};Tm.replaceCache=function(e){return e=y(e,y.EMPTY_OBJECT),e.context.shaderCache.replaceShaderProgram(e)};Object.defineProperties(Tm.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},vertexAttributes:{get:function(){return MO(this),this._vertexAttributes}},numberOfVertexAttributes:{get:function(){return MO(this),this._numberOfVertexAttributes}},allUniforms:{get:function(){return MO(this),this._uniformsByName}}});function Bne(e){let t=[],n=e.match(/uniform.*?(?![^{]*})(?=[=\[;])/g);if(l(n)){let i=n.length;for(let o=0;o<i;o++){let r=n[o].trim(),s=r.slice(r.lastIndexOf(" ")+1);t.push(s)}}return t}function XMe(e,t){let n={};if(!kt.highpFloatSupported||!kt.highpIntSupported){let i,o,r,s,a=Bne(e),c=Bne(t),u=a.length,f=c.length;for(i=0;i<u;i++)for(o=0;o<f;o++)if(a[i]===c[o]){r=a[i],s=`czm_mediump_${r}`;let d=new RegExp(`${r}\\b`,"g");t=t.replace(d,s),n[s]=r}}return{fragmentShaderText:t,duplicateUniformNames:n}}var th="[Cesium WebGL] ";function KMe(e,t){let n=t._vertexShaderText,i=t._fragmentShaderText,o=e.createShader(e.VERTEX_SHADER);e.shaderSource(o,n),e.compileShader(o);let r=e.createShader(e.FRAGMENT_SHADER);e.shaderSource(r,i),e.compileShader(r);let s=e.createProgram();e.attachShader(s,o),e.attachShader(s,r);let a=t._attributeLocations;if(l(a))for(let p in a)a.hasOwnProperty(p)&&e.bindAttribLocation(s,a[p],p);e.linkProgram(s);let c;if(e.getProgramParameter(s,e.LINK_STATUS))return t._logShaderCompilation&&(c=e.getShaderInfoLog(o),l(c)&&c.length>0&&console.log(`${th}Vertex shader compile log: ${c}`),c=e.getShaderInfoLog(r),l(c)&&c.length>0&&console.log(`${th}Fragment shader compile log: ${c}`),c=e.getProgramInfoLog(s),l(c)&&c.length>0&&console.log(`${th}Shader program link log: ${c}`)),e.deleteShader(o),e.deleteShader(r),s;let u,f=t._debugShaders;throw e.getShaderParameter(r,e.COMPILE_STATUS)?e.getShaderParameter(o,e.COMPILE_STATUS)?(c=e.getProgramInfoLog(s),console.error(`${th}Shader program link log: ${c}`),d(o,"vertex"),d(r,"fragment"),u=`Program failed to link. Link log: ${c}`):(c=e.getShaderInfoLog(o),console.error(`${th}Vertex shader compile log: ${c}`),console.error(`${th} Vertex shader source:
  710. ${n}`),u=`Vertex shader failed to compile. Compile log: ${c}`):(c=e.getShaderInfoLog(r),console.error(`${th}Fragment shader compile log: ${c}`),console.error(`${th} Fragment shader source:
  711. ${i}`),u=`Fragment shader failed to compile. Compile log: ${c}`),e.deleteShader(o),e.deleteShader(r),e.deleteProgram(s),new de(u);function d(p,g){if(!l(f))return;let m=f.getTranslatedShaderSource(p);if(m===""){console.error(`${th}${g} shader translation failed.`);return}console.error(`${th}Translated ${g} shaderSource:
  712. ${m}`)}}function ZMe(e,t,n){let i={};for(let o=0;o<n;++o){let r=e.getActiveAttrib(t,o),s=e.getAttribLocation(t,r.name);i[r.name]={name:r.name,type:r.type,index:s}}return i}function $Me(e,t){let n={},i=[],o=[],r=e.getProgramParameter(t,e.ACTIVE_UNIFORMS);for(let s=0;s<r;++s){let a=e.getActiveUniform(t,s),c="[0]",u=a.name.indexOf(c,a.name.length-c.length)!==-1?a.name.slice(0,a.name.length-3):a.name;if(u.indexOf("gl_")!==0)if(a.name.indexOf("[")<0){let f=e.getUniformLocation(t,u);if(f!==null){let d=OO(e,a,u,f);n[u]=d,i.push(d),d._setSampler&&o.push(d)}}else{let f,d,p,g,m=u.indexOf("[");if(m>=0){if(f=n[u.slice(0,m)],!l(f))continue;d=f._locations,d.length<=1&&(p=f.value,g=e.getUniformLocation(t,u),g!==null&&(d.push(g),p.push(e.getUniform(t,g))))}else{d=[];for(let C=0;C<a.size;++C)g=e.getUniformLocation(t,`${u}[${C}]`),g!==null&&d.push(g);f=RO(e,a,u,d),n[u]=f,i.push(f),f._setSampler&&o.push(f)}}}return{uniformsByName:n,uniforms:i,samplerUniforms:o}}function JMe(e,t){let n=[],i=[];for(let o in t)if(t.hasOwnProperty(o)){let r=t[o],s=o,a=e._duplicateUniformNames[s];l(a)&&(r.name=a,s=a);let c=v_[s];l(c)?n.push({uniform:r,automaticUniform:c}):i.push(r)}return{automaticUniforms:n,manualUniforms:i}}function QMe(e,t,n){e.useProgram(t);let i=0,o=n.length;for(let r=0;r<o;++r)i=n[r]._setSampler(i);return e.useProgram(null),i}function MO(e){l(e._program)||Lne(e)}function Lne(e){let t=e._program,n=e._gl,i=KMe(n,e,e._debugShaders),o=n.getProgramParameter(i,n.ACTIVE_ATTRIBUTES),r=$Me(n,i),s=JMe(e,r.uniformsByName);e._program=i,e._numberOfVertexAttributes=o,e._vertexAttributes=ZMe(n,i,o),e._uniformsByName=r.uniformsByName,e._uniforms=r.uniforms,e._automaticUniforms=s.automaticUniforms,e._manualUniforms=s.manualUniforms,e.maximumTextureUnitIndex=QMe(n,i,r.samplerUniforms),t&&e._gl.deleteProgram(t),typeof spector<"u"&&(e._program.__SPECTOR_rebuildProgram=function(a,c,u,f){let d=e._vertexShaderText,p=e._fragmentShaderText,g=/ ! = /g;e._vertexShaderText=a.replace(g," != "),e._fragmentShaderText=c.replace(g," != ");try{Lne(e),u(e._program)}catch(m){e._vertexShaderText=d,e._fragmentShaderText=p;let x=/(?:Compile|Link) error: ([^]*)/.exec(m.message);f(x?x[1]:m.message)}})}Tm.prototype._bind=function(){MO(this),this._gl.useProgram(this._program)};Tm.prototype._setUniforms=function(e,t,n){let i,o;if(l(e)){let a=this._manualUniforms;for(i=a.length,o=0;o<i;++o){let c=a[o];c.value=e[c.name]()}}let r=this._automaticUniforms;for(i=r.length,o=0;o<i;++o){let a=r[o];a.uniform.value=a.automaticUniform.getValue(t)}let s=this._uniforms;for(i=s.length,o=0;o<i;++o)s[o].set();if(n){let a=this._gl,c=this._program;a.validateProgram(c)}};Tm.prototype.isDestroyed=function(){return!1};Tm.prototype.destroy=function(){this._cachedShader.cache.releaseShaderProgram(this)};Tm.prototype.finalDestroy=function(){return this._gl.deleteProgram(this._program),fe(this)};var Yt=Tm;function eBe(e,t){let n=/#define OUTPUT_DECLARATION/,i=e.split(`
  713. `);if(/#version 300 es/g.test(e))return e;let o=-1,r,s;for(r=0;r<i.length;++r)if(s=i[r],n.test(s)){o=r;break}if(o===-1)throw new ye("Could not find a #define OUTPUT_DECLARATION!");let a=[];for(r=0;r<10;r++){let C=`gl_FragData\\[${r}\\]`,x=`czm_out${r}`;new RegExp(C,"g").test(e)&&(Nne(x,a),nh(C,x,i),i.splice(o,0,`layout(location = ${r}) out vec4 ${x};`),o+=1)}let c="czm_fragColor";nBe("gl_FragColor",i)&&(Nne(c,a),nh("gl_FragColor",c,i),i.splice(o,0,"layout(location = 0) out vec4 czm_fragColor;"),o+=1);let u=oBe(a,i),f={};for(r=0;r<i.length;r++){s=i[r];for(let C in u)u.hasOwnProperty(C)&&new RegExp(`(layout)[^]+(out)[^]+(${C})[^]+`,"g").test(s)&&(f[s]=C)}for(let C in f)if(f.hasOwnProperty(C)){let x=f[C],A=i.indexOf(C),b=u[x],E=b.length;for(let S=0;S<E;S++)i.splice(A,0,b[S]);A+=E+1;for(let S=E-1;S>=0;S--)i.splice(A,0,`#endif //${b[S]}`)}let d="WEBGL_2",p=`#define ${d}`,g="#version 300 es",m=!1;for(r=0;r<i.length;r++)if(/#version/.test(i[r])){i[r]=g,m=!0;break}return m||i.splice(0,0,g),i.splice(1,0,p),PG("EXT_draw_buffers",d,i),PG("EXT_frag_depth",d,i),PG("OES_standard_derivatives",d,i),nh("texture2D","texture",i),nh("texture3D","texture",i),nh("textureCube","texture",i),nh("gl_FragDepthEXT","gl_FragDepth",i),t?nh("varying","in",i):(nh("attribute","in",i),nh("varying","out",i)),iBe(i)}function nh(e,t,n){let i=`(^|[^\\w])(${e})($|[^\\w])`,o=new RegExp(i,"g"),r=n.length;for(let s=0;s<r;++s){let a=n[s];n[s]=a.replace(o,`$1${t}$3`)}}function tBe(e,t,n){let i=n.length;for(let o=0;o<i;++o){let r=n[o];n[o]=r.replace(e,t)}}function nBe(e,t){let n=`(^|[^\\w])(${e})($|[^\\w])`,i=new RegExp(n,"g"),o=t.length;for(let r=0;r<o;++r){let s=t[r];if(i.test(s))return!0}return!1}function iBe(e){let t="",n=e.length;for(let i=0;i<n;++i)t+=`${e[i]}
  714. `;return t}function Nne(e,t){t.indexOf(e)===-1&&t.push(e)}function oBe(e,t){let n={},i=e.length,o=[];for(let r=0;r<t.length;++r){let s=t[r],a=/(#ifdef|#if)/g.test(s),c=/#else/g.test(s),u=/#endif/g.test(s);if(a)o.push(s);else if(c){let d=o[o.length-1].replace("ifdef","ifndef");/if/g.test(d)&&(d=d.replace(/(#if\s+)(\S*)([^]*)/,"$1!($2)$3")),o.pop(),o.push(d)}else if(u)o.pop();else if(!/layout/g.test(s))for(let f=0;f<i;++f){let d=e[f];s.indexOf(d)!==-1&&(l(n[d])?n[d]=n[d].filter(function(p){return o.indexOf(p)>=0}):n[d]=o.slice())}}return n}function PG(e,t,n){let i=`#extension\\s+GL_${e}\\s+:\\s+[a-zA-Z0-9]+\\s*$`;tBe(new RegExp(i,"g"),"",n),nh(`GL_${e}`,t,n)}var BO=eBe;var LO=`const float czm_degreesPerRadian = 57.29577951308232;
  715. `;var NO=`const czm_depthRangeStruct czm_depthRange = czm_depthRangeStruct(0.0, 1.0);
  716. `;var FO=`const float czm_epsilon1 = 0.1;
  717. `;var VO=`const float czm_epsilon2 = 0.01;
  718. `;var kO=`const float czm_epsilon3 = 0.001;
  719. `;var UO=`const float czm_epsilon4 = 0.0001;
  720. `;var zO=`const float czm_epsilon5 = 0.00001;
  721. `;var HO=`const float czm_epsilon6 = 0.000001;
  722. `;var GO=`const float czm_epsilon7 = 0.0000001;
  723. `;var WO=`const float czm_infinity = 5906376272000.0;
  724. `;var jO=`const float czm_oneOverPi = 0.3183098861837907;
  725. `;var qO=`const float czm_oneOverTwoPi = 0.15915494309189535;
  726. `;var YO=`const float czm_passCesium3DTile = 4.0;
  727. `;var XO=`const float czm_passCesium3DTileClassification = 5.0;
  728. `;var KO=`const float czm_passCesium3DTileClassificationIgnoreShow = 6.0;
  729. `;var ZO=`const float czm_passClassification = 7.0;
  730. `;var $O=`const float czm_passCompute = 1.0;
  731. `;var JO=`const float czm_passEnvironment = 0.0;
  732. `;var QO=`const float czm_passGlobe = 2.0;
  733. `;var eR=`const float czm_passOpaque = 7.0;
  734. `;var tR=`const float czm_passOverlay = 9.0;
  735. `;var nR=`const float czm_passTerrainClassification = 3.0;
  736. `;var iR=`const float czm_passTranslucent = 8.0;
  737. `;var oR=`const float czm_pi = 3.141592653589793;
  738. `;var rR=`const float czm_piOverFour = 0.7853981633974483;
  739. `;var sR=`const float czm_piOverSix = 0.5235987755982988;
  740. `;var aR=`const float czm_piOverThree = 1.0471975511965976;
  741. `;var cR=`const float czm_piOverTwo = 1.5707963267948966;
  742. `;var lR=`const float czm_radiansPerDegree = 0.017453292519943295;
  743. `;var uR=`const float czm_sceneMode2D = 2.0;
  744. `;var fR=`const float czm_sceneMode3D = 3.0;
  745. `;var dR=`const float czm_sceneModeColumbusView = 1.0;
  746. `;var hR=`const float czm_sceneModeMorphing = 0.0;
  747. `;var mR=`const float czm_solarRadius = 695500000.0;
  748. `;var pR=`const float czm_threePiOver2 = 4.71238898038469;
  749. `;var _R=`const float czm_twoPi = 6.283185307179586;
  750. `;var gR=`const float czm_webMercatorMaxLatitude = 1.4844222297453324;
  751. `;var yR=`struct czm_depthRangeStruct
  752. {
  753. float near;
  754. float far;
  755. };
  756. `;var CR=`struct czm_material
  757. {
  758. vec3 diffuse;
  759. float specular;
  760. float shininess;
  761. vec3 normal;
  762. vec3 emission;
  763. float alpha;
  764. };
  765. `;var xR=`struct czm_materialInput
  766. {
  767. float s;
  768. vec2 st;
  769. vec3 str;
  770. vec3 normalEC;
  771. mat3 tangentToEyeMatrix;
  772. vec3 positionToEyeEC;
  773. float height;
  774. float slope;
  775. float aspect;
  776. };
  777. `;var AR=`struct czm_modelMaterial {
  778. vec3 diffuse;
  779. float alpha;
  780. vec3 specular;
  781. float roughness;
  782. vec3 normalEC;
  783. float occlusion;
  784. vec3 emissive;
  785. };
  786. `;var TR=`struct czm_modelVertexOutput {
  787. vec3 positionMC;
  788. float pointSize;
  789. };
  790. `;var ER=`struct czm_pbrParameters
  791. {
  792. vec3 diffuseColor;
  793. float roughness;
  794. vec3 f0;
  795. };
  796. `;var bR=`struct czm_ray
  797. {
  798. vec3 origin;
  799. vec3 direction;
  800. };
  801. `;var SR=`struct czm_raySegment
  802. {
  803. float start;
  804. float stop;
  805. };
  806. const czm_raySegment czm_emptyRaySegment = czm_raySegment(-czm_infinity, -czm_infinity);
  807. const czm_raySegment czm_fullRaySegment = czm_raySegment(0.0, czm_infinity);
  808. `;var wR=`struct czm_shadowParameters
  809. {
  810. #ifdef USE_CUBE_MAP_SHADOW
  811. vec3 texCoords;
  812. #else
  813. vec2 texCoords;
  814. #endif
  815. float depthBias;
  816. float depth;
  817. float nDotL;
  818. vec2 texelStepSize;
  819. float normalShadingSmooth;
  820. float darkness;
  821. };
  822. `;var vR=`const vec4 K_HSB2RGB = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
  823. vec3 czm_HSBToRGB(vec3 hsb)
  824. {
  825. vec3 p = abs(fract(hsb.xxx + K_HSB2RGB.xyz) * 6.0 - K_HSB2RGB.www);
  826. return hsb.z * mix(K_HSB2RGB.xxx, clamp(p - K_HSB2RGB.xxx, 0.0, 1.0), hsb.y);
  827. }
  828. `;var DR=`vec3 hueToRGB(float hue)
  829. {
  830. float r = abs(hue * 6.0 - 3.0) - 1.0;
  831. float g = 2.0 - abs(hue * 6.0 - 2.0);
  832. float b = 2.0 - abs(hue * 6.0 - 4.0);
  833. return clamp(vec3(r, g, b), 0.0, 1.0);
  834. }
  835. vec3 czm_HSLToRGB(vec3 hsl)
  836. {
  837. vec3 rgb = hueToRGB(hsl.x);
  838. float c = (1.0 - abs(2.0 * hsl.z - 1.0)) * hsl.y;
  839. return (rgb - 0.5) * c + hsl.z;
  840. }
  841. `;var PR=`const vec4 K_RGB2HSB = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);
  842. vec3 czm_RGBToHSB(vec3 rgb)
  843. {
  844. vec4 p = mix(vec4(rgb.bg, K_RGB2HSB.wz), vec4(rgb.gb, K_RGB2HSB.xy), step(rgb.b, rgb.g));
  845. vec4 q = mix(vec4(p.xyw, rgb.r), vec4(rgb.r, p.yzx), step(p.x, rgb.r));
  846. float d = q.x - min(q.w, q.y);
  847. return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + czm_epsilon7)), d / (q.x + czm_epsilon7), q.x);
  848. }
  849. `;var IR=`vec3 RGBtoHCV(vec3 rgb)
  850. {
  851. vec4 p = (rgb.g < rgb.b) ? vec4(rgb.bg, -1.0, 2.0 / 3.0) : vec4(rgb.gb, 0.0, -1.0 / 3.0);
  852. vec4 q = (rgb.r < p.x) ? vec4(p.xyw, rgb.r) : vec4(rgb.r, p.yzx);
  853. float c = q.x - min(q.w, q.y);
  854. float h = abs((q.w - q.y) / (6.0 * c + czm_epsilon7) + q.z);
  855. return vec3(h, c, q.x);
  856. }
  857. vec3 czm_RGBToHSL(vec3 rgb)
  858. {
  859. vec3 hcv = RGBtoHCV(rgb);
  860. float l = hcv.z - hcv.y * 0.5;
  861. float s = hcv.y / (1.0 - abs(l * 2.0 - 1.0) + czm_epsilon7);
  862. return vec3(hcv.x, s, l);
  863. }
  864. `;var OR=`vec3 czm_RGBToXYZ(vec3 rgb)
  865. {
  866. const mat3 RGB2XYZ = mat3(0.4124, 0.2126, 0.0193,
  867. 0.3576, 0.7152, 0.1192,
  868. 0.1805, 0.0722, 0.9505);
  869. vec3 xyz = RGB2XYZ * rgb;
  870. vec3 Yxy;
  871. Yxy.r = xyz.g;
  872. float temp = dot(vec3(1.0), xyz);
  873. Yxy.gb = xyz.rg / temp;
  874. return Yxy;
  875. }
  876. `;var RR=`vec3 czm_XYZToRGB(vec3 Yxy)
  877. {
  878. const mat3 XYZ2RGB = mat3( 3.2405, -0.9693, 0.0556,
  879. -1.5371, 1.8760, -0.2040,
  880. -0.4985, 0.0416, 1.0572);
  881. vec3 xyz;
  882. xyz.r = Yxy.r * Yxy.g / Yxy.b;
  883. xyz.g = Yxy.r;
  884. xyz.b = Yxy.r * (1.0 - Yxy.g - Yxy.b) / Yxy.b;
  885. return XYZ2RGB * xyz;
  886. }
  887. `;var MR=`vec3 czm_acesTonemapping(vec3 color) {
  888. float g = 0.985;
  889. float a = 0.065;
  890. float b = 0.0001;
  891. float c = 0.433;
  892. float d = 0.238;
  893. color = (color * (color + a) - b) / (color * (g * color + c) + d);
  894. color = clamp(color, 0.0, 1.0);
  895. return color;
  896. }
  897. `;var BR=`float czm_alphaWeight(float a)
  898. {
  899. float z = (gl_FragCoord.z - czm_viewportTransformation[3][2]) / czm_viewportTransformation[2][2];
  900. return pow(a + 0.01, 4.0) + max(1e-2, min(3.0 * 1e3, 0.003 / (1e-5 + pow(abs(z) / 200.0, 4.0))));
  901. }
  902. `;var LR=`vec4 czm_antialias(vec4 color1, vec4 color2, vec4 currentColor, float dist, float fuzzFactor)
  903. {
  904. float val1 = clamp(dist / fuzzFactor, 0.0, 1.0);
  905. float val2 = clamp((dist - 0.5) / fuzzFactor, 0.0, 1.0);
  906. val1 = val1 * (1.0 - val2);
  907. val1 = val1 * val1 * (3.0 - (2.0 * val1));
  908. val1 = pow(val1, 0.5);
  909. vec4 midColor = (color1 + color2) * 0.5;
  910. return mix(midColor, currentColor, val1);
  911. }
  912. vec4 czm_antialias(vec4 color1, vec4 color2, vec4 currentColor, float dist)
  913. {
  914. return czm_antialias(color1, color2, currentColor, dist, 0.1);
  915. }
  916. `;var NR=`vec2 czm_approximateSphericalCoordinates(vec3 normal) {
  917. float latitudeApproximation = czm_fastApproximateAtan(sqrt(normal.x * normal.x + normal.y * normal.y), normal.z);
  918. float longitudeApproximation = czm_fastApproximateAtan(normal.x, normal.y);
  919. return vec2(latitudeApproximation, longitudeApproximation);
  920. }
  921. `;var FR=`bool czm_backFacing()
  922. {
  923. return gl_FrontFacing == false;
  924. }
  925. `;var VR=`float czm_branchFreeTernary(bool comparison, float a, float b) {
  926. float useA = float(comparison);
  927. return a * useA + b * (1.0 - useA);
  928. }
  929. vec2 czm_branchFreeTernary(bool comparison, vec2 a, vec2 b) {
  930. float useA = float(comparison);
  931. return a * useA + b * (1.0 - useA);
  932. }
  933. vec3 czm_branchFreeTernary(bool comparison, vec3 a, vec3 b) {
  934. float useA = float(comparison);
  935. return a * useA + b * (1.0 - useA);
  936. }
  937. vec4 czm_branchFreeTernary(bool comparison, vec4 a, vec4 b) {
  938. float useA = float(comparison);
  939. return a * useA + b * (1.0 - useA);
  940. }
  941. `;var kR=`vec4 czm_cascadeColor(vec4 weights)
  942. {
  943. return vec4(1.0, 0.0, 0.0, 1.0) * weights.x +
  944. vec4(0.0, 1.0, 0.0, 1.0) * weights.y +
  945. vec4(0.0, 0.0, 1.0, 1.0) * weights.z +
  946. vec4(1.0, 0.0, 1.0, 1.0) * weights.w;
  947. }
  948. `;var UR=`uniform vec4 shadowMap_cascadeDistances;
  949. float czm_cascadeDistance(vec4 weights)
  950. {
  951. return dot(shadowMap_cascadeDistances, weights);
  952. }
  953. `;var zR=`uniform mat4 shadowMap_cascadeMatrices[4];
  954. mat4 czm_cascadeMatrix(vec4 weights)
  955. {
  956. return shadowMap_cascadeMatrices[0] * weights.x +
  957. shadowMap_cascadeMatrices[1] * weights.y +
  958. shadowMap_cascadeMatrices[2] * weights.z +
  959. shadowMap_cascadeMatrices[3] * weights.w;
  960. }
  961. `;var HR=`uniform vec4 shadowMap_cascadeSplits[2];
  962. vec4 czm_cascadeWeights(float depthEye)
  963. {
  964. vec4 near = step(shadowMap_cascadeSplits[0], vec4(depthEye));
  965. vec4 far = step(depthEye, shadowMap_cascadeSplits[1]);
  966. return near * far;
  967. }
  968. `;var GR=`vec4 czm_columbusViewMorph(vec4 position2D, vec4 position3D, float time)
  969. {
  970. vec3 p = mix(position2D.xyz, position3D.xyz, time);
  971. return vec4(p, 1.0);
  972. }
  973. `;var WR=`vec4 czm_computePosition();
  974. `;var jR=`vec2 cordic(float angle)
  975. {
  976. vec2 vector = vec2(6.0725293500888267e-1, 0.0);
  977. float sense = (angle < 0.0) ? -1.0 : 1.0;
  978. mat2 rotation = mat2(1.0, sense, -sense, 1.0);
  979. vector = rotation * vector;
  980. angle -= sense * 7.8539816339744828e-1;
  981. sense = (angle < 0.0) ? -1.0 : 1.0;
  982. float factor = sense * 5.0e-1;
  983. rotation[0][1] = factor;
  984. rotation[1][0] = -factor;
  985. vector = rotation * vector;
  986. angle -= sense * 4.6364760900080609e-1;
  987. sense = (angle < 0.0) ? -1.0 : 1.0;
  988. factor = sense * 2.5e-1;
  989. rotation[0][1] = factor;
  990. rotation[1][0] = -factor;
  991. vector = rotation * vector;
  992. angle -= sense * 2.4497866312686414e-1;
  993. sense = (angle < 0.0) ? -1.0 : 1.0;
  994. factor = sense * 1.25e-1;
  995. rotation[0][1] = factor;
  996. rotation[1][0] = -factor;
  997. vector = rotation * vector;
  998. angle -= sense * 1.2435499454676144e-1;
  999. sense = (angle < 0.0) ? -1.0 : 1.0;
  1000. factor = sense * 6.25e-2;
  1001. rotation[0][1] = factor;
  1002. rotation[1][0] = -factor;
  1003. vector = rotation * vector;
  1004. angle -= sense * 6.2418809995957350e-2;
  1005. sense = (angle < 0.0) ? -1.0 : 1.0;
  1006. factor = sense * 3.125e-2;
  1007. rotation[0][1] = factor;
  1008. rotation[1][0] = -factor;
  1009. vector = rotation * vector;
  1010. angle -= sense * 3.1239833430268277e-2;
  1011. sense = (angle < 0.0) ? -1.0 : 1.0;
  1012. factor = sense * 1.5625e-2;
  1013. rotation[0][1] = factor;
  1014. rotation[1][0] = -factor;
  1015. vector = rotation * vector;
  1016. angle -= sense * 1.5623728620476831e-2;
  1017. sense = (angle < 0.0) ? -1.0 : 1.0;
  1018. factor = sense * 7.8125e-3;
  1019. rotation[0][1] = factor;
  1020. rotation[1][0] = -factor;
  1021. vector = rotation * vector;
  1022. angle -= sense * 7.8123410601011111e-3;
  1023. sense = (angle < 0.0) ? -1.0 : 1.0;
  1024. factor = sense * 3.90625e-3;
  1025. rotation[0][1] = factor;
  1026. rotation[1][0] = -factor;
  1027. vector = rotation * vector;
  1028. angle -= sense * 3.9062301319669718e-3;
  1029. sense = (angle < 0.0) ? -1.0 : 1.0;
  1030. factor = sense * 1.953125e-3;
  1031. rotation[0][1] = factor;
  1032. rotation[1][0] = -factor;
  1033. vector = rotation * vector;
  1034. angle -= sense * 1.9531225164788188e-3;
  1035. sense = (angle < 0.0) ? -1.0 : 1.0;
  1036. factor = sense * 9.765625e-4;
  1037. rotation[0][1] = factor;
  1038. rotation[1][0] = -factor;
  1039. vector = rotation * vector;
  1040. angle -= sense * 9.7656218955931946e-4;
  1041. sense = (angle < 0.0) ? -1.0 : 1.0;
  1042. factor = sense * 4.8828125e-4;
  1043. rotation[0][1] = factor;
  1044. rotation[1][0] = -factor;
  1045. vector = rotation * vector;
  1046. angle -= sense * 4.8828121119489829e-4;
  1047. sense = (angle < 0.0) ? -1.0 : 1.0;
  1048. factor = sense * 2.44140625e-4;
  1049. rotation[0][1] = factor;
  1050. rotation[1][0] = -factor;
  1051. vector = rotation * vector;
  1052. angle -= sense * 2.4414062014936177e-4;
  1053. sense = (angle < 0.0) ? -1.0 : 1.0;
  1054. factor = sense * 1.220703125e-4;
  1055. rotation[0][1] = factor;
  1056. rotation[1][0] = -factor;
  1057. vector = rotation * vector;
  1058. angle -= sense * 1.2207031189367021e-4;
  1059. sense = (angle < 0.0) ? -1.0 : 1.0;
  1060. factor = sense * 6.103515625e-5;
  1061. rotation[0][1] = factor;
  1062. rotation[1][0] = -factor;
  1063. vector = rotation * vector;
  1064. angle -= sense * 6.1035156174208773e-5;
  1065. sense = (angle < 0.0) ? -1.0 : 1.0;
  1066. factor = sense * 3.0517578125e-5;
  1067. rotation[0][1] = factor;
  1068. rotation[1][0] = -factor;
  1069. vector = rotation * vector;
  1070. angle -= sense * 3.0517578115526096e-5;
  1071. sense = (angle < 0.0) ? -1.0 : 1.0;
  1072. factor = sense * 1.52587890625e-5;
  1073. rotation[0][1] = factor;
  1074. rotation[1][0] = -factor;
  1075. vector = rotation * vector;
  1076. angle -= sense * 1.5258789061315762e-5;
  1077. sense = (angle < 0.0) ? -1.0 : 1.0;
  1078. factor = sense * 7.62939453125e-6;
  1079. rotation[0][1] = factor;
  1080. rotation[1][0] = -factor;
  1081. vector = rotation * vector;
  1082. angle -= sense * 7.6293945311019700e-6;
  1083. sense = (angle < 0.0) ? -1.0 : 1.0;
  1084. factor = sense * 3.814697265625e-6;
  1085. rotation[0][1] = factor;
  1086. rotation[1][0] = -factor;
  1087. vector = rotation * vector;
  1088. angle -= sense * 3.8146972656064961e-6;
  1089. sense = (angle < 0.0) ? -1.0 : 1.0;
  1090. factor = sense * 1.9073486328125e-6;
  1091. rotation[0][1] = factor;
  1092. rotation[1][0] = -factor;
  1093. vector = rotation * vector;
  1094. angle -= sense * 1.9073486328101870e-6;
  1095. sense = (angle < 0.0) ? -1.0 : 1.0;
  1096. factor = sense * 9.5367431640625e-7;
  1097. rotation[0][1] = factor;
  1098. rotation[1][0] = -factor;
  1099. vector = rotation * vector;
  1100. angle -= sense * 9.5367431640596084e-7;
  1101. sense = (angle < 0.0) ? -1.0 : 1.0;
  1102. factor = sense * 4.76837158203125e-7;
  1103. rotation[0][1] = factor;
  1104. rotation[1][0] = -factor;
  1105. vector = rotation * vector;
  1106. angle -= sense * 4.7683715820308884e-7;
  1107. sense = (angle < 0.0) ? -1.0 : 1.0;
  1108. factor = sense * 2.384185791015625e-7;
  1109. rotation[0][1] = factor;
  1110. rotation[1][0] = -factor;
  1111. vector = rotation * vector;
  1112. angle -= sense * 2.3841857910155797e-7;
  1113. sense = (angle < 0.0) ? -1.0 : 1.0;
  1114. factor = sense * 1.1920928955078125e-7;
  1115. rotation[0][1] = factor;
  1116. rotation[1][0] = -factor;
  1117. vector = rotation * vector;
  1118. return vector;
  1119. }
  1120. vec2 czm_cosineAndSine(float angle)
  1121. {
  1122. if (angle < -czm_piOverTwo || angle > czm_piOverTwo)
  1123. {
  1124. if (angle < 0.0)
  1125. {
  1126. return -cordic(angle + czm_pi);
  1127. }
  1128. else
  1129. {
  1130. return -cordic(angle - czm_pi);
  1131. }
  1132. }
  1133. else
  1134. {
  1135. return cordic(angle);
  1136. }
  1137. }
  1138. `;var qR=`vec2 czm_decompressTextureCoordinates(float encoded)
  1139. {
  1140. float temp = encoded / 4096.0;
  1141. float xZeroTo4095 = floor(temp);
  1142. float stx = xZeroTo4095 / 4095.0;
  1143. float sty = (encoded - xZeroTo4095 * 4096.0) / 4095.0;
  1144. return vec2(stx, sty);
  1145. }
  1146. `;var YR=`czm_pbrParameters czm_defaultPbrMaterial()
  1147. {
  1148. czm_pbrParameters results;
  1149. results.diffuseColor = vec3(1.0);
  1150. results.roughness = 1.0;
  1151. const vec3 REFLECTANCE_DIELECTRIC = vec3(0.04);
  1152. results.f0 = REFLECTANCE_DIELECTRIC;
  1153. return results;
  1154. }
  1155. `;var XR=`#if defined(GL_EXT_frag_depth) && !defined(LOG_DEPTH)
  1156. varying float v_WindowZ;
  1157. #endif
  1158. vec4 czm_depthClamp(vec4 coords)
  1159. {
  1160. #ifndef LOG_DEPTH
  1161. #ifdef GL_EXT_frag_depth
  1162. v_WindowZ = (0.5 * (coords.z / coords.w) + 0.5) * coords.w;
  1163. coords.z = 0.0;
  1164. #else
  1165. coords.z = min(coords.z, coords.w);
  1166. #endif
  1167. #endif
  1168. return coords;
  1169. }
  1170. `;var KR=`mat3 czm_eastNorthUpToEyeCoordinates(vec3 positionMC, vec3 normalEC)
  1171. {
  1172. vec3 tangentMC = normalize(vec3(-positionMC.y, positionMC.x, 0.0));
  1173. vec3 tangentEC = normalize(czm_normal3D * tangentMC);
  1174. vec3 bitangentEC = normalize(cross(normalEC, tangentEC));
  1175. return mat3(
  1176. tangentEC.x, tangentEC.y, tangentEC.z,
  1177. bitangentEC.x, bitangentEC.y, bitangentEC.z,
  1178. normalEC.x, normalEC.y, normalEC.z);
  1179. }
  1180. `;var ZR=`bool czm_ellipsoidContainsPoint(vec3 ellipsoid_inverseRadii, vec3 point)
  1181. {
  1182. vec3 scaled = ellipsoid_inverseRadii * (czm_inverseModelView * vec4(point, 1.0)).xyz;
  1183. return (dot(scaled, scaled) <= 1.0);
  1184. }
  1185. `;var $R=`vec2 czm_ellipsoidWgs84TextureCoordinates(vec3 normal)
  1186. {
  1187. return vec2(atan(normal.y, normal.x) * czm_oneOverTwoPi + 0.5, asin(normal.z) * czm_oneOverPi + 0.5);
  1188. }
  1189. `;var JR=`bool czm_equalsEpsilon(vec4 left, vec4 right, float epsilon) {
  1190. return all(lessThanEqual(abs(left - right), vec4(epsilon)));
  1191. }
  1192. bool czm_equalsEpsilon(vec3 left, vec3 right, float epsilon) {
  1193. return all(lessThanEqual(abs(left - right), vec3(epsilon)));
  1194. }
  1195. bool czm_equalsEpsilon(vec2 left, vec2 right, float epsilon) {
  1196. return all(lessThanEqual(abs(left - right), vec2(epsilon)));
  1197. }
  1198. bool czm_equalsEpsilon(float left, float right, float epsilon) {
  1199. return (abs(left - right) <= epsilon);
  1200. }
  1201. `;var QR=`vec4 czm_eyeOffset(vec4 positionEC, vec3 eyeOffset)
  1202. {
  1203. vec4 p = positionEC;
  1204. vec4 zEyeOffset = normalize(p) * eyeOffset.z;
  1205. p.xy += eyeOffset.xy + zEyeOffset.xy;
  1206. p.z += zEyeOffset.z;
  1207. return p;
  1208. }
  1209. `;var eM=`vec4 czm_eyeToWindowCoordinates(vec4 positionEC)
  1210. {
  1211. vec4 q = czm_projection * positionEC;
  1212. q.xyz /= q.w;
  1213. q.xyz = (czm_viewportTransformation * vec4(q.xyz, 1.0)).xyz;
  1214. return q;
  1215. }
  1216. `;var tM=`float czm_fastApproximateAtan(float x) {
  1217. return x * (-0.1784 * x - 0.0663 * x * x + 1.0301);
  1218. }
  1219. float czm_fastApproximateAtan(float x, float y) {
  1220. float t = abs(x);
  1221. float opposite = abs(y);
  1222. float adjacent = max(t, opposite);
  1223. opposite = min(t, opposite);
  1224. t = czm_fastApproximateAtan(opposite / adjacent);
  1225. t = czm_branchFreeTernary(abs(y) > abs(x), czm_piOverTwo - t, t);
  1226. t = czm_branchFreeTernary(x < 0.0, czm_pi - t, t);
  1227. t = czm_branchFreeTernary(y < 0.0, -t, t);
  1228. return t;
  1229. }
  1230. `;var nM=`vec3 czm_fog(float distanceToCamera, vec3 color, vec3 fogColor)
  1231. {
  1232. float scalar = distanceToCamera * czm_fogDensity;
  1233. float fog = 1.0 - exp(-(scalar * scalar));
  1234. return mix(color, fogColor, fog);
  1235. }
  1236. vec3 czm_fog(float distanceToCamera, vec3 color, vec3 fogColor, float fogModifierConstant)
  1237. {
  1238. float scalar = distanceToCamera * czm_fogDensity;
  1239. float fog = 1.0 - exp(-((fogModifierConstant * scalar + fogModifierConstant) * (scalar * (1.0 + fogModifierConstant))));
  1240. return mix(color, fogColor, fog);
  1241. }
  1242. `;var iM=`vec3 czm_gammaCorrect(vec3 color) {
  1243. #ifdef HDR
  1244. color = pow(color, vec3(czm_gamma));
  1245. #endif
  1246. return color;
  1247. }
  1248. vec4 czm_gammaCorrect(vec4 color) {
  1249. #ifdef HDR
  1250. color.rgb = pow(color.rgb, vec3(czm_gamma));
  1251. #endif
  1252. return color;
  1253. }
  1254. `;var oM=`vec3 czm_geodeticSurfaceNormal(vec3 positionOnEllipsoid, vec3 ellipsoidCenter, vec3 oneOverEllipsoidRadiiSquared)
  1255. {
  1256. return normalize((positionOnEllipsoid - ellipsoidCenter) * oneOverEllipsoidRadiiSquared);
  1257. }
  1258. `;var rM=`czm_material czm_getDefaultMaterial(czm_materialInput materialInput)
  1259. {
  1260. czm_material material;
  1261. material.diffuse = vec3(0.0);
  1262. material.specular = 0.0;
  1263. material.shininess = 1.0;
  1264. material.normal = materialInput.normalEC;
  1265. material.emission = vec3(0.0);
  1266. material.alpha = 1.0;
  1267. return material;
  1268. }
  1269. `;var sM=`float czm_getLambertDiffuse(vec3 lightDirectionEC, vec3 normalEC)
  1270. {
  1271. return max(dot(lightDirectionEC, normalEC), 0.0);
  1272. }
  1273. `;var aM=`float czm_getSpecular(vec3 lightDirectionEC, vec3 toEyeEC, vec3 normalEC, float shininess)
  1274. {
  1275. vec3 toReflectedLight = reflect(-lightDirectionEC, normalEC);
  1276. float specular = max(dot(toReflectedLight, toEyeEC), 0.0);
  1277. return pow(specular, max(shininess, czm_epsilon2));
  1278. }
  1279. `;var cM=`vec4 czm_getWaterNoise(sampler2D normalMap, vec2 uv, float time, float angleInRadians)
  1280. {
  1281. float cosAngle = cos(angleInRadians);
  1282. float sinAngle = sin(angleInRadians);
  1283. vec2 s0 = vec2(1.0/17.0, 0.0);
  1284. vec2 s1 = vec2(-1.0/29.0, 0.0);
  1285. vec2 s2 = vec2(1.0/101.0, 1.0/59.0);
  1286. vec2 s3 = vec2(-1.0/109.0, -1.0/57.0);
  1287. s0 = vec2((cosAngle * s0.x) - (sinAngle * s0.y), (sinAngle * s0.x) + (cosAngle * s0.y));
  1288. s1 = vec2((cosAngle * s1.x) - (sinAngle * s1.y), (sinAngle * s1.x) + (cosAngle * s1.y));
  1289. s2 = vec2((cosAngle * s2.x) - (sinAngle * s2.y), (sinAngle * s2.x) + (cosAngle * s2.y));
  1290. s3 = vec2((cosAngle * s3.x) - (sinAngle * s3.y), (sinAngle * s3.x) + (cosAngle * s3.y));
  1291. vec2 uv0 = (uv/103.0) + (time * s0);
  1292. vec2 uv1 = uv/107.0 + (time * s1) + vec2(0.23);
  1293. vec2 uv2 = uv/vec2(897.0, 983.0) + (time * s2) + vec2(0.51);
  1294. vec2 uv3 = uv/vec2(991.0, 877.0) + (time * s3) + vec2(0.71);
  1295. uv0 = fract(uv0);
  1296. uv1 = fract(uv1);
  1297. uv2 = fract(uv2);
  1298. uv3 = fract(uv3);
  1299. vec4 noise = (texture2D(normalMap, uv0)) +
  1300. (texture2D(normalMap, uv1)) +
  1301. (texture2D(normalMap, uv2)) +
  1302. (texture2D(normalMap, uv3));
  1303. return ((noise / 4.0) - 0.5) * 2.0;
  1304. }
  1305. `;var lM=`vec3 czm_hue(vec3 rgb, float adjustment)
  1306. {
  1307. const mat3 toYIQ = mat3(0.299, 0.587, 0.114,
  1308. 0.595716, -0.274453, -0.321263,
  1309. 0.211456, -0.522591, 0.311135);
  1310. const mat3 toRGB = mat3(1.0, 0.9563, 0.6210,
  1311. 1.0, -0.2721, -0.6474,
  1312. 1.0, -1.107, 1.7046);
  1313. vec3 yiq = toYIQ * rgb;
  1314. float hue = atan(yiq.z, yiq.y) + adjustment;
  1315. float chroma = sqrt(yiq.z * yiq.z + yiq.y * yiq.y);
  1316. vec3 color = vec3(yiq.x, chroma * cos(hue), chroma * sin(hue));
  1317. return toRGB * color;
  1318. }
  1319. `;var uM=`vec3 czm_inverseGamma(vec3 color) {
  1320. return pow(color, vec3(1.0 / czm_gamma));
  1321. }
  1322. `;var fM=`bool czm_isEmpty(czm_raySegment interval)
  1323. {
  1324. return (interval.stop < 0.0);
  1325. }
  1326. `;var dM=`bool czm_isFull(czm_raySegment interval)
  1327. {
  1328. return (interval.start == 0.0 && interval.stop == czm_infinity);
  1329. }
  1330. `;var hM=`float czm_latitudeToWebMercatorFraction(float latitude, float southMercatorY, float oneOverMercatorHeight)
  1331. {
  1332. float sinLatitude = sin(latitude);
  1333. float mercatorY = 0.5 * log((1.0 + sinLatitude) / (1.0 - sinLatitude));
  1334. return (mercatorY - southMercatorY) * oneOverMercatorHeight;
  1335. }
  1336. `;var mM=`float czm_lineDistance(vec2 point1, vec2 point2, vec2 point) {
  1337. return abs((point2.y - point1.y) * point.x - (point2.x - point1.x) * point.y + point2.x * point1.y - point2.y * point1.x) / distance(point2, point1);
  1338. }
  1339. `;var pM=`vec3 czm_linearToSrgb(vec3 linearIn)
  1340. {
  1341. return pow(linearIn, vec3(1.0/2.2));
  1342. }
  1343. vec4 czm_linearToSrgb(vec4 linearIn)
  1344. {
  1345. vec3 srgbOut = pow(linearIn.rgb, vec3(1.0/2.2));
  1346. return vec4(srgbOut, linearIn.a);
  1347. }
  1348. `;var _M=`float czm_luminance(vec3 rgb)
  1349. {
  1350. const vec3 W = vec3(0.2125, 0.7154, 0.0721);
  1351. return dot(rgb, W);
  1352. }
  1353. `;var gM=`float czm_metersPerPixel(vec4 positionEC, float pixelRatio)
  1354. {
  1355. float width = czm_viewport.z;
  1356. float height = czm_viewport.w;
  1357. float pixelWidth;
  1358. float pixelHeight;
  1359. float top = czm_frustumPlanes.x;
  1360. float bottom = czm_frustumPlanes.y;
  1361. float left = czm_frustumPlanes.z;
  1362. float right = czm_frustumPlanes.w;
  1363. if (czm_sceneMode == czm_sceneMode2D || czm_orthographicIn3D == 1.0)
  1364. {
  1365. float frustumWidth = right - left;
  1366. float frustumHeight = top - bottom;
  1367. pixelWidth = frustumWidth / width;
  1368. pixelHeight = frustumHeight / height;
  1369. }
  1370. else
  1371. {
  1372. float distanceToPixel = -positionEC.z;
  1373. float inverseNear = 1.0 / czm_currentFrustum.x;
  1374. float tanTheta = top * inverseNear;
  1375. pixelHeight = 2.0 * distanceToPixel * tanTheta / height;
  1376. tanTheta = right * inverseNear;
  1377. pixelWidth = 2.0 * distanceToPixel * tanTheta / width;
  1378. }
  1379. return max(pixelWidth, pixelHeight) * pixelRatio;
  1380. }
  1381. float czm_metersPerPixel(vec4 positionEC)
  1382. {
  1383. return czm_metersPerPixel(positionEC, czm_pixelRatio);
  1384. }
  1385. `;var yM=`vec4 czm_modelToWindowCoordinates(vec4 position)
  1386. {
  1387. vec4 q = czm_modelViewProjection * position;
  1388. q.xyz /= q.w;
  1389. q.xyz = (czm_viewportTransformation * vec4(q.xyz, 1.0)).xyz;
  1390. return q;
  1391. }
  1392. `;var CM=`vec3 czm_multiplyWithColorBalance(vec3 left, vec3 right)
  1393. {
  1394. const vec3 W = vec3(0.2125, 0.7154, 0.0721);
  1395. vec3 target = left * right;
  1396. float leftLuminance = dot(left, W);
  1397. float rightLuminance = dot(right, W);
  1398. float targetLuminance = dot(target, W);
  1399. return ((leftLuminance + rightLuminance) / (2.0 * targetLuminance)) * target;
  1400. }
  1401. `;var xM=`float czm_nearFarScalar(vec4 nearFarScalar, float cameraDistSq)
  1402. {
  1403. float valueAtMin = nearFarScalar.y;
  1404. float valueAtMax = nearFarScalar.w;
  1405. float nearDistanceSq = nearFarScalar.x * nearFarScalar.x;
  1406. float farDistanceSq = nearFarScalar.z * nearFarScalar.z;
  1407. float t = (cameraDistSq - nearDistanceSq) / (farDistanceSq - nearDistanceSq);
  1408. t = pow(clamp(t, 0.0, 1.0), 0.2);
  1409. return mix(valueAtMin, valueAtMax, t);
  1410. }
  1411. `;var AM=`vec3 czm_octDecode(vec2 encoded, float range)
  1412. {
  1413. if (encoded.x == 0.0 && encoded.y == 0.0) {
  1414. return vec3(0.0, 0.0, 0.0);
  1415. }
  1416. encoded = encoded / range * 2.0 - 1.0;
  1417. vec3 v = vec3(encoded.x, encoded.y, 1.0 - abs(encoded.x) - abs(encoded.y));
  1418. if (v.z < 0.0)
  1419. {
  1420. v.xy = (1.0 - abs(v.yx)) * czm_signNotZero(v.xy);
  1421. }
  1422. return normalize(v);
  1423. }
  1424. vec3 czm_octDecode(vec2 encoded)
  1425. {
  1426. return czm_octDecode(encoded, 255.0);
  1427. }
  1428. vec3 czm_octDecode(float encoded)
  1429. {
  1430. float temp = encoded / 256.0;
  1431. float x = floor(temp);
  1432. float y = (temp - x) * 256.0;
  1433. return czm_octDecode(vec2(x, y));
  1434. }
  1435. void czm_octDecode(vec2 encoded, out vec3 vector1, out vec3 vector2, out vec3 vector3)
  1436. {
  1437. float temp = encoded.x / 65536.0;
  1438. float x = floor(temp);
  1439. float encodedFloat1 = (temp - x) * 65536.0;
  1440. temp = encoded.y / 65536.0;
  1441. float y = floor(temp);
  1442. float encodedFloat2 = (temp - y) * 65536.0;
  1443. vector1 = czm_octDecode(encodedFloat1);
  1444. vector2 = czm_octDecode(encodedFloat2);
  1445. vector3 = czm_octDecode(vec2(x, y));
  1446. }
  1447. `;var TM=`vec4 czm_packDepth(float depth)
  1448. {
  1449. vec4 enc = vec4(1.0, 255.0, 65025.0, 16581375.0) * depth;
  1450. enc = fract(enc);
  1451. enc -= enc.yzww * vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);
  1452. return enc;
  1453. }
  1454. `;var EM=`vec3 lambertianDiffuse(vec3 diffuseColor)
  1455. {
  1456. return diffuseColor / czm_pi;
  1457. }
  1458. vec3 fresnelSchlick2(vec3 f0, vec3 f90, float VdotH)
  1459. {
  1460. return f0 + (f90 - f0) * pow(clamp(1.0 - VdotH, 0.0, 1.0), 5.0);
  1461. }
  1462. float smithVisibilityG1(float NdotV, float roughness)
  1463. {
  1464. float k = (roughness + 1.0) * (roughness + 1.0) / 8.0;
  1465. return NdotV / (NdotV * (1.0 - k) + k);
  1466. }
  1467. float smithVisibilityGGX(float roughness, float NdotL, float NdotV)
  1468. {
  1469. return (
  1470. smithVisibilityG1(NdotL, roughness) *
  1471. smithVisibilityG1(NdotV, roughness)
  1472. );
  1473. }
  1474. float GGX(float roughness, float NdotH)
  1475. {
  1476. float roughnessSquared = roughness * roughness;
  1477. float f = (NdotH * roughnessSquared - NdotH) * NdotH + 1.0;
  1478. return roughnessSquared / (czm_pi * f * f);
  1479. }
  1480. vec3 czm_pbrLighting(
  1481. vec3 positionEC,
  1482. vec3 normalEC,
  1483. vec3 lightDirectionEC,
  1484. vec3 lightColorHdr,
  1485. czm_pbrParameters pbrParameters
  1486. )
  1487. {
  1488. vec3 v = -normalize(positionEC);
  1489. vec3 l = normalize(lightDirectionEC);
  1490. vec3 h = normalize(v + l);
  1491. vec3 n = normalEC;
  1492. float NdotL = clamp(dot(n, l), 0.001, 1.0);
  1493. float NdotV = abs(dot(n, v)) + 0.001;
  1494. float NdotH = clamp(dot(n, h), 0.0, 1.0);
  1495. float LdotH = clamp(dot(l, h), 0.0, 1.0);
  1496. float VdotH = clamp(dot(v, h), 0.0, 1.0);
  1497. vec3 f0 = pbrParameters.f0;
  1498. float reflectance = max(max(f0.r, f0.g), f0.b);
  1499. vec3 f90 = vec3(clamp(reflectance * 25.0, 0.0, 1.0));
  1500. vec3 F = fresnelSchlick2(f0, f90, VdotH);
  1501. float alpha = pbrParameters.roughness;
  1502. float G = smithVisibilityGGX(alpha, NdotL, NdotV);
  1503. float D = GGX(alpha, NdotH);
  1504. vec3 specularContribution = F * G * D / (4.0 * NdotL * NdotV);
  1505. vec3 diffuseColor = pbrParameters.diffuseColor;
  1506. vec3 diffuseContribution = (1.0 - F) * lambertianDiffuse(diffuseColor);
  1507. return (diffuseContribution + specularContribution) * NdotL * lightColorHdr;
  1508. }
  1509. `;var bM=`czm_pbrParameters czm_pbrMetallicRoughnessMaterial(
  1510. vec3 baseColor,
  1511. float metallic,
  1512. float roughness
  1513. )
  1514. {
  1515. czm_pbrParameters results;
  1516. roughness = clamp(roughness, 0.0, 1.0);
  1517. results.roughness = roughness * roughness;
  1518. metallic = clamp(metallic, 0.0, 1.0);
  1519. const vec3 REFLECTANCE_DIELECTRIC = vec3(0.04);
  1520. vec3 f0 = mix(REFLECTANCE_DIELECTRIC, baseColor, metallic);
  1521. results.f0 = f0;
  1522. results.diffuseColor = baseColor * (1.0 - f0) * (1.0 - metallic);
  1523. return results;
  1524. }
  1525. `;var SM=`czm_pbrParameters czm_pbrSpecularGlossinessMaterial(
  1526. vec3 diffuse,
  1527. vec3 specular,
  1528. float glossiness
  1529. )
  1530. {
  1531. czm_pbrParameters results;
  1532. float roughness = 1.0 - glossiness;
  1533. results.roughness = roughness * roughness;
  1534. results.diffuseColor = diffuse * (1.0 - max(max(specular.r, specular.g), specular.b));
  1535. results.f0 = specular;
  1536. return results;
  1537. }
  1538. `;var wM=`float czm_private_getLambertDiffuseOfMaterial(vec3 lightDirectionEC, czm_material material)
  1539. {
  1540. return czm_getLambertDiffuse(lightDirectionEC, material.normal);
  1541. }
  1542. float czm_private_getSpecularOfMaterial(vec3 lightDirectionEC, vec3 toEyeEC, czm_material material)
  1543. {
  1544. return czm_getSpecular(lightDirectionEC, toEyeEC, material.normal, material.shininess);
  1545. }
  1546. vec4 czm_phong(vec3 toEye, czm_material material, vec3 lightDirectionEC)
  1547. {
  1548. float diffuse = czm_private_getLambertDiffuseOfMaterial(vec3(0.0, 0.0, 1.0), material);
  1549. if (czm_sceneMode == czm_sceneMode3D) {
  1550. diffuse += czm_private_getLambertDiffuseOfMaterial(vec3(0.0, 1.0, 0.0), material);
  1551. }
  1552. float specular = czm_private_getSpecularOfMaterial(lightDirectionEC, toEye, material);
  1553. vec3 materialDiffuse = material.diffuse * 0.5;
  1554. vec3 ambient = materialDiffuse;
  1555. vec3 color = ambient + material.emission;
  1556. color += materialDiffuse * diffuse * czm_lightColor;
  1557. color += material.specular * specular * czm_lightColor;
  1558. return vec4(color, material.alpha);
  1559. }
  1560. vec4 czm_private_phong(vec3 toEye, czm_material material, vec3 lightDirectionEC)
  1561. {
  1562. float diffuse = czm_private_getLambertDiffuseOfMaterial(lightDirectionEC, material);
  1563. float specular = czm_private_getSpecularOfMaterial(lightDirectionEC, toEye, material);
  1564. vec3 ambient = vec3(0.0);
  1565. vec3 color = ambient + material.emission;
  1566. color += material.diffuse * diffuse * czm_lightColor;
  1567. color += material.specular * specular * czm_lightColor;
  1568. return vec4(color, material.alpha);
  1569. }
  1570. `;var vM=`float czm_planeDistance(vec4 plane, vec3 point) {
  1571. return (dot(plane.xyz, point) + plane.w);
  1572. }
  1573. float czm_planeDistance(vec3 planeNormal, float planeDistance, vec3 point) {
  1574. return (dot(planeNormal, point) + planeDistance);
  1575. }
  1576. `;var DM=`vec3 czm_pointAlongRay(czm_ray ray, float time)
  1577. {
  1578. return ray.origin + (time * ray.direction);
  1579. }
  1580. `;var PM=`czm_raySegment czm_rayEllipsoidIntersectionInterval(czm_ray ray, vec3 ellipsoid_center, vec3 ellipsoid_inverseRadii)
  1581. {
  1582. vec3 q = ellipsoid_inverseRadii * (czm_inverseModelView * vec4(ray.origin, 1.0)).xyz;
  1583. vec3 w = ellipsoid_inverseRadii * (czm_inverseModelView * vec4(ray.direction, 0.0)).xyz;
  1584. q = q - ellipsoid_inverseRadii * (czm_inverseModelView * vec4(ellipsoid_center, 1.0)).xyz;
  1585. float q2 = dot(q, q);
  1586. float qw = dot(q, w);
  1587. if (q2 > 1.0)
  1588. {
  1589. if (qw >= 0.0)
  1590. {
  1591. return czm_emptyRaySegment;
  1592. }
  1593. else
  1594. {
  1595. float qw2 = qw * qw;
  1596. float difference = q2 - 1.0;
  1597. float w2 = dot(w, w);
  1598. float product = w2 * difference;
  1599. if (qw2 < product)
  1600. {
  1601. return czm_emptyRaySegment;
  1602. }
  1603. else if (qw2 > product)
  1604. {
  1605. float discriminant = qw * qw - product;
  1606. float temp = -qw + sqrt(discriminant);
  1607. float root0 = temp / w2;
  1608. float root1 = difference / temp;
  1609. if (root0 < root1)
  1610. {
  1611. czm_raySegment i = czm_raySegment(root0, root1);
  1612. return i;
  1613. }
  1614. else
  1615. {
  1616. czm_raySegment i = czm_raySegment(root1, root0);
  1617. return i;
  1618. }
  1619. }
  1620. else
  1621. {
  1622. float root = sqrt(difference / w2);
  1623. czm_raySegment i = czm_raySegment(root, root);
  1624. return i;
  1625. }
  1626. }
  1627. }
  1628. else if (q2 < 1.0)
  1629. {
  1630. float difference = q2 - 1.0;
  1631. float w2 = dot(w, w);
  1632. float product = w2 * difference;
  1633. float discriminant = qw * qw - product;
  1634. float temp = -qw + sqrt(discriminant);
  1635. czm_raySegment i = czm_raySegment(0.0, temp / w2);
  1636. return i;
  1637. }
  1638. else
  1639. {
  1640. if (qw < 0.0)
  1641. {
  1642. float w2 = dot(w, w);
  1643. czm_raySegment i = czm_raySegment(0.0, -qw / w2);
  1644. return i;
  1645. }
  1646. else
  1647. {
  1648. return czm_emptyRaySegment;
  1649. }
  1650. }
  1651. }
  1652. `;var IM=`czm_raySegment czm_raySphereIntersectionInterval(czm_ray ray, vec3 center, float radius)
  1653. {
  1654. vec3 o = ray.origin;
  1655. vec3 d = ray.direction;
  1656. vec3 oc = o - center;
  1657. float a = dot(d, d);
  1658. float b = 2.0 * dot(d, oc);
  1659. float c = dot(oc, oc) - (radius * radius);
  1660. float det = (b * b) - (4.0 * a * c);
  1661. if (det < 0.0) {
  1662. return czm_emptyRaySegment;
  1663. }
  1664. float sqrtDet = sqrt(det);
  1665. float t0 = (-b - sqrtDet) / (2.0 * a);
  1666. float t1 = (-b + sqrtDet) / (2.0 * a);
  1667. czm_raySegment result = czm_raySegment(t0, t1);
  1668. return result;
  1669. }
  1670. `;var OM=`float czm_readDepth(sampler2D depthTexture, vec2 texCoords)
  1671. {
  1672. return czm_reverseLogDepth(texture2D(depthTexture, texCoords).r);
  1673. }
  1674. `;var RM=`float czm_readNonPerspective(float value, float oneOverW) {
  1675. return value * oneOverW;
  1676. }
  1677. vec2 czm_readNonPerspective(vec2 value, float oneOverW) {
  1678. return value * oneOverW;
  1679. }
  1680. vec3 czm_readNonPerspective(vec3 value, float oneOverW) {
  1681. return value * oneOverW;
  1682. }
  1683. vec4 czm_readNonPerspective(vec4 value, float oneOverW) {
  1684. return value * oneOverW;
  1685. }
  1686. `;var MM=`float czm_reverseLogDepth(float logZ)
  1687. {
  1688. #ifdef LOG_DEPTH
  1689. float near = czm_currentFrustum.x;
  1690. float far = czm_currentFrustum.y;
  1691. float log2Depth = logZ * czm_log2FarDepthFromNearPlusOne;
  1692. float depthFromNear = pow(2.0, log2Depth) - 1.0;
  1693. return far * (1.0 - near / (depthFromNear + near)) / (far - near);
  1694. #endif
  1695. return logZ;
  1696. }
  1697. `;var BM=`float czm_round(float value) {
  1698. return floor(value + 0.5);
  1699. }
  1700. vec2 czm_round(vec2 value) {
  1701. return floor(value + 0.5);
  1702. }
  1703. vec3 czm_round(vec3 value) {
  1704. return floor(value + 0.5);
  1705. }
  1706. vec4 czm_round(vec4 value) {
  1707. return floor(value + 0.5);
  1708. }
  1709. `;var LM=`vec3 czm_sampleOctahedralProjectionWithFiltering(sampler2D projectedMap, vec2 textureSize, vec3 direction, float lod)
  1710. {
  1711. direction /= dot(vec3(1.0), abs(direction));
  1712. vec2 rev = abs(direction.zx) - vec2(1.0);
  1713. vec2 neg = vec2(direction.x < 0.0 ? rev.x : -rev.x,
  1714. direction.z < 0.0 ? rev.y : -rev.y);
  1715. vec2 uv = direction.y < 0.0 ? neg : direction.xz;
  1716. vec2 coord = 0.5 * uv + vec2(0.5);
  1717. vec2 pixel = 1.0 / textureSize;
  1718. if (lod > 0.0)
  1719. {
  1720. float scale = 1.0 / pow(2.0, lod);
  1721. float offset = ((textureSize.y + 1.0) / textureSize.x);
  1722. coord.x *= offset;
  1723. coord *= scale;
  1724. coord.x += offset + pixel.x;
  1725. coord.y += (1.0 - (1.0 / pow(2.0, lod - 1.0))) + pixel.y * (lod - 1.0) * 2.0;
  1726. }
  1727. else
  1728. {
  1729. coord.x *= (textureSize.y / textureSize.x);
  1730. }
  1731. #ifndef OES_texture_float_linear
  1732. vec3 color1 = texture2D(projectedMap, coord + vec2(0.0, pixel.y)).rgb;
  1733. vec3 color2 = texture2D(projectedMap, coord + vec2(pixel.x, 0.0)).rgb;
  1734. vec3 color3 = texture2D(projectedMap, coord + pixel).rgb;
  1735. vec3 color4 = texture2D(projectedMap, coord).rgb;
  1736. vec2 texturePosition = coord * textureSize;
  1737. float fu = fract(texturePosition.x);
  1738. float fv = fract(texturePosition.y);
  1739. vec3 average1 = mix(color4, color2, fu);
  1740. vec3 average2 = mix(color1, color3, fu);
  1741. vec3 color = mix(average1, average2, fv);
  1742. #else
  1743. vec3 color = texture2D(projectedMap, coord).rgb;
  1744. #endif
  1745. return color;
  1746. }
  1747. vec3 czm_sampleOctahedralProjection(sampler2D projectedMap, vec2 textureSize, vec3 direction, float lod, float maxLod) {
  1748. float currentLod = floor(lod + 0.5);
  1749. float nextLod = min(currentLod + 1.0, maxLod);
  1750. vec3 colorCurrentLod = czm_sampleOctahedralProjectionWithFiltering(projectedMap, textureSize, direction, currentLod);
  1751. vec3 colorNextLod = czm_sampleOctahedralProjectionWithFiltering(projectedMap, textureSize, direction, nextLod);
  1752. return mix(colorNextLod, colorCurrentLod, nextLod - lod);
  1753. }
  1754. `;var NM=`vec3 czm_saturation(vec3 rgb, float adjustment)
  1755. {
  1756. const vec3 W = vec3(0.2125, 0.7154, 0.0721);
  1757. vec3 intensity = vec3(dot(rgb, W));
  1758. return mix(intensity, rgb, adjustment);
  1759. }
  1760. `;var FM=`float czm_sampleShadowMap(highp samplerCube shadowMap, vec3 d)
  1761. {
  1762. return czm_unpackDepth(textureCube(shadowMap, d));
  1763. }
  1764. float czm_sampleShadowMap(highp sampler2D shadowMap, vec2 uv)
  1765. {
  1766. #ifdef USE_SHADOW_DEPTH_TEXTURE
  1767. return texture2D(shadowMap, uv).r;
  1768. #else
  1769. return czm_unpackDepth(texture2D(shadowMap, uv));
  1770. #endif
  1771. }
  1772. float czm_shadowDepthCompare(samplerCube shadowMap, vec3 uv, float depth)
  1773. {
  1774. return step(depth, czm_sampleShadowMap(shadowMap, uv));
  1775. }
  1776. float czm_shadowDepthCompare(sampler2D shadowMap, vec2 uv, float depth)
  1777. {
  1778. return step(depth, czm_sampleShadowMap(shadowMap, uv));
  1779. }
  1780. `;var VM=`float czm_private_shadowVisibility(float visibility, float nDotL, float normalShadingSmooth, float darkness)
  1781. {
  1782. #ifdef USE_NORMAL_SHADING
  1783. #ifdef USE_NORMAL_SHADING_SMOOTH
  1784. float strength = clamp(nDotL / normalShadingSmooth, 0.0, 1.0);
  1785. #else
  1786. float strength = step(0.0, nDotL);
  1787. #endif
  1788. visibility *= strength;
  1789. #endif
  1790. visibility = max(visibility, darkness);
  1791. return visibility;
  1792. }
  1793. #ifdef USE_CUBE_MAP_SHADOW
  1794. float czm_shadowVisibility(samplerCube shadowMap, czm_shadowParameters shadowParameters)
  1795. {
  1796. float depthBias = shadowParameters.depthBias;
  1797. float depth = shadowParameters.depth;
  1798. float nDotL = shadowParameters.nDotL;
  1799. float normalShadingSmooth = shadowParameters.normalShadingSmooth;
  1800. float darkness = shadowParameters.darkness;
  1801. vec3 uvw = shadowParameters.texCoords;
  1802. depth -= depthBias;
  1803. float visibility = czm_shadowDepthCompare(shadowMap, uvw, depth);
  1804. return czm_private_shadowVisibility(visibility, nDotL, normalShadingSmooth, darkness);
  1805. }
  1806. #else
  1807. float czm_shadowVisibility(sampler2D shadowMap, czm_shadowParameters shadowParameters)
  1808. {
  1809. float depthBias = shadowParameters.depthBias;
  1810. float depth = shadowParameters.depth;
  1811. float nDotL = shadowParameters.nDotL;
  1812. float normalShadingSmooth = shadowParameters.normalShadingSmooth;
  1813. float darkness = shadowParameters.darkness;
  1814. vec2 uv = shadowParameters.texCoords;
  1815. depth -= depthBias;
  1816. #ifdef USE_SOFT_SHADOWS
  1817. vec2 texelStepSize = shadowParameters.texelStepSize;
  1818. float radius = 1.0;
  1819. float dx0 = -texelStepSize.x * radius;
  1820. float dy0 = -texelStepSize.y * radius;
  1821. float dx1 = texelStepSize.x * radius;
  1822. float dy1 = texelStepSize.y * radius;
  1823. float visibility = (
  1824. czm_shadowDepthCompare(shadowMap, uv, depth) +
  1825. czm_shadowDepthCompare(shadowMap, uv + vec2(dx0, dy0), depth) +
  1826. czm_shadowDepthCompare(shadowMap, uv + vec2(0.0, dy0), depth) +
  1827. czm_shadowDepthCompare(shadowMap, uv + vec2(dx1, dy0), depth) +
  1828. czm_shadowDepthCompare(shadowMap, uv + vec2(dx0, 0.0), depth) +
  1829. czm_shadowDepthCompare(shadowMap, uv + vec2(dx1, 0.0), depth) +
  1830. czm_shadowDepthCompare(shadowMap, uv + vec2(dx0, dy1), depth) +
  1831. czm_shadowDepthCompare(shadowMap, uv + vec2(0.0, dy1), depth) +
  1832. czm_shadowDepthCompare(shadowMap, uv + vec2(dx1, dy1), depth)
  1833. ) * (1.0 / 9.0);
  1834. #else
  1835. float visibility = czm_shadowDepthCompare(shadowMap, uv, depth);
  1836. #endif
  1837. return czm_private_shadowVisibility(visibility, nDotL, normalShadingSmooth, darkness);
  1838. }
  1839. #endif
  1840. `;var kM=`float czm_signNotZero(float value)
  1841. {
  1842. return value >= 0.0 ? 1.0 : -1.0;
  1843. }
  1844. vec2 czm_signNotZero(vec2 value)
  1845. {
  1846. return vec2(czm_signNotZero(value.x), czm_signNotZero(value.y));
  1847. }
  1848. vec3 czm_signNotZero(vec3 value)
  1849. {
  1850. return vec3(czm_signNotZero(value.x), czm_signNotZero(value.y), czm_signNotZero(value.z));
  1851. }
  1852. vec4 czm_signNotZero(vec4 value)
  1853. {
  1854. return vec4(czm_signNotZero(value.x), czm_signNotZero(value.y), czm_signNotZero(value.z), czm_signNotZero(value.w));
  1855. }
  1856. `;var UM=`vec3 czm_sphericalHarmonics(vec3 normal, vec3 coefficients[9])
  1857. {
  1858. vec3 L00 = coefficients[0];
  1859. vec3 L1_1 = coefficients[1];
  1860. vec3 L10 = coefficients[2];
  1861. vec3 L11 = coefficients[3];
  1862. vec3 L2_2 = coefficients[4];
  1863. vec3 L2_1 = coefficients[5];
  1864. vec3 L20 = coefficients[6];
  1865. vec3 L21 = coefficients[7];
  1866. vec3 L22 = coefficients[8];
  1867. float x = normal.x;
  1868. float y = normal.y;
  1869. float z = normal.z;
  1870. return
  1871. L00
  1872. + L1_1 * y
  1873. + L10 * z
  1874. + L11 * x
  1875. + L2_2 * (y * x)
  1876. + L2_1 * (y * z)
  1877. + L20 * (3.0 * z * z - 1.0)
  1878. + L21 * (z * x)
  1879. + L22 * (x * x - y * y);
  1880. }
  1881. `;var zM=`vec3 czm_srgbToLinear(vec3 srgbIn)
  1882. {
  1883. return pow(srgbIn, vec3(2.2));
  1884. }
  1885. vec4 czm_srgbToLinear(vec4 srgbIn)
  1886. {
  1887. vec3 linearOut = pow(srgbIn.rgb, vec3(2.2));
  1888. return vec4(linearOut, srgbIn.a);
  1889. }
  1890. `;var HM=`mat3 czm_tangentToEyeSpaceMatrix(vec3 normalEC, vec3 tangentEC, vec3 bitangentEC)
  1891. {
  1892. vec3 normal = normalize(normalEC);
  1893. vec3 tangent = normalize(tangentEC);
  1894. vec3 bitangent = normalize(bitangentEC);
  1895. return mat3(tangent.x , tangent.y , tangent.z,
  1896. bitangent.x, bitangent.y, bitangent.z,
  1897. normal.x , normal.y , normal.z);
  1898. }
  1899. `;var GM=`vec4 czm_transformPlane(vec4 plane, mat4 transform) {
  1900. vec4 transformedPlane = transform * plane;
  1901. float normalMagnitude = length(transformedPlane.xyz);
  1902. return transformedPlane / normalMagnitude;
  1903. }
  1904. `;var WM=`vec4 czm_translateRelativeToEye(vec3 high, vec3 low)
  1905. {
  1906. vec3 highDifference = high - czm_encodedCameraPositionMCHigh;
  1907. vec3 lowDifference = low - czm_encodedCameraPositionMCLow;
  1908. return vec4(highDifference + lowDifference, 1.0);
  1909. }
  1910. `;var jM=`vec4 czm_translucentPhong(vec3 toEye, czm_material material, vec3 lightDirectionEC)
  1911. {
  1912. float diffuse = czm_getLambertDiffuse(vec3(0.0, 0.0, 1.0), material.normal);
  1913. if (czm_sceneMode == czm_sceneMode3D) {
  1914. diffuse += czm_getLambertDiffuse(vec3(0.0, 1.0, 0.0), material.normal);
  1915. }
  1916. diffuse = clamp(diffuse, 0.0, 1.0);
  1917. float specular = czm_getSpecular(lightDirectionEC, toEye, material.normal, material.shininess);
  1918. vec3 materialDiffuse = material.diffuse * 0.5;
  1919. vec3 ambient = materialDiffuse;
  1920. vec3 color = ambient + material.emission;
  1921. color += materialDiffuse * diffuse * czm_lightColor;
  1922. color += material.specular * specular * czm_lightColor;
  1923. return vec4(color, material.alpha);
  1924. }
  1925. `;var qM=`mat2 czm_transpose(mat2 matrix)
  1926. {
  1927. return mat2(
  1928. matrix[0][0], matrix[1][0],
  1929. matrix[0][1], matrix[1][1]);
  1930. }
  1931. mat3 czm_transpose(mat3 matrix)
  1932. {
  1933. return mat3(
  1934. matrix[0][0], matrix[1][0], matrix[2][0],
  1935. matrix[0][1], matrix[1][1], matrix[2][1],
  1936. matrix[0][2], matrix[1][2], matrix[2][2]);
  1937. }
  1938. mat4 czm_transpose(mat4 matrix)
  1939. {
  1940. return mat4(
  1941. matrix[0][0], matrix[1][0], matrix[2][0], matrix[3][0],
  1942. matrix[0][1], matrix[1][1], matrix[2][1], matrix[3][1],
  1943. matrix[0][2], matrix[1][2], matrix[2][2], matrix[3][2],
  1944. matrix[0][3], matrix[1][3], matrix[2][3], matrix[3][3]);
  1945. }
  1946. `;var YM=`float czm_unpackDepth(vec4 packedDepth)
  1947. {
  1948. return dot(packedDepth, vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0));
  1949. }
  1950. `;var XM=`float czm_unpackFloat(vec4 packedFloat)
  1951. {
  1952. packedFloat = floor(packedFloat * 255.0 + 0.5);
  1953. float sign = 1.0 - step(128.0, packedFloat[3]) * 2.0;
  1954. float exponent = 2.0 * mod(packedFloat[3], 128.0) + step(128.0, packedFloat[2]) - 127.0;
  1955. if (exponent == -127.0)
  1956. {
  1957. return 0.0;
  1958. }
  1959. float mantissa = mod(packedFloat[2], 128.0) * 65536.0 + packedFloat[1] * 256.0 + packedFloat[0] + float(0x800000);
  1960. float result = sign * exp2(exponent - 23.0) * mantissa;
  1961. return result;
  1962. }
  1963. `;var KM=`int czm_unpackUint(float packedValue) {
  1964. float rounded = czm_round(packedValue * 255.0);
  1965. return int(rounded);
  1966. }
  1967. int czm_unpackUint(vec2 packedValue) {
  1968. vec2 rounded = czm_round(packedValue * 255.0);
  1969. return int(dot(rounded, vec2(1.0, 256.0)));
  1970. }
  1971. int czm_unpackUint(vec3 packedValue) {
  1972. vec3 rounded = czm_round(packedValue * 255.0);
  1973. return int(dot(rounded, vec3(1.0, 256.0, 65536.0)));
  1974. }
  1975. int czm_unpackUint(vec4 packedValue) {
  1976. vec4 rounded = czm_round(packedValue * 255.0);
  1977. return int(dot(rounded, vec4(1.0, 256.0, 65536.0, 16777216.0)));
  1978. }
  1979. `;var ZM=`float czm_valueTransform(float offset, float scale, float value) {
  1980. return scale * value + offset;
  1981. }
  1982. vec2 czm_valueTransform(vec2 offset, vec2 scale, vec2 value) {
  1983. return scale * value + offset;
  1984. }
  1985. vec3 czm_valueTransform(vec3 offset, vec3 scale, vec3 value) {
  1986. return scale * value + offset;
  1987. }
  1988. vec4 czm_valueTransform(vec4 offset, vec4 scale, vec4 value) {
  1989. return scale * value + offset;
  1990. }
  1991. mat2 czm_valueTransform(mat2 offset, mat2 scale, mat2 value) {
  1992. return matrixCompMult(scale, value) + offset;
  1993. }
  1994. mat3 czm_valueTransform(mat3 offset, mat3 scale, mat3 value) {
  1995. return matrixCompMult(scale, value) + offset;
  1996. }
  1997. mat4 czm_valueTransform(mat4 offset, mat4 scale, mat4 value) {
  1998. return matrixCompMult(scale, value) + offset;
  1999. }
  2000. `;var $M=`#ifdef LOG_DEPTH
  2001. varying float v_depthFromNearPlusOne;
  2002. #ifdef SHADOW_MAP
  2003. varying vec3 v_logPositionEC;
  2004. #endif
  2005. #endif
  2006. vec4 czm_updatePositionDepth(vec4 coords) {
  2007. #if defined(LOG_DEPTH)
  2008. #ifdef SHADOW_MAP
  2009. vec3 logPositionEC = (czm_inverseProjection * coords).xyz;
  2010. v_logPositionEC = logPositionEC;
  2011. #endif
  2012. coords.z = clamp(coords.z / coords.w, -1.0, 1.0) * coords.w;
  2013. #endif
  2014. return coords;
  2015. }
  2016. void czm_vertexLogDepth()
  2017. {
  2018. #ifdef LOG_DEPTH
  2019. v_depthFromNearPlusOne = (gl_Position.w - czm_currentFrustum.x) + 1.0;
  2020. gl_Position = czm_updatePositionDepth(gl_Position);
  2021. #endif
  2022. }
  2023. void czm_vertexLogDepth(vec4 clipCoords)
  2024. {
  2025. #ifdef LOG_DEPTH
  2026. v_depthFromNearPlusOne = (clipCoords.w - czm_currentFrustum.x) + 1.0;
  2027. czm_updatePositionDepth(clipCoords);
  2028. #endif
  2029. }
  2030. `;var JM=`vec4 czm_windowToEyeCoordinates(vec4 fragmentCoordinate)
  2031. {
  2032. float x = 2.0 * (fragmentCoordinate.x - czm_viewport.x) / czm_viewport.z - 1.0;
  2033. float y = 2.0 * (fragmentCoordinate.y - czm_viewport.y) / czm_viewport.w - 1.0;
  2034. float z = (fragmentCoordinate.z - czm_viewportTransformation[3][2]) / czm_viewportTransformation[2][2];
  2035. vec4 q = vec4(x, y, z, 1.0);
  2036. q /= fragmentCoordinate.w;
  2037. if (!(czm_inverseProjection == mat4(0.0)))
  2038. {
  2039. q = czm_inverseProjection * q;
  2040. }
  2041. else
  2042. {
  2043. float top = czm_frustumPlanes.x;
  2044. float bottom = czm_frustumPlanes.y;
  2045. float left = czm_frustumPlanes.z;
  2046. float right = czm_frustumPlanes.w;
  2047. float near = czm_currentFrustum.x;
  2048. float far = czm_currentFrustum.y;
  2049. q.x = (q.x * (right - left) + left + right) * 0.5;
  2050. q.y = (q.y * (top - bottom) + bottom + top) * 0.5;
  2051. q.z = (q.z * (near - far) - near - far) * 0.5;
  2052. q.w = 1.0;
  2053. }
  2054. return q;
  2055. }
  2056. vec4 czm_windowToEyeCoordinates(vec2 fragmentCoordinateXY, float depthOrLogDepth)
  2057. {
  2058. #ifdef LOG_DEPTH
  2059. float near = czm_currentFrustum.x;
  2060. float far = czm_currentFrustum.y;
  2061. float log2Depth = depthOrLogDepth * czm_log2FarDepthFromNearPlusOne;
  2062. float depthFromNear = pow(2.0, log2Depth) - 1.0;
  2063. float depthFromCamera = depthFromNear + near;
  2064. vec4 windowCoord = vec4(fragmentCoordinateXY, far * (1.0 - near / depthFromCamera) / (far - near), 1.0);
  2065. vec4 eyeCoordinate = czm_windowToEyeCoordinates(windowCoord);
  2066. eyeCoordinate.w = 1.0 / depthFromCamera;
  2067. return eyeCoordinate;
  2068. #else
  2069. vec4 windowCoord = vec4(fragmentCoordinateXY, depthOrLogDepth, 1.0);
  2070. vec4 eyeCoordinate = czm_windowToEyeCoordinates(windowCoord);
  2071. #endif
  2072. return eyeCoordinate;
  2073. }
  2074. `;var QM=`#if defined(GL_EXT_frag_depth) && !defined(LOG_DEPTH)
  2075. varying float v_WindowZ;
  2076. #endif
  2077. void czm_writeDepthClamp()
  2078. {
  2079. #if defined(GL_EXT_frag_depth) && !defined(LOG_DEPTH)
  2080. gl_FragDepthEXT = clamp(v_WindowZ * gl_FragCoord.w, 0.0, 1.0);
  2081. #endif
  2082. }
  2083. `;var eB=`#ifdef LOG_DEPTH
  2084. varying float v_depthFromNearPlusOne;
  2085. #ifdef POLYGON_OFFSET
  2086. uniform vec2 u_polygonOffset;
  2087. #ifdef GL_OES_standard_derivatives
  2088. #extension GL_OES_standard_derivatives : enable
  2089. #endif
  2090. #endif
  2091. #endif
  2092. void czm_writeLogDepth(float depth)
  2093. {
  2094. #if defined(GL_EXT_frag_depth) && defined(LOG_DEPTH)
  2095. if (depth <= 0.9999999 || depth > czm_farDepthFromNearPlusOne) {
  2096. discard;
  2097. }
  2098. #ifdef POLYGON_OFFSET
  2099. float factor = u_polygonOffset[0];
  2100. float units = u_polygonOffset[1];
  2101. #ifdef GL_OES_standard_derivatives
  2102. if (factor != 0.0) {
  2103. float x = dFdx(depth);
  2104. float y = dFdy(depth);
  2105. float m = sqrt(x * x + y * y);
  2106. depth += m * factor;
  2107. }
  2108. #endif
  2109. #endif
  2110. gl_FragDepthEXT = log2(depth) * czm_oneOverLog2FarDepthFromNearPlusOne;
  2111. #ifdef POLYGON_OFFSET
  2112. gl_FragDepthEXT += czm_epsilon7 * units;
  2113. #endif
  2114. #endif
  2115. }
  2116. void czm_writeLogDepth() {
  2117. #ifdef LOG_DEPTH
  2118. czm_writeLogDepth(v_depthFromNearPlusOne);
  2119. #endif
  2120. }
  2121. `;var tB=`float czm_writeNonPerspective(float value, float w) {
  2122. return value * w;
  2123. }
  2124. vec2 czm_writeNonPerspective(vec2 value, float w) {
  2125. return value * w;
  2126. }
  2127. vec3 czm_writeNonPerspective(vec3 value, float w) {
  2128. return value * w;
  2129. }
  2130. vec4 czm_writeNonPerspective(vec4 value, float w) {
  2131. return value * w;
  2132. }
  2133. `;var TA={czm_degreesPerRadian:LO,czm_depthRange:NO,czm_epsilon1:FO,czm_epsilon2:VO,czm_epsilon3:kO,czm_epsilon4:UO,czm_epsilon5:zO,czm_epsilon6:HO,czm_epsilon7:GO,czm_infinity:WO,czm_oneOverPi:jO,czm_oneOverTwoPi:qO,czm_passCesium3DTile:YO,czm_passCesium3DTileClassification:XO,czm_passCesium3DTileClassificationIgnoreShow:KO,czm_passClassification:ZO,czm_passCompute:$O,czm_passEnvironment:JO,czm_passGlobe:QO,czm_passOpaque:eR,czm_passOverlay:tR,czm_passTerrainClassification:nR,czm_passTranslucent:iR,czm_pi:oR,czm_piOverFour:rR,czm_piOverSix:sR,czm_piOverThree:aR,czm_piOverTwo:cR,czm_radiansPerDegree:lR,czm_sceneMode2D:uR,czm_sceneMode3D:fR,czm_sceneModeColumbusView:dR,czm_sceneModeMorphing:hR,czm_solarRadius:mR,czm_threePiOver2:pR,czm_twoPi:_R,czm_webMercatorMaxLatitude:gR,czm_depthRangeStruct:yR,czm_material:CR,czm_materialInput:xR,czm_modelMaterial:AR,czm_modelVertexOutput:TR,czm_pbrParameters:ER,czm_ray:bR,czm_raySegment:SR,czm_shadowParameters:wR,czm_HSBToRGB:vR,czm_HSLToRGB:DR,czm_RGBToHSB:PR,czm_RGBToHSL:IR,czm_RGBToXYZ:OR,czm_XYZToRGB:RR,czm_acesTonemapping:MR,czm_alphaWeight:BR,czm_antialias:LR,czm_approximateSphericalCoordinates:NR,czm_backFacing:FR,czm_branchFreeTernary:VR,czm_cascadeColor:kR,czm_cascadeDistance:UR,czm_cascadeMatrix:zR,czm_cascadeWeights:HR,czm_columbusViewMorph:GR,czm_computePosition:WR,czm_cosineAndSine:jR,czm_decompressTextureCoordinates:qR,czm_defaultPbrMaterial:YR,czm_depthClamp:XR,czm_eastNorthUpToEyeCoordinates:KR,czm_ellipsoidContainsPoint:ZR,czm_ellipsoidWgs84TextureCoordinates:$R,czm_equalsEpsilon:JR,czm_eyeOffset:QR,czm_eyeToWindowCoordinates:eM,czm_fastApproximateAtan:tM,czm_fog:nM,czm_gammaCorrect:iM,czm_geodeticSurfaceNormal:oM,czm_getDefaultMaterial:rM,czm_getLambertDiffuse:sM,czm_getSpecular:aM,czm_getWaterNoise:cM,czm_hue:lM,czm_inverseGamma:uM,czm_isEmpty:fM,czm_isFull:dM,czm_latitudeToWebMercatorFraction:hM,czm_lineDistance:mM,czm_linearToSrgb:pM,czm_luminance:_M,czm_metersPerPixel:gM,czm_modelToWindowCoordinates:yM,czm_multiplyWithColorBalance:CM,czm_nearFarScalar:xM,czm_octDecode:AM,czm_packDepth:TM,czm_pbrLighting:EM,czm_pbrMetallicRoughnessMaterial:bM,czm_pbrSpecularGlossinessMaterial:SM,czm_phong:wM,czm_planeDistance:vM,czm_pointAlongRay:DM,czm_rayEllipsoidIntersectionInterval:PM,czm_raySphereIntersectionInterval:IM,czm_readDepth:OM,czm_readNonPerspective:RM,czm_reverseLogDepth:MM,czm_round:BM,czm_sampleOctahedralProjection:LM,czm_saturation:NM,czm_shadowDepthCompare:FM,czm_shadowVisibility:VM,czm_signNotZero:kM,czm_sphericalHarmonics:UM,czm_srgbToLinear:zM,czm_tangentToEyeSpaceMatrix:HM,czm_transformPlane:GM,czm_translateRelativeToEye:WM,czm_translucentPhong:jM,czm_transpose:qM,czm_unpackDepth:YM,czm_unpackFloat:XM,czm_unpackUint:KM,czm_valueTransform:ZM,czm_vertexLogDepth:$M,czm_windowToEyeCoordinates:JM,czm_writeDepthClamp:QM,czm_writeLogDepth:eB,czm_writeNonPerspective:tB};function Fne(e){return e=e.replace(/\/\/.*/g,""),e.replace(/\/\*\*[\s\S]*?\*\//gm,function(t){let n=t.match(/\n/gm).length,i="";for(let o=0;o<n;++o)i+=`
  2134. `;return i})}function Vne(e,t,n){let i;for(let o=0;o<n.length;++o)n[o].name===e&&(i=n[o]);return l(i)||(t=Fne(t),i={name:e,glslSource:t,dependsOn:[],requiredBy:[],evaluated:!1},n.push(i)),i}function kne(e,t){if(e.evaluated)return;e.evaluated=!0;let n=e.glslSource.match(/\bczm_[a-zA-Z0-9_]*/g);l(n)&&n!==null&&(n=n.filter(function(i,o){return n.indexOf(i)===o}),n.forEach(function(i){if(i!==e.name&&ls._czmBuiltinsAndUniforms.hasOwnProperty(i)){let o=Vne(i,ls._czmBuiltinsAndUniforms[i],t);e.dependsOn.push(o),o.requiredBy.push(e),kne(o,t)}}))}function rBe(e){let t=[],n=[];for(;e.length>0;){let o=e.pop();n.push(o),o.requiredBy.length===0&&t.push(o)}for(;t.length>0;){let o=t.shift();e.push(o);for(let r=0;r<o.dependsOn.length;++r){let s=o.dependsOn[r],a=s.requiredBy.indexOf(o);s.requiredBy.splice(a,1),s.requiredBy.length===0&&t.push(s)}}let i=[];for(let o=0;o<n.length;++o)n[o].requiredBy.length!==0&&i.push(n[o])}function sBe(e){let t=[],n=Vne("main",e,t);kne(n,t),rBe(t);let i="";for(let o=t.length-1;o>=0;--o)i=`${i+t[o].glslSource}
  2135. `;return i.replace(n.glslSource,"")}function Une(e,t,n){let i,o,r="",s=e.sources;if(l(s))for(i=0,o=s.length;i<o;++i)r+=`
  2136. #line 0
  2137. ${s[i]}`;r=Fne(r);let a;r=r.replace(/#version\s+(.*?)\n/gm,function(g,m){return a=m,`
  2138. `});let c=[];r=r.replace(/#extension.*\n/gm,function(g){return c.push(g),`
  2139. `}),r=r.replace(/precision\s(lowp|mediump|highp)\s(float|int);/,"");let u=e.pickColorQualifier;l(u)&&(r=ls.createPickFragmentShaderSource(r,u));let f="";l(a)&&(f=`#version ${a}
  2140. `);let d=c.length;for(i=0;i<d;i++)f+=c[i];t&&(f+=`#ifdef GL_FRAGMENT_PRECISION_HIGH
  2141. precision highp float;
  2142. precision highp int;
  2143. #else
  2144. precision mediump float;
  2145. precision mediump int;
  2146. #define highp mediump
  2147. #endif
  2148. `);let p=e.defines;if(l(p))for(i=0,o=p.length;i<o;++i){let g=p[i];g.length!==0&&(f+=`#define ${g}
  2149. `)}return n.webgl2&&(f+=`#define OUTPUT_DECLARATION
  2150. `),n.textureFloatLinear&&(f+=`#define OES_texture_float_linear
  2151. `),n.floatingPointTexture&&(f+=`#define OES_texture_float
  2152. `),e.includeBuiltIns&&(f+=sBe(r)),f+=`
  2153. #line 0
  2154. `,f+=r,n.webgl2&&(f=BO(f,t,!0)),f}function ls(e){e=y(e,y.EMPTY_OBJECT);let t=e.pickColorQualifier;this.defines=l(e.defines)?e.defines.slice(0):[],this.sources=l(e.sources)?e.sources.slice(0):[],this.pickColorQualifier=t,this.includeBuiltIns=y(e.includeBuiltIns,!0)}ls.prototype.clone=function(){return new ls({sources:this.sources,defines:this.defines,pickColorQualifier:this.pickColorQualifier,includeBuiltIns:this.includeBuiltIns})};ls.replaceMain=function(e,t){return t=`void ${t}()`,e.replace(/void\s+main\s*\(\s*(?:void)?\s*\)/g,t)};ls.prototype.getCacheKey=function(){let t=this.defines.slice().sort().join(","),n=this.pickColorQualifier,i=this.includeBuiltIns,o=this.sources.join(`
  2155. `);return`${t}:${n}:${i}:${o}`};ls.prototype.createCombinedVertexShader=function(e){return Une(this,!1,e)};ls.prototype.createCombinedFragmentShader=function(e){return Une(this,!0,e)};ls._czmBuiltinsAndUniforms={};for(let e in TA)TA.hasOwnProperty(e)&&(ls._czmBuiltinsAndUniforms[e]=TA[e]);for(let e in v_)if(v_.hasOwnProperty(e)){let t=v_[e];typeof t.getDeclaration=="function"&&(ls._czmBuiltinsAndUniforms[e]=t.getDeclaration(e))}ls.createPickVertexShaderSource=function(e){return`${ls.replaceMain(e,"czm_old_main")}
  2156. attribute vec4 pickColor;
  2157. varying vec4 czm_pickColor;
  2158. void main()
  2159. {
  2160. czm_old_main();
  2161. czm_pickColor = pickColor;
  2162. }`};ls.createPickFragmentShaderSource=function(e,t){let n=ls.replaceMain(e,"czm_old_main"),i=`${t} vec4 czm_pickColor;
  2163. void main()
  2164. {
  2165. czm_old_main();
  2166. if (gl_FragColor.a == 0.0) {
  2167. discard;
  2168. }
  2169. gl_FragColor = czm_pickColor;
  2170. }`;return`${n}
  2171. ${i}`};function aBe(e,t){let n=e.defines,i=n.length;for(let o=0;o<i;++o)if(n[o]===t)return!0;return!1}function zne(e,t){let n=e.sources,i=n.length;for(let o=0;o<i;++o)if(n[o].indexOf(t)!==-1)return!0;return!1}function Hne(e,t){let n=t.length;for(let i=0;i<n;++i){let o=t[i];if(zne(e,o))return o}}var cBe=["v_normalEC","v_normal"];ls.findNormalVarying=function(e){return zne(e,"#ifdef HAS_NORMALS")?aBe(e,"HAS_NORMALS")?"v_normalEC":void 0:Hne(e,cBe)};var lBe=["v_positionEC"];ls.findPositionVarying=function(e){return Hne(e,lBe)};var ke=ls;var nB=`attribute vec3 position3DHigh;
  2172. attribute vec3 position3DLow;
  2173. attribute float batchId;
  2174. #ifdef EXTRUDED_GEOMETRY
  2175. attribute vec3 extrudeDirection;
  2176. uniform float u_globeMinimumAltitude;
  2177. #endif // EXTRUDED_GEOMETRY
  2178. #ifdef PER_INSTANCE_COLOR
  2179. varying vec4 v_color;
  2180. #endif // PER_INSTANCE_COLOR
  2181. #ifdef TEXTURE_COORDINATES
  2182. #ifdef SPHERICAL
  2183. varying vec4 v_sphericalExtents;
  2184. #else // SPHERICAL
  2185. varying vec2 v_inversePlaneExtents;
  2186. varying vec4 v_westPlane;
  2187. varying vec4 v_southPlane;
  2188. #endif // SPHERICAL
  2189. varying vec3 v_uvMinAndSphericalLongitudeRotation;
  2190. varying vec3 v_uMaxAndInverseDistance;
  2191. varying vec3 v_vMaxAndInverseDistance;
  2192. #endif // TEXTURE_COORDINATES
  2193. void main()
  2194. {
  2195. vec4 position = czm_computePosition();
  2196. #ifdef EXTRUDED_GEOMETRY
  2197. float delta = min(u_globeMinimumAltitude, czm_geometricToleranceOverMeter * length(position.xyz));
  2198. delta *= czm_sceneMode == czm_sceneMode3D ? 1.0 : 0.0;
  2199. position = position + vec4(extrudeDirection * delta, 0.0);
  2200. #endif
  2201. #ifdef TEXTURE_COORDINATES
  2202. #ifdef SPHERICAL
  2203. v_sphericalExtents = czm_batchTable_sphericalExtents(batchId);
  2204. v_uvMinAndSphericalLongitudeRotation.z = czm_batchTable_longitudeRotation(batchId);
  2205. #else // SPHERICAL
  2206. #ifdef COLUMBUS_VIEW_2D
  2207. vec4 planes2D_high = czm_batchTable_planes2D_HIGH(batchId);
  2208. vec4 planes2D_low = czm_batchTable_planes2D_LOW(batchId);
  2209. vec2 idlSplitNewPlaneHiLow = vec2(EAST_MOST_X_HIGH - (WEST_MOST_X_HIGH - planes2D_high.w), EAST_MOST_X_LOW - (WEST_MOST_X_LOW - planes2D_low.w));
  2210. bool idlSplit = planes2D_high.x > planes2D_high.w && position3DLow.y > 0.0;
  2211. planes2D_high.w = czm_branchFreeTernary(idlSplit, idlSplitNewPlaneHiLow.x, planes2D_high.w);
  2212. planes2D_low.w = czm_branchFreeTernary(idlSplit, idlSplitNewPlaneHiLow.y, planes2D_low.w);
  2213. idlSplit = planes2D_high.x > planes2D_high.w && position3DLow.y < 0.0;
  2214. idlSplitNewPlaneHiLow = vec2(WEST_MOST_X_HIGH - (EAST_MOST_X_HIGH - planes2D_high.x), WEST_MOST_X_LOW - (EAST_MOST_X_LOW - planes2D_low.x));
  2215. planes2D_high.x = czm_branchFreeTernary(idlSplit, idlSplitNewPlaneHiLow.x, planes2D_high.x);
  2216. planes2D_low.x = czm_branchFreeTernary(idlSplit, idlSplitNewPlaneHiLow.y, planes2D_low.x);
  2217. vec3 southWestCorner = (czm_modelViewRelativeToEye * czm_translateRelativeToEye(vec3(0.0, planes2D_high.xy), vec3(0.0, planes2D_low.xy))).xyz;
  2218. vec3 northWestCorner = (czm_modelViewRelativeToEye * czm_translateRelativeToEye(vec3(0.0, planes2D_high.x, planes2D_high.z), vec3(0.0, planes2D_low.x, planes2D_low.z))).xyz;
  2219. vec3 southEastCorner = (czm_modelViewRelativeToEye * czm_translateRelativeToEye(vec3(0.0, planes2D_high.w, planes2D_high.y), vec3(0.0, planes2D_low.w, planes2D_low.y))).xyz;
  2220. #else // COLUMBUS_VIEW_2D
  2221. vec3 southWestCorner = (czm_modelViewRelativeToEye * czm_translateRelativeToEye(czm_batchTable_southWest_HIGH(batchId), czm_batchTable_southWest_LOW(batchId))).xyz;
  2222. vec3 northWestCorner = czm_normal * czm_batchTable_northward(batchId) + southWestCorner;
  2223. vec3 southEastCorner = czm_normal * czm_batchTable_eastward(batchId) + southWestCorner;
  2224. #endif // COLUMBUS_VIEW_2D
  2225. vec3 eastWard = southEastCorner - southWestCorner;
  2226. float eastExtent = length(eastWard);
  2227. eastWard /= eastExtent;
  2228. vec3 northWard = northWestCorner - southWestCorner;
  2229. float northExtent = length(northWard);
  2230. northWard /= northExtent;
  2231. v_westPlane = vec4(eastWard, -dot(eastWard, southWestCorner));
  2232. v_southPlane = vec4(northWard, -dot(northWard, southWestCorner));
  2233. v_inversePlaneExtents = vec2(1.0 / eastExtent, 1.0 / northExtent);
  2234. #endif // SPHERICAL
  2235. vec4 uvMinAndExtents = czm_batchTable_uvMinAndExtents(batchId);
  2236. vec4 uMaxVmax = czm_batchTable_uMaxVmax(batchId);
  2237. v_uMaxAndInverseDistance = vec3(uMaxVmax.xy, uvMinAndExtents.z);
  2238. v_vMaxAndInverseDistance = vec3(uMaxVmax.zw, uvMinAndExtents.w);
  2239. v_uvMinAndSphericalLongitudeRotation.xy = uvMinAndExtents.xy;
  2240. #endif // TEXTURE_COORDINATES
  2241. #ifdef PER_INSTANCE_COLOR
  2242. v_color = czm_batchTable_color(batchId);
  2243. #endif
  2244. gl_Position = czm_depthClamp(czm_modelViewProjectionRelativeToEye * position);
  2245. }
  2246. `;var my=`#ifdef GL_EXT_frag_depth
  2247. #extension GL_EXT_frag_depth : enable
  2248. #endif
  2249. #ifdef VECTOR_TILE
  2250. uniform vec4 u_highlightColor;
  2251. #endif
  2252. void main(void)
  2253. {
  2254. #ifdef VECTOR_TILE
  2255. gl_FragColor = czm_gammaCorrect(u_highlightColor);
  2256. #else
  2257. gl_FragColor = vec4(1.0);
  2258. #endif
  2259. czm_writeDepthClamp();
  2260. }
  2261. `;var Gne={TERRAIN:0,CESIUM_3D_TILE:1,BOTH:2};Gne.NUMBER_OF_CLASSIFICATION_TYPES=3;var Ln=Object.freeze(Gne);var uBe={NEVER:te.NEVER,LESS:te.LESS,EQUAL:te.EQUAL,LESS_OR_EQUAL:te.LEQUAL,GREATER:te.GREATER,NOT_EQUAL:te.NOTEQUAL,GREATER_OR_EQUAL:te.GEQUAL,ALWAYS:te.ALWAYS},ac=Object.freeze(uBe);var iB={STREAM_DRAW:te.STREAM_DRAW,STATIC_DRAW:te.STATIC_DRAW,DYNAMIC_DRAW:te.DYNAMIC_DRAW,validate:function(e){return e===iB.STREAM_DRAW||e===iB.STATIC_DRAW||e===iB.DYNAMIC_DRAW}},Le=Object.freeze(iB);function yu(e){e=y(e,y.EMPTY_OBJECT);let t=e.context._gl,n=e.bufferTarget,i=e.typedArray,o=e.sizeInBytes,r=e.usage,s=l(i);s&&(o=i.byteLength);let a=t.createBuffer();t.bindBuffer(n,a),t.bufferData(n,s?i:o,r),t.bindBuffer(n,null),this._id=Hn(),this._gl=t,this._webgl2=e.context._webgl2,this._bufferTarget=n,this._sizeInBytes=o,this._usage=r,this._buffer=a,this.vertexArrayDestroyable=!0}yu.createVertexBuffer=function(e){return new yu({context:e.context,bufferTarget:te.ARRAY_BUFFER,typedArray:e.typedArray,sizeInBytes:e.sizeInBytes,usage:e.usage})};yu.createIndexBuffer=function(e){let t=e.context,n=e.indexDatatype,i=Be.getSizeInBytes(n),o=new yu({context:t,bufferTarget:te.ELEMENT_ARRAY_BUFFER,typedArray:e.typedArray,sizeInBytes:e.sizeInBytes,usage:e.usage}),r=o.sizeInBytes/i;return Object.defineProperties(o,{indexDatatype:{get:function(){return n}},bytesPerIndex:{get:function(){return i}},numberOfIndices:{get:function(){return r}}}),o};Object.defineProperties(yu.prototype,{sizeInBytes:{get:function(){return this._sizeInBytes}},usage:{get:function(){return this._usage}}});yu.prototype._getBuffer=function(){return this._buffer};yu.prototype.copyFromArrayView=function(e,t){t=y(t,0);let n=this._gl,i=this._bufferTarget;n.bindBuffer(i,this._buffer),n.bufferSubData(i,t,e),n.bindBuffer(i,null)};yu.prototype.copyFromBuffer=function(e,t,n,i){let o=te.COPY_READ_BUFFER,r=te.COPY_WRITE_BUFFER,s=this._gl;s.bindBuffer(r,this._buffer),s.bindBuffer(o,e._buffer),s.copyBufferSubData(o,r,t,n,i),s.bindBuffer(r,null),s.bindBuffer(o,null)};yu.prototype.getBufferData=function(e,t,n,i){t=y(t,0),n=y(n,0);let o=this._gl,r=te.COPY_READ_BUFFER;o.bindBuffer(r,this._buffer),o.getBufferSubData(r,t,e,n,i),o.bindBuffer(r,null)};yu.prototype.isDestroyed=function(){return!1};yu.prototype.destroy=function(){return this._gl.deleteBuffer(this._buffer),fe(this)};var ct=yu;function fBe(e,t,n,i){let o=l(t.vertexBuffer),r=l(t.value),s=t.value?t.value.length:t.componentsPerAttribute,a={index:y(t.index,n),enabled:y(t.enabled,!0),vertexBuffer:t.vertexBuffer,value:r?t.value.slice(0):void 0,componentsPerAttribute:s,componentDatatype:y(t.componentDatatype,Z.FLOAT),normalize:y(t.normalize,!1),offsetInBytes:y(t.offsetInBytes,0),strideInBytes:y(t.strideInBytes,0),instanceDivisor:y(t.instanceDivisor,0)};if(o)a.vertexAttrib=function(c){let u=this.index;c.bindBuffer(c.ARRAY_BUFFER,this.vertexBuffer._getBuffer()),c.vertexAttribPointer(u,this.componentsPerAttribute,this.componentDatatype,this.normalize,this.strideInBytes,this.offsetInBytes),c.enableVertexAttribArray(u),this.instanceDivisor>0&&(i.glVertexAttribDivisor(u,this.instanceDivisor),i._vertexAttribDivisors[u]=this.instanceDivisor,i._previousDrawInstanced=!0)},a.disableVertexAttribArray=function(c){c.disableVertexAttribArray(this.index),this.instanceDivisor>0&&i.glVertexAttribDivisor(n,0)};else{switch(a.componentsPerAttribute){case 1:a.vertexAttrib=function(c){c.vertexAttrib1fv(this.index,this.value)};break;case 2:a.vertexAttrib=function(c){c.vertexAttrib2fv(this.index,this.value)};break;case 3:a.vertexAttrib=function(c){c.vertexAttrib3fv(this.index,this.value)};break;case 4:a.vertexAttrib=function(c){c.vertexAttrib4fv(this.index,this.value)};break}a.disableVertexAttribArray=function(c){}}e.push(a)}function jne(e,t,n){for(let i=0;i<t.length;++i){let o=t[i];o.enabled&&o.vertexAttrib(e)}l(n)&&e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,n._getBuffer())}function Em(e){e=y(e,y.EMPTY_OBJECT);let t=e.context,n=t._gl,i=e.attributes,o=e.indexBuffer,r,s=[],a=1,c=!1,u=!1,f=i.length;for(r=0;r<f;++r)fBe(s,i[r],r,t);for(f=s.length,r=0;r<f;++r){let p=s[r];if(l(p.vertexBuffer)&&p.instanceDivisor===0){let g=p.strideInBytes||p.componentsPerAttribute*Z.getSizeInBytes(p.componentDatatype);a=p.vertexBuffer.sizeInBytes/g;break}}for(r=0;r<f;++r)s[r].instanceDivisor>0&&(c=!0),l(s[r].value)&&(u=!0);let d;t.vertexArrayObject&&(d=t.glCreateVertexArray(),t.glBindVertexArray(d),jne(n,s,o),t.glBindVertexArray(null)),this._numberOfVertices=a,this._hasInstancedAttributes=c,this._hasConstantAttributes=u,this._context=t,this._gl=n,this._vao=d,this._attributes=s,this._indexBuffer=o}function Wne(e){return e.values.length/e.componentsPerAttribute}function dBe(e){return Z.getSizeInBytes(e.componentDatatype)*e.componentsPerAttribute}function hBe(e){let t,n,i,o=[];for(n in e)e.hasOwnProperty(n)&&l(e[n])&&l(e[n].values)&&(o.push(n),e[n].componentDatatype===Z.DOUBLE&&(e[n].componentDatatype=Z.FLOAT,e[n].values=Z.createTypedArray(Z.FLOAT,e[n].values)));let r,s=o.length;if(s>0)for(r=Wne(e[o[0]]),t=1;t<s;++t){let u=Wne(e[o[t]]);if(u!==r)throw new de(`Each attribute list must have the same number of vertices. Attribute ${o[t]} has a different number of vertices (${u.toString()}) than attribute ${o[0]} (${r.toString()}).`)}o.sort(function(u,f){return Z.getSizeInBytes(e[f].componentDatatype)-Z.getSizeInBytes(e[u].componentDatatype)});let a=0,c={};for(t=0;t<s;++t)n=o[t],i=e[n],c[n]=a,a+=dBe(i);if(a>0){let u=Z.getSizeInBytes(e[o[0]].componentDatatype),f=a%u;f!==0&&(a+=u-f);let d=r*a,p=new ArrayBuffer(d),g={};for(t=0;t<s;++t){n=o[t];let m=Z.getSizeInBytes(e[n].componentDatatype);g[n]={pointer:Z.createTypedArray(e[n].componentDatatype,p),index:c[n]/m,strideInComponentType:a/m}}for(t=0;t<r;++t)for(let m=0;m<s;++m){n=o[m],i=e[n];let C=i.values,x=g[n],A=x.pointer,b=i.componentsPerAttribute;for(let E=0;E<b;++E)A[x.index+E]=C[t*b+E];x.index+=x.strideInComponentType}return{buffer:p,offsetsInBytes:c,vertexSizeInBytes:a}}}Em.fromGeometry=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.context,n=y(e.geometry,y.EMPTY_OBJECT),i=y(e.bufferUsage,Le.DYNAMIC_DRAW),o=y(e.attributeLocations,y.EMPTY_OBJECT),r=y(e.interleave,!1),s=e.vertexArrayAttributes,a,c,u,f=l(s)?s:[],d=n.attributes;if(r){let m=hBe(d);if(l(m)){u=ct.createVertexBuffer({context:t,typedArray:m.buffer,usage:i});let C=m.offsetsInBytes,x=m.vertexSizeInBytes;for(a in d)d.hasOwnProperty(a)&&l(d[a])&&(c=d[a],l(c.values)?f.push({index:o[a],vertexBuffer:u,componentDatatype:c.componentDatatype,componentsPerAttribute:c.componentsPerAttribute,normalize:c.normalize,offsetInBytes:C[a],strideInBytes:x}):f.push({index:o[a],value:c.value,componentDatatype:c.componentDatatype,normalize:c.normalize}))}}else for(a in d)if(d.hasOwnProperty(a)&&l(d[a])){c=d[a];let m=c.componentDatatype;m===Z.DOUBLE&&(m=Z.FLOAT),u=void 0,l(c.values)&&(u=ct.createVertexBuffer({context:t,typedArray:Z.createTypedArray(m,c.values),usage:i})),f.push({index:o[a],vertexBuffer:u,value:c.value,componentDatatype:m,componentsPerAttribute:c.componentsPerAttribute,normalize:c.normalize})}let p,g=n.indices;return l(g)&&(rt.computeNumberOfVertices(n)>=I.SIXTY_FOUR_KILOBYTES&&t.elementIndexUint?p=ct.createIndexBuffer({context:t,typedArray:new Uint32Array(g),usage:i,indexDatatype:Be.UNSIGNED_INT}):p=ct.createIndexBuffer({context:t,typedArray:new Uint16Array(g),usage:i,indexDatatype:Be.UNSIGNED_SHORT})),new Em({context:t,attributes:f,indexBuffer:p})};Object.defineProperties(Em.prototype,{numberOfAttributes:{get:function(){return this._attributes.length}},numberOfVertices:{get:function(){return this._numberOfVertices}},indexBuffer:{get:function(){return this._indexBuffer}}});Em.prototype.getAttribute=function(e){return this._attributes[e]};function mBe(e){let t=e._context,n=e._hasInstancedAttributes;if(!n&&!t._previousDrawInstanced)return;t._previousDrawInstanced=n;let i=t._vertexAttribDivisors,o=e._attributes,r=kt.maximumVertexAttributes,s;if(n){let a=o.length;for(s=0;s<a;++s){let c=o[s];if(c.enabled){let u=c.instanceDivisor,f=c.index;u!==i[f]&&(t.glVertexAttribDivisor(f,u),i[f]=u)}}}else for(s=0;s<r;++s)i[s]>0&&(t.glVertexAttribDivisor(s,0),i[s]=0)}function pBe(e,t){let n=e._attributes,i=n.length;for(let o=0;o<i;++o){let r=n[o];r.enabled&&l(r.value)&&r.vertexAttrib(t)}}Em.prototype._bind=function(){l(this._vao)?(this._context.glBindVertexArray(this._vao),this._context.instancedArrays&&mBe(this),this._hasConstantAttributes&&pBe(this,this._gl)):jne(this._gl,this._attributes,this._indexBuffer)};Em.prototype._unBind=function(){if(l(this._vao))this._context.glBindVertexArray(null);else{let e=this._attributes,t=this._gl;for(let n=0;n<e.length;++n){let i=e[n];i.enabled&&i.disableVertexAttribArray(t)}this._indexBuffer&&t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null)}};Em.prototype.isDestroyed=function(){return!1};Em.prototype.destroy=function(){let e=this._attributes;for(let n=0;n<e.length;++n){let i=e[n].vertexBuffer;l(i)&&!i.isDestroyed()&&i.vertexArrayDestroyable&&i.destroy()}let t=this._indexBuffer;return l(t)&&!t.isDestroyed()&&t.vertexArrayDestroyable&&t.destroy(),l(this._vao)&&this._context.glDeleteVertexArray(this._vao),fe(this)};var ti=Em;function bm(e,t,n){if(this._attributes=t,this._numberOfInstances=n,t.length===0)return;let i=_Be(t),o=e.floatingPointTexture,r=i===je.FLOAT&&!o,s=gBe(t,r),a=yBe(s,t,r),c=Math.floor(kt.maximumTextureSize/a),u=Math.min(n,c),f=a*u,d=Math.ceil(n/u),p=1/f,g=p*.5,m=1/d,C=m*.5;this._textureDimensions=new G(f,d),this._textureStep=new se(p,g,m,C),this._pixelDatatype=r?je.UNSIGNED_BYTE:i,this._packFloats=r,this._offsets=s,this._stride=a,this._texture=void 0;let x=4*f*d;this._batchValues=i===je.FLOAT&&!r?new Float32Array(x):new Uint8Array(x),this._batchValuesDirty=!1}Object.defineProperties(bm.prototype,{attributes:{get:function(){return this._attributes}},numberOfInstances:{get:function(){return this._numberOfInstances}}});function _Be(e){let t=!1,n=e.length;for(let i=0;i<n;++i)if(e[i].componentDatatype!==Z.UNSIGNED_BYTE){t=!0;break}return t?je.FLOAT:je.UNSIGNED_BYTE}function Yne(e,t){let n=e[t].componentsPerAttribute;return n===2?G:n===3?h:n===4?se:Number}function gBe(e,t){let n=new Array(e.length),i=0,o=e.length;for(let r=0;r<o;++r){let a=e[r].componentDatatype;n[r]=i,a!==Z.UNSIGNED_BYTE&&t?i+=4:++i}return n}function yBe(e,t,n){let i=e.length,o=e[i-1];return t[i-1].componentDatatype!==Z.UNSIGNED_BYTE&&n?o+4:o+1}var AS=new se;function CBe(e,t,n){let i=se.unpack(e,t,AS),o=se.unpackFloat(i);i=se.unpack(e,t+4,AS);let r=se.unpackFloat(i);i=se.unpack(e,t+8,AS);let s=se.unpackFloat(i);i=se.unpack(e,t+12,AS);let a=se.unpackFloat(i);return se.fromElements(o,r,s,a,n)}function xBe(e,t,n){let i=se.packFloat(e.x,AS);se.pack(i,t,n),i=se.packFloat(e.y,i),se.pack(i,t,n+4),i=se.packFloat(e.z,i),se.pack(i,t,n+8),i=se.packFloat(e.w,i),se.pack(i,t,n+12)}var qne=new se;bm.prototype.getBatchedAttribute=function(e,t,n){let i=this._attributes,o=this._offsets[t],r=this._stride,s=4*r*e+4*o,a;this._packFloats&&i[t].componentDatatype!==je.UNSIGNED_BYTE?a=CBe(this._batchValues,s,qne):a=se.unpack(this._batchValues,s,qne);let c=Yne(i,t);return l(c.fromCartesian4)?c.fromCartesian4(a,n):l(c.clone)?c.clone(a,n):a.x};var ABe=[void 0,void 0,new G,new h,new se],TBe=new se;bm.prototype.setBatchedAttribute=function(e,t,n){let i=this._attributes,o=ABe[i[t].componentsPerAttribute],r=this.getBatchedAttribute(e,t,o),s=Yne(this._attributes,t);if(l(s.equals)?s.equals(r,n):r===n)return;let c=TBe;c.x=l(n.x)?n.x:n,c.y=l(n.y)?n.y:0,c.z=l(n.z)?n.z:0,c.w=l(n.w)?n.w:0;let u=this._offsets[t],f=this._stride,d=4*f*e+4*u;this._packFloats&&i[t].componentDatatype!==je.UNSIGNED_BYTE?xBe(c,this._batchValues,d):se.pack(c,this._batchValues,d),this._batchValuesDirty=!0};function EBe(e,t){let n=e._textureDimensions;e._texture=new Ot({context:t,pixelFormat:ft.RGBA,pixelDatatype:e._pixelDatatype,width:n.x,height:n.y,sampler:hn.NEAREST,flipY:!1})}function bBe(e){let t=e._textureDimensions;e._texture.copyFrom({source:{width:t.x,height:t.y,arrayBufferView:e._batchValues}})}bm.prototype.update=function(e){l(this._texture)&&!this._batchValuesDirty||this._attributes.length===0||(this._batchValuesDirty=!1,l(this._texture)||EBe(this,e.context),bBe(this))};bm.prototype.getUniformMapCallback=function(){let e=this;return function(t){return e._attributes.length===0?t:mt(t,{batchTexture:function(){return e._texture},batchTextureDimensions:function(){return e._textureDimensions},batchTextureStep:function(){return e._textureStep}})}};function SBe(e){let t=e._stride;return e._textureDimensions.y===1?`uniform vec4 batchTextureStep;
  2262. vec2 computeSt(float batchId)
  2263. {
  2264. float stepX = batchTextureStep.x;
  2265. float centerX = batchTextureStep.y;
  2266. float numberOfAttributes = float(${t});
  2267. return vec2(centerX + (batchId * numberOfAttributes * stepX), 0.5);
  2268. }
  2269. `:`uniform vec4 batchTextureStep;
  2270. uniform vec2 batchTextureDimensions;
  2271. vec2 computeSt(float batchId)
  2272. {
  2273. float stepX = batchTextureStep.x;
  2274. float centerX = batchTextureStep.y;
  2275. float stepY = batchTextureStep.z;
  2276. float centerY = batchTextureStep.w;
  2277. float numberOfAttributes = float(${t});
  2278. float xId = mod(batchId * numberOfAttributes, batchTextureDimensions.x);
  2279. float yId = floor(batchId * numberOfAttributes / batchTextureDimensions.x);
  2280. return vec2(centerX + (xId * stepX), centerY + (yId * stepY));
  2281. }
  2282. `}function wBe(e){return e===1?"float":`vec${e}`}function vBe(e){return e===1?".x":e===2?".xy":e===3?".xyz":""}function DBe(e,t){let i=e._attributes[t],o=i.componentsPerAttribute,r=i.functionName,s=wBe(o),a=vBe(o),c=e._offsets[t],u=`${s} ${r}(float batchId)
  2283. {
  2284. vec2 st = computeSt(batchId);
  2285. st.x += batchTextureStep.x * float(${c});
  2286. `;return e._packFloats&&i.componentDatatype!==je.UNSIGNED_BYTE?u+=`vec4 textureValue;
  2287. textureValue.x = czm_unpackFloat(texture2D(batchTexture, st));
  2288. textureValue.y = czm_unpackFloat(texture2D(batchTexture, st + vec2(batchTextureStep.x, 0.0)));
  2289. textureValue.z = czm_unpackFloat(texture2D(batchTexture, st + vec2(batchTextureStep.x * 2.0, 0.0)));
  2290. textureValue.w = czm_unpackFloat(texture2D(batchTexture, st + vec2(batchTextureStep.x * 3.0, 0.0)));
  2291. `:u+=` vec4 textureValue = texture2D(batchTexture, st);
  2292. `,u+=` ${s} value = textureValue${a};
  2293. `,e._pixelDatatype===je.UNSIGNED_BYTE&&i.componentDatatype===Z.UNSIGNED_BYTE&&!i.normalize?u+=`value *= 255.0;
  2294. `:e._pixelDatatype===je.FLOAT&&i.componentDatatype===Z.UNSIGNED_BYTE&&i.normalize&&(u+=`value /= 255.0;
  2295. `),u+=` return value;
  2296. }
  2297. `,u}bm.prototype.getVertexShaderCallback=function(){let e=this._attributes;if(e.length===0)return function(i){return i};let t=`uniform highp sampler2D batchTexture;
  2298. `;t+=`${SBe(this)}
  2299. `;let n=e.length;for(let i=0;i<n;++i)t+=DBe(this,i);return function(i){let o=i.indexOf("void main"),r=i.substring(0,o),s=i.substring(o);return`${r}
  2300. ${t}
  2301. ${s}`}};bm.prototype.isDestroyed=function(){return!1};bm.prototype.destroy=function(){return this._texture=this._texture&&this._texture.destroy(),fe(this)};var EA=bm;function PBe(e,t,n){let i=!n,o=e.length,r;if(!i&&o>1){let s=e[0].modelMatrix;for(r=1;r<o;++r)if(!N.equals(s,e[r].modelMatrix)){i=!0;break}}if(i)for(r=0;r<o;++r)l(e[r].geometry)&&In.transformToWorldCoordinates(e[r]);else N.multiplyTransformation(t,e[0].modelMatrix,t)}function IG(e,t){let n=e.attributes,i=n.position,o=i.values.length/i.componentsPerAttribute;n.batchId=new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:1,values:new Float32Array(o)});let r=n.batchId.values;for(let s=0;s<o;++s)r[s]=t}function IBe(e){let t=e.length;for(let n=0;n<t;++n){let i=e[n];l(i.geometry)?IG(i.geometry,n):l(i.westHemisphereGeometry)&&l(i.eastHemisphereGeometry)&&(IG(i.westHemisphereGeometry,n),IG(i.eastHemisphereGeometry,n))}}function OBe(e){let t=e.instances,n=e.projection,i=e.elementIndexUintSupported,o=e.scene3DOnly,r=e.vertexCacheOptimize,s=e.compressVertices,a=e.modelMatrix,c,u,f,d=t.length;for(c=0;c<d;++c)if(l(t[c].geometry)){f=t[c].geometry.primitiveType;break}if(PBe(t,a,o),!o)for(c=0;c<d;++c)l(t[c].geometry)&&In.splitLongitude(t[c]);if(IBe(t),r)for(c=0;c<d;++c){let g=t[c];l(g.geometry)?(In.reorderForPostVertexCache(g.geometry),In.reorderForPreVertexCache(g.geometry)):l(g.westHemisphereGeometry)&&l(g.eastHemisphereGeometry)&&(In.reorderForPostVertexCache(g.westHemisphereGeometry),In.reorderForPreVertexCache(g.westHemisphereGeometry),In.reorderForPostVertexCache(g.eastHemisphereGeometry),In.reorderForPreVertexCache(g.eastHemisphereGeometry))}let p=In.combineInstances(t);for(d=p.length,c=0;c<d;++c){u=p[c];let g=u.attributes;if(o)for(let m in g)g.hasOwnProperty(m)&&g[m].componentDatatype===Z.DOUBLE&&In.encodeAttribute(u,m,`${m}3DHigh`,`${m}3DLow`);else for(let m in g)if(g.hasOwnProperty(m)&&g[m].componentDatatype===Z.DOUBLE){let C=`${m}3D`,x=`${m}2D`;In.projectTo2D(u,m,C,x,n),l(u.boundingSphere)&&m==="position"&&(u.boundingSphereCV=re.fromVertices(u.attributes.position2D.values)),In.encodeAttribute(u,C,`${C}High`,`${C}Low`),In.encodeAttribute(u,x,`${x}High`,`${x}Low`)}s&&In.compressVertices(u)}if(!i){let g=[];for(d=p.length,c=0;c<d;++c)u=p[c],g=g.concat(In.fitToUnsignedShortIndices(u));p=g}return p}function OG(e,t,n,i){let o,r,s,a=i.length-1;if(a>=0){let u=i[a];o=u.offset+u.count,s=u.index,r=n[s].indices.length}else o=0,s=0,r=n[s].indices.length;let c=e.length;for(let u=0;u<c;++u){let d=e[u][t];if(!l(d))continue;let p=d.indices.length;o+p>r&&(o=0,r=n[++s].indices.length),i.push({index:s,offset:o,count:p}),o+=p}}function RBe(e,t){let n=[];return OG(e,"geometry",t,n),OG(e,"westHemisphereGeometry",t,n),OG(e,"eastHemisphereGeometry",t,n),n}var Sm={};Sm.combineGeometry=function(e){let t,n,i=e.instances,o=i.length,r,s,a=!1;o>0&&(t=OBe(e),t.length>0&&(n=In.createAttributeLocations(t[0]),e.createPickOffsets&&(r=RBe(i,t))),l(i[0].attributes)&&l(i[0].attributes.offset)&&(s=new Array(o),a=!0));let c=new Array(o),u=new Array(o);for(let f=0;f<o;++f){let d=i[f],p=d.geometry;l(p)&&(c[f]=p.boundingSphere,u[f]=p.boundingSphereCV,a&&(s[f]=d.geometry.offsetAttribute));let g=d.eastHemisphereGeometry,m=d.westHemisphereGeometry;l(g)&&l(m)&&(l(g.boundingSphere)&&l(m.boundingSphere)&&(c[f]=re.union(g.boundingSphere,m.boundingSphere)),l(g.boundingSphereCV)&&l(m.boundingSphereCV)&&(u[f]=re.union(g.boundingSphereCV,m.boundingSphereCV)))}return{geometries:t,modelMatrix:e.modelMatrix,attributeLocations:n,pickOffsets:r,offsetInstanceExtend:s,boundingSpheres:c,boundingSpheresCV:u}};function MBe(e,t){let n=e.attributes;for(let i in n)if(n.hasOwnProperty(i)){let o=n[i];l(o)&&l(o.values)&&t.push(o.values.buffer)}l(e.indices)&&t.push(e.indices.buffer)}function BBe(e,t){let n=e.length;for(let i=0;i<n;++i)MBe(e[i],t)}function LBe(e){let t=1,n=e.length;for(let i=0;i<n;i++){let o=e[i];if(++t,!l(o))continue;let r=o.attributes;t+=7+2*re.packedLength+(l(o.indices)?o.indices.length:0);for(let s in r)if(r.hasOwnProperty(s)&&l(r[s])){let a=r[s];t+=5+a.values.length}}return t}Sm.packCreateGeometryResults=function(e,t){let n=new Float64Array(LBe(e)),i=[],o={},r=e.length,s=0;n[s++]=r;for(let a=0;a<r;a++){let c=e[a],u=l(c);if(n[s++]=u?1:0,!u)continue;n[s++]=c.primitiveType,n[s++]=c.geometryType,n[s++]=y(c.offsetAttribute,-1);let f=l(c.boundingSphere)?1:0;n[s++]=f,f&&re.pack(c.boundingSphere,n,s),s+=re.packedLength;let d=l(c.boundingSphereCV)?1:0;n[s++]=d,d&&re.pack(c.boundingSphereCV,n,s),s+=re.packedLength;let p=c.attributes,g=[];for(let C in p)p.hasOwnProperty(C)&&l(p[C])&&(g.push(C),l(o[C])||(o[C]=i.length,i.push(C)));n[s++]=g.length;for(let C=0;C<g.length;C++){let x=g[C],A=p[x];n[s++]=o[x],n[s++]=A.componentDatatype,n[s++]=A.componentsPerAttribute,n[s++]=A.normalize?1:0,n[s++]=A.values.length,n.set(A.values,s),s+=A.values.length}let m=l(c.indices)?c.indices.length:0;n[s++]=m,m>0&&(n.set(c.indices,s),s+=m)}return t.push(n.buffer),{stringTable:i,packedData:n}};Sm.unpackCreateGeometryResults=function(e){let t=e.stringTable,n=e.packedData,i,o=new Array(n[0]),r=0,s=1;for(;s<n.length;){if(!(n[s++]===1)){o[r++]=void 0;continue}let c=n[s++],u=n[s++],f=n[s++];f===-1&&(f=void 0);let d,p;n[s++]===1&&(d=re.unpack(n,s)),s+=re.packedLength,n[s++]===1&&(p=re.unpack(n,s)),s+=re.packedLength;let C,x,A,b=new rn,E=n[s++];for(i=0;i<E;i++){let v=t[n[s++]],P=n[s++];A=n[s++];let O=n[s++]!==0;C=n[s++],x=Z.createTypedArray(P,C);for(let M=0;M<C;M++)x[M]=n[s++];b[v]=new Ee({componentDatatype:P,componentsPerAttribute:A,normalize:O,values:x})}let S;if(C=n[s++],C>0){let v=x.length/A;for(S=Be.createTypedArray(v,C),i=0;i<C;i++)S[i]=n[s++]}o[r++]=new rt({primitiveType:c,geometryType:u,boundingSphere:d,boundingSphereCV:p,indices:S,attributes:b,offsetAttribute:f})}return o};function NBe(e,t){let n=e.length,i=new Float64Array(1+n*19),o=0;i[o++]=n;for(let r=0;r<n;r++){let s=e[r];if(N.pack(s.modelMatrix,i,o),o+=N.packedLength,l(s.attributes)&&l(s.attributes.offset)){let a=s.attributes.offset.value;i[o]=a[0],i[o+1]=a[1],i[o+2]=a[2]}o+=3}return t.push(i.buffer),i}function FBe(e){let t=e,n=new Array(t[0]),i=0,o=1;for(;o<t.length;){let r=N.unpack(t,o),s;o+=N.packedLength,l(t[o])&&(s={offset:new ji(t[o],t[o+1],t[o+2])}),o+=3,n[i++]={modelMatrix:r,attributes:s}}return n}Sm.packCombineGeometryParameters=function(e,t){let n=e.createGeometryResults,i=n.length;for(let o=0;o<i;o++)t.push(n[o].packedData.buffer);return{createGeometryResults:e.createGeometryResults,packedInstances:NBe(e.instances,t),ellipsoid:e.ellipsoid,isGeographic:e.projection instanceof xi,elementIndexUintSupported:e.elementIndexUintSupported,scene3DOnly:e.scene3DOnly,vertexCacheOptimize:e.vertexCacheOptimize,compressVertices:e.compressVertices,modelMatrix:e.modelMatrix,createPickOffsets:e.createPickOffsets}};Sm.unpackCombineGeometryParameters=function(e){let t=FBe(e.packedInstances),n=e.createGeometryResults,i=n.length,o=0;for(let a=0;a<i;a++){let c=Sm.unpackCreateGeometryResults(n[a]),u=c.length;for(let f=0;f<u;f++){let d=c[f],p=t[o];p.geometry=d,++o}}let r=oe.clone(e.ellipsoid),s=e.isGeographic?new xi(r):new Vi(r);return{instances:t,ellipsoid:r,projection:s,elementIndexUintSupported:e.elementIndexUintSupported,scene3DOnly:e.scene3DOnly,vertexCacheOptimize:e.vertexCacheOptimize,compressVertices:e.compressVertices,modelMatrix:N.clone(e.modelMatrix),createPickOffsets:e.createPickOffsets}};function Xne(e){let t=e.length,n=1+(re.packedLength+1)*t,i=new Float32Array(n),o=0;i[o++]=t;for(let r=0;r<t;++r){let s=e[r];l(s)?(i[o++]=1,re.pack(e[r],i,o)):i[o++]=0,o+=re.packedLength}return i}function Kne(e){let t=new Array(e[0]),n=0,i=1;for(;i<e.length;)e[i++]===1&&(t[n]=re.unpack(e,i)),++n,i+=re.packedLength;return t}Sm.packCombineGeometryResults=function(e,t){l(e.geometries)&&BBe(e.geometries,t);let n=Xne(e.boundingSpheres),i=Xne(e.boundingSpheresCV);return t.push(n.buffer,i.buffer),{geometries:e.geometries,attributeLocations:e.attributeLocations,modelMatrix:e.modelMatrix,pickOffsets:e.pickOffsets,offsetInstanceExtend:e.offsetInstanceExtend,boundingSpheres:n,boundingSpheresCV:i}};Sm.unpackCombineGeometryResults=function(e){return{geometries:e.geometries,attributeLocations:e.attributeLocations,modelMatrix:e.modelMatrix,pickOffsets:e.pickOffsets,offsetInstanceExtend:e.offsetInstanceExtend,boundingSpheres:Kne(e.boundingSpheres),boundingSpheresCV:Kne(e.boundingSpheresCV)}};var bA=Sm;var VBe={READY:0,CREATING:1,CREATED:2,COMBINING:3,COMBINED:4,COMPLETE:5,FAILED:6},_r=Object.freeze(VBe);var oB={MORPHING:0,COLUMBUS_VIEW:1,SCENE2D:2,SCENE3D:3};oB.getMorphTime=function(e){return e===oB.SCENE3D?1:e===oB.MORPHING?void 0:0};var ee=Object.freeze(oB);var Al={DISABLED:0,ENABLED:1,CAST_ONLY:2,RECEIVE_ONLY:3};Al.NUMBER_OF_SHADOW_MODES=4;Al.castShadows=function(e){return e===Al.ENABLED||e===Al.CAST_ONLY};Al.receiveShadows=function(e){return e===Al.ENABLED||e===Al.RECEIVE_ONLY};Al.fromCastReceive=function(e,t){return e&&t?Al.ENABLED:e?Al.CAST_ONLY:t?Al.RECEIVE_ONLY:Al.DISABLED};var mn=Object.freeze(Al);function ar(e){e=y(e,y.EMPTY_OBJECT),this.geometryInstances=e.geometryInstances,this.appearance=e.appearance,this._appearance=void 0,this._material=void 0,this.depthFailAppearance=e.depthFailAppearance,this._depthFailAppearance=void 0,this._depthFailMaterial=void 0,this.modelMatrix=N.clone(y(e.modelMatrix,N.IDENTITY)),this._modelMatrix=new N,this.show=y(e.show,!0),this._vertexCacheOptimize=y(e.vertexCacheOptimize,!1),this._interleave=y(e.interleave,!1),this._releaseGeometryInstances=y(e.releaseGeometryInstances,!0),this._allowPicking=y(e.allowPicking,!0),this._asynchronous=y(e.asynchronous,!0),this._compressVertices=y(e.compressVertices,!0),this.cull=y(e.cull,!0),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.rtcCenter=e.rtcCenter,this.shadows=y(e.shadows,mn.DISABLED),this._translucent=void 0,this._state=_r.READY,this._geometries=[],this._error=void 0,this._numberOfInstances=0,this._boundingSpheres=[],this._boundingSphereWC=[],this._boundingSphereCV=[],this._boundingSphere2D=[],this._boundingSphereMorph=[],this._perInstanceAttributeCache=[],this._instanceIds=[],this._lastPerInstanceAttributeIndex=0,this._va=[],this._attributeLocations=void 0,this._primitiveType=void 0,this._frontFaceRS=void 0,this._backFaceRS=void 0,this._sp=void 0,this._depthFailAppearance=void 0,this._spDepthFail=void 0,this._frontFaceDepthFailRS=void 0,this._backFaceDepthFailRS=void 0,this._pickIds=[],this._colorCommands=[],this._pickCommands=[],this._createBoundingVolumeFunction=e._createBoundingVolumeFunction,this._createRenderStatesFunction=e._createRenderStatesFunction,this._createShaderProgramFunction=e._createShaderProgramFunction,this._createCommandsFunction=e._createCommandsFunction,this._updateAndQueueCommandsFunction=e._updateAndQueueCommandsFunction,this._createPickOffsets=e._createPickOffsets,this._pickOffsets=void 0,this._createGeometryResults=void 0,this._ready=!1;let t=this;this._readyPromise=new Promise((n,i)=>{t._completeLoad=(o,r,s)=>{this._error=s,this._state=r,o.afterRender.push(function(){t._ready=t._state===_r.COMPLETE||t._state===_r.FAILED,l(s)?i(s):n(t)})}}),this._batchTable=void 0,this._batchTableAttributeIndices=void 0,this._offsetInstanceExtend=void 0,this._batchTableOffsetAttribute2DIndex=void 0,this._batchTableOffsetsUpdated=!1,this._instanceBoundingSpheres=void 0,this._instanceBoundingSpheresCV=void 0,this._tempBoundingSpheres=void 0,this._recomputeBoundingSpheres=!1,this._batchTableBoundingSpheresUpdated=!1,this._batchTableBoundingSphereAttributeIndices=void 0}Object.defineProperties(ar.prototype,{vertexCacheOptimize:{get:function(){return this._vertexCacheOptimize}},interleave:{get:function(){return this._interleave}},releaseGeometryInstances:{get:function(){return this._releaseGeometryInstances}},allowPicking:{get:function(){return this._allowPicking}},asynchronous:{get:function(){return this._asynchronous}},compressVertices:{get:function(){return this._compressVertices}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}}});function kBe(e){let t=e.length,n=[],i=e[0].attributes,o;for(o in i)if(i.hasOwnProperty(o)&&l(i[o])){let r=i[o],s=!0;for(let a=1;a<t;++a){let c=e[a].attributes[o];if(!l(c)||r.componentDatatype!==c.componentDatatype||r.componentsPerAttribute!==c.componentsPerAttribute||r.normalize!==c.normalize){s=!1;break}}s&&n.push(o)}return n}var UBe=new G,zBe=new h,oie=new se;function rie(e){let t=e.length;if(t===1)return e[0];if(t===2)return G.unpack(e,0,UBe);if(t===3)return h.unpack(e,0,zBe);if(t===4)return se.unpack(e,0,oie)}function HBe(e,t){let n=e.geometryInstances,i=Array.isArray(n)?n:[n],o=i.length;if(o===0)return;let r=kBe(i),s=r.length,a=[],c={},u={},f,p=i[0].attributes,g,m,C;for(g=0;g<s;++g)m=r[g],C=p[m],c[m]=g,a.push({functionName:`czm_batchTable_${m}`,componentDatatype:C.componentDatatype,componentsPerAttribute:C.componentsPerAttribute,normalize:C.normalize});r.indexOf("distanceDisplayCondition")!==-1&&(a.push({functionName:"czm_batchTable_boundingSphereCenter3DHigh",componentDatatype:Z.FLOAT,componentsPerAttribute:3},{functionName:"czm_batchTable_boundingSphereCenter3DLow",componentDatatype:Z.FLOAT,componentsPerAttribute:3},{functionName:"czm_batchTable_boundingSphereCenter2DHigh",componentDatatype:Z.FLOAT,componentsPerAttribute:3},{functionName:"czm_batchTable_boundingSphereCenter2DLow",componentDatatype:Z.FLOAT,componentsPerAttribute:3},{functionName:"czm_batchTable_boundingSphereRadius",componentDatatype:Z.FLOAT,componentsPerAttribute:1}),u.center3DHigh=a.length-5,u.center3DLow=a.length-4,u.center2DHigh=a.length-3,u.center2DLow=a.length-2,u.radius=a.length-1),r.indexOf("offset")!==-1&&(a.push({functionName:"czm_batchTable_offset2D",componentDatatype:Z.FLOAT,componentsPerAttribute:3}),f=a.length-1),a.push({functionName:"czm_batchTable_pickColor",componentDatatype:Z.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0});let x=a.length,A=new EA(t,a,o);for(g=0;g<o;++g){let b=i[g];p=b.attributes;for(let O=0;O<s;++O){m=r[O],C=p[m];let M=rie(C.value),B=c[m];A.setBatchedAttribute(g,B,M)}let E={primitive:y(b.pickPrimitive,e)};l(b.id)&&(E.id=b.id);let S=t.createPickId(E);e._pickIds.push(S);let v=S.color,P=oie;P.x=U.floatToByte(v.red),P.y=U.floatToByte(v.green),P.z=U.floatToByte(v.blue),P.w=U.floatToByte(v.alpha),A.setBatchedAttribute(g,x-1,P)}e._batchTable=A,e._batchTableAttributeIndices=c,e._batchTableBoundingSphereAttributeIndices=u,e._batchTableOffsetAttribute2DIndex=f}function GBe(e){let t;return Array.isArray(e.values)?t=e.values.slice(0):t=new e.values.constructor(e.values),new Ee({componentDatatype:e.componentDatatype,componentsPerAttribute:e.componentsPerAttribute,normalize:e.normalize,values:t})}function WBe(e){let t=e.attributes,n=new rn;for(let o in t)t.hasOwnProperty(o)&&l(t[o])&&(n[o]=GBe(t[o]));let i;if(l(e.indices)){let o=e.indices;Array.isArray(o)?i=o.slice(0):i=new o.constructor(o)}return new rt({attributes:n,indices:i,primitiveType:e.primitiveType,boundingSphere:re.clone(e.boundingSphere)})}function jBe(e,t){return{geometry:t,attributes:e.attributes,modelMatrix:N.clone(e.modelMatrix),pickPrimitive:e.pickPrimitive,id:e.id}}var qBe=/attribute\s+vec(?:3|4)\s+(.*)3DHigh;/g;ar._modifyShaderPosition=function(e,t,n){let i,o="",r="",s="";for(;(i=qBe.exec(t))!==null;){let a=i[1],c=`vec4 czm_compute${a[0].toUpperCase()}${a.substr(1)}()`;c!=="vec4 czm_computePosition()"&&(o+=`${c};
  2302. `),l(e.rtcCenter)?(t=t.replace(/attribute\s+vec(?:3|4)\s+position3DHigh;/g,""),t=t.replace(/attribute\s+vec(?:3|4)\s+position3DLow;/g,""),o+=`uniform mat4 u_modifiedModelView;
  2303. `,r+=`attribute vec4 position;
  2304. `,s+=`${c}
  2305. {
  2306. return u_modifiedModelView * position;
  2307. }
  2308. `,t=t.replace(/czm_modelViewRelativeToEye\s+\*\s+/g,""),t=t.replace(/czm_modelViewProjectionRelativeToEye/g,"czm_projection")):n?s+=`${c}
  2309. {
  2310. return czm_translateRelativeToEye(${a}3DHigh, ${a}3DLow);
  2311. }
  2312. `:(r+=`attribute vec3 ${a}2DHigh;
  2313. attribute vec3 ${a}2DLow;
  2314. `,s+=`${c}
  2315. {
  2316. vec4 p;
  2317. if (czm_morphTime == 1.0)
  2318. {
  2319. p = czm_translateRelativeToEye(${a}3DHigh, ${a}3DLow);
  2320. }
  2321. else if (czm_morphTime == 0.0)
  2322. {
  2323. p = czm_translateRelativeToEye(${a}2DHigh.zxy, ${a}2DLow.zxy);
  2324. }
  2325. else
  2326. {
  2327. p = czm_columbusViewMorph(
  2328. czm_translateRelativeToEye(${a}2DHigh.zxy, ${a}2DLow.zxy),
  2329. czm_translateRelativeToEye(${a}3DHigh, ${a}3DLow),
  2330. czm_morphTime);
  2331. }
  2332. return p;
  2333. }
  2334. `)}return[o,r,t,s].join(`
  2335. `)};ar._appendShowToShader=function(e,t){return l(e._batchTableAttributeIndices.show)?`${ke.replaceMain(t,"czm_non_show_main")}
  2336. void main()
  2337. {
  2338. czm_non_show_main();
  2339. gl_Position *= czm_batchTable_show(batchId);
  2340. }`:t};ar._updateColorAttribute=function(e,t,n){if(!l(e._batchTableAttributeIndices.color)&&!l(e._batchTableAttributeIndices.depthFailColor)||t.search(/attribute\s+vec4\s+color;/g)===-1)return t;let i=t;return i=i.replace(/attribute\s+vec4\s+color;/g,""),n?i=i.replace(/(\b)color(\b)/g,"$1czm_batchTable_depthFailColor(batchId)$2"):i=i.replace(/(\b)color(\b)/g,"$1czm_batchTable_color(batchId)$2"),i};function Zne(e){return`${ke.replaceMain(e,"czm_non_pick_main")}
  2341. varying vec4 v_pickColor;
  2342. void main()
  2343. {
  2344. czm_non_pick_main();
  2345. v_pickColor = czm_batchTable_pickColor(batchId);
  2346. }`}function $ne(e){return`varying vec4 v_pickColor;
  2347. ${e}`}ar._updatePickColorAttribute=function(e){let t=e.replace(/attribute\s+vec4\s+pickColor;/g,"");return t=t.replace(/(\b)pickColor(\b)/g,"$1czm_batchTable_pickColor(batchId)$2"),t};ar._appendOffsetToShader=function(e,t){if(!l(e._batchTableAttributeIndices.offset))return t;let n=`attribute float batchId;
  2348. `;n+="attribute float applyOffset;";let i=t.replace(/attribute\s+float\s+batchId;/g,n),o=`vec4 $1 = czm_computePosition();
  2349. `;return o+=` if (czm_sceneMode == czm_sceneMode3D)
  2350. `,o+=` {
  2351. `,o+=" $1 = $1 + vec4(czm_batchTable_offset(batchId) * applyOffset, 0.0);",o+=` }
  2352. `,o+=` else
  2353. `,o+=` {
  2354. `,o+=" $1 = $1 + vec4(czm_batchTable_offset2D(batchId) * applyOffset, 0.0);",o+=` }
  2355. `,i=i.replace(/vec4\s+([A-Za-z0-9_]+)\s+=\s+czm_computePosition\(\);/g,o),i};ar._appendDistanceDisplayConditionToShader=function(e,t,n){if(!l(e._batchTableAttributeIndices.distanceDisplayCondition))return t;let i=ke.replaceMain(t,"czm_non_distanceDisplayCondition_main"),o=`void main()
  2356. {
  2357. czm_non_distanceDisplayCondition_main();
  2358. vec2 distanceDisplayCondition = czm_batchTable_distanceDisplayCondition(batchId);
  2359. vec3 boundingSphereCenter3DHigh = czm_batchTable_boundingSphereCenter3DHigh(batchId);
  2360. vec3 boundingSphereCenter3DLow = czm_batchTable_boundingSphereCenter3DLow(batchId);
  2361. float boundingSphereRadius = czm_batchTable_boundingSphereRadius(batchId);
  2362. `;return n?o+=` vec4 centerRTE = czm_translateRelativeToEye(boundingSphereCenter3DHigh, boundingSphereCenter3DLow);
  2363. `:o+=` vec3 boundingSphereCenter2DHigh = czm_batchTable_boundingSphereCenter2DHigh(batchId);
  2364. vec3 boundingSphereCenter2DLow = czm_batchTable_boundingSphereCenter2DLow(batchId);
  2365. vec4 centerRTE;
  2366. if (czm_morphTime == 1.0)
  2367. {
  2368. centerRTE = czm_translateRelativeToEye(boundingSphereCenter3DHigh, boundingSphereCenter3DLow);
  2369. }
  2370. else if (czm_morphTime == 0.0)
  2371. {
  2372. centerRTE = czm_translateRelativeToEye(boundingSphereCenter2DHigh.zxy, boundingSphereCenter2DLow.zxy);
  2373. }
  2374. else
  2375. {
  2376. centerRTE = czm_columbusViewMorph(
  2377. czm_translateRelativeToEye(boundingSphereCenter2DHigh.zxy, boundingSphereCenter2DLow.zxy),
  2378. czm_translateRelativeToEye(boundingSphereCenter3DHigh, boundingSphereCenter3DLow),
  2379. czm_morphTime);
  2380. }
  2381. `,o+=` float radiusSq = boundingSphereRadius * boundingSphereRadius;
  2382. float distanceSq;
  2383. if (czm_sceneMode == czm_sceneMode2D)
  2384. {
  2385. distanceSq = czm_eyeHeight2D.y - radiusSq;
  2386. }
  2387. else
  2388. {
  2389. distanceSq = dot(centerRTE.xyz, centerRTE.xyz) - radiusSq;
  2390. }
  2391. distanceSq = max(distanceSq, 0.0);
  2392. float nearSq = distanceDisplayCondition.x * distanceDisplayCondition.x;
  2393. float farSq = distanceDisplayCondition.y * distanceDisplayCondition.y;
  2394. float show = (distanceSq >= nearSq && distanceSq <= farSq) ? 1.0 : 0.0;
  2395. gl_Position *= show;
  2396. }`,`${i}
  2397. ${o}`};function Jne(e,t){if(!e.compressVertices)return t;let n=t.search(/attribute\s+vec3\s+normal;/g)!==-1,i=t.search(/attribute\s+vec2\s+st;/g)!==-1;if(!n&&!i)return t;let o=t.search(/attribute\s+vec3\s+tangent;/g)!==-1,r=t.search(/attribute\s+vec3\s+bitangent;/g)!==-1,s=i&&n?2:1;s+=o||r?1:0;let a=s>1?`vec${s}`:"float",c="compressedAttributes",u=`attribute ${a} ${c};`,f="",d="";i&&(f+=`vec2 st;
  2398. `,d+=` st = czm_decompressTextureCoordinates(${s>1?`${c}.x`:c});
  2399. `),n&&o&&r?(f+=`vec3 normal;
  2400. vec3 tangent;
  2401. vec3 bitangent;
  2402. `,d+=` czm_octDecode(${c}.${i?"yz":"xy"}, normal, tangent, bitangent);
  2403. `):(n&&(f+=`vec3 normal;
  2404. `,d+=` normal = czm_octDecode(${c}${s>1?`.${i?"y":"x"}`:""});
  2405. `),o&&(f+=`vec3 tangent;
  2406. `,d+=` tangent = czm_octDecode(${c}.${i&&n?"z":"y"});
  2407. `),r&&(f+=`vec3 bitangent;
  2408. `,d+=` bitangent = czm_octDecode(${c}.${i&&n?"z":"y"});
  2409. `));let p=t;p=p.replace(/attribute\s+vec3\s+normal;/g,""),p=p.replace(/attribute\s+vec2\s+st;/g,""),p=p.replace(/attribute\s+vec3\s+tangent;/g,""),p=p.replace(/attribute\s+vec3\s+bitangent;/g,""),p=ke.replaceMain(p,"czm_non_compressed_main");let g=`void main()
  2410. {
  2411. ${d} czm_non_compressed_main();
  2412. }`;return[u,f,p,g].join(`
  2413. `)}function YBe(e){let t=ke.replaceMain(e,"czm_non_depth_clamp_main");return t+=`void main() {
  2414. czm_non_depth_clamp_main();
  2415. gl_Position = czm_depthClamp(gl_Position);}
  2416. `,t}function XBe(e){let t=ke.replaceMain(e,"czm_non_depth_clamp_main");return t+=`void main() {
  2417. czm_non_depth_clamp_main();
  2418. #if defined(GL_EXT_frag_depth)
  2419. #if defined(LOG_DEPTH)
  2420. czm_writeLogDepth();
  2421. #else
  2422. czm_writeDepthClamp();
  2423. #endif
  2424. #endif
  2425. }
  2426. `,t=`#ifdef GL_EXT_frag_depth
  2427. #extension GL_EXT_frag_depth : enable
  2428. #endif
  2429. ${t}`,t}function Qne(e,t){let n=e.vertexAttributes}function KBe(e,t){return function(){return e[t]}}var RG=Math.max(Mt.hardwareConcurrency-1,1),rB,ZBe=new Ti("combineGeometry");function $Be(e,t){let n,i,o,r,s=e._instanceIds;if(e._state===_r.READY){n=Array.isArray(e.geometryInstances)?e.geometryInstances:[e.geometryInstances];let a=e._numberOfInstances=n.length,c=[],u=[];for(o=0;o<a;++o)i=n[o].geometry,s.push(n[o].id),u.push({moduleName:i._workerName,geometry:i});if(!l(rB))for(rB=new Array(RG),o=0;o<RG;o++)rB[o]=new Ti("createGeometry");let f;for(u=$I(u,RG),o=0;o<u.length;o++){let d=0,p=u[o],g=p.length;for(r=0;r<g;++r)f=p[r],i=f.geometry,l(i.constructor.pack)&&(f.offset=d,d+=y(i.constructor.packedLength,i.packedLength));let m;if(d>0){let C=new Float64Array(d);for(m=[C.buffer],r=0;r<g;++r)f=p[r],i=f.geometry,l(i.constructor.pack)&&(i.constructor.pack(i,C,f.offset),f.geometry=C)}c.push(rB[o].scheduleTask({subTasks:u[o]},m))}e._state=_r.CREATING,Promise.all(c).then(function(d){e._createGeometryResults=d,e._state=_r.CREATED}).catch(function(d){ES(e,t,_r.FAILED,d)})}else if(e._state===_r.CREATED){let a=[];n=Array.isArray(e.geometryInstances)?e.geometryInstances:[e.geometryInstances];let c=t.scene3DOnly,u=t.mapProjection,f=ZBe.scheduleTask(bA.packCombineGeometryParameters({createGeometryResults:e._createGeometryResults,instances:n,ellipsoid:u.ellipsoid,projection:u,elementIndexUintSupported:t.context.elementIndexUint,scene3DOnly:c,vertexCacheOptimize:e.vertexCacheOptimize,compressVertices:e.compressVertices,modelMatrix:e.modelMatrix,createPickOffsets:e._createPickOffsets},a),a);e._createGeometryResults=void 0,e._state=_r.COMBINING,Promise.resolve(f).then(function(d){let p=bA.unpackCombineGeometryResults(d);e._geometries=p.geometries,e._attributeLocations=p.attributeLocations,e.modelMatrix=N.clone(p.modelMatrix,e.modelMatrix),e._pickOffsets=p.pickOffsets,e._offsetInstanceExtend=p.offsetInstanceExtend,e._instanceBoundingSpheres=p.boundingSpheres,e._instanceBoundingSpheresCV=p.boundingSpheresCV,l(e._geometries)&&e._geometries.length>0?(e._recomputeBoundingSpheres=!0,e._state=_r.COMBINED):ES(e,t,_r.FAILED,void 0)}).catch(function(d){ES(e,t,_r.FAILED,d)})}}function JBe(e,t){let n=Array.isArray(e.geometryInstances)?e.geometryInstances:[e.geometryInstances],i=e._numberOfInstances=n.length,o=new Array(i),r=e._instanceIds,s,a,c=0;for(a=0;a<i;a++){s=n[a];let p=s.geometry,g;l(p.attributes)&&l(p.primitiveType)?g=WBe(p):g=p.constructor.createGeometry(p),o[c++]=jBe(s,g),r.push(s.id)}o.length=c;let u=t.scene3DOnly,f=t.mapProjection,d=bA.combineGeometry({instances:o,ellipsoid:f.ellipsoid,projection:f,elementIndexUintSupported:t.context.elementIndexUint,scene3DOnly:u,vertexCacheOptimize:e.vertexCacheOptimize,compressVertices:e.compressVertices,modelMatrix:e.modelMatrix,createPickOffsets:e._createPickOffsets});e._geometries=d.geometries,e._attributeLocations=d.attributeLocations,e.modelMatrix=N.clone(d.modelMatrix,e.modelMatrix),e._pickOffsets=d.pickOffsets,e._offsetInstanceExtend=d.offsetInstanceExtend,e._instanceBoundingSpheres=d.boundingSpheres,e._instanceBoundingSpheresCV=d.boundingSpheresCV,l(e._geometries)&&e._geometries.length>0?(e._recomputeBoundingSpheres=!0,e._state=_r.COMBINED):ES(e,t,_r.FAILED,void 0)}function QBe(e,t){let n=e._batchTableAttributeIndices.offset;if(!e._recomputeBoundingSpheres||!l(n)){e._recomputeBoundingSpheres=!1;return}let i,o=e._offsetInstanceExtend,r=e._instanceBoundingSpheres,s=r.length,a=e._tempBoundingSpheres;if(!l(a)){for(a=new Array(s),i=0;i<s;i++)a[i]=new re;e._tempBoundingSpheres=a}for(i=0;i<s;++i){let C=a[i],x=e._batchTable.getBatchedAttribute(i,n,new h);C=r[i].clone(C),lie(C,x,o[i])}let c=[],u=[],f=[];for(i=0;i<s;++i){let C=a[i];C.center.x-C.radius>0||re.intersectPlane(C,en.ORIGIN_ZX_PLANE)!==Kt.INTERSECTING?c.push(C):(u.push(C),f.push(C))}let d=c[0],p=f[0],g=u[0];for(i=1;i<c.length;i++)d=re.union(d,c[i]);for(i=1;i<f.length;i++)p=re.union(p,f[i]);for(i=1;i<u.length;i++)g=re.union(g,u[i]);let m=[];for(l(d)&&m.push(d),l(p)&&m.push(p),l(g)&&m.push(g),i=0;i<m.length;i++){let C=m[i].clone(e._boundingSpheres[i]);e._boundingSpheres[i]=C,e._boundingSphereCV[i]=re.projectTo2D(C,t.mapProjection,e._boundingSphereCV[i])}ar._updateBoundingVolumes(e,t,e.modelMatrix,!0),e._recomputeBoundingSpheres=!1}var eie=new Un,sie=new he,aie=new h,cie=new re;function eLe(e,t){if(!l(e._batchTableAttributeIndices.distanceDisplayCondition)||e._batchTableBoundingSpheresUpdated)return;let i=e._batchTableBoundingSphereAttributeIndices,o=i.center3DHigh,r=i.center3DLow,s=i.center2DHigh,a=i.center2DLow,c=i.radius,u=t.mapProjection,f=u.ellipsoid,d=e._batchTable,p=e._instanceBoundingSpheres,g=p.length;for(let m=0;m<g;++m){let C=p[m];if(!l(C))continue;let x=e.modelMatrix;l(x)&&(C=re.transform(C,x,cie));let A=C.center,b=C.radius,E=Un.fromCartesian(A,eie);if(d.setBatchedAttribute(m,o,E.high),d.setBatchedAttribute(m,r,E.low),!t.scene3DOnly){let S=f.cartesianToCartographic(A,sie),v=u.project(S,aie);E=Un.fromCartesian(v,eie),d.setBatchedAttribute(m,s,E.high),d.setBatchedAttribute(m,a,E.low)}d.setBatchedAttribute(m,c,b)}e._batchTableBoundingSpheresUpdated=!0}var MG=new h,tLe=new h;function tie(e,t){if(!l(e._batchTableAttributeIndices.offset)||e._batchTableOffsetsUpdated||t.scene3DOnly)return;let i=e._batchTableOffsetAttribute2DIndex,o=t.mapProjection,r=o.ellipsoid,s=e._batchTable,a=e._instanceBoundingSpheres,c=a.length;for(let u=0;u<c;++u){let f=a[u];if(!l(f))continue;let d=s.getBatchedAttribute(u,e._batchTableAttributeIndices.offset);if(h.equals(d,h.ZERO)){s.setBatchedAttribute(u,i,h.ZERO);continue}let p=e.modelMatrix;l(p)&&(f=re.transform(f,p,cie));let g=f.center;g=r.scaleToGeodeticSurface(g,tLe);let m=r.cartesianToCartographic(g,sie),C=o.project(m,aie),x=h.add(d,g,MG);m=r.cartesianToCartographic(x,m);let A=o.project(m,MG),b=h.subtract(A,C,MG),E=b.x;b.x=b.z,b.z=b.y,b.y=E,s.setBatchedAttribute(u,i,b)}e._batchTableOffsetsUpdated=!0}function nLe(e,t){let n=e._attributeLocations,i=e._geometries,o=t.scene3DOnly,r=t.context,s=[],a=i.length;for(let c=0;c<a;++c){let u=i[c];if(s.push(ti.fromGeometry({context:r,geometry:u,attributeLocations:n,bufferUsage:Le.STATIC_DRAW,interleave:e._interleave})),l(e._createBoundingVolumeFunction))e._createBoundingVolumeFunction(t,u);else if(e._boundingSpheres.push(re.clone(u.boundingSphere)),e._boundingSphereWC.push(new re),!o){let f=u.boundingSphereCV.center,d=f.x,p=f.y,g=f.z;f.x=g,f.y=d,f.z=p,e._boundingSphereCV.push(re.clone(u.boundingSphereCV)),e._boundingSphere2D.push(new re),e._boundingSphereMorph.push(new re)}}e._va=s,e._primitiveType=i[0].primitiveType,e.releaseGeometryInstances&&(e.geometryInstances=void 0),e._geometries=void 0,ES(e,t,_r.COMPLETE,void 0)}function iLe(e,t,n,i){let o=n.getRenderState(),r;i?(r=et(o,!1),r.cull={enabled:!0,face:wi.BACK},e._frontFaceRS=Fe.fromCache(r),r.cull.face=wi.FRONT,e._backFaceRS=Fe.fromCache(r)):(e._frontFaceRS=Fe.fromCache(o),e._backFaceRS=e._frontFaceRS),r=et(o,!1),l(e._depthFailAppearance)&&(r.depthTest.enabled=!1),l(e._depthFailAppearance)&&(o=e._depthFailAppearance.getRenderState(),r=et(o,!1),r.depthTest.func=ac.GREATER,i?(r.cull={enabled:!0,face:wi.BACK},e._frontFaceDepthFailRS=Fe.fromCache(r),r.cull.face=wi.FRONT,e._backFaceDepthFailRS=Fe.fromCache(r)):(e._frontFaceDepthFailRS=Fe.fromCache(r),e._backFaceDepthFailRS=e._frontFaceRS))}function oLe(e,t,n){let i=t.context,o=e._attributeLocations,r=e._batchTable.getVertexShaderCallback()(n.vertexShaderSource);r=ar._appendOffsetToShader(e,r),r=ar._appendShowToShader(e,r),r=ar._appendDistanceDisplayConditionToShader(e,r,t.scene3DOnly),r=Zne(r),r=ar._updateColorAttribute(e,r,!1),r=Jne(e,r),r=ar._modifyShaderPosition(e,r,t.scene3DOnly);let s=n.getFragmentShaderSource();s=$ne(s),e._sp=Yt.replaceCache({context:i,shaderProgram:e._sp,vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:o}),Qne(e._sp,o),l(e._depthFailAppearance)&&(r=e._batchTable.getVertexShaderCallback()(e._depthFailAppearance.vertexShaderSource),r=ar._appendShowToShader(e,r),r=ar._appendDistanceDisplayConditionToShader(e,r,t.scene3DOnly),r=Zne(r),r=ar._updateColorAttribute(e,r,!0),r=Jne(e,r),r=ar._modifyShaderPosition(e,r,t.scene3DOnly),r=YBe(r),s=e._depthFailAppearance.getFragmentShaderSource(),s=$ne(s),s=XBe(s),e._spDepthFail=Yt.replaceCache({context:i,shaderProgram:e._spDepthFail,vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:o}),Qne(e._spDepthFail,o))}var TS=new N,nie=new h;function iie(e,t,n,i){let o=l(n)?n._uniforms:void 0,r={},s=t.uniforms;if(l(s))for(let c in s)s.hasOwnProperty(c)&&(r[c]=KBe(s,c));let a=mt(r,o);return a=e._batchTable.getUniformMapCallback()(a),l(e.rtcCenter)&&(a.u_modifiedModelView=function(){let c=i.context.uniformState.view;return N.multiply(c,e._modelMatrix,TS),N.multiplyByPoint(TS,e.rtcCenter,nie),N.setTranslation(TS,nie,TS),TS}),a}function rLe(e,t,n,i,o,r,s,a){let c=iie(e,t,n,a),u;l(e._depthFailAppearance)&&(u=iie(e,e._depthFailAppearance,e._depthFailAppearance.material,a));let f=i?xe.TRANSLUCENT:xe.OPAQUE,d=o?2:1;d*=l(e._depthFailAppearance)?2:1,r.length=e._va.length*d;let p=r.length,g=0;for(let m=0;m<p;++m){let C;o&&(C=r[m],l(C)||(C=r[m]=new Je({owner:e,primitiveType:e._primitiveType})),C.vertexArray=e._va[g],C.renderState=e._backFaceRS,C.shaderProgram=e._sp,C.uniformMap=c,C.pass=f,++m),C=r[m],l(C)||(C=r[m]=new Je({owner:e,primitiveType:e._primitiveType})),C.vertexArray=e._va[g],C.renderState=e._frontFaceRS,C.shaderProgram=e._sp,C.uniformMap=c,C.pass=f,l(e._depthFailAppearance)&&(o&&(++m,C=r[m],l(C)||(C=r[m]=new Je({owner:e,primitiveType:e._primitiveType})),C.vertexArray=e._va[g],C.renderState=e._backFaceDepthFailRS,C.shaderProgram=e._spDepthFail,C.uniformMap=u,C.pass=f),++m,C=r[m],l(C)||(C=r[m]=new Je({owner:e,primitiveType:e._primitiveType})),C.vertexArray=e._va[g],C.renderState=e._frontFaceDepthFailRS,C.shaderProgram=e._spDepthFail,C.uniformMap=u,C.pass=f),++g}}ar._updateBoundingVolumes=function(e,t,n,i){let o,r,s;if(i||!N.equals(n,e._modelMatrix))for(N.clone(n,e._modelMatrix),r=e._boundingSpheres.length,o=0;o<r;++o)s=e._boundingSpheres[o],l(s)&&(e._boundingSphereWC[o]=re.transform(s,n,e._boundingSphereWC[o]),t.scene3DOnly||(e._boundingSphere2D[o]=re.clone(e._boundingSphereCV[o],e._boundingSphere2D[o]),e._boundingSphere2D[o].center.x=0,e._boundingSphereMorph[o]=re.union(e._boundingSphereWC[o],e._boundingSphereCV[o])));let a=e.appearance.pixelSize;if(l(a))for(r=e._boundingSpheres.length,o=0;o<r;++o){s=e._boundingSpheres[o];let c=e._boundingSphereWC[o],f=t.camera.getPixelSize(s,t.context.drawingBufferWidth,t.context.drawingBufferHeight)*a;c.radius=s.radius+f}};function sLe(e,t,n,i,o,r,s,a){ar._updateBoundingVolumes(e,t,o);let c;t.mode===ee.SCENE3D?c=e._boundingSphereWC:t.mode===ee.COLUMBUS_VIEW?c=e._boundingSphereCV:t.mode===ee.SCENE2D&&l(e._boundingSphere2D)?c=e._boundingSphere2D:l(e._boundingSphereMorph)&&(c=e._boundingSphereMorph);let u=t.commandList,f=t.passes;if(f.render||f.pick){let d=e.allowPicking,p=mn.castShadows(e.shadows),g=mn.receiveShadows(e.shadows),m=n.length,C=a?2:1;C*=l(e._depthFailAppearance)?2:1;for(let x=0;x<m;++x){let A=Math.floor(x/C),b=n[x];b.modelMatrix=o,b.boundingVolume=c[A],b.cull=r,b.debugShowBoundingVolume=s,b.castShadows=p,b.receiveShadows=g,d?b.pickId="v_pickColor":b.pickId=void 0,u.push(b)}}}ar.prototype.update=function(e){if(!l(this.geometryInstances)&&this._va.length===0||l(this.geometryInstances)&&Array.isArray(this.geometryInstances)&&this.geometryInstances.length===0||!l(this.appearance)||e.mode!==ee.SCENE3D&&e.scene3DOnly||!e.passes.render&&!e.passes.pick)return;if(l(this._error))throw this._error;if(this._state===_r.FAILED)return;let t=e.context;if(l(this._batchTable)||HBe(this,t),this._batchTable.attributes.length>0){if(kt.maximumVertexTextureImageUnits===0)throw new de("Vertex texture fetch support is required to render primitives with per-instance attributes. The maximum number of vertex texture image units must be greater than zero.");this._batchTable.update(e)}if(this._state!==_r.COMPLETE&&this._state!==_r.COMBINED&&(this.asynchronous?$Be(this,e):JBe(this,e)),this._state===_r.COMBINED&&(eLe(this,e),tie(this,e),nLe(this,e)),!this.show||this._state!==_r.COMPLETE)return;this._batchTableOffsetsUpdated||tie(this,e),this._recomputeBoundingSpheres&&QBe(this,e);let n=this.appearance,i=n.material,o=!1,r=!1;this._appearance!==n?(this._appearance=n,this._material=i,o=!0,r=!0):this._material!==i&&(this._material=i,r=!0);let s=this.depthFailAppearance,a=l(s)?s.material:void 0;this._depthFailAppearance!==s?(this._depthFailAppearance=s,this._depthFailMaterial=a,o=!0,r=!0):this._depthFailMaterial!==a&&(this._depthFailMaterial=a,r=!0);let c=this._appearance.isTranslucent();this._translucent!==c&&(this._translucent=c,o=!0),l(this._material)&&this._material.update(t);let u=n.closed&&c;o&&y(this._createRenderStatesFunction,iLe)(this,t,n,u),r&&y(this._createShaderProgramFunction,oLe)(this,e,n),(o||r)&&y(this._createCommandsFunction,rLe)(this,n,i,c,u,this._colorCommands,this._pickCommands,e),y(this._updateAndQueueCommandsFunction,sLe)(this,e,this._colorCommands,this._pickCommands,this.modelMatrix,this.cull,this.debugShowBoundingVolume,u)};var aLe=new re,cLe=new re;function lie(e,t,n){if(n===Jt.TOP){let i=re.clone(e,aLe),o=re.clone(e,cLe);o.center=h.add(o.center,t,o.center),e=re.union(i,o,e)}else n===Jt.ALL&&(e.center=h.add(e.center,t,e.center));return e}function lLe(e,t,n){return function(){let i=e.getBatchedAttribute(t,n),o=e.attributes[n],r=o.componentsPerAttribute,s=Z.createTypedArray(o.componentDatatype,r);return l(i.constructor.pack)?i.constructor.pack(i,s,0):s[0]=i,s}}function uLe(e,t,n,i,o){return function(r){let s=rie(r);e.setBatchedAttribute(t,n,s),o==="offset"&&(i._recomputeBoundingSpheres=!0,i._batchTableOffsetsUpdated=!1)}}var fLe=new h;function dLe(e,t,n){t.boundingSphere={get:function(){let i=e._instanceBoundingSpheres[n];if(l(i)){i=i.clone();let o=e.modelMatrix,r=t.offset;l(r)&&lie(i,h.fromArray(r.get(),0,fLe),e._offsetInstanceExtend[n]),l(o)&&(i=re.transform(i,o))}return i}},t.boundingSphereCV={get:function(){return e._instanceBoundingSpheresCV[n]}}}function hLe(e,t,n){t.pickId={get:function(){return e._pickIds[n]}}}ar.prototype.getGeometryInstanceAttributes=function(e){let t=-1,n=this._lastPerInstanceAttributeIndex,i=this._instanceIds,o=i.length;for(let u=0;u<o;++u){let f=(n+u)%o;if(e===i[f]){t=f;break}}if(t===-1)return;let r=this._perInstanceAttributeCache[t];if(l(r))return r;let s=this._batchTable,a=this._batchTableAttributeIndices;r={};let c={};for(let u in a)if(a.hasOwnProperty(u)){let f=a[u];c[u]={get:lLe(s,t,f),set:uLe(s,t,f,this,u)}}return dLe(this,c,t),hLe(this,c,t),Object.defineProperties(r,c),this._lastPerInstanceAttributeIndex=t,this._perInstanceAttributeCache[t]=r,r};ar.prototype.isDestroyed=function(){return!1};ar.prototype.destroy=function(){let e,t;this._sp=this._sp&&this._sp.destroy(),this._spDepthFail=this._spDepthFail&&this._spDepthFail.destroy();let n=this._va;for(e=n.length,t=0;t<e;++t)n[t].destroy();this._va=void 0;let i=this._pickIds;for(e=i.length,t=0;t<e;++t)i[t].destroy();return this._pickIds=void 0,this._batchTable=this._batchTable&&this._batchTable.destroy(),this._instanceIds=void 0,this._perInstanceAttributeCache=void 0,this._attributeLocations=void 0,fe(this)};function ES(e,t,n,i){e._completeLoad(t,n,i)}var xn=ar;var bS=`#ifdef GL_EXT_frag_depth
  2430. #extension GL_EXT_frag_depth : enable
  2431. #endif
  2432. #ifdef TEXTURE_COORDINATES
  2433. #ifdef SPHERICAL
  2434. varying vec4 v_sphericalExtents;
  2435. #else // SPHERICAL
  2436. varying vec2 v_inversePlaneExtents;
  2437. varying vec4 v_westPlane;
  2438. varying vec4 v_southPlane;
  2439. #endif // SPHERICAL
  2440. varying vec3 v_uvMinAndSphericalLongitudeRotation;
  2441. varying vec3 v_uMaxAndInverseDistance;
  2442. varying vec3 v_vMaxAndInverseDistance;
  2443. #endif // TEXTURE_COORDINATES
  2444. #ifdef PER_INSTANCE_COLOR
  2445. varying vec4 v_color;
  2446. #endif
  2447. #ifdef NORMAL_EC
  2448. vec3 getEyeCoordinate3FromWindowCoordinate(vec2 fragCoord, float logDepthOrDepth) {
  2449. vec4 eyeCoordinate = czm_windowToEyeCoordinates(fragCoord, logDepthOrDepth);
  2450. return eyeCoordinate.xyz / eyeCoordinate.w;
  2451. }
  2452. vec3 vectorFromOffset(vec4 eyeCoordinate, vec2 positiveOffset) {
  2453. vec2 glFragCoordXY = gl_FragCoord.xy;
  2454. float upOrRightLogDepth = czm_unpackDepth(texture2D(czm_globeDepthTexture, (glFragCoordXY + positiveOffset) / czm_viewport.zw));
  2455. float downOrLeftLogDepth = czm_unpackDepth(texture2D(czm_globeDepthTexture, (glFragCoordXY - positiveOffset) / czm_viewport.zw));
  2456. bvec2 upOrRightInBounds = lessThan(glFragCoordXY + positiveOffset, czm_viewport.zw);
  2457. float useUpOrRight = float(upOrRightLogDepth > 0.0 && upOrRightInBounds.x && upOrRightInBounds.y);
  2458. float useDownOrLeft = float(useUpOrRight == 0.0);
  2459. vec3 upOrRightEC = getEyeCoordinate3FromWindowCoordinate(glFragCoordXY + positiveOffset, upOrRightLogDepth);
  2460. vec3 downOrLeftEC = getEyeCoordinate3FromWindowCoordinate(glFragCoordXY - positiveOffset, downOrLeftLogDepth);
  2461. return (upOrRightEC - (eyeCoordinate.xyz / eyeCoordinate.w)) * useUpOrRight + ((eyeCoordinate.xyz / eyeCoordinate.w) - downOrLeftEC) * useDownOrLeft;
  2462. }
  2463. #endif // NORMAL_EC
  2464. void main(void)
  2465. {
  2466. #ifdef REQUIRES_EC
  2467. float logDepthOrDepth = czm_unpackDepth(texture2D(czm_globeDepthTexture, gl_FragCoord.xy / czm_viewport.zw));
  2468. vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, logDepthOrDepth);
  2469. #endif
  2470. #ifdef REQUIRES_WC
  2471. vec4 worldCoordinate4 = czm_inverseView * eyeCoordinate;
  2472. vec3 worldCoordinate = worldCoordinate4.xyz / worldCoordinate4.w;
  2473. #endif
  2474. #ifdef TEXTURE_COORDINATES
  2475. vec2 uv;
  2476. #ifdef SPHERICAL
  2477. vec2 sphericalLatLong = czm_approximateSphericalCoordinates(worldCoordinate);
  2478. sphericalLatLong.y += v_uvMinAndSphericalLongitudeRotation.z;
  2479. sphericalLatLong.y = czm_branchFreeTernary(sphericalLatLong.y < czm_pi, sphericalLatLong.y, sphericalLatLong.y - czm_twoPi);
  2480. uv.x = (sphericalLatLong.y - v_sphericalExtents.y) * v_sphericalExtents.w;
  2481. uv.y = (sphericalLatLong.x - v_sphericalExtents.x) * v_sphericalExtents.z;
  2482. #else // SPHERICAL
  2483. uv.x = czm_planeDistance(v_westPlane, eyeCoordinate.xyz / eyeCoordinate.w) * v_inversePlaneExtents.x;
  2484. uv.y = czm_planeDistance(v_southPlane, eyeCoordinate.xyz / eyeCoordinate.w) * v_inversePlaneExtents.y;
  2485. #endif // SPHERICAL
  2486. #endif // TEXTURE_COORDINATES
  2487. #ifdef PICK
  2488. #ifdef CULL_FRAGMENTS
  2489. if (0.0 <= uv.x && uv.x <= 1.0 && 0.0 <= uv.y && uv.y <= 1.0 || logDepthOrDepth != 0.0) {
  2490. gl_FragColor.a = 1.0;
  2491. czm_writeDepthClamp();
  2492. }
  2493. #else // CULL_FRAGMENTS
  2494. gl_FragColor.a = 1.0;
  2495. #endif // CULL_FRAGMENTS
  2496. #else // PICK
  2497. #ifdef CULL_FRAGMENTS
  2498. if (uv.x <= 0.0 || 1.0 <= uv.x || uv.y <= 0.0 || 1.0 <= uv.y || logDepthOrDepth == 0.0) {
  2499. discard;
  2500. }
  2501. #endif
  2502. #ifdef NORMAL_EC
  2503. vec3 downUp = vectorFromOffset(eyeCoordinate, vec2(0.0, 1.0));
  2504. vec3 leftRight = vectorFromOffset(eyeCoordinate, vec2(1.0, 0.0));
  2505. vec3 normalEC = normalize(cross(leftRight, downUp));
  2506. #endif
  2507. #ifdef PER_INSTANCE_COLOR
  2508. vec4 color = czm_gammaCorrect(v_color);
  2509. #ifdef FLAT
  2510. gl_FragColor = color;
  2511. #else // FLAT
  2512. czm_materialInput materialInput;
  2513. materialInput.normalEC = normalEC;
  2514. materialInput.positionToEyeEC = -eyeCoordinate.xyz;
  2515. czm_material material = czm_getDefaultMaterial(materialInput);
  2516. material.diffuse = color.rgb;
  2517. material.alpha = color.a;
  2518. gl_FragColor = czm_phong(normalize(-eyeCoordinate.xyz), material, czm_lightDirectionEC);
  2519. #endif // FLAT
  2520. gl_FragColor.rgb *= gl_FragColor.a;
  2521. #else // PER_INSTANCE_COLOR
  2522. czm_materialInput materialInput;
  2523. #ifdef USES_NORMAL_EC
  2524. materialInput.normalEC = normalEC;
  2525. #endif
  2526. #ifdef USES_POSITION_TO_EYE_EC
  2527. materialInput.positionToEyeEC = -eyeCoordinate.xyz;
  2528. #endif
  2529. #ifdef USES_TANGENT_TO_EYE
  2530. materialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(worldCoordinate, normalEC);
  2531. #endif
  2532. #ifdef USES_ST
  2533. materialInput.st.x = czm_lineDistance(v_uvMinAndSphericalLongitudeRotation.xy, v_uMaxAndInverseDistance.xy, uv) * v_uMaxAndInverseDistance.z;
  2534. materialInput.st.y = czm_lineDistance(v_uvMinAndSphericalLongitudeRotation.xy, v_vMaxAndInverseDistance.xy, uv) * v_vMaxAndInverseDistance.z;
  2535. #endif
  2536. czm_material material = czm_getMaterial(materialInput);
  2537. #ifdef FLAT
  2538. gl_FragColor = vec4(material.diffuse + material.emission, material.alpha);
  2539. #else // FLAT
  2540. gl_FragColor = czm_phong(normalize(-eyeCoordinate.xyz), material, czm_lightDirectionEC);
  2541. #endif // FLAT
  2542. gl_FragColor.rgb *= gl_FragColor.a;
  2543. #endif // PER_INSTANCE_COLOR
  2544. czm_writeDepthClamp();
  2545. #endif // PICK
  2546. }
  2547. `;function Cu(e,t,n){this._projectionExtentDefines={eastMostYhighDefine:"",eastMostYlowDefine:"",westMostYhighDefine:"",westMostYlowDefine:""};let i=new BG;i.requiresTextureCoordinates=e,i.requiresEC=!n.flat;let o=new BG;if(o.requiresTextureCoordinates=e,n instanceof Qt)i.requiresNormalEC=!n.flat;else{let r=`${n.material.shaderSource}
  2548. ${n.fragmentShaderSource}`;i.normalEC=r.indexOf("materialInput.normalEC")!==-1||r.indexOf("czm_getDefaultMaterial")!==-1,i.positionToEyeEC=r.indexOf("materialInput.positionToEyeEC")!==-1,i.tangentToEyeMatrix=r.indexOf("materialInput.tangentToEyeMatrix")!==-1,i.st=r.indexOf("materialInput.st")!==-1}this._colorShaderDependencies=i,this._pickShaderDependencies=o,this._appearance=n,this._extentsCulling=e,this._planarExtents=t}Cu.prototype.createFragmentShader=function(e){let t=this._appearance,n=this._colorShaderDependencies,i=[];!e&&!this._planarExtents&&i.push("SPHERICAL"),n.requiresEC&&i.push("REQUIRES_EC"),n.requiresWC&&i.push("REQUIRES_WC"),n.requiresTextureCoordinates&&i.push("TEXTURE_COORDINATES"),this._extentsCulling&&i.push("CULL_FRAGMENTS"),n.requiresNormalEC&&i.push("NORMAL_EC"),t instanceof Qt&&i.push("PER_INSTANCE_COLOR"),n.normalEC&&i.push("USES_NORMAL_EC"),n.positionToEyeEC&&i.push("USES_POSITION_TO_EYE_EC"),n.tangentToEyeMatrix&&i.push("USES_TANGENT_TO_EYE"),n.st&&i.push("USES_ST"),t.flat&&i.push("FLAT");let o="";return t instanceof Qt||(o=t.material.shaderSource),new ke({defines:i,sources:[o,bS]})};Cu.prototype.createPickFragmentShader=function(e){let t=this._pickShaderDependencies,n=["PICK"];return!e&&!this._planarExtents&&n.push("SPHERICAL"),t.requiresEC&&n.push("REQUIRES_EC"),t.requiresWC&&n.push("REQUIRES_WC"),t.requiresTextureCoordinates&&n.push("TEXTURE_COORDINATES"),this._extentsCulling&&n.push("CULL_FRAGMENTS"),new ke({defines:n,sources:[bS],pickColorQualifier:"varying"})};Cu.prototype.createVertexShader=function(e,t,n,i){return gie(this._colorShaderDependencies,this._planarExtents,n,e,t,this._appearance,i,this._projectionExtentDefines)};Cu.prototype.createPickVertexShader=function(e,t,n,i){return gie(this._pickShaderDependencies,this._planarExtents,n,e,t,void 0,i,this._projectionExtentDefines)};var uie=new h,fie=new he,die={high:0,low:0};function gie(e,t,n,i,o,r,s,a){let c=i.slice();if(a.eastMostYhighDefine===""){let u=fie;u.longitude=I.PI,u.latitude=0,u.height=0;let f=s.project(u,uie),d=Un.encode(f.x,die);a.eastMostYhighDefine=`EAST_MOST_X_HIGH ${d.high.toFixed(`${d.high}`.length+1)}`,a.eastMostYlowDefine=`EAST_MOST_X_LOW ${d.low.toFixed(`${d.low}`.length+1)}`;let p=fie;p.longitude=-I.PI,p.latitude=0,p.height=0;let g=s.project(p,uie);d=Un.encode(g.x,die),a.westMostYhighDefine=`WEST_MOST_X_HIGH ${d.high.toFixed(`${d.high}`.length+1)}`,a.westMostYlowDefine=`WEST_MOST_X_LOW ${d.low.toFixed(`${d.low}`.length+1)}`}return n&&(c.push(a.eastMostYhighDefine),c.push(a.eastMostYlowDefine),c.push(a.westMostYhighDefine),c.push(a.westMostYlowDefine)),l(r)&&r instanceof Qt&&c.push("PER_INSTANCE_COLOR"),e.requiresTextureCoordinates&&(c.push("TEXTURE_COORDINATES"),t||n||c.push("SPHERICAL"),n&&c.push("COLUMBUS_VIEW_2D")),new ke({defines:c,sources:[o]})}function BG(){this._requiresEC=!1,this._requiresWC=!1,this._requiresNormalEC=!1,this._requiresTextureCoordinates=!1,this._usesNormalEC=!1,this._usesPositionToEyeEC=!1,this._usesTangentToEyeMat=!1,this._usesSt=!1}Object.defineProperties(BG.prototype,{requiresEC:{get:function(){return this._requiresEC},set:function(e){this._requiresEC=e||this._requiresEC}},requiresWC:{get:function(){return this._requiresWC},set:function(e){this._requiresWC=e||this._requiresWC,this.requiresEC=this._requiresWC}},requiresNormalEC:{get:function(){return this._requiresNormalEC},set:function(e){this._requiresNormalEC=e||this._requiresNormalEC,this.requiresEC=this._requiresNormalEC}},requiresTextureCoordinates:{get:function(){return this._requiresTextureCoordinates},set:function(e){this._requiresTextureCoordinates=e||this._requiresTextureCoordinates,this.requiresWC=this._requiresTextureCoordinates}},normalEC:{set:function(e){this.requiresNormalEC=e,this._usesNormalEC=e},get:function(){return this._usesNormalEC}},tangentToEyeMatrix:{set:function(e){this.requiresWC=e,this.requiresNormalEC=e,this._usesTangentToEyeMat=e},get:function(){return this._usesTangentToEyeMat}},positionToEyeEC:{set:function(e){this.requiresEC=e,this._usesPositionToEyeEC=e},get:function(){return this._usesPositionToEyeEC}},st:{set:function(e){this.requiresTextureCoordinates=e,this._usesSt=e},get:function(){return this._usesSt}}});function hie(e,t,n){return Math.abs((t.y-e.y)*n.x-(t.x-e.x)*n.y+t.x*e.y-t.y*e.x)/G.distance(t,e)}var mLe=[new G,new G,new G,new G];function yie(e,t){let n=mLe,i=G.unpack(t,0,n[0]),o=G.unpack(t,2,n[1]),r=G.unpack(t,4,n[2]);e.uMaxVmax=new tc({componentDatatype:Z.FLOAT,componentsPerAttribute:4,normalize:!1,value:[o.x,o.y,r.x,r.y]});let s=1/hie(i,o,r),a=1/hie(i,r,o);e.uvMinAndExtents=new tc({componentDatatype:Z.FLOAT,componentsPerAttribute:4,normalize:!1,value:[i.x,i.y,s,a]})}var Cie=new he,xie=new h,pLe=new h,_Le=new h,sB={high:0,low:0};function Aie(e,t,n){let i=Cie;i.height=0,i.longitude=e.west,i.latitude=e.south;let o=t.project(i,xie);i.latitude=e.north;let r=t.project(i,pLe);i.longitude=e.east,i.latitude=e.south;let s=t.project(i,_Le),a=[0,0,0,0],c=[0,0,0,0],u=Un.encode(o.x,sB);a[0]=u.high,c[0]=u.low,u=Un.encode(o.y,sB),a[1]=u.high,c[1]=u.low,u=Un.encode(r.y,sB),a[2]=u.high,c[2]=u.low,u=Un.encode(s.x,sB),a[3]=u.high,c[3]=u.low,n.planes2D_HIGH=new tc({componentDatatype:Z.FLOAT,componentsPerAttribute:4,normalize:!1,value:a}),n.planes2D_LOW=new tc({componentDatatype:Z.FLOAT,componentsPerAttribute:4,normalize:!1,value:c})}var gLe=new N,yLe=new N,mie=new h,CLe=new he,xLe=[new he,new he,new he,new he,new he,new he,new he,new he];function ALe(e,t,n,i,o,r){let s=ue.center(e,CLe);s.height=n;let a=he.toCartesian(s,t,mie),c=Dt.eastNorthUpToFixedFrame(a,t,gLe),u=N.inverse(c,yLe),f=e.west,d=e.east,p=e.north,g=e.south,m=xLe;m[0].latitude=g,m[0].longitude=f,m[1].latitude=p,m[1].longitude=f,m[2].latitude=p,m[2].longitude=d,m[3].latitude=g,m[3].longitude=d;let C=(f+d)*.5,x=(p+g)*.5;m[4].latitude=g,m[4].longitude=C,m[5].latitude=p,m[5].longitude=C,m[6].latitude=x,m[6].longitude=f,m[7].latitude=x,m[7].longitude=d;let A=Number.POSITIVE_INFINITY,b=Number.NEGATIVE_INFINITY,E=Number.POSITIVE_INFINITY,S=Number.NEGATIVE_INFINITY;for(let M=0;M<8;M++){m[M].height=n;let B=he.toCartesian(m[M],t,mie);N.multiplyByPoint(u,B,B),B.z=0,A=Math.min(A,B.x),b=Math.max(b,B.x),E=Math.min(E,B.y),S=Math.max(S,B.y)}let v=i;v.x=A,v.y=E,v.z=0,N.multiplyByPoint(c,v,v);let P=o;P.x=b,P.y=E,P.z=0,N.multiplyByPoint(c,P,P),h.subtract(P,v,o);let O=r;O.x=A,O.y=S,O.z=0,N.multiplyByPoint(c,O,O),h.subtract(O,v,r)}var TLe=new h,ELe=new h,bLe=new Un;Cu.getPlanarTextureCoordinateAttributes=function(e,t,n,i,o){let r=xie,s=TLe,a=ELe;ALe(e,n,y(o,0),r,s,a);let c={};yie(c,t);let u=Un.fromCartesian(r,bLe);return c.southWest_HIGH=new tc({componentDatatype:Z.FLOAT,componentsPerAttribute:3,normalize:!1,value:h.pack(u.high,[0,0,0])}),c.southWest_LOW=new tc({componentDatatype:Z.FLOAT,componentsPerAttribute:3,normalize:!1,value:h.pack(u.low,[0,0,0])}),c.eastward=new tc({componentDatatype:Z.FLOAT,componentsPerAttribute:3,normalize:!1,value:h.pack(s,[0,0,0])}),c.northward=new tc({componentDatatype:Z.FLOAT,componentsPerAttribute:3,normalize:!1,value:h.pack(a,[0,0,0])}),Aie(e,i,c),c};var SLe=new h;function pie(e,t,n,i){let o=Cie;o.latitude=e,o.longitude=t,o.height=0;let r=he.toCartesian(o,n,SLe),s=Math.sqrt(r.x*r.x+r.y*r.y),a=I.fastApproximateAtan2(s,r.z),c=I.fastApproximateAtan2(r.x,r.y);return i.x=a,i.y=c,i}var _ie=new G;Cu.getSphericalExtentGeometryInstanceAttributes=function(e,t,n,i){let o=pie(e.south,e.west,n,_ie),r=o.x,s=o.y,a=pie(e.north,e.east,n,_ie),c=a.x,u=a.y,f=0;s>u&&(f=I.PI-s,s=-I.PI,u+=f),r-=I.EPSILON5,s-=I.EPSILON5,c+=I.EPSILON5,u+=I.EPSILON5;let d=1/(u-s),p=1/(c-r),g={sphericalExtents:new tc({componentDatatype:Z.FLOAT,componentsPerAttribute:4,normalize:!1,value:[r,s,p,d]}),longitudeRotation:new tc({componentDatatype:Z.FLOAT,componentsPerAttribute:1,normalize:!1,value:[f]})};return yie(g,t),Aie(e,i,g),g};Cu.hasAttributesForTextureCoordinatePlanes=function(e){return l(e.southWest_HIGH)&&l(e.southWest_LOW)&&l(e.northward)&&l(e.eastward)&&l(e.planes2D_HIGH)&&l(e.planes2D_LOW)&&l(e.uMaxVmax)&&l(e.uvMinAndExtents)};Cu.hasAttributesForSphericalExtents=function(e){return l(e.sphericalExtents)&&l(e.longitudeRotation)&&l(e.planes2D_HIGH)&&l(e.planes2D_LOW)&&l(e.uMaxVmax)&&l(e.uvMinAndExtents)};function wLe(e){return Math.max(e.width,e.height)>Cu.MAX_WIDTH_FOR_PLANAR_EXTENTS}Cu.shouldUseSphericalCoordinates=function(e){return wLe(e)};Cu.MAX_WIDTH_FOR_PLANAR_EXTENTS=I.toRadians(1);var xu=Cu;var vLe={NEVER:te.NEVER,LESS:te.LESS,EQUAL:te.EQUAL,LESS_OR_EQUAL:te.LEQUAL,GREATER:te.GREATER,NOT_EQUAL:te.NOTEQUAL,GREATER_OR_EQUAL:te.GEQUAL,ALWAYS:te.ALWAYS},Nn=Object.freeze(vLe);var DLe={ZERO:te.ZERO,KEEP:te.KEEP,REPLACE:te.REPLACE,INCREMENT:te.INCR,DECREMENT:te.DECR,INVERT:te.INVERT,INCREMENT_WRAP:te.INCR_WRAP,DECREMENT_WRAP:te.DECR_WRAP},at=Object.freeze(DLe);var aB={CESIUM_3D_TILE_MASK:128,SKIP_LOD_MASK:112,SKIP_LOD_BIT_SHIFT:4,CLASSIFICATION_MASK:15};aB.setCesium3DTileBit=function(){return{enabled:!0,frontFunction:Nn.ALWAYS,frontOperation:{fail:at.KEEP,zFail:at.KEEP,zPass:at.REPLACE},backFunction:Nn.ALWAYS,backOperation:{fail:at.KEEP,zFail:at.KEEP,zPass:at.REPLACE},reference:aB.CESIUM_3D_TILE_MASK,mask:aB.CESIUM_3D_TILE_MASK}};var vt=Object.freeze(aB);function py(e){e=y(e,y.EMPTY_OBJECT);let t=e.geometryInstances;this.geometryInstances=t,this.show=y(e.show,!0),this.classificationType=y(e.classificationType,Ln.BOTH),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.debugShowShadowVolume=y(e.debugShowShadowVolume,!1),this._debugShowShadowVolume=!1,this._extruded=y(e._extruded,!1),this._uniformMap=e._uniformMap,this._sp=void 0,this._spStencil=void 0,this._spPick=void 0,this._spColor=void 0,this._spPick2D=void 0,this._spColor2D=void 0,this._rsStencilDepthPass=void 0,this._rsStencilDepthPass3DTiles=void 0,this._rsColorPass=void 0,this._rsPickPass=void 0,this._commandsIgnoreShow=[],this._ready=!1;let n=this;this._readyPromise=new Promise((i,o)=>{n._completeLoad=()=>{if(this._ready)return;this._ready=!0,this.releaseGeometryInstances&&(this.geometryInstances=void 0);let r=this._error;l(r)?o(r):i(this)}}),this._primitive=void 0,this._pickPrimitive=e._pickPrimitive,this._hasSphericalExtentsAttribute=!1,this._hasPlanarExtentsAttributes=!1,this._hasPerColorAttribute=!1,this.appearance=e.appearance,this._createBoundingVolumeFunction=e._createBoundingVolumeFunction,this._updateAndQueueCommandsFunction=e._updateAndQueueCommandsFunction,this._usePickOffsets=!1,this._primitiveOptions={geometryInstances:void 0,appearance:void 0,vertexCacheOptimize:y(e.vertexCacheOptimize,!1),interleave:y(e.interleave,!1),releaseGeometryInstances:y(e.releaseGeometryInstances,!0),allowPicking:y(e.allowPicking,!0),asynchronous:y(e.asynchronous,!0),compressVertices:y(e.compressVertices,!0),_createBoundingVolumeFunction:void 0,_createRenderStatesFunction:void 0,_createShaderProgramFunction:void 0,_createCommandsFunction:void 0,_updateAndQueueCommandsFunction:void 0,_createPickOffsets:!0}}Object.defineProperties(py.prototype,{vertexCacheOptimize:{get:function(){return this._primitiveOptions.vertexCacheOptimize}},interleave:{get:function(){return this._primitiveOptions.interleave}},releaseGeometryInstances:{get:function(){return this._primitiveOptions.releaseGeometryInstances}},allowPicking:{get:function(){return this._primitiveOptions.allowPicking}},asynchronous:{get:function(){return this._primitiveOptions.asynchronous}},compressVertices:{get:function(){return this._primitiveOptions.compressVertices}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}},_needs2DShader:{get:function(){return this._hasPlanarExtentsAttributes||this._hasSphericalExtentsAttribute}}});py.isSupported=function(e){return e.context.stencilBuffer};function SA(e,t){let n=t?Nn.EQUAL:Nn.ALWAYS;return{colorMask:{red:!1,green:!1,blue:!1,alpha:!1},stencilTest:{enabled:e,frontFunction:n,frontOperation:{fail:at.KEEP,zFail:at.DECREMENT_WRAP,zPass:at.KEEP},backFunction:n,backOperation:{fail:at.KEEP,zFail:at.INCREMENT_WRAP,zPass:at.KEEP},reference:vt.CESIUM_3D_TILE_MASK,mask:vt.CESIUM_3D_TILE_MASK},stencilMask:vt.CLASSIFICATION_MASK,depthTest:{enabled:!0,func:ac.LESS_OR_EQUAL},depthMask:!1}}function NG(e){return{stencilTest:{enabled:e,frontFunction:Nn.NOT_EQUAL,frontOperation:{fail:at.ZERO,zFail:at.ZERO,zPass:at.ZERO},backFunction:Nn.NOT_EQUAL,backOperation:{fail:at.ZERO,zFail:at.ZERO,zPass:at.ZERO},reference:0,mask:vt.CLASSIFICATION_MASK},stencilMask:vt.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1,blending:cn.PRE_MULTIPLIED_ALPHA_BLEND}}var PLe={stencilTest:{enabled:!0,frontFunction:Nn.NOT_EQUAL,frontOperation:{fail:at.ZERO,zFail:at.ZERO,zPass:at.ZERO},backFunction:Nn.NOT_EQUAL,backOperation:{fail:at.ZERO,zFail:at.ZERO,zPass:at.ZERO},reference:0,mask:vt.CLASSIFICATION_MASK},stencilMask:vt.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1};function ILe(e,t,n,i){if(l(e._rsStencilDepthPass))return;let o=!e.debugShowShadowVolume;e._rsStencilDepthPass=Fe.fromCache(SA(o,!1)),e._rsStencilDepthPass3DTiles=Fe.fromCache(SA(o,!0)),e._rsColorPass=Fe.fromCache(NG(o,!1)),e._rsPickPass=Fe.fromCache(PLe)}function OLe(e,t){if(!e.compressVertices)return t;if(t.search(/attribute\s+vec3\s+extrudeDirection;/g)!==-1){let n="compressedAttributes",i=`attribute vec2 ${n};`,o=`vec3 extrudeDirection;
  2549. `,r=` extrudeDirection = czm_octDecode(${n}, 65535.0);
  2550. `,s=t;s=s.replace(/attribute\s+vec3\s+extrudeDirection;/g,""),s=ke.replaceMain(s,"czm_non_compressed_main");let a=`void main()
  2551. {
  2552. ${r} czm_non_compressed_main();
  2553. }`;return[i,o,s,a].join(`
  2554. `)}}function RLe(e,t){let n=t.context,i=e._primitive,o=nB;o=e._primitive._batchTable.getVertexShaderCallback()(o),o=xn._appendDistanceDisplayConditionToShader(i,o),o=xn._modifyShaderPosition(e,o,t.scene3DOnly),o=xn._updateColorAttribute(i,o);let r=e._hasPlanarExtentsAttributes,s=r||e._hasSphericalExtentsAttribute;e._extruded&&(o=OLe(i,o));let a=e._extruded?"EXTRUDED_GEOMETRY":"",c=new ke({defines:[a],sources:[o]}),u=new ke({sources:[my]}),f=e._primitive._attributeLocations,d=new xu(s,r,e.appearance);if(e._spStencil=Yt.replaceCache({context:n,shaderProgram:e._spStencil,vertexShaderSource:c,fragmentShaderSource:u,attributeLocations:f}),e._primitive.allowPicking){let m=ke.createPickVertexShaderSource(o);m=xn._appendShowToShader(i,m),m=xn._updatePickColorAttribute(m);let C=d.createPickFragmentShader(!1),x=d.createPickVertexShader([a],m,!1,t.mapProjection);if(e._spPick=Yt.replaceCache({context:n,shaderProgram:e._spPick,vertexShaderSource:x,fragmentShaderSource:C,attributeLocations:f}),s){let A=n.shaderCache.getDerivedShaderProgram(e._spPick,"2dPick");if(!l(A)){let b=d.createPickFragmentShader(!0),E=d.createPickVertexShader([a],m,!0,t.mapProjection);A=n.shaderCache.createDerivedShaderProgram(e._spPick,"2dPick",{vertexShaderSource:E,fragmentShaderSource:b,attributeLocations:f})}e._spPick2D=A}}else e._spPick=Yt.fromCache({context:n,vertexShaderSource:c,fragmentShaderSource:u,attributeLocations:f});o=xn._appendShowToShader(i,o),c=new ke({defines:[a],sources:[o]}),e._sp=Yt.replaceCache({context:n,shaderProgram:e._sp,vertexShaderSource:c,fragmentShaderSource:u,attributeLocations:f});let p=d.createFragmentShader(!1),g=d.createVertexShader([a],o,!1,t.mapProjection);if(e._spColor=Yt.replaceCache({context:n,shaderProgram:e._spColor,vertexShaderSource:g,fragmentShaderSource:p,attributeLocations:f}),s){let m=n.shaderCache.getDerivedShaderProgram(e._spColor,"2dColor");if(!l(m)){let C=d.createFragmentShader(!0),x=d.createVertexShader([a],o,!0,t.mapProjection);m=n.shaderCache.createDerivedShaderProgram(e._spColor,"2dColor",{vertexShaderSource:x,fragmentShaderSource:C,attributeLocations:f})}e._spColor2D=m}}function MLe(e,t){let n=e._primitive,i=n._va.length*2;t.length=i;let o,r,s,a=0,c=n._batchTable.getUniformMapCallback()(e._uniformMap),u=e._needs2DShader;for(o=0;o<i;o+=2){let g=n._va[a++];r=t[o],l(r)||(r=t[o]=new Je({owner:e,primitiveType:n._primitiveType})),r.vertexArray=g,r.renderState=e._rsStencilDepthPass,r.shaderProgram=e._sp,r.uniformMap=c,r.pass=xe.TERRAIN_CLASSIFICATION,s=Je.shallowClone(r,r.derivedCommands.tileset),s.renderState=e._rsStencilDepthPass3DTiles,s.pass=xe.CESIUM_3D_TILE_CLASSIFICATION,r.derivedCommands.tileset=s,r=t[o+1],l(r)||(r=t[o+1]=new Je({owner:e,primitiveType:n._primitiveType})),r.vertexArray=g,r.renderState=e._rsColorPass,r.shaderProgram=e._spColor,r.pass=xe.TERRAIN_CLASSIFICATION;let C=e.appearance.material;if(l(C)&&(c=mt(c,C._uniforms)),r.uniformMap=c,s=Je.shallowClone(r,r.derivedCommands.tileset),s.pass=xe.CESIUM_3D_TILE_CLASSIFICATION,r.derivedCommands.tileset=s,u){let x=Je.shallowClone(r,r.derivedCommands.appearance2D);x.shaderProgram=e._spColor2D,r.derivedCommands.appearance2D=x,x=Je.shallowClone(s,s.derivedCommands.appearance2D),x.shaderProgram=e._spColor2D,s.derivedCommands.appearance2D=x}}let f=e._commandsIgnoreShow,d=e._spStencil,p=0;i=f.length=i/2;for(let g=0;g<i;++g){let m=f[g]=Je.shallowClone(t[p],f[g]);m.shaderProgram=d,m.pass=xe.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW,p+=2}}function BLe(e,t){let n=e._usePickOffsets,i=e._primitive,o=i._va.length*2,r,s=0,a;n&&(r=i._pickOffsets,o=r.length*2),t.length=o;let c,u,f,d=0,p=i._batchTable.getUniformMapCallback()(e._uniformMap),g=e._needs2DShader;for(c=0;c<o;c+=2){let m=i._va[d++];if(n&&(a=r[s++],m=i._va[a.index]),u=t[c],l(u)||(u=t[c]=new Je({owner:e,primitiveType:i._primitiveType,pickOnly:!0})),u.vertexArray=m,u.renderState=e._rsStencilDepthPass,u.shaderProgram=e._sp,u.uniformMap=p,u.pass=xe.TERRAIN_CLASSIFICATION,n&&(u.offset=a.offset,u.count=a.count),f=Je.shallowClone(u,u.derivedCommands.tileset),f.renderState=e._rsStencilDepthPass3DTiles,f.pass=xe.CESIUM_3D_TILE_CLASSIFICATION,u.derivedCommands.tileset=f,u=t[c+1],l(u)||(u=t[c+1]=new Je({owner:e,primitiveType:i._primitiveType,pickOnly:!0})),u.vertexArray=m,u.renderState=e._rsPickPass,u.shaderProgram=e._spPick,u.uniformMap=p,u.pass=xe.TERRAIN_CLASSIFICATION,n&&(u.offset=a.offset,u.count=a.count),f=Je.shallowClone(u,u.derivedCommands.tileset),f.pass=xe.CESIUM_3D_TILE_CLASSIFICATION,u.derivedCommands.tileset=f,g){let C=Je.shallowClone(u,u.derivedCommands.pick2D);C.shaderProgram=e._spPick2D,u.derivedCommands.pick2D=C,C=Je.shallowClone(f,f.derivedCommands.pick2D),C.shaderProgram=e._spPick2D,f.derivedCommands.pick2D=C}}}function LLe(e,t,n,i,o,r,s){MLe(e,r),BLe(e,s)}function Tie(e,t){return Math.floor(e%t/2)}function LG(e,t,n,i,o,r){e.modelMatrix=n,e.boundingVolume=o,e.cull=i,e.debugShowBoundingVolume=r,t.commandList.push(e)}function Eie(e,t,n,i,o){e.modelMatrix=n,e.boundingVolume=o,e.cull=i,t.commandList.push(e)}function NLe(e,t,n,i,o,r,s,a){let c=e._primitive;xn._updateBoundingVolumes(c,t,o);let u;t.mode===ee.SCENE3D?u=c._boundingSphereWC:t.mode===ee.COLUMBUS_VIEW?u=c._boundingSphereCV:t.mode===ee.SCENE2D&&l(c._boundingSphere2D)?u=c._boundingSphere2D:l(c._boundingSphereMorph)&&(u=c._boundingSphereMorph);let f=e.classificationType,d=f!==Ln.CESIUM_3D_TILE,p=f!==Ln.TERRAIN,g=t.passes,m,C,x;if(g.render){let A=n.length;for(m=0;m<A;++m)C=u[Tie(m,A)],d&&(x=n[m],LG(x,t,o,r,C,s)),p&&(x=n[m].derivedCommands.tileset,LG(x,t,o,r,C,s));if(t.invertClassification){let b=e._commandsIgnoreShow,E=b.length;for(m=0;m<E;++m)C=u[m],x=b[m],LG(x,t,o,r,C,s)}}if(g.pick){let A=i.length,b=c._pickOffsets;for(m=0;m<A;++m){let E=b[Tie(m,A)];C=u[E.index],d&&(x=i[m],Eie(x,t,o,r,C)),p&&(x=i[m].derivedCommands.tileset,Eie(x,t,o,r,C))}}}py.prototype.update=function(e){if(!l(this._primitive)&&!l(this.geometryInstances))return;let t=this.appearance;l(t)&&l(t.material)&&t.material.update(e.context);let n=this,i=this._primitiveOptions;if(!l(this._primitive)){let o=Array.isArray(this.geometryInstances)?this.geometryInstances:[this.geometryInstances],r=o.length,s,a,c,u=!1,f=!0,d,p=!1,g=!1;for(r>0&&(c=o[0].attributes,p=xu.hasAttributesForSphericalExtents(c),g=xu.hasAttributesForTextureCoordinatePlanes(c),d=c.color),s=0;s<r;s++){a=o[s];let C=a.attributes.color;l(C)&&(u=!0),f=f&&l(C)&&It.equals(d,C)}if(!f&&!p&&!g)throw new ye("All GeometryInstances must have the same color attribute except via GroundPrimitives");u&&!l(t)&&(t=new Qt({flat:!0}),this.appearance=t),this._usePickOffsets=!p&&!g,this._hasSphericalExtentsAttribute=p,this._hasPlanarExtentsAttributes=g,this._hasPerColorAttribute=u;let m=new Array(r);for(s=0;s<r;++s)a=o[s],m[s]=new pt({geometry:a.geometry,attributes:a.attributes,modelMatrix:a.modelMatrix,id:a.id,pickPrimitive:y(this._pickPrimitive,n)});i.appearance=t,i.geometryInstances=m,l(this._createBoundingVolumeFunction)&&(i._createBoundingVolumeFunction=function(C,x){n._createBoundingVolumeFunction(C,x)}),i._createRenderStatesFunction=function(C,x,A,b){ILe(n,x)},i._createShaderProgramFunction=function(C,x,A){RLe(n,x)},i._createCommandsFunction=function(C,x,A,b,E,S,v){LLe(n,void 0,void 0,!0,!1,S,v)},l(this._updateAndQueueCommandsFunction)?i._updateAndQueueCommandsFunction=function(C,x,A,b,E,S,v,P){n._updateAndQueueCommandsFunction(C,x,A,b,E,S,v,P)}:i._updateAndQueueCommandsFunction=function(C,x,A,b,E,S,v,P){NLe(n,x,A,b,E,S,v,P)},this._primitive=new xn(i)}this.debugShowShadowVolume&&!this._debugShowShadowVolume&&this._ready?(this._debugShowShadowVolume=!0,this._rsStencilDepthPass=Fe.fromCache(SA(!1,!1)),this._rsStencilDepthPass3DTiles=Fe.fromCache(SA(!1,!0)),this._rsColorPass=Fe.fromCache(NG(!1))):!this.debugShowShadowVolume&&this._debugShowShadowVolume&&(this._debugShowShadowVolume=!1,this._rsStencilDepthPass=Fe.fromCache(SA(!0,!1)),this._rsStencilDepthPass3DTiles=Fe.fromCache(SA(!0,!0)),this._rsColorPass=Fe.fromCache(NG(!0))),this._primitive.appearance!==t&&(this._primitive.appearance=t),this._primitive.show=this.show,this._primitive.debugShowBoundingVolume=this.debugShowBoundingVolume,this._primitive.update(e),e.afterRender.push(()=>{l(this._primitive)&&this._primitive.ready&&this._completeLoad()})};py.prototype.getGeometryInstanceAttributes=function(e){return this._primitive.getGeometryInstanceAttributes(e)};py.prototype.isDestroyed=function(){return!1};py.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),this._sp=this._sp&&this._sp.destroy(),this._spPick=this._spPick&&this._spPick.destroy(),this._spColor=this._spColor&&this._spColor.destroy(),this._spPick2D=void 0,this._spColor2D=void 0,fe(this)};var SS=py;var FLe={u_globeMinimumAltitude:function(){return 55e3}};function Hc(e){e=y(e,y.EMPTY_OBJECT);let t=e.appearance,n=e.geometryInstances;if(!l(t)&&l(n)){let r=Array.isArray(n)?n:[n],s=r.length;for(let a=0;a<s;a++){let c=r[a].attributes;if(l(c)&&l(c.color)){t=new Qt({flat:!0});break}}}this.appearance=t,this.geometryInstances=e.geometryInstances,this.show=y(e.show,!0),this.classificationType=y(e.classificationType,Ln.BOTH),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.debugShowShadowVolume=y(e.debugShowShadowVolume,!1),this._boundingVolumes=[],this._boundingVolumes2D=[],this._ready=!1;let i=this;this._readyPromise=new Promise((r,s)=>{i._completeLoad=()=>{if(this._ready)return;this._ready=!0,this.releaseGeometryInstances&&(this.geometryInstances=void 0);let a=this._error;l(a)?s(a):r(this)}}),this._primitive=void 0,this._maxHeight=void 0,this._minHeight=void 0,this._maxTerrainHeight=si._defaultMaxTerrainHeight,this._minTerrainHeight=si._defaultMinTerrainHeight,this._boundingSpheresKeys=[],this._boundingSpheres=[],this._useFragmentCulling=!1,this._zIndex=void 0;let o=this;this._classificationPrimitiveOptions={geometryInstances:void 0,appearance:void 0,vertexCacheOptimize:y(e.vertexCacheOptimize,!1),interleave:y(e.interleave,!1),releaseGeometryInstances:y(e.releaseGeometryInstances,!0),allowPicking:y(e.allowPicking,!0),asynchronous:y(e.asynchronous,!0),compressVertices:y(e.compressVertices,!0),_createBoundingVolumeFunction:void 0,_updateAndQueueCommandsFunction:void 0,_pickPrimitive:o,_extruded:!0,_uniformMap:FLe}}Object.defineProperties(Hc.prototype,{vertexCacheOptimize:{get:function(){return this._classificationPrimitiveOptions.vertexCacheOptimize}},interleave:{get:function(){return this._classificationPrimitiveOptions.interleave}},releaseGeometryInstances:{get:function(){return this._classificationPrimitiveOptions.releaseGeometryInstances}},allowPicking:{get:function(){return this._classificationPrimitiveOptions.allowPicking}},asynchronous:{get:function(){return this._classificationPrimitiveOptions.asynchronous}},compressVertices:{get:function(){return this._classificationPrimitiveOptions.compressVertices}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}}});Hc.isSupported=SS.isSupported;function bie(e){return function(t,n){let i=n.maximumRadius,o=i/Math.cos(t*.5)-i;return e._maxHeight+o}}function Sie(e){return function(t,n){return e._minHeight}}var VLe=new h,kLe=new h,ULe=new h,zLe=new he,HLe=new ue;function cB(e,t){let n=e.mapProjection.ellipsoid;if(!l(t.attributes)||!l(t.attributes.position3DHigh))return l(t.rectangle)?t.rectangle:void 0;let i=t.attributes.position3DHigh.values,o=t.attributes.position3DLow.values,r=i.length,s=Number.POSITIVE_INFINITY,a=Number.POSITIVE_INFINITY,c=Number.NEGATIVE_INFINITY,u=Number.NEGATIVE_INFINITY;for(let d=0;d<r;d+=3){let p=h.unpack(i,d,VLe),g=h.unpack(o,d,kLe),m=h.add(p,g,ULe),C=n.cartesianToCartographic(m,zLe),x=C.latitude,A=C.longitude;s=Math.min(s,x),a=Math.min(a,A),c=Math.max(c,x),u=Math.max(u,A)}let f=HLe;return f.north=c,f.south=s,f.east=u,f.west=a,f}function GLe(e,t,n){let i=si.getMinimumMaximumHeights(t,n);e._minTerrainHeight=i.minimumTerrainHeight,e._maxTerrainHeight=i.maximumTerrainHeight}function WLe(e,t,n){let i=t.mapProjection.ellipsoid,o=cB(t,n),r=pi.fromRectangle(o,e._minHeight,e._maxHeight,i);if(e._boundingVolumes.push(r),!t.scene3DOnly){let s=t.mapProjection,a=re.fromRectangleWithHeights2D(o,s,e._maxHeight,e._minHeight);h.fromElements(a.center.z,a.center.x,a.center.y,a.center),e._boundingVolumes2D.push(a)}}function FG(e,t){return Math.floor(e%t/2)}function VG(e,t,n,i,o,r,s){let a=e._primitive;n.mode!==ee.SCENE3D&&t.shaderProgram===a._spColor&&a._needs2DShader&&(t=t.derivedCommands.appearance2D),t.owner=e,t.modelMatrix=i,t.boundingVolume=r,t.cull=o,t.debugShowBoundingVolume=s,n.commandList.push(t)}function wie(e,t,n,i,o,r){let s=e._primitive;n.mode!==ee.SCENE3D&&t.shaderProgram===s._spPick&&s._needs2DShader&&(t=t.derivedCommands.pick2D),t.owner=e,t.modelMatrix=i,t.boundingVolume=r,t.cull=o,n.commandList.push(t)}function jLe(e,t,n,i,o,r,s,a){let c;t.mode===ee.SCENE3D?c=e._boundingVolumes:c=e._boundingVolumes2D;let u=e.classificationType,f=u!==Ln.CESIUM_3D_TILE,d=u!==Ln.TERRAIN,p=t.passes,g=e._primitive,m,C,x;if(p.render){let A=n.length;for(m=0;m<A;++m)C=c[FG(m,A)],f&&(x=n[m],VG(e,x,t,o,r,C,s)),d&&(x=n[m].derivedCommands.tileset,VG(e,x,t,o,r,C,s));if(t.invertClassification){let b=g._commandsIgnoreShow,E=b.length;for(m=0;m<E;++m)C=c[m],x=b[m],VG(e,x,t,o,r,C,s)}}if(p.pick){let A=i.length,b;for(e._useFragmentCulling||(b=g._primitive._pickOffsets),m=0;m<A;++m){if(C=c[FG(m,A)],!e._useFragmentCulling){let E=b[FG(m,A)];C=c[E.index]}f&&(x=i[m],wie(e,x,t,o,r,C)),d&&(x=i[m].derivedCommands.tileset,wie(e,x,t,o,r,C))}}}Hc.initializeTerrainHeights=function(){return si.initialize()};Hc.prototype.update=function(e){if(!l(this._primitive)&&!l(this.geometryInstances))return;if(!si.initialized){Hc.initializeTerrainHeights();return}let t=this,n=this._classificationPrimitiveOptions;if(!l(this._primitive)){let i=e.mapProjection.ellipsoid,o,r,s,a=Array.isArray(this.geometryInstances)?this.geometryInstances:[this.geometryInstances],c=a.length,u=new Array(c),f,d;for(f=0;f<c;++f){o=a[f],r=o.geometry;let C=cB(e,r);l(d)?l(C)&&ue.union(d,C,d):d=ue.clone(C);let x=o.id;if(l(x)&&l(C)){let A=si.getBoundingSphere(C,i);this._boundingSpheresKeys.push(x),this._boundingSpheres.push(A)}s=r.constructor,!l(s)||l(s.createShadowVolume)}GLe(this,d,i);let p=e.terrainExaggeration,g=e.terrainExaggerationRelativeHeight;this._minHeight=Rc.getHeight(this._minTerrainHeight,p,g),this._maxHeight=Rc.getHeight(this._maxTerrainHeight,p,g);let m=Hc._supportsMaterials(e.context);if(this._useFragmentCulling=m,m){let C,x=!0;for(f=0;f<c;++f)if(o=a[f],r=o.geometry,d=cB(e,r),xu.shouldUseSphericalCoordinates(d)){x=!1;break}for(f=0;f<c;++f){o=a[f],r=o.geometry,s=r.constructor;let A=cB(e,r),b=r.textureCoordinateRotationPoints;x?C=xu.getPlanarTextureCoordinateAttributes(A,b,i,e.mapProjection,this._maxHeight):C=xu.getSphericalExtentGeometryInstanceAttributes(A,b,i,e.mapProjection);let E=o.attributes;for(let S in E)E.hasOwnProperty(S)&&(C[S]=E[S]);u[f]=new pt({geometry:s.createShadowVolume(r,Sie(this),bie(this)),attributes:C,id:o.id})}}else for(f=0;f<c;++f)o=a[f],r=o.geometry,s=r.constructor,u[f]=new pt({geometry:s.createShadowVolume(r,Sie(this),bie(this)),attributes:o.attributes,id:o.id});n.geometryInstances=u,n.appearance=this.appearance,n._createBoundingVolumeFunction=function(C,x){WLe(t,C,x)},n._updateAndQueueCommandsFunction=function(C,x,A,b,E,S,v,P){jLe(t,x,A,b,E,S,v,P)},this._primitive=new SS(n)}this._primitive.appearance=this.appearance,this._primitive.show=this.show,this._primitive.debugShowShadowVolume=this.debugShowShadowVolume,this._primitive.debugShowBoundingVolume=this.debugShowBoundingVolume,this._primitive.update(e),e.afterRender.push(()=>{l(this._primitive)&&this._primitive.ready&&this._completeLoad()})};Hc.prototype.getBoundingSphere=function(e){let t=this._boundingSpheresKeys.indexOf(e);if(t!==-1)return this._boundingSpheres[t]};Hc.prototype.getGeometryInstanceAttributes=function(e){return this._primitive.getGeometryInstanceAttributes(e)};Hc.prototype.isDestroyed=function(){return!1};Hc.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),fe(this)};Hc._supportsMaterials=function(e){return e.depthTexture};Hc.supportsMaterials=function(e){return Hc._supportsMaterials(e.frameState.context)};var Gc=Hc;function wA(){ye.throwInstantiationError()}Object.defineProperties(wA.prototype,{isConstant:{get:ye.throwInstantiationError},definitionChanged:{get:ye.throwInstantiationError}});wA.prototype.getType=ye.throwInstantiationError;wA.prototype.getValue=ye.throwInstantiationError;wA.prototype.equals=ye.throwInstantiationError;wA.getValue=function(e,t,n){let i;return l(t)&&(i=t.getType(e),l(i))?((!l(n)||n.type!==i)&&(n=Qi.fromType(i)),t.getValue(e,n.uniforms),n):((!l(n)||n.type!==Qi.ColorType)&&(n=Qi.fromType(Qi.ColorType)),U.clone(U.WHITE,n.uniforms.color),n)};var Zo=wA;function _y(e,t,n){this._primitives=t,this._orderedGroundPrimitives=n,this._primitive=void 0,this._outlinePrimitive=void 0,this._geometryUpdater=e,this._options=e._options,this._entity=e._entity,this._material=void 0}_y.prototype._isHidden=function(e,t,n){return!e.isShowing||!e.isAvailable(n)||!j.getValueOrDefault(t.show,n,!0)};_y.prototype._setOptions=ye.throwInstantiationError;_y.prototype.update=function(e){let t=this._geometryUpdater,n=t._onTerrain,i=this._primitives,o=this._orderedGroundPrimitives;n?o.remove(this._primitive):(i.removeAndDestroy(this._primitive),i.removeAndDestroy(this._outlinePrimitive),this._outlinePrimitive=void 0),this._primitive=void 0;let r=this._entity,s=r[this._geometryUpdater._geometryPropertyName];if(this._setOptions(r,s,e),this._isHidden(r,s,e))return;let a=this._geometryUpdater.shadowsProperty.getValue(e),c=this._options;if(!l(s.fill)||s.fill.getValue(e)){let u=t.fillMaterialProperty,f=u instanceof Pt,d,p=t._getIsClosed(c);if(f)d=new Qt({closed:p,flat:n&&!t._supportsMaterialsforEntitiesOnTerrain});else{let g=Zo.getValue(e,u,this._material);this._material=g,d=new no({material:g,translucent:g.isTranslucent(),closed:p})}if(n)c.vertexFormat=Qt.VERTEX_FORMAT,this._primitive=o.add(new Gc({geometryInstances:this._geometryUpdater.createFillGeometryInstance(e),appearance:d,asynchronous:!1,shadows:a,classificationType:this._geometryUpdater.classificationTypeProperty.getValue(e)}),j.getValueOrUndefined(this._geometryUpdater.zIndex,e));else{c.vertexFormat=d.vertexFormat;let g=this._geometryUpdater.createFillGeometryInstance(e);f&&(d.translucent=g.attributes.color.value[3]!==255),this._primitive=i.add(new xn({geometryInstances:g,appearance:d,asynchronous:!1,shadows:a}))}}if(!n&&l(s.outline)&&s.outline.getValue(e)){let u=this._geometryUpdater.createOutlineGeometryInstance(e),f=j.getValueOrDefault(s.outlineWidth,e,1);this._outlinePrimitive=i.add(new xn({geometryInstances:u,appearance:new Qt({flat:!0,translucent:u.attributes.color.value[3]!==255,renderState:{lineWidth:t._scene.clampLineWidth(f)}}),asynchronous:!1,shadows:a}))}};_y.prototype.getBoundingSphere=function(e){let t=this._entity,n=this._primitive,i=this._outlinePrimitive,o;return l(n)&&n.show&&n.ready&&(o=n.getGeometryInstanceAttributes(t),l(o)&&l(o.boundingSphere))?(re.clone(o.boundingSphere,e),it.DONE):l(i)&&i.show&&i.ready&&(o=i.getGeometryInstanceAttributes(t),l(o)&&l(o.boundingSphere))?(re.clone(o.boundingSphere,e),it.DONE):l(n)&&!n.ready||l(i)&&!i.ready?it.PENDING:it.FAILED};_y.prototype.isDestroyed=function(){return!1};_y.prototype.destroy=function(){let e=this._primitives,t=this._orderedGroundPrimitives;this._geometryUpdater._onTerrain?t.remove(this._primitive):e.removeAndDestroy(this._primitive),e.removeAndDestroy(this._outlinePrimitive),fe(this)};var ni=_y;var lB=`#ifdef GL_EXT_frag_depth
  2555. #extension GL_EXT_frag_depth : enable
  2556. #endif
  2557. varying vec4 v_startPlaneNormalEcAndHalfWidth;
  2558. varying vec4 v_endPlaneNormalEcAndBatchId;
  2559. varying vec4 v_rightPlaneEC;
  2560. varying vec4 v_endEcAndStartEcX;
  2561. varying vec4 v_texcoordNormalizationAndStartEcYZ;
  2562. #ifdef PER_INSTANCE_COLOR
  2563. varying vec4 v_color;
  2564. #endif
  2565. void main(void)
  2566. {
  2567. float logDepthOrDepth = czm_branchFreeTernary(czm_sceneMode == czm_sceneMode2D, gl_FragCoord.z, czm_unpackDepth(texture2D(czm_globeDepthTexture, gl_FragCoord.xy / czm_viewport.zw)));
  2568. vec3 ecStart = vec3(v_endEcAndStartEcX.w, v_texcoordNormalizationAndStartEcYZ.zw);
  2569. if (logDepthOrDepth == 0.0) {
  2570. #ifdef DEBUG_SHOW_VOLUME
  2571. gl_FragColor = vec4(1.0, 0.0, 0.0, 0.5);
  2572. return;
  2573. #else // DEBUG_SHOW_VOLUME
  2574. discard;
  2575. #endif // DEBUG_SHOW_VOLUME
  2576. }
  2577. vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, logDepthOrDepth);
  2578. eyeCoordinate /= eyeCoordinate.w;
  2579. float halfMaxWidth = v_startPlaneNormalEcAndHalfWidth.w * czm_metersPerPixel(eyeCoordinate);
  2580. float widthwiseDistance = czm_planeDistance(v_rightPlaneEC, eyeCoordinate.xyz);
  2581. float distanceFromStart = czm_planeDistance(v_startPlaneNormalEcAndHalfWidth.xyz, -dot(ecStart, v_startPlaneNormalEcAndHalfWidth.xyz), eyeCoordinate.xyz);
  2582. float distanceFromEnd = czm_planeDistance(v_endPlaneNormalEcAndBatchId.xyz, -dot(v_endEcAndStartEcX.xyz, v_endPlaneNormalEcAndBatchId.xyz), eyeCoordinate.xyz);
  2583. if (abs(widthwiseDistance) > halfMaxWidth || distanceFromStart < 0.0 || distanceFromEnd < 0.0) {
  2584. #ifdef DEBUG_SHOW_VOLUME
  2585. gl_FragColor = vec4(1.0, 0.0, 0.0, 0.5);
  2586. return;
  2587. #else // DEBUG_SHOW_VOLUME
  2588. discard;
  2589. #endif // DEBUG_SHOW_VOLUME
  2590. }
  2591. vec3 alignedPlaneNormal;
  2592. alignedPlaneNormal = cross(v_rightPlaneEC.xyz, v_startPlaneNormalEcAndHalfWidth.xyz);
  2593. alignedPlaneNormal = normalize(cross(alignedPlaneNormal, v_rightPlaneEC.xyz));
  2594. distanceFromStart = czm_planeDistance(alignedPlaneNormal, -dot(alignedPlaneNormal, ecStart), eyeCoordinate.xyz);
  2595. alignedPlaneNormal = cross(v_rightPlaneEC.xyz, v_endPlaneNormalEcAndBatchId.xyz);
  2596. alignedPlaneNormal = normalize(cross(alignedPlaneNormal, v_rightPlaneEC.xyz));
  2597. distanceFromEnd = czm_planeDistance(alignedPlaneNormal, -dot(alignedPlaneNormal, v_endEcAndStartEcX.xyz), eyeCoordinate.xyz);
  2598. #ifdef PER_INSTANCE_COLOR
  2599. gl_FragColor = czm_gammaCorrect(v_color);
  2600. #else // PER_INSTANCE_COLOR
  2601. float s = clamp(distanceFromStart / (distanceFromStart + distanceFromEnd), 0.0, 1.0);
  2602. s = (s * v_texcoordNormalizationAndStartEcYZ.x) + v_texcoordNormalizationAndStartEcYZ.y;
  2603. float t = (widthwiseDistance + halfMaxWidth) / (2.0 * halfMaxWidth);
  2604. czm_materialInput materialInput;
  2605. materialInput.s = s;
  2606. materialInput.st = vec2(s, t);
  2607. materialInput.str = vec3(s, t, 0.0);
  2608. czm_material material = czm_getMaterial(materialInput);
  2609. gl_FragColor = vec4(material.diffuse + material.emission, material.alpha);
  2610. #endif // PER_INSTANCE_COLOR
  2611. gl_FragColor.rgb *= gl_FragColor.a;
  2612. czm_writeDepthClamp();
  2613. }
  2614. `;var uB=`varying vec3 v_forwardDirectionEC;
  2615. varying vec3 v_texcoordNormalizationAndHalfWidth;
  2616. varying float v_batchId;
  2617. #ifdef PER_INSTANCE_COLOR
  2618. varying vec4 v_color;
  2619. #else
  2620. varying vec2 v_alignedPlaneDistances;
  2621. varying float v_texcoordT;
  2622. #endif
  2623. float rayPlaneDistanceUnsafe(vec3 origin, vec3 direction, vec3 planeNormal, float planeDistance) {
  2624. return (-planeDistance - dot(planeNormal, origin)) / dot(planeNormal, direction);
  2625. }
  2626. void main(void)
  2627. {
  2628. vec4 eyeCoordinate = gl_FragCoord;
  2629. eyeCoordinate /= eyeCoordinate.w;
  2630. #ifdef PER_INSTANCE_COLOR
  2631. gl_FragColor = czm_gammaCorrect(v_color);
  2632. #else // PER_INSTANCE_COLOR
  2633. float distanceFromStart = rayPlaneDistanceUnsafe(eyeCoordinate.xyz, -v_forwardDirectionEC, v_forwardDirectionEC.xyz, v_alignedPlaneDistances.x);
  2634. float distanceFromEnd = rayPlaneDistanceUnsafe(eyeCoordinate.xyz, v_forwardDirectionEC, -v_forwardDirectionEC.xyz, v_alignedPlaneDistances.y);
  2635. distanceFromStart = max(0.0, distanceFromStart);
  2636. distanceFromEnd = max(0.0, distanceFromEnd);
  2637. float s = distanceFromStart / (distanceFromStart + distanceFromEnd);
  2638. s = (s * v_texcoordNormalizationAndHalfWidth.x) + v_texcoordNormalizationAndHalfWidth.y;
  2639. czm_materialInput materialInput;
  2640. materialInput.s = s;
  2641. materialInput.st = vec2(s, v_texcoordT);
  2642. materialInput.str = vec3(s, v_texcoordT, 0.0);
  2643. czm_material material = czm_getMaterial(materialInput);
  2644. gl_FragColor = vec4(material.diffuse + material.emission, material.alpha);
  2645. #endif // PER_INSTANCE_COLOR
  2646. }
  2647. `;var fB=`attribute vec3 position3DHigh;
  2648. attribute vec3 position3DLow;
  2649. attribute vec4 startHiAndForwardOffsetX;
  2650. attribute vec4 startLoAndForwardOffsetY;
  2651. attribute vec4 startNormalAndForwardOffsetZ;
  2652. attribute vec4 endNormalAndTextureCoordinateNormalizationX;
  2653. attribute vec4 rightNormalAndTextureCoordinateNormalizationY;
  2654. attribute vec4 startHiLo2D;
  2655. attribute vec4 offsetAndRight2D;
  2656. attribute vec4 startEndNormals2D;
  2657. attribute vec2 texcoordNormalization2D;
  2658. attribute float batchId;
  2659. varying vec3 v_forwardDirectionEC;
  2660. varying vec3 v_texcoordNormalizationAndHalfWidth;
  2661. varying float v_batchId;
  2662. #ifdef WIDTH_VARYING
  2663. varying float v_width;
  2664. #endif
  2665. #ifdef ANGLE_VARYING
  2666. varying float v_polylineAngle;
  2667. #endif
  2668. #ifdef PER_INSTANCE_COLOR
  2669. varying vec4 v_color;
  2670. #else
  2671. varying vec2 v_alignedPlaneDistances;
  2672. varying float v_texcoordT;
  2673. #endif
  2674. void main()
  2675. {
  2676. v_batchId = batchId;
  2677. vec4 posRelativeToEye2D = czm_translateRelativeToEye(vec3(0.0, startHiLo2D.xy), vec3(0.0, startHiLo2D.zw));
  2678. vec4 posRelativeToEye3D = czm_translateRelativeToEye(startHiAndForwardOffsetX.xyz, startLoAndForwardOffsetY.xyz);
  2679. vec4 posRelativeToEye = czm_columbusViewMorph(posRelativeToEye2D, posRelativeToEye3D, czm_morphTime);
  2680. vec3 posEc2D = (czm_modelViewRelativeToEye * posRelativeToEye2D).xyz;
  2681. vec3 posEc3D = (czm_modelViewRelativeToEye * posRelativeToEye3D).xyz;
  2682. vec3 startEC = (czm_modelViewRelativeToEye * posRelativeToEye).xyz;
  2683. vec4 startPlane2D;
  2684. vec4 startPlane3D;
  2685. startPlane2D.xyz = czm_normal * vec3(0.0, startEndNormals2D.xy);
  2686. startPlane3D.xyz = czm_normal * startNormalAndForwardOffsetZ.xyz;
  2687. startPlane2D.w = -dot(startPlane2D.xyz, posEc2D);
  2688. startPlane3D.w = -dot(startPlane3D.xyz, posEc3D);
  2689. vec4 rightPlane2D;
  2690. vec4 rightPlane3D;
  2691. rightPlane2D.xyz = czm_normal * vec3(0.0, offsetAndRight2D.zw);
  2692. rightPlane3D.xyz = czm_normal * rightNormalAndTextureCoordinateNormalizationY.xyz;
  2693. rightPlane2D.w = -dot(rightPlane2D.xyz, posEc2D);
  2694. rightPlane3D.w = -dot(rightPlane3D.xyz, posEc3D);
  2695. posRelativeToEye2D = posRelativeToEye2D + vec4(0.0, offsetAndRight2D.xy, 0.0);
  2696. posRelativeToEye3D = posRelativeToEye3D + vec4(startHiAndForwardOffsetX.w, startLoAndForwardOffsetY.w, startNormalAndForwardOffsetZ.w, 0.0);
  2697. posRelativeToEye = czm_columbusViewMorph(posRelativeToEye2D, posRelativeToEye3D, czm_morphTime);
  2698. posEc2D = (czm_modelViewRelativeToEye * posRelativeToEye2D).xyz;
  2699. posEc3D = (czm_modelViewRelativeToEye * posRelativeToEye3D).xyz;
  2700. vec3 endEC = (czm_modelViewRelativeToEye * posRelativeToEye).xyz;
  2701. vec3 forwardEc3D = czm_normal * normalize(vec3(startHiAndForwardOffsetX.w, startLoAndForwardOffsetY.w, startNormalAndForwardOffsetZ.w));
  2702. vec3 forwardEc2D = czm_normal * normalize(vec3(0.0, offsetAndRight2D.xy));
  2703. vec4 endPlane2D;
  2704. vec4 endPlane3D;
  2705. endPlane2D.xyz = czm_normal * vec3(0.0, startEndNormals2D.zw);
  2706. endPlane3D.xyz = czm_normal * endNormalAndTextureCoordinateNormalizationX.xyz;
  2707. endPlane2D.w = -dot(endPlane2D.xyz, posEc2D);
  2708. endPlane3D.w = -dot(endPlane3D.xyz, posEc3D);
  2709. v_forwardDirectionEC = normalize(endEC - startEC);
  2710. vec2 cleanTexcoordNormalization2D;
  2711. cleanTexcoordNormalization2D.x = abs(texcoordNormalization2D.x);
  2712. cleanTexcoordNormalization2D.y = czm_branchFreeTernary(texcoordNormalization2D.y > 1.0, 0.0, abs(texcoordNormalization2D.y));
  2713. vec2 cleanTexcoordNormalization3D;
  2714. cleanTexcoordNormalization3D.x = abs(endNormalAndTextureCoordinateNormalizationX.w);
  2715. cleanTexcoordNormalization3D.y = rightNormalAndTextureCoordinateNormalizationY.w;
  2716. cleanTexcoordNormalization3D.y = czm_branchFreeTernary(cleanTexcoordNormalization3D.y > 1.0, 0.0, abs(cleanTexcoordNormalization3D.y));
  2717. v_texcoordNormalizationAndHalfWidth.xy = mix(cleanTexcoordNormalization2D, cleanTexcoordNormalization3D, czm_morphTime);
  2718. #ifdef PER_INSTANCE_COLOR
  2719. v_color = czm_batchTable_color(batchId);
  2720. #else // PER_INSTANCE_COLOR
  2721. v_alignedPlaneDistances.x = -dot(v_forwardDirectionEC, startEC);
  2722. v_alignedPlaneDistances.y = -dot(-v_forwardDirectionEC, endEC);
  2723. #endif // PER_INSTANCE_COLOR
  2724. #ifdef WIDTH_VARYING
  2725. float width = czm_batchTable_width(batchId);
  2726. float halfWidth = width * 0.5;
  2727. v_width = width;
  2728. v_texcoordNormalizationAndHalfWidth.z = halfWidth;
  2729. #else
  2730. float halfWidth = 0.5 * czm_batchTable_width(batchId);
  2731. v_texcoordNormalizationAndHalfWidth.z = halfWidth;
  2732. #endif
  2733. vec4 positionEc3D = czm_modelViewRelativeToEye * czm_translateRelativeToEye(position3DHigh, position3DLow);
  2734. float absStartPlaneDistance = abs(czm_planeDistance(startPlane3D, positionEc3D.xyz));
  2735. float absEndPlaneDistance = abs(czm_planeDistance(endPlane3D, positionEc3D.xyz));
  2736. vec3 planeDirection = czm_branchFreeTernary(absStartPlaneDistance < absEndPlaneDistance, startPlane3D.xyz, endPlane3D.xyz);
  2737. vec3 upOrDown = normalize(cross(rightPlane3D.xyz, planeDirection));
  2738. vec3 normalEC = normalize(cross(planeDirection, upOrDown));
  2739. vec3 geodeticSurfaceNormal = normalize(cross(normalEC, forwardEc3D));
  2740. geodeticSurfaceNormal *= float(0.0 <= rightNormalAndTextureCoordinateNormalizationY.w && rightNormalAndTextureCoordinateNormalizationY.w <= 1.0);
  2741. geodeticSurfaceNormal *= MAX_TERRAIN_HEIGHT;
  2742. positionEc3D.xyz += geodeticSurfaceNormal;
  2743. normalEC *= sign(endNormalAndTextureCoordinateNormalizationX.w);
  2744. positionEc3D.xyz += halfWidth * max(0.0, czm_metersPerPixel(positionEc3D)) * normalEC;
  2745. vec4 positionEc2D = czm_modelViewRelativeToEye * czm_translateRelativeToEye(position2DHigh.zxy, position2DLow.zxy);
  2746. absStartPlaneDistance = abs(czm_planeDistance(startPlane2D, positionEc2D.xyz));
  2747. absEndPlaneDistance = abs(czm_planeDistance(endPlane2D, positionEc2D.xyz));
  2748. planeDirection = czm_branchFreeTernary(absStartPlaneDistance < absEndPlaneDistance, startPlane2D.xyz, endPlane2D.xyz);
  2749. upOrDown = normalize(cross(rightPlane2D.xyz, planeDirection));
  2750. normalEC = normalize(cross(planeDirection, upOrDown));
  2751. geodeticSurfaceNormal = normalize(cross(normalEC, forwardEc2D));
  2752. geodeticSurfaceNormal *= float(0.0 <= texcoordNormalization2D.y && texcoordNormalization2D.y <= 1.0);
  2753. geodeticSurfaceNormal *= MAX_TERRAIN_HEIGHT;
  2754. positionEc2D.xyz += geodeticSurfaceNormal;
  2755. normalEC *= sign(texcoordNormalization2D.x);
  2756. #ifndef PER_INSTANCE_COLOR
  2757. v_texcoordT = clamp(sign(texcoordNormalization2D.x), 0.0, 1.0);
  2758. #endif
  2759. positionEc2D.xyz += halfWidth * max(0.0, czm_metersPerPixel(positionEc2D)) * normalEC;
  2760. gl_Position = czm_projection * mix(positionEc2D, positionEc3D, czm_morphTime);
  2761. #ifdef ANGLE_VARYING
  2762. vec2 approxLineDirection = normalize(vec2(v_forwardDirectionEC.x, -v_forwardDirectionEC.y));
  2763. approxLineDirection.y = czm_branchFreeTernary(approxLineDirection.x == 0.0 && approxLineDirection.y == 0.0, -1.0, approxLineDirection.y);
  2764. v_polylineAngle = czm_fastApproximateAtan(approxLineDirection.x, approxLineDirection.y);
  2765. #endif
  2766. }
  2767. `;var dB=`attribute vec3 position3DHigh;
  2768. attribute vec3 position3DLow;
  2769. #ifndef COLUMBUS_VIEW_2D
  2770. attribute vec4 startHiAndForwardOffsetX;
  2771. attribute vec4 startLoAndForwardOffsetY;
  2772. attribute vec4 startNormalAndForwardOffsetZ;
  2773. attribute vec4 endNormalAndTextureCoordinateNormalizationX;
  2774. attribute vec4 rightNormalAndTextureCoordinateNormalizationY;
  2775. #else
  2776. attribute vec4 startHiLo2D;
  2777. attribute vec4 offsetAndRight2D;
  2778. attribute vec4 startEndNormals2D;
  2779. attribute vec2 texcoordNormalization2D;
  2780. #endif
  2781. attribute float batchId;
  2782. varying vec4 v_startPlaneNormalEcAndHalfWidth;
  2783. varying vec4 v_endPlaneNormalEcAndBatchId;
  2784. varying vec4 v_rightPlaneEC;
  2785. varying vec4 v_endEcAndStartEcX;
  2786. varying vec4 v_texcoordNormalizationAndStartEcYZ;
  2787. #ifdef WIDTH_VARYING
  2788. varying float v_width;
  2789. #endif
  2790. #ifdef ANGLE_VARYING
  2791. varying float v_polylineAngle;
  2792. #endif
  2793. #ifdef PER_INSTANCE_COLOR
  2794. varying vec4 v_color;
  2795. #endif
  2796. void main()
  2797. {
  2798. #ifdef COLUMBUS_VIEW_2D
  2799. vec3 ecStart = (czm_modelViewRelativeToEye * czm_translateRelativeToEye(vec3(0.0, startHiLo2D.xy), vec3(0.0, startHiLo2D.zw))).xyz;
  2800. vec3 forwardDirectionEC = czm_normal * vec3(0.0, offsetAndRight2D.xy);
  2801. vec3 ecEnd = forwardDirectionEC + ecStart;
  2802. forwardDirectionEC = normalize(forwardDirectionEC);
  2803. v_rightPlaneEC.xyz = czm_normal * vec3(0.0, offsetAndRight2D.zw);
  2804. v_rightPlaneEC.w = -dot(v_rightPlaneEC.xyz, ecStart);
  2805. vec4 startPlaneEC;
  2806. startPlaneEC.xyz = czm_normal * vec3(0.0, startEndNormals2D.xy);
  2807. startPlaneEC.w = -dot(startPlaneEC.xyz, ecStart);
  2808. vec4 endPlaneEC;
  2809. endPlaneEC.xyz = czm_normal * vec3(0.0, startEndNormals2D.zw);
  2810. endPlaneEC.w = -dot(endPlaneEC.xyz, ecEnd);
  2811. v_texcoordNormalizationAndStartEcYZ.x = abs(texcoordNormalization2D.x);
  2812. v_texcoordNormalizationAndStartEcYZ.y = texcoordNormalization2D.y;
  2813. #else // COLUMBUS_VIEW_2D
  2814. vec3 ecStart = (czm_modelViewRelativeToEye * czm_translateRelativeToEye(startHiAndForwardOffsetX.xyz, startLoAndForwardOffsetY.xyz)).xyz;
  2815. vec3 offset = czm_normal * vec3(startHiAndForwardOffsetX.w, startLoAndForwardOffsetY.w, startNormalAndForwardOffsetZ.w);
  2816. vec3 ecEnd = ecStart + offset;
  2817. vec3 forwardDirectionEC = normalize(offset);
  2818. vec4 startPlaneEC;
  2819. startPlaneEC.xyz = czm_normal * startNormalAndForwardOffsetZ.xyz;
  2820. startPlaneEC.w = -dot(startPlaneEC.xyz, ecStart);
  2821. vec4 endPlaneEC;
  2822. endPlaneEC.xyz = czm_normal * endNormalAndTextureCoordinateNormalizationX.xyz;
  2823. endPlaneEC.w = -dot(endPlaneEC.xyz, ecEnd);
  2824. v_rightPlaneEC.xyz = czm_normal * rightNormalAndTextureCoordinateNormalizationY.xyz;
  2825. v_rightPlaneEC.w = -dot(v_rightPlaneEC.xyz, ecStart);
  2826. v_texcoordNormalizationAndStartEcYZ.x = abs(endNormalAndTextureCoordinateNormalizationX.w);
  2827. v_texcoordNormalizationAndStartEcYZ.y = rightNormalAndTextureCoordinateNormalizationY.w;
  2828. #endif // COLUMBUS_VIEW_2D
  2829. v_endEcAndStartEcX.xyz = ecEnd;
  2830. v_endEcAndStartEcX.w = ecStart.x;
  2831. v_texcoordNormalizationAndStartEcYZ.zw = ecStart.yz;
  2832. #ifdef PER_INSTANCE_COLOR
  2833. v_color = czm_batchTable_color(batchId);
  2834. #endif // PER_INSTANCE_COLOR
  2835. vec4 positionRelativeToEye = czm_computePosition();
  2836. vec4 positionEC = czm_modelViewRelativeToEye * positionRelativeToEye;
  2837. float absStartPlaneDistance = abs(czm_planeDistance(startPlaneEC, positionEC.xyz));
  2838. float absEndPlaneDistance = abs(czm_planeDistance(endPlaneEC, positionEC.xyz));
  2839. vec3 planeDirection = czm_branchFreeTernary(absStartPlaneDistance < absEndPlaneDistance, startPlaneEC.xyz, endPlaneEC.xyz);
  2840. vec3 upOrDown = normalize(cross(v_rightPlaneEC.xyz, planeDirection));
  2841. vec3 normalEC = normalize(cross(planeDirection, upOrDown));
  2842. upOrDown = cross(forwardDirectionEC, normalEC);
  2843. upOrDown = float(czm_sceneMode == czm_sceneMode3D) * upOrDown;
  2844. upOrDown = float(v_texcoordNormalizationAndStartEcYZ.y > 1.0 || v_texcoordNormalizationAndStartEcYZ.y < 0.0) * upOrDown;
  2845. upOrDown = min(GLOBE_MINIMUM_ALTITUDE, czm_geometricToleranceOverMeter * length(positionRelativeToEye.xyz)) * upOrDown;
  2846. positionEC.xyz += upOrDown;
  2847. v_texcoordNormalizationAndStartEcYZ.y = czm_branchFreeTernary(v_texcoordNormalizationAndStartEcYZ.y > 1.0, 0.0, abs(v_texcoordNormalizationAndStartEcYZ.y));
  2848. float width = czm_batchTable_width(batchId);
  2849. #ifdef WIDTH_VARYING
  2850. v_width = width;
  2851. #endif
  2852. v_startPlaneNormalEcAndHalfWidth.xyz = startPlaneEC.xyz;
  2853. v_startPlaneNormalEcAndHalfWidth.w = width * 0.5;
  2854. v_endPlaneNormalEcAndBatchId.xyz = endPlaneEC.xyz;
  2855. v_endPlaneNormalEcAndBatchId.w = batchId;
  2856. width = width * max(0.0, czm_metersPerPixel(positionEC));
  2857. width = width / dot(normalEC, v_rightPlaneEC.xyz);
  2858. #ifdef COLUMBUS_VIEW_2D
  2859. normalEC *= sign(texcoordNormalization2D.x);
  2860. #else
  2861. normalEC *= sign(endNormalAndTextureCoordinateNormalizationX.w);
  2862. #endif
  2863. positionEC.xyz += width * normalEC;
  2864. gl_Position = czm_depthClamp(czm_projection * positionEC);
  2865. #ifdef ANGLE_VARYING
  2866. vec2 approxLineDirection = normalize(vec2(forwardDirectionEC.x, -forwardDirectionEC.y));
  2867. approxLineDirection.y = czm_branchFreeTernary(approxLineDirection.x == 0.0 && approxLineDirection.y == 0.0, -1.0, approxLineDirection.y);
  2868. v_polylineAngle = czm_fastApproximateAtan(approxLineDirection.x, approxLineDirection.y);
  2869. #endif
  2870. }
  2871. `;var hB=`attribute vec3 position3DHigh;
  2872. attribute vec3 position3DLow;
  2873. attribute vec3 prevPosition3DHigh;
  2874. attribute vec3 prevPosition3DLow;
  2875. attribute vec3 nextPosition3DHigh;
  2876. attribute vec3 nextPosition3DLow;
  2877. attribute vec2 expandAndWidth;
  2878. attribute vec4 color;
  2879. attribute float batchId;
  2880. varying vec4 v_color;
  2881. void main()
  2882. {
  2883. float expandDir = expandAndWidth.x;
  2884. float width = abs(expandAndWidth.y) + 0.5;
  2885. bool usePrev = expandAndWidth.y < 0.0;
  2886. vec4 p = czm_computePosition();
  2887. vec4 prev = czm_computePrevPosition();
  2888. vec4 next = czm_computeNextPosition();
  2889. float angle;
  2890. vec4 positionWC = getPolylineWindowCoordinates(p, prev, next, expandDir, width, usePrev, angle);
  2891. gl_Position = czm_viewportOrthographic * positionWC;
  2892. v_color = color;
  2893. }
  2894. `;var Au=`void clipLineSegmentToNearPlane(
  2895. vec3 p0,
  2896. vec3 p1,
  2897. out vec4 positionWC,
  2898. out bool clipped,
  2899. out bool culledByNearPlane,
  2900. out vec4 clippedPositionEC)
  2901. {
  2902. culledByNearPlane = false;
  2903. clipped = false;
  2904. vec3 p0ToP1 = p1 - p0;
  2905. float magnitude = length(p0ToP1);
  2906. vec3 direction = normalize(p0ToP1);
  2907. float endPoint0Distance = czm_currentFrustum.x + p0.z;
  2908. float denominator = -direction.z;
  2909. if (endPoint0Distance > 0.0 && abs(denominator) < czm_epsilon7)
  2910. {
  2911. culledByNearPlane = true;
  2912. }
  2913. else if (endPoint0Distance > 0.0)
  2914. {
  2915. float t = endPoint0Distance / denominator;
  2916. if (t < 0.0 || t > magnitude)
  2917. {
  2918. culledByNearPlane = true;
  2919. }
  2920. else
  2921. {
  2922. p0 = p0 + t * direction;
  2923. p0.z = min(p0.z, -czm_currentFrustum.x);
  2924. clipped = true;
  2925. }
  2926. }
  2927. clippedPositionEC = vec4(p0, 1.0);
  2928. positionWC = czm_eyeToWindowCoordinates(clippedPositionEC);
  2929. }
  2930. vec4 getPolylineWindowCoordinatesEC(vec4 positionEC, vec4 prevEC, vec4 nextEC, float expandDirection, float width, bool usePrevious, out float angle)
  2931. {
  2932. #ifdef POLYLINE_DASH
  2933. vec4 positionWindow = czm_eyeToWindowCoordinates(positionEC);
  2934. vec4 previousWindow = czm_eyeToWindowCoordinates(prevEC);
  2935. vec4 nextWindow = czm_eyeToWindowCoordinates(nextEC);
  2936. vec2 lineDir;
  2937. if (usePrevious) {
  2938. lineDir = normalize(positionWindow.xy - previousWindow.xy);
  2939. }
  2940. else {
  2941. lineDir = normalize(nextWindow.xy - positionWindow.xy);
  2942. }
  2943. angle = atan(lineDir.x, lineDir.y) - 1.570796327;
  2944. angle = floor(angle / czm_piOverFour + 0.5) * czm_piOverFour;
  2945. #endif
  2946. vec4 clippedPrevWC, clippedPrevEC;
  2947. bool prevSegmentClipped, prevSegmentCulled;
  2948. clipLineSegmentToNearPlane(prevEC.xyz, positionEC.xyz, clippedPrevWC, prevSegmentClipped, prevSegmentCulled, clippedPrevEC);
  2949. vec4 clippedNextWC, clippedNextEC;
  2950. bool nextSegmentClipped, nextSegmentCulled;
  2951. clipLineSegmentToNearPlane(nextEC.xyz, positionEC.xyz, clippedNextWC, nextSegmentClipped, nextSegmentCulled, clippedNextEC);
  2952. bool segmentClipped, segmentCulled;
  2953. vec4 clippedPositionWC, clippedPositionEC;
  2954. clipLineSegmentToNearPlane(positionEC.xyz, usePrevious ? prevEC.xyz : nextEC.xyz, clippedPositionWC, segmentClipped, segmentCulled, clippedPositionEC);
  2955. if (segmentCulled)
  2956. {
  2957. return vec4(0.0, 0.0, 0.0, 1.0);
  2958. }
  2959. vec2 directionToPrevWC = normalize(clippedPrevWC.xy - clippedPositionWC.xy);
  2960. vec2 directionToNextWC = normalize(clippedNextWC.xy - clippedPositionWC.xy);
  2961. if (prevSegmentCulled)
  2962. {
  2963. directionToPrevWC = -directionToNextWC;
  2964. }
  2965. else if (nextSegmentCulled)
  2966. {
  2967. directionToNextWC = -directionToPrevWC;
  2968. }
  2969. vec2 thisSegmentForwardWC, otherSegmentForwardWC;
  2970. if (usePrevious)
  2971. {
  2972. thisSegmentForwardWC = -directionToPrevWC;
  2973. otherSegmentForwardWC = directionToNextWC;
  2974. }
  2975. else
  2976. {
  2977. thisSegmentForwardWC = directionToNextWC;
  2978. otherSegmentForwardWC = -directionToPrevWC;
  2979. }
  2980. vec2 thisSegmentLeftWC = vec2(-thisSegmentForwardWC.y, thisSegmentForwardWC.x);
  2981. vec2 leftWC = thisSegmentLeftWC;
  2982. float expandWidth = width * 0.5;
  2983. if (!czm_equalsEpsilon(prevEC.xyz - positionEC.xyz, vec3(0.0), czm_epsilon1) && !czm_equalsEpsilon(nextEC.xyz - positionEC.xyz, vec3(0.0), czm_epsilon1))
  2984. {
  2985. vec2 otherSegmentLeftWC = vec2(-otherSegmentForwardWC.y, otherSegmentForwardWC.x);
  2986. vec2 leftSumWC = thisSegmentLeftWC + otherSegmentLeftWC;
  2987. float leftSumLength = length(leftSumWC);
  2988. leftWC = leftSumLength < czm_epsilon6 ? thisSegmentLeftWC : (leftSumWC / leftSumLength);
  2989. vec2 u = -thisSegmentForwardWC;
  2990. vec2 v = leftWC;
  2991. float sinAngle = abs(u.x * v.y - u.y * v.x);
  2992. expandWidth = clamp(expandWidth / sinAngle, 0.0, width * 2.0);
  2993. }
  2994. vec2 offset = leftWC * expandDirection * expandWidth * czm_pixelRatio;
  2995. return vec4(clippedPositionWC.xy + offset, -clippedPositionWC.z, 1.0) * (czm_projection * clippedPositionEC).w;
  2996. }
  2997. vec4 getPolylineWindowCoordinates(vec4 position, vec4 previous, vec4 next, float expandDirection, float width, bool usePrevious, out float angle)
  2998. {
  2999. vec4 positionEC = czm_modelViewRelativeToEye * position;
  3000. vec4 prevEC = czm_modelViewRelativeToEye * previous;
  3001. vec4 nextEC = czm_modelViewRelativeToEye * next;
  3002. return getPolylineWindowCoordinatesEC(positionEC, prevEC, nextEC, expandDirection, width, usePrevious, angle);
  3003. }
  3004. `;var kG=`${Au}
  3005. ${hB}`,qLe=xA;Mt.isInternetExplorer()||(kG=`#define CLIP_POLYLINE
  3006. ${kG}`);function gy(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.translucent,!0),n=!1,i=gy.VERTEX_FORMAT;this.material=void 0,this.translucent=t,this._vertexShaderSource=y(e.vertexShaderSource,kG),this._fragmentShaderSource=y(e.fragmentShaderSource,qLe),this._renderState=$i.getDefaultRenderState(t,n,e.renderState),this._closed=n,this._vertexFormat=i}Object.defineProperties(gy.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},vertexFormat:{get:function(){return this._vertexFormat}}});gy.VERTEX_FORMAT=ve.POSITION_ONLY;gy.prototype.getFragmentShaderSource=$i.prototype.getFragmentShaderSource;gy.prototype.isTranslucent=$i.prototype.isTranslucent;gy.prototype.getRenderState=$i.prototype.getRenderState;var Hr=gy;var mB=`attribute vec3 position3DHigh;
  3007. attribute vec3 position3DLow;
  3008. attribute vec3 prevPosition3DHigh;
  3009. attribute vec3 prevPosition3DLow;
  3010. attribute vec3 nextPosition3DHigh;
  3011. attribute vec3 nextPosition3DLow;
  3012. attribute vec2 expandAndWidth;
  3013. attribute vec2 st;
  3014. attribute float batchId;
  3015. varying float v_width;
  3016. varying vec2 v_st;
  3017. varying float v_polylineAngle;
  3018. void main()
  3019. {
  3020. float expandDir = expandAndWidth.x;
  3021. float width = abs(expandAndWidth.y) + 0.5;
  3022. bool usePrev = expandAndWidth.y < 0.0;
  3023. vec4 p = czm_computePosition();
  3024. vec4 prev = czm_computePrevPosition();
  3025. vec4 next = czm_computeNextPosition();
  3026. float angle;
  3027. vec4 positionWC = getPolylineWindowCoordinates(p, prev, next, expandDir, width, usePrev, angle);
  3028. gl_Position = czm_viewportOrthographic * positionWC;
  3029. v_width = width;
  3030. v_st.s = st.s;
  3031. v_st.t = czm_writeNonPerspective(st.t, gl_Position.w);
  3032. v_polylineAngle = angle;
  3033. }
  3034. `;var vA=`#ifdef VECTOR_TILE
  3035. uniform vec4 u_highlightColor;
  3036. #endif
  3037. varying vec2 v_st;
  3038. void main()
  3039. {
  3040. czm_materialInput materialInput;
  3041. vec2 st = v_st;
  3042. st.t = czm_readNonPerspective(st.t, gl_FragCoord.w);
  3043. materialInput.s = st.s;
  3044. materialInput.st = st;
  3045. materialInput.str = vec3(st, 0.0);
  3046. czm_material material = czm_getMaterial(materialInput);
  3047. gl_FragColor = vec4(material.diffuse + material.emission, material.alpha);
  3048. #ifdef VECTOR_TILE
  3049. gl_FragColor *= u_highlightColor;
  3050. #endif
  3051. czm_writeLogDepth();
  3052. }
  3053. `;var UG=`${Au}
  3054. ${mB}`,YLe=vA;Mt.isInternetExplorer()||(UG=`#define CLIP_POLYLINE
  3055. ${UG}`);function yy(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.translucent,!0),n=!1,i=yy.VERTEX_FORMAT;this.material=l(e.material)?e.material:Qi.fromType(Qi.ColorType),this.translucent=t,this._vertexShaderSource=y(e.vertexShaderSource,UG),this._fragmentShaderSource=y(e.fragmentShaderSource,YLe),this._renderState=$i.getDefaultRenderState(t,n,e.renderState),this._closed=n,this._vertexFormat=i}Object.defineProperties(yy.prototype,{vertexShaderSource:{get:function(){let e=this._vertexShaderSource;return this.material.shaderSource.search(/varying\s+float\s+v_polylineAngle;/g)!==-1&&(e=`#define POLYLINE_DASH
  3056. ${e}`),e}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},vertexFormat:{get:function(){return this._vertexFormat}}});yy.VERTEX_FORMAT=ve.POSITION_AND_ST;yy.prototype.getFragmentShaderSource=$i.prototype.getFragmentShaderSource;yy.prototype.isTranslucent=$i.prototype.isTranslucent;yy.prototype.getRenderState=$i.prototype.getRenderState;var Ks=yy;function wm(e){e=y(e,y.EMPTY_OBJECT),this.geometryInstances=e.geometryInstances,this._hasPerInstanceColors=!0;let t=e.appearance;l(t)||(t=new Ks),this.appearance=t,this.show=y(e.show,!0),this.classificationType=y(e.classificationType,Ln.BOTH),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this._debugShowShadowVolume=y(e.debugShowShadowVolume,!1),this._primitiveOptions={geometryInstances:void 0,appearance:void 0,vertexCacheOptimize:!1,interleave:y(e.interleave,!1),releaseGeometryInstances:y(e.releaseGeometryInstances,!0),allowPicking:y(e.allowPicking,!0),asynchronous:y(e.asynchronous,!0),compressVertices:!1,_createShaderProgramFunction:void 0,_createCommandsFunction:void 0,_updateAndQueueCommandsFunction:void 0},this._zIndex=void 0,this._ready=!1;let n=this;this._readyPromise=new Promise((i,o)=>{n._completeLoad=()=>{this._ready=!0,this.releaseGeometryInstances&&(this.geometryInstances=void 0);let r=this._error;l(r)?o(r):i(this)}}),this._primitive=void 0,this._sp=void 0,this._sp2D=void 0,this._spMorph=void 0,this._renderState=vie(!1),this._renderState3DTiles=vie(!0),this._renderStateMorph=Fe.fromCache({cull:{enabled:!0,face:wi.FRONT},depthTest:{enabled:!0},blending:cn.PRE_MULTIPLIED_ALPHA_BLEND,depthMask:!1})}Object.defineProperties(wm.prototype,{interleave:{get:function(){return this._primitiveOptions.interleave}},releaseGeometryInstances:{get:function(){return this._primitiveOptions.releaseGeometryInstances}},allowPicking:{get:function(){return this._primitiveOptions.allowPicking}},asynchronous:{get:function(){return this._primitiveOptions.asynchronous}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}},debugShowShadowVolume:{get:function(){return this._debugShowShadowVolume}}});wm.initializeTerrainHeights=function(){return si.initialize()};function XLe(e,t,n){let i=t.context,o=e._primitive,r=o._attributeLocations,s=o._batchTable.getVertexShaderCallback()(dB);s=xn._appendShowToShader(o,s),s=xn._appendDistanceDisplayConditionToShader(o,s),s=xn._modifyShaderPosition(e,s,t.scene3DOnly);let a=o._batchTable.getVertexShaderCallback()(fB);a=xn._appendShowToShader(o,a),a=xn._appendDistanceDisplayConditionToShader(o,a),a=xn._modifyShaderPosition(e,a,t.scene3DOnly);let c=o._batchTable.getVertexShaderCallback()(lB),u=[`GLOBE_MINIMUM_ALTITUDE ${t.mapProjection.ellipsoid.minimumRadius.toFixed(1)}`],f="",d="";l(n.material)?(d=l(n.material)?n.material.shaderSource:"",d.search(/varying\s+float\s+v_polylineAngle;/g)!==-1&&u.push("ANGLE_VARYING"),d.search(/varying\s+float\s+v_width;/g)!==-1&&u.push("WIDTH_VARYING")):f="PER_INSTANCE_COLOR",u.push(f);let p=e.debugShowShadowVolume?["DEBUG_SHOW_VOLUME",f]:[f],g=new ke({defines:u,sources:[s]}),m=new ke({defines:p,sources:[d,c]});e._sp=Yt.replaceCache({context:i,shaderProgram:o._sp,vertexShaderSource:g,fragmentShaderSource:m,attributeLocations:r});let C=i.shaderCache.getDerivedShaderProgram(e._sp,"2dColor");if(!l(C)){let A=new ke({defines:u.concat(["COLUMBUS_VIEW_2D"]),sources:[s]});C=i.shaderCache.createDerivedShaderProgram(e._sp,"2dColor",{context:i,shaderProgram:e._sp2D,vertexShaderSource:A,fragmentShaderSource:m,attributeLocations:r})}e._sp2D=C;let x=i.shaderCache.getDerivedShaderProgram(e._sp,"MorphColor");if(!l(x)){let A=new ke({defines:u.concat([`MAX_TERRAIN_HEIGHT ${si._defaultMaxTerrainHeight.toFixed(1)}`]),sources:[a]});c=o._batchTable.getVertexShaderCallback()(uB);let b=new ke({defines:p,sources:[d,c]});x=i.shaderCache.createDerivedShaderProgram(e._sp,"MorphColor",{context:i,shaderProgram:e._spMorph,vertexShaderSource:A,fragmentShaderSource:b,attributeLocations:r})}e._spMorph=x}function vie(e){return Fe.fromCache({cull:{enabled:!0},blending:cn.PRE_MULTIPLIED_ALPHA_BLEND,depthMask:!1,stencilTest:{enabled:e,frontFunction:Nn.EQUAL,frontOperation:{fail:at.KEEP,zFail:at.KEEP,zPass:at.KEEP},backFunction:Nn.EQUAL,backOperation:{fail:at.KEEP,zFail:at.KEEP,zPass:at.KEEP},reference:vt.CESIUM_3D_TILE_MASK,mask:vt.CESIUM_3D_TILE_MASK}})}function KLe(e,t,n,i,o,r){let s=e._primitive,a=s._va.length;o.length=a,r.length=a;let u=t instanceof Hr?{}:n._uniforms,f=s._batchTable.getUniformMapCallback()(u);for(let d=0;d<a;d++){let p=s._va[d],g=o[d];l(g)||(g=o[d]=new Je({owner:e,primitiveType:s._primitiveType})),g.vertexArray=p,g.renderState=e._renderState,g.shaderProgram=e._sp,g.uniformMap=f,g.pass=xe.TERRAIN_CLASSIFICATION,g.pickId="czm_batchTable_pickColor(v_endPlaneNormalEcAndBatchId.w)";let m=Je.shallowClone(g,g.derivedCommands.tileset);m.renderState=e._renderState3DTiles,m.pass=xe.CESIUM_3D_TILE_CLASSIFICATION,g.derivedCommands.tileset=m;let C=Je.shallowClone(g,g.derivedCommands.color2D);C.shaderProgram=e._sp2D,g.derivedCommands.color2D=C;let x=Je.shallowClone(m,m.derivedCommands.color2D);x.shaderProgram=e._sp2D,m.derivedCommands.color2D=x;let A=Je.shallowClone(g,g.derivedCommands.colorMorph);A.renderState=e._renderStateMorph,A.shaderProgram=e._spMorph,A.pickId="czm_batchTable_pickColor(v_batchId)",g.derivedCommands.colorMorph=A}}function Die(e,t,n,i,o,r,s){n.mode===ee.MORPHING?t=t.derivedCommands.colorMorph:n.mode!==ee.SCENE3D&&(t=t.derivedCommands.color2D),t.modelMatrix=i,t.boundingVolume=r,t.cull=o,t.debugShowBoundingVolume=s,n.commandList.push(t)}function ZLe(e,t,n,i,o,r,s){let a=e._primitive;xn._updateBoundingVolumes(a,t,o);let c;t.mode===ee.SCENE3D?c=a._boundingSphereWC:t.mode===ee.COLUMBUS_VIEW?c=a._boundingSphereCV:t.mode===ee.SCENE2D&&l(a._boundingSphere2D)?c=a._boundingSphere2D:l(a._boundingSphereMorph)&&(c=a._boundingSphereMorph);let u=t.mode===ee.MORPHING,f=e.classificationType,d=f!==Ln.CESIUM_3D_TILE,p=f!==Ln.TERRAIN&&!u,g,m=t.passes;if(m.render||m.pick&&a.allowPicking){let C=n.length;for(let x=0;x<C;++x){let A=c[x];d&&(g=n[x],Die(e,g,t,o,r,A,s)),p&&(g=n[x].derivedCommands.tileset,Die(e,g,t,o,r,A,s))}}}wm.prototype.update=function(e){if(!l(this._primitive)&&!l(this.geometryInstances))return;if(!si.initialized){wm.initializeTerrainHeights();return}let t,n=this,i=this._primitiveOptions;if(!l(this._primitive)){let o=Array.isArray(this.geometryInstances)?this.geometryInstances:[this.geometryInstances],r=o.length,s=new Array(r),a;for(t=0;t<r;++t)if(a=o[t].attributes,!l(a)||!l(a.color)){this._hasPerInstanceColors=!1;break}for(t=0;t<r;++t){let c=o[t];a={};let u=c.attributes;for(let f in u)u.hasOwnProperty(f)&&(a[f]=u[f]);l(a.width)||(a.width=new tc({componentDatatype:Z.UNSIGNED_BYTE,componentsPerAttribute:1,value:[c.geometry.width]})),c.geometry._scene3DOnly=e.scene3DOnly,Yx.setProjectionAndEllipsoid(c.geometry,e.mapProjection),s[t]=new pt({geometry:c.geometry,attributes:a,id:c.id,pickPrimitive:n})}i.geometryInstances=s,i.appearance=this.appearance,i._createShaderProgramFunction=function(c,u,f){XLe(n,u,f)},i._createCommandsFunction=function(c,u,f,d,p,g,m){KLe(n,u,f,d,g,m)},i._updateAndQueueCommandsFunction=function(c,u,f,d,p,g,m,C){ZLe(n,u,f,d,p,g,m)},this._primitive=new xn(i),this._primitive.readyPromise.then(this._completeLoad)}if(this.appearance instanceof Hr&&!this._hasPerInstanceColors)throw new ye("All GeometryInstances must have color attributes to use PolylineColorAppearance with GroundPolylinePrimitive.");this._primitive.appearance=this.appearance,this._primitive.show=this.show,this._primitive.debugShowBoundingVolume=this.debugShowBoundingVolume,this._primitive.update(e)};wm.prototype.getGeometryInstanceAttributes=function(e){return this._primitive.getGeometryInstanceAttributes(e)};wm.isSupported=function(e){return e.frameState.context.depthTexture};wm.prototype.isDestroyed=function(){return!1};wm.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),this._sp=this._sp&&this._sp.destroy(),this._sp2D=void 0,this._spMorph=void 0,fe(this)};var ih=wm;var $Le=new G(1,1),JLe=!1,QLe=U.WHITE;function DA(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new ge,this._image=void 0,this._imageSubscription=void 0,this._repeat=void 0,this._repeatSubscription=void 0,this._color=void 0,this._colorSubscription=void 0,this._transparent=void 0,this._transparentSubscription=void 0,this.image=e.image,this.repeat=e.repeat,this.color=e.color,this.transparent=e.transparent}Object.defineProperties(DA.prototype,{isConstant:{get:function(){return j.isConstant(this._image)&&j.isConstant(this._repeat)}},definitionChanged:{get:function(){return this._definitionChanged}},image:ae("image"),repeat:ae("repeat"),color:ae("color"),transparent:ae("transparent")});DA.prototype.getType=function(e){return"Image"};DA.prototype.getValue=function(e,t){return l(t)||(t={}),t.image=j.getValueOrUndefined(this._image,e),t.repeat=j.getValueOrClonedDefault(this._repeat,e,$Le,t.repeat),t.color=j.getValueOrClonedDefault(this._color,e,QLe,t.color),j.getValueOrDefault(this._transparent,e,JLe)&&(t.color.alpha=Math.min(.99,t.color.alpha)),t};DA.prototype.equals=function(e){return this===e||e instanceof DA&&j.equals(this._image,e._image)&&j.equals(this._repeat,e._repeat)&&j.equals(this._color,e._color)&&j.equals(this._transparent,e._transparent)};var Cy=DA;function eNe(e){if(e instanceof U)return new Pt(e);if(typeof e=="string"||e instanceof Ie||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement){let t=new Cy;return t.image=e,t}}function tNe(e,t){return ae(e,t,eNe)}var Do=tNe;function wS(e){this._definitionChanged=new ge,this._show=void 0,this._showSubscription=void 0,this._dimensions=void 0,this._dimensionsSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(wS.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ae("show"),dimensions:ae("dimensions"),heightReference:ae("heightReference"),fill:ae("fill"),material:Do("material"),outline:ae("outline"),outlineColor:ae("outlineColor"),outlineWidth:ae("outlineWidth"),shadows:ae("shadows"),distanceDisplayCondition:ae("distanceDisplayCondition")});wS.prototype.clone=function(e){return l(e)?(e.show=this.show,e.dimensions=this.dimensions,e.heightReference=this.heightReference,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new wS(this)};wS.prototype.merge=function(e){this.show=y(this.show,e.show),this.dimensions=y(this.dimensions,e.dimensions),this.heightReference=y(this.heightReference,e.heightReference),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var PA=wS;function IA(){ye.throwInstantiationError()}Object.defineProperties(IA.prototype,{isConstant:{get:ye.throwInstantiationError},definitionChanged:{get:ye.throwInstantiationError},referenceFrame:{get:ye.throwInstantiationError}});IA.prototype.getValue=ye.throwInstantiationError;IA.prototype.getValueInReferenceFrame=ye.throwInstantiationError;IA.prototype.equals=ye.throwInstantiationError;var zG=new J;IA.convertToReferenceFrame=function(e,t,n,i,o){if(!l(t))return t;if(l(o)||(o=new h),n===i)return h.clone(t,o);let r=Dt.computeIcrfToFixedMatrix(e,zG);if(l(r)||(r=Dt.computeTemeToPseudoFixedMatrix(e,zG)),n===Zi.INERTIAL)return J.multiplyByVector(r,t,o);if(n===Zi.FIXED)return J.multiplyByVector(J.transpose(r,zG),t,o)};var D_=IA;function xy(e,t){this._definitionChanged=new ge,this._value=h.clone(e),this._referenceFrame=y(t,Zi.FIXED)}Object.defineProperties(xy.prototype,{isConstant:{get:function(){return!l(this._value)||this._referenceFrame===Zi.FIXED}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return this._referenceFrame}}});xy.prototype.getValue=function(e,t){return this.getValueInReferenceFrame(e,Zi.FIXED,t)};xy.prototype.setValue=function(e,t){let n=!1;h.equals(this._value,e)||(n=!0,this._value=h.clone(e)),l(t)&&this._referenceFrame!==t&&(n=!0,this._referenceFrame=t),n&&this._definitionChanged.raiseEvent(this)};xy.prototype.getValueInReferenceFrame=function(e,t,n){return D_.convertToReferenceFrame(e,this._value,this._referenceFrame,t,n)};xy.prototype.equals=function(e){return this===e||e instanceof xy&&h.equals(this._value,e._value)&&this._referenceFrame===e._referenceFrame};var Wc=xy;function vS(e){this._definitionChanged=new ge,this._show=void 0,this._showSubscription=void 0,this._positions=void 0,this._positionsSubscription=void 0,this._width=void 0,this._widthSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._extrudedHeight=void 0,this._extrudedHeightSubscription=void 0,this._extrudedHeightReference=void 0,this._extrudedHeightReferenceSubscription=void 0,this._cornerType=void 0,this._cornerTypeSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(vS.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ae("show"),positions:ae("positions"),width:ae("width"),height:ae("height"),heightReference:ae("heightReference"),extrudedHeight:ae("extrudedHeight"),extrudedHeightReference:ae("extrudedHeightReference"),cornerType:ae("cornerType"),granularity:ae("granularity"),fill:ae("fill"),material:Do("material"),outline:ae("outline"),outlineColor:ae("outlineColor"),outlineWidth:ae("outlineWidth"),shadows:ae("shadows"),distanceDisplayCondition:ae("distanceDisplayCondition"),classificationType:ae("classificationType"),zIndex:ae("zIndex")});vS.prototype.clone=function(e){return l(e)?(e.show=this.show,e.positions=this.positions,e.width=this.width,e.height=this.height,e.heightReference=this.heightReference,e.extrudedHeight=this.extrudedHeight,e.extrudedHeightReference=this.extrudedHeightReference,e.cornerType=this.cornerType,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e.classificationType=this.classificationType,e.zIndex=this.zIndex,e):new vS(this)};vS.prototype.merge=function(e){this.show=y(this.show,e.show),this.positions=y(this.positions,e.positions),this.width=y(this.width,e.width),this.height=y(this.height,e.height),this.heightReference=y(this.heightReference,e.heightReference),this.extrudedHeight=y(this.extrudedHeight,e.extrudedHeight),this.extrudedHeightReference=y(this.extrudedHeightReference,e.extrudedHeightReference),this.cornerType=y(this.cornerType,e.cornerType),this.granularity=y(this.granularity,e.granularity),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.classificationType=y(this.classificationType,e.classificationType),this.zIndex=y(this.zIndex,e.zIndex)};var OA=vS;function nNe(e){return e}function iNe(e,t){return ae(e,t,nNe)}var Tl=iNe;function DS(e){this._definitionChanged=new ge,this._show=void 0,this._showSubscription=void 0,this._length=void 0,this._lengthSubscription=void 0,this._topRadius=void 0,this._topRadiusSubscription=void 0,this._bottomRadius=void 0,this._bottomRadiusSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._numberOfVerticalLines=void 0,this._numberOfVerticalLinesSubscription=void 0,this._slices=void 0,this._slicesSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(DS.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ae("show"),length:ae("length"),topRadius:ae("topRadius"),bottomRadius:ae("bottomRadius"),heightReference:ae("heightReference"),fill:ae("fill"),material:Do("material"),outline:ae("outline"),outlineColor:ae("outlineColor"),outlineWidth:ae("outlineWidth"),numberOfVerticalLines:ae("numberOfVerticalLines"),slices:ae("slices"),shadows:ae("shadows"),distanceDisplayCondition:ae("distanceDisplayCondition")});DS.prototype.clone=function(e){return l(e)?(e.show=this.show,e.length=this.length,e.topRadius=this.topRadius,e.bottomRadius=this.bottomRadius,e.heightReference=this.heightReference,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.numberOfVerticalLines=this.numberOfVerticalLines,e.slices=this.slices,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new DS(this)};DS.prototype.merge=function(e){this.show=y(this.show,e.show),this.length=y(this.length,e.length),this.topRadius=y(this.topRadius,e.topRadius),this.bottomRadius=y(this.bottomRadius,e.bottomRadius),this.heightReference=y(this.heightReference,e.heightReference),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.numberOfVerticalLines=y(this.numberOfVerticalLines,e.numberOfVerticalLines),this.slices=y(this.slices,e.slices),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var RA=DS;function PS(e){this._definitionChanged=new ge,this._show=void 0,this._showSubscription=void 0,this._semiMajorAxis=void 0,this._semiMajorAxisSubscription=void 0,this._semiMinorAxis=void 0,this._semiMinorAxisSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._extrudedHeight=void 0,this._extrudedHeightSubscription=void 0,this._extrudedHeightReference=void 0,this._extrudedHeightReferenceSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._stRotation=void 0,this._stRotationSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._numberOfVerticalLines=void 0,this._numberOfVerticalLinesSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(PS.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ae("show"),semiMajorAxis:ae("semiMajorAxis"),semiMinorAxis:ae("semiMinorAxis"),height:ae("height"),heightReference:ae("heightReference"),extrudedHeight:ae("extrudedHeight"),extrudedHeightReference:ae("extrudedHeightReference"),rotation:ae("rotation"),stRotation:ae("stRotation"),granularity:ae("granularity"),fill:ae("fill"),material:Do("material"),outline:ae("outline"),outlineColor:ae("outlineColor"),outlineWidth:ae("outlineWidth"),numberOfVerticalLines:ae("numberOfVerticalLines"),shadows:ae("shadows"),distanceDisplayCondition:ae("distanceDisplayCondition"),classificationType:ae("classificationType"),zIndex:ae("zIndex")});PS.prototype.clone=function(e){return l(e)?(e.show=this.show,e.semiMajorAxis=this.semiMajorAxis,e.semiMinorAxis=this.semiMinorAxis,e.height=this.height,e.heightReference=this.heightReference,e.extrudedHeight=this.extrudedHeight,e.extrudedHeightReference=this.extrudedHeightReference,e.rotation=this.rotation,e.stRotation=this.stRotation,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.numberOfVerticalLines=this.numberOfVerticalLines,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e.classificationType=this.classificationType,e.zIndex=this.zIndex,e):new PS(this)};PS.prototype.merge=function(e){this.show=y(this.show,e.show),this.semiMajorAxis=y(this.semiMajorAxis,e.semiMajorAxis),this.semiMinorAxis=y(this.semiMinorAxis,e.semiMinorAxis),this.height=y(this.height,e.height),this.heightReference=y(this.heightReference,e.heightReference),this.extrudedHeight=y(this.extrudedHeight,e.extrudedHeight),this.extrudedHeightReference=y(this.extrudedHeightReference,e.extrudedHeightReference),this.rotation=y(this.rotation,e.rotation),this.stRotation=y(this.stRotation,e.stRotation),this.granularity=y(this.granularity,e.granularity),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.numberOfVerticalLines=y(this.numberOfVerticalLines,e.numberOfVerticalLines),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.classificationType=y(this.classificationType,e.classificationType),this.zIndex=y(this.zIndex,e.zIndex)};var MA=PS;function IS(e){this._definitionChanged=new ge,this._show=void 0,this._showSubscription=void 0,this._radii=void 0,this._radiiSubscription=void 0,this._innerRadii=void 0,this._innerRadiiSubscription=void 0,this._minimumClock=void 0,this._minimumClockSubscription=void 0,this._maximumClock=void 0,this._maximumClockSubscription=void 0,this._minimumCone=void 0,this._minimumConeSubscription=void 0,this._maximumCone=void 0,this._maximumConeSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=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._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(IS.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ae("show"),radii:ae("radii"),innerRadii:ae("innerRadii"),minimumClock:ae("minimumClock"),maximumClock:ae("maximumClock"),minimumCone:ae("minimumCone"),maximumCone:ae("maximumCone"),heightReference:ae("heightReference"),fill:ae("fill"),material:Do("material"),outline:ae("outline"),outlineColor:ae("outlineColor"),outlineWidth:ae("outlineWidth"),stackPartitions:ae("stackPartitions"),slicePartitions:ae("slicePartitions"),subdivisions:ae("subdivisions"),shadows:ae("shadows"),distanceDisplayCondition:ae("distanceDisplayCondition")});IS.prototype.clone=function(e){return l(e)?(e.show=this.show,e.radii=this.radii,e.innerRadii=this.innerRadii,e.minimumClock=this.minimumClock,e.maximumClock=this.maximumClock,e.minimumCone=this.minimumCone,e.maximumCone=this.maximumCone,e.heightReference=this.heightReference,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.stackPartitions=this.stackPartitions,e.slicePartitions=this.slicePartitions,e.subdivisions=this.subdivisions,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new IS(this)};IS.prototype.merge=function(e){this.show=y(this.show,e.show),this.radii=y(this.radii,e.radii),this.innerRadii=y(this.innerRadii,e.innerRadii),this.minimumClock=y(this.minimumClock,e.minimumClock),this.maximumClock=y(this.maximumClock,e.maximumClock),this.minimumCone=y(this.minimumCone,e.minimumCone),this.maximumCone=y(this.maximumCone,e.maximumCone),this.heightReference=y(this.heightReference,e.heightReference),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.stackPartitions=y(this.stackPartitions,e.stackPartitions),this.slicePartitions=y(this.slicePartitions,e.slicePartitions),this.subdivisions=y(this.subdivisions,e.subdivisions),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var BA=IS;function OS(e){this._definitionChanged=new ge,this._show=void 0,this._showSubscription=void 0,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._scale=void 0,this._scaleSubscription=void 0,this._showBackground=void 0,this._showBackgroundSubscription=void 0,this._backgroundColor=void 0,this._backgroundColorSubscription=void 0,this._backgroundPadding=void 0,this._backgroundPaddingSubscription=void 0,this._pixelOffset=void 0,this._pixelOffsetSubscription=void 0,this._eyeOffset=void 0,this._eyeOffsetSubscription=void 0,this._horizontalOrigin=void 0,this._horizontalOriginSubscription=void 0,this._verticalOrigin=void 0,this._verticalOriginSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=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._translucencyByDistance=void 0,this._translucencyByDistanceSubscription=void 0,this._pixelOffsetScaleByDistance=void 0,this._pixelOffsetScaleByDistanceSubscription=void 0,this._scaleByDistance=void 0,this._scaleByDistanceSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._disableDepthTestDistance=void 0,this._disableDepthTestDistanceSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(OS.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ae("show"),text:ae("text"),font:ae("font"),style:ae("style"),scale:ae("scale"),showBackground:ae("showBackground"),backgroundColor:ae("backgroundColor"),backgroundPadding:ae("backgroundPadding"),pixelOffset:ae("pixelOffset"),eyeOffset:ae("eyeOffset"),horizontalOrigin:ae("horizontalOrigin"),verticalOrigin:ae("verticalOrigin"),heightReference:ae("heightReference"),fillColor:ae("fillColor"),outlineColor:ae("outlineColor"),outlineWidth:ae("outlineWidth"),translucencyByDistance:ae("translucencyByDistance"),pixelOffsetScaleByDistance:ae("pixelOffsetScaleByDistance"),scaleByDistance:ae("scaleByDistance"),distanceDisplayCondition:ae("distanceDisplayCondition"),disableDepthTestDistance:ae("disableDepthTestDistance")});OS.prototype.clone=function(e){return l(e)?(e.show=this.show,e.text=this.text,e.font=this.font,e.style=this.style,e.scale=this.scale,e.showBackground=this.showBackground,e.backgroundColor=this.backgroundColor,e.backgroundPadding=this.backgroundPadding,e.pixelOffset=this.pixelOffset,e.eyeOffset=this.eyeOffset,e.horizontalOrigin=this.horizontalOrigin,e.verticalOrigin=this.verticalOrigin,e.heightReference=this.heightReference,e.fillColor=this.fillColor,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.translucencyByDistance=this.translucencyByDistance,e.pixelOffsetScaleByDistance=this.pixelOffsetScaleByDistance,e.scaleByDistance=this.scaleByDistance,e.distanceDisplayCondition=this.distanceDisplayCondition,e.disableDepthTestDistance=this.disableDepthTestDistance,e):new OS(this)};OS.prototype.merge=function(e){this.show=y(this.show,e.show),this.text=y(this.text,e.text),this.font=y(this.font,e.font),this.style=y(this.style,e.style),this.scale=y(this.scale,e.scale),this.showBackground=y(this.showBackground,e.showBackground),this.backgroundColor=y(this.backgroundColor,e.backgroundColor),this.backgroundPadding=y(this.backgroundPadding,e.backgroundPadding),this.pixelOffset=y(this.pixelOffset,e.pixelOffset),this.eyeOffset=y(this.eyeOffset,e.eyeOffset),this.horizontalOrigin=y(this.horizontalOrigin,e.horizontalOrigin),this.verticalOrigin=y(this.verticalOrigin,e.verticalOrigin),this.heightReference=y(this.heightReference,e.heightReference),this.fillColor=y(this.fillColor,e.fillColor),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.translucencyByDistance=y(this.translucencyByDistance,e.translucencyByDistance),this.pixelOffsetScaleByDistance=y(this.pixelOffsetScaleByDistance,e.pixelOffsetScaleByDistance),this.scaleByDistance=y(this.scaleByDistance,e.scaleByDistance),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.disableDepthTestDistance=y(this.disableDepthTestDistance,e.disableDepthTestDistance)};var oh=OS;var HG=new ry;function RS(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new ge,this._translation=void 0,this._translationSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this.translation=e.translation,this.rotation=e.rotation,this.scale=e.scale}Object.defineProperties(RS.prototype,{isConstant:{get:function(){return j.isConstant(this._translation)&&j.isConstant(this._rotation)&&j.isConstant(this._scale)}},definitionChanged:{get:function(){return this._definitionChanged}},translation:ae("translation"),rotation:ae("rotation"),scale:ae("scale")});RS.prototype.getValue=function(e,t){return l(t)||(t=new ry),t.translation=j.getValueOrClonedDefault(this._translation,e,HG.translation,t.translation),t.rotation=j.getValueOrClonedDefault(this._rotation,e,HG.rotation,t.rotation),t.scale=j.getValueOrClonedDefault(this._scale,e,HG.scale,t.scale),t};RS.prototype.equals=function(e){return this===e||e instanceof RS&&j.equals(this._translation,e._translation)&&j.equals(this._rotation,e._rotation)&&j.equals(this._scale,e._scale)};var LA=RS;function vm(e,t){this._propertyNames=[],this._definitionChanged=new ge,l(e)&&this.merge(e,t)}Object.defineProperties(vm.prototype,{propertyNames:{get:function(){return this._propertyNames}},isConstant:{get:function(){let e=this._propertyNames;for(let t=0,n=e.length;t<n;t++)if(!j.isConstant(this[e[t]]))return!1;return!0}},definitionChanged:{get:function(){return this._definitionChanged}}});vm.prototype.hasProperty=function(e){return this._propertyNames.indexOf(e)!==-1};function oNe(e){return new Zn(e)}vm.prototype.addProperty=function(e,t,n){this._propertyNames.push(e),Object.defineProperty(this,e,ae(e,!0,y(n,oNe))),l(t)&&(this[e]=t),this._definitionChanged.raiseEvent(this)};vm.prototype.removeProperty=function(e){let n=this._propertyNames.indexOf(e);this._propertyNames.splice(n,1),delete this[e],this._definitionChanged.raiseEvent(this)};vm.prototype.getValue=function(e,t){l(t)||(t={});let n=this._propertyNames;for(let i=0,o=n.length;i<o;i++){let r=n[i];t[r]=j.getValueOrUndefined(this[r],e,t[r])}return t};vm.prototype.merge=function(e,t){let n=this._propertyNames,i=l(e._propertyNames)?e._propertyNames:Object.keys(e);for(let o=0,r=i.length;o<r;o++){let s=i[o],a=this[s],c=e[s];a===void 0&&n.indexOf(s)===-1&&this.addProperty(s,void 0,t),c!==void 0&&(a!==void 0?l(a)&&l(a.merge)&&a.merge(c):l(c)&&l(c.merge)&&l(c.clone)?this[s]=c.clone():this[s]=c)}};function rNe(e,t){let n=e._propertyNames,i=t._propertyNames,o=n.length;if(o!==i.length)return!1;for(let r=0;r<o;++r){let s=n[r];if(i.indexOf(s)===-1||!j.equals(e[s],t[s]))return!1}return!0}vm.prototype.equals=function(e){return this===e||e instanceof vm&&rNe(this,e)};var El=vm;function Pie(e){return new LA(e)}function sNe(e){return new El(e,Pie)}function aNe(e){return new El(e)}function MS(e){this._definitionChanged=new ge,this._show=void 0,this._showSubscription=void 0,this._uri=void 0,this._uriSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this._minimumPixelSize=void 0,this._minimumPixelSizeSubscription=void 0,this._maximumScale=void 0,this._maximumScaleSubscription=void 0,this._incrementallyLoadTextures=void 0,this._incrementallyLoadTexturesSubscription=void 0,this._runAnimations=void 0,this._runAnimationsSubscription=void 0,this._clampAnimations=void 0,this._clampAnimationsSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._silhouetteColor=void 0,this._silhouetteColorSubscription=void 0,this._silhouetteSize=void 0,this._silhouetteSizeSubscription=void 0,this._color=void 0,this._colorSubscription=void 0,this._colorBlendMode=void 0,this._colorBlendModeSubscription=void 0,this._colorBlendAmount=void 0,this._colorBlendAmountSubscription=void 0,this._imageBasedLightingFactor=void 0,this._imageBasedLightingFactorSubscription=void 0,this._lightColor=void 0,this._lightColorSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._nodeTransformations=void 0,this._nodeTransformationsSubscription=void 0,this._articulations=void 0,this._articulationsSubscription=void 0,this._clippingPlanes=void 0,this._clippingPlanesSubscription=void 0,this._customShader=void 0,this._customShaderSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(MS.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ae("show"),uri:ae("uri"),scale:ae("scale"),minimumPixelSize:ae("minimumPixelSize"),maximumScale:ae("maximumScale"),incrementallyLoadTextures:ae("incrementallyLoadTextures"),runAnimations:ae("runAnimations"),clampAnimations:ae("clampAnimations"),shadows:ae("shadows"),heightReference:ae("heightReference"),silhouetteColor:ae("silhouetteColor"),silhouetteSize:ae("silhouetteSize"),color:ae("color"),colorBlendMode:ae("colorBlendMode"),colorBlendAmount:ae("colorBlendAmount"),imageBasedLightingFactor:ae("imageBasedLightingFactor"),lightColor:ae("lightColor"),distanceDisplayCondition:ae("distanceDisplayCondition"),nodeTransformations:ae("nodeTransformations",void 0,sNe),articulations:ae("articulations",void 0,aNe),clippingPlanes:ae("clippingPlanes"),customShader:ae("customShader")});MS.prototype.clone=function(e){return l(e)?(e.show=this.show,e.uri=this.uri,e.scale=this.scale,e.minimumPixelSize=this.minimumPixelSize,e.maximumScale=this.maximumScale,e.incrementallyLoadTextures=this.incrementallyLoadTextures,e.runAnimations=this.runAnimations,e.clampAnimations=this.clampAnimations,e.heightReference=this._heightReference,e.silhouetteColor=this.silhouetteColor,e.silhouetteSize=this.silhouetteSize,e.color=this.color,e.colorBlendMode=this.colorBlendMode,e.colorBlendAmount=this.colorBlendAmount,e.imageBasedLightingFactor=this.imageBasedLightingFactor,e.lightColor=this.lightColor,e.distanceDisplayCondition=this.distanceDisplayCondition,e.nodeTransformations=this.nodeTransformations,e.articulations=this.articulations,e.clippingPlanes=this.clippingPlanes,e.customShader=this.customShader,e):new MS(this)};MS.prototype.merge=function(e){this.show=y(this.show,e.show),this.uri=y(this.uri,e.uri),this.scale=y(this.scale,e.scale),this.minimumPixelSize=y(this.minimumPixelSize,e.minimumPixelSize),this.maximumScale=y(this.maximumScale,e.maximumScale),this.incrementallyLoadTextures=y(this.incrementallyLoadTextures,e.incrementallyLoadTextures),this.runAnimations=y(this.runAnimations,e.runAnimations),this.clampAnimations=y(this.clampAnimations,e.clampAnimations),this.shadows=y(this.shadows,e.shadows),this.heightReference=y(this.heightReference,e.heightReference),this.silhouetteColor=y(this.silhouetteColor,e.silhouetteColor),this.silhouetteSize=y(this.silhouetteSize,e.silhouetteSize),this.color=y(this.color,e.color),this.colorBlendMode=y(this.colorBlendMode,e.colorBlendMode),this.colorBlendAmount=y(this.colorBlendAmount,e.colorBlendAmount),this.imageBasedLightingFactor=y(this.imageBasedLightingFactor,e.imageBasedLightingFactor),this.lightColor=y(this.lightColor,e.lightColor),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.clippingPlanes=y(this.clippingPlanes,e.clippingPlanes),this.customShader=y(this.customShader,e.customShader);let t=e.nodeTransformations;if(l(t)){let i=this.nodeTransformations;l(i)?i.merge(t):this.nodeTransformations=new El(t,Pie)}let n=e.articulations;if(l(n)){let i=this.articulations;l(i)?i.merge(n):this.articulations=new El(n)}};var P_=MS;function BS(e){this._definitionChanged=new ge,this._show=void 0,this._showSubscription=void 0,this._uri=void 0,this._uriSubscription=void 0,this._maximumScreenSpaceError=void 0,this._maximumScreenSpaceErrorSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(BS.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ae("show"),uri:ae("uri"),maximumScreenSpaceError:ae("maximumScreenSpaceError")});BS.prototype.clone=function(e){return l(e)?(e.show=this.show,e.uri=this.uri,e.maximumScreenSpaceError=this.maximumScreenSpaceError,e):new BS(this)};BS.prototype.merge=function(e){this.show=y(this.show,e.show),this.uri=y(this.uri,e.uri),this.maximumScreenSpaceError=y(this.maximumScreenSpaceError,e.maximumScreenSpaceError)};var NA=BS;function LS(e){this._definitionChanged=new ge,this._show=void 0,this._showSubscription=void 0,this._leadTime=void 0,this._leadTimeSubscription=void 0,this._trailTime=void 0,this._trailTimeSubscription=void 0,this._width=void 0,this._widthSubscription=void 0,this._resolution=void 0,this._resolutionSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(LS.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ae("show"),leadTime:ae("leadTime"),trailTime:ae("trailTime"),width:ae("width"),resolution:ae("resolution"),material:Do("material"),distanceDisplayCondition:ae("distanceDisplayCondition")});LS.prototype.clone=function(e){return l(e)?(e.show=this.show,e.leadTime=this.leadTime,e.trailTime=this.trailTime,e.width=this.width,e.resolution=this.resolution,e.material=this.material,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new LS(this)};LS.prototype.merge=function(e){this.show=y(this.show,e.show),this.leadTime=y(this.leadTime,e.leadTime),this.trailTime=y(this.trailTime,e.trailTime),this.width=y(this.width,e.width),this.resolution=y(this.resolution,e.resolution),this.material=y(this.material,e.material),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var I_=LS;function NS(e){this._definitionChanged=new ge,this._show=void 0,this._showSubscription=void 0,this._plane=void 0,this._planeSubscription=void 0,this._dimensions=void 0,this._dimensionsSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(NS.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ae("show"),plane:ae("plane"),dimensions:ae("dimensions"),fill:ae("fill"),material:Do("material"),outline:ae("outline"),outlineColor:ae("outlineColor"),outlineWidth:ae("outlineWidth"),shadows:ae("shadows"),distanceDisplayCondition:ae("distanceDisplayCondition")});NS.prototype.clone=function(e){return l(e)?(e.show=this.show,e.plane=this.plane,e.dimensions=this.dimensions,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new NS(this)};NS.prototype.merge=function(e){this.show=y(this.show,e.show),this.plane=y(this.plane,e.plane),this.dimensions=y(this.dimensions,e.dimensions),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var pB=NS;function FS(e){this._definitionChanged=new ge,this._show=void 0,this._showSubscription=void 0,this._pixelSize=void 0,this._pixelSizeSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,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._scaleByDistance=void 0,this._scaleByDistanceSubscription=void 0,this._translucencyByDistance=void 0,this._translucencyByDistanceSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._disableDepthTestDistance=void 0,this._disableDepthTestDistanceSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(FS.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ae("show"),pixelSize:ae("pixelSize"),heightReference:ae("heightReference"),color:ae("color"),outlineColor:ae("outlineColor"),outlineWidth:ae("outlineWidth"),scaleByDistance:ae("scaleByDistance"),translucencyByDistance:ae("translucencyByDistance"),distanceDisplayCondition:ae("distanceDisplayCondition"),disableDepthTestDistance:ae("disableDepthTestDistance")});FS.prototype.clone=function(e){return l(e)?(e.show=this.show,e.pixelSize=this.pixelSize,e.heightReference=this.heightReference,e.color=this.color,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.scaleByDistance=this.scaleByDistance,e.translucencyByDistance=this._translucencyByDistance,e.distanceDisplayCondition=this.distanceDisplayCondition,e.disableDepthTestDistance=this.disableDepthTestDistance,e):new FS(this)};FS.prototype.merge=function(e){this.show=y(this.show,e.show),this.pixelSize=y(this.pixelSize,e.pixelSize),this.heightReference=y(this.heightReference,e.heightReference),this.color=y(this.color,e.color),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.scaleByDistance=y(this.scaleByDistance,e.scaleByDistance),this.translucencyByDistance=y(this._translucencyByDistance,e.translucencyByDistance),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.disableDepthTestDistance=y(this.disableDepthTestDistance,e.disableDepthTestDistance)};var FA=FS;function cNe(e){return Array.isArray(e)&&(e=new zc(e)),new Zn(e)}function VS(e){this._definitionChanged=new ge,this._show=void 0,this._showSubscription=void 0,this._hierarchy=void 0,this._hierarchySubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._extrudedHeight=void 0,this._extrudedHeightSubscription=void 0,this._extrudedHeightReference=void 0,this._extrudedHeightReferenceSubscription=void 0,this._stRotation=void 0,this._stRotationSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._perPositionHeight=void 0,this._perPositionHeightSubscription=void 0,this._closeTop=void 0,this._closeTopSubscription=void 0,this._closeBottom=void 0,this._closeBottomSubscription=void 0,this._arcType=void 0,this._arcTypeSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this._textureCoordinates=void 0,this._textureCoordinatesSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(VS.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ae("show"),hierarchy:ae("hierarchy",void 0,cNe),height:ae("height"),heightReference:ae("heightReference"),extrudedHeight:ae("extrudedHeight"),extrudedHeightReference:ae("extrudedHeightReference"),stRotation:ae("stRotation"),granularity:ae("granularity"),fill:ae("fill"),material:Do("material"),outline:ae("outline"),outlineColor:ae("outlineColor"),outlineWidth:ae("outlineWidth"),perPositionHeight:ae("perPositionHeight"),closeTop:ae("closeTop"),closeBottom:ae("closeBottom"),arcType:ae("arcType"),shadows:ae("shadows"),distanceDisplayCondition:ae("distanceDisplayCondition"),classificationType:ae("classificationType"),zIndex:ae("zIndex"),textureCoordinates:ae("textureCoordinates")});VS.prototype.clone=function(e){return l(e)?(e.show=this.show,e.hierarchy=this.hierarchy,e.height=this.height,e.heightReference=this.heightReference,e.extrudedHeight=this.extrudedHeight,e.extrudedHeightReference=this.extrudedHeightReference,e.stRotation=this.stRotation,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.perPositionHeight=this.perPositionHeight,e.closeTop=this.closeTop,e.closeBottom=this.closeBottom,e.arcType=this.arcType,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e.classificationType=this.classificationType,e.zIndex=this.zIndex,e.textureCoordinates=this.textureCoordinates,e):new VS(this)};VS.prototype.merge=function(e){this.show=y(this.show,e.show),this.hierarchy=y(this.hierarchy,e.hierarchy),this.height=y(this.height,e.height),this.heightReference=y(this.heightReference,e.heightReference),this.extrudedHeight=y(this.extrudedHeight,e.extrudedHeight),this.extrudedHeightReference=y(this.extrudedHeightReference,e.extrudedHeightReference),this.stRotation=y(this.stRotation,e.stRotation),this.granularity=y(this.granularity,e.granularity),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.perPositionHeight=y(this.perPositionHeight,e.perPositionHeight),this.closeTop=y(this.closeTop,e.closeTop),this.closeBottom=y(this.closeBottom,e.closeBottom),this.arcType=y(this.arcType,e.arcType),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.classificationType=y(this.classificationType,e.classificationType),this.zIndex=y(this.zIndex,e.zIndex),this.textureCoordinates=y(this.textureCoordinates,e.textureCoordinates)};var rh=VS;function kS(e){this._definitionChanged=new ge,this._show=void 0,this._showSubscription=void 0,this._positions=void 0,this._positionsSubscription=void 0,this._width=void 0,this._widthSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._depthFailMaterial=void 0,this._depthFailMaterialSubscription=void 0,this._arcType=void 0,this._arcTypeSubscription=void 0,this._clampToGround=void 0,this._clampToGroundSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(kS.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ae("show"),positions:ae("positions"),width:ae("width"),granularity:ae("granularity"),material:Do("material"),depthFailMaterial:Do("depthFailMaterial"),arcType:ae("arcType"),clampToGround:ae("clampToGround"),shadows:ae("shadows"),distanceDisplayCondition:ae("distanceDisplayCondition"),classificationType:ae("classificationType"),zIndex:ae("zIndex")});kS.prototype.clone=function(e){return l(e)?(e.show=this.show,e.positions=this.positions,e.width=this.width,e.granularity=this.granularity,e.material=this.material,e.depthFailMaterial=this.depthFailMaterial,e.arcType=this.arcType,e.clampToGround=this.clampToGround,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e.classificationType=this.classificationType,e.zIndex=this.zIndex,e):new kS(this)};kS.prototype.merge=function(e){this.show=y(this.show,e.show),this.positions=y(this.positions,e.positions),this.width=y(this.width,e.width),this.granularity=y(this.granularity,e.granularity),this.material=y(this.material,e.material),this.depthFailMaterial=y(this.depthFailMaterial,e.depthFailMaterial),this.arcType=y(this.arcType,e.arcType),this.clampToGround=y(this.clampToGround,e.clampToGround),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.classificationType=y(this.classificationType,e.classificationType),this.zIndex=y(this.zIndex,e.zIndex)};var cc=kS;function US(e){this._definitionChanged=new ge,this._show=void 0,this._showSubscription=void 0,this._positions=void 0,this._positionsSubscription=void 0,this._shape=void 0,this._shapeSubscription=void 0,this._cornerType=void 0,this._cornerTypeSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubsription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(US.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ae("show"),positions:ae("positions"),shape:ae("shape"),cornerType:ae("cornerType"),granularity:ae("granularity"),fill:ae("fill"),material:Do("material"),outline:ae("outline"),outlineColor:ae("outlineColor"),outlineWidth:ae("outlineWidth"),shadows:ae("shadows"),distanceDisplayCondition:ae("distanceDisplayCondition")});US.prototype.clone=function(e){return l(e)?(e.show=this.show,e.positions=this.positions,e.shape=this.shape,e.cornerType=this.cornerType,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new US(this)};US.prototype.merge=function(e){this.show=y(this.show,e.show),this.positions=y(this.positions,e.positions),this.shape=y(this.shape,e.shape),this.cornerType=y(this.cornerType,e.cornerType),this.granularity=y(this.granularity,e.granularity),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var VA=US;function zS(e){this._definitionChanged=new ge,this._show=void 0,this._showSubscription=void 0,this._coordinates=void 0,this._coordinatesSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._extrudedHeight=void 0,this._extrudedHeightSubscription=void 0,this._extrudedHeightReference=void 0,this._extrudedHeightReferenceSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._stRotation=void 0,this._stRotationSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distancedisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(zS.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ae("show"),coordinates:ae("coordinates"),height:ae("height"),heightReference:ae("heightReference"),extrudedHeight:ae("extrudedHeight"),extrudedHeightReference:ae("extrudedHeightReference"),rotation:ae("rotation"),stRotation:ae("stRotation"),granularity:ae("granularity"),fill:ae("fill"),material:Do("material"),outline:ae("outline"),outlineColor:ae("outlineColor"),outlineWidth:ae("outlineWidth"),shadows:ae("shadows"),distanceDisplayCondition:ae("distanceDisplayCondition"),classificationType:ae("classificationType"),zIndex:ae("zIndex")});zS.prototype.clone=function(e){return l(e)?(e.show=this.show,e.coordinates=this.coordinates,e.height=this.height,e.heightReference=this.heightReference,e.extrudedHeight=this.extrudedHeight,e.extrudedHeightReference=this.extrudedHeightReference,e.rotation=this.rotation,e.stRotation=this.stRotation,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e.classificationType=this.classificationType,e.zIndex=this.zIndex,e):new zS(this)};zS.prototype.merge=function(e){this.show=y(this.show,e.show),this.coordinates=y(this.coordinates,e.coordinates),this.height=y(this.height,e.height),this.heightReference=y(this.heightReference,e.heightReference),this.extrudedHeight=y(this.extrudedHeight,e.extrudedHeight),this.extrudedHeightReference=y(this.extrudedHeightReference,e.extrudedHeightReference),this.rotation=y(this.rotation,e.rotation),this.stRotation=y(this.stRotation,e.stRotation),this.granularity=y(this.granularity,e.granularity),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.classificationType=y(this.classificationType,e.classificationType),this.zIndex=y(this.zIndex,e.zIndex)};var sh=zS;function HS(e){this._definitionChanged=new ge,this._show=void 0,this._showSubscription=void 0,this._positions=void 0,this._positionsSubscription=void 0,this._minimumHeights=void 0,this._minimumHeightsSubscription=void 0,this._maximumHeights=void 0,this._maximumHeightsSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(HS.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ae("show"),positions:ae("positions"),minimumHeights:ae("minimumHeights"),maximumHeights:ae("maximumHeights"),granularity:ae("granularity"),fill:ae("fill"),material:Do("material"),outline:ae("outline"),outlineColor:ae("outlineColor"),outlineWidth:ae("outlineWidth"),shadows:ae("shadows"),distanceDisplayCondition:ae("distanceDisplayCondition")});HS.prototype.clone=function(e){return l(e)?(e.show=this.show,e.positions=this.positions,e.minimumHeights=this.minimumHeights,e.maximumHeights=this.maximumHeights,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new HS(this)};HS.prototype.merge=function(e){this.show=y(this.show,e.show),this.positions=y(this.positions,e.positions),this.minimumHeights=y(this.minimumHeights,e.minimumHeights),this.maximumHeights=y(this.maximumHeights,e.maximumHeights),this.granularity=y(this.granularity,e.granularity),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var O_=HS;var lNe=new he;function uNe(e){return new Wc(e)}function fNe(e){return ae(e,void 0,uNe)}function Es(e,t){return ae(e,void 0,function(n){return n instanceof t?n:new t(n)})}function ah(e){e=y(e,y.EMPTY_OBJECT);let t=e.id;l(t)||(t=Hn()),this._availability=void 0,this._id=t,this._definitionChanged=new ge,this._name=e.name,this._show=y(e.show,!0),this._parent=void 0,this._propertyNames=["billboard","box","corridor","cylinder","description","ellipse","ellipsoid","label","model","tileset","orientation","path","plane","point","polygon","polyline","polylineVolume","position","properties","rectangle","viewFrom","wall"],this._billboard=void 0,this._billboardSubscription=void 0,this._box=void 0,this._boxSubscription=void 0,this._corridor=void 0,this._corridorSubscription=void 0,this._cylinder=void 0,this._cylinderSubscription=void 0,this._description=void 0,this._descriptionSubscription=void 0,this._ellipse=void 0,this._ellipseSubscription=void 0,this._ellipsoid=void 0,this._ellipsoidSubscription=void 0,this._label=void 0,this._labelSubscription=void 0,this._model=void 0,this._modelSubscription=void 0,this._tileset=void 0,this._tilesetSubscription=void 0,this._orientation=void 0,this._orientationSubscription=void 0,this._path=void 0,this._pathSubscription=void 0,this._plane=void 0,this._planeSubscription=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._polylineVolume=void 0,this._polylineVolumeSubscription=void 0,this._position=void 0,this._positionSubscription=void 0,this._properties=void 0,this._propertiesSubscription=void 0,this._rectangle=void 0,this._rectangleSubscription=void 0,this._viewFrom=void 0,this._viewFromSubscription=void 0,this._wall=void 0,this._wallSubscription=void 0,this._children=[],this.entityCollection=void 0,this.parent=e.parent,this.merge(e)}function GG(e,t,n){let i=t.length;for(let o=0;o<i;o++){let r=t[o],s=r._show;(!n&&s)!==(n&&s)&&GG(r,r._children,n)}e._definitionChanged.raiseEvent(e,"isShowing",n,!n)}Object.defineProperties(ah.prototype,{availability:Tl("availability"),id:{get:function(){return this._id}},definitionChanged:{get:function(){return this._definitionChanged}},name:Tl("name"),show:{get:function(){return this._show},set:function(e){if(e===this._show)return;let t=this.isShowing;this._show=e;let n=this.isShowing;t!==n&&GG(this,this._children,n),this._definitionChanged.raiseEvent(this,"show",e,!e)}},isShowing:{get:function(){return this._show&&(!l(this.entityCollection)||this.entityCollection.show)&&(!l(this._parent)||this._parent.isShowing)}},parent:{get:function(){return this._parent},set:function(e){let t=this._parent;if(t===e)return;let n=this.isShowing;if(l(t)){let o=t._children.indexOf(this);t._children.splice(o,1)}this._parent=e,l(e)&&e._children.push(this);let i=this.isShowing;n!==i&&GG(this,this._children,i),this._definitionChanged.raiseEvent(this,"parent",e,t)}},propertyNames:{get:function(){return this._propertyNames}},billboard:Es("billboard",rc),box:Es("box",PA),corridor:Es("corridor",OA),cylinder:Es("cylinder",RA),description:ae("description"),ellipse:Es("ellipse",MA),ellipsoid:Es("ellipsoid",BA),label:Es("label",oh),model:Es("model",P_),tileset:Es("tileset",NA),orientation:ae("orientation"),path:Es("path",I_),plane:Es("plane",pB),point:Es("point",FA),polygon:Es("polygon",rh),polyline:Es("polyline",cc),polylineVolume:Es("polylineVolume",VA),properties:Es("properties",El),position:fNe("position"),rectangle:Es("rectangle",sh),viewFrom:ae("viewFrom"),wall:Es("wall",O_)});ah.prototype.isAvailable=function(e){let t=this._availability;return!l(t)||t.contains(e)};ah.prototype.addProperty=function(e){this._propertyNames.push(e),Object.defineProperty(this,e,Tl(e,!0))};ah.prototype.removeProperty=function(e){let n=this._propertyNames.indexOf(e);this._propertyNames.splice(n,1),delete this[e]};ah.prototype.merge=function(e){this.name=y(this.name,e.name),this.availability=y(this.availability,e.availability);let t=this._propertyNames,n=l(e._propertyNames)?e._propertyNames:Object.keys(e),i=n.length;for(let o=0;o<i;o++){let r=n[o];if(r==="parent"||r==="name"||r==="availability")continue;let s=this[r],a=e[r];!l(s)&&t.indexOf(r)===-1&&this.addProperty(r),l(a)&&(l(s)?l(s.merge)&&s.merge(a):l(a.merge)&&l(a.clone)?this[r]=a.clone():this[r]=a)}};var Iie=new J,Oie=new h,Rie=new Oe;ah.prototype.computeModelMatrix=function(e,t){let n=j.getValueOrUndefined(this._position,e,Oie);if(!l(n))return;let i=j.getValueOrUndefined(this._orientation,e,Rie);return l(i)?t=N.fromRotationTranslation(J.fromQuaternion(i,Iie),n,t):t=Dt.eastNorthUpToFixedFrame(n,void 0,t),t};ah.prototype.computeModelMatrixForHeightReference=function(e,t,n,i,o){let r=j.getValueOrDefault(t,e,ze.NONE),s=j.getValueOrUndefined(this._position,e,Oie);if(r===ze.NONE||!l(s)||h.equalsEpsilon(s,h.ZERO,I.EPSILON8))return this.computeModelMatrix(e,o);let a=i.cartesianToCartographic(s,lNe);r===ze.CLAMP_TO_GROUND?a.height=n:a.height+=n,s=i.cartographicToCartesian(a,s);let c=j.getValueOrUndefined(this._orientation,e,Rie);return l(c)?o=N.fromRotationTranslation(J.fromQuaternion(c,Iie),s,o):o=Dt.eastNorthUpToFixedFrame(s,void 0,o),o};ah.supportsMaterialsforEntitiesOnTerrain=function(e){return Gc.supportsMaterials(e)};ah.supportsPolylinesOnTerrain=function(e){return ih.isSupported(e)};var $o=ah;var dNe=new Pt(U.WHITE),hNe=new Zn(!0),mNe=new Zn(!0),pNe=new Zn(!1),_Ne=new Zn(U.BLACK),gNe=new Zn(mn.DISABLED),yNe=new Zn(new At),CNe=new Zn(Ln.BOTH);function lc(e){let t=e.entity,n=e.geometryPropertyName;this._entity=t,this._scene=e.scene,this._fillEnabled=!1,this._isClosed=!1,this._onTerrain=!1,this._dynamic=!1,this._outlineEnabled=!1,this._geometryChanged=new ge,this._showProperty=void 0,this._materialProperty=void 0,this._showOutlineProperty=void 0,this._outlineColorProperty=void 0,this._outlineWidth=1,this._shadowsProperty=void 0,this._distanceDisplayConditionProperty=void 0,this._classificationTypeProperty=void 0,this._options=e.geometryOptions,this._geometryPropertyName=n,this._id=`${n}-${t.id}`,this._observedPropertyNames=e.observedPropertyNames,this._supportsMaterialsforEntitiesOnTerrain=$o.supportsMaterialsforEntitiesOnTerrain(e.scene)}Object.defineProperties(lc.prototype,{id:{get:function(){return this._id}},entity:{get:function(){return this._entity}},fillEnabled:{get:function(){return this._fillEnabled}},hasConstantFill:{get:function(){return!this._fillEnabled||!l(this._entity.availability)&&j.isConstant(this._showProperty)&&j.isConstant(this._fillProperty)}},fillMaterialProperty:{get:function(){return this._materialProperty}},outlineEnabled:{get:function(){return this._outlineEnabled}},hasConstantOutline:{get:function(){return!this._outlineEnabled||!l(this._entity.availability)&&j.isConstant(this._showProperty)&&j.isConstant(this._showOutlineProperty)}},outlineColorProperty:{get:function(){return this._outlineColorProperty}},outlineWidth:{get:function(){return this._outlineWidth}},shadowsProperty:{get:function(){return this._shadowsProperty}},distanceDisplayConditionProperty:{get:function(){return this._distanceDisplayConditionProperty}},classificationTypeProperty:{get:function(){return this._classificationTypeProperty}},isDynamic:{get:function(){return this._dynamic}},isClosed:{get:function(){return this._isClosed}},onTerrain:{get:function(){return this._onTerrain}},geometryChanged:{get:function(){return this._geometryChanged}}});lc.prototype.isOutlineVisible=function(e){let t=this._entity,n=this._outlineEnabled&&t.isAvailable(e)&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e);return y(n,!1)};lc.prototype.isFilled=function(e){let t=this._entity,n=this._fillEnabled&&t.isAvailable(e)&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e);return y(n,!1)};lc.prototype.createFillGeometryInstance=ye.throwInstantiationError;lc.prototype.createOutlineGeometryInstance=ye.throwInstantiationError;lc.prototype.isDestroyed=function(){return!1};lc.prototype.destroy=function(){fe(this)};lc.prototype._isHidden=function(e,t){let n=t.show;return l(n)&&n.isConstant&&!n.getValue(Ve.MINIMUM_VALUE)};lc.prototype._isOnTerrain=function(e,t){return!1};lc.prototype._getIsClosed=function(e){return!0};lc.prototype._isDynamic=ye.throwInstantiationError;lc.prototype._setStaticOptions=ye.throwInstantiationError;lc.prototype._onEntityPropertyChanged=function(e,t,n,i){if(this._observedPropertyNames.indexOf(t)===-1)return;let o=this._entity[this._geometryPropertyName];if(!l(o)){(this._fillEnabled||this._outlineEnabled)&&(this._fillEnabled=!1,this._outlineEnabled=!1,this._geometryChanged.raiseEvent(this));return}let r=o.fill,s=l(r)&&r.isConstant?r.getValue(Ve.MINIMUM_VALUE):!0,a=o.outline,c=l(a);if(c&&a.isConstant&&(c=a.getValue(Ve.MINIMUM_VALUE)),!s&&!c){(this._fillEnabled||this._outlineEnabled)&&(this._fillEnabled=!1,this._outlineEnabled=!1,this._geometryChanged.raiseEvent(this));return}let u=o.show;if(this._isHidden(e,o)){(this._fillEnabled||this._outlineEnabled)&&(this._fillEnabled=!1,this._outlineEnabled=!1,this._geometryChanged.raiseEvent(this));return}this._materialProperty=y(o.material,dNe),this._fillProperty=y(r,mNe),this._showProperty=y(u,hNe),this._showOutlineProperty=y(o.outline,pNe),this._outlineColorProperty=c?y(o.outlineColor,_Ne):void 0,this._shadowsProperty=y(o.shadows,gNe),this._distanceDisplayConditionProperty=y(o.distanceDisplayCondition,yNe),this._classificationTypeProperty=y(o.classificationType,CNe),this._fillEnabled=s;let f=this._isOnTerrain(e,o)&&(this._supportsMaterialsforEntitiesOnTerrain||this._materialProperty instanceof Pt);if(c&&f&&(Bt(Bt.geometryOutlines),c=!1),this._onTerrain=f,this._outlineEnabled=c,this._isDynamic(e,o))this._dynamic||(this._dynamic=!0,this._geometryChanged.raiseEvent(this));else{this._setStaticOptions(e,o),this._isClosed=this._getIsClosed(this._options);let d=o.outlineWidth;this._outlineWidth=l(d)?d.getValue(Ve.MINIMUM_VALUE):1,this._dynamic=!1,this._geometryChanged.raiseEvent(this)}};lc.prototype.createDynamicUpdater=function(e,t){return new this.constructor.DynamicGeometryUpdater(this,e,t)};var ii=lc;function kA(e,t){this._callback=void 0,this._isConstant=void 0,this._definitionChanged=new ge,this.setCallback(e,t)}Object.defineProperties(kA.prototype,{isConstant:{get:function(){return this._isConstant}},definitionChanged:{get:function(){return this._definitionChanged}}});kA.prototype.getValue=function(e,t){return this._callback(e,t)};kA.prototype.setCallback=function(e,t){let n=this._callback!==e||this._isConstant!==t;this._callback=e,this._isConstant=t,n&&this._definitionChanged.raiseEvent(this)};kA.prototype.equals=function(e){return this===e||e instanceof kA&&this._callback===e._callback&&this._isConstant===e._isConstant};var ch=kA;var Mie=new h,xNe=new he;function UA(e,t,n,i){this._scene=e,this._heightReference=n,this._extrudedHeightReference=i,this._positionProperty=t,this._position=new h,this._cartographicPosition=new he,this._normal=new h,this._definitionChanged=new ge,this._terrainHeight=0,this._removeCallbackFunc=void 0,this._removeEventListener=void 0,this._removeModeListener=void 0;let o=this;if(l(e.globe)&&(this._removeEventListener=e.terrainProviderChanged.addEventListener(function(){o._updateClamping()}),this._removeModeListener=e.morphComplete.addEventListener(function(){o._updateClamping()})),t.isConstant){let r=t.getValue(Ve.MINIMUM_VALUE,Mie);if(!l(r)||h.equals(r,h.ZERO)||!l(e.globe))return;this._position=h.clone(r,this._position),this._updateClamping(),this._normal=e.globe.ellipsoid.geodeticSurfaceNormal(r,this._normal)}}Object.defineProperties(UA.prototype,{isConstant:{get:function(){return!1}},definitionChanged:{get:function(){return this._definitionChanged}}});UA.prototype._updateClamping=function(){l(this._removeCallbackFunc)&&this._removeCallbackFunc();let e=this._scene,t=e.globe,n=this._position;if(!l(t)||h.equals(n,h.ZERO)){this._terrainHeight=0;return}let i=t.ellipsoid,o=t._surface,r=this,s=i.cartesianToCartographic(n,this._cartographicPosition),a=t.getHeight(s);l(a)?this._terrainHeight=a:this._terrainHeight=0;function c(u){if(e.mode===ee.SCENE3D){let f=i.cartesianToCartographic(u,xNe);r._terrainHeight=f.height}else r._terrainHeight=u.x;r.definitionChanged.raiseEvent()}this._removeCallbackFunc=o.updateHeight(s,c)};UA.prototype.getValue=function(e,t){let n=j.getValueOrDefault(this._heightReference,e,ze.NONE),i=j.getValueOrDefault(this._extrudedHeightReference,e,ze.NONE);if(n===ze.NONE&&i!==ze.RELATIVE_TO_GROUND)return this._position=h.clone(h.ZERO,this._position),h.clone(h.ZERO,t);if(this._positionProperty.isConstant)return h.multiplyByScalar(this._normal,this._terrainHeight,t);let o=this._scene,r=this._positionProperty.getValue(e,Mie);if(!l(r)||h.equals(r,h.ZERO)||!l(o.globe))return h.clone(h.ZERO,t);if(h.equalsEpsilon(this._position,r,I.EPSILON10))return h.multiplyByScalar(this._normal,this._terrainHeight,t);this._position=h.clone(r,this._position),this._updateClamping();let s=o.globe.ellipsoid.geodeticSurfaceNormal(r,this._normal);return h.multiplyByScalar(s,this._terrainHeight,t)};UA.prototype.isDestroyed=function(){return!1};UA.prototype.destroy=function(){return l(this._removeEventListener)&&this._removeEventListener(),l(this._removeModeListener)&&this._removeModeListener(),l(this._removeCallbackFunc)&&this._removeCallbackFunc(),fe(this)};var zA=UA;function ANe(e,t,n,i){if(ii.prototype._onEntityPropertyChanged.call(this,e,t,n,i),this._observedPropertyNames.indexOf(t)===-1)return;let o=this._entity[this._geometryPropertyName];if(!l(o))return;l(this._terrainOffsetProperty)&&(this._terrainOffsetProperty.destroy(),this._terrainOffsetProperty=void 0);let r=o.heightReference;if(l(r)){let s=new ch(this._computeCenter.bind(this),!this._dynamic);this._terrainOffsetProperty=new zA(this._scene,s,r)}}var R_=ANe;var Bie=h.ZERO,Lie=new h,TNe=new h,Nie=new U;function ENe(e){this.id=e,this.vertexFormat=void 0,this.dimensions=void 0,this.offsetAttribute=void 0}function bl(e,t){ii.call(this,{entity:e,scene:t,geometryOptions:new ENe(e),geometryPropertyName:"box",observedPropertyNames:["availability","position","orientation","box"]}),this._onEntityPropertyChanged(e,"box",e.box,void 0)}l(Object.create)&&(bl.prototype=Object.create(ii.prototype),bl.prototype.constructor=bl);Object.defineProperties(bl.prototype,{terrainOffsetProperty:{get:function(){return this._terrainOffsetProperty}}});bl.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=new dn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),o=this._distanceDisplayConditionProperty.getValue(e),r=Bn.fromDistanceDisplayCondition(o),s={show:i,distanceDisplayCondition:r,color:void 0,offset:void 0};if(this._materialProperty instanceof Pt){let a;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(a=this._materialProperty.color.getValue(e,Nie)),l(a)||(a=U.WHITE),s.color=It.fromColor(a)}return l(this._options.offsetAttribute)&&(s.offset=ji.fromCartesian3(j.getValueOrDefault(this._terrainOffsetProperty,e,Bie,Lie))),new pt({id:t,geometry:hl.fromDimensions(this._options),modelMatrix:t.computeModelMatrixForHeightReference(e,t.box.heightReference,this._options.dimensions.z*.5,this._scene.mapProjection.ellipsoid),attributes:s})};bl.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=j.getValueOrDefault(this._outlineColorProperty,e,U.BLACK,Nie),o=this._distanceDisplayConditionProperty.getValue(e),r={show:new dn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:It.fromColor(i),distanceDisplayCondition:Bn.fromDistanceDisplayCondition(o),offset:void 0};return l(this._options.offsetAttribute)&&(r.offset=ji.fromCartesian3(j.getValueOrDefault(this._terrainOffsetProperty,e,Bie,Lie))),new pt({id:t,geometry:Md.fromDimensions(this._options),modelMatrix:t.computeModelMatrixForHeightReference(e,t.box.heightReference,this._options.dimensions.z*.5,this._scene.mapProjection.ellipsoid),attributes:r})};bl.prototype._computeCenter=function(e,t){return j.getValueOrUndefined(this._entity.position,e,t)};bl.prototype._isHidden=function(e,t){return!l(t.dimensions)||!l(e.position)||ii.prototype._isHidden.call(this,e,t)};bl.prototype._isDynamic=function(e,t){return!e.position.isConstant||!j.isConstant(e.orientation)||!t.dimensions.isConstant||!j.isConstant(t.outlineWidth)};bl.prototype._setStaticOptions=function(e,t){let n=j.getValueOrDefault(t.heightReference,Ve.MINIMUM_VALUE,ze.NONE),i=this._options;i.vertexFormat=this._materialProperty instanceof Pt?Qt.VERTEX_FORMAT:no.MaterialSupport.TEXTURED.vertexFormat,i.dimensions=t.dimensions.getValue(Ve.MINIMUM_VALUE,i.dimensions),i.offsetAttribute=n!==ze.NONE?Jt.ALL:void 0};bl.prototype._onEntityPropertyChanged=R_;bl.DynamicGeometryUpdater=HA;function HA(e,t,n){ni.call(this,e,t,n)}l(Object.create)&&(HA.prototype=Object.create(ni.prototype),HA.prototype.constructor=HA);HA.prototype._isHidden=function(e,t,n){let i=j.getValueOrUndefined(e.position,n,TNe),o=this._options.dimensions;return!l(i)||!l(o)||ni.prototype._isHidden.call(this,e,t,n)};HA.prototype._setOptions=function(e,t,n){let i=j.getValueOrDefault(t.heightReference,n,ze.NONE),o=this._options;o.dimensions=j.getValueOrUndefined(t.dimensions,n,o.dimensions),o.offsetAttribute=i!==ze.NONE?Jt.ALL:void 0};var _B=bl;function Fie(e){e=y(e,y.EMPTY_OBJECT),this.vertexArray=e.vertexArray,this.fragmentShaderSource=e.fragmentShaderSource,this.shaderProgram=e.shaderProgram,this.uniformMap=e.uniformMap,this.outputTexture=e.outputTexture,this.preExecute=e.preExecute,this.postExecute=e.postExecute,this.canceled=e.canceled,this.persists=y(e.persists,!1),this.pass=xe.COMPUTE,this.owner=e.owner}Fie.prototype.execute=function(e){e.execute(this)};var bf=Fie;var gB=`varying vec2 v_textureCoordinates;
  3057. uniform float originalSize;
  3058. uniform sampler2D texture0;
  3059. uniform sampler2D texture1;
  3060. uniform sampler2D texture2;
  3061. uniform sampler2D texture3;
  3062. uniform sampler2D texture4;
  3063. uniform sampler2D texture5;
  3064. const float yMipLevel1 = 1.0 - (1.0 / pow(2.0, 1.0));
  3065. const float yMipLevel2 = 1.0 - (1.0 / pow(2.0, 2.0));
  3066. const float yMipLevel3 = 1.0 - (1.0 / pow(2.0, 3.0));
  3067. const float yMipLevel4 = 1.0 - (1.0 / pow(2.0, 4.0));
  3068. void main()
  3069. {
  3070. vec2 uv = v_textureCoordinates;
  3071. vec2 textureSize = vec2(originalSize * 1.5 + 2.0, originalSize);
  3072. vec2 pixel = 1.0 / textureSize;
  3073. float mipLevel = 0.0;
  3074. if (uv.x - pixel.x > (textureSize.y / textureSize.x))
  3075. {
  3076. mipLevel = 1.0;
  3077. if (uv.y - pixel.y > yMipLevel1)
  3078. {
  3079. mipLevel = 2.0;
  3080. if (uv.y - pixel.y * 3.0 > yMipLevel2)
  3081. {
  3082. mipLevel = 3.0;
  3083. if (uv.y - pixel.y * 5.0 > yMipLevel3)
  3084. {
  3085. mipLevel = 4.0;
  3086. if (uv.y - pixel.y * 7.0 > yMipLevel4)
  3087. {
  3088. mipLevel = 5.0;
  3089. }
  3090. }
  3091. }
  3092. }
  3093. }
  3094. if (mipLevel > 0.0)
  3095. {
  3096. float scale = pow(2.0, mipLevel);
  3097. uv.y -= (pixel.y * (mipLevel - 1.0) * 2.0);
  3098. uv.x *= ((textureSize.x - 2.0) / textureSize.y);
  3099. uv.x -= 1.0 + pixel.x;
  3100. uv.y -= (1.0 - (1.0 / pow(2.0, mipLevel - 1.0)));
  3101. uv *= scale;
  3102. }
  3103. else
  3104. {
  3105. uv.x *= (textureSize.x / textureSize.y);
  3106. }
  3107. if(mipLevel == 0.0)
  3108. {
  3109. gl_FragColor = texture2D(texture0, uv);
  3110. }
  3111. else if(mipLevel == 1.0)
  3112. {
  3113. gl_FragColor = texture2D(texture1, uv);
  3114. }
  3115. else if(mipLevel == 2.0)
  3116. {
  3117. gl_FragColor = texture2D(texture2, uv);
  3118. }
  3119. else if(mipLevel == 3.0)
  3120. {
  3121. gl_FragColor = texture2D(texture3, uv);
  3122. }
  3123. else if(mipLevel == 4.0)
  3124. {
  3125. gl_FragColor = texture2D(texture4, uv);
  3126. }
  3127. else if(mipLevel == 5.0)
  3128. {
  3129. gl_FragColor = texture2D(texture5, uv);
  3130. }
  3131. else
  3132. {
  3133. gl_FragColor = vec4(0.0);
  3134. }
  3135. }
  3136. `;var yB=`varying vec3 v_cubeMapCoordinates;
  3137. uniform samplerCube cubeMap;
  3138. void main()
  3139. {
  3140. vec4 rgba = textureCube(cubeMap, v_cubeMapCoordinates);
  3141. #ifdef RGBA_NORMALIZED
  3142. gl_FragColor = vec4(rgba.rgb, 1.0);
  3143. #else
  3144. float m = rgba.a * 16.0;
  3145. vec3 r = rgba.rgb * m;
  3146. gl_FragColor = vec4(r * r, 1.0);
  3147. #endif
  3148. }
  3149. `;var CB=`attribute vec4 position;
  3150. attribute vec3 cubeMapCoordinates;
  3151. varying vec3 v_cubeMapCoordinates;
  3152. void main()
  3153. {
  3154. gl_Position = position;
  3155. v_cubeMapCoordinates = cubeMapCoordinates;
  3156. }
  3157. `;function Ay(e){this._url=e,this._cubeMapBuffers=void 0,this._cubeMaps=void 0,this._texture=void 0,this._mipTextures=void 0,this._va=void 0,this._sp=void 0,this._maximumMipmapLevel=void 0,this._loading=!1,this._ready=!1;let t=this;this._readyPromise=new Promise((n,i)=>{t._completeLoadFromCache=o=>{WG(this),this._texture=o,this._maximumMipmapLevel=this._texture.maximumMipmapLevel,this._ready=!0,n()},t._failLoad=o=>{i(o)},t._completeLoad=()=>{this._ready=!0,n()}})}Object.defineProperties(Ay.prototype,{url:{get:function(){return this._url}},texture:{get:function(){return this._texture}},maximumMipmapLevel:{get:function(){return this._maximumMipmapLevel}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}}});Ay.isSupported=function(e){return e.colorBufferHalfFloat&&e.halfFloatingPointTexture||e.floatingPointTexture&&e.colorBufferFloat};var bNe=new h(1,0,0),SNe=new h(0,0,1),wNe=new h(-1,0,0),vNe=new h(0,0,-1),xB=new h(0,1,0),DNe=new h(0,-1,0),Uie=[xB,wNe,SNe,DNe,bNe,xB,vNe,xB,xB],zie=Uie.length,Hie=new Float32Array(zie*3),Vie=0;for(let e=0;e<zie;++e,Vie+=3)h.pack(Uie[e],Hie,Vie);var PNe=new Float32Array([-1,1,-1,0,0,1,0,0,1,0,1,1,0,-1,-1,-1,1,-1]),INe=new Uint16Array([0,1,2,2,3,1,7,6,1,3,6,1,2,5,4,3,4,2,4,8,6,3,4,6]);function ONe(e){let t=ct.createVertexBuffer({context:e,typedArray:PNe,usage:Le.STATIC_DRAW}),n=ct.createVertexBuffer({context:e,typedArray:Hie,usage:Le.STATIC_DRAW}),i=ct.createIndexBuffer({context:e,typedArray:INe,usage:Le.STATIC_DRAW,indexDatatype:Be.UNSIGNED_SHORT}),o=[{index:0,vertexBuffer:t,componentsPerAttribute:2,componentDatatype:Z.FLOAT},{index:1,vertexBuffer:n,componentsPerAttribute:3,componentDatatype:Z.FLOAT}];return new ti({context:e,attributes:o,indexBuffer:i})}function kie(e){return function(){return e}}function WG(e){e._va=e._va&&e._va.destroy(),e._sp=e._sp&&e._sp.destroy();let t,n,i=e._cubeMaps;if(l(i))for(n=i.length,t=0;t<n;++t)i[t].destroy();let o=e._mipTextures;if(l(o))for(n=o.length,t=0;t<n;++t)o[t].destroy();e._va=void 0,e._sp=void 0,e._cubeMaps=void 0,e._cubeMapBuffers=void 0,e._mipTextures=void 0}Ay.prototype.update=function(e){let t=e.context;if(!Ay.isSupported(t)||(l(this._texture)&&l(this._va)&&WG(this),l(this._texture)))return;if(!l(this._texture)&&!this._loading){let g=e.context.textureCache.getTexture(this._url);l(g)&&this._completeLoadFromCache(g)}let n=this._cubeMapBuffers;if(!l(n)&&!this._loading){let g=this;xl(this._url).then(function(m){g._cubeMapBuffers=m,g._loading=!1}).catch(function(m){g._failLoad(m)}),this._loading=!0}if(!l(this._cubeMapBuffers))return;let i=[],o=n[0].positiveX.pixelDatatype;l(o)?i.push("RGBA_NORMALIZED"):o=t.halfFloatingPointTexture?je.HALF_FLOAT:je.FLOAT;let r=ft.RGBA,s=new ke({defines:i,sources:[yB]});this._va=ONe(t),this._sp=Yt.fromCache({context:t,vertexShaderSource:CB,fragmentShaderSource:s,attributeLocations:{position:0,cubeMapCoordinates:1}});let a=Math.min(n.length,6);this._maximumMipmapLevel=a-1;let c=this._cubeMaps=new Array(a),u=this._mipTextures=new Array(a),f=n[0].positiveX.width*2,d={originalSize:function(){return f}};for(let g=0;g<a;++g){let m=n[g].positiveY;n[g].positiveY=n[g].negativeY,n[g].negativeY=m;let C=c[g]=new sc({context:t,source:n[g],pixelDatatype:o}),x=c[g].width*2,A=u[g]=new Ot({context:t,width:x,height:x,pixelDatatype:o,pixelFormat:r}),b=new bf({vertexArray:this._va,shaderProgram:this._sp,uniformMap:{cubeMap:kie(C)},outputTexture:A,persists:!0,owner:this});e.commandList.push(b),d[`texture${g}`]=kie(A)}this._texture=new Ot({context:t,width:f*1.5+2,height:f,pixelDatatype:o,pixelFormat:r}),this._texture.maximumMipmapLevel=this._maximumMipmapLevel,t.textureCache.addTexture(this._url,this._texture);let p=new bf({fragmentShaderSource:gB,uniformMap:d,outputTexture:this._texture,persists:!1,owner:this});e.commandList.push(p),this._completeLoad()};Ay.prototype.isDestroyed=function(){return!1};Ay.prototype.destroy=function(){return WG(this),this._texture=this._texture&&this._texture.destroy(),fe(this)};var lh=Ay;function GS(e){e=y(e,y.EMPTY_OBJECT);let t=l(e.imageBasedLightingFactor)?G.clone(e.imageBasedLightingFactor):new G(1,1);this._imageBasedLightingFactor=t;let n=y(e.luminanceAtZenith,.2);this._luminanceAtZenith=n;let i=e.sphericalHarmonicCoefficients;this._sphericalHarmonicCoefficients=i,this._specularEnvironmentMaps=e.specularEnvironmentMaps,this._specularEnvironmentMapAtlas=void 0,this._specularEnvironmentMapAtlasDirty=!0,this._specularEnvironmentMapLoaded=!1,this._previousSpecularEnvironmentMapLoaded=!1,this._useDefaultSpecularMaps=!1,this._useDefaultSphericalHarmonics=!1,this._shouldRegenerateShaders=!1,this._previousFrameNumber=void 0,this._previousImageBasedLightingFactor=G.clone(t),this._previousLuminanceAtZenith=n,this._previousSphericalHarmonicCoefficients=i}Object.defineProperties(GS.prototype,{imageBasedLightingFactor:{get:function(){return this._imageBasedLightingFactor},set:function(e){this._previousImageBasedLightingFactor=G.clone(this._imageBasedLightingFactor,this._previousImageBasedLightingFactor),this._imageBasedLightingFactor=G.clone(e,this._imageBasedLightingFactor)}},luminanceAtZenith:{get:function(){return this._luminanceAtZenith},set:function(e){this._previousLuminanceAtZenith=this._luminanceAtZenith,this._luminanceAtZenith=e}},sphericalHarmonicCoefficients:{get:function(){return this._sphericalHarmonicCoefficients},set:function(e){this._previousSphericalHarmonicCoefficients=this._sphericalHarmonicCoefficients,this._sphericalHarmonicCoefficients=e}},specularEnvironmentMaps:{get:function(){return this._specularEnvironmentMaps},set:function(e){e!==this._specularEnvironmentMaps&&(this._specularEnvironmentMapAtlasDirty=this._specularEnvironmentMapAtlasDirty||e!==this._specularEnvironmentMaps,this._specularEnvironmentMapLoaded=!1),this._specularEnvironmentMaps=e}},enabled:{get:function(){return this._imageBasedLightingFactor.x>0||this._imageBasedLightingFactor.y>0}},shouldRegenerateShaders:{get:function(){return this._shouldRegenerateShaders}},useDefaultSphericalHarmonics:{get:function(){return this._useDefaultSphericalHarmonics}},useSphericalHarmonicCoefficients:{get:function(){return l(this._sphericalHarmonicCoefficients)||this._useDefaultSphericalHarmonics}},specularEnvironmentMapAtlas:{get:function(){return this._specularEnvironmentMapAtlas}},useDefaultSpecularMaps:{get:function(){return this._useDefaultSpecularMaps}},useSpecularEnvironmentMaps:{get:function(){return l(this._specularEnvironmentMapAtlas)&&this._specularEnvironmentMapAtlas.ready||this._useDefaultSpecularMaps}}});function RNe(e,t){if(!!lh.isSupported(t)){if(e._specularEnvironmentMapAtlas=e._specularEnvironmentMapAtlas&&e._specularEnvironmentMapAtlas.destroy(),l(e._specularEnvironmentMaps)){let n=new lh(e._specularEnvironmentMaps);e._specularEnvironmentMapAtlas=n,n.readyPromise.then(function(){e._specularEnvironmentMapLoaded=!0}).catch(function(i){console.error(`Error loading specularEnvironmentMaps: ${i}`)})}e._shouldRegenerateShaders=!0}}GS.prototype.update=function(e){if(e.frameNumber===this._previousFrameNumber)return;this._previousFrameNumber=e.frameNumber;let t=e.context;e.brdfLutGenerator.update(e),this._shouldRegenerateShaders=!1;let n=this._imageBasedLightingFactor,i=this._previousImageBasedLightingFactor;G.equals(n,i)||(this._shouldRegenerateShaders=n.x>0&&i.x===0||n.x===0&&i.x>0,this._shouldRegenerateShaders=this._shouldRegenerateShaders||n.y>0&&i.y===0||n.y===0&&i.y>0,this._previousImageBasedLightingFactor=G.clone(this._imageBasedLightingFactor,this._previousImageBasedLightingFactor)),this._luminanceAtZenith!==this._previousLuminanceAtZenith&&(this._shouldRegenerateShaders=this._shouldRegenerateShaders||l(this._luminanceAtZenith)!==l(this._previousLuminanceAtZenith),this._previousLuminanceAtZenith=this._luminanceAtZenith),this._previousSphericalHarmonicCoefficients!==this._sphericalHarmonicCoefficients&&(this._shouldRegenerateShaders=this._shouldRegenerateShaders||l(this._previousSphericalHarmonicCoefficients)!==l(this._sphericalHarmonicCoefficients),this._previousSphericalHarmonicCoefficients=this._sphericalHarmonicCoefficients),this._shouldRegenerateShaders=this._shouldRegenerateShaders||this._previousSpecularEnvironmentMapLoaded!==this._specularEnvironmentMapLoaded,this._previousSpecularEnvironmentMapLoaded=this._specularEnvironmentMapLoaded,this._specularEnvironmentMapAtlasDirty&&(RNe(this,t),this._specularEnvironmentMapAtlasDirty=!1),l(this._specularEnvironmentMapAtlas)&&this._specularEnvironmentMapAtlas.update(e);let o=!l(this._specularEnvironmentMapAtlas)&&l(e.specularEnvironmentMaps)&&!this._useDefaultSpecularMaps,r=!l(e.specularEnvironmentMaps)&&this._useDefaultSpecularMaps,s=!l(this._sphericalHarmonicCoefficients)&&l(e.sphericalHarmonicCoefficients)&&!this._useDefaultSphericalHarmonics,a=!l(e.sphericalHarmonicCoefficients)&&this._useDefaultSphericalHarmonics;this._shouldRegenerateShaders=this._shouldRegenerateShaders||o||r||s||a,this._useDefaultSpecularMaps=!l(this._specularEnvironmentMapAtlas)&&l(e.specularEnvironmentMaps),this._useDefaultSphericalHarmonics=!l(this._sphericalHarmonicCoefficients)&&l(e.sphericalHarmonicCoefficients)};GS.prototype.isDestroyed=function(){return!1};GS.prototype.destroy=function(){return this._specularEnvironmentMapAtlas=this._specularEnvironmentMapAtlas&&this._specularEnvironmentMapAtlas.destroy(),fe(this)};var GA=GS;function AB(e){e=y(e,y.EMPTY_OBJECT),this.color=e.color,this.depth=e.depth,this.stencil=e.stencil,this.renderState=e.renderState,this.framebuffer=e.framebuffer,this.owner=e.owner,this.pass=e.pass}AB.ALL=Object.freeze(new AB({color:new U(0,0,0,0),depth:1,stencil:0}));AB.prototype.execute=function(e,t){e.clear(this,t)};var oi=AB;var Dm={X:0,Y:1,Z:2};Dm.Y_UP_TO_Z_UP=N.fromRotationTranslation(J.fromRotationX(I.PI_OVER_TWO));Dm.Z_UP_TO_Y_UP=N.fromRotationTranslation(J.fromRotationX(-I.PI_OVER_TWO));Dm.X_UP_TO_Z_UP=N.fromRotationTranslation(J.fromRotationY(-I.PI_OVER_TWO));Dm.Z_UP_TO_X_UP=N.fromRotationTranslation(J.fromRotationY(I.PI_OVER_TWO));Dm.X_UP_TO_Y_UP=N.fromRotationTranslation(J.fromRotationZ(I.PI_OVER_TWO));Dm.Y_UP_TO_X_UP=N.fromRotationTranslation(J.fromRotationZ(-I.PI_OVER_TWO));Dm.fromName=function(e){return Dm[e]};var Po=Object.freeze(Dm);function Gie(e){e=y(e,y.EMPTY_OBJECT),this._metadata=e.metadata}Object.defineProperties(Gie.prototype,{metadata:{get:function(){return this._metadata}}});var WA=Gie;function Pm(e,t,n,i,o,r){this._tileset=e,this._tile=t,this._resource=n,this._contents=[],this._metadata=void 0,this._group=void 0,this._readyPromise=MNe(this,i,o,r)}Object.defineProperties(Pm.prototype,{featurePropertiesDirty:{get:function(){let e=this._contents,t=e.length;for(let n=0;n<t;++n)if(e[n].featurePropertiesDirty)return!0;return!1},set:function(e){let t=this._contents,n=t.length;for(let i=0;i<n;++i)t[i].featurePropertiesDirty=e}},featuresLength:{get:function(){return 0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return 0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return 0}},innerContents:{get:function(){return this._contents}},readyPromise:{get:function(){return this._readyPromise}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},metadata:{get:function(){return this._metadata},set:function(e){this._metadata=e;let t=this._contents,n=t.length;for(let i=0;i<n;++i)t[i].metadata=e}},batchTable:{get:function(){}},group:{get:function(){return this._group},set:function(e){this._group=e;let t=this._contents,n=t.length;for(let i=0;i<n;++i)t[i].group=e}}});var WS=Uint32Array.BYTES_PER_ELEMENT;function MNe(e,t,n,i){n=y(n,0);let o=new Uint8Array(t),r=new DataView(t);n+=WS;let s=r.getUint32(n,!0);if(s!==1)throw new de(`Only Composite Tile version 1 is supported. Version ${s} is not.`);n+=WS,n+=WS;let a=r.getUint32(n,!0);n+=WS;let c=[],u=e._resource,f=u.queryParameters.compositeIndex;l(f)?f=`${f}_`:f="";for(let d=0;d<a;++d){let p=Jd(o,n),g=r.getUint32(n+WS*2,!0),m=i[p],C=`${f}${d}`,x=u.getDerivedResource({queryParameters:{compositeIndex:C}});if(l(m)){let A=m(e._tileset,e._tile,x,t,n);e._contents.push(A),c.push(A.readyPromise)}else throw new de(`Unknown tile content type, ${p}, inside Composite tile`);n+=g}return Promise.all(c).then(function(){return e})}Pm.prototype.hasProperty=function(e,t){return!1};Pm.prototype.getFeature=function(e){};Pm.prototype.applyDebugSettings=function(e,t){let n=this._contents,i=n.length;for(let o=0;o<i;++o)n[o].applyDebugSettings(e,t)};Pm.prototype.applyStyle=function(e){let t=this._contents,n=t.length;for(let i=0;i<n;++i)t[i].applyStyle(e)};Pm.prototype.update=function(e,t){let n=this._contents,i=n.length;for(let o=0;o<i;++o)n[o].update(e,t)};Pm.prototype.isDestroyed=function(){return!1};Pm.prototype.destroy=function(){let e=this._contents,t=e.length;for(let n=0;n<t;++n)e[n].destroy();return fe(this)};var TB=Pm;function Ea(e){this._id=Hn();let t=e.featuresLength;this._showAlphaProperties=void 0,this._batchValues=void 0,this._batchValuesDirty=!1,this._batchTexture=void 0,this._defaultTexture=void 0,this._pickTexture=void 0,this._pickIds=[];let n,i;if(t>0){let o=Math.min(t,kt.maximumTextureSize),r=Math.ceil(t/kt.maximumTextureSize),s=1/o,a=s*.5,c=1/r,u=c*.5;n=new G(o,r),i=new se(s,a,c,u)}this._translucentFeaturesLength=0,this._featuresLength=t,this._textureDimensions=n,this._textureStep=i,this._owner=e.owner,this._statistics=e.statistics,this._colorChangedCallback=e.colorChangedCallback}Object.defineProperties(Ea.prototype,{translucentFeaturesLength:{get:function(){return this._translucentFeaturesLength}},byteLength:{get:function(){let e=0;return l(this._pickTexture)&&(e+=this._pickTexture.sizeInBytes),l(this._batchTexture)&&(e+=this._batchTexture.sizeInBytes),e}},textureDimensions:{get:function(){return this._textureDimensions}},textureStep:{get:function(){return this._textureStep}},batchTexture:{get:function(){return this._batchTexture}},defaultTexture:{get:function(){return this._defaultTexture}},pickTexture:{get:function(){return this._pickTexture}}});Ea.DEFAULT_COLOR_VALUE=U.WHITE;Ea.DEFAULT_SHOW_VALUE=!0;function Wie(e){let t=e._textureDimensions;return t.x*t.y*4}function jie(e){if(!l(e._batchValues)){let t=Wie(e),n=new Uint8Array(t).fill(255);e._batchValues=n}return e._batchValues}function qie(e){if(!l(e._showAlphaProperties)){let t=2*e._featuresLength,n=new Uint8Array(t).fill(255);e._showAlphaProperties=n}return e._showAlphaProperties}Ea.prototype.setShow=function(e,t){if(t&&!l(this._showAlphaProperties))return;let n=qie(this),i=e*2,o=t?255:0;if(n[i]!==o){n[i]=o;let r=jie(this),s=e*4+3;r[s]=t?n[i+1]:0,this._batchValuesDirty=!0}};Ea.prototype.setAllShow=function(e){let t=this._featuresLength;for(let n=0;n<t;++n)this.setShow(n,e)};Ea.prototype.getShow=function(e){if(!l(this._showAlphaProperties))return!0;let t=e*2;return this._showAlphaProperties[t]===255};var BNe=new Array(4);Ea.prototype.setColor=function(e,t){if(U.equals(t,Ea.DEFAULT_COLOR_VALUE)&&!l(this._batchValues))return;let n=t.toBytes(BNe),i=n[3],o=jie(this),r=e*4,s=qie(this),a=e*2;if(o[r]!==n[0]||o[r+1]!==n[1]||o[r+2]!==n[2]||s[a+1]!==i){o[r]=n[0],o[r+1]=n[1],o[r+2]=n[2];let c=s[a+1]!==255,u=s[a]!==0;o[r+3]=u?i:0,s[a+1]=i;let f=i!==255;f&&!c?++this._translucentFeaturesLength:!f&&c&&--this._translucentFeaturesLength,this._batchValuesDirty=!0,l(this._colorChangedCallback)&&this._colorChangedCallback(e,t)}};Ea.prototype.setAllColor=function(e){let t=this._featuresLength;for(let n=0;n<t;++n)this.setColor(n,e)};Ea.prototype.getColor=function(e,t){if(!l(this._batchValues))return U.clone(Ea.DEFAULT_COLOR_VALUE,t);let n=this._batchValues,i=e*4,o=this._showAlphaProperties,r=e*2;return U.fromBytes(n[i],n[i+1],n[i+2],o[r+1],t)};Ea.prototype.getPickColor=function(e){return this._pickIds[e]};function Yie(e,t,n){let i=e._textureDimensions;return new Ot({context:t,pixelFormat:ft.RGBA,pixelDatatype:je.UNSIGNED_BYTE,source:{width:i.x,height:i.y,arrayBufferView:n},flipY:!1,sampler:hn.NEAREST})}function LNe(e,t){let n=e._featuresLength;if(!l(e._pickTexture)&&n>0){let i=e._pickIds,o=Wie(e),r=new Uint8Array(o),s=e._owner,a=e._statistics;for(let c=0;c<n;++c){let u=t.createPickId(s.getFeature(c));i.push(u);let f=u.color,d=c*4;r[d]=U.floatToByte(f.red),r[d+1]=U.floatToByte(f.green),r[d+2]=U.floatToByte(f.blue),r[d+3]=U.floatToByte(f.alpha)}e._pickTexture=Yie(e,t,r),l(a)&&(a.batchTableByteLength+=e._pickTexture.sizeInBytes)}}function NNe(e){let t=e._textureDimensions;e._batchTexture.copyFrom({source:{width:t.x,height:t.y,arrayBufferView:e._batchValues}})}Ea.prototype.update=function(e,t){let n=t.context;this._defaultTexture=n.defaultTexture;let i=t.passes;(i.pick||i.postProcess)&&LNe(this,n),this._batchValuesDirty&&(this._batchValuesDirty=!1,l(this._batchTexture)||(this._batchTexture=Yie(this,n,this._batchValues),l(this._statistics)&&(this._statistics.batchTableByteLength+=this._batchTexture.sizeInBytes)),NNe(this))};Ea.prototype.isDestroyed=function(){return!1};Ea.prototype.destroy=function(){this._batchTexture=this._batchTexture&&this._batchTexture.destroy(),this._pickTexture=this._pickTexture&&this._pickTexture.destroy();let e=this._pickIds,t=e.length;for(let n=0;n<t;++n)e[n].destroy();return fe(this)};var jc=Ea;var FNe={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},VNe={SCALAR:void 0,VEC2:G,VEC3:h,VEC4:se,MAT2:Yi,MAT3:J,MAT4:N};function kNe(e){let t=e.componentType,n;typeof t=="string"?n=Z.fromName(t):n=t;let i=FNe[e.type],o=VNe[e.type];return{componentsPerAttribute:i,classType:o,createArrayBufferView:function(r,s,a){return Z.createArrayBufferView(n,r,s,i*a)}}}var Tu=kNe;function Im(e){this._classes=void 0,this._classIds=void 0,this._classIndexes=void 0,this._parentCounts=void 0,this._parentIndexes=void 0,this._parentIds=void 0,this._byteLength=0,UNe(this,e.extension,e.binaryBody)}Object.defineProperties(Im.prototype,{byteLength:{get:function(){return this._byteLength}}});function UNe(e,t,n){let i,o,r,s=t.instancesLength,a=t.classes,c=t.classIds,u=t.parentCounts,f=t.parentIds,d=s,p=0;l(c.byteOffset)&&(c.componentType=y(c.componentType,Z.UNSIGNED_SHORT),c.type=tn.SCALAR,r=Tu(c),c=r.createArrayBufferView(n.buffer,n.byteOffset+c.byteOffset,s),p+=c.byteLength);let g;if(l(u)){for(l(u.byteOffset)&&(u.componentType=y(u.componentType,Z.UNSIGNED_SHORT),u.type=tn.SCALAR,r=Tu(u),u=r.createArrayBufferView(n.buffer,n.byteOffset+u.byteOffset,s),p+=u.byteLength),g=new Uint16Array(s),d=0,i=0;i<s;++i)g[i]=d,d+=u[i];p+=g.byteLength}l(f)&&l(f.byteOffset)&&(f.componentType=y(f.componentType,Z.UNSIGNED_SHORT),f.type=tn.SCALAR,r=Tu(f),f=r.createArrayBufferView(n.buffer,n.byteOffset+f.byteOffset,d),p+=f.byteLength);let m=a.length;for(i=0;i<m;++i){let A=a[i].length,b=a[i].instances,E=zNe(A,b,n);p+=HNe(E),a[i].instances=mt(E,b)}let C=new Array(m).fill(0),x=new Uint16Array(s);for(i=0;i<s;++i)o=c[i],x[i]=C[o],++C[o];p+=x.byteLength,e._classes=a,e._classIds=c,e._classIndexes=x,e._parentCounts=u,e._parentIndexes=g,e._parentIds=f,e._byteLength=p}function zNe(e,t,n){let i;for(let o in t)if(t.hasOwnProperty(o)){let r=t[o],s=r.byteOffset;if(l(s)){let a=r.componentType,c=r.type;if(!l(a))throw new de("componentType is required.");if(!l(c))throw new de("type is required.");if(!l(n))throw new de(`Property ${o} requires a batch table binary.`);let u=Tu(r),f=u.componentsPerAttribute,d=u.classType,p=u.createArrayBufferView(n.buffer,n.byteOffset+s,e);l(i)||(i={}),i[o]={typedArray:p,componentCount:f,type:d}}}return i}function HNe(e){let t=0;for(let n in e)e.hasOwnProperty(n)&&(t+=e[n].typedArray.byteLength);return t}var GNe=[],WNe=[],jNe=0;function qNe(e,t,n){let i=e._classIds,o=e._parentCounts,r=e._parentIds,s=e._parentIndexes,a=i.length,c=GNe;c.length=Math.max(c.length,a);let u=++jNe,f=WNe;for(f.length=0,f.push(t);f.length>0;){if(t=f.pop(),c[t]===u)continue;c[t]=u;let d=n(e,t);if(l(d))return d;let p=o[t],g=s[t];for(let m=0;m<p;++m){let C=r[g+m];C!==t&&f.push(C)}}}function YNe(e,t,n){let i=!0;for(;i;){let o=n(e,t);if(l(o))return o;let r=e._parentIds[t];i=r!==t,t=r}}function jS(e,t,n){let i=e._parentCounts,o=e._parentIds;if(l(o)){if(l(i))return qNe(e,t,n)}else return n(e,t);return YNe(e,t,n)}Im.prototype.hasProperty=function(e,t){let n=jS(this,e,function(i,o){let r=i._classIds[o],s=i._classes[r].instances;if(l(s[t]))return!0});return l(n)};Im.prototype.propertyExists=function(e){let t=this._classes,n=t.length;for(let i=0;i<n;++i){let o=t[i].instances;if(l(o[e]))return!0}return!1};Im.prototype.getPropertyIds=function(e,t){return t=l(t)?t:[],t.length=0,jS(this,e,function(n,i){let o=n._classIds[i],r=n._classes[o].instances;for(let s in r)r.hasOwnProperty(s)&&t.indexOf(s)===-1&&t.push(s)}),t};Im.prototype.getProperty=function(e,t){return jS(this,e,function(n,i){let o=n._classIds[i],r=n._classes[o],s=n._classIndexes[i],a=r.instances[t];if(l(a))return l(a.typedArray)?XNe(a,s):et(a[s],!0)})};function XNe(e,t){let n=e.typedArray,i=e.componentCount;return i===1?n[t]:e.type.unpack(n,t*i)}Im.prototype.setProperty=function(e,t,n){let i=jS(this,e,function(o,r){let s=o._classIds[r],a=o._classes[s],c=o._classIndexes[r],u=a.instances[t];if(l(u))return l(u.typedArray)?KNe(u,c,n):u[c]=et(n,!0),!0});return l(i)};function KNe(e,t,n){let i=e.typedArray,o=e.componentCount;o===1?i[t]=n:e.type.pack(n,i,t*o)}Im.prototype.isClass=function(e,t){let n=jS(this,e,function(i,o){let r=i._classIds[o];if(i._classes[r].name===t)return!0});return l(n)};Im.prototype.getClassName=function(e){let t=this._classIds[e];return this._classes[t].name};var jA=Im;var ZNe={HIGHLIGHT:0,REPLACE:1,MIX:2},Sl=Object.freeze(ZNe);var jG=jc.DEFAULT_COLOR_VALUE,qG=jc.DEFAULT_SHOW_VALUE;function io(e,t,n,i,o){this.featuresLength=t;let r;l(n)&&(r=n.extensions),this._extensions=y(r,{});let s=$Ne(n);this._properties=s,this._batchTableHierarchy=JNe(this,n,i);let a=Kie(t,s,i);this._binaryPropertiesByteLength=QNe(a),this._batchTableBinaryProperties=a,this._content=e,this._batchTexture=new jc({featuresLength:t,colorChangedCallback:o,owner:e,statistics:e.tileset.statistics})}io._deprecationWarning=or;Object.defineProperties(io.prototype,{batchTableByteLength:{get:function(){let e=this._binaryPropertiesByteLength;return l(this._batchTableHierarchy)&&(e+=this._batchTableHierarchy.byteLength),e+=this._batchTexture.byteLength,e}}});function $Ne(e){let t={};if(!l(e))return t;for(let n in e)e.hasOwnProperty(n)&&n!=="HIERARCHY"&&n!=="extensions"&&n!=="extras"&&(t[n]=et(e[n],!0));return t}function JNe(e,t,n){if(!l(t))return;let i=e._extensions["3DTILES_batch_table_hierarchy"],o=t.HIERARCHY;if(l(o)&&(io._deprecationWarning("batchTableHierarchyExtension","The batch table HIERARCHY property has been moved to an extension. Use extensions.3DTILES_batch_table_hierarchy instead."),e._extensions["3DTILES_batch_table_hierarchy"]=o,i=o),!!l(i))return new jA({extension:i,binaryBody:n})}function Kie(e,t,n){let i;for(let o in t)if(t.hasOwnProperty(o)){let r=t[o],s=r.byteOffset;if(l(s)){let a=r.componentType,c=r.type;if(!l(a))throw new de("componentType is required.");if(!l(c))throw new de("type is required.");if(!l(n))throw new de(`Property ${o} requires a batch table binary.`);let u=Tu(r),f=u.componentsPerAttribute,d=u.classType,p=u.createArrayBufferView(n.buffer,n.byteOffset+s,e);l(i)||(i={}),i[o]={typedArray:p,componentCount:f,type:d}}}return i}function QNe(e){if(!l(e))return 0;let t=0;for(let n in e)e.hasOwnProperty(n)&&(t+=e[n].typedArray.byteLength);return t}io.getBinaryProperties=function(e,t,n){return Kie(e,t,n)};io.prototype.setShow=function(e,t){this._batchTexture.setShow(e,t)};io.prototype.setAllShow=function(e){this._batchTexture.setAllShow(e)};io.prototype.getShow=function(e){return this._batchTexture.getShow(e)};io.prototype.setColor=function(e,t){this._batchTexture.setColor(e,t)};io.prototype.setAllColor=function(e){this._batchTexture.setAllColor(e)};io.prototype.getColor=function(e,t){return this._batchTexture.getColor(e,t)};io.prototype.getPickColor=function(e){return this._batchTexture.getPickColor(e)};var eFe=new U;io.prototype.applyStyle=function(e){if(!l(e)){this.setAllColor(jG),this.setAllShow(qG);return}let t=this._content,n=this.featuresLength;for(let i=0;i<n;++i){let o=t.getFeature(i),r=l(e.color)?y(e.color.evaluateColor(o,eFe),jG):jG,s=l(e.show)?y(e.show.evaluate(o),qG):qG;this.setColor(i,r),this.setShow(i,s)}};function tFe(e,t){let n=e.typedArray,i=e.componentCount;return i===1?n[t]:e.type.unpack(n,t*i)}function nFe(e,t,n){let i=e.typedArray,o=e.componentCount;o===1?i[t]=n:e.type.pack(n,i,t*o)}io.prototype.isClass=function(e,t){let n=this._batchTableHierarchy;return l(n)?n.isClass(e,t):!1};io.prototype.isExactClass=function(e,t){return this.getExactClassName(e)===t};io.prototype.getExactClassName=function(e){let t=this._batchTableHierarchy;if(!!l(t))return t.getClassName(e)};io.prototype.hasProperty=function(e,t){return l(this._properties[t])||l(this._batchTableHierarchy)&&this._batchTableHierarchy.hasProperty(e,t)};io.prototype.hasPropertyBySemantic=function(){return!1};io.prototype.getPropertyIds=function(e,t){t=l(t)?t:[],t.length=0;let n=Object.keys(this._properties);return t.push.apply(t,n),l(this._batchTableHierarchy)&&t.push.apply(t,this._batchTableHierarchy.getPropertyIds(e,n)),t};io.prototype.getPropertyBySemantic=function(e,t){};io.prototype.getProperty=function(e,t){if(l(this._batchTableBinaryProperties)){let i=this._batchTableBinaryProperties[t];if(l(i))return tFe(i,e)}let n=this._properties[t];if(l(n))return et(n[e],!0);if(l(this._batchTableHierarchy)){let i=this._batchTableHierarchy.getProperty(e,t);if(l(i))return i}};io.prototype.setProperty=function(e,t,n){let i=this.featuresLength;if(l(this._batchTableBinaryProperties)){let r=this._batchTableBinaryProperties[t];if(l(r)){nFe(r,e,n);return}}if(l(this._batchTableHierarchy)&&this._batchTableHierarchy.setProperty(e,t,n))return;let o=this._properties[t];l(o)||(this._properties[t]=new Array(i),o=this._properties[t]),o[e]=et(n,!0)};function iFe(e){return e._batchTexture.textureDimensions.y===1?`uniform vec4 tile_textureStep;
  3158. vec2 computeSt(float batchId)
  3159. {
  3160. float stepX = tile_textureStep.x;
  3161. float centerX = tile_textureStep.y;
  3162. return vec2(centerX + (batchId * stepX), 0.5);
  3163. }
  3164. `:`uniform vec4 tile_textureStep;
  3165. uniform vec2 tile_textureDimensions;
  3166. vec2 computeSt(float batchId)
  3167. {
  3168. float stepX = tile_textureStep.x;
  3169. float centerX = tile_textureStep.y;
  3170. float stepY = tile_textureStep.z;
  3171. float centerY = tile_textureStep.w;
  3172. float xId = mod(batchId, tile_textureDimensions.x);
  3173. float yId = floor(batchId / tile_textureDimensions.x);
  3174. return vec2(centerX + (xId * stepX), centerY + (yId * stepY));
  3175. }
  3176. `}io.prototype.getVertexShaderCallback=function(e,t,n){if(this.featuresLength===0)return;let i=this;return function(o){let r=Zie(o,n,!1),s;return kt.maximumVertexTextureImageUnits>0?(s="",e&&(s+=`uniform bool tile_translucentCommand;
  3177. `),s+=`uniform sampler2D tile_batchTexture;
  3178. varying vec4 tile_featureColor;
  3179. varying vec2 tile_featureSt;
  3180. void main()
  3181. {
  3182. vec2 st = computeSt(${t});
  3183. vec4 featureProperties = texture2D(tile_batchTexture, st);
  3184. tile_color(featureProperties);
  3185. float show = ceil(featureProperties.a);
  3186. gl_Position *= show;
  3187. `,e&&(s+=` bool isStyleTranslucent = (featureProperties.a != 1.0);
  3188. if (czm_pass == czm_passTranslucent)
  3189. {
  3190. if (!isStyleTranslucent && !tile_translucentCommand)
  3191. {
  3192. gl_Position *= 0.0;
  3193. }
  3194. }
  3195. else
  3196. {
  3197. if (isStyleTranslucent)
  3198. {
  3199. gl_Position *= 0.0;
  3200. }
  3201. }
  3202. `),s+=` tile_featureColor = featureProperties;
  3203. tile_featureSt = st;
  3204. }`):s=`varying vec2 tile_featureSt;
  3205. void main()
  3206. {
  3207. tile_color(vec4(1.0));
  3208. tile_featureSt = computeSt(${t});
  3209. }`,`${r}
  3210. ${iFe(i)}${s}`}};function Xie(e,t){return e=ke.replaceMain(e,"tile_main"),t?`${e}uniform float tile_colorBlend;
  3211. void tile_color(vec4 tile_featureColor)
  3212. {
  3213. tile_main();
  3214. tile_featureColor = czm_gammaCorrect(tile_featureColor);
  3215. gl_FragColor.a *= tile_featureColor.a;
  3216. float highlight = ceil(tile_colorBlend);
  3217. gl_FragColor.rgb *= mix(tile_featureColor.rgb, vec3(1.0), highlight);
  3218. }
  3219. `:`${e}void tile_color(vec4 tile_featureColor)
  3220. {
  3221. tile_main();
  3222. }
  3223. `}function oFe(e,t){let n=`texture2D(${t}`,i=0,o=e.indexOf(n,i),r;for(;o>-1;){let s=0;for(let u=o;u<e.length;++u){let f=e.charAt(u);if(f==="(")++s;else if(f===")"&&(--s,s===0)){r=u+1;break}}let c=`tile_diffuse_final(${e.slice(o,r)}, tile_diffuse)`;e=e.slice(0,o)+c+e.slice(r),i=o+c.length,o=e.indexOf(n,i)}return e}function Zie(e,t,n){if(!l(t))return Xie(e,n);let i=new RegExp(`(uniform|attribute|in)\\s+(vec[34]|sampler2D)\\s+${t};`),o=e.match(i);if(!l(o))return Xie(e,n);let r=o[0],s=o[2];e=ke.replaceMain(e,"tile_main"),e=e.replace(r,"");let a=`bool isWhite(vec3 color)
  3224. {
  3225. return all(greaterThan(color, vec3(1.0 - czm_epsilon3)));
  3226. }
  3227. vec4 tile_diffuse_final(vec4 sourceDiffuse, vec4 tileDiffuse)
  3228. {
  3229. vec4 blendDiffuse = mix(sourceDiffuse, tileDiffuse, tile_colorBlend);
  3230. vec4 diffuse = isWhite(tileDiffuse.rgb) ? sourceDiffuse : blendDiffuse;
  3231. return vec4(diffuse.rgb, sourceDiffuse.a);
  3232. }
  3233. `,c=` tile_featureColor = czm_gammaCorrect(tile_featureColor);
  3234. gl_FragColor.a *= tile_featureColor.a;
  3235. float highlight = ceil(tile_colorBlend);
  3236. gl_FragColor.rgb *= mix(tile_featureColor.rgb, vec3(1.0), highlight);
  3237. `,u;if(s==="vec3"||s==="vec4"){let f=s==="vec3"?`vec4(${t}, 1.0)`:t,d=s==="vec3"?"tile_diffuse.xyz":"tile_diffuse";i=new RegExp(t,"g"),e=e.replace(i,d),u=` vec4 source = ${f};
  3238. tile_diffuse = tile_diffuse_final(source, tile_featureColor);
  3239. tile_main();
  3240. `}else s==="sampler2D"&&(e=oFe(e,t),u=` tile_diffuse = tile_featureColor;
  3241. tile_main();
  3242. `);return e=`uniform float tile_colorBlend;
  3243. vec4 tile_diffuse = vec4(1.0);
  3244. ${a}${r}
  3245. ${e}
  3246. void tile_color(vec4 tile_featureColor)
  3247. {
  3248. ${u}`,n&&(e+=c),e+=`}
  3249. `,e}io.prototype.getFragmentShaderCallback=function(e,t,n){if(this.featuresLength!==0)return function(i){return i=Zie(i,t,!0),kt.maximumVertexTextureImageUnits>0?(i+=`uniform sampler2D tile_pickTexture;
  3250. varying vec2 tile_featureSt;
  3251. varying vec4 tile_featureColor;
  3252. void main()
  3253. {
  3254. tile_color(tile_featureColor);
  3255. `,n&&(i+=` gl_FragColor.rgb *= gl_FragColor.a;
  3256. `),i+="}"):(e&&(i+=`uniform bool tile_translucentCommand;
  3257. `),i+=`uniform sampler2D tile_pickTexture;
  3258. uniform sampler2D tile_batchTexture;
  3259. varying vec2 tile_featureSt;
  3260. void main()
  3261. {
  3262. vec4 featureProperties = texture2D(tile_batchTexture, tile_featureSt);
  3263. if (featureProperties.a == 0.0) {
  3264. discard;
  3265. }
  3266. `,e&&(i+=` bool isStyleTranslucent = (featureProperties.a != 1.0);
  3267. if (czm_pass == czm_passTranslucent)
  3268. {
  3269. if (!isStyleTranslucent && !tile_translucentCommand)
  3270. {
  3271. discard;
  3272. }
  3273. }
  3274. else
  3275. {
  3276. if (isStyleTranslucent)
  3277. {
  3278. discard;
  3279. }
  3280. }
  3281. `),i+=` tile_color(featureProperties);
  3282. `,n&&(i+=` gl_FragColor.rgb *= gl_FragColor.a;
  3283. `),i+=`}
  3284. `),i}};io.prototype.getClassificationFragmentShaderCallback=function(){if(this.featuresLength!==0)return function(e){return e=ke.replaceMain(e,"tile_main"),kt.maximumVertexTextureImageUnits>0?e+=`uniform sampler2D tile_pickTexture;
  3285. varying vec2 tile_featureSt;
  3286. varying vec4 tile_featureColor;
  3287. void main()
  3288. {
  3289. tile_main();
  3290. gl_FragColor = tile_featureColor;
  3291. gl_FragColor.rgb *= gl_FragColor.a;
  3292. }`:e+=`uniform sampler2D tile_batchTexture;
  3293. uniform sampler2D tile_pickTexture;
  3294. varying vec2 tile_featureSt;
  3295. void main()
  3296. {
  3297. tile_main();
  3298. vec4 featureProperties = texture2D(tile_batchTexture, tile_featureSt);
  3299. if (featureProperties.a == 0.0) {
  3300. discard;
  3301. }
  3302. gl_FragColor = featureProperties;
  3303. gl_FragColor.rgb *= gl_FragColor.a;
  3304. }
  3305. `,e}};function rFe(e){let t=e._content.tileset,n=t.colorBlendMode,i=t.colorBlendAmount;if(n===Sl.HIGHLIGHT)return 0;if(n===Sl.REPLACE)return 1;if(n===Sl.MIX)return I.clamp(i,I.EPSILON4,1)}io.prototype.getUniformMapCallback=function(){if(this.featuresLength===0)return;let e=this;return function(t){return mt(t,{tile_batchTexture:function(){return y(e._batchTexture.batchTexture,e._batchTexture.defaultTexture)},tile_textureDimensions:function(){return e._batchTexture.textureDimensions},tile_textureStep:function(){return e._batchTexture.textureStep},tile_colorBlend:function(){return rFe(e)},tile_pickTexture:function(){return e._batchTexture.pickTexture}})}};io.prototype.getPickId=function(){return"texture2D(tile_pickTexture, tile_featureSt)"};var M_={ALL_OPAQUE:0,ALL_TRANSLUCENT:1,OPAQUE_AND_TRANSLUCENT:2};io.prototype.addDerivedCommands=function(e,t){let n=e.commandList,i=n.length,o=this._content._tile,r=o._finalResolution,s=o.tileset,a=s._skipLevelOfDetail&&s._hasMixedContent&&e.context.stencilBuffer,c=sFe(this);for(let u=t;u<i;++u){let f=n[u];if(f.pass===xe.COMPUTE)continue;let d=f.derivedCommands.tileset;(!l(d)||f.dirty)&&(d={},f.derivedCommands.tileset=d,d.originalCommand=aFe(f),f.dirty=!1);let p=d.originalCommand;c!==M_.ALL_OPAQUE&&f.pass!==xe.TRANSLUCENT&&(l(d.translucent)||(d.translucent=cFe(p))),c!==M_.ALL_TRANSLUCENT&&f.pass!==xe.TRANSLUCENT&&(l(d.opaque)||(d.opaque=lFe(p)),a&&(r||(l(d.zback)||(d.zback=fFe(e.context,p)),s._backfaceCommands.push(d.zback)),(!l(d.stencil)||o._selectionDepth!==hFe(d.stencil))&&(f.renderState.depthMask?d.stencil=dFe(p,o._selectionDepth):d.stencil=d.opaque)));let g=a?d.stencil:d.opaque,m=d.translucent;f.pass!==xe.TRANSLUCENT?(c===M_.ALL_OPAQUE&&(n[u]=g),c===M_.ALL_TRANSLUCENT&&(n[u]=m),c===M_.OPAQUE_AND_TRANSLUCENT&&(n[u]=g,n.push(m))):n[u]=p}};function sFe(e){let t=e._batchTexture.translucentFeaturesLength;return t===0?M_.ALL_OPAQUE:t===e.featuresLength?M_.ALL_TRANSLUCENT:M_.OPAQUE_AND_TRANSLUCENT}function aFe(e){let t=Je.shallowClone(e),n=t.pass===xe.TRANSLUCENT;return t.uniformMap=l(t.uniformMap)?t.uniformMap:{},t.uniformMap.tile_translucentCommand=function(){return n},t}function cFe(e){let t=Je.shallowClone(e);return t.pass=xe.TRANSLUCENT,t.renderState=mFe(e.renderState),t}function lFe(e){let t=Je.shallowClone(e);return t.renderState=pFe(e.renderState),t}function uFe(e,t){let n=e.shaderCache.getDerivedShaderProgram(t,"zBackfaceLogDepth");if(!l(n)){let i=t.fragmentShaderSource.clone();i.defines=l(i.defines)?i.defines.slice(0):[],i.defines.push("POLYGON_OFFSET"),i.sources.unshift(`#ifdef GL_OES_standard_derivatives
  3306. #extension GL_OES_standard_derivatives : enable
  3307. #endif
  3308. `),n=e.shaderCache.createDerivedShaderProgram(t,"zBackfaceLogDepth",{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:i,attributeLocations:t._attributeLocations})}return n}function fFe(e,t){let n=Je.shallowClone(t),i=et(n.renderState,!0);i.cull.enabled=!0,i.cull.face=wi.FRONT,i.colorMask={red:!1,green:!1,blue:!1,alpha:!1},i.polygonOffset={enabled:!0,factor:5,units:5},i.stencilTest=vt.setCesium3DTileBit(),i.stencilMask=vt.CESIUM_3D_TILE_MASK,n.renderState=Fe.fromCache(i),n.castShadows=!1,n.receiveShadows=!1,n.uniformMap=et(t.uniformMap);let o=new G(5,5);return n.uniformMap.u_polygonOffset=function(){return o},n.shaderProgram=uFe(e,t.shaderProgram),n}function dFe(e,t){let n=Je.shallowClone(e),i=et(n.renderState,!0);return i.stencilTest.enabled=!0,i.stencilTest.mask=vt.SKIP_LOD_MASK,i.stencilTest.reference=vt.CESIUM_3D_TILE_MASK|t<<vt.SKIP_LOD_BIT_SHIFT,i.stencilTest.frontFunction=Nn.GREATER_OR_EQUAL,i.stencilTest.frontOperation.zPass=at.REPLACE,i.stencilTest.backFunction=Nn.GREATER_OR_EQUAL,i.stencilTest.backOperation.zPass=at.REPLACE,i.stencilMask=vt.CESIUM_3D_TILE_MASK|vt.SKIP_LOD_MASK,n.renderState=Fe.fromCache(i),n}function hFe(e){return(e.renderState.stencilTest.reference&vt.SKIP_LOD_MASK)>>>vt.SKIP_LOD_BIT_SHIFT}function mFe(e){let t=et(e,!0);return t.cull.enabled=!1,t.depthTest.enabled=!0,t.depthMask=!1,t.blending=cn.ALPHA_BLEND,t.stencilTest=vt.setCesium3DTileBit(),t.stencilMask=vt.CESIUM_3D_TILE_MASK,Fe.fromCache(t)}function pFe(e){let t=et(e,!0);return t.stencilTest=vt.setCesium3DTileBit(),t.stencilMask=vt.CESIUM_3D_TILE_MASK,Fe.fromCache(t)}io.prototype.update=function(e,t){this._batchTexture.update(e,t)};io.prototype.isDestroyed=function(){return!1};io.prototype.destroy=function(){return this._batchTexture=this._batchTexture&&this._batchTexture.destroy(),fe(this)};var B_=io;function _Fe(e){this.offset=e.offset,this.count=e.count,this.color=e.color,this.batchIds=e.batchIds}var Om=_Fe;var qS=`attribute vec3 position;
  3309. attribute float a_batchId;
  3310. uniform mat4 u_modifiedModelViewProjection;
  3311. void main()
  3312. {
  3313. gl_Position = czm_depthClamp(u_modifiedModelViewProjection * vec4(position, 1.0));
  3314. }
  3315. `;function wl(e,t){this._content=e,this._batchId=t,this._color=void 0}Object.defineProperties(wl.prototype,{show:{get:function(){return this._content.batchTable.getShow(this._batchId)},set:function(e){this._content.batchTable.setShow(this._batchId,e)}},color:{get:function(){return l(this._color)||(this._color=new U),this._content.batchTable.getColor(this._batchId,this._color)},set:function(e){this._content.batchTable.setColor(this._batchId,e)}},polylinePositions:{get:function(){if(!!l(this._content.getPolylinePositions))return this._content.getPolylinePositions(this._batchId)}},content:{get:function(){return this._content}},tileset:{get:function(){return this._content.tileset}},primitive:{get:function(){return this._content.tileset}},featureId:{get:function(){return this._batchId}},pickId:{get:function(){return this._content.batchTable.getPickColor(this._batchId)}}});wl.prototype.hasProperty=function(e){return this._content.batchTable.hasProperty(this._batchId,e)};wl.prototype.getPropertyNames=function(e){return or("Cesium3DTileFeature.getPropertyNames","Cesium3DTileFeature.getPropertyNames was deprecated in CesiumJS 1.95 and will be removed in 1.98. Use Cesium3DTileFeature.getPropertyIds instead"),this._content.batchTable.getPropertyIds(this._batchId,e)};wl.prototype.getPropertyIds=function(e){return this._content.batchTable.getPropertyIds(this._batchId,e)};wl.prototype.getProperty=function(e){return this._content.batchTable.getProperty(this._batchId,e)};wl.getPropertyInherited=function(e,t,n){let i=e.batchTable;if(l(i)){if(i.hasPropertyBySemantic(t,n))return i.getPropertyBySemantic(t,n);if(i.hasProperty(t,n))return i.getProperty(t,n)}let o=e.metadata;if(l(o)){if(o.hasPropertyBySemantic(n))return o.getPropertyBySemantic(n);if(o.hasProperty(n))return o.getProperty(n)}let r=e.tile,s=r.metadata;if(l(s)){if(s.hasPropertyBySemantic(n))return s.getPropertyBySemantic(n);if(s.hasProperty(n))return s.getProperty(n)}let a;if(l(r.implicitSubtree)&&(a=r.implicitSubtree.metadata),l(a)){if(a.hasPropertyBySemantic(n))return a.getPropertyBySemantic(n);if(a.hasProperty(n))return a.getProperty(n)}let c=l(e.group)?e.group.metadata:void 0;if(l(c)){if(c.hasPropertyBySemantic(n))return c.getPropertyBySemantic(n);if(c.hasProperty(n))return c.getProperty(n)}let u=e.tileset.metadata;if(l(u)){if(u.hasPropertyBySemantic(n))return u.getPropertyBySemantic(n);if(u.hasProperty(n))return u.getProperty(n)}};wl.prototype.getPropertyInherited=function(e){return wl.getPropertyInherited(this._content,this._batchId,e)};wl.prototype.setProperty=function(e,t){this._content.batchTable.setProperty(this._batchId,e,t),this._content.featurePropertiesDirty=!0};wl.prototype.isExactClass=function(e){return this._content.batchTable.isExactClass(this._batchId,e)};wl.prototype.isClass=function(e){return this._content.batchTable.isClass(this._batchId,e)};wl.prototype.getExactClassName=function(){return this._content.batchTable.getExactClassName(this._batchId)};var bs=wl;var wB=Ri($ie(),1);var gFe={VARIABLE:0,UNARY:1,BINARY:2,TERNARY:3,CONDITIONAL:4,MEMBER:5,FUNCTION_CALL:6,ARRAY:7,REGEX:8,VARIABLE_IN_STRING:9,LITERAL_NULL:10,LITERAL_BOOLEAN:11,LITERAL_NUMBER:12,LITERAL_STRING:13,LITERAL_COLOR:14,LITERAL_VECTOR:15,LITERAL_REGEX:16,LITERAL_UNDEFINED:17,BUILTIN_VARIABLE:18},lt=Object.freeze(gFe);function Sf(e,t){this._expression=e,e=IFe(e,t),e=RFe(OFe(e)),wB.default.addBinaryOp("=~",0),wB.default.addBinaryOp("!~",0);let n;try{n=(0,wB.default)(e)}catch(i){throw new de(i)}this._runtimeAst=fi(this,n)}Object.defineProperties(Sf.prototype,{expression:{get:function(){return this._expression}}});var En={arrayIndex:0,arrayArray:[[]],cartesian2Index:0,cartesian3Index:0,cartesian4Index:0,cartesian2Array:[new G],cartesian3Array:[new h],cartesian4Array:[new se],reset:function(){this.arrayIndex=0,this.cartesian2Index=0,this.cartesian3Index=0,this.cartesian4Index=0},getArray:function(){this.arrayIndex>=this.arrayArray.length&&this.arrayArray.push([]);let e=this.arrayArray[this.arrayIndex++];return e.length=0,e},getCartesian2:function(){return this.cartesian2Index>=this.cartesian2Array.length&&this.cartesian2Array.push(new G),this.cartesian2Array[this.cartesian2Index++]},getCartesian3:function(){return this.cartesian3Index>=this.cartesian3Array.length&&this.cartesian3Array.push(new h),this.cartesian3Array[this.cartesian3Index++]},getCartesian4:function(){return this.cartesian4Index>=this.cartesian4Array.length&&this.cartesian4Array.push(new se),this.cartesian4Array[this.cartesian4Index++]}};Sf.prototype.evaluate=function(e,t){En.reset();let n=this._runtimeAst.evaluate(e);return t instanceof U&&n instanceof se?U.fromCartesian4(n,t):n instanceof G||n instanceof h||n instanceof se?n.clone(t):n};Sf.prototype.evaluateColor=function(e,t){En.reset();let n=this._runtimeAst.evaluate(e);return U.fromCartesian4(n,t)};Sf.prototype.getShaderFunction=function(e,t,n,i){let o=this.getShaderExpression(t,n);return o=`${i} ${e}
  3316. {
  3317. return ${o};
  3318. }
  3319. `,o};Sf.prototype.getShaderExpression=function(e,t){return this._runtimeAst.getShaderExpression(e,t)};Sf.prototype.getVariables=function(){let e=[];return this._runtimeAst.getVariables(e),e=e.filter(function(t,n,i){return i.indexOf(t)===n}),e};var yFe=["!","-","+"],Jie=["+","-","*","/","%","===","!==",">",">=","<","<=","&&","||","!~","=~"],vB=/\${(.*?)}/g,CFe=/\\/g,xFe="@#%",AFe=/@#%/g,DB=new U,PB={abs:us(Math.abs),sqrt:us(Math.sqrt),cos:us(Math.cos),sin:us(Math.sin),tan:us(Math.tan),acos:us(Math.acos),asin:us(Math.asin),atan:us(Math.atan),radians:us(I.toRadians),degrees:us(I.toDegrees),sign:us(I.sign),floor:us(Math.floor),ceil:us(Math.ceil),round:us(Math.round),exp:us(Math.exp),exp2:us(EFe),log:us(Math.log),log2:us(bFe),fract:us(TFe),length:SFe,normalize:wFe},IB={atan2:bB(Math.atan2,!1),pow:bB(Math.pow,!1),min:bB(Math.min,!0),max:bB(Math.max,!0),distance:vFe,dot:DFe,cross:PFe},KG={clamp:Qie(I.clamp,!0),mix:Qie(I.lerp,!0)};function TFe(e){return e-Math.floor(e)}function EFe(e){return Math.pow(2,e)}function bFe(e){return I.log2(e)}function us(e){return function(t,n){if(typeof n=="number")return e(n);if(n instanceof G)return G.fromElements(e(n.x),e(n.y),En.getCartesian2());if(n instanceof h)return h.fromElements(e(n.x),e(n.y),e(n.z),En.getCartesian3());if(n instanceof se)return se.fromElements(e(n.x),e(n.y),e(n.z),e(n.w),En.getCartesian4());throw new de(`Function "${t}" requires a vector or number argument. Argument is ${n}.`)}}function bB(e,t){return function(n,i,o){if(t&&typeof o=="number"){if(typeof i=="number")return e(i,o);if(i instanceof G)return G.fromElements(e(i.x,o),e(i.y,o),En.getCartesian2());if(i instanceof h)return h.fromElements(e(i.x,o),e(i.y,o),e(i.z,o),En.getCartesian3());if(i instanceof se)return se.fromElements(e(i.x,o),e(i.y,o),e(i.z,o),e(i.w,o),En.getCartesian4())}if(typeof i=="number"&&typeof o=="number")return e(i,o);if(i instanceof G&&o instanceof G)return G.fromElements(e(i.x,o.x),e(i.y,o.y),En.getCartesian2());if(i instanceof h&&o instanceof h)return h.fromElements(e(i.x,o.x),e(i.y,o.y),e(i.z,o.z),En.getCartesian3());if(i instanceof se&&o instanceof se)return se.fromElements(e(i.x,o.x),e(i.y,o.y),e(i.z,o.z),e(i.w,o.w),En.getCartesian4());throw new de(`Function "${n}" requires vector or number arguments of matching types. Arguments are ${i} and ${o}.`)}}function Qie(e,t){return function(n,i,o,r){if(t&&typeof r=="number"){if(typeof i=="number"&&typeof o=="number")return e(i,o,r);if(i instanceof G&&o instanceof G)return G.fromElements(e(i.x,o.x,r),e(i.y,o.y,r),En.getCartesian2());if(i instanceof h&&o instanceof h)return h.fromElements(e(i.x,o.x,r),e(i.y,o.y,r),e(i.z,o.z,r),En.getCartesian3());if(i instanceof se&&o instanceof se)return se.fromElements(e(i.x,o.x,r),e(i.y,o.y,r),e(i.z,o.z,r),e(i.w,o.w,r),En.getCartesian4())}if(typeof i=="number"&&typeof o=="number"&&typeof r=="number")return e(i,o,r);if(i instanceof G&&o instanceof G&&r instanceof G)return G.fromElements(e(i.x,o.x,r.x),e(i.y,o.y,r.y),En.getCartesian2());if(i instanceof h&&o instanceof h&&r instanceof h)return h.fromElements(e(i.x,o.x,r.x),e(i.y,o.y,r.y),e(i.z,o.z,r.z),En.getCartesian3());if(i instanceof se&&o instanceof se&&r instanceof se)return se.fromElements(e(i.x,o.x,r.x),e(i.y,o.y,r.y),e(i.z,o.z,r.z),e(i.w,o.w,r.w),En.getCartesian4());throw new de(`Function "${n}" requires vector or number arguments of matching types. Arguments are ${i}, ${o}, and ${r}.`)}}function SFe(e,t){if(typeof t=="number")return Math.abs(t);if(t instanceof G)return G.magnitude(t);if(t instanceof h)return h.magnitude(t);if(t instanceof se)return se.magnitude(t);throw new de(`Function "${e}" requires a vector or number argument. Argument is ${t}.`)}function wFe(e,t){if(typeof t=="number")return 1;if(t instanceof G)return G.normalize(t,En.getCartesian2());if(t instanceof h)return h.normalize(t,En.getCartesian3());if(t instanceof se)return se.normalize(t,En.getCartesian4());throw new de(`Function "${e}" requires a vector or number argument. Argument is ${t}.`)}function vFe(e,t,n){if(typeof t=="number"&&typeof n=="number")return Math.abs(t-n);if(t instanceof G&&n instanceof G)return G.distance(t,n);if(t instanceof h&&n instanceof h)return h.distance(t,n);if(t instanceof se&&n instanceof se)return se.distance(t,n);throw new de(`Function "${e}" requires vector or number arguments of matching types. Arguments are ${t} and ${n}.`)}function DFe(e,t,n){if(typeof t=="number"&&typeof n=="number")return t*n;if(t instanceof G&&n instanceof G)return G.dot(t,n);if(t instanceof h&&n instanceof h)return h.dot(t,n);if(t instanceof se&&n instanceof se)return se.dot(t,n);throw new de(`Function "${e}" requires vector or number arguments of matching types. Arguments are ${t} and ${n}.`)}function PFe(e,t,n){if(t instanceof h&&n instanceof h)return h.cross(t,n,En.getCartesian3());throw new de(`Function "${e}" requires vec3 arguments. Arguments are ${t} and ${n}.`)}function ht(e,t,n,i,o){this._type=e,this._value=t,this._left=n,this._right=i,this._test=o,this.evaluate=void 0,HFe(this)}function IFe(e,t){if(!l(t))return e;for(let n in t)if(t.hasOwnProperty(n)){let i=new RegExp(`\\$\\{${n}\\}`,"g"),o=`(${t[n]})`;l(o)&&(e=e.replace(i,o))}return e}function OFe(e){return e.replace(CFe,xFe)}function XG(e){return e.replace(AFe,"\\")}function RFe(e){let t=e,n="",i=t.indexOf("${");for(;i>=0;){let o=t.indexOf("'"),r=t.indexOf('"'),s;if(o>=0&&o<i)s=t.indexOf("'",o+1),n+=t.substr(0,s+1),t=t.substr(s+1),i=t.indexOf("${");else if(r>=0&&r<i)s=t.indexOf('"',r+1),n+=t.substr(0,s+1),t=t.substr(s+1),i=t.indexOf("${");else{n+=t.substr(0,i);let a=t.indexOf("}");if(a<0)throw new de("Unmatched {.");n+=`czm_${t.substr(i+2,a-(i+2))}`,t=t.substr(a+1),i=t.indexOf("${")}}return n+=t,n}function MFe(e){let t=typeof e.value;if(e.value===null)return new ht(lt.LITERAL_NULL,null);if(t==="boolean")return new ht(lt.LITERAL_BOOLEAN,e.value);if(t==="number")return new ht(lt.LITERAL_NUMBER,e.value);if(t==="string")return e.value.indexOf("${")>=0?new ht(lt.VARIABLE_IN_STRING,e.value):new ht(lt.LITERAL_STRING,XG(e.value))}function BFe(e,t){let n=t.arguments,i=n.length,o,r,s,a;if(t.callee.type==="MemberExpression"){o=t.callee.property.name;let c=t.callee.object;if(o==="test"||o==="exec"){if(c.callee.name!=="regExp")throw new de(`${o} is not a function.`);return i===0?o==="test"?new ht(lt.LITERAL_BOOLEAN,!1):new ht(lt.LITERAL_NULL,null):(s=fi(e,c),a=fi(e,n[0]),new ht(lt.FUNCTION_CALL,o,s,a))}else if(o==="toString")return r=fi(e,c),new ht(lt.FUNCTION_CALL,o,r);throw new de(`Unexpected function call "${o}".`)}if(o=t.callee.name,o==="color"){if(i===0)return new ht(lt.LITERAL_COLOR,o);if(r=fi(e,n[0]),l(n[1])){let c=fi(e,n[1]);return new ht(lt.LITERAL_COLOR,o,[r,c])}return new ht(lt.LITERAL_COLOR,o,[r])}else if(o==="rgb"||o==="hsl"){if(i<3)throw new de(`${o} requires three arguments.`);return r=[fi(e,n[0]),fi(e,n[1]),fi(e,n[2])],new ht(lt.LITERAL_COLOR,o,r)}else if(o==="rgba"||o==="hsla"){if(i<4)throw new de(`${o} requires four arguments.`);return r=[fi(e,n[0]),fi(e,n[1]),fi(e,n[2]),fi(e,n[3])],new ht(lt.LITERAL_COLOR,o,r)}else if(o==="vec2"||o==="vec3"||o==="vec4"){r=new Array(i);for(let c=0;c<i;++c)r[c]=fi(e,n[c]);return new ht(lt.LITERAL_VECTOR,o,r)}else{if(o==="isNaN"||o==="isFinite")return i===0?o==="isNaN"?new ht(lt.LITERAL_BOOLEAN,!0):new ht(lt.LITERAL_BOOLEAN,!1):(r=fi(e,n[0]),new ht(lt.UNARY,o,r));if(o==="isExactClass"||o==="isClass"){if(i<1||i>1)throw new de(`${o} requires exactly one argument.`);return r=fi(e,n[0]),new ht(lt.UNARY,o,r)}else if(o==="getExactClassName"){if(i>0)throw new de(`${o} does not take any argument.`);return new ht(lt.UNARY,o)}else if(l(PB[o])){if(i!==1)throw new de(`${o} requires exactly one argument.`);return r=fi(e,n[0]),new ht(lt.UNARY,o,r)}else if(l(IB[o])){if(i!==2)throw new de(`${o} requires exactly two arguments.`);return s=fi(e,n[0]),a=fi(e,n[1]),new ht(lt.BINARY,o,s,a)}else if(l(KG[o])){if(i!==3)throw new de(`${o} requires exactly three arguments.`);s=fi(e,n[0]),a=fi(e,n[1]);let c=fi(e,n[2]);return new ht(lt.TERNARY,o,s,a,c)}else{if(o==="Boolean")return i===0?new ht(lt.LITERAL_BOOLEAN,!1):(r=fi(e,n[0]),new ht(lt.UNARY,o,r));if(o==="Number")return i===0?new ht(lt.LITERAL_NUMBER,0):(r=fi(e,n[0]),new ht(lt.UNARY,o,r));if(o==="String")return i===0?new ht(lt.LITERAL_STRING,""):(r=fi(e,n[0]),new ht(lt.UNARY,o,r));if(o==="regExp")return LFe(e,t)}}throw new de(`Unexpected function call "${o}".`)}function LFe(e,t){let n=t.arguments;if(n.length===0)return new ht(lt.LITERAL_REGEX,new RegExp);let i=fi(e,n[0]),o;if(n.length>1){let r=fi(e,n[1]);if(YG(i)&&YG(r)){try{o=new RegExp(XG(String(i._value)),r._value)}catch(s){throw new de(s)}return new ht(lt.LITERAL_REGEX,o)}return new ht(lt.REGEX,i,r)}if(YG(i)){try{o=new RegExp(XG(String(i._value)))}catch(r){throw new de(r)}return new ht(lt.LITERAL_REGEX,o)}return new ht(lt.REGEX,i)}function NFe(e){if(UFe(e.name)){let t=zFe(e.name);return t.substr(0,8)==="tiles3d_"?new ht(lt.BUILTIN_VARIABLE,t):new ht(lt.VARIABLE,t)}else{if(e.name==="NaN")return new ht(lt.LITERAL_NUMBER,NaN);if(e.name==="Infinity")return new ht(lt.LITERAL_NUMBER,1/0);if(e.name==="undefined")return new ht(lt.LITERAL_UNDEFINED,void 0)}throw new de(`${e.name} is not defined.`)}function FFe(e){let t=e.property.name;if(t==="PI")return new ht(lt.LITERAL_NUMBER,Math.PI);if(t==="E")return new ht(lt.LITERAL_NUMBER,Math.E)}function VFe(e){if(e.property.name==="POSITIVE_INFINITY")return new ht(lt.LITERAL_NUMBER,Number.POSITIVE_INFINITY)}function kFe(e,t){if(t.object.name==="Math")return FFe(t);if(t.object.name==="Number")return VFe(t);let n,i=fi(e,t.object);return t.computed?(n=fi(e,t.property),new ht(lt.MEMBER,"brackets",i,n)):(n=new ht(lt.LITERAL_STRING,t.property.name),new ht(lt.MEMBER,"dot",i,n))}function YG(e){return e._type>=lt.LITERAL_NULL}function UFe(e){return e.substr(0,4)==="czm_"}function zFe(e){return e.substr(4)}function fi(e,t){let n,i,o,r;if(t.type==="Literal")n=MFe(t);else if(t.type==="CallExpression")n=BFe(e,t);else if(t.type==="Identifier")n=NFe(t);else if(t.type==="UnaryExpression"){i=t.operator;let s=fi(e,t.argument);if(yFe.indexOf(i)>-1)n=new ht(lt.UNARY,i,s);else throw new de(`Unexpected operator "${i}".`)}else if(t.type==="BinaryExpression")if(i=t.operator,o=fi(e,t.left),r=fi(e,t.right),Jie.indexOf(i)>-1)n=new ht(lt.BINARY,i,o,r);else throw new de(`Unexpected operator "${i}".`);else if(t.type==="LogicalExpression")i=t.operator,o=fi(e,t.left),r=fi(e,t.right),Jie.indexOf(i)>-1&&(n=new ht(lt.BINARY,i,o,r));else if(t.type==="ConditionalExpression"){let s=fi(e,t.test);o=fi(e,t.consequent),r=fi(e,t.alternate),n=new ht(lt.CONDITIONAL,"?",o,r,s)}else if(t.type==="MemberExpression")n=kFe(e,t);else if(t.type==="ArrayExpression"){let s=[];for(let a=0;a<t.elements.length;a++)s[a]=fi(e,t.elements[a]);n=new ht(lt.ARRAY,s)}else throw t.type==="Compound"?new de("Provide exactly one expression."):new de("Cannot parse expression.");return n}function HFe(e){e._type===lt.CONDITIONAL?e.evaluate=e._evaluateConditional:e._type===lt.FUNCTION_CALL?e._value==="test"?e.evaluate=e._evaluateRegExpTest:e._value==="exec"?e.evaluate=e._evaluateRegExpExec:e._value==="toString"&&(e.evaluate=e._evaluateToString):e._type===lt.UNARY?e._value==="!"?e.evaluate=e._evaluateNot:e._value==="-"?e.evaluate=e._evaluateNegative:e._value==="+"?e.evaluate=e._evaluatePositive:e._value==="isNaN"?e.evaluate=e._evaluateNaN:e._value==="isFinite"?e.evaluate=e._evaluateIsFinite:e._value==="isExactClass"?e.evaluate=e._evaluateIsExactClass:e._value==="isClass"?e.evaluate=e._evaluateIsClass:e._value==="getExactClassName"?e.evaluate=e._evaluateGetExactClassName:e._value==="Boolean"?e.evaluate=e._evaluateBooleanConversion:e._value==="Number"?e.evaluate=e._evaluateNumberConversion:e._value==="String"?e.evaluate=e._evaluateStringConversion:l(PB[e._value])&&(e.evaluate=WFe(e._value)):e._type===lt.BINARY?e._value==="+"?e.evaluate=e._evaluatePlus:e._value==="-"?e.evaluate=e._evaluateMinus:e._value==="*"?e.evaluate=e._evaluateTimes:e._value==="/"?e.evaluate=e._evaluateDivide:e._value==="%"?e.evaluate=e._evaluateMod:e._value==="==="?e.evaluate=e._evaluateEqualsStrict:e._value==="!=="?e.evaluate=e._evaluateNotEqualsStrict:e._value==="<"?e.evaluate=e._evaluateLessThan:e._value==="<="?e.evaluate=e._evaluateLessThanOrEquals:e._value===">"?e.evaluate=e._evaluateGreaterThan:e._value===">="?e.evaluate=e._evaluateGreaterThanOrEquals:e._value==="&&"?e.evaluate=e._evaluateAnd:e._value==="||"?e.evaluate=e._evaluateOr:e._value==="=~"?e.evaluate=e._evaluateRegExpMatch:e._value==="!~"?e.evaluate=e._evaluateRegExpNotMatch:l(IB[e._value])&&(e.evaluate=jFe(e._value)):e._type===lt.TERNARY?e.evaluate=qFe(e._value):e._type===lt.MEMBER?e._value==="brackets"?e.evaluate=e._evaluateMemberBrackets:e.evaluate=e._evaluateMemberDot:e._type===lt.ARRAY?e.evaluate=e._evaluateArray:e._type===lt.VARIABLE?e.evaluate=e._evaluateVariable:e._type===lt.VARIABLE_IN_STRING?e.evaluate=e._evaluateVariableString:e._type===lt.LITERAL_COLOR?e.evaluate=e._evaluateLiteralColor:e._type===lt.LITERAL_VECTOR?e.evaluate=e._evaluateLiteralVector:e._type===lt.LITERAL_STRING?e.evaluate=e._evaluateLiteralString:e._type===lt.REGEX?e.evaluate=e._evaluateRegExp:e._type===lt.BUILTIN_VARIABLE?e._value==="tiles3d_tileset_time"&&(e.evaluate=GFe):e.evaluate=e._evaluateLiteral}function GFe(e){return l(e)?e.content.tileset.timeSinceLoad:0}function WFe(e){let t=PB[e];return function(n){let i=this._left.evaluate(n);return t(e,i)}}function jFe(e){let t=IB[e];return function(n){let i=this._left.evaluate(n),o=this._right.evaluate(n);return t(e,i,o)}}function qFe(e){let t=KG[e];return function(n){let i=this._left.evaluate(n),o=this._right.evaluate(n),r=this._test.evaluate(n);return t(e,i,o,r)}}function OB(e,t){if(l(e))return e.getPropertyInherited(t)}ht.prototype._evaluateLiteral=function(){return this._value};ht.prototype._evaluateLiteralColor=function(e){let t=DB,n=this._left;if(this._value==="color")l(n)?n.length>1?(U.fromCssColorString(n[0].evaluate(e),t),t.alpha=n[1].evaluate(e)):U.fromCssColorString(n[0].evaluate(e),t):U.fromBytes(255,255,255,255,t);else if(this._value==="rgb")U.fromBytes(n[0].evaluate(e),n[1].evaluate(e),n[2].evaluate(e),255,t);else if(this._value==="rgba"){let i=n[3].evaluate(e)*255;U.fromBytes(n[0].evaluate(e),n[1].evaluate(e),n[2].evaluate(e),i,t)}else this._value==="hsl"?U.fromHsl(n[0].evaluate(e),n[1].evaluate(e),n[2].evaluate(e),1,t):this._value==="hsla"&&U.fromHsl(n[0].evaluate(e),n[1].evaluate(e),n[2].evaluate(e),n[3].evaluate(e),t);return se.fromColor(t,En.getCartesian4())};ht.prototype._evaluateLiteralVector=function(e){let t=En.getArray(),n=this._value,i=this._left,o=i.length;for(let a=0;a<o;++a){let c=i[a].evaluate(e);if(typeof c=="number")t.push(c);else if(c instanceof G)t.push(c.x,c.y);else if(c instanceof h)t.push(c.x,c.y,c.z);else if(c instanceof se)t.push(c.x,c.y,c.z,c.w);else throw new de(`${n} argument must be a vector or number. Argument is ${c}.`)}let r=t.length,s=parseInt(n.charAt(3));if(r===0)throw new de(`Invalid ${n} constructor. No valid arguments.`);if(r<s&&r>1)throw new de(`Invalid ${n} constructor. Not enough arguments.`);if(r>s&&o>1)throw new de(`Invalid ${n} constructor. Too many arguments.`);if(r===1){let a=t[0];t.push(a,a,a)}if(n==="vec2")return G.fromArray(t,0,En.getCartesian2());if(n==="vec3")return h.fromArray(t,0,En.getCartesian3());if(n==="vec4")return se.fromArray(t,0,En.getCartesian4())};ht.prototype._evaluateLiteralString=function(){return this._value};ht.prototype._evaluateVariableString=function(e){let t=this._value,n=vB.exec(t);for(;n!==null;){let i=n[0],o=n[1],r=OB(e,o);l(r)||(r=""),t=t.replace(i,r),n=vB.exec(t)}return t};ht.prototype._evaluateVariable=function(e){return OB(e,this._value)};function Ty(e){return e._value==="feature"}ht.prototype._evaluateMemberDot=function(e){if(Ty(this._left))return OB(e,this._right.evaluate(e));let t=this._left.evaluate(e);if(!l(t))return;let n=this._right.evaluate(e);if(t instanceof G||t instanceof h||t instanceof se){if(n==="r")return t.x;if(n==="g")return t.y;if(n==="b")return t.z;if(n==="a")return t.w}return t[n]};ht.prototype._evaluateMemberBrackets=function(e){if(Ty(this._left))return OB(e,this._right.evaluate(e));let t=this._left.evaluate(e);if(!l(t))return;let n=this._right.evaluate(e);if(t instanceof G||t instanceof h||t instanceof se){if(n===0||n==="r")return t.x;if(n===1||n==="g")return t.y;if(n===2||n==="b")return t.z;if(n===3||n==="a")return t.w}return t[n]};ht.prototype._evaluateArray=function(e){let t=[];for(let n=0;n<this._value.length;n++)t[n]=this._value[n].evaluate(e);return t};ht.prototype._evaluateNot=function(e){let t=this._left.evaluate(e);if(typeof t!="boolean")throw new de(`Operator "!" requires a boolean argument. Argument is ${t}.`);return!t};ht.prototype._evaluateNegative=function(e){let t=this._left.evaluate(e);if(t instanceof G)return G.negate(t,En.getCartesian2());if(t instanceof h)return h.negate(t,En.getCartesian3());if(t instanceof se)return se.negate(t,En.getCartesian4());if(typeof t=="number")return-t;throw new de(`Operator "-" requires a vector or number argument. Argument is ${t}.`)};ht.prototype._evaluatePositive=function(e){let t=this._left.evaluate(e);if(!(t instanceof G||t instanceof h||t instanceof se||typeof t=="number"))throw new de(`Operator "+" requires a vector or number argument. Argument is ${t}.`);return t};ht.prototype._evaluateLessThan=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(typeof t!="number"||typeof n!="number")throw new de(`Operator "<" requires number arguments. Arguments are ${t} and ${n}.`);return t<n};ht.prototype._evaluateLessThanOrEquals=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(typeof t!="number"||typeof n!="number")throw new de(`Operator "<=" requires number arguments. Arguments are ${t} and ${n}.`);return t<=n};ht.prototype._evaluateGreaterThan=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(typeof t!="number"||typeof n!="number")throw new de(`Operator ">" requires number arguments. Arguments are ${t} and ${n}.`);return t>n};ht.prototype._evaluateGreaterThanOrEquals=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(typeof t!="number"||typeof n!="number")throw new de(`Operator ">=" requires number arguments. Arguments are ${t} and ${n}.`);return t>=n};ht.prototype._evaluateOr=function(e){let t=this._left.evaluate(e);if(typeof t!="boolean")throw new de(`Operator "||" requires boolean arguments. First argument is ${t}.`);if(t)return!0;let n=this._right.evaluate(e);if(typeof n!="boolean")throw new de(`Operator "||" requires boolean arguments. Second argument is ${n}.`);return t||n};ht.prototype._evaluateAnd=function(e){let t=this._left.evaluate(e);if(typeof t!="boolean")throw new de(`Operator "&&" requires boolean arguments. First argument is ${t}.`);if(!t)return!1;let n=this._right.evaluate(e);if(typeof n!="boolean")throw new de(`Operator "&&" requires boolean arguments. Second argument is ${n}.`);return t&&n};ht.prototype._evaluatePlus=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof G&&t instanceof G)return G.add(t,n,En.getCartesian2());if(n instanceof h&&t instanceof h)return h.add(t,n,En.getCartesian3());if(n instanceof se&&t instanceof se)return se.add(t,n,En.getCartesian4());if(typeof t=="string"||typeof n=="string")return t+n;if(typeof t=="number"&&typeof n=="number")return t+n;throw new de(`Operator "+" requires vector or number arguments of matching types, or at least one string argument. Arguments are ${t} and ${n}.`)};ht.prototype._evaluateMinus=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof G&&t instanceof G)return G.subtract(t,n,En.getCartesian2());if(n instanceof h&&t instanceof h)return h.subtract(t,n,En.getCartesian3());if(n instanceof se&&t instanceof se)return se.subtract(t,n,En.getCartesian4());if(typeof t=="number"&&typeof n=="number")return t-n;throw new de(`Operator "-" requires vector or number arguments of matching types. Arguments are ${t} and ${n}.`)};ht.prototype._evaluateTimes=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof G&&t instanceof G)return G.multiplyComponents(t,n,En.getCartesian2());if(n instanceof G&&typeof t=="number")return G.multiplyByScalar(n,t,En.getCartesian2());if(t instanceof G&&typeof n=="number")return G.multiplyByScalar(t,n,En.getCartesian2());if(n instanceof h&&t instanceof h)return h.multiplyComponents(t,n,En.getCartesian3());if(n instanceof h&&typeof t=="number")return h.multiplyByScalar(n,t,En.getCartesian3());if(t instanceof h&&typeof n=="number")return h.multiplyByScalar(t,n,En.getCartesian3());if(n instanceof se&&t instanceof se)return se.multiplyComponents(t,n,En.getCartesian4());if(n instanceof se&&typeof t=="number")return se.multiplyByScalar(n,t,En.getCartesian4());if(t instanceof se&&typeof n=="number")return se.multiplyByScalar(t,n,En.getCartesian4());if(typeof t=="number"&&typeof n=="number")return t*n;throw new de(`Operator "*" requires vector or number arguments. If both arguments are vectors they must be matching types. Arguments are ${t} and ${n}.`)};ht.prototype._evaluateDivide=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof G&&t instanceof G)return G.divideComponents(t,n,En.getCartesian2());if(t instanceof G&&typeof n=="number")return G.divideByScalar(t,n,En.getCartesian2());if(n instanceof h&&t instanceof h)return h.divideComponents(t,n,En.getCartesian3());if(t instanceof h&&typeof n=="number")return h.divideByScalar(t,n,En.getCartesian3());if(n instanceof se&&t instanceof se)return se.divideComponents(t,n,En.getCartesian4());if(t instanceof se&&typeof n=="number")return se.divideByScalar(t,n,En.getCartesian4());if(typeof t=="number"&&typeof n=="number")return t/n;throw new de(`Operator "/" requires vector or number arguments of matching types, or a number as the second argument. Arguments are ${t} and ${n}.`)};ht.prototype._evaluateMod=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof G&&t instanceof G)return G.fromElements(t.x%n.x,t.y%n.y,En.getCartesian2());if(n instanceof h&&t instanceof h)return h.fromElements(t.x%n.x,t.y%n.y,t.z%n.z,En.getCartesian3());if(n instanceof se&&t instanceof se)return se.fromElements(t.x%n.x,t.y%n.y,t.z%n.z,t.w%n.w,En.getCartesian4());if(typeof t=="number"&&typeof n=="number")return t%n;throw new de(`Operator "%" requires vector or number arguments of matching types. Arguments are ${t} and ${n}.`)};ht.prototype._evaluateEqualsStrict=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);return n instanceof G&&t instanceof G||n instanceof h&&t instanceof h||n instanceof se&&t instanceof se?t.equals(n):t===n};ht.prototype._evaluateNotEqualsStrict=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);return n instanceof G&&t instanceof G||n instanceof h&&t instanceof h||n instanceof se&&t instanceof se?!t.equals(n):t!==n};ht.prototype._evaluateConditional=function(e){let t=this._test.evaluate(e);if(typeof t!="boolean")throw new de(`Conditional argument of conditional expression must be a boolean. Argument is ${t}.`);return t?this._left.evaluate(e):this._right.evaluate(e)};ht.prototype._evaluateNaN=function(e){return isNaN(this._left.evaluate(e))};ht.prototype._evaluateIsFinite=function(e){return isFinite(this._left.evaluate(e))};ht.prototype._evaluateIsExactClass=function(e){return l(e)?e.isExactClass(this._left.evaluate(e)):!1};ht.prototype._evaluateIsClass=function(e){return l(e)?e.isClass(this._left.evaluate(e)):!1};ht.prototype._evaluateGetExactClassName=function(e){if(l(e))return e.getExactClassName()};ht.prototype._evaluateBooleanConversion=function(e){return Boolean(this._left.evaluate(e))};ht.prototype._evaluateNumberConversion=function(e){return Number(this._left.evaluate(e))};ht.prototype._evaluateStringConversion=function(e){return String(this._left.evaluate(e))};ht.prototype._evaluateRegExp=function(e){let t=this._value.evaluate(e),n="";l(this._left)&&(n=this._left.evaluate(e));let i;try{i=new RegExp(t,n)}catch(o){throw new de(o)}return i};ht.prototype._evaluateRegExpTest=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(!(t instanceof RegExp&&typeof n=="string"))throw new de(`RegExp.test requires the first argument to be a RegExp and the second argument to be a string. Arguments are ${t} and ${n}.`);return t.test(n)};ht.prototype._evaluateRegExpMatch=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(t instanceof RegExp&&typeof n=="string")return t.test(n);if(n instanceof RegExp&&typeof t=="string")return n.test(t);throw new de(`Operator "=~" requires one RegExp argument and one string argument. Arguments are ${t} and ${n}.`)};ht.prototype._evaluateRegExpNotMatch=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(t instanceof RegExp&&typeof n=="string")return!t.test(n);if(n instanceof RegExp&&typeof t=="string")return!n.test(t);throw new de(`Operator "!~" requires one RegExp argument and one string argument. Arguments are ${t} and ${n}.`)};ht.prototype._evaluateRegExpExec=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(!(t instanceof RegExp&&typeof n=="string"))throw new de(`RegExp.exec requires the first argument to be a RegExp and the second argument to be a string. Arguments are ${t} and ${n}.`);let i=t.exec(n);return l(i)?i[1]:null};ht.prototype._evaluateToString=function(e){let t=this._left.evaluate(e);if(t instanceof RegExp||t instanceof G||t instanceof h||t instanceof se)return String(t);throw new de(`Unexpected function call "${this._value}".`)};function eoe(e){let t=e._left,n=t.length;for(let a=0;a<n;++a)if(t[a]._type!==lt.LITERAL_NUMBER)return;let i=t[0]._value,o=t[1]._value,r=t[2]._value,s=n===4?t[3]._value:1;return U.fromHsl(i,o,r,s,DB)}function toe(e){let t=e._left,n=t.length;for(let o=0;o<n;++o)if(t[o]._type!==lt.LITERAL_NUMBER)return;let i=DB;return i.red=t[0]._value/255,i.green=t[1]._value/255,i.blue=t[2]._value/255,i.alpha=n===4?t[3]._value:1,i}function L_(e){return e%1===0?e.toFixed(1):e.toString()}function YFe(e){let t=L_(e.red),n=L_(e.green),i=L_(e.blue);return`vec3(${t}, ${n}, ${i})`}function SB(e){let t=L_(e.red),n=L_(e.green),i=L_(e.blue),o=L_(e.alpha);return`vec4(${t}, ${n}, ${i}, ${o})`}function noe(e,t,n,i){let o=e.length,r=new Array(o);for(let s=0;s<o;++s)r[s]=e[s].getShaderExpression(t,n,i);return r}function ioe(e,t){return l(t[e])?t[e]:Sf.NULL_SENTINEL}Sf.NULL_SENTINEL="czm_infinity";ht.prototype.getShaderExpression=function(e,t,n){let i,o,r,s,a=this._type,c=this._value;l(this._left)&&(Array.isArray(this._left)?o=noe(this._left,e,t,this):o=this._left.getShaderExpression(e,t,this)),l(this._right)&&(r=this._right.getShaderExpression(e,t,this)),l(this._test)&&(s=this._test.getShaderExpression(e,t,this)),Array.isArray(this._value)&&(c=noe(this._value,e,t,this));let u,f,d;switch(a){case lt.VARIABLE:return Ty(this)?void 0:ioe(c,e);case lt.UNARY:if(c==="Boolean")return`bool(${o})`;if(c==="Number")return`float(${o})`;if(c==="round")return`floor(${o} + 0.5)`;if(l(PB[c]))return`${c}(${o})`;if(c==="isNaN")return`(${o} != ${o})`;if(c==="isFinite")return`(abs(${o}) < czm_infinity)`;if(c==="String"||c==="isExactClass"||c==="isClass"||c==="getExactClassName")throw new de(`Error generating style shader: "${c}" is not supported.`);return c+o;case lt.BINARY:return c==="%"?`mod(${o}, ${r})`:c==="==="?`(${o} == ${r})`:c==="!=="?`(${o} != ${r})`:c==="atan2"?`atan(${o}, ${r})`:l(IB[c])?`${c}(${o}, ${r})`:`(${o} ${c} ${r})`;case lt.TERNARY:if(l(KG[c]))return`${c}(${o}, ${r}, ${s})`;break;case lt.CONDITIONAL:return`(${s} ? ${o} : ${r})`;case lt.MEMBER:return Ty(this._left)?ioe(r,e):r==="r"||r==="x"||r==="0.0"?`${o}[0]`:r==="g"||r==="y"||r==="1.0"?`${o}[1]`:r==="b"||r==="z"||r==="2.0"?`${o}[2]`:r==="a"||r==="w"||r==="3.0"?`${o}[3]`:`${o}[int(${r})]`;case lt.FUNCTION_CALL:throw new de(`Error generating style shader: "${c}" is not supported.`);case lt.ARRAY:if(c.length===4)return`vec4(${c[0]}, ${c[1]}, ${c[2]}, ${c[3]})`;if(c.length===3)return`vec3(${c[0]}, ${c[1]}, ${c[2]})`;if(c.length===2)return`vec2(${c[0]}, ${c[1]})`;throw new de("Error generating style shader: Invalid array length. Array length should be 2, 3, or 4.");case lt.REGEX:throw new de("Error generating style shader: Regular expressions are not supported.");case lt.VARIABLE_IN_STRING:throw new de("Error generating style shader: Converting a variable to a string is not supported.");case lt.LITERAL_NULL:return Sf.NULL_SENTINEL;case lt.LITERAL_BOOLEAN:return c?"true":"false";case lt.LITERAL_NUMBER:return L_(c);case lt.LITERAL_STRING:if(l(n)&&n._type===lt.MEMBER&&(c==="r"||c==="g"||c==="b"||c==="a"||c==="x"||c==="y"||c==="z"||c==="w"||Ty(n._left)))return c;if(i=U.fromCssColorString(c,DB),l(i))return YFe(i);throw new de("Error generating style shader: String literals are not supported.");case lt.LITERAL_COLOR:if(u=o,c==="color"){if(l(u)){if(u.length>1){let p=u[0],g=u[1];return g!=="1.0"&&(t.translucent=!0),`vec4(${p}, ${g})`}}else return"vec4(1.0)";return`vec4(${u[0]}, 1.0)`}else{if(c==="rgb")return i=toe(this),l(i)?SB(i):`vec4(${u[0]} / 255.0, ${u[1]} / 255.0, ${u[2]} / 255.0, 1.0)`;if(c==="rgba")return u[3]!=="1.0"&&(t.translucent=!0),i=toe(this),l(i)?SB(i):`vec4(${u[0]} / 255.0, ${u[1]} / 255.0, ${u[2]} / 255.0, ${u[3]})`;if(c==="hsl")return i=eoe(this),l(i)?SB(i):`vec4(czm_HSLToRGB(vec3(${u[0]}, ${u[1]}, ${u[2]})), 1.0)`;if(c==="hsla")return i=eoe(this),l(i)?(i.alpha!==1&&(t.translucent=!0),SB(i)):(u[3]!=="1.0"&&(t.translucent=!0),`vec4(czm_HSLToRGB(vec3(${u[0]}, ${u[1]}, ${u[2]})), ${u[3]})`)}break;case lt.LITERAL_VECTOR:f=o.length,d=`${c}(`;for(let p=0;p<f;++p)d+=o[p],p<f-1&&(d+=", ");return d+=")",d;case lt.LITERAL_REGEX:throw new de("Error generating style shader: Regular expressions are not supported.");case lt.LITERAL_UNDEFINED:return Sf.NULL_SENTINEL;case lt.BUILTIN_VARIABLE:if(c==="tiles3d_tileset_time")return c}};ht.prototype.getVariables=function(e,t){let n,i,o,r=this._type,s=this._value;if(l(this._left))if(Array.isArray(this._left))for(n=this._left,i=n.length,o=0;o<i;++o)n[o].getVariables(e,this);else this._left.getVariables(e,this);if(l(this._right)&&this._right.getVariables(e,this),l(this._test)&&this._test.getVariables(e,this),Array.isArray(this._value))for(n=this._value,i=n.length,o=0;o<i;++o)n[o].getVariables(e,this);let a;switch(r){case lt.VARIABLE:Ty(this)||e.push(s);break;case lt.VARIABLE_IN_STRING:for(a=vB.exec(s);a!==null;)e.push(a[1]),a=vB.exec(s);break;case lt.LITERAL_STRING:l(t)&&t._type===lt.MEMBER&&Ty(t._left)&&e.push(s);break}};var wf=Sf;function Rm(e){e=y(e,y.EMPTY_OBJECT),this._batchTable=e.batchTable,this._batchIds=e.batchIds,this._positions=e.positions,this._vertexBatchIds=e.vertexBatchIds,this._indices=e.indices,this._indexCounts=e.indexCounts,this._indexOffsets=e.indexOffsets,this._batchedIndices=e.batchedIndices,this._boundingVolume=e.boundingVolume,this._boundingVolumes=e.boundingVolumes,this._center=y(e.center,h.ZERO),this._va=void 0,this._sp=void 0,this._spStencil=void 0,this._spPick=void 0,this._uniformMap=void 0,this._vaSwap=void 0,this._rsStencilDepthPass=void 0,this._rsStencilDepthPass3DTiles=void 0,this._rsColorPass=void 0,this._rsPickPass=void 0,this._rsWireframe=void 0,this._commands=[],this._commandsIgnoreShow=[],this._pickCommands=[],this._constantColor=U.clone(U.WHITE),this._highlightColor=this._constantColor,this._batchDirty=!0,this._pickCommandsDirty=!0,this._framesSinceLastRebatch=0,this._updatingAllCommands=!1,this._trianglesLength=this._indices.length/3,this._geometryByteLength=this._indices.byteLength+this._positions.byteLength+this._vertexBatchIds.byteLength,this.debugWireframe=!1,this._debugWireframe=this.debugWireframe,this._wireframeDirty=!1,this.forceRebatch=!1,this.classificationType=y(e.classificationType,Ln.BOTH),this._vertexShaderSource=e._vertexShaderSource,this._fragmentShaderSource=e._fragmentShaderSource,this._attributeLocations=e._attributeLocations,this._uniformMap=e._uniformMap,this._pickId=e._pickId,this._modelMatrix=e._modelMatrix,this._boundingSphere=e._boundingSphere,this._batchIdLookUp={};let t=this._batchIds.length;for(let n=0;n<t;++n){let i=this._batchIds[n];this._batchIdLookUp[i]=n}}Object.defineProperties(Rm.prototype,{trianglesLength:{get:function(){return this._trianglesLength}},geometryByteLength:{get:function(){return this._geometryByteLength}}});var XFe={position:0,a_batchId:1};function KFe(e,t){if(l(e._va))return;let n=ct.createVertexBuffer({context:t,typedArray:e._positions,usage:Le.STATIC_DRAW}),i=ct.createVertexBuffer({context:t,typedArray:e._vertexBatchIds,usage:Le.STATIC_DRAW}),o=ct.createIndexBuffer({context:t,typedArray:e._indices,usage:Le.DYNAMIC_DRAW,indexDatatype:e._indices.BYTES_PER_ELEMENT===2?Be.UNSIGNED_SHORT:Be.UNSIGNED_INT}),r=[{index:0,vertexBuffer:n,componentDatatype:Z.fromTypedArray(e._positions),componentsPerAttribute:3},{index:1,vertexBuffer:i,componentDatatype:Z.fromTypedArray(e._vertexBatchIds),componentsPerAttribute:1}];e._va=new ti({context:t,attributes:r,indexBuffer:o}),t.webgl2&&(e._vaSwap=new ti({context:t,attributes:r,indexBuffer:ct.createIndexBuffer({context:t,sizeInBytes:o.sizeInBytes,usage:Le.DYNAMIC_DRAW,indexDatatype:o.indexDatatype})})),e._batchedPositions=void 0,e._transferrableBatchIds=void 0,e._vertexBatchIds=void 0,e._verticesPromise=void 0}function ZFe(e,t){if(l(e._sp))return;let n=e._batchTable,i=y(e._attributeLocations,XFe),o=e._pickId,r=e._vertexShaderSource,s=e._fragmentShaderSource;if(l(r)){e._sp=Yt.fromCache({context:t,vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:i}),e._spStencil=e._sp,s=ke.replaceMain(s,"czm_non_pick_main"),s=`${s}void main()
  3320. {
  3321. czm_non_pick_main();
  3322. gl_FragColor = ${o};
  3323. }
  3324. `,e._spPick=Yt.fromCache({context:t,vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:i});return}let a=n.getVertexShaderCallback(!1,"a_batchId",void 0)(qS),c=n.getFragmentShaderCallback(!1,void 0,!0)(my);o=n.getPickId();let u=new ke({sources:[a]}),f=new ke({defines:["VECTOR_TILE"],sources:[c]});e._sp=Yt.fromCache({context:t,vertexShaderSource:u,fragmentShaderSource:f,attributeLocations:i}),u=new ke({sources:[qS]}),f=new ke({defines:["VECTOR_TILE"],sources:[my]}),e._spStencil=Yt.fromCache({context:t,vertexShaderSource:u,fragmentShaderSource:f,attributeLocations:i}),c=ke.replaceMain(c,"czm_non_pick_main"),c=`${c}
  3325. void main()
  3326. {
  3327. czm_non_pick_main();
  3328. gl_FragColor = ${o};
  3329. }
  3330. `;let d=new ke({sources:[a]}),p=new ke({defines:["VECTOR_TILE"],sources:[c]});e._spPick=Yt.fromCache({context:t,vertexShaderSource:d,fragmentShaderSource:p,attributeLocations:i})}function ooe(e){let t=e?Nn.EQUAL:Nn.ALWAYS;return{colorMask:{red:!1,green:!1,blue:!1,alpha:!1},stencilTest:{enabled:!0,frontFunction:t,frontOperation:{fail:at.KEEP,zFail:at.DECREMENT_WRAP,zPass:at.KEEP},backFunction:t,backOperation:{fail:at.KEEP,zFail:at.INCREMENT_WRAP,zPass:at.KEEP},reference:vt.CESIUM_3D_TILE_MASK,mask:vt.CESIUM_3D_TILE_MASK},stencilMask:vt.CLASSIFICATION_MASK,depthTest:{enabled:!0,func:ac.LESS_OR_EQUAL},depthMask:!1}}var $Fe={stencilTest:{enabled:!0,frontFunction:Nn.NOT_EQUAL,frontOperation:{fail:at.ZERO,zFail:at.ZERO,zPass:at.ZERO},backFunction:Nn.NOT_EQUAL,backOperation:{fail:at.ZERO,zFail:at.ZERO,zPass:at.ZERO},reference:0,mask:vt.CLASSIFICATION_MASK},stencilMask:vt.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1,blending:cn.PRE_MULTIPLIED_ALPHA_BLEND},JFe={stencilTest:{enabled:!0,frontFunction:Nn.NOT_EQUAL,frontOperation:{fail:at.ZERO,zFail:at.ZERO,zPass:at.ZERO},backFunction:Nn.NOT_EQUAL,backOperation:{fail:at.ZERO,zFail:at.ZERO,zPass:at.ZERO},reference:0,mask:vt.CLASSIFICATION_MASK},stencilMask:vt.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1};function QFe(e){l(e._rsStencilDepthPass)||(e._rsStencilDepthPass=Fe.fromCache(ooe(!1)),e._rsStencilDepthPass3DTiles=Fe.fromCache(ooe(!0)),e._rsColorPass=Fe.fromCache($Fe),e._rsPickPass=Fe.fromCache(JFe))}var Ey=new N,roe=new h;function e2e(e,t){if(l(e._uniformMap))return;let n={u_modifiedModelViewProjection:function(){let i=t.uniformState.view,o=t.uniformState.projection;return N.clone(i,Ey),N.multiplyByPoint(Ey,e._center,roe),N.setTranslation(Ey,roe,Ey),N.multiply(o,Ey,Ey),Ey},u_highlightColor:function(){return e._highlightColor}};e._uniformMap=e._batchTable.getUniformMapCallback()(n)}function ZG(e,t,n,i,o,r,s){let a=e.constructor.BYTES_PER_ELEMENT,c=r.length;for(let u=0;u<c;++u){let f=r[u],d=s[f],p=i[d],g=o[d],m=new e.constructor(e.buffer,a*p,g);t.set(m,n),i[d]=n,n+=g}return n}function t2e(e,t){let n=e._indices,i=e._indexOffsets,o=e._indexCounts,r=e._batchIdLookUp,s=new n.constructor(n.length),a=t.pop(),c=[a],u=ZG(n,s,0,i,o,a.batchIds,r);for(a.offset=0,a.count=u;t.length>0;){let f=t.pop();if(U.equals(f.color,a.color))u=ZG(n,s,u,i,o,f.batchIds,r),a.batchIds=a.batchIds.concat(f.batchIds),a.count=u-a.offset;else{let d=u;u=ZG(n,s,u,i,o,f.batchIds,r),f.offset=d,f.count=u-d,c.push(f),a=f}}e._va.indexBuffer.copyFromArrayView(s),e._indices=s,e._batchedIndices=c}function $G(e,t,n,i,o,r,s){let a=e.bytesPerIndex,c=r.length;for(let u=0;u<c;++u){let f=r[u],d=s[f],p=i[d],g=o[d];t.copyFromBuffer(e,p*a,n*a,g*a),i[d]=n,n+=g}return n}function n2e(e,t){let n=e._indexOffsets,i=e._indexCounts,o=e._batchIdLookUp,r=t.pop(),s=[r],a=e._va.indexBuffer,c=e._vaSwap.indexBuffer,u=$G(a,c,0,n,i,r.batchIds,o);for(r.offset=0,r.count=u;t.length>0;){let d=t.pop();if(U.equals(d.color,r.color))u=$G(a,c,u,n,i,d.batchIds,o),r.batchIds=r.batchIds.concat(d.batchIds),r.count=u-r.offset;else{let p=u;u=$G(a,c,u,n,i,d.batchIds,o),d.offset=p,d.count=u-p,s.push(d),r=d}}let f=e._va;e._va=e._vaSwap,e._vaSwap=f,e._batchedIndices=s}function i2e(e,t){return t.color.toRgba()-e.color.toRgba()}function o2e(e,t){if(!e._batchDirty)return!1;let n=e._batchedIndices,i=n.length,o=!1,r={};for(let s=0;s<i;++s){let c=n[s].color.toRgba();if(l(r[c])){o=!0;break}else r[c]=!0}if(!o)return e._batchDirty=!1,!1;if(o&&!e.forceRebatch&&e._framesSinceLastRebatch<120){++e._framesSinceLastRebatch;return}return n.sort(i2e),t.webgl2?n2e(e,n):t2e(e,n),e._framesSinceLastRebatch=0,e._batchDirty=!1,e._pickCommandsDirty=!0,e._wireframeDirty=!0,!0}function r2e(e,t){let n=o2e(e,t),i=e._commands,o=e._batchedIndices,r=o.length,s=r*2;if(l(i)&&!n&&i.length===s)return;i.length=s;let a=e._va,c=e._sp,u=y(e._modelMatrix,N.IDENTITY),f=e._uniformMap,d=e._boundingVolume;for(let p=0;p<r;++p){let g=o[p].offset,m=o[p].count,C=i[p*2];l(C)||(C=i[p*2]=new Je({owner:e})),C.vertexArray=a,C.modelMatrix=u,C.offset=g,C.count=m,C.renderState=e._rsStencilDepthPass,C.shaderProgram=c,C.uniformMap=f,C.boundingVolume=d,C.cull=!1,C.pass=xe.TERRAIN_CLASSIFICATION;let x=Je.shallowClone(C,C.derivedCommands.tileset);x.renderState=e._rsStencilDepthPass3DTiles,x.pass=xe.CESIUM_3D_TILE_CLASSIFICATION,C.derivedCommands.tileset=x;let A=i[p*2+1];l(A)||(A=i[p*2+1]=new Je({owner:e})),A.vertexArray=a,A.modelMatrix=u,A.offset=g,A.count=m,A.renderState=e._rsColorPass,A.shaderProgram=c,A.uniformMap=f,A.boundingVolume=d,A.cull=!1,A.pass=xe.TERRAIN_CLASSIFICATION;let b=Je.shallowClone(A,A.derivedCommands.tileset);b.pass=xe.CESIUM_3D_TILE_CLASSIFICATION,A.derivedCommands.tileset=b}e._commandsDirty=!0}function s2e(e,t){if(e.classificationType===Ln.TERRAIN||!t.invertClassification||l(e._commandsIgnoreShow)&&!e._commandsDirty)return;let n=e._commands,i=e._commandsIgnoreShow,o=e._spStencil,r=n.length,s=i.length=r/2,a=0;for(let c=0;c<s;++c){let u=i[c]=Je.shallowClone(n[a],i[c]);u.shaderProgram=o,u.pass=xe.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW,a+=2}e._commandsDirty=!1}function a2e(e){if(!e._pickCommandsDirty)return;let t=e._indexOffsets.length,n=e._pickCommands;n.length=t*2;let i=e._va,o=e._spStencil,r=e._spPick,s=y(e._modelMatrix,N.IDENTITY),a=e._uniformMap;for(let c=0;c<t;++c){let u=e._indexOffsets[c],f=e._indexCounts[c],d=l(e._boundingVolumes)?e._boundingVolumes[c]:e.boundingVolume,p=n[c*2];l(p)||(p=n[c*2]=new Je({owner:e,pickOnly:!0})),p.vertexArray=i,p.modelMatrix=s,p.offset=u,p.count=f,p.renderState=e._rsStencilDepthPass,p.shaderProgram=o,p.uniformMap=a,p.boundingVolume=d,p.pass=xe.TERRAIN_CLASSIFICATION;let g=Je.shallowClone(p,p.derivedCommands.tileset);g.renderState=e._rsStencilDepthPass3DTiles,g.pass=xe.CESIUM_3D_TILE_CLASSIFICATION,p.derivedCommands.tileset=g;let m=n[c*2+1];l(m)||(m=n[c*2+1]=new Je({owner:e,pickOnly:!0})),m.vertexArray=i,m.modelMatrix=s,m.offset=u,m.count=f,m.renderState=e._rsPickPass,m.shaderProgram=r,m.uniformMap=a,m.boundingVolume=d,m.pass=xe.TERRAIN_CLASSIFICATION;let C=Je.shallowClone(m,m.derivedCommands.tileset);C.pass=xe.CESIUM_3D_TILE_CLASSIFICATION,m.derivedCommands.tileset=C}e._pickCommandsDirty=!1}Rm.prototype.createFeatures=function(e,t){let n=this._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o];t[r]=new bs(e,r)}};Rm.prototype.applyDebugSettings=function(e,t){this._highlightColor=e?t:this._constantColor};function c2e(e,t){e._updatingAllCommands=!0;let n=e._batchIds,i=n.length,o;for(o=0;o<i;++o){let s=n[o],a=t[s];a.show=!0,a.color=U.WHITE}let r=e._batchedIndices;for(i=r.length,o=0;o<i;++o)r[o].color=U.clone(U.WHITE);e._updatingAllCommands=!1,e._batchDirty=!0}var l2e=new U,u2e=U.WHITE,f2e=!0,d2e=/\$/;Rm.prototype.applyStyle=function(e,t){if(!l(e)){c2e(this,t);return}let n=e.color,i=n instanceof wf&&!d2e.test(n.expression);this._updatingAllCommands=i;let o=this._batchIds,r=o.length,s;for(s=0;s<r;++s){let a=o[s],c=t[a];c.color=l(e.color)?e.color.evaluateColor(c,l2e):u2e,c.show=l(e.show)?e.show.evaluate(c):f2e}if(i){let a=this._batchedIndices;for(r=a.length,s=0;s<r;++s)a[s].color=U.clone(U.WHITE);this._updatingAllCommands=!1,this._batchDirty=!0}};Rm.prototype.updateCommands=function(e,t){if(this._updatingAllCommands)return;let n=this._batchIdLookUp,i=n[e];if(!l(i))return;let o=this._indexOffsets,r=this._indexCounts,s=o[i],a=r[i],c=this._batchedIndices,u=c.length,f;for(f=0;f<u;++f){let C=c[f].offset,x=c[f].count;if(s>=C&&s<C+x)break}c.push(new Om({color:U.clone(t),offset:s,count:a,batchIds:[e]}));let d=[],p=[],g=c[f].batchIds,m=g.length;for(let C=0;C<m;++C){let x=g[C];if(x===e)continue;let A=n[x];o[A]<s?d.push(x):p.push(x)}p.length!==0&&c.push(new Om({color:U.clone(c[f].color),offset:s+a,count:c[f].offset+c[f].count-(s+a),batchIds:p})),d.length!==0?(c[f].count=s-c[f].offset,c[f].batchIds=d):c.splice(f,1),this._batchDirty=!0};function soe(e,t,n,i){let o=e.classificationType,r=o!==Ln.CESIUM_3D_TILE,s=o!==Ln.TERRAIN,a=t.commandList,c=n.length,u,f;for(f=0;f<c;++f)r&&(u=n[f],u.pass=xe.TERRAIN_CLASSIFICATION,a.push(u)),s&&(u=n[f].derivedCommands.tileset,u.pass=xe.CESIUM_3D_TILE_CLASSIFICATION,a.push(u));if(!(!t.invertClassification||!l(i)))for(c=i.length,f=0;f<c;++f)a.push(i[f])}function h2e(e,t){let n=e.commandList,i=t.length;for(let o=0;o<i;o+=2){let r=t[o+1];r.pass=xe.OPAQUE,n.push(r)}}function m2e(e){let t=e.debugWireframe===e._debugWireframe;if(t=t&&!(e.debugWireframe&&e._wireframeDirty),t)return;l(e._rsWireframe)||(e._rsWireframe=Fe.fromCache({}));let n,i;e.debugWireframe?(n=e._rsWireframe,i=Ne.LINES):(n=e._rsColorPass,i=Ne.TRIANGLES);let o=e._commands,r=o.length;for(let s=0;s<r;s+=2){let a=o[s+1];a.renderState=n,a.primitiveType=i}e._debugWireframe=e.debugWireframe,e._wireframeDirty=!1}Rm.prototype.update=function(e){let t=e.context;KFe(this,t),ZFe(this,t),QFe(this),e2e(this,t);let n=e.passes;n.render&&(r2e(this,t),s2e(this,e),m2e(this),this._debugWireframe?h2e(e,this._commands):soe(this,e,this._commands,this._commandsIgnoreShow)),n.pick&&(a2e(this),soe(this,e,this._pickCommands))};Rm.prototype.isDestroyed=function(){return!1};Rm.prototype.destroy=function(){return this._va=this._va&&this._va.destroy(),this._sp=this._sp&&this._sp.destroy(),this._spPick=this._spPick&&this._spPick.destroy(),this._vaSwap=this._vaSwap&&this._vaSwap.destroy(),fe(this)};var qA=Rm;function vl(e){this._boxes=e.boxes,this._boxBatchIds=e.boxBatchIds,this._cylinders=e.cylinders,this._cylinderBatchIds=e.cylinderBatchIds,this._ellipsoids=e.ellipsoids,this._ellipsoidBatchIds=e.ellipsoidBatchIds,this._spheres=e.spheres,this._sphereBatchIds=e.sphereBatchIds,this._modelMatrix=e.modelMatrix,this._batchTable=e.batchTable,this._boundingVolume=e.boundingVolume,this._center=e.center,l(this._center)||(l(this._boundingVolume)?this._center=h.clone(this._boundingVolume.center):this._center=h.clone(h.ZERO)),this._boundingVolumes=void 0,this._batchedIndices=void 0,this._indices=void 0,this._indexOffsets=void 0,this._indexCounts=void 0,this._positions=void 0,this._vertexBatchIds=void 0,this._batchIds=void 0,this._batchTableColors=void 0,this._packedBuffer=void 0,this._ready=!1,this._update=function(t,n){},this._readyPromise=A2e(this),this._verticesPromise=void 0,this._primitive=void 0,this.debugWireframe=!1,this.forceRebatch=!1,this.classificationType=Ln.BOTH}Object.defineProperties(vl.prototype,{trianglesLength:{get:function(){return l(this._primitive)?this._primitive.trianglesLength:0}},geometryByteLength:{get:function(){return l(this._primitive)?this._primitive.geometryByteLength:0}},readyPromise:{get:function(){return this._readyPromise}}});vl.packedBoxLength=N.packedLength+h.packedLength;vl.packedCylinderLength=N.packedLength+2;vl.packedEllipsoidLength=N.packedLength+h.packedLength;vl.packedSphereLength=h.packedLength+1;function p2e(e){let t=new Float64Array(N.packedLength+h.packedLength),n=0;return h.pack(e._center,t,n),n+=h.packedLength,N.pack(e._modelMatrix,t,n),t}function _2e(e,t){let n=0,i=t[n++],o=t[n++],r=e._boundingVolumes=new Array(o);for(let c=0;c<o;++c)r[c]=re.unpack(t,n),n+=re.packedLength;let s=t[n++],a=e._batchedIndices=new Array(s);for(let c=0;c<s;++c){let u=U.unpack(t,n);n+=U.packedLength;let f=t[n++],d=t[n++],p=t[n++],g=new Array(p);for(let m=0;m<p;++m)g[m]=t[n++];a[c]=new Om({color:u,offset:f,count:d,batchIds:g})}return i}var g2e=new Ti("createVectorTileGeometries",5),y2e=new U;function C2e(e){if(!l(e._primitive)&&!l(e._verticesPromise)){let t=e._boxes,n=e._boxBatchIds,i=e._cylinders,o=e._cylinderBatchIds,r=e._ellipsoids,s=e._ellipsoidBatchIds,a=e._spheres,c=e._sphereBatchIds,u=e._batchTableColors,f=e._packedBuffer;if(!l(u)){let m=0;l(e._boxes)&&(t=e._boxes=t.slice(),n=e._boxBatchIds=n.slice(),m+=n.length),l(e._cylinders)&&(i=e._cylinders=i.slice(),o=e._cylinderBatchIds=o.slice(),m+=o.length),l(e._ellipsoids)&&(r=e._ellipsoids=r.slice(),s=e._ellipsoidBatchIds=s.slice(),m+=s.length),l(e._spheres)&&(a=e._sphere=a.slice(),c=e._sphereBatchIds=c.slice(),m+=c.length),u=e._batchTableColors=new Uint32Array(m);let C=e._batchTable;for(let x=0;x<m;++x){let A=C.getColor(x,y2e);u[x]=A.toRgba()}f=e._packedBuffer=p2e(e)}let d=[];l(t)&&d.push(t.buffer,n.buffer),l(i)&&d.push(i.buffer,o.buffer),l(r)&&d.push(r.buffer,s.buffer),l(a)&&d.push(a.buffer,c.buffer),d.push(u.buffer,f.buffer);let p={boxes:l(t)?t.buffer:void 0,boxBatchIds:l(t)?n.buffer:void 0,cylinders:l(i)?i.buffer:void 0,cylinderBatchIds:l(i)?o.buffer:void 0,ellipsoids:l(r)?r.buffer:void 0,ellipsoidBatchIds:l(r)?s.buffer:void 0,spheres:l(a)?a.buffer:void 0,sphereBatchIds:l(a)?c.buffer:void 0,batchTableColors:u.buffer,packedBuffer:f.buffer},g=e._verticesPromise=g2e.scheduleTask(p,d);return l(g)?g.then(function(m){let C=new Float64Array(m.packedBuffer);_2e(e,C)===2?e._indices=new Uint16Array(m.indices):e._indices=new Uint32Array(m.indices),e._indexOffsets=new Uint32Array(m.indexOffsets),e._indexCounts=new Uint32Array(m.indexCounts),e._positions=new Float32Array(m.positions),e._vertexBatchIds=new Uint16Array(m.vertexBatchIds),e._batchIds=new Uint16Array(m.batchIds),e._ready=!0}):void 0}}function x2e(e){e._ready&&!l(e._primitive)&&(e._primitive=new qA({batchTable:e._batchTable,positions:e._positions,batchIds:e._batchIds,vertexBatchIds:e._vertexBatchIds,indices:e._indices,indexOffsets:e._indexOffsets,indexCounts:e._indexCounts,batchedIndices:e._batchedIndices,boundingVolume:e._boundingVolume,boundingVolumes:e._boundingVolumes,center:e._center,pickObject:y(e._pickObject,e)}),e._boxes=void 0,e._boxBatchIds=void 0,e._cylinders=void 0,e._cylinderBatchIds=void 0,e._ellipsoids=void 0,e._ellipsoidBatchIds=void 0,e._spheres=void 0,e._sphereBatchIds=void 0,e._center=void 0,e._modelMatrix=void 0,e._batchTable=void 0,e._boundingVolume=void 0,e._boundingVolumes=void 0,e._batchedIndices=void 0,e._indices=void 0,e._indexOffsets=void 0,e._indexCounts=void 0,e._positions=void 0,e._vertexBatchIds=void 0,e._batchIds=void 0,e._batchTableColors=void 0,e._packedBuffer=void 0,e._verticesPromise=void 0)}vl.prototype.createFeatures=function(e,t){this._primitive.createFeatures(e,t)};vl.prototype.applyDebugSettings=function(e,t){this._primitive.applyDebugSettings(e,t)};vl.prototype.applyStyle=function(e,t){this._primitive.applyStyle(e,t)};vl.prototype.updateCommands=function(e,t){this._primitive.updateCommands(e,t)};function A2e(e){return new Promise(function(t,n){e._update=function(i,o){let r=C2e(i);i._ready&&(i._primitive.debugWireframe=i.debugWireframe,i._primitive.forceRebatch=i.forceRebatch,i._primitive.classificationType=i.classificationType,i._primitive.update(o)),l(r)&&r.then(function(){x2e(i),t(i)}).catch(function(s){n(s)})}})}vl.prototype.update=function(e){this._update(this,e)};vl.prototype.isDestroyed=function(){return!1};vl.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),fe(this)};var N_=vl;function Mm(e,t,n,i,o){this._tileset=e,this._tile=t,this._resource=n,this._geometries=void 0,this._metadata=void 0,this._batchTable=void 0,this._features=void 0,this.featurePropertiesDirty=!1,this._group=void 0,this._readyPromise=b2e(this,i,o)}Object.defineProperties(Mm.prototype,{featuresLength:{get:function(){return l(this._batchTable)?this._batchTable.featuresLength:0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return l(this._geometries)?this._geometries.trianglesLength:0}},geometryByteLength:{get:function(){return l(this._geometries)?this._geometries.geometryByteLength:0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return l(this._batchTable)?this._batchTable.batchTableByteLength:0}},innerContents:{get:function(){}},readyPromise:{get:function(){return this._readyPromise}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},metadata:{get:function(){return this._metadata},set:function(e){this._metadata=e}},batchTable:{get:function(){return this._batchTable}},group:{get:function(){return this._group},set:function(e){this._group=e}}});function T2e(e){return function(t,n){l(e._geometries)&&e._geometries.updateCommands(t,n)}}function E2e(e,t){let n,i,o,r,s,a=y(e.BOXES_LENGTH,0),c=y(e.CYLINDERS_LENGTH,0),u=y(e.ELLIPSOIDS_LENGTH,0),f=y(e.SPHERES_LENGTH,0);if(a>0&&l(e.BOX_BATCH_IDS)){let m=t.byteOffset+e.BOX_BATCH_IDS.byteOffset;n=new Uint16Array(t.buffer,m,a)}if(c>0&&l(e.CYLINDER_BATCH_IDS)){let m=t.byteOffset+e.CYLINDER_BATCH_IDS.byteOffset;i=new Uint16Array(t.buffer,m,c)}if(u>0&&l(e.ELLIPSOID_BATCH_IDS)){let m=t.byteOffset+e.ELLIPSOID_BATCH_IDS.byteOffset;o=new Uint16Array(t.buffer,m,u)}if(f>0&&l(e.SPHERE_BATCH_IDS)){let m=t.byteOffset+e.SPHERE_BATCH_IDS.byteOffset;r=new Uint16Array(t.buffer,m,f)}let d=l(n)||l(i)||l(o)||l(r),p=a>0&&!l(n)||c>0&&!l(i)||u>0&&!l(o)||f>0&&!l(r);if(d&&p)throw new de("If one group of batch ids is defined, then all batch ids must be defined.");if(!l(n)&&!l(i)&&!l(o)&&!l(r)){let m=0;if(!l(n)&&a>0)for(n=new Uint16Array(a),s=0;s<a;++s)n[s]=m++;if(!l(i)&&c>0)for(i=new Uint16Array(c),s=0;s<c;++s)i[s]=m++;if(!l(o)&&u>0)for(o=new Uint16Array(u),s=0;s<u;++s)o[s]=m++;if(!l(r)&&f>0)for(r=new Uint16Array(f),s=0;s<f;++s)r[s]=m++}return{boxes:n,cylinders:i,ellipsoids:o,spheres:r}}var by=Uint32Array.BYTES_PER_ELEMENT;function b2e(e,t,n){n=y(n,0);let i=new Uint8Array(t),o=new DataView(t);n+=by;let r=o.getUint32(n,!0);if(r!==1)throw new de(`Only Geometry tile version 1 is supported. Version ${r} is not.`);n+=by;let s=o.getUint32(n,!0);if(n+=by,s===0){e._readyPromise.resolve(e);return}let a=o.getUint32(n,!0);if(n+=by,a===0)throw new de("Feature table must have a byte length greater than zero");let c=o.getUint32(n,!0);n+=by;let u=o.getUint32(n,!0);n+=by;let f=o.getUint32(n,!0);n+=by;let d=Xo(i,n,a);n+=a;let p=new Uint8Array(t,n,c);n+=c;let g,m;u>0&&(g=Xo(i,n,u),n+=u,f>0&&(m=new Uint8Array(t,n,f),m=new Uint8Array(m)));let C=y(d.BOXES_LENGTH,0),x=y(d.CYLINDERS_LENGTH,0),A=y(d.ELLIPSOIDS_LENGTH,0),b=y(d.SPHERES_LENGTH,0),E=C+x+A+b,S=new B_(e,E,g,m,T2e(e));if(e._batchTable=S,E===0)return;let v=e.tile.computedTransform,P;l(d.RTC_CENTER)&&(P=h.unpack(d.RTC_CENTER),N.multiplyByPoint(v,P,P));let O=E2e(d,p);if(C>0||x>0||A>0||b>0){let M,B,L,_;if(C>0){let T=p.byteOffset+d.BOXES.byteOffset;M=new Float32Array(p.buffer,T,N_.packedBoxLength*C)}if(x>0){let T=p.byteOffset+d.CYLINDERS.byteOffset;B=new Float32Array(p.buffer,T,N_.packedCylinderLength*x)}if(A>0){let T=p.byteOffset+d.ELLIPSOIDS.byteOffset;L=new Float32Array(p.buffer,T,N_.packedEllipsoidLength*A)}if(b>0){let T=p.byteOffset+d.SPHERES.byteOffset;_=new Float32Array(p.buffer,T,N_.packedSphereLength*b)}return e._geometries=new N_({boxes:M,boxBatchIds:O.boxes,cylinders:B,cylinderBatchIds:O.cylinders,ellipsoids:L,ellipsoidBatchIds:O.ellipsoids,spheres:_,sphereBatchIds:O.spheres,center:P,modelMatrix:v,batchTable:S,boundingVolume:e.tile.boundingVolume.boundingVolume}),e._geometries.readyPromise.then(function(){return e})}return Promise.resolve(e)}function aoe(e){let t=e.featuresLength;if(!l(e._features)&&t>0){let n=new Array(t);l(e._geometries)&&e._geometries.createFeatures(e,n),e._features=n}}Mm.prototype.hasProperty=function(e,t){return this._batchTable.hasProperty(e,t)};Mm.prototype.getFeature=function(e){return aoe(this),this._features[e]};Mm.prototype.applyDebugSettings=function(e,t){l(this._geometries)&&this._geometries.applyDebugSettings(e,t)};Mm.prototype.applyStyle=function(e){aoe(this),l(this._geometries)&&this._geometries.applyStyle(e,this._features)};Mm.prototype.update=function(e,t){l(this._geometries)&&(this._geometries.classificationType=this._tileset.classificationType,this._geometries.debugWireframe=this._tileset.debugWireframe,this._geometries.update(t)),l(this._batchTable)&&this._geometries._ready&&this._batchTable.update(e,t)};Mm.prototype.isDestroyed=function(){return!1};Mm.prototype.destroy=function(){return this._geometries=this._geometries&&this._geometries.destroy(),this._batchTable=this._batchTable&&this._batchTable.destroy(),fe(this)};var RB=Mm;function S2e(e,t){return l(e)&&l(e.extensions)&&l(e.extensions[t])}var eo=S2e;function JG(e){let t=e.lengthBits,n=e.availableCount,i=e.constant,o=e.bitstream;if(l(i))n=t;else{let r=Math.ceil(t/8);if(o.length!==r)throw new de(`Availability bitstream must be exactly ${r} bytes long to store ${t} bits. Actual bitstream was ${o.length} bytes long.`);let s=y(e.computeAvailableCountEnabled,!1);!l(n)&&s&&(n=w2e(o,t))}this._lengthBits=t,this._availableCount=n,this._constant=i,this._bitstream=o}function w2e(e,t){let n=0;for(let i=0;i<t;i++){let o=i>>3,r=i%8;n+=e[o]>>r&1}return n}Object.defineProperties(JG.prototype,{lengthBits:{get:function(){return this._lengthBits}},availableCount:{get:function(){return this._availableCount}}});JG.prototype.getBit=function(e){if(l(this._constant))return this._constant;let t=e>>3,n=e%8;return(this._bitstream[t]>>n&1)===1};var XS=JG;function Bm(e){e=y(e,y.EMPTY_OBJECT);let t=e.metadataTable,n=e.class,i=e.entityId,o=e.propertyTableJson;this._class=n,this._metadataTable=t,this._entityId=i,this._extensions=o.extensions,this._extras=o.extras}Object.defineProperties(Bm.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});Bm.prototype.hasProperty=function(e){return this._metadataTable.hasProperty(e)};Bm.prototype.hasPropertyBySemantic=function(e){return this._metadataTable.hasPropertyBySemantic(e)};Bm.prototype.getPropertyIds=function(e){return this._metadataTable.getPropertyIds(e)};Bm.prototype.getProperty=function(e){return this._metadataTable.getProperty(this._entityId,e)};Bm.prototype.setProperty=function(e,t){return this._metadataTable.setProperty(this._entityId,e,t)};Bm.prototype.getPropertyBySemantic=function(e){return this._metadataTable.getPropertyBySemantic(this._entityId,e)};Bm.prototype.setPropertyBySemantic=function(e,t){return this._metadataTable.setPropertyBySemantic(this._entityId,e,t)};var KS=Bm;var MB={QUADTREE:"QUADTREE",OCTREE:"OCTREE"};MB.getBranchingFactor=function(e){switch(e){case MB.OCTREE:return 8;case MB.QUADTREE:return 4}};var Gr=Object.freeze(MB);function Ss(){}Object.defineProperties(Ss.prototype,{class:{get:function(){ye.throwInstantiationError()}}});Ss.prototype.hasProperty=function(e){ye.throwInstantiationError()};Ss.prototype.hasPropertyBySemantic=function(e){ye.throwInstantiationError()};Ss.prototype.getPropertyIds=function(e){ye.throwInstantiationError()};Ss.prototype.getProperty=function(e){ye.throwInstantiationError()};Ss.prototype.setProperty=function(e,t){ye.throwInstantiationError()};Ss.prototype.getPropertyBySemantic=function(e){ye.throwInstantiationError()};Ss.prototype.setPropertyBySemantic=function(e,t){ye.throwInstantiationError()};Ss.hasProperty=function(e,t,n){if(l(t[e]))return!0;let i=n.properties;if(!l(i))return!1;let o=i[e];return!!(l(o)&&l(o.default))};Ss.hasPropertyBySemantic=function(e,t,n){let i=n.propertiesBySemantic;if(!l(i))return!1;let o=i[e];return l(o)};Ss.getPropertyIds=function(e,t,n){n=l(n)?n:[],n.length=0;for(let o in e)e.hasOwnProperty(o)&&l(e[o])&&n.push(o);let i=t.properties;if(l(i))for(let o in i)i.hasOwnProperty(o)&&!l(e[o])&&l(i[o].default)&&n.push(o);return n};Ss.getProperty=function(e,t,n){let i=n.properties[e],o=t[e];Array.isArray(o)&&(o=o.slice());let r=!0;if(o=i.handleNoData(o),!l(o)&&l(i.default))return o=et(i.default,!0),i.unpackVectorAndMatrixTypes(o,r);if(!!l(o))return o=i.normalize(o),o=i.applyValueTransform(o),i.unpackVectorAndMatrixTypes(o,r)};Ss.setProperty=function(e,t,n,i){if(!l(n[e]))return!1;Array.isArray(t)&&(t=t.slice());let o,r=i.properties;l(r)&&(o=r[e]);let s=!0;return l(o)&&(t=o.packVectorAndMatrixTypes(t,s),t=o.unapplyValueTransform(t),t=o.unnormalize(t)),n[e]=t,!0};Ss.getPropertyBySemantic=function(e,t,n){let i=n.propertiesBySemantic;if(!l(i))return;let o=i[e];if(l(o))return Ss.getProperty(o.id,t,n)};Ss.setPropertyBySemantic=function(e,t,n,i){let o=i.propertiesBySemantic;if(!l(o))return!1;let r=i.propertiesBySemantic[e];return l(r)?Ss.setProperty(r.id,t,n,i):!1};var On=Ss;function Lm(e){e=y(e,y.EMPTY_OBJECT);let t=e.subtreeMetadata,n=e.class,i=l(t.properties)?t.properties:{};this._class=n,this._properties=i,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(Lm.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});Lm.prototype.hasProperty=function(e){return On.hasProperty(e,this._properties,this._class)};Lm.prototype.hasPropertyBySemantic=function(e){return On.hasPropertyBySemantic(e,this._properties,this._class)};Lm.prototype.getPropertyIds=function(e){return On.getPropertyIds(this._properties,this._class,e)};Lm.prototype.getProperty=function(e){return On.getProperty(e,this._properties,this._class)};Lm.prototype.setProperty=function(e,t){return On.setProperty(e,t,this._properties,this._class)};Lm.prototype.getPropertyBySemantic=function(e){return On.getPropertyBySemantic(e,this._properties,this._class)};Lm.prototype.setPropertyBySemantic=function(e,t){return On.setPropertyBySemantic(e,t,this._properties,this._class)};var BB=Lm;var Rt={INT8:"INT8",UINT8:"UINT8",INT16:"INT16",UINT16:"UINT16",INT32:"INT32",UINT32:"UINT32",INT64:"INT64",UINT64:"UINT64",FLOAT32:"FLOAT32",FLOAT64:"FLOAT64"};Rt.getMinimum=function(e){switch(e){case Rt.INT8:return-128;case Rt.UINT8:return 0;case Rt.INT16:return-32768;case Rt.UINT16:return 0;case Rt.INT32:return-2147483648;case Rt.UINT32:return 0;case Rt.INT64:return Mt.supportsBigInt()?BigInt("-9223372036854775808"):-Math.pow(2,63);case Rt.UINT64:return Mt.supportsBigInt()?BigInt(0):0;case Rt.FLOAT32:return-34028234663852886e22;case Rt.FLOAT64:return-Number.MAX_VALUE}};Rt.getMaximum=function(e){switch(e){case Rt.INT8:return 127;case Rt.UINT8:return 255;case Rt.INT16:return 32767;case Rt.UINT16:return 65535;case Rt.INT32:return 2147483647;case Rt.UINT32:return 4294967295;case Rt.INT64:return Mt.supportsBigInt()?BigInt("9223372036854775807"):Math.pow(2,63)-1;case Rt.UINT64:return Mt.supportsBigInt()?BigInt("18446744073709551615"):Math.pow(2,64)-1;case Rt.FLOAT32:return 34028234663852886e22;case Rt.FLOAT64:return Number.MAX_VALUE}};Rt.isNumericType=function(e){switch(e){case Rt.INT8:case Rt.UINT8:case Rt.INT16:case Rt.UINT16:case Rt.INT32:case Rt.UINT32:case Rt.INT64:case Rt.UINT64:case Rt.FLOAT32:case Rt.FLOAT64:return!0;default:return!1}};Rt.isIntegerType=function(e){switch(e){case Rt.INT8:case Rt.UINT8:case Rt.INT16:case Rt.UINT16:case Rt.INT32:case Rt.UINT32:case Rt.INT64:case Rt.UINT64:return!0;default:return!1}};Rt.isUnsignedIntegerType=function(e){switch(e){case Rt.UINT8:case Rt.UINT16:case Rt.UINT32:case Rt.UINT64:return!0;default:return!1}};Rt.isVectorCompatible=function(e){switch(e){case Rt.INT8:case Rt.UINT8:case Rt.INT16:case Rt.UINT16:case Rt.INT32:case Rt.UINT32:case Rt.FLOAT32:case Rt.FLOAT64:return!0;default:return!1}};Rt.normalize=function(e,t){return Math.max(Number(e)/Number(Rt.getMaximum(t)),-1)};Rt.unnormalize=function(e,t){let n=Rt.getMaximum(t),i=Rt.isUnsignedIntegerType(t)?0:-n;return e=I.sign(e)*Math.round(Math.abs(e)*Number(n)),(t===Rt.INT64||t===Rt.UINT64)&&Mt.supportsBigInt()&&(e=BigInt(e)),e>n?n:e<i?i:e};Rt.applyValueTransform=function(e,t,n){return n*e+t};Rt.unapplyValueTransform=function(e,t,n){return n===0?0:(e-t)/n};Rt.getSizeInBytes=function(e){switch(e){case Rt.INT8:case Rt.UINT8:return 1;case Rt.INT16:case Rt.UINT16:return 2;case Rt.INT32:case Rt.UINT32:return 4;case Rt.INT64:case Rt.UINT64:return 8;case Rt.FLOAT32:return 4;case Rt.FLOAT64:return 8}};var Sn=Object.freeze(Rt);var Io={SCALAR:"SCALAR",VEC2:"VEC2",VEC3:"VEC3",VEC4:"VEC4",MAT2:"MAT2",MAT3:"MAT3",MAT4:"MAT4",BOOLEAN:"BOOLEAN",STRING:"STRING",ENUM:"ENUM"};Io.isVectorType=function(e){switch(e){case Io.VEC2:case Io.VEC3:case Io.VEC4:return!0;default:return!1}};Io.isMatrixType=function(e){switch(e){case Io.MAT2:case Io.MAT3:case Io.MAT4:return!0;default:return!1}};Io.getComponentCount=function(e){switch(e){case Io.SCALAR:case Io.STRING:case Io.ENUM:case Io.BOOLEAN:return 1;case Io.VEC2:return 2;case Io.VEC3:return 3;case Io.VEC4:return 4;case Io.MAT2:return 4;case Io.MAT3:return 9;case Io.MAT4:return 16}};Io.getMathType=function(e){switch(e){case Io.VEC2:return G;case Io.VEC3:return h;case Io.VEC4:return se;case Io.MAT2:return Yi;case Io.MAT3:return J;case Io.MAT4:return N;default:return}};var Rn=Object.freeze(Io);function uc(e){e=y(e,y.EMPTY_OBJECT);let t=e.id,n=e.property,i=v2e(n),o=D2e(n,e.enums),r=o.componentType,s=l(r)&&Sn.isIntegerType(r)&&y(n.normalized,!1);this._id=t,this._name=n.name,this._description=n.description,this._semantic=n.semantic,this._isLegacyExtension=i,this._type=o.type,this._componentType=r,this._enumType=o.enumType,this._valueType=o.valueType,this._isArray=o.isArray,this._isVariableLengthArray=o.isVariableLengthArray,this._arrayLength=o.arrayLength,this._min=n.min,this._max=n.max,this._normalized=s;let a=n.offset,c=n.scale,u=l(a)||l(c),f=!0;l(a)||(a=this.expandConstant(0,f)),l(c)||(c=this.expandConstant(1,f)),this._offset=a,this._scale=c,this._hasValueTransform=u,this._noData=n.noData,this._default=n.default;let d;l(i)?i?d=l(n.optional)?!n.optional:!0:d=y(n.required,!1):d=!1,this._required=d,this._extras=n.extras,this._extensions=n.extensions}Object.defineProperties(uc.prototype,{id:{get:function(){return this._id}},name:{get:function(){return this._name}},description:{get:function(){return this._description}},type:{get:function(){return this._type}},enumType:{get:function(){return this._enumType}},componentType:{get:function(){return this._componentType}},valueType:{get:function(){return this._valueType}},isArray:{get:function(){return this._isArray}},isVariableLengthArray:{get:function(){return this._isVariableLengthArray}},arrayLength:{get:function(){return this._arrayLength}},normalized:{get:function(){return this._normalized}},max:{get:function(){return this._max}},min:{get:function(){return this._min}},noData:{get:function(){return this._noData}},default:{get:function(){return this._default}},required:{get:function(){return this._required}},semantic:{get:function(){return this._semantic}},hasValueTransform:{get:function(){return this._hasValueTransform}},offset:{get:function(){return this._offset}},scale:{get:function(){return this._scale}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});function v2e(e){if(e.type==="ARRAY")return!0;let t=e.type;if(t===Rn.SCALAR||Rn.isMatrixType(t)||Rn.isVectorType(t))return!1;if(Sn.isNumericType(t))return!0;if(l(e.noData)||l(e.scale)||l(e.offset)||l(e.required)||l(e.count)||l(e.array)||l(e.optional))return!1}function D2e(e,t){let n=e.type,i=e.componentType,o=n==="ARRAY",r,s,a;o?(r=!0,s=e.componentCount,a=!l(s)):e.array?(r=!0,s=e.count,a=!l(e.count)):(r=!1,s=void 0,a=!1);let c;if(l(e.enumType)&&(c=t[e.enumType]),n===Rn.ENUM)return{type:n,componentType:void 0,enumType:c,valueType:c.valueType,isArray:r,isVariableLengthArray:a,arrayLength:s};if(o&&i===Rn.ENUM)return{type:i,componentType:void 0,enumType:c,valueType:c.valueType,isArray:r,isVariableLengthArray:a,arrayLength:s};if(n===Rn.SCALAR||Rn.isMatrixType(n)||Rn.isVectorType(n))return{type:n,componentType:i,enumType:void 0,valueType:i,isArray:r,isVariableLengthArray:a,arrayLength:s};if(n===Rn.BOOLEAN||n===Rn.STRING)return{type:n,componentType:void 0,enumType:void 0,valueType:void 0,isArray:r,isVariableLengthArray:a,arrayLength:s};if(o&&(i===Rn.BOOLEAN||i===Rn.STRING))return{type:i,componentType:void 0,enumType:void 0,valueType:void 0,isArray:r,isVariableLengthArray:a,arrayLength:s};if(l(i)&&Sn.isNumericType(i))return{type:Rn.SCALAR,componentType:i,enumType:void 0,valueType:i,isArray:r,isVariableLengthArray:a,arrayLength:s};if(Sn.isNumericType(n))return{type:Rn.SCALAR,componentType:n,enumType:void 0,valueType:n,isArray:r,isVariableLengthArray:a,arrayLength:s}}uc.prototype.normalize=function(e){return this._normalized?QG(e,this._valueType,Sn.normalize):e};uc.prototype.unnormalize=function(e){return this._normalized?QG(e,this._valueType,Sn.unnormalize):e};uc.prototype.applyValueTransform=function(e){return!this._hasValueTransform||this._isVariableLengthArray?e:uc.valueTransformInPlace(e,this._offset,this._scale,Sn.applyValueTransform)};uc.prototype.unapplyValueTransform=function(e){return!this._hasValueTransform||this._isVariableLengthArray?e:uc.valueTransformInPlace(e,this._offset,this._scale,Sn.unapplyValueTransform)};uc.prototype.expandConstant=function(e,t){t=y(t,!1);let n=this._isArray,i=this._arrayLength,o=Rn.getComponentCount(this._type),r=n&&o>1;if(!n&&o===1)return e;if(!n)return new Array(o).fill(e);if(!r)return new Array(i).fill(e);if(!t)return new Array(this._arrayLength*o).fill(e);let s=new Array(o).fill(e);return new Array(this._arrayLength).fill(s)};uc.prototype.handleNoData=function(e){let t=this._noData;if(!l(t))return e;if(!foe(e,t))return e};function foe(e,t){if(!Array.isArray(e))return e===t;if(!Array.isArray(t)||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!foe(e[n],t[n]))return!1;return!0}uc.prototype.unpackVectorAndMatrixTypes=function(e,t){t=y(t,!1);let n=Rn.getMathType(this._type),i=this._isArray,o=Rn.getComponentCount(this._type),r=i&&o>1;return l(n)?t&&r?e.map(function(s){return n.unpack(s)}):i?n.unpackArray(e):n.unpack(e):e};uc.prototype.packVectorAndMatrixTypes=function(e,t){t=y(t,!1);let n=Rn.getMathType(this._type),i=this._isArray,o=Rn.getComponentCount(this._type),r=i&&o>1;return l(n)?t&&r?e.map(function(s){return n.pack(s,[])}):i?n.packArray(e,[]):n.pack(e,[]):e};uc.prototype.validate=function(e){if(!(!l(e)&&l(this._default)))return this._required&&!l(e)?"required property must have a value":this._isArray?P2e(this,e):doe(this,e)};function P2e(e,t){if(!Array.isArray(t))return`value ${t} must be an array`;let n=t.length;if(!e._isVariableLengthArray&&n!==e._arrayLength)return"Array length does not match property.arrayLength";for(let i=0;i<n;i++){let o=doe(e,t[i]);if(l(o))return o}}function doe(e,t){let n=e._type,i=e._componentType,o=e._enumType,r=e._normalized;return Rn.isVectorType(n)?I2e(t,n,i):Rn.isMatrixType(n)?O2e(t,n,i):n===Rn.STRING?R2e(t):n===Rn.BOOLEAN?M2e(t):n===Rn.ENUM?B2e(t,o):L2e(t,i,r)}function I2e(e,t,n){if(!Sn.isVectorCompatible(n))return`componentType ${n} is incompatible with vector type ${t}`;if(t===Rn.VEC2&&!(e instanceof G))return`vector value ${e} must be a Cartesian2`;if(t===Rn.VEC3&&!(e instanceof h))return`vector value ${e} must be a Cartesian3`;if(t===Rn.VEC4&&!(e instanceof se))return`vector value ${e} must be a Cartesian4`}function O2e(e,t,n){if(!Sn.isVectorCompatible(n))return`componentType ${n} is incompatible with matrix type ${t}`;if(t===Rn.MAT2&&!(e instanceof Yi))return`matrix value ${e} must be a Matrix2`;if(t===Rn.MAT3&&!(e instanceof J))return`matrix value ${e} must be a Matrix3`;if(t===Rn.MAT4&&!(e instanceof N))return`matrix value ${e} must be a Matrix4`}function R2e(e){if(typeof e!="string")return LB(e,Rn.STRING)}function M2e(e){if(typeof e!="boolean")return LB(e,Rn.BOOLEAN)}function B2e(e,t){let n=typeof e;if(l(t))return n!=="string"||!l(t.valuesByName[e])?`value ${e} is not a valid enum name for ${t.id}`:void 0}function L2e(e,t,n){let i=typeof e;switch(t){case Sn.INT8:case Sn.UINT8:case Sn.INT16:case Sn.UINT16:case Sn.INT32:case Sn.UINT32:case Sn.FLOAT32:case Sn.FLOAT64:return i!=="number"?LB(e,t):isFinite(e)?loe(e,t,n):uoe(e,t);case Sn.INT64:case Sn.UINT64:return i!=="number"&&i!=="bigint"?LB(e,t):i==="number"&&!isFinite(e)?uoe(e,t):loe(e,t,n)}}function LB(e,t){return`value ${e} does not match type ${t}`}function coe(e,t,n){let i=`value ${e} is out of range for type ${t}`;return n&&(i+=" (normalized)"),i}function loe(e,t,n){if(n){let i=Sn.isUnsignedIntegerType(t)?0:-1,o=1;return e<i||e>o?coe(e,t,n):void 0}if(e<Sn.getMinimum(t)||e>Sn.getMaximum(t))return coe(e,t,n)}function uoe(e,t){return`value ${e} of type ${t} must be finite`}function QG(e,t,n){if(!Array.isArray(e))return n(e,t);for(let i=0;i<e.length;i++)e[i]=QG(e[i],t,n);return e}uc.valueTransformInPlace=function(e,t,n,i){if(!Array.isArray(e))return i(e,t,n);for(let o=0;o<e.length;o++)e[o]=uc.valueTransformInPlace(e[o],t[o],n[o],i);return e};var Sy=uc;function ZS(e){e=y(e,y.EMPTY_OBJECT);let t=e.count,n=e.property,i=e.classProperty,o=e.bufferViews,r=i.type,s=i.isArray,a=i.isVariableLengthArray,c=i.valueType,u=i.enumType,f=r===Rn.STRING,d=r===Rn.BOOLEAN,p=0,g;if(a){let _=y(n.arrayOffsetType,n.offsetType);_=y(Sn[_],Sn.UINT32);let T=y(n.arrayOffsets,n.arrayOffsetBufferView);g=new e6(o[T],_,t+1),p+=g.typedArray.byteLength}let m=Rn.getComponentCount(r),C;a?C=g.get(t)-g.get(0):s?C=t*i.arrayLength:C=t;let x=m*C,A;if(f){let _=y(n.stringOffsetType,n.offsetType);_=y(Sn[_],Sn.UINT32);let T=y(n.stringOffsets,n.stringOffsetBufferView);A=new e6(o[T],_,x+1),p+=A.typedArray.byteLength}(f||d)&&(c=Sn.UINT8);let b;f?b=A.get(x)-A.get(0):d?b=Math.ceil(x/8):b=x;let E=y(n.values,n.bufferView),S=new e6(o[E],c,b);p+=S.typedArray.byteLength;let v=n.offset,P=n.scale,O=i.hasValueTransform||l(v)||l(P);v=y(v,i.offset),P=y(P,i.scale),v=hoe(v),P=hoe(P);let M,B,L=this;f?M=function(_){return V2e(_,L._values,L._stringOffsets)}:d?(M=function(_){return k2e(_,L._values)},B=function(_,T){U2e(_,L._values,T)}):l(u)?(M=function(_){let T=L._values.get(_);return u.namesByValue[T]},B=function(_,T){let w=u.valuesByName[T];L._values.set(_,w)}):(M=function(_){return L._values.get(_)},B=function(_,T){L._values.set(_,T)}),this._arrayOffsets=g,this._stringOffsets=A,this._values=S,this._classProperty=i,this._count=t,this._vectorComponentCount=m,this._min=n.min,this._max=n.max,this._offset=v,this._scale=P,this._hasValueTransform=O,this._getValue=M,this._setValue=B,this._unpackedValues=void 0,this._extras=n.extras,this._extensions=n.extensions,this._byteLength=p}Object.defineProperties(ZS.prototype,{hasValueTransform:{get:function(){return this._hasValueTransform}},offset:{get:function(){return this._offset}},scale:{get:function(){return this._scale}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}},byteLength:{get:function(){return this._byteLength}}});ZS.prototype.get=function(e){let t=N2e(this,e);return t=this._classProperty.handleNoData(t),l(t)?(t=this._classProperty.normalize(t),t=X2e(this,t),this._classProperty.unpackVectorAndMatrixTypes(t)):(t=this._classProperty.default,this._classProperty.unpackVectorAndMatrixTypes(t))};ZS.prototype.set=function(e,t){let n=this._classProperty;t=n.packVectorAndMatrixTypes(t),t=K2e(this,t),t=n.unnormalize(t),F2e(this,e,t)};ZS.prototype.getTypedArray=function(){if(l(this._values))return this._values.typedArray};function hoe(e){if(!Array.isArray(e))return e;let t=[];for(let n=0;n<e.length;n++){let i=e[n];Array.isArray(i)?t.push.apply(t,i):t.push(i)}return t}function N2e(e,t){poe(e)&&_oe(e);let n=e._classProperty,i=n.isArray,o=n.type,r=Rn.getComponentCount(o);if(l(e._unpackedValues)){let s=e._unpackedValues[t];return i?et(s,!0):s}return!i&&r===1?e._getValue(t):moe(e,n,t)}function moe(e,t,n){let i,o;if(t.isVariableLengthArray){i=e._arrayOffsets.get(n),o=e._arrayOffsets.get(n+1)-i;let s=Rn.getComponentCount(t.type);i*=s,o*=s}else{let a=y(t.arrayLength,1)*e._vectorComponentCount;i=n*a,o=a}let r=new Array(o);for(let s=0;s<o;s++)r[s]=e._getValue(i+s);return r}function F2e(e,t,n){q2e(e,t,n)&&_oe(e);let i=e._classProperty,o=i.isArray,r=i.type,s=Rn.getComponentCount(r);if(l(e._unpackedValues)){i.isArray&&(n=et(n,!0)),e._unpackedValues[t]=n;return}if(!o&&s===1){e._setValue(t,n);return}let a,c;if(i.isVariableLengthArray)a=e._arrayOffsets.get(t),c=e._arrayOffsets.get(t+1)-a;else{let f=y(i.arrayLength,1)*e._vectorComponentCount;a=t*f,c=f}for(let u=0;u<c;++u)e._setValue(a+u,n[u])}function V2e(e,t,n){let i=n.get(e),o=n.get(e+1)-i;return ml(t.typedArray,i,o)}function k2e(e,t){let n=e>>3,i=e%8;return(t.typedArray[n]>>i&1)===1}function U2e(e,t,n){let i=e>>3,o=e%8;n?t.typedArray[i]|=1<<o:t.typedArray[i]&=~(1<<o)}function z2e(e,t){let n=t.dataView,i=e*8,o=0,r=(n.getUint8(i+7)&128)>0,s=!0;for(let a=0;a<8;++a){let c=n.getUint8(i+a);r&&(s?c!==0&&(c=~(c-1)&255,s=!1):c=~c&255),o+=c*Math.pow(256,a)}return r&&(o=-o),o}function H2e(e,t){let n=t.dataView,i=e*8,o=BigInt(0),r=(n.getUint8(i+7)&128)>0,s=!0;for(let a=0;a<8;++a){let c=n.getUint8(i+a);r&&(s?c!==0&&(c=~(c-1)&255,s=!1):c=~c&255),o+=BigInt(c)*(BigInt(1)<<BigInt(a*8))}return r&&(o=-o),o}function G2e(e,t){let n=t.dataView,i=e*8,o=n.getUint32(i,!0),r=n.getUint32(i+4,!0);return o+4294967296*r}function W2e(e,t){let n=t.dataView,i=e*8,o=BigInt(n.getUint32(i,!0)),r=BigInt(n.getUint32(i+4,!0));return o+BigInt(4294967296)*r}function j2e(e){switch(e){case Sn.INT8:return Z.BYTE;case Sn.UINT8:return Z.UNSIGNED_BYTE;case Sn.INT16:return Z.SHORT;case Sn.UINT16:return Z.UNSIGNED_SHORT;case Sn.INT32:return Z.INT;case Sn.UINT32:return Z.UNSIGNED_INT;case Sn.FLOAT32:return Z.FLOAT;case Sn.FLOAT64:return Z.DOUBLE}}function poe(e){if(l(e._unpackedValues))return!1;let t=e._classProperty,n=t.type,i=t.valueType;return n===Rn.STRING||i===Sn.INT64&&!Mt.supportsBigInt64Array()||i===Sn.UINT64&&!Mt.supportsBigUint64Array()}function q2e(e,t,n){if(poe(e))return!0;let i=e._arrayOffsets;if(l(i)){let o=i.get(t+1)-i.get(t),r=n.length;if(o!==r)return!0}return!1}function _oe(e){e._unpackedValues=Y2e(e),e._arrayOffsets=void 0,e._stringOffsets=void 0,e._values=void 0}function Y2e(e){let t=e._count,n=new Array(t),i=e._classProperty,o=i.isArray,r=i.type,s=Rn.getComponentCount(r);if(!o&&s===1){for(let a=0;a<t;++a)n[a]=e._getValue(a);return n}for(let a=0;a<t;a++)n[a]=moe(e,i,a);return n}function X2e(e,t){let i=e._classProperty.isVariableLengthArray;return!e._hasValueTransform||i?t:Sy.valueTransformInPlace(t,e._offset,e._scale,Sn.applyValueTransform)}function K2e(e,t){let i=e._classProperty.isVariableLengthArray;return!e._hasValueTransform||i?t:Sy.valueTransformInPlace(t,e._offset,e._scale,Sn.unapplyValueTransform)}function e6(e,t,n){let i=this,o,r,s;if(t===Sn.INT64)Mt.supportsBigInt()?Mt.supportsBigInt64Array()?(o=new BigInt64Array(e.buffer,e.byteOffset,n),s=function(a,c){i.typedArray[a]=BigInt(c)}):(o=new Uint8Array(e.buffer,e.byteOffset,n*8),r=function(a){return H2e(a,i)}):(Bt("INT64 type is not fully supported on this platform. Values greater than 2^53 - 1 or less than -(2^53 - 1) may lose precision when read."),o=new Uint8Array(e.buffer,e.byteOffset,n*8),r=function(a){return z2e(a,i)});else if(t===Sn.UINT64)Mt.supportsBigInt()?Mt.supportsBigUint64Array()?(o=new BigUint64Array(e.buffer,e.byteOffset,n),s=function(a,c){i.typedArray[a]=BigInt(c)}):(o=new Uint8Array(e.buffer,e.byteOffset,n*8),r=function(a){return W2e(a,i)}):(Bt("UINT64 type is not fully supported on this platform. Values greater than 2^53 - 1 may lose precision when read."),o=new Uint8Array(e.buffer,e.byteOffset,n*8),r=function(a){return G2e(a,i)});else{let a=j2e(t);o=Z.createArrayBufferView(a,e.buffer,e.byteOffset,n),s=function(c,u){i.typedArray[c]=u}}l(r)||(r=function(a){return i.typedArray[a]}),this.typedArray=o,this.dataView=new DataView(o.buffer,o.byteOffset),this.get=r,this.set=s,this._componentType=t}var NB=ZS;function vf(e){e=y(e,y.EMPTY_OBJECT);let t=e.count,n=e.class,i=0,o={};if(l(e.properties)){for(let r in e.properties)if(e.properties.hasOwnProperty(r)){let s=new NB({count:t,property:e.properties[r],classProperty:n.properties[r],bufferViews:e.bufferViews});o[r]=s,i+=s.byteLength}}this._count=t,this._class=n,this._properties=o,this._byteLength=i}Object.defineProperties(vf.prototype,{count:{get:function(){return this._count}},class:{get:function(){return this._class}},byteLength:{get:function(){return this._byteLength}}});vf.prototype.hasProperty=function(e){return On.hasProperty(e,this._properties,this._class)};vf.prototype.hasPropertyBySemantic=function(e){return On.hasPropertyBySemantic(e,this._properties,this._class)};vf.prototype.getPropertyIds=function(e){return On.getPropertyIds(this._properties,this._class,e)};vf.prototype.getProperty=function(e,t){let n=this._properties[t],i;return l(n)?i=n.get(e):i=Z2e(this._class,t),i};vf.prototype.setProperty=function(e,t,n){let i=this._properties[t];return l(i)?(i.set(e,n),!0):!1};vf.prototype.getPropertyBySemantic=function(e,t){let n,i=this._class.propertiesBySemantic;if(l(i)&&(n=i[t]),l(n))return this.getProperty(e,n.id)};vf.prototype.setPropertyBySemantic=function(e,t,n){let i,o=this._class.propertiesBySemantic;return l(o)&&(i=o[t]),l(i)?this.setProperty(e,i.id,n):!1};vf.prototype.getPropertyTypedArray=function(e){let t=this._properties[e];if(l(t))return t.getTypedArray()};vf.prototype.getPropertyTypedArrayBySemantic=function(e){let t,n=this._class.propertiesBySemantic;if(l(n)&&(t=n[e]),l(t))return this.getPropertyTypedArray(t.id)};function Z2e(e,t){let n=e.properties;if(!l(n))return;let i=n[t];if(l(i)&&l(i.default)){let o=i.default;return i.isArray&&(o=et(o,!0)),o=i.normalize(o),i.unpackVectorAndMatrixTypes(o)}}var Df=vf;function F_(){}Object.defineProperties(F_.prototype,{promise:{get:function(){ye.throwInstantiationError()}},cacheKey:{get:function(){ye.throwInstantiationError()}}});F_.prototype.load=function(){ye.throwInstantiationError()};F_.prototype.unload=function(){};F_.prototype.process=function(e){};F_.prototype.getError=function(e,t){l(t)&&(e+=`
  3331. ${t.message}`);let n=new de(e);return l(t)&&(n.stack=`Original stack:
  3332. ${t.stack}
  3333. Handler stack:
  3334. ${n.stack}`),n};F_.prototype.isDestroyed=function(){return!1};F_.prototype.destroy=function(){return this.unload(),fe(this)};var to=F_;var $2e={UNLOADED:0,LOADING:1,PROCESSING:2,READY:3,FAILED:4},Nt=Object.freeze($2e);function Nm(e){e=y(e,y.EMPTY_OBJECT);let t=e.typedArray,n=e.resource,i=e.cacheKey;this._typedArray=t,this._resource=n,this._cacheKey=i,this._state=Nt.UNLOADED,this._promise=void 0}l(Object.create)&&(Nm.prototype=Object.create(to.prototype),Nm.prototype.constructor=Nm);Object.defineProperties(Nm.prototype,{promise:{get:function(){return this._promise}},cacheKey:{get:function(){return this._cacheKey}},typedArray:{get:function(){return this._typedArray}}});Nm.prototype.load=function(){return l(this._typedArray)?this._promise=Promise.resolve(this):this._promise=J2e(this),this._promise};function J2e(e){let t=e._resource;return e._state=Nt.LOADING,Nm._fetchArrayBuffer(t).then(function(n){if(!e.isDestroyed())return e._typedArray=new Uint8Array(n),e._state=Nt.READY,e}).catch(function(n){if(e.isDestroyed())return;e._state=Nt.FAILED;let i=`Failed to load external buffer: ${t.url}`;return Promise.reject(e.getError(i,n))})}Nm._fetchArrayBuffer=function(e){return e.fetchArrayBuffer()};Nm.prototype.unload=function(){this._typedArray=void 0};var YA=Nm;var Aoe=Ri(xoe(),1);function V_(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltf,i=e.bufferViewId,o=e.gltfResource,r=e.baseResource,s=e.cacheKey,a=n.bufferViews[i],c=a.buffer,u=a.byteOffset,f=a.byteLength,d=!1,p,g,m,C;if(eo(a,"EXT_meshopt_compression")){let A=a.extensions.EXT_meshopt_compression;c=A.buffer,u=y(A.byteOffset,0),f=A.byteLength,d=!0,p=A.byteStride,g=A.count,m=A.mode,C=y(A.filter,"NONE")}let x=n.buffers[c];this._hasMeshopt=d,this._meshoptByteStride=p,this._meshoptCount=g,this._meshoptMode=m,this._meshoptFilter=C,this._resourceCache=t,this._gltfResource=o,this._baseResource=r,this._buffer=x,this._bufferId=c,this._byteOffset=u,this._byteLength=f,this._cacheKey=s,this._bufferLoader=void 0,this._typedArray=void 0,this._state=Nt.UNLOADED,this._promise=void 0,this._process=function(A,b){}}l(Object.create)&&(V_.prototype=Object.create(to.prototype),V_.prototype.constructor=V_);Object.defineProperties(V_.prototype,{promise:{get:function(){return this._promise}},cacheKey:{get:function(){return this._cacheKey}},typedArray:{get:function(){return this._typedArray}}});V_.prototype.load=function(){let e=t3e(this);this._bufferLoader=e,this._state=Nt.LOADING;let t=this,n=new Promise(function(i){t._process=function(o,r){if(!o._hasMeshopt||!l(o._typedArray)||o._state!==Nt.PROCESSING)return;let s=o._meshoptCount,a=o._meshoptByteStride,c=new Uint8Array(s*a);Aoe.MeshoptDecoder.decodeGltfBuffer(c,s,a,o._typedArray,o._meshoptMode,o._meshoptFilter),o._typedArray=c,o._state=Nt.READY,i(o)}});return this._promise=e.promise.then(function(){if(t.isDestroyed())return;let i=e.typedArray,o=new Uint8Array(i.buffer,i.byteOffset+t._byteOffset,t._byteLength);return t.unload(),t._typedArray=o,t._hasMeshopt?(t._state=Nt.PROCESSING,n):(t._state=Nt.READY,t)}).catch(function(i){if(t.isDestroyed())return;t.unload(),t._state=Nt.FAILED;let o="Failed to load buffer view";return Promise.reject(t.getError(o,i))}),this._promise};function t3e(e){let t=e._resourceCache,n=e._buffer;if(l(n.uri)){let o=e._baseResource.getDerivedResource({url:n.uri});return t.loadExternalBuffer({resource:o})}return t.loadEmbeddedBuffer({parentResource:e._gltfResource,bufferId:e._bufferId})}V_.prototype.process=function(e){return this._process(this,e)};V_.prototype.unload=function(){l(this._bufferLoader)&&this._resourceCache.unload(this._bufferLoader),this._bufferLoader=void 0,this._typedArray=void 0};var QS=V_;function ba(){}ba._maxDecodingConcurrency=Math.max(Mt.hardwareConcurrency-1,1);ba._decoderTaskProcessor=void 0;ba._taskProcessorReady=!1;ba._getDecoderTaskProcessor=function(){if(!l(ba._decoderTaskProcessor)){let e=new Ti("decodeDraco",ba._maxDecodingConcurrency);e.initWebAssemblyModule({modulePath:"ThirdParty/Workers/draco_decoder_nodejs.js",wasmBinaryFile:"ThirdParty/draco_decoder.wasm"}).then(function(){ba._taskProcessorReady=!0}),ba._decoderTaskProcessor=e}return ba._decoderTaskProcessor};ba.decodePointCloud=function(e){let t=ba._getDecoderTaskProcessor();if(!!ba._taskProcessorReady)return t.scheduleTask(e,[e.buffer.buffer])};ba.decodeBufferView=function(e){let t=ba._getDecoderTaskProcessor();if(!!ba._taskProcessorReady)return t.scheduleTask(e,[e.array.buffer])};var k_=ba;function U_(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltf,i=e.draco,o=e.gltfResource,r=e.baseResource,s=e.cacheKey;this._resourceCache=t,this._gltfResource=o,this._baseResource=r,this._gltf=n,this._draco=i,this._cacheKey=s,this._bufferViewLoader=void 0,this._bufferViewTypedArray=void 0,this._decodePromise=void 0,this._decodedData=void 0,this._state=Nt.UNLOADED,this._promise=void 0,this._process=function(a,c){}}l(Object.create)&&(U_.prototype=Object.create(to.prototype),U_.prototype.constructor=U_);Object.defineProperties(U_.prototype,{promise:{get:function(){return this._promise}},cacheKey:{get:function(){return this._cacheKey}},decodedData:{get:function(){return this._decodedData}}});U_.prototype.load=function(){let t=this._resourceCache.loadBufferView({gltf:this._gltf,bufferViewId:this._draco.bufferView,gltfResource:this._gltfResource,baseResource:this._baseResource});this._bufferViewLoader=t,this._state=Nt.LOADING;let n=this,i=new Promise(function(o,r){n._process=function(s,a){if(!l(s._bufferViewTypedArray)||l(s._decodePromise))return;let c=s._draco,f=s._gltf.bufferViews,d=c.bufferView,p=f[d],g=c.attributes,m={array:new Uint8Array(s._bufferViewTypedArray),bufferView:p,compressedAttributes:g,dequantizeInShader:!0},C=k_.decodeBufferView(m);!l(C)||(s._decodePromise=C.then(function(x){if(s.isDestroyed()){o();return}s.unload(),s._decodedData={indices:x.indexArray,vertexAttributes:x.attributeData},s._state=Nt.READY,o(s)}).catch(function(x){if(s.isDestroyed()){o();return}r(x)}))}});return this._promise=t.promise.then(function(){if(!n.isDestroyed())return n._bufferViewTypedArray=t.typedArray,n._state=Nt.PROCESSING,i}).catch(function(o){if(!n.isDestroyed())return n3e(n,o)}),this._promise};function n3e(e,t){e.unload(),e._state=Nt.FAILED;let n="Failed to load Draco";return Promise.reject(e.getError(n,t))}U_.prototype.process=function(e){return this._process(this,e)};U_.prototype.unload=function(){l(this._bufferViewLoader)&&this._resourceCache.unload(this._bufferViewLoader),this._bufferViewLoader=void 0,this._bufferViewTypedArray=void 0,this._decodedData=void 0,this._gltf=void 0};var ew=U_;function Fm(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltf,i=e.imageId,o=e.gltfResource,r=e.baseResource,s=e.cacheKey,a=n.images[i],c=a.bufferView,u=a.uri;this._resourceCache=t,this._gltfResource=o,this._baseResource=r,this._gltf=n,this._bufferViewId=c,this._uri=u,this._cacheKey=s,this._bufferViewLoader=void 0,this._image=void 0,this._mipLevels=void 0,this._state=Nt.UNLOADED,this._promise=void 0}l(Object.create)&&(Fm.prototype=Object.create(to.prototype),Fm.prototype.constructor=Fm);Object.defineProperties(Fm.prototype,{promise:{get:function(){return this._promise}},cacheKey:{get:function(){return this._cacheKey}},image:{get:function(){return this._image}},mipLevels:{get:function(){return this._mipLevels}}});Fm.prototype.load=function(){return l(this._bufferViewId)?(this._promise=i3e(this),this._promise):(this._promise=o3e(this),this._promise)};function Toe(e){let t;return Array.isArray(e)&&(t=e.slice(1,e.length).map(function(n){return n.bufferView}),e=e[0]),{image:e,mipLevels:t}}function i3e(e){let n=e._resourceCache.loadBufferView({gltf:e._gltf,bufferViewId:e._bufferViewId,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._bufferViewLoader=n,e._state=Nt.LOADING,n.promise.then(function(){if(e.isDestroyed())return;let i=n.typedArray;return s3e(i).then(function(o){if(e.isDestroyed())return;let r=Toe(o);return e.unload(),e._image=r.image,e._mipLevels=r.mipLevels,e._state=Nt.READY,e})}).catch(function(i){if(!e.isDestroyed())return Eoe(e,i,"Failed to load embedded image")})}function o3e(e){let t=e._baseResource,n=e._uri,i=t.getDerivedResource({url:n});return e._state=Nt.LOADING,c3e(i).then(function(o){if(e.isDestroyed())return;let r=Toe(o);return e.unload(),e._image=r.image,e._mipLevels=r.mipLevels,e._state=Nt.READY,e}).catch(function(o){if(!e.isDestroyed())return Eoe(e,o,`Failed to load image: ${n}`)})}function Eoe(e,t,n){return e.unload(),e._state=Nt.FAILED,Promise.reject(e.getError(n,t))}function r3e(e){let t=e.subarray(0,2),n=e.subarray(0,4),i=e.subarray(8,12);if(t[0]===255&&t[1]===216)return"image/jpeg";if(t[0]===137&&t[1]===80)return"image/png";if(t[0]===171&&t[1]===75)return"image/ktx2";if(n[0]===82&&n[1]===73&&n[2]===70&&n[3]===70&&i[0]===87&&i[1]===69&&i[2]===66&&i[3]===80)return"image/webp";throw new de("Image format is not recognized")}function s3e(e){let t=r3e(e);if(t==="image/ktx2"){let n=new Uint8Array(e);return xl(n)}return Fm._loadImageFromTypedArray({uint8Array:e,format:t,flipY:!1,skipColorSpaceConversion:!0})}var a3e=/(^data:image\/ktx2)|(\.ktx2$)/i;function c3e(e){let t=e.url;return a3e.test(t)?xl(e):e.fetchImage({skipColorSpaceConversion:!0,preferImageBitmap:!0})}Fm.prototype.unload=function(){l(this._bufferViewLoader)&&this._resourceCache.unload(this._bufferViewLoader),this._bufferViewLoader=void 0,this._uri=void 0,this._image=void 0,this._mipLevels=void 0,this._gltf=void 0};Fm._loadImageFromTypedArray=yA;var tw=Fm;var l3e={TEXTURE:0,PROGRAM:1,BUFFER:2,NUMBER_OF_JOB_TYPES:3},Sa=Object.freeze(l3e);function z_(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltf,i=e.accessorId,o=e.gltfResource,r=e.baseResource,s=e.draco,a=e.cacheKey,c=y(e.asynchronous,!0),u=y(e.loadBuffer,!1),f=y(e.loadTypedArray,!1),d=n.accessors[i].componentType;this._resourceCache=t,this._gltfResource=o,this._baseResource=r,this._gltf=n,this._accessorId=i,this._indexDatatype=d,this._draco=s,this._cacheKey=a,this._asynchronous=c,this._loadBuffer=u,this._loadTypedArray=f,this._bufferViewLoader=void 0,this._dracoLoader=void 0,this._typedArray=void 0,this._buffer=void 0,this._state=Nt.UNLOADED,this._promise=void 0,this._process=function(p,g){}}l(Object.create)&&(z_.prototype=Object.create(to.prototype),z_.prototype.constructor=z_);Object.defineProperties(z_.prototype,{promise:{get:function(){return this._promise}},cacheKey:{get:function(){return this._cacheKey}},buffer:{get:function(){return this._buffer}},typedArray:{get:function(){return this._typedArray}},indexDatatype:{get:function(){return this._indexDatatype}}});var u3e=new i6;z_.prototype.load=function(){let e;l(this._draco)?e=f3e(this):e=d3e(this);let t=this,n=new Promise(function(i){t._process=function(o,r){if(o._state===Nt.READY)return;let s=o._typedArray,a=o._indexDatatype;if(l(o._dracoLoader)&&o._dracoLoader.process(r),l(o._bufferViewLoader)&&o._bufferViewLoader.process(r),!l(s))return;let c;if(o._loadBuffer&&o._asynchronous){let u=u3e;if(u.set(s,a,r.context),!r.jobScheduler.execute(u,Sa.BUFFER))return;c=u.buffer}else o._loadBuffer&&(c=boe(s,a,r.context));o.unload(),o._buffer=c,o._typedArray=o._loadTypedArray?s:void 0,o._state=Nt.READY,i(o)}});return this._promise=e.then(function(){if(!t.isDestroyed())return n}).catch(function(i){if(!t.isDestroyed())return m3e(t,i)}),this._promise};function f3e(e){let n=e._resourceCache.loadDraco({gltf:e._gltf,draco:e._draco,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._dracoLoader=n,e._state=Nt.LOADING,n.promise.then(function(){if(e.isDestroyed())return;let i=n.decodedData.indices.typedArray;return e._typedArray=i,e._indexDatatype=Z.fromTypedArray(i),e._state=Nt.PROCESSING,e})}function d3e(e){let t=e._gltf,n=e._accessorId,o=t.accessors[n].bufferView,s=e._resourceCache.loadBufferView({gltf:t,bufferViewId:o,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._state=Nt.LOADING,e._bufferViewLoader=s,s.promise.then(function(){if(e.isDestroyed())return;let a=s.typedArray;return e._typedArray=h3e(e,a),e._state=Nt.PROCESSING,e})}function h3e(e,t){let n=e._gltf,i=e._accessorId,o=n.accessors[i],r=o.count,s=o.componentType,a=t.buffer,c=t.byteOffset+o.byteOffset,u;return s===Be.UNSIGNED_BYTE?u=new Uint8Array(a,c,r):s===Be.UNSIGNED_SHORT?u=new Uint16Array(a,c,r):s===Be.UNSIGNED_INT&&(u=new Uint32Array(a,c,r)),u}function m3e(e,t){e.unload(),e._state=Nt.FAILED;let n="Failed to load index buffer";return t=e.getError(n,t),Promise.reject(t)}function i6(){this.typedArray=void 0,this.indexDatatype=void 0,this.context=void 0,this.buffer=void 0}i6.prototype.set=function(e,t,n){this.typedArray=e,this.indexDatatype=t,this.context=n};i6.prototype.execute=function(){this.buffer=boe(this.typedArray,this.indexDatatype,this.context)};function boe(e,t,n){let i=ct.createIndexBuffer({typedArray:e,context:n,usage:Le.STATIC_DRAW,indexDatatype:t});return i.vertexArrayDestroyable=!1,i}z_.prototype.process=function(e){return this._process(this,e)};z_.prototype.unload=function(){l(this._buffer)&&this._buffer.destroy();let e=this._resourceCache;l(this._bufferViewLoader)&&e.unload(this._bufferViewLoader),l(this._dracoLoader)&&e.unload(this._dracoLoader),this._bufferViewLoader=void 0,this._dracoLoader=void 0,this._typedArray=void 0,this._buffer=void 0,this._gltf=void 0};var nw=z_;function p3e(e,t,n){if(n=y(n,!1),n){let i=e.indexOf(t);if(i>-1)return i}return e.push(t),e.length-1}var fs=p3e;function _3e(e,t){return l(e.extensionsUsed)&&e.extensionsUsed.indexOf(t)>=0}var gr=_3e;function Ht(){}Ht.objectLegacy=function(e,t){if(l(e)){for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n)){let i=e[n],o=t(i,n);if(l(o))return o}}};Ht.object=function(e,t){if(l(e)){let n=e.length;for(let i=0;i<n;i++){let o=e[i],r=t(o,i);if(l(r))return r}}};Ht.topLevel=function(e,t,n){let i=e[t];return l(i)&&!Array.isArray(i)?Ht.objectLegacy(i,n):Ht.object(i,n)};Ht.accessor=function(e,t){return Ht.topLevel(e,"accessors",t)};Ht.accessorWithSemantic=function(e,t,n){let i={};return Ht.mesh(e,function(o){return Ht.meshPrimitive(o,function(r){let s=Ht.meshPrimitiveAttribute(r,function(a,c){if(c.indexOf(t)===0&&!l(i[a])){i[a]=!0;let u=n(a);if(l(u))return u}});return l(s)?s:Ht.meshPrimitiveTarget(r,function(a){return Ht.meshPrimitiveTargetAttribute(a,function(c,u){if(u.indexOf(t)===0&&!l(i[c])){i[c]=!0;let f=n(c);if(l(f))return f}})})})})};Ht.accessorContainingVertexAttributeData=function(e,t){let n={};return Ht.mesh(e,function(i){return Ht.meshPrimitive(i,function(o){let r=Ht.meshPrimitiveAttribute(o,function(s){if(!l(n[s])){n[s]=!0;let a=t(s);if(l(a))return a}});return l(r)?r:Ht.meshPrimitiveTarget(o,function(s){return Ht.meshPrimitiveTargetAttribute(s,function(a){if(!l(n[a])){n[a]=!0;let c=t(a);if(l(c))return c}})})})})};Ht.accessorContainingIndexData=function(e,t){let n={};return Ht.mesh(e,function(i){return Ht.meshPrimitive(i,function(o){let r=o.indices;if(l(r)&&!l(n[r])){n[r]=!0;let s=t(r);if(l(s))return s}})})};Ht.animation=function(e,t){return Ht.topLevel(e,"animations",t)};Ht.animationChannel=function(e,t){let n=e.channels;return Ht.object(n,t)};Ht.animationSampler=function(e,t){let n=e.samplers;return Ht.object(n,t)};Ht.buffer=function(e,t){return Ht.topLevel(e,"buffers",t)};Ht.bufferView=function(e,t){return Ht.topLevel(e,"bufferViews",t)};Ht.camera=function(e,t){return Ht.topLevel(e,"cameras",t)};Ht.image=function(e,t){return Ht.topLevel(e,"images",t)};Ht.material=function(e,t){return Ht.topLevel(e,"materials",t)};Ht.materialValue=function(e,t){let n=e.values;l(e.extensions)&&l(e.extensions.KHR_techniques_webgl)&&(n=e.extensions.KHR_techniques_webgl.values);for(let i in n)if(Object.prototype.hasOwnProperty.call(n,i)){let o=t(n[i],i);if(l(o))return o}};Ht.mesh=function(e,t){return Ht.topLevel(e,"meshes",t)};Ht.meshPrimitive=function(e,t){let n=e.primitives;if(l(n)){let i=n.length;for(let o=0;o<i;o++){let r=n[o],s=t(r,o);if(l(s))return s}}};Ht.meshPrimitiveAttribute=function(e,t){let n=e.attributes;for(let i in n)if(Object.prototype.hasOwnProperty.call(n,i)){let o=t(n[i],i);if(l(o))return o}};Ht.meshPrimitiveTarget=function(e,t){let n=e.targets;if(l(n)){let i=n.length;for(let o=0;o<i;++o){let r=t(n[o],o);if(l(r))return r}}};Ht.meshPrimitiveTargetAttribute=function(e,t){for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n)){let i=e[n],o=t(i,n);if(l(o))return o}};Ht.node=function(e,t){return Ht.topLevel(e,"nodes",t)};Ht.nodeInTree=function(e,t,n){let i=e.nodes;if(l(i)){let o=t.length;for(let r=0;r<o;r++){let s=t[r],a=i[s];if(l(a)){let c=n(a,s);if(l(c))return c;let u=a.children;if(l(u)&&(c=Ht.nodeInTree(e,u,n),l(c)))return c}}}};Ht.nodeInScene=function(e,t,n){let i=t.nodes;if(l(i))return Ht.nodeInTree(e,i,n)};Ht.program=function(e,t){return gr(e,"KHR_techniques_webgl")?Ht.object(e.extensions.KHR_techniques_webgl.programs,t):Ht.topLevel(e,"programs",t)};Ht.sampler=function(e,t){return Ht.topLevel(e,"samplers",t)};Ht.scene=function(e,t){return Ht.topLevel(e,"scenes",t)};Ht.shader=function(e,t){return gr(e,"KHR_techniques_webgl")?Ht.object(e.extensions.KHR_techniques_webgl.shaders,t):Ht.topLevel(e,"shaders",t)};Ht.skin=function(e,t){return Ht.topLevel(e,"skins",t)};Ht.skinJoint=function(e,t){let n=e.joints;if(l(n)){let i=n.length;for(let o=0;o<i;o++){let r=n[o],s=t(r);if(l(s))return s}}};Ht.techniqueAttribute=function(e,t){let n=e.attributes;for(let i in n)if(Object.prototype.hasOwnProperty.call(n,i)){let o=t(n[i],i);if(l(o))return o}};Ht.techniqueUniform=function(e,t){let n=e.uniforms;for(let i in n)if(Object.prototype.hasOwnProperty.call(n,i)){let o=t(n[i],i);if(l(o))return o}};Ht.techniqueParameter=function(e,t){let n=e.parameters;for(let i in n)if(Object.prototype.hasOwnProperty.call(n,i)){let o=t(n[i],i);if(l(o))return o}};Ht.technique=function(e,t){return gr(e,"KHR_techniques_webgl")?Ht.object(e.extensions.KHR_techniques_webgl.techniques,t):Ht.topLevel(e,"techniques",t)};Ht.texture=function(e,t){return Ht.topLevel(e,"textures",t)};var De=Ht;function g3e(e){switch(e){case"SCALAR":return 1;case"VEC2":return 2;case"VEC3":return 3;case"VEC4":case"MAT2":return 4;case"MAT3":return 9;case"MAT4":return 16}}var Eu=g3e;function y3e(e,t){let n=t.bufferView;if(l(n)){let i=e.bufferViews[n];if(l(i.byteStride)&&i.byteStride>0)return i.byteStride}return Z.getSizeInBytes(t.componentType)*Eu(t.type)}var Dl=y3e;function C3e(e){De.accessor(e,function(n){l(n.bufferView)&&(n.byteOffset=y(n.byteOffset,0))}),De.bufferView(e,function(n){l(n.buffer)&&(n.byteOffset=y(n.byteOffset,0))}),De.mesh(e,function(n){De.meshPrimitive(n,function(i){if(i.mode=y(i.mode,te.TRIANGLES),!l(i.material)){l(e.materials)||(e.materials=[]);let o={name:"default"};i.material=fs(e.materials,o)}})}),De.accessorContainingVertexAttributeData(e,function(n){let i=e.accessors[n],o=i.bufferView;if(i.normalized=y(i.normalized,!1),l(o)){let r=e.bufferViews[o];r.byteStride=Dl(e,i),r.target=te.ARRAY_BUFFER}}),De.accessorContainingIndexData(e,function(n){let o=e.accessors[n].bufferView;if(l(o)){let r=e.bufferViews[o];r.target=te.ELEMENT_ARRAY_BUFFER}}),De.material(e,function(n){let i=y(n.extensions,y.EMPTY_OBJECT),o=i.KHR_materials_common;if(l(o)){let c=o.technique,u=l(o.values)?o.values:{};o.values=u,u.ambient=l(u.ambient)?u.ambient:[0,0,0,1],u.emission=l(u.emission)?u.emission:[0,0,0,1],u.transparency=y(u.transparency,1),c!=="CONSTANT"&&(u.diffuse=l(u.diffuse)?u.diffuse:[0,0,0,1],c!=="LAMBERT"&&(u.specular=l(u.specular)?u.specular:[0,0,0,1],u.shininess=y(u.shininess,0))),o.transparent=y(o.transparent,!1),o.doubleSided=y(o.doubleSided,!1);return}n.emissiveFactor=y(n.emissiveFactor,[0,0,0]),n.alphaMode=y(n.alphaMode,"OPAQUE"),n.doubleSided=y(n.doubleSided,!1),n.alphaMode==="MASK"&&(n.alphaCutoff=y(n.alphaCutoff,.5));let r=i.KHR_techniques_webgl;l(r)&&De.materialValue(n,function(c){l(c.index)&&wy(c)}),wy(n.emissiveTexture),wy(n.normalTexture),wy(n.occlusionTexture);let s=n.pbrMetallicRoughness;l(s)&&(s.baseColorFactor=y(s.baseColorFactor,[1,1,1,1]),s.metallicFactor=y(s.metallicFactor,1),s.roughnessFactor=y(s.roughnessFactor,1),wy(s.baseColorTexture),wy(s.metallicRoughnessTexture));let a=i.KHR_materials_pbrSpecularGlossiness;l(a)&&(a.diffuseFactor=y(a.diffuseFactor,[1,1,1,1]),a.specularFactor=y(a.specularFactor,[1,1,1]),a.glossinessFactor=y(a.glossinessFactor,1),wy(a.specularGlossinessTexture))}),De.animation(e,function(n){De.animationSampler(n,function(i){i.interpolation=y(i.interpolation,"LINEAR")})});let t=x3e(e);return De.node(e,function(n,i){l(t[i])||l(n.translation)||l(n.rotation)||l(n.scale)?(n.translation=y(n.translation,[0,0,0]),n.rotation=y(n.rotation,[0,0,0,1]),n.scale=y(n.scale,[1,1,1])):n.matrix=y(n.matrix,[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}),De.sampler(e,function(n){n.wrapS=y(n.wrapS,te.REPEAT),n.wrapT=y(n.wrapT,te.REPEAT)}),l(e.scenes)&&!l(e.scene)&&(e.scene=0),e}function x3e(e){let t={};return De.animation(e,function(n){De.animationChannel(n,function(i){let o=i.target,r=o.node,s=o.path;(s==="translation"||s==="rotation"||s==="scale")&&(t[r]=!0)})}),t}function wy(e){l(e)&&(e.texCoord=y(e.texCoord,0))}var kB=C3e;function A3e(e){return De.shader(e,function(t){UB(t)}),De.buffer(e,function(t){UB(t)}),De.image(e,function(t){UB(t)}),UB(e),e}function UB(e){e.extras=l(e.extras)?e.extras:{},e.extras._pipeline=l(e.extras._pipeline)?e.extras._pipeline:{}}var vy=A3e;function T3e(e,t){let n=e.extensionsRequired;if(l(n)){let i=n.indexOf(t);i>=0&&n.splice(i,1),n.length===0&&delete e.extensionsRequired}}var zB=T3e;function E3e(e,t){let n=e.extensionsUsed;if(l(n)){let i=n.indexOf(t);i>=0&&n.splice(i,1),zB(e,t),n.length===0&&delete e.extensionsUsed}}var XA=E3e;var b3e=4;function S3e(e){if(Jd(e)!=="glTF")throw new de("File is not valid binary glTF");let n=Soe(e,0,5),i=n[1];if(i!==1&&i!==2)throw new de("Binary glTF version is not 1 or 2");return i===1?w3e(e,n):v3e(e,n)}function Soe(e,t,n){let i=new DataView(e.buffer),o=new Array(n);for(let r=0;r<n;++r)o[r]=i.getUint32(e.byteOffset+t+r*b3e,!0);return o}function w3e(e,t){let n=t[2],i=t[3];if(t[4]!==0)throw new de("Binary glTF scene format is not JSON");let r=20,s=r+i,a=ml(e,r,i),c=JSON.parse(a);vy(c);let u=e.subarray(s,n),f=c.buffers;if(l(f)&&Object.keys(f).length>0){let d=y(f.binary_glTF,f.KHR_binary_glTF);l(d)&&(d.extras._pipeline.source=u,delete d.uri)}return XA(c,"KHR_binary_glTF"),c}function v3e(e,t){let n=t[2],i=12,o,r;for(;i<n;){let s=Soe(e,i,2),a=s[0],c=s[1];i+=8;let u=e.subarray(i,i+a);if(i+=a,c===1313821514){let f=ml(u);o=JSON.parse(f),vy(o)}else c===5130562&&(r=u)}if(l(o)&&l(r)){let s=o.buffers;if(l(s)&&s.length>0){let a=s[0];a.extras._pipeline.source=r}}return o}var HB=S3e;function D3e(e){return De.shader(e,function(t){GB(t)}),De.buffer(e,function(t){GB(t)}),De.image(e,function(t){GB(t)}),GB(e),e}function GB(e){!l(e.extras)||(l(e.extras._pipeline)&&delete e.extras._pipeline,Object.keys(e.extras).length===0&&delete e.extras)}var WB=D3e;function P3e(e,t){let n=e.extensionsUsed;l(n)||(n=[],e.extensionsUsed=n),fs(n,t,!0)}var Pf=P3e;function I3e(e){switch(e){case Z.BYTE:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getInt8(n+s*o)};case Z.UNSIGNED_BYTE:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getUint8(n+s*o)};case Z.SHORT:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getInt16(n+s*o,!0)};case Z.UNSIGNED_SHORT:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getUint16(n+s*o,!0)};case Z.INT:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getInt32(n+s*o,!0)};case Z.UNSIGNED_INT:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getUint32(n+s*o,!0)};case Z.FLOAT:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getFloat32(n+s*o,!0)};case Z.DOUBLE:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getFloat64(n+s*o,!0)}}}var H_=I3e;function O3e(e,t){let n=e.bufferViews,i=e.buffers,o=t.bufferView,r=Eu(t.type);if(!l(t.bufferView))return{min:new Array(r).fill(0),max:new Array(r).fill(0)};let s=new Array(r).fill(Number.POSITIVE_INFINITY),a=new Array(r).fill(Number.NEGATIVE_INFINITY),c=n[o],u=c.buffer,d=i[u].extras._pipeline.source,p=t.count,g=Dl(e,t),m=t.byteOffset+c.byteOffset+d.byteOffset,C=t.componentType,x=Z.getSizeInBytes(C),A=new DataView(d.buffer),b=new Array(r),E=H_(C);for(let S=0;S<p;S++){E(A,m,r,x,b);for(let v=0;v<r;v++){let P=b[v];s[v]=Math.min(s[v],P),a[v]=Math.max(a[v],P)}m+=g}return{min:s,max:a}}var KA=O3e;var R3e=[te.FUNC_ADD,te.FUNC_ADD],M3e=[te.ONE,te.ZERO,te.ONE,te.ZERO];function woe(e,t){let n=e.enable;return l(n)?n.indexOf(t)>-1:!1}var B3e=[te.ZERO,te.ONE,te.SRC_COLOR,te.ONE_MINUS_SRC_COLOR,te.SRC_ALPHA,te.ONE_MINUS_SRC_ALPHA,te.DST_ALPHA,te.ONE_MINUS_DST_ALPHA,te.DST_COLOR,te.ONE_MINUS_DST_COLOR];function L3e(e,t){if(!l(e))return t;for(let n=0;n<4;n++)if(B3e.indexOf(e[n])===-1)return t;return e}function N3e(e){let t={},n={},i=e.techniques;return l(i)&&(De.technique(e,function(o,r){let s=o.states;if(l(s)){let a=n[r]={};if(woe(s,te.BLEND)){a.alphaMode="BLEND";let c=s.functions;l(c)&&(l(c.blendEquationSeparate)||l(c.blendFuncSeparate))&&(t[r]={blendEquation:y(c.blendEquationSeparate,R3e),blendFactors:L3e(c.blendFuncSeparate,M3e)})}woe(s,te.CULL_FACE)||(a.doubleSided=!0),delete o.states}}),Object.keys(t).length>0&&(l(e.extensions)||(e.extensions={}),Pf(e,"KHR_blend")),De.material(e,function(o){if(l(o.technique)){let r=n[o.technique];De.objectLegacy(r,function(a,c){o[c]=a});let s=t[o.technique];l(s)&&(l(o.extensions)||(o.extensions={}),o.extensions.KHR_blend=s)}})),e}var jB=N3e;function F3e(e,t){let n=e.extensionsRequired;l(n)||(n=[],e.extensionsRequired=n),fs(n,t,!0),Pf(e,t)}var qB=F3e;function V3e(e){let t=e.techniques,n={},i={},o={};if(l(t)){let r={programs:[],shaders:[],techniques:[]},s=e.glExtensionsUsed;delete e.glExtensionsUsed,De.technique(e,function(a,c){let u={name:a.name,program:void 0,attributes:{},uniforms:{}},f;if(De.techniqueAttribute(a,function(d,p){f=a.parameters[d],u.attributes[p]={semantic:f.semantic}}),De.techniqueUniform(a,function(d,p){f=a.parameters[d],u.uniforms[p]={count:f.count,node:f.node,type:f.type,semantic:f.semantic,value:f.value},l(n[c])||(n[c]={}),n[c][d]=p}),l(o[a.program]))u.program=o[a.program];else{let d=e.programs[a.program],p={name:d.name,fragmentShader:void 0,vertexShader:void 0,glExtensions:s},g=e.shaders[d.fragmentShader];p.fragmentShader=fs(r.shaders,g,!0);let m=e.shaders[d.vertexShader];p.vertexShader=fs(r.shaders,m,!0),u.program=fs(r.programs,p),o[a.program]=u.program}i[c]=fs(r.techniques,u)}),r.techniques.length>0&&(l(e.extensions)||(e.extensions={}),e.extensions.KHR_techniques_webgl=r,Pf(e,"KHR_techniques_webgl"),qB(e,"KHR_techniques_webgl"))}return De.material(e,function(r){if(l(r.technique)){let s={technique:i[r.technique]};De.objectLegacy(r.values,function(a,c){l(s.values)||(s.values={});let u=n[r.technique][c];l(u)&&(s.values[u]=a)}),l(r.extensions)||(r.extensions={}),r.extensions.KHR_techniques_webgl=s}delete r.technique,delete r.values}),delete e.techniques,delete e.programs,delete e.shaders,e}var YB=V3e;function k3e(e,t){ul.typeOf.object("material",e),ul.defined("handler",t);let n=e.pbrMetallicRoughness;if(l(n)){if(l(n.baseColorTexture)){let o=n.baseColorTexture,r=t(o.index,o);if(l(r))return r}if(l(n.metallicRoughnessTexture)){let o=n.metallicRoughnessTexture,r=t(o.index,o);if(l(r))return r}}if(l(e.extensions)){let o=e.extensions.KHR_materials_pbrSpecularGlossiness;if(l(o)){if(l(o.diffuseTexture)){let s=o.diffuseTexture,a=t(s.index,s);if(l(a))return a}if(l(o.specularGlossinessTexture)){let s=o.specularGlossinessTexture,a=t(s.index,s);if(l(a))return a}}let r=e.extensions.KHR_materials_common;if(l(r)&&l(r.values)){let s=r.values.diffuse,a=r.values.ambient,c=r.values.emission,u=r.values.specular;if(l(s)&&l(s.index)){let f=t(s.index,s);if(l(f))return f}if(l(a)&&l(a.index)){let f=t(a.index,a);if(l(f))return f}if(l(c)&&l(c.index)){let f=t(c.index,c);if(l(f))return f}if(l(u)&&l(u.index)){let f=t(u.index,u);if(l(f))return f}}}let i=De.materialValue(e,function(o){if(l(o.index)){let r=t(o.index,o);if(l(r))return r}});if(l(i))return i;if(l(e.emissiveTexture)){let o=e.emissiveTexture,r=t(o.index,o);if(l(r))return r}if(l(e.normalTexture)){let o=e.normalTexture,r=t(o.index,o);if(l(r))return r}if(l(e.occlusionTexture)){let o=e.occlusionTexture,r=t(o.index,o);if(l(r))return r}}var iw=k3e;var voe=["mesh","node","material","accessor","bufferView","buffer","texture","sampler","image"];function U3e(e,t){return t=y(t,voe),voe.forEach(function(n){t.indexOf(n)>-1&&H3e(e,n)}),e}var z3e={accessor:"accessors",buffer:"buffers",bufferView:"bufferViews",image:"images",node:"nodes",material:"materials",mesh:"meshes",sampler:"samplers",texture:"textures"};function H3e(e,t){let n=z3e[t],i=e[n];if(l(i)){let o=0,r=fh[t](e),s=i.length;for(let a=0;a<s;++a)r[a]||(uh[t](e,a-o),o++)}}function uh(){}uh.accessor=function(e,t){e.accessors.splice(t,1),De.mesh(e,function(i){De.meshPrimitive(i,function(o){De.meshPrimitiveAttribute(o,function(s,a){s>t&&o.attributes[a]--}),De.meshPrimitiveTarget(o,function(s){De.meshPrimitiveTargetAttribute(s,function(a,c){a>t&&s[c]--})});let r=o.indices;l(r)&&r>t&&o.indices--})}),De.skin(e,function(i){l(i.inverseBindMatrices)&&i.inverseBindMatrices>t&&i.inverseBindMatrices--}),De.animation(e,function(i){De.animationSampler(i,function(o){l(o.input)&&o.input>t&&o.input--,l(o.output)&&o.output>t&&o.output--})})};uh.buffer=function(e,t){e.buffers.splice(t,1),De.bufferView(e,function(i){l(i.buffer)&&i.buffer>t&&i.buffer--,l(i.extensions)&&l(i.extensions.EXT_meshopt_compression)&&i.extensions.EXT_meshopt_compression.buffer--})};uh.bufferView=function(e,t){if(e.bufferViews.splice(t,1),De.accessor(e,function(i){l(i.bufferView)&&i.bufferView>t&&i.bufferView--}),De.shader(e,function(i){l(i.bufferView)&&i.bufferView>t&&i.bufferView--}),De.image(e,function(i){l(i.bufferView)&&i.bufferView>t&&i.bufferView--}),gr(e,"KHR_draco_mesh_compression")&&De.mesh(e,function(i){De.meshPrimitive(i,function(o){l(o.extensions)&&l(o.extensions.KHR_draco_mesh_compression)&&o.extensions.KHR_draco_mesh_compression.bufferView>t&&o.extensions.KHR_draco_mesh_compression.bufferView--})}),gr(e,"EXT_feature_metadata")){let o=e.extensions.EXT_feature_metadata.featureTables;for(let r in o)if(o.hasOwnProperty(r)){let a=o[r].properties;if(l(a)){for(let c in a)if(a.hasOwnProperty(c)){let u=a[c];l(u.bufferView)&&u.bufferView>t&&u.bufferView--,l(u.arrayOffsetBufferView)&&u.arrayOffsetBufferView>t&&u.arrayOffsetBufferView--,l(u.stringOffsetBufferView)&&u.stringOffsetBufferView>t&&u.stringOffsetBufferView--}}}}if(gr(e,"EXT_structural_metadata")){let o=e.extensions.EXT_structural_metadata.propertyTables;if(l(o)){let r=o.length;for(let s=0;s<r;++s){let c=o[s].properties;for(let u in c)if(c.hasOwnProperty(u)){let f=c[u];l(f.values)&&f.values>t&&f.values--,l(f.arrayOffsets)&&f.arrayOffsets>t&&f.arrayOffsets--,l(f.stringOffsets)&&f.stringOffsets>t&&f.stringOffsets--}}}}};uh.image=function(e,t){e.images.splice(t,1),De.texture(e,function(i){l(i.source)&&i.source>t&&--i.source;let o=i.extensions;l(o)&&l(o.EXT_texture_webp)&&o.EXT_texture_webp.source>t?--i.extensions.EXT_texture_webp.source:l(o)&&l(o.KHR_texture_basisu)&&o.KHR_texture_basisu.source>t&&--i.extensions.KHR_texture_basisu.source})};uh.mesh=function(e,t){e.meshes.splice(t,1),De.node(e,function(i){l(i.mesh)&&(i.mesh>t?i.mesh--:i.mesh===t&&delete i.mesh)})};uh.node=function(e,t){e.nodes.splice(t,1),De.skin(e,function(i){l(i.skeleton)&&i.skeleton>t&&i.skeleton--,i.joints=i.joints.map(function(o){return o>t?o-1:o})}),De.animation(e,function(i){De.animationChannel(i,function(o){l(o.target)&&l(o.target.node)&&o.target.node>t&&o.target.node--})}),De.technique(e,function(i){De.techniqueUniform(i,function(o){l(o.node)&&o.node>t&&o.node--})}),De.node(e,function(i){!l(i.children)||(i.children=i.children.filter(function(o){return o!==t}).map(function(o){return o>t?o-1:o}))}),De.scene(e,function(i){i.nodes=i.nodes.filter(function(o){return o!==t}).map(function(o){return o>t?o-1:o})})};uh.material=function(e,t){e.materials.splice(t,1),De.mesh(e,function(i){De.meshPrimitive(i,function(o){l(o.material)&&o.material>t&&o.material--})})};uh.sampler=function(e,t){e.samplers.splice(t,1),De.texture(e,function(i){l(i.sampler)&&i.sampler>t&&--i.sampler})};uh.texture=function(e,t){if(e.textures.splice(t,1),De.material(e,function(i){iw(i,function(o,r){r.index>t&&--r.index})}),gr(e,"EXT_feature_metadata")){De.mesh(e,function(r){De.meshPrimitive(r,function(s){let a=s.extensions;if(l(a)&&l(a.EXT_feature_metadata)){let u=a.EXT_feature_metadata.featureIdTextures;if(l(u)){let f=u.length;for(let d=0;d<f;++d){let g=u[d].featureIds.texture;g.index>t&&--g.index}}}})});let o=e.extensions.EXT_feature_metadata.featureTextures;for(let r in o)if(o.hasOwnProperty(r)){let a=o[r].properties;if(l(a)){for(let c in a)if(a.hasOwnProperty(c)){let f=a[c].texture;f.index>t&&--f.index}}}}if(gr(e,"EXT_mesh_features")&&De.mesh(e,function(i){De.meshPrimitive(i,function(o){let r=o.extensions;if(l(r)&&l(r.EXT_mesh_features)){let a=r.EXT_mesh_features.featureIds;if(l(a)){let c=a.length;for(let u=0;u<c;++u){let f=a[u];l(f.texture)&&f.texture.index>t&&--f.texture.index}}}})}),gr(e,"EXT_structural_metadata")){let o=e.extensions.EXT_structural_metadata.propertyTextures;if(l(o)){let r=o.length;for(let s=0;s<r;++s){let c=o[s].properties;for(let u in c)if(c.hasOwnProperty(u)){let f=c[u];f.index>t&&--f.index}}}}};function fh(){}fh.accessor=function(e){let t={};return De.mesh(e,function(n){De.meshPrimitive(n,function(i){De.meshPrimitiveAttribute(i,function(r){t[r]=!0}),De.meshPrimitiveTarget(i,function(r){De.meshPrimitiveTargetAttribute(r,function(s){t[s]=!0})});let o=i.indices;l(o)&&(t[o]=!0)})}),De.skin(e,function(n){l(n.inverseBindMatrices)&&(t[n.inverseBindMatrices]=!0)}),De.animation(e,function(n){De.animationSampler(n,function(i){l(i.input)&&(t[i.input]=!0),l(i.output)&&(t[i.output]=!0)})}),gr(e,"EXT_mesh_gpu_instancing")&&De.node(e,function(n){l(n.extensions)&&l(n.extensions.EXT_mesh_gpu_instancing)&&Object.keys(n.extensions.EXT_mesh_gpu_instancing.attributes).forEach(function(i){let o=n.extensions.EXT_mesh_gpu_instancing.attributes[i];t[o]=!0})}),t};fh.buffer=function(e){let t={};return De.bufferView(e,function(n){l(n.buffer)&&(t[n.buffer]=!0),l(n.extensions)&&l(n.extensions.EXT_meshopt_compression)&&(t[n.extensions.EXT_meshopt_compression.buffer]=!0)}),t};fh.bufferView=function(e){let t={};if(De.accessor(e,function(n){l(n.bufferView)&&(t[n.bufferView]=!0)}),De.shader(e,function(n){l(n.bufferView)&&(t[n.bufferView]=!0)}),De.image(e,function(n){l(n.bufferView)&&(t[n.bufferView]=!0)}),gr(e,"KHR_draco_mesh_compression")&&De.mesh(e,function(n){De.meshPrimitive(n,function(i){l(i.extensions)&&l(i.extensions.KHR_draco_mesh_compression)&&(t[i.extensions.KHR_draco_mesh_compression.bufferView]=!0)})}),gr(e,"EXT_feature_metadata")){let i=e.extensions.EXT_feature_metadata.featureTables;for(let o in i)if(i.hasOwnProperty(o)){let s=i[o].properties;if(l(s)){for(let a in s)if(s.hasOwnProperty(a)){let c=s[a];l(c.bufferView)&&(t[c.bufferView]=!0),l(c.arrayOffsetBufferView)&&(t[c.arrayOffsetBufferView]=!0),l(c.stringOffsetBufferView)&&(t[c.stringOffsetBufferView]=!0)}}}}if(gr(e,"EXT_structural_metadata")){let i=e.extensions.EXT_structural_metadata.propertyTables;if(l(i)){let o=i.length;for(let r=0;r<o;++r){let a=i[r].properties;for(let c in a)if(a.hasOwnProperty(c)){let u=a[c];l(u.values)&&(t[u.values]=!0),l(u.arrayOffsets)&&(t[u.arrayOffsets]=!0),l(u.stringOffsets)&&(t[u.stringOffsets]=!0)}}}}return t};fh.image=function(e){let t={};return De.texture(e,function(n){l(n.source)&&(t[n.source]=!0),l(n.extensions)&&l(n.extensions.EXT_texture_webp)?t[n.extensions.EXT_texture_webp.source]=!0:l(n.extensions)&&l(n.extensions.KHR_texture_basisu)&&(t[n.extensions.KHR_texture_basisu.source]=!0)}),t};fh.mesh=function(e){let t={};return De.node(e,function(n){if(l(n.mesh&&l(e.meshes))){let i=e.meshes[n.mesh];l(i)&&l(i.primitives)&&i.primitives.length>0&&(t[n.mesh]=!0)}}),t};function Doe(e,t,n){let i=e.nodes[t];return l(i.mesh)||l(i.camera)||l(i.skin)||l(i.weights)||l(i.extras)||l(i.extensions)&&Object.keys(i.extensions).length!==0||l(n[t])?!1:!l(i.children)||i.children.filter(function(o){return!Doe(e,o,n)}).length===0}fh.node=function(e){let t={};return De.skin(e,function(n){l(n.skeleton)&&(t[n.skeleton]=!0),De.skinJoint(n,function(i){t[i]=!0})}),De.animation(e,function(n){De.animationChannel(n,function(i){l(i.target)&&l(i.target.node)&&(t[i.target.node]=!0)})}),De.technique(e,function(n){De.techniqueUniform(n,function(i){l(i.node)&&(t[i.node]=!0)})}),De.node(e,function(n,i){Doe(e,i,t)||(t[i]=!0)}),t};fh.material=function(e){let t={};return De.mesh(e,function(n){De.meshPrimitive(n,function(i){l(i.material)&&(t[i.material]=!0)})}),t};fh.texture=function(e){let t={};if(De.material(e,function(n){iw(n,function(i){t[i]=!0})}),gr(e,"EXT_feature_metadata")){De.mesh(e,function(o){De.meshPrimitive(o,function(r){let s=r.extensions;if(l(s)&&l(s.EXT_feature_metadata)){let c=s.EXT_feature_metadata.featureIdTextures;if(l(c)){let u=c.length;for(let f=0;f<u;++f){let p=c[f].featureIds.texture;t[p.index]=!0}}}})});let i=e.extensions.EXT_feature_metadata.featureTextures;for(let o in i)if(i.hasOwnProperty(o)){let s=i[o].properties;if(l(s)){for(let a in s)if(s.hasOwnProperty(a)){let u=s[a].texture;t[u.index]=!0}}}}if(gr(e,"EXT_mesh_features")&&De.mesh(e,function(n){De.meshPrimitive(n,function(i){let o=i.extensions;if(l(o)&&l(o.EXT_mesh_features)){let s=o.EXT_mesh_features.featureIds;if(l(s)){let a=s.length;for(let c=0;c<a;++c){let u=s[c];l(u.texture)&&(t[u.texture.index]=!0)}}}})}),gr(e,"EXT_structural_metadata")){let i=e.extensions.EXT_structural_metadata.propertyTextures;if(l(i)){let o=i.length;for(let r=0;r<o;++r){let a=i[r].properties;for(let c in a)if(a.hasOwnProperty(c)){let u=a[c];t[u.index]=!0}}}}return t};fh.sampler=function(e){let t={};return De.texture(e,function(n){l(n.sampler)&&(t[n.sampler]=!0)}),t};var XB=U3e;function G3e(e,t){let n={byteLength:t.length,extras:{_pipeline:{source:t}}},o={buffer:fs(e.buffers,n),byteOffset:0,byteLength:t.length};return fs(e.bufferViews,o)}var KB=G3e;function W3e(e,t){let n=Dl(e,t),i=Z.getSizeInBytes(t.componentType),o=Eu(t.type),r=t.count,s=new Array(o*r);if(!l(t.bufferView))return s.fill(0);let a=e.bufferViews[t.bufferView],c=e.buffers[a.buffer].extras._pipeline.source,u=t.byteOffset+a.byteOffset+c.byteOffset,f=new DataView(c.buffer),d=new Array(o),p=H_(t.componentType);for(let g=0;g<r;++g){p(f,u,o,i,d);for(let m=0;m<o;++m)s[g*o+m]=d[m];u+=n}return s}var ZB=W3e;function j3e(e){let t;return De.accessorWithSemantic(e,"JOINTS_0",function(n){let i=e.accessors[n];t=i.componentType,t===te.BYTE?$B(e,i,Z.UNSIGNED_BYTE):t!==te.UNSIGNED_BYTE&&t!==te.UNSIGNED_SHORT&&$B(e,i,Z.UNSIGNED_SHORT)}),De.accessorWithSemantic(e,"WEIGHTS_0",function(n){let i=e.accessors[n];t=i.componentType,t===te.BYTE?$B(e,i,Z.UNSIGNED_BYTE):t===te.SHORT&&$B(e,i,Z.UNSIGNED_SHORT)}),e}function $B(e,t,n){let i=Z.createTypedArray(n,ZB(e,t)),o=new Uint8Array(i.buffer);t.bufferView=KB(e,o),t.componentType=n,t.byteOffset=0}var JB=j3e;function q3e(e,t){return XA(e,t),t==="CESIUM_RTC"&&Y3e(e),o6(e,t)}function Y3e(e){De.technique(e,function(t){De.techniqueUniform(t,function(n){n.semantic==="CESIUM_RTC_MODELVIEW"&&(n.semantic="MODELVIEW")})})}function o6(e,t){if(Array.isArray(e)){let n=e.length;for(let i=0;i<n;++i)o6(e[i],t)}else if(e!==null&&typeof e=="object"&&e.constructor===Object){let n=e.extensions,i;l(n)&&(i=n[t],l(i)&&(delete n[t],Object.keys(n).length===0&&delete e.extensions));for(let o in e)Object.prototype.hasOwnProperty.call(e,o)&&o6(e[o],t);return i}}var ZA=q3e;var QB={.8:Q3e,"1.0":xVe,"2.0":void 0};function X3e(e,t){t=y(t,y.EMPTY_OBJECT);let n=t.targetVersion,i=e.version;e.asset=y(e.asset,{version:"1.0"}),e.asset.version=y(e.asset.version,"1.0"),i=y(i,e.asset.version).toString(),Object.prototype.hasOwnProperty.call(QB,i)||(l(i)&&(i=i.substring(0,3)),Object.prototype.hasOwnProperty.call(QB,i)||(i="1.0"));let o=QB[i];for(;l(o)&&i!==n;)o(e,t),i=e.asset.version,o=QB[i];return t.keepLegacyExtensions||(EVe(e),bVe(e)),e}function Ioe(e){let t=e.materials;for(let n in t)if(Object.prototype.hasOwnProperty.call(t,n)){let i=t[n],o=i.instanceTechnique;l(o)&&(i.technique=o.technique,i.values=o.values,delete i.instanceTechnique)}}function K3e(e){let t=e.meshes;for(let n in t)if(Object.prototype.hasOwnProperty.call(t,n)){let o=t[n].primitives;if(l(o)){let r=o.length;for(let s=0;s<r;++s){let a=o[s],c=y(a.primitive,te.TRIANGLES);a.mode=y(a.mode,c),delete a.primitive}}}}function Z3e(e){let t=e.nodes,n=new h,i=new Oe;for(let o in t)if(Object.prototype.hasOwnProperty.call(t,o)){let r=t[o];if(l(r.rotation)){let a=r.rotation;h.fromArray(a,0,n),Oe.fromAxisAngle(n,a[3],i),r.rotation=[i.x,i.y,i.z,i.w]}let s=r.instanceSkin;l(s)&&(r.skeletons=s.skeletons,r.skin=s.skin,r.meshes=s.meshes,delete r.instanceSkin)}}function $3e(e){let t=e.animations,n=e.accessors,i=e.bufferViews,o=e.buffers,r={},s=new h,a=new Oe;for(let c in t)if(Object.prototype.hasOwnProperty.call(t,c)){let u=t[c],f=u.channels,d=u.parameters,p=u.samplers;if(l(f)){let g=f.length;for(let m=0;m<g;++m){let C=f[m];if(C.target.path==="rotation"){let x=d[p[C.sampler].output];if(l(r[x]))continue;r[x]=!0;let A=n[x],b=i[A.bufferView],S=o[b.buffer].extras._pipeline.source,v=S.byteOffset+b.byteOffset+A.byteOffset,P=A.componentType,O=A.count,M=Eu(A.type),B=A.count*M,L=Z.createArrayBufferView(P,S.buffer,v,B);for(let _=0;_<O;_++){let T=_*M;h.unpack(L,T,s);let w=L[T+3];Oe.fromAxisAngle(s,w,a),Oe.pack(a,L,T)}}}}}}function J3e(e){let t=e.techniques;for(let n in t)if(Object.prototype.hasOwnProperty.call(t,n)){let i=t[n],o=i.passes;if(l(o)){let r=y(i.pass,"defaultPass");if(Object.prototype.hasOwnProperty.call(o,r)){let s=o[r],a=s.instanceProgram;i.attributes=y(i.attributes,a.attributes),i.program=y(i.program,a.program),i.uniforms=y(i.uniforms,a.uniforms),i.states=y(i.states,s.states)}delete i.passes,delete i.pass}}}function Q3e(e){l(e.asset)||(e.asset={});let t=e.asset;if(t.version="1.0",typeof t.profile=="string"){let n=t.profile.split(" ");t.profile={api:n[0],version:n[1]}}else t.profile={};if(l(e.version)&&delete e.version,Ioe(e),K3e(e),Z3e(e),$3e(e),J3e(e),l(e.allExtensions)&&(e.extensionsUsed=e.allExtensions,delete e.allExtensions),l(e.lights)){let n=y(e.extensions,{});e.extensions=n;let i=y(n.KHR_materials_common,{});n.KHR_materials_common=i,i.lights=e.lights,delete e.lights,Pf(e,"KHR_materials_common")}}function eVe(e){let t=e.animations;for(let n in t)if(Object.prototype.hasOwnProperty.call(t,n)){let i=t[n],o=i.parameters;if(l(o)){let r=i.samplers;for(let s in r)if(Object.prototype.hasOwnProperty.call(r,s)){let a=r[s];a.input=o[a.input],a.output=o[a.output]}delete i.parameters}}}function Poe(e,t){let n=[];for(let i in e)if(Object.prototype.hasOwnProperty.call(e,i)){let o=e[i];t[i]=n.length,n.push(o),l(o.name)||(o.name=i)}return n}function tVe(e){let t,n={accessors:{},animations:{},buffers:{},bufferViews:{},cameras:{},images:{},materials:{},meshes:{},nodes:{},programs:{},samplers:{},scenes:{},shaders:{},skins:{},textures:{},techniques:{}},i,o={},r=e.nodes;for(let s in r)Object.prototype.hasOwnProperty.call(r,s)&&(i=r[s].jointName,l(i)&&(o[i]=s));for(let s in e)if(Object.prototype.hasOwnProperty.call(e,s)&&l(n[s])){let a={},c=e[s];e[s]=Poe(c,a),n[s]=a}for(i in o)Object.prototype.hasOwnProperty.call(o,i)&&(o[i]=n.nodes[o[i]]);l(e.scene)&&(e.scene=n.scenes[e.scene]),De.bufferView(e,function(s){l(s.buffer)&&(s.buffer=n.buffers[s.buffer])}),De.accessor(e,function(s){l(s.bufferView)&&(s.bufferView=n.bufferViews[s.bufferView])}),De.shader(e,function(s){let a=s.extensions;if(l(a)){let c=a.KHR_binary_glTF;l(c)&&(s.bufferView=n.bufferViews[c.bufferView],delete a.KHR_binary_glTF),Object.keys(a).length===0&&delete s.extensions}}),De.program(e,function(s){l(s.vertexShader)&&(s.vertexShader=n.shaders[s.vertexShader]),l(s.fragmentShader)&&(s.fragmentShader=n.shaders[s.fragmentShader])}),De.technique(e,function(s){l(s.program)&&(s.program=n.programs[s.program]),De.techniqueParameter(s,function(a){l(a.node)&&(a.node=n.nodes[a.node]);let c=a.value;typeof c=="string"&&(a.value={index:n.textures[c]})})}),De.mesh(e,function(s){De.meshPrimitive(s,function(a){l(a.indices)&&(a.indices=n.accessors[a.indices]),De.meshPrimitiveAttribute(a,function(c,u){a.attributes[u]=n.accessors[c]}),l(a.material)&&(a.material=n.materials[a.material])})}),De.node(e,function(s){let a=s.children;if(l(a)){let c=a.length;for(t=0;t<c;++t)a[t]=n.nodes[a[t]]}if(l(s.meshes)){let c=s.meshes,u=c.length;if(u>0)for(s.mesh=n.meshes[c[0]],t=1;t<u;++t){let f={mesh:n.meshes[c[t]]},d=fs(e.nodes,f);l(a)||(a=[],s.children=a),a.push(d)}delete s.meshes}if(l(s.camera)&&(s.camera=n.cameras[s.camera]),l(s.skin)&&(s.skin=n.skins[s.skin]),l(s.skeletons)){let c=s.skeletons;if(c.length>0&&l(s.skin)){let f=e.skins[s.skin];f.skeleton=n.nodes[c[0]]}delete s.skeletons}l(s.jointName)&&delete s.jointName}),De.skin(e,function(s){l(s.inverseBindMatrices)&&(s.inverseBindMatrices=n.accessors[s.inverseBindMatrices]);let a=s.jointNames;if(l(a)){let c=[],u=a.length;for(t=0;t<u;++t)c[t]=o[a[t]];s.joints=c,delete s.jointNames}}),De.scene(e,function(s){let a=s.nodes;if(l(a)){let c=a.length;for(t=0;t<c;++t)a[t]=n.nodes[a[t]]}}),De.animation(e,function(s){let a={};s.samplers=Poe(s.samplers,a),De.animationSampler(s,function(c){c.input=n.accessors[c.input],c.output=n.accessors[c.output]}),De.animationChannel(s,function(c){c.sampler=a[c.sampler];let u=c.target;l(u)&&(u.node=n.nodes[u.id],delete u.id)})}),De.material(e,function(s){l(s.technique)&&(s.technique=n.techniques[s.technique]),De.materialValue(s,function(c,u){typeof c=="string"&&(s.values[u]={index:n.textures[c]})});let a=s.extensions;if(l(a)){let c=a.KHR_materials_common;l(c)&&l(c.values)&&De.materialValue(c,function(u,f){typeof u=="string"&&(c.values[f]={index:n.textures[u]})})}}),De.image(e,function(s){let a=s.extensions;if(l(a)){let c=a.KHR_binary_glTF;l(c)&&(s.bufferView=n.bufferViews[c.bufferView],s.mimeType=c.mimeType,delete a.KHR_binary_glTF),Object.keys(a).length===0&&delete s.extensions}}),De.texture(e,function(s){l(s.sampler)&&(s.sampler=n.samplers[s.sampler]),l(s.source)&&(s.source=n.images[s.source])})}function nVe(e){De.animation(e,function(t){De.animationSampler(t,function(n){delete n.name})})}function iVe(e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t)){let n=e[t];Array.isArray(n)&&n.length===0&&delete e[t]}De.node(e,function(t){l(t.children)&&t.children.length===0&&delete t.children})}function oVe(e){let t=e.asset;delete t.profile,delete t.premultipliedAlpha}var rVe={CESIUM_RTC:!0,KHR_materials_common:!0,WEB3D_quantized_attributes:!0};function sVe(e){let t=e.extensionsUsed;if(e.extensionsRequired=y(e.extensionsRequired,[]),l(t)){let n=t.length;for(let i=0;i<n;++i){let o=t[i];l(rVe[o])&&e.extensionsRequired.push(o)}}}function aVe(e){De.buffer(e,function(t){delete t.type})}function cVe(e){De.texture(e,function(t){delete t.format,delete t.internalFormat,delete t.target,delete t.type})}function lVe(e){De.mesh(e,function(t){De.meshPrimitive(t,function(n){De.meshPrimitiveAttribute(n,function(i,o){o==="TEXCOORD"?n.attributes.TEXCOORD_0=i:o==="COLOR"&&(n.attributes.COLOR_0=i)}),delete n.attributes.TEXCOORD,delete n.attributes.COLOR})}),De.technique(e,function(t){De.techniqueParameter(t,function(n){let i=n.semantic;l(i)&&(i==="TEXCOORD"?n.semantic="TEXCOORD_0":i==="COLOR"&&(n.semantic="COLOR_0"))})})}var uVe={POSITION:!0,NORMAL:!0,TANGENT:!0},fVe={COLOR:"COLOR",JOINT:"JOINTS",JOINTS:"JOINTS",TEXCOORD:"TEXCOORD",WEIGHT:"WEIGHTS",WEIGHTS:"WEIGHTS"};function dVe(e){let t={};De.mesh(e,function(n){De.meshPrimitive(n,function(i){De.meshPrimitiveAttribute(i,function(o,r){if(r.charAt(0)!=="_"){let s=r.search(/_[0-9]+/g),a=r,c="_0";s>=0&&(a=r.substring(0,s),c=r.substring(s));let u,f=fVe[a];l(f)?(u=f+c,t[r]=u):l(uVe[a])||(u=`_${r}`,t[r]=u)}});for(let o in t)if(Object.prototype.hasOwnProperty.call(t,o)){let r=t[o],s=i.attributes[o];l(s)&&(delete i.attributes[o],i.attributes[r]=s)}})}),De.technique(e,function(n){De.techniqueParameter(n,function(i){let o=t[i.semantic];l(o)&&(i.semantic=o)})})}function hVe(e){De.camera(e,function(t){let n=t.perspective;if(l(n)){let i=n.aspectRatio;l(i)&&i===0&&delete n.aspectRatio;let o=n.yfov;l(o)&&o===0&&(n.yfov=1)}})}function r6(e,t){return l(t.byteStride)&&t.byteStride!==0?t.byteStride:Dl(e,t)}function mVe(e){De.buffer(e,function(t){l(t.byteLength)||(t.byteLength=t.extras._pipeline.source.length)}),De.accessor(e,function(t){let n=t.bufferView;if(l(n)){let i=e.bufferViews[n],o=r6(e,t),r=t.byteOffset+t.count*o;i.byteLength=Math.max(y(i.byteLength,0),r)}})}function pVe(e){let t,n,i,o=e.bufferViews,r={};De.accessorContainingVertexAttributeData(e,function(a){let c=e.accessors[a];l(c.bufferView)&&(r[c.bufferView]=!0)});let s={};De.accessor(e,function(a){l(a.bufferView)&&(s[a.bufferView]=y(s[a.bufferView],[]),s[a.bufferView].push(a))});for(let a in s)if(Object.prototype.hasOwnProperty.call(s,a)){i=o[a];let c=s[a];c.sort(function(p,g){return p.byteOffset-g.byteOffset});let u=0,f=0,d=c.length;for(t=0;t<d;++t){let p=c[t],g=r6(e,p),m=p.byteOffset,C=p.count*g;delete p.byteStride;let x=t<d-1,A=x?r6(e,c[t+1]):void 0;if(g!==A){let b=et(i,!0);r[a]&&(b.byteStride=g),b.byteOffset+=u,b.byteLength=m+C-u;let E=fs(o,b);for(n=f;n<=t;++n)p=c[n],p.bufferView=E,p.byteOffset=p.byteOffset-u;u=x?c[t+1].byteOffset:void 0,f=t+1}}}XB(e,["accessor","bufferView","buffer"])}function _Ve(e){De.accessorWithSemantic(e,"POSITION",function(t){let n=e.accessors[t];if(!l(n.min)||!l(n.max)){let i=KA(e,n);n.min=i.min,n.max=i.max}})}function Ooe(e){return(!l(e.children)||e.children.length===0)&&(!l(e.meshes)||e.meshes.length===0)&&!l(e.camera)&&!l(e.skin)&&!l(e.skeletons)&&!l(e.jointName)&&(!l(e.translation)||h.fromArray(e.translation).equals(h.ZERO))&&(!l(e.scale)||h.fromArray(e.scale).equals(new h(1,1,1)))&&(!l(e.rotation)||se.fromArray(e.rotation).equals(new se(0,0,0,1)))&&(!l(e.matrix)||N.fromColumnMajorArray(e.matrix).equals(N.IDENTITY))&&!l(e.extensions)&&!l(e.extras)}function Roe(e,t){De.scene(e,function(n){let i=n.nodes;if(l(i)){let o=i.length;for(let r=o;r>=0;--r)if(i[r]===t){i.splice(r,1);return}}}),De.node(e,function(n,i){if(l(n.children)){let o=n.children.indexOf(t);o>-1&&(n.children.splice(o,1),Ooe(n)&&Roe(e,i))}}),delete e.nodes[t]}function gVe(e){return De.node(e,function(t,n){Ooe(t)&&Roe(e,n)}),e}function yVe(e){De.animation(e,function(t){De.animationSampler(t,function(n){let i=e.accessors[n.input];if(!l(i.min)||!l(i.max)){let o=KA(e,i);i.min=o.min,i.max=o.max}})})}function CVe(e){De.accessor(e,function(t){if(l(t.min)||l(t.max)){let n=KA(e,t);l(t.min)&&(t.min=n.min),l(t.max)&&(t.max=n.max)}})}function xVe(e){e.asset=y(e.asset,{}),e.asset.version="2.0",Ioe(e),eVe(e),gVe(e),tVe(e),nVe(e),oVe(e),sVe(e),mVe(e),pVe(e),_Ve(e),yVe(e),CVe(e),aVe(e),cVe(e),lVe(e),dVe(e),JB(e),hVe(e),jB(e),YB(e),iVe(e)}var AVe=["u_tex","u_diffuse"],TVe=["u_diffuse"];function s6(e){e.pbrMetallicRoughness=l(e.pbrMetallicRoughness)?e.pbrMetallicRoughness:{},e.pbrMetallicRoughness.roughnessFactor=1,e.pbrMetallicRoughness.metallicFactor=0}function eL(e){return l(e.index)}function tL(e){return Array.isArray(e)&&e.length===4}function Moe(e){let t=new Array(4);t[3]=e[3];for(let n=0;n<3;n++){let i=e[n];i<=.04045?t[n]=e[n]*.07739938080495357:t[n]=Math.pow((i+.055)*.9478672985781991,2.4)}return t}function EVe(e){De.material(e,function(t){De.materialValue(t,function(n,i){AVe.indexOf(i)!==-1&&eL(n)?(s6(t),t.pbrMetallicRoughness.baseColorTexture=n):TVe.indexOf(i)!==-1&&tL(n)&&(s6(t),t.pbrMetallicRoughness.baseColorFactor=Moe(n))})}),ZA(e,"KHR_techniques_webgl"),ZA(e,"KHR_blend")}function bVe(e){De.material(e,function(t){let n=y(t.extensions,y.EMPTY_OBJECT).KHR_materials_common;if(l(n)){n.technique==="CONSTANT"&&(Pf(e,"KHR_materials_unlit"),t.extensions=l(t.extensions)?t.extensions:{},t.extensions.KHR_materials_unlit={});let o=l(n.values)?n.values:{},r=o.ambient,s=o.diffuse,a=o.emission,c=o.transparency,u=n.doubleSided,f=n.transparent;s6(t),l(r)&&(tL(r)?t.emissiveFactor=r.slice(0,3):eL(r)&&(t.emissiveTexture=r)),l(s)&&(tL(s)?t.pbrMetallicRoughness.baseColorFactor=Moe(s):eL(s)&&(t.pbrMetallicRoughness.baseColorTexture=s)),l(u)&&(t.doubleSided=u),l(a)&&(tL(a)?t.emissiveFactor=a.slice(0,3):eL(a)&&(t.emissiveTexture=a)),l(c)&&(l(t.pbrMetallicRoughness.baseColorFactor)?t.pbrMetallicRoughness.baseColorFactor[3]*=c:t.pbrMetallicRoughness.baseColorFactor=[1,1,1,c]),l(f)&&(t.alphaMode=f?"BLEND":"OPAQUE")}}),ZA(e,"KHR_materials_common")}var nL=X3e;function G_(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltfResource,i=e.baseResource,o=e.typedArray,r=e.gltfJson,s=e.cacheKey;this._resourceCache=t,this._gltfResource=n,this._baseResource=i,this._typedArray=o,this._gltfJson=r,this._cacheKey=s,this._gltf=void 0,this._bufferLoaders=[],this._state=Nt.UNLOADED,this._promise=void 0}l(Object.create)&&(G_.prototype=Object.create(to.prototype),G_.prototype.constructor=G_);Object.defineProperties(G_.prototype,{promise:{get:function(){return this._promise}},cacheKey:{get:function(){return this._cacheKey}},gltf:{get:function(){return this._gltf}}});G_.prototype.load=function(){this._state=Nt.LOADING;let e;l(this._gltfJson)?e=Boe(this,this._gltfJson):l(this._typedArray)?e=Loe(this,this._typedArray):e=SVe(this);let t=this;return this._promise=e.then(function(n){if(!t.isDestroyed())return t._gltf=n,t._state=Nt.READY,t}).catch(function(n){if(!t.isDestroyed())return wVe(t,n)}),this._promise};function SVe(e){return e._fetchGltf().then(function(t){if(e.isDestroyed())return;let n=new Uint8Array(t);return Loe(e,n)})}function wVe(e,t){e.unload(),e._state=Nt.FAILED;let n=`Failed to load glTF: ${e._gltfResource.url}`;return Promise.reject(e.getError(n,t))}function vVe(e,t){if(l(t.asset)&&t.asset.version==="2.0"&&!gr(t,"KHR_techniques_webgl")&&!gr(t,"KHR_materials_common"))return Promise.resolve();let n=[];return De.buffer(t,function(i){if(!l(i.extras._pipeline.source)&&l(i.uri)){let o=e._baseResource.getDerivedResource({url:i.uri}),s=e._resourceCache.loadExternalBuffer({resource:o});e._bufferLoaders.push(s),n.push(s.promise.then(function(a){i.extras._pipeline.source=a.typedArray}))}}),Promise.all(n).then(function(){nL(t)})}function DVe(e){let t=[];return De.buffer(e,function(n){let i=n.uri;!l(n.extras._pipeline.source)&&l(i)&&Pp(i)&&(delete n.uri,t.push(Ie.fetchArrayBuffer(i).then(function(o){n.extras._pipeline.source=new Uint8Array(o)})))}),Promise.all(t)}function PVe(e,t){let n=[];return De.buffer(t,function(i,o){let r=i.extras._pipeline.source;if(l(r)&&!l(i.uri)){let a=e._resourceCache.loadEmbeddedBuffer({parentResource:e._gltfResource,bufferId:o,typedArray:r});e._bufferLoaders.push(a),n.push(a.promise)}}),Promise.all(n)}function Boe(e,t){return vy(t),DVe(t).then(function(){return vVe(e,t)}).then(function(){return kB(t),PVe(e,t)}).then(function(){return WB(t),t})}function Loe(e,t){let n;return Jd(t)==="glTF"?n=HB(t):n=Xo(t),Boe(e,n)}G_.prototype.unload=function(){let e=this._bufferLoaders,t=e.length;for(let n=0;n<t;++n)this._resourceCache.unload(e[n]);this._bufferLoaders.length=0,this._gltf=void 0};G_.prototype._fetchGltf=function(){return this._gltfResource.fetchArrayBuffer()};var ow=G_;var IVe={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"},Vm=Object.freeze(IVe);var No={};function OVe(){this.octEncoded=!1,this.octEncodedZXY=!1,this.normalizationRange=void 0,this.quantizedVolumeOffset=void 0,this.quantizedVolumeDimensions=void 0,this.quantizedVolumeStepSize=void 0,this.componentDatatype=void 0,this.type=void 0}function RVe(){this.name=void 0,this.semantic=void 0,this.setIndex=void 0,this.componentDatatype=void 0,this.type=void 0,this.normalized=!1,this.count=void 0,this.min=void 0,this.max=void 0,this.constant=void 0,this.quantization=void 0,this.typedArray=void 0,this.buffer=void 0,this.byteOffset=0,this.byteStride=void 0}function MVe(){this.indexDatatype=void 0,this.count=void 0,this.buffer=void 0,this.typedArray=void 0}function BVe(){this.featureCount=void 0,this.nullFeatureId=void 0,this.propertyTableId=void 0,this.setIndex=void 0,this.label=void 0,this.positionalLabel=void 0}function LVe(){this.featureCount=void 0,this.nullFeatureId=void 0,this.propertyTableId=void 0,this.offset=0,this.repeat=void 0,this.label=void 0,this.positionalLabel=void 0}function NVe(){this.featureCount=void 0,this.nullFeatureId=void 0,this.propertyTableId=void 0,this.textureReader=void 0,this.label=void 0,this.positionalLabel=void 0}function FVe(){this.attributes=[]}function VVe(){this.attributes=[],this.morphTargets=[],this.indices=void 0,this.material=void 0,this.primitiveType=void 0,this.featureIds=[],this.propertyTextureIds=[],this.propertyAttributeIds=[],this.outlineCoordinates=void 0}function kVe(){this.attributes=[],this.featureIds=[],this.transformInWorldSpace=!1}function UVe(){this.index=void 0,this.joints=[],this.inverseBindMatrices=[]}function zVe(){this.name=void 0,this.index=void 0,this.children=[],this.primitives=[],this.instances=void 0,this.skin=void 0,this.matrix=void 0,this.translation=void 0,this.rotation=void 0,this.scale=void 0,this.morphWeights=[],this.articulationName=void 0}function HVe(){this.nodes=[]}var GVe={TRANSLATION:"translation",ROTATION:"rotation",SCALE:"scale",WEIGHTS:"weights"};function WVe(){this.input=[],this.interpolation=void 0,this.output=[]}function jVe(){this.node=void 0,this.path=void 0}function qVe(){this.sampler=void 0,this.target=void 0}function YVe(){this.name=void 0,this.samplers=[],this.channels=[]}function XVe(){this.name=void 0,this.type=void 0,this.minimumValue=void 0,this.maximumValue=void 0,this.initialValue=void 0}function KVe(){this.name=void 0,this.stages=[]}function Noe(){this.credits=[]}function ZVe(){this.asset=new Noe,this.scene=void 0,this.nodes=[],this.skins=[],this.animations=[],this.articulations=[],this.structuralMetadata=void 0,this.upAxis=void 0,this.forwardAxis=void 0,this.transform=N.clone(N.IDENTITY)}function $Ve(){this.texture=void 0,this.index=void 0,this.texCoord=0,this.transform=J.clone(J.IDENTITY),this.channels=void 0}function W_(){this.baseColorTexture=void 0,this.metallicRoughnessTexture=void 0,this.baseColorFactor=se.clone(W_.DEFAULT_BASE_COLOR_FACTOR),this.metallicFactor=W_.DEFAULT_METALLIC_FACTOR,this.roughnessFactor=W_.DEFAULT_ROUGHNESS_FACTOR}W_.DEFAULT_BASE_COLOR_FACTOR=se.ONE;W_.DEFAULT_METALLIC_FACTOR=1;W_.DEFAULT_ROUGHNESS_FACTOR=1;function Dy(){this.diffuseTexture=void 0,this.specularGlossinessTexture=void 0,this.diffuseFactor=se.clone(Dy.DEFAULT_DIFFUSE_FACTOR),this.specularFactor=h.clone(Dy.DEFAULT_SPECULAR_FACTOR),this.glossinessFactor=Dy.DEFAULT_GLOSSINESS_FACTOR}Dy.DEFAULT_DIFFUSE_FACTOR=se.ONE;Dy.DEFAULT_SPECULAR_FACTOR=h.ONE;Dy.DEFAULT_GLOSSINESS_FACTOR=1;function a6(){this.metallicRoughness=new W_,this.specularGlossiness=void 0,this.emissiveTexture=void 0,this.normalTexture=void 0,this.occlusionTexture=void 0,this.emissiveFactor=h.clone(a6.DEFAULT_EMISSIVE_FACTOR),this.alphaMode=Vm.OPAQUE,this.alphaCutoff=.5,this.doubleSided=!1,this.unlit=!1}a6.DEFAULT_EMISSIVE_FACTOR=h.ZERO;No.Quantization=OVe;No.Attribute=RVe;No.Indices=MVe;No.FeatureIdAttribute=BVe;No.FeatureIdTexture=NVe;No.FeatureIdImplicitRange=LVe;No.MorphTarget=FVe;No.Primitive=VVe;No.Instances=kVe;No.Skin=UVe;No.Node=zVe;No.Scene=HVe;No.AnimatedPropertyType=Object.freeze(GVe);No.AnimationSampler=WVe;No.AnimationTarget=jVe;No.AnimationChannel=qVe;No.Animation=YVe;No.ArticulationStage=XVe;No.Articulation=KVe;No.Asset=Noe;No.Components=ZVe;No.TextureReader=$Ve;No.MetallicRoughness=W_;No.SpecularGlossiness=Dy;No.Material=a6;var Ft=No;var iL={};iL.getImageIdFromTexture=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.gltf,n=e.textureId,i=e.supportedImageFormats,o=t.textures[n],r=o.extensions;if(l(r)){if(i.webp&&l(r.EXT_texture_webp))return r.EXT_texture_webp.source;if(i.basis&&l(r.KHR_texture_basisu))return r.KHR_texture_basisu.source}return o.source};iL.createSampler=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.gltf,n=e.textureInfo,i=y(e.compressedTextureNoMipmap,!1),o=Dn.REPEAT,r=Dn.REPEAT,s=ln.LINEAR,a=Ji.LINEAR,c=n.index,f=t.textures[c].sampler;if(l(f)){let g=t.samplers[f];o=y(g.wrapS,o),r=y(g.wrapT,r),s=y(g.minFilter,s),a=y(g.magFilter,a)}let d=!1,p=n.extensions;return l(p)&&l(p.KHR_texture_transform)&&(d=!0),(i||d)&&s!==ln.LINEAR&&s!==ln.NEAREST&&(s===ln.NEAREST_MIPMAP_NEAREST||s===ln.NEAREST_MIPMAP_LINEAR?s=ln.NEAREST:s=ln.LINEAR),new hn({wrapS:o,wrapT:r,minificationFilter:s,magnificationFilter:a})};var JVe=new G(1,1);iL.createModelTextureReader=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.textureInfo,n=e.channels,i=e.texture,o=y(t.texCoord,0),r,s=y(t.extensions,y.EMPTY_OBJECT).KHR_texture_transform;if(l(s)){o=y(s.texCoord,o);let c=l(s.offset)?G.unpack(s.offset):G.ZERO,u=y(s.rotation,0),f=l(s.scale)?G.unpack(s.scale):JVe;u=-u,r=new J(Math.cos(u)*f.x,-Math.sin(u)*f.y,c.x,Math.sin(u)*f.x,Math.cos(u)*f.y,c.y,0,0,1)}let a=new Ft.TextureReader;return a.index=t.index,a.texture=i,a.texCoord=o,a.transform=r,a.channels=n,a};var Pl=iL;function j_(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltf,i=e.textureInfo,o=e.gltfResource,r=e.baseResource,s=e.supportedImageFormats,a=e.cacheKey,c=y(e.asynchronous,!0),u=i.index,f=Pl.getImageIdFromTexture({gltf:n,textureId:u,supportedImageFormats:s});this._resourceCache=t,this._gltf=n,this._textureInfo=i,this._imageId=f,this._gltfResource=o,this._baseResource=r,this._cacheKey=a,this._asynchronous=c,this._imageLoader=void 0,this._image=void 0,this._mipLevels=void 0,this._texture=void 0,this._state=Nt.UNLOADED,this._promise=void 0,this._process=function(d,p){}}l(Object.create)&&(j_.prototype=Object.create(to.prototype),j_.prototype.constructor=j_);Object.defineProperties(j_.prototype,{promise:{get:function(){return this._promise}},cacheKey:{get:function(){return this._cacheKey}},texture:{get:function(){return this._texture}}});var QVe=new c6;j_.prototype.load=function(){let t=this._resourceCache.loadImage({gltf:this._gltf,imageId:this._imageId,gltfResource:this._gltfResource,baseResource:this._baseResource});this._imageLoader=t,this._state=Nt.LOADING;let n=this,i=new Promise(function(o){n._process=function(r,s){if(l(r._texture)||!l(r._image))return;let a;if(r._asynchronous){let c=QVe;if(c.set(r._gltf,r._textureInfo,r._image,r._mipLevels,s.context),!s.jobScheduler.execute(c,Sa.TEXTURE))return;a=c.texture}else a=Foe(r._gltf,r._textureInfo,r._image,r._mipLevels,s.context);r.unload(),r._texture=a,r._state=Nt.READY,o(r)}});return this._promise=t.promise.then(function(){if(!n.isDestroyed())return n._image=t.image,n._mipLevels=t.mipLevels,n._state=Nt.PROCESSING,i}).catch(function(o){if(n.isDestroyed())return;n.unload(),n._state=Nt.FAILED;let r="Failed to load texture";return Promise.reject(n.getError(r,o))}),this._promise};function c6(){this.gltf=void 0,this.textureInfo=void 0,this.image=void 0,this.context=void 0,this.texture=void 0}c6.prototype.set=function(e,t,n,i,o){this.gltf=e,this.textureInfo=t,this.image=n,this.mipLevels=i,this.context=o};c6.prototype.execute=function(){this.texture=Foe(this.gltf,this.textureInfo,this.image,this.mipLevels,this.context)};function Foe(e,t,n,i,o){let r=n.internalFormat,s=!1;ft.isCompressedFormat(r)&&!l(i)&&(s=!0);let a=Pl.createSampler({gltf:e,textureInfo:t,compressedTextureNoMipmap:s}),c=a.minificationFilter,u=a.wrapS,f=a.wrapT,d=c===ln.NEAREST_MIPMAP_NEAREST||c===ln.NEAREST_MIPMAP_LINEAR||c===ln.LINEAR_MIPMAP_NEAREST||c===ln.LINEAR_MIPMAP_LINEAR,p=!l(r)&&d,g=p||u===Dn.REPEAT||u===Dn.MIRRORED_REPEAT||f===Dn.REPEAT||f===Dn.MIRRORED_REPEAT,m=!I.isPowerOfTwo(n.width)||!I.isPowerOfTwo(n.height),C=g&&m,x;return l(r)?(!o.webgl2&&ft.isCompressedFormat(r)&&m&&g&&console.warn("Compressed texture uses REPEAT or MIRRORED_REPEAT texture wrap mode and dimensions are not powers of two. The texture may be rendered incorrectly."),x=Ot.create({context:o,source:{arrayBufferView:n.bufferView,mipLevels:i},width:n.width,height:n.height,pixelFormat:n.internalFormat,sampler:a})):(C&&(n=fy(n)),x=Ot.create({context:o,source:n,sampler:a,flipY:!1,skipColorSpaceConversion:!0})),p&&x.generateMipmap(),x}j_.prototype.process=function(e){return this._process(this,e)};j_.prototype.unload=function(){l(this._texture)&&this._texture.destroy(),l(this._imageLoader)&&this._resourceCache.unload(this._imageLoader),this._imageLoader=void 0,this._image=void 0,this._mipLevels=void 0,this._texture=void 0,this._gltf=void 0};var rw=j_;function q_(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltf,i=e.gltfResource,o=e.baseResource,r=e.bufferViewId,s=e.draco,a=e.attributeSemantic,c=e.accessorId,u=e.cacheKey,f=y(e.asynchronous,!0),d=y(e.dequantize,!1),p=y(e.loadBuffer,!1),g=y(e.loadTypedArray,!1);this._resourceCache=t,this._gltfResource=i,this._baseResource=o,this._gltf=n,this._bufferViewId=r,this._draco=s,this._attributeSemantic=a,this._accessorId=c,this._cacheKey=u,this._asynchronous=f,this._dequantize=d,this._loadBuffer=p,this._loadTypedArray=g,this._bufferViewLoader=void 0,this._dracoLoader=void 0,this._quantization=void 0,this._typedArray=void 0,this._buffer=void 0,this._state=Nt.UNLOADED,this._promise=void 0,this._process=function(m,C){}}l(Object.create)&&(q_.prototype=Object.create(to.prototype),q_.prototype.constructor=q_);Object.defineProperties(q_.prototype,{promise:{get:function(){return this._promise}},cacheKey:{get:function(){return this._cacheKey}},buffer:{get:function(){return this._buffer}},typedArray:{get:function(){return this._typedArray}},quantization:{get:function(){return this._quantization}}});q_.prototype.load=function(){let e;l(this._draco)?e=tke(this):e=nke(this);let t=this,n=new l6,i=new Promise(function(o){t._process=function(r,s){if(r._state===Nt.READY)return;let a=r._typedArray,c=r._dequantize;if(l(r._dracoLoader)&&r._dracoLoader.process(s),l(r._bufferViewLoader)&&r._bufferViewLoader.process(s),!l(a))return;let u=r._gltf.accessors[r._accessorId],f;if(r._loadBuffer&&r._asynchronous){let d=n;if(d.set(a,c,u.componentType,u.type,u.count,s.context),!s.jobScheduler.execute(d,Sa.BUFFER))return;f=d.buffer}else r._loadBuffer&&(f=Voe(a,c,u.componentType,u.type,u.count,s.context));r.unload(),r._buffer=f,r._typedArray=r._loadTypedArray?a:void 0,r._state=Nt.READY,o(r)}});return this._promise=e.then(function(){if(!t.isDestroyed())return i}).catch(function(o){if(!t.isDestroyed())return ike(t,o)}),this._promise};function eke(e,t,n,i){let o=e.quantizationBits,r=(1<<o)-1,s=1/r,a=new Ft.Quantization;if(a.componentDatatype=t,a.octEncoded=e.octEncoded,a.octEncodedZXY=!0,a.type=i,a.octEncoded)a.type=tn.VEC2,a.normalizationRange=r;else{let c=tn.getMathType(i);if(c===Number){let u=e.range;a.quantizedVolumeOffset=e.minValues[0],a.quantizedVolumeDimensions=u,a.normalizationRange=r,a.quantizedVolumeStepSize=u*s}else{a.quantizedVolumeOffset=c.unpack(e.minValues),a.normalizationRange=c.unpack(new Array(n).fill(r));let u=new Array(n).fill(e.range);a.quantizedVolumeDimensions=c.unpack(u);let f=u.map(function(d){return d*s});a.quantizedVolumeStepSize=c.unpack(f)}}return a}function tke(e){let n=e._resourceCache.loadDraco({gltf:e._gltf,draco:e._draco,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._dracoLoader=n,e._state=Nt.LOADING,n.promise.then(function(){if(e.isDestroyed())return;let i=n.decodedData.vertexAttributes,o=e._attributeSemantic,r=i[o],s=e._accessorId,c=e._gltf.accessors[s].type,u=r.array,f=r.data.quantization;return l(f)&&(e._quantization=eke(f,r.data.componentDatatype,r.data.componentsPerAttribute,c)),e._typedArray=new Uint8Array(u.buffer,u.byteOffset,u.byteLength),e._state=Nt.PROCESSING,e})}function nke(e){let n=e._resourceCache.loadBufferView({gltf:e._gltf,bufferViewId:e._bufferViewId,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._state=Nt.LOADING,e._bufferViewLoader=n,n.promise.then(function(){if(!e.isDestroyed())return e._typedArray=n.typedArray,e._state=Nt.PROCESSING,e})}function ike(e,t){e.unload(),e._state=Nt.FAILED;let n="Failed to load vertex buffer";return t=e.getError(n,t),Promise.reject(t)}function l6(){this.typedArray=void 0,this.dequantize=void 0,this.componentType=void 0,this.type=void 0,this.count=void 0,this.context=void 0,this.buffer=void 0}l6.prototype.set=function(e,t,n,i,o,r){this.typedArray=e,this.dequantize=t,this.componentType=n,this.type=i,this.count=o,this.context=r};l6.prototype.execute=function(){this.buffer=Voe(this.typedArray,this.dequantize,this.componentType,this.type,this.count,this.context)};function Voe(e,t,n,i,o,r){t&&n!==Z.FLOAT&&(e=kn.dequantize(e,n,i,o));let s=ct.createVertexBuffer({typedArray:e,context:r,usage:Le.STATIC_DRAW});return s.vertexArrayDestroyable=!1,s}q_.prototype.process=function(e){return this._process(this,e)};q_.prototype.unload=function(){l(this._buffer)&&this._buffer.destroy();let e=this._resourceCache;l(this._bufferViewLoader)&&e.unload(this._bufferViewLoader),l(this._dracoLoader)&&e.unload(this._dracoLoader),this._bufferViewLoader=void 0,this._dracoLoader=void 0,this._typedArray=void 0,this._buffer=void 0,this._gltf=void 0};var sw=q_;function u6(e){e=y(e,y.EMPTY_OBJECT);let t=e.id,n=e.class,i={},o={};for(let r in n.properties)if(n.properties.hasOwnProperty(r)){let s=new Sy({id:r,property:n.properties[r],enums:e.enums});i[r]=s,l(s.semantic)&&(o[s.semantic]=s)}this._properties=i,this._propertiesBySemantic=o,this._id=t,this._name=n.name,this._description=n.description,this._extras=n.extras,this._extensions=n.extensions}Object.defineProperties(u6.prototype,{properties:{get:function(){return this._properties}},propertiesBySemantic:{get:function(){return this._propertiesBySemantic}},id:{get:function(){return this._id}},name:{get:function(){return this._name}},description:{get:function(){return this._description}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});u6.BATCH_TABLE_CLASS_NAME="_batchTable";var dh=u6;function koe(e){this._value=e.value,this._name=e.name,this._description=e.description,this._extras=e.extras,this._extensions=e.extensions}Object.defineProperties(koe.prototype,{value:{get:function(){return this._value}},name:{get:function(){return this._name}},description:{get:function(){return this._description}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});var oL=koe;function Uoe(e){e=y(e,y.EMPTY_OBJECT);let t=e.id,n=e.enum,i={},o={},r=n.values.map(function(a){return i[a.value]=a.name,o[a.name]=a.value,new oL(a)}),s=y(Sn[n.valueType],Sn.UINT16);this._values=r,this._namesByValue=i,this._valuesByName=o,this._valueType=s,this._id=t,this._name=n.name,this._description=n.description,this._extras=n.extras,this._extensions=n.extensions}Object.defineProperties(Uoe.prototype,{values:{get:function(){return this._values}},namesByValue:{get:function(){return this._namesByValue}},valuesByName:{get:function(){return this._valuesByName}},valueType:{get:function(){return this._valueType}},id:{get:function(){return this._id}},name:{get:function(){return this._name}},description:{get:function(){return this._description}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});var rL=Uoe;function zoe(e){let t={};if(l(e.enums))for(let i in e.enums)e.enums.hasOwnProperty(i)&&(t[i]=new rL({id:i,enum:e.enums[i]}));let n={};if(l(e.classes))for(let i in e.classes)e.classes.hasOwnProperty(i)&&(n[i]=new dh({id:i,class:e.classes[i],enums:t}));this._classes=n,this._enums=t,this._id=e.id,this._name=e.name,this._description=e.description,this._version=e.version,this._extras=e.extras,this._extensions=e.extensions}Object.defineProperties(zoe.prototype,{classes:{get:function(){return this._classes}},enums:{get:function(){return this._enums}},id:{get:function(){return this._id}},name:{get:function(){return this._name}},description:{get:function(){return this._description}},version:{get:function(){return this._version}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});var hh=zoe;function Py(e){e=y(e,y.EMPTY_OBJECT);let t=e.schema,n=e.resource,i=e.cacheKey;this._schema=l(t)?new hh(t):void 0,this._resource=n,this._cacheKey=i,this._state=Nt.UNLOADED,this._promise=void 0}l(Object.create)&&(Py.prototype=Object.create(to.prototype),Py.prototype.constructor=Py);Object.defineProperties(Py.prototype,{promise:{get:function(){return this._promise}},cacheKey:{get:function(){return this._cacheKey}},schema:{get:function(){return this._schema}}});Py.prototype.load=function(){return l(this._schema)?this._promise=Promise.resolve(this):this._promise=oke(this),this._promise};function oke(e){let t=e._resource;return e._state=Nt.LOADING,t.fetchJson().then(function(n){if(!e.isDestroyed())return e._schema=new hh(n),e._state=Nt.READY,e}).catch(function(n){if(e.isDestroyed())return;e._state=Nt.FAILED;let i=`Failed to load schema: ${t.url}`;return Promise.reject(e.getError(i,n))})}Py.prototype.unload=function(){this._schema=void 0};var aw=Py;var If={};function cw(e){return Dp(e.url)}function sL(e){let t=e.byteOffset,n=e.byteLength;if(eo(e,"EXT_meshopt_compression")){let i=e.extensions.EXT_meshopt_compression;t=y(i.byteOffset,0),n=i.byteLength}return`${t}-${t+n}`}function rke(e,t){let n=t.byteOffset+e.byteOffset,i=e.componentType,o=e.type,r=e.count;return`${n}-${i}-${o}-${r}`}function Hoe(e){return cw(e)}function Goe(e,t){return`${cw(e)}-buffer-id-${t}`}function lw(e,t,n,i){if(l(e.uri)){let o=i.getDerivedResource({url:e.uri});return Hoe(o)}return Goe(n,t)}function f6(e,t,n,i){let o=t.bufferView,r=e.bufferViews[o],s=r.buffer,a=e.buffers[s],c=lw(a,s,n,i),u=sL(r);return`${c}-range-${u}`}function Woe(e,t,n,i){let o=e.images[t],r=o.bufferView,s=o.uri;if(l(s)){let p=i.getDerivedResource({url:s});return cw(p)}let a=e.bufferViews[r],c=a.buffer,u=e.buffers[c],f=lw(u,c,n,i),d=sL(a);return`${f}-range-${d}`}function ske(e,t){let n=Pl.createSampler({gltf:e,textureInfo:t});return`${n.wrapS}-${n.wrapT}-${n.minificationFilter}-${n.magnificationFilter}`}If.getSchemaCacheKey=function(e){let t=e.schema,n=e.resource;return l(t)?`embedded-schema:${JSON.stringify(t)}`:`external-schema:${cw(n)}`};If.getExternalBufferCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.resource;return`external-buffer:${Hoe(t)}`};If.getEmbeddedBufferCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.parentResource,n=e.bufferId;return`embedded-buffer:${Goe(t,n)}`};If.getGltfCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.gltfResource;return`gltf:${cw(t)}`};If.getBufferViewCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.gltf,n=e.bufferViewId,i=e.gltfResource,o=e.baseResource,r=t.bufferViews[n],s=r.buffer,a=t.buffers[s];eo(r,"EXT_meshopt_compression")&&(s=r.extensions.EXT_meshopt_compression.buffer);let c=lw(a,s,i,o),u=sL(r);return`buffer-view:${c}-range-${u}`};If.getDracoCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.gltf,n=e.draco,i=e.gltfResource,o=e.baseResource;return`draco:${f6(t,n,i,o)}`};If.getVertexBufferCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.gltf,n=e.gltfResource,i=e.baseResource,o=e.bufferViewId,r=e.draco,s=e.attributeSemantic,a=y(e.dequantize,!1),c=y(e.loadBuffer,!1),u=y(e.loadTypedArray,!1),f="";if(a&&(f+="-dequantize"),c&&(f+="-buffer"),u&&(f+="-typed-array"),l(r))return`vertex-buffer:${f6(t,r,n,i)}-draco-${s}${f}`;let d=t.bufferViews[o],p=d.buffer,g=t.buffers[p],m=lw(g,p,n,i),C=sL(d);return`vertex-buffer:${m}-range-${C}${f}`};If.getIndexBufferCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.gltf,n=e.accessorId,i=e.gltfResource,o=e.baseResource,r=e.draco,s=y(e.loadBuffer,!1),a=y(e.loadTypedArray,!1),c="";if(s&&(c+="-buffer"),a&&(c+="-typed-array"),l(r))return`index-buffer:${f6(t,r,i,o)}-draco${c}`;let u=t.accessors[n],f=u.bufferView,d=t.bufferViews[f],p=d.buffer,g=t.buffers[p],m=lw(g,p,i,o),C=rke(u,d);return`index-buffer:${m}-accessor-${C}${c}`};If.getImageCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.gltf,n=e.imageId,i=e.gltfResource,o=e.baseResource;return`image:${Woe(t,n,i,o)}`};If.getTextureCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.gltf,n=e.textureInfo,i=e.gltfResource,o=e.baseResource,r=e.supportedImageFormats,s=n.index,a=Pl.getImageIdFromTexture({gltf:t,textureId:s,supportedImageFormats:r}),c=Woe(t,a,i,o),u=ske(t,n);return`texture:${c}-sampler-${u}`};var Il=If;function uw(){this.geometryByteLength=0,this.texturesByteLength=0,this._geometrySizes={},this._textureSizes={}}uw.prototype.clear=function(){this.geometryByteLength=0,this.texturesByteLength=0,this._geometrySizes={},this._textureSizes={}};uw.prototype.addGeometryLoader=function(e){let t=e.cacheKey;if(this._geometrySizes.hasOwnProperty(t))return;this._geometrySizes[t]=0;let n=this;return e.promise.then(function(i){if(!n._geometrySizes.hasOwnProperty(t))return;let o=i.buffer,r=i.typedArray,s=0;l(o)&&(s+=o.sizeInBytes),l(r)&&(s+=r.byteLength),n.geometryByteLength+=s,n._geometrySizes[t]=s}).catch(function(){delete n._geometrySizes[t]})};uw.prototype.addTextureLoader=function(e){let t=e.cacheKey;if(this._textureSizes.hasOwnProperty(t))return;this._textureSizes[t]=0;let n=this;return e.promise.then(function(i){if(!n._textureSizes.hasOwnProperty(t))return;let o=i.texture.sizeInBytes;n.texturesByteLength+=i.texture.sizeInBytes,n._textureSizes[t]=o}).catch(function(){delete n._textureSizes[t]})};uw.prototype.removeLoader=function(e){let t=e.cacheKey,n=this._geometrySizes[t];delete this._geometrySizes[t],l(n)&&(this.geometryByteLength-=n);let i=this._textureSizes[t];delete this._textureSizes[t],l(i)&&(this.texturesByteLength-=i)};var aL=uw;function pn(){}pn.cacheEntries={};pn.statistics=new aL;function ake(e){this.referenceCount=1,this.resourceLoader=e,this._statisticsPromise=void 0}pn.get=function(e){let t=pn.cacheEntries[e];if(l(t))return++t.referenceCount,t.resourceLoader};pn.load=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceLoader,n=t.cacheKey;pn.cacheEntries[n]=new ake(t),t.load()};pn.unload=function(e){let t=e.cacheKey,n=pn.cacheEntries[t];--n.referenceCount,n.referenceCount===0&&(pn.statistics.removeLoader(e),e.destroy(),delete pn.cacheEntries[t])};pn.loadSchema=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.schema,n=e.resource,i=Il.getSchemaCacheKey({schema:t,resource:n}),o=pn.get(i);return l(o)||(o=new aw({schema:t,resource:n,cacheKey:i}),pn.load({resourceLoader:o})),o};pn.loadEmbeddedBuffer=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.parentResource,n=e.bufferId,i=e.typedArray,o=Il.getEmbeddedBufferCacheKey({parentResource:t,bufferId:n}),r=pn.get(o);return l(r)||(r=new YA({typedArray:i,cacheKey:o}),pn.load({resourceLoader:r})),r};pn.loadExternalBuffer=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.resource,n=Il.getExternalBufferCacheKey({resource:t}),i=pn.get(n);return l(i)||(i=new YA({resource:t,cacheKey:n}),pn.load({resourceLoader:i})),i};pn.loadGltfJson=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.gltfResource,n=e.baseResource,i=e.typedArray,o=e.gltfJson,r=Il.getGltfCacheKey({gltfResource:t}),s=pn.get(r);return l(s)||(s=new ow({resourceCache:pn,gltfResource:t,baseResource:n,typedArray:i,gltfJson:o,cacheKey:r}),pn.load({resourceLoader:s})),s};pn.loadBufferView=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.gltf,n=e.bufferViewId,i=e.gltfResource,o=e.baseResource,r=Il.getBufferViewCacheKey({gltf:t,bufferViewId:n,gltfResource:i,baseResource:o}),s=pn.get(r);return l(s)||(s=new QS({resourceCache:pn,gltf:t,bufferViewId:n,gltfResource:i,baseResource:o,cacheKey:r}),pn.load({resourceLoader:s})),s};pn.loadDraco=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.gltf,n=e.draco,i=e.gltfResource,o=e.baseResource,r=Il.getDracoCacheKey({gltf:t,draco:n,gltfResource:i,baseResource:o}),s=pn.get(r);return l(s)||(s=new ew({resourceCache:pn,gltf:t,draco:n,gltfResource:i,baseResource:o,cacheKey:r}),pn.load({resourceLoader:s})),s};pn.loadVertexBuffer=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.gltf,n=e.gltfResource,i=e.baseResource,o=e.bufferViewId,r=e.draco,s=e.attributeSemantic,a=e.accessorId,c=y(e.asynchronous,!0),u=y(e.dequantize,!1),f=y(e.loadBuffer,!1),d=y(e.loadTypedArray,!1),p=Il.getVertexBufferCacheKey({gltf:t,gltfResource:n,baseResource:i,bufferViewId:o,draco:r,attributeSemantic:s,dequantize:u,loadBuffer:f,loadTypedArray:d}),g=pn.get(p);if(l(g))return g;g=new sw({resourceCache:pn,gltf:t,gltfResource:n,baseResource:i,bufferViewId:o,draco:r,attributeSemantic:s,accessorId:a,cacheKey:p,asynchronous:c,dequantize:u,loadBuffer:f,loadTypedArray:d}),pn.load({resourceLoader:g});let m=pn.statistics.addGeometryLoader(g);return pn.cacheEntries[p]._statisticsPromise=m,g};pn.loadIndexBuffer=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.gltf,n=e.accessorId,i=e.gltfResource,o=e.baseResource,r=e.draco,s=y(e.asynchronous,!0),a=y(e.loadBuffer,!1),c=y(e.loadTypedArray,!1),u=Il.getIndexBufferCacheKey({gltf:t,accessorId:n,gltfResource:i,baseResource:o,draco:r,loadBuffer:a,loadTypedArray:c}),f=pn.get(u);if(l(f))return f;f=new nw({resourceCache:pn,gltf:t,accessorId:n,gltfResource:i,baseResource:o,draco:r,cacheKey:u,asynchronous:s,loadBuffer:a,loadTypedArray:c}),pn.load({resourceLoader:f});let d=pn.statistics.addGeometryLoader(f);return pn.cacheEntries[u]._statisticsPromise=d,f};pn.loadImage=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.gltf,n=e.imageId,i=e.gltfResource,o=e.baseResource,r=Il.getImageCacheKey({gltf:t,imageId:n,gltfResource:i,baseResource:o}),s=pn.get(r);return l(s)||(s=new tw({resourceCache:pn,gltf:t,imageId:n,gltfResource:i,baseResource:o,cacheKey:r}),pn.load({resourceLoader:s})),s};pn.loadTexture=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.gltf,n=e.textureInfo,i=e.gltfResource,o=e.baseResource,r=e.supportedImageFormats,s=y(e.asynchronous,!0),a=Il.getTextureCacheKey({gltf:t,textureInfo:n,gltfResource:i,baseResource:o,supportedImageFormats:r}),c=pn.get(a);if(l(c))return c;c=new rw({resourceCache:pn,gltf:t,textureInfo:n,gltfResource:i,baseResource:o,supportedImageFormats:r,cacheKey:a,asynchronous:s}),pn.load({resourceLoader:c});let u=pn.statistics.addTextureLoader(c);return pn.cacheEntries[a]._statisticsPromise=u,c};pn.clearForSpecs=function(){let e=[sw,nw,ew,rw,tw,QS,YA,aw,ow],t,n=pn.cacheEntries,i=[];for(t in n)n.hasOwnProperty(t)&&i.push(n[t]);i.sort(function(r,s){let a=e.indexOf(r.resourceLoader.constructor),c=e.indexOf(s.resourceLoader.constructor);return a-c});let o=i.length;for(let r=0;r<o;++r){let s=i[r];t=s.resourceLoader.cacheKey,l(n[t])&&(s.resourceLoader.destroy(),delete n[t])}pn.statistics.clear()};var ho=pn;function wa(e,t,n,i,o){this._resource=e,this._subtreeJson=void 0,this._bufferLoader=void 0,this._tileAvailability=void 0,this._contentAvailabilityBitstreams=[],this._childSubtreeAvailability=void 0,this._implicitCoordinates=o,this._subtreeLevels=i.subtreeLevels,this._subdivisionScheme=i.subdivisionScheme,this._branchingFactor=i.branchingFactor,this._metadata=void 0,this._tileMetadataTable=void 0,this._tilePropertyTableJson=void 0,this._contentMetadataTables=[],this._contentPropertyTableJsons=[],this._tileJumpBuffer=void 0,this._contentJumpBuffers=[],this._readyPromise=cke(this,t,n,i)}Object.defineProperties(wa.prototype,{readyPromise:{get:function(){return this._readyPromise}},metadata:{get:function(){return this._metadata}},tileMetadataTable:{get:function(){return this._tileMetadataTable}},tilePropertyTableJson:{get:function(){return this._tilePropertyTableJson}},contentMetadataTables:{get:function(){return this._contentMetadataTables}},contentPropertyTableJsons:{get:function(){return this._contentPropertyTableJsons}},implicitCoordinates:{get:function(){return this._implicitCoordinates}}});wa.prototype.tileIsAvailableAtIndex=function(e){return this._tileAvailability.getBit(e)};wa.prototype.tileIsAvailableAtCoordinates=function(e){let t=this.getTileIndex(e);return this.tileIsAvailableAtIndex(t)};wa.prototype.contentIsAvailableAtIndex=function(e,t){return t=y(t,0),this._contentAvailabilityBitstreams[t].getBit(e)};wa.prototype.contentIsAvailableAtCoordinates=function(e,t){let n=this.getTileIndex(e);return this.contentIsAvailableAtIndex(n,t)};wa.prototype.childSubtreeIsAvailableAtIndex=function(e){return this._childSubtreeAvailability.getBit(e)};wa.prototype.childSubtreeIsAvailableAtCoordinates=function(e){let t=this.getChildSubtreeIndex(e);return this.childSubtreeIsAvailableAtIndex(t)};wa.prototype.getLevelOffset=function(e){let t=this._branchingFactor;return(Math.pow(t,e)-1)/(t-1)};wa.prototype.getParentMortonIndex=function(e){let t=2;return this._subdivisionScheme===Gr.OCTREE&&(t=3),e>>t};function cke(e,t,n,i){let o;l(t)?o={json:t,binary:void 0}:o=lke(n);let r=o.json;e._subtreeJson=r;let s;if(eo(r,"3DTILES_metadata"))s=r.extensions["3DTILES_metadata"];else if(l(r.tileMetadata)){let m=r.tileMetadata;s=r.propertyTables[m]}let a=[];if(l(r.contentMetadata)){let m=r.contentMetadata.length;for(let C=0;C<m;C++){let x=r.contentMetadata[C];a.push(r.propertyTables[x])}}let c,u=i.metadataSchema,f=r.subtreeMetadata;if(l(f)){let m=f.class,C=u.classes[m];c=new BB({subtreeMetadata:f,class:C})}e._metadata=c,e._tilePropertyTableJson=s,e._contentPropertyTableJsons=a;let d={constant:0};r.contentAvailabilityHeaders=[],eo(r,"3DTILES_multiple_contents")?r.contentAvailabilityHeaders=r.extensions["3DTILES_multiple_contents"].contentAvailability:Array.isArray(r.contentAvailability)?r.contentAvailabilityHeaders=r.contentAvailability:r.contentAvailabilityHeaders.push(y(r.contentAvailability,d));let p=uke(r.buffers),g=fke(r.bufferViews,p);dke(r,g),l(s)&&joe(s,g);for(let m=0;m<a.length;m++){let C=a[m];joe(C,g)}return hke(e,p,o.binary).then(function(m){let C=pke(g,m);return _ke(e,r,i,C),l(s)&&(gke(e,i,C),Cke(e)),yke(e,i,C),xke(e),e})}function lke(e){let n=new DataView(e.buffer,e.byteOffset),i=8,o=n.getUint32(i,!0);i+=8;let r=n.getUint32(i,!0);i+=8;let s=Xo(e,i,o);i+=o;let a=e.subarray(i,i+r);return{json:s,binary:a}}function uke(e){e=l(e)?e:[];for(let t=0;t<e.length;t++){let n=e[t];n.isExternal=l(n.uri),n.isActive=!1}return e}function fke(e,t){e=l(e)?e:[];for(let n=0;n<e.length;n++){let i=e[n],o=t[i.buffer];i.bufferHeader=o,i.isActive=!1}return e}function dke(e,t){let n,i=e.tileAvailability;l(i.bitstream)?n=t[i.bitstream]:l(i.bufferView)&&(n=t[i.bufferView]),l(n)&&(n.isActive=!0,n.bufferHeader.isActive=!0);let o=e.contentAvailabilityHeaders;for(let s=0;s<o.length;s++)n=void 0,l(o[s].bitstream)?n=t[o[s].bitstream]:l(o[s].bufferView)&&(n=t[o[s].bufferView]),l(n)&&(n.isActive=!0,n.bufferHeader.isActive=!0);n=void 0;let r=e.childSubtreeAvailability;l(r.bitstream)?n=t[r.bitstream]:l(r.bufferView)&&(n=t[r.bufferView]),l(n)&&(n.isActive=!0,n.bufferHeader.isActive=!0)}function joe(e,t){let n=e.properties,i;for(let o in n)if(n.hasOwnProperty(o)){let r=n[o],s=y(r.values,r.bufferView);i=t[s],i.isActive=!0,i.bufferHeader.isActive=!0;let a=y(r.stringOffsets,r.stringOffsetBufferView);l(a)&&(i=t[a],i.isActive=!0,i.bufferHeader.isActive=!0);let c=y(r.arrayOffsets,r.arrayOffsetBufferView);l(c)&&(i=t[c],i.isActive=!0,i.bufferHeader.isActive=!0)}}function hke(e,t,n){let i=[];for(let o=0;o<t.length;o++){let r=t[o];if(!r.isActive)i.push(Promise.resolve(void 0));else if(r.isExternal){let s=mke(e,r);i.push(s)}else i.push(Promise.resolve(n))}return Promise.all(i).then(function(o){let r={};for(let s=0;s<o.length;s++){let a=o[s];l(a)&&(r[s]=a)}return r})}function mke(e,t){let i=e._resource.getDerivedResource({url:t.uri}),o=ho.loadExternalBuffer({resource:i});return e._bufferLoader=o,o.promise.then(function(r){return r.typedArray})}function pke(e,t){let n={};for(let i=0;i<e.length;i++){let o=e[i];if(!o.isActive)continue;let r=o.byteOffset,s=r+o.byteLength,c=t[o.buffer].subarray(r,s);n[i]=c}return n}function _ke(e,t,n,i){let o=n.branchingFactor,r=n.subtreeLevels,s=(Math.pow(o,r)-1)/(o-1),a=Math.pow(o,r),c=eo(t,"3DTILES_metadata"),u=l(e._tilePropertyTableJson),f=c||u;e._tileAvailability=d6(t.tileAvailability,i,s,f);let d=e._contentPropertyTableJsons.length>0;f=f||d;for(let p=0;p<t.contentAvailabilityHeaders.length;p++){let g=d6(t.contentAvailabilityHeaders[p],i,s,f);e._contentAvailabilityBitstreams.push(g)}e._childSubtreeAvailability=d6(t.childSubtreeAvailability,i,a)}function d6(e,t,n,i){if(l(e.constant))return new XS({constant:Boolean(e.constant),lengthBits:n,availableCount:e.availableCount});let o;return l(e.bitstream)?o=t[e.bitstream]:l(e.bufferView)&&(o=t[e.bufferView]),new XS({bitstream:o,lengthBits:n,availableCount:e.availableCount,computeAvailableCountEnabled:i})}function gke(e,t,n){let i=e._tilePropertyTableJson,o=e._tileAvailability.availableCount,r=t.metadataSchema,s=i.class,a=r.classes[s];e._tileMetadataTable=new Df({class:a,count:o,properties:i.properties,bufferViews:n})}function yke(e,t,n){let i=e._contentPropertyTableJsons,o=e._contentAvailabilityBitstreams,r=t.metadataSchema,s=e._contentMetadataTables;for(let a=0;a<i.length;a++){let c=i[a],f=o[a].availableCount,d=c.class,p=r.classes[d],g=new Df({class:p,count:f,properties:c.properties,bufferViews:n});s.push(g)}}function qoe(e){let t=0,n=e.lengthBits,i=e.availableCount,o;i<256?o=new Uint8Array(n):i<65536?o=new Uint16Array(n):o=new Uint32Array(n);for(let r=0;r<e.lengthBits;r++)e.getBit(r)&&(o[r]=t,t++);return o}function Cke(e){let t=qoe(e._tileAvailability);e._tileJumpBuffer=t}function xke(e){let t=e._contentJumpBuffers,n=e._contentAvailabilityBitstreams;for(let i=0;i<n.length;i++){let o=n[i],r=qoe(o);t.push(r)}}wa.prototype.getTileIndex=function(e){let t=e.level-this._implicitCoordinates.level;if(t<0||this._subtreeLevels<=t)throw new de("level is out of bounds for this subtree");return e.getSubtreeCoordinates().getOffsetCoordinates(e).tileIndex};wa.prototype.getChildSubtreeIndex=function(e){if(e.level-this._implicitCoordinates.level!==this._implicitCoordinates.subtreeLevels)throw new de("level is out of bounds for this subtree");return e.getParentSubtreeCoordinates().getOffsetCoordinates(e).mortonIndex};function Ake(e,t){if(!l(e._tileMetadataTable))return;let n=e.getTileIndex(t);if(e._tileAvailability.getBit(n))return e._tileJumpBuffer[n]}function Tke(e,t,n){let i=e._contentMetadataTables;if(!l(i))return;let o=i[n];if(!l(o))return;let r=e._contentAvailabilityBitstreams[n],s=e.getTileIndex(t);if(r.getBit(s))return e._contentJumpBuffers[n][s]}wa.prototype.getTileMetadataView=function(e){let t=Ake(this,e);if(!l(t))return;let n=this._tileMetadataTable;return new KS({class:n.class,metadataTable:n,entityId:t,propertyTableJson:this._tilePropertyTableJson})};wa.prototype.getContentMetadataView=function(e,t){let n=Tke(this,e,t);if(!l(n))return;let i=this._contentMetadataTables[t],o=this._contentPropertyTableJsons[t];return new KS({class:i.class,metadataTable:i,entityId:n,contentIndex:t,propertyTableJson:o})};wa.prototype.isDestroyed=function(){return!1};wa.prototype.destroy=function(){return l(this._bufferLoader)&&ho.unload(this._bufferLoader),fe(this)};var cL=wa;var Eke={ID:"ID",NAME:"NAME",DESCRIPTION:"DESCRIPTION",TILE_BOUNDING_BOX:"TILE_BOUNDING_BOX",TILE_BOUNDING_REGION:"TILE_BOUNDING_REGION",TILE_BOUNDING_SPHERE:"TILE_BOUNDING_SPHERE",TILE_MINIMUM_HEIGHT:"TILE_MINIMUM_HEIGHT",TILE_MAXIMUM_HEIGHT:"TILE_MAXIMUM_HEIGHT",TILE_HORIZON_OCCLUSION_POINT:"TILE_HORIZON_OCCLUSION_POINT",TILE_GEOMETRIC_ERROR:"TILE_GEOMETRIC_ERROR",CONTENT_BOUNDING_BOX:"CONTENT_BOUNDING_BOX",CONTENT_BOUNDING_REGION:"CONTENT_BOUNDING_REGION",CONTENT_BOUNDING_SPHERE:"CONTENT_BOUNDING_SPHERE",CONTENT_MINIMUM_HEIGHT:"CONTENT_MINIMUM_HEIGHT",CONTENT_MAXIMUM_HEIGHT:"CONTENT_MAXIMUM_HEIGHT",CONTENT_HORIZON_OCCLUSION_POINT:"CONTENT_HORIZON_OCCLUSION_POINT"},lL=Object.freeze(Eke);function bke(e){return{tile:{boundingVolume:Yoe("TILE",e),minimumHeight:Xoe("TILE",e),maximumHeight:Koe("TILE",e)},content:{boundingVolume:Yoe("CONTENT",e),minimumHeight:Xoe("CONTENT",e),maximumHeight:Koe("CONTENT",e)}}}function Yoe(e,t){let n=`${e}_BOUNDING_BOX`,i=t.getPropertyBySemantic(n);if(l(i))return{box:i};let o=`${e}_BOUNDING_REGION`,r=t.getPropertyBySemantic(o);if(l(r))return{region:r};let s=`${e}_BOUNDING_SPHERE`,a=t.getPropertyBySemantic(s);if(l(a))return{sphere:a}}function Xoe(e,t){let n=`${e}_MINIMUM_HEIGHT`;return t.getPropertyBySemantic(n)}function Koe(e,t){let n=`${e}_MAXIMUM_HEIGHT`;return t.getPropertyBySemantic(n)}var uL=bke;function bu(e,t,n,i,o,r){let s=t.implicitTileset,a=t.implicitCoordinates;this._implicitTileset=s,this._implicitCoordinates=a,this._implicitSubtree=void 0,this._tileset=e,this._tile=t,this._resource=n,this._metadata=void 0,this.featurePropertiesDirty=!1,this._group=void 0;let c=a.getTemplateValues(),u=s.subtreeUriTemplate.getDerivedResource({templateValues:c});this._url=u.getUrlComponent(!0),this._readyPromise=Ske(this,i,o,r)}Object.defineProperties(bu.prototype,{featuresLength:{get:function(){return 0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return 0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return 0}},innerContents:{get:function(){}},readyPromise:{get:function(){return this._readyPromise}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._url}},metadata:{get:function(){},set:function(){}},batchTable:{get:function(){}},group:{get:function(){return this._group},set:function(e){this._group=e}}});function Ske(e,t,n,i){i=y(i,0);let o;l(n)&&(o=new Uint8Array(n,i));let r=new cL(e._resource,t,o,e._implicitTileset,e._implicitCoordinates);return e._implicitSubtree=r,r.readyPromise.then(function(){return wke(e,r),e})}function wke(e,t){let n=e._tile,i=e._implicitCoordinates.childIndex,o=Dke(e,t,n,i),r=e._tileset.statistics;n.children.push(o.rootTile),r.numberOfTilesTotal++;let s=vke(e,t,o.bottomRow);for(let a=0;a<s.length;a++){let c=s[a],u=c.tile,f=Fke(e,u,c.childIndex);u.children.push(f),r.numberOfTilesTotal++}}function vke(e,t,n){let i=[],o=e._implicitTileset.branchingFactor;for(let r=0;r<n.length;r++){let s=n[r];if(!!l(s))for(let a=0;a<o;a++){let c=r*o+a;t.childSubtreeIsAvailableAtIndex(c)&&i.push({tile:s,childIndex:a})}}return i}function Dke(e,t,n,i){let s=Zoe(e,t,n,i,0,!0),a=e._tileset.statistics,c=[s],u=[],f=e._implicitTileset;for(let d=1;d<f.subtreeLevels;d++){let p=t.getLevelOffset(d),g=f.branchingFactor*c.length;for(let m=0;m<g;m++){let C=p+m;if(!t.tileIsAvailableAtIndex(C)){u.push(void 0);continue}let x=t.getParentMortonIndex(m),A=c[x],b=m%f.branchingFactor,E=Zoe(e,t,A,b,C);A.children.push(E),a.numberOfTilesTotal++,u.push(E)}c=u,u=[]}return{rootTile:s,bottomRow:c}}function $oe(e,t,n){let i=lL.TILE_GEOMETRIC_ERROR;return l(e)&&e.hasPropertyBySemantic(i)?e.getPropertyBySemantic(i):t.geometricError/Math.pow(2,n.level)}function Zoe(e,t,n,i,o,r){let s=e._implicitTileset,a;y(r,!1)?a=n.implicitCoordinates:a=n.implicitCoordinates.getChildCoordinates(i);let c,u,f;if(l(t.tilePropertyTableJson)){c=t.getTileMetadataView(a);let P=uL(c);u=P.tile,f=P.content}let p=t.contentPropertyTableJsons.length,g=!1;for(let P=0;P<p;P++)if(t.contentIsAvailableAtCoordinates(a,P)){g=!0;break}let m=Oke(s,a,i,r,n,u),C=[];for(let P=0;P<s.contentCount;P++){if(!t.contentIsAvailableAtIndex(o,P))continue;let B={uri:s.contentUriTemplates[P].getDerivedResource({templateValues:a.getTemplateValues()}).url},L=Rke(m,f);l(L)&&(B.boundingVolume=L),C.push(mt(B,s.contentHeaders[P]))}let x=$oe(c,s,a),A={boundingVolume:m,geometricError:x,refine:s.refine,contents:C},b=!0,E=et(s.tileHeader,b);delete E.boundingVolume,delete E.transform;let S=mt(A,E,b),v=nre(e,s.baseResource,S,n);return v.implicitCoordinates=a,v.implicitSubtree=t,v.metadata=c,v.hasImplicitContentMetadata=g,v}function fL(e,t){return l(e)&&l(t)&&(l(t.minimumHeight)||l(t.maximumHeight))&&(eo(e,"3DTILES_bounding_volume_S2")||l(e.region))}function m6(e,t){!l(t)||(eo(e,"3DTILES_bounding_volume_S2")?Ike(e.extensions["3DTILES_bounding_volume_S2"],t.minimumHeight,t.maximumHeight):l(e.region)&&Pke(e.region,t.minimumHeight,t.maximumHeight))}function Pke(e,t,n){l(t)&&(e[4]=t),l(n)&&(e[5]=n)}function Ike(e,t,n){l(t)&&(e.minimumHeight=t),l(n)&&(e.maximumHeight=n)}function Oke(e,t,n,i,o,r){let s;return!l(r)||!l(r.boundingVolume)||!fL(r.boundingVolume,r)&&fL(e.boundingVolume,r)?s=Joe(e,t,n,y(i,!1),o):s=r.boundingVolume,m6(s,r),s}function Rke(e,t){let n;return l(t)&&(n=t.boundingVolume),fL(n,t)?m6(n,t):fL(e,t)&&(n=et(e,!0),m6(n,t)),n}function Joe(e,t,n,i,o){let r=e.boundingVolume;return eo(r,"3DTILES_bounding_volume_S2")?Qoe(i,o,n,t.level,t.x,t.y,t.z):l(r.region)?{region:tre(r.region,t.level,t.x,t.y,t.z)}:{box:ere(r.box,t.level,t.x,t.y,t.z)}}function Qoe(e,t,n,i,o,r,s){let a=t._boundingVolume;if(e)return{extensions:{"3DTILES_bounding_volume_S2":{token:__.getTokenFromId(a.s2Cell._cellId),minimumHeight:a.minimumHeight,maximumHeight:a.maximumHeight}}};let c=Number(t._boundingVolume.s2Cell._cellId>>BigInt(61)),u=c%2===0?$b.encode2D(i,o,r):$b.encode2D(i,r,o),f=__.fromFacePositionLevel(c,BigInt(u),i),d,p;if(l(s)){let g=(a.maximumHeight+a.minimumHeight)/2;d=n<4?a.minimumHeight:g,p=n<4?g:a.maximumHeight}else d=a.minimumHeight,p=a.maximumHeight;return{extensions:{"3DTILES_bounding_volume_S2":{token:__.getTokenFromId(f._cellId),minimumHeight:d,maximumHeight:p}}}}var Mke=new h,Bke=new h,h6=new h,Lke=new J;function ere(e,t,n,i,o){if(t===0)return e;let r=h.unpack(e,0,Bke),s=J.unpack(e,3,Lke),a=Math.pow(2,-t),c=-1+(2*n+1)*a,u=-1+(2*i+1)*a,f=0,d=h.fromElements(a,a,1,Mke);l(o)&&(f=-1+(2*o+1)*a,d.z=a);let p=h.fromElements(c,u,f,h6);p=J.multiplyByVector(s,p,h6),p=h.add(p,r,h6);let g=J.clone(s);g=J.multiplyByScale(g,d,g);let m=new Array(12);return h.pack(p,m),J.pack(g,m,3),m}var Nke=new ue;function tre(e,t,n,i,o){if(t===0)return e.slice();let r=ue.unpack(e,0,Nke),s=e[4],a=e[5],c=Math.pow(2,-t),u=c*r.width,f=I.negativePiToPi(r.west+n*u),d=I.negativePiToPi(f+u),p=c*r.height,g=I.negativePiToPi(r.south+i*p),m=I.negativePiToPi(g+p),C=s,x=a;if(l(o)){let A=c*(a-s);C+=o*A,x=C+A}return[f,g,d,m,C,x]}function Fke(e,t,n){let i=e._implicitTileset,o=t.implicitCoordinates.getChildCoordinates(n),r=Joe(i,o,n,!1,t),s=$oe(void 0,i,o),a=i.subtreeUriTemplate.getDerivedResource({templateValues:o.getTemplateValues()}).url,c={boundingVolume:r,geometricError:s,refine:i.refine,contents:[{uri:a}]},u=nre(e,i.baseResource,c,t);return u.implicitTileset=i,u.implicitCoordinates=o,u}function nre(e,t,n,i){let o=e._tile.constructor;return new o(e._tileset,t,n,i)}bu.prototype.hasProperty=function(e,t){return!1};bu.prototype.getFeature=function(e){};bu.prototype.applyDebugSettings=function(e,t){};bu.prototype.applyStyle=function(e){};bu.prototype.update=function(e,t){};bu.prototype.isDestroyed=function(){return!1};bu.prototype.destroy=function(){return this._implicitSubtree=this._implicitSubtree&&this._implicitSubtree.destroy(),fe(this)};bu._deriveBoundingBox=ere;bu._deriveBoundingRegion=tre;bu._deriveBoundingVolumeS2=Qoe;var fw=bu;var Vke={NONE:0,REPEAT:1,MIRRORED_REPEAT:2},fc=Object.freeze(Vke);function $A(e,t){this._distance=t,this._normal=new ire(e,this),this.onChangeCallback=void 0,this.index=-1}Object.defineProperties($A.prototype,{distance:{get:function(){return this._distance},set:function(e){l(this.onChangeCallback)&&e!==this._distance&&this.onChangeCallback(this.index),this._distance=e}},normal:{get:function(){return this._normal},set:function(e){l(this.onChangeCallback)&&!h.equals(this._normal._cartesian3,e)&&this.onChangeCallback(this.index),h.clone(e,this._normal._cartesian3)}}});$A.fromPlane=function(e,t){return l(t)?(t.normal=e.normal,t.distance=e.distance):t=new $A(e.normal,e.distance),t};$A.clone=function(e,t){return l(t)?(t.normal=e.normal,t.distance=e.distance,t):new $A(e.normal,e.distance)};function ire(e,t){this._clippingPlane=t,this._cartesian3=h.clone(e)}Object.defineProperties(ire.prototype,{x:{get:function(){return this._cartesian3.x},set:function(e){l(this._clippingPlane.onChangeCallback)&&e!==this._cartesian3.x&&this._clippingPlane.onChangeCallback(this._clippingPlane.index),this._cartesian3.x=e}},y:{get:function(){return this._cartesian3.y},set:function(e){l(this._clippingPlane.onChangeCallback)&&e!==this._cartesian3.y&&this._clippingPlane.onChangeCallback(this._clippingPlane.index),this._cartesian3.y=e}},z:{get:function(){return this._cartesian3.z},set:function(e){l(this._clippingPlane.onChangeCallback)&&e!==this._cartesian3.z&&this._clippingPlane.onChangeCallback(this._clippingPlane.index),this._cartesian3.z=e}}});var JA=$A;function va(e){e=y(e,y.EMPTY_OBJECT),this._planes=[],this._dirtyIndex=-1,this._multipleDirtyPlanes=!1,this._enabled=y(e.enabled,!0),this.modelMatrix=N.clone(y(e.modelMatrix,N.IDENTITY)),this.edgeColor=U.clone(y(e.edgeColor,U.WHITE)),this.edgeWidth=y(e.edgeWidth,0),this.planeAdded=new ge,this.planeRemoved=new ge,this._owner=void 0;let t=y(e.unionClippingRegions,!1);this._unionClippingRegions=t,this._testIntersection=t?cre:lre,this._uint8View=void 0,this._float32View=void 0,this._clippingPlanesTexture=void 0;let n=e.planes;if(l(n)){let i=n.length;for(let o=0;o<i;++o)this.add(n[o])}}function cre(e){return e===Kt.OUTSIDE}function lre(e){return e===Kt.INSIDE}Object.defineProperties(va.prototype,{length:{get:function(){return this._planes.length}},unionClippingRegions:{get:function(){return this._unionClippingRegions},set:function(e){this._unionClippingRegions!==e&&(this._unionClippingRegions=e,this._testIntersection=e?cre:lre)}},enabled:{get:function(){return this._enabled},set:function(e){this._enabled!==e&&(this._enabled=e)}},texture:{get:function(){return this._clippingPlanesTexture}},owner:{get:function(){return this._owner}},clippingPlanesState:{get:function(){return this._unionClippingRegions?this._planes.length:-this._planes.length}}});function ore(e,t){e._multipleDirtyPlanes=e._multipleDirtyPlanes||e._dirtyIndex!==-1&&e._dirtyIndex!==t,e._dirtyIndex=t}va.prototype.add=function(e){let t=this._planes.length,n=this;e.onChangeCallback=function(i){ore(n,i)},e.index=t,ore(this,t),this._planes.push(e),this.planeAdded.raiseEvent(e,t)};va.prototype.get=function(e){return this._planes[e]};function ure(e,t){let n=e.length;for(let i=0;i<n;++i)if(en.equals(e[i],t))return i;return-1}va.prototype.contains=function(e){return ure(this._planes,e)!==-1};va.prototype.remove=function(e){let t=this._planes,n=ure(t,e);if(n===-1)return!1;e instanceof JA&&(e.onChangeCallback=void 0,e.index=-1);let i=t.length-1;for(let o=n;o<i;++o){let r=t[o+1];t[o]=r,r instanceof JA&&(r.index=o)}return this._multipleDirtyPlanes=!0,t.length=i,this.planeRemoved.raiseEvent(e,n),!0};va.prototype.removeAll=function(){let e=this._planes,t=e.length;for(let n=0;n<t;++n){let i=e[n];i instanceof JA&&(i.onChangeCallback=void 0,i.index=-1),this.planeRemoved.raiseEvent(i,n)}this._multipleDirtyPlanes=!0,this._planes=[]};var kke=new se,Uke=new se;function rre(e,t,n){let i=e._uint8View,o=e._planes,r=0;for(let s=t;s<n;++s){let a=o[s],c=kn.octEncodeToCartesian4(a.normal,Uke);i[r]=c.x,i[r+1]=c.y,i[r+2]=c.z,i[r+3]=c.w;let u=se.packFloat(a.distance,kke);i[r+4]=u.x,i[r+5]=u.y,i[r+6]=u.z,i[r+7]=u.w,r+=8}}function sre(e,t,n){let i=e._float32View,o=e._planes,r=0;for(let s=t;s<n;++s){let a=o[s],c=a.normal;i[r]=c.x,i[r+1]=c.y,i[r+2]=c.z,i[r+3]=a.distance,r+=4}}function fre(e,t){let n=kt.maximumTextureSize;return t.x=Math.min(e,n),t.y=Math.ceil(e/t.x),t}var zke=new G;va.prototype.update=function(e){let t=this._clippingPlanesTexture,n=e.context,i=va.useFloatTexture(n),o=i?this.length:this.length*2;if(l(t)){let s=t.width*t.height;(s<o||o<.25*s)&&(t.destroy(),t=void 0,this._clippingPlanesTexture=void 0)}if(this.length===0)return;if(!l(t)){let s=fre(o,zke);s.y*=2,i?(t=new Ot({context:n,width:s.x,height:s.y,pixelFormat:ft.RGBA,pixelDatatype:je.FLOAT,sampler:hn.NEAREST,flipY:!1}),this._float32View=new Float32Array(s.x*s.y*4)):(t=new Ot({context:n,width:s.x,height:s.y,pixelFormat:ft.RGBA,pixelDatatype:je.UNSIGNED_BYTE,sampler:hn.NEAREST,flipY:!1}),this._uint8View=new Uint8Array(s.x*s.y*4)),this._clippingPlanesTexture=t,this._multipleDirtyPlanes=!0}let r=this._dirtyIndex;if(!(!this._multipleDirtyPlanes&&r===-1)){if(this._multipleDirtyPlanes)i?(sre(this,0,this._planes.length),t.copyFrom({source:{width:t.width,height:t.height,arrayBufferView:this._float32View}})):(rre(this,0,this._planes.length),t.copyFrom({source:{width:t.width,height:t.height,arrayBufferView:this._uint8View}}));else{let s=0,a=0;i?(a=Math.floor(r/t.width),s=Math.floor(r-a*t.width),sre(this,r,r+1),t.copyFrom({source:{width:1,height:1,arrayBufferView:this._float32View},xOffset:s,yOffset:a})):(a=Math.floor(r*2/t.width),s=Math.floor(r*2-a*t.width),rre(this,r,r+1),t.copyFrom({source:{width:2,height:1,arrayBufferView:this._uint8View},xOffset:s,yOffset:a}))}this._multipleDirtyPlanes=!1,this._dirtyIndex=-1}};var Hke=new N,are=new en(h.UNIT_X,0);va.prototype.computeIntersectionWithBoundingVolume=function(e,t){let n=this._planes,i=n.length,o=this.modelMatrix;l(t)&&(o=N.multiply(t,o,Hke));let r=Kt.INSIDE;!this.unionClippingRegions&&i>0&&(r=Kt.OUTSIDE);for(let s=0;s<i;++s){let a=n[s];en.transform(a,o,are);let c=e.intersectPlane(are);if(c===Kt.INTERSECTING)r=c;else if(this._testIntersection(c))return c}return r};va.setOwner=function(e,t,n){e!==t[n]&&(t[n]=t[n]&&t[n].destroy(),l(e)&&(e._owner=t,t[n]=e))};va.useFloatTexture=function(e){return e.floatingPointTexture};va.getTextureResolution=function(e,t,n){let i=e.texture;if(l(i))return n.x=i.width,n.y=i.height,n;let o=va.useFloatTexture(t)?e.length:e.length*2,r=fre(o,n);return r.y*=2,r};va.prototype.isDestroyed=function(){return!1};va.prototype.destroy=function(){return this._clippingPlanesTexture=this._clippingPlanesTexture&&this._clippingPlanesTexture.destroy(),fe(this)};var Zs=va;var dw={HIGHLIGHT:0,REPLACE:1,MIX:2};dw.getColorBlend=function(e,t){if(e===dw.HIGHLIGHT)return 0;if(e===dw.REPLACE)return 1;if(e===dw.MIX)return I.clamp(t,I.EPSILON4,1)};var dc=Object.freeze(dw);function Da(e){e=y(e,y.EMPTY_OBJECT),this._name=e.name,this._id=e.id,this._count=e.count,this._extras=e.extras,this._extensions=e.extensions,this._metadataTable=e.metadataTable,this._jsonMetadataTable=e.jsonMetadataTable,this._batchTableHierarchy=e.batchTableHierarchy}Object.defineProperties(Da.prototype,{name:{get:function(){return this._name}},id:{get:function(){return this._id}},count:{get:function(){return this._count}},class:{get:function(){if(l(this._metadataTable))return this._metadataTable.class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}},byteLength:{get:function(){let e=0;return l(this._metadataTable)&&(e+=this._metadataTable.byteLength),l(this._batchTableHierarchy)&&(e+=this._batchTableHierarchy.byteLength),e}}});Da.prototype.hasProperty=function(e,t){return!!(l(this._metadataTable)&&this._metadataTable.hasProperty(t)||l(this._jsonMetadataTable)&&this._jsonMetadataTable.hasProperty(t)||l(this._batchTableHierarchy)&&this._batchTableHierarchy.hasProperty(e,t))};Da.prototype.hasPropertyBySemantic=function(e,t){return l(this._metadataTable)?this._metadataTable.hasPropertyBySemantic(t):!1};Da.prototype.propertyExists=function(e){return!!(l(this._metadataTable)&&this._metadataTable.hasProperty(e)||l(this._jsonMetadataTable)&&this._jsonMetadataTable.hasProperty(e)||l(this._batchTableHierarchy)&&this._batchTableHierarchy.propertyExists(e))};Da.prototype.propertyExistsBySemantic=function(e){return l(this._metadataTable)?this._metadataTable.hasPropertyBySemantic(e):!1};var p6=[];Da.prototype.getPropertyIds=function(e,t){return t=l(t)?t:[],t.length=0,l(this._metadataTable)&&t.push.apply(t,this._metadataTable.getPropertyIds(p6)),l(this._jsonMetadataTable)&&t.push.apply(t,this._jsonMetadataTable.getPropertyIds(p6)),l(this._batchTableHierarchy)&&t.push.apply(t,this._batchTableHierarchy.getPropertyIds(e,p6)),t};Da.prototype.getProperty=function(e,t){let n;if(l(this._metadataTable)&&(n=this._metadataTable.getProperty(e,t),l(n))||l(this._jsonMetadataTable)&&(n=this._jsonMetadataTable.getProperty(e,t),l(n))||l(this._batchTableHierarchy)&&(n=this._batchTableHierarchy.getProperty(e,t),l(n)))return n};Da.prototype.setProperty=function(e,t,n){return l(this._metadataTable)&&this._metadataTable.setProperty(e,t,n)||l(this._jsonMetadataTable)&&this._jsonMetadataTable.setProperty(e,t,n)?!0:l(this._batchTableHierarchy)&&this._batchTableHierarchy.setProperty(e,t,n)};Da.prototype.getPropertyBySemantic=function(e,t){if(l(this._metadataTable))return this._metadataTable.getPropertyBySemantic(e,t)};Da.prototype.setPropertyBySemantic=function(e,t,n){return l(this._metadataTable)?this._metadataTable.setPropertyBySemantic(e,t,n):!1};Da.prototype.getPropertyTypedArray=function(e){if(l(this._metadataTable))return this._metadataTable.getPropertyTypedArray(e)};Da.prototype.getPropertyTypedArrayBySemantic=function(e){if(l(this._metadataTable))return this._metadataTable.getPropertyTypedArrayBySemantic(e)};Da.prototype.isClass=function(e,t){let n=this._batchTableHierarchy;return l(n)?n.isClass(e,t):!1};Da.prototype.isExactClass=function(e,t){return this.getExactClassName(e)===t};Da.prototype.getExactClassName=function(e){let t=this._batchTableHierarchy;if(!!l(t))return t.getClassName(e)};var qc=Da;function hw(e){e=y(e,y.EMPTY_OBJECT);let t=e.property,n=e.classProperty,i=e.textures,o=l(t.channels)?t.channels:[0],r=t,s=Pl.createModelTextureReader({textureInfo:r,channels:jke(o),texture:i[r.index]});this._min=t.min,this._max=t.max;let a=t.offset,c=t.scale,u=n.hasValueTransform||l(a)||l(c);a=y(a,n.offset),c=y(c,n.scale),a=n.unpackVectorAndMatrixTypes(a),c=n.unpackVectorAndMatrixTypes(c),this._offset=a,this._scale=c,this._hasValueTransform=u,this._textureReader=s,this._classProperty=n,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(hw.prototype,{textureReader:{get:function(){return this._textureReader}},hasValueTransform:{get:function(){return this._hasValueTransform}},offset:{get:function(){return this._offset}},scale:{get:function(){return this._scale}},classProperty:{get:function(){return this._classProperty}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});hw.prototype.isGpuCompatible=function(){let e=this._classProperty,t=e.type,n=e.componentType;return e.isArray?!e.isVariableLengthArray&&e.arrayLength<=4&&t===Rn.SCALAR&&n===Sn.UINT8:Rn.isVectorType(t)||t===Rn.SCALAR?n===Sn.UINT8:!1};var Gke=[void 0,"float","vec2","vec3","vec4"],Wke=[void 0,"int","ivec2","ivec3","ivec4"];hw.prototype.getGlslType=function(){let e=this._classProperty,t=Rn.getComponentCount(e.type);return e.isArray&&(t=e.arrayLength),e.normalized?Gke[t]:Wke[t]};hw.prototype.unpackInShader=function(e){return this._classProperty.normalized?e:`${this.getGlslType()}(255.0 * ${e})`};function jke(e){return e.map(function(t){return"rgba".charAt(t)}).join("")}var dL=hw;function _6(e){e=y(e,y.EMPTY_OBJECT);let t=e.propertyTexture,n=e.class,i=e.textures,o=t.extensions,r=t.extras,s={};if(l(t.properties))for(let a in t.properties)t.properties.hasOwnProperty(a)&&(s[a]=new dL({property:t.properties[a],classProperty:n.properties[a],textures:i}));this._name=e.name,this._id=e.id,this._class=n,this._properties=s,this._extras=r,this._extensions=o}Object.defineProperties(_6.prototype,{name:{get:function(){return this._name}},id:{get:function(){return this._id}},class:{get:function(){return this._class}},properties:{get:function(){return this._properties}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});_6.prototype.getProperty=function(e){return this._properties[e]};var QA=_6;function dre(e){e=y(e,y.EMPTY_OBJECT);let t=e.property,n=e.classProperty;this._attribute=t.attribute,this._classProperty=n,this._min=t.min,this._max=t.max;let i=t.offset,o=t.scale,r=n.hasValueTransform||l(i)||l(o);i=y(i,n.offset),o=y(o,n.scale),i=n.unpackVectorAndMatrixTypes(i),o=n.unpackVectorAndMatrixTypes(o),this._offset=i,this._scale=o,this._hasValueTransform=r,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(dre.prototype,{attribute:{get:function(){return this._attribute}},hasValueTransform:{get:function(){return this._hasValueTransform}},offset:{get:function(){return this._offset}},scale:{get:function(){return this._scale}},classProperty:{get:function(){return this._classProperty}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});var hL=dre;function g6(e){e=y(e,y.EMPTY_OBJECT);let t=e.propertyAttribute,n=e.class,i={};if(l(t.properties))for(let o in t.properties)t.properties.hasOwnProperty(o)&&(i[o]=new hL({property:t.properties[o],classProperty:n.properties[o]}));this._name=e.name,this._id=e.id,this._class=n,this._properties=i,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(g6.prototype,{name:{get:function(){return this._name}},id:{get:function(){return this._id}},class:{get:function(){return this._class}},properties:{get:function(){return this._properties}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});g6.prototype.getProperty=function(e){return this._properties[e]};var eT=g6;function mw(e){e=y(e,y.EMPTY_OBJECT),this._schema=e.schema;let t=e.propertyTables;this._propertyTableCount=l(t)?t.length:0,this._propertyTables=t,this._propertyTextures=e.propertyTextures,this._propertyAttributes=e.propertyAttributes,this._statistics=e.statistics,this._extras=e.extras,this._extensions=e.extensions}Object.defineProperties(mw.prototype,{schema:{get:function(){return this._schema}},statistics:{get:function(){return this._statistics}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}},propertyTableCount:{get:function(){return this._propertyTableCount}},propertyTables:{get:function(){return this._propertyTables}},propertyTextures:{get:function(){return this._propertyTextures}},propertyAttributes:{get:function(){return this._propertyAttributes}},propertyTablesByteLength:{get:function(){if(!l(this._propertyTables))return 0;let e=0,t=this._propertyTables.length;for(let n=0;n<t;n++)e+=this._propertyTables[n].byteLength;return e}}});mw.prototype.getPropertyTable=function(e){return this._propertyTables[e]};mw.prototype.getPropertyTexture=function(e){return this._propertyTextures[e]};mw.prototype.getPropertyAttribute=function(e){return this._propertyAttributes[e]};var Pa=mw;function qke(e){e=y(e,y.EMPTY_OBJECT);let t=e.extension,n=e.schema,i=[];if(l(t.propertyTables))for(let s=0;s<t.propertyTables.length;s++){let a=t.propertyTables[s],c=n.classes[a.class],u=new Df({count:a.count,properties:a.properties,class:c,bufferViews:e.bufferViews});i.push(new qc({id:s,name:a.name,count:a.count,metadataTable:u,extras:a.extras,extensions:a.extensions}))}let o=[];if(l(t.propertyTextures))for(let s=0;s<t.propertyTextures.length;s++){let a=t.propertyTextures[s];o.push(new QA({id:s,name:a.name,propertyTexture:a,class:n.classes[a.class],textures:e.textures}))}let r=[];if(l(t.propertyAttributes))for(let s=0;s<t.propertyAttributes.length;s++){let a=t.propertyAttributes[s];r.push(new eT({id:s,name:a.name,class:n.classes[a.class],propertyAttribute:a}))}return new Pa({schema:n,propertyTables:i,propertyTextures:o,propertyAttributes:r,statistics:t.statistics,extras:t.extras,extensions:t.extensions})}var mL=qke;function Yke(e){e=y(e,y.EMPTY_OBJECT);let t=e.extension,n=e.schema,i,o=[],r;if(l(t.featureTables))for(r=Object.keys(t.featureTables).sort(),i=0;i<r.length;i++){let a=r[i],c=t.featureTables[a],u=n.classes[c.class],f=new Df({count:c.count,properties:c.properties,class:u,bufferViews:e.bufferViews});o.push(new qc({id:a,count:c.count,metadataTable:f,extras:c.extras,extensions:c.extensions}))}let s=[];if(l(t.featureTextures))for(r=Object.keys(t.featureTextures).sort(),i=0;i<r.length;i++){let a=r[i],c=t.featureTextures[a];s.push(new QA({id:a,propertyTexture:Xke(c),class:n.classes[c.class],textures:e.textures}))}return new Pa({schema:n,propertyTables:o,propertyTextures:s,statistics:t.statistics,extras:t.extras,extensions:t.extensions})}function Xke(e){let t={class:e.class,properties:{}},n=e.properties;for(let i in n)if(n.hasOwnProperty(i)){let o=n[i],r={channels:Kke(o.channels),extras:o.extras,extensions:o.extensions};t.properties[i]=mt(o.texture,r,!0)}return t}function Kke(e){let t=e.length,n=new Array(t);for(let i=0;i<t;i++)n[i]="rgba".indexOf(e[i]);return n}var pL=Yke;function Y_(e){e=y(e,y.EMPTY_OBJECT);let t=e.gltf,n=e.extension,i=e.extensionLegacy,o=e.gltfResource,r=e.baseResource,s=e.supportedImageFormats,a=e.cacheKey,c=y(e.asynchronous,!0);this._gltfResource=o,this._baseResource=r,this._gltf=t,this._extension=n,this._extensionLegacy=i,this._supportedImageFormats=s,this._cacheKey=a,this._asynchronous=c,this._bufferViewLoaders=[],this._textureLoaders=[],this._schemaLoader=void 0,this._structuralMetadata=void 0,this._state=Nt.UNLOADED,this._promise=void 0}l(Object.create)&&(Y_.prototype=Object.create(to.prototype),Y_.prototype.constructor=Y_);Object.defineProperties(Y_.prototype,{promise:{get:function(){return this._promise}},cacheKey:{get:function(){return this._cacheKey}},structuralMetadata:{get:function(){return this._structuralMetadata}}});Y_.prototype.load=function(){let e=eUe(this),t=rUe(this),n=sUe(this);this._gltf=void 0,this._state=Nt.LOADING;let i=this;this._promise=Promise.all([e,t,n]).then(function(o){if(i.isDestroyed())return;let r=o[0],s=o[1],a=o[2];return l(i._extension)?i._structuralMetadata=mL({extension:i._extension,schema:a,bufferViews:r,textures:s}):i._structuralMetadata=pL({extension:i._extensionLegacy,schema:a,bufferViews:r,textures:s}),i._state=Nt.READY,i}).catch(function(o){if(i.isDestroyed())return;i.unload(),i._state=Nt.FAILED;let r="Failed to load structural metadata";return Promise.reject(i.getError(r,o))})};function Zke(e,t){for(let n in e)if(e.hasOwnProperty(n)){let i=e[n],o=i.values,r=i.arrayOffsets,s=i.stringOffsets;l(o)&&(t[o]=!0),l(r)&&(t[r]=!0),l(s)&&(t[s]=!0)}}function $ke(e,t){for(let n in e)if(e.hasOwnProperty(n)){let i=e[n],o=i.bufferView,r=i.arrayOffsetBufferView,s=i.stringOffsetBufferView;l(o)&&(t[o]=!0),l(r)&&(t[r]=!0),l(s)&&(t[s]=!0)}}function Jke(e){let t=e.propertyTables,n={};if(l(t))for(let i=0;i<t.length;i++){let o=t[i];Zke(o.properties,n)}return n}function Qke(e){let t=e.featureTables,n={};if(l(t)){for(let i in t)if(t.hasOwnProperty(i)){let r=t[i].properties;l(r)&&$ke(r,n)}}return n}function eUe(e){let t;l(e._extension)?t=Jke(e._extension):t=Qke(e._extensionLegacy);let n=[],i={};for(let o in t)if(t.hasOwnProperty(o)){let r=ho.loadBufferView({gltf:e._gltf,bufferViewId:parseInt(o),gltfResource:e._gltfResource,baseResource:e._baseResource});n.push(r.promise),e._bufferViewLoaders.push(r),i[o]=r}return Promise.all(n).then(function(){let o={};for(let r in i)if(i.hasOwnProperty(r)){let s=i[r],a=new Uint8Array(s.typedArray);o[r]=a}return hre(e),o})}function tUe(e){let t={},n=e.propertyTextures;if(l(n))for(let i=0;i<n.length;i++){let r=n[i].properties;l(r)&&nUe(r,t)}return t}function nUe(e,t){for(let n in e)if(e.hasOwnProperty(n)){let i=e[n];t[i.index]=i}}function iUe(e){let t={},n=e.featureTextures;if(l(n)){for(let i in n)if(n.hasOwnProperty(i)){let r=n[i].properties;l(r)&&oUe(r,t)}}return t}function oUe(e,t){for(let n in e)if(e.hasOwnProperty(n)){let o=e[n].texture;t[o.index]=o}}function rUe(e){let t;l(e._extension)?t=tUe(e._extension):t=iUe(e._extensionLegacy);let n=e._gltf,i=e._gltfResource,o=e._baseResource,r=e._supportedImageFormats,s=e._asynchronous,a=[],c={};for(let u in t)if(t.hasOwnProperty(u)){let f=ho.loadTexture({gltf:n,textureInfo:t[u],gltfResource:i,baseResource:o,supportedImageFormats:r,asynchronous:s});a.push(f.promise),e._textureLoaders.push(f),c[u]=f}return Promise.all(a).then(function(){let u={};for(let f in c)if(c.hasOwnProperty(f)){let d=c[f];u[f]=d.texture}return u})}function sUe(e){let t=y(e._extension,e._extensionLegacy),n;if(l(t.schemaUri)){let i=e._baseResource.getDerivedResource({url:t.schemaUri});n=ho.loadSchema({resource:i})}else n=ho.loadSchema({schema:t.schema});return e._schemaLoader=n,n.promise.then(function(i){return i.schema})}Y_.prototype.process=function(e){if(this._state!==Nt.LOADING)return;let t=this._textureLoaders,n=t.length;for(let i=0;i<n;++i)t[i].process(e)};function hre(e){let t=e._bufferViewLoaders,n=t.length;for(let i=0;i<n;++i)ho.unload(t[i]);e._bufferViewLoaders.length=0}function aUe(e){let t=e._textureLoaders,n=t.length;for(let i=0;i<n;++i)ho.unload(t[i]);e._textureLoaders.length=0}Y_.prototype.unload=function(){hre(this),aUe(this),l(this._schemaLoader)&&ho.unload(this._schemaLoader),this._schemaLoader=void 0,this._structuralMetadata=void 0};var _L=Y_;var Qn={POSITION:"POSITION",NORMAL:"NORMAL",TANGENT:"TANGENT",TEXCOORD:"TEXCOORD",COLOR:"COLOR",JOINTS:"JOINTS",WEIGHTS:"WEIGHTS",FEATURE_ID:"_FEATURE_ID"};function cUe(e){switch(e){case Qn.POSITION:return"positionMC";case Qn.NORMAL:return"normalMC";case Qn.TANGENT:return"tangentMC";case Qn.TEXCOORD:return"texCoord";case Qn.COLOR:return"color";case Qn.JOINTS:return"joints";case Qn.WEIGHTS:return"weights";case Qn.FEATURE_ID:return"featureId"}}Qn.hasSetIndex=function(e){switch(e){case Qn.POSITION:case Qn.NORMAL:case Qn.TANGENT:return!1;case Qn.TEXCOORD:case Qn.COLOR:case Qn.JOINTS:case Qn.WEIGHTS:case Qn.FEATURE_ID:return!0}};Qn.fromGltfSemantic=function(e){let t=e,i=/^(\w+)_\d+$/.exec(e);switch(i!==null&&(t=i[1]),t){case"POSITION":return Qn.POSITION;case"NORMAL":return Qn.NORMAL;case"TANGENT":return Qn.TANGENT;case"TEXCOORD":return Qn.TEXCOORD;case"COLOR":return Qn.COLOR;case"JOINTS":return Qn.JOINTS;case"WEIGHTS":return Qn.WEIGHTS;case"_FEATURE_ID":return Qn.FEATURE_ID}};Qn.fromPntsSemantic=function(e){switch(e){case"POSITION":case"POSITION_QUANTIZED":return Qn.POSITION;case"RGBA":case"RGB":case"RGB565":return Qn.COLOR;case"NORMAL":case"NORMAL_OCT16P":return Qn.NORMAL;case"BATCH_ID":return Qn.FEATURE_ID}};Qn.getGlslType=function(e){switch(e){case Qn.POSITION:case Qn.NORMAL:case Qn.TANGENT:return"vec3";case Qn.TEXCOORD:return"vec2";case Qn.COLOR:return"vec4";case Qn.JOINTS:return"ivec4";case Qn.WEIGHTS:return"vec4";case Qn.FEATURE_ID:return"int"}};Qn.getVariableName=function(e,t){let n=cUe(e);return l(t)&&(n+=`_${t}`),n};var xt=Object.freeze(Qn);function Ia(){}Ia.getFailedLoadFunction=function(e,t,n){return function(i){let o=`Failed to load ${t}: ${n}`;l(i)&&(o+=`
  3335. ${i.message}`);let r=new de(o);return l(i)&&(r.stack=`Original stack:
  3336. ${i.stack}
  3337. Handler stack:
  3338. ${r.stack}`),Promise.reject(r)}};Ia.getNodeTransform=function(e){return l(e.matrix)?e.matrix:N.fromTranslationQuaternionRotationScale(l(e.translation)?e.translation:h.ZERO,l(e.rotation)?e.rotation:Oe.IDENTITY,l(e.scale)?e.scale:h.ONE)};Ia.getAttributeBySemantic=function(e,t,n){let i=e.attributes,o=i.length;for(let r=0;r<o;++r){let s=i[r],a=l(n)?s.setIndex===n:!0;if(s.semantic===t&&a)return s}};Ia.getAttributeByName=function(e,t){let n=e.attributes,i=n.length;for(let o=0;o<i;++o){let r=n[o];if(r.name===t)return r}};Ia.getFeatureIdsByLabel=function(e,t){for(let n=0;n<e.length;n++){let i=e[n];if(i.positionalLabel===t||i.label===t)return i}};Ia.hasQuantizedAttributes=function(e){if(!l(e))return!1;for(let t=0;t<e.length;t++){let n=e[t];if(l(n.quantization))return!0}return!1};Ia.getAttributeInfo=function(e){let t=e.semantic,n=e.setIndex,i,o=!1;l(t)?(i=xt.getVariableName(t,n),o=!0):(i=e.name,i=i.replace(/^_/,""),i=i.toLowerCase());let r=/^color_\d+$/.test(i),s=e.type,a=tn.getGlslType(s);r&&(a="vec4");let c=l(e.quantization),u;return c&&(u=r?"vec4":tn.getGlslType(e.quantization.type)),{attribute:e,isQuantized:c,variableName:i,hasSemantic:o,glslType:a,quantizedGlslType:u}};var lUe=new h,uUe=new h;Ia.getPositionMinMax=function(e,t,n){let i=Ia.getAttributeBySemantic(e,"POSITION"),o=i.max,r=i.min;return l(n)&&l(t)&&(r=h.add(r,t,uUe),o=h.add(o,n,lUe)),{min:r,max:o}};Ia.getAxisCorrectionMatrix=function(e,t,n){return n=N.clone(N.IDENTITY,n),e===Po.Y?n=N.clone(Po.Y_UP_TO_Z_UP,n):e===Po.X&&(n=N.clone(Po.X_UP_TO_Z_UP,n)),t===Po.Z&&(n=N.multiplyTransformation(n,Po.Z_UP_TO_X_UP,n)),n};var fUe=new J;Ia.getCullFace=function(e,t){if(!Ne.isTriangles(t))return wi.BACK;let n=N.getMatrix3(e,fUe);return J.determinant(n)<0?wi.FRONT:wi.BACK};Ia.sanitizeGlslIdentifier=function(e){let t=e.replaceAll(/[^A-Za-z0-9]+/g,"_");return t=t.replace(/^gl_/,""),/^\d/.test(t)&&(t=`_${t}`),t};Ia.supportedExtensions={AGI_articulations:!0,CESIUM_primitive_outline:!0,CESIUM_RTC:!0,EXT_feature_metadata:!0,EXT_instance_features:!0,EXT_mesh_features:!0,EXT_mesh_gpu_instancing:!0,EXT_meshopt_compression:!0,EXT_structural_metadata:!0,EXT_texture_webp:!0,KHR_blend:!0,KHR_draco_mesh_compression:!0,KHR_techniques_webgl:!0,KHR_materials_common:!0,KHR_materials_pbrSpecularGlossiness:!0,KHR_materials_unlit:!0,KHR_mesh_quantization:!0,KHR_texture_basisu:!0,KHR_texture_transform:!0};Ia.checkSupportedExtensions=function(e){let t=e.length;for(let n=0;n<t;n++){let i=e[n];if(!Ia.supportedExtensions[i])throw new de(`Unsupported glTF Extension: ${i}`)}};var Xt=Ia;var tT={TRANSLATION:"TRANSLATION",ROTATION:"ROTATION",SCALE:"SCALE",FEATURE_ID:"_FEATURE_ID"};tT.fromGltfSemantic=function(e){let t=e,i=/^(\w+)_\d+$/.exec(e);switch(i!==null&&(t=i[1]),t){case"TRANSLATION":return tT.TRANSLATION;case"ROTATION":return tT.ROTATION;case"SCALE":return tT.SCALE;case"_FEATURE_ID":return tT.FEATURE_ID}};var Wr=Object.freeze(tT);var dUe=65534,hUe=255;function gL(e){e=y(e,y.EMPTY_OBJECT);let t=e.triangleIndices,n=e.outlineIndices,i=e.originalVertexCount;this._triangleIndices=t,this._originalVertexCount=i,this._edges=new _re(n,i),this._outlineCoordinatesTypedArray=void 0,this._extraVertices=[],mUe(this)}Object.defineProperties(gL.prototype,{updatedTriangleIndices:{get:function(){return this._triangleIndices}},outlineCoordinates:{get:function(){return this._outlineCoordinatesTypedArray}}});function mUe(e){let t=e._triangleIndices,n=e._edges,i=[],o=e._extraVertices,r=e._originalVertexCount,s={};for(let a=0;a<t.length;a+=3){let c=t[a],u=t[a+1],f=t[a+2],d=!1,p=d||n.hasEdge(c,u),g=d||n.hasEdge(u,f),m=d||n.hasEdge(f,c),C=mre(i,c,u,f,p,g,m);for(;l(C);){let x=s[C];if(!l(x)){x=r+o.length;let A=C;for(;A>=r;)A=o[A-r];o.push(A),s[C]=x}x>dUe&&(t instanceof Uint16Array||t instanceof Uint8Array)?t=new Uint32Array(t):x>hUe&&t instanceof Uint8Array&&(t=new Uint16Array(t)),C===c?(c=x,t[a]=x):C===u?(u=x,t[a+1]=x):(f=x,t[a+2]=x),C=mre(i,c,u,f,p,g,m)}}e._triangleIndices=t,e._outlineCoordinatesTypedArray=new Float32Array(i)}function mre(e,t,n,i,o,r,s){let a=s?1:0,c=o?1:0,u=0,f=y6(e,t,a,c,u);if(f===0)return t;let d=0,p=o?1:0,g=r?1:0,m=y6(e,n,d,p,g);if(m===0)return n;let C=s?1:0,x=0,A=r?1:0,b=y6(e,i,C,x,A);if(b===0)return i;let E=f&m&b,S,v,P;if(E&1<<0)S=0,v=1,P=2;else if(E&1<<1)S=0,P=1,v=2;else if(E&1<<2)v=0,S=1,P=2;else if(E&1<<3)v=0,P=1,S=2;else if(E&1<<4)P=0,S=1,v=2;else if(E&1<<5)P=0,v=1,S=2;else{let L=C6(f),_=C6(m),T=C6(b);return L<_&&L<T?t:_<T?n:i}let O=t*3;e[O+S]=a,e[O+v]=c,e[O+P]=u;let M=n*3;e[M+S]=d,e[M+v]=p,e[M+P]=g;let B=i*3;e[B+S]=C,e[B+v]=x,e[B+P]=A}function y6(e,t,n,i,o){let r=t*3,s=e[r],a=e[r+1],c=e[r+2];return l(s)?(s===n&&a===i&&c===o)<<0|(s===n&&a===o&&c===i)<<1|(s===i&&a===n&&c===o)<<2|(s===i&&a===o&&c===n)<<3|(s===o&&a===n&&c===i)<<4|(s===o&&a===i&&c===n)<<5:63}function C6(e){return(e&1)+(e>>1&1)+(e>>2&1)+(e>>3&1)+(e>>4&1)+(e>>5&1)}gL.prototype.updateAttribute=function(e){let t=this._extraVertices,n=e.length,i=n/this._originalVertexCount,o=t.length,r=e.constructor,s=new r(e.length+o*i);s.set(e);for(let a=0;a<o;a++){let c=t[a]*i,u=n+a*i;for(let f=0;f<i;f++)s[u+f]=s[c+f]}return s};gL.createTexture=function(e){let t=e.cache.modelOutliningCache;if(l(t)||(t=e.cache.modelOutliningCache={}),l(t.outlineTexture))return t.outlineTexture;let n=Math.min(4096,kt.maximumTextureSize),i=n,o=pre(i),r=[];for(;i>1;)i>>=1,r.push(pre(i));let s=new Ot({context:e,source:{arrayBufferView:o,mipLevels:r},width:n,height:1,pixelFormat:ft.LUMINANCE,sampler:new hn({wrapS:Dn.CLAMP_TO_EDGE,wrapT:Dn.CLAMP_TO_EDGE,minificationFilter:ln.LINEAR_MIPMAP_LINEAR,magnificationFilter:Ji.LINEAR})});return t.outlineTexture=s,s};function pre(e){let t=new Uint8Array(e);return t[e-1]=192,e===8?t[e-1]=96:e===4?t[e-1]=48:e===2?t[e-1]=24:e===1&&(t[e-1]=12),t}function _re(e,t){this._originalVertexCount=t,this._edges=new Set;for(let n=0;n<e.length;n+=2){let i=e[n],o=e[n+1],r=Math.min(i,o),s=Math.max(i,o),a=r*this._originalVertexCount+s;this._edges.add(a)}}_re.prototype.hasEdge=function(e,t){let n=Math.min(e,t),i=Math.max(e,t),o=n*this._originalVertexCount+i;return this._edges.has(o)};var nT=gL;function gre(e){this.attribute=e,this.loadBuffer=!1,this.loadTypedArray=!1}function pUe(e){this.indices=e,this.loadBuffer=!1,this.loadTypedArray=!1}function yL(e){this.primitive=e,this.attributePlans=[],this.indicesPlan=void 0,this.needsOutlines=!1,this.outlineIndices=void 0}yL.prototype.postProcess=function(e){this.needsOutlines&&(_Ue(this),yUe(this,e))};function _Ue(e){let t=e.primitive,n=t.indices,i=t.attributes[0].count,o=new nT({triangleIndices:n.typedArray,outlineIndices:e.outlineIndices,originalVertexCount:i});n.typedArray=o.updatedTriangleIndices,n.indexDatatype=Be.fromTypedArray(n.typedArray);let r=gUe(o.outlineCoordinates),s=new gre(r);s.loadBuffer=!0,s.loadTypedArray=!1,e.attributePlans.push(s),t.outlineCoordinates=s.attribute;let a=e.attributePlans,c=e.attributePlans.length;for(let u=0;u<c;u++){let f=a[u].attribute;f.typedArray=o.updateAttribute(f.typedArray)}}function gUe(e){let t=new Ft.Attribute;return t.name="_OUTLINE_COORDINATES",t.typedArray=e,t.componentDatatype=Z.FLOAT,t.type=tn.VEC3,t.normalized=!1,t.count=e.length/3,t}function yUe(e,t){CUe(e.attributePlans,t),l(e.indicesPlan)&&xUe(e.indicesPlan,t)}function CUe(e,t){let n=e.length;for(let i=0;i<n;i++){let o=e[i],r=o.attribute,s=r.typedArray;if(o.loadBuffer){let a=ct.createVertexBuffer({typedArray:s,context:t,usage:Le.STATIC_DRAW});a.vertexArrayDestroyable=!1,r.buffer=a}o.loadTypedArray||(r.typedArray=void 0)}}function xUe(e,t){let n=e.indices;if(e.loadBuffer){let i=ct.createIndexBuffer({typedArray:n.typedArray,context:t,usage:Le.STATIC_DRAW,indexDatatype:n.indexDatatype});n.buffer=i,i.vertexArrayDestroyable=!1}e.loadTypedArray||(n.typedArray=void 0)}yL.AttributeLoadPlan=gre;yL.IndicesLoadPlan=pUe;var iT=yL;function AUe(e){e=y(e,y.EMPTY_OBJECT),this.webp=y(e.webp,!1),this.basis=y(e.basis,!1)}var CL=AUe;var TUe=Ft.Attribute,EUe=Ft.Indices,Cre=Ft.FeatureIdAttribute,xre=Ft.FeatureIdTexture,Are=Ft.FeatureIdImplicitRange,bUe=Ft.MorphTarget,SUe=Ft.Primitive,wUe=Ft.Instances,vUe=Ft.Skin,DUe=Ft.Node,PUe=Ft.AnimatedPropertyType,IUe=Ft.AnimationSampler,OUe=Ft.AnimationTarget,RUe=Ft.AnimationChannel,MUe=Ft.Animation,BUe=Ft.ArticulationStage,LUe=Ft.Articulation,NUe=Ft.Asset,FUe=Ft.Scene,VUe=Ft.Components,kUe=Ft.MetallicRoughness,UUe=Ft.SpecularGlossiness,zUe=Ft.Material,Jo={NOT_LOADED:0,LOADING:1,LOADED:2,PROCESSING:3,POST_PROCESSING:4,PROCESSED:5,READY:6,FAILED:7,UNLOADED:8};function Um(e){e=y(e,y.EMPTY_OBJECT);let t=e.gltfResource,n=e.baseResource,i=e.typedArray,o=y(e.releaseGltfJson,!1),r=y(e.asynchronous,!0),s=y(e.incrementallyLoadTextures,!0),a=y(e.upAxis,Po.Y),c=y(e.forwardAxis,Po.Z),u=y(e.loadAttributesAsTypedArray,!1),f=y(e.loadAttributesFor2D,!1),d=y(e.loadIndicesForWireframe,!1),p=y(e.loadPrimitiveOutline,!0),g=y(e.loadForClassification,!1),m=y(e.renameBatchIdSemantic,!1);n=l(n)?n:t.clone(),this._gltfJson=e.gltfJson,this._gltfResource=t,this._baseResource=n,this._typedArray=i,this._releaseGltfJson=o,this._asynchronous=r,this._incrementallyLoadTextures=s,this._upAxis=a,this._forwardAxis=c,this._loadAttributesAsTypedArray=u,this._loadAttributesFor2D=f,this._loadIndicesForWireframe=d,this._loadPrimitiveOutline=p,this._loadForClassification=g,this._renameBatchIdSemantic=m,this._hasKhrMeshQuantization=!1,this._sortedPropertyTableIds=void 0,this._sortedFeatureTextureIds=void 0,this._gltfJsonLoader=void 0,this._state=Jo.NOT_LOADED,this._textureState=Jo.NOT_LOADED,this._promise=void 0,this._texturesLoadedPromise=void 0,this._process=function(C,x){},this._processTextures=function(C,x){},this._primitiveLoadPlans=[],this._loaderPromises=[],this._textureLoaders=[],this._texturesPromises=[],this._bufferViewLoaders=[],this._geometryLoaders=[],this._structuralMetadataLoader=void 0,this._postProcessBuffers=[],this._components=void 0}l(Object.create)&&(Um.prototype=Object.create(to.prototype),Um.prototype.constructor=Um);Object.defineProperties(Um.prototype,{promise:{get:function(){return this._promise}},cacheKey:{get:function(){}},components:{get:function(){return this._components}},texturesLoadedPromise:{get:function(){return this._texturesLoadedPromise}}});Um.prototype.load=function(){let e=ho.loadGltfJson({gltfResource:this._gltfResource,baseResource:this._baseResource,typedArray:this._typedArray,gltfJson:this._gltfJson});this._gltfJsonLoader=e,this._state=Jo.LOADING,this._textureState=Jo.LOADING;let t=this,n,i=new Promise(function(o,r){n=new Promise(function(s,a){t._process=function(c,u){if(!Mt.supportsWebP.initialized){Mt.supportsWebP.initialize();return}if(c._state===Jo.LOADED){c._state=Jo.PROCESSING;let f=new CL({webp:Mt.supportsWebP(),basis:u.context.supportsBasis}),d;l(c._gltfJsonLoader)?d=c._gltfJsonLoader.gltf:d=c._gltfJson,N4e(c,d,f,u,r,a),l(c._gltfJsonLoader)&&c._releaseGltfJson&&(ho.unload(c._gltfJsonLoader),c._gltfJsonLoader=void 0)}c._state===Jo.PROCESSING&&HUe(c,u),c._state===Jo.POST_PROCESSING&&(GUe(c,u.context),c._state=Jo.PROCESSED),c._state===Jo.PROCESSED&&(Ire(c),c._typedArray=void 0,c._state=Jo.READY,o(c))},t._processTextures=function(c,u){if(c._textureState===Jo.LOADED&&(c._textureState=Jo.PROCESSING),c._textureState===Jo.PROCESSING){let f,d=c._textureLoaders,p=d.length;for(f=0;f<p;++f)d[f].process(u)}c._textureState===Jo.PROCESSED&&(c._textureState=Jo.READY,s(c))}})});return this._promise=e.promise.then(function(){if(!t.isDestroyed())return t._state=Jo.LOADED,t._textureState=Jo.LOADED,i}).catch(function(o){if(!t.isDestroyed())return t._state=Jo.FAILED,t._textureState=Jo.FAILED,yre(t,o)}),this._texturesLoadedPromise=n.catch(function(o){if(!t.isDestroyed())return t._textureState=Jo.FAILED,yre(t,o)}),this._promise};function yre(e,t){e.unload();let n="Failed to load glTF";return t=e.getError(n,t),Promise.reject(t)}function HUe(e,t){let n=e._bufferViewLoaders,i=n.length;for(let s=0;s<i;++s)n[s].process(t);let o=e._geometryLoaders,r=o.length;for(let s=0;s<r;++s)o[s].process(t);l(e._structuralMetadataLoader)&&e._structuralMetadataLoader.process(t)}function GUe(e,t){let n=e._primitiveLoadPlans,i=n.length;for(let o=0;o<i;o++){let r=n[o];r.postProcess(t),r.needsOutlines&&WUe(e,r)}}function WUe(e,t){let n=e._postProcessBuffers,i=t.primitive,o=i.outlineCoordinates;l(o)&&n.push(o.buffer);let r=i.attributes,s=r.length;for(let c=0;c<s;c++){let u=r[c];l(u.buffer)&&n.push(u.buffer)}let a=i.indices;l(a)&&l(a.buffer)&&n.push(a.buffer)}Um.prototype.process=function(e){this._process(this,e),this._processTextures(this,e)};function jUe(e,t,n,i,o,r,s,a){let u=t.accessors[n].bufferView,f=ho.loadVertexBuffer({gltf:t,gltfResource:e._gltfResource,baseResource:e._baseResource,bufferViewId:u,draco:o,attributeSemantic:i,accessorId:n,asynchronous:e._asynchronous,dequantize:r,loadBuffer:s,loadTypedArray:a});return e._geometryLoaders.push(f),f}function qUe(e,t,n,i,o,r){let s=ho.loadIndexBuffer({gltf:t,accessorId:n,gltfResource:e._gltfResource,baseResource:e._baseResource,draco:i,asynchronous:e._asynchronous,loadBuffer:o,loadTypedArray:r});return e._geometryLoaders.push(s),s}function YUe(e,t,n){let i=ho.loadBufferView({gltf:t,bufferViewId:n,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._bufferViewLoaders.push(i),i}function Tre(e,t,n){let i=t.byteOffset,o=Dl(e,t),r=t.count,s=Eu(t.type),a=t.componentType,c=Z.getSizeInBytes(a),u=c*s,f=r*s;if(o===u)return n=new Uint8Array(n),Z.createArrayBufferView(a,n.buffer,n.byteOffset+i,f);let d=Z.createTypedArray(a,f),p=new DataView(n.buffer),g=new Array(s),m=H_(t.componentType);i=n.byteOffset+i;for(let C=0;C<r;++C){m(p,i,s,c,g);for(let x=0;x<s;++x)d[C*s+x]=g[x];i+=o}return d}function XUe(e,t){let n=e.type;if(n===tn.SCALAR)return t.fill(0);let i=tn.getMathType(n);return t.fill(i.clone(i.ZERO))}function KUe(e,t,n,i){let o=e.type,r=e.count;if(o===tn.SCALAR)for(let s=0;s<r;s++)n[s]=t[s];else if(o===tn.VEC4&&i)for(let s=0;s<r;s++)n[s]=Oe.unpack(t,s*4);else{let s=tn.getMathType(o),a=tn.getNumberOfComponents(o);for(let c=0;c<r;c++)n[c]=s.unpack(t,c*a)}return n}function xL(e,t,n,i){let o=t.accessors[n],r=o.count,s=new Array(r),a=o.bufferView;if(l(a)){let u=YUe(e,t,a).promise.then(function(f){if(e.isDestroyed())return;let d=f.typedArray,p=Tre(t,o,d);i=y(i,!1),KUe(o,p,s,i)});return e._loaderPromises.push(u),s}return XUe(o,s)}function mh(e,t){if(!!l(t))return e===Number?t[0]:e.unpack(t)}function ZUe(e){return e===Number?0:new e}function $Ue(e){switch(e){case Z.BYTE:return 127;case Z.UNSIGNED_BYTE:return 255;case Z.SHORT:return 32767;case Z.UNSIGNED_SHORT:return 65535;default:return 1}}var JUe={VEC2:new G(-1,-1),VEC3:new h(-1,-1,-1),VEC4:new se(-1,-1,-1,-1)};function QUe(e,t){let n=$Ue(e.componentDatatype),i=JUe[e.type],o=e.min;l(o)&&(o=t.divideByScalar(o,n,o),o=t.maximumByComponent(o,i,o));let r=e.max;l(r)&&(r=t.divideByScalar(r,n,r),r=t.maximumByComponent(r,i,r)),e.min=o,e.max=r}function e4e(e,t,n,i,o,r){let s=e.accessors[t],a=tn.getMathType(s.type),c=y(s.normalized,!1),u=new TUe;u.name=n,u.semantic=i,u.setIndex=o,u.constant=ZUe(a),u.componentDatatype=s.componentType,u.normalized=c,u.count=s.count,u.type=s.type,u.min=mh(a,s.min),u.max=mh(a,s.max),u.byteOffset=s.byteOffset,u.byteStride=Dl(e,s);let f=u.semantic===xt.POSITION||u.semantic===xt.NORMAL||u.semantic===xt.TANGENT||u.semantic===xt.TEXCOORD;return r&&c&&f&&QUe(u,a),u}function Ere(e){let n=/^\w+_(\d+)$/.exec(e);if(n!==null)return parseInt(n[1])}var t4e={gltfSemantic:void 0,renamedSemantic:void 0,modelSemantic:void 0};function x6(e,t,n){let i=n;e._renameBatchIdSemantic&&(n==="_BATCHID"||n==="BATCHID")&&(i="_FEATURE_ID_0");let o=t.fromGltfSemantic(i),r=t4e;return r.gltfSemantic=n,r.renamedSemantic=i,r.modelSemantic=o,r}function n4e(e){let t=e===xt.POSITION,n=e===xt.FEATURE_ID,i=e===xt.TEXCOORD;return t||n||i}function i4e(e,t,n,i){if(e.byteOffset=0,e.byteStride=void 0,e.quantization=t.quantization,n&&(e.buffer=t.buffer),i){let o=l(t.quantization)?t.quantization.componentDatatype:e.componentDatatype;e.typedArray=Z.createArrayBufferView(o,t.typedArray.buffer)}}function o4e(e,t,n,i,o,r){if(o&&(n.buffer=i.buffer),r){let s=i.typedArray;n.typedArray=Tre(e,t,s),o||(n.byteOffset=0,n.byteStride=void 0)}}function bre(e,t,n,i,o,r,s,a){let c=t.accessors[n],u=c.bufferView,f=i.gltfSemantic,d=i.renamedSemantic,p=i.modelSemantic,g=l(p)?Ere(d):void 0,C=e4e(t,n,f,p,g,e._hasKhrMeshQuantization);if(!l(o)&&!l(u))return C;let A=jUe(e,t,n,f,o,r,s,a).promise.then(function(b){e.isDestroyed()||(l(o)&&l(o.attributes)&&l(o.attributes[f])?i4e(C,b,s,a):o4e(t,c,C,b,s,a))});return e._loaderPromises.push(A),C}function Sre(e,t,n,i,o,r,s,a){let c=i.modelSemantic,u=c===xt.POSITION,f=c===xt.FEATURE_ID,d=u&&!r&&e._loadAttributesFor2D&&!a.scene3DOnly,p=e._loadForClassification&&f,g=e._loadAttributesAsTypedArray,m=!g,C=g||d||p,b=bre(e,t,n,i,o,!1,s?!1:m,s?!0:C),E=new iT.AttributeLoadPlan(b);return E.loadBuffer=m,E.loadTypedArray=C,E}function r4e(e,t,n,i,o,r){let s=l(i.ROTATION),a=l(i.TRANSLATION)&&l(t.accessors[i.TRANSLATION].min)&&l(t.accessors[i.TRANSLATION].max),c=x6(e,Wr,o),u=c.modelSemantic,f=u===Wr.TRANSLATION||u===Wr.ROTATION||u===Wr.SCALE,d=u===Wr.TRANSLATION,p=e._loadAttributesAsTypedArray||s&&f||!r.context.instancedArrays,g=!p,m=e._loadAttributesFor2D&&!r.scene3DOnly;return bre(e,t,n,c,void 0,!0,g,p||d&&(!a||m))}function s4e(e,t,n,i,o,r,s){let a=t.accessors[n],c=a.bufferView;if(!l(i)&&!l(c))return;let u=new EUe;u.count=a.count;let f=e._loadAttributesAsTypedArray,d=e._loadIndicesForWireframe&&!s.context.webgl2,p=e._loadForClassification&&o,m=!f,C=f||d||p,E=qUe(e,t,n,i,r?!1:m,r?!0:C).promise.then(function(v){e.isDestroyed()||(u.indexDatatype=v.indexDatatype,u.buffer=v.buffer,u.typedArray=v.typedArray)});e._loaderPromises.push(E);let S=new iT.IndicesLoadPlan(u);return S.loadBuffer=m,S.loadTypedArray=C,S}function km(e,t,n,i,o){let r=Pl.getImageIdFromTexture({gltf:t,textureId:n.index,supportedImageFormats:i});if(!l(r))return;let s=ho.loadTexture({gltf:t,textureInfo:n,gltfResource:e._gltfResource,baseResource:e._baseResource,supportedImageFormats:i,asynchronous:e._asynchronous});e._textureLoaders.push(s);let a=Pl.createModelTextureReader({textureInfo:n}),c=s.promise.then(function(u){e.isUnloaded()||e.isDestroyed()||(a.texture=u.texture,l(o)&&(a.texture.sampler=o))});return e._texturesPromises.push(c),a}function a4e(e,t,n,i){let o=new zUe,r=y(n.extensions,y.EMPTY_OBJECT),s=r.KHR_materials_pbrSpecularGlossiness,a=n.pbrMetallicRoughness;if(o.unlit=l(r.KHR_materials_unlit),l(s)){let c=new UUe;o.specularGlossiness=c,l(s.diffuseTexture)&&(c.diffuseTexture=km(e,t,s.diffuseTexture,i)),l(s.specularGlossinessTexture)&&l(s.specularGlossinessTexture)&&(c.specularGlossinessTexture=km(e,t,s.specularGlossinessTexture,i)),c.diffuseFactor=mh(se,s.diffuseFactor),c.specularFactor=mh(h,s.specularFactor),c.glossinessFactor=s.glossinessFactor,o.pbrSpecularGlossiness=s}else if(l(a)){let c=new kUe;l(a.baseColorTexture)&&(c.baseColorTexture=km(e,t,a.baseColorTexture,i)),l(a.metallicRoughnessTexture)&&(c.metallicRoughnessTexture=km(e,t,a.metallicRoughnessTexture,i)),c.baseColorFactor=mh(se,a.baseColorFactor),c.metallicFactor=a.metallicFactor,c.roughnessFactor=a.roughnessFactor,o.metallicRoughness=c}return l(n.emissiveTexture)&&(o.emissiveTexture=km(e,t,n.emissiveTexture,i)),l(n.normalTexture)&&!e._loadForClassification&&(o.normalTexture=km(e,t,n.normalTexture,i)),l(n.occlusionTexture)&&(o.occlusionTexture=km(e,t,n.occlusionTexture,i)),o.emissiveFactor=mh(h,n.emissiveFactor),o.alphaMode=n.alphaMode,o.alphaCutoff=n.alphaCutoff,o.doubleSided=n.doubleSided,o}function wre(e,t){let n=new Cre;return n.featureCount=e.featureCount,n.nullFeatureId=e.nullFeatureId,n.propertyTableId=e.propertyTable,n.setIndex=e.attribute,n.label=e.label,n.positionalLabel=t,n}function vre(e,t,n,i){let o=new Cre,r=e.featureIds;return o.featureCount=n,o.propertyTableId=t,o.setIndex=Ere(r.attribute),o.positionalLabel=i,o}function Dre(e,t){let n=new Are;return n.propertyTableId=e.propertyTable,n.featureCount=e.featureCount,n.nullFeatureId=e.nullFeatureId,n.label=e.label,n.positionalLabel=t,n.offset=0,n.repeat=1,n}function Pre(e,t,n,i){let o=new Are,r=e.featureIds;o.propertyTableId=t,o.featureCount=n,o.offset=y(r.constant,0);let s=y(r.divisor,0);return o.repeat=s===0?void 0:s,o.positionalLabel=i,o}function c4e(e,t,n,i,o){let r=new xre;r.featureCount=n.featureCount,r.nullFeatureId=n.nullFeatureId,r.propertyTableId=n.propertyTable,r.label=n.label,r.positionalLabel=o;let s=n.texture;r.textureReader=km(e,t,s,i,hn.NEAREST);let c=(l(s.channels)?s.channels:[0]).map(function(u){return"rgba".charAt(u)}).join("");return r.textureReader.channels=c,r}function l4e(e,t,n,i,o,r,s){let a=new xre,c=n.featureIds,u=c.texture;return a.featureCount=r,a.propertyTableId=i,a.textureReader=km(e,t,u,o,hn.NEAREST),a.textureReader.channels=c.channels,a.positionalLabel=s,a}function u4e(e,t,n,i,o,r){let s=new bUe,a=void 0,c=!1;for(let u in n)if(n.hasOwnProperty(u)){let f=n[u],d=x6(e,xt,u),p=Sre(e,t,f,d,a,c,i,r);s.attributes.push(p.attribute),o.attributePlans.push(p)}return s}function f4e(e,t,n,i,o,r){let s=new SUe,a=new iT(s);e._primitiveLoadPlans.push(a);let c=n.material;l(c)&&(s.material=a4e(e,t,t.materials[c],o));let u=y(n.extensions,y.EMPTY_OBJECT),f=!1,d=u.CESIUM_primitive_outline;e._loadPrimitiveOutline&&l(d)&&(f=!0,a.needsOutlines=!0,a.outlineIndices=d4e(e,t,d,a));let p=e._loadForClassification,g=u.KHR_draco_mesh_compression,m=!1,C=n.attributes;if(l(C)){for(let O in C)if(C.hasOwnProperty(O)){let M=C[O],B=x6(e,xt,O),L=B.modelSemantic;if(p&&!n4e(L))continue;L===xt.FEATURE_ID&&(m=!0);let _=Sre(e,t,M,B,g,i,f,r);a.attributePlans.push(_),s.attributes.push(_.attribute)}}let x=n.targets;if(l(x)&&!p){let O=x.length;for(let M=0;M<O;++M)s.morphTargets.push(u4e(e,t,x[M],f,a,r))}let A=n.indices;if(l(A)){let O=s4e(e,t,A,g,m,f,r);l(O)&&(a.indicesPlan=O,s.indices=O.indices)}let b=u.EXT_structural_metadata,E=u.EXT_mesh_features,S=u.EXT_feature_metadata,v=l(S);l(E)?h4e(e,t,s,E,o):v&&m4e(e,t,s,S,o),l(b)?p4e(s,b):v&&_4e(e,s,S);let P=n.mode;if(p&&P!==Ne.TRIANGLES)throw new de("Only triangle meshes can be used for classification.");return s.primitiveType=P,s}function d4e(e,t,n){let i=n.indices;return xL(e,t,i,!1)}function h4e(e,t,n,i,o){let r;l(i)&&l(i.featureIds)?r=i.featureIds:r=[];for(let s=0;s<r.length;s++){let a=r[s],c=`featureId_${s}`,u;l(a.texture)?u=c4e(e,t,a,o,c):l(a.attribute)?u=wre(a,c):u=Dre(a,c),n.featureIds.push(u)}}function m4e(e,t,n,i,o){let r=t.extensions.EXT_feature_metadata.featureTables,s=0,a=i.featureIdAttributes;if(l(a)){let u=a.length;for(let f=0;f<u;++f){let d=a[f],p=d.featureTable,g=e._sortedPropertyTableIds.indexOf(p),m=r[p].count,C=`featureId_${s}`;s++;let x;l(d.featureIds.attribute)?x=vre(d,g,m,C):x=Pre(d,g,m,C),n.featureIds.push(x)}}let c=i.featureIdTextures;if(l(c)){let u=c.length;for(let f=0;f<u;++f){let d=c[f],p=d.featureTable,g=e._sortedPropertyTableIds.indexOf(p),m=r[p].count,C=`featureId_${s}`;s++;let x=l4e(e,t,d,g,o,m,C);n.featureIds.push(x)}}}function p4e(e,t){!l(t)||(l(t.propertyTextures)&&(e.propertyTextureIds=t.propertyTextures),l(t.propertyAttributes)&&(e.propertyAttributeIds=t.propertyAttributes))}function _4e(e,t,n){l(n.featureTextures)&&(t.propertyTextureIds=n.featureTextures.map(function(i){return e._sortedFeatureTextureIds.indexOf(i)}))}function g4e(e,t,n,i){let o=n.EXT_mesh_gpu_instancing,r=new wUe,s=o.attributes;if(l(s)){for(let f in s)if(s.hasOwnProperty(f)){let d=s[f];r.attributes.push(r4e(e,t,d,s,f,i))}}let a=y(o.extensions,y.EMPTY_OBJECT),c=n.EXT_instance_features,u=a.EXT_feature_metadata;return l(c)?y4e(r,c):l(u)&&C4e(t,r,u,e._sortedPropertyTableIds),r}function y4e(e,t){let n=t.featureIds;for(let i=0;i<n.length;i++){let o=n[i],r=`instanceFeatureId_${i}`,s;l(o.attribute)?s=wre(o,r):s=Dre(o,r),e.featureIds.push(s)}}function C4e(e,t,n,i){let o=e.extensions.EXT_feature_metadata.featureTables,r=n.featureIdAttributes;if(l(r)){let s=r.length;for(let a=0;a<s;++a){let c=r[a],u=c.featureTable,f=i.indexOf(u),d=o[u].count,p=`instanceFeatureId_${a}`,g;l(c.featureIds.attribute)?g=vre(c,f,d,p):g=Pre(c,f,d,p),t.featureIds.push(g)}}}function x4e(e,t,n,i,o){let r=new DUe;r.name=n.name,r.matrix=mh(N,n.matrix),r.translation=mh(h,n.translation),r.rotation=mh(Oe,n.rotation),r.scale=mh(h,n.scale);let s=y(n.extensions,y.EMPTY_OBJECT),a=s.EXT_mesh_gpu_instancing,c=s.AGI_articulations;if(l(a)){if(e._loadForClassification)throw new de("Models with the EXT_mesh_gpu_instancing extension cannot be used for classification.");r.instances=g4e(e,t,s,o)}l(c)&&(r.articulationName=c.articulationName);let u=n.mesh;if(l(u)){let f=t.meshes[u],d=f.primitives,p=d.length;for(let x=0;x<p;++x)r.primitives.push(f4e(e,t,d[x],l(r.instances),i,o));let g=y(n.weights,f.weights),C=r.primitives[0].morphTargets.length;r.morphWeights=l(g)?g.slice():new Array(C).fill(0)}return r}function A4e(e,t,n,i){let o,r,s=t.nodes.length,a=new Array(s);for(o=0;o<s;++o){let c=x4e(e,t,t.nodes[o],n,i);c.index=o,a[o]=c}for(o=0;o<s;++o){let c=t.nodes[o].children;if(l(c)){let u=c.length;for(r=0;r<u;++r)a[o].children.push(a[c[r]])}}return a}function T4e(e,t,n,i){let o=new vUe,r=n.joints,s=r.length,a=new Array(s);for(let u=0;u<s;++u)a[u]=i[r[u]];o.joints=a;let c=n.inverseBindMatrices;return l(c)?o.inverseBindMatrices=xL(e,t,c):o.inverseBindMatrices=new Array(s).fill(N.IDENTITY),o}function E4e(e,t,n){let i=t.skins;if(e._loadForClassification||!l(i))return[];let o=t.skins.length,r=new Array(o);for(let a=0;a<o;++a){let c=T4e(e,t,t.skins[a],n);c.index=a,r[a]=c}let s=n.length;for(let a=0;a<s;++a){let c=t.nodes[a].skin;l(c)&&(n[a].skin=r[c])}return r}function b4e(e,t,n,i,o){let r=new _L({gltf:t,extension:n,extensionLegacy:i,gltfResource:e._gltfResource,baseResource:e._baseResource,supportedImageFormats:o,asynchronous:e._asynchronous});return r.load(),e._structuralMetadataLoader=r,r}function S4e(e,t,n){let i=new IUe,o=n.input;i.input=xL(e,t,o);let r=n.interpolation;i.interpolation=y(qd[r],qd.LINEAR);let s=n.output;return i.output=xL(e,t,s,!0),i}function w4e(e,t){let n=new OUe,i=e.node;if(!l(i))return;n.node=t[i];let o=e.path.toUpperCase();return n.path=PUe[o],n}function v4e(e,t,n){let i=new RUe,o=e.sampler;return i.sampler=t[o],i.target=w4e(e.target,n),i}function D4e(e,t,n,i){let o,r=new MUe;r.name=n.name;let s=n.samplers,a=s.length,c=new Array(a);for(o=0;o<a;o++){let p=S4e(e,t,s[o]);p.index=o,c[o]=p}let u=n.channels,f=u.length,d=new Array(f);for(o=0;o<f;o++)d[o]=v4e(u[o],c,i);return r.samplers=c,r.channels=d,r}function P4e(e,t,n){let i=t.animations;if(e._loadForClassification||!l(i))return[];let o=t.animations.length,r=new Array(o);for(let s=0;s<o;++s){let a=D4e(e,t,t.animations[s],n);a.index=s,r[s]=a}return r}function I4e(e){let t=new BUe;t.name=e.name;let n=e.type.toUpperCase();return t.type=$a[n],t.minimumValue=e.minimumValue,t.maximumValue=e.maximumValue,t.initialValue=e.initialValue,t}function O4e(e){let t=new LUe;t.name=e.name;let n=e.stages,i=n.length,o=new Array(i);for(let r=0;r<i;r++){let s=I4e(n[r]);o[r]=s}return t.stages=o,t}function R4e(e){let n=y(e.extensions,y.EMPTY_OBJECT).AGI_articulations;if(!l(n))return[];let i=n.articulations;if(!l(i))return[];let o=i.length,r=new Array(o);for(let s=0;s<o;s++){let a=O4e(i[s]);r[s]=a}return r}function M4e(e){let t;return l(e.scenes)&&l(e.scene)&&(t=e.scenes[e.scene].nodes),t=y(t,e.nodes),t=l(t)?t:[],t}function B4e(e,t){let n=new FUe,i=M4e(e);return n.nodes=i.map(function(o){return t[o]}),n}var L4e=new h;function N4e(e,t,n,i,o,r){let s=t.asset.version;if(s!=="1.0"&&s!=="2.0"){let v=e._gltfResource.url;throw new de(`Failed to load ${v}:
  3339. Unsupported glTF version: ${s}`)}let a=t.extensionsRequired;l(a)&&(Xt.checkSupportedExtensions(a),e._hasKhrMeshQuantization=a.includes("KHR_mesh_quantization"));let c=y(t.extensions,y.EMPTY_OBJECT),u=c.EXT_structural_metadata,f=c.EXT_feature_metadata,d=c.CESIUM_RTC;if(l(f)){let v=f.featureTables,P=f.featureTextures,O=l(v)?v:[],M=l(P)?P:[];e._sortedPropertyTableIds=Object.keys(O).sort(),e._sortedFeatureTextureIds=Object.keys(M).sort()}let p=A4e(e,t,n,i),g=E4e(e,t,p),m=P4e(e,t,p),C=R4e(t),x=B4e(t,p),A=new VUe,b=new NUe,E=t.asset.copyright;if(l(E)){let v=E.split(";").map(function(P){return new jt(P.trim())});b.credits=v}if(A.asset=b,A.scene=x,A.nodes=p,A.skins=g,A.animations=m,A.articulations=C,A.upAxis=e._upAxis,A.forwardAxis=e._forwardAxis,l(d)){let v=h.fromArray(d.center,0,L4e);A.transform=N.fromTranslation(v,A.transform)}if(e._components=A,l(u)||l(f)){let P=b4e(e,t,u,f,n).promise.then(function(O){e.isDestroyed()||(A.structuralMetadata=O.structuralMetadata)});e._loaderPromises.push(P)}let S=[];S.push.apply(S,e._loaderPromises),e._incrementallyLoadTextures||S.push.apply(S,e._texturesPromises),Promise.all(S).then(function(){e.isDestroyed()||(e._state=Jo.POST_PROCESSING)}).catch(o),Promise.all(e._texturesPromises).then(function(){e.isDestroyed()||(e._textureState=Jo.PROCESSED)}).catch(r)}function F4e(e){let t=e._textureLoaders,n=t.length;for(let i=0;i<n;++i)ho.unload(t[i]);e._textureLoaders.length=0}function Ire(e){let t=e._bufferViewLoaders,n=t.length;for(let i=0;i<n;++i)ho.unload(t[i]);e._bufferViewLoaders.length=0}function V4e(e){let t=e._geometryLoaders,n=t.length;for(let i=0;i<n;++i)ho.unload(t[i]);e._geometryLoaders.length=0}function k4e(e){let t=e._postProcessBuffers,n=t.length;for(let i=0;i<n;i++){let o=t[i];o.isDestroyed()||o.destroy()}t.length=0}function U4e(e){l(e._structuralMetadataLoader)&&(e._structuralMetadataLoader.destroy(),e._structuralMetadataLoader=void 0)}Um.prototype.isUnloaded=function(){return this._state===Jo.UNLOADED};Um.prototype.unload=function(){l(this._gltfJsonLoader)&&ho.unload(this._gltfJsonLoader),this._gltfJsonLoader=void 0,F4e(this),Ire(this),V4e(this),k4e(this),U4e(this),this._components=void 0,this._typedArray=void 0,this._state=Jo.UNLOADED};var X_=Um;function A6(e,t,n){let i=e._gl;i.framebufferTexture2D(i.FRAMEBUFFER,t,n._target,n._texture,0)}function AL(e,t,n){let i=e._gl;i.framebufferRenderbuffer(i.FRAMEBUFFER,t,i.RENDERBUFFER,n._getRenderbuffer())}function Of(e){e=y(e,y.EMPTY_OBJECT);let n=e.context._gl,i=kt.maximumColorAttachments;this._gl=n,this._framebuffer=n.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=y(e.destroyAttachments,!0);let o=l(e.depthTexture)||l(e.depthRenderbuffer),r=l(e.depthStencilTexture)||l(e.depthStencilRenderbuffer);this._bind();let s,a,c,u,f;if(l(e.colorTextures)){let d=e.colorTextures;for(u=this._colorTextures.length=this._activeColorAttachments.length=d.length,c=0;c<u;++c)s=d[c],f=this._gl.COLOR_ATTACHMENT0+c,A6(this,f,s),this._activeColorAttachments[c]=f,this._colorTextures[c]=s}if(l(e.colorRenderbuffers)){let d=e.colorRenderbuffers;for(u=this._colorRenderbuffers.length=this._activeColorAttachments.length=d.length,c=0;c<u;++c)a=d[c],f=this._gl.COLOR_ATTACHMENT0+c,AL(this,f,a),this._activeColorAttachments[c]=f,this._colorRenderbuffers[c]=a}l(e.depthTexture)&&(s=e.depthTexture,A6(this,this._gl.DEPTH_ATTACHMENT,s),this._depthTexture=s),l(e.depthRenderbuffer)&&(a=e.depthRenderbuffer,AL(this,this._gl.DEPTH_ATTACHMENT,a),this._depthRenderbuffer=a),l(e.stencilRenderbuffer)&&(a=e.stencilRenderbuffer,AL(this,this._gl.STENCIL_ATTACHMENT,a),this._stencilRenderbuffer=a),l(e.depthStencilTexture)&&(s=e.depthStencilTexture,A6(this,this._gl.DEPTH_STENCIL_ATTACHMENT,s),this._depthStencilTexture=s),l(e.depthStencilRenderbuffer)&&(a=e.depthStencilRenderbuffer,AL(this,this._gl.DEPTH_STENCIL_ATTACHMENT,a),this._depthStencilRenderbuffer=a),this._unBind()}Object.defineProperties(Of.prototype,{status:{get:function(){this._bind();let e=this._gl.checkFramebufferStatus(this._gl.FRAMEBUFFER);return this._unBind(),e}},numberOfColorAttachments:{get:function(){return this._activeColorAttachments.length}},depthTexture:{get:function(){return this._depthTexture}},depthRenderbuffer:{get:function(){return this._depthRenderbuffer}},stencilRenderbuffer:{get:function(){return this._stencilRenderbuffer}},depthStencilTexture:{get:function(){return this._depthStencilTexture}},depthStencilRenderbuffer:{get:function(){return this._depthStencilRenderbuffer}},hasDepthAttachment:{get:function(){return!!(this.depthTexture||this.depthRenderbuffer||this.depthStencilTexture||this.depthStencilRenderbuffer)}}});Of.prototype._bind=function(){let e=this._gl;e.bindFramebuffer(e.FRAMEBUFFER,this._framebuffer)};Of.prototype._unBind=function(){let e=this._gl;e.bindFramebuffer(e.FRAMEBUFFER,null)};Of.prototype.bindDraw=function(){let e=this._gl;e.bindFramebuffer(e.DRAW_FRAMEBUFFER,this._framebuffer)};Of.prototype.bindRead=function(){let e=this._gl;e.bindFramebuffer(e.READ_FRAMEBUFFER,this._framebuffer)};Of.prototype._getActiveColorAttachments=function(){return this._activeColorAttachments};Of.prototype.getColorTexture=function(e){return this._colorTextures[e]};Of.prototype.getColorRenderbuffer=function(e){return this._colorRenderbuffers[e]};Of.prototype.isDestroyed=function(){return!1};Of.prototype.destroy=function(){if(this.destroyAttachments){let e=0,t=this._colorTextures,n=t.length;for(;e<n;++e){let o=t[e];l(o)&&o.destroy()}let i=this._colorRenderbuffers;for(n=i.length,e=0;e<n;++e){let o=i[e];l(o)&&o.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),fe(this)};var $s=Of;function oT(e){e=y(e,y.EMPTY_OBJECT);let t=e.context,n=e.width,i=e.height;this._width=n,this._height=i;let o=e.colorRenderbuffers,r=e.colorTextures;if(l(o)!==l(r))throw new ye("Both color renderbuffer and texture attachments must be provided.");let s=e.depthStencilRenderbuffer,a=e.depthStencilTexture;if(l(s)!==l(a))throw new ye("Both depth-stencil renderbuffer and texture attachments must be provided.");this._renderFramebuffer=new $s({context:t,colorRenderbuffers:o,depthStencilRenderbuffer:s,destroyAttachments:e.destroyAttachments}),this._colorFramebuffer=new $s({context:t,colorTextures:r,depthStencilTexture:a,destroyAttachments:e.destroyAttachments})}oT.prototype.getRenderFramebuffer=function(){return this._renderFramebuffer};oT.prototype.getColorFramebuffer=function(){return this._colorFramebuffer};oT.prototype.blitFramebuffers=function(e,t){this._renderFramebuffer.bindRead(),this._colorFramebuffer.bindDraw();let n=e._gl,i=0;this._colorFramebuffer._colorTextures.length>0&&(i|=n.COLOR_BUFFER_BIT),l(this._colorFramebuffer.depthStencilTexture)&&(i|=n.DEPTH_BUFFER_BIT|(t?n.STENCIL_BUFFER_BIT:0)),n.blitFramebuffer(0,0,this._width,this._height,0,0,this._width,this._height,i,n.NEAREST),n.bindFramebuffer(n.READ_FRAMEBUFFER,null),n.bindFramebuffer(n.DRAW_FRAMEBUFFER,null)};oT.prototype.isDestroyed=function(){return!1};oT.prototype.destroy=function(){return this._renderFramebuffer.destroy(),this._colorFramebuffer.destroy(),fe(this)};var TL=oT;var Yc={RGBA4:te.RGBA4,RGBA8:te.RGBA8,RGBA16F:te.RGBA16F,RGBA32F:te.RGBA32F,RGB5_A1:te.RGB5_A1,RGB565:te.RGB565,DEPTH_COMPONENT16:te.DEPTH_COMPONENT16,STENCIL_INDEX8:te.STENCIL_INDEX8,DEPTH_STENCIL:te.DEPTH_STENCIL,DEPTH24_STENCIL8:te.DEPTH24_STENCIL8,validate:function(e){return e===Yc.RGBA4||e===Yc.RGBA8||e===Yc.RGBA16F||e===Yc.RGBA32F||e===Yc.RGB5_A1||e===Yc.RGB565||e===Yc.DEPTH_COMPONENT16||e===Yc.STENCIL_INDEX8||e===Yc.DEPTH_STENCIL||e===Yc.DEPTH24_STENCIL8},getColorFormat:function(e){return e===te.FLOAT?Yc.RGBA32F:e===te.HALF_FLOAT_OES?Yc.RGBA16F:Yc.RGBA8}},Xc=Object.freeze(Yc);function pw(e){e=y(e,y.EMPTY_OBJECT);let n=e.context._gl,i=kt.maximumRenderbufferSize,o=y(e.format,Xc.RGBA4),r=l(e.width)?e.width:n.drawingBufferWidth,s=l(e.height)?e.height:n.drawingBufferHeight,a=y(e.numSamples,1);this._gl=n,this._format=o,this._width=r,this._height=s,this._renderbuffer=this._gl.createRenderbuffer(),n.bindRenderbuffer(n.RENDERBUFFER,this._renderbuffer),a>1?n.renderbufferStorageMultisample(n.RENDERBUFFER,a,o,r,s):n.renderbufferStorage(n.RENDERBUFFER,o,r,s),n.bindRenderbuffer(n.RENDERBUFFER,null)}Object.defineProperties(pw.prototype,{format:{get:function(){return this._format}},width:{get:function(){return this._width}},height:{get:function(){return this._height}}});pw.prototype._getRenderbuffer=function(){return this._renderbuffer};pw.prototype.isDestroyed=function(){return!1};pw.prototype.destroy=function(){return this._gl.deleteRenderbuffer(this._renderbuffer),fe(this)};var Su=pw;function Qr(e){e=y(e,y.EMPTY_OBJECT),this._numSamples=y(e.numSamples,1),this._colorAttachmentsLength=y(e.colorAttachmentsLength,1),this._color=y(e.color,!0),this._depth=y(e.depth,!1),this._depthStencil=y(e.depthStencil,!1),this._supportsDepthTexture=y(e.supportsDepthTexture,!1),this._createColorAttachments=y(e.createColorAttachments,!0),this._createDepthAttachments=y(e.createDepthAttachments,!0),this._pixelDatatype=e.pixelDatatype,this._pixelFormat=e.pixelFormat,this._width=void 0,this._height=void 0,this._framebuffer=void 0,this._multisampleFramebuffer=void 0,this._colorTextures=void 0,this._color&&(this._colorTextures=new Array(this._colorAttachmentsLength),this._colorRenderbuffers=new Array(this._colorAttachmentsLength)),this._colorRenderbuffer=void 0,this._depthStencilRenderbuffer=void 0,this._depthStencilTexture=void 0,this._depthRenderbuffer=void 0,this._depthTexture=void 0,this._attachmentsDirty=!1}Object.defineProperties(Qr.prototype,{framebuffer:{get:function(){return this._numSamples>1?this._multisampleFramebuffer.getRenderFramebuffer():this._framebuffer}},numSamples:{get:function(){return this._numSamples}},status:{get:function(){return this.framebuffer.status}}});Qr.prototype.isDirty=function(e,t,n,i,o){n=y(n,1);let r=this._width!==e||this._height!==t,s=this._numSamples!==n,a=l(i)&&this._pixelDatatype!==i||l(o)&&this._pixelFormat!==o,c=n===1?l(this._framebuffer):l(this._multisampleFramebuffer);return this._attachmentsDirty||r||s||a||!c||this._color&&!l(this._colorTextures[0])};Qr.prototype.update=function(e,t,n,i,o,r){if(i=e.msaa?y(i,1):1,o=y(o,this._color?y(this._pixelDatatype,je.UNSIGNED_BYTE):void 0),r=y(r,this._color?y(this._pixelFormat,ft.RGBA):void 0),this.isDirty(t,n,i,o,r)){if(this.destroy(),this._width=t,this._height=n,this._numSamples=i,this._pixelDatatype=o,this._pixelFormat=r,this._attachmentsDirty=!1,this._color&&this._createColorAttachments){for(let s=0;s<this._colorAttachmentsLength;++s)if(this._colorTextures[s]=new Ot({context:e,width:t,height:n,pixelFormat:r,pixelDatatype:o,sampler:hn.NEAREST}),this._numSamples>1){let a=Xc.getColorFormat(o);this._colorRenderbuffers[s]=new Su({context:e,width:t,height:n,format:a,numSamples:this._numSamples})}}this._depthStencil&&this._createDepthAttachments&&(this._supportsDepthTexture&&e.depthTexture?(this._depthStencilTexture=new Ot({context:e,width:t,height:n,pixelFormat:ft.DEPTH_STENCIL,pixelDatatype:je.UNSIGNED_INT_24_8,sampler:hn.NEAREST}),this._numSamples>1&&(this._depthStencilRenderbuffer=new Su({context:e,width:t,height:n,format:Xc.DEPTH24_STENCIL8,numSamples:this._numSamples}))):this._depthStencilRenderbuffer=new Su({context:e,width:t,height:n,format:Xc.DEPTH_STENCIL})),this._depth&&this._createDepthAttachments&&(this._supportsDepthTexture&&e.depthTexture?this._depthTexture=new Ot({context:e,width:t,height:n,pixelFormat:ft.DEPTH_COMPONENT,pixelDatatype:je.UNSIGNED_INT,sampler:hn.NEAREST}):this._depthRenderbuffer=new Su({context:e,width:t,height:n,format:Xc.DEPTH_COMPONENT16})),this._numSamples>1?this._multisampleFramebuffer=new TL({context:e,width:this._width,height:this._height,colorTextures:this._colorTextures,colorRenderbuffers:this._colorRenderbuffers,depthStencilTexture:this._depthStencilTexture,depthStencilRenderbuffer:this._depthStencilRenderbuffer,destroyAttachments:!1}):this._framebuffer=new $s({context:e,colorTextures:this._colorTextures,depthTexture:this._depthTexture,depthRenderbuffer:this._depthRenderbuffer,depthStencilTexture:this._depthStencilTexture,depthStencilRenderbuffer:this._depthStencilRenderbuffer,destroyAttachments:!1})}};Qr.prototype.getColorTexture=function(e){return e=y(e,0),this._colorTextures[e]};Qr.prototype.setColorTexture=function(e,t){t=y(t,0),this._attachmentsDirty=e!==this._colorTextures[t],this._colorTextures[t]=e};Qr.prototype.getColorRenderbuffer=function(e){return e=y(e,0),this._colorRenderbuffers[e]};Qr.prototype.setColorRenderbuffer=function(e,t){t=y(t,0),this._attachmentsDirty=e!==this._colorRenderbuffers[t],this._colorRenderbuffers[t]=e};Qr.prototype.getDepthRenderbuffer=function(){return this._depthRenderbuffer};Qr.prototype.setDepthRenderbuffer=function(e){this._attachmentsDirty=e!==this._depthRenderbuffer,this._depthRenderbuffer=e};Qr.prototype.getDepthTexture=function(){return this._depthTexture};Qr.prototype.setDepthTexture=function(e){this._attachmentsDirty=e!==this._depthTexture,this._depthTexture=e};Qr.prototype.getDepthStencilRenderbuffer=function(){return this._depthStencilRenderbuffer};Qr.prototype.setDepthStencilRenderbuffer=function(e){this._attachmentsDirty=e!==this._depthStencilRenderbuffer,this._depthStencilRenderbuffer=e};Qr.prototype.getDepthStencilTexture=function(){return this._depthStencilTexture};Qr.prototype.setDepthStencilTexture=function(e){this._attachmentsDirty=e!==this._depthStencilTexture,this._depthStencilTexture=e};Qr.prototype.prepareTextures=function(e,t){this._numSamples>1&&this._multisampleFramebuffer.blitFramebuffers(e,t)};Qr.prototype.clear=function(e,t,n){let i=t.framebuffer;t.framebuffer=this.framebuffer,t.execute(e,n),t.framebuffer=i};Qr.prototype.destroyFramebuffer=function(){this._framebuffer=this._framebuffer&&this._framebuffer.destroy(),this._multisampleFramebuffer=this._multisampleFramebuffer&&this._multisampleFramebuffer.destroy()};Qr.prototype.destroy=function(){if(this._color){let e,t=this._colorTextures.length;for(e=0;e<t;++e){let n=this._colorTextures[e];this._createColorAttachments&&l(n)&&!n.isDestroyed()&&(this._colorTextures[e].destroy(),this._colorTextures[e]=void 0),l(n)&&n.isDestroyed()&&(this._colorTextures[e]=void 0);let i=this._colorRenderbuffers[e];this._createColorAttachments&&l(i)&&!i.isDestroyed()&&(this._colorRenderbuffers[e].destroy(),this._colorRenderbuffers[e]=void 0),l(i)&&i.isDestroyed()&&(this._colorRenderbuffers[e]=void 0)}}this._depthStencil&&(this._createDepthAttachments&&(this._depthStencilTexture=this._depthStencilTexture&&this._depthStencilTexture.destroy(),this._depthStencilRenderbuffer=this._depthStencilRenderbuffer&&this._depthStencilRenderbuffer.destroy()),l(this._depthStencilTexture)&&this._depthStencilTexture.isDestroyed()&&(this._depthStencilTexture=void 0),l(this._depthStencilRenderbuffer)&&this._depthStencilRenderbuffer.isDestroyed()&&(this._depthStencilRenderbuffer=void 0)),this._depth&&(this._createDepthAttachments&&(this._depthTexture=this._depthTexture&&this._depthTexture.destroy(),this._depthRenderbuffer=this._depthRenderbuffer&&this._depthRenderbuffer.destroy()),l(this._depthTexture)&&this._depthTexture.isDestroyed()&&(this._depthTexture=void 0),l(this._depthRenderbuffer)&&this._depthRenderbuffer.isDestroyed()&&(this._depthRenderbuffer=void 0)),this.destroyFramebuffer()};var ci=Qr;var EL=`#extension GL_EXT_frag_depth : enable
  3340. uniform sampler2D u_pointCloud_colorGBuffer;
  3341. uniform sampler2D u_pointCloud_depthGBuffer;
  3342. uniform vec2 u_distanceAndEdlStrength;
  3343. varying vec2 v_textureCoordinates;
  3344. vec2 neighborContribution(float log2Depth, vec2 offset)
  3345. {
  3346. float dist = u_distanceAndEdlStrength.x;
  3347. vec2 texCoordOrig = v_textureCoordinates + offset * dist;
  3348. vec2 texCoord0 = v_textureCoordinates + offset * floor(dist);
  3349. vec2 texCoord1 = v_textureCoordinates + offset * ceil(dist);
  3350. float depthOrLogDepth0 = czm_unpackDepth(texture2D(u_pointCloud_depthGBuffer, texCoord0));
  3351. float depthOrLogDepth1 = czm_unpackDepth(texture2D(u_pointCloud_depthGBuffer, texCoord1));
  3352. if (depthOrLogDepth0 == 0.0 || depthOrLogDepth1 == 0.0) {
  3353. return vec2(0.0);
  3354. }
  3355. float depthMix = mix(depthOrLogDepth0, depthOrLogDepth1, fract(dist));
  3356. vec4 eyeCoordinate = czm_windowToEyeCoordinates(texCoordOrig, depthMix);
  3357. return vec2(max(0.0, log2Depth - log2(-eyeCoordinate.z / eyeCoordinate.w)), 1.0);
  3358. }
  3359. void main()
  3360. {
  3361. float depthOrLogDepth = czm_unpackDepth(texture2D(u_pointCloud_depthGBuffer, v_textureCoordinates));
  3362. vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, depthOrLogDepth);
  3363. eyeCoordinate /= eyeCoordinate.w;
  3364. float log2Depth = log2(-eyeCoordinate.z);
  3365. if (depthOrLogDepth == 0.0)
  3366. {
  3367. discard;
  3368. }
  3369. vec4 color = texture2D(u_pointCloud_colorGBuffer, v_textureCoordinates);
  3370. vec2 texelSize = 1.0 / czm_viewport.zw;
  3371. vec2 responseAndCount = vec2(0.0);
  3372. responseAndCount += neighborContribution(log2Depth, vec2(-texelSize.x, 0.0));
  3373. responseAndCount += neighborContribution(log2Depth, vec2(+texelSize.x, 0.0));
  3374. responseAndCount += neighborContribution(log2Depth, vec2(0.0, -texelSize.y));
  3375. responseAndCount += neighborContribution(log2Depth, vec2(0.0, +texelSize.y));
  3376. float response = responseAndCount.x / responseAndCount.y;
  3377. float strength = u_distanceAndEdlStrength.y;
  3378. float shade = exp(-response * 300.0 * strength);
  3379. color.rgb *= shade;
  3380. gl_FragColor = vec4(color);
  3381. gl_FragDepthEXT = depthOrLogDepth;
  3382. }
  3383. `;function rT(){this._framebuffer=new ci({colorAttachmentsLength:2,depth:!0,supportsDepthTexture:!0}),this._drawCommand=void 0,this._clearCommand=void 0,this._strength=1,this._radius=1}Object.defineProperties(rT.prototype,{framebuffer:{get:function(){return this._framebuffer.framebuffer}},colorGBuffer:{get:function(){return this._framebuffer.getColorTexture(0)}},depthGBuffer:{get:function(){return this._framebuffer.getColorTexture(1)}}});function z4e(e){e._framebuffer.destroy(),e._drawCommand=void 0,e._clearCommand=void 0}var T6=new G;function H4e(e,t){let n=new ke({defines:["LOG_DEPTH_WRITE"],sources:[EL]}),i={u_pointCloud_colorGBuffer:function(){return e.colorGBuffer},u_pointCloud_depthGBuffer:function(){return e.depthGBuffer},u_distanceAndEdlStrength:function(){return T6.x=e._radius,T6.y=e._strength,T6}},o=Fe.fromCache({blending:cn.ALPHA_BLEND,depthMask:!0,depthTest:{enabled:!0},stencilTest:vt.setCesium3DTileBit(),stencilMask:vt.CESIUM_3D_TILE_MASK});e._drawCommand=t.createViewportQuadCommand(n,{uniformMap:i,renderState:o,pass:xe.CESIUM_3D_TILE,owner:e}),e._clearCommand=new oi({framebuffer:e.framebuffer,color:new U(0,0,0,0),depth:1,renderState:Fe.fromCache(),pass:xe.CESIUM_3D_TILE,owner:e})}function G4e(e,t){let n=t.drawingBufferWidth,i=t.drawingBufferHeight;e._framebuffer.update(t,n,i),H4e(e,t)}function Ore(e){return e.drawBuffers&&e.fragmentDepth}rT.isSupported=Ore;function W4e(e,t){let n=e.shaderCache.getDerivedShaderProgram(t,"EC");if(!l(n)){let i=t._attributeLocations,o=t.fragmentShaderSource.clone();o.sources=o.sources.map(function(r){return r=ke.replaceMain(r,"czm_point_cloud_post_process_main"),r=r.replace(/gl_FragColor/g,"gl_FragData[0]"),r}),o.sources.unshift(`#extension GL_EXT_draw_buffers : enable
  3384. `),o.sources.push(`void main()
  3385. {
  3386. czm_point_cloud_post_process_main();
  3387. #ifdef LOG_DEPTH
  3388. czm_writeLogDepth();
  3389. gl_FragData[1] = czm_packDepth(gl_FragDepthEXT);
  3390. #else
  3391. gl_FragData[1] = czm_packDepth(gl_FragCoord.z);
  3392. #endif
  3393. }`),n=e.shaderCache.createDerivedShaderProgram(t,"EC",{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:o,attributeLocations:i})}return n}rT.prototype.update=function(e,t,n,i){if(!Ore(e.context))return;this._strength=n.eyeDomeLightingStrength,this._radius=n.eyeDomeLightingRadius*e.pixelRatio,G4e(this,e.context);let o,r=e.commandList,s=r.length;for(o=t;o<s;++o){let u=r[o];if(u.primitiveType!==Ne.POINTS||u.pass===xe.TRANSLUCENT)continue;let f,d,p=u.derivedCommands.pointCloudProcessor;l(p)&&(f=p.command,d=p.originalShaderProgram),(!l(f)||u.dirty||d!==u.shaderProgram||f.framebuffer!==this.framebuffer)&&(f=Je.shallowClone(u,f),f.framebuffer=this.framebuffer,f.shaderProgram=W4e(e.context,u.shaderProgram),f.castShadows=!1,f.receiveShadows=!1,l(p)||(p={command:f,originalShaderProgram:u.shaderProgram},u.derivedCommands.pointCloudProcessor=p),p.originalShaderProgram=u.shaderProgram),r[o]=f}let a=this._clearCommand,c=this._drawCommand;c.boundingVolume=i,r.push(c),r.push(a)};rT.prototype.isDestroyed=function(){return!1};rT.prototype.destroy=function(){return z4e(this),fe(this)};var K_=rT;function Rre(e){let t=y(e,{});this.attenuation=y(t.attenuation,!1),this.geometricErrorScale=y(t.geometricErrorScale,1),this.maximumAttenuation=t.maximumAttenuation,this.baseResolution=t.baseResolution,this.eyeDomeLighting=y(t.eyeDomeLighting,!0),this.eyeDomeLightingStrength=y(t.eyeDomeLightingStrength,1),this.eyeDomeLightingRadius=y(t.eyeDomeLightingRadius,1),this.backFaceCulling=y(t.backFaceCulling,!1),this.normalShading=y(t.normalShading,!0)}Rre.isSupported=function(e){return K_.isSupported(e.context)};var zm=Rre;var Js={},j4e=new se(0,0,0,1),Oa=new se,q4e=new Ge,E6=new G,b6=new G;Js.wgs84ToWindowCoordinates=function(e,t,n){return Js.wgs84WithEyeOffsetToWindowCoordinates(e,t,h.ZERO,n)};var Mre=new se,Bre=new h;function _w(e,t,n,i){let o=n.viewMatrix,r=N.multiplyByVector(o,se.fromElements(e.x,e.y,e.z,1,Mre),Mre),s=h.multiplyComponents(t,h.normalize(r,Bre),Bre);return r.x+=t.x+s.x,r.y+=t.y+s.y,r.z+=s.z,N.multiplyByVector(n.frustum.projectionMatrix,r,i)}var Y4e=new he(Math.PI,I.PI_OVER_TWO),X4e=new h,K4e=new h;Js.wgs84WithEyeOffsetToWindowCoordinates=function(e,t,n,i){let o=e.frameState,r=Js.computeActualWgs84Position(o,t,j4e);if(!l(r))return;let s=e.canvas,a=q4e;a.x=0,a.y=0,a.width=s.clientWidth,a.height=s.clientHeight;let c=e.camera,u=!1;if(o.mode===ee.SCENE2D){let f=e.mapProjection,d=Y4e,p=f.project(d,X4e),g=h.clone(c.position,K4e),m=c.frustum.clone(),C=N.computeViewportTransformation(a,0,1,new N),x=c.frustum.projectionMatrix,A=c.positionWC.y,b=h.fromElements(I.sign(A)*p.x-A,0,-c.positionWC.x),E=Dt.pointToGLWindowCoordinates(x,C,b);if(A===0||E.x<=0||E.x>=s.clientWidth)u=!0;else{if(E.x>s.clientWidth*.5){a.width=E.x,c.frustum.right=p.x-A,Oa=_w(r,n,c,Oa),Js.clipToGLWindowCoordinates(a,Oa,E6),a.x+=E.x,c.position.x=-c.position.x;let S=c.frustum.right;c.frustum.right=-c.frustum.left,c.frustum.left=-S,Oa=_w(r,n,c,Oa),Js.clipToGLWindowCoordinates(a,Oa,b6)}else{a.x+=E.x,a.width-=E.x,c.frustum.left=-p.x-A,Oa=_w(r,n,c,Oa),Js.clipToGLWindowCoordinates(a,Oa,E6),a.x=a.x-a.width,c.position.x=-c.position.x;let S=c.frustum.left;c.frustum.left=-c.frustum.right,c.frustum.right=-S,Oa=_w(r,n,c,Oa),Js.clipToGLWindowCoordinates(a,Oa,b6)}h.clone(g,c.position),c.frustum=m.clone(),i=G.clone(E6,i),(i.x<0||i.x>s.clientWidth)&&(i.x=b6.x)}}if(o.mode!==ee.SCENE2D||u){if(Oa=_w(r,n,c,Oa),Oa.z<0&&!(c.frustum instanceof $t)&&!(c.frustum instanceof Ir))return;i=Js.clipToGLWindowCoordinates(a,Oa,i)}return i.y=s.clientHeight-i.y,i};Js.wgs84ToDrawingBufferCoordinates=function(e,t,n){if(n=Js.wgs84ToWindowCoordinates(e,t,n),!!l(n))return Js.transformWindowToDrawingBuffer(e,n,n)};var Hm=new h,Z4e=new he;Js.computeActualWgs84Position=function(e,t,n){let i=e.mode;if(i===ee.SCENE3D)return h.clone(t,n);let o=e.mapProjection,r=o.ellipsoid.cartesianToCartographic(t,Z4e);if(!l(r))return;if(o.project(r,Hm),i===ee.COLUMBUS_VIEW)return h.fromElements(Hm.z,Hm.x,Hm.y,n);if(i===ee.SCENE2D)return h.fromElements(0,Hm.x,Hm.y,n);let s=e.morphTime;return h.fromElements(I.lerp(Hm.z,t.x,s),I.lerp(Hm.x,t.y,s),I.lerp(Hm.y,t.z,s),n)};var Lre=new h,Nre=new h,Fre=new N;Js.clipToGLWindowCoordinates=function(e,t,n){return h.divideByScalar(t,t.w,Lre),N.computeViewportTransformation(e,0,1,Fre),N.multiplyByPoint(Fre,Lre,Nre),G.fromCartesian3(Nre,n)};Js.transformWindowToDrawingBuffer=function(e,t,n){let i=e.canvas,o=e.drawingBufferWidth/i.clientWidth,r=e.drawingBufferHeight/i.clientHeight;return G.fromElements(t.x*o,t.y*r,n)};var $4e=new se,Vre=new se;Js.drawingBufferToWgs84Coordinates=function(e,t,n,i){let r=e.context.uniformState,s=r.currentFrustum,a=s.x,c=s.y;if(e.frameState.useLogDepth){let g=n*r.log2FarDepthFromNearPlusOne,m=Math.pow(2,g)-1;n=c*(1-a/(m+a))/(c-a)}let u=e.view.passState.viewport,f=se.clone(se.UNIT_W,$4e);f.x=(t.x-u.x)/u.width*2-1,f.y=(t.y-u.y)/u.height*2-1,f.z=n*2-1,f.w=1;let d,p=e.camera.frustum;if(!l(p.fovy))l(p._offCenterFrustum)&&(p=p._offCenterFrustum),d=Vre,d.x=(f.x*(p.right-p.left)+p.left+p.right)*.5,d.y=(f.y*(p.top-p.bottom)+p.bottom+p.top)*.5,d.z=(f.z*(a-c)-a-c)*.5,d.w=1,d=N.multiplyByVector(r.inverseView,d,d);else{d=N.multiplyByVector(r.inverseViewProjection,f,Vre);let g=1/d.w;h.multiplyByScalar(d,g,d)}return h.fromCartesian4(d,i)};var qi=Js;var J4e={LEFT:-1,NONE:0,RIGHT:1},Kc=Object.freeze(J4e);var sT={};sT._deprecationWarning=or;var Gm=Uint32Array.BYTES_PER_ELEMENT;sT.parse=function(e,t){let n=y(t,0);t=n;let i=new Uint8Array(e),o=new DataView(e);t+=Gm;let r=o.getUint32(t,!0);if(r!==1)throw new de(`Only Batched 3D Model version 1 is supported. Version ${r} is not.`);t+=Gm;let s=o.getUint32(t,!0);t+=Gm;let a=o.getUint32(t,!0);t+=Gm;let c=o.getUint32(t,!0);t+=Gm;let u=o.getUint32(t,!0);t+=Gm;let f=o.getUint32(t,!0);t+=Gm;let d;u>=570425344?(t-=Gm*2,d=a,u=c,f=0,a=0,c=0,sT._deprecationWarning("b3dm-legacy-header","This b3dm header is using the legacy format [batchLength] [batchTableByteLength]. The new format is [featureTableJsonByteLength] [featureTableBinaryByteLength] [batchTableJsonByteLength] [batchTableBinaryByteLength] from https://github.com/CesiumGS/3d-tiles/tree/main/specification/TileFormats/Batched3DModel.")):f>=570425344&&(t-=Gm,d=u,u=a,f=c,a=0,c=0,sT._deprecationWarning("b3dm-legacy-header","This b3dm header is using the legacy format [batchTableJsonByteLength] [batchTableBinaryByteLength] [batchLength]. The new format is [featureTableJsonByteLength] [featureTableBinaryByteLength] [batchTableJsonByteLength] [batchTableBinaryByteLength] from https://github.com/CesiumGS/3d-tiles/tree/main/specification/TileFormats/Batched3DModel."));let p;a===0?p={BATCH_LENGTH:y(d,0)}:(p=Xo(i,t,a),t+=a);let g=new Uint8Array(e,t,c);t+=c;let m,C;u>0&&(m=Xo(i,t,u),t+=u,f>0&&(C=new Uint8Array(e,t,f),C=new Uint8Array(C),t+=f));let x=n+s-t;if(x===0)throw new de("glTF byte length must be greater than 0.");let A;return t%4===0?A=new Uint8Array(e,t,x):(sT._deprecationWarning("b3dm-glb-unaligned","The embedded glb is not aligned to a 4-byte boundary."),A=new Uint8Array(i.subarray(t,t+x))),{batchLength:d,featureTableJson:p,featureTableBinary:g,batchTableJson:m,batchTableBinary:C,gltf:A}};var bL=sT;function gw(e,t){this.json=e,this.buffer=t,this._cachedTypedArrays={},this.featuresLength=0}function kre(e,t,n,i,o,r){let s=e._cachedTypedArrays,a=s[t];return l(a)||(a=Z.createArrayBufferView(n,e.buffer.buffer,e.buffer.byteOffset+r,o*i),s[t]=a),a}function Q4e(e,t,n,i){let o=e._cachedTypedArrays,r=o[t];return l(r)||(r=Z.createTypedArray(n,i),o[t]=r),r}gw.prototype.getGlobalProperty=function(e,t,n){let i=this.json[e];if(!!l(i))return l(i.byteOffset)?(t=y(t,Z.UNSIGNED_INT),n=y(n,1),kre(this,e,t,n,1,i.byteOffset)):i};gw.prototype.hasProperty=function(e){return l(this.json[e])};gw.prototype.getPropertyArray=function(e,t,n){let i=this.json[e];if(!!l(i))return l(i.byteOffset)?(l(i.componentType)&&(t=Z.fromName(i.componentType)),kre(this,e,t,n,this.featuresLength,i.byteOffset)):Q4e(this,e,t,i)};gw.prototype.getProperty=function(e,t,n,i,o){let r=this.json[e];if(!l(r))return;let s=this.getPropertyArray(e,t,n);if(n===1)return s[i];for(let a=0;a<n;++a)o[a]=s[n*i+a];return o};var ph=gw;var Ure={};function yw(e){this._count=e.count,this._properties=et(e.properties,!0)}yw.prototype.hasProperty=function(e){return On.hasProperty(e,this._properties,Ure)};yw.prototype.getPropertyIds=function(e){return On.getPropertyIds(this._properties,Ure,e)};yw.prototype.getProperty=function(e,t){let n=this._properties[t];if(l(n))return et(n[e],!0)};yw.prototype.setProperty=function(e,t,n){let i=this._properties[t];return l(i)?(i[e]=et(n,!0),!0):!1};var aT=yw;function S6(e){let t=e.count,n=e.batchTable,i=e.binaryBody,o=y(e.parseAsPropertyAttributes,!1),r=e.customAttributeOutput,s=eze(n),a;l(s.jsonProperties)&&(a=new aT({count:t,properties:s.jsonProperties}));let c;l(s.hierarchy)&&(c=new jA({extension:s.hierarchy,binaryBody:i}));let u=dh.BATCH_TABLE_CLASS_NAME,f=s.binaryProperties,d,p,g;if(o){let x=nze(t,u,f,i,r);g=x.transcodedSchema,p=[new eT({propertyAttribute:x.propertyAttributeJson,class:x.transcodedClass})]}else{let x=tze(t,u,f,i);g=x.transcodedSchema;let A=x.featureTableJson;d=new Df({count:A.count,properties:A.properties,class:x.transcodedClass,bufferViews:x.bufferViewsTypedArrays}),p=[]}let m=[];if(l(d)||l(a)||l(c)){let x=new qc({id:0,name:"Batch Table",count:t,metadataTable:d,jsonMetadataTable:a,batchTableHierarchy:c});m.push(x)}let C={schema:g,propertyTables:m,propertyAttributes:p,extensions:s.extensions,extras:s.extras};return new Pa(C)}function eze(e){let t=e.HIERARCHY,n=e.extras,i=e.extensions,o;l(t)?(S6._deprecationWarning("batchTableHierarchyExtension","The batch table HIERARCHY property has been moved to an extension. Use extensions.3DTILES_batch_table_hierarchy instead."),o=t):l(i)&&(o=i["3DTILES_batch_table_hierarchy"]);let r,s={};for(let a in e){if(!e.hasOwnProperty(a)||a==="HIERARCHY"||a==="extensions"||a==="extras")continue;let c=e[a];Array.isArray(c)?(r=l(r)?r:{},r[a]=c):s[a]=c}return{binaryProperties:s,jsonProperties:r,hierarchy:o,extras:n,extensions:i}}function tze(e,t,n,i){let o={},r={},s={},a=0;for(let d in n){if(!n.hasOwnProperty(d))continue;if(!l(i))throw new de(`Property ${d} requires a batch table binary.`);let p=n[d],g=Tu(p);r[d]={bufferView:a},o[d]=zre(p),s[a]=g.createArrayBufferView(i.buffer,i.byteOffset+p.byteOffset,e),a++}let c={classes:{}};c.classes[t]={properties:o};let u=new hh(c);return{featureTableJson:{class:t,count:e,properties:r},bufferViewsTypedArrays:s,transcodedSchema:u,transcodedClass:u.classes[t]}}function nze(e,t,n,i,o){let r={},s={},a=0;for(let d in n){if(!n.hasOwnProperty(d))continue;let p=n[d];if(!l(i)&&!l(p.typedArray))throw new de(`Property ${d} requires a batch table binary.`);let g=Xt.sanitizeGlslIdentifier(d);(g===""||r.hasOwnProperty(g))&&(g=`property_${a}`,a++);let m=zre(p);m.name=d,r[g]=m;let C=g.toUpperCase();C.startsWith("_")||(C=`_${C}`);let x=p.typedArray;l(x)||(x=Tu(p).createArrayBufferView(i.buffer,i.byteOffset+p.byteOffset,e));let A=new Ft.Attribute;A.name=C,A.count=e,A.type=p.type,A.componentDatatype=Z.fromTypedArray(x),A.typedArray=x,o.push(A),s[g]={attribute:C}}let c={classes:{}};c.classes[t]={properties:r};let u=new hh(c);return{class:t,propertyAttributeJson:{properties:s},transcodedSchema:u,transcodedClass:u.classes[t]}}function zre(e){let t=ize(e.componentType);return{type:e.type,componentType:t}}function ize(e){switch(e){case"BYTE":return"INT8";case"UNSIGNED_BYTE":return"UINT8";case"SHORT":return"INT16";case"UNSIGNED_SHORT":return"UINT16";case"INT":return"INT32";case"UNSIGNED_INT":return"UINT32";case"FLOAT":return"FLOAT32";case"DOUBLE":return"FLOAT64"}}S6._deprecationWarning=or;var Z_=S6;var Iy={UNLOADED:0,LOADING:1,PROCESSING:2,READY:3,FAILED:4},oze=Ft.FeatureIdAttribute;function $_(e){e=y(e,y.EMPTY_OBJECT);let t=e.b3dmResource,n=e.baseResource,i=e.arrayBuffer,o=y(e.byteOffset,0),r=y(e.releaseGltfJson,!1),s=y(e.asynchronous,!0),a=y(e.incrementallyLoadTextures,!0),c=y(e.upAxis,Po.Y),u=y(e.forwardAxis,Po.X),f=y(e.loadAttributesAsTypedArray,!1),d=y(e.loadAttributesFor2D,!1),p=y(e.loadIndicesForWireframe,!1),g=y(e.loadPrimitiveOutline,!0),m=y(e.loadForClassification,!1);n=l(n)?n:t.clone(),this._b3dmResource=t,this._baseResource=n,this._arrayBuffer=i,this._byteOffset=o,this._releaseGltfJson=r,this._asynchronous=s,this._incrementallyLoadTextures=a,this._upAxis=c,this._forwardAxis=u,this._loadAttributesAsTypedArray=f,this._loadAttributesFor2D=d,this._loadIndicesForWireframe=p,this._loadPrimitiveOutline=g,this._loadForClassification=m,this._state=Iy.UNLOADED,this._promise=void 0,this._gltfLoader=void 0,this._batchLength=0,this._propertyTable=void 0,this._batchTable=void 0,this._components=void 0,this._transform=N.IDENTITY}l(Object.create)&&($_.prototype=Object.create(to.prototype),$_.prototype.constructor=$_);Object.defineProperties($_.prototype,{promise:{get:function(){return this._promise}},texturesLoadedPromise:{get:function(){return this._gltfLoader.texturesLoadedPromise}},cacheKey:{get:function(){}},components:{get:function(){return this._components}}});$_.prototype.load=function(){let e=bL.parse(this._arrayBuffer,this._byteOffset),t=e.batchLength,n=e.featureTableJson,i=e.featureTableBinary,o=e.batchTableJson,r=e.batchTableBinary,s=new ph(n,i);t=s.getGlobalProperty("BATCH_LENGTH"),this._batchLength=t;let a=s.getGlobalProperty("RTC_CENTER",Z.FLOAT,3);l(a)&&(this._transform=N.fromTranslation(h.fromArray(a))),this._batchTable={json:o,binary:r};let c=new X_({typedArray:e.gltf,upAxis:this._upAxis,forwardAxis:this._forwardAxis,gltfResource:this._b3dmResource,baseResource:this._baseResource,releaseGltfJson:this._releaseGltfJson,incrementallyLoadTextures:this._incrementallyLoadTextures,loadAttributesAsTypedArray:this._loadAttributesAsTypedArray,loadAttributesFor2D:this._loadAttributesFor2D,loadIndicesForWireframe:this._loadIndicesForWireframe,loadPrimitiveOutline:this._loadPrimitiveOutline,loadForClassification:this._loadForClassification,renameBatchIdSemantic:!0});this._gltfLoader=c,this._state=Iy.LOADING;let u=this;return c.load(),this._promise=c.promise.then(function(){if(u.isDestroyed())return;let f=c.components;return f.transform=N.multiplyTransformation(u._transform,f.transform,f.transform),sze(u,f),u._components=f,u._arrayBuffer=void 0,u._state=Iy.READY,u}).catch(function(f){if(!u.isDestroyed())return rze(u,f)}),this._promise};function rze(e,t){e.unload(),e._state=Iy.FAILED;let n="Failed to load b3dm";return t=e.getError(n,t),Promise.reject(t)}$_.prototype.process=function(e){this._state===Iy.LOADING&&(this._state=Iy.PROCESSING),this._state===Iy.PROCESSING&&this._gltfLoader.process(e)};function sze(e,t){let n=e._batchTable,i=e._batchLength;if(i===0)return;let o;if(l(n.json))o=Z_({count:i,batchTable:n.json,binaryBody:n.binary});else{let a=new qc({name:dh.BATCH_TABLE_CLASS_NAME,count:i});o=new Pa({schema:{},propertyTables:[a]})}let r=t.scene.nodes,s=r.length;for(let a=0;a<s;a++)Hre(r[a]);t.structuralMetadata=o}function Hre(e){let t=e.children.length;for(let i=0;i<t;i++)Hre(e.children[i]);let n=e.primitives.length;for(let i=0;i<n;i++){let o=e.primitives[i],r=Xt.getAttributeBySemantic(o,xt.FEATURE_ID);if(l(r)){r.setIndex=0;let s=new oze;s.propertyTableId=0,s.setIndex=0,s.positionalLabel="featureId_0",o.featureIds.push(s)}}}$_.prototype.unload=function(){l(this._gltfLoader)&&this._gltfLoader.unload(),this._components=void 0,this._arrayBuffer=void 0};var SL=$_;function J_(e){e=y(e,y.EMPTY_OBJECT),this._geoJson=e.geoJson,this._promise=void 0,this._process=function(t,n){},this._components=void 0}l(Object.create)&&(J_.prototype=Object.create(to.prototype),J_.prototype.constructor=J_);Object.defineProperties(J_.prototype,{promise:{get:function(){return this._promise}},cacheKey:{get:function(){}},components:{get:function(){return this._components}}});J_.prototype.load=function(){let e=this,t=new Promise(function(n){e._process=function(i,o){l(i._components)||(i._components=pze(i._geoJson,o),i._geoJson=void 0,n(i))}});return this._promise=t,t};J_.prototype.process=function(e){this._process(this,e)};function aze(){this.lines=void 0,this.properties=void 0}function cze(){this.features=[]}function lze(e){let t=e[0],n=e[1],i=y(e[2],0);return new h(t,n,i)}function w6(e){let t=e.length,n=new Array(t);for(let o=0;o<t;o++)n[o]=lze(e[o]);return[n]}function uze(e){let t=e.length,n=new Array(t);for(let i=0;i<t;i++)n[i]=w6(e[i])[0];return n}function Wre(e){let t=e.length,n=new Array(t);for(let i=0;i<t;i++)n[i]=w6(e[i])[0];return n}function fze(e){let t=e.length,n=[];for(let i=0;i<t;i++)Array.prototype.push.apply(n,Wre(e[i]));return n}var dze={LineString:w6,MultiLineString:uze,MultiPolygon:fze,Polygon:Wre};function jre(e,t){if(!l(e.geometry))return;let n=e.geometry.type,i=dze[n],o=e.geometry.coordinates;if(!l(i)||!l(o))return;let r=new aze;r.lines=i(o),r.properties=e.properties,t.features.push(r)}function hze(e,t){let n=e.features,i=n.length;for(let o=0;o<i;o++)jre(n[o],t)}var mze={FeatureCollection:hze,Feature:jre},Gre=new h;function pze(e,t){let n=new cze,i=mze[e.type];l(i)&&i(e,n);let o=n.features.length;if(o===0)throw new de("GeoJSON must have at least one feature");let r={};for(let le=0;le<o;le++){let me=n.features[le],ie=y(me.properties,y.EMPTY_OBJECT);for(let ce in ie)ie.hasOwnProperty(ce)&&(l(r[ce])||(r[ce]=new Array(o)))}for(let le=0;le<o;le++){let me=n.features[le];for(let ie in r)if(r.hasOwnProperty(ie)){let ce=y(me.properties[ie],"");r[ie][le]=ce}}let s=new aT({count:o,properties:r}),c=[new qc({id:0,count:o,jsonMetadataTable:s})],u=new hh({}),f=new Pa({schema:u,propertyTables:c}),d=new h(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY),p=new h(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY);for(let le=0;le<o;le++){let me=n.features[le],ie=me.lines.length;for(let ce=0;ce<ie;ce++){let pe=me.lines[ce],Ae=pe.length;for(let we=0;we<Ae;we++)h.minimumByComponent(d,pe[we],d),h.maximumByComponent(p,pe[we],p)}}let g=h.midpoint(d,p,new h),m=h.fromDegrees(g.x,g.y,g.z,oe.WGS84,new h),C=Dt.eastNorthUpToFixedFrame(m,oe.WGS84,new N),x=N.inverseTransformation(C,new N),A=0,b=0;for(let le=0;le<o;le++){let me=n.features[le],ie=me.lines.length;for(let ce=0;ce<ie;ce++){let pe=me.lines[ce];A+=pe.length,b+=(pe.length-1)*2}}let E=new Float32Array(A*3),S=new Float32Array(A),v=Be.createTypedArray(A,b),P=Be.fromTypedArray(v),O=new h(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY),M=new h(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY),B=0,L=0;for(let le=0;le<o;le++){let me=n.features[le],ie=me.lines.length;for(let ce=0;ce<ie;ce++){let pe=me.lines[ce],Ae=pe.length;for(let we=0;we<Ae;we++){let Re=pe[we],Ue=h.fromDegrees(Re.x,Re.y,Re.z,oe.WGS84,Gre),bt=N.multiplyByPoint(x,Ue,Gre);h.minimumByComponent(O,bt,O),h.maximumByComponent(M,bt,M),h.pack(bt,E,B*3),S[B]=le,we<Ae-1&&(v[L*2]=B,v[L*2+1]=B+1,L++),B++}}}let _=ct.createVertexBuffer({typedArray:E,context:t.context,usage:Le.STATIC_DRAW});_.vertexArrayDestroyable=!1;let T=ct.createVertexBuffer({typedArray:S,context:t.context,usage:Le.STATIC_DRAW});T.vertexArrayDestroyable=!1;let w=ct.createIndexBuffer({typedArray:v,context:t.context,usage:Le.STATIC_DRAW,indexDatatype:P});w.vertexArrayDestroyable=!1;let D=new Ft.Attribute;D.semantic=xt.POSITION,D.componentDatatype=Z.FLOAT,D.type=tn.VEC3,D.count=A,D.min=O,D.max=M,D.buffer=_;let R=new Ft.Attribute;R.semantic=xt.FEATURE_ID,R.setIndex=0,R.componentDatatype=Z.FLOAT,R.type=tn.SCALAR,R.count=A,R.buffer=T;let F=[D,R],z=new Ft.Material;z.unlit=!0;let k=new Ft.Indices;k.indexDatatype=P,k.count=v.length,k.buffer=w;let H=new Ft.FeatureIdAttribute;H.featureCount=o,H.propertyTableId=0,H.setIndex=0,H.positionalLabel="featureId_0";let V=[H],Y=new Ft.Primitive;Y.attributes=F,Y.indices=k,Y.featureIds=V,Y.primitiveType=Ne.LINES,Y.material=z;let q=[Y],X=new Ft.Node;X.index=0,X.primitives=q;let W=[X],K=new Ft.Scene;K.nodes=W;let $=new Ft.Components;return $.scene=K,$.nodes=W,$.transform=C,$.structuralMetadata=f,$}J_.prototype.unload=function(){this._components=void 0};var wL=J_;var vL={};vL._deprecationWarning=or;var Q_=Uint32Array.BYTES_PER_ELEMENT;vL.parse=function(e,t){let n=y(t,0);t=n;let i=new Uint8Array(e),o=new DataView(e);t+=Q_;let r=o.getUint32(t,!0);if(r!==1)throw new de(`Only Instanced 3D Model version 1 is supported. Version ${r} is not.`);t+=Q_;let s=o.getUint32(t,!0);t+=Q_;let a=o.getUint32(t,!0);if(a===0)throw new de("featureTableJsonByteLength is zero, the feature table must be defined.");t+=Q_;let c=o.getUint32(t,!0);t+=Q_;let u=o.getUint32(t,!0);t+=Q_;let f=o.getUint32(t,!0);t+=Q_;let d=o.getUint32(t,!0);if(d!==1&&d!==0)throw new de(`Only glTF format 0 (uri) or 1 (embedded) are supported. Format ${d} is not.`);t+=Q_;let p=Xo(i,t,a);t+=a;let g=new Uint8Array(e,t,c);t+=c;let m,C;u>0&&(m=Xo(i,t,u),t+=u,f>0&&(C=new Uint8Array(e,t,f),C=new Uint8Array(C),t+=f));let x=n+s-t;if(x===0)throw new de("glTF byte length must be greater than 0.");let A;return t%4===0?A=new Uint8Array(e,t,x):(vL._deprecationWarning("i3dm-glb-unaligned","The embedded glb is not aligned to a 4-byte boundary."),A=new Uint8Array(i.subarray(t,t+x))),{gltfFormat:d,featureTableJson:p,featureTableBinary:g,batchTableJson:m,batchTableBinary:C,gltf:A}};var DL=vL;var Rf={NOT_LOADED:0,LOADING:1,PROCESSING:2,POST_PROCESSING:3,READY:4,FAILED:5,UNLOADED:6},PL=Ft.Attribute,_ze=Ft.FeatureIdAttribute,Yre=Ft.Instances;function Wm(e){e=y(e,y.EMPTY_OBJECT);let t=e.i3dmResource,n=e.arrayBuffer,i=e.baseResource,o=y(e.byteOffset,0),r=y(e.releaseGltfJson,!1),s=y(e.asynchronous,!0),a=y(e.incrementallyLoadTextures,!0),c=y(e.upAxis,Po.Y),u=y(e.forwardAxis,Po.X),f=y(e.loadAttributesAsTypedArray,!1),d=y(e.loadIndicesForWireframe,!1),p=y(e.loadPrimitiveOutline,!0);i=l(i)?i:t.clone(),this._i3dmResource=t,this._baseResource=i,this._arrayBuffer=n,this._byteOffset=o,this._releaseGltfJson=r,this._asynchronous=s,this._incrementallyLoadTextures=a,this._upAxis=c,this._forwardAxis=u,this._loadAttributesAsTypedArray=f,this._loadIndicesForWireframe=d,this._loadPrimitiveOutline=p,this._state=Rf.NOT_LOADED,this._promise=void 0,this._gltfLoader=void 0,this._gltfLoaderPromise=void 0,this._process=function(g,m){},this._postProcess=function(g,m){},this._buffers=[],this._components=void 0,this._transform=N.IDENTITY,this._batchTable=void 0,this._featureTable=void 0,this._instancesLength=0}l(Object.create)&&(Wm.prototype=Object.create(to.prototype),Wm.prototype.constructor=Wm);Object.defineProperties(Wm.prototype,{promise:{get:function(){return this._promise}},texturesLoadedPromise:{get:function(){return this._gltfLoader.texturesLoadedPromise}},cacheKey:{get:function(){}},components:{get:function(){return this._components}}});Wm.prototype.load=function(){let e=DL.parse(this._arrayBuffer,this._byteOffset),t=e.featureTableJson,n=e.featureTableBinary,i=e.batchTableJson,o=e.batchTableBinary,r=e.gltfFormat,s=new ph(t,n);this._featureTable=s;let a=s.getGlobalProperty("INSTANCES_LENGTH");if(s.featuresLength=a,!l(a))throw new de("Feature table global property: INSTANCES_LENGTH must be defined");this._instancesLength=a;let c=s.getGlobalProperty("RTC_CENTER",Z.FLOAT,3);l(c)&&(this._transform=N.fromTranslation(h.fromArray(c))),this._batchTable={json:i,binary:o};let u={upAxis:this._upAxis,forwardAxis:this._forwardAxis,releaseGltfJson:this._releaseGltfJson,incrementallyLoadTextures:this._incrementallyLoadTextures,loadAttributesAsTypedArray:this._loadAttributesAsTypedArray,loadIndicesForWireframe:this._loadIndicesForWireframe,loadPrimitiveOutline:this._loadPrimitiveOutline};if(r===0){let g=ml(e.gltf);g=g.replace(/[\s\0]+$/,"");let m=this._baseResource.getDerivedResource({url:g});u.gltfResource=m,u.baseResource=m}else u.gltfResource=this._i3dmResource,u.typedArray=e.gltf;let f=new X_(u);this._gltfLoader=f,this._state=Rf.LOADING,f.load();let d=this,p=new Promise(function(g){d._process=function(m,C){m._gltfLoader.process(C)},d._postProcess=function(m,C){let A=m._gltfLoader.components;A.transform=N.multiplyTransformation(m._transform,A.transform,A.transform),xze(m,A,C),yze(m,A),m._components=A,m._arrayBuffer=void 0,m._state=Rf.READY,g(m)}});return this._promise=f.promise.then(function(){if(!d.isDestroyed())return d._state=Rf.POST_PROCESSING,p}).catch(function(g){if(!d.isDestroyed())return gze(d,g)}),this._promise};function gze(e,t){e.unload(),e._state=Rf.FAILED;let n="Failed to load i3dm";return t=e.getError(n,t),Promise.reject(t)}Wm.prototype.process=function(e){this._state===Rf.LOADING&&(this._state=Rf.PROCESSING),this._state===Rf.PROCESSING&&this._process(this,e),this._state===Rf.POST_PROCESSING&&this._postProcess(this,e)};function yze(e,t){let n=e._batchTable,i=e._instancesLength;if(i===0)return;let o;if(l(n.json))o=Z_({count:i,batchTable:n.json,binaryBody:n.binary});else{let r=new qc({name:dh.BATCH_TABLE_CLASS_NAME,count:i});o=new Pa({schema:{},propertyTables:[r]})}t.structuralMetadata=o}var IL=new h,v6=new Array(4),Cze=new N;function xze(e,t,n){let i,o=e._featureTable,r=e._instancesLength;if(r===0)return;let s=o.getGlobalProperty("RTC_CENTER",Z.FLOAT,3),a=o.getGlobalProperty("EAST_NORTH_UP"),c=o.hasProperty("NORMAL_UP")||o.hasProperty("NORMAL_UP_OCT32P")||a,u=o.hasProperty("SCALE")||o.hasProperty("SCALE_NON_UNIFORM"),f=Tze(o,r),d;c&&(d=new Float32Array(4*r));let p;u&&(p=new Float32Array(3*r));let g=new Float32Array(r),m=h.unpackArray(f),C=new h,x=new h,A=new h,b=new h,E=new J,S=new Oe,v=new Array(4),P=new h,O=new Array(3),M=new N;if(!l(s)){let k=re.fromPoints(m);for(i=0;i<m.length;i++)h.subtract(m[i],k.center,IL),f[3*i+0]=IL.x,f[3*i+1]=IL.y,f[3*i+2]=IL.z;let H=N.fromTranslation(k.center,Cze);t.transform=N.multiplyTransformation(H,t.transform,t.transform)}for(i=0;i<r;i++){C=h.clone(m[i]),l(s)&&h.add(C,h.unpack(s),C),c&&(Eze(o,a,i,S,C,A,x,b,E,M),Oe.pack(S,v,0),d[4*i+0]=v[0],d[4*i+1]=v[1],d[4*i+2]=v[2],d[4*i+3]=v[3]),u&&(bze(o,i,P),h.pack(P,O,0),p[3*i+0]=O[0],p[3*i+1]=O[1],p[3*i+2]=O[2]);let k=o.getProperty("BATCH_ID",Z.UNSIGNED_SHORT,1,i);l(k)||(k=i),g[i]=k}let B=new Yre;B.transformInWorldSpace=!0;let L=e._buffers,_=new PL;if(_.name="Instance Translation",_.semantic=Wr.TRANSLATION,_.componentDatatype=Z.FLOAT,_.type=tn.VEC3,_.count=r,_.typedArray=f,!c){let k=ct.createVertexBuffer({context:n.context,typedArray:f,usage:Le.STATIC_DRAW});k.vertexArrayDestroyable=!1,L.push(k),_.buffer=k}if(B.attributes.push(_),c){let k=new PL;k.name="Instance Rotation",k.semantic=Wr.ROTATION,k.componentDatatype=Z.FLOAT,k.type=tn.VEC4,k.count=r,k.typedArray=d,B.attributes.push(k)}if(u){let k=new PL;if(k.name="Instance Scale",k.semantic=Wr.SCALE,k.componentDatatype=Z.FLOAT,k.type=tn.VEC3,k.count=r,c)k.typedArray=p;else{let H=ct.createVertexBuffer({context:n.context,typedArray:f,usage:Le.STATIC_DRAW});H.vertexArrayDestroyable=!1,L.push(H),k.buffer=H}B.attributes.push(k)}let T=new PL;T.name="Instance Feature ID",T.setIndex=0,T.semantic=Wr.FEATURE_ID,T.componentDatatype=Z.FLOAT,T.type=tn.SCALAR,T.count=r;let w=ct.createVertexBuffer({context:n.context,typedArray:g,usage:Le.STATIC_DRAW});w.vertexArrayDestroyable=!1,L.push(w),T.buffer=w,B.attributes.push(T);let D=new _ze;D.propertyTableId=0,D.setIndex=0,D.positionalLabel="instanceFeatureId_0",B.featureIds.push(D);let R=t.nodes,F=R.length,z=!1;for(i=0;i<F;i++){let k=R[i];k.primitives.length>0&&(k.instances=z?Aze(B):B,z=!0)}}function Aze(e){let t=new Yre;t.transformInWorldSpace=e.transformInWorldSpace;let n=e.attributes,i=n.length;for(let o=0;o<i;o++){let r=et(n[o],!1);t.attributes.push(r)}return t.featureIds=e.featureIds,t}function Tze(e,t){if(e.hasProperty("POSITION"))return e.getPropertyArray("POSITION",Z.FLOAT,3);if(e.hasProperty("POSITION_QUANTIZED")){let n=e.getPropertyArray("POSITION_QUANTIZED",Z.UNSIGNED_SHORT,3),i=e.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",Z.FLOAT,3);if(!l(i))throw new de("Global property: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");let o=e.getGlobalProperty("QUANTIZED_VOLUME_SCALE",Z.FLOAT,3);if(!l(o))throw new de("Global property: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");let r=new Float32Array(n.length);for(let s=0;s<n.length/3;s++)for(let a=0;a<3;a++){let c=3*s+a;r[c]=n[c]/65535*o[a]+i[a]}return r}else throw new de("Either POSITION or POSITION_QUANTIZED must be defined for each instance.")}var qre=new Array(4);function Eze(e,t,n,i,o,r,s,a,c,u){let f=e.getProperty("NORMAL_UP",Z.FLOAT,3,n,v6),d=e.getProperty("NORMAL_RIGHT",Z.FLOAT,3,n,qre),p=!1;if(l(f)){if(!l(d))throw new de("To define a custom orientation, both NORMAL_UP and NORMAL_RIGHT must be defined.");h.unpack(f,0,r),h.unpack(d,0,s),p=!0}else{let g=e.getProperty("NORMAL_UP_OCT32P",Z.UNSIGNED_SHORT,2,n,v6),m=e.getProperty("NORMAL_RIGHT_OCT32P",Z.UNSIGNED_SHORT,2,n,qre);if(l(g)){if(!l(m))throw new de("To define a custom orientation with oct-encoded vectors, both NORMAL_UP_OCT32P and NORMAL_RIGHT_OCT32P must be defined.");kn.octDecodeInRange(g[0],g[1],65535,r),kn.octDecodeInRange(m[0],m[1],65535,s),p=!0}else t?(Dt.eastNorthUpToFixedFrame(o,oe.WGS84,u),N.getMatrix3(u,c)):J.clone(J.IDENTITY,c)}p&&(h.cross(s,r,a),h.normalize(a,a),J.setColumn(c,0,s,c),J.setColumn(c,1,r,c),J.setColumn(c,2,a,c)),Oe.fromRotationMatrix(c,i)}function bze(e,t,n){n=h.fromElements(1,1,1,n);let i=e.getProperty("SCALE",Z.FLOAT,1,t);l(i)&&h.multiplyByScalar(n,i,n);let o=e.getProperty("SCALE_NON_UNIFORM",Z.FLOAT,3,t,v6);l(o)&&(n.x*=o[0],n.y*=o[1],n.z*=o[2])}function Sze(e){let t=e._buffers,n=t.length;for(let i=0;i<n;i++){let o=t[i];o.isDestroyed()||o.destroy()}t.length=0}Wm.prototype.isUnloaded=function(){return this._state===Rf.UNLOADED};Wm.prototype.unload=function(){l(this._gltfLoader)&&this._gltfLoader.unload(),Sze(this),this._components=void 0,this._arrayBuffer=void 0,this._state=Rf.UNLOADED};var OL=Wm;var wze={STOPPED:0,ANIMATING:1},_h=Object.freeze(wze);var Oy=Ft.AnimatedPropertyType;function P6(e){e=y(e,y.EMPTY_OBJECT);let t=e.channel,n=e.runtimeAnimation,i=e.runtimeNode;this._channel=t,this._runtimeAnimation=n,this._runtimeNode=i,this._splines=[],this._path=void 0,Pze(this)}Object.defineProperties(P6.prototype,{channel:{get:function(){return this._channel}},runtimeAnimation:{get:function(){return this._runtimeAnimation}},runtimeNode:{get:function(){return this._runtimeNode}},splines:{get:function(){return this._splines}}});function vze(e,t){let n=[],i=[],o=[],r=t.length;for(let s=0;s<r;s+=3)i.push(t[s]),n.push(t[s+1]),o.push(t[s+2]);return i.splice(0,1),o.length=o.length-1,new I0({times:e,points:n,inTangents:i,outTangents:o})}function Xre(e,t,n,i){if(e.length===1&&t.length===1)return new w1(t[0]);switch(n){case qd.STEP:return new zI({times:e,points:t});case qd.CUBICSPLINE:return vze(e,t);case qd.LINEAR:return i===Oy.ROTATION?new II({times:e,points:t}):new P0({times:e,points:t})}}function Dze(e,t,n,i,o){let r=[];if(i===Oy.WEIGHTS){let a=t.length/o,c,u;for(c=0;c<o;c++){let f=new Array(a),d=c;if(n===qd.CUBICSPLINE)for(u=0;u<a;u+=3)f[u]=t[d],f[u+1]=t[d+o],f[u+2]=t[d+2*o],d+=o*3;else for(u=0;u<a;u++)f[u]=t[d],d+=o;r.push(Xre(e,f,n,i))}}else r.push(Xre(e,t,n,i));return r}var D6;function Pze(e){let t=e._channel,n=t.sampler,i=n.input,o=n.output,r=n.interpolation,a=t.target.path,c=e._runtimeNode,u=l(c.morphWeights)?c.morphWeights.length:1,f=Dze(i,o,r,a,u);switch(e._splines=f,e._path=a,a){case Oy.TRANSLATION:case Oy.SCALE:D6=new h;break;case Oy.ROTATION:D6=new Oe;break;case Oy.WEIGHTS:break}}P6.prototype.animate=function(e){let t=this._splines,n=this._path,i=this._runtimeAnimation.model,o=this._runtimeNode;if(n===Oy.WEIGHTS){let r=o.morphWeights,s=r.length;for(let a=0;a<s;a++){let c=t[a],u=i.clampAnimations?c.clampTime(e):c.wrapTime(e);r[a]=c.evaluate(u)}}else{if(o.userAnimated)return;{let r=t[0],s=i.clampAnimations?r.clampTime(e):r.wrapTime(e);o[n]=r.evaluate(s,D6)}}};var RL=P6;function I6(e,t,n){this._animation=t,this._name=t.name,this._runtimeChannels=void 0,this._startTime=Q.clone(n.startTime),this._delay=y(n.delay,0),this._stopTime=Q.clone(n.stopTime),this.removeOnStop=y(n.removeOnStop,!1),this._multiplier=y(n.multiplier,1),this._reverse=y(n.reverse,!1),this._loop=y(n.loop,fc.NONE),this._animationTime=n.animationTime,this._prevAnimationDelta=void 0,this.start=new ge,this.update=new ge,this.stop=new ge,this._state=_h.STOPPED,this._computedStartTime=void 0,this._duration=void 0;let i=this;this._raiseStartEvent=function(){i.start.raiseEvent(e,i)},this._updateEventTime=0,this._raiseUpdateEvent=function(){i.update.raiseEvent(e,i,i._updateEventTime)},this._raiseStopEvent=function(){i.stop.raiseEvent(e,i)},this._model=e,this._localStartTime=void 0,this._localStopTime=void 0,Ize(this)}Object.defineProperties(I6.prototype,{animation:{get:function(){return this._animation}},name:{get:function(){return this._name}},runtimeChannels:{get:function(){return this._runtimeChannels}},model:{get:function(){return this._model}},localStartTime:{get:function(){return this._localStartTime}},localStopTime:{get:function(){return this._localStopTime}},startTime:{get:function(){return this._startTime}},delay:{get:function(){return this._delay}},stopTime:{get:function(){return this._stopTime}},multiplier:{get:function(){return this._multiplier}},reverse:{get:function(){return this._reverse}},loop:{get:function(){return this._loop}},animationTime:{get:function(){return this._animationTime}}});function Ize(e){let t=Number.MAX_VALUE,n=-Number.MAX_VALUE,i=e._model.sceneGraph,r=e._animation.channels,s=r.length,a=[];for(let c=0;c<s;c++){let u=r[c],f=u.target;if(!l(f))continue;let d=f.node.index,p=i._runtimeNodes[d],g=new RL({channel:u,runtimeAnimation:e,runtimeNode:p}),m=u.sampler.input;t=Math.min(t,m[0]),n=Math.max(n,m[m.length-1]),a.push(g)}e._runtimeChannels=a,e._localStartTime=t,e._localStopTime=n}I6.prototype.animate=function(e){let t=this._runtimeChannels,n=t.length;for(let i=0;i<n;i++)t[i].animate(e)};var ML=I6;function jm(e){this.animationAdded=new ge,this.animationRemoved=new ge,this.animateWhilePaused=!1,this._model=e,this._runtimeAnimations=[],this._previousTime=void 0}Object.defineProperties(jm.prototype,{length:{get:function(){return this._runtimeAnimations.length}},model:{get:function(){return this._model}}});function O6(e,t,n){let i=e._model,o=new ML(i,t,n);return e._runtimeAnimations.push(o),e.animationAdded.raiseEvent(i,o),o}jm.prototype.add=function(e){e=y(e,y.EMPTY_OBJECT);let n=this._model.sceneGraph.components.animations,i=e.index;if(l(i))return O6(this,n[i],e);let o=n.length;for(let r=0;r<o;++r)if(n[r].name===e.name){i=r;break}return O6(this,n[i],e)};jm.prototype.addAll=function(e){e=y(e,y.EMPTY_OBJECT);let n=this._model.sceneGraph.components.animations,i=[],o=n.length;for(let r=0;r<o;++r){let s=O6(this,n[r],e);i.push(s)}return i};jm.prototype.remove=function(e){if(!l(e))return!1;let t=this._runtimeAnimations,n=t.indexOf(e);return n!==-1?(t.splice(n,1),this.animationRemoved.raiseEvent(this._model,e),!0):!1};jm.prototype.removeAll=function(){let e=this._model,t=this._runtimeAnimations,n=t.length;this._runtimeAnimations.length=0;for(let i=0;i<n;++i)this.animationRemoved.raiseEvent(e,t[i])};jm.prototype.contains=function(e){return l(e)?this._runtimeAnimations.indexOf(e)!==-1:!1};jm.prototype.get=function(e){return this._runtimeAnimations[e]};var BL=[];function Oze(e,t,n){return function(){e.animationRemoved.raiseEvent(t,n)}}jm.prototype.update=function(e){let t=this._runtimeAnimations,n=t.length;if(n===0)return this._previousTime=void 0,!1;if(!this.animateWhilePaused&&Q.equals(e.time,this._previousTime))return!1;this._previousTime=Q.clone(e.time,this._previousTime);let i=!1,o=e.time,r=this._model;for(let s=0;s<n;++s){let a=t[s];l(a._computedStartTime)||(a._computedStartTime=Q.addSeconds(y(a.startTime,o),a.delay,new Q)),l(a._duration)||(a._duration=a.localStopTime*(1/a.multiplier));let c=a._computedStartTime,u=a._duration,f=a.stopTime,d=Q.lessThanOrEquals(c,o),p=l(f)&&Q.greaterThan(o,f),g=0;if(u!==0){let x=Q.secondsDifference(p?f:o,c);g=l(a._animationTime)?a._animationTime(u,x):x/u}let m=a.loop===fc.REPEAT||a.loop===fc.MIRRORED_REPEAT,C=(d||m&&!l(a.startTime))&&(g<=1||m)&&!p;if(g===a._prevAnimationDelta){let x=a._state===_h.STOPPED;if(C!==x)continue}if(a._prevAnimationDelta=g,C||a._state===_h.ANIMATING){if(C&&a._state===_h.STOPPED&&(a._state=_h.ANIMATING,a.start.numberOfListeners>0&&e.afterRender.push(a._raiseStartEvent)),a.loop===fc.REPEAT)g=g-Math.floor(g);else if(a.loop===fc.MIRRORED_REPEAT){let A=Math.floor(g),b=g-A;g=A%2===1?1-b:b}a.reverse&&(g=1-g);let x=g*u*a.multiplier;x=I.clamp(x,a.localStartTime,a.localStopTime),a.animate(x),a.update.numberOfListeners>0&&(a._updateEventTime=x,e.afterRender.push(a._raiseUpdateEvent)),i=!0,C||(a._state=_h.STOPPED,a.stop.numberOfListeners>0&&e.afterRender.push(a._raiseStopEvent),a.removeOnStop&&BL.push(a))}}n=BL.length;for(let s=0;s<n;++s){let a=BL[s];t.splice(t.indexOf(a),1),e.afterRender.push(Oze(this,r,a))}return BL.length=0,i};var LL=jm;function eg(e){this._model=e.model,this._featureTable=e.featureTable,this._featureId=e.featureId,this._color=void 0}Object.defineProperties(eg.prototype,{show:{get:function(){return this._featureTable.getShow(this._featureId)},set:function(e){this._featureTable.setShow(this._featureId,e)}},color:{get:function(){return l(this._color)||(this._color=new U),this._featureTable.getColor(this._featureId,this._color)},set:function(e){this._featureTable.setColor(this._featureId,e)}},primitive:{get:function(){return this._model}},featureTable:{get:function(){return this._featureTable}},featureId:{get:function(){return this._featureId}}});eg.prototype.hasProperty=function(e){return this._featureTable.hasProperty(this._featureId,e)};eg.prototype.getProperty=function(e){return this._featureTable.getProperty(this._featureId,e)};eg.prototype.getPropertyInherited=function(e){return this._featureTable.hasPropertyBySemantic(this._featureId,e)?this._featureTable.getPropertyBySemantic(this._featureId,e):this._featureTable.getProperty(this._featureId,e)};eg.prototype.getPropertyNames=function(e){return or("ModelFeature.getPropertyNames","ModelFeature.getPropertyNames is deprecated in CesiumJS 1.95, and will be removed in 1.98. Use ModelFeature.getPropertyIds instead"),this._featureTable.getPropertyIds(e)};eg.prototype.getPropertyIds=function(e){return this._featureTable.getPropertyIds(e)};eg.prototype.setProperty=function(e,t){return this._featureTable.setProperty(this._featureId,e,t)};var NL=eg;var Cw={ALL_OPAQUE:0,ALL_TRANSLUCENT:1,OPAQUE_AND_TRANSLUCENT:2};Cw.getStyleCommandsNeeded=function(e,t){return t===0?Cw.ALL_OPAQUE:t===e?Cw.ALL_TRANSLUCENT:Cw.OPAQUE_AND_TRANSLUCENT};var gh=Object.freeze(Cw);var tg={GLTF:"GLTF",TILE_GLTF:"TILE_GLTF",TILE_B3DM:"B3DM",TILE_I3DM:"I3DM",TILE_PNTS:"PNTS",TILE_GEOJSON:"TILE_GEOJSON"};tg.is3DTiles=function(e){switch(e){case tg.TILE_GLTF:case tg.TILE_B3DM:case tg.TILE_I3DM:case tg.TILE_PNTS:case tg.TILE_GEOJSON:return!0;case tg.GLTF:return!1}};var Mr=Object.freeze(tg);function yr(e){let t=e.model,n=e.propertyTable;this._propertyTable=n,this._model=t,this._features=void 0,this._featuresLength=0,this._batchTexture=void 0,this._styleCommandsNeededDirty=!1,this._styleCommandsNeeded=gh.ALL_OPAQUE,Rze(this)}Object.defineProperties(yr.prototype,{batchTexture:{get:function(){return this._batchTexture}},featuresLength:{get:function(){return this._featuresLength}},batchTextureByteLength:{get:function(){return l(this._batchTexture)?this._batchTexture.byteLength:0}},styleCommandsNeededDirty:{get:function(){return this._styleCommandsNeededDirty}}});function Rze(e){let t=e._model,n=Mr.is3DTiles(t.type),i=e._propertyTable.count;if(i===0)return;let o,r=new Array(i);if(n){let s=t.content;for(o=0;o<i;o++)r[o]=new bs(s,o)}else for(o=0;o<i;o++)r[o]=new NL({model:t,featureId:o,featureTable:e});e._features=r,e._featuresLength=i,e._batchTexture=new jc({featuresLength:i,owner:e,statistics:n?t.content.tileset.statistics:void 0})}yr.prototype.update=function(e){this._styleCommandsNeededDirty=!1,this._batchTexture.update(void 0,e);let t=gh.getStyleCommandsNeeded(this._featuresLength,this._batchTexture.translucentFeaturesLength);this._styleCommandsNeeded!==t&&(this._styleCommandsNeededDirty=!0,this._styleCommandsNeeded=t)};yr.prototype.setShow=function(e,t){this._batchTexture.setShow(e,t)};yr.prototype.setAllShow=function(e){this._batchTexture.setAllShow(e)};yr.prototype.getShow=function(e){return this._batchTexture.getShow(e)};yr.prototype.setColor=function(e,t){this._batchTexture.setColor(e,t)};yr.prototype.setAllColor=function(e){this._batchTexture.setAllColor(e)};yr.prototype.getColor=function(e,t){return this._batchTexture.getColor(e,t)};yr.prototype.getPickColor=function(e){return this._batchTexture.getPickColor(e)};yr.prototype.getFeature=function(e){return this._features[e]};yr.prototype.hasProperty=function(e,t){return this._propertyTable.hasProperty(e,t)};yr.prototype.hasPropertyBySemantic=function(e,t){return this._propertyTable.hasPropertyBySemantic(e,t)};yr.prototype.getProperty=function(e,t){return this._propertyTable.getProperty(e,t)};yr.prototype.getPropertyBySemantic=function(e,t){return this._propertyTable.getPropertyBySemantic(e,t)};yr.prototype.getPropertyIds=function(e){return this._propertyTable.getPropertyIds(e)};yr.prototype.setProperty=function(e,t,n){return this._propertyTable.setProperty(e,t,n)};yr.prototype.isClass=function(e,t){return this._propertyTable.isClass(e,t)};yr.prototype.isExactClass=function(e,t){return this._propertyTable.isExactClass(e,t)};yr.prototype.getExactClassName=function(e){return this._propertyTable.getExactClassName(e)};var Mze=new U;yr.prototype.applyStyle=function(e){if(!l(e)){this.setAllColor(jc.DEFAULT_COLOR_VALUE),this.setAllShow(jc.DEFAULT_SHOW_VALUE);return}for(let t=0;t<this._featuresLength;t++){let n=this.getFeature(t),i=l(e.color)?y(e.color.evaluateColor(n,Mze),jc.DEFAULT_COLOR_VALUE):jc.DEFAULT_COLOR_VALUE,o=l(e.show)?y(e.show.evaluate(n),jc.DEFAULT_SHOW_VALUE):jc.DEFAULT_SHOW_VALUE;this.setColor(t,i),this.setShow(t,o)}};yr.prototype.isDestroyed=function(){return!1};yr.prototype.destroy=function(e){this._batchTexture=this._batchTexture&&this._batchTexture.destroy(),fe(this)};var FL=yr;var VL=`#if defined(HAS_NORMALS) && !defined(HAS_TANGENTS) && !defined(LIGHTING_UNLIT)
  3394. #ifdef GL_OES_standard_derivatives
  3395. #extension GL_OES_standard_derivatives : enable
  3396. #endif
  3397. #endif
  3398. czm_modelMaterial defaultModelMaterial()
  3399. {
  3400. czm_modelMaterial material;
  3401. material.diffuse = vec3(0.0);
  3402. material.specular = vec3(1.0);
  3403. material.roughness = 1.0;
  3404. material.occlusion = 1.0;
  3405. material.normalEC = vec3(0.0, 0.0, 1.0);
  3406. material.emissive = vec3(0.0);
  3407. material.alpha = 1.0;
  3408. return material;
  3409. }
  3410. vec4 handleAlpha(vec3 color, float alpha)
  3411. {
  3412. #ifdef ALPHA_MODE_MASK
  3413. if (alpha < u_alphaCutoff) {
  3414. discard;
  3415. }
  3416. #endif
  3417. return vec4(color, alpha);
  3418. }
  3419. SelectedFeature selectedFeature;
  3420. void main()
  3421. {
  3422. #ifdef HAS_MODEL_SPLITTER
  3423. modelSplitterStage();
  3424. #endif
  3425. czm_modelMaterial material = defaultModelMaterial();
  3426. ProcessedAttributes attributes;
  3427. geometryStage(attributes);
  3428. FeatureIds featureIds;
  3429. featureIdStage(featureIds, attributes);
  3430. Metadata metadata;
  3431. MetadataClass metadataClass;
  3432. metadataStage(metadata, metadataClass, attributes);
  3433. #ifdef HAS_SELECTED_FEATURE_ID
  3434. selectedFeatureIdStage(selectedFeature, featureIds);
  3435. #endif
  3436. #ifndef CUSTOM_SHADER_REPLACE_MATERIAL
  3437. materialStage(material, attributes, selectedFeature);
  3438. #endif
  3439. #ifdef HAS_CUSTOM_FRAGMENT_SHADER
  3440. customShaderStage(material, attributes, featureIds, metadata, metadataClass);
  3441. #endif
  3442. lightingStage(material, attributes);
  3443. #ifdef HAS_SELECTED_FEATURE_ID
  3444. cpuStylingStage(material, selectedFeature);
  3445. #endif
  3446. #ifdef HAS_MODEL_COLOR
  3447. modelColorStage(material);
  3448. #endif
  3449. #ifdef HAS_PRIMITIVE_OUTLINE
  3450. primitiveOutlineStage(material);
  3451. #endif
  3452. vec4 color = handleAlpha(material.diffuse, material.alpha);
  3453. #ifdef HAS_CLIPPING_PLANES
  3454. modelClippingPlanesStage(color);
  3455. #endif
  3456. #if defined(HAS_SILHOUETTE) && defined(HAS_NORMALS)
  3457. silhouetteStage(color);
  3458. #endif
  3459. gl_FragColor = color;
  3460. }
  3461. `;var kL=`precision highp float;
  3462. czm_modelVertexOutput defaultVertexOutput(vec3 positionMC) {
  3463. czm_modelVertexOutput vsOutput;
  3464. vsOutput.positionMC = positionMC;
  3465. vsOutput.pointSize = 1.0;
  3466. return vsOutput;
  3467. }
  3468. void main()
  3469. {
  3470. ProcessedAttributes attributes;
  3471. initializeAttributes(attributes);
  3472. #ifdef USE_DEQUANTIZATION
  3473. dequantizationStage(attributes);
  3474. #endif
  3475. #ifdef HAS_MORPH_TARGETS
  3476. morphTargetsStage(attributes);
  3477. #endif
  3478. #ifdef HAS_SKINNING
  3479. skinningStage(attributes);
  3480. #endif
  3481. #ifdef HAS_PRIMITIVE_OUTLINE
  3482. primitiveOutlineStage();
  3483. #endif
  3484. #ifdef HAS_BITANGENTS
  3485. attributes.bitangentMC = normalize(cross(attributes.normalMC, attributes.tangentMC) * attributes.tangentSignMC);
  3486. #endif
  3487. FeatureIds featureIds;
  3488. featureIdStage(featureIds, attributes);
  3489. #ifdef HAS_SELECTED_FEATURE_ID
  3490. SelectedFeature feature;
  3491. selectedFeatureIdStage(feature, featureIds);
  3492. cpuStylingStage(attributes.positionMC, feature);
  3493. #endif
  3494. #if defined(USE_2D_POSITIONS) || defined(USE_2D_INSTANCING)
  3495. mat4 modelView = czm_modelView3D;
  3496. mat3 normal = czm_normal3D;
  3497. #else
  3498. mat4 modelView = czm_modelView;
  3499. mat3 normal = czm_normal;
  3500. #endif
  3501. #ifdef HAS_INSTANCING
  3502. #ifdef USE_LEGACY_INSTANCING
  3503. mat4 instanceModelView;
  3504. mat3 instanceModelViewInverseTranspose;
  3505. legacyInstancingStage(attributes, instanceModelView, instanceModelViewInverseTranspose);
  3506. modelView = instanceModelView;
  3507. normal = instanceModelViewInverseTranspose;
  3508. #else
  3509. instancingStage(attributes);
  3510. #endif
  3511. #ifdef USE_PICKING
  3512. v_pickColor = a_pickColor;
  3513. #endif
  3514. #endif
  3515. Metadata metadata;
  3516. MetadataClass metadataClass;
  3517. metadataStage(metadata, metadataClass, attributes);
  3518. #ifdef HAS_CUSTOM_VERTEX_SHADER
  3519. czm_modelVertexOutput vsOutput = defaultVertexOutput(attributes.positionMC);
  3520. customShaderStage(vsOutput, attributes, featureIds, metadata, metadataClass);
  3521. #endif
  3522. vec4 positionClip = geometryStage(attributes, modelView, normal);
  3523. #ifdef HAS_SILHOUETTE
  3524. silhouetteStage(attributes, positionClip);
  3525. #endif
  3526. #ifdef HAS_POINT_CLOUD_SHOW_STYLE
  3527. float show = pointCloudShowStylingStage(attributes, metadata);
  3528. #else
  3529. float show = 1.0;
  3530. #endif
  3531. #ifdef HAS_POINT_CLOUD_BACK_FACE_CULLING
  3532. show *= pointCloudBackFaceCullingStage();
  3533. #endif
  3534. #ifdef HAS_POINT_CLOUD_COLOR_STYLE
  3535. v_pointCloudColor = pointCloudColorStylingStage(attributes, metadata);
  3536. #endif
  3537. #ifdef PRIMITIVE_TYPE_POINTS
  3538. #ifdef HAS_CUSTOM_VERTEX_SHADER
  3539. gl_PointSize = vsOutput.pointSize;
  3540. #elif defined(HAS_POINT_CLOUD_POINT_SIZE_STYLE) || defined(HAS_POINT_CLOUD_ATTENUATION)
  3541. gl_PointSize = pointCloudPointSizeStylingStage(attributes, metadata);
  3542. #else
  3543. gl_PointSize = 1.0;
  3544. #endif
  3545. gl_PointSize *= show;
  3546. #endif
  3547. gl_Position = show * positionClip;
  3548. }
  3549. `;function M6(e){e=y(e,y.EMPTY_OBJECT);let t=e.command,n=e.primitiveRenderResources,i=n.model;this._command=t,this._model=i,this._runtimePrimitive=n.runtimePrimitive,this._modelMatrix=t.modelMatrix,this._boundingVolume=t.boundingVolume,this._cullFace=t.renderState.cull.face;let o=i.classificationType;this._classificationType=o,this._classifiesTerrain=o!==Ln.CESIUM_3D_TILE,this._classifies3DTiles=o!==Ln.TERRAIN,this._useDebugWireframe=i._enableDebugWireframe&&i.debugWireframe,this._pickId=n.pickId,this._commandListTerrain=[],this._commandList3DTiles=[],this._commandListIgnoreShow=[],this._commandListDebugWireframe=[],this._commandListTerrainPicking=[],this._commandList3DTilesPicking=[],Fze(this)}function Bze(e){return{colorMask:{red:!1,green:!1,blue:!1,alpha:!1},stencilTest:{enabled:!0,frontFunction:e,frontOperation:{fail:at.KEEP,zFail:at.DECREMENT_WRAP,zPass:at.KEEP},backFunction:e,backOperation:{fail:at.KEEP,zFail:at.INCREMENT_WRAP,zPass:at.KEEP},reference:vt.CESIUM_3D_TILE_MASK,mask:vt.CESIUM_3D_TILE_MASK},stencilMask:vt.CLASSIFICATION_MASK,depthTest:{enabled:!0,func:ac.LESS_OR_EQUAL},depthMask:!1}}var Lze={stencilTest:{enabled:!0,frontFunction:Nn.NOT_EQUAL,frontOperation:{fail:at.ZERO,zFail:at.ZERO,zPass:at.ZERO},backFunction:Nn.NOT_EQUAL,backOperation:{fail:at.ZERO,zFail:at.ZERO,zPass:at.ZERO},reference:0,mask:vt.CLASSIFICATION_MASK},stencilMask:vt.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1,blending:cn.PRE_MULTIPLIED_ALPHA_BLEND},Nze={stencilTest:{enabled:!0,frontFunction:Nn.NOT_EQUAL,frontOperation:{fail:at.ZERO,zFail:at.ZERO,zPass:at.ZERO},backFunction:Nn.NOT_EQUAL,backOperation:{fail:at.ZERO,zFail:at.ZERO,zPass:at.ZERO},reference:0,mask:vt.CLASSIFICATION_MASK},stencilMask:vt.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1},$re=[];function Fze(e){let t=e._command,n=$re;if(e._useDebugWireframe){t.pass=xe.OPAQUE,n.length=0,n.push(t),e._commandListDebugWireframe=xw(e,n,e._commandListDebugWireframe);let r=e._commandListDebugWireframe,s=r.length;for(let a=0;a<s;a++){let c=r[a];c.count*=2,c.offset*=2}return}let o=e.model.allowPicking;if(e._classifiesTerrain){let r=xe.TERRAIN_CLASSIFICATION,s=R6(t,r),a=Kre(t,r);n.length=0,n.push(s,a),e._commandListTerrain=xw(e,n,e._commandListTerrain),o&&(e._commandListTerrainPicking=Zre(e,n,e._commandListTerrainPicking))}if(e._classifies3DTiles){let r=xe.CESIUM_3D_TILE_CLASSIFICATION,s=R6(t,r),a=Kre(t,r);n.length=0,n.push(s,a),e._commandList3DTiles=xw(e,n,e._commandList3DTiles),o&&(e._commandList3DTilesPicking=Zre(e,n,e._commandList3DTilesPicking))}}function xw(e,t,n){let i=e._runtimePrimitive,o=i.batchLengths,r=i.batchOffsets,s=o.length,a=t.length;for(let c=0;c<s;c++){let u=o[c],f=r[c];for(let d=0;d<a;d++){let p=t[d],g=Je.shallowClone(p);g.count=u,g.offset=f,n.push(g)}}return n}function R6(e,t){let n=Je.shallowClone(e);n.cull=!1,n.pass=t;let i=t===xe.TERRAIN_CLASSIFICATION?Nn.ALWAYS:Nn.EQUAL,o=Bze(i);return n.renderState=Fe.fromCache(o),n}function Kre(e,t){let n=Je.shallowClone(e);return n.cull=!1,n.pass=t,n.renderState=Fe.fromCache(Lze),n}var Vze=[];function Zre(e,t,n){let i=Fe.fromCache(Nze),o=t[0],r=t[1],s=Je.shallowClone(o);s.cull=!0,s.pickOnly=!0;let a=Je.shallowClone(r);a.cull=!0,a.pickOnly=!0,a.renderState=i,a.pickId=e._pickId;let c=Vze;return c.length=0,c.push(s,a),xw(e,c,n)}Object.defineProperties(M6.prototype,{command:{get:function(){return this._command}},runtimePrimitive:{get:function(){return this._runtimePrimitive}},batchLengths:{get:function(){return this._runtimePrimitive.batchLengths}},batchOffsets:{get:function(){return this._runtimePrimitive.batchOffsets}},model:{get:function(){return this._model}},classificationType:{get:function(){return this._classificationType}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._modelMatrix=N.clone(e,this._modelMatrix);let t=this._runtimePrimitive.boundingSphere;this._boundingVolume=re.transform(t,this._modelMatrix,this._boundingVolume)}},boundingVolume:{get:function(){return this._boundingVolume}},cullFace:{get:function(){return this._cullFace},set:function(e){this._cullFace=e}}});M6.prototype.pushCommands=function(e,t){let n=e.passes;if(n.render){if(this._useDebugWireframe){t.push.apply(t,this._commandListDebugWireframe);return}if(this._classifiesTerrain&&t.push.apply(t,this._commandListTerrain),this._classifies3DTiles&&t.push.apply(t,this._commandList3DTiles),e.invertClassification&&this._classifies3DTiles){if(this._commandListIgnoreShow.length===0){let o=xe.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW,r=R6(this._command,o),s=$re;s.length=0,s.push(r),this._commandListIgnoreShow=xw(this,s,this._commandListIgnoreShow)}t.push.apply(t,this._commandListIgnoreShow)}}return n.pick&&(this._classifiesTerrain&&t.push.apply(t,this._commandListTerrainPicking),this._classifies3DTiles&&t.push.apply(t,this._commandList3DTilesPicking)),t};var UL=M6;function zL(e){e=y(e,y.EMPTY_OBJECT);let t=e.command,n=e.primitiveRenderResources,i=n.model;this._model=i;let o=n.runtimePrimitive;this._runtimePrimitive=o;let r=t.pass===xe.TRANSLUCENT,a=!o.primitive.material.doubleSided&&!r,c=n.hasSilhouette,u=!r&&!c,f=n.hasSkipLevelOfDetail&&!r,d=c;this._command=t,this._modelMatrix=N.clone(t.modelMatrix),this._boundingVolume=re.clone(t.boundingVolume),this._modelMatrix2D=new N,this._boundingVolume2D=new re,this._modelMatrix2DDirty=!1,this._backFaceCulling=t.renderState.cull.enabled,this._cullFace=t.renderState.cull.face,this._shadows=i.shadows,this._debugShowBoundingVolume=t.debugShowBoundingVolume,this._usesBackFaceCulling=a,this._needsTranslucentCommand=u,this._needsSkipLevelOfDetailCommands=f,this._needsSilhouetteCommands=d,this._originalCommand=void 0,this._translucentCommand=void 0,this._skipLodBackfaceCommand=void 0,this._skipLodStencilCommand=void 0,this._silhouetteModelCommand=void 0,this._silhouetteColorCommand=void 0,this._derivedCommands=[],this._has2DCommands=!1,kze(this)}function qm(e){this.command=e.command,this.updateShadows=e.updateShadows,this.updateBackFaceCulling=e.updateBackFaceCulling,this.updateCullFace=e.updateCullFace,this.updateDebugShowBoundingVolume=e.updateDebugShowBoundingVolume,this.is2D=y(e.is2D,!1),this.derivedCommand2D=void 0}qm.clone=function(e){return new qm({command:e.command,updateShadows:e.updateShadows,updateBackFaceCulling:e.updateBackFaceCulling,updateCullFace:e.updateCullFace,updateDebugShowBoundingVolume:e.updateDebugShowBoundingVolume,is2D:e.is2D,derivedCommand2D:e.derivedCommand2D})};function kze(e){let t=e._command;t.modelMatrix=e._modelMatrix,t.boundingVolume=e._boundingVolume;let n=e._model,i=e._usesBackFaceCulling,o=e._derivedCommands;e._originalCommand=new qm({command:t,updateShadows:!0,updateBackFaceCulling:i,updateCullFace:i,updateDebugShowBoundingVolume:!0,is2D:!1}),o.push(e._originalCommand),e._needsTranslucentCommand&&(e._translucentCommand=new qm({command:qze(t),updateShadows:!0,updateBackFaceCulling:!1,updateCullFace:!1,updateDebugShowBoundingVolume:!0}),o.push(e._translucentCommand)),e._needsSkipLevelOfDetailCommands&&(e._skipLodBackfaceCommand=new qm({command:Jze(t),updateShadows:!1,updateBackFaceCulling:!1,updateCullFace:i,updateDebugShowBoundingVolume:!1}),e._skipLodStencilCommand=new qm({command:Qze(t,n),updateShadows:!0,updateBackFaceCulling:i,updateCullFace:i,updateDebugShowBoundingVolume:!0}),o.push(e._skipLodBackfaceCommand),o.push(e._skipLodStencilCommand)),e._needsSilhouetteCommands&&(e._silhouetteModelCommand=new qm({command:Yze(t,n),updateShadows:!0,updateBackFaceCulling:i,updateCullFace:i,updateDebugShowBoundingVolume:!0}),e._silhouetteColorCommand=new qm({command:Xze(t,n),updateShadows:!1,updateBackFaceCulling:!1,updateCullFace:!1,updateDebugShowBoundingVolume:!1}),o.push(e._silhouetteModelCommand),o.push(e._silhouetteColorCommand))}Object.defineProperties(zL.prototype,{command:{get:function(){return this._command}},runtimePrimitive:{get:function(){return this._runtimePrimitive}},model:{get:function(){return this._model}},primitiveType:{get:function(){return this._command.primitiveType}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._modelMatrix=N.clone(e,this._modelMatrix),this._modelMatrix2DDirty=!0,this._boundingVolume=re.transform(this.runtimePrimitive.boundingSphere,this._modelMatrix,this._boundingVolume)}},boundingVolume:{get:function(){return this._boundingVolume}},shadows:{get:function(){return this._shadows},set:function(e){this._shadows=e,zze(this)}},backFaceCulling:{get:function(){return this._backFaceCulling},set:function(e){this._backFaceCulling!==e&&(this._backFaceCulling=e,Hze(this))}},cullFace:{get:function(){return this._cullFace},set:function(e){this._cullFace!==e&&(this._cullFace=e,Gze(this))}},debugShowBoundingVolume:{get:function(){return this._debugShowBoundingVolume},set:function(e){this._debugShowBoundingVolume!==e&&(this._debugShowBoundingVolume=e,Wze(this))}}});function Uze(e,t){let n=e._modelMatrix;e._modelMatrix2D=N.clone(n,e._modelMatrix2D),e._modelMatrix2D[13]-=I.sign(n[13])*2*I.PI*t.mapProjection.ellipsoid.maximumRadius,e._boundingVolume2D=re.transform(e.runtimePrimitive.boundingSphere,e._modelMatrix2D,e._boundingVolume2D)}function zze(e){let t=e.shadows,n=mn.castShadows(t),i=mn.receiveShadows(t),o=e._derivedCommands,r=o.length;for(let s=0;s<r;++s){let a=o[s];if(a.updateShadows){let c=a.command;c.castShadows=n,c.receiveShadows=i}}}function Hze(e){let t=e.backFaceCulling,n=e._derivedCommands,i=n.length;for(let o=0;o<i;++o){let r=n[o];if(r.updateBackFaceCulling){let s=r.command,a=et(s.renderState,!0);a.cull.enabled=t,s.renderState=Fe.fromCache(a)}}}function Gze(e){let t=e.cullFace,n=e._derivedCommands,i=n.length;for(let o=0;o<i;++o){let r=n[o];if(r.updateCullFace){let s=r.command,a=et(s.renderState,!0);a.cull.face=t,s.renderState=Fe.fromCache(a)}}}function Wze(e){let t=e.debugShowBoundingVolume,n=e._derivedCommands,i=n.length;for(let o=0;o<i;++o){let r=n[o];if(r.updateDebugShowBoundingVolume){let s=r.command;s.debugShowBoundingVolume=t}}}zL.prototype.pushCommands=function(e,t){let n=Jre(this,e);n&&!this._has2DCommands&&(jze(this),this._has2DCommands=!0,this._modelMatrix2DDirty=!0),this._modelMatrix2DDirty&&(Uze(this,e),this._modelMatrix2DDirty=!1);let i=this.model.styleCommandsNeeded;if(!(this._needsTranslucentCommand&&l(i)&&(i!==gh.ALL_OPAQUE&&lT(t,this._translucentCommand,n),i===gh.ALL_TRANSLUCENT))){if(this._needsSkipLevelOfDetailCommands){let o=this._model.content,r=o.tileset,s=o.tile,a=r._hasMixedContent,c=s._finalResolution;if(a){c||lT(r._backfaceCommands,this._skipLodBackfaceCommand,n),Kze(this,s,n),lT(t,this._skipLodStencilCommand,n);return}}if(this._needsSilhouetteCommands){lT(t,this._silhouetteModelCommand,n);return}return lT(t,this._originalCommand,n),t}};zL.prototype.pushSilhouetteCommands=function(e,t){let n=Jre(this,e);return lT(t,this._silhouetteColorCommand,n),t};function lT(e,t,n){e.push(t.command),n&&e.push(t.derivedCommand2D.command)}function Jre(e,t){if(t.mode!==ee.SCENE2D||e.model._projectTo2D)return!1;let i=e.model.sceneGraph._boundingSphere2D,o=i.center.y-i.radius,r=i.center.y+i.radius,s=t.mapProjection.ellipsoid.maximumRadius*I.PI;return o<s&&r>s||o<-s&&r>-s}function cT(e,t){if(!l(t))return;let n=qm.clone(t),i=Je.shallowClone(t.command);return i.modelMatrix=e._modelMatrix2D,i.boundingVolume=e._boundingVolume2D,n.command=i,n.updateShadows=!1,n.is2D=!0,t.derivedCommand2D=n,e._derivedCommands.push(n),n}function jze(e){cT(e,e._originalCommand),cT(e,e._translucentCommand),cT(e,e._skipLodBackfaceCommand),cT(e,e._skipLodStencilCommand),cT(e,e._silhouetteModelCommand),cT(e,e._silhouetteColorCommand)}function qze(e){let t=Je.shallowClone(e);t.pass=xe.TRANSLUCENT;let n=et(e.renderState,!0);return n.cull.enabled=!1,n.depthMask=!1,n.blending=cn.ALPHA_BLEND,t.renderState=Fe.fromCache(n),t}function Yze(e,t){let n=t._silhouetteId%255,i=Je.shallowClone(e),o=et(e.renderState,!0);return o.stencilTest={enabled:!0,frontFunction:te.ALWAYS,backFunction:te.ALWAYS,reference:n,mask:-1,frontOperation:{fail:te.KEEP,zFail:te.KEEP,zPass:te.REPLACE},backOperation:{fail:te.KEEP,zFail:te.KEEP,zPass:te.REPLACE}},t.isInvisible()&&(o.colorMask={red:!1,green:!1,blue:!1,alpha:!1}),i.renderState=Fe.fromCache(o),i}function Xze(e,t){let n=t._silhouetteId%255,i=Je.shallowClone(e),o=et(e.renderState,!0);o.cull.enabled=!1,(e.pass===xe.TRANSLUCENT||t.silhouetteColor.alpha<1)&&(i.pass=xe.TRANSLUCENT,o.depthMask=!1,o.blending=cn.ALPHA_BLEND),o.stencilTest={enabled:!0,frontFunction:te.NOTEQUAL,backFunction:te.NOTEQUAL,reference:n,mask:-1,frontOperation:{fail:te.KEEP,zFail:te.KEEP,zPass:te.KEEP},backOperation:{fail:te.KEEP,zFail:te.KEEP,zPass:te.KEEP}};let s=et(e.uniformMap);return s.model_silhouettePass=function(){return!0},i.renderState=Fe.fromCache(o),i.uniformMap=s,i.castShadows=!1,i.receiveShadows=!1,i}function Kze(e,t,n){let i=e._skipLodStencilCommand,o=i.command,r=t._selectionDepth,s=Zze(o);if(r!==s){let a=$ze(r),c=et(o.renderState,!0);c.stencilTest.reference=a,o.renderState=Fe.fromCache(c),n&&(i.derivedCommand2D.renderState=c)}}function Zze(e){return(e.renderState.stencilTest.reference&vt.SKIP_LOD_MASK)>>>vt.SKIP_LOD_BIT_SHIFT}function $ze(e){return vt.CESIUM_3D_TILE_MASK|e<<vt.SKIP_LOD_BIT_SHIFT}function Jze(e){let t=Je.shallowClone(e),n=et(e.renderState,!0);n.cull.enabled=!0,n.cull.face=wi.FRONT,n.colorMask={red:!1,green:!1,blue:!1,alpha:!1},n.polygonOffset={enabled:!0,factor:5,units:5};let i=et(t.uniformMap),o=new G(5,5);return i.u_polygonOffset=function(){return o},t.renderState=Fe.fromCache(n),t.uniformMap=i,t.castShadows=!1,t.receiveShadows=!1,t}function Qze(e){let t=Je.shallowClone(e),n=et(e.renderState,!0);return n.stencilTest.enabled=!0,n.stencilTest.mask=vt.SKIP_LOD_MASK,n.stencilTest.reference=vt.CESIUM_3D_TILE_MASK,n.stencilTest.frontFunction=Nn.GREATER_OR_EQUAL,n.stencilTest.frontOperation.zPass=at.REPLACE,n.stencilTest.backFunction=Nn.GREATER_OR_EQUAL,n.stencilTest.backOperation.zPass=at.REPLACE,n.stencilMask=vt.CESIUM_3D_TILE_MASK|vt.SKIP_LOD_MASK,t.renderState=Fe.fromCache(n),t}var HL=zL;function eHe(e,t){let n=e.shaderBuilder;n.addVertexLines(kL),n.addFragmentLines(VL);let i=tHe(e),o=new ti({context:t.context,indexBuffer:i,attributes:e.attributes}),r=e.model;r._pipelineResources.push(o);let s=n.buildShaderProgram(t.context);r._pipelineResources.push(s);let a=e.alphaOptions.pass,c=r.sceneGraph,u=N.multiplyTransformation(c.computedModelMatrix,e.runtimeNode.computedTransform,new N),f;t.mode!==ee.SCENE3D&&!t.scene3DOnly&&r._projectTo2D?f=e.runtimePrimitive.boundingSphere2D:f=re.transform(e.boundingSphere,u,e.boundingSphere);let d=et(Fe.fromCache(e.renderStateOptions),!0);d.cull.face=Xt.getCullFace(u,e.primitiveType),d=Fe.fromCache(d);let p=l(r.classificationType),g=p?!1:mn.castShadows(r.shadows),m=p?!1:mn.receiveShadows(r.shadows),C=p?void 0:e.pickId,x=new Je({boundingVolume:f,modelMatrix:u,uniformMap:e.uniformMap,renderState:d,vertexArray:o,shaderProgram:s,cull:r.cull,pass:a,count:e.count,owner:r,pickId:C,instanceCount:e.instanceCount,primitiveType:e.primitiveType,debugShowBoundingVolume:r.debugShowBoundingVolume,castShadows:g,receiveShadows:m});return p?new UL({primitiveRenderResources:e,command:x}):new HL({primitiveRenderResources:e,command:x})}function tHe(e){let t=e.wireframeIndexBuffer;if(l(t))return t;let n=e.indices;if(!!l(n))return n.buffer}var GL=eHe;var Ry={VERTEX:0,FRAGMENT:1,BOTH:2};Ry.includesVertexShader=function(e){return e===Ry.VERTEX||e===Ry.BOTH};Ry.includesFragmentShader=function(e){return e===Ry.FRAGMENT||e===Ry.BOTH};var Te=Object.freeze(Ry);var B6={};B6.name="TilesetPipelineStage";B6.process=function(e,t,n){if(t.hasSkipLevelOfDetail(n)){e.shaderBuilder.addDefine("POLYGON_OFFSET",void 0,Te.FRAGMENT);let r={u_polygonOffset:function(){return G.ZERO}};e.uniformMap=mt(r,e.uniformMap),e.hasSkipLevelOfDetail=!0}let i=e.renderStateOptions;i.stencilTest=vt.setCesium3DTileBit(),i.stencilMask=vt.CESIUM_3D_TILE_MASK};var WL=B6;var jL=`vec3 proceduralIBL(
  3550. vec3 positionEC,
  3551. vec3 normalEC,
  3552. vec3 lightDirectionEC,
  3553. vec3 lightColorHdr,
  3554. czm_pbrParameters pbrParameters
  3555. ) {
  3556. vec3 v = -positionEC;
  3557. vec3 positionWC = vec3(czm_inverseView * vec4(positionEC, 1.0));
  3558. vec3 vWC = -normalize(positionWC);
  3559. vec3 l = normalize(lightDirectionEC);
  3560. vec3 n = normalEC;
  3561. vec3 r = normalize(czm_inverseViewRotation * normalize(reflect(v, n)));
  3562. float NdotL = clamp(dot(n, l), 0.001, 1.0);
  3563. float NdotV = abs(dot(n, v)) + 0.001;
  3564. float vertexRadius = length(positionWC);
  3565. float horizonDotNadir = 1.0 - min(1.0, czm_ellipsoidRadii.x / vertexRadius);
  3566. float reflectionDotNadir = dot(r, normalize(positionWC));
  3567. r.x = -r.x;
  3568. r = -normalize(czm_temeToPseudoFixed * r);
  3569. r.x = -r.x;
  3570. vec3 diffuseColor = pbrParameters.diffuseColor;
  3571. float roughness = pbrParameters.roughness;
  3572. vec3 specularColor = pbrParameters.f0;
  3573. float inverseRoughness = 1.04 - roughness;
  3574. inverseRoughness *= inverseRoughness;
  3575. vec3 sceneSkyBox = textureCube(czm_environmentMap, r).rgb * inverseRoughness;
  3576. float atmosphereHeight = 0.05;
  3577. float blendRegionSize = 0.1 * ((1.0 - inverseRoughness) * 8.0 + 1.1 - horizonDotNadir);
  3578. float blendRegionOffset = roughness * -1.0;
  3579. float farAboveHorizon = clamp(horizonDotNadir - blendRegionSize * 0.5 + blendRegionOffset, 1.0e-10 - blendRegionSize, 0.99999);
  3580. float aroundHorizon = clamp(horizonDotNadir + blendRegionSize * 0.5, 1.0e-10 - blendRegionSize, 0.99999);
  3581. float farBelowHorizon = clamp(horizonDotNadir + blendRegionSize * 1.5, 1.0e-10 - blendRegionSize, 0.99999);
  3582. float smoothstepHeight = smoothstep(0.0, atmosphereHeight, horizonDotNadir);
  3583. vec3 belowHorizonColor = mix(vec3(0.1, 0.15, 0.25), vec3(0.4, 0.7, 0.9), smoothstepHeight);
  3584. vec3 nadirColor = belowHorizonColor * 0.5;
  3585. vec3 aboveHorizonColor = mix(vec3(0.9, 1.0, 1.2), belowHorizonColor, roughness * 0.5);
  3586. vec3 blueSkyColor = mix(vec3(0.18, 0.26, 0.48), aboveHorizonColor, reflectionDotNadir * inverseRoughness * 0.5 + 0.75);
  3587. vec3 zenithColor = mix(blueSkyColor, sceneSkyBox, smoothstepHeight);
  3588. vec3 blueSkyDiffuseColor = vec3(0.7, 0.85, 0.9);
  3589. float diffuseIrradianceFromEarth = (1.0 - horizonDotNadir) * (reflectionDotNadir * 0.25 + 0.75) * smoothstepHeight;
  3590. float diffuseIrradianceFromSky = (1.0 - smoothstepHeight) * (1.0 - (reflectionDotNadir * 0.25 + 0.25));
  3591. vec3 diffuseIrradiance = blueSkyDiffuseColor * clamp(diffuseIrradianceFromEarth + diffuseIrradianceFromSky, 0.0, 1.0);
  3592. float notDistantRough = (1.0 - horizonDotNadir * roughness * 0.8);
  3593. vec3 specularIrradiance = mix(zenithColor, aboveHorizonColor, smoothstep(farAboveHorizon, aroundHorizon, reflectionDotNadir) * notDistantRough);
  3594. specularIrradiance = mix(specularIrradiance, belowHorizonColor, smoothstep(aroundHorizon, farBelowHorizon, reflectionDotNadir) * inverseRoughness);
  3595. specularIrradiance = mix(specularIrradiance, nadirColor, smoothstep(farBelowHorizon, 1.0, reflectionDotNadir) * inverseRoughness);
  3596. #ifdef USE_SUN_LUMINANCE
  3597. float LdotZenith = clamp(dot(normalize(czm_inverseViewRotation * l), vWC), 0.001, 1.0);
  3598. float S = acos(LdotZenith);
  3599. float NdotZenith = clamp(dot(normalize(czm_inverseViewRotation * n), vWC), 0.001, 1.0);
  3600. float gamma = acos(NdotL);
  3601. float numerator = ((0.91 + 10.0 * exp(-3.0 * gamma) + 0.45 * pow(NdotL, 2.0)) * (1.0 - exp(-0.32 / NdotZenith)));
  3602. float denominator = (0.91 + 10.0 * exp(-3.0 * S) + 0.45 * pow(LdotZenith,2.0)) * (1.0 - exp(-0.32));
  3603. float luminance = model_luminanceAtZenith * (numerator / denominator);
  3604. #endif
  3605. vec2 brdfLut = texture2D(czm_brdfLut, vec2(NdotV, roughness)).rg;
  3606. vec3 iblColor = (diffuseIrradiance * diffuseColor * model_iblFactor.x) + (specularIrradiance * czm_srgbToLinear(specularColor * brdfLut.x + brdfLut.y) * model_iblFactor.y);
  3607. float maximumComponent = max(max(lightColorHdr.x, lightColorHdr.y), lightColorHdr.z);
  3608. vec3 lightColor = lightColorHdr / max(maximumComponent, 1.0);
  3609. iblColor *= lightColor;
  3610. #ifdef USE_SUN_LUMINANCE
  3611. iblColor *= luminance;
  3612. #endif
  3613. return iblColor;
  3614. }
  3615. vec3 textureIBL(
  3616. vec3 positionEC,
  3617. vec3 normalEC,
  3618. vec3 lightDirectionEC,
  3619. czm_pbrParameters pbrParameters
  3620. ) {
  3621. vec3 diffuseColor = pbrParameters.diffuseColor;
  3622. float roughness = pbrParameters.roughness;
  3623. vec3 specularColor = pbrParameters.f0;
  3624. vec3 v = -positionEC;
  3625. vec3 n = normalEC;
  3626. vec3 l = normalize(lightDirectionEC);
  3627. vec3 h = normalize(v + l);
  3628. float NdotV = abs(dot(n, v)) + 0.001;
  3629. float VdotH = clamp(dot(v, h), 0.0, 1.0);
  3630. const mat3 yUpToZUp = mat3(
  3631. -1.0, 0.0, 0.0,
  3632. 0.0, 0.0, -1.0,
  3633. 0.0, 1.0, 0.0
  3634. );
  3635. vec3 cubeDir = normalize(yUpToZUp * model_iblReferenceFrameMatrix * normalize(reflect(-v, n)));
  3636. #ifdef DIFFUSE_IBL
  3637. #ifdef CUSTOM_SPHERICAL_HARMONICS
  3638. vec3 diffuseIrradiance = czm_sphericalHarmonics(cubeDir, model_sphericalHarmonicCoefficients);
  3639. #else
  3640. vec3 diffuseIrradiance = czm_sphericalHarmonics(cubeDir, czm_sphericalHarmonicCoefficients);
  3641. #endif
  3642. #else
  3643. vec3 diffuseIrradiance = vec3(0.0);
  3644. #endif
  3645. #ifdef SPECULAR_IBL
  3646. vec3 r0 = specularColor.rgb;
  3647. float reflectance = max(max(r0.r, r0.g), r0.b);
  3648. vec3 r90 = vec3(clamp(reflectance * 25.0, 0.0, 1.0));
  3649. vec3 F = fresnelSchlick2(r0, r90, VdotH);
  3650. vec2 brdfLut = texture2D(czm_brdfLut, vec2(NdotV, roughness)).rg;
  3651. #ifdef CUSTOM_SPECULAR_IBL
  3652. vec3 specularIBL = czm_sampleOctahedralProjection(model_specularEnvironmentMaps, model_specularEnvironmentMapsSize, cubeDir, roughness * model_specularEnvironmentMapsMaximumLOD, model_specularEnvironmentMapsMaximumLOD);
  3653. #else
  3654. vec3 specularIBL = czm_sampleOctahedralProjection(czm_specularEnvironmentMaps, czm_specularEnvironmentMapSize, cubeDir, roughness * czm_specularEnvironmentMapsMaximumLOD, czm_specularEnvironmentMapsMaximumLOD);
  3655. #endif
  3656. specularIBL *= F * brdfLut.x + brdfLut.y;
  3657. #else
  3658. vec3 specularIBL = vec3(0.0);
  3659. #endif
  3660. return diffuseColor * diffuseIrradiance + specularColor * specularIBL;
  3661. }
  3662. vec3 imageBasedLightingStage(
  3663. vec3 positionEC,
  3664. vec3 normalEC,
  3665. vec3 lightDirectionEC,
  3666. vec3 lightColorHdr,
  3667. czm_pbrParameters pbrParameters
  3668. ) {
  3669. #if defined(DIFFUSE_IBL) || defined(SPECULAR_IBL)
  3670. return textureIBL(
  3671. positionEC,
  3672. normalEC,
  3673. lightDirectionEC,
  3674. pbrParameters
  3675. );
  3676. #else
  3677. return proceduralIBL(
  3678. positionEC,
  3679. normalEC,
  3680. lightDirectionEC,
  3681. lightColorHdr,
  3682. pbrParameters
  3683. );
  3684. #endif
  3685. }
  3686. `;var L6={};L6.name="ImageBasedLightingPipelineStage";L6.process=function(e,t,n){let i=t.imageBasedLighting,o=e.shaderBuilder;o.addDefine("USE_IBL_LIGHTING",void 0,Te.FRAGMENT),o.addUniform("vec2","model_iblFactor",Te.FRAGMENT),lh.isSupported(n.context)&&((i.useSphericalHarmonics||i.useSpecularEnvironmentMaps||i.enabled)&&o.addUniform("mat3","model_iblReferenceFrameMatrix",Te.FRAGMENT),l(i.sphericalHarmonicCoefficients)?(o.addDefine("DIFFUSE_IBL",void 0,Te.FRAGMENT),o.addDefine("CUSTOM_SPHERICAL_HARMONICS",void 0,Te.FRAGMENT),o.addUniform("vec3","model_sphericalHarmonicCoefficients[9]",Te.FRAGMENT)):i.useDefaultSphericalHarmonics&&o.addDefine("DIFFUSE_IBL",void 0,Te.FRAGMENT),l(i.specularEnvironmentMapAtlas)&&i.specularEnvironmentMapAtlas.ready?(o.addDefine("SPECULAR_IBL",void 0,Te.FRAGMENT),o.addDefine("CUSTOM_SPECULAR_IBL",void 0,Te.FRAGMENT),o.addUniform("sampler2D","model_specularEnvironmentMaps",Te.FRAGMENT),o.addUniform("vec2","model_specularEnvironmentMapsSize",Te.FRAGMENT),o.addUniform("float","model_specularEnvironmentMapsMaximumLOD",Te.FRAGMENT)):t.useDefaultSpecularMaps&&o.addDefine("SPECULAR_IBL",void 0,Te.FRAGMENT)),l(i.luminanceAtZenith)&&(o.addDefine("USE_SUN_LUMINANCE",void 0,Te.FRAGMENT),o.addUniform("float","model_luminanceAtZenith",Te.FRAGMENT)),o.addFragmentLines(jL);let r={model_iblFactor:function(){return i.imageBasedLightingFactor},model_iblReferenceFrameMatrix:function(){return t._iblReferenceFrameMatrix},model_luminanceAtZenith:function(){return i.luminanceAtZenith},model_sphericalHarmonicCoefficients:function(){return i.sphericalHarmonicCoefficients},model_specularEnvironmentMaps:function(){return i.specularEnvironmentMapAtlas.texture},model_specularEnvironmentMapsSize:function(){return i.specularEnvironmentMapAtlas.texture.dimensions},model_specularEnvironmentMapsMaximumLOD:function(){return i.specularEnvironmentMapAtlas.maximumMipmapLevel}};e.uniformMap=mt(r,e.uniformMap)};var qL=L6;var nHe=I.EPSILON16;function F6(e){e=y(e,y.EMPTY_OBJECT);let t=e.stage,n=e.runtimeArticulation;this._stage=t,this._runtimeArticulation=n,this._name=t.name,this._type=t.type,this._minimumValue=t.minimumValue,this._maximumValue=t.maximumValue,this._currentValue=t.initialValue}Object.defineProperties(F6.prototype,{stage:{get:function(){return this._stage}},runtimeArticulation:{get:function(){return this._runtimeArticulation}},name:{get:function(){return this._name}},type:{get:function(){return this._type}},minimumValue:{get:function(){return this._minimumValue}},maximumValue:{get:function(){return this._maximumValue}},currentValue:{get:function(){return this._currentValue},set:function(e){e=I.clamp(e,this.minimumValue,this.maximumValue),I.equalsEpsilon(this._currentValue,e,nHe)||(this._currentValue=e,this.runtimeArticulation._dirty=!0)}}});var iHe=new h,N6=new J;F6.prototype.applyStageToMatrix=function(e){let t=this.type,n=this.currentValue,i=iHe,o;switch(t){case $a.XROTATE:o=J.fromRotationX(I.toRadians(n),N6),e=N.multiplyByMatrix3(e,o,e);break;case $a.YROTATE:o=J.fromRotationY(I.toRadians(n),N6),e=N.multiplyByMatrix3(e,o,e);break;case $a.ZROTATE:o=J.fromRotationZ(I.toRadians(n),N6),e=N.multiplyByMatrix3(e,o,e);break;case $a.XTRANSLATE:i.x=n,i.y=0,i.z=0,e=N.multiplyByTranslation(e,i,e);break;case $a.YTRANSLATE:i.x=0,i.y=n,i.z=0,e=N.multiplyByTranslation(e,i,e);break;case $a.ZTRANSLATE:i.x=0,i.y=0,i.z=n,e=N.multiplyByTranslation(e,i,e);break;case $a.XSCALE:i.x=n,i.y=1,i.z=1,e=N.multiplyByScale(e,i,e);break;case $a.YSCALE:i.x=1,i.y=n,i.z=1,e=N.multiplyByScale(e,i,e);break;case $a.ZSCALE:i.x=1,i.y=1,i.z=n,e=N.multiplyByScale(e,i,e);break;case $a.UNIFORMSCALE:e=N.multiplyByUniformScale(e,n,e);break;default:break}return e};var YL=F6;function XL(e){e=y(e,y.EMPTY_OBJECT);let t=e.articulation,n=e.sceneGraph;this._articulation=t,this._sceneGraph=n,this._name=t.name,this._runtimeStages=[],this._runtimeStagesByName={},this._runtimeNodes=[],this._dirty=!0,oHe(this)}Object.defineProperties(XL.prototype,{articulation:{get:function(){return this._articulation}},sceneGraph:{get:function(){return this._sceneGraph}},name:{get:function(){return this._name}},runtimeStages:{get:function(){return this._runtimeStages}},runtimeNodes:{get:function(){return this._runtimeNodes}}});function oHe(e){let n=e.articulation.stages,i=n.length,o=e._runtimeStages,r=e._runtimeStagesByName;for(let s=0;s<i;s++){let a=n[s],c=new YL({stage:a,runtimeArticulation:e});o.push(c);let u=a.name;r[u]=c}}XL.prototype.setArticulationStage=function(e,t){let n=this._runtimeStagesByName[e];l(n)&&(n.currentValue=t)};var rHe=new N,sHe=new N;XL.prototype.apply=function(){if(!this._dirty)return;this._dirty=!1;let e=N.clone(N.IDENTITY,rHe),t,n=this._runtimeStages,i=n.length;for(t=0;t<i;t++)e=n[t].applyStageToMatrix(e);let o=this._runtimeNodes,r=o.length;for(t=0;t<r;t++){let s=o[t],a=N.multiplyTransformation(s.originalTransform,e,sHe);s.transform=a}};var KL=XL;var ZL=`void modelColorStage(inout czm_modelMaterial material)
  3687. {
  3688. material.diffuse = mix(material.diffuse, model_color.rgb, model_colorBlend);
  3689. float highlight = ceil(model_colorBlend);
  3690. material.diffuse *= mix(model_color.rgb, vec3(1.0), highlight);
  3691. material.alpha *= model_color.a;
  3692. }
  3693. `;var Ym={};Ym.name="ModelColorPipelineStage";Ym.COLOR_UNIFORM_NAME="model_color";Ym.COLOR_BLEND_UNIFORM_NAME="model_colorBlend";Ym.process=function(e,t,n){let i=e.shaderBuilder;i.addDefine("HAS_MODEL_COLOR",void 0,Te.FRAGMENT),i.addFragmentLines(ZL);let o={},r=t.color;r.alpha===0&&!t.hasSilhouette(n)&&(e.renderStateOptions.colorMask={red:!1,green:!1,blue:!1,alpha:!1}),r.alpha<1&&(e.alphaOptions.pass=xe.TRANSLUCENT),i.addUniform("vec4",Ym.COLOR_UNIFORM_NAME,Te.FRAGMENT),o[Ym.COLOR_UNIFORM_NAME]=function(){return t.color},i.addUniform("float",Ym.COLOR_BLEND_UNIFORM_NAME,Te.FRAGMENT),o[Ym.COLOR_BLEND_UNIFORM_NAME]=function(){return dc.getColorBlend(t.colorBlendMode,t.colorBlendAmount)},e.uniformMap=mt(o,e.uniformMap)};var My=Ym;var $L=`#ifdef USE_CLIPPING_PLANES_FLOAT_TEXTURE
  3694. vec4 getClippingPlane(
  3695. highp sampler2D packedClippingPlanes,
  3696. int clippingPlaneNumber,
  3697. mat4 transform
  3698. ) {
  3699. int pixY = clippingPlaneNumber / CLIPPING_PLANES_TEXTURE_WIDTH;
  3700. int pixX = clippingPlaneNumber - (pixY * CLIPPING_PLANES_TEXTURE_WIDTH);
  3701. float pixelWidth = 1.0 / float(CLIPPING_PLANES_TEXTURE_WIDTH);
  3702. float pixelHeight = 1.0 / float(CLIPPING_PLANES_TEXTURE_HEIGHT);
  3703. float u = (float(pixX) + 0.5) * pixelWidth;
  3704. float v = (float(pixY) + 0.5) * pixelHeight;
  3705. vec4 plane = texture2D(packedClippingPlanes, vec2(u, v));
  3706. return czm_transformPlane(plane, transform);
  3707. }
  3708. #else
  3709. vec4 getClippingPlane(
  3710. highp sampler2D packedClippingPlanes,
  3711. int clippingPlaneNumber,
  3712. mat4 transform
  3713. ) {
  3714. int clippingPlaneStartIndex = clippingPlaneNumber * 2;
  3715. int pixY = clippingPlaneStartIndex / CLIPPING_PLANES_TEXTURE_WIDTH;
  3716. int pixX = clippingPlaneStartIndex - (pixY * CLIPPING_PLANES_TEXTURE_WIDTH);
  3717. float pixelWidth = 1.0 / float(CLIPPING_PLANES_TEXTURE_WIDTH);
  3718. float pixelHeight = 1.0 / float(CLIPPING_PLANES_TEXTURE_HEIGHT);
  3719. float u = (float(pixX) + 0.5) * pixelWidth;
  3720. float v = (float(pixY) + 0.5) * pixelHeight;
  3721. vec4 oct32 = texture2D(packedClippingPlanes, vec2(u, v)) * 255.0;
  3722. vec2 oct = vec2(oct32.x * 256.0 + oct32.y, oct32.z * 256.0 + oct32.w);
  3723. vec4 plane;
  3724. plane.xyz = czm_octDecode(oct, 65535.0);
  3725. plane.w = czm_unpackFloat(texture2D(packedClippingPlanes, vec2(u + pixelWidth, v)));
  3726. return czm_transformPlane(plane, transform);
  3727. }
  3728. #endif
  3729. float clip(vec4 fragCoord, sampler2D clippingPlanes, mat4 clippingPlanesMatrix) {
  3730. vec4 position = czm_windowToEyeCoordinates(fragCoord);
  3731. vec3 clipNormal = vec3(0.0);
  3732. vec3 clipPosition = vec3(0.0);
  3733. float pixelWidth = czm_metersPerPixel(position);
  3734. #ifdef UNION_CLIPPING_REGIONS
  3735. float clipAmount;
  3736. #else
  3737. float clipAmount = 0.0;
  3738. bool clipped = true;
  3739. #endif
  3740. for (int i = 0; i < CLIPPING_PLANES_LENGTH; ++i) {
  3741. vec4 clippingPlane = getClippingPlane(clippingPlanes, i, clippingPlanesMatrix);
  3742. clipNormal = clippingPlane.xyz;
  3743. clipPosition = -clippingPlane.w * clipNormal;
  3744. float amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth;
  3745. #ifdef UNION_CLIPPING_REGIONS
  3746. clipAmount = czm_branchFreeTernary(i == 0, amount, min(amount, clipAmount));
  3747. if (amount <= 0.0) {
  3748. discard;
  3749. }
  3750. #else
  3751. clipAmount = max(amount, clipAmount);
  3752. clipped = clipped && (amount <= 0.0);
  3753. #endif
  3754. }
  3755. #ifndef UNION_CLIPPING_REGIONS
  3756. if (clipped) {
  3757. discard;
  3758. }
  3759. #endif
  3760. return clipAmount;
  3761. }
  3762. void modelClippingPlanesStage(inout vec4 color)
  3763. {
  3764. float clipDistance = clip(gl_FragCoord, model_clippingPlanes, model_clippingPlanesMatrix);
  3765. vec4 clippingPlanesEdgeColor = vec4(1.0);
  3766. clippingPlanesEdgeColor.rgb = model_clippingPlanesEdgeStyle.rgb;
  3767. float clippingPlanesEdgeWidth = model_clippingPlanesEdgeStyle.a;
  3768. if (clipDistance > 0.0 && clipDistance < clippingPlanesEdgeWidth) {
  3769. color = clippingPlanesEdgeColor;
  3770. }
  3771. }
  3772. `;var V6={};V6.name="ModelClippingPlanesPipelineStage";var aHe=new G;V6.process=function(e,t,n){let i=t.clippingPlanes,o=n.context,r=e.shaderBuilder;r.addDefine("HAS_CLIPPING_PLANES",void 0,Te.FRAGMENT),r.addDefine("CLIPPING_PLANES_LENGTH",i.length,Te.FRAGMENT),i.unionClippingRegions&&r.addDefine("UNION_CLIPPING_REGIONS",void 0,Te.FRAGMENT),Zs.useFloatTexture(o)&&r.addDefine("USE_CLIPPING_PLANES_FLOAT_TEXTURE",void 0,Te.FRAGMENT);let s=Zs.getTextureResolution(i,o,aHe);r.addDefine("CLIPPING_PLANES_TEXTURE_WIDTH",s.x,Te.FRAGMENT),r.addDefine("CLIPPING_PLANES_TEXTURE_HEIGHT",s.y,Te.FRAGMENT),r.addUniform("sampler2D","model_clippingPlanes",Te.FRAGMENT),r.addUniform("vec4","model_clippingPlanesEdgeStyle",Te.FRAGMENT),r.addUniform("mat4","model_clippingPlanesMatrix",Te.FRAGMENT),r.addFragmentLines($L);let a={model_clippingPlanes:function(){return i.texture},model_clippingPlanesEdgeStyle:function(){let c=U.clone(i.edgeColor);return c.alpha=i.edgeWidth,c},model_clippingPlanesMatrix:function(){return t._clippingPlanesMatrix}};e.uniformMap=mt(a,e.uniformMap)};var JL=V6;function Qre(e,t){this._model=e,this._runtimeNode=t}Object.defineProperties(Qre.prototype,{name:{get:function(){return this._runtimeNode._name}},id:{get:function(){return this._runtimeNode._id}},show:{get:function(){return this._runtimeNode.show},set:function(e){this._runtimeNode.show=e}},matrix:{get:function(){return this._runtimeNode.transform},set:function(e){l(e)?(this._runtimeNode.transform=e,this._runtimeNode.userAnimated=!0,this._model._userAnimationDirty=!0):(this._runtimeNode.transform=this.originalMatrix,this._runtimeNode.userAnimated=!1)}},originalMatrix:{get:function(){return this._runtimeNode.originalTransform}}});var QL=Qre;var eN=`mat4 getInstancingTransform()
  3773. {
  3774. mat4 instancingTransform;
  3775. #ifdef HAS_INSTANCE_MATRICES
  3776. instancingTransform = mat4(
  3777. a_instancingTransformRow0.x, a_instancingTransformRow1.x, a_instancingTransformRow2.x, 0.0,
  3778. a_instancingTransformRow0.y, a_instancingTransformRow1.y, a_instancingTransformRow2.y, 0.0,
  3779. a_instancingTransformRow0.z, a_instancingTransformRow1.z, a_instancingTransformRow2.z, 0.0,
  3780. a_instancingTransformRow0.w, a_instancingTransformRow1.w, a_instancingTransformRow2.w, 1.0
  3781. );
  3782. #else
  3783. vec3 translation = vec3(0.0, 0.0, 0.0);
  3784. vec3 scale = vec3(1.0, 1.0, 1.0);
  3785. #ifdef HAS_INSTANCE_TRANSLATION
  3786. translation = a_instanceTranslation;
  3787. #endif
  3788. #ifdef HAS_INSTANCE_SCALE
  3789. scale = a_instanceScale;
  3790. #endif
  3791. instancingTransform = mat4(
  3792. scale.x, 0.0, 0.0, 0.0,
  3793. 0.0, scale.y, 0.0, 0.0,
  3794. 0.0, 0.0, scale.z, 0.0,
  3795. translation.x, translation.y, translation.z, 1.0
  3796. );
  3797. #endif
  3798. return instancingTransform;
  3799. }
  3800. #ifdef USE_2D_INSTANCING
  3801. mat4 getInstancingTransform2D()
  3802. {
  3803. mat4 instancingTransform2D;
  3804. #ifdef HAS_INSTANCE_MATRICES
  3805. instancingTransform2D = mat4(
  3806. a_instancingTransform2DRow0.x, a_instancingTransform2DRow1.x, a_instancingTransform2DRow2.x, 0.0,
  3807. a_instancingTransform2DRow0.y, a_instancingTransform2DRow1.y, a_instancingTransform2DRow2.y, 0.0,
  3808. a_instancingTransform2DRow0.z, a_instancingTransform2DRow1.z, a_instancingTransform2DRow2.z, 0.0,
  3809. a_instancingTransform2DRow0.w, a_instancingTransform2DRow1.w, a_instancingTransform2DRow2.w, 1.0
  3810. );
  3811. #else
  3812. vec3 translation2D = vec3(0.0, 0.0, 0.0);
  3813. vec3 scale = vec3(1.0, 1.0, 1.0);
  3814. #ifdef HAS_INSTANCE_TRANSLATION
  3815. translation2D = a_instanceTranslation2D;
  3816. #endif
  3817. #ifdef HAS_INSTANCE_SCALE
  3818. scale = a_instanceScale;
  3819. #endif
  3820. instancingTransform2D = mat4(
  3821. scale.x, 0.0, 0.0, 0.0,
  3822. 0.0, scale.y, 0.0, 0.0,
  3823. 0.0, 0.0, scale.z, 0.0,
  3824. translation2D.x, translation2D.y, translation2D.z, 1.0
  3825. );
  3826. #endif
  3827. return instancingTransform2D;
  3828. }
  3829. #endif
  3830. `;var tN=`void instancingStage(inout ProcessedAttributes attributes)
  3831. {
  3832. vec3 positionMC = attributes.positionMC;
  3833. vec3 normalMC = attributes.normalMC;
  3834. mat4 instancingTransform = getInstancingTransform();
  3835. attributes.positionMC = (instancingTransform * vec4(positionMC, 1.0)).xyz;
  3836. attributes.normalMC = (instancingTransform * vec4(normalMC, 0.0)).xyz;
  3837. #ifdef USE_2D_INSTANCING
  3838. mat4 instancingTransform2D = getInstancingTransform2D();
  3839. attributes.position2D = (instancingTransform2D * vec4(positionMC, 1.0)).xyz;
  3840. #endif
  3841. }
  3842. `;var nN=`void legacyInstancingStage(
  3843. inout ProcessedAttributes attributes,
  3844. out mat4 instanceModelView,
  3845. out mat3 instanceModelViewInverseTranspose)
  3846. {
  3847. vec3 positionMC = attributes.positionMC;
  3848. vec3 normalMC = attributes.normalMC;
  3849. mat4 instancingTransform = getInstancingTransform();
  3850. mat4 instanceModel = instancingTransform * u_instance_nodeTransform;
  3851. instanceModelView = u_instance_modifiedModelView;
  3852. instanceModelViewInverseTranspose = mat3(u_instance_modifiedModelView * instanceModel);
  3853. attributes.positionMC = (instanceModel * vec4(positionMC, 1.0)).xyz;
  3854. #ifdef USE_2D_INSTANCING
  3855. mat4 instancingTransform2D = getInstancingTransform2D();
  3856. attributes.position2D = (instancingTransform2D * vec4(positionMC, 1.0)).xyz;
  3857. #endif
  3858. }
  3859. `;var iN=new N,cHe=new N,lHe=new N,Tw={};Tw.name="InstancingPipelineStage";Tw.process=function(e,t,n){let i=t.instances,o=i.attributes[0].count,r=e.shaderBuilder;r.addDefine("HAS_INSTANCING"),r.addVertexLines(eN);let s=e.model,a=s.sceneGraph,c=e.runtimeNode,u=n.mode!==ee.SCENE3D&&!n.scene3DOnly&&s._projectTo2D,f=[];bHe(e,n,i,f,u),vHe(e,n,i,f);let d={};if(i.transformInWorldSpace?(r.addDefine("USE_LEGACY_INSTANCING",void 0,Te.VERTEX),r.addUniform("mat4","u_instance_modifiedModelView",Te.VERTEX),r.addUniform("mat4","u_instance_nodeTransform",Te.VERTEX),d.u_instance_modifiedModelView=function(){let p=N.multiplyTransformation(s.modelMatrix,a.components.transform,iN);return u?N.multiplyTransformation(n.context.uniformState.view3D,p,iN):(n.mode!==ee.SCENE3D&&(p=Dt.basisTo2D(n.mapProjection,p,iN)),N.multiplyTransformation(n.context.uniformState.view,p,iN))},d.u_instance_nodeTransform=function(){return N.multiplyTransformation(a.axisCorrectionMatrix,c.computedTransform,cHe)},r.addVertexLines(nN)):r.addVertexLines(tN),u){r.addDefine("USE_2D_INSTANCING",void 0,Te.VERTEX),r.addUniform("mat4","u_modelView2D",Te.VERTEX);let p=n.context,g=N.fromTranslation(c.instancingReferencePoint2D,new N);d.u_modelView2D=function(){return N.multiplyTransformation(p.uniformState.view,g,lHe)}}e.uniformMap=mt(d,e.uniformMap),e.instanceCount=o,e.attributes.push.apply(e.attributes,f)};var Aw=new N,uHe=new h;function fHe(e,t,n,i,o){let r=N.multiplyTransformation(t,e,Aw);return r=N.multiplyTransformation(r,n,Aw),o=Dt.basisTo2D(i.mapProjection,r,o),o}function dHe(e,t,n,i,o){let r=N.fromTranslation(e,Aw),s=N.multiplyTransformation(t,r,Aw);s=N.multiplyTransformation(s,n,Aw);let a=N.getTranslation(s,uHe);return o=qi.computeActualWgs84Position(i,a,o),o}function tse(e,t,n){let i=e.model,o=i.sceneGraph;e.runtimeNode.node.instances.transformInWorldSpace?(t=N.multiplyTransformation(i.modelMatrix,o.components.transform,t),n=N.multiplyTransformation(o.axisCorrectionMatrix,e.runtimeNode.computedTransform,n)):(t=N.clone(o.computedModelMatrix,t),t=N.multiplyTransformation(t,e.runtimeNode.computedTransform,t),n=N.clone(N.IDENTITY,n))}var nse=new N,ise=new N,hHe=new N,mHe=new h;function pHe(e,t,n,i){let o=nse,r=ise;tse(t,o,r);let a=t.runtimeNode.instancingReferencePoint2D,c=e.length;for(let u=0;u<c;u++){let f=e[u],d=fHe(f,o,r,n,hHe),p=N.getTranslation(d,mHe),g=h.subtract(p,a,p);i[u]=N.setTranslation(d,g,i[u])}return i}function _He(e,t,n,i){let o=nse,r=ise;tse(t,o,r);let a=t.runtimeNode.instancingReferencePoint2D,c=e.length;for(let u=0;u<c;u++){let f=e[u],d=dHe(f,o,r,n,f);i[u]=h.subtract(d,a,i[u])}return i}var gHe=new h,yHe=new h;function ose(e,t){let n=e.runtimeNode,i=e.model.sceneGraph.computedModelMatrix,o=N.multiplyByPoint(i,n.instancingTranslationMin,gHe),r=qi.computeActualWgs84Position(t,o,o),s=N.multiplyByPoint(i,n.instancingTranslationMax,yHe),a=qi.computeActualWgs84Position(t,s,s);n.instancingReferencePoint2D=h.lerp(r,a,.5,new h)}function U6(e){let n=e.length,i=new Float32Array(n*12);for(let o=0;o<n;o++){let r=e[o],s=12*o;i[s+0]=r[0],i[s+1]=r[4],i[s+2]=r[8],i[s+3]=r[12],i[s+4]=r[1],i[s+5]=r[5],i[s+6]=r[9],i[s+7]=r[13],i[s+8]=r[2],i[s+9]=r[6],i[s+10]=r[10],i[s+11]=r[14]}return i}function CHe(e){let n=e.length,i=new Float32Array(n*3);for(let o=0;o<n;o++){let r=e[o],s=3*o;i[s+0]=r[0],i[s+1]=r[4],i[s+2]=r[8]}return i}var xHe=new h,AHe=new Oe,THe=new h;function rse(e,t,n){let i=new Array(t),o=Xt.getAttributeBySemantic(e,Wr.TRANSLATION),r=Xt.getAttributeBySemantic(e,Wr.ROTATION),s=Xt.getAttributeBySemantic(e,Wr.SCALE),a=new h(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE),c=new h(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),u=l(o),f=l(r),d=l(s),p=u?o.typedArray:new Float32Array(t*3),g=f?r.typedArray:new Float32Array(t*4),m;d?m=s.typedArray:(m=new Float32Array(t*3),m.fill(1));for(let x=0;x<t;x++){let A=new h(p[x*3],p[x*3+1],p[x*3+2],xHe);h.maximumByComponent(a,A,a),h.minimumByComponent(c,A,c);let b=new Oe(g[x*4],g[x*4+1],g[x*4+2],f?g[x*4+3]:1,AHe),E=new h(m[x*3],m[x*3+1],m[x*3+2],THe),S=N.fromTranslationQuaternionRotationScale(A,b,E,new N);i[x]=S}let C=n.runtimeNode;return C.instancingTranslationMin=c,C.instancingTranslationMax=a,u&&(o.typedArray=void 0),f&&(r.typedArray=void 0),d&&(s.typedArray=void 0),i}function EHe(e,t,n){let i=new Array(t),o=e.typedArray,r=new h(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),s=new h(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE);for(let c=0;c<t;c++){let u=new h(o[c*3],o[c*3+1],o[c*3+2]);i[c]=u,h.minimumByComponent(r,u,r),h.maximumByComponent(s,u,s)}let a=n.runtimeNode;return a.instancingTranslationMin=r,a.instancingTranslationMax=s,e.typedArray=void 0,i}function z6(e,t){let n=ct.createVertexBuffer({context:t.context,typedArray:e,usage:Le.STATIC_DRAW});return n.vertexArrayDestroyable=!1,n}function bHe(e,t,n,i,o){let r=Xt.getAttributeBySemantic(n,Wr.ROTATION);l(r)?SHe(e,n,i,t,o):wHe(e,n,i,t,o)}function SHe(e,t,n,i,o){let r=e.shaderBuilder,s=t.attributes[0].count,a=e.model,c=e.runtimeNode;r.addDefine("HAS_INSTANCE_MATRICES");let u="Transform",f,d=c.instancingTransformsBuffer;if(!l(d)){f=rse(t,s,e);let C=U6(f);d=z6(C,i),a._modelResources.push(d),c.instancingTransformsBuffer=d}if(ese(e,d,n,u),!o)return;let p=et(i);p.mode=ee.COLUMBUS_VIEW,ose(e,p);let g=c.instancingTransformsBuffer2D;if(!l(g)){let C=pHe(f,e,p,f),x=U6(C);g=z6(x,i),a._modelResources.push(g),c.instancingTransformsBuffer2D=g}ese(e,g,n,"Transform2D")}function wHe(e,t,n,i,o){let r=e.shaderBuilder,s=e.runtimeNode,a=Xt.getAttributeBySemantic(t,Wr.TRANSLATION),c=Xt.getAttributeBySemantic(t,Wr.SCALE);if(l(c)){r.addDefine("HAS_INSTANCE_SCALE");let A="Scale";k6(e,c.buffer,c.byteOffset,c.byteStride,n,A)}if(!l(a))return;let u,f=a.typedArray;l(f)?u=EHe(a,a.count,e):l(s.instancingTranslationMin)||(s.instancingTranslationMin=a.min,s.instancingTranslationMax=a.max),r.addDefine("HAS_INSTANCE_TRANSLATION");let d="Translation";if(k6(e,a.buffer,a.byteOffset,a.byteStride,n,d),!o)return;let p=et(i);p.mode=ee.COLUMBUS_VIEW,ose(e,p);let g=s.instancingTranslationBuffer2D;if(!l(g)){let A=_He(u,e,p,u),b=CHe(A);g=z6(b,i),e.model._modelResources.push(g),s.instancingTranslationBuffer2D=g}k6(e,g,0,void 0,n,"Translation2D")}function ese(e,t,n,i){let r=Z.getSizeInBytes(Z.FLOAT),s=r*12,a=[{index:e.attributeIndex++,vertexBuffer:t,componentsPerAttribute:4,componentDatatype:Z.FLOAT,normalize:!1,offsetInBytes:0,strideInBytes:s,instanceDivisor:1},{index:e.attributeIndex++,vertexBuffer:t,componentsPerAttribute:4,componentDatatype:Z.FLOAT,normalize:!1,offsetInBytes:r*4,strideInBytes:s,instanceDivisor:1},{index:e.attributeIndex++,vertexBuffer:t,componentsPerAttribute:4,componentDatatype:Z.FLOAT,normalize:!1,offsetInBytes:r*8,strideInBytes:s,instanceDivisor:1}],c=e.shaderBuilder;c.addAttribute("vec4",`a_instancing${i}Row0`),c.addAttribute("vec4",`a_instancing${i}Row1`),c.addAttribute("vec4",`a_instancing${i}Row2`),n.push.apply(n,a)}function k6(e,t,n,i,o,r){o.push({index:e.attributeIndex++,vertexBuffer:t,componentsPerAttribute:3,componentDatatype:Z.FLOAT,normalize:!1,offsetInBytes:n,strideInBytes:i,instanceDivisor:1}),e.shaderBuilder.addAttribute("vec3",`a_instance${r}`)}function vHe(e,t,n,i){let o=n.attributes,r=e.shaderBuilder;for(let s=0;s<o.length;s++){let a=o[s];a.semantic===Wr.FEATURE_ID&&(a.setIndex>=e.featureIdVertexAttributeSetIndex&&(e.featureIdVertexAttributeSetIndex=a.setIndex+1),i.push({index:e.attributeIndex++,vertexBuffer:a.buffer,componentsPerAttribute:tn.getNumberOfComponents(a.type),componentDatatype:a.componentDatatype,normalize:!1,offsetInBytes:a.byteOffset,strideInBytes:a.byteStride,instanceDivisor:1}),r.addAttribute("float",`a_instanceFeatureId_${a.setIndex}`))}}Tw._getInstanceTransformsAsMatrices=rse;Tw._transformsToTypedArray=U6;var oN=Tw;var H6={};H6.name="ModelMatrixUpdateStage";H6.update=function(e,t,n){let i=n.mode!==ee.SCENE3D;if(!(i&&t._model._projectTo2D)&&e._transformDirty){let o=i?t._computedModelMatrix2D:t._computedModelMatrix;sse(e,t,o,e.transformToRoot),e._transformDirty=!1}};function sse(e,t,n,i){let o;i=N.multiplyTransformation(i,e.transform,new N),e.updateComputedTransform();let r=e.runtimePrimitives.length;for(o=0;o<r;o++){let c=e.runtimePrimitives[o].drawCommand;c.modelMatrix=N.multiplyTransformation(n,i,c.modelMatrix),c.cullFace=Xt.getCullFace(c.modelMatrix,c.primitiveType)}let s=e.children.length;for(o=0;o<s;o++){let a=t._runtimeNodes[e.children[o]];a._transformToRoot=N.clone(i,a._transformToRoot),sse(a,t,n,i),a._transformDirty=!1}}var rN=H6;var Ew={};Ew.name="NodeStatisticsPipelineStage";Ew.process=function(e,t,n){let i=e.model.statistics,o=t.instances,r=e.runtimeNode;ase(i,o),cse(i,r)};function ase(e,t){if(!l(t))return;let n=t.attributes,i=n.length;for(let o=0;o<i;o++){let r=n[o];l(r.buffer)&&e.addBuffer(r.buffer,!1)}}function cse(e,t){l(t.instancingTransformsBuffer)&&e.addBuffer(t.instancingTransformsBuffer,!1),l(t.instancingTransformsBuffer2D)&&e.addBuffer(t.instancingTransformsBuffer2D,!1),l(t.instancingTranslationBuffer2D)&&e.addBuffer(t.instancingTranslationBuffer2D,!1)}Ew._countInstancingAttributes=ase;Ew._countGeneratedBuffers=cse;var sN=Ew;function uT(e){e=y(e,y.EMPTY_OBJECT);let t=e.node,n=e.transform,i=e.transformToRoot,o=e.sceneGraph,r=e.children;this._node=t,this._name=t.name,this._id=t.index,this._sceneGraph=o,this._children=r,this._originalTransform=N.clone(n,this._originalTransform),this._transform=N.clone(n,this._transform),this._transformToRoot=N.clone(i,this._transformToRoot),this._computedTransform=new N,this._transformDirty=!1,this._transformParameters=void 0,this._morphWeights=[],this._runtimeSkin=void 0,this._computedJointMatrices=[],this.show=!0,this.userAnimated=!1,this.pipelineStages=[],this.runtimePrimitives=[],this.updateStages=[],this.instancingTranslationMin=void 0,this.instancingTranslationMax=void 0,this.instancingTransformsBuffer=void 0,this.instancingTransformsBuffer2D=void 0,this.instancingTranslationBuffer2D=void 0,this.instancingReferencePoint2D=void 0,DHe(this)}Object.defineProperties(uT.prototype,{node:{get:function(){return this._node}},sceneGraph:{get:function(){return this._sceneGraph}},children:{get:function(){return this._children}},transform:{get:function(){return this._transform},set:function(e){this._transformDirty=!0,this._transform=N.clone(e,this._transform)}},transformToRoot:{get:function(){return this._transformToRoot}},computedTransform:{get:function(){return this._computedTransform}},originalTransform:{get:function(){return this._originalTransform}},translation:{get:function(){return l(this._transformParameters)?this._transformParameters.translation:void 0},set:function(e){let t=this._transformParameters,n=t.translation;h.equals(n,e)||(t.translation=h.clone(e,t.translation),G6(this,t))}},rotation:{get:function(){return l(this._transformParameters)?this._transformParameters.rotation:void 0},set:function(e){let t=this._transformParameters,n=t.rotation;Oe.equals(n,e)||(t.rotation=Oe.clone(e,t.rotation),G6(this,t))}},scale:{get:function(){return l(this._transformParameters)?this._transformParameters.scale:void 0},set:function(e){let t=this._transformParameters,n=t.scale;h.equals(n,e)||(t.scale=h.clone(e,t.scale),G6(this,t))}},morphWeights:{get:function(){return this._morphWeights},set:function(e){let t=e.length;for(let n=0;n<t;n++)this._morphWeights[n]=e[n]}},runtimeSkin:{get:function(){return this._runtimeSkin}},computedJointMatrices:{get:function(){return this._computedJointMatrices}}});function DHe(e){let t=e.transform,n=e.transformToRoot,i=e._computedTransform;e._computedTransform=N.multiply(n,t,i);let o=e.node;l(o.matrix)||(e._transformParameters=new ry(o.translation,o.rotation,o.scale)),l(o.morphWeights)&&(e._morphWeights=o.morphWeights.slice());let r=o.articulationName;if(l(r)){let c=e.sceneGraph._runtimeArticulations[r];l(c)&&c.runtimeNodes.push(e)}}function G6(e,t){e._transformDirty=!0,e._transform=N.fromTranslationRotationScale(t,e._transform)}uT.prototype.getChild=function(e){return this.sceneGraph._runtimeNodes[this.children[e]]};uT.prototype.configurePipeline=function(){let e=this.node,t=this.pipelineStages;t.length=0;let n=this.updateStages;n.length=0,l(e.instances)&&t.push(oN),t.push(sN),n.push(rN)};uT.prototype.updateComputedTransform=function(){this._computedTransform=N.multiply(this._transformToRoot,this._transform,this._computedTransform)};uT.prototype.updateJointMatrices=function(){let e=this._runtimeSkin;if(!l(e))return;e.updateJointMatrices();let t=this._computedJointMatrices,n=e.jointMatrices,i=n.length;for(let o=0;o<i;o++){l(t[o])||(t[o]=new N);let r=N.multiplyTransformation(this.transformToRoot,this.transform,t[o]),s=N.inverseTransformation(r,t[o]);t[o]=N.multiplyTransformation(s,n[o],t[o])}};var aN=uT;var W6={};W6.name="AlphaPipelineStage";W6.process=function(e,t,n){let i=e.alphaOptions,o=e.model;i.pass=y(i.pass,o.opaquePass);let r=e.renderStateOptions;i.pass===xe.TRANSLUCENT&&(r.cull.enabled=!1,r.depthMask=!1,r.blending=cn.ALPHA_BLEND);let s=e.shaderBuilder,a=e.uniformMap;l(i.alphaCutoff)&&(s.addDefine("ALPHA_MODE_MASK",void 0,Te.FRAGMENT),s.addUniform("float","u_alphaCutoff",Te.FRAGMENT),a.u_alphaCutoff=function(){return i.alphaCutoff})};var cN=W6;var j6={};j6.name="BatchTexturePipelineStage";j6.process=function(e,t,n){let i=e.shaderBuilder,o={},r=e.model,s=r.featureTables[r.featureTableId],a=s.featuresLength;i.addUniform("int","model_featuresLength"),o.model_featuresLength=function(){return a};let c=s.batchTexture;i.addUniform("sampler2D","model_batchTexture"),o.model_batchTexture=function(){return y(c.batchTexture,c.defaultTexture)},i.addUniform("vec4","model_textureStep"),o.model_textureStep=function(){return c.textureStep},c.textureDimensions.y>1&&(i.addDefine("MULTILINE_BATCH_TEXTURE"),i.addUniform("vec2","model_textureDimensions"),o.model_textureDimensions=function(){return c.textureDimensions}),e.uniformMap=mt(o,e.uniformMap)};var lN=j6;var q6={};q6.name="ClassificationPipelineStage";q6.process=function(e,t,n){e.shaderBuilder.addDefine("HAS_CLASSIFICATION",void 0,Te.BOTH);let o=e.runtimePrimitive;l(o.batchLengths)||PHe(t,o)};function PHe(e,t){let n=Xt.getAttributeBySemantic(e,xt.POSITION);if(!l(n))throw new de("Primitives must have a position attribute to be used for classification.");let i,o=e.indices,r=l(o);r&&(i=o.typedArray,o.typedArray=void 0);let s=r?o.count:n.count,a=Xt.getAttributeBySemantic(e,xt.FEATURE_ID,0);if(!l(a)){t.batchLengths=[s],t.batchOffsets=[0];return}let c=a.typedArray;a.typedArray=void 0;let u=[],f=[0],d=r?i[0]:0,p=c[d],g=0;for(let C=1;C<s;C++){let x=r?i[C]:C,A=c[x];if(A!==p){let b=C-g,E=C;u.push(b),f.push(E),g=E,p=A}}let m=s-g;u.push(m),t.batchLengths=u,t.batchOffsets=f}var uN=q6;var fN=`void filterByPassType(inout vec3 positionMC, vec4 featureColor)
  3860. {
  3861. bool styleTranslucent = (featureColor.a != 1.0);
  3862. if (czm_pass == czm_passTranslucent && !styleTranslucent && !model_commandTranslucent)
  3863. {
  3864. #ifdef HAS_SILHOUETTE
  3865. positionMC *= float(model_silhouettePass);
  3866. #else
  3867. positionMC *= 0.0;
  3868. #endif
  3869. }
  3870. else if (czm_pass != czm_passTranslucent && styleTranslucent)
  3871. {
  3872. positionMC *= 0.0;
  3873. }
  3874. }
  3875. void cpuStylingStage(inout vec3 positionMC, inout SelectedFeature feature)
  3876. {
  3877. float show = ceil(feature.color.a);
  3878. positionMC *= show;
  3879. #if defined(HAS_SELECTED_FEATURE_ID_ATTRIBUTE) && !defined(HAS_CLASSIFICATION)
  3880. filterByPassType(positionMC, feature.color);
  3881. #endif
  3882. }
  3883. `;var dN=`void filterByPassType(vec4 featureColor)
  3884. {
  3885. bool styleTranslucent = (featureColor.a != 1.0);
  3886. if (czm_pass == czm_passTranslucent && !styleTranslucent && !model_commandTranslucent)
  3887. {
  3888. #ifdef HAS_SILHOUETTE
  3889. if(!model_silhouettePass) {
  3890. discard;
  3891. }
  3892. #else
  3893. discard;
  3894. #endif
  3895. }
  3896. else if (czm_pass != czm_passTranslucent && styleTranslucent)
  3897. {
  3898. discard;
  3899. }
  3900. }
  3901. void cpuStylingStage(inout czm_modelMaterial material, SelectedFeature feature)
  3902. {
  3903. vec4 featureColor = feature.color;
  3904. if (featureColor.a == 0.0)
  3905. {
  3906. discard;
  3907. }
  3908. #if defined(HAS_SELECTED_FEATURE_ID_TEXTURE) && !defined(HAS_CLASSIFICATION)
  3909. filterByPassType(featureColor);
  3910. #endif
  3911. featureColor = czm_gammaCorrect(featureColor);
  3912. #ifdef HAS_CLASSIFICATION
  3913. material.diffuse = featureColor.rgb * featureColor.a;
  3914. #else
  3915. float highlight = ceil(model_colorBlend);
  3916. material.diffuse *= mix(featureColor.rgb, vec3(1.0), highlight);
  3917. #endif
  3918. material.alpha *= featureColor.a;
  3919. }
  3920. `;var Y6={};Y6.name="CPUStylingPipelineStage";Y6.process=function(e,t,n){let i=e.model,o=e.shaderBuilder;o.addVertexLines(fN),o.addFragmentLines(dN),o.addDefine("USE_CPU_STYLING",void 0,Te.BOTH),l(i.color)||(o.addUniform("float",My.COLOR_BLEND_UNIFORM_NAME,Te.FRAGMENT),e.uniformMap[My.COLOR_BLEND_UNIFORM_NAME]=function(){return dc.getColorBlend(i.colorBlendMode,i.colorBlendAmount)}),o.addUniform("bool","model_commandTranslucent",Te.BOTH),e.uniformMap.model_commandTranslucent=function(){return e.alphaOptions.pass===xe.TRANSLUCENT}};var hN=Y6;var lse={MODIFY_MATERIAL:"MODIFY_MATERIAL",REPLACE_MATERIAL:"REPLACE_MATERIAL"};lse.getDefineName=function(e){return`CUSTOM_SHADER_${e}`};var ng=Object.freeze(lse);var mN=`void customShaderStage(
  3921. inout czm_modelVertexOutput vsOutput,
  3922. inout ProcessedAttributes attributes,
  3923. FeatureIds featureIds,
  3924. Metadata metadata,
  3925. MetadataClass metadataClass
  3926. ) {
  3927. VertexInput vsInput;
  3928. initializeInputStruct(vsInput, attributes);
  3929. vsInput.featureIds = featureIds;
  3930. vsInput.metadata = metadata;
  3931. vsInput.metadataClass = metadataClass;
  3932. vertexMain(vsInput, vsOutput);
  3933. attributes.positionMC = vsOutput.positionMC;
  3934. }
  3935. `;var pN=`void customShaderStage(
  3936. inout czm_modelMaterial material,
  3937. ProcessedAttributes attributes,
  3938. FeatureIds featureIds,
  3939. Metadata metadata,
  3940. MetadataClass metadataClass
  3941. ) {
  3942. FragmentInput fsInput;
  3943. initializeInputStruct(fsInput, attributes);
  3944. fsInput.featureIds = featureIds;
  3945. fsInput.metadata = metadata;
  3946. fsInput.metadataClass = metadataClass;
  3947. fragmentMain(fsInput, material);
  3948. }
  3949. `;var _N=`void featureIdStage(out FeatureIds featureIds, ProcessedAttributes attributes) {
  3950. initializeFeatureIds(featureIds, attributes);
  3951. initializeFeatureIdAliases(featureIds);
  3952. }
  3953. `;var gN=`void featureIdStage(out FeatureIds featureIds, ProcessedAttributes attributes)
  3954. {
  3955. initializeFeatureIds(featureIds, attributes);
  3956. initializeFeatureIdAliases(featureIds);
  3957. setFeatureIdVaryings();
  3958. }
  3959. `;var Fn={};Fn.name="FeatureIdPipelineStage";Fn.STRUCT_ID_FEATURE_IDS_VS="FeatureIdsVS";Fn.STRUCT_ID_FEATURE_IDS_FS="FeatureIdsFS";Fn.STRUCT_NAME_FEATURE_IDS="FeatureIds";Fn.FUNCTION_ID_INITIALIZE_FEATURE_IDS_VS="initializeFeatureIdsVS";Fn.FUNCTION_ID_INITIALIZE_FEATURE_IDS_FS="initializeFeatureIdsFS";Fn.FUNCTION_ID_INITIALIZE_FEATURE_ID_ALIASES_VS="initializeFeatureIdAliasesVS";Fn.FUNCTION_ID_INITIALIZE_FEATURE_ID_ALIASES_FS="initializeFeatureIdAliasesFS";Fn.FUNCTION_SIGNATURE_INITIALIZE_FEATURE_IDS="void initializeFeatureIds(out FeatureIds featureIds, ProcessedAttributes attributes)";Fn.FUNCTION_SIGNATURE_INITIALIZE_FEATURE_ID_ALIASES="void initializeFeatureIdAliases(inout FeatureIds featureIds)";Fn.FUNCTION_ID_SET_FEATURE_ID_VARYINGS="setFeatureIdVaryings";Fn.FUNCTION_SIGNATURE_SET_FEATURE_ID_VARYINGS="void setFeatureIdVaryings()";Fn.process=function(e,t,n){let i=e.shaderBuilder;IHe(i);let o=e.runtimeNode.node.instances;l(o)&&OHe(e,o,n),RHe(e,t,n),i.addVertexLines(gN),i.addFragmentLines(_N)};function IHe(e){e.addStruct(Fn.STRUCT_ID_FEATURE_IDS_VS,Fn.STRUCT_NAME_FEATURE_IDS,Te.VERTEX),e.addStruct(Fn.STRUCT_ID_FEATURE_IDS_FS,Fn.STRUCT_NAME_FEATURE_IDS,Te.FRAGMENT),e.addFunction(Fn.FUNCTION_ID_INITIALIZE_FEATURE_IDS_VS,Fn.FUNCTION_SIGNATURE_INITIALIZE_FEATURE_IDS,Te.VERTEX),e.addFunction(Fn.FUNCTION_ID_INITIALIZE_FEATURE_IDS_FS,Fn.FUNCTION_SIGNATURE_INITIALIZE_FEATURE_IDS,Te.FRAGMENT),e.addFunction(Fn.FUNCTION_ID_INITIALIZE_FEATURE_ID_ALIASES_VS,Fn.FUNCTION_SIGNATURE_INITIALIZE_FEATURE_ID_ALIASES,Te.VERTEX),e.addFunction(Fn.FUNCTION_ID_INITIALIZE_FEATURE_ID_ALIASES_FS,Fn.FUNCTION_SIGNATURE_INITIALIZE_FEATURE_ID_ALIASES,Te.FRAGMENT),e.addFunction(Fn.FUNCTION_ID_SET_FEATURE_ID_VARYINGS,Fn.FUNCTION_SIGNATURE_SET_FEATURE_ID_VARYINGS,Te.VERTEX)}function OHe(e,t,n){let i=t.featureIds,o=t.attributes[0].count;for(let r=0;r<i.length;r++){let s=i[r],a=s.positionalLabel;s instanceof Ft.FeatureIdAttribute?MHe(e,s,a):use(e,s,a,o,1,n);let c=s.label;l(c)&&fse(e,a,c,Te.BOTH)}}function RHe(e,t,n){let i=t.featureIds,r=Xt.getAttributeBySemantic(t,xt.POSITION).count;for(let s=0;s<i.length;s++){let a=i[s],c=a.positionalLabel,u=Te.BOTH;a instanceof Ft.FeatureIdAttribute?BHe(e,a,c):a instanceof Ft.FeatureIdImplicitRange?use(e,a,c,r,void 0,n):(LHe(e,a,c,s,n),u=Te.FRAGMENT);let f=a.label;l(f)&&fse(e,c,f,u)}}function MHe(e,t,n){let i=e.shaderBuilder;i.addStructField(Fn.STRUCT_ID_FEATURE_IDS_VS,"int",n),i.addStructField(Fn.STRUCT_ID_FEATURE_IDS_FS,"int",n);let o=t.setIndex,r=n.replace(/_\d+$/,"_"),s=`a_${r}${o}`,a=`v_${r}${o}`,c=`featureIds.${n} = int(czm_round(${s}));`,u=`featureIds.${n} = int(czm_round(${a}));`;i.addFunctionLines(Fn.FUNCTION_ID_INITIALIZE_FEATURE_IDS_VS,[c]),i.addFunctionLines(Fn.FUNCTION_ID_INITIALIZE_FEATURE_IDS_FS,[u]),i.addVarying("float",a),i.addFunctionLines(Fn.FUNCTION_ID_SET_FEATURE_ID_VARYINGS,[`${a} = ${s};`])}function BHe(e,t,n){let i=e.shaderBuilder;i.addStructField(Fn.STRUCT_ID_FEATURE_IDS_VS,"int",n),i.addStructField(Fn.STRUCT_ID_FEATURE_IDS_FS,"int",n);let o=t.setIndex,r=n.replace(/_\d+$/,"_"),s=[`featureIds.${n} = int(czm_round(attributes.${r}${o}));`];i.addFunctionLines(Fn.FUNCTION_ID_INITIALIZE_FEATURE_IDS_VS,s),i.addFunctionLines(Fn.FUNCTION_ID_INITIALIZE_FEATURE_IDS_FS,s)}function use(e,t,n,i,o,r){NHe(e,t,i,o,r);let s=e.shaderBuilder,a=`a_implicit_${n}`;s.addAttribute("float",a);let c=`v_implicit_${n}`;s.addVarying("float",c),s.addStructField(Fn.STRUCT_ID_FEATURE_IDS_VS,"int",n),s.addStructField(Fn.STRUCT_ID_FEATURE_IDS_FS,"int",n),s.addFunctionLines(Fn.FUNCTION_ID_SET_FEATURE_ID_VARYINGS,[`${c} = ${a};`]),s.addFunctionLines(Fn.FUNCTION_ID_INITIALIZE_FEATURE_IDS_VS,[`featureIds.${n} = int(czm_round(${a}));`]),s.addFunctionLines(Fn.FUNCTION_ID_INITIALIZE_FEATURE_IDS_FS,[`featureIds.${n} = int(czm_round(${c}));`])}function LHe(e,t,n,i,o){let r=`u_featureIdTexture_${i}`,s=e.uniformMap,a=t.textureReader;s[r]=function(){return y(a.texture,o.context.defaultTexture)};let c=a.channels,u=e.shaderBuilder;u.addStructField(Fn.STRUCT_ID_FEATURE_IDS_FS,"int",n),u.addUniform("sampler2D",r,Te.FRAGMENT);let f=`v_texCoord_${a.texCoord}`,d=`texture2D(${r}, ${f}).${c}`,p=`featureIds.${n} = czm_unpackUint(${d});`;u.addFunctionLines(Fn.FUNCTION_ID_INITIALIZE_FEATURE_IDS_FS,[p])}function fse(e,t,n,i){let o=e.shaderBuilder,r=Te.includesVertexShader(i);r&&o.addStructField(Fn.STRUCT_ID_FEATURE_IDS_VS,"int",n),o.addStructField(Fn.STRUCT_ID_FEATURE_IDS_FS,"int",n);let s=[`featureIds.${n} = featureIds.${t};`];r&&o.addFunctionLines(Fn.FUNCTION_ID_INITIALIZE_FEATURE_ID_ALIASES_VS,s),o.addFunctionLines(Fn.FUNCTION_ID_INITIALIZE_FEATURE_ID_ALIASES_FS,s)}function NHe(e,t,n,i,o){let r=e.model,s,a;if(l(t.repeat)){let u=FHe(t,n);s=ct.createVertexBuffer({context:o.context,typedArray:u,usage:Le.STATIC_DRAW}),s.vertexArrayDestroyable=!1,r._pipelineResources.push(s);let f=!1;r.statistics.addBuffer(s,f)}else a=[t.offset];let c={index:e.attributeIndex++,instanceDivisor:i,value:a,vertexBuffer:s,normalize:!1,componentsPerAttribute:1,componentDatatype:Z.FLOAT,strideInBytes:Z.getSizeInBytes(Z.FLOAT),offsetInBytes:0};e.attributes.push(c)}function FHe(e,t){let n=e.offset,i=e.repeat,o=new Float32Array(t);for(let r=0;r<t;r++)o[r]=n+Math.floor(r/i);return o}var By=Fn;var yN=`void metadataStage(out Metadata metadata, out MetadataClass metadataClass, ProcessedAttributes attributes)
  3960. {
  3961. initializeMetadata(metadata, metadataClass, attributes);
  3962. }
  3963. `;var CN=`void metadataStage(out Metadata metadata, out MetadataClass metadataClass, ProcessedAttributes attributes)
  3964. {
  3965. initializeMetadata(metadata, metadataClass, attributes);
  3966. setMetadataVaryings();
  3967. }
  3968. `;var Xn={};Xn.name="MetadataPipelineStage";Xn.STRUCT_ID_METADATA_VS="MetadataVS";Xn.STRUCT_ID_METADATA_FS="MetadataFS";Xn.STRUCT_NAME_METADATA="Metadata";Xn.STRUCT_ID_METADATACLASS_VS="MetadataClassVS";Xn.STRUCT_ID_METADATACLASS_FS="MetadataClassFS";Xn.STRUCT_NAME_METADATACLASS="MetadataClass";Xn.FUNCTION_ID_INITIALIZE_METADATA_VS="initializeMetadataVS";Xn.FUNCTION_ID_INITIALIZE_METADATA_FS="initializeMetadataFS";Xn.FUNCTION_SIGNATURE_INITIALIZE_METADATA="void initializeMetadata(out Metadata metadata, out MetadataClass metadataClass, ProcessedAttributes attributes)";Xn.FUNCTION_ID_SET_METADATA_VARYINGS="setMetadataVaryings";Xn.FUNCTION_SIGNATURE_SET_METADATA_VARYINGS="void setMetadataVaryings()";Xn.METADATACLASS_FIELDS=[{specName:"noData",shaderName:"noData"},{specName:"default",shaderName:"defaultValue"},{specName:"min",shaderName:"minValue"},{specName:"max",shaderName:"maxValue"}];Xn.process=function(e,t,n){let{shaderBuilder:i,model:o}=e,r=y(o.structuralMetadata,{}),{propertyAttributes:s,propertyTextures:a}=r,c=new Set;l(s)&&UHe(c,t,s),l(a)&&GHe(c,a),VHe(i,c),kHe(i),i.addVertexLines(CN),i.addFragmentLines(yN),l(s)&&zHe(e,t,s),l(a)&&WHe(e,a)};function VHe(e,t){let n=Xn.METADATACLASS_FIELDS;for(let i of t){let o=`${i}MetadataClass`,r=`${o}VS`,s=`${o}FS`;e.addStruct(r,o,Te.VERTEX),e.addStruct(s,o,Te.FRAGMENT);for(let a=0;a<n.length;a++){let c=n[a].shaderName;e.addStructField(r,i,c),e.addStructField(s,i,c)}}}function kHe(e){e.addStruct(Xn.STRUCT_ID_METADATA_VS,Xn.STRUCT_NAME_METADATA,Te.VERTEX),e.addStruct(Xn.STRUCT_ID_METADATA_FS,Xn.STRUCT_NAME_METADATA,Te.FRAGMENT),e.addStruct(Xn.STRUCT_ID_METADATACLASS_VS,Xn.STRUCT_NAME_METADATACLASS,Te.VERTEX),e.addStruct(Xn.STRUCT_ID_METADATACLASS_FS,Xn.STRUCT_NAME_METADATACLASS,Te.FRAGMENT),e.addFunction(Xn.FUNCTION_ID_INITIALIZE_METADATA_VS,Xn.FUNCTION_SIGNATURE_INITIALIZE_METADATA,Te.VERTEX),e.addFunction(Xn.FUNCTION_ID_INITIALIZE_METADATA_FS,Xn.FUNCTION_SIGNATURE_INITIALIZE_METADATA,Te.FRAGMENT),e.addFunction(Xn.FUNCTION_ID_SET_METADATA_VARYINGS,Xn.FUNCTION_SIGNATURE_SET_METADATA_VARYINGS,Te.VERTEX)}function xN(e,t){for(let n=0;n<e.length;n++){let i=e[n].properties;for(let o in i)if(i.hasOwnProperty(o)){let r=i[o];t(o,r)}}}function UHe(e,t,n){let{getAttributeByName:i,getAttributeInfo:o}=Xt;function r(s,a){let c=i(t,a.attribute),f=o(c).glslType;e.add(f)}xN(n,r)}function zHe(e,t,n){let{getAttributeByName:i,getAttributeInfo:o}=Xt;function r(s,a){let c=i(t,a.attribute),u=o(c);HHe(e,u,s,a)}xN(n,r)}function HHe(e,t,n,i){let o=Xt.sanitizeGlslIdentifier(n),r=t.variableName,s=t.glslType,a=e.shaderBuilder;a.addStructField(Xn.STRUCT_ID_METADATA_VS,s,o),a.addStructField(Xn.STRUCT_ID_METADATA_FS,s,o);let c=`${s}MetadataClass`;a.addStructField(Xn.STRUCT_ID_METADATACLASS_VS,c,o),a.addStructField(Xn.STRUCT_ID_METADATACLASS_FS,c,o);let u=`attributes.${r}`;i.hasValueTransform&&(u=dse(u,{renderResources:e,glslType:s,metadataVariable:o,shaderDestination:Te.BOTH,offset:i.offset,scale:i.scale}));let f=`metadata.${o} = ${u};`;a.addFunctionLines(Xn.FUNCTION_ID_INITIALIZE_METADATA_VS,[f]),a.addFunctionLines(Xn.FUNCTION_ID_INITIALIZE_METADATA_FS,[f]);let d=Xn.METADATACLASS_FIELDS;for(let p=0;p<d.length;p++){let{specName:g,shaderName:m}=d[p],C=i.classProperty[g];if(!l(C))continue;let x=`metadataClass.${o}.${m} = ${s}(${C});`;a.addFunctionLines(Xn.FUNCTION_ID_INITIALIZE_METADATA_VS,[x]),a.addFunctionLines(Xn.FUNCTION_ID_INITIALIZE_METADATA_FS,[x])}}function GHe(e,t){function n(i,o){let r=o.getGlslType();e.add(r)}xN(t,n)}function WHe(e,t){function n(i,o){o.isGpuCompatible()&&jHe(e,i,o)}xN(t,n)}function jHe(e,t,n){let i=n.textureReader,r=`u_propertyTexture_${i.index}`;e.uniformMap.hasOwnProperty(r)||qHe(e,r,i);let s=Xt.sanitizeGlslIdentifier(t),a=n.getGlslType(),c=e.shaderBuilder;c.addStructField(Xn.STRUCT_ID_METADATA_FS,a,s);let u=`${a}MetadataClass`;c.addStructField(Xn.STRUCT_ID_METADATACLASS_FS,u,s);let d=`attributes.texCoord_${i.texCoord}`,p=i.channels,g=`texture2D(${r}, ${d}).${p}`;g=n.unpackInShader(g),n.hasValueTransform&&(g=dse(g,{renderResources:e,glslType:a,metadataVariable:s,shaderDestination:Te.FRAGMENT,offset:n.offset,scale:n.scale}));let m=`metadata.${s} = ${g};`;c.addFunctionLines(Xn.FUNCTION_ID_INITIALIZE_METADATA_FS,[m]);let C=Xn.METADATACLASS_FIELDS;for(let x=0;x<C.length;x++){let{specName:A,shaderName:b}=C[x],E=n.classProperty[A];if(!l(E))continue;let S=`metadataClass.${s}.${b} = ${a}(${E});`;c.addFunctionLines(Xn.FUNCTION_ID_INITIALIZE_METADATA_FS,[S])}}function qHe(e,t,n){let{shaderBuilder:i,uniformMap:o}=e;i.addUniform("sampler2D",t,Te.FRAGMENT),o[t]=()=>n.texture}function dse(e,t){let n=t.metadataVariable,i=`u_${n}_offset`,o=`u_${n}_scale`,{shaderBuilder:r,uniformMap:s}=t.renderResources,a=t.glslType,c=t.shaderDestination;return r.addUniform(a,i,c),r.addUniform(a,o,c),s[i]=()=>t.offset,s[o]=()=>t.scale,`czm_valueTransform(${i}, ${o}, ${e})`}var Xm=Xn;var YHe={INHERIT:0,OPAQUE:1,TRANSLUCENT:2},Ly=Object.freeze(YHe);var oo={};oo.name="CustomShaderPipelineStage";oo.STRUCT_ID_ATTRIBUTES_VS="AttributesVS";oo.STRUCT_ID_ATTRIBUTES_FS="AttributesFS";oo.STRUCT_NAME_ATTRIBUTES="Attributes";oo.STRUCT_ID_VERTEX_INPUT="VertexInput";oo.STRUCT_NAME_VERTEX_INPUT="VertexInput";oo.STRUCT_ID_FRAGMENT_INPUT="FragmentInput";oo.STRUCT_NAME_FRAGMENT_INPUT="FragmentInput";oo.FUNCTION_ID_INITIALIZE_INPUT_STRUCT_VS="initializeInputStructVS";oo.FUNCTION_SIGNATURE_INITIALIZE_INPUT_STRUCT_VS="void initializeInputStruct(out VertexInput vsInput, ProcessedAttributes attributes)";oo.FUNCTION_ID_INITIALIZE_INPUT_STRUCT_FS="initializeInputStructFS";oo.FUNCTION_SIGNATURE_INITIALIZE_INPUT_STRUCT_FS="void initializeInputStruct(out FragmentInput fsInput, ProcessedAttributes attributes)";oo.process=function(e,t,n){let i=e.shaderBuilder,o=e.model.customShader;l(o.lightingModel)&&(e.lightingOptions.lightingModel=o.lightingModel);let r=e.alphaOptions;o.translucencyMode===Ly.TRANSLUCENT?r.pass=xe.TRANSLUCENT:o.translucencyMode===Ly.OPAQUE&&(r.pass=void 0);let s=t5e(o,t);if(!s.customShaderEnabled)return;if(r5e(i,o,s),s.shouldComputePositionWC&&i.addDefine("COMPUTE_POSITION_WC_CUSTOM_SHADER",void 0,Te.BOTH),l(o.vertexShaderText)&&i.addDefine("HAS_CUSTOM_VERTEX_SHADER",void 0,Te.VERTEX),l(o.fragmentShaderText)){i.addDefine("HAS_CUSTOM_FRAGMENT_SHADER",void 0,Te.FRAGMENT);let u=ng.getDefineName(o.mode);i.addDefine(u,void 0,Te.FRAGMENT)}let a=o.uniforms;for(let u in a)if(a.hasOwnProperty(u)){let f=a[u];i.addUniform(f.type,u)}let c=o.varyings;for(let u in c)if(c.hasOwnProperty(u)){let f=c[u];i.addVarying(f,u)}e.uniformMap=mt(e.uniformMap,o.uniformMap)};function XHe(e){let t={};for(let n=0;n<e.length;n++){let i=e[n],o=Xt.getAttributeInfo(i);t[o.variableName]=o}return t}var KHe={position:"vec3",normal:"vec3",tangent:"vec3",bitangent:"vec3",texCoord:"vec2",color:"vec4",joints:"ivec4",weights:"vec4"},ZHe={position:"vec3(0.0)",normal:"vec3(0.0, 0.0, 1.0)",tangent:"vec3(1.0, 0.0, 0.0)",bitangent:"vec3(0.0, 1.0, 0.0)",texCoord:"vec2(0.0)",color:"vec4(1.0)",joints:"ivec4(0)",weights:"vec4(0.0)"};function hse(e){let t=e.replace(/_[0-9]+$/,"");t=t.replace(/(MC|EC)$/,"");let n=KHe[t],i=ZHe[t];if(!!l(n))return{attributeField:[n,e],value:i}}function $He(e,t,n){let i=mse(t,e.usedVariablesVertex.attributeSet,!1),o=i.addToShader,r=i.missingAttributes,s,a,c=[],u=[];for(s in o)if(o.hasOwnProperty(s)){let d=[o[s].glslType,s];c.push(d),a=`vsInput.attributes.${s} = attributes.${s};`,u.push(a)}for(let f=0;f<r.length;f++){s=r[f];let d=hse(s);if(!l(d)){oo._oneTimeWarning("CustomShaderPipelineStage.incompatiblePrimitiveVS",`Primitive is missing attribute ${s}, disabling custom vertex shader`);return}c.push(d.attributeField),a=`vsInput.attributes.${s} = ${d.value};`,u.push(a)}n.enabled=!0,n.attributeFields=c,n.initializationLines=u}function JHe(e){let t=[],n=[],i=e.usedVariablesFragment.attributeSet;return i.hasOwnProperty("positionWC")&&(t.push(["vec3","positionWC"]),n.push("fsInput.attributes.positionWC = attributes.positionWC;")),i.hasOwnProperty("positionEC")&&(t.push(["vec3","positionEC"]),n.push("fsInput.attributes.positionEC = attributes.positionEC;")),{attributeFields:t,initializationLines:n}}function QHe(e,t,n){let i=mse(t,e.usedVariablesFragment.attributeSet,!0),o=i.addToShader,r=i.missingAttributes,s,a,c=[],u=[];for(s in o)if(o.hasOwnProperty(s)){let p=[o[s].glslType,s];c.push(p),a=`fsInput.attributes.${s} = attributes.${s};`,u.push(a)}for(let d=0;d<r.length;d++){s=r[d];let p=hse(s);if(!l(p)){oo._oneTimeWarning("CustomShaderPipelineStage.incompatiblePrimitiveFS",`Primitive is missing attribute ${s}, disabling custom fragment shader.`);return}c.push(p.attributeField),a=`fsInput.attributes.${s} = ${p.value};`,u.push(a)}let f=JHe(e);n.enabled=!0,n.attributeFields=c.concat(f.attributeFields),n.initializationLines=f.initializationLines.concat(u)}var e5e={positionWC:!0,positionEC:!0};function mse(e,t,n){let i,o,r={};for(o in e)if(e.hasOwnProperty(o)){let a=e[o];i=o,n&&o==="normalMC"?i="normalEC":n&&o==="tangentMC"&&(i="tangentEC"),t.hasOwnProperty(i)&&(r[i]=a)}let s=[];for(o in t)if(t.hasOwnProperty(o)){if(e5e.hasOwnProperty(o))continue;i=o,n&&o==="normalEC"?i="normalMC":n&&o==="tangentEC"&&(i="tangentMC"),e.hasOwnProperty(i)||s.push(o)}return{addToShader:r,missingAttributes:s}}function t5e(e,t){let n={enabled:!1},i={enabled:!1},o=XHe(t.attributes);l(e.vertexShaderText)&&$He(e,o,n),l(e.fragmentShaderText)&&QHe(e,o,i);let s=e.usedVariablesFragment.attributeSet.hasOwnProperty("positionWC")&&i.enabled;return{vertexLines:n,fragmentLines:i,vertexLinesEnabled:n.enabled,fragmentLinesEnabled:i.enabled,customShaderEnabled:n.enabled||i.enabled,shouldComputePositionWC:s}}function n5e(e,t){let n,i=oo.STRUCT_ID_ATTRIBUTES_VS;e.addStruct(i,oo.STRUCT_NAME_ATTRIBUTES,Te.VERTEX);let o=t.attributeFields;for(n=0;n<o.length;n++){let a=o[n],c=a[0],u=a[1];e.addStructField(i,c,u)}i=oo.STRUCT_ID_VERTEX_INPUT,e.addStruct(i,oo.STRUCT_NAME_VERTEX_INPUT,Te.VERTEX),e.addStructField(i,oo.STRUCT_NAME_ATTRIBUTES,"attributes"),e.addStructField(i,By.STRUCT_NAME_FEATURE_IDS,"featureIds"),e.addStructField(i,Xm.STRUCT_NAME_METADATA,"metadata"),e.addStructField(i,Xm.STRUCT_NAME_METADATACLASS,"metadataClass");let r=oo.FUNCTION_ID_INITIALIZE_INPUT_STRUCT_VS;e.addFunction(r,oo.FUNCTION_SIGNATURE_INITIALIZE_INPUT_STRUCT_VS,Te.VERTEX);let s=t.initializationLines;e.addFunctionLines(r,s)}function i5e(e,t){let n,i=oo.STRUCT_ID_ATTRIBUTES_FS;e.addStruct(i,oo.STRUCT_NAME_ATTRIBUTES,Te.FRAGMENT);let o,r,s,a=t.attributeFields;for(n=0;n<a.length;n++)o=a[n],r=o[0],s=o[1],e.addStructField(i,r,s);i=oo.STRUCT_ID_FRAGMENT_INPUT,e.addStruct(i,oo.STRUCT_NAME_FRAGMENT_INPUT,Te.FRAGMENT),e.addStructField(i,oo.STRUCT_NAME_ATTRIBUTES,"attributes"),e.addStructField(i,By.STRUCT_NAME_FEATURE_IDS,"featureIds"),e.addStructField(i,Xm.STRUCT_NAME_METADATA,"metadata"),e.addStructField(i,Xm.STRUCT_NAME_METADATACLASS,"metadataClass");let c=oo.FUNCTION_ID_INITIALIZE_INPUT_STRUCT_FS;e.addFunction(c,oo.FUNCTION_SIGNATURE_INITIALIZE_INPUT_STRUCT_FS,Te.FRAGMENT);let u=t.initializationLines;e.addFunctionLines(c,u)}var o5e=[];function r5e(e,t,n){let i=n.vertexLines,o=o5e;i.enabled&&(n5e(e,i),o.length=0,o.push("#line 0",t.vertexShaderText,mN),e.addVertexLines(o));let r=n.fragmentLines;r.enabled&&(i5e(e,r),o.length=0,o.push("#line 0",t.fragmentShaderText,pN),e.addFragmentLines(o))}oo._oneTimeWarning=Bt;var AN=oo;var ig={};ig.name="DequantizationPipelineStage";ig.FUNCTION_ID_DEQUANTIZATION_STAGE_VS="dequantizationStage";ig.FUNCTION_SIGNATURE_DEQUANTIZATION_STAGE_VS="void dequantizationStage(inout ProcessedAttributes attributes)";ig.process=function(e,t,n){let i=e.shaderBuilder,o=e.model,r=l(o.classificationType);i.addDefine("USE_DEQUANTIZATION",void 0,Te.VERTEX),i.addFunction(ig.FUNCTION_ID_DEQUANTIZATION_STAGE_VS,ig.FUNCTION_SIGNATURE_DEQUANTIZATION_STAGE_VS,Te.VERTEX);let s=t.attributes;for(let a=0;a<s.length;a++){let c=s[a],u=c.quantization;if(!l(u))continue;let f=c.semantic===xt.POSITION,d=c.semantic===xt.TEXCOORD;if(r&&!f&&!d)continue;let p=Xt.getAttributeInfo(c);a5e(i,p),s5e(e,p)}};function s5e(e,t){let n=e.shaderBuilder,i=e.uniformMap,o=t.variableName,r=t.attribute.quantization;if(r.octEncoded){let s=`model_normalizationRange_${o}`;n.addUniform("float",s,Te.VERTEX),i[s]=function(){return r.normalizationRange}}else{let s=`model_quantizedVolumeOffset_${o}`,a=`model_quantizedVolumeStepSize_${o}`,c=t.glslType;n.addUniform(c,s,Te.VERTEX),n.addUniform(c,a,Te.VERTEX);let u=r.quantizedVolumeOffset,f=r.quantizedVolumeStepSize;/^color_\d+$/.test(o)&&(u=pse(u,0),f=pse(f,1)),i[s]=function(){return u},i[a]=function(){return f}}}function pse(e,t){return e instanceof se?e:new se(e.x,e.y,e.z,t)}function a5e(e,t){let n=t.variableName,i=t.attribute.quantization,o;i.octEncoded?o=c5e(n,i):o=l5e(n),e.addFunctionLines(ig.FUNCTION_ID_DEQUANTIZATION_STAGE_VS,[o])}function c5e(e,t){let n=`attributes.${e}`,i=`a_quantized_${e}`,o=`model_normalizationRange_${e}`,r=t.octEncodedZXY?".zxy":".xyz";return`${n} = czm_octDecode(${i}, ${o})${r};`}function l5e(e){let t=`attributes.${e}`,n=`a_quantized_${e}`,i=`model_quantizedVolumeOffset_${e}`,o=`model_quantizedVolumeStepSize_${e}`;return`${t} = ${i} + ${n} * ${o};`}var TN=ig;var EN=`void geometryStage(out ProcessedAttributes attributes)
  3969. {
  3970. attributes.positionMC = v_positionMC;
  3971. attributes.positionEC = v_positionEC;
  3972. #ifdef COMPUTE_POSITION_WC_CUSTOM_SHADER
  3973. attributes.positionWC = v_positionWC;
  3974. #endif
  3975. #ifdef HAS_NORMALS
  3976. attributes.normalEC = normalize(v_normalEC);
  3977. #endif
  3978. #ifdef HAS_TANGENTS
  3979. attributes.tangentEC = normalize(v_tangentEC);
  3980. #endif
  3981. #ifdef HAS_BITANGENTS
  3982. attributes.bitangentEC = normalize(v_bitangentEC);
  3983. #endif
  3984. setDynamicVaryings(attributes);
  3985. }
  3986. `;var bN=`vec4 geometryStage(inout ProcessedAttributes attributes, mat4 modelView, mat3 normal)
  3987. {
  3988. vec4 computedPosition;
  3989. vec3 positionMC = attributes.positionMC;
  3990. v_positionMC = positionMC;
  3991. v_positionEC = (modelView * vec4(positionMC, 1.0)).xyz;
  3992. #if defined(USE_2D_POSITIONS) || defined(USE_2D_INSTANCING)
  3993. vec3 position2D = attributes.position2D;
  3994. vec3 positionEC = (u_modelView2D * vec4(position2D, 1.0)).xyz;
  3995. computedPosition = czm_projection * vec4(positionEC, 1.0);
  3996. #else
  3997. computedPosition = czm_projection * vec4(v_positionEC, 1.0);
  3998. #endif
  3999. #if defined(COMPUTE_POSITION_WC_CUSTOM_SHADER) || defined(COMPUTE_POSITION_WC_STYLE)
  4000. v_positionWC = (czm_model * vec4(positionMC, 1.0)).xyz;
  4001. #endif
  4002. #ifdef HAS_NORMALS
  4003. v_normalEC = normalize(normal * attributes.normalMC);
  4004. #endif
  4005. #ifdef HAS_TANGENTS
  4006. v_tangentEC = normalize(normal * attributes.tangentMC);
  4007. #endif
  4008. #ifdef HAS_BITANGENTS
  4009. v_bitangentEC = normalize(normal * attributes.bitangentMC);
  4010. #endif
  4011. setDynamicVaryings(attributes);
  4012. return computedPosition;
  4013. }
  4014. `;var bw=`vec2 computeSt(float featureId)
  4015. {
  4016. float stepX = model_textureStep.x;
  4017. float centerX = model_textureStep.y;
  4018. #ifdef MULTILINE_BATCH_TEXTURE
  4019. float stepY = model_textureStep.z;
  4020. float centerY = model_textureStep.w;
  4021. float xId = mod(featureId, model_textureDimensions.x);
  4022. float yId = floor(featureId / model_textureDimensions.x);
  4023. return vec2(centerX + (xId * stepX), centerY + (yId * stepY));
  4024. #else
  4025. return vec2(centerX + (featureId * stepX), 0.5);
  4026. #endif
  4027. }
  4028. void selectedFeatureIdStage(out SelectedFeature feature, FeatureIds featureIds)
  4029. {
  4030. int featureId = featureIds.SELECTED_FEATURE_ID;
  4031. if (featureId < model_featuresLength)
  4032. {
  4033. vec2 featureSt = computeSt(float(featureId));
  4034. feature.id = featureId;
  4035. feature.st = featureSt;
  4036. feature.color = texture2D(model_batchTexture, featureSt);
  4037. }
  4038. else
  4039. {
  4040. feature.id = model_featuresLength + 1;
  4041. feature.st = vec2(0.0);
  4042. feature.color = vec4(1.0);
  4043. }
  4044. #ifdef HAS_NULL_FEATURE_ID
  4045. if (featureId == model_nullFeatureId) {
  4046. feature.id = featureId;
  4047. feature.st = vec2(0.0);
  4048. feature.color = vec4(1.0);
  4049. }
  4050. #endif
  4051. }
  4052. `;var Mf={};Mf.name="SelectedFeatureIdPipelineStage";Mf.STRUCT_ID_SELECTED_FEATURE="SelectedFeature";Mf.STRUCT_NAME_SELECTED_FEATURE="SelectedFeature";Mf.FUNCTION_ID_FEATURE_VARYINGS_VS="updateFeatureStructVS";Mf.FUNCTION_ID_FEATURE_VARYINGS_FS="updateFeatureStructFS";Mf.FUNCTION_SIGNATURE_UPDATE_FEATURE="void updateFeatureStruct(inout SelectedFeature feature)";Mf.process=function(e,t,n){let i=e.shaderBuilder;e.hasPropertyTable=!0;let o=e.model,r=e.runtimeNode.node,s=u5e(o,r,t),a=s.shaderDestination;i.addDefine("HAS_SELECTED_FEATURE_ID",void 0,a),i.addDefine("SELECTED_FEATURE_ID",s.variableName,a),i.addDefine(s.featureIdDefine,void 0,a),f5e(i);let c=s.featureIds.nullFeatureId,u=e.uniformMap;l(c)&&(i.addDefine("HAS_NULL_FEATURE_ID",void 0,a),i.addUniform("int","model_nullFeatureId",a),u.model_nullFeatureId=function(){return c}),s.shaderDestination===Te.BOTH&&i.addVertexLines(bw),i.addFragmentLines(bw)};function _se(e){return e instanceof Ft.FeatureIdTexture?"HAS_SELECTED_FEATURE_ID_TEXTURE":"HAS_SELECTED_FEATURE_ID_ATTRIBUTE"}function gse(e){return e instanceof Ft.FeatureIdTexture?Te.FRAGMENT:Te.BOTH}function u5e(e,t,n){let i,o;return l(t.instances)&&(o=Xt.getFeatureIdsByLabel(t.instances.featureIds,e.instanceFeatureIdLabel),l(o))?(i=y(o.label,o.positionalLabel),{featureIds:o,variableName:i,shaderDestination:gse(o),featureIdDefine:_se(o)}):(o=Xt.getFeatureIdsByLabel(n.featureIds,e.featureIdLabel),i=y(o.label,o.positionalLabel),{featureIds:o,variableName:i,shaderDestination:gse(o),featureIdDefine:_se(o)})}function f5e(e){e.addStructField(Mf.STRUCT_ID_SELECTED_FEATURE,"int","id"),e.addStructField(Mf.STRUCT_ID_SELECTED_FEATURE,"vec2","st"),e.addStructField(Mf.STRUCT_ID_SELECTED_FEATURE,"vec4","color")}var Ny=Mf;var Eo={};Eo.name="GeometryPipelineStage";Eo.STRUCT_ID_PROCESSED_ATTRIBUTES_VS="ProcessedAttributesVS";Eo.STRUCT_ID_PROCESSED_ATTRIBUTES_FS="ProcessedAttributesFS";Eo.STRUCT_NAME_PROCESSED_ATTRIBUTES="ProcessedAttributes";Eo.FUNCTION_ID_INITIALIZE_ATTRIBUTES="initializeAttributes";Eo.FUNCTION_SIGNATURE_INITIALIZE_ATTRIBUTES="void initializeAttributes(out ProcessedAttributes attributes)";Eo.FUNCTION_ID_SET_DYNAMIC_VARYINGS_VS="setDynamicVaryingsVS";Eo.FUNCTION_ID_SET_DYNAMIC_VARYINGS_FS="setDynamicVaryingsFS";Eo.FUNCTION_SIGNATURE_SET_DYNAMIC_VARYINGS="void setDynamicVaryings(inout ProcessedAttributes attributes)";Eo.process=function(e,t,n){let i=e.shaderBuilder,o=e.model;i.addStruct(Eo.STRUCT_ID_PROCESSED_ATTRIBUTES_VS,"ProcessedAttributes",Te.VERTEX),i.addStruct(Eo.STRUCT_ID_PROCESSED_ATTRIBUTES_FS,"ProcessedAttributes",Te.FRAGMENT),i.addStruct(Ny.STRUCT_ID_SELECTED_FEATURE,Ny.STRUCT_NAME_SELECTED_FEATURE,Te.BOTH),i.addFunction(Eo.FUNCTION_ID_INITIALIZE_ATTRIBUTES,Eo.FUNCTION_SIGNATURE_INITIALIZE_ATTRIBUTES,Te.VERTEX),i.addVarying("vec3","v_positionWC"),i.addVarying("vec3","v_positionEC"),i.addStructField(Eo.STRUCT_ID_PROCESSED_ATTRIBUTES_FS,"vec3","positionWC"),i.addStructField(Eo.STRUCT_ID_PROCESSED_ATTRIBUTES_FS,"vec3","positionEC"),i.addFunction(Eo.FUNCTION_ID_SET_DYNAMIC_VARYINGS_VS,Eo.FUNCTION_SIGNATURE_SET_DYNAMIC_VARYINGS,Te.VERTEX),i.addFunction(Eo.FUNCTION_ID_SET_DYNAMIC_VARYINGS_FS,Eo.FUNCTION_SIGNATURE_SET_DYNAMIC_VARYINGS,Te.FRAGMENT),o.type===Mr.TILE_PNTS&&i.addDefine("HAS_SRGB_COLOR",void 0,Te.FRAGMENT);let s=n.mode!==ee.SCENE3D&&!n.scene3DOnly&&o._projectTo2D,a=l(e.runtimeNode.node.instances),c=s&&!a,u=t.attributes.length;for(let f=0;f<u;f++){let d=t.attributes[f],p=tn.getAttributeLocationCount(d.type),g=d.semantic===xt.POSITION,m;p>1?(m=e.attributeIndex,e.attributeIndex+=p):g&&!c?m=0:m=e.attributeIndex++,d5e(e,d,m,p,s,a)}A5e(i,t.attributes),t.primitiveType===Ne.POINTS&&i.addDefine("PRIMITIVE_TYPE_POINTS"),i.addVertexLines(bN),i.addFragmentLines(EN)};function d5e(e,t,n,i,o,r){let s=e.shaderBuilder,a=Xt.getAttributeInfo(t),c=o&&!r;i>1?p5e(e,t,n,i):m5e(e,t,n,c),g5e(s,a,c),_5e(s,a),l(t.semantic)&&h5e(s,t),y5e(s,a,o),C5e(s,a,c),x5e(s,a)}function h5e(e,t){let n=t.semantic,i=t.setIndex;switch(n){case xt.NORMAL:e.addDefine("HAS_NORMALS");break;case xt.TANGENT:e.addDefine("HAS_TANGENTS");break;case xt.FEATURE_ID:e.addDefine(`HAS${n}_${i}`);break;case xt.TEXCOORD:case xt.COLOR:e.addDefine(`HAS_${n}_${i}`)}}function m5e(e,t,n,i){let o=t.quantization,r,s;l(o)?(r=o.type,s=o.componentDatatype):(r=t.type,s=t.componentDatatype);let a=t.semantic,c=t.setIndex;a===xt.FEATURE_ID&&c>=e.featureIdVertexAttributeSetIndex&&(e.featureIdVertexAttributeSetIndex=c+1);let u=a===xt.POSITION,f=u?0:n,d=tn.getNumberOfComponents(r),p={index:f,value:l(t.buffer)?void 0:t.constant,vertexBuffer:t.buffer,count:t.count,componentsPerAttribute:d,componentDatatype:s,offsetInBytes:t.byteOffset,strideInBytes:t.byteStride,normalize:t.normalized};if(e.attributes.push(p),!u||!i)return;let g=e.runtimePrimitive.positionBuffer2D,m={index:n,vertexBuffer:g,count:t.count,componentsPerAttribute:d,componentDatatype:Z.FLOAT,offsetInBytes:0,strideInBytes:void 0,normalize:t.normalized};e.attributes.push(m)}function p5e(e,t,n,i){let o=t.quantization,r,s;l(o)?(r=o.type,s=o.componentDatatype):(r=t.type,s=t.componentDatatype);let a=t.normalized,u=tn.getNumberOfComponents(r)/i,f=Z.getSizeInBytes(s),d=u*f,p=t.byteStride;for(let g=0;g<i;g++){let m=t.byteOffset+g*d,C={index:n+g,vertexBuffer:t.buffer,componentsPerAttribute:u,componentDatatype:s,offsetInBytes:m,strideInBytes:p,normalize:a};e.attributes.push(C)}}function _5e(e,t){let n=t.variableName,i=`v_${n}`,o;n==="normalMC"?(i="v_normalEC",o=t.glslType):n==="tangentMC"?(o="vec3",i="v_tangentEC"):o=t.glslType,e.addVarying(o,i)}function g5e(e,t,n){let i=t.attribute.semantic,o=t.variableName,r,s;t.isQuantized?(r=`a_quantized_${o}`,s=t.quantizedGlslType):(r=`a_${o}`,s=t.glslType);let a=i===xt.POSITION;a?e.setPositionAttribute(s,r):e.addAttribute(s,r),a&&n&&e.addAttribute("vec3","a_position2D")}function y5e(e,t,n){let i=Eo.STRUCT_ID_PROCESSED_ATTRIBUTES_VS,o=Eo.STRUCT_ID_PROCESSED_ATTRIBUTES_FS,r=t.variableName;r==="tangentMC"?(e.addStructField(i,"vec3","tangentMC"),e.addStructField(i,"float","tangentSignMC"),e.addStructField(o,"vec3","tangentEC")):r==="normalMC"?(e.addStructField(i,"vec3","normalMC"),e.addStructField(o,"vec3","normalEC")):(e.addStructField(i,t.glslType,r),e.addStructField(o,t.glslType,r)),r==="positionMC"&&n&&e.addStructField(i,"vec3","position2D")}function C5e(e,t,n){let i=Eo.FUNCTION_ID_INITIALIZE_ATTRIBUTES,o=t.variableName;if(o==="positionMC"&&n){let a="attributes.position2D = a_position2D;";e.addFunctionLines(i,[a])}if(t.isQuantized)return;let s=[];o==="tangentMC"?(s.push("attributes.tangentMC = a_tangentMC.xyz;"),s.push("attributes.tangentSignMC = a_tangentMC.w;")):s.push(`attributes.${o} = a_${o};`),e.addFunctionLines(i,s)}function x5e(e,t){let n=t.attribute.semantic,i=t.attribute.setIndex;if(l(n)&&!l(i))return;let o=Eo.FUNCTION_ID_SET_DYNAMIC_VARYINGS_VS,r=t.variableName,s=`v_${r} = attributes.${r};`;e.addFunctionLines(o,[s]),o=Eo.FUNCTION_ID_SET_DYNAMIC_VARYINGS_FS,s=`attributes.${r} = v_${r};`,e.addFunctionLines(o,[s])}function A5e(e,t){let n=!1,i=!1;for(let o=0;o<t.length;o++){let r=t[o];r.semantic===xt.NORMAL?n=!0:r.semantic===xt.TANGENT&&(i=!0)}!n||!i||(e.addDefine("HAS_BITANGENTS"),e.addVarying("vec3","v_bitangentEC"),e.addStructField(Eo.STRUCT_ID_PROCESSED_ATTRIBUTES_VS,"vec3","bitangentMC"),e.addStructField(Eo.STRUCT_ID_PROCESSED_ATTRIBUTES_FS,"vec3","bitangentEC"))}var SN=Eo;var wN=`#ifdef LIGHTING_PBR
  4053. vec3 computePbrLighting(czm_modelMaterial inputMaterial, ProcessedAttributes attributes)
  4054. {
  4055. czm_pbrParameters pbrParameters;
  4056. pbrParameters.diffuseColor = inputMaterial.diffuse;
  4057. pbrParameters.f0 = inputMaterial.specular;
  4058. pbrParameters.roughness = inputMaterial.roughness;
  4059. #ifdef USE_CUSTOM_LIGHT_COLOR
  4060. vec3 lightColorHdr = model_lightColorHdr;
  4061. #else
  4062. vec3 lightColorHdr = czm_lightColorHdr;
  4063. #endif
  4064. vec3 color = inputMaterial.diffuse;
  4065. #ifdef HAS_NORMALS
  4066. color = czm_pbrLighting(
  4067. attributes.positionEC,
  4068. inputMaterial.normalEC,
  4069. czm_lightDirectionEC,
  4070. lightColorHdr,
  4071. pbrParameters
  4072. );
  4073. #ifdef USE_IBL_LIGHTING
  4074. color += imageBasedLightingStage(
  4075. attributes.positionEC,
  4076. inputMaterial.normalEC,
  4077. czm_lightDirectionEC,
  4078. lightColorHdr,
  4079. pbrParameters
  4080. );
  4081. #endif
  4082. #endif
  4083. color *= inputMaterial.occlusion;
  4084. color += inputMaterial.emissive;
  4085. #ifndef HDR
  4086. color = czm_acesTonemapping(color);
  4087. #endif
  4088. return color;
  4089. }
  4090. #endif
  4091. void lightingStage(inout czm_modelMaterial material, ProcessedAttributes attributes)
  4092. {
  4093. vec3 color = vec3(0.0);
  4094. #ifdef LIGHTING_PBR
  4095. color = computePbrLighting(material, attributes);
  4096. #else // unlit
  4097. color = material.diffuse;
  4098. #endif
  4099. #ifdef HAS_POINT_CLOUD_COLOR_STYLE
  4100. color = czm_gammaCorrect(color);
  4101. #elif !defined(HDR)
  4102. color = czm_linearToSrgb(color);
  4103. #endif
  4104. material.diffuse = color;
  4105. }
  4106. `;var T5e={UNLIT:0,PBR:1},Km=Object.freeze(T5e);var X6={};X6.name="LightingPipelineStage";X6.process=function(e,t){let n=e.model,i=e.lightingOptions,o=e.shaderBuilder;if(l(n.lightColor)){o.addDefine("USE_CUSTOM_LIGHT_COLOR",void 0,Te.FRAGMENT),o.addUniform("vec3","model_lightColorHdr",Te.FRAGMENT);let s=e.uniformMap;s.model_lightColorHdr=function(){return n.lightColor}}i.lightingModel===Km.PBR?o.addDefine("LIGHTING_PBR",void 0,Te.FRAGMENT):o.addDefine("LIGHTING_UNLIT",void 0,Te.FRAGMENT),o.addFragmentLines(wN)};var vN=X6;var DN=`bool isDefaultStyleColor(vec3 color)
  4107. {
  4108. return all(greaterThan(color, vec3(1.0 - czm_epsilon3)));
  4109. }
  4110. vec3 blend(vec3 sourceColor, vec3 styleColor, float styleColorBlend)
  4111. {
  4112. vec3 blendColor = mix(sourceColor, styleColor, styleColorBlend);
  4113. vec3 color = isDefaultStyleColor(styleColor.rgb) ? sourceColor : blendColor;
  4114. return color;
  4115. }
  4116. vec2 computeTextureTransform(vec2 texCoord, mat3 textureTransform)
  4117. {
  4118. return vec2(textureTransform * vec3(texCoord, 1.0));
  4119. }
  4120. #ifdef HAS_NORMALS
  4121. vec3 computeNormal(ProcessedAttributes attributes)
  4122. {
  4123. vec3 ng = attributes.normalEC;
  4124. vec3 normal = ng;
  4125. #if defined(HAS_NORMAL_TEXTURE) && !defined(HAS_WIREFRAME)
  4126. vec2 normalTexCoords = TEXCOORD_NORMAL;
  4127. #ifdef HAS_NORMAL_TEXTURE_TRANSFORM
  4128. normalTexCoords = computeTextureTransform(normalTexCoords, u_normalTextureTransform);
  4129. #endif
  4130. #ifdef HAS_BITANGENTS
  4131. vec3 t = attributes.tangentEC;
  4132. vec3 b = attributes.bitangentEC;
  4133. mat3 tbn = mat3(t, b, ng);
  4134. vec3 n = texture2D(u_normalTexture, normalTexCoords).rgb;
  4135. normal = normalize(tbn * (2.0 * n - 1.0));
  4136. #elif defined(GL_OES_standard_derivatives)
  4137. vec3 positionEC = attributes.positionEC;
  4138. vec3 pos_dx = dFdx(positionEC);
  4139. vec3 pos_dy = dFdy(positionEC);
  4140. vec3 tex_dx = dFdx(vec3(normalTexCoords,0.0));
  4141. vec3 tex_dy = dFdy(vec3(normalTexCoords,0.0));
  4142. vec3 t = (tex_dy.t * pos_dx - tex_dx.t * pos_dy) / (tex_dx.s * tex_dy.t - tex_dy.s * tex_dx.t);
  4143. t = normalize(t - ng * dot(ng, t));
  4144. vec3 b = normalize(cross(ng, t));
  4145. mat3 tbn = mat3(t, b, ng);
  4146. vec3 n = texture2D(u_normalTexture, normalTexCoords).rgb;
  4147. normal = normalize(tbn * (2.0 * n - 1.0));
  4148. #endif
  4149. #endif
  4150. #ifdef HAS_DOUBLE_SIDED_MATERIAL
  4151. if (czm_backFacing()) {
  4152. normal = -normal;
  4153. }
  4154. #endif
  4155. return normal;
  4156. }
  4157. #endif
  4158. void materialStage(inout czm_modelMaterial material, ProcessedAttributes attributes, SelectedFeature feature)
  4159. {
  4160. #ifdef HAS_NORMALS
  4161. material.normalEC = computeNormal(attributes);
  4162. #endif
  4163. vec4 baseColorWithAlpha = vec4(1.0);
  4164. #ifdef HAS_BASE_COLOR_TEXTURE
  4165. vec2 baseColorTexCoords = TEXCOORD_BASE_COLOR;
  4166. #ifdef HAS_BASE_COLOR_TEXTURE_TRANSFORM
  4167. baseColorTexCoords = computeTextureTransform(baseColorTexCoords, u_baseColorTextureTransform);
  4168. #endif
  4169. baseColorWithAlpha = czm_srgbToLinear(texture2D(u_baseColorTexture, baseColorTexCoords));
  4170. #ifdef HAS_BASE_COLOR_FACTOR
  4171. baseColorWithAlpha *= u_baseColorFactor;
  4172. #endif
  4173. #elif defined(HAS_BASE_COLOR_FACTOR)
  4174. baseColorWithAlpha = u_baseColorFactor;
  4175. #endif
  4176. #ifdef HAS_POINT_CLOUD_COLOR_STYLE
  4177. baseColorWithAlpha = v_pointCloudColor;
  4178. #elif defined(HAS_COLOR_0)
  4179. vec4 color = attributes.color_0;
  4180. #ifdef HAS_SRGB_COLOR
  4181. color = czm_srgbToLinear(color);
  4182. #endif
  4183. baseColorWithAlpha *= color;
  4184. #endif
  4185. material.diffuse = baseColorWithAlpha.rgb;
  4186. material.alpha = baseColorWithAlpha.a;
  4187. #ifdef USE_CPU_STYLING
  4188. material.diffuse = blend(material.diffuse, feature.color.rgb, model_colorBlend);
  4189. #endif
  4190. #ifdef HAS_OCCLUSION_TEXTURE
  4191. vec2 occlusionTexCoords = TEXCOORD_OCCLUSION;
  4192. #ifdef HAS_OCCLUSION_TEXTURE_TRANSFORM
  4193. occlusionTexCoords = computeTextureTransform(occlusionTexCoords, u_occlusionTextureTransform);
  4194. #endif
  4195. material.occlusion = texture2D(u_occlusionTexture, occlusionTexCoords).r;
  4196. #endif
  4197. #ifdef HAS_EMISSIVE_TEXTURE
  4198. vec2 emissiveTexCoords = TEXCOORD_EMISSIVE;
  4199. #ifdef HAS_EMISSIVE_TEXTURE_TRANSFORM
  4200. emissiveTexCoords = computeTextureTransform(emissiveTexCoords, u_emissiveTextureTransform);
  4201. #endif
  4202. vec3 emissive = czm_srgbToLinear(texture2D(u_emissiveTexture, emissiveTexCoords).rgb);
  4203. #ifdef HAS_EMISSIVE_FACTOR
  4204. emissive *= u_emissiveFactor;
  4205. #endif
  4206. material.emissive = emissive;
  4207. #elif defined(HAS_EMISSIVE_FACTOR)
  4208. material.emissive = u_emissiveFactor;
  4209. #endif
  4210. #if defined(LIGHTING_PBR) && defined(USE_SPECULAR_GLOSSINESS)
  4211. #ifdef HAS_SPECULAR_GLOSSINESS_TEXTURE
  4212. vec2 specularGlossinessTexCoords = TEXCOORD_SPECULAR_GLOSSINESS;
  4213. #ifdef HAS_SPECULAR_GLOSSINESS_TEXTURE_TRANSFORM
  4214. specularGlossinessTexCoords = computeTextureTransform(specularGlossinessTexCoords, u_specularGlossinessTextureTransform);
  4215. #endif
  4216. vec4 specularGlossiness = czm_srgbToLinear(texture2D(u_specularGlossinessTexture, specularGlossinessTexCoords));
  4217. vec3 specular = specularGlossiness.rgb;
  4218. float glossiness = specularGlossiness.a;
  4219. #ifdef HAS_SPECULAR_FACTOR
  4220. specular *= u_specularFactor;
  4221. #endif
  4222. #ifdef HAS_GLOSSINESS_FACTOR
  4223. glossiness *= u_glossinessFactor;
  4224. #endif
  4225. #else
  4226. #ifdef HAS_SPECULAR_FACTOR
  4227. vec3 specular = clamp(u_specularFactor, vec3(0.0), vec3(1.0));
  4228. #else
  4229. vec3 specular = vec3(1.0);
  4230. #endif
  4231. #ifdef HAS_GLOSSINESS_FACTOR
  4232. float glossiness = clamp(u_glossinessFactor, 0.0, 1.0);
  4233. #else
  4234. float glossiness = 1.0;
  4235. #endif
  4236. #endif
  4237. #ifdef HAS_DIFFUSE_TEXTURE
  4238. vec2 diffuseTexCoords = TEXCOORD_DIFFUSE;
  4239. #ifdef HAS_DIFFUSE_TEXTURE_TRANSFORM
  4240. diffuseTexCoords = computeTextureTransform(diffuseTexCoords, u_diffuseTextureTransform);
  4241. #endif
  4242. vec4 diffuse = czm_srgbToLinear(texture2D(u_diffuseTexture, diffuseTexCoords));
  4243. #ifdef HAS_DIFFUSE_FACTOR
  4244. diffuse *= u_diffuseFactor;
  4245. #endif
  4246. #elif defined(HAS_DIFFUSE_FACTOR)
  4247. vec4 diffuse = clamp(u_diffuseFactor, vec4(0.0), vec4(1.0));
  4248. #else
  4249. vec4 diffuse = vec4(1.0);
  4250. #endif
  4251. czm_pbrParameters parameters = czm_pbrSpecularGlossinessMaterial(
  4252. diffuse.rgb,
  4253. specular,
  4254. glossiness
  4255. );
  4256. material.diffuse = parameters.diffuseColor;
  4257. material.alpha = diffuse.a;
  4258. material.specular = parameters.f0;
  4259. material.roughness = parameters.roughness;
  4260. #elif defined(LIGHTING_PBR)
  4261. #ifdef HAS_METALLIC_ROUGHNESS_TEXTURE
  4262. vec2 metallicRoughnessTexCoords = TEXCOORD_METALLIC_ROUGHNESS;
  4263. #ifdef HAS_METALLIC_ROUGHNESS_TEXTURE_TRANSFORM
  4264. metallicRoughnessTexCoords = computeTextureTransform(metallicRoughnessTexCoords, u_metallicRoughnessTextureTransform);
  4265. #endif
  4266. vec3 metallicRoughness = texture2D(u_metallicRoughnessTexture, metallicRoughnessTexCoords).rgb;
  4267. float metalness = clamp(metallicRoughness.b, 0.0, 1.0);
  4268. float roughness = clamp(metallicRoughness.g, 0.04, 1.0);
  4269. #ifdef HAS_METALLIC_FACTOR
  4270. metalness *= u_metallicFactor;
  4271. #endif
  4272. #ifdef HAS_ROUGHNESS_FACTOR
  4273. roughness *= u_roughnessFactor;
  4274. #endif
  4275. #else
  4276. #ifdef HAS_METALLIC_FACTOR
  4277. float metalness = clamp(u_metallicFactor, 0.0, 1.0);
  4278. #else
  4279. float metalness = 1.0;
  4280. #endif
  4281. #ifdef HAS_ROUGHNESS_FACTOR
  4282. float roughness = clamp(u_roughnessFactor, 0.04, 1.0);
  4283. #else
  4284. float roughness = 1.0;
  4285. #endif
  4286. #endif
  4287. czm_pbrParameters parameters = czm_pbrMetallicRoughnessMaterial(
  4288. material.diffuse,
  4289. metalness,
  4290. roughness
  4291. );
  4292. material.diffuse = parameters.diffuseColor;
  4293. material.specular = parameters.f0;
  4294. material.roughness = parameters.roughness;
  4295. #endif
  4296. }
  4297. `;var E5e=Ft.Material,K6=Ft.MetallicRoughness,Z6=Ft.SpecularGlossiness,Sw={};Sw.name="MaterialPipelineStage";Sw.process=function(e,t,n){let i=t.material,o=e.model,r=l(o.classificationType),s=r,a=e.uniformMap,c=e.shaderBuilder,u=n.context.defaultTexture,f=n.context.defaultNormalTexture,d=n.context.defaultEmissiveTexture;b5e(i,a,c,u,f,d,s),l(i.specularGlossiness)?S5e(i,a,c,u,s):w5e(i,a,c,u,s);let p=Xt.getAttributeBySemantic(t,xt.NORMAL),g=e.lightingOptions;i.unlit||!p||r?g.lightingModel=Km.UNLIT:g.lightingModel=Km.PBR;let m=o.backFaceCulling&&!i.doubleSided;e.renderStateOptions.cull.enabled=m;let C=e.alphaOptions;i.alphaMode===Vm.BLEND?C.pass=xe.TRANSLUCENT:i.alphaMode===Vm.MASK&&(C.alphaCutoff=i.alphaCutoff),c.addFragmentLines(DN),i.doubleSided&&c.addDefine("HAS_DOUBLE_SIDED_MATERIAL",void 0,Te.BOTH)};function yse(e,t,n,i,o){let r=`HAS_${o}_TEXTURE_TRANSFORM`;e.addDefine(r,void 0,Te.FRAGMENT);let s=`${i}Transform`;e.addUniform("mat3",s,Te.FRAGMENT),t[s]=function(){return n.transform}}function og(e,t,n,i,o,r){e.addUniform("sampler2D",i,Te.FRAGMENT),t[i]=function(){return y(n.texture,r)};let s=`HAS_${o}_TEXTURE`;e.addDefine(s,void 0,Te.FRAGMENT);let c=`v_texCoord_${n.texCoord}`,u=`TEXCOORD_${o}`;e.addDefine(u,c,Te.FRAGMENT);let f=n.transform;l(f)&&!J.equals(f,J.IDENTITY)&&yse(e,t,n,i,o)}function b5e(e,t,n,i,o,r,s){let a=e.emissiveTexture;l(a)&&!s&&og(n,t,a,"u_emissiveTexture","EMISSIVE",r);let c=e.emissiveFactor;l(c)&&!h.equals(c,E5e.DEFAULT_EMISSIVE_FACTOR)&&(n.addUniform("vec3","u_emissiveFactor",Te.FRAGMENT),t.u_emissiveFactor=function(){return e.emissiveFactor},n.addDefine("HAS_EMISSIVE_FACTOR",void 0,Te.FRAGMENT));let u=e.normalTexture;l(u)&&!s&&og(n,t,u,"u_normalTexture","NORMAL",o);let f=e.occlusionTexture;l(f)&&!s&&og(n,t,f,"u_occlusionTexture","OCCLUSION",i)}function S5e(e,t,n,i,o){let r=e.specularGlossiness;n.addDefine("USE_SPECULAR_GLOSSINESS",void 0,Te.FRAGMENT);let s=r.diffuseTexture;l(s)&&!o&&og(n,t,s,"u_diffuseTexture","DIFFUSE",i);let a=r.diffuseFactor;l(a)&&!se.equals(a,Z6.DEFAULT_DIFFUSE_FACTOR)&&(n.addUniform("vec4","u_diffuseFactor",Te.FRAGMENT),t.u_diffuseFactor=function(){return r.diffuseFactor},n.addDefine("HAS_DIFFUSE_FACTOR",void 0,Te.FRAGMENT));let c=r.specularGlossinessTexture;l(c)&&!o&&og(n,t,c,"u_specularGlossinessTexture","SPECULAR_GLOSSINESS",i);let u=r.specularFactor;l(u)&&!h.equals(u,Z6.DEFAULT_SPECULAR_FACTOR)&&(n.addUniform("vec3","u_specularFactor",Te.FRAGMENT),t.u_specularFactor=function(){return r.specularFactor},n.addDefine("HAS_SPECULAR_FACTOR",void 0,Te.FRAGMENT));let f=r.glossinessFactor;l(f)&&f!==Z6.DEFAULT_GLOSSINESS_FACTOR&&(n.addUniform("float","u_glossinessFactor",Te.FRAGMENT),t.u_glossinessFactor=function(){return r.glossinessFactor},n.addDefine("HAS_GLOSSINESS_FACTOR",void 0,Te.FRAGMENT))}function w5e(e,t,n,i,o){let r=e.metallicRoughness;n.addDefine("USE_METALLIC_ROUGHNESS",void 0,Te.FRAGMENT);let s=r.baseColorTexture;l(s)&&!o&&og(n,t,s,"u_baseColorTexture","BASE_COLOR",i);let a=r.baseColorFactor;l(a)&&!se.equals(a,K6.DEFAULT_BASE_COLOR_FACTOR)&&(n.addUniform("vec4","u_baseColorFactor",Te.FRAGMENT),t.u_baseColorFactor=function(){return r.baseColorFactor},n.addDefine("HAS_BASE_COLOR_FACTOR",void 0,Te.FRAGMENT));let c=r.metallicRoughnessTexture;l(c)&&!o&&og(n,t,c,"u_metallicRoughnessTexture","METALLIC_ROUGHNESS",i);let u=r.metallicFactor;l(u)&&u!==K6.DEFAULT_METALLIC_FACTOR&&(n.addUniform("float","u_metallicFactor",Te.FRAGMENT),t.u_metallicFactor=function(){return r.metallicFactor},n.addDefine("HAS_METALLIC_FACTOR",void 0,Te.FRAGMENT));let f=r.roughnessFactor;l(f)&&f!==K6.DEFAULT_ROUGHNESS_FACTOR&&(n.addUniform("float","u_roughnessFactor",Te.FRAGMENT),t.u_roughnessFactor=function(){return r.roughnessFactor},n.addDefine("HAS_ROUGHNESS_FACTOR",void 0,Te.FRAGMENT))}Sw._processTexture=og;Sw._processTextureTransform=yse;var PN=Sw;var IN=`void morphTargetsStage(inout ProcessedAttributes attributes)
  4298. {
  4299. vec3 positionMC = attributes.positionMC;
  4300. attributes.positionMC = getMorphedPosition(positionMC);
  4301. #ifdef HAS_NORMALS
  4302. vec3 normalMC = attributes.normalMC;
  4303. attributes.normalMC = getMorphedNormal(normalMC);
  4304. #endif
  4305. #ifdef HAS_TANGENTS
  4306. vec3 tangentMC = attributes.tangentMC;
  4307. attributes.tangentMC = getMorphedTangent(tangentMC);
  4308. #endif
  4309. }
  4310. `;var cr={};cr.name="MorphTargetsPipelineStage";cr.FUNCTION_ID_GET_MORPHED_POSITION="getMorphedPosition";cr.FUNCTION_SIGNATURE_GET_MORPHED_POSITION="vec3 getMorphedPosition(in vec3 position)";cr.FUNCTION_ID_GET_MORPHED_NORMAL="getMorphedNormal";cr.FUNCTION_SIGNATURE_GET_MORPHED_NORMAL="vec3 getMorphedNormal(in vec3 normal)";cr.FUNCTION_ID_GET_MORPHED_TANGENT="getMorphedTangent";cr.FUNCTION_SIGNATURE_GET_MORPHED_TANGENT="vec3 getMorphedTangent(in vec3 tangent)";cr.process=function(e,t){let n=e.shaderBuilder;n.addDefine("HAS_MORPH_TARGETS",void 0,Te.VERTEX),R5e(n);let i=t.morphTargets.length;for(let a=0;a<i;a++){let c=t.morphTargets[a].attributes,u=c.length;for(let f=0;f<u;f++){let d=c[f],p=d.semantic;p!==xt.POSITION&&p!==xt.NORMAL&&p!==xt.TANGENT||(D5e(e,d,e.attributeIndex,a),e.attributeIndex++)}}M5e(n);let r=e.runtimeNode.morphWeights.length;n.addUniform("float",`u_morphWeights[${r}]`,Te.VERTEX),n.addVertexLines(IN);let s={u_morphWeights:function(){return e.runtimeNode.morphWeights}};e.uniformMap=mt(s,e.uniformMap)};var v5e={attributeString:void 0,functionId:void 0};function D5e(e,t,n,i){let o=e.shaderBuilder;P5e(e,t,n);let r=I5e(t,v5e);O5e(o,r,i)}function P5e(e,t,n){let i={index:n,value:l(t.buffer)?void 0:t.constant,vertexBuffer:t.buffer,componentsPerAttribute:tn.getNumberOfComponents(t.type),componentDatatype:t.componentDatatype,offsetInBytes:t.byteOffset,strideInBytes:t.byteStride,normalize:t.normalized};e.attributes.push(i)}function I5e(e,t){switch(e.semantic){case xt.POSITION:t.attributeString="Position",t.functionId=cr.FUNCTION_ID_GET_MORPHED_POSITION;break;case xt.NORMAL:t.attributeString="Normal",t.functionId=cr.FUNCTION_ID_GET_MORPHED_NORMAL;break;case xt.TANGENT:t.attributeString="Tangent",t.functionId=cr.FUNCTION_ID_GET_MORPHED_TANGENT;break;default:break}return t}function O5e(e,t,n){let i=t.attributeString,o=`a_target${i}_${n}`,r=`morphed${i} += u_morphWeights[${n}] * a_target${i}_${n};`;e.addAttribute("vec3",o),e.addFunctionLines(t.functionId,[r])}function R5e(e){e.addFunction(cr.FUNCTION_ID_GET_MORPHED_POSITION,cr.FUNCTION_SIGNATURE_GET_MORPHED_POSITION,Te.VERTEX);let t="vec3 morphedPosition = position;";e.addFunctionLines(cr.FUNCTION_ID_GET_MORPHED_POSITION,[t]),e.addFunction(cr.FUNCTION_ID_GET_MORPHED_NORMAL,cr.FUNCTION_SIGNATURE_GET_MORPHED_NORMAL,Te.VERTEX);let n="vec3 morphedNormal = normal;";e.addFunctionLines(cr.FUNCTION_ID_GET_MORPHED_NORMAL,[n]),e.addFunction(cr.FUNCTION_ID_GET_MORPHED_TANGENT,cr.FUNCTION_SIGNATURE_GET_MORPHED_TANGENT,Te.VERTEX);let i="vec3 morphedTangent = tangent;";e.addFunctionLines(cr.FUNCTION_ID_GET_MORPHED_TANGENT,[i])}function M5e(e){let t="return morphedPosition;";e.addFunctionLines(cr.FUNCTION_ID_GET_MORPHED_POSITION,[t]);let n="return morphedNormal;";e.addFunctionLines(cr.FUNCTION_ID_GET_MORPHED_NORMAL,[n]);let i="return morphedTangent;";e.addFunctionLines(cr.FUNCTION_ID_GET_MORPHED_TANGENT,[i])}var ON=cr;var $6={};$6.name="PickingPipelineStage";$6.process=function(e,t,n){let i=n.context,o=e.runtimeNode,r=e.shaderBuilder,s=e.model,a=o.node.instances;if(e.hasPropertyTable)B5e(e,t,a,i);else if(l(a))L5e(e,i);else{let c=Cse(e),u=i.createPickId(c);s._pipelineResources.push(u),s._pickIds.push(u),r.addUniform("vec4","czm_pickColor",Te.FRAGMENT);let f=e.uniformMap;f.czm_pickColor=function(){return u.color},e.pickId="czm_pickColor"}};function Cse(e,t){let n=e.model,i={model:n,node:e.runtimeNode,primitive:e.runtimePrimitive},o;if(Mr.is3DTiles(n.type)){let r=n.content;o={content:r,primitive:r.tileset,detail:i}}else o={primitive:n,detail:i};return o.id=n.id,l(t)&&(o.instanceId=t),o}function B5e(e,t,n){let i=e.model,o,r,s=i.featureIdLabel,a=i.instanceFeatureIdLabel;l(i.featureTableId)?o=i.featureTableId:l(n)?(r=Xt.getFeatureIdsByLabel(n.featureIds,a),o=r.propertyTableId):(r=Xt.getFeatureIdsByLabel(t.featureIds,s),o=r.propertyTableId);let c=i.featureTables[o];e.shaderBuilder.addUniform("sampler2D","model_pickTexture",Te.FRAGMENT);let f=c.batchTexture;e.uniformMap.model_pickTexture=function(){return y(f.pickTexture,f.defaultTexture)},e.pickId="((selectedFeature.id < int(model_featuresLength)) ? texture2D(model_pickTexture, selectedFeature.st) : vec4(0.0))"}function L5e(e,t){let n=e.instanceCount,i=new Array(n),o=new Uint8Array(n*4),r=e.model,s=r._pipelineResources;for(let d=0;d<n;d++){let p=Cse(e,d),g=t.createPickId(p);s.push(g),i[d]=g;let m=g.color;o[d*4+0]=U.floatToByte(m.red),o[d*4+1]=U.floatToByte(m.green),o[d*4+2]=U.floatToByte(m.blue),o[d*4+3]=U.floatToByte(m.alpha)}r._pickIds=i;let a=ct.createVertexBuffer({context:t,typedArray:o,usage:Le.STATIC_DRAW});a.vertexArrayDestroyable=!1;let c=!1;r.statistics.addBuffer(a,c),s.push(a);let u={index:e.attributeIndex++,vertexBuffer:a,componentsPerAttribute:4,componentDatatype:Z.UNSIGNED_BYTE,normalize:!0,offsetInBytes:0,strideInBytes:0,instanceDivisor:1};e.attributes.push(u);let f=e.shaderBuilder;f.addDefine("USE_PICKING",void 0,Te.BOTH),f.addAttribute("vec4","a_pickColor"),f.addVarying("vec4","v_pickColor"),e.pickId="v_pickColor"}var RN=$6;var N5e={ADD:0,REPLACE:1},Br=Object.freeze(N5e);var MN=`float getPointSizeFromAttenuation(vec3 positionEC) {
  4311. float pointSize = model_pointCloudParameters.x;
  4312. float geometricError = model_pointCloudParameters.y;
  4313. float depthMultiplier = model_pointCloudParameters.z;
  4314. float depth = -positionEC.z;
  4315. return min((geometricError / depth) * depthMultiplier, pointSize);
  4316. }
  4317. #ifdef HAS_POINT_CLOUD_SHOW_STYLE
  4318. float pointCloudShowStylingStage(in ProcessedAttributes attributes, in Metadata metadata) {
  4319. float tiles3d_tileset_time = model_pointCloudParameters.w;
  4320. return float(getShowFromStyle(attributes, metadata, tiles3d_tileset_time));
  4321. }
  4322. #endif
  4323. #ifdef HAS_POINT_CLOUD_COLOR_STYLE
  4324. vec4 pointCloudColorStylingStage(in ProcessedAttributes attributes, in Metadata metadata) {
  4325. float tiles3d_tileset_time = model_pointCloudParameters.w;
  4326. return getColorFromStyle(attributes, metadata, tiles3d_tileset_time);
  4327. }
  4328. #endif
  4329. #ifdef HAS_POINT_CLOUD_POINT_SIZE_STYLE
  4330. float pointCloudPointSizeStylingStage(in ProcessedAttributes attributes, in Metadata metadata) {
  4331. float tiles3d_tileset_time = model_pointCloudParameters.w;
  4332. return float(getPointSizeFromStyle(attributes, metadata, tiles3d_tileset_time));
  4333. }
  4334. #elif defined(HAS_POINT_CLOUD_ATTENUATION)
  4335. float pointCloudPointSizeStylingStage(in ProcessedAttributes attributes, in Metadata metadata) {
  4336. return getPointSizeFromAttenuation(v_positionEC);
  4337. }
  4338. #endif
  4339. #ifdef HAS_POINT_CLOUD_BACK_FACE_CULLING
  4340. float pointCloudBackFaceCullingStage() {
  4341. #if defined(HAS_NORMALS) && !defined(HAS_DOUBLE_SIDED_MATERIAL)
  4342. return step(-v_normalEC.z, 0.0);
  4343. #else
  4344. return 1.0;
  4345. #endif
  4346. }
  4347. #endif
  4348. `;var F5e=new se,e9={};e9.name="PointCloudStylingPipelineStage";e9.process=function(e,t,n){let i=e.shaderBuilder,o=e.model,r=o.style,s=o.structuralMetadata,a=l(s)?s.propertyAttributes:void 0,c=l(o.featureTableId)&&o.featureTables[o.featureTableId].featuresLength>0,u=!l(a)&&c;if(l(r)&&!u){let C=z5e(a),x=H5e(r,C);G5e(i,x);let b=W5e(x).indexOf("normalMC")>=0,E=Xt.getAttributeBySemantic(t,xt.NORMAL);if(b&&!E)throw new de("Style references the NORMAL semantic but the point cloud does not have normals");i.addDefine("COMPUTE_POSITION_WC_STYLE",void 0,Te.VERTEX),x.styleTranslucent&&(e.alphaOptions.pass=xe.TRANSLUCENT)}let f=o.pointCloudShading;f.attenuation&&i.addDefine("HAS_POINT_CLOUD_ATTENUATION",void 0,Te.VERTEX),f.backFaceCulling&&i.addDefine("HAS_POINT_CLOUD_BACK_FACE_CULLING",void 0,Te.VERTEX);let d,p,g;Mr.is3DTiles(o.type)&&(p=!0,d=o.content,g=d.tile.refine===Br.ADD),i.addUniform("vec4","model_pointCloudParameters",Te.VERTEX),i.addVertexLines(MN);let m=e.uniformMap;m.model_pointCloudParameters=function(){let C=F5e,x=1;p&&(x=g?5:d.tileset.maximumScreenSpaceError),C.x=y(f.maximumAttenuation,x),C.x*=n.pixelRatio;let A=V5e(e,t,f,d);C.y=A*f.geometricErrorScale;let b=n.context,E=n.camera.frustum,S;return n.mode===ee.SCENE2D||E instanceof $t?S=Number.POSITIVE_INFINITY:S=b.drawingBufferHeight/n.camera.frustum.sseDenominator,C.z=S,p&&(C.w=d.tileset.timeSinceLoad),C}};var xse=new h;function V5e(e,t,n,i){if(l(i)){let f=i.tile.geometricError;if(f>0)return f}if(l(n.baseResolution))return n.baseResolution;let o=Xt.getAttributeBySemantic(t,xt.POSITION),r=o.count,s=e.runtimeNode.transform,a=h.subtract(o.max,o.min,xse);a=N.multiplyByPointAsVector(s,a,xse);let c=a.x*a.y*a.z;return I.cbrt(c/r)}var k5e={colorStyleFunction:void 0,showStyleFunction:void 0,pointSizeStyleFunction:void 0,styleTranslucent:!1},U5e={POSITION:"attributes.positionMC",POSITION_ABSOLUTE:"v_positionWC",COLOR:"attributes.color_0",NORMAL:"attributes.normalMC"};function z5e(e){let t=et(U5e);if(!l(e))return t;for(let n=0;n<e.length;n++){let o=e[n].properties;for(let r in o)o.hasOwnProperty(r)&&(t[r]=`metadata.${r}`)}return t}var J6="ProcessedAttributes attributes, Metadata metadata, float tiles3d_tileset_time";function H5e(e,t){let n=k5e,i={translucent:!1};return n.colorStyleFunction=e.getColorShaderFunction(`getColorFromStyle(${J6})`,t,i),n.showStyleFunction=e.getShowShaderFunction(`getShowFromStyle(${J6})`,t,i),n.pointSizeStyleFunction=e.getPointSizeShaderFunction(`getPointSizeFromStyle(${J6})`,t,i),n.styleTranslucent=l(n.colorStyleFunction)&&i.translucent,n}function G5e(e,t){let n=t.colorStyleFunction;l(n)&&(e.addDefine("HAS_POINT_CLOUD_COLOR_STYLE",void 0,Te.BOTH),e.addVertexLines(n),e.addVarying("vec4","v_pointCloudColor"));let i=t.showStyleFunction;l(i)&&(e.addDefine("HAS_POINT_CLOUD_SHOW_STYLE",void 0,Te.VERTEX),e.addVertexLines(i));let o=t.pointSizeStyleFunction;l(o)&&(e.addDefine("HAS_POINT_CLOUD_POINT_SIZE_STYLE",void 0,Te.VERTEX),e.addVertexLines(o))}function Q6(e,t){let n=/attributes\.(\w+)/g,i=n.exec(e);for(;i!==null;){let o=i[1];t.indexOf(o)===-1&&t.push(o),i=n.exec(e)}}function W5e(e){let t=e.colorStyleFunction,n=e.showStyleFunction,i=e.pointSizeStyleFunction,o=[];return l(t)&&Q6(t,o),l(n)&&Q6(n,o),l(i)&&Q6(i,o),o}var BN=e9;var LN=`void primitiveOutlineStage() {
  4349. v_outlineCoordinates = a_outlineCoordinates;
  4350. }
  4351. `;var NN=`void primitiveOutlineStage(inout czm_modelMaterial material) {
  4352. if (!model_showOutline) {
  4353. return;
  4354. }
  4355. float outlineX =
  4356. texture2D(model_outlineTexture, vec2(v_outlineCoordinates.x, 0.5)).r;
  4357. float outlineY =
  4358. texture2D(model_outlineTexture, vec2(v_outlineCoordinates.y, 0.5)).r;
  4359. float outlineZ =
  4360. texture2D(model_outlineTexture, vec2(v_outlineCoordinates.z, 0.5)).r;
  4361. float outlineness = max(outlineX, max(outlineY, outlineZ));
  4362. material.diffuse = mix(material.diffuse, model_outlineColor.rgb, model_outlineColor.a * outlineness);
  4363. }
  4364. `;var t9={};t9.name="PrimitiveOutlinePipelineStage";t9.process=function(e,t,n){let i=e.shaderBuilder,o=e.uniformMap;i.addDefine("HAS_PRIMITIVE_OUTLINE",void 0,Te.BOTH),i.addAttribute("vec3","a_outlineCoordinates"),i.addVarying("vec3","v_outlineCoordinates");let r=t.outlineCoordinates,s={index:e.attributeIndex++,vertexBuffer:r.buffer,componentsPerAttribute:tn.getNumberOfComponents(r.type),componentDatatype:r.componentDatatype,offsetInBytes:r.byteOffset,strideInBytes:r.byteStride,normalize:r.normalized};e.attributes.push(s),i.addUniform("sampler2D","model_outlineTexture",Te.FRAGMENT);let a=nT.createTexture(n.context);o.model_outlineTexture=function(){return a};let c=e.model;i.addUniform("vec4","model_outlineColor",Te.FRAGMENT),o.model_outlineColor=function(){return c.outlineColor},i.addUniform("bool","model_showOutline",Te.FRAGMENT),o.model_showOutline=function(){return c.showOutline},i.addVertexLines(LN),i.addFragmentLines(NN)};var FN=t9;var Zm={};Zm.name="PrimitiveStatisticsPipelineStage";Zm.process=function(e,t,n){let i=e.model,o=i.statistics;Ase(o,t),Tse(o,e.runtimePrimitive),Ese(o,t),bse(o,t.material),Sse(o,t.featureIds),wse(o,i)};function Ase(e,t){let n=l(t.indices)?t.indices.count:Xt.getAttributeBySemantic(t,"POSITION").count,i=t.primitiveType;i===Ne.POINTS?e.pointsLength+=n:Ne.isTriangles(i)&&(e.trianglesLength+=j5e(i,n));let o=t.attributes,r=o.length;for(let c=0;c<r;c++){let u=o[c];if(l(u.buffer)){let f=l(u.typedArray);e.addBuffer(u.buffer,f)}}let s=t.outlineCoordinates;l(s)&&l(s.buffer)&&e.addBuffer(s.buffer,!1);let a=t.indices;if(l(a)&&l(a.buffer)){let c=l(a.typedArray);e.addBuffer(a.buffer,c)}}function j5e(e,t){switch(e){case Ne.TRIANGLES:return t/3;case Ne.TRIANGLE_STRIP:case Ne.TRIANGLE_FAN:return Math.max(t-2,0);default:return 0}}function Tse(e,t){let n=t.positionBuffer2D;l(n)&&e.addBuffer(n,!0)}function Ese(e,t){let n=t.morphTargets;if(!l(n))return;let i=!1,o=n.length;for(let r=0;r<o;r++){let s=n[r].attributes,a=s.length;for(let c=0;c<a;c++){let u=s[c];l(u.buffer)&&e.addBuffer(u.buffer,i)}}}function bse(e,t){let n=q5e(t),i=n.length;for(let o=0;o<i;o++){let r=n[o];l(r)&&l(r.texture)&&e.addTexture(r.texture)}}function q5e(e){let t=e.metallicRoughness,n=[e.emissiveTexture,e.normalTexture,e.occlusionTexture,t.baseColorTexture,t.metallicRoughnessTexture],i=e.specularGlossiness;return l(i)&&(n.push(i.diffuseTexture),n.push(i.specularGlossinessTexture)),n}function Sse(e,t){let n=t.length;for(let i=0;i<n;i++){let o=t[i];if(o instanceof Ft.FeatureIdTexture){let r=o.textureReader;l(r.texture)&&e.addTexture(r.texture)}}}function wse(e,t){let n=t.structuralMetadata;l(n)&&(Y5e(e,n),e.propertyTablesByteLength+=n.propertyTablesByteLength);let i=t.featureTables;if(!l(i))return;let o=i.length;for(let r=0;r<o;r++){let s=i[r];e.addBatchTexture(s.batchTexture)}}function Y5e(e,t){let n=t.propertyTextures;if(!l(n))return;let i=n.length;for(let o=0;o<i;o++){let s=n[o].properties;for(let a in s)if(s.hasOwnProperty(a)){let u=s[a].textureReader;l(u.texture)&&e.addTexture(u.texture)}}}Zm._countGeometry=Ase;Zm._count2DPositions=Tse;Zm._countMorphTargetAttributes=Ese;Zm._countMaterialTextures=bse;Zm._countFeatureIdTextures=Sse;Zm._countBinaryMetadata=wse;var VN=Zm;var X5e=new N,K5e=new N,n9={};n9.name="SceneMode2DPipelineStage";n9.process=function(e,t,n){let i=Xt.getAttributeBySemantic(t,xt.POSITION),o=e.shaderBuilder,r=e.model,s=r.sceneGraph.computedModelMatrix,a=e.runtimeNode.computedTransform,c=N.multiplyTransformation(s,a,X5e),u=J5e(e,c,n),f=e.runtimePrimitive;f.boundingSphere2D=u;let d=e.runtimeNode.node.instances;if(l(d))return;if(l(i.typedArray)){let C=t8e(i,c,u,n);f.positionBuffer2D=C,r._modelResources.push(C),i.typedArray=void 0}o.addDefine("USE_2D_POSITIONS",void 0,Te.VERTEX),o.addUniform("mat4","u_modelView2D",Te.VERTEX);let p=N.fromTranslation(u.center,new N),g=n.context,m={u_modelView2D:function(){return N.multiplyTransformation(g.uniformState.view,p,K5e)}};e.uniformMap=mt(m,e.uniformMap)};var Z5e=new h,$5e=new h;function J5e(e,t,n){let i=N.multiplyByPoint(t,e.positionMin,Z5e),o=qi.computeActualWgs84Position(n,i,i),r=N.multiplyByPoint(t,e.positionMax,$5e),s=qi.computeActualWgs84Position(n,r,r);return re.fromCornerPoints(o,s,new re)}var vse=new h;function Q5e(e,t){let n=e.length,i=new Float32Array(n),o=t.quantizedVolumeOffset,r=t.quantizedVolumeStepSize;for(let s=0;s<n;s+=3){let a=h.fromArray(e,s,vse),c=h.multiplyComponents(a,r,a),u=h.add(c,o,c);i[s]=u.x,i[s+1]=u.y,i[s+2]=u.z}return i}function e8e(e,t,n,i){let o;l(e.quantization)?o=Q5e(e.typedArray,e.quantization):o=e.typedArray.slice();let r=e.byteOffset/Float32Array.BYTES_PER_ELEMENT,s=o.length,a=l(e.byteStride)?e.byteStride/Float32Array.BYTES_PER_ELEMENT:3;for(let c=r;c<s;c+=a){let u=h.fromArray(o,c,vse);if(isNaN(u.x)||isNaN(u.y)||isNaN(u.z))continue;let f=N.multiplyByPoint(t,u,u),d=qi.computeActualWgs84Position(i,f,f),p=h.subtract(d,n,d);o[c]=p.x,o[c+1]=p.y,o[c+2]=p.z}return o}function t8e(e,t,n,i){let o=et(i);o.mode=ee.COLUMBUS_VIEW;let r=n.center,s=e8e(e,t,r,o),a=ct.createVertexBuffer({context:i.context,typedArray:s,usage:Le.STATIC_DRAW});return a.vertexArrayDestroyable=!1,a}var kN=n9;var UN=`void skinningStage(inout ProcessedAttributes attributes)
  4365. {
  4366. mat4 skinningMatrix = getSkinningMatrix();
  4367. mat3 skinningMatrixMat3 = mat3(skinningMatrix);
  4368. vec4 positionMC = vec4(attributes.positionMC, 1.0);
  4369. attributes.positionMC = vec3(skinningMatrix * positionMC);
  4370. #ifdef HAS_NORMALS
  4371. vec3 normalMC = attributes.normalMC;
  4372. attributes.normalMC = skinningMatrixMat3 * normalMC;
  4373. #endif
  4374. #ifdef HAS_TANGENTS
  4375. vec3 tangentMC = attributes.tangentMC;
  4376. attributes.tangentMC = skinningMatrixMat3 * tangentMC;
  4377. #endif
  4378. }
  4379. `;var yh={};yh.name="SkinningPipelineStage";yh.FUNCTION_ID_GET_SKINNING_MATRIX="getSkinningMatrix";yh.FUNCTION_SIGNATURE_GET_SKINNING_MATRIX="mat4 getSkinningMatrix()";yh.process=function(e,t){let n=e.shaderBuilder;n.addDefine("HAS_SKINNING",void 0,Te.VERTEX),i8e(n,t);let i=e.runtimeNode,o=i.computedJointMatrices;n.addUniform("mat4",`u_jointMatrices[${o.length}]`,Te.VERTEX),n.addVertexLines(UN);let r={u_jointMatrices:function(){return i.computedJointMatrices}};e.uniformMap=mt(r,e.uniformMap)};function n8e(e){let t=-1,n=e.attributes,i=n.length;for(let o=0;o<i;o++){let r=n[o];(r.semantic===xt.JOINTS||r.semantic===xt.WEIGHTS)&&(t=Math.max(t,r.setIndex))}return t}function i8e(e,t){e.addFunction(yh.FUNCTION_ID_GET_SKINNING_MATRIX,yh.FUNCTION_SIGNATURE_GET_SKINNING_MATRIX,Te.VERTEX);let n="mat4 skinnedMatrix = mat4(0);";e.addFunctionLines(yh.FUNCTION_ID_GET_SKINNING_MATRIX,[n]);let i,o,r=["x","y","z","w"],s=n8e(t);for(i=0;i<=s;i++)for(o=0;o<=3;o++){let c=r[o],u=`skinnedMatrix += a_weights_${i}.${c} * u_jointMatrices[int(a_joints_${i}.${c})];`;e.addFunctionLines(yh.FUNCTION_ID_GET_SKINNING_MATRIX,[u])}let a="return skinnedMatrix;";e.addFunctionLines(yh.FUNCTION_ID_GET_SKINNING_MATRIX,[a])}var zN=yh;var i9={};i9.name="WireframePipelineStage";i9.process=function(e,t,n){e.shaderBuilder.addDefine("HAS_WIREFRAME",void 0,Te.FRAGMENT);let o=e.model,r=o8e(t,e.indices,n);o._pipelineResources.push(r),e.wireframeIndexBuffer=r;let s=!1;o.statistics.addBuffer(r,s);let a=e.primitiveType,c=e.count;e.primitiveType=Ne.LINES,e.count=pS.getWireframeIndicesCount(a,c)};function o8e(e,t,n){let o=Xt.getAttributeBySemantic(e,xt.POSITION).count,r=n.context.webgl2,s;if(l(t)){let f=t.buffer,d=t.count;l(f)&&r?(s=f.sizeInBytes===d?new Uint8Array(d):Be.createTypedArray(o,d),f.getBufferData(s)):s=t.typedArray}let a=e.primitiveType,c=pS.createWireframeIndices(a,o,s),u=Be.fromSizeInBytes(c.BYTES_PER_ELEMENT);return ct.createIndexBuffer({context:n.context,typedArray:c,usage:Le.STATIC_DRAW,indexDatatype:u})}var HN=i9;function Dse(e){e=y(e,y.EMPTY_OBJECT);let t=e.primitive,n=e.node,i=e.model;this.primitive=t,this.node=n,this.model=i,this.pipelineStages=[],this.drawCommand=void 0,this.boundingSphere=void 0,this.boundingSphere2D=void 0,this.positionBuffer2D=void 0,this.batchLengths=void 0,this.batchOffsets=void 0,this.updateStages=[]}Dse.prototype.configurePipeline=function(e){let t=this.pipelineStages;t.length=0;let n=this.primitive,i=this.node,o=this.model,r=o.customShader,s=o.style,a=e.context.webgl2,u=e.mode!==ee.SCENE3D&&!e.scene3DOnly&&o._projectTo2D,f=l(n.morphTargets)&&n.morphTargets.length>0,d=l(i.skin),p=l(r),m=!(p&&l(r.fragmentShaderText))||r.mode!==ng.REPLACE_MATERIAL,C=Xt.hasQuantizedAttributes(n.attributes),x=o.debugWireframe&&Ne.isTriangles(n.primitiveType)&&(o._enableDebugWireframe||a),A=o.pointCloudShading,b=l(A)&&A.attenuation,E=l(A)&&A.backFaceCulling,S=n.primitiveType===Ne.POINTS&&(l(s)||b||E),v=o._enableShowOutline&&l(n.outlineCoordinates),P=r8e(o,i,n),O=l(o.classificationType);u&&t.push(kN),t.push(SN),x&&t.push(HN),O&&t.push(uN),f&&t.push(ON),d&&t.push(zN),S&&t.push(BN),C&&t.push(TN),m&&t.push(PN),t.push(By),t.push(Xm),P.hasPropertyTable&&(t.push(Ny),t.push(lN),t.push(hN)),p&&t.push(AN),t.push(vN),o.allowPicking&&t.push(RN),v&&t.push(FN),t.push(cN),t.push(VN)};function r8e(e,t,n){let i;return l(t.instances)&&(i=Xt.getFeatureIdsByLabel(t.instances.featureIds,e.instanceFeatureIdLabel),l(i))?{hasFeatureIds:!0,hasPropertyTable:l(i.propertyTableId)}:(i=Xt.getFeatureIdsByLabel(n.featureIds,e.featureIdLabel),l(i)?{hasFeatureIds:!0,hasPropertyTable:l(i.propertyTableId)}:{hasFeatureIds:!1,hasPropertyTable:!1})}var GN=Dse;function o9(e){e=y(e,y.EMPTY_OBJECT),this._sceneGraph=e.sceneGraph;let t=e.skin;this._skin=t,this._inverseBindMatrices=void 0,this._joints=[],this._jointMatrices=[],s8e(this)}Object.defineProperties(o9.prototype,{skin:{get:function(){return this._skin}},sceneGraph:{get:function(){return this._sceneGraph}},inverseBindMatrices:{get:function(){return this._inverseBindMatrices}},joints:{get:function(){return this._joints}},jointMatrices:{get:function(){return this._jointMatrices}}});function s8e(e){let t=e.skin,n=t.inverseBindMatrices;e._inverseBindMatrices=n;let i=t.joints,o=i.length,r=e.sceneGraph._runtimeNodes,s=e.joints,a=e._jointMatrices;for(let c=0;c<o;c++){let u=i[c].index,f=r[u];s.push(f);let d=n[c],p=Pse(f,d,new N);a.push(p)}}function Pse(e,t,n){let i=N.multiplyTransformation(e.transformToRoot,e.transform,n);return n=N.multiplyTransformation(i,t,n),n}o9.prototype.updateJointMatrices=function(){let e=this._jointMatrices,t=e.length;for(let n=0;n<t;n++){let i=this.joints[n],o=this.inverseBindMatrices[n];e[n]=Pse(i,o,e[n])}};var WN=o9;function a8e(){this.pass=void 0,this.alphaCutoff=void 0}var jN=a8e;function r9(e){this.name=e,this.fields=[]}r9.prototype.addField=function(e,t){let n=` ${e} ${t};`;this.fields.push(n)};r9.prototype.generateGlslLines=function(){let e=this.fields;return e.length===0&&(e=[" float _empty;"]),[].concat(`struct ${this.name}`,"{",e,"};")};var qN=r9;function s9(e){this.signature=e,this.body=[]}s9.prototype.addLines=function(e){let t=this.body;if(Array.isArray(e)){let n=e.length;for(let i=0;i<n;i++)t.push(` ${e[i]}`)}else t.push(` ${e}`)};s9.prototype.generateGlslLines=function(){return[].concat(this.signature,"{",this.body,"}")};var YN=s9;function hc(){this._positionAttributeLine=void 0,this._nextAttributeLocation=1,this._attributeLocations={},this._attributeLines=[],this._structs={},this._functions={},this._vertexShaderParts={defineLines:[],uniformLines:[],shaderLines:[],varyingLines:[],structIds:[],functionIds:[]},this._fragmentShaderParts={defineLines:[],uniformLines:[],shaderLines:[],varyingLines:[],structIds:[],functionIds:[]}}Object.defineProperties(hc.prototype,{attributeLocations:{get:function(){return this._attributeLocations}}});hc.prototype.addDefine=function(e,t,n){n=y(n,Te.BOTH);let i=e;l(t)&&(i+=` ${t.toString()}`),Te.includesVertexShader(n)&&this._vertexShaderParts.defineLines.push(i),Te.includesFragmentShader(n)&&this._fragmentShaderParts.defineLines.push(i)};hc.prototype.addStruct=function(e,t,n){this._structs[e]=new qN(t),Te.includesVertexShader(n)&&this._vertexShaderParts.structIds.push(e),Te.includesFragmentShader(n)&&this._fragmentShaderParts.structIds.push(e)};hc.prototype.addStructField=function(e,t,n){this._structs[e].addField(t,n)};hc.prototype.addFunction=function(e,t,n){this._functions[e]=new YN(t),Te.includesVertexShader(n)&&this._vertexShaderParts.functionIds.push(e),Te.includesFragmentShader(n)&&this._fragmentShaderParts.functionIds.push(e)};hc.prototype.addFunctionLines=function(e,t){this._functions[e].addLines(t)};hc.prototype.addUniform=function(e,t,n){n=y(n,Te.BOTH);let i=`uniform ${e} ${t};`;Te.includesVertexShader(n)&&this._vertexShaderParts.uniformLines.push(i),Te.includesFragmentShader(n)&&this._fragmentShaderParts.uniformLines.push(i)};hc.prototype.setPositionAttribute=function(e,t){return this._positionAttributeLine=`attribute ${e} ${t};`,this._attributeLocations[t]=0,0};hc.prototype.addAttribute=function(e,t){let n=`attribute ${e} ${t};`;this._attributeLines.push(n);let i=this._nextAttributeLocation;return this._attributeLocations[t]=i,this._nextAttributeLocation+=l8e(e),i};hc.prototype.addVarying=function(e,t){let n=`varying ${e} ${t};`;this._vertexShaderParts.varyingLines.push(n),this._fragmentShaderParts.varyingLines.push(n)};hc.prototype.addVertexLines=function(e){let t=this._vertexShaderParts.shaderLines;Array.isArray(e)?t.push.apply(t,e):t.push(e)};hc.prototype.addFragmentLines=function(e){let t=this._fragmentShaderParts.shaderLines;Array.isArray(e)?t.push.apply(t,e):t.push(e)};hc.prototype.buildShaderProgram=function(e){let t=l(this._positionAttributeLine)?[this._positionAttributeLine]:[],n=c8e(this),i=u8e(this),o=t.concat(this._attributeLines,this._vertexShaderParts.uniformLines,this._vertexShaderParts.varyingLines,n.vertexLines,i.vertexLines,this._vertexShaderParts.shaderLines).join(`
  4380. `),r=new ke({defines:this._vertexShaderParts.defineLines,sources:[o]}),s=this._fragmentShaderParts.uniformLines.concat(this._fragmentShaderParts.varyingLines,n.fragmentLines,i.fragmentLines,this._fragmentShaderParts.shaderLines).join(`
  4381. `),a=new ke({defines:this._fragmentShaderParts.defineLines,sources:[s]});return Yt.fromCache({context:e,vertexShaderSource:r,fragmentShaderSource:a,attributeLocations:this._attributeLocations})};hc.prototype.clone=function(){return et(this,!0)};function c8e(e){let t=[],n=[],i,o=e._vertexShaderParts.structIds,r,s,a;for(i=0;i<o.length;i++)r=o[i],s=e._structs[r],a=s.generateGlslLines(),t.push.apply(t,a);for(o=e._fragmentShaderParts.structIds,i=0;i<o.length;i++)r=o[i],s=e._structs[r],a=s.generateGlslLines(),n.push.apply(n,a);return{vertexLines:t,fragmentLines:n}}function l8e(e){switch(e){case"mat2":return 2;case"mat3":return 3;case"mat4":return 4;default:return 1}}function u8e(e){let t=[],n=[],i,o=e._vertexShaderParts.functionIds,r,s,a;for(i=0;i<o.length;i++)r=o[i],s=e._functions[r],a=s.generateGlslLines(),t.push.apply(t,a);for(o=e._fragmentShaderParts.functionIds,i=0;i<o.length;i++)r=o[i],s=e._functions[r],a=s.generateGlslLines(),n.push.apply(n,a);return{vertexLines:t,fragmentLines:n}}var XN=hc;function f8e(e){this.shaderBuilder=new XN,this.model=e,this.uniformMap={},this.alphaOptions=new jN,this.renderStateOptions=Fe.getState(Fe.fromCache({depthTest:{enabled:!0,func:ac.LESS_OR_EQUAL}})),this.hasSilhouette=!1,this.hasSkipLevelOfDetail=!1}var KN=f8e;var ZN=`void silhouetteStage(inout vec4 color) {
  4382. if(model_silhouettePass) {
  4383. color = czm_gammaCorrect(model_silhouetteColor);
  4384. }
  4385. }
  4386. `;var $N=`void silhouetteStage(in ProcessedAttributes attributes, inout vec4 positionClip) {
  4387. #ifdef HAS_NORMALS
  4388. if(model_silhouettePass) {
  4389. vec3 normal = normalize(czm_normal3D * attributes.normalMC);
  4390. normal.x *= czm_projection[0][0];
  4391. normal.y *= czm_projection[1][1];
  4392. positionClip.xy += normal.xy * positionClip.w * model_silhouetteSize * czm_pixelRatio / czm_viewport.z;
  4393. }
  4394. #endif
  4395. }
  4396. `;var ww={};ww.name="ModelSilhouettePipelineStage";ww.silhouettesLength=0;ww.process=function(e,t,n){l(t._silhouetteId)||(t._silhouetteId=++ww.silhouettesLength);let i=e.shaderBuilder;i.addDefine("HAS_SILHOUETTE",void 0,Te.BOTH),i.addVertexLines($N),i.addFragmentLines(ZN),i.addUniform("vec4","model_silhouetteColor",Te.FRAGMENT),i.addUniform("float","model_silhouetteSize",Te.VERTEX),i.addUniform("bool","model_silhouettePass",Te.BOTH);let o={model_silhouetteColor:function(){return t.silhouetteColor},model_silhouetteSize:function(){return t.silhouetteSize},model_silhouettePass:function(){return!1}};e.uniformMap=mt(o,e.uniformMap),e.hasSilhouette=!0};var JN=ww;var QN=`void modelSplitterStage()
  4397. {
  4398. #ifndef SHADOW_MAP
  4399. if (model_splitDirection < 0.0 && gl_FragCoord.x > czm_splitPosition) discard;
  4400. if (model_splitDirection > 0.0 && gl_FragCoord.x < czm_splitPosition) discard;
  4401. #endif
  4402. }
  4403. `;var fT={};fT.name="ModelSplitterPipelineStage";fT.SPLIT_DIRECTION_UNIFORM_NAME="model_splitDirection";fT.process=function(e,t,n){let i=e.shaderBuilder;i.addDefine("HAS_MODEL_SPLITTER",void 0,Te.FRAGMENT),i.addFragmentLines(QN);let o={};i.addUniform("float",fT.SPLIT_DIRECTION_UNIFORM_NAME,Te.FRAGMENT),o[fT.SPLIT_DIRECTION_UNIFORM_NAME]=function(){return t.splitDirection},e.uniformMap=mt(o,e.uniformMap)};var eF=fT;function d8e(e,t){this.model=e.model,this.shaderBuilder=e.shaderBuilder.clone(),this.uniformMap=et(e.uniformMap),this.alphaOptions=et(e.alphaOptions),this.renderStateOptions=et(e.renderStateOptions,!0),this.hasSilhouette=e.hasSilhouette,this.hasSkipLevelOfDetail=e.hasSkipLevelOfDetail,this.runtimeNode=t,this.attributes=[],this.attributeIndex=1,this.featureIdVertexAttributeSetIndex=0,this.instanceCount=0}var tF=d8e;function h8e(e){e=y(e,y.EMPTY_OBJECT),this.lightingModel=y(e.lightingModel,Km.UNLIT)}var nF=h8e;function m8e(e,t){this.model=e.model,this.runtimeNode=e.runtimeNode,this.attributes=e.attributes.slice(),this.attributeIndex=e.attributeIndex,this.featureIdVertexAttributeSetIndex=e.featureIdVertexAttributeSetIndex,this.uniformMap=et(e.uniformMap),this.alphaOptions=et(e.alphaOptions),this.renderStateOptions=et(e.renderStateOptions,!0),this.hasSilhouette=e.hasSilhouette,this.hasSkipLevelOfDetail=e.hasSkipLevelOfDetail,this.shaderBuilder=e.shaderBuilder.clone(),this.instanceCount=e.instanceCount,this.runtimePrimitive=t;let n=t.primitive;this.count=l(n.indices)?n.indices.count:Xt.getAttributeBySemantic(n,"POSITION").count,this.hasPropertyTable=!1,this.indices=n.indices,this.wireframeIndexBuffer=void 0,this.primitiveType=n.primitiveType;let i=Xt.getPositionMinMax(n,this.runtimeNode.instancingTranslationMin,this.runtimeNode.instancingTranslationMax);this.positionMin=h.clone(i.min,new h),this.positionMax=h.clone(i.max,new h),this.boundingSphere=re.fromCornerPoints(this.positionMin,this.positionMax,new re),this.lightingOptions=new nF,this.pickId=void 0}var iF=m8e;function Ol(e){e=y(e,y.EMPTY_OBJECT);let t=e.modelComponents;this._model=e.model,this._components=t,this._pipelineStages=[],this._updateStages=[],this._runtimeNodes=[],this._rootNodes=[],this._skinnedNodes=[],this._runtimeSkins=[],this.modelPipelineStages=[],this._boundingSphere=void 0,this._boundingSphere2D=void 0,this._computedModelMatrix=N.clone(N.IDENTITY),this._computedModelMatrix2D=N.clone(N.IDENTITY),this._axisCorrectionMatrix=Xt.getAxisCorrectionMatrix(t.upAxis,t.forwardAxis,new N),this._runtimeArticulations={},p8e(this)}Object.defineProperties(Ol.prototype,{components:{get:function(){return this._components}},computedModelMatrix:{get:function(){return this._computedModelMatrix}},axisCorrectionMatrix:{get:function(){return this._axisCorrectionMatrix}},boundingSphere:{get:function(){return this._boundingSphere}}});function p8e(e){let t=e._components,n=t.scene,o=e._model.modelMatrix;Ise(e,o);let r=t.articulations,s=r.length,a=e._runtimeArticulations;for(let b=0;b<s;b++){let E=r[b],S=new KL({articulation:E,sceneGraph:e}),v=S.name;a[v]=S}let c=t.nodes,u=c.length;e._runtimeNodes=new Array(u);let d=n.nodes.length,p=N.IDENTITY;for(let b=0;b<d;b++){let E=n.nodes[b],S=Ose(e,E,p);e._rootNodes.push(S)}let g=t.skins,m=e._runtimeSkins,C=g.length;for(let b=0;b<C;b++){let E=g[b];m.push(new WN({skin:E,sceneGraph:e}))}let x=e._skinnedNodes,A=x.length;for(let b=0;b<A;b++){let E=x[b],S=e._runtimeNodes[E],P=c[E].skin.index;S._runtimeSkin=m[P],S.updateJointMatrices()}e.applyArticulations()}function Ise(e,t){let n=e._components,i=e._model;e._computedModelMatrix=N.multiplyTransformation(t,n.transform,e._computedModelMatrix),e._computedModelMatrix=N.multiplyTransformation(e._computedModelMatrix,e._axisCorrectionMatrix,e._computedModelMatrix),e._computedModelMatrix=N.multiplyByUniformScale(e._computedModelMatrix,i.computedScale,e._computedModelMatrix)}var _8e=new h;function g8e(e,t){let n=e._computedModelMatrix,i=N.getTranslation(n,_8e);if(!h.equals(i,h.ZERO))e._computedModelMatrix2D=Dt.basisTo2D(t.mapProjection,n,e._computedModelMatrix2D);else{let o=e.boundingSphere.center,r=Dt.wgs84To2DModelMatrix(t.mapProjection,o,e._computedModelMatrix2D);e._computedModelMatrix2D=N.multiply(r,n,e._computedModelMatrix2D)}e._boundingSphere2D=re.transform(e._boundingSphere,e._computedModelMatrix2D,e._boundingSphere2D)}function Ose(e,t,n){let i=[],o=Xt.getNodeTransform(t),r=t.children.length;for(let f=0;f<r;f++){let d=t.children[f],p=N.multiplyTransformation(n,o,new N),g=Ose(e,d,p);i.push(g)}let s=new aN({node:t,transform:o,transformToRoot:n,children:i,sceneGraph:e}),a=t.primitives.length;for(let f=0;f<a;f++)s.runtimePrimitives.push(new GN({primitive:t.primitives[f],node:t,model:e._model}));let c=t.index;e._runtimeNodes[c]=s,l(t.skin)&&e._skinnedNodes.push(c);let u=t.name;if(l(u)){let f=e._model,d=new QL(f,s);f._nodesByName[u]=d}return c}var y8e=new h,C8e=new h,x8e=new h,A8e=new h;Ol.prototype.buildDrawCommands=function(e){let t=this._model,n=new KN(t);t.statistics.clear(),this.configurePipeline(e);let i=this.modelPipelineStages,o,r,s;for(o=0;o<i.length;o++)i[o].process(n,t,e);let a=h.fromElements(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE,y8e),c=h.fromElements(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE,C8e);for(o=0;o<this._runtimeNodes.length;o++){let u=this._runtimeNodes[o];u.configurePipeline();let f=u.pipelineStages,d=new tF(n,u);for(r=0;r<f.length;r++)f[r].process(d,u.node,e);let p=u.computedTransform;for(r=0;r<u.runtimePrimitives.length;r++){let g=u.runtimePrimitives[r];g.configurePipeline(e);let m=g.pipelineStages,C=new iF(d,g);for(s=0;s<m.length;s++)m[s].process(C,g.primitive,e);g.boundingSphere=re.clone(C.boundingSphere,new re);let x=N.multiplyByPoint(p,C.positionMin,x8e),A=N.multiplyByPoint(p,C.positionMax,A8e);h.minimumByComponent(a,x,a),h.maximumByComponent(c,A,c);let b=GL(C,e);g.drawCommand=b}}this._boundingSphere=re.fromCornerPoints(a,c,new re),this._boundingSphere=re.transformWithoutScale(this._boundingSphere,this._axisCorrectionMatrix,this._boundingSphere),this._boundingSphere=re.transform(this._boundingSphere,this._components.transform,this._boundingSphere),t._boundingSphere=re.transform(this._boundingSphere,t.modelMatrix,t._boundingSphere),t._initialRadius=t._boundingSphere.radius,t._boundingSphere.radius*=t._clampedScale};Ol.prototype.configurePipeline=function(e){let t=this.modelPipelineStages;t.length=0;let n=this._model;l(n.color)&&t.push(My),!l(n.classificationType)&&(n.imageBasedLighting.enabled&&t.push(qL),n.isClippingEnabled()&&t.push(JL),n.hasSilhouette(e)&&t.push(JN),l(n.splitDirection)&&n.splitDirection!==Kc.NONE&&t.push(eF),Mr.is3DTiles(n.type)&&t.push(WL))};Ol.prototype.update=function(e,t){let n,i,o;for(n=0;n<this._runtimeNodes.length;n++){let r=this._runtimeNodes[n];for(i=0;i<r.updateStages.length;i++)r.updateStages[i].update(r,this,e);let s=e.mode!==ee.SCENE3D&&this._model._projectTo2D;for(t&&!s&&this.updateJointMatrices(),i=0;i<r.runtimePrimitives.length;i++){let a=r.runtimePrimitives[i];for(o=0;o<a.updateStages.length;o++)a.updateStages[o].update(a,this)}}};Ol.prototype.updateModelMatrix=function(e,t){Ise(this,e),t.mode!==ee.SCENE3D&&g8e(this,t);let n=this._rootNodes;for(let i=0;i<n.length;i++){let o=this._runtimeNodes[n[i]];o._transformDirty=!0}};Ol.prototype.updateJointMatrices=function(){let e=this._skinnedNodes,t=e.length;for(let n=0;n<t;n++){let i=e[n];this._runtimeNodes[i].updateJointMatrices()}};function Rse(e,t,n,i,o){if(n&&!t.show)return;let r=t.children.length;for(let c=0;c<r;c++){let u=t.getChild(c);Rse(e,u,n,i,o)}let s=t.runtimePrimitives,a=s.length;for(let c=0;c<a;c++){let u=s[c];i(u,o)}}function oF(e,t,n,i){let o=e._rootNodes,r=o.length;for(let s=0;s<r;s++){let a=o[s],c=e._runtimeNodes[a];Rse(e,c,t,n,i)}}var T8e={backFaceCulling:void 0};Ol.prototype.updateBackFaceCulling=function(e){let t=T8e;t.backFaceCulling=e,oF(this,!1,E8e,t)};function E8e(e,t){let n=e.drawCommand;n.backFaceCulling=t.backFaceCulling}var b8e={shadowMode:void 0};Ol.prototype.updateShadows=function(e){let t=b8e;t.shadowMode=e,oF(this,!1,S8e,t)};function S8e(e,t){let n=e.drawCommand;n.shadows=t.shadowMode}var w8e={debugShowBoundingVolume:void 0};Ol.prototype.updateShowBoundingVolume=function(e){let t=w8e;t.debugShowBoundingVolume=e,oF(this,!1,v8e,t)};function v8e(e,t){let n=e.drawCommand;n.debugShowBoundingVolume=t.debugShowBoundingVolume}var Mse=[],D8e={frameState:void 0,hasSilhouette:void 0};Ol.prototype.pushDrawCommands=function(e){let t=Mse;t.length=0;let n=D8e;n.hasSilhouette=this._model.hasSilhouette(e),n.frameState=e,oF(this,!0,P8e,n),e.commandList.push.apply(e.commandList,t)};function P8e(e,t){let n=t.frameState,i=t.hasSilhouette,o=n.passes,r=Mse,s=e.drawCommand;s.pushCommands(n,n.commandList),i&&!o.pick&&s.pushSilhouetteCommands(n,r)}Ol.prototype.setArticulationStage=function(e,t){let n=e.split(" ");if(n.length!==2)return;let i=n[0],o=n[1],r=this._runtimeArticulations[i];l(r)&&r.setArticulationStage(o,t)};Ol.prototype.applyArticulations=function(){let e=this._runtimeArticulations;for(let t in e)e.hasOwnProperty(t)&&e[t].apply()};var rF=Ol;function dT(){this.pointsLength=0,this.trianglesLength=0,this.geometryByteLength=0,this.texturesByteLength=0,this.propertyTablesByteLength=0,this._bufferIdSet={},this._textureIdSet={},this._batchTextureIdMap=new gt}Object.defineProperties(dT.prototype,{batchTexturesByteLength:{get:function(){let e=this._batchTextureIdMap.length,t=this._batchTextureIdMap.values,n=0;for(let i=0;i<e;i++)n+=t[i].byteLength;return n}}});dT.prototype.clear=function(){this.pointsLength=0,this.trianglesLength=0,this.geometryByteLength=0,this.texturesByteLength=0,this.propertyTablesByteLength=0,this._bufferIdSet={},this._textureIdSet={},this._batchTextureIdMap.removeAll()};dT.prototype.addBuffer=function(e,t){if(!this._bufferIdSet.hasOwnProperty(e._id)){let n=t?2:1;this.geometryByteLength+=e.sizeInBytes*n}this._bufferIdSet[e._id]=!0};dT.prototype.addTexture=function(e){this._textureIdSet.hasOwnProperty(e._id)||(this.texturesByteLength+=e.sizeInBytes),this._textureIdSet[e._id]=!0};dT.prototype.addBatchTexture=function(e){this._batchTextureIdMap.contains(e._id)||this._batchTextureIdMap.set(e._id,e)};var sF=dT;var Fse=Ri(iP(),1);var Bse={},Fy=Uint32Array.BYTES_PER_ELEMENT;Bse.parse=function(e,t){t=y(t,0);let n=new Uint8Array(e),i=new DataView(e);t+=Fy;let o=i.getUint32(t,!0);if(o!==1)throw new de(`Only Point Cloud tile version 1 is supported. Version ${o} is not.`);t+=Fy,t+=Fy;let r=i.getUint32(t,!0);if(r===0)throw new de("Feature table must have a byte length greater than zero");t+=Fy;let s=i.getUint32(t,!0);t+=Fy;let a=i.getUint32(t,!0);t+=Fy;let c=i.getUint32(t,!0);t+=Fy;let u=Xo(n,t,r);t+=r;let f=new Uint8Array(e,t,s);t+=s;let d,p;a>0&&(d=Xo(n,t,a),t+=a,c>0&&(p=new Uint8Array(e,t,c),t+=c));let g=new ph(u,f),m=g.getGlobalProperty("POINTS_LENGTH");if(g.featuresLength=m,!l(m))throw new de("Feature table global property: POINTS_LENGTH must be defined");let C=g.getGlobalProperty("RTC_CENTER",Z.FLOAT,3);l(C)&&(C=h.unpack(C));let x=I8e(g,d);if(x.rtcCenter=C,x.pointsLength=m,!x.hasPositions){let A=O8e(g);x.positions=A,x.hasPositions=x.hasPositions||l(A)}if(!x.hasPositions)throw new de("Either POSITION or POSITION_QUANTIZED must be defined.");if(!x.hasNormals){let A=M8e(g);x.normals=A,x.hasNormals=x.hasNormals||l(A)}if(!x.hasColors){let A=R8e(g);x.colors=A,x.hasColors=x.hasColors||l(A),x.hasConstantColor=l(x.constantColor),x.isTranslucent=l(A)&&A.isTranslucent}if(!x.hasBatchIds){let A=B8e(g);x.batchIds=A,x.hasBatchIds=x.hasBatchIds||l(A)}if(x.hasBatchIds){let A=g.getGlobalProperty("BATCH_LENGTH");if(!l(A))throw new de("Global property: BATCH_LENGTH must be defined when BATCH_ID is defined.");x.batchLength=A}return l(p)&&(p=new Uint8Array(p),x.batchTableJson=d,x.batchTableBinary=p),x};function I8e(e,t){let n=e.json,i,o,r,s=l(n.extensions)?n.extensions["3DTILES_draco_point_compression"]:void 0,a=l(t)&&l(t.extensions)?t.extensions["3DTILES_draco_point_compression"]:void 0;l(a)&&(r=a.properties);let c,u,f,d,p;if(l(s)){o=s.properties;let m=s.byteOffset,C=s.byteLength;if(!l(o)||!l(m)||!l(C))throw new de("Draco properties, byteOffset, and byteLength must be defined");i=e.buffer.slice(m,m+C),c=l(o.POSITION),u=l(o.RGB)||l(o.RGBA),f=l(o.NORMAL),d=l(o.BATCH_ID),p=l(o.RGBA)}let g;return l(i)&&(g={buffer:i,featureTableProperties:o,batchTableProperties:r,properties:mt(o,r),dequantizeInShader:!0}),{draco:g,hasPositions:c,hasColors:u,isTranslucent:p,hasNormals:f,hasBatchIds:d}}function O8e(e){let t=e.json,n;if(l(t.POSITION))return n=e.getPropertyArray("POSITION",Z.FLOAT,3),{name:xt.POSITION,semantic:xt.POSITION,typedArray:n,isQuantized:!1,componentDatatype:Z.FLOAT,type:tn.VEC3};if(l(t.POSITION_QUANTIZED)){n=e.getPropertyArray("POSITION_QUANTIZED",Z.UNSIGNED_SHORT,3);let i=e.getGlobalProperty("QUANTIZED_VOLUME_SCALE",Z.FLOAT,3);if(!l(i))throw new de("Global property: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");let o=(1<<16)-1,r=e.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",Z.FLOAT,3);if(!l(r))throw new de("Global property: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");return{name:xt.POSITION,semantic:xt.POSITION,typedArray:n,isQuantized:!0,componentDatatype:Z.FLOAT,type:tn.VEC3,quantizedRange:o,quantizedVolumeOffset:h.unpack(r),quantizedVolumeScale:h.unpack(i),quantizedComponentDatatype:Z.UNSIGNED_SHORT,quantizedType:tn.VEC3}}}function R8e(e){let t=e.json,n;if(l(t.RGBA))return n=e.getPropertyArray("RGBA",Z.UNSIGNED_BYTE,4),{name:xt.COLOR,semantic:xt.COLOR,setIndex:0,typedArray:n,componentDatatype:Z.UNSIGNED_BYTE,type:tn.VEC4,normalized:!0,isRGB565:!1,isTranslucent:!0};if(l(t.RGB))return n=e.getPropertyArray("RGB",Z.UNSIGNED_BYTE,3),{name:"COLOR",semantic:xt.COLOR,setIndex:0,typedArray:n,componentDatatype:Z.UNSIGNED_BYTE,type:tn.VEC3,normalized:!0,isRGB565:!1,isTranslucent:!1};if(l(t.RGB565))return n=e.getPropertyArray("RGB565",Z.UNSIGNED_SHORT,1),{name:"COLOR",semantic:xt.COLOR,setIndex:0,typedArray:n,componentDatatype:Z.FLOAT,type:tn.VEC3,normalized:!1,isRGB565:!0,isTranslucent:!1};if(l(t.CONSTANT_RGBA)){let i=e.getGlobalProperty("CONSTANT_RGBA",Z.UNSIGNED_BYTE,4),o=i[3],r=U.fromBytes(i[0],i[1],i[2],o),s=o<255;return{name:xt.COLOR,semantic:xt.COLOR,setIndex:0,constantColor:r,componentDatatype:Z.FLOAT,type:tn.VEC4,isQuantized:!1,isTranslucent:s}}}function M8e(e){let t=e.json,n;if(l(t.NORMAL))return n=e.getPropertyArray("NORMAL",Z.FLOAT,3),{name:xt.NORMAL,semantic:xt.NORMAL,typedArray:n,octEncoded:!1,octEncodedZXY:!1,componentDatatype:Z.FLOAT,type:tn.VEC3};if(l(t.NORMAL_OCT16P)){n=e.getPropertyArray("NORMAL_OCT16P",Z.UNSIGNED_BYTE,2);let i=8;return{name:xt.NORMAL,semantic:xt.NORMAL,typedArray:n,octEncoded:!0,octEncodedZXY:!1,quantizedRange:(1<<i)-1,quantizedType:tn.VEC2,quantizedComponentDatatype:Z.UNSIGNED_BYTE,componentDatatype:Z.FLOAT,type:tn.VEC3}}}function B8e(e){let t=e.json;if(l(t.BATCH_ID)){let n=e.getPropertyArray("BATCH_ID",Z.UNSIGNED_SHORT,1);return{name:xt.FEATURE_ID,semantic:xt.FEATURE_ID,setIndex:0,typedArray:n,componentDatatype:Z.fromTypedArray(n),type:tn.SCALAR}}}var hT=Bse;var L8e=Ft.Components,N8e=Ft.Scene,F8e=Ft.Node,V8e=Ft.Primitive,k8e=Ft.Attribute,Lse=Ft.Quantization,U8e=Ft.FeatureIdAttribute,z8e=Ft.Material,H8e=Ft.MetallicRoughness;function rg(e){e=y(e,y.EMPTY_OBJECT);let t=e.arrayBuffer,n=y(e.byteOffset,0);this._arrayBuffer=t,this._byteOffset=n,this._loadAttributesFor2D=y(e.loadAttributesFor2D,!1),this._parsedContent=void 0,this._decodePromise=void 0,this._decodedAttributes=void 0,this._promise=void 0,this._process=function(i){},this._state=Nt.UNLOADED,this._buffers=[],this._components=void 0,this._transform=N.IDENTITY}l(Object.create)&&(rg.prototype=Object.create(to.prototype),rg.prototype.constructor=rg);Object.defineProperties(rg.prototype,{promise:{get:function(){return this._promise}},cacheKey:{get:function(){}},components:{get:function(){return this._components}},transform:{get:function(){return this._transform}}});rg.prototype.load=function(){this._parsedContent=hT.parse(this._arrayBuffer,this._byteOffset),this._state=Nt.PROCESSING;let e=this;this._promise=new Promise(function(t,n){e._process=function(i){if(e._state===Nt.PROCESSING){if(l(e._decodePromise))return;let o=G8e(e,i.context);l(o)&&o.then(t).catch(n)}}})};rg.prototype.process=function(e){this._process(e)};function G8e(e,t){let i=e._parsedContent.draco,o;if(l(i)?o=k_.decodePointCloud(i,t):o=Promise.resolve(),!!l(o))return e._decodePromise=o,o.then(function(r){if(!e.isDestroyed())return l(r)&&W8e(e,i,r),tGe(e,t),e._state=Nt.READY,e}).catch(function(r){e.unload(),e._state=Nt.FAILED;let s="Failed to load Draco pnts";return Promise.reject(e.getError(s,r))})}function W8e(e,t,n){e._state=Nt.READY;let i=e._parsedContent,o;if(l(n.POSITION)){if(o={name:"POSITION",semantic:xt.POSITION,typedArray:n.POSITION.array,componentDatatype:Z.FLOAT,type:tn.VEC3,isQuantized:!1},l(n.POSITION.data.quantization)){let a=n.POSITION.data.quantization,c=a.range,u=h.fromElements(c,c,c),f=h.unpack(a.minValues),d=(1<<a.quantizationBits)-1;o.isQuantized=!0,o.quantizedRange=d,o.quantizedVolumeOffset=f,o.quantizedVolumeScale=u,o.quantizedComponentDatatype=Z.UNSIGNED_SHORT,o.quantizedType=tn.VEC3}i.positions=o}if(l(n.NORMAL)){if(o={name:"NORMAL",semantic:xt.NORMAL,typedArray:n.NORMAL.array,componentDatatype:Z.FLOAT,type:tn.VEC3,isQuantized:!1,octEncoded:!1,octEncodedZXY:!1},l(n.NORMAL.data.quantization)){let a=(1<<n.NORMAL.data.quantization.quantizationBits)-1;o.quantizedRange=a,o.octEncoded=!0,o.octEncodedZXY=!0,o.quantizedComponentDatatype=Z.UNSIGNED_BYTE,o.quantizedType=tn.VEC2}i.normals=o}if(l(n.RGBA)?i.colors={name:"COLOR",semantic:xt.COLOR,setIndex:0,typedArray:n.RGBA.array,componentDatatype:Z.UNSIGNED_BYTE,type:tn.VEC4,normalized:!0,isTranslucent:!0}:l(n.RGB)&&(i.colors={name:"COLOR",semantic:xt.COLOR,setIndex:0,typedArray:n.RGB.array,componentDatatype:Z.UNSIGNED_BYTE,type:tn.VEC3,normalized:!0,isTranslucent:!1}),l(n.BATCH_ID)){let a=n.BATCH_ID.array;i.batchIds={name:"_FEATURE_ID",semantic:xt.FEATURE_ID,setIndex:0,typedArray:a,componentDatatype:Z.fromTypedArray(a),type:tn.SCALAR}}let r=i.batchTableJson,s=t.batchTableProperties;for(let a in s)if(s.hasOwnProperty(a)){let c=n[a];l(r)||(r={}),i.hasDracoBatchTable=!0;let u=c.data;r[a]={byteOffset:u.byteOffset,type:j8e(u.componentsPerAttribute),componentType:q8e(u.componentDatatype),typedArray:c.array}}i.batchTableJson=r}function j8e(e){switch(e){case 1:return"SCALAR";case 2:return"VEC2";case 3:return"VEC3";case 4:return"VEC4"}}function q8e(e){switch(e){case te.BYTE:return"BYTE";case te.UNSIGNED_BYTE:return"UNSIGNED_BYTE";case te.SHORT:return"SHORT";case te.UNSIGNED_SHORT:return"UNSIGNED_SHORT";case te.INT:return"INT";case te.UNSIGNED_INT:return"UNSIGNED_INT";case te.DOUBLE:return"DOUBLE";case te.FLOAT:return"FLOAT"}}function vw(e,t,n){let i=t.typedArray,o;if(t.octEncoded&&(o=new Lse,o.octEncoded=t.octEncoded,o.octEncodedZXY=t.octEncodedZXY,o.normalizationRange=t.quantizedRange,o.type=t.quantizedType,o.componentDatatype=t.quantizedComponentDatatype),t.isQuantized){o=new Lse;let a=t.quantizedRange;o.normalizationRange=a,o.quantizedVolumeOffset=h.ZERO;let c=t.quantizedVolumeScale;o.quantizedVolumeDimensions=c,o.quantizedVolumeStepSize=h.divideByScalar(c,a,new h),o.componentDatatype=t.quantizedComponentDatatype,o.type=t.quantizedType}let r=new k8e;if(r.name=t.name,r.semantic=t.semantic,r.setIndex=t.setIndex,r.componentDatatype=t.componentDatatype,r.type=t.type,r.normalized=y(t.normalized,!1),r.min=t.min,r.max=t.max,r.quantization=o,t.isRGB565&&(i=kn.decodeRGB565(i)),l(t.constantColor)){let a=new Array(4);r.constant=U.pack(t.constantColor,a)}else{let a=ct.createVertexBuffer({typedArray:i,context:n,usage:Le.STATIC_DRAW});a.vertexArrayDestroyable=!1,e._buffers.push(a),r.buffer=a}let s=e._loadAttributesFor2D;return r.semantic===xt.POSITION&&s&&(r.typedArray=i),r}var Nse,aF;function Y8e(e){if(!l(aF)){Nse=new Fse.default(0),aF=new Array(e);for(let t=0;t<e;++t)aF[t]=Nse.random()}return aF}var X8e=new h,K8e=new h,Z8e=new h;function $8e(e){let t=e.typedArray,n=20,i=t.length/3,o=Math.min(i,n),r=Y8e(n),s=Number.MAX_VALUE,a=-Number.MAX_VALUE,c=h.fromElements(s,s,s,X8e),u=h.fromElements(a,a,a,K8e),f,d,p;if(e.isQuantized)c=h.ZERO,u=e.quantizedVolumeScale;else for(f=0;f<o;++f)d=Math.floor(r[f]*i),p=h.unpack(t,d*3,Z8e),h.minimumByComponent(c,p,c),h.maximumByComponent(u,p,u);e.min=h.clone(c),e.max=h.clone(u)}var J8e={name:xt.COLOR,semantic:xt.COLOR,setIndex:0,constantColor:U.DARKGRAY,componentDatatype:Z.FLOAT,type:tn.VEC4,isQuantized:!1,isTranslucent:!1};function Q8e(e,t,n){let i=[],o,r=t.positions;return l(r)&&($8e(r),o=vw(e,r,n),o.count=t.pointsLength,i.push(o)),l(t.normals)&&(o=vw(e,t.normals,n),i.push(o)),l(t.colors)?(o=vw(e,t.colors,n),i.push(o)):(o=vw(e,J8e,n),i.push(o)),l(t.batchIds)&&(o=vw(e,t.batchIds,n),i.push(o)),i}function eGe(e,t){let n=e.batchLength,i=e.pointsLength,o=e.batchTableBinary,r=!l(e.batchIds);if(l(o)||e.hasDracoBatchTable){let s=y(n,i);return Z_({count:s,batchTable:e.batchTableJson,binaryBody:o,parseAsPropertyAttributes:r,customAttributeOutput:t})}return new Pa({schema:{},propertyTables:[]})}function tGe(e,t){let n=e._parsedContent,i=new H8e;i.metallicFactor=0,i.roughnessFactor=.9;let o=new z8e;o.metallicRoughness=i;let r=n.colors;l(r)&&r.isTranslucent&&(o.alphaMode=Vm.BLEND);let s=!l(n.normals);o.unlit=s;let a=new V8e;if(a.attributes=Q8e(e,n,t),a.primitiveType=Ne.POINTS,a.material=o,l(n.batchIds)){let g=new U8e;g.propertyTableId=0,g.setIndex=0,g.positionalLabel="featureId_0",a.featureIds.push(g)}let c=new F8e;c.index=0,c.primitives=[a];let u=new N8e;u.nodes=[c],u.upAxis=Po.Z,u.forwardAxis=Po.X;let f=new L8e;f.scene=u,f.nodes=[c];let d=[];f.structuralMetadata=eGe(n,d),d.length>0&&nGe(e,a,d,t),l(n.rtcCenter)&&(f.transform=N.multiplyByTranslation(f.transform,n.rtcCenter,f.transform));let p=n.positions;l(p)&&p.isQuantized&&(f.transform=N.multiplyByTranslation(f.transform,p.quantizedVolumeOffset,f.transform)),e._components=f,e._parsedContent=void 0,e._arrayBuffer=void 0}function nGe(e,t,n,i){let o=t.attributes,r=n.length;for(let s=0;s<r;s++){let a=n[s],c=ct.createVertexBuffer({typedArray:a.typedArray,context:i,usage:Le.STATIC_DRAW});c.vertexArrayDestroyable=!1,e._buffers.push(c),a.buffer=c,a.typedArray=void 0,o.push(a)}t.propertyAttributeIds=[0]}rg.prototype.unload=function(){let e=this._buffers;for(let t=0;t<e.length;t++)e[t].destroy();e.length=0,this._components=void 0,this._parsedContent=void 0,this._arrayBuffer=void 0};var cF=rg;function xo(e){e=y(e,y.EMPTY_OBJECT),this._loader=e.loader,this._resource=e.resource,this.type=y(e.type,Mr.GLTF),this.modelMatrix=N.clone(y(e.modelMatrix,N.IDENTITY)),this._modelMatrix=N.clone(this.modelMatrix),this._scale=y(e.scale,1),this._minimumPixelSize=y(e.minimumPixelSize,0),this._maximumScale=e.maximumScale,this._clampedScale=l(this._maximumScale)?Math.min(this._scale,this._maximumScale):this._scale,this._computedScale=this._clampedScale,this._updateModelMatrix=!1,this.referenceMatrix=void 0,this._iblReferenceFrameMatrix=J.clone(J.IDENTITY),this._resourcesLoaded=!1,this._drawCommandsBuilt=!1,this._ready=!1,this._customShader=e.customShader,this._content=e.content,this._texturesLoaded=!1,this._defaultTexture=void 0,this._activeAnimations=new LL(this),this._clampAnimations=y(e.clampAnimations,!0),this._userAnimationDirty=!1,this._id=e.id,this._idDirty=!1,this._color=U.clone(e.color),this._colorBlendMode=y(e.colorBlendMode,dc.HIGHLIGHT),this._colorBlendAmount=y(e.colorBlendAmount,.5);let t=y(e.silhouetteColor,U.RED);this._silhouetteColor=U.clone(t),this._silhouetteSize=y(e.silhouetteSize,0),this._silhouetteDirty=!1,this._silhouetteId=void 0,this._cull=y(e.cull,!0),this._opaquePass=y(e.opaquePass,xe.OPAQUE),this._allowPicking=y(e.allowPicking,!0),this._show=y(e.show,!0),this._style=void 0,this._styleDirty=!1,this._styleCommandsNeeded=void 0;let n=y(e.featureIdLabel,"featureId_0");typeof n=="number"&&(n=`featureId_${n}`),this._featureIdLabel=n;let i=y(e.instanceFeatureIdLabel,"instanceFeatureId_0");typeof i=="number"&&(i=`instanceFeatureId_${i}`),this._instanceFeatureIdLabel=i,this._featureTables=[],this._featureTableId=void 0,this._featureTableIdDirty=!0,this._pipelineResources=[],this._modelResources=[],this._pickIds=[],this._boundingSphere=new re,this._initialRadius=void 0,this._heightReference=y(e.heightReference,ze.NONE),this._heightDirty=this._heightReference!==ze.NONE,this._removeUpdateHeightCallback=void 0,this._clampedModelMatrix=void 0;let o=e.scene;l(o)&&l(o.terrainProviderChanged)&&(this._terrainProviderChangedCallback=o.terrainProviderChanged.addEventListener(function(){this._heightDirty=!0},this)),this._scene=o,this._distanceDisplayCondition=e.distanceDisplayCondition;let r=new zm(e.pointCloudShading);this._pointCloudShading=r,this._attenuation=r.attenuation,this._pointCloudBackFaceCulling=r.backFaceCulling;let s=e.clippingPlanes;l(s)&&s.owner===void 0?Zs.setOwner(s,this,"_clippingPlanes"):this._clippingPlanes=s,this._clippingPlanesState=0,this._clippingPlanesMatrix=N.clone(N.IDENTITY),this._lightColor=h.clone(e.lightColor),this._imageBasedLighting=l(e.imageBasedLighting)?e.imageBasedLighting:new GA,this._shouldDestroyImageBasedLighting=!l(e.imageBasedLighting),this._backFaceCulling=y(e.backFaceCulling,!0),this._backFaceCullingDirty=!1,this._shadows=y(e.shadows,mn.ENABLED),this._shadowsDirty=!1,this._debugShowBoundingVolumeDirty=!1,this._debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this._enableDebugWireframe=y(e.enableDebugWireframe,!1),this._enableShowOutline=y(e.enableShowOutline,!0),this._debugWireframe=y(e.debugWireframe,!1);let a=e.credit;typeof a=="string"&&(a=new jt(a)),this._credit=a,this._resourceCredits=[],this._gltfCredits=[],this._showCreditsOnScreen=y(e.showCreditsOnScreen,!1),this._showCreditsOnScreenDirty=!0,this._splitDirection=y(e.splitDirection,Kc.NONE),this._enableShowOutline=y(e.enableShowOutline,!0),this.showOutline=y(e.showOutline,!0),this.outlineColor=y(e.outlineColor,U.BLACK),this._classificationType=e.classificationType,this._statistics=new sF,this._sceneMode=void 0,this._projectTo2D=y(e.projectTo2D,!1),this._skipLevelOfDetail=!1,this._ignoreCommands=y(e.ignoreCommands,!1),this._completeLoad=function(c,u){},this._texturesLoadedPromise=void 0,this._readyPromise=rGe(this),this._sceneGraph=void 0,this._nodesByName={}}function iGe(e,t){let n=e._featureTables,i=t.propertyTables,o=i.length;for(let r=0;r<o;r++){let s=i[r],a=new FL({model:e,propertyTable:s});n.push(a)}return n}function oGe(e,t){let n=t._featureIdLabel,i=t._instanceFeatureIdLabel,o,r,s,a;for(o=0;o<e.nodes.length;o++)if(a=e.nodes[o],l(a.instances)&&(s=Xt.getFeatureIdsByLabel(a.instances.featureIds,i),l(s)&&l(s.propertyTableId)))return s.propertyTableId;for(o=0;o<e.nodes.length;o++)for(a=e.nodes[o],r=0;r<a.primitives.length;r++){let c=a.primitives[r],u=Xt.getFeatureIdsByLabel(c.featureIds,n);if(l(u))return u.propertyTableId}if(t._featureTables.length===1)return 0}function c9(e,t){if(!l(e)&&!l(t))return!1;if(l(e)!==l(t))return!0;let n=e.alpha,i=t.alpha;return Math.floor(n)!==Math.floor(i)||Math.ceil(n)!==Math.ceil(i)}function rGe(e){let t=e._loader,n=e._resource;t.load();let i=t.promise.then(function(s){if(!l(s))return;let a=s.components;if(!l(a)){if(s.isUnloaded())return;throw new de("Failed to load model.")}let c=a.structuralMetadata;l(c)&&c.propertyTableCount>0&&iGe(e,c);let u=new rF({model:e,modelComponents:a});e._sceneGraph=u,e._gltfCredits=u.components.asset.credits;let f=e._resource.credits;if(l(f)){let d=f.length;for(let p=0;p<d;p++)e._resourceCredits.push(f[p])}e._resourcesLoaded=!0}),o=y(t.texturesLoadedPromise,Promise.resolve());e._texturesLoadedPromise=o.then(function(){!l(e)||e.isDestroyed()||(e._texturesLoaded=!0,t._incrementallyLoadTextures&&e.resetDrawCommands())}).catch(Xt.getFailedLoadFunction(e,"model",n));let r=new Promise(function(s,a){e._completeLoad=function(c,u){u.afterRender.push(function(){c._ready=!0,s(c)})}});return i.then(function(){return r}).catch(Xt.getFailedLoadFunction(e,"model",n))}Object.defineProperties(xo.prototype,{ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}},texturesLoadedPromise:{get:function(){return this._texturesLoadedPromise}},loader:{get:function(){return this._loader}},statistics:{get:function(){return this._statistics}},activeAnimations:{get:function(){return this._activeAnimations}},clampAnimations:{get:function(){return this._clampAnimations},set:function(e){this._clampAnimations=e}},cull:{get:function(){return this._cull}},opaquePass:{get:function(){return this._opaquePass}},pointCloudShading:{get:function(){return this._pointCloudShading},set:function(e){e!==this._pointCloudShading&&this.resetDrawCommands(),this._pointCloudShading=e}},customShader:{get:function(){return this._customShader},set:function(e){e!==this._customShader&&this.resetDrawCommands(),this._customShader=e}},sceneGraph:{get:function(){return this._sceneGraph}},content:{get:function(){return this._content}},heightReference:{get:function(){return this._heightReference},set:function(e){e!==this._heightReference&&(this._heightDirty=!0),this._heightReference=e}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){this._distanceDisplayCondition=At.clone(e,this._distanceDisplayCondition)}},structuralMetadata:{get:function(){return this._sceneGraph.components.structuralMetadata}},featureTableId:{get:function(){return this._featureTableId},set:function(e){this._featureTableId=e}},featureTables:{get:function(){return this._featureTables},set:function(e){this._featureTables=e}},id:{get:function(){return this._id},set:function(e){e!==this._id&&(this._idDirty=!0),this._id=e}},allowPicking:{get:function(){return this._allowPicking}},style:{get:function(){return this._style},set:function(e){this._style=e,this._styleDirty=!0}},color:{get:function(){return this._color},set:function(e){c9(e,this._color)&&this.resetDrawCommands(),this._color=U.clone(e,this._color)}},colorBlendMode:{get:function(){return this._colorBlendMode},set:function(e){this._colorBlendMode=e}},colorBlendAmount:{get:function(){return this._colorBlendAmount},set:function(e){this._colorBlendAmount=e}},silhouetteColor:{get:function(){return this._silhouetteColor},set:function(e){if(!U.equals(e,this._silhouetteColor)){let t=c9(e,this._silhouetteColor);this._silhouetteDirty=this._silhouetteDirty||t}this._silhouetteColor=U.clone(e,this._silhouetteColor)}},silhouetteSize:{get:function(){return this._silhouetteSize},set:function(e){if(e!==this._silhouetteSize){let t=this._silhouetteSize,n=e>0&&t===0||e===0&&t>0;this._silhouetteDirty=this._silhouetteDirty||n,this._backFaceCullingDirty=this._backFaceCullingDirty||n}this._silhouetteSize=e}},boundingSphere:{get:function(){let e=l(this._clampedModelMatrix)?this._clampedModelMatrix:this.modelMatrix;return Use(this,e),this._boundingSphere}},debugShowBoundingVolume:{get:function(){return this._debugShowBoundingVolume},set:function(e){this._debugShowBoundingVolume!==e&&(this._debugShowBoundingVolumeDirty=!0),this._debugShowBoundingVolume=e}},debugWireframe:{get:function(){return this._debugWireframe},set:function(e){this._debugWireframe!==e&&this.resetDrawCommands(),this._debugWireframe=e}},show:{get:function(){return this._show},set:function(e){this._show=e}},featureIdLabel:{get:function(){return this._featureIdLabel},set:function(e){typeof e=="number"&&(e=`featureId_${e}`),e!==this._featureIdLabel&&(this._featureTableIdDirty=!0),this._featureIdLabel=e}},instanceFeatureIdLabel:{get:function(){return this._instanceFeatureIdLabel},set:function(e){typeof e=="number"&&(e=`instanceFeatureId_${e}`),e!==this._instanceFeatureIdLabel&&(this._featureTableIdDirty=!0),this._instanceFeatureIdLabel=e}},clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){e!==this._clippingPlanes&&(Zs.setOwner(e,this,"_clippingPlanes"),this.resetDrawCommands())}},lightColor:{get:function(){return this._lightColor},set:function(e){l(e)!==l(this._lightColor)&&this.resetDrawCommands(),this._lightColor=h.clone(e,this._lightColor)}},imageBasedLighting:{get:function(){return this._imageBasedLighting},set:function(e){e!==this._imageBasedLighting&&(this._shouldDestroyImageBasedLighting&&!this._imageBasedLighting.isDestroyed()&&this._imageBasedLighting.destroy(),this._imageBasedLighting=e,this._shouldDestroyImageBasedLighting=!1,this.resetDrawCommands())}},backFaceCulling:{get:function(){return this._backFaceCulling},set:function(e){e!==this._backFaceCulling&&(this._backFaceCullingDirty=!0),this._backFaceCulling=e}},scale:{get:function(){return this._scale},set:function(e){e!==this._scale&&(this._updateModelMatrix=!0),this._scale=e}},computedScale:{get:function(){return this._computedScale}},minimumPixelSize:{get:function(){return this._minimumPixelSize},set:function(e){e!==this._minimumPixelSize&&(this._updateModelMatrix=!0),this._minimumPixelSize=e}},maximumScale:{get:function(){return this._maximumScale},set:function(e){e!==this._maximumScale&&(this._updateModelMatrix=!0),this._maximumScale=e}},shadows:{get:function(){return this._shadows},set:function(e){e!==this._shadows&&(this._shadowsDirty=!0),this._shadows=e}},credit:{get:function(){return this._credit}},showCreditsOnScreen:{get:function(){return this._showCreditsOnScreen},set:function(e){this._showCreditsOnScreen!==e&&(this._showCreditsOnScreenDirty=!0),this._showCreditsOnScreen=e}},splitDirection:{get:function(){return this._splitDirection},set:function(e){this._splitDirection!==e&&this.resetDrawCommands(),this._splitDirection=e}},classificationType:{get:function(){return this._classificationType}},pickIds:{get:function(){return this._pickIds}},styleCommandsNeeded:{get:function(){return this._styleCommandsNeeded}}});xo.prototype.getNode=function(e){return this._nodesByName[e]};xo.prototype.setArticulationStage=function(e,t){this._sceneGraph.setArticulationStage(e,t)};xo.prototype.applyArticulations=function(){this._sceneGraph.applyArticulations()};xo.prototype.makeStyleDirty=function(){this._styleDirty=!0};xo.prototype.resetDrawCommands=function(){this._drawCommandsBuilt=!1};var sGe=new N,aGe=new J,cGe=new N;xo.prototype.update=function(e){if(lGe(this,e),uGe(this,e),fGe(this,e),!this._resourcesLoaded||e.mode===ee.MORPHING)return;dGe(this),hGe(this),mGe(this,e),pGe(this),_Ge(this,e),gGe(this,e),yGe(this,e),CGe(this,e),this._defaultTexture=e.context.defaultTexture,xGe(this,e),AGe(this,e),TGe(this),EGe(this,e),wGe(this,e);let t=this;if(!t._ready){t._completeLoad(t,e);return}SGe(this),vGe(this,e),DGe(this),PGe(this,e)};function lGe(e,t){(!e._resourcesLoaded||!e._texturesLoaded)&&e._loader.process(t)}function uGe(e,t){l(e._customShader)&&e._customShader.update(t)}function fGe(e,t){e._imageBasedLighting.update(t),e._imageBasedLighting.shouldRegenerateShaders&&e.resetDrawCommands()}function dGe(e){if(!e._featureTableIdDirty)return;e._featureTableIdDirty=!1;let t=e._sceneGraph.components,n=t.structuralMetadata;l(n)&&n.propertyTableCount>0&&(e.featureTableId=oGe(t,e),e._styleDirty=!0,e.resetDrawCommands())}function hGe(e){e._styleDirty&&(e.applyStyle(e._style),e._styleDirty=!1)}function mGe(e,t){let n=e._featureTables,i=n.length,o=!1;for(let r=0;r<i;r++)n[r].update(t),n[r].styleCommandsNeededDirty&&(o=!0);o&&kse(e)}function kse(e){let t=e.featureTables[e.featureTableId];e._styleCommandsNeeded=gh.getStyleCommandsNeeded(t.featuresLength,t.batchTexture.translucentFeaturesLength)}function pGe(e){let t=e.pointCloudShading;t.attenuation!==e._attenuation&&(e.resetDrawCommands(),e._attenuation=t.attenuation),t.backFaceCulling!==e._pointCloudBackFaceCulling&&(e.resetDrawCommands(),e._pointCloudBackFaceCulling=t.backFaceCulling)}function _Ge(e,t){e._silhouetteDirty&&(zse(t)&&e.resetDrawCommands(),e._silhouetteDirty=!1)}function gGe(e,t){let n=e.hasSkipLevelOfDetail(t);n!==e._skipLevelOfDetail&&(e.resetDrawCommands(),e._skipLevelOfDetail=n)}function yGe(e,t){if(e.isClippingEnabled()){e._clippingPlanes.owner===e&&e._clippingPlanes.update(t);let n=e._clippingPlanes.clippingPlanesState;n!==e._clippingPlanesState&&(e.resetDrawCommands(),e._clippingPlanesState=n)}}function CGe(e,t){t.mode!==e._sceneMode&&(e._projectTo2D?e.resetDrawCommands():e._updateModelMatrix=!0,e._sceneMode=t.mode)}function xGe(e,t){e._drawCommandsBuilt||(e.destroyPipelineResources(),e._sceneGraph.buildDrawCommands(t),e._drawCommandsBuilt=!0)}function AGe(e,t){N.equals(e.modelMatrix,e._modelMatrix)||(e._updateModelMatrix=!0,e._modelMatrix=N.clone(e.modelMatrix,e._modelMatrix))}var wu=new h,lF=new he;function TGe(e){if(!e._updateModelMatrix&&!e._heightDirty&&e._minimumPixelSize===0)return;l(e._removeUpdateHeightCallback)&&(e._removeUpdateHeightCallback(),e._removeUpdateHeightCallback=void 0);let t=e._scene;if(!l(t)||!l(t.globe)||e.heightReference===ze.NONE){e._clampedModelMatrix=void 0;return}let n=t.globe,i=n.ellipsoid,o=e.modelMatrix;wu.x=o[12],wu.y=o[13],wu.z=o[14];let r=i.cartesianToCartographic(wu);l(e._clampedModelMatrix)||(e._clampedModelMatrix=N.clone(o,new N));let s=n._surface;e._removeUpdateHeightCallback=s.updateHeight(r,Vse(e,i,r));let a=n.getHeight(r);if(l(a)){let c=Vse(e,i,r);he.clone(r,lF),lF.height=a,i.cartographicToCartesian(lF,wu),c(wu)}e._heightDirty=!1,e._updateModelMatrix=!0}function EGe(e,t){if(!e._updateModelMatrix&&e._minimumPixelSize===0)return;let n=l(e._clampedModelMatrix)?e._clampedModelMatrix:e.modelMatrix;Use(e,n),bGe(e,n,t)}function Use(e,t){e._boundingSphere=re.transform(e._sceneGraph.boundingSphere,t,e._boundingSphere),e._clampedScale=l(e._maximumScale)?Math.min(e._scale,e._maximumScale):e._scale,e._boundingSphere.radius=e._initialRadius*e._clampedScale}function bGe(e,t,n){let i=e.scale;if(e.minimumPixelSize!==0&&!e._projectTo2D){let o=n.context,r=Math.max(o.drawingBufferWidth,o.drawingBufferHeight);wu.x=t[12],wu.y=t[13],wu.z=t[14],e._sceneMode!==ee.SCENE3D&&qi.computeActualWgs84Position(n,wu,wu);let s=e._boundingSphere.radius,a=IGe(wu,s,n),c=1/a;Math.min(c*(2*s),r)<e.minimumPixelSize&&(i=e.minimumPixelSize*a/(2*e._initialRadius))}e._computedScale=l(e.maximumScale)?Math.min(e.maximumScale,i):i}function SGe(e){if(!e._idDirty)return;e._idDirty=!1;let t=e._id,n=e._pickIds,i=n.length;for(let o=0;o<i;++o)n[o].object.id=t}function wGe(e,t){let n=l(e._clampedModelMatrix)?e._clampedModelMatrix:e.modelMatrix,i=y(e.referenceMatrix,n),o=t.context,r=e._imageBasedLighting;if(r.useSphericalHarmonicCoefficients||r.useSpecularEnvironmentMaps){let s=aGe,a=sGe;a=N.multiply(o.uniformState.view3D,i,a),s=N.getMatrix3(a,s),s=J.getRotation(s,s),e._iblReferenceFrameMatrix=J.transpose(s,e._iblReferenceFrameMatrix)}if(e.isClippingEnabled()){let s=cGe;s=N.multiply(o.uniformState.view3D,i,s),s=N.multiply(s,e._clippingPlanes.modelMatrix,s),e._clippingPlanesMatrix=N.inverseTranspose(s,e._clippingPlanesMatrix)}}function vGe(e,t){let n=e._sceneGraph;if(e._updateModelMatrix||e._minimumPixelSize!==0){let o=l(e._clampedModelMatrix)?e._clampedModelMatrix:e.modelMatrix;n.updateModelMatrix(o,t),e._updateModelMatrix=!1}e._backFaceCullingDirty&&(n.updateBackFaceCulling(e._backFaceCulling),e._backFaceCullingDirty=!1),e._shadowsDirty&&(n.updateShadows(e._shadows),e._shadowsDirty=!1),e._debugShowBoundingVolumeDirty&&(n.updateShowBoundingVolume(e._debugShowBoundingVolume),e._debugShowBoundingVolumeDirty=!1);let i=!1;l(e.classificationType)||(i=e._userAnimationDirty||e._activeAnimations.update(t)),n.update(t,i),e._userAnimationDirty=!1}function DGe(e){if(!e._showCreditsOnScreenDirty)return;e._showCreditsOnScreenDirty=!1;let t=e._showCreditsOnScreen;l(e._credit)&&(e._credit.showOnScreen=t);let n=e._resourceCredits,i=n.length;for(let s=0;s<i;s++)n[s].showOnScreen=t;let o=e._gltfCredits,r=o.length;for(let s=0;s<r;s++)o[s].showOnScreen=t}function PGe(e,t){let n=RGe(e,t),i=e.isInvisible(),o=e.hasSilhouette(t),r=e._show&&e._computedScale!==0&&n&&(!i||o),s=t.passes,a=s.render||s.pick&&e.allowPicking;r&&!e._ignoreCommands&&a&&(MGe(e,t),e._sceneGraph.pushDrawCommands(t))}var a9=new re;function IGe(e,t,n){return a9.center=e,a9.radius=t,n.camera.getPixelSize(a9,n.context.drawingBufferWidth,n.context.drawingBufferHeight)}function Vse(e,t,n){return function(i){if(e.heightReference===ze.RELATIVE_TO_GROUND){let r=t.cartesianToCartographic(i,lF);r.height+=n.height,t.cartographicToCartesian(r,i)}let o=e._clampedModelMatrix;N.clone(e.modelMatrix,o),o[12]=i.x,o[13]=i.y,o[14]=i.z,e._heightDirty=!0}}var OGe=new h;function RGe(e,t){let n=e.distanceDisplayCondition;if(!l(n))return!0;let i=n.near*n.near,o=n.far*n.far,r;if(t.mode===ee.SCENE2D){let a=(t.camera.frustum.right-t.camera.frustum.left)*.5;r=a*a}else{let s=N.getTranslation(e.modelMatrix,OGe);qi.computeActualWgs84Position(t,s,s),r=h.distanceSquared(s,t.camera.positionWC)}return r>=i&&r<=o}function MGe(e,t){let n=t.creditDisplay,i=e._credit;l(i)&&n.addCredit(i);let o=e._resourceCredits,r=o.length;for(let c=0;c<r;c++)n.addCredit(o[c]);let s=e._gltfCredits,a=s.length;for(let c=0;c<a;c++)n.addCredit(s[c])}xo.prototype.isTranslucent=function(){let e=this.color;return l(e)&&e.alpha>0&&e.alpha<1};xo.prototype.isInvisible=function(){let e=this.color;return l(e)&&e.alpha===0};function zse(e){return e.context.stencilBuffer}xo.prototype.hasSilhouette=function(e){return zse(e)&&this._silhouetteSize>0&&this._silhouetteColor.alpha>0&&!l(this._classificationType)};function BGe(e){return e.context.stencilBuffer}xo.prototype.hasSkipLevelOfDetail=function(e){if(!Mr.is3DTiles(this.type))return!1;let n=this._content.tileset;return BGe(e)&&n.skipLevelOfDetail};xo.prototype.isClippingEnabled=function(){let e=this._clippingPlanes;return l(e)&&e.enabled&&e.length!==0};xo.prototype.isDestroyed=function(){return!1};xo.prototype.destroy=function(){let e=this._loader;l(e)&&e.destroy();let t=this._featureTables;if(l(t)){let i=t.length;for(let o=0;o<i;o++)t[o].destroy()}this.destroyPipelineResources(),this.destroyModelResources(),l(this._removeUpdateHeightCallback)&&(this._removeUpdateHeightCallback(),this._removeUpdateHeightCallback=void 0),l(this._terrainProviderChangedCallback)&&(this._terrainProviderChangedCallback(),this._terrainProviderChangedCallback=void 0);let n=this._clippingPlanes;l(n)&&!n.isDestroyed()&&n.owner===this&&n.destroy(),this._clippingPlanes=void 0,this._shouldDestroyImageBasedLighting&&!this._imageBasedLighting.isDestroyed()&&this._imageBasedLighting.destroy(),this._imageBasedLighting=void 0,fe(this)};xo.prototype.destroyPipelineResources=function(){let e=this._pipelineResources;for(let t=0;t<e.length;t++)e[t].destroy();this._pipelineResources.length=0,this._pickIds.length=0};xo.prototype.destroyModelResources=function(){let e=this._modelResources;for(let t=0;t<e.length;t++)e[t].destroy();this._modelResources.length=0};xo.fromGltf=function(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.url,e.gltf),n={releaseGltfJson:e.releaseGltfJson,asynchronous:e.asynchronous,incrementallyLoadTextures:e.incrementallyLoadTextures,upAxis:e.upAxis,forwardAxis:e.forwardAxis,loadAttributesFor2D:e.projectTo2D,loadIndicesForWireframe:e.enableDebugWireframe,loadPrimitiveOutline:e.enableShowOutline,loadForClassification:l(e.classificationType)},i=y(e.basePath,""),o=Ie.createIfNeeded(i);l(t.asset)?(n.gltfJson=t,n.baseResource=o,n.gltfResource=o):t instanceof Uint8Array?(n.typedArray=t,n.baseResource=o,n.gltfResource=o):n.gltfResource=Ie.createIfNeeded(t);let r=new X_(n),a=l(e.content)?Mr.TILE_GLTF:Mr.GLTF,c=Dw(r,a,e);return c.resource=n.gltfResource,new xo(c)};xo.fromB3dm=function(e){let t={b3dmResource:e.resource,arrayBuffer:e.arrayBuffer,byteOffset:e.byteOffset,releaseGltfJson:e.releaseGltfJson,asynchronous:e.asynchronous,incrementallyLoadTextures:e.incrementallyLoadTextures,upAxis:e.upAxis,forwardAxis:e.forwardAxis,loadAttributesFor2D:e.projectTo2D,loadIndicesForWireframe:e.enableDebugWireframe,loadPrimitiveOutline:e.enableShowOutline,loadForClassification:l(e.classificationType)},n=new SL(t),i=Dw(n,Mr.TILE_B3DM,e);return new xo(i)};xo.fromPnts=function(e){let t={arrayBuffer:e.arrayBuffer,byteOffset:e.byteOffset,loadAttributesFor2D:e.projectTo2D},n=new cF(t),i=Dw(n,Mr.TILE_PNTS,e);return new xo(i)};xo.fromI3dm=function(e){let t={i3dmResource:e.resource,arrayBuffer:e.arrayBuffer,byteOffset:e.byteOffset,releaseGltfJson:e.releaseGltfJson,asynchronous:e.asynchronous,incrementallyLoadTextures:e.incrementallyLoadTextures,upAxis:e.upAxis,forwardAxis:e.forwardAxis,loadAttributesFor2D:e.projectTo2D,loadIndicesForWireframe:e.enableDebugWireframe,loadPrimitiveOutline:e.enableShowOutline},n=new OL(t),i=Dw(n,Mr.TILE_I3DM,e);return new xo(i)};xo.fromGeoJson=function(e){let t={geoJson:e.geoJson},n=new wL(t),i=Dw(n,Mr.TILE_GEOJSON,e);return new xo(i)};xo.prototype.applyColorAndShow=function(e){let t=this._color,n=l(e)&&l(e.color),i=l(e)&&l(e.show);this._color=n?e.color.evaluateColor(void 0,this._color):U.clone(U.WHITE,this._color),this._show=i?e.show.evaluate(void 0):!0,c9(t,this._color)&&this.resetDrawCommands()};xo.prototype.applyStyle=function(e){let t=this.type===Mr.TILE_PNTS,n=l(this.featureTableId)&&this.featureTables[this.featureTableId].featuresLength>0,i=l(this.structuralMetadata)?this.structuralMetadata.propertyAttributes:void 0,o=l(i)&&l(i[0]);if(t&&(!n||o)){this.resetDrawCommands();return}n?(this.featureTables[this.featureTableId].applyStyle(e),kse(this,e)):(this.applyColorAndShow(e),this._styleCommandsNeeded=void 0)};function Dw(e,t,n){return{loader:e,type:t,resource:n.resource,show:n.show,modelMatrix:n.modelMatrix,scale:n.scale,minimumPixelSize:n.minimumPixelSize,maximumScale:n.maximumScale,id:n.id,allowPicking:n.allowPicking,clampAnimations:n.clampAnimations,shadows:n.shadows,debugShowBoundingVolume:n.debugShowBoundingVolume,enableDebugWireframe:n.enableDebugWireframe,debugWireframe:n.debugWireframe,cull:n.cull,opaquePass:n.opaquePass,customShader:n.customShader,content:n.content,heightReference:n.heightReference,scene:n.scene,distanceDisplayCondition:n.distanceDisplayCondition,color:n.color,colorBlendAmount:n.colorBlendAmount,colorBlendMode:n.colorBlendMode,silhouetteColor:n.silhouetteColor,silhouetteSize:n.silhouetteSize,enableShowOutline:n.enableShowOutline,showOutline:n.showOutline,outlineColor:n.outlineColor,clippingPlanes:n.clippingPlanes,lightColor:n.lightColor,imageBasedLighting:n.imageBasedLighting,backFaceCulling:n.backFaceCulling,credit:n.credit,showCreditsOnScreen:n.showCreditsOnScreen,splitDirection:n.splitDirection,projectTo2D:n.projectTo2D,featureIdLabel:n.featureIdLabel,instanceFeatureIdLabel:n.instanceFeatureIdLabel,pointCloudShading:n.pointCloudShading,classificationType:n.classificationType}}var Ch=xo;function ds(e,t,n){this._tileset=e,this._tile=t,this._resource=n,this._model=void 0,this._readyPromise=void 0,this._metadata=void 0,this._group=void 0}Object.defineProperties(ds.prototype,{featuresLength:{get:function(){let e=this._model,t=e.featureTables,n=e.featureTableId;return l(t)&&l(t[n])?t[n].featuresLength:0}},pointsLength:{get:function(){return this._model.statistics.pointsLength}},trianglesLength:{get:function(){return this._model.statistics.trianglesLength}},geometryByteLength:{get:function(){return this._model.statistics.geometryByteLength}},texturesByteLength:{get:function(){return this._model.statistics.texturesByteLength}},batchTableByteLength:{get:function(){let e=this._model.statistics;return e.propertyTablesByteLength+e.batchTexturesByteLength}},innerContents:{get:function(){}},readyPromise:{get:function(){return this._readyPromise}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},batchTable:{get:function(){let e=this._model,t=e.featureTables,n=e.featureTableId;if(l(t)&&l(t[n]))return t[n]}},metadata:{get:function(){return this._metadata},set:function(e){this._metadata=e}},group:{get:function(){return this._group},set:function(e){this._group=e}}});ds.prototype.getFeature=function(e){let t=this._model,n=t.featureTableId;return t.featureTables[n].getFeature(e)};ds.prototype.hasProperty=function(e,t){let n=this._model,i=n.featureTableId;return l(i)?n.featureTables[i].hasProperty(e,t):!1};ds.prototype.applyDebugSettings=function(e,t){t=e?t:U.WHITE,this.featuresLength===0?this._model.color=t:l(this.batchTable)&&this.batchTable.setAllColor(t)};ds.prototype.applyStyle=function(e){this._model.style=e};ds.prototype.update=function(e,t){let n=this._model,i=this._tile;n.colorBlendAmount=e.colorBlendAmount,n.colorBlendMode=e.colorBlendMode,n.modelMatrix=i.computedTransform,n.customShader=e.customShader,n.featureIdLabel=e.featureIdLabel,n.instanceFeatureIdLabel=e.instanceFeatureIdLabel,n.lightColor=e.lightColor,n.imageBasedLighting=e.imageBasedLighting,n.backFaceCulling=e.backFaceCulling,n.shadows=e.shadows,n.showCreditsOnScreen=e.showCreditsOnScreen,n.splitDirection=e.splitDirection,n.debugWireframe=e.debugWireframe,n.showOutline=e.showOutline,n.outlineColor=e.outlineColor,n.pointCloudShading=e.pointCloudShading;let o=e.clippingPlanes;n.referenceMatrix=e.clippingPlanesOriginMatrix,l(o)&&i.clippingPlanesDirty&&(n._clippingPlanes=o.enabled&&i._isClipped?o:void 0),l(o)&&l(n._clippingPlanes)&&n._clippingPlanes!==o&&(n._clippingPlanes=o),n.update(t)};ds.prototype.isDestroyed=function(){return!1};ds.prototype.destroy=function(){return this._model=this._model&&this._model.destroy(),fe(this)};ds.fromGltf=function(e,t,n,i){let o=new ds(e,t,n),s=Pw(e,t,o,{gltf:i,basePath:n}),a=e.vectorClassificationOnly?void 0:e.classificationType;s.classificationType=a;let c=Ch.fromGltf(s);return o._model=c,o._readyPromise=c.readyPromise.then(function(u){return u.activeAnimations.addAll({loop:fc.REPEAT}),u}),o};ds.fromB3dm=function(e,t,n,i,o){let r=new ds(e,t,n),a=Pw(e,t,r,{arrayBuffer:i,byteOffset:o,resource:n}),c=e.vectorClassificationOnly?void 0:e.classificationType;a.classificationType=c;let u=Ch.fromB3dm(a);return r._model=u,r._readyPromise=u.readyPromise.then(function(f){return f.activeAnimations.addAll({loop:fc.REPEAT}),f}),r};ds.fromI3dm=function(e,t,n,i,o){let r=new ds(e,t,n),a=Pw(e,t,r,{arrayBuffer:i,byteOffset:o,resource:n}),c=Ch.fromI3dm(a);return r._model=c,r._readyPromise=c.readyPromise.then(function(u){return u.activeAnimations.addAll({loop:fc.REPEAT}),u}),r};ds.fromPnts=function(e,t,n,i,o){let r=new ds(e,t,n),a=Pw(e,t,r,{arrayBuffer:i,byteOffset:o,resource:n}),c=Ch.fromPnts(a);return r._model=c,r._readyPromise=c.readyPromise,r};ds.fromGeoJson=function(e,t,n,i){let o=new ds(e,t,n),s=Pw(e,t,o,{geoJson:i,resource:n}),a=Ch.fromGeoJson(s);return o._model=a,o._readyPromise=a.readyPromise,o};function Pw(e,t,n,i){let o={cull:!1,releaseGltfJson:!0,opaquePass:xe.CESIUM_3D_TILE,modelMatrix:t.computedTransform,upAxis:e._modelUpAxis,forwardAxis:e._modelForwardAxis,incrementallyLoadTextures:!1,customShader:e.customShader,content:n,colorBlendMode:e.colorBlendMode,colorBlendAmount:e.colorBlendAmount,lightColor:e.lightColor,imageBasedLighting:e.imageBasedLighting,featureIdLabel:e.featureIdLabel,instanceFeatureIdLabel:e.instanceFeatureIdLabel,pointCloudShading:e.pointCloudShading,clippingPlanes:e.clippingPlanes,backFaceCulling:e.backFaceCulling,shadows:e.shadows,showCreditsOnScreen:e.showCreditsOnScreen,splitDirection:e.splitDirection,enableDebugWireframe:e._enableDebugWireframe,debugWireframe:e.debugWireframe,projectTo2D:e._projectTo2D,enableShowOutline:e._enableShowOutline,showOutline:e.showOutline,outlineColor:e.outlineColor};return mt(i,o)}var $m=ds;function Jm(e,t,n,i){this._tileset=e,this._tile=t,this._resource=n,this.featurePropertiesDirty=!1,this._metadata=void 0,this._group=void 0,this._readyPromise=LGe(this,i)}Object.defineProperties(Jm.prototype,{featuresLength:{get:function(){return 0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return 0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return 0}},innerContents:{get:function(){}},readyPromise:{get:function(){return this._readyPromise}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},batchTable:{get:function(){}},metadata:{get:function(){return this._metadata},set:function(e){this._metadata=e}},group:{get:function(){return this._group},set:function(e){this._group=e}}});function LGe(e,t){return e._tileset.loadTileset(e._resource,t,e._tile),Promise.resolve(e)}Jm.prototype.hasProperty=function(e,t){return!1};Jm.prototype.getFeature=function(e){};Jm.prototype.applyDebugSettings=function(e,t){};Jm.prototype.applyStyle=function(e){};Jm.prototype.update=function(e,t){};Jm.prototype.isDestroyed=function(){return!1};Jm.prototype.destroy=function(){return fe(this)};var uF=Jm;function hs(e,t,n,i){let o=hs._verifyAttributes(t);n=y(n,0);let r=[],s={},a,c,u=o.length;for(let d=0;d<u;++d){let p=o[d];if(p.vertexBuffer){r.push(p);continue}c=p.usage,a=s[c],l(a)||(a=s[c]=[]),a.push(p)}function f(d,p){return Z.getSizeInBytes(p.componentDatatype)-Z.getSizeInBytes(d.componentDatatype)}this._allBuffers=[];for(c in s)if(s.hasOwnProperty(c)){a=s[c],a.sort(f);let d=hs._vertexSizeInBytes(a),p=a[0].usage,g={vertexSizeInBytes:d,vertexBuffer:void 0,usage:p,needsCommit:!1,arrayBuffer:void 0,arrayViews:hs._createArrayViews(a,d)};this._allBuffers.push(g)}this._size=0,this._instanced=y(i,!1),this._precreated=r,this._context=e,this.writers=void 0,this.va=void 0,this.resize(n)}hs._verifyAttributes=function(e){let t=[];for(let i=0;i<e.length;++i){let o=e[i],r={index:y(o.index,i),enabled:y(o.enabled,!0),componentsPerAttribute:o.componentsPerAttribute,componentDatatype:y(o.componentDatatype,Z.FLOAT),normalize:y(o.normalize,!1),vertexBuffer:o.vertexBuffer,usage:y(o.usage,Le.STATIC_DRAW)};t.push(r)}let n=new Array(t.length);for(let i=0;i<t.length;++i){let r=t[i].index;n[r]=!0}return t};hs._vertexSizeInBytes=function(e){let t=0,n=e.length;for(let s=0;s<n;++s){let a=e[s];t+=a.componentsPerAttribute*Z.getSizeInBytes(a.componentDatatype)}let i=n>0?Z.getSizeInBytes(e[0].componentDatatype):0,o=i>0?t%i:0;return t+=o===0?0:i-o,t};hs._createArrayViews=function(e,t){let n=[],i=0,o=e.length;for(let r=0;r<o;++r){let s=e[r],a=s.componentDatatype;n.push({index:s.index,enabled:s.enabled,componentsPerAttribute:s.componentsPerAttribute,componentDatatype:a,normalize:s.normalize,offsetInBytes:i,vertexSizeInComponentType:t/Z.getSizeInBytes(a),view:void 0}),i+=s.componentsPerAttribute*Z.getSizeInBytes(a)}return n};hs.prototype.resize=function(e){this._size=e;let t=this._allBuffers;this.writers=[];for(let n=0,i=t.length;n<i;++n){let o=t[n];hs._resize(o,this._size),hs._appendWriters(this.writers,o)}l9(this)};hs._resize=function(e,t){if(e.vertexSizeInBytes>0){let n=new ArrayBuffer(t*e.vertexSizeInBytes);if(l(e.arrayBuffer)){let r=new Uint8Array(n),s=new Uint8Array(e.arrayBuffer),a=s.length;for(let c=0;c<a;++c)r[c]=s[c]}let i=e.arrayViews,o=i.length;for(let r=0;r<o;++r){let s=i[r];s.view=Z.createArrayBufferView(s.componentDatatype,n,s.offsetInBytes)}e.arrayBuffer=n}};var NGe=[function(e,t,n){return function(i,o){t[i*n]=o,e.needsCommit=!0}},function(e,t,n){return function(i,o,r){let s=i*n;t[s]=o,t[s+1]=r,e.needsCommit=!0}},function(e,t,n){return function(i,o,r,s){let a=i*n;t[a]=o,t[a+1]=r,t[a+2]=s,e.needsCommit=!0}},function(e,t,n){return function(i,o,r,s,a){let c=i*n;t[c]=o,t[c+1]=r,t[c+2]=s,t[c+3]=a,e.needsCommit=!0}}];hs._appendWriters=function(e,t){let n=t.arrayViews,i=n.length;for(let o=0;o<i;++o){let r=n[o];e[r.index]=NGe[r.componentsPerAttribute-1](t,r.view,r.vertexSizeInComponentType)}};hs.prototype.commit=function(e){let t=!1,n=this._allBuffers,i,o,r;for(o=0,r=n.length;o<r;++o)i=n[o],t=FGe(this,i)||t;if(t||!l(this.va)){l9(this);let s=this.va=[],a=I.SIXTY_FOUR_KILOBYTES-4,c=l(e)&&!this._instanced?Math.ceil(this._size/a):1;for(let u=0;u<c;++u){let f=[];for(o=0,r=n.length;o<r;++o){i=n[o];let d=u*(i.vertexSizeInBytes*a);hs._appendAttributes(f,i,d,this._instanced)}f=f.concat(this._precreated),s.push({va:new ti({context:this._context,attributes:f,indexBuffer:e}),indicesCount:1.5*(u!==c-1?a:this._size%a)})}}};function FGe(e,t){if(t.needsCommit&&t.vertexSizeInBytes>0){t.needsCommit=!1;let n=t.vertexBuffer,i=e._size*t.vertexSizeInBytes,o=l(n);if(!o||n.sizeInBytes<i)return o&&n.destroy(),t.vertexBuffer=ct.createVertexBuffer({context:e._context,typedArray:t.arrayBuffer,usage:t.usage}),t.vertexBuffer.vertexArrayDestroyable=!1,!0;t.vertexBuffer.copyFromArrayView(t.arrayBuffer)}return!1}hs._appendAttributes=function(e,t,n,i){let o=t.arrayViews,r=o.length;for(let s=0;s<r;++s){let a=o[s];e.push({index:a.index,enabled:a.enabled,componentsPerAttribute:a.componentsPerAttribute,componentDatatype:a.componentDatatype,normalize:a.normalize,vertexBuffer:t.vertexBuffer,offsetInBytes:n+a.offsetInBytes,strideInBytes:t.vertexSizeInBytes,instanceDivisor:i?1:0})}};hs.prototype.subCommit=function(e,t){let n=this._allBuffers;for(let i=0,o=n.length;i<o;++i)VGe(n[i],e,t)};function VGe(e,t,n){if(e.needsCommit&&e.vertexSizeInBytes>0){let i=e.vertexSizeInBytes*t,o=e.vertexSizeInBytes*n;e.vertexBuffer.copyFromArrayView(new Uint8Array(e.arrayBuffer,i,o),i)}}hs.prototype.endSubCommits=function(){let e=this._allBuffers;for(let t=0,n=e.length;t<n;++t)e[t].needsCommit=!1};function l9(e){let t=e.va;if(!l(t))return;let n=t.length;for(let i=0;i<n;++i)t[i].va.destroy();e.va=void 0}hs.prototype.isDestroyed=function(){return!1};hs.prototype.destroy=function(){let e=this._allBuffers;for(let t=0,n=e.length;t<n;++t){let i=e[t];i.vertexBuffer=i.vertexBuffer&&i.vertexBuffer.destroy()}return l9(this),fe(this)};var sg=hs;var fF=`#ifdef GL_OES_standard_derivatives
  4404. #extension GL_OES_standard_derivatives : enable
  4405. #endif
  4406. uniform sampler2D u_atlas;
  4407. #ifdef VECTOR_TILE
  4408. uniform vec4 u_highlightColor;
  4409. #endif
  4410. varying vec2 v_textureCoordinates;
  4411. varying vec4 v_pickColor;
  4412. varying vec4 v_color;
  4413. #ifdef SDF
  4414. varying vec4 v_outlineColor;
  4415. varying float v_outlineWidth;
  4416. #endif
  4417. #ifdef FRAGMENT_DEPTH_CHECK
  4418. varying vec4 v_textureCoordinateBounds;
  4419. varying vec4 v_originTextureCoordinateAndTranslate;
  4420. varying vec4 v_compressed;
  4421. varying mat2 v_rotationMatrix;
  4422. const float SHIFT_LEFT12 = 4096.0;
  4423. const float SHIFT_LEFT1 = 2.0;
  4424. const float SHIFT_RIGHT12 = 1.0 / 4096.0;
  4425. const float SHIFT_RIGHT1 = 1.0 / 2.0;
  4426. float getGlobeDepth(vec2 adjustedST, vec2 depthLookupST, bool applyTranslate, vec2 dimensions, vec2 imageSize)
  4427. {
  4428. vec2 lookupVector = imageSize * (depthLookupST - adjustedST);
  4429. lookupVector = v_rotationMatrix * lookupVector;
  4430. vec2 labelOffset = (dimensions - imageSize) * (depthLookupST - vec2(0.0, v_originTextureCoordinateAndTranslate.y));
  4431. vec2 translation = v_originTextureCoordinateAndTranslate.zw;
  4432. if (applyTranslate)
  4433. {
  4434. translation += (dimensions * v_originTextureCoordinateAndTranslate.xy * vec2(1.0, 0.0));
  4435. }
  4436. vec2 st = ((lookupVector - translation + labelOffset) + gl_FragCoord.xy) / czm_viewport.zw;
  4437. float logDepthOrDepth = czm_unpackDepth(texture2D(czm_globeDepthTexture, st));
  4438. if (logDepthOrDepth == 0.0)
  4439. {
  4440. return 0.0;
  4441. }
  4442. vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, logDepthOrDepth);
  4443. return eyeCoordinate.z / eyeCoordinate.w;
  4444. }
  4445. #endif
  4446. #ifdef SDF
  4447. float getDistance(vec2 position)
  4448. {
  4449. return texture2D(u_atlas, position).r;
  4450. }
  4451. vec4 getSDFColor(vec2 position, float outlineWidth, vec4 outlineColor, float smoothing)
  4452. {
  4453. float distance = getDistance(position);
  4454. if (outlineWidth > 0.0)
  4455. {
  4456. float outlineEdge = clamp(SDF_EDGE - outlineWidth, 0.0, SDF_EDGE);
  4457. float outlineFactor = smoothstep(SDF_EDGE - smoothing, SDF_EDGE + smoothing, distance);
  4458. vec4 sdfColor = mix(outlineColor, v_color, outlineFactor);
  4459. float alpha = smoothstep(outlineEdge - smoothing, outlineEdge + smoothing, distance);
  4460. return vec4(sdfColor.rgb, sdfColor.a * alpha);
  4461. }
  4462. else
  4463. {
  4464. float alpha = smoothstep(SDF_EDGE - smoothing, SDF_EDGE + smoothing, distance);
  4465. return vec4(v_color.rgb, v_color.a * alpha);
  4466. }
  4467. }
  4468. #endif
  4469. void main()
  4470. {
  4471. vec4 color = texture2D(u_atlas, v_textureCoordinates);
  4472. #ifdef SDF
  4473. float outlineWidth = v_outlineWidth;
  4474. vec4 outlineColor = v_outlineColor;
  4475. float distance = getDistance(v_textureCoordinates);
  4476. #ifdef GL_OES_standard_derivatives
  4477. float smoothing = fwidth(distance);
  4478. vec2 sampleOffset = 0.354 * vec2(dFdx(v_textureCoordinates) + dFdy(v_textureCoordinates));
  4479. vec4 center = getSDFColor(v_textureCoordinates, outlineWidth, outlineColor, smoothing);
  4480. vec4 color1 = getSDFColor(v_textureCoordinates + vec2(sampleOffset.x, sampleOffset.y), outlineWidth, outlineColor, smoothing);
  4481. vec4 color2 = getSDFColor(v_textureCoordinates + vec2(-sampleOffset.x, sampleOffset.y), outlineWidth, outlineColor, smoothing);
  4482. vec4 color3 = getSDFColor(v_textureCoordinates + vec2(-sampleOffset.x, -sampleOffset.y), outlineWidth, outlineColor, smoothing);
  4483. vec4 color4 = getSDFColor(v_textureCoordinates + vec2(sampleOffset.x, -sampleOffset.y), outlineWidth, outlineColor, smoothing);
  4484. color = (center + color1 + color2 + color3 + color4)/5.0;
  4485. #else
  4486. float smoothing = 1.0/32.0;
  4487. color = getSDFColor(v_textureCoordinates, outlineWidth, outlineColor, smoothing);
  4488. #endif
  4489. color = czm_gammaCorrect(color);
  4490. #else
  4491. color = czm_gammaCorrect(color);
  4492. color *= czm_gammaCorrect(v_color);
  4493. #endif
  4494. #if !defined(OPAQUE) && !defined(TRANSLUCENT)
  4495. if (color.a < 0.005)
  4496. {
  4497. discard;
  4498. }
  4499. #else
  4500. #ifdef OPAQUE
  4501. if (color.a < 0.995)
  4502. {
  4503. discard;
  4504. }
  4505. #else
  4506. if (color.a >= 0.995)
  4507. {
  4508. discard;
  4509. }
  4510. #endif
  4511. #endif
  4512. #ifdef VECTOR_TILE
  4513. color *= u_highlightColor;
  4514. #endif
  4515. gl_FragColor = color;
  4516. #ifdef LOG_DEPTH
  4517. czm_writeLogDepth();
  4518. #endif
  4519. #ifdef FRAGMENT_DEPTH_CHECK
  4520. float temp = v_compressed.y;
  4521. temp = temp * SHIFT_RIGHT1;
  4522. float temp2 = (temp - floor(temp)) * SHIFT_LEFT1;
  4523. bool enableDepthTest = temp2 != 0.0;
  4524. bool applyTranslate = floor(temp) != 0.0;
  4525. if (enableDepthTest) {
  4526. temp = v_compressed.z;
  4527. temp = temp * SHIFT_RIGHT12;
  4528. vec2 dimensions;
  4529. dimensions.y = (temp - floor(temp)) * SHIFT_LEFT12;
  4530. dimensions.x = floor(temp);
  4531. temp = v_compressed.w;
  4532. temp = temp * SHIFT_RIGHT12;
  4533. vec2 imageSize;
  4534. imageSize.y = (temp - floor(temp)) * SHIFT_LEFT12;
  4535. imageSize.x = floor(temp);
  4536. vec2 adjustedST = v_textureCoordinates - v_textureCoordinateBounds.xy;
  4537. adjustedST = adjustedST / vec2(v_textureCoordinateBounds.z - v_textureCoordinateBounds.x, v_textureCoordinateBounds.w - v_textureCoordinateBounds.y);
  4538. float epsilonEyeDepth = v_compressed.x + czm_epsilon1;
  4539. float globeDepth1 = getGlobeDepth(adjustedST, v_originTextureCoordinateAndTranslate.xy, applyTranslate, dimensions, imageSize);
  4540. if (globeDepth1 != 0.0 && globeDepth1 > epsilonEyeDepth)
  4541. {
  4542. float globeDepth2 = getGlobeDepth(adjustedST, vec2(0.0, 1.0), applyTranslate, dimensions, imageSize);
  4543. if (globeDepth2 != 0.0 && globeDepth2 > epsilonEyeDepth)
  4544. {
  4545. float globeDepth3 = getGlobeDepth(adjustedST, vec2(1.0, 1.0), applyTranslate, dimensions, imageSize);
  4546. if (globeDepth3 != 0.0 && globeDepth3 > epsilonEyeDepth)
  4547. {
  4548. discard;
  4549. }
  4550. }
  4551. }
  4552. }
  4553. #endif
  4554. }
  4555. `;var dF=`#ifdef INSTANCED
  4556. attribute vec2 direction;
  4557. #endif
  4558. attribute vec4 positionHighAndScale;
  4559. attribute vec4 positionLowAndRotation;
  4560. attribute vec4 compressedAttribute0;
  4561. attribute vec4 compressedAttribute1;
  4562. attribute vec4 compressedAttribute2;
  4563. attribute vec4 eyeOffset;
  4564. attribute vec4 scaleByDistance;
  4565. attribute vec4 pixelOffsetScaleByDistance;
  4566. attribute vec4 compressedAttribute3;
  4567. attribute vec2 sdf;
  4568. #if defined(VERTEX_DEPTH_CHECK) || defined(FRAGMENT_DEPTH_CHECK)
  4569. attribute vec4 textureCoordinateBoundsOrLabelTranslate;
  4570. #endif
  4571. #ifdef VECTOR_TILE
  4572. attribute float a_batchId;
  4573. #endif
  4574. varying vec2 v_textureCoordinates;
  4575. #ifdef FRAGMENT_DEPTH_CHECK
  4576. varying vec4 v_textureCoordinateBounds;
  4577. varying vec4 v_originTextureCoordinateAndTranslate;
  4578. varying vec4 v_compressed;
  4579. varying mat2 v_rotationMatrix;
  4580. #endif
  4581. varying vec4 v_pickColor;
  4582. varying vec4 v_color;
  4583. #ifdef SDF
  4584. varying vec4 v_outlineColor;
  4585. varying float v_outlineWidth;
  4586. #endif
  4587. const float UPPER_BOUND = 32768.0;
  4588. const float SHIFT_LEFT16 = 65536.0;
  4589. const float SHIFT_LEFT12 = 4096.0;
  4590. const float SHIFT_LEFT8 = 256.0;
  4591. const float SHIFT_LEFT7 = 128.0;
  4592. const float SHIFT_LEFT5 = 32.0;
  4593. const float SHIFT_LEFT3 = 8.0;
  4594. const float SHIFT_LEFT2 = 4.0;
  4595. const float SHIFT_LEFT1 = 2.0;
  4596. const float SHIFT_RIGHT12 = 1.0 / 4096.0;
  4597. const float SHIFT_RIGHT8 = 1.0 / 256.0;
  4598. const float SHIFT_RIGHT7 = 1.0 / 128.0;
  4599. const float SHIFT_RIGHT5 = 1.0 / 32.0;
  4600. const float SHIFT_RIGHT3 = 1.0 / 8.0;
  4601. const float SHIFT_RIGHT2 = 1.0 / 4.0;
  4602. const float SHIFT_RIGHT1 = 1.0 / 2.0;
  4603. vec4 addScreenSpaceOffset(vec4 positionEC, vec2 imageSize, float scale, vec2 direction, vec2 origin, vec2 translate, vec2 pixelOffset, vec3 alignedAxis, bool validAlignedAxis, float rotation, bool sizeInMeters, out mat2 rotationMatrix, out float mpp)
  4604. {
  4605. vec2 halfSize = imageSize * scale * 0.5;
  4606. halfSize *= ((direction * 2.0) - 1.0);
  4607. vec2 originTranslate = origin * abs(halfSize);
  4608. #if defined(ROTATION) || defined(ALIGNED_AXIS)
  4609. if (validAlignedAxis || rotation != 0.0)
  4610. {
  4611. float angle = rotation;
  4612. if (validAlignedAxis)
  4613. {
  4614. vec4 projectedAlignedAxis = czm_modelViewProjection * vec4(alignedAxis, 0.0);
  4615. angle += sign(-projectedAlignedAxis.x) * acos(sign(projectedAlignedAxis.y) * (projectedAlignedAxis.y * projectedAlignedAxis.y) /
  4616. (projectedAlignedAxis.x * projectedAlignedAxis.x + projectedAlignedAxis.y * projectedAlignedAxis.y));
  4617. }
  4618. float cosTheta = cos(angle);
  4619. float sinTheta = sin(angle);
  4620. rotationMatrix = mat2(cosTheta, sinTheta, -sinTheta, cosTheta);
  4621. halfSize = rotationMatrix * halfSize;
  4622. }
  4623. else
  4624. {
  4625. rotationMatrix = mat2(1.0, 0.0, 0.0, 1.0);
  4626. }
  4627. #endif
  4628. mpp = czm_metersPerPixel(positionEC);
  4629. positionEC.xy += (originTranslate + halfSize) * czm_branchFreeTernary(sizeInMeters, 1.0, mpp);
  4630. positionEC.xy += (translate + pixelOffset) * mpp;
  4631. return positionEC;
  4632. }
  4633. #ifdef VERTEX_DEPTH_CHECK
  4634. float getGlobeDepth(vec4 positionEC)
  4635. {
  4636. vec4 posWC = czm_eyeToWindowCoordinates(positionEC);
  4637. float globeDepth = czm_unpackDepth(texture2D(czm_globeDepthTexture, posWC.xy / czm_viewport.zw));
  4638. if (globeDepth == 0.0)
  4639. {
  4640. return 0.0;
  4641. }
  4642. vec4 eyeCoordinate = czm_windowToEyeCoordinates(posWC.xy, globeDepth);
  4643. return eyeCoordinate.z / eyeCoordinate.w;
  4644. }
  4645. #endif
  4646. void main()
  4647. {
  4648. vec3 positionHigh = positionHighAndScale.xyz;
  4649. vec3 positionLow = positionLowAndRotation.xyz;
  4650. float scale = positionHighAndScale.w;
  4651. #if defined(ROTATION) || defined(ALIGNED_AXIS)
  4652. float rotation = positionLowAndRotation.w;
  4653. #else
  4654. float rotation = 0.0;
  4655. #endif
  4656. float compressed = compressedAttribute0.x;
  4657. vec2 pixelOffset;
  4658. pixelOffset.x = floor(compressed * SHIFT_RIGHT7);
  4659. compressed -= pixelOffset.x * SHIFT_LEFT7;
  4660. pixelOffset.x -= UPPER_BOUND;
  4661. vec2 origin;
  4662. origin.x = floor(compressed * SHIFT_RIGHT5);
  4663. compressed -= origin.x * SHIFT_LEFT5;
  4664. origin.y = floor(compressed * SHIFT_RIGHT3);
  4665. compressed -= origin.y * SHIFT_LEFT3;
  4666. #ifdef FRAGMENT_DEPTH_CHECK
  4667. vec2 depthOrigin = origin.xy;
  4668. #endif
  4669. origin -= vec2(1.0);
  4670. float show = floor(compressed * SHIFT_RIGHT2);
  4671. compressed -= show * SHIFT_LEFT2;
  4672. #ifdef INSTANCED
  4673. vec2 textureCoordinatesBottomLeft = czm_decompressTextureCoordinates(compressedAttribute0.w);
  4674. vec2 textureCoordinatesRange = czm_decompressTextureCoordinates(eyeOffset.w);
  4675. vec2 textureCoordinates = textureCoordinatesBottomLeft + direction * textureCoordinatesRange;
  4676. #else
  4677. vec2 direction;
  4678. direction.x = floor(compressed * SHIFT_RIGHT1);
  4679. direction.y = compressed - direction.x * SHIFT_LEFT1;
  4680. vec2 textureCoordinates = czm_decompressTextureCoordinates(compressedAttribute0.w);
  4681. #endif
  4682. float temp = compressedAttribute0.y * SHIFT_RIGHT8;
  4683. pixelOffset.y = -(floor(temp) - UPPER_BOUND);
  4684. vec2 translate;
  4685. translate.y = (temp - floor(temp)) * SHIFT_LEFT16;
  4686. temp = compressedAttribute0.z * SHIFT_RIGHT8;
  4687. translate.x = floor(temp) - UPPER_BOUND;
  4688. translate.y += (temp - floor(temp)) * SHIFT_LEFT8;
  4689. translate.y -= UPPER_BOUND;
  4690. temp = compressedAttribute1.x * SHIFT_RIGHT8;
  4691. float temp2 = floor(compressedAttribute2.w * SHIFT_RIGHT2);
  4692. vec2 imageSize = vec2(floor(temp), temp2);
  4693. #ifdef FRAGMENT_DEPTH_CHECK
  4694. float labelHorizontalOrigin = floor(compressedAttribute2.w - (temp2 * SHIFT_LEFT2));
  4695. float applyTranslate = 0.0;
  4696. if (labelHorizontalOrigin != 0.0)
  4697. {
  4698. applyTranslate = 1.0;
  4699. labelHorizontalOrigin -= 2.0;
  4700. depthOrigin.x = labelHorizontalOrigin + 1.0;
  4701. }
  4702. depthOrigin = vec2(1.0) - (depthOrigin * 0.5);
  4703. #endif
  4704. #ifdef EYE_DISTANCE_TRANSLUCENCY
  4705. vec4 translucencyByDistance;
  4706. translucencyByDistance.x = compressedAttribute1.z;
  4707. translucencyByDistance.z = compressedAttribute1.w;
  4708. translucencyByDistance.y = ((temp - floor(temp)) * SHIFT_LEFT8) / 255.0;
  4709. temp = compressedAttribute1.y * SHIFT_RIGHT8;
  4710. translucencyByDistance.w = ((temp - floor(temp)) * SHIFT_LEFT8) / 255.0;
  4711. #endif
  4712. #if defined(VERTEX_DEPTH_CHECK) || defined(FRAGMENT_DEPTH_CHECK)
  4713. temp = compressedAttribute3.w;
  4714. temp = temp * SHIFT_RIGHT12;
  4715. vec2 dimensions;
  4716. dimensions.y = (temp - floor(temp)) * SHIFT_LEFT12;
  4717. dimensions.x = floor(temp);
  4718. #endif
  4719. #ifdef ALIGNED_AXIS
  4720. vec3 alignedAxis = czm_octDecode(floor(compressedAttribute1.y * SHIFT_RIGHT8));
  4721. temp = compressedAttribute2.z * SHIFT_RIGHT5;
  4722. bool validAlignedAxis = (temp - floor(temp)) * SHIFT_LEFT1 > 0.0;
  4723. #else
  4724. vec3 alignedAxis = vec3(0.0);
  4725. bool validAlignedAxis = false;
  4726. #endif
  4727. vec4 pickColor;
  4728. vec4 color;
  4729. temp = compressedAttribute2.y;
  4730. temp = temp * SHIFT_RIGHT8;
  4731. pickColor.b = (temp - floor(temp)) * SHIFT_LEFT8;
  4732. temp = floor(temp) * SHIFT_RIGHT8;
  4733. pickColor.g = (temp - floor(temp)) * SHIFT_LEFT8;
  4734. pickColor.r = floor(temp);
  4735. temp = compressedAttribute2.x;
  4736. temp = temp * SHIFT_RIGHT8;
  4737. color.b = (temp - floor(temp)) * SHIFT_LEFT8;
  4738. temp = floor(temp) * SHIFT_RIGHT8;
  4739. color.g = (temp - floor(temp)) * SHIFT_LEFT8;
  4740. color.r = floor(temp);
  4741. temp = compressedAttribute2.z * SHIFT_RIGHT8;
  4742. bool sizeInMeters = floor((temp - floor(temp)) * SHIFT_LEFT7) > 0.0;
  4743. temp = floor(temp) * SHIFT_RIGHT8;
  4744. pickColor.a = (temp - floor(temp)) * SHIFT_LEFT8;
  4745. pickColor /= 255.0;
  4746. color.a = floor(temp);
  4747. color /= 255.0;
  4748. vec4 p = czm_translateRelativeToEye(positionHigh, positionLow);
  4749. vec4 positionEC = czm_modelViewRelativeToEye * p;
  4750. #if defined(FRAGMENT_DEPTH_CHECK) || defined(VERTEX_DEPTH_CHECK)
  4751. float eyeDepth = positionEC.z;
  4752. #endif
  4753. positionEC = czm_eyeOffset(positionEC, eyeOffset.xyz);
  4754. positionEC.xyz *= show;
  4755. #if defined(EYE_DISTANCE_SCALING) || defined(EYE_DISTANCE_TRANSLUCENCY) || defined(EYE_DISTANCE_PIXEL_OFFSET) || defined(DISTANCE_DISPLAY_CONDITION) || defined(DISABLE_DEPTH_DISTANCE)
  4756. float lengthSq;
  4757. if (czm_sceneMode == czm_sceneMode2D)
  4758. {
  4759. lengthSq = czm_eyeHeight2D.y;
  4760. }
  4761. else
  4762. {
  4763. lengthSq = dot(positionEC.xyz, positionEC.xyz);
  4764. }
  4765. #endif
  4766. #ifdef EYE_DISTANCE_SCALING
  4767. float distanceScale = czm_nearFarScalar(scaleByDistance, lengthSq);
  4768. scale *= distanceScale;
  4769. translate *= distanceScale;
  4770. if (scale == 0.0)
  4771. {
  4772. positionEC.xyz = vec3(0.0);
  4773. }
  4774. #endif
  4775. float translucency = 1.0;
  4776. #ifdef EYE_DISTANCE_TRANSLUCENCY
  4777. translucency = czm_nearFarScalar(translucencyByDistance, lengthSq);
  4778. if (translucency == 0.0)
  4779. {
  4780. positionEC.xyz = vec3(0.0);
  4781. }
  4782. #endif
  4783. #ifdef EYE_DISTANCE_PIXEL_OFFSET
  4784. float pixelOffsetScale = czm_nearFarScalar(pixelOffsetScaleByDistance, lengthSq);
  4785. pixelOffset *= pixelOffsetScale;
  4786. #endif
  4787. #ifdef DISTANCE_DISPLAY_CONDITION
  4788. float nearSq = compressedAttribute3.x;
  4789. float farSq = compressedAttribute3.y;
  4790. if (lengthSq < nearSq || lengthSq > farSq)
  4791. {
  4792. positionEC.xyz = vec3(0.0);
  4793. }
  4794. #endif
  4795. mat2 rotationMatrix;
  4796. float mpp;
  4797. #ifdef DISABLE_DEPTH_DISTANCE
  4798. float disableDepthTestDistance = compressedAttribute3.z;
  4799. #endif
  4800. #ifdef VERTEX_DEPTH_CHECK
  4801. if (lengthSq < disableDepthTestDistance) {
  4802. float depthsilon = 10.0;
  4803. vec2 labelTranslate = textureCoordinateBoundsOrLabelTranslate.xy;
  4804. vec4 pEC1 = addScreenSpaceOffset(positionEC, dimensions, scale, vec2(0.0), origin, labelTranslate, pixelOffset, alignedAxis, validAlignedAxis, rotation, sizeInMeters, rotationMatrix, mpp);
  4805. float globeDepth1 = getGlobeDepth(pEC1);
  4806. if (globeDepth1 != 0.0 && pEC1.z + depthsilon < globeDepth1)
  4807. {
  4808. vec4 pEC2 = addScreenSpaceOffset(positionEC, dimensions, scale, vec2(0.0, 1.0), origin, labelTranslate, pixelOffset, alignedAxis, validAlignedAxis, rotation, sizeInMeters, rotationMatrix, mpp);
  4809. float globeDepth2 = getGlobeDepth(pEC2);
  4810. if (globeDepth2 != 0.0 && pEC2.z + depthsilon < globeDepth2)
  4811. {
  4812. vec4 pEC3 = addScreenSpaceOffset(positionEC, dimensions, scale, vec2(1.0), origin, labelTranslate, pixelOffset, alignedAxis, validAlignedAxis, rotation, sizeInMeters, rotationMatrix, mpp);
  4813. float globeDepth3 = getGlobeDepth(pEC3);
  4814. if (globeDepth3 != 0.0 && pEC3.z + depthsilon < globeDepth3)
  4815. {
  4816. positionEC.xyz = vec3(0.0);
  4817. }
  4818. }
  4819. }
  4820. }
  4821. #endif
  4822. positionEC = addScreenSpaceOffset(positionEC, imageSize, scale, direction, origin, translate, pixelOffset, alignedAxis, validAlignedAxis, rotation, sizeInMeters, rotationMatrix, mpp);
  4823. gl_Position = czm_projection * positionEC;
  4824. v_textureCoordinates = textureCoordinates;
  4825. #ifdef LOG_DEPTH
  4826. czm_vertexLogDepth();
  4827. #endif
  4828. #ifdef DISABLE_DEPTH_DISTANCE
  4829. if (disableDepthTestDistance == 0.0 && czm_minimumDisableDepthTestDistance != 0.0)
  4830. {
  4831. disableDepthTestDistance = czm_minimumDisableDepthTestDistance;
  4832. }
  4833. if (disableDepthTestDistance != 0.0)
  4834. {
  4835. float zclip = gl_Position.z / gl_Position.w;
  4836. bool clipped = (zclip < -1.0 || zclip > 1.0);
  4837. if (!clipped && (disableDepthTestDistance < 0.0 || (lengthSq > 0.0 && lengthSq < disableDepthTestDistance)))
  4838. {
  4839. gl_Position.z = -gl_Position.w;
  4840. #ifdef LOG_DEPTH
  4841. v_depthFromNearPlusOne = 1.0;
  4842. #endif
  4843. }
  4844. }
  4845. #endif
  4846. #ifdef FRAGMENT_DEPTH_CHECK
  4847. if (sizeInMeters) {
  4848. translate /= mpp;
  4849. dimensions /= mpp;
  4850. imageSize /= mpp;
  4851. }
  4852. #if defined(ROTATION) || defined(ALIGNED_AXIS)
  4853. v_rotationMatrix = rotationMatrix;
  4854. #else
  4855. v_rotationMatrix = mat2(1.0, 0.0, 0.0, 1.0);
  4856. #endif
  4857. float enableDepthCheck = 0.0;
  4858. if (lengthSq < disableDepthTestDistance)
  4859. {
  4860. enableDepthCheck = 1.0;
  4861. }
  4862. float dw = floor(clamp(dimensions.x, 0.0, SHIFT_LEFT12));
  4863. float dh = floor(clamp(dimensions.y, 0.0, SHIFT_LEFT12));
  4864. float iw = floor(clamp(imageSize.x, 0.0, SHIFT_LEFT12));
  4865. float ih = floor(clamp(imageSize.y, 0.0, SHIFT_LEFT12));
  4866. v_compressed.x = eyeDepth;
  4867. v_compressed.y = applyTranslate * SHIFT_LEFT1 + enableDepthCheck;
  4868. v_compressed.z = dw * SHIFT_LEFT12 + dh;
  4869. v_compressed.w = iw * SHIFT_LEFT12 + ih;
  4870. v_originTextureCoordinateAndTranslate.xy = depthOrigin;
  4871. v_originTextureCoordinateAndTranslate.zw = translate;
  4872. v_textureCoordinateBounds = textureCoordinateBoundsOrLabelTranslate;
  4873. #endif
  4874. #ifdef SDF
  4875. vec4 outlineColor;
  4876. float outlineWidth;
  4877. temp = sdf.x;
  4878. temp = temp * SHIFT_RIGHT8;
  4879. outlineColor.b = (temp - floor(temp)) * SHIFT_LEFT8;
  4880. temp = floor(temp) * SHIFT_RIGHT8;
  4881. outlineColor.g = (temp - floor(temp)) * SHIFT_LEFT8;
  4882. outlineColor.r = floor(temp);
  4883. temp = sdf.y;
  4884. temp = temp * SHIFT_RIGHT8;
  4885. float temp3 = (temp - floor(temp)) * SHIFT_LEFT8;
  4886. temp = floor(temp) * SHIFT_RIGHT8;
  4887. outlineWidth = (temp - floor(temp)) * SHIFT_LEFT8;
  4888. outlineColor.a = floor(temp);
  4889. outlineColor /= 255.0;
  4890. v_outlineWidth = outlineWidth / 255.0;
  4891. v_outlineColor = outlineColor;
  4892. v_outlineColor.a *= translucency;
  4893. #endif
  4894. v_pickColor = pickColor;
  4895. v_color = color;
  4896. v_color.a *= translucency;
  4897. }
  4898. `;function di(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.translucencyByDistance,i=e.pixelOffsetScaleByDistance,o=e.scaleByDistance,r=e.distanceDisplayCondition;l(n)&&(n=St.clone(n)),l(i)&&(i=St.clone(i)),l(o)&&(o=St.clone(o)),l(r)&&(r=At.clone(r)),this._show=y(e.show,!0),this._position=h.clone(y(e.position,h.ZERO)),this._actualPosition=h.clone(this._position),this._pixelOffset=G.clone(y(e.pixelOffset,G.ZERO)),this._translate=new G(0,0),this._eyeOffset=h.clone(y(e.eyeOffset,h.ZERO)),this._heightReference=y(e.heightReference,ze.NONE),this._verticalOrigin=y(e.verticalOrigin,bn.CENTER),this._horizontalOrigin=y(e.horizontalOrigin,ui.CENTER),this._scale=y(e.scale,1),this._color=U.clone(y(e.color,U.WHITE)),this._rotation=y(e.rotation,0),this._alignedAxis=h.clone(y(e.alignedAxis,h.ZERO)),this._width=e.width,this._height=e.height,this._scaleByDistance=o,this._translucencyByDistance=n,this._pixelOffsetScaleByDistance=i,this._sizeInMeters=y(e.sizeInMeters,!1),this._distanceDisplayCondition=r,this._disableDepthTestDistance=e.disableDepthTestDistance,this._id=e.id,this._collection=y(e.collection,t),this._pickId=void 0,this._pickPrimitive=y(e._pickPrimitive,this),this._billboardCollection=t,this._dirty=!1,this._index=-1,this._batchIndex=void 0,this._imageIndex=-1,this._imageIndexPromise=void 0,this._imageId=void 0,this._image=void 0,this._imageSubRegion=void 0,this._imageWidth=void 0,this._imageHeight=void 0,this._labelDimensions=void 0,this._labelHorizontalOrigin=void 0,this._labelTranslate=void 0;let s=e.image,a=e.imageId;l(s)&&(l(a)||(typeof s=="string"?a=s:l(s.src)?a=s.src:a=Hn()),this._imageId=a,this._image=s),l(e.imageSubRegion)&&(this._imageId=a,this._imageSubRegion=e.imageSubRegion),l(this._billboardCollection._textureAtlas)&&this._loadImage(),this._actualClampedPosition=void 0,this._removeCallbackFunc=void 0,this._mode=ee.SCENE3D,this._clusterShow=!0,this._outlineColor=U.clone(y(e.outlineColor,U.BLACK)),this._outlineWidth=y(e.outlineWidth,0),this._updateClamping()}var Hse=di.SHOW_INDEX=0,mF=di.POSITION_INDEX=1,Yse=di.PIXEL_OFFSET_INDEX=2,kGe=di.EYE_OFFSET_INDEX=3,UGe=di.HORIZONTAL_ORIGIN_INDEX=4,zGe=di.VERTICAL_ORIGIN_INDEX=5,HGe=di.SCALE_INDEX=6,pF=di.IMAGE_INDEX_INDEX=7,Gse=di.COLOR_INDEX=8,GGe=di.ROTATION_INDEX=9,WGe=di.ALIGNED_AXIS_INDEX=10,jGe=di.SCALE_BY_DISTANCE_INDEX=11,qGe=di.TRANSLUCENCY_BY_DISTANCE_INDEX=12,YGe=di.PIXEL_OFFSET_SCALE_BY_DISTANCE_INDEX=13,XGe=di.DISTANCE_DISPLAY_CONDITION=14,KGe=di.DISABLE_DEPTH_DISTANCE=15;di.TEXTURE_COORDINATE_BOUNDS=16;var Wse=di.SDF_INDEX=17;di.NUMBER_OF_PROPERTIES=18;function Oo(e,t){let n=e._billboardCollection;l(n)&&(n._updateBillboard(e,t),e._dirty=!0)}Object.defineProperties(di.prototype,{show:{get:function(){return this._show},set:function(e){this._show!==e&&(this._show=e,Oo(this,Hse))}},position:{get:function(){return this._position},set:function(e){let t=this._position;h.equals(t,e)||(h.clone(e,t),h.clone(e,this._actualPosition),this._updateClamping(),Oo(this,mF))}},heightReference:{get:function(){return this._heightReference},set:function(e){let t=this._heightReference;e!==t&&(this._heightReference=e,this._updateClamping(),Oo(this,mF))}},pixelOffset:{get:function(){return this._pixelOffset},set:function(e){let t=this._pixelOffset;G.equals(t,e)||(G.clone(e,t),Oo(this,Yse))}},scaleByDistance:{get:function(){return this._scaleByDistance},set:function(e){let t=this._scaleByDistance;St.equals(t,e)||(this._scaleByDistance=St.clone(e,t),Oo(this,jGe))}},translucencyByDistance:{get:function(){return this._translucencyByDistance},set:function(e){let t=this._translucencyByDistance;St.equals(t,e)||(this._translucencyByDistance=St.clone(e,t),Oo(this,qGe))}},pixelOffsetScaleByDistance:{get:function(){return this._pixelOffsetScaleByDistance},set:function(e){let t=this._pixelOffsetScaleByDistance;St.equals(t,e)||(this._pixelOffsetScaleByDistance=St.clone(e,t),Oo(this,YGe))}},eyeOffset:{get:function(){return this._eyeOffset},set:function(e){let t=this._eyeOffset;h.equals(t,e)||(h.clone(e,t),Oo(this,kGe))}},horizontalOrigin:{get:function(){return this._horizontalOrigin},set:function(e){this._horizontalOrigin!==e&&(this._horizontalOrigin=e,Oo(this,UGe))}},verticalOrigin:{get:function(){return this._verticalOrigin},set:function(e){this._verticalOrigin!==e&&(this._verticalOrigin=e,Oo(this,zGe))}},scale:{get:function(){return this._scale},set:function(e){this._scale!==e&&(this._scale=e,Oo(this,HGe))}},color:{get:function(){return this._color},set:function(e){let t=this._color;U.equals(t,e)||(U.clone(e,t),Oo(this,Gse))}},rotation:{get:function(){return this._rotation},set:function(e){this._rotation!==e&&(this._rotation=e,Oo(this,GGe))}},alignedAxis:{get:function(){return this._alignedAxis},set:function(e){let t=this._alignedAxis;h.equals(t,e)||(h.clone(e,t),Oo(this,WGe))}},width:{get:function(){return y(this._width,this._imageWidth)},set:function(e){this._width!==e&&(this._width=e,Oo(this,pF))}},height:{get:function(){return y(this._height,this._imageHeight)},set:function(e){this._height!==e&&(this._height=e,Oo(this,pF))}},sizeInMeters:{get:function(){return this._sizeInMeters},set:function(e){this._sizeInMeters!==e&&(this._sizeInMeters=e,Oo(this,Gse))}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){At.equals(e,this._distanceDisplayCondition)||(this._distanceDisplayCondition=At.clone(e,this._distanceDisplayCondition),Oo(this,XGe))}},disableDepthTestDistance:{get:function(){return this._disableDepthTestDistance},set:function(e){this._disableDepthTestDistance!==e&&(this._disableDepthTestDistance=e,Oo(this,KGe))}},id:{get:function(){return this._id},set:function(e){this._id=e,l(this._pickId)&&(this._pickId.object.id=e)}},pickPrimitive:{get:function(){return this._pickPrimitive},set:function(e){this._pickPrimitive=e,l(this._pickId)&&(this._pickId.object.primitive=e)}},pickId:{get:function(){return this._pickId}},image:{get:function(){return this._imageId},set:function(e){l(e)?typeof e=="string"?this.setImage(e,e):e instanceof Ie?this.setImage(e.url,e):l(e.src)?this.setImage(e.src,e):this.setImage(Hn(),e):(this._imageIndex=-1,this._imageSubRegion=void 0,this._imageId=void 0,this._image=void 0,this._imageIndexPromise=void 0,Oo(this,pF))}},ready:{get:function(){return this._imageIndex!==-1}},_clampedPosition:{get:function(){return this._actualClampedPosition},set:function(e){this._actualClampedPosition=h.clone(e,this._actualClampedPosition),Oo(this,mF)}},clusterShow:{get:function(){return this._clusterShow},set:function(e){this._clusterShow!==e&&(this._clusterShow=e,Oo(this,Hse))}},outlineColor:{get:function(){return this._outlineColor},set:function(e){let t=this._outlineColor;U.equals(t,e)||(U.clone(e,t),Oo(this,Wse))}},outlineWidth:{get:function(){return this._outlineWidth},set:function(e){this._outlineWidth!==e&&(this._outlineWidth=e,Oo(this,Wse))}}});di.prototype.getPickId=function(e){return l(this._pickId)||(this._pickId=e.createPickId({primitive:this._pickPrimitive,collection:this._collection,id:this._id})),this._pickId};di.prototype._updateClamping=function(){di._updateClamping(this._billboardCollection,this)};var Iw=new he,jse=new h;di._updateClamping=function(e,t){let n=e._scene;if(!l(n)||!l(n.globe))return;let i=n.globe,o=i.ellipsoid,r=i._surface,s=n.frameState.mode,a=s!==t._mode;if(t._mode=s,(t._heightReference===ze.NONE||a)&&l(t._removeCallbackFunc)&&(t._removeCallbackFunc(),t._removeCallbackFunc=void 0,t._clampedPosition=void 0),t._heightReference===ze.NONE||!l(t._position))return;let c=o.cartesianToCartographic(t._position);if(!l(c)){t._actualClampedPosition=void 0;return}l(t._removeCallbackFunc)&&t._removeCallbackFunc();function u(d){if(t._heightReference===ze.RELATIVE_TO_GROUND)if(t._mode===ee.SCENE3D){let p=o.cartesianToCartographic(d,Iw);p.height+=c.height,o.cartographicToCartesian(p,d)}else d.x+=c.height;t._clampedPosition=h.clone(d,t._clampedPosition)}t._removeCallbackFunc=r.updateHeight(c,u),he.clone(c,Iw);let f=i.getHeight(c);l(f)&&(Iw.height=f),o.cartographicToCartesian(Iw,jse),u(jse)};di.prototype._loadImage=function(){let e=this._billboardCollection._textureAtlas,t=this._imageId,n=this._image,i=this._imageSubRegion,o,r=this;function s(a){if(r._imageId!==t||r._image!==n||!Ge.equals(r._imageSubRegion,i))return;let c=e.textureCoordinates[a];r._imageWidth=e.texture.width*c.width,r._imageHeight=e.texture.height*c.height,r._imageIndex=a,r._ready=!0,r._image=void 0,r._imageIndexPromise=void 0,Oo(r,pF)}if(l(n)){let a=e.getImageIndex(t);if(l(a)){s(a);return}o=e.addImage(t,n)}l(i)&&(o=e.addSubRegion(t,i)),this._imageIndexPromise=o,l(o)&&o.then(s).catch(function(a){console.error(`Error loading image for billboard: ${a}`),r._imageIndexPromise=void 0})};di.prototype.setImage=function(e,t){this._imageId!==e&&(this._imageIndex=-1,this._imageSubRegion=void 0,this._imageId=e,this._image=t,l(this._billboardCollection._textureAtlas)&&this._loadImage())};di.prototype.setImageSubRegion=function(e,t){this._imageId===e&&Ge.equals(this._imageSubRegion,t)||(this._imageIndex=-1,this._imageId=e,this._imageSubRegion=Ge.clone(t),l(this._billboardCollection._textureAtlas)&&this._loadImage())};di.prototype._setTranslate=function(e){let t=this._translate;G.equals(t,e)||(G.clone(e,t),Oo(this,Yse))};di.prototype._getActualPosition=function(){return l(this._clampedPosition)?this._clampedPosition:this._actualPosition};di.prototype._setActualPosition=function(e){l(this._clampedPosition)||h.clone(e,this._actualPosition),Oo(this,mF)};var qse=new se;di._computeActualPosition=function(e,t,n,i){return l(e._clampedPosition)?(n.mode!==e._mode&&e._updateClamping(),e._clampedPosition):n.mode===ee.SCENE3D?t:(N.multiplyByPoint(i,t,qse),qi.computeActualWgs84Position(n,qse))};var Xse=new h;di._computeScreenSpacePosition=function(e,t,n,i,o,r){let s=N.multiplyByPoint(e,t,Xse),a=qi.wgs84WithEyeOffsetToWindowCoordinates(o,s,n,r);if(!!l(a))return G.add(a,i,a),a};var hF=new G(0,0);di.prototype.computeScreenSpacePosition=function(e,t){let n=this._billboardCollection;l(t)||(t=new G),G.clone(this._pixelOffset,hF),G.add(hF,this._translate,hF);let i=n.modelMatrix,o=this._position;if(l(this._clampedPosition)&&(o=this._clampedPosition,e.mode!==ee.SCENE3D)){let s=e.mapProjection,a=s.ellipsoid,c=s.unproject(o,Iw);o=a.cartographicToCartesian(c,Xse),i=N.IDENTITY}return di._computeScreenSpacePosition(i,o,this._eyeOffset,hF,e,t)};di.getScreenSpaceBoundingBox=function(e,t,n){let i=e.width,o=e.height,r=e.scale;i*=r,o*=r;let s=t.x;e.horizontalOrigin===ui.RIGHT?s-=i:e.horizontalOrigin===ui.CENTER&&(s-=i*.5);let a=t.y;return e.verticalOrigin===bn.BOTTOM||e.verticalOrigin===bn.BASELINE?a-=o:e.verticalOrigin===bn.CENTER&&(a-=o*.5),l(n)||(n=new Ge),n.x=s,n.y=a,n.width=i,n.height=o,n};di.prototype.equals=function(e){return this===e||l(e)&&this._id===e._id&&h.equals(this._position,e._position)&&this._imageId===e._imageId&&this._show===e._show&&this._scale===e._scale&&this._verticalOrigin===e._verticalOrigin&&this._horizontalOrigin===e._horizontalOrigin&&this._heightReference===e._heightReference&&Ge.equals(this._imageSubRegion,e._imageSubRegion)&&U.equals(this._color,e._color)&&G.equals(this._pixelOffset,e._pixelOffset)&&G.equals(this._translate,e._translate)&&h.equals(this._eyeOffset,e._eyeOffset)&&St.equals(this._scaleByDistance,e._scaleByDistance)&&St.equals(this._translucencyByDistance,e._translucencyByDistance)&&St.equals(this._pixelOffsetScaleByDistance,e._pixelOffsetScaleByDistance)&&At.equals(this._distanceDisplayCondition,e._distanceDisplayCondition)&&this._disableDepthTestDistance===e._disableDepthTestDistance};di.prototype._destroy=function(){l(this._customData)&&(this._billboardCollection._scene.globe._surface.removeTileCustomData(this._customData),this._customData=void 0),l(this._removeCallbackFunc)&&(this._removeCallbackFunc(),this._removeCallbackFunc=void 0),this.image=void 0,this._pickId=this._pickId&&this._pickId.destroy(),this._billboardCollection=void 0};var mo=di;var ZGe={OPAQUE:0,TRANSLUCENT:1,OPAQUE_AND_TRANSLUCENT:2},bo=Object.freeze(ZGe);var $Ge={FONT_SIZE:48,PADDING:10,RADIUS:8,CUTOFF:.25},ws=Object.freeze($Ge);function Qm(e,t,n,i,o){this.bottomLeft=y(e,G.ZERO),this.topRight=y(t,G.ZERO),this.childNode1=n,this.childNode2=i,this.imageIndex=o}var JGe=new G(16,16);function ag(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.borderWidthInPixels,1),n=y(e.initialSize,JGe);this._context=e.context,this._pixelFormat=y(e.pixelFormat,ft.RGBA),this._borderWidthInPixels=t,this._textureCoordinates=[],this._guid=Hn(),this._idHash={},this._indexHash={},this._initialSize=n,this._root=void 0}Object.defineProperties(ag.prototype,{borderWidthInPixels:{get:function(){return this._borderWidthInPixels}},textureCoordinates:{get:function(){return this._textureCoordinates}},texture:{get:function(){return l(this._texture)||(this._texture=new Ot({context:this._context,width:this._initialSize.x,height:this._initialSize.y,pixelFormat:this._pixelFormat})),this._texture}},numberOfImages:{get:function(){return this._textureCoordinates.length}},guid:{get:function(){return this._guid}}});function QGe(e,t){let n=e._context,i=e.numberOfImages,o=2,r=e._borderWidthInPixels;if(i>0){let s=e._texture.width,a=e._texture.height,c=o*(s+t.width+r),u=o*(a+t.height+r),f=s/c,d=a/u,p=new Qm(new G(s+r,r),new G(c,a)),g=new Qm(new G,new G(c,a),e._root,p),m=new Qm(new G(r,a+r),new G(c,u)),C=new Qm(new G,new G(c,u),g,m);for(let b=0;b<e._textureCoordinates.length;b++){let E=e._textureCoordinates[b];l(E)&&(E.x*=f,E.y*=d,E.width*=f,E.height*=d)}let x=new Ot({context:e._context,width:c,height:u,pixelFormat:e._pixelFormat}),A=new $s({context:n,colorTextures:[e._texture],destroyAttachments:!1});A._bind(),x.copyFromFramebuffer(0,0,0,0,c,u),A._unBind(),A.destroy(),e._texture=e._texture&&e._texture.destroy(),e._texture=x,e._root=C}else{let s=o*(t.width+2*r),a=o*(t.height+2*r);s<e._initialSize.x&&(s=e._initialSize.x),a<e._initialSize.y&&(a=e._initialSize.y),e._texture=e._texture&&e._texture.destroy(),e._texture=new Ot({context:e._context,width:s,height:a,pixelFormat:e._pixelFormat}),e._root=new Qm(new G(r,r),new G(s,a))}}function _F(e,t,n){if(!!l(t)){if(!l(t.childNode1)&&!l(t.childNode2)){if(l(t.imageIndex))return;let i=t.topRight.x-t.bottomLeft.x,o=t.topRight.y-t.bottomLeft.y,r=i-n.width,s=o-n.height;if(r<0||s<0)return;if(r===0&&s===0)return t;if(r>s){t.childNode1=new Qm(new G(t.bottomLeft.x,t.bottomLeft.y),new G(t.bottomLeft.x+n.width,t.topRight.y));let a=t.bottomLeft.x+n.width+e._borderWidthInPixels;a<t.topRight.x&&(t.childNode2=new Qm(new G(a,t.bottomLeft.y),new G(t.topRight.x,t.topRight.y)))}else{t.childNode1=new Qm(new G(t.bottomLeft.x,t.bottomLeft.y),new G(t.topRight.x,t.bottomLeft.y+n.height));let a=t.bottomLeft.y+n.height+e._borderWidthInPixels;a<t.topRight.y&&(t.childNode2=new Qm(new G(t.bottomLeft.x,a),new G(t.topRight.x,t.topRight.y)))}return _F(e,t.childNode1,n)}return _F(e,t.childNode1,n)||_F(e,t.childNode2,n)}}function Kse(e,t,n){let i=_F(e,e._root,t);if(l(i)){i.imageIndex=n;let o=e._texture.width,r=e._texture.height,s=i.topRight.x-i.bottomLeft.x,a=i.topRight.y-i.bottomLeft.y,c=i.bottomLeft.x/o,u=i.bottomLeft.y/r,f=s/o,d=a/r;e._textureCoordinates[n]=new Ge(c,u,f,d),e._texture.copyFrom({source:t,xOffset:i.bottomLeft.x,yOffset:i.bottomLeft.y})}else QGe(e,t),Kse(e,t,n);e._guid=Hn()}function Zse(e,t){if(!l(e)||e.isDestroyed())return-1;let n=e.numberOfImages;return Kse(e,t,n),n}ag.prototype.getImageIndex=function(e){return this._indexHash[e]};ag.prototype.addImageSync=function(e,t){let n=this._indexHash[e];return l(n)||(n=Zse(this,t),this._idHash[e]=Promise.resolve(n),this._indexHash[e]=n),n};ag.prototype.addImage=function(e,t){let n=this._idHash[e];if(l(n))return n;typeof t=="function"?t=t(e):(typeof t=="string"||t instanceof Ie)&&(t=Ie.createIfNeeded(t).fetchImage());let i=this;return n=Promise.resolve(t).then(function(o){let r=Zse(i,o);return i._indexHash[e]=r,r}),this._idHash[e]=n,n};ag.prototype.addSubRegion=function(e,t){let n=this._idHash[e];if(!l(n))throw new de(`image with id "${e}" not found in the atlas.`);let i=this;return Promise.resolve(n).then(function(o){if(o===-1)return-1;let r=i._texture.width,s=i._texture.height,a=i.numberOfImages,c=i._textureCoordinates[o],u=c.x+t.x/r,f=c.y+t.y/s,d=t.width/r,p=t.height/s;return i._textureCoordinates.push(new Ge(u,f,d,p)),i._guid=Hn(),a})};ag.prototype.isDestroyed=function(){return!1};ag.prototype.destroy=function(){return this._texture=this._texture&&this._texture.destroy(),fe(this)};var Vy=ag;var e6e=mo.SHOW_INDEX,Rw=mo.POSITION_INDEX,$se=mo.PIXEL_OFFSET_INDEX,Jse=mo.EYE_OFFSET_INDEX,t6e=mo.HORIZONTAL_ORIGIN_INDEX,n6e=mo.VERTICAL_ORIGIN_INDEX,i6e=mo.SCALE_INDEX,Ow=mo.IMAGE_INDEX_INDEX,Qse=mo.COLOR_INDEX,o6e=mo.ROTATION_INDEX,r6e=mo.ALIGNED_AXIS_INDEX,eae=mo.SCALE_BY_DISTANCE_INDEX,tae=mo.TRANSLUCENCY_BY_DISTANCE_INDEX,nae=mo.PIXEL_OFFSET_SCALE_BY_DISTANCE_INDEX,iae=mo.DISTANCE_DISPLAY_CONDITION,s6e=mo.DISABLE_DEPTH_DISTANCE,a6e=mo.TEXTURE_COORDINATE_BOUNDS,oae=mo.SDF_INDEX,_9=mo.NUMBER_OF_PROPERTIES,po,c6e={positionHighAndScale:0,positionLowAndRotation:1,compressedAttribute0:2,compressedAttribute1:3,compressedAttribute2:4,eyeOffset:5,scaleByDistance:6,pixelOffsetScaleByDistance:7,compressedAttribute3:8,textureCoordinateBoundsOrLabelTranslate:9,a_batchId:10,sdf:11},l6e={direction:0,positionHighAndScale:1,positionLowAndRotation:2,compressedAttribute0:3,compressedAttribute1:4,compressedAttribute2:5,eyeOffset:6,scaleByDistance:7,pixelOffsetScaleByDistance:8,compressedAttribute3:9,textureCoordinateBoundsOrLabelTranslate:10,a_batchId:11,sdf:12};function Pu(e){e=y(e,y.EMPTY_OBJECT),this._scene=e.scene,this._batchTable=e.batchTable,this._textureAtlas=void 0,this._textureAtlasGUID=void 0,this._destroyTextureAtlas=!0,this._sp=void 0,this._spTranslucent=void 0,this._rsOpaque=void 0,this._rsTranslucent=void 0,this._vaf=void 0,this._billboards=[],this._billboardsToUpdate=[],this._billboardsToUpdateIndex=0,this._billboardsRemoved=!1,this._createVertexArray=!1,this._shaderRotation=!1,this._compiledShaderRotation=!1,this._shaderAlignedAxis=!1,this._compiledShaderAlignedAxis=!1,this._shaderScaleByDistance=!1,this._compiledShaderScaleByDistance=!1,this._shaderTranslucencyByDistance=!1,this._compiledShaderTranslucencyByDistance=!1,this._shaderPixelOffsetScaleByDistance=!1,this._compiledShaderPixelOffsetScaleByDistance=!1,this._shaderDistanceDisplayCondition=!1,this._compiledShaderDistanceDisplayCondition=!1,this._shaderDisableDepthDistance=!1,this._compiledShaderDisableDepthDistance=!1,this._shaderClampToGround=!1,this._compiledShaderClampToGround=!1,this._propertiesChanged=new Uint32Array(_9),this._maxSize=0,this._maxEyeOffset=0,this._maxScale=1,this._maxPixelOffset=0,this._allHorizontalCenter=!0,this._allVerticalCenter=!0,this._allSizedInMeters=!0,this._baseVolume=new re,this._baseVolumeWC=new re,this._baseVolume2D=new re,this._boundingVolume=new re,this._boundingVolumeDirty=!1,this._colorCommands=[],this.show=y(e.show,!0),this.modelMatrix=N.clone(y(e.modelMatrix,N.IDENTITY)),this._modelMatrix=N.clone(N.IDENTITY),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.debugShowTextureAtlas=y(e.debugShowTextureAtlas,!1),this.blendOption=y(e.blendOption,bo.OPAQUE_AND_TRANSLUCENT),this._blendOption=void 0,this._mode=ee.SCENE3D,this._buffersUsage=[Le.STATIC_DRAW,Le.STATIC_DRAW,Le.STATIC_DRAW,Le.STATIC_DRAW,Le.STATIC_DRAW,Le.STATIC_DRAW,Le.STATIC_DRAW,Le.STATIC_DRAW,Le.STATIC_DRAW,Le.STATIC_DRAW,Le.STATIC_DRAW,Le.STATIC_DRAW,Le.STATIC_DRAW,Le.STATIC_DRAW,Le.STATIC_DRAW,Le.STATIC_DRAW],this._highlightColor=U.clone(U.WHITE);let t=this;this._uniforms={u_atlas:function(){return t._textureAtlas.texture},u_highlightColor:function(){return t._highlightColor}};let n=this._scene;l(n)&&l(n.terrainProviderChanged)&&(this._removeCallbackFunc=n.terrainProviderChanged.addEventListener(function(){let i=this._billboards,o=i.length;for(let r=0;r<o;++r)l(i[r])&&i[r]._updateClamping()},this))}Object.defineProperties(Pu.prototype,{length:{get:function(){return g9(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}}});function rae(e){let t=e.length;for(let n=0;n<t;++n)e[n]&&e[n]._destroy()}Pu.prototype.add=function(e){let t=new mo(e,this);return t._index=this._billboards.length,this._billboards.push(t),this._createVertexArray=!0,t};Pu.prototype.remove=function(e){return this.contains(e)?(this._billboards[e._index]=void 0,this._billboardsRemoved=!0,this._createVertexArray=!0,e._destroy(),!0):!1};Pu.prototype.removeAll=function(){rae(this._billboards),this._billboards=[],this._billboardsToUpdate=[],this._billboardsToUpdateIndex=0,this._billboardsRemoved=!1,this._createVertexArray=!0};function g9(e){if(e._billboardsRemoved){e._billboardsRemoved=!1;let t=[],n=e._billboards,i=n.length;for(let o=0,r=0;o<i;++o){let s=n[o];l(s)&&(s._index=r++,t.push(s))}e._billboards=t}}Pu.prototype._updateBillboard=function(e,t){e._dirty||(this._billboardsToUpdate[this._billboardsToUpdateIndex++]=e),++this._propertiesChanged[t]};Pu.prototype.contains=function(e){return l(e)&&e._billboardCollection===this};Pu.prototype.get=function(e){return g9(this),this._billboards[e]};var u9;function u6e(e){let n=e.cache.billboardCollection_indexBufferBatched;if(l(n))return n;let i=16384*6-6,o=new Uint16Array(i);for(let r=0,s=0;r<i;r+=6,s+=4)o[r]=s,o[r+1]=s+1,o[r+2]=s+2,o[r+3]=s+0,o[r+4]=s+2,o[r+5]=s+3;return n=ct.createIndexBuffer({context:e,typedArray:o,usage:Le.STATIC_DRAW,indexDatatype:Be.UNSIGNED_SHORT}),n.vertexArrayDestroyable=!1,e.cache.billboardCollection_indexBufferBatched=n,n}function f6e(e){let t=e.cache.billboardCollection_indexBufferInstanced;return l(t)||(t=ct.createIndexBuffer({context:e,typedArray:new Uint16Array([0,1,2,0,2,3]),usage:Le.STATIC_DRAW,indexDatatype:Be.UNSIGNED_SHORT}),t.vertexArrayDestroyable=!1,e.cache.billboardCollection_indexBufferInstanced=t),t}function d6e(e){let t=e.cache.billboardCollection_vertexBufferInstanced;return l(t)||(t=ct.createVertexBuffer({context:e,typedArray:new Float32Array([0,0,1,0,1,1,0,1]),usage:Le.STATIC_DRAW}),t.vertexArrayDestroyable=!1,e.cache.billboardCollection_vertexBufferInstanced=t),t}Pu.prototype.computeNewBuffersUsage=function(){let e=this._buffersUsage,t=!1,n=this._propertiesChanged;for(let i=0;i<_9;++i){let o=n[i]===0?Le.STATIC_DRAW:Le.STREAM_DRAW;t=t||e[i]!==o,e[i]=o}return t};function h6e(e,t,n,i,o,r){let s=[{index:po.positionHighAndScale,componentsPerAttribute:4,componentDatatype:Z.FLOAT,usage:n[Rw]},{index:po.positionLowAndRotation,componentsPerAttribute:4,componentDatatype:Z.FLOAT,usage:n[Rw]},{index:po.compressedAttribute0,componentsPerAttribute:4,componentDatatype:Z.FLOAT,usage:n[$se]},{index:po.compressedAttribute1,componentsPerAttribute:4,componentDatatype:Z.FLOAT,usage:n[tae]},{index:po.compressedAttribute2,componentsPerAttribute:4,componentDatatype:Z.FLOAT,usage:n[Qse]},{index:po.eyeOffset,componentsPerAttribute:4,componentDatatype:Z.FLOAT,usage:n[Jse]},{index:po.scaleByDistance,componentsPerAttribute:4,componentDatatype:Z.FLOAT,usage:n[eae]},{index:po.pixelOffsetScaleByDistance,componentsPerAttribute:4,componentDatatype:Z.FLOAT,usage:n[nae]},{index:po.compressedAttribute3,componentsPerAttribute:4,componentDatatype:Z.FLOAT,usage:n[iae]},{index:po.textureCoordinateBoundsOrLabelTranslate,componentsPerAttribute:4,componentDatatype:Z.FLOAT,usage:n[a6e]}];i&&s.push({index:po.direction,componentsPerAttribute:2,componentDatatype:Z.FLOAT,vertexBuffer:d6e(e)}),l(o)&&s.push({index:po.a_batchId,componentsPerAttribute:1,componentDatatype:Z.FLOAT,bufferUsage:Le.STATIC_DRAW}),r&&s.push({index:po.sdf,componentsPerAttribute:2,componentDatatype:Z.FLOAT,usage:n[oae]});let a=i?t:4*t;return new sg(e,s,a,i)}var f9=new Un;function sae(e,t,n,i,o){let r,s=i[po.positionHighAndScale],a=i[po.positionLowAndRotation],c=o._getActualPosition();e._mode===ee.SCENE3D&&(re.expand(e._baseVolume,c,e._baseVolume),e._boundingVolumeDirty=!0),Un.fromCartesian(c,f9);let u=o.scale,f=o.rotation;f!==0&&(e._shaderRotation=!0),e._maxScale=Math.max(e._maxScale,u);let d=f9.high,p=f9.low;e._instanced?(r=o._index,s(r,d.x,d.y,d.z,u),a(r,p.x,p.y,p.z,f)):(r=o._index*4,s(r+0,d.x,d.y,d.z,u),s(r+1,d.x,d.y,d.z,u),s(r+2,d.x,d.y,d.z,u),s(r+3,d.x,d.y,d.z,u),a(r+0,p.x,p.y,p.z,f),a(r+1,p.x,p.y,p.z,f),a(r+2,p.x,p.y,p.z,f),a(r+3,p.x,p.y,p.z,f))}var Du=new G,vu=32768,mT=65536,d9=4096,xh=256,m6e=128,p6e=32,_6e=8,aae=4,g6e=1/256,cae=0,lae=2,uae=3,fae=1;function dae(e,t,n,i,o){let r,s=i[po.compressedAttribute0],a=o.pixelOffset,c=a.x,u=a.y,f=o._translate,d=f.x,p=f.y;e._maxPixelOffset=Math.max(e._maxPixelOffset,Math.abs(c+d),Math.abs(-u+p));let g=o.horizontalOrigin,m=o._verticalOrigin,C=o.show&&o.clusterShow;o.color.alpha===0&&(C=!1),m===bn.BASELINE&&(m=bn.BOTTOM),e._allHorizontalCenter=e._allHorizontalCenter&&g===ui.CENTER,e._allVerticalCenter=e._allVerticalCenter&&m===bn.CENTER;let x=0,A=0,b=0,E=0,S=o._imageIndex;if(S!==-1){let z=n[S];x=z.x,A=z.y,b=z.width,E=z.height}let v=x+b,P=A+E,O=Math.floor(I.clamp(c,-vu,vu)+vu)*m6e;O+=(g+1)*p6e,O+=(m+1)*_6e,O+=(C?1:0)*aae;let M=Math.floor(I.clamp(u,-vu,vu)+vu)*xh,B=Math.floor(I.clamp(d,-vu,vu)+vu)*xh,L=(I.clamp(p,-vu,vu)+vu)*g6e,_=Math.floor(L),T=Math.floor((L-_)*xh);M+=_,B+=T,Du.x=x,Du.y=A;let w=kn.compressTextureCoordinates(Du);Du.x=v;let D=kn.compressTextureCoordinates(Du);Du.y=P;let R=kn.compressTextureCoordinates(Du);Du.x=x;let F=kn.compressTextureCoordinates(Du);e._instanced?(r=o._index,s(r,O,M,B,w)):(r=o._index*4,s(r+0,O+cae,M,B,w),s(r+1,O+lae,M,B,D),s(r+2,O+uae,M,B,R),s(r+3,O+fae,M,B,F))}function hae(e,t,n,i,o){let r,s=i[po.compressedAttribute1],a=o.alignedAxis;h.equals(a,h.ZERO)||(e._shaderAlignedAxis=!0);let c=0,u=1,f=1,d=1,p=o.translucencyByDistance;l(p)&&(c=p.near,u=p.nearValue,f=p.far,d=p.farValue,(u!==1||d!==1)&&(e._shaderTranslucencyByDistance=!0));let g=0,m=o._imageIndex;m!==-1&&(g=n[m].width);let C=e._textureAtlas.texture.width,x=Math.round(y(o.width,C*g));e._maxSize=Math.max(e._maxSize,x);let A=I.clamp(x,0,mT),b=0;Math.abs(h.magnitudeSquared(a)-1)<I.EPSILON6&&(b=kn.octEncodeFloat(a)),u=I.clamp(u,0,1),u=u===1?255:u*255|0,A=A*xh+u,d=I.clamp(d,0,1),d=d===1?255:d*255|0,b=b*xh+d,e._instanced?(r=o._index,s(r,A,b,c,f)):(r=o._index*4,s(r+0,A,b,c,f),s(r+1,A,b,c,f),s(r+2,A,b,c,f),s(r+3,A,b,c,f))}function m9(e,t,n,i,o){let r,s=i[po.compressedAttribute2],a=o.color,c=l(e._batchTable)?U.WHITE:o.getPickId(t.context).color,u=o.sizeInMeters?1:0,f=Math.abs(h.magnitudeSquared(o.alignedAxis)-1)<I.EPSILON6?1:0;e._allSizedInMeters=e._allSizedInMeters&&u===1;let d=0,p=o._imageIndex;p!==-1&&(d=n[p].height);let g=e._textureAtlas.texture.dimensions,m=Math.round(y(o.height,g.y*d));e._maxSize=Math.max(e._maxSize,m);let C=y(o._labelHorizontalOrigin,-2);C+=2;let x=m*aae+C,A=U.floatToByte(a.red),b=U.floatToByte(a.green),E=U.floatToByte(a.blue),S=A*mT+b*xh+E;A=U.floatToByte(c.red),b=U.floatToByte(c.green),E=U.floatToByte(c.blue);let v=A*mT+b*xh+E,P=U.floatToByte(a.alpha)*mT+U.floatToByte(c.alpha)*xh;P+=u*2+f,e._instanced?(r=o._index,s(r,S,v,P,x)):(r=o._index*4,s(r+0,S,v,P,x),s(r+1,S,v,P,x),s(r+2,S,v,P,x),s(r+3,S,v,P,x))}function p9(e,t,n,i,o){let r,s=i[po.eyeOffset],a=o.eyeOffset,c=a.z;if(o._heightReference!==ze.NONE&&(c*=1.005),e._maxEyeOffset=Math.max(e._maxEyeOffset,Math.abs(a.x),Math.abs(a.y),Math.abs(c)),e._instanced){let u=0,f=0,d=o._imageIndex;if(d!==-1){let g=n[d];u=g.width,f=g.height}Du.x=u,Du.y=f;let p=kn.compressTextureCoordinates(Du);r=o._index,s(r,a.x,a.y,c,p)}else r=o._index*4,s(r+0,a.x,a.y,c,0),s(r+1,a.x,a.y,c,0),s(r+2,a.x,a.y,c,0),s(r+3,a.x,a.y,c,0)}function mae(e,t,n,i,o){let r,s=i[po.scaleByDistance],a=0,c=1,u=1,f=1,d=o.scaleByDistance;l(d)&&(a=d.near,c=d.nearValue,u=d.far,f=d.farValue,(c!==1||f!==1)&&(e._shaderScaleByDistance=!0)),e._instanced?(r=o._index,s(r,a,c,u,f)):(r=o._index*4,s(r+0,a,c,u,f),s(r+1,a,c,u,f),s(r+2,a,c,u,f),s(r+3,a,c,u,f))}function pae(e,t,n,i,o){let r,s=i[po.pixelOffsetScaleByDistance],a=0,c=1,u=1,f=1,d=o.pixelOffsetScaleByDistance;l(d)&&(a=d.near,c=d.nearValue,u=d.far,f=d.farValue,(c!==1||f!==1)&&(e._shaderPixelOffsetScaleByDistance=!0)),e._instanced?(r=o._index,s(r,a,c,u,f)):(r=o._index*4,s(r+0,a,c,u,f),s(r+1,a,c,u,f),s(r+2,a,c,u,f),s(r+3,a,c,u,f))}function _ae(e,t,n,i,o){let r,s=i[po.compressedAttribute3],a=0,c=Number.MAX_VALUE,u=o.distanceDisplayCondition;l(u)&&(a=u.near,c=u.far,a*=a,c*=c,e._shaderDistanceDisplayCondition=!0);let f=o.disableDepthTestDistance,d=o.heightReference===ze.CLAMP_TO_GROUND&&t.context.depthTexture;l(f)||(f=d?5e3:0),f*=f,(d||f>0)&&(e._shaderDisableDepthDistance=!0,f===Number.POSITIVE_INFINITY&&(f=-1));let p,g;if(l(o._labelDimensions))g=o._labelDimensions.x,p=o._labelDimensions.y;else{let A=0,b=0,E=o._imageIndex;if(E!==-1){let v=n[E];A=v.height,b=v.width}p=Math.round(y(o.height,e._textureAtlas.texture.dimensions.y*A));let S=e._textureAtlas.texture.width;g=Math.round(y(o.width,S*b))}let m=Math.floor(I.clamp(g,0,d9)),C=Math.floor(I.clamp(p,0,d9)),x=m*d9+C;e._instanced?(r=o._index,s(r,a,c,f,x)):(r=o._index*4,s(r+0,a,c,f,x),s(r+1,a,c,f,x),s(r+2,a,c,f,x),s(r+3,a,c,f,x))}function gae(e,t,n,i,o){if(o.heightReference===ze.CLAMP_TO_GROUND){let m=e._scene,C=t.context,x=t.globeTranslucencyState.translucent,A=l(m.globe)&&m.globe.depthTestAgainstTerrain;e._shaderClampToGround=C.depthTexture&&!x&&A}let r,s=i[po.textureCoordinateBoundsOrLabelTranslate];if(kt.maximumVertexTextureImageUnits>0){let m=0,C=0;l(o._labelTranslate)&&(m=o._labelTranslate.x,C=o._labelTranslate.y),e._instanced?(r=o._index,s(r,m,C,0,0)):(r=o._index*4,s(r+0,m,C,0,0),s(r+1,m,C,0,0),s(r+2,m,C,0,0),s(r+3,m,C,0,0));return}let a=0,c=0,u=0,f=0,d=o._imageIndex;if(d!==-1){let m=n[d];a=m.x,c=m.y,u=m.width,f=m.height}let p=a+u,g=c+f;e._instanced?(r=o._index,s(r,a,c,p,g)):(r=o._index*4,s(r+0,a,c,p,g),s(r+1,a,c,p,g),s(r+2,a,c,p,g),s(r+3,a,c,p,g))}function y6e(e,t,n,i,o){if(!l(e._batchTable))return;let r=i[po.a_batchId],s=o._batchIndex,a;e._instanced?(a=o._index,r(a,s)):(a=o._index*4,r(a+0,s),r(a+1,s),r(a+2,s),r(a+3,s))}function yae(e,t,n,i,o){if(!e._sdf)return;let r,s=i[po.sdf],a=o.outlineColor,c=o.outlineWidth,u=U.floatToByte(a.red),f=U.floatToByte(a.green),d=U.floatToByte(a.blue),p=u*mT+f*xh+d,g=c/ws.RADIUS,m=U.floatToByte(a.alpha)*mT+U.floatToByte(g)*xh;e._instanced?(r=o._index,s(r,p,m)):(r=o._index*4,s(r+0,p+cae,m),s(r+1,p+lae,m),s(r+2,p+uae,m),s(r+3,p+fae,m))}function C6e(e,t,n,i,o){sae(e,t,n,i,o),dae(e,t,n,i,o),hae(e,t,n,i,o),m9(e,t,n,i,o),p9(e,t,n,i,o),mae(e,t,n,i,o),pae(e,t,n,i,o),_ae(e,t,n,i,o),gae(e,t,n,i,o),y6e(e,t,n,i,o),yae(e,t,n,i,o)}function h9(e,t,n,i,o,r){let s;i.mode===ee.SCENE3D?(s=e._baseVolume,e._boundingVolumeDirty=!0):s=e._baseVolume2D;let a=[];for(let c=0;c<n;++c){let u=t[c],f=u.position,d=mo._computeActualPosition(u,f,i,o);l(d)&&(u._setActualPosition(d),r?a.push(d):re.expand(s,d,s))}r&&re.fromPoints(a,s)}function x6e(e,t){let n=t.mode,i=e._billboards,o=e._billboardsToUpdate,r=e._modelMatrix;e._createVertexArray||e._mode!==n||n!==ee.SCENE3D&&!N.equals(r,e.modelMatrix)?(e._mode=n,N.clone(e.modelMatrix,r),e._createVertexArray=!0,(n===ee.SCENE3D||n===ee.SCENE2D||n===ee.COLUMBUS_VIEW)&&h9(e,i,i.length,t,r,!0)):n===ee.MORPHING?h9(e,i,i.length,t,r,!0):(n===ee.SCENE2D||n===ee.COLUMBUS_VIEW)&&h9(e,o,e._billboardsToUpdateIndex,t,r,!1)}function A6e(e,t,n){let i=1;(!e._allSizedInMeters||e._maxPixelOffset!==0)&&(i=t.camera.getPixelSize(n,t.context.drawingBufferWidth,t.context.drawingBufferHeight));let o=i*e._maxScale*e._maxSize*2;e._allHorizontalCenter&&e._allVerticalCenter&&(o*=.5);let r=i*e._maxPixelOffset+e._maxEyeOffset;n.radius+=o+r}function T6e(e,t){let n=`uniform sampler2D billboard_texture;
  4899. varying vec2 v_textureCoordinates;
  4900. void main()
  4901. {
  4902. gl_FragColor = texture2D(billboard_texture, v_textureCoordinates);
  4903. }
  4904. `,i=t.createViewportQuadCommand(n,{uniformMap:{billboard_texture:function(){return e._textureAtlas.texture}}});return i.pass=xe.OVERLAY,i}var E6e=[];Pu.prototype.update=function(e){if(g9(this),!this.show)return;let t=this._billboards,n=t.length,i=e.context;this._instanced=i.instancedArrays,po=this._instanced?l6e:c6e,u9=this._instanced?f6e:u6e;let o=this._textureAtlas;if(!l(o)){o=this._textureAtlas=new Vy({context:i});for(let M=0;M<n;++M)t[M]._loadImage()}let r=o.textureCoordinates;if(r.length===0)return;x6e(this,e),t=this._billboards,n=t.length;let s=this._billboardsToUpdate,a=this._billboardsToUpdateIndex,c=this._propertiesChanged,u=o.guid,f=this._createVertexArray||this._textureAtlasGUID!==u;this._textureAtlasGUID=u;let d,p=e.passes,g=p.pick;if(f||!g&&this.computeNewBuffersUsage()){this._createVertexArray=!1;for(let M=0;M<_9;++M)c[M]=0;if(this._vaf=this._vaf&&this._vaf.destroy(),n>0){this._vaf=h6e(i,n,this._buffersUsage,this._instanced,this._batchTable,this._sdf),d=this._vaf.writers;for(let M=0;M<n;++M){let B=this._billboards[M];B._dirty=!1,C6e(this,e,r,d,B)}this._vaf.commit(u9(i))}this._billboardsToUpdateIndex=0}else if(a>0){let M=E6e;M.length=0,(c[Rw]||c[o6e]||c[i6e])&&M.push(sae),(c[Ow]||c[$se]||c[t6e]||c[n6e]||c[e6e])&&(M.push(dae),this._instanced&&M.push(p9)),(c[Ow]||c[r6e]||c[tae])&&(M.push(hae),M.push(m9)),(c[Ow]||c[Qse])&&M.push(m9),c[Jse]&&M.push(p9),c[eae]&&M.push(mae),c[nae]&&M.push(pae),(c[iae]||c[s6e]||c[Ow]||c[Rw])&&M.push(_ae),(c[Ow]||c[Rw])&&M.push(gae),c[oae]&&M.push(yae);let B=M.length;if(d=this._vaf.writers,a/n>.1){for(let L=0;L<a;++L){let _=s[L];_._dirty=!1;for(let T=0;T<B;++T)M[T](this,e,r,d,_)}this._vaf.commit(u9(i))}else{for(let L=0;L<a;++L){let _=s[L];_._dirty=!1;for(let T=0;T<B;++T)M[T](this,e,r,d,_);this._instanced?this._vaf.subCommit(_._index,1):this._vaf.subCommit(_._index*4,4)}this._vaf.endSubCommits()}this._billboardsToUpdateIndex=0}if(a>n*1.5&&(s.length=n),!l(this._vaf)||!l(this._vaf.va))return;this._boundingVolumeDirty&&(this._boundingVolumeDirty=!1,re.transform(this._baseVolume,this.modelMatrix,this._baseVolumeWC));let m,C=N.IDENTITY;e.mode===ee.SCENE3D?(C=this.modelMatrix,m=re.clone(this._baseVolumeWC,this._boundingVolume)):m=re.clone(this._baseVolume2D,this._boundingVolume),A6e(this,e,m);let x=this._blendOption!==this.blendOption;if(this._blendOption=this.blendOption,x){this._blendOption===bo.OPAQUE||this._blendOption===bo.OPAQUE_AND_TRANSLUCENT?this._rsOpaque=Fe.fromCache({depthTest:{enabled:!0,func:te.LESS},depthMask:!0}):this._rsOpaque=void 0;let M=this._blendOption===bo.TRANSLUCENT;this._blendOption===bo.TRANSLUCENT||this._blendOption===bo.OPAQUE_AND_TRANSLUCENT?this._rsTranslucent=Fe.fromCache({depthTest:{enabled:!0,func:M?te.LEQUAL:te.LESS},depthMask:M,blending:cn.ALPHA_BLEND}):this._rsTranslucent=void 0}this._shaderDisableDepthDistance=this._shaderDisableDepthDistance||e.minimumDisableDepthTestDistance!==0;let A,b,E,S,v,P=kt.maximumVertexTextureImageUnits>0;if(x||this._shaderRotation!==this._compiledShaderRotation||this._shaderAlignedAxis!==this._compiledShaderAlignedAxis||this._shaderScaleByDistance!==this._compiledShaderScaleByDistance||this._shaderTranslucencyByDistance!==this._compiledShaderTranslucencyByDistance||this._shaderPixelOffsetScaleByDistance!==this._compiledShaderPixelOffsetScaleByDistance||this._shaderDistanceDisplayCondition!==this._compiledShaderDistanceDisplayCondition||this._shaderDisableDepthDistance!==this._compiledShaderDisableDepthDistance||this._shaderClampToGround!==this._compiledShaderClampToGround||this._sdf!==this._compiledSDF){A=dF,b=fF,v=[],l(this._batchTable)&&(v.push("VECTOR_TILE"),A=this._batchTable.getVertexShaderCallback(!1,"a_batchId",void 0)(A),b=this._batchTable.getFragmentShaderCallback(!1,void 0)(b)),E=new ke({defines:v,sources:[A]}),this._instanced&&E.defines.push("INSTANCED"),this._shaderRotation&&E.defines.push("ROTATION"),this._shaderAlignedAxis&&E.defines.push("ALIGNED_AXIS"),this._shaderScaleByDistance&&E.defines.push("EYE_DISTANCE_SCALING"),this._shaderTranslucencyByDistance&&E.defines.push("EYE_DISTANCE_TRANSLUCENCY"),this._shaderPixelOffsetScaleByDistance&&E.defines.push("EYE_DISTANCE_PIXEL_OFFSET"),this._shaderDistanceDisplayCondition&&E.defines.push("DISTANCE_DISPLAY_CONDITION"),this._shaderDisableDepthDistance&&E.defines.push("DISABLE_DEPTH_DISTANCE"),this._shaderClampToGround&&(P?E.defines.push("VERTEX_DEPTH_CHECK"):E.defines.push("FRAGMENT_DEPTH_CHECK"));let M=1-ws.CUTOFF;this._sdf&&E.defines.push("SDF");let B=l(this._batchTable)?"VECTOR_TILE":"";this._blendOption===bo.OPAQUE_AND_TRANSLUCENT&&(S=new ke({defines:["OPAQUE",B],sources:[b]}),this._shaderClampToGround&&(P?S.defines.push("VERTEX_DEPTH_CHECK"):S.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(S.defines.push("SDF"),S.defines.push(`SDF_EDGE ${M}`)),this._sp=Yt.replaceCache({context:i,shaderProgram:this._sp,vertexShaderSource:E,fragmentShaderSource:S,attributeLocations:po}),S=new ke({defines:["TRANSLUCENT",B],sources:[b]}),this._shaderClampToGround&&(P?S.defines.push("VERTEX_DEPTH_CHECK"):S.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(S.defines.push("SDF"),S.defines.push(`SDF_EDGE ${M}`)),this._spTranslucent=Yt.replaceCache({context:i,shaderProgram:this._spTranslucent,vertexShaderSource:E,fragmentShaderSource:S,attributeLocations:po})),this._blendOption===bo.OPAQUE&&(S=new ke({defines:[B],sources:[b]}),this._shaderClampToGround&&(P?S.defines.push("VERTEX_DEPTH_CHECK"):S.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(S.defines.push("SDF"),S.defines.push(`SDF_EDGE ${M}`)),this._sp=Yt.replaceCache({context:i,shaderProgram:this._sp,vertexShaderSource:E,fragmentShaderSource:S,attributeLocations:po})),this._blendOption===bo.TRANSLUCENT&&(S=new ke({defines:[B],sources:[b]}),this._shaderClampToGround&&(P?S.defines.push("VERTEX_DEPTH_CHECK"):S.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(S.defines.push("SDF"),S.defines.push(`SDF_EDGE ${M}`)),this._spTranslucent=Yt.replaceCache({context:i,shaderProgram:this._spTranslucent,vertexShaderSource:E,fragmentShaderSource:S,attributeLocations:po})),this._compiledShaderRotation=this._shaderRotation,this._compiledShaderAlignedAxis=this._shaderAlignedAxis,this._compiledShaderScaleByDistance=this._shaderScaleByDistance,this._compiledShaderTranslucencyByDistance=this._shaderTranslucencyByDistance,this._compiledShaderPixelOffsetScaleByDistance=this._shaderPixelOffsetScaleByDistance,this._compiledShaderDistanceDisplayCondition=this._shaderDistanceDisplayCondition,this._compiledShaderDisableDepthDistance=this._shaderDisableDepthDistance,this._compiledShaderClampToGround=this._shaderClampToGround,this._compiledSDF=this._sdf}let O=e.commandList;if(p.render||p.pick){let M=this._colorCommands,B=this._blendOption===bo.OPAQUE,L=this._blendOption===bo.OPAQUE_AND_TRANSLUCENT,_=this._vaf.va,T=_.length,w=this._uniforms,D;l(this._batchTable)?(w=this._batchTable.getUniformMapCallback()(w),D=this._batchTable.getPickId()):D="v_pickColor",M.length=T;let R=L?T*2:T;for(let F=0;F<R;++F){let z=M[F];l(z)||(z=M[F]=new Je);let k=B||L&&F%2===0;z.pass=k||!L?xe.OPAQUE:xe.TRANSLUCENT,z.owner=this;let H=L?Math.floor(F/2):F;z.boundingVolume=m,z.modelMatrix=C,z.count=_[H].indicesCount,z.shaderProgram=k?this._sp:this._spTranslucent,z.uniformMap=w,z.vertexArray=_[H].va,z.renderState=k?this._rsOpaque:this._rsTranslucent,z.debugShowBoundingVolume=this.debugShowBoundingVolume,z.pickId=D,this._instanced&&(z.count=6,z.instanceCount=n),O.push(z)}this.debugShowTextureAtlas&&(l(this.debugCommand)||(this.debugCommand=T6e(this,e.context)),O.push(this.debugCommand))}};Pu.prototype.isDestroyed=function(){return!1};Pu.prototype.destroy=function(){return l(this._removeCallbackFunc)&&(this._removeCallbackFunc(),this._removeCallbackFunc=void 0),this._textureAtlas=this._destroyTextureAtlas&&this._textureAtlas&&this._textureAtlas.destroy(),this._sp=this._sp&&this._sp.destroy(),this._spTranslucent=this._spTranslucent&&this._spTranslucent.destroy(),this._vaf=this._vaf&&this._vaf.destroy(),rae(this._billboards),fe(this)};var Iu=Pu;function b6e(e,t,n,i,o){return function(){let r=document.createElement("canvas"),s=o+2*i;r.height=r.width=s;let a=r.getContext("2d");return a.clearRect(0,0,s,s),i!==0&&(a.beginPath(),a.arc(s/2,s/2,s/2,0,2*Math.PI,!0),a.closePath(),a.fillStyle=n,a.fill(),e<1&&(a.save(),a.globalCompositeOperation="destination-out",a.beginPath(),a.arc(s/2,s/2,o/2,0,2*Math.PI,!0),a.closePath(),a.fillStyle="black",a.fill(),a.restore())),a.beginPath(),a.arc(s/2,s/2,o/2,0,2*Math.PI,!0),a.closePath(),a.fillStyle=t,a.fill(),r}}var pT=b6e;function ms(e,t,n,i,o){this._content=e,this._billboard=n,this._label=i,this._polyline=o,this._batchId=t,this._billboardImage=void 0,this._billboardColor=void 0,this._billboardOutlineColor=void 0,this._billboardOutlineWidth=void 0,this._billboardSize=void 0,this._pointSize=void 0,this._color=void 0,this._pointSize=void 0,this._pointOutlineColor=void 0,this._pointOutlineWidth=void 0,this._heightOffset=void 0,this._pickIds=new Array(3),_T(this)}var S6e=new he;Object.defineProperties(ms.prototype,{show:{get:function(){return this._label.show},set:function(e){this._label.show=e,this._billboard.show=e,this._polyline.show=e}},color:{get:function(){return this._color},set:function(e){this._color=U.clone(e,this._color),_T(this)}},pointSize:{get:function(){return this._pointSize},set:function(e){this._pointSize=e,_T(this)}},pointOutlineColor:{get:function(){return this._pointOutlineColor},set:function(e){this._pointOutlineColor=U.clone(e,this._pointOutlineColor),_T(this)}},pointOutlineWidth:{get:function(){return this._pointOutlineWidth},set:function(e){this._pointOutlineWidth=e,_T(this)}},labelColor:{get:function(){return this._label.fillColor},set:function(e){this._label.fillColor=e,this._polyline.show=this._label.show&&e.alpha>0}},labelOutlineColor:{get:function(){return this._label.outlineColor},set:function(e){this._label.outlineColor=e}},labelOutlineWidth:{get:function(){return this._label.outlineWidth},set:function(e){this._label.outlineWidth=e}},font:{get:function(){return this._label.font},set:function(e){this._label.font=e}},labelStyle:{get:function(){return this._label.style},set:function(e){this._label.style=e}},labelText:{get:function(){return this._label.text},set:function(e){l(e)||(e=""),this._label.text=e}},backgroundColor:{get:function(){return this._label.backgroundColor},set:function(e){this._label.backgroundColor=e}},backgroundPadding:{get:function(){return this._label.backgroundPadding},set:function(e){this._label.backgroundPadding=e}},backgroundEnabled:{get:function(){return this._label.showBackground},set:function(e){this._label.showBackground=e}},scaleByDistance:{get:function(){return this._label.scaleByDistance},set:function(e){this._label.scaleByDistance=e,this._billboard.scaleByDistance=e}},translucencyByDistance:{get:function(){return this._label.translucencyByDistance},set:function(e){this._label.translucencyByDistance=e,this._billboard.translucencyByDistance=e}},distanceDisplayCondition:{get:function(){return this._label.distanceDisplayCondition},set:function(e){this._label.distanceDisplayCondition=e,this._polyline.distanceDisplayCondition=e,this._billboard.distanceDisplayCondition=e}},heightOffset:{get:function(){return this._heightOffset},set:function(e){let t=y(this._heightOffset,0),n=this._content.tileset.ellipsoid,i=n.cartesianToCartographic(this._billboard.position,S6e);i.height=i.height-t+e;let o=n.cartographicToCartesian(i);this._billboard.position=o,this._label.position=this._billboard.position,this._polyline.positions=[this._polyline.positions[0],o],this._heightOffset=e}},anchorLineEnabled:{get:function(){return this._polyline.show},set:function(e){this._polyline.show=e}},anchorLineColor:{get:function(){return this._polyline.material.uniforms.color},set:function(e){this._polyline.material.uniforms.color=U.clone(e,this._polyline.material.uniforms.color)}},image:{get:function(){return this._billboardImage},set:function(e){let t=this._billboardImage!==e;this._billboardImage=e,t&&_T(this)}},disableDepthTestDistance:{get:function(){return this._label.disableDepthTestDistance},set:function(e){this._label.disableDepthTestDistance=e,this._billboard.disableDepthTestDistance=e}},horizontalOrigin:{get:function(){return this._billboard.horizontalOrigin},set:function(e){this._billboard.horizontalOrigin=e}},verticalOrigin:{get:function(){return this._billboard.verticalOrigin},set:function(e){this._billboard.verticalOrigin=e}},labelHorizontalOrigin:{get:function(){return this._label.horizontalOrigin},set:function(e){this._label.horizontalOrigin=e}},labelVerticalOrigin:{get:function(){return this._label.verticalOrigin},set:function(e){this._label.verticalOrigin=e}},content:{get:function(){return this._content}},tileset:{get:function(){return this._content.tileset}},primitive:{get:function(){return this._content.tileset}},pickIds:{get:function(){let e=this._pickIds;return e[0]=this._billboard.pickId,e[1]=this._label.pickId,e[2]=this._polyline.pickId,e}}});ms.defaultColor=U.WHITE;ms.defaultPointOutlineColor=U.BLACK;ms.defaultPointOutlineWidth=0;ms.defaultPointSize=8;function _T(e){let t=e._billboard;if(l(e._billboardImage)&&e._billboardImage!==t.image){t.image=e._billboardImage;return}if(l(e._billboardImage))return;let n=y(e._color,ms.defaultColor),i=y(e._pointOutlineColor,ms.defaultPointOutlineColor),o=y(e._pointOutlineWidth,ms.defaultPointOutlineWidth),r=y(e._pointSize,ms.defaultPointSize),s=e._billboardColor,a=e._billboardOutlineColor,c=e._billboardOutlineWidth,u=e._billboardSize;if(U.equals(n,s)&&U.equals(i,a)&&o===c&&r===u)return;e._billboardColor=U.clone(n,e._billboardColor),e._billboardOutlineColor=U.clone(i,e._billboardOutlineColor),e._billboardOutlineWidth=o,e._billboardSize=r;let f=n.alpha,d=n.toCssColorString(),p=i.toCssColorString(),g=JSON.stringify([d,r,p,o]);t.setImage(g,pT(f,d,p,o,r))}ms.prototype.hasProperty=function(e){return this._content.batchTable.hasProperty(this._batchId,e)};ms.prototype.getPropertyNames=function(e){return or("Cesium3DTilePointFeature.getPropertyNames","Cesium3DTilePointFeature.getPropertyNames is deprecated in CesiumJS 1.95, and will be removed in 1.98. Use Cesium3DTilePointFeature.getPropertyIds instead"),this._content.batchTable.getPropertyIds(this._batchId,e)};ms.prototype.getPropertyIds=function(e){return this._content.batchTable.getPropertyIds(this._batchId,e)};ms.prototype.getProperty=function(e){return this._content.batchTable.getProperty(this._batchId,e)};ms.prototype.getPropertyInherited=function(e){return bs.getPropertyInherited(this._content,this._batchId,e)};ms.prototype.setProperty=function(e,t){this._content.batchTable.setProperty(this._batchId,e,t),this._content.featurePropertiesDirty=!0};ms.prototype.isExactClass=function(e){return this._content.batchTable.isExactClass(this._batchId,e)};ms.prototype.isClass=function(e){return this._content.batchTable.isClass(this._batchId,e)};ms.prototype.getExactClassName=function(){return this._content.batchTable.getExactClassName(this._batchId)};var cg=ms;var Pae=Ri(Tae(),1);var v6e={FILL:0,OUTLINE:1,FILL_AND_OUTLINE:2},Fo=Object.freeze(v6e);var Eae={},bae=0,D6e=256,P6e=new U(.165,.165,.165,.8),I6e=new G(7,5),jr=Object.freeze({LTR:0,RTL:1,WEAK:2,BRACKETS:3});function ky(e){!e._rebindAllGlyphs&&!e._repositionAllGlyphs&&e._labelCollection._labelsToUpdate.push(e),e._rebindAllGlyphs=!0}function Bw(e){!e._rebindAllGlyphs&&!e._repositionAllGlyphs&&e._labelCollection._labelsToUpdate.push(e),e._repositionAllGlyphs=!0}function Lw(e,t){return document.defaultView.getComputedStyle(e,null).getPropertyValue(t)}function wae(e){let t=Eae[e._font];if(!l(t)){let n=document.createElement("div");n.style.position="absolute",n.style.opacity=0,n.style.font=e._font,document.body.appendChild(n);let i=parseFloat(Lw(n,"line-height"));isNaN(i)&&(i=void 0),t={family:Lw(n,"font-family"),size:Lw(n,"font-size").replace("px",""),style:Lw(n,"font-style"),weight:Lw(n,"font-weight"),lineHeight:i},document.body.removeChild(n),bae<D6e&&(Eae[e._font]=t,bae++)}e._fontFamily=t.family,e._fontSize=t.size,e._fontStyle=t.style,e._fontWeight=t.weight,e._lineHeight=t.lineHeight}function ep(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.translucencyByDistance,i=e.pixelOffsetScaleByDistance,o=e.scaleByDistance,r=e.distanceDisplayCondition;l(n)&&(n=St.clone(n)),l(i)&&(i=St.clone(i)),l(o)&&(o=St.clone(o)),l(r)&&(r=At.clone(r)),this._renderedText=void 0,this._text=void 0,this._show=y(e.show,!0),this._font=y(e.font,"30px sans-serif"),this._fillColor=U.clone(y(e.fillColor,U.WHITE)),this._outlineColor=U.clone(y(e.outlineColor,U.BLACK)),this._outlineWidth=y(e.outlineWidth,1),this._showBackground=y(e.showBackground,!1),this._backgroundColor=U.clone(y(e.backgroundColor,P6e)),this._backgroundPadding=G.clone(y(e.backgroundPadding,I6e)),this._style=y(e.style,Fo.FILL),this._verticalOrigin=y(e.verticalOrigin,bn.BASELINE),this._horizontalOrigin=y(e.horizontalOrigin,ui.LEFT),this._pixelOffset=G.clone(y(e.pixelOffset,G.ZERO)),this._eyeOffset=h.clone(y(e.eyeOffset,h.ZERO)),this._position=h.clone(y(e.position,h.ZERO)),this._scale=y(e.scale,1),this._id=e.id,this._translucencyByDistance=n,this._pixelOffsetScaleByDistance=i,this._scaleByDistance=o,this._heightReference=y(e.heightReference,ze.NONE),this._distanceDisplayCondition=r,this._disableDepthTestDistance=e.disableDepthTestDistance,this._labelCollection=t,this._glyphs=[],this._backgroundBillboard=void 0,this._batchIndex=void 0,this._rebindAllGlyphs=!0,this._repositionAllGlyphs=!0,this._actualClampedPosition=void 0,this._removeCallbackFunc=void 0,this._mode=void 0,this._clusterShow=!0,this.text=y(e.text,""),this._relativeSize=1,wae(this),this._updateClamping()}Object.defineProperties(ep.prototype,{show:{get:function(){return this._show},set:function(e){if(this._show!==e){this._show=e;let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i].billboard;l(r)&&(r.show=e)}let n=this._backgroundBillboard;l(n)&&(n.show=e)}}},position:{get:function(){return this._position},set:function(e){let t=this._position;if(!h.equals(t,e)){h.clone(e,t);let n=this._glyphs;for(let o=0,r=n.length;o<r;o++){let s=n[o].billboard;l(s)&&(s.position=e)}let i=this._backgroundBillboard;l(i)&&(i.position=e),this._updateClamping()}}},heightReference:{get:function(){return this._heightReference},set:function(e){if(e!==this._heightReference){this._heightReference=e;let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i].billboard;l(r)&&(r.heightReference=e)}let n=this._backgroundBillboard;l(n)&&(n.heightReference=e),Bw(this),this._updateClamping()}}},text:{get:function(){return this._text},set:function(e){if(this._text!==e){this._text=e;let t=e.replace(/\u00ad/g,"");this._renderedText=ep.enableRightToLeftDetection?N6e(t):t,ky(this)}}},font:{get:function(){return this._font},set:function(e){this._font!==e&&(this._font=e,ky(this),wae(this))}},fillColor:{get:function(){return this._fillColor},set:function(e){let t=this._fillColor;U.equals(t,e)||(U.clone(e,t),ky(this))}},outlineColor:{get:function(){return this._outlineColor},set:function(e){let t=this._outlineColor;U.equals(t,e)||(U.clone(e,t),ky(this))}},outlineWidth:{get:function(){return this._outlineWidth},set:function(e){this._outlineWidth!==e&&(this._outlineWidth=e,ky(this))}},showBackground:{get:function(){return this._showBackground},set:function(e){this._showBackground!==e&&(this._showBackground=e,ky(this))}},backgroundColor:{get:function(){return this._backgroundColor},set:function(e){let t=this._backgroundColor;if(!U.equals(t,e)){U.clone(e,t);let n=this._backgroundBillboard;l(n)&&(n.color=t)}}},backgroundPadding:{get:function(){return this._backgroundPadding},set:function(e){let t=this._backgroundPadding;G.equals(t,e)||(G.clone(e,t),Bw(this))}},style:{get:function(){return this._style},set:function(e){this._style!==e&&(this._style=e,ky(this))}},pixelOffset:{get:function(){return this._pixelOffset},set:function(e){let t=this._pixelOffset;if(!G.equals(t,e)){G.clone(e,t);let n=this._glyphs;for(let o=0,r=n.length;o<r;o++){let s=n[o];l(s.billboard)&&(s.billboard.pixelOffset=e)}let i=this._backgroundBillboard;l(i)&&(i.pixelOffset=e)}}},translucencyByDistance:{get:function(){return this._translucencyByDistance},set:function(e){let t=this._translucencyByDistance;if(!St.equals(t,e)){this._translucencyByDistance=St.clone(e,t);let n=this._glyphs;for(let o=0,r=n.length;o<r;o++){let s=n[o];l(s.billboard)&&(s.billboard.translucencyByDistance=e)}let i=this._backgroundBillboard;l(i)&&(i.translucencyByDistance=e)}}},pixelOffsetScaleByDistance:{get:function(){return this._pixelOffsetScaleByDistance},set:function(e){let t=this._pixelOffsetScaleByDistance;if(!St.equals(t,e)){this._pixelOffsetScaleByDistance=St.clone(e,t);let n=this._glyphs;for(let o=0,r=n.length;o<r;o++){let s=n[o];l(s.billboard)&&(s.billboard.pixelOffsetScaleByDistance=e)}let i=this._backgroundBillboard;l(i)&&(i.pixelOffsetScaleByDistance=e)}}},scaleByDistance:{get:function(){return this._scaleByDistance},set:function(e){let t=this._scaleByDistance;if(!St.equals(t,e)){this._scaleByDistance=St.clone(e,t);let n=this._glyphs;for(let o=0,r=n.length;o<r;o++){let s=n[o];l(s.billboard)&&(s.billboard.scaleByDistance=e)}let i=this._backgroundBillboard;l(i)&&(i.scaleByDistance=e)}}},eyeOffset:{get:function(){return this._eyeOffset},set:function(e){let t=this._eyeOffset;if(!h.equals(t,e)){h.clone(e,t);let n=this._glyphs;for(let o=0,r=n.length;o<r;o++){let s=n[o];l(s.billboard)&&(s.billboard.eyeOffset=e)}let i=this._backgroundBillboard;l(i)&&(i.eyeOffset=e)}}},horizontalOrigin:{get:function(){return this._horizontalOrigin},set:function(e){this._horizontalOrigin!==e&&(this._horizontalOrigin=e,Bw(this))}},verticalOrigin:{get:function(){return this._verticalOrigin},set:function(e){if(this._verticalOrigin!==e){this._verticalOrigin=e;let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i];l(r.billboard)&&(r.billboard.verticalOrigin=e)}let n=this._backgroundBillboard;l(n)&&(n.verticalOrigin=e),Bw(this)}}},scale:{get:function(){return this._scale},set:function(e){if(this._scale!==e){this._scale=e;let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i];l(r.billboard)&&(r.billboard.scale=e*this._relativeSize)}let n=this._backgroundBillboard;l(n)&&(n.scale=e*this._relativeSize),Bw(this)}}},totalScale:{get:function(){return this._scale*this._relativeSize}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){if(!At.equals(e,this._distanceDisplayCondition)){this._distanceDisplayCondition=At.clone(e,this._distanceDisplayCondition);let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i];l(r.billboard)&&(r.billboard.distanceDisplayCondition=e)}let n=this._backgroundBillboard;l(n)&&(n.distanceDisplayCondition=e)}}},disableDepthTestDistance:{get:function(){return this._disableDepthTestDistance},set:function(e){if(this._disableDepthTestDistance!==e){this._disableDepthTestDistance=e;let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i];l(r.billboard)&&(r.billboard.disableDepthTestDistance=e)}let n=this._backgroundBillboard;l(n)&&(n.disableDepthTestDistance=e)}}},id:{get:function(){return this._id},set:function(e){if(this._id!==e){this._id=e;let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i];l(r.billboard)&&(r.billboard.id=e)}let n=this._backgroundBillboard;l(n)&&(n.id=e)}}},pickId:{get:function(){if(!(this._glyphs.length===0||!l(this._glyphs[0].billboard)))return this._glyphs[0].billboard.pickId}},_clampedPosition:{get:function(){return this._actualClampedPosition},set:function(e){this._actualClampedPosition=h.clone(e,this._actualClampedPosition);let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i];l(r.billboard)&&(r.billboard._clampedPosition=e)}let n=this._backgroundBillboard;l(n)&&(n._clampedPosition=e)}},clusterShow:{get:function(){return this._clusterShow},set:function(e){if(this._clusterShow!==e){this._clusterShow=e;let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i];l(r.billboard)&&(r.billboard.clusterShow=e)}let n=this._backgroundBillboard;l(n)&&(n.clusterShow=e)}}}});ep.prototype._updateClamping=function(){mo._updateClamping(this._labelCollection,this)};ep.prototype.computeScreenSpacePosition=function(e,t){l(t)||(t=new G);let i=this._labelCollection.modelMatrix,o=l(this._actualClampedPosition)?this._actualClampedPosition:this._position;return mo._computeScreenSpacePosition(i,o,this._eyeOffset,this._pixelOffset,e,t)};ep.getScreenSpaceBoundingBox=function(e,t,n){let i=0,o=0,r=0,s=0,a=e.totalScale,c=e._backgroundBillboard;if(l(c))i=t.x+c._translate.x,o=t.y-c._translate.y,r=c.width*a,s=c.height*a,e.verticalOrigin===bn.BOTTOM||e.verticalOrigin===bn.BASELINE?o-=s:e.verticalOrigin===bn.CENTER&&(o-=s*.5);else{i=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;let u=0,f=0,d=e._glyphs,p=d.length;for(let g=0;g<p;++g){let m=d[g],C=m.billboard;if(!l(C))continue;let x=t.x+C._translate.x,A=t.y-C._translate.y,b=m.dimensions.width*a,E=m.dimensions.height*a;e.verticalOrigin===bn.BOTTOM||e.verticalOrigin===bn.BASELINE?A-=E:e.verticalOrigin===bn.CENTER&&(A-=E*.5),e._verticalOrigin===bn.TOP?A+=ws.PADDING*a:(e._verticalOrigin===bn.BOTTOM||e._verticalOrigin===bn.BASELINE)&&(A-=ws.PADDING*a),i=Math.min(i,x),o=Math.min(o,A),u=Math.max(u,x+b),f=Math.max(f,A+E)}r=u-i,s=f-o}return l(n)||(n=new Ge),n.x=i,n.y=o,n.width=r,n.height=s,n};ep.prototype.equals=function(e){return this===e||l(e)&&this._show===e._show&&this._scale===e._scale&&this._outlineWidth===e._outlineWidth&&this._showBackground===e._showBackground&&this._style===e._style&&this._verticalOrigin===e._verticalOrigin&&this._horizontalOrigin===e._horizontalOrigin&&this._heightReference===e._heightReference&&this._renderedText===e._renderedText&&this._font===e._font&&h.equals(this._position,e._position)&&U.equals(this._fillColor,e._fillColor)&&U.equals(this._outlineColor,e._outlineColor)&&U.equals(this._backgroundColor,e._backgroundColor)&&G.equals(this._backgroundPadding,e._backgroundPadding)&&G.equals(this._pixelOffset,e._pixelOffset)&&h.equals(this._eyeOffset,e._eyeOffset)&&St.equals(this._translucencyByDistance,e._translucencyByDistance)&&St.equals(this._pixelOffsetScaleByDistance,e._pixelOffsetScaleByDistance)&&St.equals(this._scaleByDistance,e._scaleByDistance)&&At.equals(this._distanceDisplayCondition,e._distanceDisplayCondition)&&this._disableDepthTestDistance===e._disableDepthTestDistance&&this._id===e._id};ep.prototype.isDestroyed=function(){return!1};ep.enableRightToLeftDetection=!1;function O6e(e,t){let n=/[a-zA-Z0-9]/,i=/[()[\]{}<>]/,o=[],r="",s=jr.LTR,a="",c=e.length;for(let u=0;u<c;++u){let f=e.charAt(u);t.test(f)?a=jr.RTL:n.test(f)?a=jr.LTR:i.test(f)?a=jr.BRACKETS:a=jr.WEAK,u===0&&(s=a),s===a&&a!==jr.BRACKETS?r+=f:(r!==""&&o.push({Type:s,Word:r}),s=a,r=f)}return o.push({Type:a,Word:r}),o}function R6e(e){return e.split("").reverse().join("")}function Nw(e,t,n){return e.slice(0,t)+n+e.slice(t)}function M6e(e){switch(e){case"(":return")";case")":return"(";case"[":return"]";case"]":return"[";case"{":return"}";case"}":return"{";case"<":return">";case">":return"<"}}var B6e="\u05D0-\u05EA",L6e="\u0600-\u06FF\u0750-\u077F\u08A0-\u08FF",Sae=new RegExp(`[${B6e}${L6e}]`);function N6e(e){let t=e.split(`
  4905. `),n="";for(let i=0;i<t.length;i++){let o=t[i],r=Sae.test(o.charAt(0)),s=O6e(o,Sae),a=0,c="";for(let u=0;u<s.length;++u){let f=s[u],d=f.Type===jr.BRACKETS?M6e(f.Word):R6e(f.Word);r?f.Type===jr.RTL?(c=d+c,a=0):f.Type===jr.LTR?(c=Nw(c,a,f.Word),a+=f.Word.length):(f.Type===jr.WEAK||f.Type===jr.BRACKETS)&&(f.Type===jr.WEAK&&s[u-1].Type===jr.BRACKETS?c=d+c:s[u-1].Type===jr.RTL?(c=d+c,a=0):s.length>u+1?s[u+1].Type===jr.RTL?(c=d+c,a=0):(c=Nw(c,a,f.Word),a+=f.Word.length):c=Nw(c,0,d)):f.Type===jr.RTL?c=Nw(c,a,d):f.Type===jr.LTR?(c+=f.Word,a=c.length):(f.Type===jr.WEAK||f.Type===jr.BRACKETS)&&(u>0&&s[u-1].Type===jr.RTL?s.length>u+1?s[u+1].Type===jr.RTL?c=Nw(c,a,d):(c+=f.Word,a=c.length):c+=f.Word:(c+=f.Word,a=c.length))}n+=c,i<t.length-1&&(n+=`
  4906. `)}return n}var Uy=ep;var Iae=Ri(vae(),1);function V6e(){this.textureInfo=void 0,this.dimensions=void 0,this.billboard=void 0}function k6e(e,t,n){this.labelCollection=e,this.index=t,this.dimensions=n}var U6e=1.2,Oae="ID_WHITE_PIXEL",y9=new G(4,4),z6e=new Ge(1,1,1,1);function H6e(e){let t=document.createElement("canvas");t.width=y9.x,t.height=y9.y;let n=t.getContext("2d");n.fillStyle="#fff",n.fillRect(0,0,t.width,t.height),e.addImage(Oae,t)}var Ou={};function G6e(e,t,n,i,o,r,s){return Ou.font=t,Ou.fillColor=n,Ou.strokeColor=i,Ou.strokeWidth=o,Ou.padding=ws.PADDING,s===bn.CENTER?Ou.textBaseline="middle":s===bn.TOP?Ou.textBaseline="top":Ou.textBaseline="bottom",Ou.fill=r===Fo.FILL||r===Fo.FILL_AND_OUTLINE,Ou.stroke=r===Fo.OUTLINE||r===Fo.FILL_AND_OUTLINE,Ou.backgroundColor=U.BLACK,$x(e,Ou)}function C9(e,t){t.textureInfo=void 0,t.dimensions=void 0;let n=t.billboard;l(n)&&(n.show=!1,n.image=void 0,l(n._removeCallbackFunc)&&(n._removeCallbackFunc(),n._removeCallbackFunc=void 0),e._spareBillboards.push(n),t.billboard=void 0)}function W6e(e,t,n,i){i.index=e.addImageSync(t,n)}var j6e=new Iae.default;function q6e(e,t){let n=t._renderedText,i=j6e.splitGraphemes(n),o=i.length,r=t._glyphs,s=r.length,a,c,u;if(t._relativeSize=t._fontSize/ws.FONT_SIZE,o<s)for(c=o;c<s;++c)C9(e,r[c]);r.length=o;let f=t._showBackground&&n.split(`
  4907. `).join("").length>0,d=t._backgroundBillboard,p=e._backgroundBillboardCollection;f?(l(d)||(d=p.add({collection:e,image:Oae,imageSubRegion:z6e}),t._backgroundBillboard=d),d.color=t._backgroundColor,d.show=t._show,d.position=t._position,d.eyeOffset=t._eyeOffset,d.pixelOffset=t._pixelOffset,d.horizontalOrigin=ui.LEFT,d.verticalOrigin=t._verticalOrigin,d.heightReference=t._heightReference,d.scale=t.totalScale,d.pickPrimitive=t,d.id=t._id,d.translucencyByDistance=t._translucencyByDistance,d.pixelOffsetScaleByDistance=t._pixelOffsetScaleByDistance,d.scaleByDistance=t._scaleByDistance,d.distanceDisplayCondition=t._distanceDisplayCondition,d.disableDepthTestDistance=t._disableDepthTestDistance):l(d)&&(p.remove(d),t._backgroundBillboard=d=void 0);let g=e._glyphTextureCache;for(u=0;u<o;++u){let m=i[u],C=t._verticalOrigin,x=JSON.stringify([m,t._fontFamily,t._fontStyle,t._fontWeight,+C]),A=g[x];if(!l(A)){let b=`${t._fontStyle} ${t._fontWeight} ${ws.FONT_SIZE}px ${t._fontFamily}`,E=G6e(m,b,U.WHITE,U.WHITE,0,Fo.FILL,C);if(A=new k6e(e,-1,E.dimensions),g[x]=A,E.width>0&&E.height>0){let S=(0,Pae.default)(E,{cutoff:ws.CUTOFF,radius:ws.RADIUS}),v=E.getContext("2d"),P=E.width,O=E.height,M=v.getImageData(0,0,P,O);for(let B=0;B<P;B++)for(let L=0;L<O;L++){let _=L*P+B,T=S[_]*255,w=_*4;M.data[w+0]=T,M.data[w+1]=T,M.data[w+2]=T,M.data[w+3]=T}v.putImageData(M,0,0),m!==" "&&W6e(e._textureAtlas,x,E,A)}}if(a=r[u],l(a)?A.index===-1?C9(e,a):l(a.textureInfo)&&(a.textureInfo=void 0):(a=new V6e,r[u]=a),a.textureInfo=A,a.dimensions=A.dimensions,A.index!==-1){let b=a.billboard,E=e._spareBillboards;l(b)||(E.length>0?b=E.pop():(b=e._billboardCollection.add({collection:e}),b._labelDimensions=new G,b._labelTranslate=new G),a.billboard=b),b.show=t._show,b.position=t._position,b.eyeOffset=t._eyeOffset,b.pixelOffset=t._pixelOffset,b.horizontalOrigin=ui.LEFT,b.verticalOrigin=t._verticalOrigin,b.heightReference=t._heightReference,b.scale=t.totalScale,b.pickPrimitive=t,b.id=t._id,b.image=x,b.translucencyByDistance=t._translucencyByDistance,b.pixelOffsetScaleByDistance=t._pixelOffsetScaleByDistance,b.scaleByDistance=t._scaleByDistance,b.distanceDisplayCondition=t._distanceDisplayCondition,b.disableDepthTestDistance=t._disableDepthTestDistance,b._batchIndex=t._batchIndex,b.outlineColor=t.outlineColor,t.style===Fo.FILL_AND_OUTLINE?(b.color=t._fillColor,b.outlineWidth=t.outlineWidth):t.style===Fo.FILL?(b.color=t._fillColor,b.outlineWidth=0):t.style===Fo.OUTLINE&&(b.color=U.TRANSPARENT,b.outlineWidth=t.outlineWidth)}}t._repositionAllGlyphs=!0}function Dae(e,t,n){return t===ui.CENTER?-e/2:t===ui.RIGHT?-(e+n.x):n.x}var Qo=new G,Y6e=new G;function X6e(e){let t=e._glyphs,n=e._renderedText,i,o,r=0,s=0,a=[],c=Number.NEGATIVE_INFINITY,u=0,f=1,d,p=t.length,g=e._backgroundBillboard,m=G.clone(l(g)?e._backgroundPadding:G.ZERO,Y6e);for(m.x/=e._relativeSize,m.y/=e._relativeSize,d=0;d<p;++d)n.charAt(d)===`
  4908. `?(a.push(r),++f,r=0):(i=t[d],o=i.dimensions,u=Math.max(u,o.height-o.descent),c=Math.max(c,o.descent),r+=o.width-o.minx,d<p-1&&(r+=t[d+1].dimensions.minx),s=Math.max(s,r));a.push(r);let C=u+c,x=e.totalScale,A=e._horizontalOrigin,b=e._verticalOrigin,E=0,S=a[E],v=Dae(S,A,m),P=(l(e._lineHeight)?e._lineHeight:U6e*e._fontSize)/e._relativeSize,O=P*(f-1),M=s,B=C+O;l(g)&&(M+=m.x*2,B+=m.y*2,g._labelHorizontalOrigin=A),Qo.x=v*x,Qo.y=0;let L=!0,_=0;for(d=0;d<p;++d)if(n.charAt(d)===`
  4909. `)++E,_+=P,S=a[E],v=Dae(S,A,m),Qo.x=v*x,L=!0;else if(i=t[d],o=i.dimensions,b===bn.TOP?(Qo.y=o.height-u-m.y,Qo.y+=ws.PADDING):b===bn.CENTER?Qo.y=(O+o.height-u)/2:b===bn.BASELINE?(Qo.y=O,Qo.y-=ws.PADDING):(Qo.y=O+c+m.y,Qo.y-=ws.PADDING),Qo.y=(Qo.y-o.descent-_)*x,L&&(Qo.x-=ws.PADDING*x,L=!1),l(i.billboard)&&(i.billboard._setTranslate(Qo),i.billboard._labelDimensions.x=M,i.billboard._labelDimensions.y=B,i.billboard._labelHorizontalOrigin=A),d<p-1){let T=t[d+1];Qo.x+=(o.width-o.minx+T.dimensions.minx)*x}if(l(g)&&n.split(`
  4910. `).join("").length>0&&(A===ui.CENTER?v=-s/2-m.x:A===ui.RIGHT?v=-(s+m.x*2):v=0,Qo.x=v*x,b===bn.TOP?Qo.y=C-u-c:b===bn.CENTER?Qo.y=(C-u)/2-c:b===bn.BASELINE?Qo.y=-m.y-c:Qo.y=0,Qo.y=Qo.y*x,g.width=M,g.height=B,g._setTranslate(Qo),g._labelTranslate=G.clone(Qo,g._labelTranslate)),e.heightReference===ze.CLAMP_TO_GROUND)for(d=0;d<p;++d){i=t[d];let T=i.billboard;l(T)&&(T._labelTranslate=G.clone(Qo,T._labelTranslate))}}function Rae(e,t){let n=t._glyphs;for(let i=0,o=n.length;i<o;++i)C9(e,n[i]);l(t._backgroundBillboard)&&(e._backgroundBillboardCollection.remove(t._backgroundBillboard),t._backgroundBillboard=void 0),t._labelCollection=void 0,l(t._removeCallbackFunc)&&t._removeCallbackFunc(),fe(t)}function Ah(e){e=y(e,y.EMPTY_OBJECT),this._scene=e.scene,this._batchTable=e.batchTable,this._textureAtlas=void 0,this._backgroundTextureAtlas=void 0,this._backgroundBillboardCollection=new Iu({scene:this._scene}),this._backgroundBillboardCollection.destroyTextureAtlas=!1,this._billboardCollection=new Iu({scene:this._scene,batchTable:this._batchTable}),this._billboardCollection.destroyTextureAtlas=!1,this._billboardCollection._sdf=!0,this._spareBillboards=[],this._glyphTextureCache={},this._labels=[],this._labelsToUpdate=[],this._totalGlyphCount=0,this._highlightColor=U.clone(U.WHITE),this.show=y(e.show,!0),this.modelMatrix=N.clone(y(e.modelMatrix,N.IDENTITY)),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.blendOption=y(e.blendOption,bo.OPAQUE_AND_TRANSLUCENT)}Object.defineProperties(Ah.prototype,{length:{get:function(){return this._labels.length}}});Ah.prototype.add=function(e){let t=new Uy(e,this);return this._labels.push(t),this._labelsToUpdate.push(t),t};Ah.prototype.remove=function(e){if(l(e)&&e._labelCollection===this){let t=this._labels.indexOf(e);if(t!==-1)return this._labels.splice(t,1),Rae(this,e),!0}return!1};Ah.prototype.removeAll=function(){let e=this._labels;for(let t=0,n=e.length;t<n;++t)Rae(this,e[t]);e.length=0};Ah.prototype.contains=function(e){return l(e)&&e._labelCollection===this};Ah.prototype.get=function(e){return this._labels[e]};Ah.prototype.update=function(e){if(!this.show)return;let t=this._billboardCollection,n=this._backgroundBillboardCollection;t.modelMatrix=this.modelMatrix,t.debugShowBoundingVolume=this.debugShowBoundingVolume,n.modelMatrix=this.modelMatrix,n.debugShowBoundingVolume=this.debugShowBoundingVolume;let i=e.context;l(this._textureAtlas)||(this._textureAtlas=new Vy({context:i}),t.textureAtlas=this._textureAtlas),l(this._backgroundTextureAtlas)||(this._backgroundTextureAtlas=new Vy({context:i,initialSize:y9}),n.textureAtlas=this._backgroundTextureAtlas,H6e(this._backgroundTextureAtlas));let o=this._labelsToUpdate.length;for(let s=0;s<o;++s){let a=this._labelsToUpdate[s];if(a.isDestroyed())continue;let c=a._glyphs.length;a._rebindAllGlyphs&&(q6e(this,a),a._rebindAllGlyphs=!1),a._repositionAllGlyphs&&(X6e(a),a._repositionAllGlyphs=!1);let u=a._glyphs.length-c;this._totalGlyphCount+=u}let r=n.length>0?bo.TRANSLUCENT:this.blendOption;t.blendOption=r,n.blendOption=r,t._highlightColor=this._highlightColor,n._highlightColor=this._highlightColor,this._labelsToUpdate.length=0,n.update(e),t.update(e)};Ah.prototype.isDestroyed=function(){return!1};Ah.prototype.destroy=function(){return this.removeAll(),this._billboardCollection=this._billboardCollection.destroy(),this._textureAtlas=this._textureAtlas&&this._textureAtlas.destroy(),this._backgroundBillboardCollection=this._backgroundBillboardCollection.destroy(),this._backgroundTextureAtlas=this._backgroundTextureAtlas&&this._backgroundTextureAtlas.destroy(),fe(this)};var tp=Ah;var yF=`attribute vec3 position3DHigh;
  4911. attribute vec3 position3DLow;
  4912. attribute vec3 position2DHigh;
  4913. attribute vec3 position2DLow;
  4914. attribute vec3 prevPosition3DHigh;
  4915. attribute vec3 prevPosition3DLow;
  4916. attribute vec3 prevPosition2DHigh;
  4917. attribute vec3 prevPosition2DLow;
  4918. attribute vec3 nextPosition3DHigh;
  4919. attribute vec3 nextPosition3DLow;
  4920. attribute vec3 nextPosition2DHigh;
  4921. attribute vec3 nextPosition2DLow;
  4922. attribute vec4 texCoordExpandAndBatchIndex;
  4923. varying vec2 v_st;
  4924. varying float v_width;
  4925. varying vec4 v_pickColor;
  4926. varying float v_polylineAngle;
  4927. void main()
  4928. {
  4929. float texCoord = texCoordExpandAndBatchIndex.x;
  4930. float expandDir = texCoordExpandAndBatchIndex.y;
  4931. bool usePrev = texCoordExpandAndBatchIndex.z < 0.0;
  4932. float batchTableIndex = texCoordExpandAndBatchIndex.w;
  4933. vec2 widthAndShow = batchTable_getWidthAndShow(batchTableIndex);
  4934. float width = widthAndShow.x + 0.5;
  4935. float show = widthAndShow.y;
  4936. if (width < 1.0)
  4937. {
  4938. show = 0.0;
  4939. }
  4940. vec4 pickColor = batchTable_getPickColor(batchTableIndex);
  4941. vec4 p, prev, next;
  4942. if (czm_morphTime == 1.0)
  4943. {
  4944. p = czm_translateRelativeToEye(position3DHigh.xyz, position3DLow.xyz);
  4945. prev = czm_translateRelativeToEye(prevPosition3DHigh.xyz, prevPosition3DLow.xyz);
  4946. next = czm_translateRelativeToEye(nextPosition3DHigh.xyz, nextPosition3DLow.xyz);
  4947. }
  4948. else if (czm_morphTime == 0.0)
  4949. {
  4950. p = czm_translateRelativeToEye(position2DHigh.zxy, position2DLow.zxy);
  4951. prev = czm_translateRelativeToEye(prevPosition2DHigh.zxy, prevPosition2DLow.zxy);
  4952. next = czm_translateRelativeToEye(nextPosition2DHigh.zxy, nextPosition2DLow.zxy);
  4953. }
  4954. else
  4955. {
  4956. p = czm_columbusViewMorph(
  4957. czm_translateRelativeToEye(position2DHigh.zxy, position2DLow.zxy),
  4958. czm_translateRelativeToEye(position3DHigh.xyz, position3DLow.xyz),
  4959. czm_morphTime);
  4960. prev = czm_columbusViewMorph(
  4961. czm_translateRelativeToEye(prevPosition2DHigh.zxy, prevPosition2DLow.zxy),
  4962. czm_translateRelativeToEye(prevPosition3DHigh.xyz, prevPosition3DLow.xyz),
  4963. czm_morphTime);
  4964. next = czm_columbusViewMorph(
  4965. czm_translateRelativeToEye(nextPosition2DHigh.zxy, nextPosition2DLow.zxy),
  4966. czm_translateRelativeToEye(nextPosition3DHigh.xyz, nextPosition3DLow.xyz),
  4967. czm_morphTime);
  4968. }
  4969. #ifdef DISTANCE_DISPLAY_CONDITION
  4970. vec3 centerHigh = batchTable_getCenterHigh(batchTableIndex);
  4971. vec4 centerLowAndRadius = batchTable_getCenterLowAndRadius(batchTableIndex);
  4972. vec3 centerLow = centerLowAndRadius.xyz;
  4973. float radius = centerLowAndRadius.w;
  4974. vec2 distanceDisplayCondition = batchTable_getDistanceDisplayCondition(batchTableIndex);
  4975. float lengthSq;
  4976. if (czm_sceneMode == czm_sceneMode2D)
  4977. {
  4978. lengthSq = czm_eyeHeight2D.y;
  4979. }
  4980. else
  4981. {
  4982. vec4 center = czm_translateRelativeToEye(centerHigh.xyz, centerLow.xyz);
  4983. lengthSq = max(0.0, dot(center.xyz, center.xyz) - radius * radius);
  4984. }
  4985. float nearSq = distanceDisplayCondition.x * distanceDisplayCondition.x;
  4986. float farSq = distanceDisplayCondition.y * distanceDisplayCondition.y;
  4987. if (lengthSq < nearSq || lengthSq > farSq)
  4988. {
  4989. show = 0.0;
  4990. }
  4991. #endif
  4992. float polylineAngle;
  4993. vec4 positionWC = getPolylineWindowCoordinates(p, prev, next, expandDir, width, usePrev, polylineAngle);
  4994. gl_Position = czm_viewportOrthographic * positionWC * show;
  4995. v_st.s = texCoord;
  4996. v_st.t = czm_writeNonPerspective(clamp(expandDir, 0.0, 1.0), gl_Position.w);
  4997. v_width = width;
  4998. v_pickColor = pickColor;
  4999. v_polylineAngle = polylineAngle;
  5000. }
  5001. `;function Rl(e,t){e=y(e,y.EMPTY_OBJECT),this._show=y(e.show,!0),this._width=y(e.width,1),this._loop=y(e.loop,!1),this._distanceDisplayCondition=e.distanceDisplayCondition,this._material=e.material,l(this._material)||(this._material=Qi.fromType(Qi.ColorType,{color:new U(1,1,1,1)}));let n=e.positions;l(n)||(n=[]),this._positions=n,this._actualPositions=Co(n,h.equalsEpsilon),this._loop&&this._actualPositions.length>2&&(this._actualPositions===this._positions&&(this._actualPositions=n.slice()),this._actualPositions.push(h.clone(this._actualPositions[0]))),this._length=this._actualPositions.length,this._id=e.id;let i;l(t)&&(i=N.clone(t.modelMatrix)),this._modelMatrix=i,this._segments=Si.wrapLongitude(this._actualPositions,i),this._actualLength=void 0,this._propertiesChanged=new Uint32Array(Bae),this._polylineCollection=t,this._dirty=!1,this._pickId=void 0,this._boundingVolume=re.fromPoints(this._actualPositions),this._boundingVolumeWC=re.transform(this._boundingVolume,this._modelMatrix),this._boundingVolume2D=new re}var Mae=Rl.POSITION_INDEX=0,K6e=Rl.SHOW_INDEX=1,Z6e=Rl.WIDTH_INDEX=2,$6e=Rl.MATERIAL_INDEX=3,Fw=Rl.POSITION_SIZE_INDEX=4,J6e=Rl.DISTANCE_DISPLAY_CONDITION=5,Bae=Rl.NUMBER_OF_PROPERTIES=6;function np(e,t){++e._propertiesChanged[t];let n=e._polylineCollection;l(n)&&(n._updatePolyline(e,t),e._dirty=!0)}Object.defineProperties(Rl.prototype,{show:{get:function(){return this._show},set:function(e){e!==this._show&&(this._show=e,np(this,K6e))}},positions:{get:function(){return this._positions},set:function(e){let t=Co(e,h.equalsEpsilon);this._loop&&t.length>2&&(t===e&&(t=e.slice()),t.push(h.clone(t[0]))),(this._actualPositions.length!==t.length||this._actualPositions.length!==this._length)&&np(this,Fw),this._positions=e,this._actualPositions=t,this._length=t.length,this._boundingVolume=re.fromPoints(this._actualPositions,this._boundingVolume),this._boundingVolumeWC=re.transform(this._boundingVolume,this._modelMatrix,this._boundingVolumeWC),np(this,Mae),this.update()}},material:{get:function(){return this._material},set:function(e){this._material!==e&&(this._material=e,np(this,$6e))}},width:{get:function(){return this._width},set:function(e){let t=this._width;e!==t&&(this._width=e,np(this,Z6e))}},loop:{get:function(){return this._loop},set:function(e){if(e!==this._loop){let t=this._actualPositions;e?t.length>2&&!h.equals(t[0],t[t.length-1])&&(t.length===this._positions.length&&(this._actualPositions=t=this._positions.slice()),t.push(h.clone(t[0]))):t.length>2&&h.equals(t[0],t[t.length-1])&&(t.length-1===this._positions.length?this._actualPositions=this._positions:t.pop()),this._loop=e,np(this,Fw)}}},id:{get:function(){return this._id},set:function(e){this._id=e,l(this._pickId)&&(this._pickId.object.id=e)}},pickId:{get:function(){return this._pickId}},isDestroyed:{get:function(){return!l(this._polylineCollection)}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){At.equals(e,this._distanceDisplayCondition)||(this._distanceDisplayCondition=At.clone(e,this._distanceDisplayCondition),np(this,J6e))}}});Rl.prototype.update=function(){let e=N.IDENTITY;l(this._polylineCollection)&&(e=this._polylineCollection.modelMatrix);let t=this._segments.positions.length,n=this._segments.lengths,i=this._propertiesChanged[Mae]>0||this._propertiesChanged[Fw]>0;if((!N.equals(e,this._modelMatrix)||i)&&(this._segments=Si.wrapLongitude(this._actualPositions,e),this._boundingVolumeWC=re.transform(this._boundingVolume,e,this._boundingVolumeWC)),this._modelMatrix=N.clone(e,this._modelMatrix),this._segments.positions.length!==t)np(this,Fw);else{let o=n.length;for(let r=0;r<o;++r)if(n[r]!==this._segments.lengths[r]){np(this,Fw);break}}};Rl.prototype.getPickId=function(e){return l(this._pickId)||(this._pickId=e.createPickId({primitive:this,collection:this._polylineCollection,id:this._id})),this._pickId};Rl.prototype._clean=function(){this._dirty=!1;let e=this._propertiesChanged;for(let t=0;t<Bae-1;++t)e[t]=0};Rl.prototype._destroy=function(){this._pickId=this._pickId&&this._pickId.destroy(),this._material=this._material&&this._material.destroy(),this._polylineCollection=void 0};var Bf=Rl;var Q6e=Bf.SHOW_INDEX,e9e=Bf.WIDTH_INDEX,A9=Bf.POSITION_INDEX,t9e=Bf.MATERIAL_INDEX,Lae=Bf.POSITION_SIZE_INDEX,n9e=Bf.DISTANCE_DISPLAY_CONDITION,Hae=Bf.NUMBER_OF_PROPERTIES,Zc={texCoordExpandAndBatchIndex: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};function Lf(e){e=y(e,y.EMPTY_OBJECT),this.show=y(e.show,!0),this.modelMatrix=N.clone(y(e.modelMatrix,N.IDENTITY)),this._modelMatrix=N.clone(N.IDENTITY),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this._opaqueRS=void 0,this._translucentRS=void 0,this._colorCommands=[],this._polylinesUpdated=!1,this._polylinesRemoved=!1,this._createVertexArray=!1,this._propertiesChanged=new Uint32Array(Hae),this._polylines=[],this._polylineBuckets={},this._positionBufferUsage={bufferUsage:Le.STATIC_DRAW,frameCount:0},this._mode=void 0,this._polylinesToUpdate=[],this._vertexArrays=[],this._positionBuffer=void 0,this._texCoordExpandAndBatchIndexBuffer=void 0,this._batchTable=void 0,this._createBatchTable=!1,this._useHighlightColor=!1,this._highlightColor=U.clone(U.WHITE);let t=this;this._uniformMap={u_highlightColor:function(){return t._highlightColor}}}Object.defineProperties(Lf.prototype,{length:{get:function(){return T9(this),this._polylines.length}}});Lf.prototype.add=function(e){let t=new Bf(e,this);return t._index=this._polylines.length,this._polylines.push(t),this._createVertexArray=!0,this._createBatchTable=!0,t};Lf.prototype.remove=function(e){if(this.contains(e)){if(this._polylinesRemoved=!0,this._createVertexArray=!0,this._createBatchTable=!0,l(e._bucket)){let t=e._bucket;t.shaderProgram=t.shaderProgram&&t.shaderProgram.destroy()}return e._destroy(),!0}return!1};Lf.prototype.removeAll=function(){E9(this),Yae(this),this._polylineBuckets={},this._polylinesRemoved=!1,this._polylines.length=0,this._polylinesToUpdate.length=0,this._createVertexArray=!0};Lf.prototype.contains=function(e){return l(e)&&e._polylineCollection===this};Lf.prototype.get=function(e){return T9(this),this._polylines[e]};function i9e(e,t){l(e._batchTable)&&e._batchTable.destroy();let n=[{functionName:"batchTable_getWidthAndShow",componentDatatype:Z.UNSIGNED_BYTE,componentsPerAttribute:2},{functionName:"batchTable_getPickColor",componentDatatype:Z.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0},{functionName:"batchTable_getCenterHigh",componentDatatype:Z.FLOAT,componentsPerAttribute:3},{functionName:"batchTable_getCenterLowAndRadius",componentDatatype:Z.FLOAT,componentsPerAttribute:4},{functionName:"batchTable_getDistanceDisplayCondition",componentDatatype:Z.FLOAT,componentsPerAttribute:2}];e._batchTable=new EA(t,n,e._polylines.length)}var Gae=new Un,Wae=new se,jae=new G;Lf.prototype.update=function(e){if(T9(this),this._polylines.length===0||!this.show)return;l9e(this,e);let t=e.context,n=e.mapProjection,i,o=this._propertiesChanged;if(this._createBatchTable){if(kt.maximumVertexTextureImageUnits===0)throw new de("Vertex texture fetch support is required to render polylines. The maximum number of vertex texture image units must be greater than zero.");i9e(this,t),this._createBatchTable=!1}if(this._createVertexArray||r9e(this))Vae(this,t,n);else if(this._polylinesUpdated){let c=this._polylinesToUpdate;if(this._mode!==ee.SCENE3D){let u=c.length;for(let f=0;f<u;++f)i=c[f],i.update()}if(o[Lae]||o[t9e])Vae(this,t,n);else{let u=c.length,f=this._polylineBuckets;for(let d=0;d<u;++d){i=c[d],o=i._propertiesChanged;let p=i._bucket,g=0;for(let m in f)if(f.hasOwnProperty(m)){if(f[m]===p){o[A9]&&p.writeUpdate(g,i,this._positionBuffer,n);break}g+=f[m].lengthOfPositions}if((o[Q6e]||o[e9e])&&this._batchTable.setBatchedAttribute(i._index,0,new G(i._width,i._show)),this._batchTable.attributes.length>2){if(o[A9]||o[Lae]){let m=e.mode===ee.SCENE2D?i._boundingVolume2D:i._boundingVolumeWC,C=Un.fromCartesian(m.center,Gae),x=se.fromElements(C.low.x,C.low.y,C.low.z,m.radius,Wae);this._batchTable.setBatchedAttribute(i._index,2,C.high),this._batchTable.setBatchedAttribute(i._index,3,x)}if(o[n9e]){let m=jae;m.x=0,m.y=Number.MAX_VALUE;let C=i.distanceDisplayCondition;l(C)&&(m.x=C.near,m.y=C.far),this._batchTable.setBatchedAttribute(i._index,4,m)}}i._clean()}}c.length=0,this._polylinesUpdated=!1}o=this._propertiesChanged;for(let c=0;c<Hae;++c)o[c]=0;let r=N.IDENTITY;e.mode===ee.SCENE3D&&(r=this.modelMatrix);let s=e.passes,a=e.morphTime!==0;if((!l(this._opaqueRS)||this._opaqueRS.depthTest.enabled!==a)&&(this._opaqueRS=Fe.fromCache({depthMask:a,depthTest:{enabled:a}})),(!l(this._translucentRS)||this._translucentRS.depthTest.enabled!==a)&&(this._translucentRS=Fe.fromCache({blending:cn.ALPHA_BLEND,depthMask:!a,depthTest:{enabled:a}})),this._batchTable.update(e),s.render||s.pick){let c=this._colorCommands;o9e(this,e,c,r)}};var Vw=new re,Nae=new re;function o9e(e,t,n,i){let o=t.context,r=t.commandList,s=n.length,a=0,c=!0,u=e._vertexArrays,f=e.debugShowBoundingVolume,p=e._batchTable.getUniformMapCallback(),g=u.length;for(let m=0;m<g;++m){let C=u[m],x=C.buckets,A=x.length;for(let b=0;b<A;++b){let E=x[b],S=E.offset,v=E.bucket.shaderProgram,P=E.bucket.polylines,O=P.length,M,B,L=0,_,T;for(let w=0;w<O;++w){let D=P[w],R=a9e(D._material);if(R!==M){if(l(M)&&L>0){let H=B.isTranslucent();a>=s?(_=new Je({owner:e}),n.push(_)):_=n[a],++a,T=mt(p(B._uniforms),e._uniformMap),_.boundingVolume=re.clone(Vw,_.boundingVolume),_.modelMatrix=i,_.shaderProgram=v,_.vertexArray=C.va,_.renderState=H?e._translucentRS:e._opaqueRS,_.pass=H?xe.TRANSLUCENT:xe.OPAQUE,_.debugShowBoundingVolume=f,_.pickId="v_pickColor",_.uniformMap=T,_.count=L,_.offset=S,S+=L,L=0,c=!0,r.push(_)}B=D._material,B.update(o),M=R}let F=D._locatorBuckets,z=F.length;for(let H=0;H<z;++H){let V=F[H];V.locator===E&&(L+=V.count)}let k;t.mode===ee.SCENE3D?k=D._boundingVolumeWC:t.mode===ee.COLUMBUS_VIEW?k=D._boundingVolume2D:t.mode===ee.SCENE2D?l(D._boundingVolume2D)&&(k=re.clone(D._boundingVolume2D,Nae),k.center.x=0):l(D._boundingVolumeWC)&&l(D._boundingVolume2D)&&(k=re.union(D._boundingVolumeWC,D._boundingVolume2D,Nae)),c?(c=!1,re.clone(k,Vw)):re.union(k,Vw,Vw)}l(M)&&L>0&&(a>=s?(_=new Je({owner:e}),n.push(_)):_=n[a],++a,T=mt(p(B._uniforms),e._uniformMap),_.boundingVolume=re.clone(Vw,_.boundingVolume),_.modelMatrix=i,_.shaderProgram=v,_.vertexArray=C.va,_.renderState=B.isTranslucent()?e._translucentRS:e._opaqueRS,_.pass=B.isTranslucent()?xe.TRANSLUCENT:xe.OPAQUE,_.debugShowBoundingVolume=f,_.pickId="v_pickColor",_.uniformMap=T,_.count=L,_.offset=S,c=!0,r.push(_)),M=void 0}}n.length=a}Lf.prototype.isDestroyed=function(){return!1};Lf.prototype.destroy=function(){return qae(this),E9(this),Yae(this),this._batchTable=this._batchTable&&this._batchTable.destroy(),fe(this)};function r9e(e){let t=!1,n=e._propertiesChanged,i=e._positionBufferUsage;return n[A9]?(i.bufferUsage!==Le.STREAM_DRAW&&(t=!0,i.bufferUsage=Le.STREAM_DRAW),i.frameCount=100):i.bufferUsage!==Le.STATIC_DRAW&&(i.frameCount===0?(t=!0,i.bufferUsage=Le.STATIC_DRAW):i.frameCount--),t}var Fae=[0,0,0];function Vae(e,t,n){e._createVertexArray=!1,E9(e),qae(e),c9e(e);let i=[[]],o=i[0],r=e._batchTable,s=e._useHighlightColor,a=[0],c=0,u=[[]],f=0,d=e._polylineBuckets,p,g;for(p in d)d.hasOwnProperty(p)&&(g=d[p],g.updateShader(t,r,s),f+=g.lengthOfPositions);if(f>0){let m=e._mode,C=new Float32Array(6*f*3),x=new Float32Array(f*4),A,b=0,E=0,S=0;for(p in d)if(d.hasOwnProperty(p)){g=d[p],g.write(C,x,b,E,S,r,t,n),m===ee.MORPHING&&(l(A)||(A=new Float32Array(6*f*3)),g.writeForMorph(A,b));let T=g.lengthOfPositions;b+=6*T*3,E+=T*4,S+=T*4,c=g.updateIndices(i,a,u,c)}let v=e._positionBufferUsage.bufferUsage,P=Le.STATIC_DRAW;e._positionBuffer=ct.createVertexBuffer({context:t,typedArray:C,usage:v});let O;l(A)&&(O=ct.createVertexBuffer({context:t,typedArray:A,usage:v})),e._texCoordExpandAndBatchIndexBuffer=ct.createVertexBuffer({context:t,typedArray:x,usage:P});let M=3*Float32Array.BYTES_PER_ELEMENT,B=4*Float32Array.BYTES_PER_ELEMENT,L=0,_=i.length;for(let T=0;T<_;++T)if(o=i[T],o.length>0){let w=new Uint16Array(o),D=ct.createIndexBuffer({context:t,typedArray:w,usage:Le.STATIC_DRAW,indexDatatype:Be.UNSIGNED_SHORT});L+=a[T];let R=6*(T*(M*I.SIXTY_FOUR_KILOBYTES)-L*M),F=M+R,z=M+F,k=M+z,H=M+k,V=M+H,Y=T*(B*I.SIXTY_FOUR_KILOBYTES)-L*B,q=[{index:Zc.position3DHigh,componentsPerAttribute:3,componentDatatype:Z.FLOAT,offsetInBytes:R,strideInBytes:6*M},{index:Zc.position3DLow,componentsPerAttribute:3,componentDatatype:Z.FLOAT,offsetInBytes:F,strideInBytes:6*M},{index:Zc.position2DHigh,componentsPerAttribute:3,componentDatatype:Z.FLOAT,offsetInBytes:R,strideInBytes:6*M},{index:Zc.position2DLow,componentsPerAttribute:3,componentDatatype:Z.FLOAT,offsetInBytes:F,strideInBytes:6*M},{index:Zc.prevPosition3DHigh,componentsPerAttribute:3,componentDatatype:Z.FLOAT,offsetInBytes:z,strideInBytes:6*M},{index:Zc.prevPosition3DLow,componentsPerAttribute:3,componentDatatype:Z.FLOAT,offsetInBytes:k,strideInBytes:6*M},{index:Zc.prevPosition2DHigh,componentsPerAttribute:3,componentDatatype:Z.FLOAT,offsetInBytes:z,strideInBytes:6*M},{index:Zc.prevPosition2DLow,componentsPerAttribute:3,componentDatatype:Z.FLOAT,offsetInBytes:k,strideInBytes:6*M},{index:Zc.nextPosition3DHigh,componentsPerAttribute:3,componentDatatype:Z.FLOAT,offsetInBytes:H,strideInBytes:6*M},{index:Zc.nextPosition3DLow,componentsPerAttribute:3,componentDatatype:Z.FLOAT,offsetInBytes:V,strideInBytes:6*M},{index:Zc.nextPosition2DHigh,componentsPerAttribute:3,componentDatatype:Z.FLOAT,offsetInBytes:H,strideInBytes:6*M},{index:Zc.nextPosition2DLow,componentsPerAttribute:3,componentDatatype:Z.FLOAT,offsetInBytes:V,strideInBytes:6*M},{index:Zc.texCoordExpandAndBatchIndex,componentsPerAttribute:4,componentDatatype:Z.FLOAT,vertexBuffer:e._texCoordExpandAndBatchIndexBuffer,offsetInBytes:Y}],X,W,K,$;m===ee.SCENE3D?(W=e._positionBuffer,X="vertexBuffer",K=Fae,$="value"):m===ee.SCENE2D||m===ee.COLUMBUS_VIEW?(W=Fae,X="value",K=e._positionBuffer,$="vertexBuffer"):(W=O,X="vertexBuffer",K=e._positionBuffer,$="vertexBuffer"),q[0][X]=W,q[1][X]=W,q[2][$]=K,q[3][$]=K,q[4][X]=W,q[5][X]=W,q[6][$]=K,q[7][$]=K,q[8][X]=W,q[9][X]=W,q[10][$]=K,q[11][$]=K;let le=new ti({context:t,attributes:q,indexBuffer:D});e._vertexArrays.push({va:le,buckets:u[T]})}}}function s9e(e,t){return t instanceof Ot?t.id:t}var CF=[];function a9e(e){let t=Qi._uniformList[e.type],n=t.length;CF.length=2*n;let i=0;for(let o=0;o<n;++o){let r=t[o];CF[i]=r,CF[i+1]=e._uniforms[r](),i+=2}return`${e.type}:${JSON.stringify(CF,s9e)}`}function c9e(e){let t=e._mode,n=e._modelMatrix,i=e._polylineBuckets={},o=e._polylines,r=o.length;for(let s=0;s<r;++s){let a=o[s];if(a._actualPositions.length>1){a.update();let c=a.material,u=i[c.type];l(u)||(u=i[c.type]=new Th(c,t,n)),u.addPolyline(a)}}}function l9e(e,t){let n=t.mode;(e._mode!==n||!N.equals(e._modelMatrix,e.modelMatrix))&&(e._mode=n,e._modelMatrix=N.clone(e.modelMatrix),e._createVertexArray=!0)}function T9(e){if(e._polylinesRemoved){e._polylinesRemoved=!1;let t=[],n=[],i=0,o,r=e._polylines.length;for(let s=0;s<r;++s)o=e._polylines[s],o.isDestroyed||(o._index=i++,n.push(o),t.push(o));e._polylines=t,e._polylinesToUpdate=n}}function E9(e){let t=e._polylines,n=t.length;for(let i=0;i<n;++i)if(!t[i].isDestroyed){let o=t[i]._bucket;l(o)&&(o.shaderProgram=o.shaderProgram&&o.shaderProgram.destroy())}}function qae(e){let t=e._vertexArrays.length;for(let n=0;n<t;++n)e._vertexArrays[n].va.destroy();e._vertexArrays.length=0}Lf.prototype._updatePolyline=function(e,t){this._polylinesUpdated=!0,e._dirty||this._polylinesToUpdate.push(e),++this._propertiesChanged[t]};function Yae(e){let t=e._polylines,n=t.length;for(let i=0;i<n;++i)t[i].isDestroyed||t[i]._destroy()}function x9(e,t,n){this.count=e,this.offset=t,this.bucket=n}function Th(e,t,n){this.polylines=[],this.lengthOfPositions=0,this.material=e,this.shaderProgram=void 0,this.mode=t,this.modelMatrix=n}Th.prototype.addPolyline=function(e){this.polylines.push(e),e._actualLength=this.getPolylinePositionsLength(e),this.lengthOfPositions+=e._actualLength,e._bucket=this};Th.prototype.updateShader=function(e,t,n){if(l(this.shaderProgram))return;let i=["DISTANCE_DISPLAY_CONDITION"];n&&i.push("VECTOR_TILE"),this.material.shaderSource.search(/varying\s+float\s+v_polylineAngle;/g)!==-1&&i.push("POLYLINE_DASH"),Mt.isInternetExplorer()||i.push("CLIP_POLYLINE");let o=new ke({defines:i,sources:[`varying vec4 v_pickColor;
  5002. `,this.material.shaderSource,vA]}),r=t.getVertexShaderCallback()(yF),s=new ke({defines:i,sources:[Au,r]});this.shaderProgram=Yt.fromCache({context:e,vertexShaderSource:s,fragmentShaderSource:o,attributeLocations:Zc})};function Xae(e){return h.dot(h.UNIT_X,e._boundingVolume.center)<0||e._boundingVolume.intersectPlane(en.ORIGIN_ZX_PLANE)===Kt.INTERSECTING}Th.prototype.getPolylinePositionsLength=function(e){let t;if(this.mode===ee.SCENE3D||!Xae(e))return t=e._actualPositions.length,t*4-4;let n=0,i=e._segments.lengths;t=i.length;for(let o=0;o<t;++o)n+=i[o]*4-4;return n};var es=new h,Ru=new h,Mu=new h,xF=new h,u9e=new se,f9e=new G;Th.prototype.write=function(e,t,n,i,o,r,s,a){let c=this.mode,u=a.ellipsoid.maximumRadius*I.PI,f=this.polylines,d=f.length;for(let p=0;p<d;++p){let g=f[p],m=g.width,C=g.show&&m>0,x=g._index,A=this.getSegments(g,a),b=A.positions,E=A.lengths,S=b.length,v=g.getPickId(s).color,P=0,O=0,M;for(let z=0;z<S;++z){z===0?g._loop?M=b[S-2]:(M=xF,h.subtract(b[0],b[1],M),h.add(b[0],M,M)):M=b[z-1],h.clone(M,Ru),h.clone(b[z],es),z===S-1?g._loop?M=b[1]:(M=xF,h.subtract(b[S-1],b[S-2],M),h.add(b[S-1],M,M)):M=b[z+1],h.clone(M,Mu);let k=E[P];z===O+k&&(O+=k,++P);let H=z-O===0,V=z===O+E[P]-1;c===ee.SCENE2D&&(Ru.z=0,es.z=0,Mu.z=0),(c===ee.SCENE2D||c===ee.MORPHING)&&(H||V)&&u-Math.abs(es.x)<1&&((es.x<0&&Ru.x>0||es.x>0&&Ru.x<0)&&h.clone(es,Ru),(es.x<0&&Mu.x>0||es.x>0&&Mu.x<0)&&h.clone(es,Mu));let Y=H?2:0,q=V?2:4;for(let X=Y;X<q;++X){Un.writeElements(es,e,n),Un.writeElements(Ru,e,n+6),Un.writeElements(Mu,e,n+12);let W=X-2<0?-1:1;t[o]=z/(S-1),t[o+1]=2*(X%2)-1,t[o+2]=W,t[o+3]=x,n+=6*3,o+=4}}let B=u9e;B.x=U.floatToByte(v.red),B.y=U.floatToByte(v.green),B.z=U.floatToByte(v.blue),B.w=U.floatToByte(v.alpha);let L=f9e;L.x=m,L.y=C?1:0;let _=c===ee.SCENE2D?g._boundingVolume2D:g._boundingVolumeWC,T=Un.fromCartesian(_.center,Gae),w=T.high,D=se.fromElements(T.low.x,T.low.y,T.low.z,_.radius,Wae),R=jae;R.x=0,R.y=Number.MAX_VALUE;let F=g.distanceDisplayCondition;l(F)&&(R.x=F.near,R.y=F.far),r.setBatchedAttribute(x,0,L),r.setBatchedAttribute(x,1,B),r.attributes.length>2&&(r.setBatchedAttribute(x,2,w),r.setBatchedAttribute(x,3,D),r.setBatchedAttribute(x,4,R))}};var d9e=new h,h9e=new h,m9e=new h,kae=new h;Th.prototype.writeForMorph=function(e,t){let n=this.modelMatrix,i=this.polylines,o=i.length;for(let r=0;r<o;++r){let s=i[r],a=s._segments.positions,c=s._segments.lengths,u=a.length,f=0,d=0;for(let p=0;p<u;++p){let g;p===0?s._loop?g=a[u-2]:(g=kae,h.subtract(a[0],a[1],g),h.add(a[0],g,g)):g=a[p-1],g=N.multiplyByPoint(n,g,h9e);let m=N.multiplyByPoint(n,a[p],d9e),C;p===u-1?s._loop?C=a[1]:(C=kae,h.subtract(a[u-1],a[u-2],C),h.add(a[u-1],C,C)):C=a[p+1],C=N.multiplyByPoint(n,C,m9e);let x=c[f];p===d+x&&(d+=x,++f);let A=p-d===0,b=p===d+c[f]-1,E=A?2:0,S=b?2:4;for(let v=E;v<S;++v)Un.writeElements(m,e,t),Un.writeElements(g,e,t+6),Un.writeElements(C,e,t+12),t+=6*3}}};var p9e=new Array(1);Th.prototype.updateIndices=function(e,t,n,i){let o=n.length-1,r=new x9(0,i,this);n[o].push(r);let s=0,a=e[e.length-1],c=0;a.length>0&&(c=a[a.length-1]+1);let u=this.polylines,f=u.length;for(let d=0;d<f;++d){let p=u[d];p._locatorBuckets=[];let g;if(this.mode===ee.SCENE3D){g=p9e;let C=p._actualPositions.length;if(C>0)g[0]=C;else continue}else g=p._segments.lengths;let m=g.length;if(m>0){let C=0;for(let x=0;x<m;++x){let A=g[x]-1;for(let b=0;b<A;++b)c+4>I.SIXTY_FOUR_KILOBYTES&&(p._locatorBuckets.push({locator:r,count:C}),C=0,t.push(4),a=[],e.push(a),c=0,r.count=s,s=0,i=0,r=new x9(0,0,this),n[++o]=[r]),a.push(c,c+2,c+1),a.push(c+1,c+2,c+3),C+=6,s+=6,i+=6,c+=4}p._locatorBuckets.push({locator:r,count:C}),c+4>I.SIXTY_FOUR_KILOBYTES&&(t.push(0),a=[],e.push(a),c=0,r.count=s,i=0,s=0,r=new x9(0,0,this),n[++o]=[r])}p._clean()}return r.count=s,i};Th.prototype.getPolylineStartIndex=function(e){let t=this.polylines,n=0,i=t.length;for(let o=0;o<i;++o){let r=t[o];if(r===e)break;n+=r._actualLength}return n};var gT={positions:void 0,lengths:void 0},Uae=new Array(1),_9e=new h,g9e=new he;Th.prototype.getSegments=function(e,t){let n=e._actualPositions;if(this.mode===ee.SCENE3D)return Uae[0]=n.length,gT.positions=n,gT.lengths=Uae,gT;Xae(e)&&(n=e._segments.positions);let i=t.ellipsoid,o=[],r=this.modelMatrix,s=n.length,a,c=_9e;for(let u=0;u<s;++u)a=n[u],c=N.multiplyByPoint(r,a,c),o.push(t.project(i.cartesianToCartographic(c,g9e)));if(o.length>0){e._boundingVolume2D=re.fromPoints(o,e._boundingVolume2D);let u=e._boundingVolume2D.center;e._boundingVolume2D.center=new h(u.z,u.x,u.y)}return gT.positions=o,gT.lengths=e._segments.lengths,gT};var zae;Th.prototype.writeUpdate=function(e,t,n,i){let o=this.mode,r=i.ellipsoid.maximumRadius*I.PI,s=t._actualLength;if(s){e+=this.getPolylineStartIndex(t);let a=zae,c=6*s*3;!l(a)||a.length<c?a=zae=new Float32Array(c):a.length>c&&(a=new Float32Array(a.buffer,0,c));let u=this.getSegments(t,i),f=u.positions,d=u.lengths,p=0,g=0,m=0,C;s=f.length;for(let x=0;x<s;++x){x===0?t._loop?C=f[s-2]:(C=xF,h.subtract(f[0],f[1],C),h.add(f[0],C,C)):C=f[x-1],h.clone(C,Ru),h.clone(f[x],es),x===s-1?t._loop?C=f[1]:(C=xF,h.subtract(f[s-1],f[s-2],C),h.add(f[s-1],C,C)):C=f[x+1],h.clone(C,Mu);let A=d[g];x===m+A&&(m+=A,++g);let b=x-m===0,E=x===m+d[g]-1;o===ee.SCENE2D&&(Ru.z=0,es.z=0,Mu.z=0),(o===ee.SCENE2D||o===ee.MORPHING)&&(b||E)&&r-Math.abs(es.x)<1&&((es.x<0&&Ru.x>0||es.x>0&&Ru.x<0)&&h.clone(es,Ru),(es.x<0&&Mu.x>0||es.x>0&&Mu.x<0)&&h.clone(es,Mu));let S=b?2:0,v=E?2:4;for(let P=S;P<v;++P)Un.writeElements(es,a,p),Un.writeElements(Ru,a,p+6),Un.writeElements(Mu,a,p+12),p+=6*3}n.copyFromArrayView(a,6*3*Float32Array.BYTES_PER_ELEMENT*e)}};var lg=Lf;function ug(e){this._positions=e.positions,this._batchTable=e.batchTable,this._batchIds=e.batchIds,this._rectangle=e.rectangle,this._minHeight=e.minimumHeight,this._maxHeight=e.maximumHeight,this._billboardCollection=new Iu({batchTable:e.batchTable}),this._labelCollection=new tp({batchTable:e.batchTable}),this._polylineCollection=new lg,this._polylineCollection._useHighlightColor=!0,this._verticesPromise=void 0,this._packedBuffer=void 0,this._ready=!1,this._update=function(t,n){},this._readyPromise=P9e(this)}Object.defineProperties(ug.prototype,{pointsLength:{get:function(){return this._billboardCollection.length}},texturesByteLength:{get:function(){let e=this._billboardCollection.textureAtlas.texture.sizeInBytes,t=this._labelCollection._textureAtlas.texture.sizeInBytes;return e+t}},readyPromise:{get:function(){return this._readyPromise}}});function y9e(e,t){let n=e._rectangle,i=e._minHeight,o=e._maxHeight,r=2+ue.packedLength+oe.packedLength,s=new Float64Array(r),a=0;return s[a++]=i,s[a++]=o,ue.pack(n,s,a),a+=ue.packedLength,oe.pack(t,s,a),s}var C9e=new Ti("createVectorTilePoints",5),x9e=new h;function A9e(e,t){let n;if(!l(e._verticesPromise)){n=e._positions;let i=e._packedBuffer;l(i)||(n=e._positions=n.slice(),e._batchIds=e._batchIds.slice(),i=e._packedBuffer=y9e(e,t));let o=[n.buffer,i.buffer],r={positions:n.buffer,packedBuffer:i.buffer},s=e._verticesPromise=C9e.scheduleTask(r,o);return l(s)?s.then(function(a){e._positions=new Float64Array(a.positions);let c=e._billboardCollection,u=e._labelCollection,f=e._polylineCollection;n=e._positions;let d=e._batchIds,p=n.length/3;for(let g=0;g<p;++g){let m=d[g],C=h.unpack(n,g*3,x9e),x=c.add();x.position=C,x._batchIndex=m;let A=u.add();A.text=" ",A.position=C,A._batchIndex=m;let b=f.add();b.positions=[h.clone(C),h.clone(C)]}e._positions=void 0,e._packedBuffer=void 0,e._ready=!0}):void 0}}ug.prototype.createFeatures=function(e,t){let n=this._billboardCollection,i=this._labelCollection,o=this._polylineCollection,r=this._batchIds,s=r.length;for(let a=0;a<s;++a){let c=r[a],u=n.get(a),f=i.get(a),d=o.get(a);t[c]=new cg(e,c,u,f,d)}};ug.prototype.applyDebugSettings=function(e,t){e?(U.clone(t,this._billboardCollection._highlightColor),U.clone(t,this._labelCollection._highlightColor),U.clone(t,this._polylineCollection._highlightColor)):(U.clone(U.WHITE,this._billboardCollection._highlightColor),U.clone(U.WHITE,this._labelCollection._highlightColor),U.clone(U.WHITE,this._polylineCollection._highlightColor))};function T9e(e,t){let n=e._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o],s=t[r];s.show=!0,s.pointSize=cg.defaultPointSize,s.color=cg.defaultColor,s.pointOutlineColor=cg.defaultPointOutlineColor,s.pointOutlineWidth=cg.defaultPointOutlineWidth,s.labelColor=U.WHITE,s.labelOutlineColor=U.WHITE,s.labelOutlineWidth=1,s.font="30px sans-serif",s.labelStyle=Fo.FILL,s.labelText=void 0,s.backgroundColor=new U(.165,.165,.165,.8),s.backgroundPadding=new G(7,5),s.backgroundEnabled=!1,s.scaleByDistance=void 0,s.translucencyByDistance=void 0,s.distanceDisplayCondition=void 0,s.heightOffset=0,s.anchorLineEnabled=!1,s.anchorLineColor=U.WHITE,s.image=void 0,s.disableDepthTestDistance=0,s.horizontalOrigin=ui.CENTER,s.verticalOrigin=bn.CENTER,s.labelHorizontalOrigin=ui.RIGHT,s.labelVerticalOrigin=bn.BASELINE}}var E9e=new U,b9e=new U,S9e=new U,w9e=new U,v9e=new U,D9e=new U,kw=new St,Uw=new St,b9=new At;ug.prototype.applyStyle=function(e,t){if(!l(e)){T9e(this,t);return}let n=this._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o],s=t[r];if(l(e.show)&&(s.show=e.show.evaluate(s)),l(e.pointSize)&&(s.pointSize=e.pointSize.evaluate(s)),l(e.color)&&(s.color=e.color.evaluateColor(s,E9e)),l(e.pointOutlineColor)&&(s.pointOutlineColor=e.pointOutlineColor.evaluateColor(s,b9e)),l(e.pointOutlineWidth)&&(s.pointOutlineWidth=e.pointOutlineWidth.evaluate(s)),l(e.labelColor)&&(s.labelColor=e.labelColor.evaluateColor(s,S9e)),l(e.labelOutlineColor)&&(s.labelOutlineColor=e.labelOutlineColor.evaluateColor(s,w9e)),l(e.labelOutlineWidth)&&(s.labelOutlineWidth=e.labelOutlineWidth.evaluate(s)),l(e.font)&&(s.font=e.font.evaluate(s)),l(e.labelStyle)&&(s.labelStyle=e.labelStyle.evaluate(s)),l(e.labelText)?s.labelText=e.labelText.evaluate(s):s.labelText=void 0,l(e.backgroundColor)&&(s.backgroundColor=e.backgroundColor.evaluateColor(s,v9e)),l(e.backgroundPadding)&&(s.backgroundPadding=e.backgroundPadding.evaluate(s)),l(e.backgroundEnabled)&&(s.backgroundEnabled=e.backgroundEnabled.evaluate(s)),l(e.scaleByDistance)){let a=e.scaleByDistance.evaluate(s);kw.near=a.x,kw.nearValue=a.y,kw.far=a.z,kw.farValue=a.w,s.scaleByDistance=kw}else s.scaleByDistance=void 0;if(l(e.translucencyByDistance)){let a=e.translucencyByDistance.evaluate(s);Uw.near=a.x,Uw.nearValue=a.y,Uw.far=a.z,Uw.farValue=a.w,s.translucencyByDistance=Uw}else s.translucencyByDistance=void 0;if(l(e.distanceDisplayCondition)){let a=e.distanceDisplayCondition.evaluate(s);b9.near=a.x,b9.far=a.y,s.distanceDisplayCondition=b9}else s.distanceDisplayCondition=void 0;l(e.heightOffset)&&(s.heightOffset=e.heightOffset.evaluate(s)),l(e.anchorLineEnabled)&&(s.anchorLineEnabled=e.anchorLineEnabled.evaluate(s)),l(e.anchorLineColor)&&(s.anchorLineColor=e.anchorLineColor.evaluateColor(s,D9e)),l(e.image)?s.image=e.image.evaluate(s):s.image=void 0,l(e.disableDepthTestDistance)&&(s.disableDepthTestDistance=e.disableDepthTestDistance.evaluate(s)),l(e.horizontalOrigin)&&(s.horizontalOrigin=e.horizontalOrigin.evaluate(s)),l(e.verticalOrigin)&&(s.verticalOrigin=e.verticalOrigin.evaluate(s)),l(e.labelHorizontalOrigin)&&(s.labelHorizontalOrigin=e.labelHorizontalOrigin.evaluate(s)),l(e.labelVerticalOrigin)&&(s.labelVerticalOrigin=e.labelVerticalOrigin.evaluate(s))}};function P9e(e){return new Promise(function(t,n){e._update=function(i,o){let r=A9e(i,o.mapProjection.ellipsoid);i._ready&&(i._polylineCollection.update(o),i._billboardCollection.update(o),i._labelCollection.update(o)),l(r)&&r.then(function(){t()}).catch(function(s){n(s)})}})}ug.prototype.update=function(e){this._update(this,e)};ug.prototype.isDestroyed=function(){return!1};ug.prototype.destroy=function(){return this._billboardCollection=this._billboardCollection&&this._billboardCollection.destroy(),this._labelCollection=this._labelCollection&&this._labelCollection.destroy(),this._polylineCollection=this._polylineCollection&&this._polylineCollection.destroy(),fe(this)};var AF=ug;function ip(e){this._batchTable=e.batchTable,this._batchIds=e.batchIds,this._positions=e.positions,this._counts=e.counts,this._indices=e.indices,this._indexCounts=e.indexCounts,this._indexOffsets=void 0,this._batchTableColors=void 0,this._packedBuffer=void 0,this._batchedPositions=void 0,this._transferrableBatchIds=void 0,this._vertexBatchIds=void 0,this._ellipsoid=y(e.ellipsoid,oe.WGS84),this._minimumHeight=e.minimumHeight,this._maximumHeight=e.maximumHeight,this._polygonMinimumHeights=e.polygonMinimumHeights,this._polygonMaximumHeights=e.polygonMaximumHeights,this._center=y(e.center,h.ZERO),this._rectangle=e.rectangle,this._center=void 0,this._boundingVolume=e.boundingVolume,this._boundingVolumes=void 0,this._batchedIndices=void 0,this._ready=!1,this._update=function(t,n){},this._readyPromise=N9e(this),this._verticesPromise=void 0,this._primitive=void 0,this.debugWireframe=!1,this.forceRebatch=!1,this.classificationType=Ln.BOTH}Object.defineProperties(ip.prototype,{trianglesLength:{get:function(){return l(this._primitive)?this._primitive.trianglesLength:0}},geometryByteLength:{get:function(){return l(this._primitive)?this._primitive.geometryByteLength:0}},readyPromise:{get:function(){return this._readyPromise}}});function I9e(e){let t=new Float64Array(3+h.packedLength+oe.packedLength+ue.packedLength),n=0;return t[n++]=e._indices.BYTES_PER_ELEMENT,t[n++]=e._minimumHeight,t[n++]=e._maximumHeight,h.pack(e._center,t,n),n+=h.packedLength,oe.pack(e._ellipsoid,t,n),n+=oe.packedLength,ue.pack(e._rectangle,t,n),t}function O9e(e,t){let n=1,i=t[n++],o=e._boundingVolumes=new Array(i);for(let a=0;a<i;++a)o[a]=pi.unpack(t,n),n+=pi.packedLength;let r=t[n++],s=e._batchedIndices=new Array(r);for(let a=0;a<r;++a){let c=U.unpack(t,n);n+=U.packedLength;let u=t[n++],f=t[n++],d=t[n++],p=new Array(d);for(let g=0;g<d;++g)p[g]=t[n++];s[a]=new Om({color:c,offset:u,count:f,batchIds:p})}}var R9e=new Ti("createVectorTilePolygons",5),M9e=new U;function B9e(e){if(!l(e._primitive)&&!l(e._verticesPromise)){let t=e._positions,n=e._counts,i=e._indexCounts,o=e._indices,r=e._transferrableBatchIds,s=e._batchTableColors,a=e._packedBuffer;if(!l(s)){t=e._positions=e._positions.slice(),n=e._counts=e._counts.slice(),i=e._indexCounts=e._indexCounts.slice(),o=e._indices=e._indices.slice(),e._center=e._ellipsoid.cartographicToCartesian(ue.center(e._rectangle)),r=e._transferrableBatchIds=new Uint32Array(e._batchIds),s=e._batchTableColors=new Uint32Array(r.length);let g=e._batchTable,m=s.length;for(let C=0;C<m;++C){let x=g.getColor(C,M9e);s[C]=x.toRgba()}a=e._packedBuffer=I9e(e)}let c=[t.buffer,n.buffer,i.buffer,o.buffer,r.buffer,s.buffer,a.buffer],u={packedBuffer:a.buffer,positions:t.buffer,counts:n.buffer,indexCounts:i.buffer,indices:o.buffer,batchIds:r.buffer,batchTableColors:s.buffer},f=e._polygonMinimumHeights,d=e._polygonMaximumHeights;l(f)&&l(d)&&(f=f.slice(),d=d.slice(),c.push(f.buffer,d.buffer),u.minimumHeights=f,u.maximumHeights=d);let p=e._verticesPromise=R9e.scheduleTask(u,c);return l(p)?p.then(function(g){e._positions=void 0,e._counts=void 0,e._polygonMinimumHeights=void 0,e._polygonMaximumHeights=void 0;let m=new Float64Array(g.packedBuffer),C=m[0];O9e(e,m),e._indices=Be.getSizeInBytes(C)===2?new Uint16Array(g.indices):new Uint32Array(g.indices),e._indexOffsets=new Uint32Array(g.indexOffsets),e._indexCounts=new Uint32Array(g.indexCounts),e._batchedPositions=new Float32Array(g.positions),e._vertexBatchIds=new Uint16Array(g.batchIds),e._ready=!0}):void 0}}function L9e(e){e._ready&&!l(e._primitive)&&(e._primitive=new qA({batchTable:e._batchTable,positions:e._batchedPositions,batchIds:e._batchIds,vertexBatchIds:e._vertexBatchIds,indices:e._indices,indexOffsets:e._indexOffsets,indexCounts:e._indexCounts,batchedIndices:e._batchedIndices,boundingVolume:e._boundingVolume,boundingVolumes:e._boundingVolumes,center:e._center}),e._batchTable=void 0,e._batchIds=void 0,e._positions=void 0,e._counts=void 0,e._indices=void 0,e._indexCounts=void 0,e._indexOffsets=void 0,e._batchTableColors=void 0,e._packedBuffer=void 0,e._batchedPositions=void 0,e._transferrableBatchIds=void 0,e._vertexBatchIds=void 0,e._ellipsoid=void 0,e._minimumHeight=void 0,e._maximumHeight=void 0,e._polygonMinimumHeights=void 0,e._polygonMaximumHeights=void 0,e._center=void 0,e._rectangle=void 0,e._boundingVolume=void 0,e._boundingVolumes=void 0,e._batchedIndices=void 0,e._verticesPromise=void 0)}ip.prototype.createFeatures=function(e,t){this._primitive.createFeatures(e,t)};ip.prototype.applyDebugSettings=function(e,t){this._primitive.applyDebugSettings(e,t)};ip.prototype.applyStyle=function(e,t){this._primitive.applyStyle(e,t)};ip.prototype.updateCommands=function(e,t){this._primitive.updateCommands(e,t)};function N9e(e){return new Promise(function(t,n){e._update=function(i,o){let r=B9e(i);i._ready&&(i._primitive.debugWireframe=i.debugWireframe,i._primitive.forceRebatch=i.forceRebatch,i._primitive.classificationType=i.classificationType,i._primitive.update(o)),l(r)&&r.then(function(){L9e(i),t(i)}).catch(function(s){n(s)})}})}ip.prototype.update=function(e){this._update(this,e)};ip.prototype.isDestroyed=function(){return!1};ip.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),fe(this)};var TF=ip;var EF=`attribute vec4 currentPosition;
  5003. attribute vec4 previousPosition;
  5004. attribute vec4 nextPosition;
  5005. attribute vec2 expandAndWidth;
  5006. attribute float a_batchId;
  5007. uniform mat4 u_modifiedModelView;
  5008. void main()
  5009. {
  5010. float expandDir = expandAndWidth.x;
  5011. float width = abs(expandAndWidth.y) + 0.5;
  5012. bool usePrev = expandAndWidth.y < 0.0;
  5013. vec4 p = u_modifiedModelView * currentPosition;
  5014. vec4 prev = u_modifiedModelView * previousPosition;
  5015. vec4 next = u_modifiedModelView * nextPosition;
  5016. float angle;
  5017. vec4 positionWC = getPolylineWindowCoordinatesEC(p, prev, next, expandDir, width, usePrev, angle);
  5018. gl_Position = czm_viewportOrthographic * positionWC;
  5019. }
  5020. `;function Nf(e){this._positions=e.positions,this._widths=e.widths,this._counts=e.counts,this._batchIds=e.batchIds,this._ellipsoid=y(e.ellipsoid,oe.WGS84),this._minimumHeight=e.minimumHeight,this._maximumHeight=e.maximumHeight,this._center=e.center,this._rectangle=e.rectangle,this._boundingVolume=e.boundingVolume,this._batchTable=e.batchTable,this._va=void 0,this._sp=void 0,this._rs=void 0,this._uniformMap=void 0,this._command=void 0,this._transferrableBatchIds=void 0,this._packedBuffer=void 0,this._keepDecodedPositions=e.keepDecodedPositions,this._decodedPositions=void 0,this._decodedPositionOffsets=void 0,this._currentPositions=void 0,this._previousPositions=void 0,this._nextPositions=void 0,this._expandAndWidth=void 0,this._vertexBatchIds=void 0,this._indices=void 0,this._constantColor=U.clone(U.WHITE),this._highlightColor=this._constantColor,this._trianglesLength=0,this._geometryByteLength=0,this._ready=!1,this._update=function(t,n){},this._readyPromise=Z9e(this),this._verticesPromise=void 0}Object.defineProperties(Nf.prototype,{trianglesLength:{get:function(){return this._trianglesLength}},geometryByteLength:{get:function(){return this._geometryByteLength}},readyPromise:{get:function(){return this._readyPromise}}});function F9e(e){let t=e._rectangle,n=e._minimumHeight,i=e._maximumHeight,o=e._ellipsoid,r=e._center,s=2+ue.packedLength+oe.packedLength+h.packedLength,a=new Float64Array(s),c=0;return a[c++]=n,a[c++]=i,ue.pack(t,a,c),c+=ue.packedLength,oe.pack(o,a,c),c+=oe.packedLength,h.pack(r,a,c),a}var V9e=new Ti("createVectorTilePolylines",5),yT={previousPosition:0,currentPosition:1,nextPosition:2,expandAndWidth:3,a_batchId:4};function k9e(e,t){if(!l(e._va)&&!l(e._verticesPromise)){let n=e._positions,i=e._widths,o=e._counts,r=e._transferrableBatchIds,s=e._packedBuffer;l(s)||(n=e._positions=n.slice(),i=e._widths=i.slice(),o=e._counts=o.slice(),r=e._transferrableBatchIds=e._batchIds.slice(),s=e._packedBuffer=F9e(e));let a=[n.buffer,i.buffer,o.buffer,r.buffer,s.buffer],c={positions:n.buffer,widths:i.buffer,counts:o.buffer,batchIds:r.buffer,packedBuffer:s.buffer,keepDecodedPositions:e._keepDecodedPositions},u=e._verticesPromise=V9e.scheduleTask(c,a);return l(u)?u.then(function(f){e._keepDecodedPositions&&(e._decodedPositions=new Float64Array(f.decodedPositions),e._decodedPositionOffsets=new Uint32Array(f.decodedPositionOffsets)),e._currentPositions=new Float32Array(f.currentPositions),e._previousPositions=new Float32Array(f.previousPositions),e._nextPositions=new Float32Array(f.nextPositions),e._expandAndWidth=new Float32Array(f.expandAndWidth),e._vertexBatchIds=new Uint16Array(f.batchIds);let d=f.indexDatatype;e._indices=d===Be.UNSIGNED_SHORT?new Uint16Array(f.indices):new Uint32Array(f.indices),e._ready=!0}):void 0}}function U9e(e,t){if(e._ready&&!l(e._va)){let n=e._currentPositions,i=e._previousPositions,o=e._nextPositions,r=e._expandAndWidth,s=e._vertexBatchIds,a=e._indices,c=i.byteLength+n.byteLength+o.byteLength;c+=r.byteLength+s.byteLength+a.byteLength,e._trianglesLength=a.length/3,e._geometryByteLength=c;let u=ct.createVertexBuffer({context:t,typedArray:i,usage:Le.STATIC_DRAW}),f=ct.createVertexBuffer({context:t,typedArray:n,usage:Le.STATIC_DRAW}),d=ct.createVertexBuffer({context:t,typedArray:o,usage:Le.STATIC_DRAW}),p=ct.createVertexBuffer({context:t,typedArray:r,usage:Le.STATIC_DRAW}),g=ct.createVertexBuffer({context:t,typedArray:s,usage:Le.STATIC_DRAW}),m=ct.createIndexBuffer({context:t,typedArray:a,usage:Le.STATIC_DRAW,indexDatatype:a.BYTES_PER_ELEMENT===2?Be.UNSIGNED_SHORT:Be.UNSIGNED_INT}),C=[{index:yT.previousPosition,vertexBuffer:u,componentDatatype:Z.FLOAT,componentsPerAttribute:3},{index:yT.currentPosition,vertexBuffer:f,componentDatatype:Z.FLOAT,componentsPerAttribute:3},{index:yT.nextPosition,vertexBuffer:d,componentDatatype:Z.FLOAT,componentsPerAttribute:3},{index:yT.expandAndWidth,vertexBuffer:p,componentDatatype:Z.FLOAT,componentsPerAttribute:2},{index:yT.a_batchId,vertexBuffer:g,componentDatatype:Z.UNSIGNED_SHORT,componentsPerAttribute:1}];e._va=new ti({context:t,attributes:C,indexBuffer:m}),e._positions=void 0,e._widths=void 0,e._counts=void 0,e._ellipsoid=void 0,e._minimumHeight=void 0,e._maximumHeight=void 0,e._rectangle=void 0,e._transferrableBatchIds=void 0,e._packedBuffer=void 0,e._currentPositions=void 0,e._previousPositions=void 0,e._nextPositions=void 0,e._expandAndWidth=void 0,e._vertexBatchIds=void 0,e._indices=void 0}}var zw=new N,Kae=new h;function z9e(e,t){l(e._uniformMap)||(e._uniformMap={u_modifiedModelView:function(){let n=t.uniformState.view;return N.clone(n,zw),N.multiplyByPoint(zw,e._center,Kae),N.setTranslation(zw,Kae,zw),zw},u_highlightColor:function(){return e._highlightColor}})}function H9e(e){if(l(e._rs))return;let t={enabled:!0,factor:-5,units:-5};e._rs=Fe.fromCache({blending:cn.ALPHA_BLEND,depthMask:!1,depthTest:{enabled:!0},polygonOffset:t})}var G9e=`uniform vec4 u_highlightColor;
  5021. void main()
  5022. {
  5023. gl_FragColor = u_highlightColor;
  5024. }
  5025. `;function W9e(e,t){if(l(e._sp))return;let n=e._batchTable,i=n.getVertexShaderCallback(!1,"a_batchId",void 0)(EF),o=n.getFragmentShaderCallback(!1,void 0,!1)(G9e),r=new ke({defines:["VECTOR_TILE",Mt.isInternetExplorer()?"":"CLIP_POLYLINE"],sources:[Au,i]}),s=new ke({defines:["VECTOR_TILE"],sources:[o]});e._sp=Yt.fromCache({context:t,vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:yT})}function j9e(e,t){if(!l(e._command)){let n=e._batchTable.getUniformMapCallback()(e._uniformMap);e._command=new Je({owner:e,vertexArray:e._va,renderState:e._rs,shaderProgram:e._sp,uniformMap:n,boundingVolume:e._boundingVolume,pass:xe.TRANSLUCENT,pickId:e._batchTable.getPickId()})}t.commandList.push(e._command)}Nf.getPolylinePositions=function(e,t){let n=e._batchIds,i=e._decodedPositions,o=e._decodedPositionOffsets;if(!l(n)||!l(i))return;let r,s,a=n.length,c=0,u=0;for(r=0;r<a;++r)n[r]===t&&(c+=o[r+1]-o[r]);if(c===0)return;let f=new Float64Array(c*3);for(r=0;r<a;++r)if(n[r]===t){let d=o[r],p=o[r+1]-d;for(s=0;s<p;++s){let g=(d+s)*3;f[u++]=i[g],f[u++]=i[g+1],f[u++]=i[g+2]}}return f};Nf.prototype.getPositions=function(e){return Nf.getPolylinePositions(this,e)};Nf.prototype.createFeatures=function(e,t){let n=this._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o];t[r]=new bs(e,r)}};Nf.prototype.applyDebugSettings=function(e,t){this._highlightColor=e?t:this._constantColor};function q9e(e,t){let n=e._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o],s=t[r];s.show=!0,s.color=U.WHITE}}var Y9e=new U,X9e=U.WHITE,K9e=!0;Nf.prototype.applyStyle=function(e,t){if(!l(e)){q9e(this,t);return}let n=this._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o],s=t[r];s.color=l(e.color)?e.color.evaluateColor(s,Y9e):X9e,s.show=l(e.show)?e.show.evaluate(s):K9e}};function Z9e(e){return new Promise(function(t,n){e._update=function(i,o){let r=o.context,s=k9e(i,r);if(z9e(i,r),W9e(i,r),H9e(i),i._ready){let a=o.passes;(a.render||a.pick)&&j9e(i,o)}!l(s)||s.then(function(){U9e(i,r),t()}).catch(function(a){n(a)})}})}Nf.prototype.update=function(e){this._update(this,e)};Nf.prototype.isDestroyed=function(){return!1};Nf.prototype.destroy=function(){return this._va=this._va&&this._va.destroy(),this._sp=this._sp&&this._sp.destroy(),fe(this)};var CT=Nf;var bF=`attribute vec3 startEllipsoidNormal;
  5026. attribute vec3 endEllipsoidNormal;
  5027. attribute vec4 startPositionAndHeight;
  5028. attribute vec4 endPositionAndHeight;
  5029. attribute vec4 startFaceNormalAndVertexCorner;
  5030. attribute vec4 endFaceNormalAndHalfWidth;
  5031. attribute float a_batchId;
  5032. uniform mat4 u_modifiedModelView;
  5033. uniform vec2 u_minimumMaximumVectorHeights;
  5034. varying vec4 v_startPlaneEC;
  5035. varying vec4 v_endPlaneEC;
  5036. varying vec4 v_rightPlaneEC;
  5037. varying float v_halfWidth;
  5038. varying vec3 v_volumeUpEC;
  5039. void main()
  5040. {
  5041. float isEnd = floor(startFaceNormalAndVertexCorner.w * 0.251);
  5042. float isTop = floor(startFaceNormalAndVertexCorner.w * mix(0.51, 0.19, isEnd));
  5043. vec3 forward = endPositionAndHeight.xyz - startPositionAndHeight.xyz;
  5044. vec3 right = normalize(cross(forward, startEllipsoidNormal));
  5045. vec4 position = vec4(startPositionAndHeight.xyz, 1.0);
  5046. position.xyz += forward * isEnd;
  5047. v_volumeUpEC = czm_normal * normalize(cross(right, forward));
  5048. float offset;
  5049. vec3 ellipsoidNormal = mix(startEllipsoidNormal, endEllipsoidNormal, isEnd);
  5050. offset = mix(startPositionAndHeight.w, endPositionAndHeight.w, isEnd);
  5051. offset = mix(u_minimumMaximumVectorHeights.y, u_minimumMaximumVectorHeights.x, isTop) - offset;
  5052. position.xyz += offset * ellipsoidNormal;
  5053. position = u_modifiedModelView * position;
  5054. right = czm_normal * right;
  5055. vec3 scratchNormal = mix(-startFaceNormalAndVertexCorner.xyz, endFaceNormalAndHalfWidth.xyz, isEnd);
  5056. scratchNormal = cross(scratchNormal, mix(startEllipsoidNormal, endEllipsoidNormal, isEnd));
  5057. vec3 miterPushNormal = czm_normal * normalize(scratchNormal);
  5058. offset = 2.0 * endFaceNormalAndHalfWidth.w * max(0.0, czm_metersPerPixel(position));
  5059. offset = offset / dot(miterPushNormal, right);
  5060. position.xyz += miterPushNormal * (offset * sign(0.5 - mod(startFaceNormalAndVertexCorner.w, 2.0)));
  5061. gl_Position = czm_depthClamp(czm_projection * position);
  5062. position = u_modifiedModelView * vec4(startPositionAndHeight.xyz, 1.0);
  5063. vec3 startNormalEC = czm_normal * startFaceNormalAndVertexCorner.xyz;
  5064. v_startPlaneEC = vec4(startNormalEC, -dot(startNormalEC, position.xyz));
  5065. v_rightPlaneEC = vec4(right, -dot(right, position.xyz));
  5066. position = u_modifiedModelView * vec4(endPositionAndHeight.xyz, 1.0);
  5067. vec3 endNormalEC = czm_normal * endFaceNormalAndHalfWidth.xyz;
  5068. v_endPlaneEC = vec4(endNormalEC, -dot(endNormalEC, position.xyz));
  5069. v_halfWidth = endFaceNormalAndHalfWidth.w;
  5070. }
  5071. `;var SF=`#ifdef GL_EXT_frag_depth
  5072. #extension GL_EXT_frag_depth : enable
  5073. #endif
  5074. varying vec4 v_startPlaneEC;
  5075. varying vec4 v_endPlaneEC;
  5076. varying vec4 v_rightPlaneEC;
  5077. varying float v_halfWidth;
  5078. varying vec3 v_volumeUpEC;
  5079. uniform vec4 u_highlightColor;
  5080. void main()
  5081. {
  5082. float logDepthOrDepth = czm_branchFreeTernary(czm_sceneMode == czm_sceneMode2D, gl_FragCoord.z, czm_unpackDepth(texture2D(czm_globeDepthTexture, gl_FragCoord.xy / czm_viewport.zw)));
  5083. if (logDepthOrDepth == 0.0) {
  5084. #ifdef DEBUG_SHOW_VOLUME
  5085. gl_FragColor = vec4(0.0, 0.0, 1.0, 0.5);
  5086. return;
  5087. #else // DEBUG_SHOW_VOLUME
  5088. discard;
  5089. #endif // DEBUG_SHOW_VOLUME
  5090. }
  5091. vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, logDepthOrDepth);
  5092. eyeCoordinate /= eyeCoordinate.w;
  5093. float halfMaxWidth = v_halfWidth * czm_metersPerPixel(eyeCoordinate);
  5094. halfMaxWidth += halfMaxWidth * (1.0 - dot(-normalize(eyeCoordinate.xyz), v_volumeUpEC));
  5095. float widthwiseDistance = czm_planeDistance(v_rightPlaneEC, eyeCoordinate.xyz);
  5096. float distanceFromStart = czm_planeDistance(v_startPlaneEC, eyeCoordinate.xyz);
  5097. float distanceFromEnd = czm_planeDistance(v_endPlaneEC, eyeCoordinate.xyz);
  5098. if (abs(widthwiseDistance) > halfMaxWidth || distanceFromStart < 0.0 || distanceFromEnd < 0.0) {
  5099. #ifdef DEBUG_SHOW_VOLUME
  5100. gl_FragColor = vec4(logDepthOrDepth, 0.0, 0.0, 0.5);
  5101. return;
  5102. #else // DEBUG_SHOW_VOLUME
  5103. discard;
  5104. #endif // DEBUG_SHOW_VOLUME
  5105. }
  5106. gl_FragColor = u_highlightColor;
  5107. czm_writeDepthClamp();
  5108. }
  5109. `;function op(e){this._positions=e.positions,this._widths=e.widths,this._counts=e.counts,this._batchIds=e.batchIds,this._ellipsoid=y(e.ellipsoid,oe.WGS84),this._minimumHeight=e.minimumHeight,this._maximumHeight=e.maximumHeight,this._center=e.center,this._rectangle=e.rectangle,this._batchTable=e.batchTable,this._va=void 0,this._sp=void 0,this._rs=void 0,this._uniformMap=void 0,this._command=void 0,this._transferrableBatchIds=void 0,this._packedBuffer=void 0,this._minimumMaximumVectorHeights=new G(si._defaultMinTerrainHeight,si._defaultMaxTerrainHeight),this._boundingVolume=pi.fromRectangle(e.rectangle,si._defaultMinTerrainHeight,si._defaultMaxTerrainHeight,this._ellipsoid),this._classificationType=e.classificationType,this._keepDecodedPositions=e.keepDecodedPositions,this._decodedPositions=void 0,this._decodedPositionOffsets=void 0,this._startEllipsoidNormals=void 0,this._endEllipsoidNormals=void 0,this._startPositionAndHeights=void 0,this._startFaceNormalAndVertexCornerIds=void 0,this._endPositionAndHeights=void 0,this._endFaceNormalAndHalfWidths=void 0,this._vertexBatchIds=void 0,this._indices=void 0,this._constantColor=U.clone(U.WHITE),this._highlightColor=this._constantColor,this._trianglesLength=0,this._geometryByteLength=0,this._ready=!1,this._update=function(t,n){},this._readyPromise=uWe(this),this._verticesPromise=void 0}Object.defineProperties(op.prototype,{trianglesLength:{get:function(){return this._trianglesLength}},geometryByteLength:{get:function(){return this._geometryByteLength}},readyPromise:{get:function(){return this._readyPromise}}});function $9e(e,t,n){let i=si.getMinimumMaximumHeights(t,n),o=i.minimumTerrainHeight,r=i.maximumTerrainHeight,s=e._minimumMaximumVectorHeights;s.x=o,s.y=r;let a=e._boundingVolume,c=e._rectangle;pi.fromRectangle(c,o,r,n,a)}function J9e(e){let t=e._rectangle,n=e._minimumHeight,i=e._maximumHeight,o=e._ellipsoid,r=e._center,s=2+ue.packedLength+oe.packedLength+h.packedLength,a=new Float64Array(s),c=0;return a[c++]=n,a[c++]=i,ue.pack(t,a,c),c+=ue.packedLength,oe.pack(o,a,c),c+=oe.packedLength,h.pack(r,a,c),a}var Q9e=new Ti("createVectorTileClampedPolylines"),fg={startEllipsoidNormal:0,endEllipsoidNormal:1,startPositionAndHeight:2,endPositionAndHeight:3,startFaceNormalAndVertexCorner:4,endFaceNormalAndHalfWidth:5,a_batchId:6};function eWe(e,t){if(!l(e._va)&&!l(e._verticesPromise)){let n=e._positions,i=e._widths,o=e._counts,r=e._transferrableBatchIds,s=e._packedBuffer;l(s)||(n=e._positions=n.slice(),i=e._widths=i.slice(),o=e._counts=o.slice(),r=e._transferrableBatchIds=e._batchIds.slice(),s=e._packedBuffer=J9e(e));let a=[n.buffer,i.buffer,o.buffer,r.buffer,s.buffer],c={positions:n.buffer,widths:i.buffer,counts:o.buffer,batchIds:r.buffer,packedBuffer:s.buffer,keepDecodedPositions:e._keepDecodedPositions},u=e._verticesPromise=Q9e.scheduleTask(c,a);return l(u)?u.then(function(f){e._keepDecodedPositions&&(e._decodedPositions=new Float64Array(f.decodedPositions),e._decodedPositionOffsets=new Uint32Array(f.decodedPositionOffsets)),e._startEllipsoidNormals=new Float32Array(f.startEllipsoidNormals),e._endEllipsoidNormals=new Float32Array(f.endEllipsoidNormals),e._startPositionAndHeights=new Float32Array(f.startPositionAndHeights),e._startFaceNormalAndVertexCornerIds=new Float32Array(f.startFaceNormalAndVertexCornerIds),e._endPositionAndHeights=new Float32Array(f.endPositionAndHeights),e._endFaceNormalAndHalfWidths=new Float32Array(f.endFaceNormalAndHalfWidths),e._vertexBatchIds=new Uint16Array(f.vertexBatchIds);let d=f.indexDatatype;e._indices=d===Be.UNSIGNED_SHORT?new Uint16Array(f.indices):new Uint32Array(f.indices),e._ready=!0}):void 0}}function tWe(e,t){if(e._ready&&!l(e._va)){let n=e._startEllipsoidNormals,i=e._endEllipsoidNormals,o=e._startPositionAndHeights,r=e._endPositionAndHeights,s=e._startFaceNormalAndVertexCornerIds,a=e._endFaceNormalAndHalfWidths,c=e._vertexBatchIds,u=e._indices,f=n.byteLength+i.byteLength;f+=o.byteLength+r.byteLength,f+=s.byteLength+a.byteLength,f+=c.byteLength+u.byteLength,e._trianglesLength=u.length/3,e._geometryByteLength=f;let d=ct.createVertexBuffer({context:t,typedArray:n,usage:Le.STATIC_DRAW}),p=ct.createVertexBuffer({context:t,typedArray:i,usage:Le.STATIC_DRAW}),g=ct.createVertexBuffer({context:t,typedArray:o,usage:Le.STATIC_DRAW}),m=ct.createVertexBuffer({context:t,typedArray:r,usage:Le.STATIC_DRAW}),C=ct.createVertexBuffer({context:t,typedArray:s,usage:Le.STATIC_DRAW}),x=ct.createVertexBuffer({context:t,typedArray:a,usage:Le.STATIC_DRAW}),A=ct.createVertexBuffer({context:t,typedArray:c,usage:Le.STATIC_DRAW}),b=ct.createIndexBuffer({context:t,typedArray:u,usage:Le.STATIC_DRAW,indexDatatype:u.BYTES_PER_ELEMENT===2?Be.UNSIGNED_SHORT:Be.UNSIGNED_INT}),E=[{index:fg.startEllipsoidNormal,vertexBuffer:d,componentDatatype:Z.FLOAT,componentsPerAttribute:3},{index:fg.endEllipsoidNormal,vertexBuffer:p,componentDatatype:Z.FLOAT,componentsPerAttribute:3},{index:fg.startPositionAndHeight,vertexBuffer:g,componentDatatype:Z.FLOAT,componentsPerAttribute:4},{index:fg.endPositionAndHeight,vertexBuffer:m,componentDatatype:Z.FLOAT,componentsPerAttribute:4},{index:fg.startFaceNormalAndVertexCorner,vertexBuffer:C,componentDatatype:Z.FLOAT,componentsPerAttribute:4},{index:fg.endFaceNormalAndHalfWidth,vertexBuffer:x,componentDatatype:Z.FLOAT,componentsPerAttribute:4},{index:fg.a_batchId,vertexBuffer:A,componentDatatype:Z.UNSIGNED_SHORT,componentsPerAttribute:1}];e._va=new ti({context:t,attributes:E,indexBuffer:b}),e._positions=void 0,e._widths=void 0,e._counts=void 0,e._ellipsoid=void 0,e._minimumHeight=void 0,e._maximumHeight=void 0,e._rectangle=void 0,e._transferrableBatchIds=void 0,e._packedBuffer=void 0,e._startEllipsoidNormals=void 0,e._endEllipsoidNormals=void 0,e._startPositionAndHeights=void 0,e._startFaceNormalAndVertexCornerIds=void 0,e._endPositionAndHeights=void 0,e._endFaceNormalAndHalfWidths=void 0,e._vertexBatchIds=void 0,e._indices=void 0}}var Hw=new N,Zae=new h;function nWe(e,t){l(e._uniformMap)||(e._uniformMap={u_modifiedModelView:function(){let n=t.uniformState.view;return N.clone(n,Hw),N.multiplyByPoint(Hw,e._center,Zae),N.setTranslation(Hw,Zae,Hw),Hw},u_highlightColor:function(){return e._highlightColor},u_minimumMaximumVectorHeights:function(){return e._minimumMaximumVectorHeights}})}function $ae(e){return Fe.fromCache({cull:{enabled:!0,face:wi.FRONT},blending:cn.PRE_MULTIPLIED_ALPHA_BLEND,depthMask:!1,stencilTest:{enabled:e,frontFunction:Nn.EQUAL,frontOperation:{fail:at.KEEP,zFail:at.KEEP,zPass:at.KEEP},backFunction:Nn.EQUAL,backOperation:{fail:at.KEEP,zFail:at.KEEP,zPass:at.KEEP},reference:vt.CESIUM_3D_TILE_MASK,mask:vt.CESIUM_3D_TILE_MASK}})}function iWe(e){l(e._rs)||(e._rs=$ae(!1),e._rs3DTiles=$ae(!0))}function oWe(e,t){if(l(e._sp))return;let n=e._batchTable,i=n.getVertexShaderCallback(!1,"a_batchId",void 0)(bF),o=n.getFragmentShaderCallback(!1,void 0,!0)(SF),r=new ke({defines:["VECTOR_TILE",Mt.isInternetExplorer()?"":"CLIP_POLYLINE"],sources:[Au,i]}),s=new ke({defines:["VECTOR_TILE"],sources:[o]});e._sp=Yt.fromCache({context:t,vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:fg})}function rWe(e,t){let n=e._command;if(!l(e._command)){let o=e._batchTable.getUniformMapCallback()(e._uniformMap);n=e._command=new Je({owner:e,vertexArray:e._va,renderState:e._rs,shaderProgram:e._sp,uniformMap:o,boundingVolume:e._boundingVolume,pass:xe.TERRAIN_CLASSIFICATION,pickId:e._batchTable.getPickId()});let r=Je.shallowClone(n,n.derivedCommands.tileset);r.renderState=e._rs3DTiles,r.pass=xe.CESIUM_3D_TILE_CLASSIFICATION,n.derivedCommands.tileset=r}let i=e._classificationType;(i===Ln.TERRAIN||i===Ln.BOTH)&&t.commandList.push(n),(i===Ln.CESIUM_3D_TILE||i===Ln.BOTH)&&t.commandList.push(n.derivedCommands.tileset)}op.prototype.getPositions=function(e){return CT.getPolylinePositions(this,e)};op.prototype.createFeatures=function(e,t){let n=this._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o];t[r]=new bs(e,r)}};op.prototype.applyDebugSettings=function(e,t){this._highlightColor=e?t:this._constantColor};function sWe(e,t){let n=e._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o],s=t[r];s.show=!0,s.color=U.WHITE}}var aWe=new U,cWe=U.WHITE,lWe=!0;op.prototype.applyStyle=function(e,t){if(!l(e)){sWe(this,t);return}let n=this._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o],s=t[r];s.color=l(e.color)?e.color.evaluateColor(s,aWe):cWe,s.show=l(e.show)?e.show.evaluate(s):lWe}};function uWe(e){return si.initialize().then(function(){return $9e(e,e._rectangle,e._ellipsoid),new Promise(function(t,n){e._update=function(i,o){let r=o.context,s=eWe(i,r);if(nWe(i,r),oWe(i,r),iWe(i),i._ready){let a=o.passes;(a.render||a.pick)&&rWe(i,o)}!l(s)||s.then(function(){tWe(i,r),t(i)}).catch(function(a){n(a)})}})})}op.prototype.update=function(e){this._update(this,e)};op.prototype.isDestroyed=function(){return!1};op.prototype.destroy=function(){return this._va=this._va&&this._va.destroy(),this._sp=this._sp&&this._sp.destroy(),fe(this)};var wF=op;function Eh(e,t,n,i,o){this._tileset=e,this._tile=t,this._resource=n,this._polygons=void 0,this._polylines=void 0,this._points=void 0,this._metadata=void 0,this._batchTable=void 0,this._features=void 0,this.featurePropertiesDirty=!1,this._group=void 0,pWe(this,i,o)}Object.defineProperties(Eh.prototype,{featuresLength:{get:function(){return l(this._batchTable)?this._batchTable.featuresLength:0}},pointsLength:{get:function(){return l(this._points)?this._points.pointsLength:0}},trianglesLength:{get:function(){let e=0;return l(this._polygons)&&(e+=this._polygons.trianglesLength),l(this._polylines)&&(e+=this._polylines.trianglesLength),e}},geometryByteLength:{get:function(){let e=0;return l(this._polygons)&&(e+=this._polygons.geometryByteLength),l(this._polylines)&&(e+=this._polylines.geometryByteLength),e}},texturesByteLength:{get:function(){return l(this._points)?this._points.texturesByteLength:0}},batchTableByteLength:{get:function(){return l(this._batchTable)?this._batchTable.batchTableByteLength:0}},innerContents:{get:function(){}},readyPromise:{get:function(){let e=l(this._points)?this._points.readyPromise:void 0,t=l(this._polygons)?this._polygons.readyPromise:void 0,n=l(this._polylines)?this._polylines.readyPromise:void 0,i=this;return Promise.all([e,t,n]).then(function(){return i})}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},metadata:{get:function(){return this._metadata},set:function(e){this._metadata=e}},batchTable:{get:function(){return this._batchTable}},group:{get:function(){return this._group},set:function(e){this._group=e}}});function fWe(e){return function(t,n){l(e._polygons)&&e._polygons.updateCommands(t,n)}}function dWe(e,t){let n,i,o,r,s=y(e.POLYGONS_LENGTH,0),a=y(e.POLYLINES_LENGTH,0),c=y(e.POINTS_LENGTH,0);if(s>0&&l(e.POLYGON_BATCH_IDS)){let p=t.byteOffset+e.POLYGON_BATCH_IDS.byteOffset;n=new Uint16Array(t.buffer,p,s)}if(a>0&&l(e.POLYLINE_BATCH_IDS)){let p=t.byteOffset+e.POLYLINE_BATCH_IDS.byteOffset;i=new Uint16Array(t.buffer,p,a)}if(c>0&&l(e.POINT_BATCH_IDS)){let p=t.byteOffset+e.POINT_BATCH_IDS.byteOffset;o=new Uint16Array(t.buffer,p,c)}let u=l(n)||l(i)||l(o),f=s>0&&!l(n)||a>0&&!l(i)||c>0&&!l(o);if(u&&f)throw new de("If one group of batch ids is defined, then all batch ids must be defined.");if(!l(n)&&!l(i)&&!l(o)){let p=0;if(!l(n)&&s>0)for(n=new Uint16Array(s),r=0;r<s;++r)n[r]=p++;if(!l(i)&&a>0)for(i=new Uint16Array(a),r=0;r<a;++r)i[r]=p++;if(!l(o)&&c>0)for(o=new Uint16Array(c),r=0;r<c;++r)o[r]=p++}return{polygons:n,polylines:i,points:o}}var Ff=Uint32Array.BYTES_PER_ELEMENT;function hWe(e){return new CT(e)}function mWe(e){return new wF(e)}function pWe(e,t,n){n=y(n,0);let i=new Uint8Array(t),o=new DataView(t);n+=Ff;let r=o.getUint32(n,!0);if(r!==1)throw new de(`Only Vector tile version 1 is supported. Version ${r} is not.`);n+=Ff;let s=o.getUint32(n,!0);if(n+=Ff,s===0)return Promise.resolve(e);let a=o.getUint32(n,!0);if(n+=Ff,a===0)throw new de("Feature table must have a byte length greater than zero");let c=o.getUint32(n,!0);n+=Ff;let u=o.getUint32(n,!0);n+=Ff;let f=o.getUint32(n,!0);n+=Ff;let d=o.getUint32(n,!0);n+=Ff;let p=o.getUint32(n,!0);n+=Ff;let g=o.getUint32(n,!0);n+=Ff;let m=o.getUint32(n,!0);n+=Ff;let C=Xo(i,n,a);n+=a;let x=new Uint8Array(t,n,c);n+=c;let A,b;u>0&&(A=Xo(i,n,u),n+=u,f>0&&(b=new Uint8Array(t,n,f),b=new Uint8Array(b),n+=f));let E=y(C.POLYGONS_LENGTH,0),S=y(C.POLYLINES_LENGTH,0),v=y(C.POINTS_LENGTH,0),P=E+S+v,O=new B_(e,P,A,b,fWe(e));if(e._batchTable=O,P===0)return;let M=new ph(C,x),B=M.getGlobalProperty("REGION");if(!l(B))throw new de("Feature table global property: REGION must be defined");let L=ue.unpack(B),_=B[4],T=B[5],w=e._tile.computedTransform,D=M.getGlobalProperty("RTC_CENTER",Z.FLOAT,3);l(D)?(D=h.unpack(D),N.multiplyByPoint(w,D,D)):(D=ue.center(L),D.height=I.lerp(_,T,.5),D=oe.WGS84.cartographicToCartesian(D));let R=dWe(C,x);if(n+=(4-n%4)%4,E>0){M.featuresLength=E;let F=y(M.getPropertyArray("POLYGON_COUNTS",Z.UNSIGNED_INT,1),M.getPropertyArray("POLYGON_COUNT",Z.UNSIGNED_INT,1));if(!l(F))throw new de("Feature table property: POLYGON_COUNTS must be defined when POLYGONS_LENGTH is greater than 0");let z=y(M.getPropertyArray("POLYGON_INDEX_COUNTS",Z.UNSIGNED_INT,1),M.getPropertyArray("POLYGON_INDEX_COUNT",Z.UNSIGNED_INT,1));if(!l(z))throw new de("Feature table property: POLYGON_INDEX_COUNTS must be defined when POLYGONS_LENGTH is greater than 0");let k=F.reduce(function(W,K){return W+K*2},0),H=z.reduce(function(W,K){return W+K},0),V=new Uint32Array(t,n,H);n+=d;let Y=new Uint16Array(t,n,k);n+=p;let q,X;l(C.POLYGON_MINIMUM_HEIGHTS)&&l(C.POLYGON_MAXIMUM_HEIGHTS)&&(q=M.getPropertyArray("POLYGON_MINIMUM_HEIGHTS",Z.FLOAT,1),X=M.getPropertyArray("POLYGON_MAXIMUM_HEIGHTS",Z.FLOAT,1)),e._polygons=new TF({positions:Y,counts:F,indexCounts:z,indices:V,minimumHeight:_,maximumHeight:T,polygonMinimumHeights:q,polygonMaximumHeights:X,center:D,rectangle:L,boundingVolume:e.tile.boundingVolume.boundingVolume,batchTable:O,batchIds:R.polygons,modelMatrix:w})}if(S>0){M.featuresLength=S;let F=y(M.getPropertyArray("POLYLINE_COUNTS",Z.UNSIGNED_INT,1),M.getPropertyArray("POLYLINE_COUNT",Z.UNSIGNED_INT,1));if(!l(F))throw new de("Feature table property: POLYLINE_COUNTS must be defined when POLYLINES_LENGTH is greater than 0");let z=M.getPropertyArray("POLYLINE_WIDTHS",Z.UNSIGNED_SHORT,1);if(!l(z)){z=new Uint16Array(S);for(let X=0;X<S;++X)z[X]=2}let k=F.reduce(function(X,W){return X+W*3},0),H=new Uint16Array(t,n,k);n+=g;let V=e._tileset,Y=V.examineVectorLinesFunction;if(l(Y)){let X=XI(new Uint16Array(H),L,_,T,oe.WGS84);_We(X,F,R.polylines,O,e.url,Y)}let q=hWe;l(V.classificationType)&&(q=mWe),e._polylines=q({positions:H,widths:z,counts:F,batchIds:R.polylines,minimumHeight:_,maximumHeight:T,center:D,rectangle:L,boundingVolume:e.tile.boundingVolume.boundingVolume,batchTable:O,classificationType:V.classificationType,keepDecodedPositions:V.vectorKeepDecodedPositions})}if(v>0){let F=new Uint16Array(t,n,v*3);n+=m,e._points=new AF({positions:F,batchIds:R.points,minimumHeight:_,maximumHeight:T,rectangle:L,batchTable:O})}return Promise.resolve(e)}function Jae(e){let t=e.featuresLength;if(!l(e._features)&&t>0){let n=new Array(t);l(e._polygons)&&e._polygons.createFeatures(e,n),l(e._polylines)&&e._polylines.createFeatures(e,n),l(e._points)&&e._points.createFeatures(e,n),e._features=n}}Eh.prototype.hasProperty=function(e,t){return this._batchTable.hasProperty(e,t)};Eh.prototype.getFeature=function(e){return this._features[e]};Eh.prototype.applyDebugSettings=function(e,t){l(this._polygons)&&this._polygons.applyDebugSettings(e,t),l(this._polylines)&&this._polylines.applyDebugSettings(e,t),l(this._points)&&this._points.applyDebugSettings(e,t)};Eh.prototype.applyStyle=function(e){l(this._features)||Jae(this),l(this._polygons)&&this._polygons.applyStyle(e,this._features),l(this._polylines)&&this._polylines.applyStyle(e,this._features),l(this._points)&&this._points.applyStyle(e,this._features)};Eh.prototype.update=function(e,t){let n=!0;l(this._polygons)&&(this._polygons.classificationType=this._tileset.classificationType,this._polygons.debugWireframe=this._tileset.debugWireframe,this._polygons.update(t),n=n&&this._polygons._ready),l(this._polylines)&&(this._polylines.update(t),n=n&&this._polylines._ready),l(this._points)&&(this._points.update(t),n=n&&this._points._ready),l(this._batchTable)&&n&&(l(this._features)||Jae(this),this._batchTable.update(e,t))};Eh.prototype.getPolylinePositions=function(e){let t=this._polylines;if(!!l(t))return t.getPositions(e)};Eh.prototype.isDestroyed=function(){return!1};Eh.prototype.destroy=function(){return this._polygons=this._polygons&&this._polygons.destroy(),this._polylines=this._polylines&&this._polylines.destroy(),this._points=this._points&&this._points.destroy(),this._batchTable=this._batchTable&&this._batchTable.destroy(),fe(this)};function _We(e,t,n,i,o,r){let s=t.length,a=0;for(let c=0;c<s;c++){let u=t[c]*3,f=e.slice(a,a+u);a+=u,r(f,n[c],o,i)}}var vF=Eh;var Qae={b3dm:function(e,t,n,i,o){return $m.fromB3dm(e,t,n,i,o)},pnts:function(e,t,n,i,o){return $m.fromPnts(e,t,n,i,o)},i3dm:function(e,t,n,i,o){return $m.fromI3dm(e,t,n,i,o)},cmpt:function(e,t,n,i,o){return new TB(e,t,n,i,o,Qae)},externalTileset:function(e,t,n,i){return new uF(e,t,n,i)},geom:function(e,t,n,i,o){return new RB(e,t,n,i,o)},vctr:function(e,t,n,i,o){return new vF(e,t,n,i,o)},subt:function(e,t,n,i,o){return new fw(e,t,n,void 0,i,o)},subtreeJson:function(e,t,n,i){return new fw(e,t,n,i)},glb:function(e,t,n,i,o){if(i.byteLength<12)throw new de("Invalid glb content");let a=new DataView(i,o).getUint32(8,!0),c=new Uint8Array(i,o,a);return $m.fromGltf(e,t,n,c)},gltf:function(e,t,n,i){return $m.fromGltf(e,t,n,i)},geoJson:function(e,t,n,i){return $m.fromGeoJson(e,t,n,i)}},xT=Qae;var gWe={UNLOADED:0,LOADING:1,PROCESSING:2,READY:3,EXPIRED:4,FAILED:5},So=Object.freeze(gWe);var bh={BATCHED_3D_MODEL:"b3dm",INSTANCED_3D_MODEL:"i3dm",COMPOSITE:"cmpt",POINT_CLOUD:"pnts",VECTOR:"vctr",GEOMETRY:"geom",GLTF:"gltf",GLTF_BINARY:"glb",IMPLICIT_SUBTREE:"subt",IMPLICIT_SUBTREE_JSON:"subtreeJson",EXTERNAL_TILESET:"externalTileset",MULTIPLE_CONTENT:"multipleContent",GEOJSON:"geoJson"};bh.isBinaryFormat=function(e){switch(e){case bh.BATCHED_3D_MODEL:case bh.INSTANCED_3D_MODEL:case bh.COMPOSITE:case bh.POINT_CLOUD:case bh.VECTOR:case bh.GEOMETRY:case bh.IMPLICIT_SUBTREE:case bh.GLTF_BINARY:return!0;default:return!1}};var vs=Object.freeze(bh);var yWe={NOT_COMPUTED:-1,USE_OPTIMIZATION:1,SKIP_OPTIMIZATION:0},Vf=Object.freeze(yWe);function ece(){}var Gw={stack:new hu,stackMaximumLength:0};ece.selectTiles=function(e,t){e._selectedTiles.length=0,e._requestedTiles.length=0,e._hasMixedContent=!1;let n=!0,i=e.root;if(i.updateVisibility(t),!tce(i))return n;let o=Gw.stack;for(o.push(e.root);o.length>0;){Gw.stackMaximumLength=Math.max(Gw.stackMaximumLength,o.length);let r=o.pop(),s=r.refine===Br.ADD,a=r.refine===Br.REPLACE,c=xWe(e,r);c&&AWe(e,r,o,t),(s||a&&!c)&&(TWe(e,r),EWe(e,r,t),SWe(e,r,t),!nce(r)&&!r.contentAvailable&&(n=!1)),bWe(e)}return Gw.stack.trim(Gw.stackMaximumLength),n};function tce(e){return e._visible&&e._inRequestVolume}function nce(e){return e.hasEmptyContent||e.hasTilesetContent||e.hasImplicitContent}function CWe(e){return!nce(e)&&e.contentUnloaded}function xWe(e,t){return t.children.length===0?!1:t.hasTilesetContent||t.hasImplicitContent?!t.contentExpired:(t.hasEmptyContent,!0)}function AWe(e,t,n,i){let o=t.children,r=o.length;for(let s=0;s<r;++s){let a=o[s];a.updateVisibility(i),tce(a)&&n.push(a)}}function TWe(e,t){(CWe(t)||t.contentExpired)&&(t._priority=0,e._requestedTiles.push(t))}function EWe(e,t,n){t._touchedFrame!==n.frameNumber&&(e._cache.touch(t),t._touchedFrame=n.frameNumber)}function bWe(e){++e.statistics.visited}function SWe(e,t,n){t.contentAvailable&&t.contentVisibility(n)!==Kt.OUTSIDE&&e._selectedTiles.push(t)}var Ww=ece;function ice(){}function Hy(e){return e._visible&&e._inRequestVolume}var jw={stack:new hu,stackMaximumLength:0},qw={stack:new hu,stackMaximumLength:0},Yw={stack:new hu,stackMaximumLength:0},Sh={stack:new hu,stackMaximumLength:0,ancestorStack:new hu,ancestorStackMaximumLength:0},wWe=2;ice.selectTiles=function(e,t){if(e._requestedTiles.length=0,e.debugFreezeFrame)return;e._selectedTiles.length=0,e._selectedTilesToStyle.length=0,e._emptyTiles.length=0,e._hasMixedContent=!1;let n=e.root;if(IF(e,n,t),!Hy(n)||n.getScreenSpaceError(t,!0)<=e._maximumScreenSpaceError)return;Kw(e)?e.immediatelyLoadDesiredLevelOfDetail?DWe(e,n,t):PWe(e,n,t):vWe(e,n,t),jw.stack.trim(jw.stackMaximumLength),qw.stack.trim(qw.stackMaximumLength),Yw.stack.trim(Yw.stackMaximumLength),Sh.stack.trim(Sh.stackMaximumLength),Sh.ancestorStack.trim(Sh.ancestorStackMaximumLength);let i=e._requestedTiles,o=i.length;for(let r=0;r<o;++r)i[r].updatePriority()};function vWe(e,t,n){let i=e._maximumScreenSpaceError,o=e._maximumScreenSpaceError;w9(e,t,i,o,n)}function DWe(e,t,n){let i=Number.MAX_VALUE,o=e._maximumScreenSpaceError;w9(e,t,i,o,n),ace(e,t,n)}function PWe(e,t,n){let i=Math.max(e.baseScreenSpaceError,e.maximumScreenSpaceError),o=e.maximumScreenSpaceError;w9(e,t,i,o,n),ace(e,t,n)}function Kw(e){return e._skipLevelOfDetail}function IWe(e,t){e._emptyTiles.push(t)}function Xw(e,t,n){if(t.contentVisibility(n)!==Kt.OUTSIDE){let i=t.content;i.featurePropertiesDirty?(i.featurePropertiesDirty=!1,t.lastStyleTime=0,e._selectedTilesToStyle.push(t)):t._selectedFrame<n.frameNumber-1&&e._selectedTilesToStyle.push(t),t._selectedFrame=n.frameNumber,e._selectedTiles.push(t)}}function OWe(e,t,n){let i=Yw.stack;for(i.push(t);i.length>0;){Yw.stackMaximumLength=Math.max(Yw.stackMaximumLength,i.length);let r=i.pop().children,s=r.length;for(let a=0;a<s;++a){let c=r[a];Hy(c)&&(c.contentAvailable?(IF(e,c,n),PF(e,c,n),Xw(e,c,n)):c._depth-t._depth<wWe&&i.push(c))}}}function DF(e,t,n){if(!Kw(e)){t.contentAvailable&&Xw(e,t,n);return}let i=t.contentAvailable?t:t._ancestorWithContentAvailable;l(i)?i._shouldSelect=!0:OWe(e,t,n)}function RWe(e,t,n){++e._statistics.visited,t._visitedFrame=n.frameNumber}function PF(e,t,n){t._touchedFrame!==n.frameNumber&&(e._cache.touch(t),t._touchedFrame=n.frameNumber)}function MWe(e,t){e._maximumPriority.distance=Math.max(t._priorityHolder._distanceToCamera,e._maximumPriority.distance),e._minimumPriority.distance=Math.min(t._priorityHolder._distanceToCamera,e._minimumPriority.distance),e._maximumPriority.depth=Math.max(t._depth,e._maximumPriority.depth),e._minimumPriority.depth=Math.min(t._depth,e._minimumPriority.depth),e._maximumPriority.foveatedFactor=Math.max(t._priorityHolder._foveatedFactor,e._maximumPriority.foveatedFactor),e._minimumPriority.foveatedFactor=Math.min(t._priorityHolder._foveatedFactor,e._minimumPriority.foveatedFactor),e._maximumPriority.reverseScreenSpaceError=Math.max(t._priorityReverseScreenSpaceError,e._maximumPriority.reverseScreenSpaceError),e._minimumPriority.reverseScreenSpaceError=Math.min(t._priorityReverseScreenSpaceError,e._minimumPriority.reverseScreenSpaceError)}function BWe(e,t,n){if(!e._cullRequestsWhileMoving)return!0;let i=t.boundingSphere,o=Math.max(i.radius*2,1),r=n.camera,s=r.positionWCDeltaMagnitude!==0?r.positionWCDeltaMagnitude:r.positionWCDeltaMagnitudeLastFrame;return e.cullRequestsWhileMovingMultiplier*s/o<1}function zy(e,t,n){if(t._requestedFrame===n.frameNumber||!sce(t)&&!t.contentExpired||!BWe(e,t,n))return;let i=n.camera.timeSinceMoved<e.foveatedTimeDelay;t.priorityDeferred&&i||(t._requestedFrame=n.frameNumber,e._requestedTiles.push(t))}function oce(e,t,n){t._updatedVisibilityFrame!==e._updatedVisibilityFrame&&(t.updateVisibility(n),t._updatedVisibilityFrame=e._updatedVisibilityFrame)}function LWe(e,t,n){let i=!1,o=t.children,r=o.length;for(let s=0;s<r;++s){let a=o[s];oce(e,a,n),i=i||Hy(a)}return i}function NWe(e,t,n){let i=t.parent;return!l(i)||i.hasTilesetContent||i.hasImplicitContent||i.refine!==Br.ADD?!1:t.getScreenSpaceError(n,!0)<=e._maximumScreenSpaceError}function rce(e,t,n){if(oce(e,t,n),!Hy(t))return;let i=t.children.length>0;if((t.hasTilesetContent||t.hasImplicitContent)&&i){let s=t.children[0];rce(e,s,n),t._visible=s._visible;return}if(NWe(e,t,n)){t._visible=!1;return}let o=t.refine===Br.REPLACE,r=t._optimChildrenWithinParent===Vf.USE_OPTIMIZATION;if(o&&r&&i&&!LWe(e,t,n)){++e._statistics.numberOfTilesCulledWithChildrenUnion,t._visible=!1;return}}function IF(e,t,n){rce(e,t,n),t.updateExpiration(),t._wasMinPriorityChild=!1,t._priorityHolder=t,MWe(e,t),t._shouldSelect=!1,t._finalResolution=!0}function FWe(e,t){e._ancestorWithContent=void 0,e._ancestorWithContentAvailable=void 0;let n=e.parent;if(l(n)){let i=!sce(n)||n._requestedFrame===t.frameNumber;e._ancestorWithContent=i?n:n._ancestorWithContent,e._ancestorWithContentAvailable=n.contentAvailable?n:n._ancestorWithContentAvailable}}function Zw(e){return e.hasEmptyContent||e.hasTilesetContent||e.hasImplicitContent}function sce(e){return!Zw(e)&&e.contentUnloaded}function VWe(e,t){let n=t._ancestorWithContent;return!e.immediatelyLoadDesiredLevelOfDetail&&(t._priorityProgressiveResolutionScreenSpaceErrorLeaf||l(n)&&t._screenSpaceError<n._screenSpaceError/e.skipScreenSpaceErrorFactor&&t._depth>n._depth+e.skipLevels)}function kWe(e,t){return t._distanceToCamera===0&&e._distanceToCamera===0?t._centerZDepth-e._centerZDepth:t._distanceToCamera-e._distanceToCamera}function UWe(e,t,n,i){let o,r=t.refine===Br.REPLACE,s=t.children,a=s.length;for(o=0;o<a;++o)IF(e,s[o],i);s.sort(kWe);let c=!Kw(e)&&r&&!Zw(t),u=!0,f=!1,d=-1,p=Number.MAX_VALUE,g;for(o=0;o<a;++o)if(g=s[o],Hy(g)?(n.push(g),g._foveatedFactor<p&&(d=o,p=g._foveatedFactor),f=!0):(c||e.loadSiblings)&&(g._foveatedFactor<p&&(d=o,p=g._foveatedFactor),zy(e,g,i),PF(e,g,i)),c){let m;g._inRequestVolume?Zw(g)?m=HWe(e,g,i):m=g.contentAvailable:m=!1,u=u&&m}if(f||(u=!1),d!==-1&&!Kw(e)&&r){let m=s[d];m._wasMinPriorityChild=!0;let C=(t._wasMinPriorityChild||t===e.root)&&p<=t._priorityHolder._foveatedFactor?t._priorityHolder:t;for(C._foveatedFactor=Math.min(m._foveatedFactor,C._foveatedFactor),C._distanceToCamera=Math.min(m._distanceToCamera,C._distanceToCamera),o=0;o<a;++o)g=s[o],g._priorityHolder=C}return u}function zWe(e,t,n){return Kw(e)?e.immediatelyLoadDesiredLevelOfDetail?!1:l(t._ancestorWithContent)?t._screenSpaceError===0?t.parent._screenSpaceError>n:t._screenSpaceError>n:!0:!0}function S9(e,t){return t.children.length===0?!1:t.hasTilesetContent||t.hasImplicitContent?!t.contentExpired:t._screenSpaceError>e._maximumScreenSpaceError}function w9(e,t,n,i,o){let r=jw.stack;for(r.push(t);r.length>0;){jw.stackMaximumLength=Math.max(jw.stackMaximumLength,r.length);let s=r.pop();FWe(s,o);let a=zWe(e,s,n),c=s.refine===Br.ADD,u=s.refine===Br.REPLACE,f=s.parent,d=!l(f)||f._refines,p=!1;S9(e,s)&&(p=UWe(e,s,r,o)&&d);let g=!p&&d;Zw(s)?(IWe(e,s,o),zy(e,s,o),g&&DF(e,s,o)):c?(DF(e,s,o),zy(e,s,o)):u&&(a?(zy(e,s,o),g&&DF(e,s,o)):g?(DF(e,s,o),zy(e,s,o)):VWe(e,s)&&zy(e,s,o)),RWe(e,s,o),PF(e,s,o),s._refines=p}}function HWe(e,t,n){let i=!0,o=qw.stack;for(o.push(t);o.length>0;){qw.stackMaximumLength=Math.max(qw.stackMaximumLength,o.length);let r=o.pop(),s=r.children,a=s.length,c=Zw(r),u=c&&S9(e,r),f=c&&r.children.length===0;if(!u&&!r.contentAvailable&&!f&&(i=!1),IF(e,r,n),Hy(r)||(zy(e,r,n),PF(e,r,n)),u)for(let d=0;d<a;++d){let p=s[d];o.push(p)}}return i}function ace(e,t,n){let i=Sh.stack,o=Sh.ancestorStack,r;for(i.push(t);i.length>0||o.length>0;){if(Sh.stackMaximumLength=Math.max(Sh.stackMaximumLength,i.length),Sh.ancestorStackMaximumLength=Math.max(Sh.ancestorStackMaximumLength,o.length),o.length>0){let p=o.peek();if(p._stackLength===i.length){o.pop(),p!==r&&(p._finalResolution=!1),Xw(e,p,n);continue}}let s=i.pop();if(!l(s))continue;let a=s.refine===Br.ADD,c=s._shouldSelect,u=s.children,f=u.length,d=S9(e,s);if(c)if(a)Xw(e,s,n);else{if(s._selectionDepth=o.length,s._selectionDepth>0&&(e._hasMixedContent=!0),r=s,!d){Xw(e,s,n);continue}o.push(s),s._stackLength=i.length}if(d)for(let p=0;p<f;++p){let g=u[p];Hy(g)&&i.push(g)}}}var rp=ice;var kf={RENDER:0,PICK:1,SHADOW:2,PRELOAD:3,PRELOAD_FLIGHT:4,REQUEST_RENDER_MODE_DEFER_CHECK:5,MOST_DETAILED_PRELOAD:6,MOST_DETAILED_PICK:7,NUMBER_OF_PASSES:8},sp=new Array(kf.NUMBER_OF_PASSES);sp[kf.RENDER]=Object.freeze({traversal:rp,isRender:!0,requestTiles:!0,ignoreCommands:!1});sp[kf.PICK]=Object.freeze({traversal:rp,isRender:!1,requestTiles:!1,ignoreCommands:!1});sp[kf.SHADOW]=Object.freeze({traversal:rp,isRender:!1,requestTiles:!0,ignoreCommands:!1});sp[kf.PRELOAD]=Object.freeze({traversal:rp,isRender:!1,requestTiles:!0,ignoreCommands:!0});sp[kf.PRELOAD_FLIGHT]=Object.freeze({traversal:rp,isRender:!1,requestTiles:!0,ignoreCommands:!0});sp[kf.REQUEST_RENDER_MODE_DEFER_CHECK]=Object.freeze({traversal:rp,isRender:!1,requestTiles:!0,ignoreCommands:!0});sp[kf.MOST_DETAILED_PRELOAD]=Object.freeze({traversal:Ww,isRender:!1,requestTiles:!0,ignoreCommands:!0});sp[kf.MOST_DETAILED_PICK]=Object.freeze({traversal:Ww,isRender:!1,requestTiles:!1,ignoreCommands:!1});kf.getPassOptions=function(e){return sp[e]};var er=Object.freeze(kf);function ap(e,t){this._tileset=e,this._tile=t,this.featurePropertiesDirty=!1}Object.defineProperties(ap.prototype,{featuresLength:{get:function(){return 0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return 0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return 0}},innerContents:{get:function(){}},readyPromise:{get:function(){}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){}},metadata:{get:function(){},set:function(e){}},batchTable:{get:function(){}},group:{get:function(){},set:function(e){}}});ap.prototype.hasProperty=function(e,t){return!1};ap.prototype.getFeature=function(e){};ap.prototype.applyDebugSettings=function(e,t){};ap.prototype.applyStyle=function(e){};ap.prototype.update=function(e,t){};ap.prototype.isDestroyed=function(){return!1};ap.prototype.destroy=function(){return fe(this)};var $w=ap;function cp(e){e=y(e,y.EMPTY_OBJECT);let t=e.content,n=e.class;this._class=n,this._properties=t.properties,this._extensions=t.extensions,this._extras=t.extras}Object.defineProperties(cp.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});cp.prototype.hasProperty=function(e){return On.hasProperty(e,this._properties,this._class)};cp.prototype.hasPropertyBySemantic=function(e){return On.hasPropertyBySemantic(e,this._properties,this._class)};cp.prototype.getPropertyIds=function(e){return On.getPropertyIds(this._properties,this._class,e)};cp.prototype.getProperty=function(e){return On.getProperty(e,this._properties,this._class)};cp.prototype.setProperty=function(e,t){return On.setProperty(e,t,this._properties,this._class)};cp.prototype.getPropertyBySemantic=function(e){return On.getPropertyBySemantic(e,this._properties,this._class)};cp.prototype.setPropertyBySemantic=function(e,t){return On.setPropertyBySemantic(e,t,this._properties,this._class)};var OF=cp;function v9(e,t){let n=eo(t,"3DTILES_metadata")?t.extensions["3DTILES_metadata"]:t.metadata;if(!l(n))return;if(!l(e.schema)){v9._oneTimeWarning("findContentMetadata-missing-root-schema","Could not find a metadata schema for content metadata. For tilesets that contain external tilesets, make sure the schema is added to the root tileset.json.");return}let i=y(e.schema.classes,y.EMPTY_OBJECT);if(l(n.class)){let o=i[n.class];return new OF({content:n,class:o})}}v9._oneTimeWarning=Bt;var AT=v9;function GWe(e,t){let n=e.metadataExtension;if(!l(n))return;let i=n.groups,o=eo(t,"3DTILES_metadata")?t.extensions["3DTILES_metadata"].group:t.group;if(typeof o=="number")return i[o];let r=n.groupIds.findIndex(function(s){return s===o});return r>=0?i[r]:void 0}var TT=GWe;function lp(e){e=y(e,y.EMPTY_OBJECT);let t=e.tile,n=e.class;this._class=n,this._properties=t.properties,this._extensions=t.extensions,this._extras=t.extras}Object.defineProperties(lp.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});lp.prototype.hasProperty=function(e){return On.hasProperty(e,this._properties,this._class)};lp.prototype.hasPropertyBySemantic=function(e){return On.hasPropertyBySemantic(e,this._properties,this._class)};lp.prototype.getPropertyIds=function(e){return On.getPropertyIds(this._properties,this._class,e)};lp.prototype.getProperty=function(e){return On.getProperty(e,this._properties,this._class)};lp.prototype.setProperty=function(e,t){return On.setProperty(e,t,this._properties,this._class)};lp.prototype.getPropertyBySemantic=function(e){return On.getPropertyBySemantic(e,this._properties,this._class)};lp.prototype.setPropertyBySemantic=function(e,t){return On.setPropertyBySemantic(e,t,this._properties,this._class)};var RF=lp;function D9(e,t){let n=eo(t,"3DTILES_metadata")?t.extensions["3DTILES_metadata"]:t.metadata;if(!l(n))return;if(!l(e.schema)){D9._oneTimeWarning("findTileMetadata-missing-root-schema","Could not find a metadata schema for tile metadata. For tilesets that contain external tilesets, make sure the schema is added to the root tileset.json.");return}let i=y(e.schema.classes,y.EMPTY_OBJECT);if(l(n.class)){let o=i[n.class];return new RF({tile:n,class:o})}}D9._oneTimeWarning=Bt;var MF=D9;function WWe(e){let t=new Uint8Array(e),n=Jd(t);if(n==="glTF"&&(n="glb"),vs.isBinaryFormat(n))return{contentType:n,binaryPayload:t};let i=jWe(t);if(l(i.root))return{contentType:vs.EXTERNAL_TILESET,jsonPayload:i};if(l(i.asset))return{contentType:vs.GLTF,jsonPayload:i};if(l(i.tileAvailability))return{contentType:vs.IMPLICIT_SUBTREE_JSON,jsonPayload:i};if(l(i.type))return{contentType:vs.GEOJSON,jsonPayload:i};throw new de("Invalid tile content.")}function jWe(e){let t;try{t=Xo(e)}catch{throw new de("Invalid tile content.")}return t}var ET=WWe;function Uf(e,t,n,i){this._tileset=e,this._tile=t,this._tilesetResource=n,this._contents=[],this._contentsCreated=!1;let o=l(i.contents)?i.contents:i.content;this._innerContentHeaders=o,this._requestsInFlight=0,this._cancelCount=0;let r=this._innerContentHeaders.length;this._arrayFetchPromises=new Array(r),this._requests=new Array(r),this._innerContentResources=new Array(r),this._serverKeys=new Array(r);for(let s=0;s<r;s++){let a=n.getDerivedResource({url:o[s].uri}),c=Wa.getServerKey(a.getUrlComponent());this._innerContentResources[s]=a,this._serverKeys[s]=c}this._contentsFetchedPromise=void 0}Object.defineProperties(Uf.prototype,{featurePropertiesDirty:{get:function(){let e=this._contents,t=e.length;for(let n=0;n<t;++n)if(e[n].featurePropertiesDirty)return!0;return!1},set:function(e){let t=this._contents,n=t.length;for(let i=0;i<n;++i)t[i].featurePropertiesDirty=e}},featuresLength:{get:function(){return 0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return 0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return 0}},innerContents:{get:function(){return this._contents}},readyPromise:{get:function(){if(!this._contentsCreated)return;let e=this._contents.map(function(n){return n.readyPromise}),t=this;return Promise.all(e).then(function(){return t})}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){}},metadata:{get:function(){},set:function(){}},batchTable:{get:function(){}},group:{get:function(){},set:function(){}},innerContentUrls:{get:function(){return this._innerContentHeaders.map(function(e){return e.uri})}},contentsFetchedPromise:{get:function(){return this._contentsFetchedPromise}}});function P9(e,t){e._requestsInFlight+=t,e.tileset.statistics.numberOfPendingRequests+=t}function qWe(e,t){e._cancelCount++,e._tile._contentState=t;let n=e.tileset.statistics;n.numberOfPendingRequests-=e._requestsInFlight,n.numberOfAttemptedRequests+=e._requestsInFlight,e._requestsInFlight=0;let i=e._innerContentHeaders.length;e._arrayFetchPromises=new Array(i)}Uf.prototype.requestInnerContents=function(){if(!YWe(this._serverKeys))return this._serverKeys.length;let e=this._innerContentHeaders;P9(this,e.length);for(let t=0;t<e.length;t++)this._arrayFetchPromises[t]=XWe(this,t,this._cancelCount,this._tile._contentState);return this._contentsFetchedPromise=KWe(this),0};function YWe(e){let t={};for(let n=0;n<e.length;n++){let i=e[n];l(t[i])?t[i]++:t[i]=1}for(let n in t)if(t.hasOwnProperty(n)&&!Wa.serverHasOpenSlots(n,t[n]))return!1;return Wa.heapHasOpenSlots(e.length)}function XWe(e,t,n,i){let o=e._innerContentResources[t].clone(),r=e.tile,s=function(){return r._priority},a=e._serverKeys[t],c=new jo({throttle:!0,throttleByServer:!0,type:Kr.TILES3D,priorityFunction:s,serverKey:a});o.request=c,e._requests[t]=c;let u=o.fetchArrayBuffer();return l(u)?u.then(function(f){if(!(n<e._cancelCount))return P9(e,-1),f}).catch(function(f){if(!(n<e._cancelCount)){if(o.request.state===ai.CANCELLED){qWe(e,i);return}P9(e,-1),cce(e,t,f)}}):Promise.resolve(void 0)}function KWe(e){let t=e._cancelCount;return Promise.all(e._arrayFetchPromises).then(function(n){if(t<e._cancelCount)return;let i=n.map(function(o,r){if(!!l(o))return ZWe(e,o,r)});e._contentsCreated=!0,e._contents=i.filter(l)})}function ZWe(e,t,n){let i=ET(t);if(i.contentType===vs.EXTERNAL_TILESET){let d=new de("External tilesets are disallowed inside multiple contents");return cce(e,n,d)}e._disableSkipLevelOfDetail=e._disableSkipLevelOfDetail||i.contentType===vs.GEOMETRY||i.contentType===vs.VECTOR;let o=e._tileset,r=e._innerContentResources[n],s=e._tile,a,c=xT[i.contentType];l(i.binaryPayload)?a=c(o,s,r,i.binaryPayload.buffer,0):a=c(o,s,r,i.jsonPayload);let u=e._innerContentHeaders[n];if(s.hasImplicitContentMetadata){let d=s.implicitSubtree,p=s.implicitCoordinates;a.metadata=d.getContentMetadataView(p,n)}else s.hasImplicitContent||(a.metadata=AT(o,u));let f=TT(o,u);return l(f)&&(a.group=new WA({metadata:f})),a}function cce(e,t,n){let i=e._tileset,o=e._innerContentResources[t].url,r=l(n.message)?n.message:n.toString();i.tileFailed.numberOfListeners>0?i.tileFailed.raiseEvent({url:o,message:r}):(console.log(`A content failed to load: ${o}`),console.log(`Error: ${r}`))}Uf.prototype.cancelRequests=function(){for(let e=0;e<this._requests.length;e++){let t=this._requests[e];l(t)&&t.cancel()}};Uf.prototype.hasProperty=function(e,t){return!1};Uf.prototype.getFeature=function(e){};Uf.prototype.applyDebugSettings=function(e,t){let n=this._contents,i=n.length;for(let o=0;o<i;++o)n[o].applyDebugSettings(e,t)};Uf.prototype.applyStyle=function(e){let t=this._contents,n=t.length;for(let i=0;i<n;++i)t[i].applyStyle(e)};Uf.prototype.update=function(e,t){let n=this._contents,i=n.length;for(let o=0;o<i;++o)n[o].update(e,t)};Uf.prototype.isDestroyed=function(){return!1};Uf.prototype.destroy=function(){let e=this._contents,t=e.length;for(let n=0;n<t;++n)e[n].destroy();return fe(this)};var BF=Uf;function ST(e){this.rectangle=ue.clone(e.rectangle),this.minimumHeight=y(e.minimumHeight,0),this.maximumHeight=y(e.maximumHeight,0),this.southwestCornerCartesian=new h,this.northeastCornerCartesian=new h,this.westNormal=new h,this.southNormal=new h,this.eastNormal=new h,this.northNormal=new h;let t=y(e.ellipsoid,oe.WGS84);t7e(this,e.rectangle,t),this._orientedBoundingBox=void 0,this._boundingSphere=void 0,y(e.computeBoundingVolumes,!0)&&this.computeBoundingVolumes(t)}Object.defineProperties(ST.prototype,{boundingVolume:{get:function(){return this._orientedBoundingBox}},boundingSphere:{get:function(){return this._boundingSphere}}});ST.prototype.computeBoundingVolumes=function(e){this._orientedBoundingBox=pi.fromRectangle(this.rectangle,this.minimumHeight,this.maximumHeight,e),this._boundingSphere=re.fromOrientedBoundingBox(this._orientedBoundingBox)};var lce=new h,LF=new h,uce=new h,$We=new h,JWe=new h,QWe=new h,e7e=new h,Bu=new he,fce=new en(h.UNIT_X,0),bT=new Tn;function t7e(e,t,n){n.cartographicToCartesian(ue.southwest(t),e.southwestCornerCartesian),n.cartographicToCartesian(ue.northeast(t),e.northeastCornerCartesian),Bu.longitude=t.west,Bu.latitude=(t.south+t.north)*.5,Bu.height=0;let i=n.cartographicToCartesian(Bu,QWe),o=h.cross(i,h.UNIT_Z,$We);h.normalize(o,e.westNormal),Bu.longitude=t.east;let r=n.cartographicToCartesian(Bu,e7e),s=h.cross(h.UNIT_Z,r,lce);h.normalize(s,e.eastNormal);let a=h.subtract(i,r,lce);h.magnitude(a)===0&&(a=h.clone(o,a));let c=h.normalize(a,JWe),u=t.south,f;if(u>0){Bu.longitude=(t.west+t.east)*.5,Bu.latitude=u;let C=n.cartographicToCartesian(Bu,bT.origin);h.clone(c,bT.direction);let x=en.fromPointNormal(e.southwestCornerCartesian,e.westNormal,fce);Gi.rayPlane(bT,x,e.southwestCornerCartesian),f=n.geodeticSurfaceNormal(C,LF)}else f=n.geodeticSurfaceNormalCartographic(ue.southeast(t),LF);let d=h.cross(f,a,uce);h.normalize(d,e.southNormal);let p=t.north,g;if(p<0){Bu.longitude=(t.west+t.east)*.5,Bu.latitude=p;let C=n.cartographicToCartesian(Bu,bT.origin);h.negate(c,bT.direction);let x=en.fromPointNormal(e.northeastCornerCartesian,e.eastNormal,fce);Gi.rayPlane(bT,x,e.northeastCornerCartesian),g=n.geodeticSurfaceNormal(C,LF)}else g=n.geodeticSurfaceNormalCartographic(ue.northwest(t),LF);let m=h.cross(a,g,uce);h.normalize(m,e.northNormal)}var n7e=new h,i7e=new h,o7e=new h(0,-1,0),r7e=new h(0,0,-1),dce=new h;function s7e(e,t){let n=t.camera,i=n.positionWC,o=n.positionCartographic,r=0;if(!ue.contains(e.rectangle,o)){let u=e.southwestCornerCartesian,f=e.northeastCornerCartesian,d=e.westNormal,p=e.southNormal,g=e.eastNormal,m=e.northNormal;t.mode!==ee.SCENE3D&&(u=t.mapProjection.project(ue.southwest(e.rectangle),n7e),u.z=u.y,u.y=u.x,u.x=0,f=t.mapProjection.project(ue.northeast(e.rectangle),i7e),f.z=f.y,f.y=f.x,f.x=0,d=o7e,g=h.UNIT_Y,p=r7e,m=h.UNIT_Z);let C=h.subtract(i,u,dce),x=h.dot(C,d),A=h.dot(C,p),b=h.subtract(i,f,dce),E=h.dot(b,g),S=h.dot(b,m);x>0?r+=x*x:E>0&&(r+=E*E),A>0?r+=A*A:S>0&&(r+=S*S)}let s,a,c;if(t.mode===ee.SCENE3D?(s=o.height,a=e.minimumHeight,c=e.maximumHeight):(s=i.x,a=0,c=0),s>c){let u=s-c;r+=u*u}else if(s<a){let u=a-s;r+=u*u}return Math.sqrt(r)}ST.prototype.distanceToCamera=function(e){let t=s7e(this,e);if(e.mode===ee.SCENE3D&&l(this._orientedBoundingBox)){let n=Math.sqrt(this._orientedBoundingBox.distanceSquaredTo(e.camera.positionWC));return Math.max(t,n)}return t};ST.prototype.intersectPlane=function(e){return this._orientedBoundingBox.intersectPlane(e)};ST.prototype.createDebugVolume=function(e){let t=new N.clone(N.IDENTITY),n=new uA({rectangle:this.rectangle,height:this.minimumHeight,extrudedHeight:this.maximumHeight}),i=new pt({geometry:n,id:"outline",modelMatrix:t,attributes:{color:It.fromColor(e)}});return new xn({geometryInstances:i,appearance:new Qt({translucent:!1,flat:!0}),asynchronous:!1})};var zf=ST;var NF=new he;function Jw(e){let t=__.fromToken(e.token),n=y(e.minimumHeight,0),i=y(e.maximumHeight,0),o=y(e.ellipsoid,oe.WGS84);this.s2Cell=t,this.minimumHeight=n,this.maximumHeight=i,this.ellipsoid=o;let r=p7e(t,n,i,o);this._boundingPlanes=r;let s=C7e(r);this._vertices=s,this._edgeNormals=new Array(6),this._edgeNormals[0]=F9(r[0],s.slice(0,4));let a;for(a=0;a<4;a++)this._edgeNormals[0][a]=h.negate(this._edgeNormals[0][a],this._edgeNormals[0][a]);for(this._edgeNormals[1]=F9(r[1],s.slice(4,8)),a=0;a<4;a++)this._edgeNormals[2+a]=F9(r[2+a],[s[a%4],s[(a+1)%4],s[4+(a+1)%4],s[4+a]]);for(this._planeVertices=[this._vertices.slice(0,4),this._vertices.slice(4,8)],a=0;a<4;a++)this._planeVertices.push([this._vertices[a%4],this._vertices[(a+1)%4],this._vertices[4+(a+1)%4],this._vertices[4+a]]);let c=t.getCenter();NF=o.cartesianToCartographic(c,NF),NF.height=(i+n)/2,this.center=o.cartographicToCartesian(NF,c),this._boundingSphere=re.fromPoints(s)}var a7e=new h,c7e=new he,l7e=new h,u7e=new he,f7e=new h,d7e=new h,h7e=new h,m7e=new h;function p7e(e,t,n,i){let o=new Array(6),r=e.getCenter(),s=i.geodeticSurfaceNormal(r,a7e),a=i.cartesianToCartographic(r,c7e);a.height=n;let c=i.cartographicToCartesian(a,l7e),u=en.fromPointNormal(c,s);o[0]=u;let f=0,d,p=[],g,m;for(d=0;d<4;d++){g=e.getVertex(d),p[d]=g,m=i.cartesianToCartographic(g,u7e),m.height=t;let x=en.getPointDistance(u,i.cartographicToCartesian(m,f7e));x<f&&(f=x)}let C=en.clone(u);for(C.normal=h.negate(C.normal,C.normal),C.distance=C.distance*-1+f,o[1]=C,d=0;d<4;d++){g=p[d];let x=p[(d+1)%4],A=i.geodeticSurfaceNormal(g,d7e),b=h.subtract(x,g,m7e),E=h.cross(b,A,h7e);E=h.normalize(E,E),o[2+d]=en.fromPointNormal(g,E)}return o}var Gy=new h,Wy=new h,jy=new h,I9=new h,O9=new h,R9=new h,_7e=new h,g7e=new h,y7e=new h,M9=new h,B9=new h,L9=new h,dg=new h,wh=new J;function hce(e,t,n){Gy=e.normal,Wy=t.normal,jy=n.normal,I9=h.multiplyByScalar(e.normal,-e.distance,I9),O9=h.multiplyByScalar(t.normal,-t.distance,O9),R9=h.multiplyByScalar(n.normal,-n.distance,R9),M9=h.multiplyByScalar(h.cross(Wy,jy,_7e),h.dot(I9,Gy),M9),B9=h.multiplyByScalar(h.cross(jy,Gy,g7e),h.dot(O9,Wy),B9),L9=h.multiplyByScalar(h.cross(Gy,Wy,y7e),h.dot(R9,jy),L9),wh[0]=Gy.x,wh[1]=Wy.x,wh[2]=jy.x,wh[3]=Gy.y,wh[4]=Wy.y,wh[5]=jy.y,wh[6]=Gy.z,wh[7]=Wy.z,wh[8]=jy.z;let i=J.determinant(wh);return dg=h.add(M9,B9,dg),dg=h.add(dg,L9,dg),new h(dg.x/i,dg.y/i,dg.z/i)}function C7e(e){let t=new Array(8);for(let n=0;n<4;n++)t[n]=hce(e[0],e[2+(n+3)%4],e[2+n%4]),t[n+4]=hce(e[1],e[2+(n+3)%4],e[2+n%4]);return t}var N9=new h,wT=new h;function F9(e,t){let n=[];for(let i=0;i<4;i++)N9=h.subtract(t[(i+1)%4],t[i],N9),wT=h.cross(e.normal,N9,wT),wT=h.normalize(wT,wT),n[i]=h.clone(wT);return n}Object.defineProperties(Jw.prototype,{boundingVolume:{get:function(){return this}},boundingSphere:{get:function(){return this._boundingSphere}}});var V9=new h;Jw.prototype.distanceToCamera=function(e){let t=e.camera.positionWC,n=[],i=[],o;en.getPointDistance(this._boundingPlanes[0],t)>0?(n.push(0),i.push(this._planeVertices[0]),o=this._edgeNormals[0]):en.getPointDistance(this._boundingPlanes[1],t)>0&&(n.push(1),i.push(this._planeVertices[1]),o=this._edgeNormals[1]);let r,s;for(r=0;r<4;r++)s=2+r,en.getPointDistance(this._boundingPlanes[s],t)>0&&(n.push(s),i.push(this._planeVertices[s]),o=this._edgeNormals[s]);if(n.length===0)return 0;let a,c;if(n.length===1)return c=this._boundingPlanes[n[0]],a=k9(en.projectPointOntoPlane(c,t,V9),i[0],c,o),h.distance(a,t);if(n.length===2){if(n[0]===0){let p=[this._vertices[4*n[0]+(n[1]-2)],this._vertices[4*n[0]+(n[1]-2+1)%4]];return a=mce(t,p[0],p[1]),h.distance(a,t)}let f=Number.MAX_VALUE,d;for(r=0;r<2;r++)c=this._boundingPlanes[n[r]],a=k9(en.projectPointOntoPlane(c,t,V9),i[r],c,this._edgeNormals[n[r]]),d=h.distanceSquared(a,t),d<f&&(f=d);return Math.sqrt(f)}else if(n.length>3)return a=k9(en.projectPointOntoPlane(this._boundingPlanes[1],t,V9),this._planeVertices[1],this._boundingPlanes[1],this._edgeNormals[1]),h.distance(a,t);let u=n[1]===2&&n[2]===5?0:1;return n[0]===0?h.distance(t,this._vertices[(n[1]-2+u)%4]):h.distance(t,this._vertices[4+(n[1]-2+u)%4])};var x7e=new h,A7e=new h;function mce(e,t,n){let i=h.subtract(n,t,x7e),o=h.subtract(e,t,A7e),r=h.dot(i,o);if(r<=0)return t;let s=h.dot(i,i);return r>=s?n:(r=r/s,new h((1-r)*t.x+r*n.x,(1-r)*t.y+r*n.y,(1-r)*t.z+r*n.z))}var T7e=new en(h.UNIT_X,0);function k9(e,t,n,i){let o=Number.MAX_VALUE,r,s,a;for(let c=0;c<t.length;c++){let u=en.fromPointNormal(t[c],i[c],T7e);en.getPointDistance(u,e)<0||(a=mce(e,t[c],t[(c+1)%4]),r=h.distance(e,a),r<o&&(o=r,s=a))}return l(s)?s:e}Jw.prototype.intersectPlane=function(e){let t=0,n=0;for(let i=0;i<this._vertices.length;i++)h.dot(e.normal,this._vertices[i])+e.distance<0?n++:t++;return t===this._vertices.length?Kt.INSIDE:n===this._vertices.length?Kt.OUTSIDE:Kt.INTERSECTING};Jw.prototype.createDebugVolume=function(e){let t=new N.clone(N.IDENTITY),n=new pf({polygonHierarchy:{positions:this._planeVertices[0]}}),i=pf.createGeometry(n),o=new pt({geometry:i,id:"outline",modelMatrix:t,attributes:{color:It.fromColor(e)}}),r=new pf({polygonHierarchy:{positions:this._planeVertices[1]}}),s=pf.createGeometry(r),a=new pt({geometry:s,id:"outline",modelMatrix:t,attributes:{color:It.fromColor(e)}}),c=[];for(let u=0;u<4;u++){let f=new pf({polygonHierarchy:{positions:this._planeVertices[2+u]}}),d=pf.createGeometry(f);c[u]=new pt({geometry:d,id:"outline",modelMatrix:t,attributes:{color:It.fromColor(e)}})}return new xn({geometryInstances:[c[0],c[1],c[2],c[3],a,o],appearance:new Qt({translucent:!1,flat:!0}),asynchronous:!1})};var FF=Jw;function vT(e,t){t===0&&(t=I.EPSILON7),this._boundingSphere=new re(e,t)}Object.defineProperties(vT.prototype,{center:{get:function(){return this._boundingSphere.center}},radius:{get:function(){return this._boundingSphere.radius}},boundingVolume:{get:function(){return this._boundingSphere}},boundingSphere:{get:function(){return this._boundingSphere}}});vT.prototype.distanceToCamera=function(e){let t=this._boundingSphere;return Math.max(0,h.distance(t.center,e.camera.positionWC)-t.radius)};vT.prototype.intersectPlane=function(e){return re.intersectPlane(this._boundingSphere,e)};vT.prototype.update=function(e,t){h.clone(e,this._boundingSphere.center),this._boundingSphere.radius=t};vT.prototype.createDebugVolume=function(e){let t=new C_({radius:this.radius}),n=N.fromTranslation(this.center,new N.clone(N.IDENTITY)),i=new pt({geometry:t,id:"outline",modelMatrix:n,attributes:{color:It.fromColor(e)}});return new xn({geometryInstances:i,appearance:new Qt({translucent:!1,flat:!0}),asynchronous:!1})};var hg=vT;var E7e=new h,b7e=new h,S7e=new h,w7e=new h;function qy(e,t,n){n=h.cross(e,t,n);let i=h.magnitude(n);return h.multiplyByScalar(n,I.EPSILON7/i,n)}function U9(e,t){let n=h.normalize(e,w7e),i=h.equalsEpsilon(n,h.UNIT_X,I.EPSILON6)?h.UNIT_Y:h.UNIT_X;return qy(e,i,t)}function pce(e){let t=J.getColumn(e,0,E7e),n=J.getColumn(e,1,b7e),i=J.getColumn(e,2,S7e),o=h.equals(t,h.ZERO),r=h.equals(n,h.ZERO),s=h.equals(i,h.ZERO);return!o&&!r&&!s?e:o&&r&&s?(e[0]=I.EPSILON7,e[4]=I.EPSILON7,e[8]=I.EPSILON7,e):(o&&!r&&!s?t=qy(n,i,t):!o&&r&&!s?n=qy(t,i,n):!o&&!r&&s?i=qy(n,t,i):o?r?s||(t=U9(i,t),n=qy(i,t,n)):(t=U9(n,t),i=qy(n,t,i)):(n=U9(t,n),i=qy(n,t,i)),J.setColumn(e,0,t,e),J.setColumn(e,1,n,e),J.setColumn(e,2,i,e),e)}function DT(e,t){t=pce(t),this._orientedBoundingBox=new pi(e,t),this._boundingSphere=re.fromOrientedBoundingBox(this._orientedBoundingBox)}Object.defineProperties(DT.prototype,{boundingVolume:{get:function(){return this._orientedBoundingBox}},boundingSphere:{get:function(){return this._boundingSphere}}});DT.prototype.distanceToCamera=function(e){return Math.sqrt(this._orientedBoundingBox.distanceSquaredTo(e.camera.positionWC))};DT.prototype.intersectPlane=function(e){return this._orientedBoundingBox.intersectPlane(e)};DT.prototype.update=function(e,t){h.clone(e,this._orientedBoundingBox.center),t=pce(t),J.clone(t,this._orientedBoundingBox.halfAxes),re.fromOrientedBoundingBox(this._orientedBoundingBox,this._boundingSphere)};DT.prototype.createDebugVolume=function(e){let t=new Md({minimum:new h(-1,-1,-1),maximum:new h(1,1,1)}),n=N.fromRotationTranslation(this.boundingVolume.halfAxes,this.boundingVolume.center),i=new pt({geometry:t,id:"outline",modelMatrix:n,attributes:{color:It.fromColor(e)}});return new xn({geometryInstances:i,appearance:new Qt({translucent:!1,flat:!0}),asynchronous:!1})};var Hf=DT;function Vo(e,t,n,i){this._tileset=e,this._header=n;let o=l(n.contents),r=o&&n.contents.length>1||eo(n,"3DTILES_multiple_contents"),s=o&&!r?n.contents[0]:n.content;this._contentHeader=s,this.transform=l(n.transform)?N.unpack(n.transform):N.clone(N.IDENTITY);let a=l(i)?i.computedTransform:e.modelMatrix,c=N.multiply(a,this.transform,new N),u=l(i)?i._initialTransform:N.IDENTITY;this._initialTransform=N.multiply(u,this.transform,new N),this.computedTransform=c,this._boundingVolume=this.createBoundingVolume(n.boundingVolume,c),this._boundingVolume2D=void 0;let f;l(s)&&l(s.boundingVolume)&&(f=this.createBoundingVolume(s.boundingVolume,c)),this._contentBoundingVolume=f,this._contentBoundingVolume2D=void 0;let d;l(n.viewerRequestVolume)&&(d=this.createBoundingVolume(n.viewerRequestVolume,c)),this._viewerRequestVolume=d,this.geometricError=n.geometricError,this._geometricError=n.geometricError,l(this._geometricError)||(this._geometricError=l(i)?i.geometricError:e._geometricError,Vo._deprecationWarning("geometricErrorUndefined","Required property geometricError is undefined for this tile. Using parent's geometric error instead.")),this.updateGeometricErrorScale();let p;l(n.refine)?((n.refine==="replace"||n.refine==="add")&&Vo._deprecationWarning("lowercase-refine",`This tile uses a lowercase refine "${n.refine}". Instead use "${n.refine.toUpperCase()}".`),p=n.refine.toUpperCase()==="REPLACE"?Br.REPLACE:Br.ADD):l(i)?p=i.refine:p=Br.REPLACE,this.refine=p,this.children=[],this.parent=i;let g,m=!1,C,x,A;if(t=Ie.createIfNeeded(t),r)C=So.UNLOADED,x=t.clone();else if(l(s)){let v=s.uri;l(s.url)&&(Vo._deprecationWarning("contentUrl",'This tileset JSON uses the "content.url" property which has been deprecated. Use "content.uri" instead.'),v=s.url),v===""?(Vo._deprecationWarning("contentUriEmpty","content.uri property is an empty string, which creates a circular dependency, making this tileset invalid. Omit the content property instead"),g=new $w(e,this),m=!0,C=So.READY):(C=So.UNLOADED,x=t.getDerivedResource({url:v}),A=Wa.getServerKey(x.getUrlComponent()))}else g=new $w(e,this),m=!0,C=So.READY;this._content=g,this._contentResource=x,this._contentState=C,this._contentReadyToProcessPromise=void 0,this._contentReadyPromise=void 0,this._expiredContent=void 0,this._serverKey=A,this.hasEmptyContent=m,this.hasTilesetContent=!1,this.hasImplicitContent=!1,this.hasImplicitContentMetadata=!1,this.hasMultipleContents=r,this.metadata=MF(e,n),this.cacheNode=void 0;let b=n.expire,E,S;l(b)&&(E=b.duration,l(b.date)&&(S=Q.fromIso8601(b.date))),this.expireDuration=E,this.expireDate=S,this.lastStyleTime=0,this._optimChildrenWithinParent=Vf.NOT_COMPUTED,this.clippingPlanesDirty=!1,this.priorityDeferred=!1,this.implicitTileset=void 0,this.implicitCoordinates=void 0,this.implicitSubtree=void 0,this._distanceToCamera=0,this._centerZDepth=0,this._screenSpaceError=0,this._screenSpaceErrorProgressiveResolution=0,this._visibilityPlaneMask=0,this._visible=!1,this._inRequestVolume=!1,this._finalResolution=!0,this._depth=0,this._stackLength=0,this._selectionDepth=0,this._updatedVisibilityFrame=0,this._touchedFrame=0,this._visitedFrame=0,this._selectedFrame=0,this._requestedFrame=0,this._ancestorWithContent=void 0,this._ancestorWithContentAvailable=void 0,this._refines=!1,this._shouldSelect=!1,this._isClipped=!0,this._clippingPlanesState=0,this._debugBoundingVolume=void 0,this._debugContentBoundingVolume=void 0,this._debugViewerRequestVolume=void 0,this._debugColor=U.fromRandom({alpha:1}),this._debugColorizeTiles=!1,this._priority=0,this._priorityHolder=this,this._priorityProgressiveResolution=!1,this._priorityProgressiveResolutionScreenSpaceErrorLeaf=!1,this._priorityReverseScreenSpaceError=0,this._foveatedFactor=0,this._wasMinPriorityChild=!1,this._loadTimestamp=new Q,this._commandsLength=0,this._color=void 0,this._colorDirty=!1,this._request=void 0}Vo._deprecationWarning=or;Object.defineProperties(Vo.prototype,{tileset:{get:function(){return this._tileset}},content:{get:function(){return this._content}},boundingVolume:{get:function(){return this._boundingVolume}},contentBoundingVolume:{get:function(){return y(this._contentBoundingVolume,this._boundingVolume)}},boundingSphere:{get:function(){return this._boundingVolume.boundingSphere}},extras:{get:function(){return this._header.extras}},color:{get:function(){return l(this._color)||(this._color=new U),U.clone(this._color)},set:function(e){this._color=U.clone(e,this._color),this._colorDirty=!0}},contentAvailable:{get:function(){return this.contentReady&&!this.hasEmptyContent&&!this.hasTilesetContent&&!this.hasImplicitContent||l(this._expiredContent)&&!this.contentFailed}},contentReady:{get:function(){return this._contentState===So.READY}},contentUnloaded:{get:function(){return this._contentState===So.UNLOADED}},contentExpired:{get:function(){return this._contentState===So.EXPIRED}},contentFailed:{get:function(){return this._contentState===So.FAILED}},contentReadyToProcessPromise:{get:function(){return this._contentReadyToProcessPromise}},contentReadyPromise:{get:function(){return this._contentReadyPromise}},commandsLength:{get:function(){return this._commandsLength}}});var mg=new h;function v7e(e,t){let n=e._tileset,i=t.camera,o=e.boundingSphere,r=o.radius,s=h.multiplyByScalar(i.directionWC,e._centerZDepth,mg),a=h.add(i.positionWC,s,mg),c=h.subtract(a,o.center,mg);if(h.magnitude(c)>r){let E=h.normalize(c,mg),S=h.multiplyByScalar(E,r,mg),v=h.add(o.center,S,mg),P=h.subtract(v,i.positionWC,mg),O=h.normalize(P,mg);e._foveatedFactor=1-Math.abs(h.dot(i.directionWC,O))}else e._foveatedFactor=0;let d=e.refine===Br.REPLACE,p=n._skipLevelOfDetail;if(d&&!p||!n.foveatedScreenSpaceError||n.foveatedConeSize===1||e._priorityProgressiveResolution&&d&&p||n._pass===er.PRELOAD_FLIGHT||n._pass===er.PRELOAD)return!1;let g=1-Math.cos(i.frustum.fov*.5),m=n.foveatedConeSize*g;if(e._foveatedFactor<=m)return!1;let C=g-m,x=I.clamp((e._foveatedFactor-m)/C,0,1),A=n.foveatedInterpolationCallback(n.foveatedMinimumScreenSpaceErrorRelaxation,n.maximumScreenSpaceError,x),b=e._screenSpaceError===0&&l(e.parent)?e.parent._screenSpaceError*.5:e._screenSpaceError;return n.maximumScreenSpaceError-A<=b}var yce=new Q;Vo.prototype.getScreenSpaceError=function(e,t,n){let i=this._tileset,o=y(n,1),r=l(this.parent)?this.parent.geometricError:i._geometricError,s=t?r:this.geometricError;if(s===0)return 0;let a=e.camera,c=a.frustum,u=e.context,f=u.drawingBufferWidth,d=u.drawingBufferHeight*o,p;if(e.mode===ee.SCENE2D||c instanceof $t){l(c._offCenterFrustum)&&(c=c._offCenterFrustum);let g=Math.max(c.top-c.bottom,c.right-c.left)/Math.max(f,d);p=s/g}else{let g=Math.max(this._distanceToCamera,I.EPSILON7),m=a.frustum.sseDenominator;if(p=s*d/(g*m),i.dynamicScreenSpaceError){let C=i._dynamicScreenSpaceErrorComputedDensity,x=i.dynamicScreenSpaceErrorFactor;p-=I.fog(g,C)*x}}return p/=e.pixelRatio,p};function D7e(e,t){if(e.progressiveResolutionHeightFraction<=0||e.progressiveResolutionHeightFraction>.5)return!1;let n=t._screenSpaceErrorProgressiveResolution>e._maximumScreenSpaceError;t._priorityProgressiveResolutionScreenSpaceErrorLeaf=!1;let i=t.parent,o=e._maximumScreenSpaceError,r=t._screenSpaceErrorProgressiveResolution<=o,s=l(i)&&i._screenSpaceErrorProgressiveResolution>o;return r&&s&&(t._priorityProgressiveResolutionScreenSpaceErrorLeaf=!0,n=!0),n}function P7e(e,t){let n=t.parent,o=l(n)&&(!e._skipLevelOfDetail||t._screenSpaceError===0||n.hasTilesetContent||n.hasImplicitContent)?n._screenSpaceError:t._screenSpaceError;return e.root._screenSpaceError-o}Vo.prototype.updateVisibility=function(e){let t=this.parent,n=this._tileset,i=l(t)?t.computedTransform:n.modelMatrix,o=l(t)?t._visibilityPlaneMask:qs.MASK_INDETERMINATE;this.updateTransform(i),this._distanceToCamera=this.distanceToTile(e),this._centerZDepth=this.distanceToTileCenter(e),this._screenSpaceError=this.getScreenSpaceError(e,!1),this._screenSpaceErrorProgressiveResolution=this.getScreenSpaceError(e,!1,n.progressiveResolutionHeightFraction),this._visibilityPlaneMask=this.visibility(e,o),this._visible=this._visibilityPlaneMask!==qs.MASK_OUTSIDE,this._inRequestVolume=this.insideViewerRequestVolume(e),this._priorityReverseScreenSpaceError=P7e(n,this),this._priorityProgressiveResolution=D7e(n,this),this.priorityDeferred=v7e(this,e)};Vo.prototype.updateExpiration=function(){if(l(this.expireDate)&&this.contentReady&&!this.hasEmptyContent&&!this.hasMultipleContents){let e=Q.now(yce);Q.lessThan(this.expireDate,e)&&(this._contentState=So.EXPIRED,this._expiredContent=this._content)}};function I7e(e){if(l(e.expireDuration)){let t=Q.now(yce);Q.addSeconds(t,e.expireDuration,t),l(e.expireDate)?Q.lessThan(e.expireDate,t)&&Q.clone(t,e.expireDate):e.expireDate=Q.clone(t)}}function O7e(e){return function(){return e._priority}}Vo.prototype.requestContent=function(){return this.hasEmptyContent?0:this.hasMultipleContents?R7e(this):M7e(this)};function R7e(e){let t=e._content,n=e._tileset;if(!l(t)){let r=eo(e._header,"3DTILES_multiple_contents")?e._header.extensions["3DTILES_multiple_contents"]:e._header;t=new BF(n,e,e._contentResource.clone(),r),e._content=t}let i=t.requestInnerContents();if(i>0)return i;e._contentState=So.LOADING;let o=t.contentsFetchedPromise.then(function(){if(!(e._contentState!==So.LOADING||!l(t.readyPromise))){if(e.isDestroyed()){z9(e,n,"Tile was unloaded while content was loading");return}return e._contentState=So.PROCESSING,t}});return e._contentReadyToProcessPromise=o,e._contentReadyPromise=o.then(function(r){if(!!l(r))return t.readyPromise}).then(function(r){if(!!l(r)){if(e.isDestroyed()){z9(e,n,"Tile was unloaded while content was processing");return}return e._selectedFrame=0,e.lastStyleTime=0,Q.now(e._loadTimestamp),e._contentState=So.READY,r}}).catch(function(r){z9(e,n,r)}),0}function z9(e,t,n){e._contentState===So.PROCESSING&&--t.statistics.numberOfTilesProcessing,e._contentState=So.FAILED}function M7e(e){let t=e._contentResource.clone(),n=e.contentExpired;n&&t.setQueryParameters({expired:e.expireDate.toString()});let i=new jo({throttle:!0,throttleByServer:!0,type:Kr.TILES3D,priorityFunction:O7e(e),serverKey:e._serverKey});e._request=i,t.request=i;let o=t.fetchArrayBuffer();if(!l(o))return 1;let r=e._contentState,s=e._tileset;e._contentState=So.LOADING,++s.statistics.numberOfPendingRequests;let a=o.then(function(c){if(e.isDestroyed()){H9(e,s);return}let u=B7e(e,c);return n&&(e.expireDate=void 0),e._content=u,e._contentState=So.PROCESSING,u});return e._contentReadyToProcessPromise=a,e._contentReadyPromise=a.then(function(c){if(!!l(c))return--s.statistics.numberOfPendingRequests,c.readyPromise}).then(function(c){if(!!l(c)){if(e.isDestroyed()){H9(e,s);return}return I7e(e),e._selectedFrame=0,e.lastStyleTime=0,Q.now(e._loadTimestamp),e._contentState=So.READY,c}}).catch(function(c){return i.state===ai.CANCELLED?(e._contentState=r,--s.statistics.numberOfPendingRequests,++s.statistics.numberOfAttemptedRequests,Promise.reject("Cancelled")):(H9(e,s),Promise.reject(c))}),0}function H9(e,t){e._contentState===So.PROCESSING?--t.statistics.numberOfTilesProcessing:--t.statistics.numberOfPendingRequests,e._contentState=So.FAILED}function B7e(e,t){let n=ET(t),i=e._tileset;i._disableSkipLevelOfDetail=i._disableSkipLevelOfDetail||n.contentType===vs.GEOMETRY||n.contentType===vs.VECTOR,(n.contentType===vs.IMPLICIT_SUBTREE||n.contentType===vs.IMPLICIT_SUBTREE_JSON)&&(e.hasImplicitContent=!0),n.contentType===vs.EXTERNAL_TILESET&&(e.hasTilesetContent=!0);let o,r=xT[n.contentType];l(n.binaryPayload)?o=r(i,e,e._contentResource,n.binaryPayload.buffer,0):o=r(i,e,e._contentResource,n.jsonPayload);let s=e._contentHeader;if(e.hasImplicitContentMetadata){let c=e.implicitSubtree,u=e.implicitCoordinates;o.metadata=c.getContentMetadataView(u,0)}else e.hasImplicitContent||(o.metadata=AT(i,s));let a=TT(i,s);return l(a)&&(o.group=new WA({metadata:a})),o}Vo.prototype.cancelRequests=function(){this.hasMultipleContents?this._content.cancelRequests():this._request.cancel()};Vo.prototype.unloadContent=function(){this.hasEmptyContent||this.hasTilesetContent||this.hasImplicitContent||(this._content=this._content&&this._content.destroy(),this._contentState=So.UNLOADED,this._contentReadyToProcessPromise=void 0,this._contentReadyPromise=void 0,this.lastStyleTime=0,this.clippingPlanesDirty=this._clippingPlanesState===0,this._clippingPlanesState=0,this._debugColorizeTiles=!1,this._debugBoundingVolume=this._debugBoundingVolume&&this._debugBoundingVolume.destroy(),this._debugContentBoundingVolume=this._debugContentBoundingVolume&&this._debugContentBoundingVolume.destroy(),this._debugViewerRequestVolume=this._debugViewerRequestVolume&&this._debugViewerRequestVolume.destroy())};var Cce=new re;function W9(e,t){if(t.mode!==ee.SCENE3D&&!l(e._boundingVolume2D)){let n=e._boundingVolume.boundingSphere,i=re.projectTo2D(n,t.mapProjection,Cce);e._boundingVolume2D=new hg(i.center,i.radius)}return t.mode!==ee.SCENE3D?e._boundingVolume2D:e._boundingVolume}function L7e(e,t){if(t.mode!==ee.SCENE3D&&!l(e._contentBoundingVolume2D)){let n=e._contentBoundingVolume.boundingSphere,i=re.projectTo2D(n,t.mapProjection,Cce);e._contentBoundingVolume2D=new hg(i.center,i.radius)}return t.mode!==ee.SCENE3D?e._contentBoundingVolume2D:e._contentBoundingVolume}Vo.prototype.visibility=function(e,t){let n=e.cullingVolume,i=W9(this,e),o=this._tileset,r=o.clippingPlanes;if(l(r)&&r.enabled){let s=r.computeIntersectionWithBoundingVolume(i,o.clippingPlanesOriginMatrix);if(this._isClipped=s!==Kt.INSIDE,s===Kt.OUTSIDE)return qs.MASK_OUTSIDE}return n.computeVisibilityWithPlaneMask(i,t)};Vo.prototype.contentVisibility=function(e){if(!l(this._contentBoundingVolume))return Kt.INSIDE;if(this._visibilityPlaneMask===qs.MASK_INSIDE)return Kt.INSIDE;let t=e.cullingVolume,n=L7e(this,e),i=this._tileset,o=i.clippingPlanes;if(l(o)&&o.enabled){let r=o.computeIntersectionWithBoundingVolume(n,i.clippingPlanesOriginMatrix);if(this._isClipped=r!==Kt.INSIDE,r===Kt.OUTSIDE)return Kt.OUTSIDE}return t.computeVisibility(n)};Vo.prototype.distanceToTile=function(e){return W9(this,e).distanceToCamera(e)};var N7e=new h;Vo.prototype.distanceToTileCenter=function(e){let n=W9(this,e).boundingVolume,i=h.subtract(n.center,e.camera.positionWC,N7e);return h.dot(e.camera.directionWC,i)};Vo.prototype.insideViewerRequestVolume=function(e){let t=this._viewerRequestVolume;return!l(t)||t.distanceToCamera(e)===0};var xce=new J,Ace=new h,F7e=new J,Tce=new h,Ece=new ue,V7e=new pi,G9=new N;function k7e(e,t,n){let i=h.fromElements(e[0],e[1],e[2],Tce),o=J.fromArray(e,3,F7e);i=N.multiplyByPoint(t,i,i);let r=N.getMatrix3(t,xce);return o=J.multiply(r,o,o),l(n)?(n.update(i,o),n):new Hf(i,o)}function U7e(e,t,n,i){let o=ue.unpack(e,0,Ece),r=e[4],s=e[5],a=pi.fromRectangle(o,r,s,oe.WGS84,V7e),c=a.center,u=a.halfAxes;t=N.multiplyTransformation(t,N.inverseTransformation(n,G9),G9),c=N.multiplyByPoint(t,c,c);let f=N.getMatrix3(t,xce);return u=J.multiply(f,u,u),l(i)&&i instanceof Hf?(i.update(c,u),i):new Hf(c,u)}function z7e(e,t,n,i){if(!N.equalsEpsilon(t,n,I.EPSILON8))return U7e(e,t,n,i);if(l(i))return i;let o=ue.unpack(e,0,Ece);return new zf({rectangle:o,minimumHeight:e[4],maximumHeight:e[5]})}function H7e(e,t,n){let i=h.fromElements(e[0],e[1],e[2],Tce),o=e[3];i=N.multiplyByPoint(t,i,i);let r=N.getScale(t,Ace);return o*=h.maximumComponent(r),l(n)?(n.update(i,o),n):new hg(i,o)}Vo.prototype.createBoundingVolume=function(e,t,n){if(!l(e))throw new de("boundingVolume must be defined");if(eo(e,"3DTILES_bounding_volume_S2"))return new FF(e.extensions["3DTILES_bounding_volume_S2"]);if(l(e.box))return k7e(e.box,t,n);if(l(e.region))return z7e(e.region,t,this._initialTransform,n);if(l(e.sphere))return H7e(e.sphere,t,n);throw new de("boundingVolume must contain a sphere, region, or box")};Vo.prototype.updateTransform=function(e){e=y(e,N.IDENTITY);let t=N.multiply(e,this.transform,G9);if(!!N.equals(t,this.computedTransform))return;N.clone(t,this.computedTransform);let i=this._header,o=this._contentHeader;this._boundingVolume=this.createBoundingVolume(i.boundingVolume,this.computedTransform,this._boundingVolume),l(this._contentBoundingVolume)&&(this._contentBoundingVolume=this.createBoundingVolume(o.boundingVolume,this.computedTransform,this._contentBoundingVolume)),l(this._viewerRequestVolume)&&(this._viewerRequestVolume=this.createBoundingVolume(i.viewerRequestVolume,this.computedTransform,this._viewerRequestVolume)),this.updateGeometricErrorScale(),this._debugBoundingVolume=this._debugBoundingVolume&&this._debugBoundingVolume.destroy(),this._debugContentBoundingVolume=this._debugContentBoundingVolume&&this._debugContentBoundingVolume.destroy(),this._debugViewerRequestVolume=this._debugViewerRequestVolume&&this._debugViewerRequestVolume.destroy()};Vo.prototype.updateGeometricErrorScale=function(){let e=N.getScale(this.computedTransform,Ace),t=h.maximumComponent(e);this.geometricError=this._geometricError*t};function G7e(e,t,n,i){if(!i.isRender)return;let o=l(e._contentHeader)&&l(e._contentHeader.boundingVolume),r=e.hasEmptyContent||e.hasTilesetContent||e.hasImplicitContent,s=t.debugShowBoundingVolume||t.debugShowContentBoundingVolume&&!o;if(s){let u;e._finalResolution?r?u=U.DARKGRAY:u=U.WHITE:u=U.YELLOW,l(e._debugBoundingVolume)||(e._debugBoundingVolume=e._boundingVolume.createDebugVolume(u)),e._debugBoundingVolume.update(n);let f=e._debugBoundingVolume.getGeometryInstanceAttributes("outline");f.color=It.toValue(u,f.color)}else!s&&l(e._debugBoundingVolume)&&(e._debugBoundingVolume=e._debugBoundingVolume.destroy());t.debugShowContentBoundingVolume&&o?(l(e._debugContentBoundingVolume)||(e._debugContentBoundingVolume=e._contentBoundingVolume.createDebugVolume(U.BLUE)),e._debugContentBoundingVolume.update(n)):!t.debugShowContentBoundingVolume&&l(e._debugContentBoundingVolume)&&(e._debugContentBoundingVolume=e._debugContentBoundingVolume.destroy()),t.debugShowViewerRequestVolume&&l(e._viewerRequestVolume)?(l(e._debugViewerRequestVolume)||(e._debugViewerRequestVolume=e._viewerRequestVolume.createDebugVolume(U.YELLOW)),e._debugViewerRequestVolume.update(n)):!t.debugShowViewerRequestVolume&&l(e._debugViewerRequestVolume)&&(e._debugViewerRequestVolume=e._debugViewerRequestVolume.destroy());let a=t.debugColorizeTiles&&!e._debugColorizeTiles||l(t._heatmap.tilePropertyName),c=!t.debugColorizeTiles&&e._debugColorizeTiles;a?(t._heatmap.colorize(e,n),e._debugColorizeTiles=!0,e.color=e._debugColor):c&&(e._debugColorizeTiles=!1,e.color=U.WHITE),e._colorDirty&&(e._colorDirty=!1,e._content.applyDebugSettings(!0,e._color)),c&&t.makeStyleDirty()}function W7e(e,t,n){let i=e._content,o=e._expiredContent;if(!e.hasMultipleContents&&l(o)){if(!e.contentReady){o.update(t,n);return}e._expiredContent.destroy(),e._expiredContent=void 0}i.update(t,n)}function j7e(e,t){let n=t.clippingPlanes,i=0;l(n)&&e._isClipped&&n.enabled&&(i=n.clippingPlanesState),i!==e._clippingPlanesState&&(e._clippingPlanesState=i,e.clippingPlanesDirty=!0)}Vo.prototype.update=function(e,t,n){let i=t.commandList.length;j7e(this,e),G7e(this,e,t,n),W7e(this,e,t);let r=t.commandList.length-i;this._commandsLength=r;for(let s=0;s<r;++s){let a=t.commandList[i+s],c=a.pass===xe.TRANSLUCENT;a.depthForTranslucentClassification=c}this.clippingPlanesDirty=!1};var _ce=[];Vo.prototype.process=function(e,t){let n=t.commandList;t.commandList=_ce,this._content.update(e,t),_ce.length=0,t.commandList=n};function gce(e,t,n){let i=e*Math.pow(10,t);return parseInt(i)*Math.pow(10,n)}function VF(e,t,n){return Math.max(I.normalize(e,t,n)-I.EPSILON7,0)}Vo.prototype.updatePriority=function(){let e=this.tileset,t=e.preferLeaves,n=e._minimumPriority,i=e._maximumPriority,o=4,r=1,s=0,a=o,c=s+a,u=o,f=c+u,d=r,p=Math.pow(10,f),g=f+d,m=r,C=Math.pow(10,g),x=g+m,A=Math.pow(10,x),b=VF(this._depth,n.depth,i.depth);b=t?1-b:b;let S=!e._skipLevelOfDetail&&this.refine===Br.REPLACE?VF(this._priorityHolder._distanceToCamera,n.distance,i.distance):VF(this._priorityReverseScreenSpaceError,n.reverseScreenSpaceError,i.reverseScreenSpaceError),v=gce(S,a,s),P=this._priorityProgressiveResolution?0:p,O=VF(this._priorityHolder._foveatedFactor,n.foveatedFactor,i.foveatedFactor),M=gce(O,u,c),B=this.priorityDeferred?C:0,L=e._pass===er.PRELOAD_FLIGHT?0:A;this._priority=b+v+P+M+B+L};Vo.prototype.isDestroyed=function(){return!1};Vo.prototype.destroy=function(){return this._content=this._content&&this._content.destroy(),this._expiredContent=this._expiredContent&&!this._expiredContent.isDestroyed()&&this._expiredContent.destroy(),this._debugBoundingVolume=this._debugBoundingVolume&&this._debugBoundingVolume.destroy(),this._debugContentBoundingVolume=this._debugContentBoundingVolume&&this._debugContentBoundingVolume.destroy(),this._debugViewerRequestVolume=this._debugViewerRequestVolume&&this._debugViewerRequestVolume.destroy(),fe(this)};var Qw=Vo;function up(e){e=y(e,y.EMPTY_OBJECT);let t=e.id,n=e.group,i=e.class,o=l(n.properties)?n.properties:{};this._class=i,this._properties=o,this._id=t,this._extras=n.extras,this._extensions=n.extensions}Object.defineProperties(up.prototype,{class:{get:function(){return this._class}},id:{get:function(){return this._id}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});up.prototype.hasProperty=function(e){return On.hasProperty(e,this._properties,this._class)};up.prototype.hasPropertyBySemantic=function(e){return On.hasPropertyBySemantic(e,this._properties,this._class)};up.prototype.getPropertyIds=function(e){return On.getPropertyIds(this._properties,this._class,e)};up.prototype.getProperty=function(e){return On.getProperty(e,this._properties,this._class)};up.prototype.setProperty=function(e,t){return On.setProperty(e,t,this._properties,this._class)};up.prototype.getPropertyBySemantic=function(e){return On.getPropertyBySemantic(e,this._properties,this._class)};up.prototype.setPropertyBySemantic=function(e,t){return On.setPropertyBySemantic(e,t,this._properties,this._class)};var ev=up;function fp(e){e=y(e,y.EMPTY_OBJECT);let t=e.tileset,n=e.class,i=l(t.properties)?t.properties:{};this._class=n,this._properties=i,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(fp.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});fp.prototype.hasProperty=function(e){return On.hasProperty(e,this._properties,this._class)};fp.prototype.hasPropertyBySemantic=function(e){return On.hasPropertyBySemantic(e,this._properties,this._class)};fp.prototype.getPropertyIds=function(e){return On.getPropertyIds(this._properties,this._class,e)};fp.prototype.getProperty=function(e){return On.getProperty(e,this._properties,this._class)};fp.prototype.setProperty=function(e,t){return On.setProperty(e,t,this._properties,this._class)};fp.prototype.getPropertyBySemantic=function(e){return On.getPropertyBySemantic(e,this._properties,this._class)};fp.prototype.setPropertyBySemantic=function(e,t){return On.setPropertyBySemantic(e,t,this._properties,this._class)};var kF=fp;function bce(e){e=y(e,y.EMPTY_OBJECT);let t=e.metadataJson,n=e.schema,i=y(t.metadata,t.tileset),o;l(i)&&(o=new kF({tileset:i,class:n.classes[i.class]}));let r=[],s=[],a=t.groups;if(Array.isArray(a)){let c=a.length;for(let u=0;u<c;u++){let f=a[u];s.push(new ev({group:f,class:n.classes[f.class]}))}}else if(l(a)){r=Object.keys(a).sort();let c=r.length;for(let u=0;u<c;u++){let f=r[u];if(a.hasOwnProperty(f)){let d=a[f];s.push(new ev({id:f,group:a[f],class:n.classes[d.class]}))}}}this._schema=n,this._groups=s,this._groupIds=r,this._tileset=o,this._statistics=t.statistics,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(bce.prototype,{schema:{get:function(){return this._schema}},groups:{get:function(){return this._groups}},groupIds:{get:function(){return this._groupIds}},tileset:{get:function(){return this._tileset}},statistics:{get:function(){return this._statistics}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});var UF=bce;var Sce={},q7e=new h;Sce.checkChildrenWithinParent=function(e){let t=e.children,n=t.length,i=e.boundingVolume;if(i instanceof Hf||i instanceof zf){let o=i._orientedBoundingBox;e._optimChildrenWithinParent=Vf.USE_OPTIMIZATION;for(let r=0;r<n;++r){let a=t[r].boundingVolume;if(!(a instanceof Hf||a instanceof zf)){e._optimChildrenWithinParent=Vf.SKIP_OPTIMIZATION;break}let c=a._orientedBoundingBox,u=h.subtract(c.center,o.center,q7e),f=h.magnitude(u);h.divideByScalar(u,f,u);let d=Math.abs(o.halfAxes[0]*u.x)+Math.abs(o.halfAxes[1]*u.y)+Math.abs(o.halfAxes[2]*u.z)+Math.abs(o.halfAxes[3]*u.x)+Math.abs(o.halfAxes[4]*u.y)+Math.abs(o.halfAxes[5]*u.z)+Math.abs(o.halfAxes[6]*u.x)+Math.abs(o.halfAxes[7]*u.y)+Math.abs(o.halfAxes[8]*u.z),p=Math.abs(c.halfAxes[0]*u.x)+Math.abs(c.halfAxes[1]*u.y)+Math.abs(c.halfAxes[2]*u.z)+Math.abs(c.halfAxes[3]*u.x)+Math.abs(c.halfAxes[4]*u.y)+Math.abs(c.halfAxes[5]*u.z)+Math.abs(c.halfAxes[6]*u.x)+Math.abs(c.halfAxes[7]*u.y)+Math.abs(c.halfAxes[8]*u.z);if(d<=p+f){e._optimChildrenWithinParent=Vf.SKIP_OPTIMIZATION;break}}}return e._optimChildrenWithinParent===Vf.USE_OPTIMIZATION};var zF=Sce;function Yy(){this._list=new j1,this._sentinel=this._list.add(),this._trimTiles=!1}Yy.prototype.reset=function(){this._list.splice(this._list.tail,this._sentinel)};Yy.prototype.touch=function(e){let t=e.cacheNode;l(t)&&this._list.splice(this._sentinel,t)};Yy.prototype.add=function(e){l(e.cacheNode)||(e.cacheNode=this._list.add(e))};Yy.prototype.unloadTile=function(e,t,n){let i=t.cacheNode;!l(i)||(this._list.remove(i),t.cacheNode=void 0,n(e,t))};Yy.prototype.unloadTiles=function(e,t){let n=this._trimTiles;this._trimTiles=!1;let i=this._list,o=e.maximumMemoryUsage*1024*1024,r=this._sentinel,s=i.head;for(;s!==r&&(e.totalMemoryUsageInBytes>o||n);){let a=s.item;s=s.next,this.unloadTile(e,a,t)}};Yy.prototype.trim=function(){this._trimTiles=!0};var HF=Yy;function GF(e){this.tilePropertyName=e,this._minimum=Number.MAX_VALUE,this._maximum=-Number.MAX_VALUE,this._previousMinimum=Number.MAX_VALUE,this._previousMaximum=-Number.MAX_VALUE,this._referenceMinimum={},this._referenceMaximum={}}function q9(e,t){let n;return t==="_loadTimestamp"?n=Q.toDate(e).getTime():n=e,n}GF.prototype.setReferenceMinimumMaximum=function(e,t,n){this._referenceMinimum[n]=q9(e,n),this._referenceMaximum[n]=q9(t,n)};function Y7e(e,t){let n=e.tilePropertyName;if(l(n)){let i=q9(t[n],n);return l(i)?(e._maximum=Math.max(i,e._maximum),e._minimum=Math.min(i,e._minimum),i):(e.tilePropertyName=void 0,i)}}var j9=[new U(.1,.1,.1,1),new U(.153,.278,.878,1),new U(.827,.231,.49,1),new U(.827,.188,.22,1),new U(1,.592,.259,1),new U(1,.843,0,1)];GF.prototype.colorize=function(e,t){let n=this.tilePropertyName;if(!l(n)||!e.contentAvailable||e._selectedFrame!==t.frameNumber)return;let i=Y7e(this,e),o=this._previousMinimum,r=this._previousMaximum;if(o===Number.MAX_VALUE||r===-Number.MAX_VALUE)return;let s=r-o+I.EPSILON7,c=I.clamp(i-o,0,s)/s,u=j9.length-1,f=c*u,d=Math.floor(f),p=Math.ceil(f),g=f-d,m=j9[d],C=j9[p],x=U.clone(U.WHITE);x.red=I.lerp(m.red,C.red,g),x.green=I.lerp(m.green,C.green,g),x.blue=I.lerp(m.blue,C.blue,g),e._debugColor=x};GF.prototype.resetMinimumMaximum=function(){let e=this.tilePropertyName;if(l(e)){let t=this._referenceMinimum[e],n=this._referenceMaximum[e],i=l(t)&&l(n);this._previousMinimum=i?t:this._minimum,this._previousMaximum=i?n:this._maximum,this._minimum=Number.MAX_VALUE,this._maximum=-Number.MAX_VALUE}};var WF=GF;function PT(){this.selected=0,this.visited=0,this.numberOfCommands=0,this.numberOfAttemptedRequests=0,this.numberOfPendingRequests=0,this.numberOfTilesProcessing=0,this.numberOfTilesWithContentReady=0,this.numberOfTilesTotal=0,this.numberOfLoadedTilesTotal=0,this.numberOfFeaturesSelected=0,this.numberOfFeaturesLoaded=0,this.numberOfPointsSelected=0,this.numberOfPointsLoaded=0,this.numberOfTrianglesSelected=0,this.numberOfTilesStyled=0,this.numberOfFeaturesStyled=0,this.numberOfTilesCulledWithChildrenUnion=0,this.geometryByteLength=0,this.texturesByteLength=0,this.batchTableByteLength=0}PT.prototype.clear=function(){this.selected=0,this.visited=0,this.numberOfCommands=0,this.numberOfAttemptedRequests=0,this.numberOfFeaturesSelected=0,this.numberOfPointsSelected=0,this.numberOfTrianglesSelected=0,this.numberOfTilesStyled=0,this.numberOfFeaturesStyled=0,this.numberOfTilesCulledWithChildrenUnion=0};function jF(e,t,n,i){let o=t.innerContents,r=t.pointsLength,s=t.trianglesLength,a=t.featuresLength,c=t.geometryByteLength,u=t.texturesByteLength,f=t.batchTableByteLength;if(i?(e.numberOfFeaturesLoaded+=n?-a:a,e.numberOfPointsLoaded+=n?-r:r,e.geometryByteLength+=n?-c:c,e.texturesByteLength+=n?-u:u,e.batchTableByteLength+=n?-f:f):(e.numberOfFeaturesSelected+=n?-a:a,e.numberOfPointsSelected+=n?-r:r,e.numberOfTrianglesSelected+=n?-s:s),l(o)){let d=o.length;for(let p=0;p<d;++p)jF(e,o[p],n,i)}}PT.prototype.incrementSelectionCounts=function(e){jF(this,e,!1,!1)};PT.prototype.incrementLoadCounts=function(e){jF(this,e,!1,!0)};PT.prototype.decrementLoadCounts=function(e){jF(this,e,!0,!0)};PT.clone=function(e,t){t.selected=e.selected,t.visited=e.visited,t.numberOfCommands=e.numberOfCommands,t.selected=e.selected,t.numberOfAttemptedRequests=e.numberOfAttemptedRequests,t.numberOfPendingRequests=e.numberOfPendingRequests,t.numberOfTilesProcessing=e.numberOfTilesProcessing,t.numberOfTilesWithContentReady=e.numberOfTilesWithContentReady,t.numberOfTilesTotal=e.numberOfTilesTotal,t.numberOfFeaturesSelected=e.numberOfFeaturesSelected,t.numberOfFeaturesLoaded=e.numberOfFeaturesLoaded,t.numberOfPointsSelected=e.numberOfPointsSelected,t.numberOfPointsLoaded=e.numberOfPointsLoaded,t.numberOfTrianglesSelected=e.numberOfTrianglesSelected,t.numberOfTilesStyled=e.numberOfTilesStyled,t.numberOfFeaturesStyled=e.numberOfFeaturesStyled,t.numberOfTilesCulledWithChildrenUnion=e.numberOfTilesCulledWithChildrenUnion,t.geometryByteLength=e.geometryByteLength,t.texturesByteLength=e.texturesByteLength,t.batchTableByteLength=e.batchTableByteLength};var pg=PT;function tv(){this._style=void 0,this._styleDirty=!1,this._lastStyleTime=0}Object.defineProperties(tv.prototype,{style:{get:function(){return this._style},set:function(e){e!==this._style&&(this._style=e,this._styleDirty=!0)}}});tv.prototype.makeDirty=function(){this._styleDirty=!0};tv.prototype.resetDirty=function(){this._styleDirty=!1};tv.prototype.applyStyle=function(e){if(!e.ready||l(this._style)&&!this._style._ready)return;let t=this._styleDirty;t&&++this._lastStyleTime;let n=this._lastStyleTime,i=e._statistics,o=t?e._selectedTiles:e._selectedTilesToStyle,r=o.length;for(let s=0;s<r;++s){let a=o[s];if(a.lastStyleTime!==n){let c=a.content;a.lastStyleTime=n,c.applyStyle(this._style),i.numberOfFeaturesStyled+=c.featuresLength,++i.numberOfTilesStyled}}};var qF=tv;function X7e(e,t,n){let i=eo(t,"3DTILES_implicit_tiling")?t.extensions["3DTILES_implicit_tiling"]:t.implicitTiling;this.baseResource=e,this.geometricError=t.geometricError,this.metadataSchema=n;let o=t.boundingVolume;if(!l(o.box)&&!l(o.region)&&!eo(o,"3DTILES_bounding_volume_S2"))throw new de("Only box, region and 3DTILES_bounding_volume_S2 are supported for implicit tiling");this.boundingVolume=o,this.refine=t.refine,this.subtreeUriTemplate=new Ie({url:i.subtrees.uri}),this.contentUriTemplates=[],this.contentHeaders=[];let r=K7e(t);for(let s=0;s<r.length;s++){let a=r[s];this.contentHeaders.push(et(a,!0));let c=new Ie({url:a.uri});this.contentUriTemplates.push(c)}this.contentCount=this.contentHeaders.length,this.tileHeader=Z7e(t),this.subdivisionScheme=Gr[i.subdivisionScheme],this.branchingFactor=Gr.getBranchingFactor(this.subdivisionScheme),this.subtreeLevels=i.subtreeLevels,l(i.availableLevels)?this.availableLevels=i.availableLevels:this.availableLevels=i.maximumLevel+1}function K7e(e){if(eo(e,"3DTILES_multiple_contents")){let t=e.extensions["3DTILES_multiple_contents"];return l(t.contents)?t.contents:t.content}return l(e.contents)?e.contents:l(e.content)?[e.content]:[]}function Z7e(e){let t=et(e,!0);return l(t.extensions)&&(delete t.extensions["3DTILES_implicit_tiling"],delete t.extensions["3DTILES_multiple_contents"],Object.keys(t.extensions).length===0&&delete t.extensions),delete t.implicitTiling,delete t.contents,delete t.content,t}var YF=X7e;function Ro(e){this.subdivisionScheme=e.subdivisionScheme,this.subtreeLevels=e.subtreeLevels,this.level=e.level,this.x=e.x,this.y=e.y,this.z=void 0,e.subdivisionScheme===Gr.OCTREE&&(this.z=e.z)}Object.defineProperties(Ro.prototype,{childIndex:{get:function(){let e=0;return e|=this.x&1,e|=(this.y&1)<<1,this.subdivisionScheme===Gr.OCTREE&&(e|=(this.z&1)<<2),e}},mortonIndex:{get:function(){return this.subdivisionScheme===Gr.OCTREE?Z0.encode3D(this.x,this.y,this.z):Z0.encode2D(this.x,this.y)}},tileIndex:{get:function(){let e=this.subdivisionScheme===Gr.OCTREE?((1<<3*this.level)-1)/7:((1<<2*this.level)-1)/3,t=this.mortonIndex;return e+t}}});Ro.prototype.getDescendantCoordinates=function(e){let t=this.level+e.level,n=(this.x<<e.level)+e.x,i=(this.y<<e.level)+e.y;if(this.subdivisionScheme===Gr.OCTREE){let o=(this.z<<e.level)+e.z;return new Ro({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:t,x:n,y:i,z:o})}return new Ro({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:t,x:n,y:i})};Ro.prototype.getAncestorCoordinates=function(e){let t=1<<e,n=this.level-e,i=Math.floor(this.x/t),o=Math.floor(this.y/t);if(this.subdivisionScheme===Gr.OCTREE){let r=Math.floor(this.z/t);return new Ro({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:n,x:i,y:o,z:r})}return new Ro({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:n,x:i,y:o})};Ro.prototype.getOffsetCoordinates=function(e){let t=e.level-this.level,n=1<<t,i=e.x%n,o=e.y%n;if(this.subdivisionScheme===Gr.OCTREE){let r=e.z%n;return new Ro({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:t,x:i,y:o,z:r})}return new Ro({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:t,x:i,y:o})};Ro.prototype.getChildCoordinates=function(e){let t=this.level+1,n=2*this.x+e%2,i=2*this.y+Math.floor(e/2)%2;if(this.subdivisionScheme===Gr.OCTREE){let o=2*this.z+Math.floor(e/4)%2;return new Ro({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:t,x:n,y:i,z:o})}return new Ro({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:t,x:n,y:i})};Ro.prototype.getSubtreeCoordinates=function(){return this.getAncestorCoordinates(this.level%this.subtreeLevels)};Ro.prototype.getParentSubtreeCoordinates=function(){return this.getAncestorCoordinates(this.level%this.subtreeLevels+this.subtreeLevels)};Ro.prototype.isAncestor=function(e){let t=e.level-this.level;if(t<=0)return!1;let n=e.x>>t,i=e.y>>t,o=this.x===n,r=this.y===i;if(this.subdivisionScheme===Gr.OCTREE){let s=e.z>>t,a=this.z===s;return o&&r&&a}return o&&r};Ro.prototype.isEqual=function(e){return this.subdivisionScheme===e.subdivisionScheme&&this.subtreeLevels===e.subtreeLevels&&this.level===e.level&&this.x===e.x&&this.y===e.y&&(this.subdivisionScheme===Gr.OCTREE?this.z===e.z:!0)};Ro.prototype.isImplicitTilesetRoot=function(){return this.level===0};Ro.prototype.isSubtreeRoot=function(){return this.level%this.subtreeLevels===0};Ro.prototype.isBottomOfSubtree=function(){return this.level%this.subtreeLevels===this.subtreeLevels-1};Ro.prototype.getTemplateValues=function(){let e={level:this.level,x:this.x,y:this.y};return this.subdivisionScheme===Gr.OCTREE&&(e.z=this.z),e};var wce=[0,0,0];Ro.fromMortonIndex=function(e,t,n,i){let o;return e===Gr.OCTREE?(o=Z0.decode3D(i,wce),new Ro({subdivisionScheme:e,subtreeLevels:t,level:n,x:o[0],y:o[1],z:o[2]})):(o=Z0.decode2D(i,wce),new Ro({subdivisionScheme:e,subtreeLevels:t,level:n,x:o[0],y:o[1]}))};Ro.fromTileIndex=function(e,t,n){let i,o,r;return e===Gr.OCTREE?(i=Math.floor(I.log2(7*n+1)/3),o=((1<<3*i)-1)/7,r=n-o):(i=Math.floor(I.log2(3*n+1)/2),o=((1<<2*i)-1)/3,r=n-o),Ro.fromMortonIndex(e,t,i,r)};var XF=Ro;function Ds(e){e=y(e,y.EMPTY_OBJECT),this._url=void 0,this._basePath=void 0,this._root=void 0,this._resource=void 0,this._asset=void 0,this._properties=void 0,this._geometricError=void 0,this._extensionsUsed=void 0,this._extensions=void 0,this._modelUpAxis=void 0,this._modelForwardAxis=void 0,this._cache=new HF,this._processingQueue=[],this._selectedTiles=[],this._emptyTiles=[],this._requestedTiles=[],this._selectedTilesToStyle=[],this._loadTimestamp=void 0,this._timeSinceLoad=0,this._updatedVisibilityFrame=0,this._updatedModelMatrixFrame=0,this._modelMatrixChanged=!1,this._previousModelMatrix=void 0,this._extras=void 0,this._credits=void 0,this._showCreditsOnScreen=y(e.showCreditsOnScreen,!1),this._cullWithChildrenBounds=y(e.cullWithChildrenBounds,!0),this._allTilesAdditive=!0,this._hasMixedContent=!1,this._stencilClearCommand=void 0,this._backfaceCommands=new hu,this._maximumScreenSpaceError=y(e.maximumScreenSpaceError,16),this._maximumMemoryUsage=y(e.maximumMemoryUsage,512),this._styleEngine=new qF,this._styleApplied=!1,this._modelMatrix=l(e.modelMatrix)?N.clone(e.modelMatrix):N.clone(N.IDENTITY),this._statistics=new pg,this._statisticsLast=new pg,this._statisticsPerPass=new Array(er.NUMBER_OF_PASSES);for(let r=0;r<er.NUMBER_OF_PASSES;++r)this._statisticsPerPass[r]=new pg;this._requestedTilesInFlight=[],this._maximumPriority={foveatedFactor:-Number.MAX_VALUE,depth:-Number.MAX_VALUE,distance:-Number.MAX_VALUE,reverseScreenSpaceError:-Number.MAX_VALUE},this._minimumPriority={foveatedFactor:Number.MAX_VALUE,depth:Number.MAX_VALUE,distance:Number.MAX_VALUE,reverseScreenSpaceError:Number.MAX_VALUE},this._heatmap=new WF(e.debugHeatmapTilePropertyName),this.cullRequestsWhileMoving=y(e.cullRequestsWhileMoving,!0),this._cullRequestsWhileMoving=!1,this.cullRequestsWhileMovingMultiplier=y(e.cullRequestsWhileMovingMultiplier,60),this.progressiveResolutionHeightFraction=I.clamp(y(e.progressiveResolutionHeightFraction,.3),0,.5),this.preferLeaves=y(e.preferLeaves,!1),this._tilesLoaded=!1,this._initialTilesLoaded=!1,this._tileDebugLabels=void 0,this._classificationType=e.classificationType,this._ellipsoid=y(e.ellipsoid,oe.WGS84),this._initialClippingPlanesOriginMatrix=N.IDENTITY,this._clippingPlanesOriginMatrix=void 0,this._clippingPlanesOriginMatrixDirty=!0,this._vectorClassificationOnly=y(e.vectorClassificationOnly,!1),this._vectorKeepDecodedPositions=y(e.vectorKeepDecodedPositions,!1),this.preloadWhenHidden=y(e.preloadWhenHidden,!1),this.preloadFlightDestinations=y(e.preloadFlightDestinations,!0),this._pass=void 0,this.dynamicScreenSpaceError=y(e.dynamicScreenSpaceError,!1),this.foveatedScreenSpaceError=y(e.foveatedScreenSpaceError,!0),this._foveatedConeSize=y(e.foveatedConeSize,.1),this._foveatedMinimumScreenSpaceErrorRelaxation=y(e.foveatedMinimumScreenSpaceErrorRelaxation,0),this.foveatedInterpolationCallback=y(e.foveatedInterpolationCallback,I.lerp),this.foveatedTimeDelay=y(e.foveatedTimeDelay,.2),this.dynamicScreenSpaceErrorDensity=.00278,this.dynamicScreenSpaceErrorFactor=4,this.dynamicScreenSpaceErrorHeightFalloff=.25,this._dynamicScreenSpaceErrorComputedDensity=0,this.shadows=y(e.shadows,mn.ENABLED),this.show=y(e.show,!0),this.colorBlendMode=Sl.HIGHLIGHT,this.colorBlendAmount=.5,this._pointCloudShading=new zm(e.pointCloudShading),this._pointCloudEyeDomeLighting=new K_,this.loadProgress=new ge,this.allTilesLoaded=new ge,this.initialTilesLoaded=new ge,this.tileLoad=new ge,this.tileUnload=new ge,this.tileFailed=new ge,this.tileVisible=new ge,this.skipLevelOfDetail=y(e.skipLevelOfDetail,!1),this._skipLevelOfDetail=this.skipLevelOfDetail,this._disableSkipLevelOfDetail=!1,this.baseScreenSpaceError=y(e.baseScreenSpaceError,1024),this.skipScreenSpaceErrorFactor=y(e.skipScreenSpaceErrorFactor,16),this.skipLevels=y(e.skipLevels,1),this.immediatelyLoadDesiredLevelOfDetail=y(e.immediatelyLoadDesiredLevelOfDetail,!1),this.loadSiblings=y(e.loadSiblings,!1),this._clippingPlanes=void 0,this.clippingPlanes=e.clippingPlanes,l(e.imageBasedLighting)?(this._imageBasedLighting=e.imageBasedLighting,this._shouldDestroyImageBasedLighting=!1):(this._imageBasedLighting=new GA,this._shouldDestroyImageBasedLighting=!0),this.lightColor=e.lightColor,this.backFaceCulling=y(e.backFaceCulling,!0),this._enableShowOutline=y(e.enableShowOutline,!0),this.showOutline=y(e.showOutline,!0),this.outlineColor=y(e.outlineColor,U.BLACK),this.splitDirection=y(e.splitDirection,Kc.NONE),this._projectTo2D=y(e.projectTo2D,!1),this.debugFreezeFrame=y(e.debugFreezeFrame,!1),this.debugColorizeTiles=y(e.debugColorizeTiles,!1),this._enableDebugWireframe=y(e.enableDebugWireframe,!1),this.debugWireframe=y(e.debugWireframe,!1),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.debugShowContentBoundingVolume=y(e.debugShowContentBoundingVolume,!1),this.debugShowViewerRequestVolume=y(e.debugShowViewerRequestVolume,!1),this._tileDebugLabels=void 0,this.debugPickedTileLabelOnly=!1,this.debugPickedTile=void 0,this.debugPickPosition=void 0,this.debugShowGeometricError=y(e.debugShowGeometricError,!1),this.debugShowRenderingStatistics=y(e.debugShowRenderingStatistics,!1),this.debugShowMemoryUsage=y(e.debugShowMemoryUsage,!1),this.debugShowUrl=y(e.debugShowUrl,!1),this.examineVectorLinesFunction=void 0,this._metadataExtension=void 0,this._customShader=e.customShader;let t=y(e.featureIdLabel,"featureId_0");typeof t=="number"&&(t=`featureId_${t}`),this._featureIdLabel=t;let n=y(e.instanceFeatureIdLabel,"instanceFeatureId_0");typeof n=="number"&&(n=`instanceFeatureId_${n}`),this._instanceFeatureIdLabel=n,this._schemaLoader=void 0;let i=this,o;this._readyPromise=Promise.resolve(e.url).then(function(r){let s;return o=Ie.createIfNeeded(r),i._resource=o,i._credits=o.credits,o.extension==="json"?s=o.getBaseUri(!0):o.isDataUri&&(s=""),i._url=o.url,i._basePath=s,Ds.loadJson(o)}).then(function(r){if(!i.isDestroyed())return $7e(i,r)}).then(function(r){if(i.isDestroyed())return;i._root=i.loadTileset(o,r);let s=l(r.asset.gltfUpAxis)?Po.fromName(r.asset.gltfUpAxis):Po.Y,a=y(e.modelUpAxis,s),c=y(e.modelForwardAxis,Po.X),u=r.asset;i._asset=u,i._properties=r.properties,i._geometricError=r.geometricError,i._extensionsUsed=r.extensionsUsed,i._extensions=r.extensions,i._modelUpAxis=a,i._modelForwardAxis=c,i._extras=r.extras;let f=u.extras;if(l(f)&&l(f.cesium)&&l(f.cesium.credits)){let m=f.cesium.credits,C=i._credits;l(C)||(C=[],i._credits=C);for(let x=0;x<m.length;++x){let A=m[x];C.push(new jt(A.html,i._showCreditsOnScreen))}}let p=i._root.createBoundingVolume(r.root.boundingVolume,N.IDENTITY).boundingSphere.center,g=i._ellipsoid.cartesianToCartographic(p);return l(g)&&g.height>si._defaultMinTerrainHeight&&(i._initialClippingPlanesOriginMatrix=Dt.eastNorthUpToFixedFrame(p)),i._clippingPlanesOriginMatrix=N.clone(i._initialClippingPlanesOriginMatrix),i})}Object.defineProperties(Ds.prototype,{isCesium3DTileset:{get:function(){return!0}},asset:{get:function(){return this._asset}},extensions:{get:function(){return this._extensions}},clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){Zs.setOwner(e,this,"_clippingPlanes")}},properties:{get:function(){return this._properties}},ready:{get:function(){return l(this._root)}},readyPromise:{get:function(){return this._readyPromise}},tilesLoaded:{get:function(){return this._tilesLoaded}},resource:{get:function(){return this._resource}},basePath:{get:function(){return or("Cesium3DTileset.basePath","Cesium3DTileset.basePath has been deprecated. All tiles are relative to the url of the tileset JSON file that contains them. Use the url property instead."),this._basePath}},style:{get:function(){return this._styleEngine.style},set:function(e){this._styleEngine.style=e}},customShader:{get:function(){return this._customShader},set:function(e){this._customShader=e}},metadataExtension:{get:function(){return this._metadataExtension}},metadata:{get:function(){if(l(this._metadataExtension))return this._metadataExtension.tileset}},schema:{get:function(){if(l(this._metadataExtension))return this._metadataExtension.schema}},maximumScreenSpaceError:{get:function(){return this._maximumScreenSpaceError},set:function(e){this._maximumScreenSpaceError=e}},maximumMemoryUsage:{get:function(){return this._maximumMemoryUsage},set:function(e){this._maximumMemoryUsage=e}},pointCloudShading:{get:function(){return this._pointCloudShading},set:function(e){this._pointCloudShading=e}},root:{get:function(){return this._root}},boundingSphere:{get:function(){return this._root.updateTransform(this._modelMatrix),this._root.boundingSphere}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._modelMatrix=N.clone(e,this._modelMatrix)}},timeSinceLoad:{get:function(){return this._timeSinceLoad}},totalMemoryUsageInBytes:{get:function(){let e=this._statistics;return e.texturesByteLength+e.geometryByteLength+e.batchTableByteLength}},clippingPlanesOriginMatrix:{get:function(){return l(this._clippingPlanesOriginMatrix)?(this._clippingPlanesOriginMatrixDirty&&(N.multiply(this.root.computedTransform,this._initialClippingPlanesOriginMatrix,this._clippingPlanesOriginMatrix),this._clippingPlanesOriginMatrixDirty=!1),this._clippingPlanesOriginMatrix):N.IDENTITY}},styleEngine:{get:function(){return this._styleEngine}},statistics:{get:function(){return this._statistics}},classificationType:{get:function(){return this._classificationType}},ellipsoid:{get:function(){return this._ellipsoid}},foveatedConeSize:{get:function(){return this._foveatedConeSize},set:function(e){this._foveatedConeSize=e}},foveatedMinimumScreenSpaceErrorRelaxation:{get:function(){return this._foveatedMinimumScreenSpaceErrorRelaxation},set:function(e){this._foveatedMinimumScreenSpaceErrorRelaxation=e}},extras:{get:function(){return this._extras}},imageBasedLighting:{get:function(){return this._imageBasedLighting},set:function(e){e!==this._imageBasedLighting&&(this._shouldDestroyImageBasedLighting&&!this._imageBasedLighting.isDestroyed()&&this._imageBasedLighting.destroy(),this._imageBasedLighting=e,this._shouldDestroyImageBasedLighting=!1)}},vectorClassificationOnly:{get:function(){return this._vectorClassificationOnly}},vectorKeepDecodedPositions:{get:function(){return this._vectorKeepDecodedPositions}},showCreditsOnScreen:{get:function(){return this._showCreditsOnScreen},set:function(e){this._showCreditsOnScreen=e}},featureIdLabel:{get:function(){return this._featureIdLabel},set:function(e){typeof e=="number"&&(e=`featureId_${e}`),this._featureIdLabel=e}},instanceFeatureIdLabel:{get:function(){return this._instanceFeatureIdLabel},set:function(e){typeof e=="number"&&(e=`instanceFeatureId_${e}`),this._instanceFeatureIdLabel=e}}});Ds.loadJson=function(e){return Ie.createIfNeeded(e).fetchJson()};Ds.prototype.makeStyleDirty=function(){this._styleEngine.makeDirty()};Ds.prototype.loadTileset=function(e,t,n){let i=t.asset;if(!l(i))throw new de("Tileset must have an asset property.");if(i.version!=="0.0"&&i.version!=="1.0"&&i.version!=="1.1")throw new de("The tileset must be 3D Tiles version 0.0, 1.0, or 1.1");l(t.extensionsRequired)&&Ds.checkSupportedExtensions(t.extensionsRequired);let o=this._statistics,r=i.tilesetVersion;l(r)&&(this._basePath+=`?v=${r}`,e=e.clone(),e.setQueryParameters({v:r}));let s=vce(this,e,t.root,n);l(n)&&(n.children.push(s),s._depth=n._depth+1);let a=[];for(a.push(s);a.length>0;){let c=a.pop();++o.numberOfTilesTotal,this._allTilesAdditive=this._allTilesAdditive&&c.refine===Br.ADD;let u=c._header.children;if(l(u)){let f=u.length;for(let d=0;d<f;++d){let p=u[d],g=vce(this,e,p,c);c.children.push(g),g._depth=c._depth+1,a.push(g)}}this._cullWithChildrenBounds&&zF.checkChildrenWithinParent(c)}return s};function vce(e,t,n,i){if(l(n.implicitTiling)||eo(n,"3DTILES_implicit_tiling")){let r=e.schema,s=new YF(t,n,r),a=new XF({subdivisionScheme:s.subdivisionScheme,subtreeLevels:s.subtreeLevels,level:0,x:0,y:0,z:0}),c=s.subtreeUriTemplate.getDerivedResource({templateValues:a.getTemplateValues()}).url,f=et(n,!0);f.contents=[{uri:c}],delete f.content,delete f.extensions;let d=new Qw(e,t,f,i);return d.implicitTileset=s,d.implicitCoordinates=a,d}return new Qw(e,t,n,i)}function $7e(e,t){let n=eo(t,"3DTILES_metadata")?t.extensions["3DTILES_metadata"]:t,i;if(l(n.schemaUri)){let o=e._resource.getDerivedResource({url:n.schemaUri});i=ho.loadSchema({resource:o})}else if(l(n.schema))i=ho.loadSchema({schema:n.schema});else return Promise.resolve(t);return e._schemaLoader=i,i.promise.then(function(o){return e._metadataExtension=new UF({schema:o.schema,metadataJson:n}),t})}var Dce=new h,J7e=new he,Q7e=new N,eje=new h,tje=new h,nje=new h;function ije(e,t){let n,i,o,r,s,a=t.camera,c=e._root,u=c.contentBoundingVolume;if(u instanceof zf)n=h.normalize(a.positionWC,Dce),i=a.directionWC,o=a.positionCartographic.height,r=u.minimumHeight,s=u.maximumHeight;else{let A=N.inverseTransformation(c.computedTransform,Q7e),b=t.mapProjection.ellipsoid,E=u.boundingVolume,S=N.multiplyByPoint(A,E.center,eje);if(h.magnitude(S)>b.minimumRadius){let v=he.fromCartesian(S,b,J7e);n=h.normalize(a.positionWC,Dce),i=a.directionWC,o=a.positionCartographic.height,r=0,s=v.height*2}else{let v=N.multiplyByPoint(A,a.positionWC,tje);if(n=h.UNIT_Z,i=N.multiplyByPointAsVector(A,a.directionWC,nje),i=h.normalize(i,i),o=v.z,u instanceof Hf){let P=c._header.boundingVolume.box[11];r=S.z-P,s=S.z+P}else if(u instanceof hg){let P=E.radius;r=S.z-P,s=S.z+P}}}let f=e.dynamicScreenSpaceErrorHeightFalloff,d=r+(s-r)*f,p=s,g=I.clamp((o-d)/(p-d),0,1),m=Math.abs(h.dot(i,n)),C=1-m;C=C*(1-g);let x=e.dynamicScreenSpaceErrorDensity;x*=C,e._dynamicScreenSpaceErrorComputedDensity=x}function oje(e,t){if(t.hasEmptyContent)return;let n=e._statistics,i=t.contentExpired,o=t.requestContent();if(o>0){n.numberOfAttemptedRequests+=o;return}i&&(t.hasTilesetContent||t.hasImplicitContent?_je(e,t):(n.decrementLoadCounts(t.content),--n.numberOfTilesWithContentReady)),e._requestedTilesInFlight.push(t),t.contentReadyToProcessPromise.then(cje(e,t)).catch(function(r){}),t.contentReadyPromise.then(uje(e,t)).catch(lje(e,t))}function rje(e,t){return e._priority-t._priority}Ds.prototype.postPassesUpdate=function(e){!this.ready||(sje(this,e),yje(this,e),this._cache.unloadTiles(this,Oce),this._styleApplied&&this._styleEngine.resetDirty(),this._styleApplied=!1)};Ds.prototype.prePassesUpdate=function(e){if(!this.ready)return;dje(this,e);let t=this._clippingPlanes;this._clippingPlanesOriginMatrixDirty=!0,l(t)&&t.enabled&&t.update(e),l(this._loadTimestamp)||(this._loadTimestamp=Q.clone(e.time)),this._timeSinceLoad=Math.max(Q.secondsDifference(e.time,this._loadTimestamp)*1e3,0),this._skipLevelOfDetail=this.skipLevelOfDetail&&!l(this._classificationType)&&!this._disableSkipLevelOfDetail&&!this._allTilesAdditive,this.dynamicScreenSpaceError&&ije(this,e),e.newFrame&&this._cache.reset()};function sje(e,t){let n=e._requestedTilesInFlight,i=0,o=n.length;for(let r=0;r<o;++r){let s=n[r],a=t.frameNumber-s._touchedFrame>=1;if(s._contentState!==So.LOADING){++i;continue}else if(a){s.cancelRequests(),++i;continue}i>0&&(n[r-i]=s)}n.length-=i}function aje(e,t){let n=e._requestedTiles,i=n.length;n.sort(rje);for(let o=0;o<i;++o)oje(e,n[o])}function cje(e,t){return function(){e._processingQueue.push(t),++e._statistics.numberOfTilesProcessing}}function lje(e,t){return function(n){if(t._contentState!==So.FAILED)return;let i=t._contentResource.url,o=l(n.message)?n.message:n.toString();e.tileFailed.numberOfListeners>0?e.tileFailed.raiseEvent({url:i,message:o}):(console.log(`A 3D tile failed to load: ${i}`),console.log(`Error: ${o}`))}}function uje(e,t){return function(n){--e._statistics.numberOfTilesProcessing,l(n)&&(!t.hasTilesetContent&&!t.hasImplicitContent&&(e._statistics.incrementLoadCounts(t.content),++e._statistics.numberOfTilesWithContentReady,++e._statistics.numberOfLoadedTilesTotal,e._cache.add(t)),e.tileLoad.raiseEvent(t))}}function fje(e){let t=e._processingQueue,n=t.length,i=0;for(let o=0;o<n;++o){let r=t[o];if(r._contentState!==So.PROCESSING){++i;continue}i>0&&(t[o-i]=r)}t.length-=i}function dje(e,t){fje(e);let n=e._processingQueue,i=n.length;for(let o=0;o<i;++o)n[o].process(e,t)}var KF=new h,hje={maximumFractionDigits:3};function Pce(e){let t=e/1048576;return t<1?t.toLocaleString(void 0,hje):Math.round(t).toLocaleString()}function Y9(e){let t=e.boundingVolume.boundingVolume,n=t.halfAxes,i=t.radius,o=h.clone(t.center,KF);if(l(n))o.x+=.75*(n[0]+n[3]+n[6]),o.y+=.75*(n[1]+n[4]+n[7]),o.z+=.75*(n[2]+n[5]+n[8]);else if(l(i)){let r=h.normalize(t.center,KF);r=h.multiplyByScalar(r,.75*i,KF),o=h.add(r,t.center,KF)}return o}function X9(e,t,n){let i="",o=0;if(t.debugShowGeometricError&&(i+=`
  5110. Geometric error: ${e.geometricError}`,o++),t.debugShowRenderingStatistics&&(i+=`
  5111. Commands: ${e.commandsLength}`,o++,e.content.pointsLength>0&&(i+=`
  5112. Points: ${e.content.pointsLength}`,o++),e.content.trianglesLength>0&&(i+=`
  5113. Triangles: ${e.content.trianglesLength}`,o++),i+=`
  5114. Features: ${e.content.featuresLength}`,o++),t.debugShowMemoryUsage&&(i+=`
  5115. Texture Memory: ${Pce(e.content.texturesByteLength)}`,i+=`
  5116. Geometry Memory: ${Pce(e.content.geometryByteLength)}`,o+=2),t.debugShowUrl)if(e.hasMultipleContents){i+=`
  5117. Urls:`;let s=e.content.innerContentUrls;for(let a=0;a<s.length;a++)i+=`
  5118. - ${s[a]}`;o+=s.length}else i+=`
  5119. Url: ${e._contentHeader.uri}`,o++;let r={text:i.substring(1),position:n,font:`${19-o}px sans-serif`,showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY};return t._tileDebugLabels.add(r)}function mje(e,t){let n,i,o=e._selectedTiles,r=o.length,s=e._emptyTiles,a=s.length;if(e._tileDebugLabels.removeAll(),e.debugPickedTileLabelOnly){if(l(e.debugPickedTile)){let c=l(e.debugPickPosition)?e.debugPickPosition:Y9(e.debugPickedTile),u=X9(e.debugPickedTile,e,c);u.pixelOffset=new G(15,-15)}}else{for(n=0;n<r;++n)i=o[n],X9(i,e,Y9(i));for(n=0;n<a;++n)i=s[n],(i.hasTilesetContent||i.hasImplicitContent)&&X9(i,e,Y9(i))}e._tileDebugLabels.update(t)}function pje(e,t,n){e._styleEngine.applyStyle(e),e._styleApplied=!0;let i=n.isRender,o=e._statistics,r=t.commandList,s=r.length,a=e._selectedTiles,c=a.length,u=e._emptyTiles,f=u.length,d=e.tileVisible,p,g,m=e._skipLevelOfDetail&&e._hasMixedContent&&t.context.stencilBuffer&&c>0;e._backfaceCommands.length=0,m&&(l(e._stencilClearCommand)||(e._stencilClearCommand=new oi({stencil:0,pass:xe.CESIUM_3D_TILE,renderState:Fe.fromCache({stencilMask:vt.SKIP_LOD_MASK})})),r.push(e._stencilClearCommand));let C=r.length;for(p=0;p<c;++p)g=a[p],i&&d.raiseEvent(g),g.update(e,t,n),o.incrementSelectionCounts(g.content),++o.selected;for(p=0;p<f;++p)g=u[p],g.update(e,t,n);let x=r.length-C;if(e._backfaceCommands.trim(),m){let A=e._backfaceCommands.values,b=A.length;for(r.length+=b,p=x-1;p>=0;--p)r[C+b+p]=r[C+p];for(p=0;p<b;++p)r[C+p]=A[p]}x=r.length-s,o.numberOfCommands=x,i&&e.pointCloudShading.attenuation&&e.pointCloudShading.eyeDomeLighting&&x>0&&e._pointCloudEyeDomeLighting.update(t,s,e.pointCloudShading,e.boundingSphere),i&&(e.debugShowGeometricError||e.debugShowRenderingStatistics||e.debugShowMemoryUsage||e.debugShowUrl?(l(e._tileDebugLabels)||(e._tileDebugLabels=new tp),mje(e,t)):e._tileDebugLabels=e._tileDebugLabels&&e._tileDebugLabels.destroy())}var Ice=[];function _je(e,t){let n=t,i=Ice;for(i.push(t);i.length>0;){t=i.pop();let o=t.children,r=o.length;for(let s=0;s<r;++s)i.push(o[s]);t!==n&&(gje(e,t),--e._statistics.numberOfTilesTotal)}n.children=[]}function Oce(e,t){e.tileUnload.raiseEvent(t),e._statistics.decrementLoadCounts(t.content),--e._statistics.numberOfTilesWithContentReady,t.unloadContent()}function gje(e,t){e._cache.unloadTile(e,t,Oce),t.destroy()}Ds.prototype.trimLoadedTiles=function(){this._cache.trim()};function yje(e,t){let n=e._statistics,i=e._statisticsLast,o=n.numberOfPendingRequests,r=n.numberOfTilesProcessing,s=i.numberOfPendingRequests,a=i.numberOfTilesProcessing;pg.clone(n,i);let c=o!==s||r!==a;c&&t.afterRender.push(function(){e.loadProgress.raiseEvent(o,r)}),e._tilesLoaded=n.numberOfPendingRequests===0&&n.numberOfTilesProcessing===0&&n.numberOfAttemptedRequests===0,c&&e._tilesLoaded&&(t.afterRender.push(function(){e.allTilesLoaded.raiseEvent()}),e._initialTilesLoaded||(e._initialTilesLoaded=!0,t.afterRender.push(function(){e.initialTilesLoaded.raiseEvent()})))}function Cje(e){e._heatmap.resetMinimumMaximum(),e._minimumPriority.depth=Number.MAX_VALUE,e._maximumPriority.depth=-Number.MAX_VALUE,e._minimumPriority.foveatedFactor=Number.MAX_VALUE,e._maximumPriority.foveatedFactor=-Number.MAX_VALUE,e._minimumPriority.distance=Number.MAX_VALUE,e._maximumPriority.distance=-Number.MAX_VALUE,e._minimumPriority.reverseScreenSpaceError=Number.MAX_VALUE,e._maximumPriority.reverseScreenSpaceError=-Number.MAX_VALUE}function xje(e,t){(t.frameNumber!==e._updatedModelMatrixFrame||!l(e._previousModelMatrix))&&(e._updatedModelMatrixFrame=t.frameNumber,e._modelMatrixChanged=!N.equals(e.modelMatrix,e._previousModelMatrix),e._modelMatrixChanged&&(e._previousModelMatrix=N.clone(e.modelMatrix,e._previousModelMatrix)))}function Aje(e,t,n,i){if(t.mode===ee.MORPHING||!e.ready)return!1;let o=e._statistics;o.clear();let r=i.isRender;++e._updatedVisibilityFrame,Cje(e),xje(e,t),e._cullRequestsWhileMoving=e.cullRequestsWhileMoving&&!e._modelMatrixChanged;let s=i.traversal.selectTiles(e,t);if(i.requestTiles&&aje(e),pje(e,t,i),pg.clone(o,n),r){let a=e._credits;if(l(a)&&o.selected!==0){let c=a.length;for(let u=0;u<c;++u){let f=a[u];f.showOnScreen=e._showCreditsOnScreen,t.creditDisplay.addCredit(f)}}}return s}Ds.prototype.update=function(e){this.updateForPass(e,e.tilesetPassState)};Ds.prototype.updateForPass=function(e,t){let n=t.pass;if(n===er.PRELOAD&&(!this.preloadWhenHidden||this.show)||n===er.PRELOAD_FLIGHT&&(!this.preloadFlightDestinations||!this.show&&!this.preloadWhenHidden)||n===er.REQUEST_RENDER_MODE_DEFER_CHECK&&(!this._cullRequestsWhileMoving&&this.foveatedTimeDelay<=0||!this.show))return;let i=e.commandList,o=e.camera,r=e.cullingVolume;t.ready=!1;let s=er.getPassOptions(n),a=s.ignoreCommands,c=y(t.commandList,i),u=c.length;e.commandList=c,e.camera=y(t.camera,o),e.cullingVolume=y(t.cullingVolume,r);let f=this._statisticsPerPass[n];(this.show||a)&&(this._pass=n,t.ready=Aje(this,e,f,s)),a&&(c.length=u),e.commandList=i,e.camera=o,e.cullingVolume=r};Ds.prototype.hasExtension=function(e){return l(this._extensionsUsed)?this._extensionsUsed.indexOf(e)>-1:!1};Ds.prototype.isDestroyed=function(){return!1};Ds.prototype.destroy=function(){if(this._tileDebugLabels=this._tileDebugLabels&&this._tileDebugLabels.destroy(),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),l(this._schemaLoader)&&ho.unload(this._schemaLoader),l(this._root)){let e=Ice;for(e.push(this._root);e.length>0;){let t=e.pop();t.destroy();let n=t.children,i=n.length;for(let o=0;o<i;++o)e.push(n[o])}}return this._root=void 0,this._shouldDestroyImageBasedLighting&&!this._imageBasedLighting.isDestroyed()&&this._imageBasedLighting.destroy(),this._imageBasedLighting=void 0,fe(this)};Ds.supportedExtensions={"3DTILES_metadata":!0,"3DTILES_implicit_tiling":!0,"3DTILES_content_gltf":!0,"3DTILES_multiple_contents":!0,"3DTILES_bounding_volume_S2":!0,"3DTILES_batch_table_hierarchy":!0,"3DTILES_draco_point_compression":!0,MAXAR_content_geojson:!0};Ds.checkSupportedExtensions=function(e){for(let t=0;t<e.length;t++)if(!Ds.supportedExtensions[e[t]])throw new de(`Unsupported 3D Tiles Extension: ${e[t]}`)};var Lu=Ds;var Tje=new N;function _g(e,t){t.collectionChanged.addEventListener(_g.prototype._onCollectionChanged,this),this._scene=e,this._primitives=e.primitives,this._entityCollection=t,this._tilesetHash={},this._entitiesToVisualize=new gt,this._onCollectionChanged(t,t.values,[],[])}_g.prototype.update=function(e){let t=this._entitiesToVisualize.values,n=this._tilesetHash,i=this._primitives;for(let o=0,r=t.length;o<r;o++){let s=t[o],a=s._tileset,c,u=n[s.id],f=s.isShowing&&s.isAvailable(e)&&j.getValueOrDefault(a._show,e,!0),d;if(f&&(d=s.computeModelMatrix(e,Tje),c=Ie.createIfNeeded(j.getValueOrUndefined(a._uri,e))),!f){l(u)&&(u.tilesetPrimitive.show=!1);continue}let p=l(u)?u.tilesetPrimitive:void 0;(!l(p)||c.url!==u.url)&&(l(p)&&(i.removeAndDestroy(p),delete n[s.id]),p=new Lu({url:c}),p.id=s,i.add(p),u={tilesetPrimitive:p,url:c.url,loadFail:!1},n[s.id]=u,Eje(p,s,n)),p.show=!0,l(d)&&(p.modelMatrix=d),p.maximumScreenSpaceError=j.getValueOrDefault(a.maximumScreenSpaceError,e,p.maximumScreenSpaceError)}return!0};_g.prototype.isDestroyed=function(){return!1};_g.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(_g.prototype._onCollectionChanged,this);let e=this._entitiesToVisualize.values,t=this._tilesetHash,n=this._primitives;for(let i=e.length-1;i>-1;i--)K9(this,e[i],t,n);return fe(this)};_g.prototype.getBoundingSphere=function(e,t){let n=this._tilesetHash[e.id];if(!l(n)||n.loadFail)return it.FAILED;let i=n.tilesetPrimitive;return!l(i)||!i.show?it.FAILED:i.ready?(re.clone(i.boundingSphere,t),it.DONE):it.PENDING};_g.prototype._onCollectionChanged=function(e,t,n,i){let o,r,s=this._entitiesToVisualize,a=this._tilesetHash,c=this._primitives;for(o=t.length-1;o>-1;o--)r=t[o],l(r._tileset)&&s.set(r.id,r);for(o=i.length-1;o>-1;o--)r=i[o],l(r._tileset)?s.set(r.id,r):(K9(this,r,a,c),s.remove(r.id));for(o=n.length-1;o>-1;o--)r=n[o],K9(this,r,a,c),s.remove(r.id)};function K9(e,t,n,i){let o=n[t.id];l(o)&&(i.removeAndDestroy(o.tilesetPrimitive),delete n[t.id])}function Eje(e,t,n){e.readyPromise.catch(function(i){console.error(i),n[t.id].loadFail=!0})}var ZF=_g;var bje=U.WHITE,Sje=U.BLACK,wje=new G(2,2);function IT(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new ge,this._evenColor=void 0,this._evenColorSubscription=void 0,this._oddColor=void 0,this._oddColorSubscription=void 0,this._repeat=void 0,this._repeatSubscription=void 0,this.evenColor=e.evenColor,this.oddColor=e.oddColor,this.repeat=e.repeat}Object.defineProperties(IT.prototype,{isConstant:{get:function(){return j.isConstant(this._evenColor)&&j.isConstant(this._oddColor)&&j.isConstant(this._repeat)}},definitionChanged:{get:function(){return this._definitionChanged}},evenColor:ae("evenColor"),oddColor:ae("oddColor"),repeat:ae("repeat")});IT.prototype.getType=function(e){return"Checkerboard"};IT.prototype.getValue=function(e,t){return l(t)||(t={}),t.lightColor=j.getValueOrClonedDefault(this._evenColor,e,bje,t.lightColor),t.darkColor=j.getValueOrClonedDefault(this._oddColor,e,Sje,t.darkColor),t.repeat=j.getValueOrDefault(this._repeat,e,wje),t};IT.prototype.equals=function(e){return this===e||e instanceof IT&&j.equals(this._evenColor,e._evenColor)&&j.equals(this._oddColor,e._oddColor)&&j.equals(this._repeat,e._repeat)};var nv=IT;var Rce={id:void 0};function iv(e){if(e._firing){e._refire=!0;return}if(e._suspendCount===0){let t=e._addedEntities,n=e._removedEntities,i=e._changedEntities;if(i.length!==0||t.length!==0||n.length!==0){e._firing=!0;do{e._refire=!1;let o=t.values.slice(0),r=n.values.slice(0),s=i.values.slice(0);t.removeAll(),n.removeAll(),i.removeAll(),e._collectionChanged.raiseEvent(e,o,r,s)}while(e._refire);e._firing=!1}}}function Ra(e){this._owner=e,this._entities=new gt,this._addedEntities=new gt,this._removedEntities=new gt,this._changedEntities=new gt,this._suspendCount=0,this._collectionChanged=new ge,this._id=Hn(),this._show=!0,this._firing=!1,this._refire=!1}Ra.prototype.suspendEvents=function(){this._suspendCount++};Ra.prototype.resumeEvents=function(){this._suspendCount--,iv(this)};Object.defineProperties(Ra.prototype,{collectionChanged:{get:function(){return this._collectionChanged}},id:{get:function(){return this._id}},values:{get:function(){return this._entities.values}},show:{get:function(){return this._show},set:function(e){if(e===this._show)return;this.suspendEvents();let t,n=[],i=this._entities.values,o=i.length;for(t=0;t<o;t++)n.push(i[t].isShowing);for(this._show=e,t=0;t<o;t++){let r=n[t],s=i[t];r!==s.isShowing&&s.definitionChanged.raiseEvent(s,"isShowing",s.isShowing,r)}this.resumeEvents()}},owner:{get:function(){return this._owner}}});Ra.prototype.computeAvailability=function(){let e=Ve.MAXIMUM_VALUE,t=Ve.MINIMUM_VALUE,n=this._entities.values;for(let i=0,o=n.length;i<o;i++){let s=n[i].availability;if(l(s)){let a=s.start,c=s.stop;Q.lessThan(a,e)&&!a.equals(Ve.MINIMUM_VALUE)&&(e=a),Q.greaterThan(c,t)&&!c.equals(Ve.MAXIMUM_VALUE)&&(t=c)}}return Ve.MAXIMUM_VALUE.equals(e)&&(e=Ve.MINIMUM_VALUE),Ve.MINIMUM_VALUE.equals(t)&&(t=Ve.MAXIMUM_VALUE),new gn({start:e,stop:t})};Ra.prototype.add=function(e){e instanceof $o||(e=new $o(e));let t=e.id,n=this._entities;if(n.contains(t))throw new de(`An entity with id ${t} already exists in this collection.`);return e.entityCollection=this,n.set(t,e),this._removedEntities.remove(t)||this._addedEntities.set(t,e),e.definitionChanged.addEventListener(Ra.prototype._onEntityDefinitionChanged,this),iv(this),e};Ra.prototype.remove=function(e){return l(e)?this.removeById(e.id):!1};Ra.prototype.contains=function(e){return this._entities.get(e.id)===e};Ra.prototype.removeById=function(e){if(!l(e))return!1;let n=this._entities.get(e);return this._entities.remove(e)?(this._addedEntities.remove(e)||(this._removedEntities.set(e,n),this._changedEntities.remove(e)),this._entities.remove(e),n.definitionChanged.removeEventListener(Ra.prototype._onEntityDefinitionChanged,this),iv(this),!0):!1};Ra.prototype.removeAll=function(){let e=this._entities,t=e.length,n=e.values,i=this._addedEntities,o=this._removedEntities;for(let r=0;r<t;r++){let s=n[r],a=s.id,c=i.get(a);l(c)||(s.definitionChanged.removeEventListener(Ra.prototype._onEntityDefinitionChanged,this),o.set(a,s))}e.removeAll(),i.removeAll(),this._changedEntities.removeAll(),iv(this)};Ra.prototype.getById=function(e){return this._entities.get(e)};Ra.prototype.getOrCreateEntity=function(e){let t=this._entities.get(e);return l(t)||(Rce.id=e,t=new $o(Rce),this.add(t)),t};Ra.prototype._onEntityDefinitionChanged=function(e){let t=e.id;this._addedEntities.contains(t)||this._changedEntities.set(t,e),iv(this)};var Ps=Ra;var $F={id:void 0},OT=new Array(2);function Z9(e){let t=e.propertyNames,n=t.length;for(let i=0;i<n;i++)e[t[i]]=void 0;e._name=void 0,e._availability=void 0}function Mce(e,t,n,i){OT[0]=n,OT[1]=i.id,t[JSON.stringify(OT)]=i.definitionChanged.addEventListener(Cr.prototype._onDefinitionChanged,e)}function Bce(e,t,n,i){OT[0]=n,OT[1]=i.id;let o=JSON.stringify(OT);t[o](),t[o]=void 0}function gg(e){if(e._shouldRecomposite=!0,e._suspendCount!==0)return;let t=e._collections,n=t.length,i=e._collectionsCopy,o=i.length,r,s,a,c,u,f=e._composite,d=new Ps(e),p=e._eventHash,g;for(r=0;r<o;r++)for(u=i[r],u.collectionChanged.removeEventListener(Cr.prototype._onCollectionChanged,e),a=u.values,g=u.id,c=a.length-1;c>-1;c--)s=a[c],Bce(e,p,g,s);for(r=n-1;r>=0;r--)for(u=t[r],u.collectionChanged.addEventListener(Cr.prototype._onCollectionChanged,e),a=u.values,g=u.id,c=a.length-1;c>-1;c--){s=a[c],Mce(e,p,g,s);let C=d.getById(s.id);l(C)||(C=f.getById(s.id),l(C)?Z9(C):($F.id=s.id,C=new $o($F)),d.add(C)),C.merge(s)}e._collectionsCopy=t.slice(0),f.suspendEvents(),f.removeAll();let m=d.values;for(r=0;r<m.length;r++)f.add(m[r]);f.resumeEvents()}function Cr(e,t){this._owner=t,this._composite=new Ps(this),this._suspendCount=0,this._collections=l(e)?e.slice():[],this._collectionsCopy=[],this._id=Hn(),this._eventHash={},gg(this),this._shouldRecomposite=!1}Object.defineProperties(Cr.prototype,{collectionChanged:{get:function(){return this._composite._collectionChanged}},id:{get:function(){return this._id}},values:{get:function(){return this._composite.values}},owner:{get:function(){return this._owner}}});Cr.prototype.addCollection=function(e,t){l(t)?this._collections.splice(t,0,e):(t=this._collections.length,this._collections.push(e)),gg(this)};Cr.prototype.removeCollection=function(e){let t=this._collections.indexOf(e);return t!==-1?(this._collections.splice(t,1),gg(this),!0):!1};Cr.prototype.removeAllCollections=function(){this._collections.length=0,gg(this)};Cr.prototype.containsCollection=function(e){return this._collections.indexOf(e)!==-1};Cr.prototype.contains=function(e){return this._composite.contains(e)};Cr.prototype.indexOfCollection=function(e){return this._collections.indexOf(e)};Cr.prototype.getCollection=function(e){return this._collections[e]};Cr.prototype.getCollectionsLength=function(){return this._collections.length};function JF(e,t){return e.indexOf(t)}function Lce(e,t,n){let i=e._collections;if(t=I.clamp(t,0,i.length-1),n=I.clamp(n,0,i.length-1),t===n)return;let o=i[t];i[t]=i[n],i[n]=o,gg(e)}Cr.prototype.raiseCollection=function(e){let t=JF(this._collections,e);Lce(this,t,t+1)};Cr.prototype.lowerCollection=function(e){let t=JF(this._collections,e);Lce(this,t,t-1)};Cr.prototype.raiseCollectionToTop=function(e){let t=JF(this._collections,e);t!==this._collections.length-1&&(this._collections.splice(t,1),this._collections.push(e),gg(this))};Cr.prototype.lowerCollectionToBottom=function(e){let t=JF(this._collections,e);t!==0&&(this._collections.splice(t,1),this._collections.splice(0,0,e),gg(this))};Cr.prototype.suspendEvents=function(){this._suspendCount++,this._composite.suspendEvents()};Cr.prototype.resumeEvents=function(){this._suspendCount--,this._shouldRecomposite&&this._suspendCount===0&&(gg(this),this._shouldRecomposite=!1),this._composite.resumeEvents()};Cr.prototype.computeAvailability=function(){return this._composite.computeAvailability()};Cr.prototype.getById=function(e){return this._composite.getById(e)};Cr.prototype._onCollectionChanged=function(e,t,n){let i=this._collectionsCopy,o=i.length,r=this._composite;r.suspendEvents();let s,a,c,u,f=n.length,d=this._eventHash,p=e.id;for(s=0;s<f;s++){let m=n[s];Bce(this,d,p,m);let C=m.id;for(a=o-1;a>=0;a--)c=i[a].getById(C),l(c)&&(l(u)||(u=r.getById(C),Z9(u)),u.merge(c));l(u)||r.removeById(C),u=void 0}let g=t.length;for(s=0;s<g;s++){let m=t[s];Mce(this,d,p,m);let C=m.id;for(a=o-1;a>=0;a--)c=i[a].getById(C),l(c)&&(l(u)||(u=r.getById(C),l(u)?Z9(u):($F.id=C,u=new $o($F),r.add(u))),u.merge(c));u=void 0}r.resumeEvents()};Cr.prototype._onDefinitionChanged=function(e,t,n,i){let o=this._collections,r=this._composite,s=o.length,a=e.id,c=r.getById(a),u=c[t],f=!l(u),d=!0;for(let p=s-1;p>=0;p--){let g=o[p].getById(e.id);if(l(g)){let m=g[t];if(l(m)){if(d)if(d=!1,l(m.merge)&&l(m.clone))u=m.clone(u);else{u=m;break}u.merge(m)}}}f&&c.propertyNames.indexOf(t)===-1&&c.addProperty(t),c[t]=u};var Nce=Cr;function vje(e,t,n,i){function o(){n.raiseEvent(e)}let r=[];t.removeAll();let s=i.length;for(let a=0;a<s;a++){let c=i.get(a);l(c.data)&&r.indexOf(c.data)===-1&&t.add(c.data.definitionChanged,o)}}function Xy(){this._eventHelper=new Pr,this._definitionChanged=new ge,this._intervals=new Rr,this._intervals.changedEvent.addEventListener(Xy.prototype._intervalsChanged,this)}Object.defineProperties(Xy.prototype,{isConstant:{get:function(){return this._intervals.isEmpty}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._intervals}}});Xy.prototype.getValue=function(e,t){let n=this._intervals.findDataForIntervalContainingDate(e);if(l(n))return n.getValue(e,t)};Xy.prototype.equals=function(e){return this===e||e instanceof Xy&&this._intervals.equals(e._intervals,j.equals)};Xy.prototype._intervalsChanged=function(){vje(this,this._eventHelper,this._definitionChanged,this._intervals),this._definitionChanged.raiseEvent(this)};var mc=Xy;function yg(){this._definitionChanged=new ge,this._composite=new mc,this._composite.definitionChanged.addEventListener(yg.prototype._raiseDefinitionChanged,this)}Object.defineProperties(yg.prototype,{isConstant:{get:function(){return this._composite.isConstant}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._composite._intervals}}});yg.prototype.getType=function(e){let t=this._composite._intervals.findDataForIntervalContainingDate(e);if(l(t))return t.getType(e)};yg.prototype.getValue=function(e,t){let n=this._composite._intervals.findDataForIntervalContainingDate(e);if(l(n))return n.getValue(e,t)};yg.prototype.equals=function(e){return this===e||e instanceof yg&&this._composite.equals(e._composite,j.equals)};yg.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)};var ov=yg;function Cg(e){this._referenceFrame=y(e,Zi.FIXED),this._definitionChanged=new ge,this._composite=new mc,this._composite.definitionChanged.addEventListener(Cg.prototype._raiseDefinitionChanged,this)}Object.defineProperties(Cg.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}}});Cg.prototype.getValue=function(e,t){return this.getValueInReferenceFrame(e,Zi.FIXED,t)};Cg.prototype.getValueInReferenceFrame=function(e,t,n){let i=this._composite._intervals.findDataForIntervalContainingDate(e);if(l(i))return i.getValueInReferenceFrame(e,t,n)};Cg.prototype.equals=function(e){return this===e||e instanceof Cg&&this._referenceFrame===e._referenceFrame&&this._composite.equals(e._composite,j.equals)};Cg.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)};var Qs=Cg;var Dje=new Zn(0);function pc(e){ii.call(this,e),this._zIndex=0,this._terrainOffsetProperty=void 0}l(Object.create)&&(pc.prototype=Object.create(ii.prototype),pc.prototype.constructor=pc);Object.defineProperties(pc.prototype,{zIndex:{get:function(){return this._zIndex}},terrainOffsetProperty:{get:function(){return this._terrainOffsetProperty}}});pc.prototype._isOnTerrain=function(e,t){return this._fillEnabled&&!l(t.height)&&!l(t.extrudedHeight)&&Gc.isSupported(this._scene)};pc.prototype._getIsClosed=function(e){let t=e.height,n=e.extrudedHeight;return t===0||l(n)&&n!==t};pc.prototype._computeCenter=ye.throwInstantiationError;pc.prototype._onEntityPropertyChanged=function(e,t,n,i){if(ii.prototype._onEntityPropertyChanged.call(this,e,t,n,i),this._observedPropertyNames.indexOf(t)===-1)return;let o=this._entity[this._geometryPropertyName];if(!l(o))return;l(o.zIndex)&&(l(o.height)||l(o.extrudedHeight))&&Bt(Bt.geometryZIndex),this._zIndex=y(o.zIndex,Dje),l(this._terrainOffsetProperty)&&(this._terrainOffsetProperty.destroy(),this._terrainOffsetProperty=void 0);let r=o.heightReference,s=o.extrudedHeightReference;if(l(r)||l(s)){let a=new ch(this._computeCenter.bind(this),!this._dynamic);this._terrainOffsetProperty=new zA(this._scene,a,r,s)}};pc.prototype.destroy=function(){l(this._terrainOffsetProperty)&&(this._terrainOffsetProperty.destroy(),this._terrainOffsetProperty=void 0),ii.prototype.destroy.call(this)};pc.getGeometryHeight=function(e,t){if(!l(e)){t!==ze.NONE&&Bt(Bt.geometryHeightReference);return}return t!==ze.CLAMP_TO_GROUND?e:0};pc.getGeometryExtrudedHeight=function(e,t){if(!l(e)){t!==ze.NONE&&Bt(Bt.geometryExtrudedHeightReference);return}return t!==ze.CLAMP_TO_GROUND?e:pc.CLAMP_TO_GROUND};pc.CLAMP_TO_GROUND="clamp";pc.computeGeometryOffsetAttribute=function(e,t,n,i){(!l(e)||!l(t))&&(t=ze.NONE),(!l(n)||!l(i))&&(i=ze.NONE);let o=0;if(t!==ze.NONE&&o++,i===ze.RELATIVE_TO_GROUND&&o++,o===2)return Jt.ALL;if(o===1)return Jt.TOP};var Gn=pc;var Fce=new U,Vce=h.ZERO,kce=new h,Uce=new ue;function Pje(e){this.id=e,this.vertexFormat=void 0,this.positions=void 0,this.width=void 0,this.cornerType=void 0,this.height=void 0,this.extrudedHeight=void 0,this.granularity=void 0,this.offsetAttribute=void 0}function Gf(e,t){Gn.call(this,{entity:e,scene:t,geometryOptions:new Pje(e),geometryPropertyName:"corridor",observedPropertyNames:["availability","corridor"]}),this._onEntityPropertyChanged(e,"corridor",e.corridor,void 0)}l(Object.create)&&(Gf.prototype=Object.create(Gn.prototype),Gf.prototype.constructor=Gf);Gf.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i={show:new dn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),distanceDisplayCondition:Bn.fromDistanceDisplayCondition(this._distanceDisplayConditionProperty.getValue(e)),offset:void 0,color:void 0};if(this._materialProperty instanceof Pt){let o;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(o=this._materialProperty.color.getValue(e,Fce)),l(o)||(o=U.WHITE),i.color=It.fromColor(o)}return l(this._options.offsetAttribute)&&(i.offset=ji.fromCartesian3(j.getValueOrDefault(this._terrainOffsetProperty,e,Vce,kce))),new pt({id:t,geometry:new Nx(this._options),attributes:i})};Gf.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=j.getValueOrDefault(this._outlineColorProperty,e,U.BLACK,Fce),o={show:new dn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:It.fromColor(i),distanceDisplayCondition:Bn.fromDistanceDisplayCondition(this._distanceDisplayConditionProperty.getValue(e)),offset:void 0};return l(this._options.offsetAttribute)&&(o.offset=ji.fromCartesian3(j.getValueOrDefault(this._terrainOffsetProperty,e,Vce,kce))),new pt({id:t,geometry:new z1(this._options),attributes:o})};Gf.prototype._computeCenter=function(e,t){let n=j.getValueOrUndefined(this._entity.corridor.positions,e);if(!(!l(n)||n.length===0))return h.clone(n[Math.floor(n.length/2)],t)};Gf.prototype._isHidden=function(e,t){return!l(t.positions)||!l(t.width)||ii.prototype._isHidden.call(this,e,t)};Gf.prototype._isDynamic=function(e,t){return!t.positions.isConstant||!j.isConstant(t.height)||!j.isConstant(t.extrudedHeight)||!j.isConstant(t.granularity)||!j.isConstant(t.width)||!j.isConstant(t.outlineWidth)||!j.isConstant(t.cornerType)||!j.isConstant(t.zIndex)||this._onTerrain&&!j.isConstant(this._materialProperty)&&!(this._materialProperty instanceof Pt)};Gf.prototype._setStaticOptions=function(e,t){let n=j.getValueOrUndefined(t.height,Ve.MINIMUM_VALUE),i=j.getValueOrDefault(t.heightReference,Ve.MINIMUM_VALUE,ze.NONE),o=j.getValueOrUndefined(t.extrudedHeight,Ve.MINIMUM_VALUE),r=j.getValueOrDefault(t.extrudedHeightReference,Ve.MINIMUM_VALUE,ze.NONE);l(o)&&!l(n)&&(n=0);let s=this._options;s.vertexFormat=this._materialProperty instanceof Pt?Qt.VERTEX_FORMAT:no.MaterialSupport.TEXTURED.vertexFormat,s.positions=t.positions.getValue(Ve.MINIMUM_VALUE,s.positions),s.width=t.width.getValue(Ve.MINIMUM_VALUE),s.granularity=j.getValueOrUndefined(t.granularity,Ve.MINIMUM_VALUE),s.cornerType=j.getValueOrUndefined(t.cornerType,Ve.MINIMUM_VALUE),s.offsetAttribute=Gn.computeGeometryOffsetAttribute(n,i,o,r),s.height=Gn.getGeometryHeight(n,i),o=Gn.getGeometryExtrudedHeight(o,r),o===Gn.CLAMP_TO_GROUND&&(o=si.getMinimumMaximumHeights(Nx.computeRectangle(s,Uce)).minimumTerrainHeight),s.extrudedHeight=o};Gf.DynamicGeometryUpdater=RT;function RT(e,t,n){ni.call(this,e,t,n)}l(Object.create)&&(RT.prototype=Object.create(ni.prototype),RT.prototype.constructor=RT);RT.prototype._isHidden=function(e,t,n){let i=this._options;return!l(i.positions)||!l(i.width)||ni.prototype._isHidden.call(this,e,t,n)};RT.prototype._setOptions=function(e,t,n){let i=this._options,o=j.getValueOrUndefined(t.height,n),r=j.getValueOrDefault(t.heightReference,n,ze.NONE),s=j.getValueOrUndefined(t.extrudedHeight,n),a=j.getValueOrDefault(t.extrudedHeightReference,n,ze.NONE);l(s)&&!l(o)&&(o=0),i.positions=j.getValueOrUndefined(t.positions,n),i.width=j.getValueOrUndefined(t.width,n),i.granularity=j.getValueOrUndefined(t.granularity,n),i.cornerType=j.getValueOrUndefined(t.cornerType,n),i.offsetAttribute=Gn.computeGeometryOffsetAttribute(o,r,s,a),i.height=Gn.getGeometryHeight(o,r),s=Gn.getGeometryExtrudedHeight(s,a),s===Gn.CLAMP_TO_GROUND&&(s=si.getMinimumMaximumHeights(Nx.computeRectangle(i,Uce)).minimumTerrainHeight),i.extrudedHeight=s};var QF=Gf;function e2(){ye.throwInstantiationError()}Object.defineProperties(e2.prototype,{name:{get:ye.throwInstantiationError},clock:{get:ye.throwInstantiationError},entities:{get:ye.throwInstantiationError},isLoading:{get:ye.throwInstantiationError},changedEvent:{get:ye.throwInstantiationError},errorEvent:{get:ye.throwInstantiationError},loadingEvent:{get:ye.throwInstantiationError},show:{get:ye.throwInstantiationError},clustering:{get:ye.throwInstantiationError}});e2.prototype.update=function(e){ye.throwInstantiationError()};e2.setLoading=function(e,t){e._isLoading!==t&&(t?e._entityCollection.suspendEvents():e._entityCollection.resumeEvents(),e._isLoading=t,e._loading.raiseEvent(e,t))};var Lr=e2;function xr(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.translucencyByDistance,i=e.scaleByDistance,o=e.distanceDisplayCondition;l(n)&&(n=St.clone(n)),l(i)&&(i=St.clone(i)),l(o)&&(o=At.clone(o)),this._show=y(e.show,!0),this._position=h.clone(y(e.position,h.ZERO)),this._actualPosition=h.clone(this._position),this._color=U.clone(y(e.color,U.WHITE)),this._outlineColor=U.clone(y(e.outlineColor,U.TRANSPARENT)),this._outlineWidth=y(e.outlineWidth,0),this._pixelSize=y(e.pixelSize,10),this._scaleByDistance=i,this._translucencyByDistance=n,this._distanceDisplayCondition=o,this._disableDepthTestDistance=y(e.disableDepthTestDistance,0),this._id=e.id,this._collection=y(e.collection,t),this._clusterShow=!0,this._pickId=void 0,this._pointPrimitiveCollection=t,this._dirty=!1,this._index=-1}var zce=xr.SHOW_INDEX=0,Wce=xr.POSITION_INDEX=1,Ije=xr.COLOR_INDEX=2,Oje=xr.OUTLINE_COLOR_INDEX=3,Rje=xr.OUTLINE_WIDTH_INDEX=4,Mje=xr.PIXEL_SIZE_INDEX=5,Bje=xr.SCALE_BY_DISTANCE_INDEX=6,Lje=xr.TRANSLUCENCY_BY_DISTANCE_INDEX=7,Nje=xr.DISTANCE_DISPLAY_CONDITION_INDEX=8,Fje=xr.DISABLE_DEPTH_DISTANCE_INDEX=9;xr.NUMBER_OF_PROPERTIES=10;function Nu(e,t){let n=e._pointPrimitiveCollection;l(n)&&(n._updatePointPrimitive(e,t),e._dirty=!0)}Object.defineProperties(xr.prototype,{show:{get:function(){return this._show},set:function(e){this._show!==e&&(this._show=e,Nu(this,zce))}},position:{get:function(){return this._position},set:function(e){let t=this._position;h.equals(t,e)||(h.clone(e,t),h.clone(e,this._actualPosition),Nu(this,Wce))}},scaleByDistance:{get:function(){return this._scaleByDistance},set:function(e){let t=this._scaleByDistance;St.equals(t,e)||(this._scaleByDistance=St.clone(e,t),Nu(this,Bje))}},translucencyByDistance:{get:function(){return this._translucencyByDistance},set:function(e){let t=this._translucencyByDistance;St.equals(t,e)||(this._translucencyByDistance=St.clone(e,t),Nu(this,Lje))}},pixelSize:{get:function(){return this._pixelSize},set:function(e){this._pixelSize!==e&&(this._pixelSize=e,Nu(this,Mje))}},color:{get:function(){return this._color},set:function(e){let t=this._color;U.equals(t,e)||(U.clone(e,t),Nu(this,Ije))}},outlineColor:{get:function(){return this._outlineColor},set:function(e){let t=this._outlineColor;U.equals(t,e)||(U.clone(e,t),Nu(this,Oje))}},outlineWidth:{get:function(){return this._outlineWidth},set:function(e){this._outlineWidth!==e&&(this._outlineWidth=e,Nu(this,Rje))}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){At.equals(this._distanceDisplayCondition,e)||(this._distanceDisplayCondition=At.clone(e,this._distanceDisplayCondition),Nu(this,Nje))}},disableDepthTestDistance:{get:function(){return this._disableDepthTestDistance},set:function(e){this._disableDepthTestDistance!==e&&(this._disableDepthTestDistance=e,Nu(this,Fje))}},id:{get:function(){return this._id},set:function(e){this._id=e,l(this._pickId)&&(this._pickId.object.id=e)}},pickId:{get:function(){return this._pickId}},clusterShow:{get:function(){return this._clusterShow},set:function(e){this._clusterShow!==e&&(this._clusterShow=e,Nu(this,zce))}}});xr.prototype.getPickId=function(e){return l(this._pickId)||(this._pickId=e.createPickId({primitive:this,collection:this._collection,id:this._id})),this._pickId};xr.prototype._getActualPosition=function(){return this._actualPosition};xr.prototype._setActualPosition=function(e){h.clone(e,this._actualPosition),Nu(this,Wce)};var Hce=new se;xr._computeActualPosition=function(e,t,n){return t.mode===ee.SCENE3D?e:(N.multiplyByPoint(n,e,Hce),qi.computeActualWgs84Position(t,Hce))};var Gce=new se;xr._computeScreenSpacePosition=function(e,t,n,i){let o=N.multiplyByVector(e,se.fromElements(t.x,t.y,t.z,1,Gce),Gce);return qi.wgs84ToWindowCoordinates(n,o,i)};xr.prototype.computeScreenSpacePosition=function(e,t){let n=this._pointPrimitiveCollection;l(t)||(t=new G);let i=n.modelMatrix,o=xr._computeScreenSpacePosition(i,this._actualPosition,e,t);if(!!l(o))return o.y=e.canvas.clientHeight-o.y,o};xr.getScreenSpaceBoundingBox=function(e,t,n){let i=e.pixelSize,o=i*.5,r=t.x-o,s=t.y-o,a=i,c=i;return l(n)||(n=new Ge),n.x=r,n.y=s,n.width=a,n.height=c,n};xr.prototype.equals=function(e){return this===e||l(e)&&this._id===e._id&&h.equals(this._position,e._position)&&U.equals(this._color,e._color)&&this._pixelSize===e._pixelSize&&this._outlineWidth===e._outlineWidth&&this._show===e._show&&U.equals(this._outlineColor,e._outlineColor)&&St.equals(this._scaleByDistance,e._scaleByDistance)&&St.equals(this._translucencyByDistance,e._translucencyByDistance)&&At.equals(this._distanceDisplayCondition,e._distanceDisplayCondition)&&this._disableDepthTestDistance===e._disableDepthTestDistance};xr.prototype._destroy=function(){this._pickId=this._pickId&&this._pickId.destroy(),this._pointPrimitiveCollection=void 0};var Is=xr;var Ky=`varying vec4 v_color;
  5120. varying vec4 v_outlineColor;
  5121. varying float v_innerPercent;
  5122. varying float v_pixelDistance;
  5123. varying vec4 v_pickColor;
  5124. void main()
  5125. {
  5126. float distanceToCenter = length(gl_PointCoord - vec2(0.5));
  5127. float maxDistance = max(0.0, 0.5 - v_pixelDistance);
  5128. float wholeAlpha = 1.0 - smoothstep(maxDistance, 0.5, distanceToCenter);
  5129. float innerAlpha = 1.0 - smoothstep(maxDistance * v_innerPercent, 0.5 * v_innerPercent, distanceToCenter);
  5130. vec4 color = mix(v_outlineColor, v_color, innerAlpha);
  5131. color.a *= wholeAlpha;
  5132. #if !defined(OPAQUE) && !defined(TRANSLUCENT)
  5133. if (color.a < 0.005)
  5134. {
  5135. discard;
  5136. }
  5137. #else
  5138. #ifdef OPAQUE
  5139. if (color.a < 0.995)
  5140. {
  5141. discard;
  5142. }
  5143. #else
  5144. if (color.a >= 0.995)
  5145. {
  5146. discard;
  5147. }
  5148. #endif
  5149. #endif
  5150. gl_FragColor = czm_gammaCorrect(color);
  5151. czm_writeLogDepth();
  5152. }
  5153. `;var t2=`uniform float u_maxTotalPointSize;
  5154. attribute vec4 positionHighAndSize;
  5155. attribute vec4 positionLowAndOutline;
  5156. attribute vec4 compressedAttribute0;
  5157. attribute vec4 compressedAttribute1;
  5158. attribute vec4 scaleByDistance;
  5159. attribute vec3 distanceDisplayConditionAndDisableDepth;
  5160. varying vec4 v_color;
  5161. varying vec4 v_outlineColor;
  5162. varying float v_innerPercent;
  5163. varying float v_pixelDistance;
  5164. varying vec4 v_pickColor;
  5165. const float SHIFT_LEFT8 = 256.0;
  5166. const float SHIFT_RIGHT8 = 1.0 / 256.0;
  5167. void main()
  5168. {
  5169. vec3 positionHigh = positionHighAndSize.xyz;
  5170. vec3 positionLow = positionLowAndOutline.xyz;
  5171. float outlineWidthBothSides = 2.0 * positionLowAndOutline.w;
  5172. float totalSize = positionHighAndSize.w + outlineWidthBothSides;
  5173. float outlinePercent = outlineWidthBothSides / totalSize;
  5174. totalSize *= czm_pixelRatio;
  5175. totalSize += 3.0;
  5176. float temp = compressedAttribute1.x * SHIFT_RIGHT8;
  5177. float show = floor(temp);
  5178. #ifdef EYE_DISTANCE_TRANSLUCENCY
  5179. vec4 translucencyByDistance;
  5180. translucencyByDistance.x = compressedAttribute1.z;
  5181. translucencyByDistance.z = compressedAttribute1.w;
  5182. translucencyByDistance.y = ((temp - floor(temp)) * SHIFT_LEFT8) / 255.0;
  5183. temp = compressedAttribute1.y * SHIFT_RIGHT8;
  5184. translucencyByDistance.w = ((temp - floor(temp)) * SHIFT_LEFT8) / 255.0;
  5185. #endif
  5186. vec4 color;
  5187. vec4 outlineColor;
  5188. vec4 pickColor;
  5189. temp = compressedAttribute0.z * SHIFT_RIGHT8;
  5190. pickColor.b = (temp - floor(temp)) * SHIFT_LEFT8;
  5191. temp = floor(temp) * SHIFT_RIGHT8;
  5192. pickColor.g = (temp - floor(temp)) * SHIFT_LEFT8;
  5193. pickColor.r = floor(temp);
  5194. temp = compressedAttribute0.x * SHIFT_RIGHT8;
  5195. color.b = (temp - floor(temp)) * SHIFT_LEFT8;
  5196. temp = floor(temp) * SHIFT_RIGHT8;
  5197. color.g = (temp - floor(temp)) * SHIFT_LEFT8;
  5198. color.r = floor(temp);
  5199. temp = compressedAttribute0.y * SHIFT_RIGHT8;
  5200. outlineColor.b = (temp - floor(temp)) * SHIFT_LEFT8;
  5201. temp = floor(temp) * SHIFT_RIGHT8;
  5202. outlineColor.g = (temp - floor(temp)) * SHIFT_LEFT8;
  5203. outlineColor.r = floor(temp);
  5204. temp = compressedAttribute0.w * SHIFT_RIGHT8;
  5205. pickColor.a = (temp - floor(temp)) * SHIFT_LEFT8;
  5206. pickColor = pickColor / 255.0;
  5207. temp = floor(temp) * SHIFT_RIGHT8;
  5208. outlineColor.a = (temp - floor(temp)) * SHIFT_LEFT8;
  5209. outlineColor /= 255.0;
  5210. color.a = floor(temp);
  5211. color /= 255.0;
  5212. vec4 p = czm_translateRelativeToEye(positionHigh, positionLow);
  5213. vec4 positionEC = czm_modelViewRelativeToEye * p;
  5214. #if defined(EYE_DISTANCE_SCALING) || defined(EYE_DISTANCE_TRANSLUCENCY) || defined(DISTANCE_DISPLAY_CONDITION) || defined(DISABLE_DEPTH_DISTANCE)
  5215. float lengthSq;
  5216. if (czm_sceneMode == czm_sceneMode2D)
  5217. {
  5218. lengthSq = czm_eyeHeight2D.y;
  5219. }
  5220. else
  5221. {
  5222. lengthSq = dot(positionEC.xyz, positionEC.xyz);
  5223. }
  5224. #endif
  5225. #ifdef EYE_DISTANCE_SCALING
  5226. totalSize *= czm_nearFarScalar(scaleByDistance, lengthSq);
  5227. #endif
  5228. totalSize = min(totalSize, u_maxTotalPointSize);
  5229. if (totalSize < 1.0)
  5230. {
  5231. positionEC.xyz = vec3(0.0);
  5232. totalSize = 1.0;
  5233. }
  5234. float translucency = 1.0;
  5235. #ifdef EYE_DISTANCE_TRANSLUCENCY
  5236. translucency = czm_nearFarScalar(translucencyByDistance, lengthSq);
  5237. if (translucency < 0.004)
  5238. {
  5239. positionEC.xyz = vec3(0.0);
  5240. }
  5241. #endif
  5242. #ifdef DISTANCE_DISPLAY_CONDITION
  5243. float nearSq = distanceDisplayConditionAndDisableDepth.x;
  5244. float farSq = distanceDisplayConditionAndDisableDepth.y;
  5245. if (lengthSq < nearSq || lengthSq > farSq) {
  5246. positionEC.xyz = vec3(0.0, 0.0, 1.0);
  5247. }
  5248. #endif
  5249. gl_Position = czm_projection * positionEC;
  5250. czm_vertexLogDepth();
  5251. #ifdef DISABLE_DEPTH_DISTANCE
  5252. float disableDepthTestDistance = distanceDisplayConditionAndDisableDepth.z;
  5253. if (disableDepthTestDistance == 0.0 && czm_minimumDisableDepthTestDistance != 0.0)
  5254. {
  5255. disableDepthTestDistance = czm_minimumDisableDepthTestDistance;
  5256. }
  5257. if (disableDepthTestDistance != 0.0)
  5258. {
  5259. float zclip = gl_Position.z / gl_Position.w;
  5260. bool clipped = (zclip < -1.0 || zclip > 1.0);
  5261. if (!clipped && (disableDepthTestDistance < 0.0 || (lengthSq > 0.0 && lengthSq < disableDepthTestDistance)))
  5262. {
  5263. gl_Position.z = -gl_Position.w;
  5264. #ifdef LOG_DEPTH
  5265. czm_vertexLogDepth(vec4(czm_currentFrustum.x));
  5266. #endif
  5267. }
  5268. }
  5269. #endif
  5270. v_color = color;
  5271. v_color.a *= translucency * show;
  5272. v_outlineColor = outlineColor;
  5273. v_outlineColor.a *= translucency * show;
  5274. v_innerPercent = 1.0 - outlinePercent;
  5275. v_pixelDistance = 2.0 / totalSize;
  5276. gl_PointSize = totalSize * show;
  5277. gl_Position *= show;
  5278. v_pickColor = pickColor;
  5279. }
  5280. `;var Vje=Is.SHOW_INDEX,Q9=Is.POSITION_INDEX,jce=Is.COLOR_INDEX,kje=Is.OUTLINE_COLOR_INDEX,Uje=Is.OUTLINE_WIDTH_INDEX,zje=Is.PIXEL_SIZE_INDEX,qce=Is.SCALE_BY_DISTANCE_INDEX,Yce=Is.TRANSLUCENCY_BY_DISTANCE_INDEX,Xce=Is.DISTANCE_DISPLAY_CONDITION_INDEX,Hje=Is.DISABLE_DEPTH_DISTANCE_INDEX,eW=Is.NUMBER_OF_PROPERTIES,Ma={positionHighAndSize:0,positionLowAndOutline:1,compressedAttribute0:2,compressedAttribute1:3,scaleByDistance:4,distanceDisplayConditionAndDisableDepth:5};function Fu(e){e=y(e,y.EMPTY_OBJECT),this._sp=void 0,this._spTranslucent=void 0,this._rsOpaque=void 0,this._rsTranslucent=void 0,this._vaf=void 0,this._pointPrimitives=[],this._pointPrimitivesToUpdate=[],this._pointPrimitivesToUpdateIndex=0,this._pointPrimitivesRemoved=!1,this._createVertexArray=!1,this._shaderScaleByDistance=!1,this._compiledShaderScaleByDistance=!1,this._shaderTranslucencyByDistance=!1,this._compiledShaderTranslucencyByDistance=!1,this._shaderDistanceDisplayCondition=!1,this._compiledShaderDistanceDisplayCondition=!1,this._shaderDisableDepthDistance=!1,this._compiledShaderDisableDepthDistance=!1,this._propertiesChanged=new Uint32Array(eW),this._maxPixelSize=1,this._baseVolume=new re,this._baseVolumeWC=new re,this._baseVolume2D=new re,this._boundingVolume=new re,this._boundingVolumeDirty=!1,this._colorCommands=[],this.show=y(e.show,!0),this.modelMatrix=N.clone(y(e.modelMatrix,N.IDENTITY)),this._modelMatrix=N.clone(N.IDENTITY),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.blendOption=y(e.blendOption,bo.OPAQUE_AND_TRANSLUCENT),this._blendOption=void 0,this._mode=ee.SCENE3D,this._maxTotalPointSize=1,this._buffersUsage=[Le.STATIC_DRAW,Le.STATIC_DRAW,Le.STATIC_DRAW,Le.STATIC_DRAW,Le.STATIC_DRAW,Le.STATIC_DRAW,Le.STATIC_DRAW,Le.STATIC_DRAW,Le.STATIC_DRAW];let t=this;this._uniforms={u_maxTotalPointSize:function(){return t._maxTotalPointSize}}}Object.defineProperties(Fu.prototype,{length:{get:function(){return tW(this),this._pointPrimitives.length}}});function Kce(e){let t=e.length;for(let n=0;n<t;++n)e[n]&&e[n]._destroy()}Fu.prototype.add=function(e){let t=new Is(e,this);return t._index=this._pointPrimitives.length,this._pointPrimitives.push(t),this._createVertexArray=!0,t};Fu.prototype.remove=function(e){return this.contains(e)?(this._pointPrimitives[e._index]=null,this._pointPrimitivesRemoved=!0,this._createVertexArray=!0,e._destroy(),!0):!1};Fu.prototype.removeAll=function(){Kce(this._pointPrimitives),this._pointPrimitives=[],this._pointPrimitivesToUpdate=[],this._pointPrimitivesToUpdateIndex=0,this._pointPrimitivesRemoved=!1,this._createVertexArray=!0};function tW(e){if(e._pointPrimitivesRemoved){e._pointPrimitivesRemoved=!1;let t=[],n=e._pointPrimitives,i=n.length;for(let o=0,r=0;o<i;++o){let s=n[o];s&&(s._index=r++,t.push(s))}e._pointPrimitives=t}}Fu.prototype._updatePointPrimitive=function(e,t){e._dirty||(this._pointPrimitivesToUpdate[this._pointPrimitivesToUpdateIndex++]=e),++this._propertiesChanged[t]};Fu.prototype.contains=function(e){return l(e)&&e._pointPrimitiveCollection===this};Fu.prototype.get=function(e){return tW(this),this._pointPrimitives[e]};Fu.prototype.computeNewBuffersUsage=function(){let e=this._buffersUsage,t=!1,n=this._propertiesChanged;for(let i=0;i<eW;++i){let o=n[i]===0?Le.STATIC_DRAW:Le.STREAM_DRAW;t=t||e[i]!==o,e[i]=o}return t};function Gje(e,t,n){return new sg(e,[{index:Ma.positionHighAndSize,componentsPerAttribute:4,componentDatatype:Z.FLOAT,usage:n[Q9]},{index:Ma.positionLowAndShow,componentsPerAttribute:4,componentDatatype:Z.FLOAT,usage:n[Q9]},{index:Ma.compressedAttribute0,componentsPerAttribute:4,componentDatatype:Z.FLOAT,usage:n[jce]},{index:Ma.compressedAttribute1,componentsPerAttribute:4,componentDatatype:Z.FLOAT,usage:n[Yce]},{index:Ma.scaleByDistance,componentsPerAttribute:4,componentDatatype:Z.FLOAT,usage:n[qce]},{index:Ma.distanceDisplayConditionAndDisableDepth,componentsPerAttribute:3,componentDatatype:Z.FLOAT,usage:n[Xce]}],t)}var $9=new Un;function Zce(e,t,n,i){let o=i._index,r=i._getActualPosition();e._mode===ee.SCENE3D&&(re.expand(e._baseVolume,r,e._baseVolume),e._boundingVolumeDirty=!0),Un.fromCartesian(r,$9);let s=i.pixelSize,a=i.outlineWidth;e._maxPixelSize=Math.max(e._maxPixelSize,s+a);let c=n[Ma.positionHighAndSize],u=$9.high;c(o,u.x,u.y,u.z,s);let f=n[Ma.positionLowAndOutline],d=$9.low;f(o,d.x,d.y,d.z,a)}var n2=65536,rv=256;function $ce(e,t,n,i){let o=i._index,r=i.color,s=i.getPickId(t).color,a=i.outlineColor,c=U.floatToByte(r.red),u=U.floatToByte(r.green),f=U.floatToByte(r.blue),d=c*n2+u*rv+f;c=U.floatToByte(a.red),u=U.floatToByte(a.green),f=U.floatToByte(a.blue);let p=c*n2+u*rv+f;c=U.floatToByte(s.red),u=U.floatToByte(s.green),f=U.floatToByte(s.blue);let g=c*n2+u*rv+f,m=U.floatToByte(r.alpha)*n2+U.floatToByte(a.alpha)*rv+U.floatToByte(s.alpha),C=n[Ma.compressedAttribute0];C(o,d,p,g,m)}function Jce(e,t,n,i){let o=i._index,r=0,s=1,a=1,c=1,u=i.translucencyByDistance;l(u)&&(r=u.near,s=u.nearValue,a=u.far,c=u.farValue,(s!==1||c!==1)&&(e._shaderTranslucencyByDistance=!0));let f=i.show&&i.clusterShow;i.color.alpha===0&&i.outlineColor.alpha===0&&(f=!1),s=I.clamp(s,0,1),s=s===1?255:s*255|0;let d=(f?1:0)*rv+s;c=I.clamp(c,0,1),c=c===1?255:c*255|0;let p=c,g=n[Ma.compressedAttribute1];g(o,d,p,r,a)}function Qce(e,t,n,i){let o=i._index,r=n[Ma.scaleByDistance],s=0,a=1,c=1,u=1,f=i.scaleByDistance;l(f)&&(s=f.near,a=f.nearValue,c=f.far,u=f.farValue,(a!==1||u!==1)&&(e._shaderScaleByDistance=!0)),r(o,s,a,c,u)}function ele(e,t,n,i){let o=i._index,r=n[Ma.distanceDisplayConditionAndDisableDepth],s=0,a=Number.MAX_VALUE,c=i.distanceDisplayCondition;l(c)&&(s=c.near,a=c.far,s*=s,a*=a,e._shaderDistanceDisplayCondition=!0);let u=i.disableDepthTestDistance;u*=u,u>0&&(e._shaderDisableDepthDistance=!0,u===Number.POSITIVE_INFINITY&&(u=-1)),r(o,s,a,u)}function Wje(e,t,n,i){Zce(e,t,n,i),$ce(e,t,n,i),Jce(e,t,n,i),Qce(e,t,n,i),ele(e,t,n,i)}function J9(e,t,n,i,o,r){let s;i.mode===ee.SCENE3D?(s=e._baseVolume,e._boundingVolumeDirty=!0):s=e._baseVolume2D;let a=[];for(let c=0;c<n;++c){let u=t[c],f=u.position,d=Is._computeActualPosition(f,i,o);l(d)&&(u._setActualPosition(d),r?a.push(d):re.expand(s,d,s))}r&&re.fromPoints(a,s)}function jje(e,t){let n=t.mode,i=e._pointPrimitives,o=e._pointPrimitivesToUpdate,r=e._modelMatrix;e._createVertexArray||e._mode!==n||n!==ee.SCENE3D&&!N.equals(r,e.modelMatrix)?(e._mode=n,N.clone(e.modelMatrix,r),e._createVertexArray=!0,(n===ee.SCENE3D||n===ee.SCENE2D||n===ee.COLUMBUS_VIEW)&&J9(e,i,i.length,t,r,!0)):n===ee.MORPHING?J9(e,i,i.length,t,r,!0):(n===ee.SCENE2D||n===ee.COLUMBUS_VIEW)&&J9(e,o,e._pointPrimitivesToUpdateIndex,t,r,!1)}function qje(e,t,n){let o=t.camera.getPixelSize(n,t.context.drawingBufferWidth,t.context.drawingBufferHeight)*e._maxPixelSize;n.radius+=o}var Yje=[];Fu.prototype.update=function(e){if(tW(this),!this.show)return;this._maxTotalPointSize=kt.maximumAliasedPointSize,jje(this,e);let n=this._pointPrimitives.length,i=this._pointPrimitivesToUpdate,o=this._pointPrimitivesToUpdateIndex,r=this._propertiesChanged,s=this._createVertexArray,a,c=e.context,u=e.passes,f=u.pick;if(s||!f&&this.computeNewBuffersUsage()){this._createVertexArray=!1;for(let v=0;v<eW;++v)r[v]=0;if(this._vaf=this._vaf&&this._vaf.destroy(),n>0){this._vaf=Gje(c,n,this._buffersUsage),a=this._vaf.writers;for(let v=0;v<n;++v){let P=this._pointPrimitives[v];P._dirty=!1,Wje(this,c,a,P)}this._vaf.commit()}this._pointPrimitivesToUpdateIndex=0}else if(o>0){let v=Yje;v.length=0,(r[Q9]||r[Uje]||r[zje])&&v.push(Zce),(r[jce]||r[kje])&&v.push($ce),(r[Vje]||r[Yce])&&v.push(Jce),r[qce]&&v.push(Qce),(r[Xce]||r[Hje])&&v.push(ele);let P=v.length;if(a=this._vaf.writers,o/n>.1){for(let O=0;O<o;++O){let M=i[O];M._dirty=!1;for(let B=0;B<P;++B)v[B](this,c,a,M)}this._vaf.commit()}else{for(let O=0;O<o;++O){let M=i[O];M._dirty=!1;for(let B=0;B<P;++B)v[B](this,c,a,M);this._vaf.subCommit(M._index,1)}this._vaf.endSubCommits()}this._pointPrimitivesToUpdateIndex=0}if(o>n*1.5&&(i.length=n),!l(this._vaf)||!l(this._vaf.va))return;this._boundingVolumeDirty&&(this._boundingVolumeDirty=!1,re.transform(this._baseVolume,this.modelMatrix,this._baseVolumeWC));let d,p=N.IDENTITY;e.mode===ee.SCENE3D?(p=this.modelMatrix,d=re.clone(this._baseVolumeWC,this._boundingVolume)):d=re.clone(this._baseVolume2D,this._boundingVolume),qje(this,e,d);let g=this._blendOption!==this.blendOption;this._blendOption=this.blendOption,g&&(this._blendOption===bo.OPAQUE||this._blendOption===bo.OPAQUE_AND_TRANSLUCENT?this._rsOpaque=Fe.fromCache({depthTest:{enabled:!0,func:te.LEQUAL},depthMask:!0}):this._rsOpaque=void 0,this._blendOption===bo.TRANSLUCENT||this._blendOption===bo.OPAQUE_AND_TRANSLUCENT?this._rsTranslucent=Fe.fromCache({depthTest:{enabled:!0,func:te.LEQUAL},depthMask:!1,blending:cn.ALPHA_BLEND}):this._rsTranslucent=void 0),this._shaderDisableDepthDistance=this._shaderDisableDepthDistance||e.minimumDisableDepthTestDistance!==0;let m,C;(g||this._shaderScaleByDistance&&!this._compiledShaderScaleByDistance||this._shaderTranslucencyByDistance&&!this._compiledShaderTranslucencyByDistance||this._shaderDistanceDisplayCondition&&!this._compiledShaderDistanceDisplayCondition||this._shaderDisableDepthDistance!==this._compiledShaderDisableDepthDistance)&&(m=new ke({sources:[t2]}),this._shaderScaleByDistance&&m.defines.push("EYE_DISTANCE_SCALING"),this._shaderTranslucencyByDistance&&m.defines.push("EYE_DISTANCE_TRANSLUCENCY"),this._shaderDistanceDisplayCondition&&m.defines.push("DISTANCE_DISPLAY_CONDITION"),this._shaderDisableDepthDistance&&m.defines.push("DISABLE_DEPTH_DISTANCE"),this._blendOption===bo.OPAQUE_AND_TRANSLUCENT&&(C=new ke({defines:["OPAQUE"],sources:[Ky]}),this._sp=Yt.replaceCache({context:c,shaderProgram:this._sp,vertexShaderSource:m,fragmentShaderSource:C,attributeLocations:Ma}),C=new ke({defines:["TRANSLUCENT"],sources:[Ky]}),this._spTranslucent=Yt.replaceCache({context:c,shaderProgram:this._spTranslucent,vertexShaderSource:m,fragmentShaderSource:C,attributeLocations:Ma})),this._blendOption===bo.OPAQUE&&(C=new ke({sources:[Ky]}),this._sp=Yt.replaceCache({context:c,shaderProgram:this._sp,vertexShaderSource:m,fragmentShaderSource:C,attributeLocations:Ma})),this._blendOption===bo.TRANSLUCENT&&(C=new ke({sources:[Ky]}),this._spTranslucent=Yt.replaceCache({context:c,shaderProgram:this._spTranslucent,vertexShaderSource:m,fragmentShaderSource:C,attributeLocations:Ma})),this._compiledShaderScaleByDistance=this._shaderScaleByDistance,this._compiledShaderTranslucencyByDistance=this._shaderTranslucencyByDistance,this._compiledShaderDistanceDisplayCondition=this._shaderDistanceDisplayCondition,this._compiledShaderDisableDepthDistance=this._shaderDisableDepthDistance);let x,A,b,E,S=e.commandList;if(u.render||f){let v=this._colorCommands,P=this._blendOption===bo.OPAQUE,O=this._blendOption===bo.OPAQUE_AND_TRANSLUCENT;x=this._vaf.va,A=x.length,v.length=A;let M=O?A*2:A;for(E=0;E<M;++E){let B=P||O&&E%2===0;b=v[E],l(b)||(b=v[E]=new Je),b.primitiveType=Ne.POINTS,b.pass=B||!O?xe.OPAQUE:xe.TRANSLUCENT,b.owner=this;let L=O?Math.floor(E/2):E;b.boundingVolume=d,b.modelMatrix=p,b.shaderProgram=B?this._sp:this._spTranslucent,b.uniformMap=this._uniforms,b.vertexArray=x[L].va,b.renderState=B?this._rsOpaque:this._rsTranslucent,b.debugShowBoundingVolume=this.debugShowBoundingVolume,b.pickId="v_pickColor",S.push(b)}}};Fu.prototype.isDestroyed=function(){return!1};Fu.prototype.destroy=function(){return this._sp=this._sp&&this._sp.destroy(),this._spTranslucent=this._spTranslucent&&this._spTranslucent.destroy(),this._spPick=this._spPick&&this._spPick.destroy(),this._vaf=this._vaf&&this._vaf.destroy(),Kce(this._pointPrimitives),fe(this)};var sv=Fu;var rle=Ri(tle(),1);function Wf(e){e=y(e,y.EMPTY_OBJECT),this._enabled=y(e.enabled,!1),this._pixelRange=y(e.pixelRange,80),this._minimumClusterSize=y(e.minimumClusterSize,2),this._clusterBillboards=y(e.clusterBillboards,!0),this._clusterLabels=y(e.clusterLabels,!0),this._clusterPoints=y(e.clusterPoints,!0),this._labelCollection=void 0,this._billboardCollection=void 0,this._pointCollection=void 0,this._clusterBillboardCollection=void 0,this._clusterLabelCollection=void 0,this._clusterPointCollection=void 0,this._collectionIndicesByEntity={},this._unusedLabelIndices=[],this._unusedBillboardIndices=[],this._unusedPointIndices=[],this._previousClusters=[],this._previousHeight=void 0,this._enabledDirty=!1,this._clusterDirty=!1,this._cluster=void 0,this._removeEventListener=void 0,this._clusterEvent=new ge,this.show=y(e.show,!0)}function Xje(e){return e.coord.x}function Kje(e){return e.coord.y}function nle(e,t){e.x-=t,e.y-=t,e.width+=t*2,e.height+=t*2}var Zje=new Ge;function ile(e,t,n,i,o){if(l(e._labelCollection)&&i._clusterLabels?o=Uy.getScreenSpaceBoundingBox(e,t,o):l(e._billboardCollection)&&i._clusterBillboards?o=mo.getScreenSpaceBoundingBox(e,t,o):l(e._pointPrimitiveCollection)&&i._clusterPoints&&(o=Is.getScreenSpaceBoundingBox(e,t,o)),nle(o,n),i._clusterLabels&&!l(e._labelCollection)&&l(e.id)&&sle(i,e.id.id)&&l(e.id._label)){let r=i._collectionIndicesByEntity[e.id.id].labelIndex,s=i._labelCollection.get(r),a=Uy.getScreenSpaceBoundingBox(s,t,Zje);nle(a,n),o=Ge.union(o,a,o)}return o}function $je(e,t){if(e.clusterShow=!0,!l(e._labelCollection)&&l(e.id)&&sle(t,e.id.id)&&l(e.id._label)){let n=t._collectionIndicesByEntity[e.id.id].labelIndex,i=t._labelCollection.get(n);i.clusterShow=!0}}function ole(e,t,n,i){let o={billboard:i._clusterBillboardCollection.add(),label:i._clusterLabelCollection.add(),point:i._clusterPointCollection.add()};o.billboard.show=!1,o.point.show=!1,o.label.show=!0,o.label.text=t.toLocaleString(),o.label.id=n,o.billboard.position=o.label.position=o.point.position=e,i._clusterEvent.raiseEvent(n,o)}function sle(e,t){return l(e)&&l(e._collectionIndicesByEntity[t])&&l(e._collectionIndicesByEntity[t].labelIndex)}function oW(e,t,n,i,o){if(!l(e))return;let r=e.length;for(let s=0;s<r;++s){let a=e.get(s);if(a.clusterShow=!1,!a.show||o._scene.mode===ee.SCENE3D&&!i.isPointVisible(a.position))continue;let c=o._clusterLabels&&l(a._labelCollection),u=o._clusterBillboards&&l(a.id._billboard),f=o._clusterPoints&&l(a.id._point);if(c&&(f||u))continue;let d=a.computeScreenSpacePosition(n);!l(d)||t.push({index:s,collection:e,clustered:!1,coord:d})}}var Jje=new Ge,Qje=new Ge,eqe=new Ge;function tqe(e){return function(t){if(l(t)&&t<.05||!e.enabled)return;let n=e._scene,i=e._labelCollection,o=e._billboardCollection,r=e._pointCollection;if(!l(i)&&!l(o)&&!l(r)||!e._clusterBillboards&&!e._clusterLabels&&!e._clusterPoints)return;let s=e._clusterLabelCollection,a=e._clusterBillboardCollection,c=e._clusterPointCollection;l(s)?s.removeAll():s=e._clusterLabelCollection=new tp({scene:n}),l(a)?a.removeAll():a=e._clusterBillboardCollection=new Iu({scene:n}),l(c)?c.removeAll():c=e._clusterPointCollection=new sv;let u=e._pixelRange,f=e._minimumClusterSize,d=e._previousClusters,p=[],g=e._previousHeight,m=n.camera.positionCartographic.height,C=n.mapProjection.ellipsoid,x=n.camera.positionWC,A=new Mp(C,x),b=[];e._clusterLabels&&oW(i,b,n,A,e),e._clusterBillboards&&oW(o,b,n,A,e),e._clusterPoints&&oW(r,b,n,A,e);let E,S,v,P,O,M,B,L,_,T,w,D,R=new rle.default(b,Xje,Kje,64,Int32Array);if(m<g)for(v=d.length,E=0;E<v;++E){let F=d[E];if(!A.isPointVisible(F.position))continue;let z=mo._computeScreenSpacePosition(N.IDENTITY,F.position,h.ZERO,G.ZERO,n);if(!l(z))continue;let k=1-m/g,H=F.width=F.width*k,V=F.height=F.height*k;H=Math.max(H,F.minimumWidth),V=Math.max(V,F.minimumHeight);let Y=z.x-H*.5,q=z.y-V*.5,X=z.x+H,W=z.y+V;for(O=R.range(Y,q,X,W),M=O.length,T=0,_=[],S=0;S<M;++S)B=O[S],L=b[B],L.clustered||(++T,w=L.collection,D=L.index,_.push(w.get(D).id));if(T>=f)for(ole(F.position,T,_,e),p.push(F),S=0;S<M;++S)b[O[S]].clustered=!0}for(v=b.length,E=0;E<v;++E){let F=b[E];if(F.clustered)continue;F.clustered=!0,w=F.collection,D=F.index;let z=w.get(D);P=ile(z,F.coord,u,e,Jje);let k=Ge.clone(P,Qje);O=R.range(P.x,P.y,P.x+P.width,P.y+P.height),M=O.length;let H=h.clone(z.position);for(T=1,_=[z.id],S=0;S<M;++S)if(B=O[S],L=b[B],!L.clustered){let V=L.collection.get(L.index),Y=ile(V,L.coord,u,e,eqe);h.add(V.position,H,H),Ge.union(k,Y,k),++T,_.push(V.id)}if(T>=f){let V=h.multiplyByScalar(H,1/T,H);for(ole(V,T,_,e),p.push({position:V,width:k.width,height:k.height,minimumWidth:P.width,minimumHeight:P.height}),S=0;S<M;++S)b[O[S]].clustered=!0}else $je(z,e)}s.length===0&&(s.destroy(),e._clusterLabelCollection=void 0),a.length===0&&(a.destroy(),e._clusterBillboardCollection=void 0),c.length===0&&(c.destroy(),e._clusterPointCollection=void 0),e._previousClusters=p,e._previousHeight=m}}Wf.prototype._initialize=function(e){this._scene=e;let t=tqe(this);this._cluster=t,this._removeEventListener=e.camera.changed.addEventListener(t)};Object.defineProperties(Wf.prototype,{enabled:{get:function(){return this._enabled},set:function(e){this._enabledDirty=e!==this._enabled,this._enabled=e}},pixelRange:{get:function(){return this._pixelRange},set:function(e){this._clusterDirty=this._clusterDirty||e!==this._pixelRange,this._pixelRange=e}},minimumClusterSize:{get:function(){return this._minimumClusterSize},set:function(e){this._clusterDirty=this._clusterDirty||e!==this._minimumClusterSize,this._minimumClusterSize=e}},clusterEvent:{get:function(){return this._clusterEvent}},clusterBillboards:{get:function(){return this._clusterBillboards},set:function(e){this._clusterDirty=this._clusterDirty||e!==this._clusterBillboards,this._clusterBillboards=e}},clusterLabels:{get:function(){return this._clusterLabels},set:function(e){this._clusterDirty=this._clusterDirty||e!==this._clusterLabels,this._clusterLabels=e}},clusterPoints:{get:function(){return this._clusterPoints},set:function(e){this._clusterDirty=this._clusterDirty||e!==this._clusterPoints,this._clusterPoints=e}}});function sW(e,t,n,i){return function(o){let r=this[e];l(this._collectionIndicesByEntity)||(this._collectionIndicesByEntity={});let s=this._collectionIndicesByEntity[o.id];if(l(s)||(s=this._collectionIndicesByEntity[o.id]={billboardIndex:void 0,labelIndex:void 0,pointIndex:void 0}),l(r)&&l(s[i]))return r.get(s[i]);l(r)||(r=this[e]=new t({scene:this._scene}));let a,c,u=this[n];u.length>0?(a=u.pop(),c=r.get(a)):(c=r.add(),a=r.length-1),s[i]=a;let f=this;return Promise.resolve().then(function(){f._clusterDirty=!0}),c}}function aW(e,t){let n=e._collectionIndicesByEntity[t];!l(n.billboardIndex)&&!l(n.labelIndex)&&!l(n.pointIndex)&&delete e._collectionIndicesByEntity[t]}Wf.prototype.getLabel=sW("_labelCollection",tp,"_unusedLabelIndices","labelIndex");Wf.prototype.removeLabel=function(e){let t=this._collectionIndicesByEntity&&this._collectionIndicesByEntity[e.id];if(!l(this._labelCollection)||!l(t)||!l(t.labelIndex))return;let n=t.labelIndex;t.labelIndex=void 0,aW(this,e.id);let i=this._labelCollection.get(n);i.show=!1,i.text="",i.id=void 0,this._unusedLabelIndices.push(n),this._clusterDirty=!0};Wf.prototype.getBillboard=sW("_billboardCollection",Iu,"_unusedBillboardIndices","billboardIndex");Wf.prototype.removeBillboard=function(e){let t=this._collectionIndicesByEntity&&this._collectionIndicesByEntity[e.id];if(!l(this._billboardCollection)||!l(t)||!l(t.billboardIndex))return;let n=t.billboardIndex;t.billboardIndex=void 0,aW(this,e.id);let i=this._billboardCollection.get(n);i.id=void 0,i.show=!1,i.image=void 0,this._unusedBillboardIndices.push(n),this._clusterDirty=!0};Wf.prototype.getPoint=sW("_pointCollection",sv,"_unusedPointIndices","pointIndex");Wf.prototype.removePoint=function(e){let t=this._collectionIndicesByEntity&&this._collectionIndicesByEntity[e.id];if(!l(this._pointCollection)||!l(t)||!l(t.pointIndex))return;let n=t.pointIndex;t.pointIndex=void 0,aW(this,e.id);let i=this._pointCollection.get(n);i.show=!1,i.id=void 0,this._unusedPointIndices.push(n),this._clusterDirty=!0};function rW(e){if(!l(e))return;let t=e.length;for(let n=0;n<t;++n)e.get(n).clusterShow=!0}function nqe(e){e.enabled||(l(e._clusterLabelCollection)&&e._clusterLabelCollection.destroy(),l(e._clusterBillboardCollection)&&e._clusterBillboardCollection.destroy(),l(e._clusterPointCollection)&&e._clusterPointCollection.destroy(),e._clusterLabelCollection=void 0,e._clusterBillboardCollection=void 0,e._clusterPointCollection=void 0,rW(e._labelCollection),rW(e._billboardCollection),rW(e._pointCollection))}Wf.prototype.update=function(e){if(!this.show)return;let t;l(this._labelCollection)&&this._labelCollection.length>0&&this._labelCollection.get(0)._glyphs.length===0&&(t=e.commandList,e.commandList=[],this._labelCollection.update(e),e.commandList=t),l(this._billboardCollection)&&this._billboardCollection.length>0&&!l(this._billboardCollection.get(0).width)&&(t=e.commandList,e.commandList=[],this._billboardCollection.update(e),e.commandList=t),this._enabledDirty&&(this._enabledDirty=!1,nqe(this),this._clusterDirty=!0),this._clusterDirty&&(this._clusterDirty=!1,this._cluster()),l(this._clusterLabelCollection)&&this._clusterLabelCollection.update(e),l(this._clusterBillboardCollection)&&this._clusterBillboardCollection.update(e),l(this._clusterPointCollection)&&this._clusterPointCollection.update(e),l(this._labelCollection)&&this._labelCollection.update(e),l(this._billboardCollection)&&this._billboardCollection.update(e),l(this._pointCollection)&&this._pointCollection.update(e)};Wf.prototype.destroy=function(){this._labelCollection=this._labelCollection&&this._labelCollection.destroy(),this._billboardCollection=this._billboardCollection&&this._billboardCollection.destroy(),this._pointCollection=this._pointCollection&&this._pointCollection.destroy(),this._clusterLabelCollection=this._clusterLabelCollection&&this._clusterLabelCollection.destroy(),this._clusterBillboardCollection=this._clusterBillboardCollection&&this._clusterBillboardCollection.destroy(),this._clusterPointCollection=this._clusterPointCollection&&this._clusterPointCollection.destroy(),l(this._removeEventListener)&&(this._removeEventListener(),this._removeEventListener=void 0),this._labelCollection=void 0,this._billboardCollection=void 0,this._pointCollection=void 0,this._clusterBillboardCollection=void 0,this._clusterLabelCollection=void 0,this._clusterPointCollection=void 0,this._collectionIndicesByEntity=void 0,this._unusedLabelIndices=[],this._unusedBillboardIndices=[],this._unusedPointIndices=[],this._previousClusters=[],this._previousHeight=void 0,this._enabledDirty=!1,this._pixelRangeDirty=!1,this._minimumClusterSizeDirty=!1};var Vu=Wf;function cW(e){this._name=e,this._clock=void 0,this._changed=new ge,this._error=new ge,this._isLoading=!1,this._loading=new ge,this._entityCollection=new Ps(this),this._entityCluster=new Vu}Object.defineProperties(cW.prototype,{name:{get:function(){return this._name},set:function(e){this._name!==e&&(this._name=e,this._changed.raiseEvent(this))}},clock:{get:function(){return this._clock},set:function(e){this._clock!==e&&(this._clock=e,this._changed.raiseEvent(this))}},entities:{get:function(){return this._entityCollection}},isLoading:{get:function(){return this._isLoading},set:function(e){Lr.setLoading(this,e)}},changedEvent:{get:function(){return this._changed}},errorEvent:{get:function(){return this._error}},loadingEvent:{get:function(){return this._loading}},show:{get:function(){return this._entityCollection.show},set:function(e){this._entityCollection.show=e}},clustering:{get:function(){return this._entityCluster},set:function(e){this._entityCluster=e}}});cW.prototype.update=function(e){return!0};var i2=cW;var ale=h.ZERO,cle=new h,iqe=new h,lle=new U;function oqe(e){this.id=e,this.vertexFormat=void 0,this.length=void 0,this.topRadius=void 0,this.bottomRadius=void 0,this.slices=void 0,this.numberOfVerticalLines=void 0,this.offsetAttribute=void 0}function Ml(e,t){ii.call(this,{entity:e,scene:t,geometryOptions:new oqe(e),geometryPropertyName:"cylinder",observedPropertyNames:["availability","position","orientation","cylinder"]}),this._onEntityPropertyChanged(e,"cylinder",e.cylinder,void 0)}l(Object.create)&&(Ml.prototype=Object.create(ii.prototype),Ml.prototype.constructor=Ml);Object.defineProperties(Ml.prototype,{terrainOffsetProperty:{get:function(){return this._terrainOffsetProperty}}});Ml.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=new dn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),o=this._distanceDisplayConditionProperty.getValue(e),r=Bn.fromDistanceDisplayCondition(o),s={show:i,distanceDisplayCondition:r,color:void 0,offset:void 0};if(this._materialProperty instanceof Pt){let a;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(a=this._materialProperty.color.getValue(e,lle)),l(a)||(a=U.WHITE),s.color=It.fromColor(a)}return l(this._options.offsetAttribute)&&(s.offset=ji.fromCartesian3(j.getValueOrDefault(this._terrainOffsetProperty,e,ale,cle))),new pt({id:t,geometry:new H1(this._options),modelMatrix:t.computeModelMatrixForHeightReference(e,t.cylinder.heightReference,this._options.length*.5,this._scene.mapProjection.ellipsoid),attributes:s})};Ml.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=j.getValueOrDefault(this._outlineColorProperty,e,U.BLACK,lle),o=this._distanceDisplayConditionProperty.getValue(e),r={show:new dn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:It.fromColor(i),distanceDisplayCondition:Bn.fromDistanceDisplayCondition(o),offset:void 0};return l(this._options.offsetAttribute)&&(r.offset=ji.fromCartesian3(j.getValueOrDefault(this._terrainOffsetProperty,e,ale,cle))),new pt({id:t,geometry:new G1(this._options),modelMatrix:t.computeModelMatrixForHeightReference(e,t.cylinder.heightReference,this._options.length*.5,this._scene.mapProjection.ellipsoid),attributes:r})};Ml.prototype._computeCenter=function(e,t){return j.getValueOrUndefined(this._entity.position,e,t)};Ml.prototype._isHidden=function(e,t){return!l(e.position)||!l(t.length)||!l(t.topRadius)||!l(t.bottomRadius)||ii.prototype._isHidden.call(this,e,t)};Ml.prototype._isDynamic=function(e,t){return!e.position.isConstant||!j.isConstant(e.orientation)||!t.length.isConstant||!t.topRadius.isConstant||!t.bottomRadius.isConstant||!j.isConstant(t.slices)||!j.isConstant(t.outlineWidth)||!j.isConstant(t.numberOfVerticalLines)};Ml.prototype._setStaticOptions=function(e,t){let n=j.getValueOrDefault(t.heightReference,Ve.MINIMUM_VALUE,ze.NONE),i=this._options;i.vertexFormat=this._materialProperty instanceof Pt?Qt.VERTEX_FORMAT:no.MaterialSupport.TEXTURED.vertexFormat,i.length=t.length.getValue(Ve.MINIMUM_VALUE),i.topRadius=t.topRadius.getValue(Ve.MINIMUM_VALUE),i.bottomRadius=t.bottomRadius.getValue(Ve.MINIMUM_VALUE),i.slices=j.getValueOrUndefined(t.slices,Ve.MINIMUM_VALUE),i.numberOfVerticalLines=j.getValueOrUndefined(t.numberOfVerticalLines,Ve.MINIMUM_VALUE),i.offsetAttribute=n!==ze.NONE?Jt.ALL:void 0};Ml.prototype._onEntityPropertyChanged=R_;Ml.DynamicGeometryUpdater=MT;function MT(e,t,n){ni.call(this,e,t,n)}l(Object.create)&&(MT.prototype=Object.create(ni.prototype),MT.prototype.constructor=MT);MT.prototype._isHidden=function(e,t,n){let i=this._options,o=j.getValueOrUndefined(e.position,n,iqe);return!l(o)||!l(i.length)||!l(i.topRadius)||!l(i.bottomRadius)||ni.prototype._isHidden.call(this,e,t,n)};MT.prototype._setOptions=function(e,t,n){let i=j.getValueOrDefault(t.heightReference,n,ze.NONE),o=this._options;o.length=j.getValueOrUndefined(t.length,n),o.topRadius=j.getValueOrUndefined(t.topRadius,n),o.bottomRadius=j.getValueOrUndefined(t.bottomRadius,n),o.slices=j.getValueOrUndefined(t.slices,n),o.numberOfVerticalLines=j.getValueOrUndefined(t.numberOfVerticalLines,n),o.offsetAttribute=i!==ze.NONE?Jt.ALL:void 0};var o2=Ml;var _v=Ri(fl(),1);function Zy(){this._definitionChanged=new ge,this._startTime=void 0,this._stopTime=void 0,this._currentTime=void 0,this._clockRange=void 0,this._clockStep=void 0,this._multiplier=void 0}Object.defineProperties(Zy.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},startTime:Tl("startTime"),stopTime:Tl("stopTime"),currentTime:Tl("currentTime"),clockRange:Tl("clockRange"),clockStep:Tl("clockStep"),multiplier:Tl("multiplier")});Zy.prototype.clone=function(e){return l(e)||(e=new Zy),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};Zy.prototype.equals=function(e){return this===e||l(e)&&Q.equals(this.startTime,e.startTime)&&Q.equals(this.stopTime,e.stopTime)&&Q.equals(this.currentTime,e.currentTime)&&this.clockRange===e.clockRange&&this.clockStep===e.clockStep&&this.multiplier===e.multiplier};Zy.prototype.merge=function(e){this.startTime=y(this.startTime,e.startTime),this.stopTime=y(this.stopTime,e.stopTime),this.currentTime=y(this.currentTime,e.currentTime),this.clockRange=y(this.clockRange,e.clockRange),this.clockStep=y(this.clockStep,e.clockStep),this.multiplier=y(this.multiplier,e.multiplier)};Zy.prototype.getValue=function(e){return l(e)||(e=new Vd),e.startTime=y(this.startTime,e.startTime),e.stopTime=y(this.stopTime,e.stopTime),e.currentTime=y(this.currentTime,e.currentTime),e.clockRange=y(this.clockRange,e.clockRange),e.multiplier=y(this.multiplier,e.multiplier),e.clockStep=y(this.clockStep,e.clockStep),e};var vh=Zy;var rqe=U.WHITE,sqe=.1,aqe=new G(8,8),cqe=new G(0,0),lqe=new G(1,1);function BT(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new ge,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._lineOffset=void 0,this._lineOffsetSubscription=void 0,this.color=e.color,this.cellAlpha=e.cellAlpha,this.lineCount=e.lineCount,this.lineThickness=e.lineThickness,this.lineOffset=e.lineOffset}Object.defineProperties(BT.prototype,{isConstant:{get:function(){return j.isConstant(this._color)&&j.isConstant(this._cellAlpha)&&j.isConstant(this._lineCount)&&j.isConstant(this._lineThickness)&&j.isConstant(this._lineOffset)}},definitionChanged:{get:function(){return this._definitionChanged}},color:ae("color"),cellAlpha:ae("cellAlpha"),lineCount:ae("lineCount"),lineThickness:ae("lineThickness"),lineOffset:ae("lineOffset")});BT.prototype.getType=function(e){return"Grid"};BT.prototype.getValue=function(e,t){return l(t)||(t={}),t.color=j.getValueOrClonedDefault(this._color,e,rqe,t.color),t.cellAlpha=j.getValueOrDefault(this._cellAlpha,e,sqe),t.lineCount=j.getValueOrClonedDefault(this._lineCount,e,aqe,t.lineCount),t.lineThickness=j.getValueOrClonedDefault(this._lineThickness,e,lqe,t.lineThickness),t.lineOffset=j.getValueOrClonedDefault(this._lineOffset,e,cqe,t.lineOffset),t};BT.prototype.equals=function(e){return this===e||e instanceof BT&&j.equals(this._color,e._color)&&j.equals(this._cellAlpha,e._cellAlpha)&&j.equals(this._lineCount,e._lineCount)&&j.equals(this._lineThickness,e._lineThickness)&&j.equals(this._lineOffset,e._lineOffset)};var av=BT;function LT(e){this._definitionChanged=new ge,this._color=void 0,this._colorSubscription=void 0,this.color=e}Object.defineProperties(LT.prototype,{isConstant:{get:function(){return j.isConstant(this._color)}},definitionChanged:{get:function(){return this._definitionChanged}},color:ae("color")});LT.prototype.getType=function(e){return"PolylineArrow"};LT.prototype.getValue=function(e,t){return l(t)||(t={}),t.color=j.getValueOrClonedDefault(this._color,e,U.WHITE,t.color),t};LT.prototype.equals=function(e){return this===e||e instanceof LT&&j.equals(this._color,e._color)};var cv=LT;var uqe=U.WHITE,fqe=U.TRANSPARENT,dqe=16,hqe=255;function NT(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new ge,this._color=void 0,this._colorSubscription=void 0,this._gapColor=void 0,this._gapColorSubscription=void 0,this._dashLength=void 0,this._dashLengthSubscription=void 0,this._dashPattern=void 0,this._dashPatternSubscription=void 0,this.color=e.color,this.gapColor=e.gapColor,this.dashLength=e.dashLength,this.dashPattern=e.dashPattern}Object.defineProperties(NT.prototype,{isConstant:{get:function(){return j.isConstant(this._color)&&j.isConstant(this._gapColor)&&j.isConstant(this._dashLength)&&j.isConstant(this._dashPattern)}},definitionChanged:{get:function(){return this._definitionChanged}},color:ae("color"),gapColor:ae("gapColor"),dashLength:ae("dashLength"),dashPattern:ae("dashPattern")});NT.prototype.getType=function(e){return"PolylineDash"};NT.prototype.getValue=function(e,t){return l(t)||(t={}),t.color=j.getValueOrClonedDefault(this._color,e,uqe,t.color),t.gapColor=j.getValueOrClonedDefault(this._gapColor,e,fqe,t.gapColor),t.dashLength=j.getValueOrDefault(this._dashLength,e,dqe,t.dashLength),t.dashPattern=j.getValueOrDefault(this._dashPattern,e,hqe,t.dashPattern),t};NT.prototype.equals=function(e){return this===e||e instanceof NT&&j.equals(this._color,e._color)&&j.equals(this._gapColor,e._gapColor)&&j.equals(this._dashLength,e._dashLength)&&j.equals(this._dashPattern,e._dashPattern)};var lv=NT;var mqe=U.WHITE,pqe=.25,_qe=1;function FT(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new ge,this._color=void 0,this._colorSubscription=void 0,this._glowPower=void 0,this._glowPowerSubscription=void 0,this._taperPower=void 0,this._taperPowerSubscription=void 0,this.color=e.color,this.glowPower=e.glowPower,this.taperPower=e.taperPower}Object.defineProperties(FT.prototype,{isConstant:{get:function(){return j.isConstant(this._color)&&j.isConstant(this._glow)}},definitionChanged:{get:function(){return this._definitionChanged}},color:ae("color"),glowPower:ae("glowPower"),taperPower:ae("taperPower")});FT.prototype.getType=function(e){return"PolylineGlow"};FT.prototype.getValue=function(e,t){return l(t)||(t={}),t.color=j.getValueOrClonedDefault(this._color,e,mqe,t.color),t.glowPower=j.getValueOrDefault(this._glowPower,e,pqe,t.glowPower),t.taperPower=j.getValueOrDefault(this._taperPower,e,_qe,t.taperPower),t};FT.prototype.equals=function(e){return this===e||e instanceof FT&&j.equals(this._color,e._color)&&j.equals(this._glowPower,e._glowPower)&&j.equals(this._taperPower,e._taperPower)};var uv=FT;var gqe=U.WHITE,yqe=U.BLACK,Cqe=1;function VT(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new ge,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=e.color,this.outlineColor=e.outlineColor,this.outlineWidth=e.outlineWidth}Object.defineProperties(VT.prototype,{isConstant:{get:function(){return j.isConstant(this._color)&&j.isConstant(this._outlineColor)&&j.isConstant(this._outlineWidth)}},definitionChanged:{get:function(){return this._definitionChanged}},color:ae("color"),outlineColor:ae("outlineColor"),outlineWidth:ae("outlineWidth")});VT.prototype.getType=function(e){return"PolylineOutline"};VT.prototype.getValue=function(e,t){return l(t)||(t={}),t.color=j.getValueOrClonedDefault(this._color,e,gqe,t.color),t.outlineColor=j.getValueOrClonedDefault(this._outlineColor,e,yqe,t.outlineColor),t.outlineWidth=j.getValueOrDefault(this._outlineWidth,e,Cqe),t};VT.prototype.equals=function(e){return this===e||e instanceof VT&&j.equals(this._color,e._color)&&j.equals(this._outlineColor,e._outlineColor)&&j.equals(this._outlineWidth,e._outlineWidth)};var $y=VT;function dp(e,t){this._value=void 0,this._definitionChanged=new ge,this._eventHelper=new Pr,this._referenceFrame=y(t,Zi.FIXED),this.setValue(e)}Object.defineProperties(dp.prototype,{isConstant:{get:function(){let e=this._value;if(!l(e))return!0;let t=e.length;for(let n=0;n<t;n++)if(!j.isConstant(e[n]))return!1;return!0}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return this._referenceFrame}}});dp.prototype.getValue=function(e,t){return this.getValueInReferenceFrame(e,Zi.FIXED,t)};dp.prototype.getValueInReferenceFrame=function(e,t,n){let i=this._value;if(!l(i))return;let o=i.length;l(n)||(n=new Array(o));let r=0,s=0;for(;r<o;){let c=i[r].getValueInReferenceFrame(e,t,n[r]);l(c)&&(n[s]=c,s++),r++}return n.length=s,n};dp.prototype.setValue=function(e){let t=this._eventHelper;if(t.removeAll(),l(e)){this._value=e.slice();let n=e.length;for(let i=0;i<n;i++){let o=e[i];l(o)&&t.add(o.definitionChanged,dp.prototype._raiseDefinitionChanged,this)}}else this._value=void 0;this._definitionChanged.raiseEvent(this)};dp.prototype.equals=function(e){return this===e||e instanceof dp&&this._referenceFrame===e._referenceFrame&&j.arrayEquals(this._value,e._value)};dp.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)};var xg=dp;function Ag(e){this._value=void 0,this._definitionChanged=new ge,this._eventHelper=new Pr,this.setValue(e)}Object.defineProperties(Ag.prototype,{isConstant:{get:function(){let e=this._value;if(!l(e))return!0;let t=e.length;for(let n=0;n<t;n++)if(!j.isConstant(e[n]))return!1;return!0}},definitionChanged:{get:function(){return this._definitionChanged}}});Ag.prototype.getValue=function(e,t){let n=this._value;if(!l(n))return;let i=n.length;l(t)||(t=new Array(i));let o=0,r=0;for(;o<i;){let a=this._value[o].getValue(e,t[o]);l(a)&&(t[r]=a,r++),o++}return t.length=r,t};Ag.prototype.setValue=function(e){let t=this._eventHelper;if(t.removeAll(),l(e)){this._value=e.slice();let n=e.length;for(let i=0;i<n;i++){let o=e[i];l(o)&&t.add(o.definitionChanged,Ag.prototype._raiseDefinitionChanged,this)}}else this._value=void 0;this._definitionChanged.raiseEvent(this)};Ag.prototype.equals=function(e){return this===e||e instanceof Ag&&j.arrayEquals(this._value,e._value)};Ag.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)};var fv=Ag;function Jy(e){let t=e._targetProperty;if(!l(t)){let n=e._targetEntity;if(!l(n)){if(n=e._targetCollection.getById(e._targetId),!l(n)){e._targetEntity=e._targetProperty=void 0;return}n.definitionChanged.addEventListener(Bl.prototype._onTargetEntityDefinitionChanged,e),e._targetEntity=n}let i=e._targetPropertyNames;t=e._targetEntity;for(let o=0,r=i.length;o<r&&l(t);++o)t=t[i[o]];e._targetProperty=t}return t}function Bl(e,t,n){this._targetCollection=e,this._targetId=t,this._targetPropertyNames=n,this._targetProperty=void 0,this._targetEntity=void 0,this._definitionChanged=new ge,e.collectionChanged.addEventListener(Bl.prototype._onCollectionChanged,this)}Object.defineProperties(Bl.prototype,{isConstant:{get:function(){return j.isConstant(Jy(this))}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){let e=Jy(this);return l(e)?e.referenceFrame:void 0}},targetId:{get:function(){return this._targetId}},targetCollection:{get:function(){return this._targetCollection}},targetPropertyNames:{get:function(){return this._targetPropertyNames}},resolvedProperty:{get:function(){return Jy(this)}}});Bl.fromString=function(e,t){let n,i=[],o=!0,r=!1,s="";for(let a=0;a<t.length;++a){let c=t.charAt(a);r?(s+=c,r=!1):c==="\\"?r=!0:o&&c==="#"?(n=s,o=!1,s=""):!o&&c==="."?(i.push(s),s=""):s+=c}return i.push(s),new Bl(e,n,i)};Bl.prototype.getValue=function(e,t){let n=Jy(this);return l(n)?n.getValue(e,t):void 0};Bl.prototype.getValueInReferenceFrame=function(e,t,n){let i=Jy(this);return l(i)?i.getValueInReferenceFrame(e,t,n):void 0};Bl.prototype.getType=function(e){let t=Jy(this);return l(t)?t.getType(e):void 0};Bl.prototype.equals=function(e){if(this===e)return!0;let t=this._targetPropertyNames,n=e._targetPropertyNames;if(this._targetCollection!==e._targetCollection||this._targetId!==e._targetId||t.length!==n.length)return!1;let i=this._targetPropertyNames.length;for(let o=0;o<i;o++)if(t[o]!==n[o])return!1;return!0};Bl.prototype._onTargetEntityDefinitionChanged=function(e,t,n,i){l(this._targetProperty)&&this._targetPropertyNames[0]===t&&(this._targetProperty=void 0,this._definitionChanged.raiseEvent(this))};Bl.prototype._onCollectionChanged=function(e,t,n){let i=this._targetEntity;l(i)&&n.indexOf(i)!==-1?(i.definitionChanged.removeEventListener(Bl.prototype._onTargetEntityDefinitionChanged,this),this._targetEntity=this._targetProperty=void 0):l(i)||(i=Jy(this),l(i)&&this._definitionChanged.raiseEvent(this))};var Tg=Bl;var xqe={packedLength:1,pack:function(e,t,n){return n=y(n,0),t[n]=e,t},unpack:function(e,t,n){return t=y(t,0),e[t]},convertPackedArrayForInterpolation:function(e,t,n,i){l(i)||(i=[]),t=y(t,0),n=y(n,e.length);let o;for(let r=0,s=n-t+1;r<s;r++){let a=e[t+r];r===0||Math.abs(o-a)<Math.PI?i[r]=a:i[r]=a-I.TWO_PI,o=a}},unpackInterpolationResult:function(e,t,n,i,o){return o=e[0],o<0?o+I.TWO_PI:o}},jf=xqe;var ule={packedLength:1,pack:function(e,t,n){n=y(n,0),t[n]=e},unpack:function(e,t,n){return t=y(t,0),e[t]}};function fle(e,t,n){let i,o=e.length,r=n.length,s=o+r;if(e.length=s,o!==t){let a=o-1;for(i=s-1;i>=t;i--)e[i]=e[a--]}for(i=0;i<r;i++)e[t++]=n[i]}function dle(e,t){return e instanceof Q?e:typeof e=="string"?Q.fromIso8601(e):Q.addSeconds(t,e,new Q)}var lW=[],uW=[];function r2(e,t,n,i,o){let r=0,s,a,c,u,f,d;for(;r<i.length;){f=dle(i[r],e),c=Yo(t,f,Q.compare);let p=0,g=0;if(c<0){for(c=~c,u=c*o,a=void 0,d=t[c];r<i.length&&(f=dle(i[r],e),!(l(a)&&Q.compare(a,f)>=0||l(d)&&Q.compare(f,d)>=0));){for(lW[p++]=f,r=r+1,s=0;s<o;s++)uW[g++]=i[r],r=r+1;a=f}p>0&&(uW.length=g,fle(n,u,uW),lW.length=p,fle(t,c,lW))}else{for(s=0;s<o;s++)r++,n[c*o+s]=i[r];r++}}}function qf(e,t){let n=e;n===Number&&(n=ule);let i=n.packedLength,o=y(n.packedInterpolationLength,i),r=0,s;if(l(t)){let a=t.length;s=new Array(a);for(let c=0;c<a;c++){let u=t[c];u===Number&&(u=ule);let f=u.packedLength;i+=f,o+=y(u.packedInterpolationLength,f),s[c]=u}r=a}this._type=e,this._innerType=n,this._interpolationDegree=1,this._interpolationAlgorithm=Kx,this._numberOfPoints=0,this._times=[],this._values=[],this._xTable=[],this._yTable=[],this._packedLength=i,this._packedInterpolationLength=o,this._updateTableLength=!0,this._interpolationResult=new Array(o),this._definitionChanged=new ge,this._derivativeTypes=t,this._innerDerivativeTypes=s,this._inputOrder=r,this._forwardExtrapolationType=uu.NONE,this._forwardExtrapolationDuration=0,this._backwardExtrapolationType=uu.NONE,this._backwardExtrapolationDuration=0}Object.defineProperties(qf.prototype,{isConstant:{get:function(){return this._values.length===0}},definitionChanged:{get:function(){return this._definitionChanged}},type:{get:function(){return this._type}},derivativeTypes:{get:function(){return this._derivativeTypes}},interpolationDegree:{get:function(){return this._interpolationDegree}},interpolationAlgorithm:{get:function(){return this._interpolationAlgorithm}},forwardExtrapolationType:{get:function(){return this._forwardExtrapolationType},set:function(e){this._forwardExtrapolationType!==e&&(this._forwardExtrapolationType=e,this._definitionChanged.raiseEvent(this))}},forwardExtrapolationDuration:{get:function(){return this._forwardExtrapolationDuration},set:function(e){this._forwardExtrapolationDuration!==e&&(this._forwardExtrapolationDuration=e,this._definitionChanged.raiseEvent(this))}},backwardExtrapolationType:{get:function(){return this._backwardExtrapolationType},set:function(e){this._backwardExtrapolationType!==e&&(this._backwardExtrapolationType=e,this._definitionChanged.raiseEvent(this))}},backwardExtrapolationDuration:{get:function(){return this._backwardExtrapolationDuration},set:function(e){this._backwardExtrapolationDuration!==e&&(this._backwardExtrapolationDuration=e,this._definitionChanged.raiseEvent(this))}}});qf.prototype.getValue=function(e,t){let n=this._times,i=n.length;if(i===0)return;let o,r=this._innerType,s=this._values,a=Yo(n,e,Q.compare);if(a<0){if(a=~a,a===0){let S=n[a];if(o=this._backwardExtrapolationDuration,this._backwardExtrapolationType===uu.NONE||o!==0&&Q.secondsDifference(S,e)>o)return;if(this._backwardExtrapolationType===uu.HOLD)return r.unpack(s,0,t)}if(a>=i){a=i-1;let S=n[a];if(o=this._forwardExtrapolationDuration,this._forwardExtrapolationType===uu.NONE||o!==0&&Q.secondsDifference(e,S)>o)return;if(this._forwardExtrapolationType===uu.HOLD)return a=i-1,r.unpack(s,a*r.packedLength,t)}let c=this._xTable,u=this._yTable,f=this._interpolationAlgorithm,d=this._packedInterpolationLength,p=this._inputOrder;if(this._updateTableLength){this._updateTableLength=!1;let S=Math.min(f.getRequiredDataPoints(this._interpolationDegree,p),i);S!==this._numberOfPoints&&(this._numberOfPoints=S,c.length=S,u.length=S*d)}let g=this._numberOfPoints-1;if(g<1)return;let m=0,C=i-1;if(C-m+1>=g+1){let S=a-(g/2|0)-1;S<m&&(S=m);let v=S+g;v>C&&(v=C,S=v-g,S<m&&(S=m)),m=S,C=v}let A=C-m+1;for(let S=0;S<A;++S)c[S]=Q.secondsDifference(n[m+S],n[C]);if(l(r.convertPackedArrayForInterpolation))r.convertPackedArrayForInterpolation(s,m,C,u);else{let S=0,v=this._packedLength,P=m*v,O=(C+1)*v;for(;P<O;)u[S]=s[P],P++,S++}let b=Q.secondsDifference(e,n[C]),E;if(p===0||!l(f.interpolate))E=f.interpolateOrderZero(b,c,u,d,this._interpolationResult);else{let S=Math.floor(d/(p+1));E=f.interpolate(b,c,u,S,p,p,this._interpolationResult)}return l(r.unpackInterpolationResult)?r.unpackInterpolationResult(E,s,m,C,t):r.unpack(E,0,t)}return r.unpack(s,a*this._packedLength,t)};qf.prototype.setInterpolationOptions=function(e){if(!l(e))return;let t=!1,n=e.interpolationAlgorithm,i=e.interpolationDegree;l(n)&&this._interpolationAlgorithm!==n&&(this._interpolationAlgorithm=n,t=!0),l(i)&&this._interpolationDegree!==i&&(this._interpolationDegree=i,t=!0),t&&(this._updateTableLength=!0,this._definitionChanged.raiseEvent(this))};qf.prototype.addSample=function(e,t,n){let i=this._innerDerivativeTypes,o=l(i),r=this._innerType,s=[];if(s.push(e),r.pack(t,s,s.length),o){let a=i.length;for(let c=0;c<a;c++)i[c].pack(n[c],s,s.length)}r2(void 0,this._times,this._values,s,this._packedLength),this._updateTableLength=!0,this._definitionChanged.raiseEvent(this)};qf.prototype.addSamples=function(e,t,n){let i=this._innerDerivativeTypes,o=l(i),r=this._innerType,s=e.length,a=[];for(let c=0;c<s;c++)if(a.push(e[c]),r.pack(t[c],a,a.length),o){let u=n[c],f=i.length;for(let d=0;d<f;d++)i[d].pack(u[d],a,a.length)}r2(void 0,this._times,this._values,a,this._packedLength),this._updateTableLength=!0,this._definitionChanged.raiseEvent(this)};qf.prototype.addSamplesPackedArray=function(e,t){r2(t,this._times,this._values,e,this._packedLength),this._updateTableLength=!0,this._definitionChanged.raiseEvent(this)};qf.prototype.removeSample=function(e){let t=Yo(this._times,e,Q.compare);return t<0?!1:(hle(this,t,1),!0)};function hle(e,t,n){let i=e._packedLength;e._times.splice(t,n),e._values.splice(t*i,n*i),e._updateTableLength=!0,e._definitionChanged.raiseEvent(e)}qf.prototype.removeSamples=function(e){let t=this._times,n=Yo(t,e.start,Q.compare);n<0?n=~n:e.isStartIncluded||++n;let i=Yo(t,e.stop,Q.compare);i<0?i=~i:e.isStopIncluded&&++i,hle(this,n,i-n)};qf.prototype.equals=function(e){if(this===e)return!0;if(!l(e)||this._type!==e._type||this._interpolationDegree!==e._interpolationDegree||this._interpolationAlgorithm!==e._interpolationAlgorithm)return!1;let t=this._derivativeTypes,n=l(t),i=e._derivativeTypes,o=l(i);if(n!==o)return!1;let r,s;if(n){if(s=t.length,s!==i.length)return!1;for(r=0;r<s;r++)if(t[r]!==i[r])return!1}let a=this._times,c=e._times;if(s=a.length,s!==c.length)return!1;for(r=0;r<s;r++)if(!Q.equals(a[r],c[r]))return!1;let u=this._values,f=e._values;for(s=u.length,r=0;r<s;r++)if(u[r]!==f[r])return!1;return!0};qf._mergeNewSamples=r2;var ku=qf;function Uu(e,t){t=y(t,0);let n;if(t>0){n=new Array(t);for(let i=0;i<t;i++)n[i]=h}this._numberOfDerivatives=t,this._property=new ku(h,n),this._definitionChanged=new ge,this._referenceFrame=y(e,Zi.FIXED),this._property._definitionChanged.addEventListener(function(){this._definitionChanged.raiseEvent(this)},this)}Object.defineProperties(Uu.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}},numberOfDerivatives:{get:function(){return this._numberOfDerivatives}},forwardExtrapolationType:{get:function(){return this._property.forwardExtrapolationType},set:function(e){this._property.forwardExtrapolationType=e}},forwardExtrapolationDuration:{get:function(){return this._property.forwardExtrapolationDuration},set:function(e){this._property.forwardExtrapolationDuration=e}},backwardExtrapolationType:{get:function(){return this._property.backwardExtrapolationType},set:function(e){this._property.backwardExtrapolationType=e}},backwardExtrapolationDuration:{get:function(){return this._property.backwardExtrapolationDuration},set:function(e){this._property.backwardExtrapolationDuration=e}}});Uu.prototype.getValue=function(e,t){return this.getValueInReferenceFrame(e,Zi.FIXED,t)};Uu.prototype.getValueInReferenceFrame=function(e,t,n){if(n=this._property.getValue(e,n),l(n))return D_.convertToReferenceFrame(e,n,this._referenceFrame,t,n)};Uu.prototype.setInterpolationOptions=function(e){this._property.setInterpolationOptions(e)};Uu.prototype.addSample=function(e,t,n){let i=this._numberOfDerivatives;this._property.addSample(e,t,n)};Uu.prototype.addSamples=function(e,t,n){this._property.addSamples(e,t,n)};Uu.prototype.addSamplesPackedArray=function(e,t){this._property.addSamplesPackedArray(e,t)};Uu.prototype.removeSample=function(e){return this._property.removeSample(e)};Uu.prototype.removeSamples=function(e){this._property.removeSamples(e)};Uu.prototype.equals=function(e){return this===e||e instanceof Uu&&j.equals(this._property,e._property)&&this._referenceFrame===e._referenceFrame};var ea=Uu;var Aqe={HORIZONTAL:0,VERTICAL:1},Dh=Object.freeze(Aqe);var Tqe=Dh.HORIZONTAL,Eqe=U.WHITE,bqe=U.BLACK,Sqe=0,wqe=1;function kT(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new ge,this._orientation=void 0,this._orientationSubscription=void 0,this._evenColor=void 0,this._evenColorSubscription=void 0,this._oddColor=void 0,this._oddColorSubscription=void 0,this._offset=void 0,this._offsetSubscription=void 0,this._repeat=void 0,this._repeatSubscription=void 0,this.orientation=e.orientation,this.evenColor=e.evenColor,this.oddColor=e.oddColor,this.offset=e.offset,this.repeat=e.repeat}Object.defineProperties(kT.prototype,{isConstant:{get:function(){return j.isConstant(this._orientation)&&j.isConstant(this._evenColor)&&j.isConstant(this._oddColor)&&j.isConstant(this._offset)&&j.isConstant(this._repeat)}},definitionChanged:{get:function(){return this._definitionChanged}},orientation:ae("orientation"),evenColor:ae("evenColor"),oddColor:ae("oddColor"),offset:ae("offset"),repeat:ae("repeat")});kT.prototype.getType=function(e){return"Stripe"};kT.prototype.getValue=function(e,t){return l(t)||(t={}),t.horizontal=j.getValueOrDefault(this._orientation,e,Tqe)===Dh.HORIZONTAL,t.evenColor=j.getValueOrClonedDefault(this._evenColor,e,Eqe,t.evenColor),t.oddColor=j.getValueOrClonedDefault(this._oddColor,e,bqe,t.oddColor),t.offset=j.getValueOrDefault(this._offset,e,Sqe),t.repeat=j.getValueOrDefault(this._repeat,e,wqe),t};kT.prototype.equals=function(e){return this===e||e instanceof kT&&j.equals(this._orientation,e._orientation)&&j.equals(this._evenColor,e._evenColor)&&j.equals(this._oddColor,e._oddColor)&&j.equals(this._offset,e._offset)&&j.equals(this._repeat,e._repeat)};var dv=kT;function Eg(e){this._definitionChanged=new ge,this._intervals=new Rr,this._intervals.changedEvent.addEventListener(Eg.prototype._intervalsChanged,this),this._referenceFrame=y(e,Zi.FIXED)}Object.defineProperties(Eg.prototype,{isConstant:{get:function(){return this._intervals.isEmpty}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._intervals}},referenceFrame:{get:function(){return this._referenceFrame}}});Eg.prototype.getValue=function(e,t){return this.getValueInReferenceFrame(e,Zi.FIXED,t)};Eg.prototype.getValueInReferenceFrame=function(e,t,n){let i=this._intervals.findDataForIntervalContainingDate(e);if(l(i))return D_.convertToReferenceFrame(e,i,this._referenceFrame,t,n)};Eg.prototype.equals=function(e){return this===e||e instanceof Eg&&this._intervals.equals(e._intervals,j.equals)&&this._referenceFrame===e._referenceFrame};Eg.prototype._intervalsChanged=function(){this._definitionChanged.raiseEvent(this)};var bg=Eg;function Qy(){this._definitionChanged=new ge,this._intervals=new Rr,this._intervals.changedEvent.addEventListener(Qy.prototype._intervalsChanged,this)}Object.defineProperties(Qy.prototype,{isConstant:{get:function(){return this._intervals.isEmpty}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._intervals}}});Qy.prototype.getValue=function(e,t){let n=this._intervals.findDataForIntervalContainingDate(e);return l(n)&&typeof n.clone=="function"?n.clone(t):n};Qy.prototype.equals=function(e){return this===e||e instanceof Qy&&this._intervals.equals(e._intervals,j.equals)};Qy.prototype._intervalsChanged=function(){this._definitionChanged.raiseEvent(this)};var Sg=Qy;function UT(e,t){this._position=void 0,this._subscription=void 0,this._definitionChanged=new ge,this._normalize=y(t,!0),this.position=e}Object.defineProperties(UT.prototype,{isConstant:{get:function(){return j.isConstant(this._position)}},definitionChanged:{get:function(){return this._definitionChanged}},position:{get:function(){return this._position},set:function(e){let t=this._position;t!==e&&(l(t)&&this._subscription(),this._position=e,l(e)&&(this._subscription=e._definitionChanged.addEventListener(function(){this._definitionChanged.raiseEvent(this)},this)),this._definitionChanged.raiseEvent(this))}},normalize:{get:function(){return this._normalize},set:function(e){this._normalize!==e&&(this._normalize=e,this._definitionChanged.raiseEvent(this))}}});var vqe=new h,mle=new h,ple=new Q,fW=1/60;UT.prototype.getValue=function(e,t){return this._getValue(e,t)};UT.prototype._getValue=function(e,t,n){l(t)||(t=new h);let i=this._position;if(j.isConstant(i))return this._normalize?void 0:h.clone(h.ZERO,t);let o=i.getValue(e,vqe),r=i.getValue(Q.addSeconds(e,fW,ple),mle);if(!l(o)||!l(r)&&(r=o,o=i.getValue(Q.addSeconds(e,-fW,ple),mle),!l(o)))return;if(h.equals(o,r))return this._normalize?void 0:h.clone(h.ZERO,t);l(n)&&o.clone(n);let s=h.subtract(r,o,t);return this._normalize?h.normalize(s,t):h.divideByScalar(s,fW,t)};UT.prototype.equals=function(e){return this===e||e instanceof UT&&j.equals(this._position,e._position)};var zT=UT;function hv(e,t){this._velocityVectorProperty=new zT(e,!0),this._subscription=void 0,this._ellipsoid=void 0,this._definitionChanged=new ge,this.ellipsoid=y(t,oe.WGS84);let n=this;this._velocityVectorProperty.definitionChanged.addEventListener(function(){n._definitionChanged.raiseEvent(n)})}Object.defineProperties(hv.prototype,{isConstant:{get:function(){return j.isConstant(this._velocityVectorProperty)}},definitionChanged:{get:function(){return this._definitionChanged}},position:{get:function(){return this._velocityVectorProperty.position},set:function(e){this._velocityVectorProperty.position=e}},ellipsoid:{get:function(){return this._ellipsoid},set:function(e){this._ellipsoid!==e&&(this._ellipsoid=e,this._definitionChanged.raiseEvent(this))}}});var _le=new h,Dqe=new h,gle=new J;hv.prototype.getValue=function(e,t){let n=this._velocityVectorProperty._getValue(e,Dqe,_le);if(!!l(n))return Dt.rotationMatrixFromPositionVelocity(_le,n,this._ellipsoid,gle),Oe.fromRotationMatrix(gle,t)};hv.prototype.equals=function(e){return this===e||e instanceof hv&&j.equals(this._velocityVectorProperty,e._velocityVectorProperty)&&(this._ellipsoid===e._ellipsoid||this._ellipsoid.equals(e._ellipsoid))};var s2=hv;function wg(){}wg.packedLength=h.packedLength;wg.unpack=h.unpack;wg.pack=h.pack;var dW;function mv(e,t){return t[0]==="#"&&(t=dW+t),Tg.fromString(e,t)}function yle(e,t,n){if(l(n.reference))return mv(t,n.reference);if(l(n.velocityReference)){let i=mv(t,n.velocityReference);switch(e){case h:case wg:return new zT(i,e===wg);case Oe:return new s2(i)}}throw new de(`${JSON.stringify(n)} is not valid CZML.`)}function Pqe(e,t){return new ch(function(n,i){return t(e.getValue(n,i))},e.isConstant)}var vi=new h,_c=new UI,Ba=new he,eC=new gn,a2=new Oe;function Iqe(e){let t=e.rgbaf;if(l(t))return t;let n=e.rgba;if(!l(n))return;let i=n.length;if(i===U.packedLength)return[U.byteToFloat(n[0]),U.byteToFloat(n[1]),U.byteToFloat(n[2]),U.byteToFloat(n[3])];t=new Array(i);for(let o=0;o<i;o+=5)t[o]=n[o],t[o+1]=U.byteToFloat(n[o+1]),t[o+2]=U.byteToFloat(n[o+2]),t[o+3]=U.byteToFloat(n[o+3]),t[o+4]=U.byteToFloat(n[o+4]);return t}function Cle(e,t){let n=y(e.uri,e);return l(t)?t.getDerivedResource({url:n}):Ie.createIfNeeded(n)}function Oqe(e){let t=e.wsen;if(l(t))return t;let n=e.wsenDegrees;if(!l(n))return;let i=n.length;if(i===ue.packedLength)return[I.toRadians(n[0]),I.toRadians(n[1]),I.toRadians(n[2]),I.toRadians(n[3])];t=new Array(i);for(let o=0;o<i;o+=5)t[o]=n[o],t[o+1]=I.toRadians(n[o+1]),t[o+2]=I.toRadians(n[o+2]),t[o+3]=I.toRadians(n[o+3]),t[o+4]=I.toRadians(n[o+4]);return t}function Rqe(e){let t=e.length;if(_c.magnitude=1,t===2)return _c.clock=e[0],_c.cone=e[1],h.fromSpherical(_c,vi),[vi.x,vi.y,vi.z];let n=new Array(t/3*4);for(let i=0,o=0;i<t;i+=3,o+=4)n[o]=e[i],_c.clock=e[i+1],_c.cone=e[i+2],h.fromSpherical(_c,vi),n[o+1]=vi.x,n[o+2]=vi.y,n[o+3]=vi.z;return n}function Mqe(e){let t=e.length;if(t===3)return _c.clock=e[0],_c.cone=e[1],_c.magnitude=e[2],h.fromSpherical(_c,vi),[vi.x,vi.y,vi.z];let n=new Array(t);for(let i=0;i<t;i+=4)n[i]=e[i],_c.clock=e[i+1],_c.cone=e[i+2],_c.magnitude=e[i+3],h.fromSpherical(_c,vi),n[i+1]=vi.x,n[i+2]=vi.y,n[i+3]=vi.z;return n}function Bqe(e){let t=e.length;if(t===3)return Ba.longitude=e[0],Ba.latitude=e[1],Ba.height=e[2],oe.WGS84.cartographicToCartesian(Ba,vi),[vi.x,vi.y,vi.z];let n=new Array(t);for(let i=0;i<t;i+=4)n[i]=e[i],Ba.longitude=e[i+1],Ba.latitude=e[i+2],Ba.height=e[i+3],oe.WGS84.cartographicToCartesian(Ba,vi),n[i+1]=vi.x,n[i+2]=vi.y,n[i+3]=vi.z;return n}function Lqe(e){let t=e.length;if(t===3)return Ba.longitude=I.toRadians(e[0]),Ba.latitude=I.toRadians(e[1]),Ba.height=e[2],oe.WGS84.cartographicToCartesian(Ba,vi),[vi.x,vi.y,vi.z];let n=new Array(t);for(let i=0;i<t;i+=4)n[i]=e[i],Ba.longitude=I.toRadians(e[i+1]),Ba.latitude=I.toRadians(e[i+2]),Ba.height=e[i+3],oe.WGS84.cartographicToCartesian(Ba,vi),n[i+1]=vi.x,n[i+2]=vi.y,n[i+3]=vi.z;return n}function hW(e){let t=e.cartesian;if(l(t))return t;let n=e.cartesianVelocity;if(l(n))return n;let i=e.unitCartesian;if(l(i))return i;let o=e.unitSpherical;if(l(o))return Rqe(o);let r=e.spherical;if(l(r))return Mqe(r);let s=e.cartographicRadians;if(l(s))return Bqe(s);let a=e.cartographicDegrees;if(l(a))return Lqe(a);throw new de(`${JSON.stringify(e)} is not a valid CZML interval.`)}function xle(e,t){h.unpack(e,t,vi),h.normalize(vi,vi),h.pack(vi,e,t)}function Nqe(e){let t=hW(e);if(t.length===3)return xle(t,0),t;for(let n=1;n<t.length;n+=4)xle(t,n);return t}function Ale(e,t){Oe.unpack(e,t,a2),Oe.normalize(a2,a2),Oe.pack(a2,e,t)}function Fqe(e){let t=e.unitQuaternion;if(l(t)){if(t.length===4)return Ale(t,0),t;for(let n=1;n<t.length;n+=5)Ale(t,n)}return t}function Tle(e){return typeof e=="boolean"?Boolean:typeof e=="number"?Number:typeof e=="string"?String:e.hasOwnProperty("array")?Array:e.hasOwnProperty("boolean")?Boolean:e.hasOwnProperty("boundingRectangle")?Ge:e.hasOwnProperty("cartesian2")?G:e.hasOwnProperty("cartesian")||e.hasOwnProperty("spherical")||e.hasOwnProperty("cartographicRadians")||e.hasOwnProperty("cartographicDegrees")?h:e.hasOwnProperty("unitCartesian")||e.hasOwnProperty("unitSpherical")?wg:e.hasOwnProperty("rgba")||e.hasOwnProperty("rgbaf")?U:e.hasOwnProperty("arcType")?qt:e.hasOwnProperty("classificationType")?Ln:e.hasOwnProperty("colorBlendMode")?dc:e.hasOwnProperty("cornerType")?bi:e.hasOwnProperty("heightReference")?ze:e.hasOwnProperty("horizontalOrigin")?ui:e.hasOwnProperty("date")?Q:e.hasOwnProperty("labelStyle")?Fo:e.hasOwnProperty("number")?Number:e.hasOwnProperty("nearFarScalar")?St:e.hasOwnProperty("distanceDisplayCondition")?At:e.hasOwnProperty("object")||e.hasOwnProperty("value")?Object:e.hasOwnProperty("unitQuaternion")?Oe:e.hasOwnProperty("shadowMode")?mn:e.hasOwnProperty("string")?String:e.hasOwnProperty("stripeOrientation")?Dh:e.hasOwnProperty("wsen")||e.hasOwnProperty("wsenDegrees")?ue:e.hasOwnProperty("uri")?_v.default:e.hasOwnProperty("verticalOrigin")?bn:Object}function Vqe(e,t,n){switch(e){case qt:return qt[y(t.arcType,t)];case Array:return t.array;case Boolean:return y(t.boolean,t);case Ge:return t.boundingRectangle;case G:return t.cartesian2;case h:return hW(t);case wg:return Nqe(t);case U:return Iqe(t);case Ln:return Ln[y(t.classificationType,t)];case dc:return dc[y(t.colorBlendMode,t)];case bi:return bi[y(t.cornerType,t)];case ze:return ze[y(t.heightReference,t)];case ui:return ui[y(t.horizontalOrigin,t)];case Image:return Cle(t,n);case Q:return Q.fromIso8601(y(t.date,t));case Fo:return Fo[y(t.labelStyle,t)];case Number:return y(t.number,t);case St:return t.nearFarScalar;case At:return t.distanceDisplayCondition;case Object:return y(y(t.object,t.value),t);case Oe:return Fqe(t);case jf:return y(t.number,t);case mn:return mn[y(y(t.shadowMode,t.shadows),t)];case String:return y(t.string,t);case Dh:return Dh[y(t.stripeOrientation,t)];case ue:return Oqe(t);case _v.default:return Cle(t,n);case bn:return bn[y(t.verticalOrigin,t)];default:throw new de(e)}}var kqe={HERMITE:rI,LAGRANGE:hI,LINEAR:Kx};function c2(e,t){let n=e.interpolationAlgorithm,i=e.interpolationDegree;(l(n)||l(i))&&t.setInterpolationOptions({interpolationAlgorithm:kqe[n],interpolationDegree:i});let o=e.forwardExtrapolationType;l(o)&&(t.forwardExtrapolationType=uu[o]);let r=e.forwardExtrapolationDuration;l(r)&&(t.forwardExtrapolationDuration=r);let s=e.backwardExtrapolationType;l(s)&&(t.backwardExtrapolationType=uu[s]);let a=e.backwardExtrapolationDuration;l(a)&&(t.backwardExtrapolationDuration=a)}var Ele={iso8601:void 0};function tr(e){if(!!l(e))return Ele.iso8601=e,gn.fromIso8601(Ele)}function mW(e){let t=Ve.MAXIMUM_INTERVAL.clone();return t.data=e,t}function ble(e){let t=new mc;return t.intervals.addInterval(mW(e)),t}function Sle(e){let t=new Qs(e.referenceFrame);return t.intervals.addInterval(mW(e)),t}function l2(e,t,n,i,o,r,s){let a=tr(i.interval);l(o)&&(l(a)?a=gn.intersect(a,o,eC):a=o);let c,u,f,d=!l(i.reference)&&!l(i.velocityReference),p=l(a)&&!a.equals(Ve.MAXIMUM_INTERVAL);if(i.delete===!0){if(!p){t[n]=void 0;return}return Nle(t[n],a)}let g=!1;if(d){if(u=Vqe(e,i,r),!l(u))return;c=y(e.packedLength,1),f=y(u.length,1),g=!l(i.array)&&typeof u!="string"&&f>c&&e!==Object}let m=typeof e.unpack=="function"&&e!==jf;if(!g&&!p){d?t[n]=new Zn(m?e.unpack(u,0):u):t[n]=yle(e,s,i);return}let C=t[n],x,A=i.epoch;if(l(A)&&(x=Q.fromIso8601(A)),g&&!p){C instanceof ku||(t[n]=C=new ku(e)),C.addSamplesPackedArray(u,x),c2(i,C);return}let b;if(!g&&p){a=a.clone(),d?a.data=m?e.unpack(u,0):u:a.data=yle(e,s,i),l(C)||(t[n]=C=d?new Sg:new mc),d&&C instanceof Sg?C.intervals.addInterval(a):C instanceof mc?(d&&(a.data=new Zn(a.data)),C.intervals.addInterval(a)):(t[n]=C=ble(C),d&&(a.data=new Zn(a.data)),C.intervals.addInterval(a));return}l(C)||(t[n]=C=new mc),C instanceof mc||(t[n]=C=ble(C));let E=C.intervals;b=E.findInterval(a),(!l(b)||!(b.data instanceof ku))&&(b=a.clone(),b.data=new ku(e),E.addInterval(b)),b.data.addSamplesPackedArray(u,x),c2(i,b.data)}function Nle(e,t){if(e instanceof ku){e.removeSamples(t);return}else if(e instanceof Sg){e.intervals.removeInterval(t);return}else if(e instanceof mc){let n=e.intervals;for(let i=0;i<n.length;++i){let o=gn.intersect(n.get(i),t,eC);o.isEmpty||Nle(o.data,t)}n.removeInterval(t);return}}function _e(e,t,n,i,o,r,s){if(!!l(i))if(Array.isArray(i))for(let a=0,c=i.length;a<c;++a)l2(e,t,n,i[a],o,r,s);else l2(e,t,n,i,o,r,s)}function wle(e,t,n,i,o,r){let s=tr(n.interval);l(i)&&(l(s)?s=gn.intersect(s,i,eC):s=i);let a=l(n.cartesianVelocity)?1:0,c=h.packedLength*(a+1),u,f,d=!l(n.reference),p=l(s)&&!s.equals(Ve.MAXIMUM_INTERVAL);if(n.delete===!0){if(!p){e[t]=void 0;return}return Fle(e[t],s)}let g,m=!1;if(d&&(l(n.referenceFrame)&&(g=Zi[n.referenceFrame]),g=y(g,Zi.FIXED),u=hW(n),f=y(u.length,1),m=f>c),!m&&!p){d?e[t]=new Wc(h.unpack(u),g):e[t]=mv(r,n.reference);return}let C=e[t],x,A=n.epoch;if(l(A)&&(x=Q.fromIso8601(A)),m&&!p){(!(C instanceof ea)||l(g)&&C.referenceFrame!==g)&&(e[t]=C=new ea(g,a)),C.addSamplesPackedArray(u,x),c2(n,C);return}let b;if(!m&&p){s=s.clone(),d?s.data=h.unpack(u):s.data=mv(r,n.reference),l(C)||(d?C=new bg(g):C=new Qs(g),e[t]=C),d&&C instanceof bg&&l(g)&&C.referenceFrame===g?C.intervals.addInterval(s):C instanceof Qs?(d&&(s.data=new Wc(s.data,g)),C.intervals.addInterval(s)):(e[t]=C=Sle(C),d&&(s.data=new Wc(s.data,g)),C.intervals.addInterval(s));return}l(C)?C instanceof Qs||(e[t]=C=Sle(C)):e[t]=C=new Qs(g);let E=C.intervals;b=E.findInterval(s),(!l(b)||!(b.data instanceof ea)||l(g)&&b.data.referenceFrame!==g)&&(b=s.clone(),b.data=new ea(g,a),E.addInterval(b)),b.data.addSamplesPackedArray(u,x),c2(n,b.data)}function Fle(e,t){if(e instanceof ea){e.removeSamples(t);return}else if(e instanceof bg){e.intervals.removeInterval(t);return}else if(e instanceof Qs){let n=e.intervals;for(let i=0;i<n.length;++i){let o=gn.intersect(n.get(i),t,eC);o.isEmpty||Fle(o.data,t)}n.removeInterval(t);return}}function Vle(e,t,n,i,o,r){if(!!l(n))if(Array.isArray(n))for(let s=0,a=n.length;s<a;++s)wle(e,t,n[s],i,o,r);else wle(e,t,n,i,o,r)}function vle(e,t,n,i){l(n.references)?u2(e,t,n.references,n.interval,i,fv,mc):(l(n.cartesian2)?n.array=G.unpackArray(n.cartesian2):l(n.cartesian)&&(n.array=G.unpackArray(n.cartesian)),l(n.array)&&_e(Array,e,t,n,void 0,void 0,i))}function Dle(e,t,n,i,o,r){let s=tr(n.interval);l(i)&&(l(s)?s=gn.intersect(s,i,eC):s=i);let a=e[t],c,u;if(l(s)){a instanceof ov||(a=new ov,e[t]=a);let d=a.intervals;u=d.findInterval({start:s.start,stop:s.stop}),l(u)?c=u.data:(u=s.clone(),d.addInterval(u))}else c=a;let f;l(n.solidColor)?(c instanceof Pt||(c=new Pt),f=n.solidColor,_e(U,c,"color",f.color,void 0,void 0,r)):l(n.grid)?(c instanceof av||(c=new av),f=n.grid,_e(U,c,"color",f.color,void 0,o,r),_e(Number,c,"cellAlpha",f.cellAlpha,void 0,o,r),_e(G,c,"lineCount",f.lineCount,void 0,o,r),_e(G,c,"lineThickness",f.lineThickness,void 0,o,r),_e(G,c,"lineOffset",f.lineOffset,void 0,o,r)):l(n.image)?(c instanceof Cy||(c=new Cy),f=n.image,_e(Image,c,"image",f.image,void 0,o,r),_e(G,c,"repeat",f.repeat,void 0,o,r),_e(U,c,"color",f.color,void 0,o,r),_e(Boolean,c,"transparent",f.transparent,void 0,o,r)):l(n.stripe)?(c instanceof dv||(c=new dv),f=n.stripe,_e(Dh,c,"orientation",f.orientation,void 0,o,r),_e(U,c,"evenColor",f.evenColor,void 0,o,r),_e(U,c,"oddColor",f.oddColor,void 0,o,r),_e(Number,c,"offset",f.offset,void 0,o,r),_e(Number,c,"repeat",f.repeat,void 0,o,r)):l(n.polylineOutline)?(c instanceof $y||(c=new $y),f=n.polylineOutline,_e(U,c,"color",f.color,void 0,o,r),_e(U,c,"outlineColor",f.outlineColor,void 0,o,r),_e(Number,c,"outlineWidth",f.outlineWidth,void 0,o,r)):l(n.polylineGlow)?(c instanceof uv||(c=new uv),f=n.polylineGlow,_e(U,c,"color",f.color,void 0,o,r),_e(Number,c,"glowPower",f.glowPower,void 0,o,r),_e(Number,c,"taperPower",f.taperPower,void 0,o,r)):l(n.polylineArrow)?(c instanceof cv||(c=new cv),f=n.polylineArrow,_e(U,c,"color",f.color,void 0,void 0,r)):l(n.polylineDash)?(c instanceof lv||(c=new lv),f=n.polylineDash,_e(U,c,"color",f.color,void 0,void 0,r),_e(U,c,"gapColor",f.gapColor,void 0,void 0,r),_e(Number,c,"dashLength",f.dashLength,void 0,o,r),_e(Number,c,"dashPattern",f.dashPattern,void 0,o,r)):l(n.checkerboard)&&(c instanceof nv||(c=new nv),f=n.checkerboard,_e(U,c,"evenColor",f.evenColor,void 0,o,r),_e(U,c,"oddColor",f.oddColor,void 0,o,r),_e(G,c,"repeat",f.repeat,void 0,o,r)),l(u)?u.data=c:e[t]=c}function Ll(e,t,n,i,o,r){if(!!l(n))if(Array.isArray(n))for(let s=0,a=n.length;s<a;++s)Dle(e,t,n[s],i,o,r);else Dle(e,t,n,i,o,r)}function Uqe(e,t,n,i){let o=t.name;l(o)&&(e.name=t.name)}function zqe(e,t,n,i){let o=t.description;l(o)&&_e(String,e,"description",o,void 0,i,n)}function Hqe(e,t,n,i){let o=t.position;l(o)&&Vle(e,"position",o,void 0,i,n)}function Gqe(e,t,n,i){let o=t.viewFrom;l(o)&&_e(h,e,"viewFrom",o,void 0,i,n)}function Wqe(e,t,n,i){let o=t.orientation;l(o)&&_e(Oe,e,"orientation",o,void 0,i,n)}function jqe(e,t,n,i){let o=t.properties;if(l(o)){l(e.properties)||(e.properties=new El);for(let r in o)if(o.hasOwnProperty(r)){e.properties.hasProperty(r)||e.properties.addProperty(r);let s=o[r];if(Array.isArray(s))for(let a=0,c=s.length;a<c;++a)l2(Tle(s[a]),e.properties,r,s[a],void 0,i,n);else l2(Tle(s),e.properties,r,s,void 0,i,n)}}}function u2(e,t,n,i,o,r,s){let a=n.map(function(c){return mv(o,c)});if(l(i)){i=tr(i);let c=e[t];if(!(c instanceof s)){let u=new s;u.intervals.addInterval(mW(c)),e[t]=c=u}i.data=new r(a),c.intervals.addInterval(i)}else e[t]=new r(a)}function Ple(e,t,n,i){let o=n.references;l(o)?u2(e,t,o,n.interval,i,fv,mc):_e(Array,e,t,n,void 0,void 0,i)}function Ile(e,t,n,i){if(!!l(n))if(Array.isArray(n))for(let o=0,r=n.length;o<r;++o)Ple(e,t,n[o],i);else Ple(e,t,n,i)}function Ole(e,t,n,i){let o=n.references;l(o)?u2(e,t,o,n.interval,i,xg,Qs):(l(n.cartesian)?n.array=h.unpackArray(n.cartesian):l(n.cartographicRadians)?n.array=h.fromRadiansArrayHeights(n.cartographicRadians):l(n.cartographicDegrees)&&(n.array=h.fromDegreesArrayHeights(n.cartographicDegrees)),l(n.array)&&_e(Array,e,t,n,void 0,void 0,i))}function gv(e,t,n,i){if(!!l(n))if(Array.isArray(n))for(let o=0,r=n.length;o<r;++o)Ole(e,t,n[o],i);else Ole(e,t,n,i)}function qqe(e){return h.unpackArray(e)}function Yqe(e){return h.fromRadiansArrayHeights(e)}function Xqe(e){return h.fromDegreesArrayHeights(e)}function Rle(e,t,n,i){let o=n.references;if(l(o)){let r=o.map(function(s){let a={};return u2(a,"positions",s,n.interval,i,xg,Qs),a.positions});e[t]=new xg(r)}else l(n.cartesian)?n.array=n.cartesian.map(qqe):l(n.cartographicRadians)?n.array=n.cartographicRadians.map(Yqe):l(n.cartographicDegrees)&&(n.array=n.cartographicDegrees.map(Xqe)),l(n.array)&&_e(Array,e,t,n,void 0,void 0,i)}function Kqe(e,t,n,i){if(!!l(n))if(Array.isArray(n))for(let o=0,r=n.length;o<r;++o)Rle(e,t,n[o],i);else Rle(e,t,n,i)}function Zqe(e,t,n,i){if(!!l(n))if(Array.isArray(n))for(let o=0,r=n.length;o<r;o++)vle(e,t,n[o],i);else vle(e,t,n,i)}function $qe(e,t,n,i){let o=t.availability;if(!l(o))return;let r;if(Array.isArray(o))for(let s=0,a=o.length;s<a;++s)l(r)||(r=new Rr),r.addInterval(tr(o[s]));else r=new Rr,r.addInterval(tr(o));e.availability=r}function Jqe(e,t,n,i,o){!l(t)||_e(wg,e,"alignedAxis",t,n,i,o)}function Qqe(e,t,n,i){let o=t.billboard;if(!l(o))return;let r=tr(o.interval),s=e.billboard;l(s)||(e.billboard=s=new rc),_e(Boolean,s,"show",o.show,r,i,n),_e(Image,s,"image",o.image,r,i,n),_e(Number,s,"scale",o.scale,r,i,n),_e(G,s,"pixelOffset",o.pixelOffset,r,i,n),_e(h,s,"eyeOffset",o.eyeOffset,r,i,n),_e(ui,s,"horizontalOrigin",o.horizontalOrigin,r,i,n),_e(bn,s,"verticalOrigin",o.verticalOrigin,r,i,n),_e(ze,s,"heightReference",o.heightReference,r,i,n),_e(U,s,"color",o.color,r,i,n),_e(jf,s,"rotation",o.rotation,r,i,n),Jqe(s,o.alignedAxis,r,i,n),_e(Boolean,s,"sizeInMeters",o.sizeInMeters,r,i,n),_e(Number,s,"width",o.width,r,i,n),_e(Number,s,"height",o.height,r,i,n),_e(St,s,"scaleByDistance",o.scaleByDistance,r,i,n),_e(St,s,"translucencyByDistance",o.translucencyByDistance,r,i,n),_e(St,s,"pixelOffsetScaleByDistance",o.pixelOffsetScaleByDistance,r,i,n),_e(Ge,s,"imageSubRegion",o.imageSubRegion,r,i,n),_e(At,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),_e(Number,s,"disableDepthTestDistance",o.disableDepthTestDistance,r,i,n)}function eYe(e,t,n,i){let o=t.box;if(!l(o))return;let r=tr(o.interval),s=e.box;l(s)||(e.box=s=new PA),_e(Boolean,s,"show",o.show,r,i,n),_e(h,s,"dimensions",o.dimensions,r,i,n),_e(ze,s,"heightReference",o.heightReference,r,i,n),_e(Boolean,s,"fill",o.fill,r,i,n),Ll(s,"material",o.material,r,i,n),_e(Boolean,s,"outline",o.outline,r,i,n),_e(U,s,"outlineColor",o.outlineColor,r,i,n),_e(Number,s,"outlineWidth",o.outlineWidth,r,i,n),_e(mn,s,"shadows",o.shadows,r,i,n),_e(At,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n)}function tYe(e,t,n,i){let o=t.corridor;if(!l(o))return;let r=tr(o.interval),s=e.corridor;l(s)||(e.corridor=s=new OA),_e(Boolean,s,"show",o.show,r,i,n),gv(s,"positions",o.positions,n),_e(Number,s,"width",o.width,r,i,n),_e(Number,s,"height",o.height,r,i,n),_e(ze,s,"heightReference",o.heightReference,r,i,n),_e(Number,s,"extrudedHeight",o.extrudedHeight,r,i,n),_e(ze,s,"extrudedHeightReference",o.extrudedHeightReference,r,i,n),_e(bi,s,"cornerType",o.cornerType,r,i,n),_e(Number,s,"granularity",o.granularity,r,i,n),_e(Boolean,s,"fill",o.fill,r,i,n),Ll(s,"material",o.material,r,i,n),_e(Boolean,s,"outline",o.outline,r,i,n),_e(U,s,"outlineColor",o.outlineColor,r,i,n),_e(Number,s,"outlineWidth",o.outlineWidth,r,i,n),_e(mn,s,"shadows",o.shadows,r,i,n),_e(At,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),_e(Ln,s,"classificationType",o.classificationType,r,i,n),_e(Number,s,"zIndex",o.zIndex,r,i,n)}function nYe(e,t,n,i){let o=t.cylinder;if(!l(o))return;let r=tr(o.interval),s=e.cylinder;l(s)||(e.cylinder=s=new RA),_e(Boolean,s,"show",o.show,r,i,n),_e(Number,s,"length",o.length,r,i,n),_e(Number,s,"topRadius",o.topRadius,r,i,n),_e(Number,s,"bottomRadius",o.bottomRadius,r,i,n),_e(ze,s,"heightReference",o.heightReference,r,i,n),_e(Boolean,s,"fill",o.fill,r,i,n),Ll(s,"material",o.material,r,i,n),_e(Boolean,s,"outline",o.outline,r,i,n),_e(U,s,"outlineColor",o.outlineColor,r,i,n),_e(Number,s,"outlineWidth",o.outlineWidth,r,i,n),_e(Number,s,"numberOfVerticalLines",o.numberOfVerticalLines,r,i,n),_e(Number,s,"slices",o.slices,r,i,n),_e(mn,s,"shadows",o.shadows,r,i,n),_e(At,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n)}function iYe(e,t){let n=e.version;if(l(n)&&typeof n=="string"){let r=n.split(".");if(r.length===2){if(r[0]!=="1")throw new de("Cesium only supports CZML version 1.");t._version=n}}if(!l(t._version))throw new de("CZML version information invalid. It is expected to be a property on the document object in the <Major>.<Minor> version format.");let i=t._documentPacket;l(e.name)&&(i.name=e.name);let o=e.clock;if(l(o)){let r=i.clock;l(r)?(r.interval=y(o.interval,r.interval),r.currentTime=y(o.currentTime,r.currentTime),r.range=y(o.range,r.range),r.step=y(o.step,r.step),r.multiplier=y(o.multiplier,r.multiplier)):i.clock={interval:o.interval,currentTime:o.currentTime,range:o.range,step:o.step,multiplier:o.multiplier}}}function oYe(e,t,n,i){let o=t.ellipse;if(!l(o))return;let r=tr(o.interval),s=e.ellipse;l(s)||(e.ellipse=s=new MA),_e(Boolean,s,"show",o.show,r,i,n),_e(Number,s,"semiMajorAxis",o.semiMajorAxis,r,i,n),_e(Number,s,"semiMinorAxis",o.semiMinorAxis,r,i,n),_e(Number,s,"height",o.height,r,i,n),_e(ze,s,"heightReference",o.heightReference,r,i,n),_e(Number,s,"extrudedHeight",o.extrudedHeight,r,i,n),_e(ze,s,"extrudedHeightReference",o.extrudedHeightReference,r,i,n),_e(jf,s,"rotation",o.rotation,r,i,n),_e(jf,s,"stRotation",o.stRotation,r,i,n),_e(Number,s,"granularity",o.granularity,r,i,n),_e(Boolean,s,"fill",o.fill,r,i,n),Ll(s,"material",o.material,r,i,n),_e(Boolean,s,"outline",o.outline,r,i,n),_e(U,s,"outlineColor",o.outlineColor,r,i,n),_e(Number,s,"outlineWidth",o.outlineWidth,r,i,n),_e(Number,s,"numberOfVerticalLines",o.numberOfVerticalLines,r,i,n),_e(mn,s,"shadows",o.shadows,r,i,n),_e(At,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),_e(Ln,s,"classificationType",o.classificationType,r,i,n),_e(Number,s,"zIndex",o.zIndex,r,i,n)}function rYe(e,t,n,i){let o=t.ellipsoid;if(!l(o))return;let r=tr(o.interval),s=e.ellipsoid;l(s)||(e.ellipsoid=s=new BA),_e(Boolean,s,"show",o.show,r,i,n),_e(h,s,"radii",o.radii,r,i,n),_e(h,s,"innerRadii",o.innerRadii,r,i,n),_e(Number,s,"minimumClock",o.minimumClock,r,i,n),_e(Number,s,"maximumClock",o.maximumClock,r,i,n),_e(Number,s,"minimumCone",o.minimumCone,r,i,n),_e(Number,s,"maximumCone",o.maximumCone,r,i,n),_e(ze,s,"heightReference",o.heightReference,r,i,n),_e(Boolean,s,"fill",o.fill,r,i,n),Ll(s,"material",o.material,r,i,n),_e(Boolean,s,"outline",o.outline,r,i,n),_e(U,s,"outlineColor",o.outlineColor,r,i,n),_e(Number,s,"outlineWidth",o.outlineWidth,r,i,n),_e(Number,s,"stackPartitions",o.stackPartitions,r,i,n),_e(Number,s,"slicePartitions",o.slicePartitions,r,i,n),_e(Number,s,"subdivisions",o.subdivisions,r,i,n),_e(mn,s,"shadows",o.shadows,r,i,n),_e(At,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n)}function sYe(e,t,n,i){let o=t.label;if(!l(o))return;let r=tr(o.interval),s=e.label;l(s)||(e.label=s=new oh),_e(Boolean,s,"show",o.show,r,i,n),_e(String,s,"text",o.text,r,i,n),_e(String,s,"font",o.font,r,i,n),_e(Fo,s,"style",o.style,r,i,n),_e(Number,s,"scale",o.scale,r,i,n),_e(Boolean,s,"showBackground",o.showBackground,r,i,n),_e(U,s,"backgroundColor",o.backgroundColor,r,i,n),_e(G,s,"backgroundPadding",o.backgroundPadding,r,i,n),_e(G,s,"pixelOffset",o.pixelOffset,r,i,n),_e(h,s,"eyeOffset",o.eyeOffset,r,i,n),_e(ui,s,"horizontalOrigin",o.horizontalOrigin,r,i,n),_e(bn,s,"verticalOrigin",o.verticalOrigin,r,i,n),_e(ze,s,"heightReference",o.heightReference,r,i,n),_e(U,s,"fillColor",o.fillColor,r,i,n),_e(U,s,"outlineColor",o.outlineColor,r,i,n),_e(Number,s,"outlineWidth",o.outlineWidth,r,i,n),_e(St,s,"translucencyByDistance",o.translucencyByDistance,r,i,n),_e(St,s,"pixelOffsetScaleByDistance",o.pixelOffsetScaleByDistance,r,i,n),_e(St,s,"scaleByDistance",o.scaleByDistance,r,i,n),_e(At,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),_e(Number,s,"disableDepthTestDistance",o.disableDepthTestDistance,r,i,n)}function aYe(e,t,n,i){let o=t.model;if(!l(o))return;let r=tr(o.interval),s=e.model;l(s)||(e.model=s=new P_),_e(Boolean,s,"show",o.show,r,i,n),_e(_v.default,s,"uri",o.gltf,r,i,n),_e(Number,s,"scale",o.scale,r,i,n),_e(Number,s,"minimumPixelSize",o.minimumPixelSize,r,i,n),_e(Number,s,"maximumScale",o.maximumScale,r,i,n),_e(Boolean,s,"incrementallyLoadTextures",o.incrementallyLoadTextures,r,i,n),_e(Boolean,s,"runAnimations",o.runAnimations,r,i,n),_e(Boolean,s,"clampAnimations",o.clampAnimations,r,i,n),_e(mn,s,"shadows",o.shadows,r,i,n),_e(ze,s,"heightReference",o.heightReference,r,i,n),_e(U,s,"silhouetteColor",o.silhouetteColor,r,i,n),_e(Number,s,"silhouetteSize",o.silhouetteSize,r,i,n),_e(U,s,"color",o.color,r,i,n),_e(dc,s,"colorBlendMode",o.colorBlendMode,r,i,n),_e(Number,s,"colorBlendAmount",o.colorBlendAmount,r,i,n),_e(At,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n);let a,c,u=o.nodeTransformations;if(l(u))if(Array.isArray(u))for(a=0,c=u.length;a<c;++a)Mle(s,u[a],r,i,n);else Mle(s,u,r,i,n);let f=o.articulations;if(l(f))if(Array.isArray(f))for(a=0,c=f.length;a<c;++a)Ble(s,f[a],r,i,n);else Ble(s,f,r,i,n)}function Mle(e,t,n,i,o){let r=tr(t.interval);l(n)&&(l(r)?r=gn.intersect(r,n,eC):r=n);let s=e.nodeTransformations,a=Object.keys(t);for(let c=0,u=a.length;c<u;++c){let f=a[c];if(f==="interval")continue;let d=t[f];if(!l(d))continue;l(s)||(e.nodeTransformations=s=new El),s.hasProperty(f)||s.addProperty(f);let p=s[f];l(p)||(s[f]=p=new LA),_e(h,p,"translation",d.translation,r,i,o),_e(Oe,p,"rotation",d.rotation,r,i,o),_e(h,p,"scale",d.scale,r,i,o)}}function Ble(e,t,n,i,o){let r=tr(t.interval);l(n)&&(l(r)?r=gn.intersect(r,n,eC):r=n);let s=e.articulations,a=Object.keys(t);for(let c=0,u=a.length;c<u;++c){let f=a[c];if(f==="interval")continue;let d=t[f];!l(d)||(l(s)||(e.articulations=s=new El),s.hasProperty(f)||s.addProperty(f),_e(Number,s,f,d,r,i,o))}}function cYe(e,t,n,i){let o=t.path;if(!l(o))return;let r=tr(o.interval),s=e.path;l(s)||(e.path=s=new I_),_e(Boolean,s,"show",o.show,r,i,n),_e(Number,s,"leadTime",o.leadTime,r,i,n),_e(Number,s,"trailTime",o.trailTime,r,i,n),_e(Number,s,"width",o.width,r,i,n),_e(Number,s,"resolution",o.resolution,r,i,n),Ll(s,"material",o.material,r,i,n),_e(At,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n)}function lYe(e,t,n,i){let o=t.point;if(!l(o))return;let r=tr(o.interval),s=e.point;l(s)||(e.point=s=new FA),_e(Boolean,s,"show",o.show,r,i,n),_e(Number,s,"pixelSize",o.pixelSize,r,i,n),_e(ze,s,"heightReference",o.heightReference,r,i,n),_e(U,s,"color",o.color,r,i,n),_e(U,s,"outlineColor",o.outlineColor,r,i,n),_e(Number,s,"outlineWidth",o.outlineWidth,r,i,n),_e(St,s,"scaleByDistance",o.scaleByDistance,r,i,n),_e(St,s,"translucencyByDistance",o.translucencyByDistance,r,i,n),_e(At,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),_e(Number,s,"disableDepthTestDistance",o.disableDepthTestDistance,r,i,n)}function pv(e){this.polygon=e,this._definitionChanged=new ge}Object.defineProperties(pv.prototype,{isConstant:{get:function(){let e=this.polygon._positions,t=this.polygon._holes;return(!l(e)||e.isConstant)&&(!l(t)||t.isConstant)}},definitionChanged:{get:function(){return this._definitionChanged}}});pv.prototype.getValue=function(e,t){let n;l(this.polygon._positions)&&(n=this.polygon._positions.getValue(e));let i;return l(this.polygon._holes)&&(i=this.polygon._holes.getValue(e),l(i)&&(i=i.map(function(o){return new zc(o)}))),l(t)?(t.positions=n,t.holes=i,t):new zc(n,i)};pv.prototype.equals=function(e){return this===e||e instanceof pv&&j.equals(this.polygon._positions,e.polygon._positions)&&j.equals(this.polygon._holes,e.polygon._holes)};function uYe(e,t,n,i){let o=t.polygon;if(!l(o))return;let r=tr(o.interval),s=e.polygon;l(s)||(e.polygon=s=new rh),_e(Boolean,s,"show",o.show,r,i,n),gv(s,"_positions",o.positions,n),Kqe(s,"_holes",o.holes,n),(l(s._positions)||l(s._holes))&&(s.hierarchy=new pv(s)),_e(Number,s,"height",o.height,r,i,n),_e(ze,s,"heightReference",o.heightReference,r,i,n),_e(Number,s,"extrudedHeight",o.extrudedHeight,r,i,n),_e(ze,s,"extrudedHeightReference",o.extrudedHeightReference,r,i,n),_e(jf,s,"stRotation",o.stRotation,r,i,n),_e(Number,s,"granularity",o.granularity,r,i,n),_e(Boolean,s,"fill",o.fill,r,i,n),Ll(s,"material",o.material,r,i,n),_e(Boolean,s,"outline",o.outline,r,i,n),_e(U,s,"outlineColor",o.outlineColor,r,i,n),_e(Number,s,"outlineWidth",o.outlineWidth,r,i,n),_e(Boolean,s,"perPositionHeight",o.perPositionHeight,r,i,n),_e(Boolean,s,"closeTop",o.closeTop,r,i,n),_e(Boolean,s,"closeBottom",o.closeBottom,r,i,n),_e(qt,s,"arcType",o.arcType,r,i,n),_e(mn,s,"shadows",o.shadows,r,i,n),_e(At,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),_e(Ln,s,"classificationType",o.classificationType,r,i,n),_e(Number,s,"zIndex",o.zIndex,r,i,n)}function fYe(e){return e?qt.GEODESIC:qt.NONE}function dYe(e,t,n,i){let o=t.polyline;if(!l(o))return;let r=tr(o.interval),s=e.polyline;if(l(s)||(e.polyline=s=new cc),_e(Boolean,s,"show",o.show,r,i,n),gv(s,"positions",o.positions,n),_e(Number,s,"width",o.width,r,i,n),_e(Number,s,"granularity",o.granularity,r,i,n),Ll(s,"material",o.material,r,i,n),Ll(s,"depthFailMaterial",o.depthFailMaterial,r,i,n),_e(qt,s,"arcType",o.arcType,r,i,n),_e(Boolean,s,"clampToGround",o.clampToGround,r,i,n),_e(mn,s,"shadows",o.shadows,r,i,n),_e(At,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),_e(Ln,s,"classificationType",o.classificationType,r,i,n),_e(Number,s,"zIndex",o.zIndex,r,i,n),l(o.followSurface)&&!l(o.arcType)){let a={};_e(Boolean,a,"followSurface",o.followSurface,r,i,n),s.arcType=Pqe(a.followSurface,fYe)}}function hYe(e,t,n,i){let o=t.polylineVolume;if(!l(o))return;let r=tr(o.interval),s=e.polylineVolume;l(s)||(e.polylineVolume=s=new VA),gv(s,"positions",o.positions,n),Zqe(s,"shape",o.shape,n),_e(Boolean,s,"show",o.show,r,i,n),_e(bi,s,"cornerType",o.cornerType,r,i,n),_e(Boolean,s,"fill",o.fill,r,i,n),Ll(s,"material",o.material,r,i,n),_e(Boolean,s,"outline",o.outline,r,i,n),_e(U,s,"outlineColor",o.outlineColor,r,i,n),_e(Number,s,"outlineWidth",o.outlineWidth,r,i,n),_e(Number,s,"granularity",o.granularity,r,i,n),_e(mn,s,"shadows",o.shadows,r,i,n),_e(At,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n)}function mYe(e,t,n,i){let o=t.rectangle;if(!l(o))return;let r=tr(o.interval),s=e.rectangle;l(s)||(e.rectangle=s=new sh),_e(Boolean,s,"show",o.show,r,i,n),_e(ue,s,"coordinates",o.coordinates,r,i,n),_e(Number,s,"height",o.height,r,i,n),_e(ze,s,"heightReference",o.heightReference,r,i,n),_e(Number,s,"extrudedHeight",o.extrudedHeight,r,i,n),_e(ze,s,"extrudedHeightReference",o.extrudedHeightReference,r,i,n),_e(jf,s,"rotation",o.rotation,r,i,n),_e(jf,s,"stRotation",o.stRotation,r,i,n),_e(Number,s,"granularity",o.granularity,r,i,n),_e(Boolean,s,"fill",o.fill,r,i,n),Ll(s,"material",o.material,r,i,n),_e(Boolean,s,"outline",o.outline,r,i,n),_e(U,s,"outlineColor",o.outlineColor,r,i,n),_e(Number,s,"outlineWidth",o.outlineWidth,r,i,n),_e(mn,s,"shadows",o.shadows,r,i,n),_e(At,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),_e(Ln,s,"classificationType",o.classificationType,r,i,n),_e(Number,s,"zIndex",o.zIndex,r,i,n)}function pYe(e,t,n,i){let o=t.tileset;if(!l(o))return;let r=tr(o.interval),s=e.tileset;l(s)||(e.tileset=s=new NA),_e(Boolean,s,"show",o.show,r,i,n),_e(_v.default,s,"uri",o.uri,r,i,n),_e(Number,s,"maximumScreenSpaceError",o.maximumScreenSpaceError,r,i,n)}function _Ye(e,t,n,i){let o=t.wall;if(!l(o))return;let r=tr(o.interval),s=e.wall;l(s)||(e.wall=s=new O_),_e(Boolean,s,"show",o.show,r,i,n),gv(s,"positions",o.positions,n),Ile(s,"minimumHeights",o.minimumHeights,n),Ile(s,"maximumHeights",o.maximumHeights,n),_e(Number,s,"granularity",o.granularity,r,i,n),_e(Boolean,s,"fill",o.fill,r,i,n),Ll(s,"material",o.material,r,i,n),_e(Boolean,s,"outline",o.outline,r,i,n),_e(U,s,"outlineColor",o.outlineColor,r,i,n),_e(Number,s,"outlineWidth",o.outlineWidth,r,i,n),_e(mn,s,"shadows",o.shadows,r,i,n),_e(At,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n)}function Lle(e,t,n,i,o){let r=e.id;if(l(r)||(r=Hn()),dW=r,!l(o._version)&&r!=="document")throw new de("The first CZML packet is required to be the document object.");if(e.delete===!0)t.removeById(r);else if(r==="document")iYe(e,o);else{let s=t.getOrCreateEntity(r),a=e.parent;l(a)&&(s.parent=t.getOrCreateEntity(a));for(let c=n.length-1;c>-1;c--)n[c](s,e,t,i)}dW=void 0}function gYe(e){let t,n=e._documentPacket.clock;if(!l(n)){if(!l(e._clock)){let o=e._entityCollection.computeAvailability();if(!o.start.equals(Ve.MINIMUM_VALUE)){let r=o.start,s=o.stop,a=Q.secondsDifference(s,r),c=Math.round(a/120);return t=new vh,t.startTime=Q.clone(r),t.stopTime=Q.clone(s),t.clockRange=vr.LOOP_STOP,t.multiplier=c,t.currentTime=Q.clone(r),t.clockStep=fo.SYSTEM_CLOCK_MULTIPLIER,e._clock=t,!0}}return!1}l(e._clock)?t=e._clock.clone():(t=new vh,t.startTime=Ve.MINIMUM_VALUE.clone(),t.stopTime=Ve.MAXIMUM_VALUE.clone(),t.currentTime=Ve.MINIMUM_VALUE.clone(),t.clockRange=vr.LOOP_STOP,t.clockStep=fo.SYSTEM_CLOCK_MULTIPLIER,t.multiplier=1);let i=tr(n.interval);return l(i)&&(t.startTime=i.start,t.stopTime=i.stop),l(n.currentTime)&&(t.currentTime=Q.fromIso8601(n.currentTime)),l(n.range)&&(t.clockRange=y(vr[n.range],vr.LOOP_STOP)),l(n.step)&&(t.clockStep=y(fo[n.step],fo.SYSTEM_CLOCK_MULTIPLIER)),l(n.multiplier)&&(t.multiplier=n.multiplier),t.equals(e._clock)?!1:(e._clock=t.clone(e._clock),!0)}function kle(e,t,n,i){n=y(n,y.EMPTY_OBJECT);let o=t,r=n.sourceUri,s=n.credit;if(typeof s=="string"&&(s=new jt(s)),e._credit=s,typeof t=="string"||t instanceof Ie){t=Ie.createIfNeeded(t),o=t.fetchJson(),r=y(r,t.clone());let a=e._resourceCredits,c=t.credits;if(l(c)){let u=c.length;for(let f=0;f<u;f++)a.push(c[f])}}return r=Ie.createIfNeeded(r),Lr.setLoading(e,!0),Promise.resolve(o).then(function(a){return yYe(e,a,r,i)}).catch(function(a){return Lr.setLoading(e,!1),e._error.raiseEvent(e,a),console.log(a),Promise.reject(a)})}function yYe(e,t,n,i){Lr.setLoading(e,!0);let o=e._entityCollection;i&&(e._version=void 0,e._documentPacket=new Ule,o.removeAll()),$c._processCzml(t,o,n,void 0,e);let r=gYe(e),s=e._documentPacket;return l(s.name)&&e._name!==s.name?(e._name=s.name,r=!0):!l(e._name)&&l(n)&&(e._name=A_(n.getUrlComponent()),r=!0),Lr.setLoading(e,!1),r&&e._changed.raiseEvent(e),e}function Ule(){this.name=void 0,this.clock=void 0}function $c(e){this._name=e,this._changed=new ge,this._error=new ge,this._isLoading=!1,this._loading=new ge,this._clock=void 0,this._documentPacket=new Ule,this._version=void 0,this._entityCollection=new Ps(this),this._entityCluster=new Vu,this._credit=void 0,this._resourceCredits=[]}$c.load=function(e,t){return new $c().load(e,t)};Object.defineProperties($c.prototype,{name:{get:function(){return this._name}},clock:{get:function(){return this._clock}},entities:{get:function(){return this._entityCollection}},isLoading:{get:function(){return this._isLoading}},changedEvent:{get:function(){return this._changed}},errorEvent:{get:function(){return this._error}},loadingEvent:{get:function(){return this._loading}},show:{get:function(){return this._entityCollection.show},set:function(e){this._entityCollection.show=e}},clustering:{get:function(){return this._entityCluster},set:function(e){this._entityCluster=e}},credit:{get:function(){return this._credit}}});$c.updaters=[Qqe,eYe,tYe,nYe,oYe,rYe,sYe,aYe,Uqe,zqe,cYe,lYe,uYe,dYe,hYe,jqe,mYe,Hqe,pYe,Gqe,_Ye,Wqe,$qe];$c.prototype.process=function(e,t){return kle(this,e,t,!1)};$c.prototype.load=function(e,t){return kle(this,e,t,!0)};$c.prototype.update=function(e){return!0};$c.processPacketData=_e;$c.processPositionPacketData=Vle;$c.processMaterialPacketData=Ll;$c._processCzml=function(e,t,n,i,o){if(i=y(i,$c.updaters),Array.isArray(e))for(let r=0,s=e.length;r<s;++r)Lle(e[r],t,i,n,o);else Lle(e,t,i,n,o)};var f2=$c;function gc(){this._dataSources=[],this._dataSourceAdded=new ge,this._dataSourceRemoved=new ge,this._dataSourceMoved=new ge}Object.defineProperties(gc.prototype,{length:{get:function(){return this._dataSources.length}},dataSourceAdded:{get:function(){return this._dataSourceAdded}},dataSourceRemoved:{get:function(){return this._dataSourceRemoved}},dataSourceMoved:{get:function(){return this._dataSourceMoved}}});gc.prototype.add=function(e){let t=this,n=this._dataSources;return Promise.resolve(e).then(function(i){return n===t._dataSources&&(t._dataSources.push(i),t._dataSourceAdded.raiseEvent(t,i)),i})};gc.prototype.remove=function(e,t){t=y(t,!1);let n=this._dataSources.indexOf(e);return n!==-1?(this._dataSources.splice(n,1),this._dataSourceRemoved.raiseEvent(this,e),t&&typeof e.destroy=="function"&&e.destroy(),!0):!1};gc.prototype.removeAll=function(e){e=y(e,!1);let t=this._dataSources;for(let n=0,i=t.length;n<i;++n){let o=t[n];this._dataSourceRemoved.raiseEvent(this,o),e&&typeof o.destroy=="function"&&o.destroy()}this._dataSources=[]};gc.prototype.contains=function(e){return this.indexOf(e)!==-1};gc.prototype.indexOf=function(e){return this._dataSources.indexOf(e)};gc.prototype.get=function(e){return this._dataSources[e]};gc.prototype.getByName=function(e){return this._dataSources.filter(function(t){return t.name===e})};function d2(e,t){return e.indexOf(t)}function zle(e,t,n){let i=e._dataSources,o=i.length-1;if(t=I.clamp(t,0,o),n=I.clamp(n,0,o),t===n)return;let r=i[t];i[t]=i[n],i[n]=r,e.dataSourceMoved.raiseEvent(r,n,t)}gc.prototype.raise=function(e){let t=d2(this._dataSources,e);zle(this,t,t+1)};gc.prototype.lower=function(e){let t=d2(this._dataSources,e);zle(this,t,t-1)};gc.prototype.raiseToTop=function(e){let t=d2(this._dataSources,e);t!==this._dataSources.length-1&&(this._dataSources.splice(t,1),this._dataSources.push(e),this.dataSourceMoved.raiseEvent(e,this._dataSources.length-1,t))};gc.prototype.lowerToBottom=function(e){let t=d2(this._dataSources,e);t!==0&&(this._dataSources.splice(t,1),this._dataSources.splice(0,0,e),this.dataSourceMoved.raiseEvent(e,0,t))};gc.prototype.isDestroyed=function(){return!1};gc.prototype.destroy=function(){return this.removeAll(!0),fe(this)};var h2=gc;function Os(e){e=y(e,y.EMPTY_OBJECT),this._primitives=[],this._guid=Hn(),this._zIndex=void 0,this.show=y(e.show,!0),this.destroyPrimitives=y(e.destroyPrimitives,!0)}Object.defineProperties(Os.prototype,{length:{get:function(){return this._primitives.length}}});Os.prototype.add=function(e,t){let n=l(t),i=e._external=e._external||{},o=i._composites=i._composites||{};return o[this._guid]={collection:this},n?this._primitives.splice(t,0,e):this._primitives.push(e),e};Os.prototype.remove=function(e){if(this.contains(e)){let t=this._primitives.indexOf(e);if(t!==-1)return this._primitives.splice(t,1),delete e._external._composites[this._guid],this.destroyPrimitives&&e.destroy(),!0}return!1};Os.prototype.removeAndDestroy=function(e){let t=this.remove(e);return t&&!this.destroyPrimitives&&e.destroy(),t};Os.prototype.removeAll=function(){let e=this._primitives,t=e.length;for(let n=0;n<t;++n)delete e[n]._external._composites[this._guid],this.destroyPrimitives&&e[n].destroy();this._primitives=[]};Os.prototype.contains=function(e){return!!(l(e)&&e._external&&e._external._composites&&e._external._composites[this._guid])};function m2(e,t){return e._primitives.indexOf(t)}Os.prototype.raise=function(e){if(l(e)){let t=m2(this,e),n=this._primitives;if(t!==n.length-1){let i=n[t];n[t]=n[t+1],n[t+1]=i}}};Os.prototype.raiseToTop=function(e){if(l(e)){let t=m2(this,e),n=this._primitives;t!==n.length-1&&(n.splice(t,1),n.push(e))}};Os.prototype.lower=function(e){if(l(e)){let t=m2(this,e),n=this._primitives;if(t!==0){let i=n[t];n[t]=n[t-1],n[t-1]=i}}};Os.prototype.lowerToBottom=function(e){if(l(e)){let t=m2(this,e),n=this._primitives;t!==0&&(n.splice(t,1),n.unshift(e))}};Os.prototype.get=function(e){return this._primitives[e]};Os.prototype.update=function(e){if(!this.show)return;let t=this._primitives;for(let n=0;n<t.length;++n)t[n].update(e)};Os.prototype.prePassesUpdate=function(e){let t=this._primitives;for(let n=0;n<t.length;++n){let i=t[n];l(i.prePassesUpdate)&&i.prePassesUpdate(e)}};Os.prototype.updateForPass=function(e,t){let n=this._primitives;for(let i=0;i<n.length;++i){let o=n[i];l(o.updateForPass)&&o.updateForPass(e,t)}};Os.prototype.postPassesUpdate=function(e){let t=this._primitives;for(let n=0;n<t.length;++n){let i=t[n];l(i.postPassesUpdate)&&i.postPassesUpdate(e)}};Os.prototype.isDestroyed=function(){return!1};Os.prototype.destroy=function(){return this.removeAll(),fe(this)};var Nl=Os;function Ph(){this._length=0,this._collections={},this._collectionsArray=[],this.show=!0}Object.defineProperties(Ph.prototype,{length:{get:function(){return this._length}}});Ph.prototype.add=function(e,t){t=y(t,0);let n=this._collections[t];if(!l(n)){n=new Nl({destroyPrimitives:!1}),n._zIndex=t,this._collections[t]=n;let i=this._collectionsArray,o=0;for(;o<i.length&&i[o]._zIndex<t;)o++;i.splice(o,0,n)}return n.add(e),this._length++,e._zIndex=t,e};Ph.prototype.set=function(e,t){return t===e._zIndex||(this.remove(e,!0),this.add(e,t)),e};Ph.prototype.remove=function(e,t){if(this.contains(e)){let n=e._zIndex,i=this._collections[n],o;return t?o=i.remove(e):o=i.removeAndDestroy(e),o&&this._length--,i.length===0&&(this._collectionsArray.splice(this._collectionsArray.indexOf(i),1),this._collections[n]=void 0,i.destroy()),o}return!1};Ph.prototype.removeAll=function(){let e=this._collectionsArray;for(let t=0;t<e.length;t++){let n=e[t];n.destroyPrimitives=!0,n.destroy()}this._collections={},this._collectionsArray=[],this._length=0};Ph.prototype.contains=function(e){if(!l(e))return!1;let t=this._collections[e._zIndex];return l(t)&&t.contains(e)};Ph.prototype.update=function(e){if(!this.show)return;let t=this._collectionsArray;for(let n=0;n<t.length;n++)t[n].update(e)};Ph.prototype.isDestroyed=function(){return!1};Ph.prototype.destroy=function(){return this.removeAll(),fe(this)};var p2=Ph;function HT(e,t){this._primitives=e,this._orderedGroundPrimitives=t,this._dynamicUpdaters=new gt}HT.prototype.add=function(e,t){this._dynamicUpdaters.set(t.id,t.createDynamicUpdater(this._primitives,this._orderedGroundPrimitives))};HT.prototype.remove=function(e){let t=e.id,n=this._dynamicUpdaters.get(t);l(n)&&(this._dynamicUpdaters.remove(t),n.destroy())};HT.prototype.update=function(e){let t=this._dynamicUpdaters.values;for(let n=0,i=t.length;n<i;n++)t[n].update(e);return!0};HT.prototype.removeAllPrimitives=function(){let e=this._dynamicUpdaters.values;for(let t=0,n=e.length;t<n;t++)e[t].destroy();this._dynamicUpdaters.removeAll()};HT.prototype.getBoundingSphere=function(e,t){return e=this._dynamicUpdaters.get(e.id),l(e)&&l(e.getBoundingSphere)?e.getBoundingSphere(t):it.FAILED};var GT=HT;var Hle=new U,Gle=h.ZERO,Wle=new h,jle=new ue;function CYe(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,this.offsetAttribute=void 0}function Yf(e,t){Gn.call(this,{entity:e,scene:t,geometryOptions:new CYe(e),geometryPropertyName:"ellipse",observedPropertyNames:["availability","position","ellipse"]}),this._onEntityPropertyChanged(e,"ellipse",e.ellipse,void 0)}l(Object.create)&&(Yf.prototype=Object.create(Gn.prototype),Yf.prototype.constructor=Yf);Yf.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i={show:new dn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),distanceDisplayCondition:Bn.fromDistanceDisplayCondition(this._distanceDisplayConditionProperty.getValue(e)),offset:void 0,color:void 0};if(this._materialProperty instanceof Pt){let o;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(o=this._materialProperty.color.getValue(e,Hle)),l(o)||(o=U.WHITE),i.color=It.fromColor(o)}return l(this._options.offsetAttribute)&&(i.offset=ji.fromCartesian3(j.getValueOrDefault(this._terrainOffsetProperty,e,Gle,Wle))),new pt({id:t,geometry:new Lc(this._options),attributes:i})};Yf.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=j.getValueOrDefault(this._outlineColorProperty,e,U.BLACK,Hle),o=this._distanceDisplayConditionProperty.getValue(e),r={show:new dn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:It.fromColor(i),distanceDisplayCondition:Bn.fromDistanceDisplayCondition(o),offset:void 0};return l(this._options.offsetAttribute)&&(r.offset=ji.fromCartesian3(j.getValueOrDefault(this._terrainOffsetProperty,e,Gle,Wle))),new pt({id:t,geometry:new ru(this._options),attributes:r})};Yf.prototype._computeCenter=function(e,t){return j.getValueOrUndefined(this._entity.position,e,t)};Yf.prototype._isHidden=function(e,t){let n=e.position;return!l(n)||!l(t.semiMajorAxis)||!l(t.semiMinorAxis)||ii.prototype._isHidden.call(this,e,t)};Yf.prototype._isDynamic=function(e,t){return!e.position.isConstant||!t.semiMajorAxis.isConstant||!t.semiMinorAxis.isConstant||!j.isConstant(t.rotation)||!j.isConstant(t.height)||!j.isConstant(t.extrudedHeight)||!j.isConstant(t.granularity)||!j.isConstant(t.stRotation)||!j.isConstant(t.outlineWidth)||!j.isConstant(t.numberOfVerticalLines)||!j.isConstant(t.zIndex)||this._onTerrain&&!j.isConstant(this._materialProperty)&&!(this._materialProperty instanceof Pt)};Yf.prototype._setStaticOptions=function(e,t){let n=j.getValueOrUndefined(t.height,Ve.MINIMUM_VALUE),i=j.getValueOrDefault(t.heightReference,Ve.MINIMUM_VALUE,ze.NONE),o=j.getValueOrUndefined(t.extrudedHeight,Ve.MINIMUM_VALUE),r=j.getValueOrDefault(t.extrudedHeightReference,Ve.MINIMUM_VALUE,ze.NONE);l(o)&&!l(n)&&(n=0);let s=this._options;s.vertexFormat=this._materialProperty instanceof Pt?Qt.VERTEX_FORMAT:no.MaterialSupport.TEXTURED.vertexFormat,s.center=e.position.getValue(Ve.MINIMUM_VALUE,s.center),s.semiMajorAxis=t.semiMajorAxis.getValue(Ve.MINIMUM_VALUE,s.semiMajorAxis),s.semiMinorAxis=t.semiMinorAxis.getValue(Ve.MINIMUM_VALUE,s.semiMinorAxis),s.rotation=j.getValueOrUndefined(t.rotation,Ve.MINIMUM_VALUE),s.granularity=j.getValueOrUndefined(t.granularity,Ve.MINIMUM_VALUE),s.stRotation=j.getValueOrUndefined(t.stRotation,Ve.MINIMUM_VALUE),s.numberOfVerticalLines=j.getValueOrUndefined(t.numberOfVerticalLines,Ve.MINIMUM_VALUE),s.offsetAttribute=Gn.computeGeometryOffsetAttribute(n,i,o,r),s.height=Gn.getGeometryHeight(n,i),o=Gn.getGeometryExtrudedHeight(o,r),o===Gn.CLAMP_TO_GROUND&&(o=si.getMinimumMaximumHeights(Lc.computeRectangle(s,jle)).minimumTerrainHeight),s.extrudedHeight=o};Yf.DynamicGeometryUpdater=WT;function WT(e,t,n){ni.call(this,e,t,n)}l(Object.create)&&(WT.prototype=Object.create(ni.prototype),WT.prototype.constructor=WT);WT.prototype._isHidden=function(e,t,n){let i=this._options;return!l(i.center)||!l(i.semiMajorAxis)||!l(i.semiMinorAxis)||ni.prototype._isHidden.call(this,e,t,n)};WT.prototype._setOptions=function(e,t,n){let i=this._options,o=j.getValueOrUndefined(t.height,n),r=j.getValueOrDefault(t.heightReference,n,ze.NONE),s=j.getValueOrUndefined(t.extrudedHeight,n),a=j.getValueOrDefault(t.extrudedHeightReference,n,ze.NONE);l(s)&&!l(o)&&(o=0),i.center=j.getValueOrUndefined(e.position,n,i.center),i.semiMajorAxis=j.getValueOrUndefined(t.semiMajorAxis,n),i.semiMinorAxis=j.getValueOrUndefined(t.semiMinorAxis,n),i.rotation=j.getValueOrUndefined(t.rotation,n),i.granularity=j.getValueOrUndefined(t.granularity,n),i.stRotation=j.getValueOrUndefined(t.stRotation,n),i.numberOfVerticalLines=j.getValueOrUndefined(t.numberOfVerticalLines,n),i.offsetAttribute=Gn.computeGeometryOffsetAttribute(o,r,s,a),i.height=Gn.getGeometryHeight(o,r),s=Gn.getGeometryExtrudedHeight(s,a),s===Gn.CLAMP_TO_GROUND&&(s=si.getMinimumMaximumHeights(Lc.computeRectangle(i,jle)).minimumTerrainHeight),i.extrudedHeight=s};var _2=Yf;var xYe=new Pt(U.WHITE),pW=h.ZERO,_W=new h,AYe=new h,TYe=new h,gW=new U,EYe=new h(1,1,1);function bYe(e){this.id=e,this.vertexFormat=void 0,this.radii=void 0,this.innerRadii=void 0,this.minimumClock=void 0,this.maximumClock=void 0,this.minimumCone=void 0,this.maximumCone=void 0,this.stackPartitions=void 0,this.slicePartitions=void 0,this.subdivisions=void 0,this.offsetAttribute=void 0}function Fl(e,t){ii.call(this,{entity:e,scene:t,geometryOptions:new bYe(e),geometryPropertyName:"ellipsoid",observedPropertyNames:["availability","position","orientation","ellipsoid"]}),this._onEntityPropertyChanged(e,"ellipsoid",e.ellipsoid,void 0)}l(Object.create)&&(Fl.prototype=Object.create(ii.prototype),Fl.prototype.constructor=Fl);Object.defineProperties(Fl.prototype,{terrainOffsetProperty:{get:function(){return this._terrainOffsetProperty}}});Fl.prototype.createFillGeometryInstance=function(e,t,n){let i=this._entity,o=i.isAvailable(e),r,s=new dn(o&&i.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),a=this._distanceDisplayConditionProperty.getValue(e),c=Bn.fromDistanceDisplayCondition(a),u={show:s,distanceDisplayCondition:c,color:void 0,offset:void 0};if(this._materialProperty instanceof Pt){let f;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||o)&&(f=this._materialProperty.color.getValue(e,gW)),l(f)||(f=U.WHITE),r=It.fromColor(f),u.color=r}return l(this._options.offsetAttribute)&&(u.offset=ji.fromCartesian3(j.getValueOrDefault(this._terrainOffsetProperty,e,pW,_W))),new pt({id:i,geometry:new As(this._options),modelMatrix:t?void 0:i.computeModelMatrixForHeightReference(e,i.ellipsoid.heightReference,this._options.radii.z*.5,this._scene.mapProjection.ellipsoid,n),attributes:u})};Fl.prototype.createOutlineGeometryInstance=function(e,t,n){let i=this._entity,o=i.isAvailable(e),r=j.getValueOrDefault(this._outlineColorProperty,e,U.BLACK,gW),s=this._distanceDisplayConditionProperty.getValue(e),a={show:new dn(o&&i.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:It.fromColor(r),distanceDisplayCondition:Bn.fromDistanceDisplayCondition(s),offset:void 0};return l(this._options.offsetAttribute)&&(a.offset=ji.fromCartesian3(j.getValueOrDefault(this._terrainOffsetProperty,e,pW,_W))),new pt({id:i,geometry:new lu(this._options),modelMatrix:t?void 0:i.computeModelMatrixForHeightReference(e,i.ellipsoid.heightReference,this._options.radii.z*.5,this._scene.mapProjection.ellipsoid,n),attributes:a})};Fl.prototype._computeCenter=function(e,t){return j.getValueOrUndefined(this._entity.position,e,t)};Fl.prototype._isHidden=function(e,t){return!l(e.position)||!l(t.radii)||ii.prototype._isHidden.call(this,e,t)};Fl.prototype._isDynamic=function(e,t){return!e.position.isConstant||!j.isConstant(e.orientation)||!t.radii.isConstant||!j.isConstant(t.innerRadii)||!j.isConstant(t.stackPartitions)||!j.isConstant(t.slicePartitions)||!j.isConstant(t.outlineWidth)||!j.isConstant(t.minimumClock)||!j.isConstant(t.maximumClock)||!j.isConstant(t.minimumCone)||!j.isConstant(t.maximumCone)||!j.isConstant(t.subdivisions)};Fl.prototype._setStaticOptions=function(e,t){let n=j.getValueOrDefault(t.heightReference,Ve.MINIMUM_VALUE,ze.NONE),i=this._options;i.vertexFormat=this._materialProperty instanceof Pt?Qt.VERTEX_FORMAT:no.MaterialSupport.TEXTURED.vertexFormat,i.radii=t.radii.getValue(Ve.MINIMUM_VALUE,i.radii),i.innerRadii=j.getValueOrUndefined(t.innerRadii,i.radii),i.minimumClock=j.getValueOrUndefined(t.minimumClock,Ve.MINIMUM_VALUE),i.maximumClock=j.getValueOrUndefined(t.maximumClock,Ve.MINIMUM_VALUE),i.minimumCone=j.getValueOrUndefined(t.minimumCone,Ve.MINIMUM_VALUE),i.maximumCone=j.getValueOrUndefined(t.maximumCone,Ve.MINIMUM_VALUE),i.stackPartitions=j.getValueOrUndefined(t.stackPartitions,Ve.MINIMUM_VALUE),i.slicePartitions=j.getValueOrUndefined(t.slicePartitions,Ve.MINIMUM_VALUE),i.subdivisions=j.getValueOrUndefined(t.subdivisions,Ve.MINIMUM_VALUE),i.offsetAttribute=n!==ze.NONE?Jt.ALL:void 0};Fl.prototype._onEntityPropertyChanged=R_;Fl.DynamicGeometryUpdater=yv;function yv(e,t,n){ni.call(this,e,t,n),this._scene=e._scene,this._modelMatrix=new N,this._attributes=void 0,this._outlineAttributes=void 0,this._lastSceneMode=void 0,this._lastShow=void 0,this._lastOutlineShow=void 0,this._lastOutlineWidth=void 0,this._lastOutlineColor=void 0,this._lastOffset=new h,this._material={}}l(Object.create)&&(yv.prototype=Object.create(ni.prototype),yv.prototype.constructor=yv);yv.prototype.update=function(e){let t=this._entity,n=t.ellipsoid;if(!t.isShowing||!t.isAvailable(e)||!j.getValueOrDefault(n.show,e,!0)){l(this._primitive)&&(this._primitive.show=!1),l(this._outlinePrimitive)&&(this._outlinePrimitive.show=!1);return}let i=j.getValueOrUndefined(n.radii,e,AYe),o=l(i)?t.computeModelMatrixForHeightReference(e,n.heightReference,i.z*.5,this._scene.mapProjection.ellipsoid,this._modelMatrix):void 0;if(!l(o)||!l(i)){l(this._primitive)&&(this._primitive.show=!1),l(this._outlinePrimitive)&&(this._outlinePrimitive.show=!1);return}let r=j.getValueOrDefault(n.fill,e,!0),s=j.getValueOrDefault(n.outline,e,!1),a=j.getValueOrClonedDefault(n.outlineColor,e,U.BLACK,gW),c=Zo.getValue(e,y(n.material,xYe),this._material),u=j.getValueOrUndefined(n.innerRadii,e,TYe),f=j.getValueOrUndefined(n.minimumClock,e),d=j.getValueOrUndefined(n.maximumClock,e),p=j.getValueOrUndefined(n.minimumCone,e),g=j.getValueOrUndefined(n.maximumCone,e),m=j.getValueOrUndefined(n.stackPartitions,e),C=j.getValueOrUndefined(n.slicePartitions,e),x=j.getValueOrUndefined(n.subdivisions,e),A=j.getValueOrDefault(n.outlineWidth,e,1),b=j.getValueOrDefault(n.heightReference,e,ze.NONE),E=b!==ze.NONE?Jt.ALL:void 0,S=this._scene.mode,v=S===ee.SCENE3D&&b===ze.NONE,P=this._options,O=this._geometryUpdater.shadowsProperty.getValue(e),B=this._geometryUpdater.distanceDisplayConditionProperty.getValue(e),L=j.getValueOrDefault(this._geometryUpdater.terrainOffsetProperty,e,pW,_W);if(!v||this._lastSceneMode!==S||!l(this._primitive)||P.stackPartitions!==m||P.slicePartitions!==C||l(u)&&!h.equals(P.innerRadii!==u)||P.minimumClock!==f||P.maximumClock!==d||P.minimumCone!==p||P.maximumCone!==g||P.subdivisions!==x||this._lastOutlineWidth!==A||P.offsetAttribute!==E){let T=this._primitives;if(T.removeAndDestroy(this._primitive),T.removeAndDestroy(this._outlinePrimitive),this._primitive=void 0,this._outlinePrimitive=void 0,this._lastSceneMode=S,this._lastOutlineWidth=A,P.stackPartitions=m,P.slicePartitions=C,P.subdivisions=x,P.offsetAttribute=E,P.radii=h.clone(v?EYe:i,P.radii),l(u))if(v){let F=h.magnitude(i);P.innerRadii=h.fromElements(u.x/F,u.y/F,u.z/F,P.innerRadii)}else P.innerRadii=h.clone(u,P.innerRadii);else P.innerRadii=void 0;P.minimumClock=f,P.maximumClock=d,P.minimumCone=p,P.maximumCone=g;let w=new no({material:c,translucent:c.isTranslucent(),closed:!0});P.vertexFormat=w.vertexFormat;let D=this._geometryUpdater.createFillGeometryInstance(e,v,this._modelMatrix);this._primitive=T.add(new xn({geometryInstances:D,appearance:w,asynchronous:!1,shadows:O}));let R=this._geometryUpdater.createOutlineGeometryInstance(e,v,this._modelMatrix);this._outlinePrimitive=T.add(new xn({geometryInstances:R,appearance:new Qt({flat:!0,translucent:R.attributes.color.value[3]!==255,renderState:{lineWidth:this._geometryUpdater._scene.clampLineWidth(A)}}),asynchronous:!1,shadows:O})),this._lastShow=r,this._lastOutlineShow=s,this._lastOutlineColor=U.clone(a,this._lastOutlineColor),this._lastDistanceDisplayCondition=B,this._lastOffset=h.clone(L,this._lastOffset)}else if(this._primitive.ready){let T=this._primitive,w=this._outlinePrimitive;T.show=!0,w.show=!0,T.appearance.material=c;let D=this._attributes;l(D)||(D=T.getGeometryInstanceAttributes(t),this._attributes=D),r!==this._lastShow&&(D.show=dn.toValue(r,D.show),this._lastShow=r);let R=this._outlineAttributes;l(R)||(R=w.getGeometryInstanceAttributes(t),this._outlineAttributes=R),s!==this._lastOutlineShow&&(R.show=dn.toValue(s,R.show),this._lastOutlineShow=s),U.equals(a,this._lastOutlineColor)||(R.color=It.toValue(a,R.color),U.clone(a,this._lastOutlineColor)),At.equals(B,this._lastDistanceDisplayCondition)||(D.distanceDisplayCondition=Bn.toValue(B,D.distanceDisplayCondition),R.distanceDisplayCondition=Bn.toValue(B,R.distanceDisplayCondition),At.clone(B,this._lastDistanceDisplayCondition)),h.equals(L,this._lastOffset)||(D.offset=ji.toValue(L,D.offset),R.offset=ji.toValue(L,D.offset),h.clone(L,this._lastOffset))}v&&(i.x=Math.max(i.x,.001),i.y=Math.max(i.y,.001),i.z=Math.max(i.z,.001),o=N.multiplyByScale(o,i,o),this._primitive.modelMatrix=o,this._outlinePrimitive.modelMatrix=o)};var g2=Fl;var SYe=new h,qle=new U;function wYe(e){this.id=e,this.vertexFormat=void 0,this.plane=void 0,this.dimensions=void 0}function zu(e,t){ii.call(this,{entity:e,scene:t,geometryOptions:new wYe(e),geometryPropertyName:"plane",observedPropertyNames:["availability","position","orientation","plane"]}),this._onEntityPropertyChanged(e,"plane",e.plane,void 0)}l(Object.create)&&(zu.prototype=Object.create(ii.prototype),zu.prototype.constructor=zu);zu.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i,o,r=new dn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),s=this._distanceDisplayConditionProperty.getValue(e),a=Bn.fromDistanceDisplayCondition(s);if(this._materialProperty instanceof Pt){let g;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(g=this._materialProperty.color.getValue(e,qle)),l(g)||(g=U.WHITE),o=It.fromColor(g),i={show:r,distanceDisplayCondition:a,color:o}}else i={show:r,distanceDisplayCondition:a};let c=t.plane,u=this._options,f=t.computeModelMatrix(e),d=j.getValueOrDefault(c.plane,e,u.plane),p=j.getValueOrUndefined(c.dimensions,e,u.dimensions);return u.plane=d,u.dimensions=p,f=yW(d,p,f,f),new pt({id:t,geometry:new TI(this._options),modelMatrix:f,attributes:i})};zu.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=j.getValueOrDefault(this._outlineColorProperty,e,U.BLACK,qle),o=this._distanceDisplayConditionProperty.getValue(e),r=t.plane,s=this._options,a=t.computeModelMatrix(e),c=j.getValueOrDefault(r.plane,e,s.plane),u=j.getValueOrUndefined(r.dimensions,e,s.dimensions);return s.plane=c,s.dimensions=u,a=yW(c,u,a,a),new pt({id:t,geometry:new bI,modelMatrix:a,attributes:{show:new dn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:It.fromColor(i),distanceDisplayCondition:Bn.fromDistanceDisplayCondition(o)}})};zu.prototype._isHidden=function(e,t){return!l(t.plane)||!l(t.dimensions)||!l(e.position)||ii.prototype._isHidden.call(this,e,t)};zu.prototype._getIsClosed=function(e){return!1};zu.prototype._isDynamic=function(e,t){return!e.position.isConstant||!j.isConstant(e.orientation)||!t.plane.isConstant||!t.dimensions.isConstant||!j.isConstant(t.outlineWidth)};zu.prototype._setStaticOptions=function(e,t){let n=this._materialProperty instanceof Pt,i=this._options;i.vertexFormat=n?Qt.VERTEX_FORMAT:no.MaterialSupport.TEXTURED.vertexFormat,i.plane=t.plane.getValue(Ve.MINIMUM_VALUE,i.plane),i.dimensions=t.dimensions.getValue(Ve.MINIMUM_VALUE,i.dimensions)};zu.DynamicGeometryUpdater=jT;function jT(e,t,n){ni.call(this,e,t,n)}l(Object.create)&&(jT.prototype=Object.create(ni.prototype),jT.prototype.constructor=jT);jT.prototype._isHidden=function(e,t,n){let i=this._options,o=j.getValueOrUndefined(e.position,n,SYe);return!l(o)||!l(i.plane)||!l(i.dimensions)||ni.prototype._isHidden.call(this,e,t,n)};jT.prototype._setOptions=function(e,t,n){let i=this._options;i.plane=j.getValueOrDefault(t.plane,n,i.plane),i.dimensions=j.getValueOrUndefined(t.dimensions,n,i.dimensions)};var vYe=new h,DYe=new h,PYe=new h,IYe=new h,OYe=new J,RYe=new J,MYe=new N;function yW(e,t,n,i){let o=e.normal,r=e.distance,s=h.multiplyByScalar(o,-r,PYe),a=h.clone(h.UNIT_Z,DYe);I.equalsEpsilon(Math.abs(h.dot(a,o)),1,I.EPSILON8)&&(a=h.clone(h.UNIT_Y,a));let c=h.cross(a,o,vYe);a=h.cross(o,c,a),h.normalize(c,c),h.normalize(a,a);let u=OYe;J.setColumn(u,0,c,u),J.setColumn(u,1,a,u),J.setColumn(u,2,o,u);let f=h.fromElements(t.x,t.y,1,IYe),d=J.multiplyByScale(u,f,RYe),p=N.fromRotationTranslation(d,s,MYe);return N.multiplyTransformation(n,p,i)}zu.createPrimitiveMatrix=yW;var y2=zu;var Yle="Entity polygons cannot have both height and perPositionHeight. height will be ignored",Xle="heightReference is not supported for entity polygons with perPositionHeight. heightReference will be ignored",Kle=new U,Zle=h.ZERO,$le=new h,Jle=new ue,BYe=[],LYe=new G;function NYe(e){this.id=e,this.vertexFormat=void 0,this.polygonHierarchy=void 0,this.perPositionHeight=void 0,this.closeTop=void 0,this.closeBottom=void 0,this.height=void 0,this.extrudedHeight=void 0,this.granularity=void 0,this.stRotation=void 0,this.offsetAttribute=void 0,this.arcType=void 0,this.textureCoordinates=void 0}function Vl(e,t){Gn.call(this,{entity:e,scene:t,geometryOptions:new NYe(e),geometryPropertyName:"polygon",observedPropertyNames:["availability","polygon"]}),this._onEntityPropertyChanged(e,"polygon",e.polygon,void 0)}l(Object.create)&&(Vl.prototype=Object.create(Gn.prototype),Vl.prototype.constructor=Vl);Vl.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=this._options,o={show:new dn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),distanceDisplayCondition:Bn.fromDistanceDisplayCondition(this._distanceDisplayConditionProperty.getValue(e)),offset:void 0,color:void 0};if(this._materialProperty instanceof Pt){let s;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(s=this._materialProperty.color.getValue(e,Kle)),l(s)||(s=U.WHITE),o.color=It.fromColor(s)}l(i.offsetAttribute)&&(o.offset=ji.fromCartesian3(j.getValueOrDefault(this._terrainOffsetProperty,e,Zle,$le)));let r;return i.perPositionHeight&&!l(i.extrudedHeight)?r=new R1(i):r=new nA(i),new pt({id:t,geometry:r,attributes:o})};Vl.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=this._options,o=j.getValueOrDefault(this._outlineColorProperty,e,U.BLACK,Kle),r=this._distanceDisplayConditionProperty.getValue(e),s={show:new dn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:It.fromColor(o),distanceDisplayCondition:Bn.fromDistanceDisplayCondition(r),offset:void 0};l(i.offsetAttribute)&&(s.offset=ji.fromCartesian3(j.getValueOrDefault(this._terrainOffsetProperty,e,Zle,$le)));let a;return i.perPositionHeight&&!l(i.extrudedHeight)?a=new pf(i):a=new vI(i),new pt({id:t,geometry:a,attributes:s})};Vl.prototype._computeCenter=function(e,t){let n=j.getValueOrUndefined(this._entity.polygon.hierarchy,e);if(!l(n))return;let i=n.positions;if(i.length===0)return;let o=this._scene.mapProjection.ellipsoid,r=da.fromPoints(i,o),s=r.projectPointsOntoPlane(i,BYe),a=s.length,c=0,u=a-1,f=new G;for(let p=0;p<a;u=p++){let g=s[p],m=s[u],C=g.x*m.y-m.x*g.y,x=G.add(g,m,LYe);x=G.multiplyByScalar(x,C,x),f=G.add(f,x,f),c+=C}let d=1/(c*3);return f=G.multiplyByScalar(f,d,f),r.projectPointOntoEllipsoid(f,t)};Vl.prototype._isHidden=function(e,t){return!l(t.hierarchy)||ii.prototype._isHidden.call(this,e,t)};Vl.prototype._isOnTerrain=function(e,t){let n=Gn.prototype._isOnTerrain.call(this,e,t),i=t.perPositionHeight,o=l(i)&&(i.isConstant?i.getValue(Ve.MINIMUM_VALUE):!0);return n&&!o};Vl.prototype._isDynamic=function(e,t){return!t.hierarchy.isConstant||!j.isConstant(t.height)||!j.isConstant(t.extrudedHeight)||!j.isConstant(t.granularity)||!j.isConstant(t.stRotation)||!j.isConstant(t.textureCoordinates)||!j.isConstant(t.outlineWidth)||!j.isConstant(t.perPositionHeight)||!j.isConstant(t.closeTop)||!j.isConstant(t.closeBottom)||!j.isConstant(t.zIndex)||!j.isConstant(t.arcType)||this._onTerrain&&!j.isConstant(this._materialProperty)&&!(this._materialProperty instanceof Pt)};Vl.prototype._setStaticOptions=function(e,t){let n=this._materialProperty instanceof Pt,i=this._options;i.vertexFormat=n?Qt.VERTEX_FORMAT:no.MaterialSupport.TEXTURED.vertexFormat;let o=t.hierarchy.getValue(Ve.MINIMUM_VALUE),r=j.getValueOrUndefined(t.height,Ve.MINIMUM_VALUE),s=j.getValueOrDefault(t.heightReference,Ve.MINIMUM_VALUE,ze.NONE),a=j.getValueOrUndefined(t.extrudedHeight,Ve.MINIMUM_VALUE),c=j.getValueOrDefault(t.extrudedHeightReference,Ve.MINIMUM_VALUE,ze.NONE),u=j.getValueOrDefault(t.perPositionHeight,Ve.MINIMUM_VALUE,!1);r=Gn.getGeometryHeight(r,s);let f;u?(l(r)&&(r=void 0,Bt(Yle)),s!==ze.NONE&&u&&(r=void 0,Bt(Xle))):(l(a)&&!l(r)&&(r=0),f=Gn.computeGeometryOffsetAttribute(r,s,a,c)),i.polygonHierarchy=o,i.granularity=j.getValueOrUndefined(t.granularity,Ve.MINIMUM_VALUE),i.stRotation=j.getValueOrUndefined(t.stRotation,Ve.MINIMUM_VALUE),i.perPositionHeight=u,i.closeTop=j.getValueOrDefault(t.closeTop,Ve.MINIMUM_VALUE,!0),i.closeBottom=j.getValueOrDefault(t.closeBottom,Ve.MINIMUM_VALUE,!0),i.offsetAttribute=f,i.height=r,i.arcType=j.getValueOrDefault(t.arcType,Ve.MINIMUM_VALUE,qt.GEODESIC),i.textureCoordinates=j.getValueOrUndefined(t.textureCoordinates,Ve.MINIMUM_VALUE),a=Gn.getGeometryExtrudedHeight(a,c),a===Gn.CLAMP_TO_GROUND&&(a=si.getMinimumMaximumHeights(nA.computeRectangle(i,Jle)).minimumTerrainHeight),i.extrudedHeight=a};Vl.prototype._getIsClosed=function(e){let t=e.height,n=e.extrudedHeight,i=l(n)&&n!==t;return!e.perPositionHeight&&(!i&&t===0||i&&e.closeTop&&e.closeBottom)};Vl.DynamicGeometryUpdater=qT;function qT(e,t,n){ni.call(this,e,t,n)}l(Object.create)&&(qT.prototype=Object.create(ni.prototype),qT.prototype.constructor=qT);qT.prototype._isHidden=function(e,t,n){return!l(this._options.polygonHierarchy)||ni.prototype._isHidden.call(this,e,t,n)};qT.prototype._setOptions=function(e,t,n){let i=this._options;i.polygonHierarchy=j.getValueOrUndefined(t.hierarchy,n);let o=j.getValueOrUndefined(t.height,n),r=j.getValueOrDefault(t.heightReference,n,ze.NONE),s=j.getValueOrDefault(t.extrudedHeightReference,n,ze.NONE),a=j.getValueOrUndefined(t.extrudedHeight,n),c=j.getValueOrUndefined(t.perPositionHeight,n);o=Gn.getGeometryHeight(o,s);let u;c?(l(o)&&(o=void 0,Bt(Yle)),r!==ze.NONE&&c&&(o=void 0,Bt(Xle))):(l(a)&&!l(o)&&(o=0),u=Gn.computeGeometryOffsetAttribute(o,r,a,s)),i.granularity=j.getValueOrUndefined(t.granularity,n),i.stRotation=j.getValueOrUndefined(t.stRotation,n),i.textureCoordinates=j.getValueOrUndefined(t.textureCoordinates,n),i.perPositionHeight=j.getValueOrUndefined(t.perPositionHeight,n),i.closeTop=j.getValueOrDefault(t.closeTop,n,!0),i.closeBottom=j.getValueOrDefault(t.closeBottom,n,!0),i.offsetAttribute=u,i.height=o,i.arcType=j.getValueOrDefault(t.arcType,n,qt.GEODESIC),a=Gn.getGeometryExtrudedHeight(a,s),a===Gn.CLAMP_TO_GROUND&&(a=si.getMinimumMaximumHeights(nA.computeRectangle(i,Jle)).minimumTerrainHeight),i.extrudedHeight=a};var C2=Vl;var Qle=new U;function FYe(e){this.id=e,this.vertexFormat=void 0,this.polylinePositions=void 0,this.shapePositions=void 0,this.cornerType=void 0,this.granularity=void 0}function Ih(e,t){ii.call(this,{entity:e,scene:t,geometryOptions:new FYe(e),geometryPropertyName:"polylineVolume",observedPropertyNames:["availability","polylineVolume"]}),this._onEntityPropertyChanged(e,"polylineVolume",e.polylineVolume,void 0)}l(Object.create)&&(Ih.prototype=Object.create(ii.prototype),Ih.prototype.constructor=Ih);Ih.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i,o,r=new dn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),s=this._distanceDisplayConditionProperty.getValue(e),a=Bn.fromDistanceDisplayCondition(s);if(this._materialProperty instanceof Pt){let c;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(c=this._materialProperty.color.getValue(e,Qle)),l(c)||(c=U.WHITE),o=It.fromColor(c),i={show:r,distanceDisplayCondition:a,color:o}}else i={show:r,distanceDisplayCondition:a};return new pt({id:t,geometry:new DI(this._options),attributes:i})};Ih.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=j.getValueOrDefault(this._outlineColorProperty,e,U.BLACK,Qle),o=this._distanceDisplayConditionProperty.getValue(e);return new pt({id:t,geometry:new PI(this._options),attributes:{show:new dn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:It.fromColor(i),distanceDisplayCondition:Bn.fromDistanceDisplayCondition(o)}})};Ih.prototype._isHidden=function(e,t){return!l(t.positions)||!l(t.shape)||ii.prototype._isHidden.call(this,e,t)};Ih.prototype._isDynamic=function(e,t){return!t.positions.isConstant||!t.shape.isConstant||!j.isConstant(t.granularity)||!j.isConstant(t.outlineWidth)||!j.isConstant(t.cornerType)};Ih.prototype._setStaticOptions=function(e,t){let n=t.granularity,i=t.cornerType,o=this._options,r=this._materialProperty instanceof Pt;o.vertexFormat=r?Qt.VERTEX_FORMAT:no.MaterialSupport.TEXTURED.vertexFormat,o.polylinePositions=t.positions.getValue(Ve.MINIMUM_VALUE,o.polylinePositions),o.shapePositions=t.shape.getValue(Ve.MINIMUM_VALUE,o.shape),o.granularity=l(n)?n.getValue(Ve.MINIMUM_VALUE):void 0,o.cornerType=l(i)?i.getValue(Ve.MINIMUM_VALUE):void 0};Ih.DynamicGeometryUpdater=YT;function YT(e,t,n){ni.call(this,e,t,n)}l(Object.create)&&(YT.prototype=Object.create(ni.prototype),YT.prototype.constructor=YT);YT.prototype._isHidden=function(e,t,n){let i=this._options;return!l(i.polylinePositions)||!l(i.shapePositions)||ni.prototype._isHidden.call(this,e,t,n)};YT.prototype._setOptions=function(e,t,n){let i=this._options;i.polylinePositions=j.getValueOrUndefined(t.positions,n,i.polylinePositions),i.shapePositions=j.getValueOrUndefined(t.shape,n),i.granularity=j.getValueOrUndefined(t.granularity,n),i.cornerType=j.getValueOrUndefined(t.cornerType,n)};var x2=Ih;var eue=new U,tue=h.ZERO,nue=new h,iue=new ue,VYe=new ue,kYe=new he;function UYe(e){this.id=e,this.vertexFormat=void 0,this.rectangle=void 0,this.height=void 0,this.extrudedHeight=void 0,this.granularity=void 0,this.stRotation=void 0,this.rotation=void 0,this.offsetAttribute=void 0}function Xf(e,t){Gn.call(this,{entity:e,scene:t,geometryOptions:new UYe(e),geometryPropertyName:"rectangle",observedPropertyNames:["availability","rectangle"]}),this._onEntityPropertyChanged(e,"rectangle",e.rectangle,void 0)}l(Object.create)&&(Xf.prototype=Object.create(Gn.prototype),Xf.prototype.constructor=Xf);Xf.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i={show:new dn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),distanceDisplayCondition:Bn.fromDistanceDisplayCondition(this._distanceDisplayConditionProperty.getValue(e)),offset:void 0,color:void 0};if(this._materialProperty instanceof Pt){let o;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(o=this._materialProperty.color.getValue(e,eue)),l(o)||(o=U.WHITE),i.color=It.fromColor(o)}return l(this._options.offsetAttribute)&&(i.offset=ji.fromCartesian3(j.getValueOrDefault(this._terrainOffsetProperty,e,tue,nue))),new pt({id:t,geometry:new aA(this._options),attributes:i})};Xf.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=j.getValueOrDefault(this._outlineColorProperty,e,U.BLACK,eue),o=this._distanceDisplayConditionProperty.getValue(e),r={show:new dn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:It.fromColor(i),distanceDisplayCondition:Bn.fromDistanceDisplayCondition(o),offset:void 0};return l(this._options.offsetAttribute)&&(r.offset=ji.fromCartesian3(j.getValueOrDefault(this._terrainOffsetProperty,e,tue,nue))),new pt({id:t,geometry:new uA(this._options),attributes:r})};Xf.prototype._computeCenter=function(e,t){let n=j.getValueOrUndefined(this._entity.rectangle.coordinates,e,VYe);if(!l(n))return;let i=ue.center(n,kYe);return he.toCartesian(i,oe.WGS84,t)};Xf.prototype._isHidden=function(e,t){return!l(t.coordinates)||ii.prototype._isHidden.call(this,e,t)};Xf.prototype._isDynamic=function(e,t){return!t.coordinates.isConstant||!j.isConstant(t.height)||!j.isConstant(t.extrudedHeight)||!j.isConstant(t.granularity)||!j.isConstant(t.stRotation)||!j.isConstant(t.rotation)||!j.isConstant(t.outlineWidth)||!j.isConstant(t.zIndex)||this._onTerrain&&!j.isConstant(this._materialProperty)&&!(this._materialProperty instanceof Pt)};Xf.prototype._setStaticOptions=function(e,t){let n=this._materialProperty instanceof Pt,i=j.getValueOrUndefined(t.height,Ve.MINIMUM_VALUE),o=j.getValueOrDefault(t.heightReference,Ve.MINIMUM_VALUE,ze.NONE),r=j.getValueOrUndefined(t.extrudedHeight,Ve.MINIMUM_VALUE),s=j.getValueOrDefault(t.extrudedHeightReference,Ve.MINIMUM_VALUE,ze.NONE);l(r)&&!l(i)&&(i=0);let a=this._options;a.vertexFormat=n?Qt.VERTEX_FORMAT:no.MaterialSupport.TEXTURED.vertexFormat,a.rectangle=t.coordinates.getValue(Ve.MINIMUM_VALUE,a.rectangle),a.granularity=j.getValueOrUndefined(t.granularity,Ve.MINIMUM_VALUE),a.stRotation=j.getValueOrUndefined(t.stRotation,Ve.MINIMUM_VALUE),a.rotation=j.getValueOrUndefined(t.rotation,Ve.MINIMUM_VALUE),a.offsetAttribute=Gn.computeGeometryOffsetAttribute(i,o,r,s),a.height=Gn.getGeometryHeight(i,o),r=Gn.getGeometryExtrudedHeight(r,s),r===Gn.CLAMP_TO_GROUND&&(r=si.getMinimumMaximumHeights(aA.computeRectangle(a,iue)).minimumTerrainHeight),a.extrudedHeight=r};Xf.DynamicGeometryUpdater=XT;function XT(e,t,n){ni.call(this,e,t,n)}l(Object.create)&&(XT.prototype=Object.create(ni.prototype),XT.prototype.constructor=XT);XT.prototype._isHidden=function(e,t,n){return!l(this._options.rectangle)||ni.prototype._isHidden.call(this,e,t,n)};XT.prototype._setOptions=function(e,t,n){let i=this._options,o=j.getValueOrUndefined(t.height,n),r=j.getValueOrDefault(t.heightReference,n,ze.NONE),s=j.getValueOrUndefined(t.extrudedHeight,n),a=j.getValueOrDefault(t.extrudedHeightReference,n,ze.NONE);l(s)&&!l(o)&&(o=0),i.rectangle=j.getValueOrUndefined(t.coordinates,n,i.rectangle),i.granularity=j.getValueOrUndefined(t.granularity,n),i.stRotation=j.getValueOrUndefined(t.stRotation,n),i.rotation=j.getValueOrUndefined(t.rotation,n),i.offsetAttribute=Gn.computeGeometryOffsetAttribute(o,r,s,a),i.height=Gn.getGeometryHeight(o,r),s=Gn.getGeometryExtrudedHeight(s,a),s===Gn.CLAMP_TO_GROUND&&(s=si.getMinimumMaximumHeights(aA.computeRectangle(i,iue)).minimumTerrainHeight),i.extrudedHeight=s};var A2=Xf;var oue=new U,zYe=new At,HYe=new At,GYe=h.ZERO,WYe=new h;function Kf(e,t,n,i,o,r,s){this.translucent=t,this.appearanceType=n,this.depthFailAppearanceType=i,this.depthFailMaterialProperty=o,this.depthFailMaterial=void 0,this.closed=r,this.shadows=s,this.primitives=e,this.createPrimitive=!1,this.waitingOnCreate=!1,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new gt,this.updaters=new gt,this.updatersWithAttributes=new gt,this.attributes=new gt,this.subscriptions=new gt,this.showsUpdated=new gt,this.itemsToRemove=[],this.invalidated=!1;let a;l(o)&&(a=o.definitionChanged.addEventListener(Kf.prototype.onMaterialChanged,this)),this.removeMaterialSubscription=a}Kf.prototype.onMaterialChanged=function(){this.invalidated=!0};Kf.prototype.isMaterial=function(e){let t=this.depthFailMaterialProperty,n=e.depthFailMaterialProperty;return n===t?!0:l(t)?t.equals(n):!1};Kf.prototype.add=function(e,t){let n=e.id;if(this.createPrimitive=!0,this.geometry.set(n,t),this.updaters.set(n,e),!e.hasConstantFill||!e.fillMaterialProperty.isConstant||!j.isConstant(e.distanceDisplayConditionProperty)||!j.isConstant(e.terrainOffsetProperty))this.updatersWithAttributes.set(n,e);else{let i=this;this.subscriptions.set(n,e.entity.definitionChanged.addEventListener(function(o,r,s,a){r==="isShowing"&&i.showsUpdated.set(e.id,e)}))}};Kf.prototype.remove=function(e){let t=e.id;if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.updatersWithAttributes.remove(t);let n=this.subscriptions.get(t);return l(n)&&(n(),this.subscriptions.remove(t),this.showsUpdated.remove(t)),!0}return!1};Kf.prototype.update=function(e){let t=!0,n=0,i=this.primitive,o=this.primitives,r;if(this.createPrimitive){let s=this.geometry.values;if(s.length>0){l(i)&&(l(this.oldPrimitive)?o.remove(i):this.oldPrimitive=i);let c;l(this.depthFailAppearanceType)&&(l(this.depthFailMaterialProperty)&&(this.depthFailMaterial=Zo.getValue(e,this.depthFailMaterialProperty,this.depthFailMaterial)),c=new this.depthFailAppearanceType({material:this.depthFailMaterial,translucent:this.translucent,closed:this.closed})),i=new xn({show:!1,asynchronous:!0,geometryInstances:s.slice(),appearance:new this.appearanceType({translucent:this.translucent,closed:this.closed}),depthFailAppearance:c,shadows:this.shadows}),o.add(i),t=!1}else{l(i)&&(o.remove(i),i=void 0);let c=this.oldPrimitive;l(c)&&(o.remove(c),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=i,this.createPrimitive=!1,this.waitingOnCreate=!0}else if(l(i)&&i.ready){i.show=!0,l(this.oldPrimitive)&&(o.remove(this.oldPrimitive),this.oldPrimitive=void 0),l(this.depthFailAppearanceType)&&!(this.depthFailMaterialProperty instanceof Pt)&&(this.depthFailMaterial=Zo.getValue(e,this.depthFailMaterialProperty,this.depthFailMaterial),this.primitive.depthFailAppearance.material=this.depthFailMaterial);let s=this.updatersWithAttributes.values,a=s.length,c=this.waitingOnCreate;for(r=0;r<a;r++){let u=s[r],f=this.geometry.get(u.id),d=this.attributes.get(f.id.id);if(l(d)||(d=i.getGeometryInstanceAttributes(f.id),this.attributes.set(f.id.id,d)),!u.fillMaterialProperty.isConstant||c){let x=u.fillMaterialProperty.color,A=j.getValueOrDefault(x,e,U.WHITE,oue);U.equals(d._lastColor,A)||(d._lastColor=U.clone(A,d._lastColor),d.color=It.toValue(A,d.color),(this.translucent&&d.color[3]===255||!this.translucent&&d.color[3]!==255)&&(this.itemsToRemove[n++]=u))}if(l(this.depthFailAppearanceType)&&u.depthFailMaterialProperty instanceof Pt&&(!u.depthFailMaterialProperty.isConstant||c)){let x=u.depthFailMaterialProperty.color,A=j.getValueOrDefault(x,e,U.WHITE,oue);U.equals(d._lastDepthFailColor,A)||(d._lastDepthFailColor=U.clone(A,d._lastDepthFailColor),d.depthFailColor=It.toValue(A,d.depthFailColor))}let p=u.entity.isShowing&&(u.hasConstantFill||u.isFilled(e)),g=d.show[0]===1;p!==g&&(d.show=dn.toValue(p,d.show));let m=u.distanceDisplayConditionProperty;if(!j.isConstant(m)){let x=j.getValueOrDefault(m,e,HYe,zYe);At.equals(x,d._lastDistanceDisplayCondition)||(d._lastDistanceDisplayCondition=At.clone(x,d._lastDistanceDisplayCondition),d.distanceDisplayCondition=Bn.toValue(x,d.distanceDisplayCondition))}let C=u.terrainOffsetProperty;if(!j.isConstant(C)){let x=j.getValueOrDefault(C,e,GYe,WYe);h.equals(x,d._lastOffset)||(d._lastOffset=h.clone(x,d._lastOffset),d.offset=ji.toValue(x,d.offset))}}this.updateShows(i),this.waitingOnCreate=!1}else l(i)&&!i.ready&&(t=!1);return this.itemsToRemove.length=n,t};Kf.prototype.updateShows=function(e){let t=this.showsUpdated.values,n=t.length;for(let i=0;i<n;i++){let o=t[i],r=this.geometry.get(o.id),s=this.attributes.get(r.id.id);l(s)||(s=e.getGeometryInstanceAttributes(r.id),this.attributes.set(r.id.id,s));let a=o.entity.isShowing,c=s.show[0]===1;a!==c&&(s.show=dn.toValue(a,s.show),r.attributes.show.value[0]=s.show[0])}this.showsUpdated.removeAll()};Kf.prototype.contains=function(e){return this.updaters.contains(e.id)};Kf.prototype.getBoundingSphere=function(e,t){let n=this.primitive;if(!n.ready)return it.PENDING;let i=n.getGeometryInstanceAttributes(e.entity);return!l(i)||!l(i.boundingSphere)||l(i.show)&&i.show[0]===0?it.FAILED:(i.boundingSphere.clone(t),it.DONE)};Kf.prototype.destroy=function(){let e=this.primitive,t=this.primitives;l(e)&&t.remove(e);let n=this.oldPrimitive;l(n)&&t.remove(n),l(this.removeMaterialSubscription)&&this.removeMaterialSubscription()};function KT(e,t,n,i,o){this._solidItems=[],this._translucentItems=[],this._primitives=e,this._appearanceType=t,this._depthFailAppearanceType=n,this._closed=i,this._shadows=o}KT.prototype.add=function(e,t){let n,i,o=t.createFillGeometryInstance(e);o.attributes.color.value[3]===255?(n=this._solidItems,i=!1):(n=this._translucentItems,i=!0);let r=n.length;for(let a=0;a<r;a++){let c=n[a];if(c.isMaterial(t)){c.add(t,o);return}}let s=new Kf(this._primitives,i,this._appearanceType,this._depthFailAppearanceType,t.depthFailMaterialProperty,this._closed,this._shadows);s.add(t,o),n.push(s)};function rue(e,t){let n=e.length;for(let i=n-1;i>=0;i--){let o=e[i];if(o.remove(t))return o.updaters.length===0&&(e.splice(i,1),o.destroy()),!0}return!1}KT.prototype.remove=function(e){rue(this._solidItems,e)||rue(this._translucentItems,e)};function sue(e,t,n){let i=!1,o=t.length;for(let r=0;r<o;++r){let s=t[r],a=s.itemsToRemove,c=a.length;if(c>0)for(r=0;r<c;r++){let u=a[r];s.remove(u),e.add(n,u),i=!0}}return i}function T2(e,t,n,i){let o=t.length,r;for(r=o-1;r>=0;r--){let s=t[r];if(s.invalidated){t.splice(r,1);let a=s.updaters.values,c=a.length;for(let u=0;u<c;u++)e.add(n,a[u]);s.destroy()}}for(o=t.length,r=0;r<o;++r)i=t[r].update(n)&&i;return i}KT.prototype.update=function(e){let t=T2(this,this._solidItems,e,!0);t=T2(this,this._translucentItems,e,t)&&t;let n=sue(this,this._solidItems,e),i=sue(this,this._translucentItems,e);return(n||i)&&(t=T2(this,this._solidItems,e,t)&&t,t=T2(this,this._translucentItems,e,t)&&t),t};function aue(e,t,n){let i=e.length;for(let o=0;o<i;o++){let r=e[o];if(r.contains(t))return r.getBoundingSphere(t,n)}return it.FAILED}KT.prototype.getBoundingSphere=function(e,t){let n=aue(this._solidItems,e,t);return n===it.FAILED?aue(this._translucentItems,e,t):n};function cue(e){let t=e.length;for(let n=0;n<t;n++)e[n].destroy();e.length=0}KT.prototype.removeAllPrimitives=function(){cue(this._solidItems),cue(this._translucentItems)};var Zf=KT;var jYe=new At,qYe=new At,YYe=h.ZERO,XYe=new h;function $f(e,t,n,i,o,r,s){this.primitives=e,this.appearanceType=t,this.materialProperty=n,this.depthFailAppearanceType=i,this.depthFailMaterialProperty=o,this.closed=r,this.shadows=s,this.updaters=new gt,this.createPrimitive=!0,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new gt,this.material=void 0,this.depthFailMaterial=void 0,this.updatersWithAttributes=new gt,this.attributes=new gt,this.invalidated=!1,this.removeMaterialSubscription=n.definitionChanged.addEventListener($f.prototype.onMaterialChanged,this),this.subscriptions=new gt,this.showsUpdated=new gt}$f.prototype.onMaterialChanged=function(){this.invalidated=!0};$f.prototype.isMaterial=function(e){let t=this.materialProperty,n=e.fillMaterialProperty,i=this.depthFailMaterialProperty,o=e.depthFailMaterialProperty;if(n===t&&o===i)return!0;let r=l(t)&&t.equals(n);return r=(!l(i)&&!l(o)||l(i)&&i.equals(o))&&r,r};$f.prototype.add=function(e,t){let n=t.id;if(this.updaters.set(n,t),this.geometry.set(n,t.createFillGeometryInstance(e)),!t.hasConstantFill||!t.fillMaterialProperty.isConstant||!j.isConstant(t.distanceDisplayConditionProperty)||!j.isConstant(t.terrainOffsetProperty))this.updatersWithAttributes.set(n,t);else{let i=this;this.subscriptions.set(n,t.entity.definitionChanged.addEventListener(function(o,r,s,a){r==="isShowing"&&i.showsUpdated.set(t.id,t)}))}this.createPrimitive=!0};$f.prototype.remove=function(e){let t=e.id;if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.updatersWithAttributes.remove(t);let n=this.subscriptions.get(t);return l(n)&&(n(),this.subscriptions.remove(t),this.showsUpdated.remove(t)),!0}return!1};var KYe=new U;$f.prototype.update=function(e){let t=!0,n=this.primitive,i=this.primitives,o=this.geometry.values,r;if(this.createPrimitive){if(o.length>0){l(n)&&(l(this.oldPrimitive)?i.remove(n):this.oldPrimitive=n),this.material=Zo.getValue(e,this.materialProperty,this.material);let a;l(this.depthFailMaterialProperty)&&(this.depthFailMaterial=Zo.getValue(e,this.depthFailMaterialProperty,this.depthFailMaterial),a=new this.depthFailAppearanceType({material:this.depthFailMaterial,translucent:this.depthFailMaterial.isTranslucent(),closed:this.closed})),n=new xn({show:!1,asynchronous:!0,geometryInstances:o.slice(),appearance:new this.appearanceType({material:this.material,translucent:this.material.isTranslucent(),closed:this.closed}),depthFailAppearance:a,shadows:this.shadows}),i.add(n),t=!1}else{l(n)&&(i.remove(n),n=void 0);let a=this.oldPrimitive;l(a)&&(i.remove(a),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=n,this.createPrimitive=!1}else if(l(n)&&n.ready){n.show=!0,l(this.oldPrimitive)&&(i.remove(this.oldPrimitive),this.oldPrimitive=void 0),this.material=Zo.getValue(e,this.materialProperty,this.material),this.primitive.appearance.material=this.material,l(this.depthFailAppearanceType)&&!(this.depthFailMaterialProperty instanceof Pt)&&(this.depthFailMaterial=Zo.getValue(e,this.depthFailMaterialProperty,this.depthFailMaterial),this.primitive.depthFailAppearance.material=this.depthFailMaterial);let s=this.updatersWithAttributes.values,a=s.length;for(r=0;r<a;r++){let c=s[r],u=c.entity,f=this.geometry.get(c.id),d=this.attributes.get(f.id.id);if(l(d)||(d=n.getGeometryInstanceAttributes(f.id),this.attributes.set(f.id.id,d)),l(this.depthFailAppearanceType)&&this.depthFailMaterialProperty instanceof Pt&&!c.depthFailMaterialProperty.isConstant){let x=c.depthFailMaterialProperty.color,A=j.getValueOrDefault(x,e,U.WHITE,KYe);U.equals(d._lastDepthFailColor,A)||(d._lastDepthFailColor=U.clone(A,d._lastDepthFailColor),d.depthFailColor=It.toValue(A,d.depthFailColor))}let p=u.isShowing&&(c.hasConstantFill||c.isFilled(e)),g=d.show[0]===1;p!==g&&(d.show=dn.toValue(p,d.show));let m=c.distanceDisplayConditionProperty;if(!j.isConstant(m)){let x=j.getValueOrDefault(m,e,qYe,jYe);At.equals(x,d._lastDistanceDisplayCondition)||(d._lastDistanceDisplayCondition=At.clone(x,d._lastDistanceDisplayCondition),d.distanceDisplayCondition=Bn.toValue(x,d.distanceDisplayCondition))}let C=c.terrainOffsetProperty;if(!j.isConstant(C)){let x=j.getValueOrDefault(C,e,YYe,XYe);h.equals(x,d._lastOffset)||(d._lastOffset=h.clone(x,d._lastOffset),d.offset=ji.toValue(x,d.offset))}}this.updateShows(n)}else l(n)&&!n.ready&&(t=!1);return t};$f.prototype.updateShows=function(e){let t=this.showsUpdated.values,n=t.length;for(let i=0;i<n;i++){let o=t[i],r=o.entity,s=this.geometry.get(o.id),a=this.attributes.get(s.id.id);l(a)||(a=e.getGeometryInstanceAttributes(s.id),this.attributes.set(s.id.id,a));let c=r.isShowing,u=a.show[0]===1;c!==u&&(a.show=dn.toValue(c,a.show),s.attributes.show.value[0]=a.show[0])}this.showsUpdated.removeAll()};$f.prototype.contains=function(e){return this.updaters.contains(e.id)};$f.prototype.getBoundingSphere=function(e,t){let n=this.primitive;if(!n.ready)return it.PENDING;let i=n.getGeometryInstanceAttributes(e.entity);return!l(i)||!l(i.boundingSphere)||l(i.show)&&i.show[0]===0?it.FAILED:(i.boundingSphere.clone(t),it.DONE)};$f.prototype.destroy=function(){let e=this.primitive,t=this.primitives;l(e)&&t.remove(e);let n=this.oldPrimitive;l(n)&&t.remove(n),this.removeMaterialSubscription()};function ZT(e,t,n,i,o){this._items=[],this._primitives=e,this._appearanceType=t,this._depthFailAppearanceType=n,this._closed=i,this._shadows=o}ZT.prototype.add=function(e,t){let n=this._items,i=n.length;for(let r=0;r<i;r++){let s=n[r];if(s.isMaterial(t)){s.add(e,t);return}}let o=new $f(this._primitives,this._appearanceType,t.fillMaterialProperty,this._depthFailAppearanceType,t.depthFailMaterialProperty,this._closed,this._shadows);o.add(e,t),n.push(o)};ZT.prototype.remove=function(e){let t=this._items,n=t.length;for(let i=n-1;i>=0;i--){let o=t[i];if(o.remove(e)){o.updaters.length===0&&(t.splice(i,1),o.destroy());break}}};ZT.prototype.update=function(e){let t,n=this._items,i=n.length;for(t=i-1;t>=0;t--){let r=n[t];if(r.invalidated){n.splice(t,1);let s=r.updaters.values,a=s.length;for(let c=0;c<a;c++)this.add(e,s[c]);r.destroy()}}let o=!0;for(t=0;t<n.length;t++)o=n[t].update(e)&&o;return o};ZT.prototype.getBoundingSphere=function(e,t){let n=this._items,i=n.length;for(let o=0;o<i;o++){let r=n[o];if(r.contains(e))return r.getBoundingSphere(e,t)}return it.FAILED};ZT.prototype.removeAllPrimitives=function(){let e=this._items,t=e.length;for(let n=0;n<t;n++)e[n].destroy();this._items.length=0};var Jf=ZT;var ZYe=new U,$Ye=new At,JYe=new At;function hp(e,t,n,i){this.primitives=e,this.zIndex=i,this.classificationType=t,this.color=n,this.createPrimitive=!1,this.waitingOnCreate=!1,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new gt,this.updaters=new gt,this.updatersWithAttributes=new gt,this.attributes=new gt,this.subscriptions=new gt,this.showsUpdated=new gt,this.itemsToRemove=[],this.isDirty=!1,this.rectangleCollisionCheck=new oA}hp.prototype.overlapping=function(e){return this.rectangleCollisionCheck.collides(e)};hp.prototype.add=function(e,t){let n=e.id;if(this.createPrimitive=!0,this.geometry.set(n,t),this.updaters.set(n,e),this.rectangleCollisionCheck.insert(n,t.geometry.rectangle),!e.hasConstantFill||!e.fillMaterialProperty.isConstant||!j.isConstant(e.distanceDisplayConditionProperty))this.updatersWithAttributes.set(n,e);else{let i=this;this.subscriptions.set(n,e.entity.definitionChanged.addEventListener(function(o,r,s,a){r==="isShowing"&&i.showsUpdated.set(e.id,e)}))}};hp.prototype.remove=function(e){let t=e.id,n=this.geometry.get(t);if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.rectangleCollisionCheck.remove(t,n.geometry.rectangle),this.updatersWithAttributes.remove(t);let i=this.subscriptions.get(t);return l(i)&&(i(),this.subscriptions.remove(t),this.showsUpdated.remove(t)),!0}return!1};hp.prototype.update=function(e){let t=!0,n=0,i=this.primitive,o=this.primitives,r;if(this.createPrimitive){let s=this.geometry.values;if(s.length>0)l(i)&&(l(this.oldPrimitive)?o.remove(i):this.oldPrimitive=i),i=new Gc({show:!1,asynchronous:!0,geometryInstances:s.slice(),classificationType:this.classificationType}),o.add(i,this.zIndex),t=!1;else{l(i)&&(o.remove(i),i=void 0);let c=this.oldPrimitive;l(c)&&(o.remove(c),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=i,this.createPrimitive=!1,this.waitingOnCreate=!0}else if(l(i)&&i.ready){i.show=!0,l(this.oldPrimitive)&&(o.remove(this.oldPrimitive),this.oldPrimitive=void 0);let s=this.updatersWithAttributes.values,a=s.length,c=this.waitingOnCreate;for(r=0;r<a;r++){let u=s[r],f=this.geometry.get(u.id),d=this.attributes.get(f.id.id);if(l(d)||(d=i.getGeometryInstanceAttributes(f.id),this.attributes.set(f.id.id,d)),!u.fillMaterialProperty.isConstant||c){let C=u.fillMaterialProperty.color,x=j.getValueOrDefault(C,e,U.WHITE,ZYe);U.equals(d._lastColor,x)||(d._lastColor=U.clone(x,d._lastColor),d.color=It.toValue(x,d.color))}let p=u.entity.isShowing&&(u.hasConstantFill||u.isFilled(e)),g=d.show[0]===1;p!==g&&(d.show=dn.toValue(p,d.show));let m=u.distanceDisplayConditionProperty;if(!j.isConstant(m)){let C=j.getValueOrDefault(m,e,JYe,$Ye);At.equals(C,d._lastDistanceDisplayCondition)||(d._lastDistanceDisplayCondition=At.clone(C,d._lastDistanceDisplayCondition),d.distanceDisplayCondition=Bn.toValue(C,d.distanceDisplayCondition))}}this.updateShows(i),this.waitingOnCreate=!1}else l(i)&&!i.ready&&(t=!1);return this.itemsToRemove.length=n,t};hp.prototype.updateShows=function(e){let t=this.showsUpdated.values,n=t.length;for(let i=0;i<n;i++){let o=t[i],r=this.geometry.get(o.id),s=this.attributes.get(r.id.id);l(s)||(s=e.getGeometryInstanceAttributes(r.id),this.attributes.set(r.id.id,s));let a=o.entity.isShowing,c=s.show[0]===1;a!==c&&(s.show=dn.toValue(a,s.show),r.attributes.show.value[0]=s.show[0])}this.showsUpdated.removeAll()};hp.prototype.contains=function(e){return this.updaters.contains(e.id)};hp.prototype.getBoundingSphere=function(e,t){let n=this.primitive;if(!n.ready)return it.PENDING;let i=n.getBoundingSphere(e.entity);return l(i)?(i.clone(t),it.DONE):it.FAILED};hp.prototype.removeAllPrimitives=function(){let e=this.primitives,t=this.primitive;l(t)&&(e.remove(t),this.primitive=void 0,this.geometry.removeAll(),this.updaters.removeAll());let n=this.oldPrimitive;l(n)&&(e.remove(n),this.oldPrimitive=void 0)};function $T(e,t){this._batches=[],this._primitives=e,this._classificationType=t}$T.prototype.add=function(e,t){let n=t.createFillGeometryInstance(e),i=this._batches,o=j.getValueOrDefault(t.zIndex,0),r,s=i.length;for(let a=0;a<s;++a){let c=i[a];if(c.zIndex===o&&!c.overlapping(n.geometry.rectangle)){r=c;break}}return l(r)||(r=new hp(this._primitives,this._classificationType,n.attributes.color.value,o),i.push(r)),r.add(t,n),r};$T.prototype.remove=function(e){let t=this._batches,n=t.length;for(let i=0;i<n;++i)if(t[i].remove(e))return};$T.prototype.update=function(e){let t,n,i=!0,o=this._batches,r=o.length;for(t=0;t<r;++t)i=o[t].update(e)&&i;for(t=0;t<r;++t){let s=o[t],a=s.itemsToRemove,c=a.length;for(let u=0;u<c;u++){n=a[u],s.remove(n);let f=this.add(e,n);s.isDirty=!0,f.isDirty=!0}}for(t=r-1;t>=0;--t){let s=o[t];s.isDirty&&(i=o[t].update(e)&&i,s.isDirty=!1),s.geometry.length===0&&o.splice(t,1)}return i};$T.prototype.getBoundingSphere=function(e,t){let n=this._batches,i=n.length;for(let o=0;o<i;++o){let r=n[o];if(r.contains(e))return r.getBoundingSphere(e,t)}return it.FAILED};$T.prototype.removeAllPrimitives=function(){let e=this._batches,t=e.length;for(let n=0;n<t;++n)e[n].removeAllPrimitives()};var Cv=$T;var QYe=new At,eXe=new At;function Hu(e,t,n,i,o,r){this.primitives=e,this.classificationType=t,this.appearanceType=n,this.materialProperty=i,this.updaters=new gt,this.createPrimitive=!0,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new gt,this.material=void 0,this.updatersWithAttributes=new gt,this.attributes=new gt,this.invalidated=!1,this.removeMaterialSubscription=i.definitionChanged.addEventListener(Hu.prototype.onMaterialChanged,this),this.subscriptions=new gt,this.showsUpdated=new gt,this.usingSphericalTextureCoordinates=o,this.zIndex=r,this.rectangleCollisionCheck=new oA}Hu.prototype.onMaterialChanged=function(){this.invalidated=!0};Hu.prototype.overlapping=function(e){return this.rectangleCollisionCheck.collides(e)};Hu.prototype.isMaterial=function(e){let t=this.materialProperty,n=e.fillMaterialProperty;return n===t||n instanceof Pt&&t instanceof Pt?!0:l(t)&&t.equals(n)};Hu.prototype.add=function(e,t,n){let i=t.id;if(this.updaters.set(i,t),this.geometry.set(i,n),this.rectangleCollisionCheck.insert(i,n.geometry.rectangle),!t.hasConstantFill||!t.fillMaterialProperty.isConstant||!j.isConstant(t.distanceDisplayConditionProperty))this.updatersWithAttributes.set(i,t);else{let o=this;this.subscriptions.set(i,t.entity.definitionChanged.addEventListener(function(r,s,a,c){s==="isShowing"&&o.showsUpdated.set(t.id,t)}))}this.createPrimitive=!0};Hu.prototype.remove=function(e){let t=e.id,n=this.geometry.get(t);if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.rectangleCollisionCheck.remove(t,n.geometry.rectangle),this.updatersWithAttributes.remove(t);let i=this.subscriptions.get(t);return l(i)&&(i(),this.subscriptions.remove(t)),!0}return!1};Hu.prototype.update=function(e){let t=!0,n=this.primitive,i=this.primitives,o=this.geometry.values,r;if(this.createPrimitive){if(o.length>0)l(n)&&(l(this.oldPrimitive)?i.remove(n):this.oldPrimitive=n),this.material=Zo.getValue(e,this.materialProperty,this.material),n=new Gc({show:!1,asynchronous:!0,geometryInstances:o.slice(),appearance:new this.appearanceType({material:this.material}),classificationType:this.classificationType}),i.add(n,this.zIndex),t=!1;else{l(n)&&(i.remove(n),n=void 0);let a=this.oldPrimitive;l(a)&&(i.remove(a),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=n,this.createPrimitive=!1}else if(l(n)&&n.ready){n.show=!0,l(this.oldPrimitive)&&(i.remove(this.oldPrimitive),this.oldPrimitive=void 0),this.material=Zo.getValue(e,this.materialProperty,this.material),this.primitive.appearance.material=this.material;let s=this.updatersWithAttributes.values,a=s.length;for(r=0;r<a;r++){let c=s[r],u=c.entity,f=this.geometry.get(c.id),d=this.attributes.get(f.id.id);l(d)||(d=n.getGeometryInstanceAttributes(f.id),this.attributes.set(f.id.id,d));let p=u.isShowing&&(c.hasConstantFill||c.isFilled(e)),g=d.show[0]===1;p!==g&&(d.show=dn.toValue(p,d.show));let m=c.distanceDisplayConditionProperty;if(!j.isConstant(m)){let C=j.getValueOrDefault(m,e,eXe,QYe);At.equals(C,d._lastDistanceDisplayCondition)||(d._lastDistanceDisplayCondition=At.clone(C,d._lastDistanceDisplayCondition),d.distanceDisplayCondition=Bn.toValue(C,d.distanceDisplayCondition))}}this.updateShows(n)}else l(n)&&!n.ready&&(t=!1);return t};Hu.prototype.updateShows=function(e){let t=this.showsUpdated.values,n=t.length;for(let i=0;i<n;i++){let o=t[i],r=o.entity,s=this.geometry.get(o.id),a=this.attributes.get(s.id.id);l(a)||(a=e.getGeometryInstanceAttributes(s.id),this.attributes.set(s.id.id,a));let c=r.isShowing,u=a.show[0]===1;c!==u&&(a.show=dn.toValue(c,a.show),s.attributes.show.value[0]=a.show[0])}this.showsUpdated.removeAll()};Hu.prototype.contains=function(e){return this.updaters.contains(e.id)};Hu.prototype.getBoundingSphere=function(e,t){let n=this.primitive;if(!n.ready)return it.PENDING;let i=n.getGeometryInstanceAttributes(e.entity);return!l(i)||!l(i.boundingSphere)||l(i.show)&&i.show[0]===0?it.FAILED:(i.boundingSphere.clone(t),it.DONE)};Hu.prototype.destroy=function(){let e=this.primitive,t=this.primitives;l(e)&&t.remove(e);let n=this.oldPrimitive;l(n)&&t.remove(n),this.removeMaterialSubscription()};function JT(e,t,n){this._items=[],this._primitives=e,this._classificationType=t,this._appearanceType=n}JT.prototype.add=function(e,t){let n=this._items,i=n.length,o=t.createFillGeometryInstance(e),r=xu.shouldUseSphericalCoordinates(o.geometry.rectangle),s=j.getValueOrDefault(t.zIndex,0);for(let c=0;c<i;++c){let u=n[c];if(u.isMaterial(t)&&u.usingSphericalTextureCoordinates===r&&u.zIndex===s&&!u.overlapping(o.geometry.rectangle)){u.add(e,t,o);return}}let a=new Hu(this._primitives,this._classificationType,this._appearanceType,t.fillMaterialProperty,r,s);a.add(e,t,o),n.push(a)};JT.prototype.remove=function(e){let t=this._items,n=t.length;for(let i=n-1;i>=0;i--){let o=t[i];if(o.remove(e)){o.updaters.length===0&&(t.splice(i,1),o.destroy());break}}};JT.prototype.update=function(e){let t,n=this._items,i=n.length;for(t=i-1;t>=0;t--){let r=n[t];if(r.invalidated){n.splice(t,1);let s=r.updaters.values,a=s.length;for(let c=0;c<a;c++)this.add(e,s[c]);r.destroy()}}let o=!0;for(t=0;t<n.length;t++)o=n[t].update(e)&&o;return o};JT.prototype.getBoundingSphere=function(e,t){let n=this._items,i=n.length;for(let o=0;o<i;o++){let r=n[o];if(r.contains(e))return r.getBoundingSphere(e,t)}return it.FAILED};JT.prototype.removeAllPrimitives=function(){let e=this._items,t=e.length;for(let n=0;n<t;n++)e[n].destroy();this._items.length=0};var E2=JT;var tXe=new U,nXe=new At,iXe=new At,oXe=h.ZERO,rXe=new h;function mp(e,t,n,i){this.translucent=t,this.width=n,this.shadows=i,this.primitives=e,this.createPrimitive=!1,this.waitingOnCreate=!1,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new gt,this.updaters=new gt,this.updatersWithAttributes=new gt,this.attributes=new gt,this.itemsToRemove=[],this.subscriptions=new gt,this.showsUpdated=new gt}mp.prototype.add=function(e,t){let n=e.id;if(this.createPrimitive=!0,this.geometry.set(n,t),this.updaters.set(n,e),!e.hasConstantOutline||!e.outlineColorProperty.isConstant||!j.isConstant(e.distanceDisplayConditionProperty)||!j.isConstant(e.terrainOffsetProperty))this.updatersWithAttributes.set(n,e);else{let i=this;this.subscriptions.set(n,e.entity.definitionChanged.addEventListener(function(o,r,s,a){r==="isShowing"&&i.showsUpdated.set(e.id,e)}))}};mp.prototype.remove=function(e){let t=e.id;if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.updatersWithAttributes.remove(t);let n=this.subscriptions.get(t);return l(n)&&(n(),this.subscriptions.remove(t),this.showsUpdated.remove(t)),!0}return!1};mp.prototype.update=function(e){let t=!0,n=0,i=this.primitive,o=this.primitives,r;if(this.createPrimitive){let s=this.geometry.values;if(s.length>0)l(i)&&(l(this.oldPrimitive)?o.remove(i):this.oldPrimitive=i),i=new xn({show:!1,asynchronous:!0,geometryInstances:s.slice(),appearance:new Qt({flat:!0,translucent:this.translucent,renderState:{lineWidth:this.width}}),shadows:this.shadows}),o.add(i),t=!1;else{l(i)&&(o.remove(i),i=void 0);let c=this.oldPrimitive;l(c)&&(o.remove(c),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=i,this.createPrimitive=!1,this.waitingOnCreate=!0}else if(l(i)&&i.ready){i.show=!0,l(this.oldPrimitive)&&(o.remove(this.oldPrimitive),this.oldPrimitive=void 0);let s=this.updatersWithAttributes.values,a=s.length,c=this.waitingOnCreate;for(r=0;r<a;r++){let u=s[r],f=this.geometry.get(u.id),d=this.attributes.get(f.id.id);if(l(d)||(d=i.getGeometryInstanceAttributes(f.id),this.attributes.set(f.id.id,d)),!u.outlineColorProperty.isConstant||c){let x=u.outlineColorProperty,A=j.getValueOrDefault(x,e,U.WHITE,tXe);U.equals(d._lastColor,A)||(d._lastColor=U.clone(A,d._lastColor),d.color=It.toValue(A,d.color),(this.translucent&&d.color[3]===255||!this.translucent&&d.color[3]!==255)&&(this.itemsToRemove[n++]=u))}let p=u.entity.isShowing&&(u.hasConstantOutline||u.isOutlineVisible(e)),g=d.show[0]===1;p!==g&&(d.show=dn.toValue(p,d.show));let m=u.distanceDisplayConditionProperty;if(!j.isConstant(m)){let x=j.getValueOrDefault(m,e,iXe,nXe);At.equals(x,d._lastDistanceDisplayCondition)||(d._lastDistanceDisplayCondition=At.clone(x,d._lastDistanceDisplayCondition),d.distanceDisplayCondition=Bn.toValue(x,d.distanceDisplayCondition))}let C=u.terrainOffsetProperty;if(!j.isConstant(C)){let x=j.getValueOrDefault(C,e,oXe,rXe);h.equals(x,d._lastOffset)||(d._lastOffset=h.clone(x,d._lastOffset),d.offset=ji.toValue(x,d.offset))}}this.updateShows(i),this.waitingOnCreate=!1}else l(i)&&!i.ready&&(t=!1);return this.itemsToRemove.length=n,t};mp.prototype.updateShows=function(e){let t=this.showsUpdated.values,n=t.length;for(let i=0;i<n;i++){let o=t[i],r=this.geometry.get(o.id),s=this.attributes.get(r.id.id);l(s)||(s=e.getGeometryInstanceAttributes(r.id),this.attributes.set(r.id.id,s));let a=o.entity.isShowing,c=s.show[0]===1;a!==c&&(s.show=dn.toValue(a,s.show),r.attributes.show.value[0]=s.show[0])}this.showsUpdated.removeAll()};mp.prototype.contains=function(e){return this.updaters.contains(e.id)};mp.prototype.getBoundingSphere=function(e,t){let n=this.primitive;if(!n.ready)return it.PENDING;let i=n.getGeometryInstanceAttributes(e.entity);return!l(i)||!l(i.boundingSphere)||l(i.show)&&i.show[0]===0?it.FAILED:(i.boundingSphere.clone(t),it.DONE)};mp.prototype.removeAllPrimitives=function(){let e=this.primitives,t=this.primitive;l(t)&&(e.remove(t),this.primitive=void 0,this.geometry.removeAll(),this.updaters.removeAll());let n=this.oldPrimitive;l(n)&&(e.remove(n),this.oldPrimitive=void 0)};function QT(e,t,n){this._primitives=e,this._scene=t,this._shadows=n,this._solidBatches=new gt,this._translucentBatches=new gt}QT.prototype.add=function(e,t){let n=t.createOutlineGeometryInstance(e),i=this._scene.clampLineWidth(t.outlineWidth),o,r;n.attributes.color.value[3]===255?(o=this._solidBatches,r=o.get(i),l(r)||(r=new mp(this._primitives,!1,i,this._shadows),o.set(i,r)),r.add(t,n)):(o=this._translucentBatches,r=o.get(i),l(r)||(r=new mp(this._primitives,!0,i,this._shadows),o.set(i,r)),r.add(t,n))};QT.prototype.remove=function(e){let t,n=this._solidBatches.values,i=n.length;for(t=0;t<i;t++)if(n[t].remove(e))return;let o=this._translucentBatches.values,r=o.length;for(t=0;t<r;t++)if(o[t].remove(e))return};QT.prototype.update=function(e){let t,n,i,o,r=this._solidBatches.values,s=r.length,a=this._translucentBatches.values,c=a.length,u,f=!0,d=!1;do{for(d=!1,n=0;n<s;n++){o=r[n],f=o.update(e),u=o.itemsToRemove;let p=u.length;if(p>0)for(d=!0,t=0;t<p;t++)i=u[t],o.remove(i),this.add(e,i)}for(n=0;n<c;n++){o=a[n],f=o.update(e),u=o.itemsToRemove;let p=u.length;if(p>0)for(d=!0,t=0;t<p;t++)i=u[t],o.remove(i),this.add(e,i)}}while(d);return f};QT.prototype.getBoundingSphere=function(e,t){let n,i=this._solidBatches.values,o=i.length;for(n=0;n<o;n++){let a=i[n];if(a.contains(e))return a.getBoundingSphere(e,t)}let r=this._translucentBatches.values,s=r.length;for(n=0;n<s;n++){let a=r[n];if(a.contains(e))return a.getBoundingSphere(e,t)}return it.FAILED};QT.prototype.removeAllPrimitives=function(){let e,t=this._solidBatches.values,n=t.length;for(e=0;e<n;e++)t[e].removeAllPrimitives();let i=this._translucentBatches.values,o=i.length;for(e=0;e<o;e++)i[e].removeAllPrimitives()};var xv=QT;var lue=new U;function sXe(e){this.id=e,this.vertexFormat=void 0,this.positions=void 0,this.minimumHeights=void 0,this.maximumHeights=void 0,this.granularity=void 0}function Qf(e,t){ii.call(this,{entity:e,scene:t,geometryOptions:new sXe(e),geometryPropertyName:"wall",observedPropertyNames:["availability","wall"]}),this._onEntityPropertyChanged(e,"wall",e.wall,void 0)}l(Object.create)&&(Qf.prototype=Object.create(ii.prototype),Qf.prototype.constructor=Qf);Qf.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i,o,r=new dn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),s=this._distanceDisplayConditionProperty.getValue(e),a=Bn.fromDistanceDisplayCondition(s);if(this._materialProperty instanceof Pt){let c;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(c=this._materialProperty.color.getValue(e,lue)),l(c)||(c=U.WHITE),o=It.fromColor(c),i={show:r,distanceDisplayCondition:a,color:o}}else i={show:r,distanceDisplayCondition:a};return new pt({id:t,geometry:new WI(this._options),attributes:i})};Qf.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=j.getValueOrDefault(this._outlineColorProperty,e,U.BLACK,lue),o=this._distanceDisplayConditionProperty.getValue(e);return new pt({id:t,geometry:new jI(this._options),attributes:{show:new dn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:It.fromColor(i),distanceDisplayCondition:Bn.fromDistanceDisplayCondition(o)}})};Qf.prototype._isHidden=function(e,t){return!l(t.positions)||ii.prototype._isHidden.call(this,e,t)};Qf.prototype._getIsClosed=function(e){return!1};Qf.prototype._isDynamic=function(e,t){return!t.positions.isConstant||!j.isConstant(t.minimumHeights)||!j.isConstant(t.maximumHeights)||!j.isConstant(t.outlineWidth)||!j.isConstant(t.granularity)};Qf.prototype._setStaticOptions=function(e,t){let n=t.minimumHeights,i=t.maximumHeights,o=t.granularity,r=this._materialProperty instanceof Pt,s=this._options;s.vertexFormat=r?Qt.VERTEX_FORMAT:no.MaterialSupport.TEXTURED.vertexFormat,s.positions=t.positions.getValue(Ve.MINIMUM_VALUE,s.positions),s.minimumHeights=l(n)?n.getValue(Ve.MINIMUM_VALUE,s.minimumHeights):void 0,s.maximumHeights=l(i)?i.getValue(Ve.MINIMUM_VALUE,s.maximumHeights):void 0,s.granularity=l(o)?o.getValue(Ve.MINIMUM_VALUE):void 0};Qf.DynamicGeometryUpdater=eE;function eE(e,t,n){ni.call(this,e,t,n)}l(Object.create)&&(eE.prototype=Object.create(ni.prototype),eE.prototype.constructor=eE);eE.prototype._isHidden=function(e,t,n){return!l(this._options.positions)||ni.prototype._isHidden.call(this,e,t,n)};eE.prototype._setOptions=function(e,t,n){let i=this._options;i.positions=j.getValueOrUndefined(t.positions,n,i.positions),i.minimumHeights=j.getValueOrUndefined(t.minimumHeights,n,i.minimumHeights),i.maximumHeights=j.getValueOrUndefined(t.maximumHeights,n,i.maximumHeights),i.granularity=j.getValueOrUndefined(t.granularity,n)};var b2=Qf;var aXe=[],uue=[_B,o2,QF,_2,g2,y2,C2,x2,A2,b2];function Av(e,t){this.entity=e,this.scene=t;let n=new Array(uue.length),i=new ge;function o(s){i.raiseEvent(s)}let r=new Pr;for(let s=0;s<n.length;s++){let a=new uue[s](e,t);r.add(a.geometryChanged,o),n[s]=a}this.updaters=n,this.geometryChanged=i,this.eventHelper=r,this._removeEntitySubscription=e.definitionChanged.addEventListener(Av.prototype._onEntityPropertyChanged,this)}Av.prototype._onEntityPropertyChanged=function(e,t,n,i){let o=this.updaters;for(let r=0;r<o.length;r++)o[r]._onEntityPropertyChanged(e,t,n,i)};Av.prototype.forEach=function(e){let t=this.updaters;for(let n=0;n<t.length;n++)e(t[n])};Av.prototype.destroy=function(){this.eventHelper.removeAll();let e=this.updaters;for(let t=0;t<e.length;t++)e[t].destroy();this._removeEntitySubscription(),fe(this)};function Gu(e,t,n,i){n=y(n,e.primitives),i=y(i,e.groundPrimitives),this._scene=e,this._primitives=n,this._groundPrimitives=i,this._entityCollection=void 0,this._addedObjects=new gt,this._removedObjects=new gt,this._changedObjects=new gt;let o=mn.NUMBER_OF_SHADOW_MODES;this._outlineBatches=new Array(o*2),this._closedColorBatches=new Array(o*2),this._closedMaterialBatches=new Array(o*2),this._openColorBatches=new Array(o*2),this._openMaterialBatches=new Array(o*2);let r=$o.supportsMaterialsforEntitiesOnTerrain(e);this._supportsMaterialsforEntitiesOnTerrain=r;let s;for(s=0;s<o;++s)this._outlineBatches[s]=new xv(n,e,s,!1),this._outlineBatches[o+s]=new xv(n,e,s,!0),this._closedColorBatches[s]=new Zf(n,Qt,void 0,!0,s,!0),this._closedColorBatches[o+s]=new Zf(n,Qt,void 0,!0,s,!1),this._closedMaterialBatches[s]=new Jf(n,no,void 0,!0,s,!0),this._closedMaterialBatches[o+s]=new Jf(n,no,void 0,!0,s,!1),this._openColorBatches[s]=new Zf(n,Qt,void 0,!1,s,!0),this._openColorBatches[o+s]=new Zf(n,Qt,void 0,!1,s,!1),this._openMaterialBatches[s]=new Jf(n,no,void 0,!1,s,!0),this._openMaterialBatches[o+s]=new Jf(n,no,void 0,!1,s,!1);let a=Ln.NUMBER_OF_CLASSIFICATION_TYPES,c=new Array(a),u=[];if(r)for(s=0;s<a;++s)u.push(new E2(i,s,no)),c[s]=new Cv(i,s);else for(s=0;s<a;++s)c[s]=new Cv(i,s);this._groundColorBatches=c,this._groundMaterialBatches=u,this._dynamicBatch=new GT(n,i),this._batches=this._outlineBatches.concat(this._closedColorBatches,this._closedMaterialBatches,this._openColorBatches,this._openMaterialBatches,this._groundColorBatches,this._groundMaterialBatches,this._dynamicBatch),this._subscriptions=new gt,this._updaterSets=new gt,this._entityCollection=t,t.collectionChanged.addEventListener(Gu.prototype._onCollectionChanged,this),this._onCollectionChanged(t,t.values,aXe)}Gu.prototype.update=function(e){let t=this._addedObjects,n=t.values,i=this._removedObjects,o=i.values,r=this._changedObjects,s=r.values,a,c,u,f,d=this;for(a=s.length-1;a>-1;a--)c=s[a],u=c.id,f=this._updaterSets.get(u),f.entity===c?f.forEach(function(C){d._removeUpdater(C),d._insertUpdaterIntoBatch(e,C)}):(o.push(c),n.push(c));for(a=o.length-1;a>-1;a--)c=o[a],u=c.id,f=this._updaterSets.get(u),f.forEach(this._removeUpdater.bind(this)),f.destroy(),this._updaterSets.remove(u),this._subscriptions.get(u)(),this._subscriptions.remove(u);for(a=n.length-1;a>-1;a--)c=n[a],u=c.id,f=new Av(c,this._scene),this._updaterSets.set(u,f),f.forEach(function(C){d._insertUpdaterIntoBatch(e,C)}),this._subscriptions.set(u,f.geometryChanged.addEventListener(Gu._onGeometryChanged,this));t.removeAll(),i.removeAll(),r.removeAll();let p=!0,g=this._batches,m=g.length;for(a=0;a<m;a++)p=g[a].update(e)&&p;return p};var cXe=[],lXe=new re;Gu.prototype.getBoundingSphere=function(e,t){let n=cXe,i=lXe,o=0,r=it.DONE,s=this._batches,a=s.length,c=e.id,u=this._updaterSets.get(c).updaters;for(let f=0;f<u.length;f++){let d=u[f];for(let p=0;p<a;p++){if(r=s[p].getBoundingSphere(d,i),r===it.PENDING)return it.PENDING;r===it.DONE&&(n[o]=re.clone(i,n[o]),o++)}}return o===0?it.FAILED:(n.length=o,re.fromBoundingSpheres(n,t),it.DONE)};Gu.prototype.isDestroyed=function(){return!1};Gu.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(Gu.prototype._onCollectionChanged,this),this._addedObjects.removeAll(),this._removedObjects.removeAll();let e,t=this._batches,n=t.length;for(e=0;e<n;e++)t[e].removeAllPrimitives();let i=this._subscriptions.values;for(n=i.length,e=0;e<n;e++)i[e]();this._subscriptions.removeAll();let o=this._updaterSets.values;for(n=o.length,e=0;e<n;e++)o[e].destroy();return this._updaterSets.removeAll(),fe(this)};Gu.prototype._removeUpdater=function(e){let t=this._batches,n=t.length;for(let i=0;i<n;i++)t[i].remove(e)};Gu.prototype._insertUpdaterIntoBatch=function(e,t){if(t.isDynamic){this._dynamicBatch.add(e,t);return}let n;(t.outlineEnabled||t.fillEnabled)&&(n=t.shadowsProperty.getValue(e));let i=mn.NUMBER_OF_SHADOW_MODES;if(t.outlineEnabled&&(l(t.terrainOffsetProperty)?this._outlineBatches[i+n].add(e,t):this._outlineBatches[n].add(e,t)),t.fillEnabled)if(t.onTerrain){let o=t.classificationTypeProperty.getValue(e);t.fillMaterialProperty instanceof Pt?this._groundColorBatches[o].add(e,t):this._groundMaterialBatches[o].add(e,t)}else t.isClosed?t.fillMaterialProperty instanceof Pt?l(t.terrainOffsetProperty)?this._closedColorBatches[i+n].add(e,t):this._closedColorBatches[n].add(e,t):l(t.terrainOffsetProperty)?this._closedMaterialBatches[i+n].add(e,t):this._closedMaterialBatches[n].add(e,t):t.fillMaterialProperty instanceof Pt?l(t.terrainOffsetProperty)?this._openColorBatches[i+n].add(e,t):this._openColorBatches[n].add(e,t):l(t.terrainOffsetProperty)?this._openMaterialBatches[i+n].add(e,t):this._openMaterialBatches[n].add(e,t)};Gu._onGeometryChanged=function(e){let t=this._removedObjects,n=this._changedObjects,i=e.entity,o=i.id;!l(t.get(o))&&!l(n.get(o))&&n.set(o,i)};Gu.prototype._onCollectionChanged=function(e,t,n){let i=this._addedObjects,o=this._removedObjects,r=this._changedObjects,s,a,c;for(s=n.length-1;s>-1;s--)c=n[s],a=c.id,i.remove(a)||(o.set(a,c),r.remove(a));for(s=t.length-1;s>-1;s--)c=t[s],a=c.id,o.remove(a)?r.set(a,c):i.set(a,c)};var S2=Gu;var uXe=1,fXe="30px sans-serif",dXe=Fo.FILL,hXe=U.WHITE,mXe=U.BLACK,pXe=1,_Xe=!1,gXe=new U(.165,.165,.165,.8),yXe=new G(7,5),CXe=G.ZERO,xXe=h.ZERO,AXe=ze.NONE,TXe=ui.CENTER,EXe=bn.CENTER,bXe=new h,SXe=new U,wXe=new U,vXe=new U,DXe=new G,PXe=new h,IXe=new G,OXe=new St,RXe=new St,MXe=new St,BXe=new At;function fue(e){this.entity=e,this.label=void 0,this.index=void 0}function vg(e,t){t.collectionChanged.addEventListener(vg.prototype._onCollectionChanged,this),this._cluster=e,this._entityCollection=t,this._items=new gt,this._onCollectionChanged(t,t.values,[],[])}vg.prototype.update=function(e){let t=this._items.values,n=this._cluster;for(let i=0,o=t.length;i<o;i++){let r=t[i],s=r.entity,a=s._label,c,u=r.label,f=s.isShowing&&s.isAvailable(e)&&j.getValueOrDefault(a._show,e,!0),d;if(f&&(d=j.getValueOrUndefined(s._position,e,bXe),c=j.getValueOrUndefined(a._text,e),f=l(d)&&l(c)),!f){CW(r,s,n);continue}j.isConstant(s._position)||(n._clusterDirty=!0);let p=!1,g=j.getValueOrDefault(a._heightReference,e,AXe);l(u)||(u=n.getLabel(s),u.id=s,r.label=u,p=h.equals(u.position,d)&&u.heightReference===g),u.show=!0,u.position=d,u.text=c,u.scale=j.getValueOrDefault(a._scale,e,uXe),u.font=j.getValueOrDefault(a._font,e,fXe),u.style=j.getValueOrDefault(a._style,e,dXe),u.fillColor=j.getValueOrDefault(a._fillColor,e,hXe,SXe),u.outlineColor=j.getValueOrDefault(a._outlineColor,e,mXe,wXe),u.outlineWidth=j.getValueOrDefault(a._outlineWidth,e,pXe),u.showBackground=j.getValueOrDefault(a._showBackground,e,_Xe),u.backgroundColor=j.getValueOrDefault(a._backgroundColor,e,gXe,vXe),u.backgroundPadding=j.getValueOrDefault(a._backgroundPadding,e,yXe,DXe),u.pixelOffset=j.getValueOrDefault(a._pixelOffset,e,CXe,IXe),u.eyeOffset=j.getValueOrDefault(a._eyeOffset,e,xXe,PXe),u.heightReference=g,u.horizontalOrigin=j.getValueOrDefault(a._horizontalOrigin,e,TXe),u.verticalOrigin=j.getValueOrDefault(a._verticalOrigin,e,EXe),u.translucencyByDistance=j.getValueOrUndefined(a._translucencyByDistance,e,OXe),u.pixelOffsetScaleByDistance=j.getValueOrUndefined(a._pixelOffsetScaleByDistance,e,RXe),u.scaleByDistance=j.getValueOrUndefined(a._scaleByDistance,e,MXe),u.distanceDisplayCondition=j.getValueOrUndefined(a._distanceDisplayCondition,e,BXe),u.disableDepthTestDistance=j.getValueOrUndefined(a._disableDepthTestDistance,e),p&&u._updateClamping()}return!0};vg.prototype.getBoundingSphere=function(e,t){let n=this._items.get(e.id);if(!l(n)||!l(n.label))return it.FAILED;let i=n.label;return t.center=h.clone(y(i._clampedPosition,i.position),t.center),t.radius=0,it.DONE};vg.prototype.isDestroyed=function(){return!1};vg.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(vg.prototype._onCollectionChanged,this);let e=this._entityCollection.values;for(let t=0;t<e.length;t++)this._cluster.removeLabel(e[t]);return fe(this)};vg.prototype._onCollectionChanged=function(e,t,n,i){let o,r,s=this._items,a=this._cluster;for(o=t.length-1;o>-1;o--)r=t[o],l(r._label)&&l(r._position)&&s.set(r.id,new fue(r));for(o=i.length-1;o>-1;o--)r=i[o],l(r._label)&&l(r._position)?s.contains(r.id)||s.set(r.id,new fue(r)):(CW(s.get(r.id),r,a),s.remove(r.id));for(o=n.length-1;o>-1;o--)r=n[o],CW(s.get(r.id),r,a),s.remove(r.id)};function CW(e,t,n){l(e)&&(e.label=void 0,n.removeLabel(t))}var w2=vg;var LXe=1,NXe=0,FXe=!0,VXe=!0,kXe=mn.ENABLED,UXe=ze.NONE,zXe=U.RED,HXe=0,GXe=U.WHITE,WXe=dc.HIGHLIGHT,jXe=.5,qXe=new G(1,1),YXe=new N,XXe=new N,due=new U;function Oh(e,t){t.collectionChanged.addEventListener(Oh.prototype._onCollectionChanged,this),this._scene=e,this._primitives=e.primitives,this._entityCollection=t,this._modelHash={},this._entitiesToVisualize=new gt,this._onCollectionChanged(t,t.values,[],[])}Oh.prototype.update=function(e){let t=this._entitiesToVisualize.values,n=this._modelHash,i=this._primitives;for(let o=0,r=t.length;o<r;o++){let s=t[o],a=s._model,c,u=n[s.id],f=s.isShowing&&s.isAvailable(e)&&j.getValueOrDefault(a._show,e,!0),d;if(f&&(d=s.computeModelMatrix(e,YXe),c=Ie.createIfNeeded(j.getValueOrUndefined(a._uri,e)),f=l(d)&&l(c)),!f){l(u)&&(u.modelPrimitive.show=!1);continue}let p=l(u)?u.modelPrimitive:void 0;if((!l(p)||c.url!==u.url)&&(l(p)&&(i.removeAndDestroy(p),delete n[s.id]),p=Ch.fromGltf({url:c,incrementallyLoadTextures:j.getValueOrDefault(a._incrementallyLoadTextures,e,FXe),scene:this._scene}),p.id=s,i.add(p),u={modelPrimitive:p,url:c.url,animationsRunning:!1,nodeTransformationsScratch:{},articulationsScratch:{},loadFail:!1,awaitingSampleTerrain:!1,clampedBoundingSphere:void 0,sampleTerrainFailed:!1},n[s.id]=u,ZXe(p,s,n)),p.show=!0,p.scale=j.getValueOrDefault(a._scale,e,LXe),p.minimumPixelSize=j.getValueOrDefault(a._minimumPixelSize,e,NXe),p.maximumScale=j.getValueOrUndefined(a._maximumScale,e),p.modelMatrix=N.clone(d,p.modelMatrix),p.shadows=j.getValueOrDefault(a._shadows,e,kXe),p.heightReference=j.getValueOrDefault(a._heightReference,e,UXe),p.distanceDisplayCondition=j.getValueOrUndefined(a._distanceDisplayCondition,e),p.silhouetteColor=j.getValueOrDefault(a._silhouetteColor,e,zXe,due),p.silhouetteSize=j.getValueOrDefault(a._silhouetteSize,e,HXe),p.color=j.getValueOrDefault(a._color,e,GXe,due),p.colorBlendMode=j.getValueOrDefault(a._colorBlendMode,e,WXe),p.colorBlendAmount=j.getValueOrDefault(a._colorBlendAmount,e,jXe),p.clippingPlanes=j.getValueOrUndefined(a._clippingPlanes,e),p.clampAnimations=j.getValueOrDefault(a._clampAnimations,e,VXe),p.imageBasedLighting.imageBasedLightingFactor=j.getValueOrDefault(a._imageBasedLightingFactor,e,qXe),p.lightColor=j.getValueOrUndefined(a._lightColor,e),p.customShader=j.getValueOrUndefined(a._customShader,e),p.ready){let g=j.getValueOrDefault(a._runAnimations,e,!0);u.animationsRunning!==g&&(g?p.activeAnimations.addAll({loop:fc.REPEAT}):p.activeAnimations.removeAll(),u.animationsRunning=g);let m=j.getValueOrUndefined(a._nodeTransformations,e,u.nodeTransformationsScratch);if(l(m)){let A=Object.keys(m);for(let b=0,E=A.length;b<E;++b){let S=A[b],v=m[S];if(!l(v))continue;let P=p.getNode(S);if(!l(P))continue;let O=N.fromTranslationRotationScale(v,XXe);P.matrix=N.multiply(P.originalMatrix,O,O)}}let C=!1,x=j.getValueOrUndefined(a._articulations,e,u.articulationsScratch);if(l(x)){let A=Object.keys(x);for(let b=0,E=A.length;b<E;++b){let S=A[b],v=x[S];!l(v)||(C=!0,p.setArticulationStage(S,v))}}C&&p.applyArticulations()}}return!0};Oh.prototype.isDestroyed=function(){return!1};Oh.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(Oh.prototype._onCollectionChanged,this);let e=this._entitiesToVisualize.values,t=this._modelHash,n=this._primitives;for(let i=e.length-1;i>-1;i--)xW(this,e[i],t,n);return fe(this)};Oh._sampleTerrainMostDetailed=T_;var tE=new h,hue=new he;Oh.prototype.getBoundingSphere=function(e,t){let n=this._modelHash[e.id];if(!l(n)||n.loadFail)return it.FAILED;let i=n.modelPrimitive;if(!l(i)||!i.show)return it.FAILED;if(!i.ready)return it.PENDING;let r=this._scene.globe,s=r.ellipsoid,a=r.terrainProvider;if(i.heightReference!==ze.NONE){if(!a.ready)return it.PENDING;let u=i.modelMatrix;tE.x=u[12],tE.y=u[13],tE.z=u[14];let f=s.cartesianToCartographic(tE);if(!l(a.availability)){i.heightReference===ze.CLAMP_TO_GROUND&&(f.height=0);let g=s.cartographicToCartesian(f);return re.clone(i.boundingSphere,t),t.center=g,it.DONE}let d=this._modelHash[e.id].clampedBoundingSphere;return this._modelHash[e.id].sampleTerrainFailed?(this._modelHash[e.id].sampleTerrainFailed=!1,it.FAILED):l(d)?(re.clone(d,t),it.DONE):(d=new re,this._modelHash[e.id].awaitingSampleTerrain||(he.clone(f,hue),this._modelHash[e.id].awaitingSampleTerrain=!0,Oh._sampleTerrainMostDetailed(a,[hue]).then(m=>{this._modelHash[e.id].awaitingSampleTerrain=!1;let C=m[0];i.heightReference===ze.RELATIVE_TO_GROUND&&(C.height+=f.height),s.cartographicToCartesian(C,tE),re.clone(i.boundingSphere,d),d.center=tE,this._modelHash[e.id].clampedBoundingSphere=re.clone(d)}).catch(m=>{this._modelHash[e.id].sampleTerrainFailed=!0,this._modelHash[e.id].awaitingSampleTerrain=!1})),it.PENDING)}return re.clone(i.boundingSphere,t),it.DONE};Oh.prototype._onCollectionChanged=function(e,t,n,i){let o,r,s=this._entitiesToVisualize,a=this._modelHash,c=this._primitives;for(o=t.length-1;o>-1;o--)r=t[o],l(r._model)&&l(r._position)&&s.set(r.id,r);for(o=i.length-1;o>-1;o--)r=i[o],l(r._model)&&l(r._position)?(KXe(r,a),s.set(r.id,r)):(xW(this,r,a,c),s.remove(r.id));for(o=n.length-1;o>-1;o--)r=n[o],xW(this,r,a,c),s.remove(r.id)};function xW(e,t,n,i){let o=n[t.id];l(o)&&(i.removeAndDestroy(o.modelPrimitive),delete n[t.id])}function KXe(e,t){let n=t[e.id];l(n)&&(n.nodeTransformationsScratch={},n.articulationsScratch={})}function ZXe(e,t,n){e.readyPromise.catch(function(i){console.error(i),n[t.id].loadFail=!0})}var v2=Oh;function Dg(e){this._definitionChanged=new ge,this._value=void 0,this._removeSubscription=void 0,this.setValue(e)}Object.defineProperties(Dg.prototype,{isConstant:{get:function(){return j.isConstant(this._value)}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return l(this._value)?this._value.referenceFrame:Zi.FIXED}}});Dg.prototype.getValue=function(e,t){return this.getValueInReferenceFrame(e,Zi.FIXED,t)};Dg.prototype.setValue=function(e){this._value!==e&&(this._value=e,l(this._removeSubscription)&&(this._removeSubscription(),this._removeSubscription=void 0),l(e)&&(this._removeSubscription=e.definitionChanged.addEventListener(this._raiseDefinitionChanged,this)),this._definitionChanged.raiseEvent(this))};Dg.prototype.getValueInReferenceFrame=function(e,t,n){if(!!l(this._value))return n=this._value.getValueInReferenceFrame(e,t,n),l(n)?oe.WGS84.scaleToGeodeticSurface(n,n):void 0};Dg.prototype.equals=function(e){return this===e||e instanceof Dg&&this._value===e._value};Dg.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)};var pp=Dg;var $Xe=60,JXe=1,_ue=new gn,AW=new gn,TW=new gn;function mue(e){this.entity=e,this.polyline=void 0,this.index=void 0,this.updater=void 0}function QXe(e,t,n,i,o,r,s,a,c){let u=a,f;f=e.getValueInReferenceFrame(t,r,c[u]),l(f)&&(c[u++]=f);let d=!l(o)||Q.lessThanOrEquals(o,t)||Q.greaterThanOrEquals(o,n),p=0,g=i.length,m=i[p],C=n,x=!1,A,b,E;for(;p<g;){if(!d&&Q.greaterThanOrEquals(m,o)&&(f=e.getValueInReferenceFrame(o,r,c[u]),l(f)&&(c[u++]=f),d=!0),Q.greaterThan(m,t)&&Q.lessThan(m,C)&&!m.equals(o)&&(f=e.getValueInReferenceFrame(m,r,c[u]),l(f)&&(c[u++]=f)),p<g-1){if(s>0&&!x){let S=i[p+1],v=Q.secondsDifference(S,m);x=v>s,x&&(A=Math.ceil(v/s),b=0,E=v/Math.max(A,2),A=Math.max(A-1,1))}if(x&&b<A){m=Q.addSeconds(m,E,new Q),b++;continue}}x=!1,p++,m=i[p]}return f=e.getValueInReferenceFrame(n,r,c[u]),l(f)&&(c[u++]=f),u}function eKe(e,t,n,i,o,r,s,a){let c,u=0,f=s,d=t,p=Math.max(r,60),g=!l(i)||Q.lessThanOrEquals(i,t)||Q.greaterThanOrEquals(i,n);for(;Q.lessThan(d,n);)!g&&Q.greaterThanOrEquals(d,i)&&(g=!0,c=e.getValueInReferenceFrame(i,o,a[f]),l(c)&&(a[f]=c,f++)),c=e.getValueInReferenceFrame(d,o,a[f]),l(c)&&(a[f]=c,f++),u++,d=Q.addSeconds(t,p*u,new Q);return c=e.getValueInReferenceFrame(n,o,a[f]),l(c)&&(a[f]=c,f++),f}function tKe(e,t,n,i,o,r,s,a){TW.start=t,TW.stop=n;let c=s,u=e.intervals;for(let f=0;f<u.length;f++){let d=u.get(f);if(!gn.intersect(d,TW,_ue).isEmpty){let p=d.start;d.isStartIncluded||(d.isStopIncluded?p=d.stop:p=Q.addSeconds(d.start,Q.secondsDifference(d.stop,d.start)/2,new Q));let g=e.getValueInReferenceFrame(p,o,a[c]);l(g)&&(a[c]=g,c++)}}return c}function nKe(e,t,n,i,o,r,s,a){let c=e.getValueInReferenceFrame(t,o,a[s]);return l(c)&&(a[s++]=c),s}function iKe(e,t,n,i,o,r,s,a){AW.start=t,AW.stop=n;let c=s,u=e.intervals;for(let f=0;f<u.length;f++){let d=u.get(f);if(!gn.intersect(d,AW,_ue).isEmpty){let p=d.start,g=d.stop,m=t;Q.greaterThan(p,m)&&(m=p);let C=n;Q.lessThan(g,C)&&(C=g),c=gue(d.data,m,C,i,o,r,c,a)}}return c}function gue(e,t,n,i,o,r,s,a){for(;e instanceof Tg;)e=e.resolvedProperty;if(e instanceof ea){let c=e._property._times;s=QXe(e,t,n,c,i,o,r,s,a)}else e instanceof Qs?s=iKe(e,t,n,i,o,r,s,a):e instanceof bg?s=tKe(e,t,n,i,o,r,s,a):e instanceof Wc||e instanceof pp&&j.isConstant(e)?s=nKe(e,t,n,i,o,r,s,a):s=eKe(e,t,n,i,o,r,s,a);return s}function yue(e,t,n,i,o,r,s){l(s)||(s=[]);let a=gue(e,t,n,i,o,r,0,s);return s.length=a,s}var pue=new J;function Tv(e,t){this._unusedIndexes=[],this._polylineCollection=new lg,this._scene=e,this._referenceFrame=t,e.primitives.add(this._polylineCollection)}Tv.prototype.update=function(e){if(this._referenceFrame===Zi.INERTIAL){let t=Dt.computeIcrfToFixedMatrix(e,pue);l(t)||(t=Dt.computeTemeToPseudoFixedMatrix(e,pue)),N.fromRotationTranslation(t,h.ZERO,this._polylineCollection.modelMatrix)}};Tv.prototype.updateObject=function(e,t){let n=t.entity,i=n._path,o=n._position,r,s,a=i._show,c=t.polyline,u=n.isShowing&&n.isAvailable(e)&&(!l(a)||a.getValue(e));if(u){let d=j.getValueOrUndefined(i._leadTime,e),p=j.getValueOrUndefined(i._trailTime,e),g=n._availability,m=l(g),C=l(d),x=l(p);if(u=m||C&&x,u){if(x&&(r=Q.addSeconds(e,-p,new Q)),C&&(s=Q.addSeconds(e,d,new Q)),m){let A=g.start,b=g.stop;(!x||Q.greaterThan(A,r))&&(r=A),(!C||Q.lessThan(b,s))&&(s=b)}u=Q.lessThan(r,s)}}if(!u){l(c)&&(this._unusedIndexes.push(t.index),t.polyline=void 0,c.show=!1,t.index=void 0);return}if(!l(c)){let d=this._unusedIndexes;if(d.length>0){let g=d.pop();c=this._polylineCollection.get(g),t.index=g}else t.index=this._polylineCollection.length,c=this._polylineCollection.add();c.id=n,t.polyline=c}let f=j.getValueOrDefault(i._resolution,e,$Xe);c.show=!0,c.positions=yue(o,r,s,e,this._referenceFrame,f,c.positions.slice()),c.material=Zo.getValue(e,i._material,c.material),c.width=j.getValueOrDefault(i._width,e,JXe),c.distanceDisplayCondition=j.getValueOrUndefined(i._distanceDisplayCondition,e,c.distanceDisplayCondition)};Tv.prototype.removeObject=function(e){let t=e.polyline;l(t)&&(this._unusedIndexes.push(e.index),e.polyline=void 0,t.show=!1,t.id=void 0,e.index=void 0)};Tv.prototype.destroy=function(){return this._scene.primitives.remove(this._polylineCollection),fe(this)};function Pg(e,t){t.collectionChanged.addEventListener(Pg.prototype._onCollectionChanged,this),this._scene=e,this._updaters={},this._entityCollection=t,this._items=new gt,this._onCollectionChanged(t,t.values,[],[])}Pg.prototype.update=function(e){let t=this._updaters;for(let i in t)t.hasOwnProperty(i)&&t[i].update(e);let n=this._items.values;if(n.length===0&&l(this._updaters)&&Object.keys(this._updaters).length>0){for(let i in t)t.hasOwnProperty(i)&&t[i].destroy();this._updaters={}}for(let i=0,o=n.length;i<o;i++){let r=n[i],a=r.entity._position,c=r.updater,u=Zi.FIXED;this._scene.mode===ee.SCENE3D&&(u=a.referenceFrame);let f=this._updaters[u];if(c===f&&l(f)){f.updateObject(e,r);continue}l(c)&&c.removeObject(r),l(f)||(f=new Tv(this._scene,u),f.update(e),this._updaters[u]=f),r.updater=f,l(f)&&f.updateObject(e,r)}return!0};Pg.prototype.isDestroyed=function(){return!1};Pg.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(Pg.prototype._onCollectionChanged,this);let e=this._updaters;for(let t in e)e.hasOwnProperty(t)&&e[t].destroy();return fe(this)};Pg.prototype._onCollectionChanged=function(e,t,n,i){let o,r,s,a=this._items;for(o=t.length-1;o>-1;o--)r=t[o],l(r._path)&&l(r._position)&&a.set(r.id,new mue(r));for(o=i.length-1;o>-1;o--)r=i[o],l(r._path)&&l(r._position)?a.contains(r.id)||a.set(r.id,new mue(r)):(s=a.get(r.id),l(s)&&(l(s.updater)&&s.updater.removeObject(s),a.remove(r.id)));for(o=n.length-1;o>-1;o--)r=n[o],s=a.get(r.id),l(s)&&(l(s.updater)&&s.updater.removeObject(s),a.remove(r.id))};Pg._subSample=yue;var D2=Pg;var Cue=U.WHITE,xue=U.BLACK,Aue=0,Tue=1,Eue=0,bue=new U,oKe=new h,Sue=new U,wue=new St,vue=new St,Due=new At;function Pue(e){this.entity=e,this.pointPrimitive=void 0,this.billboard=void 0,this.color=void 0,this.outlineColor=void 0,this.pixelSize=void 0,this.outlineWidth=void 0}function Ig(e,t){t.collectionChanged.addEventListener(Ig.prototype._onCollectionChanged,this),this._cluster=e,this._entityCollection=t,this._items=new gt,this._onCollectionChanged(t,t.values,[],[])}Ig.prototype.update=function(e){let t=this._items.values,n=this._cluster;for(let i=0,o=t.length;i<o;i++){let r=t[i],s=r.entity,a=s._point,c=r.pointPrimitive,u=r.billboard,f=j.getValueOrDefault(a._heightReference,e,ze.NONE),d=s.isShowing&&s.isAvailable(e)&&j.getValueOrDefault(a._show,e,!0),p;if(d&&(p=j.getValueOrUndefined(s._position,e,oKe),d=l(p)),!d){Ev(r,s,n);continue}j.isConstant(s._position)||(n._clusterDirty=!0);let g=!1,m=!1;if(f!==ze.NONE&&!l(u)?(l(c)&&(Ev(r,s,n),c=void 0),u=n.getBillboard(s),u.id=s,u.image=void 0,r.billboard=u,g=!0,m=h.equals(u.position,p)&&u.heightReference===f):f===ze.NONE&&!l(c)&&(l(u)&&(Ev(r,s,n),u=void 0),c=n.getPoint(s),c.id=s,r.pointPrimitive=c),l(c))c.show=!0,c.position=p,c.scaleByDistance=j.getValueOrUndefined(a._scaleByDistance,e,wue),c.translucencyByDistance=j.getValueOrUndefined(a._translucencyByDistance,e,vue),c.color=j.getValueOrDefault(a._color,e,Cue,bue),c.outlineColor=j.getValueOrDefault(a._outlineColor,e,xue,Sue),c.outlineWidth=j.getValueOrDefault(a._outlineWidth,e,Aue),c.pixelSize=j.getValueOrDefault(a._pixelSize,e,Tue),c.distanceDisplayCondition=j.getValueOrUndefined(a._distanceDisplayCondition,e,Due),c.disableDepthTestDistance=j.getValueOrDefault(a._disableDepthTestDistance,e,Eue);else if(l(u)){u.show=!0,u.position=p,u.scaleByDistance=j.getValueOrUndefined(a._scaleByDistance,e,wue),u.translucencyByDistance=j.getValueOrUndefined(a._translucencyByDistance,e,vue),u.distanceDisplayCondition=j.getValueOrUndefined(a._distanceDisplayCondition,e,Due),u.disableDepthTestDistance=j.getValueOrDefault(a._disableDepthTestDistance,e,Eue),u.heightReference=f;let C=j.getValueOrDefault(a._color,e,Cue,bue),x=j.getValueOrDefault(a._outlineColor,e,xue,Sue),A=Math.round(j.getValueOrDefault(a._outlineWidth,e,Aue)),b=Math.max(1,Math.round(j.getValueOrDefault(a._pixelSize,e,Tue)));if(A>0?(u.scale=1,g=g||A!==r.outlineWidth||b!==r.pixelSize||!U.equals(C,r.color)||!U.equals(x,r.outlineColor)):(u.scale=b/50,b=50,g=g||A!==r.outlineWidth||!U.equals(C,r.color)||!U.equals(x,r.outlineColor)),g){r.color=U.clone(C,r.color),r.outlineColor=U.clone(x,r.outlineColor),r.pixelSize=b,r.outlineWidth=A;let E=C.alpha,S=C.toCssColorString(),v=x.toCssColorString(),P=JSON.stringify([S,b,v,A]);u.setImage(P,pT(E,S,v,A,b))}m&&u._updateClamping()}}return!0};Ig.prototype.getBoundingSphere=function(e,t){let n=this._items.get(e.id);if(!l(n)||!(l(n.pointPrimitive)||l(n.billboard)))return it.FAILED;if(l(n.pointPrimitive))t.center=h.clone(n.pointPrimitive.position,t.center);else{let i=n.billboard;if(!l(i._clampedPosition))return it.PENDING;t.center=h.clone(i._clampedPosition,t.center)}return t.radius=0,it.DONE};Ig.prototype.isDestroyed=function(){return!1};Ig.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(Ig.prototype._onCollectionChanged,this);let e=this._entityCollection.values;for(let t=0;t<e.length;t++)this._cluster.removePoint(e[t]);return fe(this)};Ig.prototype._onCollectionChanged=function(e,t,n,i){let o,r,s=this._items,a=this._cluster;for(o=t.length-1;o>-1;o--)r=t[o],l(r._point)&&l(r._position)&&s.set(r.id,new Pue(r));for(o=i.length-1;o>-1;o--)r=i[o],l(r._point)&&l(r._position)?s.contains(r.id)||s.set(r.id,new Pue(r)):(Ev(s.get(r.id),r,a),s.remove(r.id));for(o=n.length-1;o>-1;o--)r=n[o],Ev(s.get(r.id),r,a),s.remove(r.id)};function Ev(e,t,n){if(l(e)){let i=e.pointPrimitive;if(l(i)){e.pointPrimitive=void 0,n.removePoint(t);return}let o=e.billboard;l(o)&&(e.billboard=void 0,n.removeBillboard(t))}}var P2=Ig;var rKe=new Zn(0),I2={},Iue=new U,sKe=new Pt(U.WHITE),aKe=new Zn(!0),cKe=new Zn(mn.DISABLED),lKe=new Zn(new At),uKe=new Zn(Ln.BOTH);function fKe(){this.vertexFormat=void 0,this.positions=void 0,this.width=void 0,this.arcType=void 0,this.granularity=void 0}function dKe(){this.positions=void 0,this.width=void 0,this.arcType=void 0,this.granularity=void 0}function ed(e,t){this._entity=e,this._scene=t,this._entitySubscription=e.definitionChanged.addEventListener(ed.prototype._onEntityPropertyChanged,this),this._fillEnabled=!1,this._dynamic=!1,this._geometryChanged=new ge,this._showProperty=void 0,this._materialProperty=void 0,this._shadowsProperty=void 0,this._distanceDisplayConditionProperty=void 0,this._classificationTypeProperty=void 0,this._depthFailMaterialProperty=void 0,this._geometryOptions=new fKe,this._groundGeometryOptions=new dKe,this._id=`polyline-${e.id}`,this._clampToGround=!1,this._supportsPolylinesOnTerrain=$o.supportsPolylinesOnTerrain(t),this._zIndex=0,this._onEntityPropertyChanged(e,"polyline",e.polyline,void 0)}Object.defineProperties(ed.prototype,{id:{get:function(){return this._id}},entity:{get:function(){return this._entity}},fillEnabled:{get:function(){return this._fillEnabled}},hasConstantFill:{get:function(){return!this._fillEnabled||!l(this._entity.availability)&&j.isConstant(this._showProperty)}},fillMaterialProperty:{get:function(){return this._materialProperty}},depthFailMaterialProperty:{get:function(){return this._depthFailMaterialProperty}},outlineEnabled:{value:!1},hasConstantOutline:{value:!0},outlineColorProperty:{value:void 0},shadowsProperty:{get:function(){return this._shadowsProperty}},distanceDisplayConditionProperty:{get:function(){return this._distanceDisplayConditionProperty}},classificationTypeProperty:{get:function(){return this._classificationTypeProperty}},isDynamic:{get:function(){return this._dynamic}},isClosed:{value:!1},geometryChanged:{get:function(){return this._geometryChanged}},arcType:{get:function(){return this._arcType}},clampToGround:{get:function(){return this._clampToGround&&this._supportsPolylinesOnTerrain}},zIndex:{get:function(){return this._zIndex}}});ed.prototype.isOutlineVisible=function(e){return!1};ed.prototype.isFilled=function(e){let t=this._entity,n=this._fillEnabled&&t.isAvailable(e)&&this._showProperty.getValue(e);return y(n,!1)};ed.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=new dn(n&&t.isShowing&&this._showProperty.getValue(e)),o=this._distanceDisplayConditionProperty.getValue(e),r=Bn.fromDistanceDisplayCondition(o),s={show:i,distanceDisplayCondition:r},a;return this._materialProperty instanceof Pt&&(l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(a=this._materialProperty.color.getValue(e,Iue)),l(a)||(a=U.WHITE),s.color=It.fromColor(a)),this.clampToGround?new pt({id:t,geometry:new Yx(this._groundGeometryOptions),attributes:s}):(l(this._depthFailMaterialProperty)&&this._depthFailMaterialProperty instanceof Pt&&(l(this._depthFailMaterialProperty.color)&&(this._depthFailMaterialProperty.color.isConstant||n)&&(a=this._depthFailMaterialProperty.color.getValue(e,Iue)),l(a)||(a=U.WHITE),s.depthFailColor=It.fromColor(a)),new pt({id:t,geometry:new f_(this._geometryOptions),attributes:s}))};ed.prototype.createOutlineGeometryInstance=function(e){};ed.prototype.isDestroyed=function(){return!1};ed.prototype.destroy=function(){this._entitySubscription(),fe(this)};ed.prototype._onEntityPropertyChanged=function(e,t,n,i){if(!(t==="availability"||t==="polyline"))return;let o=this._entity.polyline;if(!l(o)){this._fillEnabled&&(this._fillEnabled=!1,this._geometryChanged.raiseEvent(this));return}let r=o.positions,s=o.show;if(l(s)&&s.isConstant&&!s.getValue(Ve.MINIMUM_VALUE)||!l(r)){this._fillEnabled&&(this._fillEnabled=!1,this._geometryChanged.raiseEvent(this));return}let a=o.zIndex,c=y(o.material,sKe),u=c instanceof Pt;this._materialProperty=c,this._depthFailMaterialProperty=o.depthFailMaterial,this._showProperty=y(s,aKe),this._shadowsProperty=y(o.shadows,cKe),this._distanceDisplayConditionProperty=y(o.distanceDisplayCondition,lKe),this._classificationTypeProperty=y(o.classificationType,uKe),this._fillEnabled=!0,this._zIndex=y(a,rKe);let f=o.width,d=o.arcType,p=o.clampToGround,g=o.granularity;if(!r.isConstant||!j.isConstant(f)||!j.isConstant(d)||!j.isConstant(g)||!j.isConstant(p)||!j.isConstant(a))this._dynamic||(this._dynamic=!0,this._geometryChanged.raiseEvent(this));else{let m=this._geometryOptions,C=r.getValue(Ve.MINIMUM_VALUE,m.positions);if(!l(C)||C.length<2){this._fillEnabled&&(this._fillEnabled=!1,this._geometryChanged.raiseEvent(this));return}let x;u&&(!l(this._depthFailMaterialProperty)||this._depthFailMaterialProperty instanceof Pt)?x=Hr.VERTEX_FORMAT:x=Ks.VERTEX_FORMAT,m.vertexFormat=x,m.positions=C,m.width=l(f)?f.getValue(Ve.MINIMUM_VALUE):void 0,m.arcType=l(d)?d.getValue(Ve.MINIMUM_VALUE):void 0,m.granularity=l(g)?g.getValue(Ve.MINIMUM_VALUE):void 0;let A=this._groundGeometryOptions;A.positions=C,A.width=m.width,A.arcType=m.arcType,A.granularity=m.granularity,this._clampToGround=l(p)?p.getValue(Ve.MINIMUM_VALUE):!1,!this._clampToGround&&l(a)&&Bt("Entity polylines must have clampToGround: true when using zIndex. zIndex will be ignored."),this._dynamic=!1,this._geometryChanged.raiseEvent(this)}};ed.prototype.createDynamicUpdater=function(e,t){return new bv(e,t,this)};var nE={positions:void 0,granularity:void 0,height:void 0,ellipsoid:void 0};function bv(e,t,n){this._line=void 0,this._primitives=e,this._groundPrimitives=t,this._groundPolylinePrimitive=void 0,this._material=void 0,this._geometryUpdater=n,this._positions=[]}function Oue(e){if(l(e._line))return e._line;let t=e._geometryUpdater._scene.id,n=I2[t],i=e._primitives;!l(n)||n.isDestroyed()?(n=new lg,I2[t]=n,i.add(n)):i.contains(n)||i.add(n);let o=n.add();return o.id=e._geometryUpdater._entity,e._line=o,o}bv.prototype.update=function(e){let t=this._geometryUpdater,n=t._entity,i=n.polyline,o=i.positions,r=j.getValueOrUndefined(o,e,this._positions);t._clampToGround=j.getValueOrDefault(i._clampToGround,e,!1),t._groundGeometryOptions.positions=r,t._groundGeometryOptions.width=j.getValueOrDefault(i._width,e,1),t._groundGeometryOptions.arcType=j.getValueOrDefault(i._arcType,e,qt.GEODESIC),t._groundGeometryOptions.granularity=j.getValueOrDefault(i._granularity,e,9999);let s=this._groundPrimitives;if(l(this._groundPolylinePrimitive)&&(s.remove(this._groundPolylinePrimitive),this._groundPolylinePrimitive=void 0),t.clampToGround){if(!n.isShowing||!n.isAvailable(e)||!j.getValueOrDefault(i._show,e,!0)||!l(r)||r.length<2)return;let f=t.fillMaterialProperty,d;if(f instanceof Pt)d=new Hr;else{let p=Zo.getValue(e,f,this._material);d=new Ks({material:p,translucent:p.isTranslucent()}),this._material=p}this._groundPolylinePrimitive=s.add(new ih({geometryInstances:t.createFillGeometryInstance(e),appearance:d,classificationType:t.classificationTypeProperty.getValue(e),asynchronous:!1}),j.getValueOrUndefined(t.zIndex,e)),l(this._line)&&(this._line.show=!1);return}let a=Oue(this);if(!n.isShowing||!n.isAvailable(e)||!j.getValueOrDefault(i._show,e,!0)){a.show=!1;return}if(!l(r)||r.length<2){a.show=!1;return}let c=qt.GEODESIC;c=j.getValueOrDefault(i._arcType,e,c);let u=t._scene.globe;c!==qt.NONE&&l(u)&&(nE.ellipsoid=u.ellipsoid,nE.positions=r,nE.granularity=j.getValueOrUndefined(i._granularity,e),nE.height=Si.extractHeights(r,u.ellipsoid),c===qt.GEODESIC?r=Si.generateCartesianArc(nE):r=Si.generateCartesianRhumbArc(nE)),a.show=!0,a.positions=r.slice(),a.material=Zo.getValue(e,t.fillMaterialProperty,a.material),a.width=j.getValueOrDefault(i._width,e,1),a.distanceDisplayCondition=j.getValueOrUndefined(i._distanceDisplayCondition,e,a.distanceDisplayCondition)};bv.prototype.getBoundingSphere=function(e){if(this._geometryUpdater.clampToGround){let t=this._groundPolylinePrimitive;if(l(t)&&t.show&&t.ready){let n=t.getGeometryInstanceAttributes(this._geometryUpdater._entity);if(l(n)&&l(n.boundingSphere))return re.clone(n.boundingSphere,e),it.DONE}return l(t)&&!t.ready?it.PENDING:it.DONE}else{let t=Oue(this);if(t.show&&t.positions.length>0)return re.fromPoints(t.positions,e),it.DONE}return it.FAILED};bv.prototype.isDestroyed=function(){return!1};bv.prototype.destroy=function(){let t=this._geometryUpdater._scene.id,n=I2[t];l(n)&&(n.remove(this._line),n.length===0&&(this._primitives.removeAndDestroy(n),delete I2[t])),l(this._groundPolylinePrimitive)&&this._groundPrimitives.remove(this._groundPolylinePrimitive),fe(this)};var O2=ed;var hKe=new U,mKe=new At,pKe=new At;function td(e,t,n,i,o){let r;n instanceof Pt?r=Hr:r=Ks,this.orderedGroundPrimitives=e,this.classificationType=t,this.appearanceType=r,this.materialProperty=n,this.updaters=new gt,this.createPrimitive=!0,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new gt,this.material=void 0,this.updatersWithAttributes=new gt,this.attributes=new gt,this.invalidated=!1,this.removeMaterialSubscription=n.definitionChanged.addEventListener(td.prototype.onMaterialChanged,this),this.subscriptions=new gt,this.showsUpdated=new gt,this.zIndex=i,this._asynchronous=o}td.prototype.onMaterialChanged=function(){this.invalidated=!0};td.prototype.isMaterial=function(e){let t=this.materialProperty,n=e.fillMaterialProperty;return n===t||n instanceof Pt&&t instanceof Pt?!0:l(t)&&t.equals(n)};td.prototype.add=function(e,t,n){let i=t.id;if(this.updaters.set(i,t),this.geometry.set(i,n),!t.hasConstantFill||!t.fillMaterialProperty.isConstant||!j.isConstant(t.distanceDisplayConditionProperty))this.updatersWithAttributes.set(i,t);else{let o=this;this.subscriptions.set(i,t.entity.definitionChanged.addEventListener(function(r,s,a,c){s==="isShowing"&&o.showsUpdated.set(t.id,t)}))}this.createPrimitive=!0};td.prototype.remove=function(e){let t=e.id;if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.updatersWithAttributes.remove(t);let n=this.subscriptions.get(t);return l(n)&&(n(),this.subscriptions.remove(t)),!0}return!1};td.prototype.update=function(e){let t=!0,n=this.primitive,i=this.orderedGroundPrimitives,o=this.geometry.values,r;if(this.createPrimitive){if(o.length>0)l(n)&&(l(this.oldPrimitive)?i.remove(n):this.oldPrimitive=n),n=new ih({show:!1,asynchronous:this._asynchronous,geometryInstances:o.slice(),appearance:new this.appearanceType,classificationType:this.classificationType}),this.appearanceType===Ks&&(this.material=Zo.getValue(e,this.materialProperty,this.material),n.appearance.material=this.material),i.add(n,this.zIndex),t=!1;else{l(n)&&(i.remove(n),n=void 0);let a=this.oldPrimitive;l(a)&&(i.remove(a),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=n,this.createPrimitive=!1}else if(l(n)&&n.ready){n.show=!0,l(this.oldPrimitive)&&(i.remove(this.oldPrimitive),this.oldPrimitive=void 0),this.appearanceType===Ks&&(this.material=Zo.getValue(e,this.materialProperty,this.material),this.primitive.appearance.material=this.material);let s=this.updatersWithAttributes.values,a=s.length;for(r=0;r<a;r++){let c=s[r],u=c.entity,f=this.geometry.get(c.id),d=this.attributes.get(f.id.id);if(l(d)||(d=n.getGeometryInstanceAttributes(f.id),this.attributes.set(f.id.id,d)),!c.fillMaterialProperty.isConstant){let C=c.fillMaterialProperty.color,x=j.getValueOrDefault(C,e,U.WHITE,hKe);U.equals(d._lastColor,x)||(d._lastColor=U.clone(x,d._lastColor),d.color=It.toValue(x,d.color))}let p=u.isShowing&&(c.hasConstantFill||c.isFilled(e)),g=d.show[0]===1;p!==g&&(d.show=dn.toValue(p,d.show));let m=c.distanceDisplayConditionProperty;if(!j.isConstant(m)){let C=j.getValueOrDefault(m,e,pKe,mKe);At.equals(C,d._lastDistanceDisplayCondition)||(d._lastDistanceDisplayCondition=At.clone(C,d._lastDistanceDisplayCondition),d.distanceDisplayCondition=Bn.toValue(C,d.distanceDisplayCondition))}}this.updateShows(n)}else l(n)&&!n.ready&&(t=!1);return t};td.prototype.updateShows=function(e){let t=this.showsUpdated.values,n=t.length;for(let i=0;i<n;i++){let o=t[i],r=o.entity,s=this.geometry.get(o.id),a=this.attributes.get(s.id.id);l(a)||(a=e.getGeometryInstanceAttributes(s.id),this.attributes.set(s.id.id,a));let c=r.isShowing,u=a.show[0]===1;c!==u&&(a.show=dn.toValue(c,a.show),s.attributes.show.value[0]=a.show[0])}this.showsUpdated.removeAll()};td.prototype.contains=function(e){return this.updaters.contains(e.id)};td.prototype.getBoundingSphere=function(e,t){let n=this.primitive;if(!n.ready)return it.PENDING;let i=n.getGeometryInstanceAttributes(e.entity);return!l(i)||!l(i.boundingSphere)||l(i.show)&&i.show[0]===0?it.FAILED:(i.boundingSphere.clone(t),it.DONE)};td.prototype.destroy=function(){let e=this.primitive,t=this.orderedGroundPrimitives;l(e)&&t.remove(e);let n=this.oldPrimitive;l(n)&&t.remove(n),this.removeMaterialSubscription()};function iE(e,t,n){this._items=[],this._orderedGroundPrimitives=e,this._classificationType=t,this._asynchronous=y(n,!0)}iE.prototype.add=function(e,t){let n=this._items,i=n.length,o=t.createFillGeometryInstance(e),r=j.getValueOrDefault(t.zIndex,0);for(let a=0;a<i;++a){let c=n[a];if(c.isMaterial(t)&&c.zIndex===r){c.add(e,t,o);return}}let s=new td(this._orderedGroundPrimitives,this._classificationType,t.fillMaterialProperty,r,this._asynchronous);s.add(e,t,o),n.push(s)};iE.prototype.remove=function(e){let t=this._items,n=t.length;for(let i=n-1;i>=0;i--){let o=t[i];if(o.remove(e)){o.updaters.length===0&&(t.splice(i,1),o.destroy());break}}};iE.prototype.update=function(e){let t,n=this._items,i=n.length;for(t=i-1;t>=0;t--){let r=n[t];if(r.invalidated){n.splice(t,1);let s=r.updaters.values,a=s.length;for(let c=0;c<a;c++)this.add(e,s[c]);r.destroy()}}let o=!0;for(t=0;t<n.length;t++)o=n[t].update(e)&&o;return o};iE.prototype.getBoundingSphere=function(e,t){let n=this._items,i=n.length;for(let o=0;o<i;o++){let r=n[o];if(r.contains(e))return r.getBoundingSphere(e,t)}return it.FAILED};iE.prototype.removeAllPrimitives=function(){let e=this._items,t=e.length;for(let n=0;n<t;n++)e[n].destroy();this._items.length=0};var R2=iE;var _Ke=[];function Rue(e,t){let n=e._batches,i=n.length;for(let o=0;o<i;o++)n[o].remove(t)}function Mue(e,t,n){if(n.isDynamic){e._dynamicBatch.add(t,n);return}if(n.clampToGround&&n.fillEnabled){let s=n.classificationTypeProperty.getValue(t);e._groundBatches[s].add(t,n);return}let i;n.fillEnabled&&(i=n.shadowsProperty.getValue(t));let o=0;l(n.depthFailMaterialProperty)&&(o=n.depthFailMaterialProperty instanceof Pt?1:2);let r;l(i)&&(r=i+o*mn.NUMBER_OF_SHADOW_MODES),n.fillEnabled&&(n.fillMaterialProperty instanceof Pt?e._colorBatches[r].add(t,n):e._materialBatches[r].add(t,n))}function Rh(e,t,n,i){i=y(i,e.groundPrimitives),n=y(n,e.primitives),this._scene=e,this._primitives=n,this._entityCollection=void 0,this._addedObjects=new gt,this._removedObjects=new gt,this._changedObjects=new gt;let o,r=mn.NUMBER_OF_SHADOW_MODES;for(this._colorBatches=new Array(r*3),this._materialBatches=new Array(r*3),o=0;o<r;++o)this._colorBatches[o]=new Zf(n,Hr,void 0,!1,o),this._materialBatches[o]=new Jf(n,Ks,void 0,!1,o),this._colorBatches[o+r]=new Zf(n,Hr,Hr,!1,o),this._materialBatches[o+r]=new Jf(n,Ks,Hr,!1,o),this._colorBatches[o+r*2]=new Zf(n,Hr,Ks,!1,o),this._materialBatches[o+r*2]=new Jf(n,Ks,Ks,!1,o);this._dynamicBatch=new GT(n,i);let s=Ln.NUMBER_OF_CLASSIFICATION_TYPES;for(this._groundBatches=new Array(s),o=0;o<s;++o)this._groundBatches[o]=new R2(i,o);this._batches=this._colorBatches.concat(this._materialBatches,this._dynamicBatch,this._groundBatches),this._subscriptions=new gt,this._updaters=new gt,this._entityCollection=t,t.collectionChanged.addEventListener(Rh.prototype._onCollectionChanged,this),this._onCollectionChanged(t,t.values,_Ke)}Rh.prototype.update=function(e){let t=this._addedObjects,n=t.values,i=this._removedObjects,o=i.values,r=this._changedObjects,s=r.values,a,c,u,f;for(a=s.length-1;a>-1;a--)c=s[a],u=c.id,f=this._updaters.get(u),f.entity===c?(Rue(this,f),Mue(this,e,f)):(o.push(c),n.push(c));for(a=o.length-1;a>-1;a--)c=o[a],u=c.id,f=this._updaters.get(u),Rue(this,f),f.destroy(),this._updaters.remove(u),this._subscriptions.get(u)(),this._subscriptions.remove(u);for(a=n.length-1;a>-1;a--)c=n[a],u=c.id,f=new O2(c,this._scene),this._updaters.set(u,f),Mue(this,e,f),this._subscriptions.set(u,f.geometryChanged.addEventListener(Rh._onGeometryChanged,this));t.removeAll(),i.removeAll(),r.removeAll();let d=!0,p=this._batches,g=p.length;for(a=0;a<g;a++)d=p[a].update(e)&&d;return d};var gKe=[],yKe=new re;Rh.prototype.getBoundingSphere=function(e,t){let n=gKe,i=yKe,o=0,r=it.DONE,s=this._batches,a=s.length,c=this._updaters.get(e.id);for(let u=0;u<a;u++){if(r=s[u].getBoundingSphere(c,i),r===it.PENDING)return it.PENDING;r===it.DONE&&(n[o]=re.clone(i,n[o]),o++)}return o===0?it.FAILED:(n.length=o,re.fromBoundingSpheres(n,t),it.DONE)};Rh.prototype.isDestroyed=function(){return!1};Rh.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(Rh.prototype._onCollectionChanged,this),this._addedObjects.removeAll(),this._removedObjects.removeAll();let e,t=this._batches,n=t.length;for(e=0;e<n;e++)t[e].removeAllPrimitives();let i=this._subscriptions.values;for(n=i.length,e=0;e<n;e++)i[e]();return this._subscriptions.removeAll(),fe(this)};Rh._onGeometryChanged=function(e){let t=this._removedObjects,n=this._changedObjects,i=e.entity,o=i.id;!l(t.get(o))&&!l(n.get(o))&&n.set(o,i)};Rh.prototype._onCollectionChanged=function(e,t,n){let i=this._addedObjects,o=this._removedObjects,r=this._changedObjects,s,a,c;for(s=n.length-1;s>-1;s--)c=n[s],a=c.id,i.remove(a)||(o.set(a,c),r.remove(a));for(s=t.length-1;s>-1;s--)c=t[s],a=c.id,o.remove(a)?r.set(a,c):i.set(a,c)};var M2=Rh;function Wu(e){Gc.initializeTerrainHeights(),ih.initializeTerrainHeights();let t=e.scene,n=e.dataSourceCollection;this._eventHelper=new Pr,this._eventHelper.add(n.dataSourceAdded,this._onDataSourceAdded,this),this._eventHelper.add(n.dataSourceRemoved,this._onDataSourceRemoved,this),this._eventHelper.add(n.dataSourceMoved,this._onDataSourceMoved,this),this._eventHelper.add(t.postRender,this._postRender,this),this._dataSourceCollection=n,this._scene=t,this._visualizersCallback=y(e.visualizersCallback,Wu.defaultVisualizersCallback);let i=!1,o=new Nl,r=new Nl;n.length>0&&(t.primitives.add(o),t.groundPrimitives.add(r),i=!0),this._primitives=o,this._groundPrimitives=r;for(let u=0,f=n.length;u<f;u++)this._onDataSourceAdded(n,n.get(u));let s=new i2;this._onDataSourceAdded(void 0,s),this._defaultDataSource=s;let a,c;if(!i){let u=this,f=function(){t.primitives.add(o),t.groundPrimitives.add(r),a(),c(),u._removeDefaultDataSourceListener=void 0,u._removeDataSourceCollectionListener=void 0};a=s.entities.collectionChanged.addEventListener(f),c=n.dataSourceAdded.addEventListener(f)}this._removeDefaultDataSourceListener=a,this._removeDataSourceCollectionListener=c,this._ready=!1}Wu.defaultVisualizersCallback=function(e,t,n){let i=n.entities;return[new QI(t,i),new S2(e,i,n._primitives,n._groundPrimitives),new w2(t,i),new v2(e,i),new ZF(e,i),new P2(t,i),new D2(e,i),new M2(e,i,n._primitives,n._groundPrimitives)]};Object.defineProperties(Wu.prototype,{scene:{get:function(){return this._scene}},dataSources:{get:function(){return this._dataSourceCollection}},defaultDataSource:{get:function(){return this._defaultDataSource}},ready:{get:function(){return this._ready}}});Wu.prototype.isDestroyed=function(){return!1};Wu.prototype.destroy=function(){this._eventHelper.removeAll();let e=this._dataSourceCollection;for(let t=0,n=e.length;t<n;++t)this._onDataSourceRemoved(this._dataSourceCollection,e.get(t));return this._onDataSourceRemoved(void 0,this._defaultDataSource),l(this._removeDefaultDataSourceListener)?(this._removeDefaultDataSourceListener(),this._removeDataSourceCollectionListener()):(this._scene.primitives.remove(this._primitives),this._scene.groundPrimitives.remove(this._groundPrimitives)),fe(this)};Wu.prototype.update=function(e){if(!si.initialized)return this._ready=!1,!1;let t=!0,n,i,o,r,s=this._dataSourceCollection,a=s.length;for(n=0;n<a;n++){let c=s.get(n);for(l(c.update)&&(t=c.update(e)&&t),o=c._visualizers,r=o.length,i=0;i<r;i++)t=o[i].update(e)&&t}for(o=this._defaultDataSource._visualizers,r=o.length,i=0;i<r;i++)t=o[i].update(e)&&t;return this._ready=t,t};Wu.prototype._postRender=function(){let e=this._scene.frameState,t=this._dataSourceCollection,n=t.length;for(let i=0;i<n;i++){let o=t.get(i),r=o.credit;l(r)&&e.creditDisplay.addCredit(r);let s=o._resourceCredits;if(l(s)){let a=s.length;for(let c=0;c<a;c++)e.creditDisplay.addCredit(s[c])}}};var CKe=[],xKe=new re;Wu.prototype.getBoundingSphere=function(e,t,n){if(!this._ready)return it.PENDING;let i,o,r=this._defaultDataSource;if(!r.entities.contains(e)){r=void 0;let p=this._dataSourceCollection;for(o=p.length,i=0;i<o;i++){let g=p.get(i);if(g.entities.contains(e)){r=g;break}}}if(!l(r))return it.FAILED;let s=CKe,a=xKe,c=0,u=it.DONE,f=r._visualizers,d=f.length;for(i=0;i<d;i++){let p=f[i];if(l(p.getBoundingSphere)){if(u=f[i].getBoundingSphere(e,a),!t&&u===it.PENDING)return it.PENDING;u===it.DONE&&(s[c]=re.clone(a,s[c]),c++)}}return c===0?it.FAILED:(s.length=c,re.fromBoundingSpheres(s,n),it.DONE)};Wu.prototype._onDataSourceAdded=function(e,t){let n=this._scene,i=this._primitives,o=this._groundPrimitives,r=i.add(new Nl),s=o.add(new p2);t._primitives=r,t._groundPrimitives=s;let a=t.clustering;a._initialize(n),r.add(a),t._visualizers=this._visualizersCallback(n,a,t)};Wu.prototype._onDataSourceRemoved=function(e,t){let n=this._primitives,i=this._groundPrimitives,o=t._primitives,r=t._groundPrimitives,s=t.clustering;o.remove(s);let a=t._visualizers,c=a.length;for(let u=0;u<c;u++)a[u].destroy();n.remove(o),i.remove(r),t._visualizers=void 0};Wu.prototype._onDataSourceMoved=function(e,t,n){let i=this._primitives,o=this._groundPrimitives,r=e._primitives,s=e._groundPrimitives;t===n+1?(i.raise(r),o.raise(s)):t===n-1?(i.lower(r),o.lower(s)):t===0?(i.lowerToBottom(r),o.lowerToBottom(s),i.raise(r),o.raise(s)):(i.raiseToTop(r),o.raiseToTop(s))};var B2=Wu;var Bue=new J,Lue=new J,Nue=new J,AKe=new N,L2=new h,Fue=new h,EW=new h,bW=new h,Vue=new h,kue=new h,oE=new Q,TKe=1.25;function EKe(e,t,n,i,o,r,s){let a=e.scene.mode,c=o.getValue(r,e._lastCartesian);if(l(c)){let u=!1,f=!1,d,p,g;if(a===ee.SCENE3D){Q.addSeconds(r,.001,oE);let b=o.getValue(oE,L2);if(l(b)||(Q.addSeconds(r,-.001,oE),b=o.getValue(oE,L2),f=!0),l(b)){let E=Dt.computeFixedToIcrfMatrix(r,Bue),S=Dt.computeFixedToIcrfMatrix(oE,Lue),v;!l(E)||!l(S)?(v=Dt.computeTemeToPseudoFixedMatrix(r,Nue),E=J.transpose(v,Bue),S=Dt.computeTemeToPseudoFixedMatrix(oE,Lue),J.transpose(S,S)):v=J.transpose(E,Nue);let P=J.multiplyByVector(E,c,Vue),O=J.multiplyByVector(S,b,kue);h.subtract(P,O,bW);let M=h.magnitude(bW)*1e3,B=I.GRAVITATIONALPARAMETER,L=-B/(M*M-2*B/h.magnitude(P));L<0||L>TKe*s.maximumRadius?(d=Fue,h.normalize(c,d),h.negate(d,d),g=h.clone(h.UNIT_Z,EW),p=h.cross(g,d,L2),h.magnitude(p)>I.EPSILON7&&(h.normalize(d,d),h.normalize(p,p),g=h.cross(d,p,EW),h.normalize(g,g),u=!0)):h.equalsEpsilon(c,b,I.EPSILON7)||(g=Fue,h.normalize(P,g),h.normalize(O,O),p=h.cross(g,O,EW),f&&(p=h.multiplyByScalar(p,-1,p)),h.equalsEpsilon(p,h.ZERO,I.EPSILON7)||(d=h.cross(p,g,L2),J.multiplyByVector(v,d,d),J.multiplyByVector(v,p,p),J.multiplyByVector(v,g,g),h.normalize(d,d),h.normalize(p,p),h.normalize(g,g),u=!0))}}l(e.boundingSphere)&&(c=e.boundingSphere.center);let m,C,x;i&&(m=h.clone(t.position,bW),C=h.clone(t.direction,Vue),x=h.clone(t.up,kue));let A=AKe;u?(A[0]=d.x,A[1]=d.y,A[2]=d.z,A[3]=0,A[4]=p.x,A[5]=p.y,A[6]=p.z,A[7]=0,A[8]=g.x,A[9]=g.y,A[10]=g.z,A[11]=0,A[12]=c.x,A[13]=c.y,A[14]=c.z,A[15]=0):Dt.eastNorthUpToFixedFrame(c,s,A),t._setTransform(A),i&&(h.clone(m,t.position),h.clone(C,t.direction),h.clone(x,t.up),h.cross(C,x,t.right))}if(n){let u=a===ee.SCENE2D||h.equals(e._offset3D,h.ZERO)?void 0:e._offset3D;t.lookAtTransform(t.transform,u)}}function Sv(e,t,n){this.entity=e,this.scene=t,this.ellipsoid=y(n,oe.WGS84),this.boundingSphere=void 0,this._lastEntity=void 0,this._mode=void 0,this._lastCartesian=new h,this._defaultOffset3D=void 0,this._offset3D=new h}Object.defineProperties(Sv,{defaultOffset3D:{get:function(){return this._defaultOffset3D},set:function(e){this._defaultOffset3D=h.clone(e,new h)}}});Sv.defaultOffset3D=new h(-14e3,3500,3500);var N2=new du,bKe=new h;Sv.prototype.update=function(e,t){let n=this.scene,i=this.ellipsoid,o=n.mode;if(o===ee.MORPHING)return;let r=this.entity,s=r.position;if(!l(s))return;let a=r!==this._lastEntity,c=o!==this._mode,u=n.camera,f=a||c,d=!0;if(a){let p=r.viewFrom,g=l(p);if(!g&&l(t)){N2.pitch=-I.PI_OVER_FOUR,N2.range=0;let m=s.getValue(e,bKe);if(l(m)){let C=2-1/Math.max(1,h.magnitude(m)/i.maximumRadius);N2.pitch*=C}u.viewBoundingSphere(t,N2),this.boundingSphere=t,f=!1,d=!1}else(!g||!l(p.getValue(e,this._offset3D)))&&h.clone(Sv._defaultOffset3D,this._offset3D)}else!c&&this._mode!==ee.SCENE2D&&h.clone(u.position,this._offset3D);this._lastEntity=r,this._mode=o,EKe(this,u,f,d,s,e,i)};var F2=Sv;var Hue=Ri(zue(),1);function k2(e){return h.fromDegrees(e[0],e[1],e[2])}var SW={"urn:ogc:def:crs:OGC:1.3:CRS84":k2,"EPSG:4326":k2,"urn:ogc:def:crs:EPSG::4326":k2},Gue={},Wue={},wW=48,vW,DW=U.ROYALBLUE,PW=U.YELLOW,IW=2,OW=U.fromBytes(255,255,0,100),RW=!1,SKe={small:24,medium:48,large:64},wKe=["title","description","marker-size","marker-symbol","marker-color","stroke","stroke-opacity","stroke-width","fill","fill-opacity"];function jue(e,t){let n="";for(let i in e)if(e.hasOwnProperty(i)){if(i===t||wKe.indexOf(i)!==-1)continue;let o=e[i];l(o)&&(typeof o=="object"?n+=`<tr><th>${i}</th><td>${jue(o)}</td></tr>`:n+=`<tr><th>${i}</th><td>${o}</td></tr>`)}return n.length>0&&(n=`<table class="cesium-infoBox-defaultTable"><tbody>${n}</tbody></table>`),n}function vKe(e,t,n){let i;return function(o,r){return l(i)||(i=e(t,n)),i}}function DKe(e,t){return new ch(vKe(jue,e,t),!0)}function U2(e,t,n){let i=e.id;if(!l(i)||e.type!=="Feature")i=Hn();else{let s=2,a=i;for(;l(t.getById(a));)a=`${i}_${s}`,s++;i=a}let o=t.getOrCreateEntity(i),r=e.properties;if(l(r)){o.properties=r;let s,a=r.title;if(l(a))o.name=a,s="title";else{let u=Number.MAX_VALUE;for(let f in r)if(r.hasOwnProperty(f)&&r[f]){let d=f.toLowerCase();if(u>1&&d==="title"){u=1,s=f;break}else u>2&&d==="name"?(u=2,s=f):u>3&&/title/i.test(f)?(u=3,s=f):u>4&&/name/i.test(f)&&(u=4,s=f)}l(s)&&(o.name=r[s])}let c=r.description;c!==null&&(o.description=l(c)?new Zn(c):n(r,s))}return o}function MW(e,t){let n=new Array(e.length);for(let i=0;i<e.length;i++)n[i]=t(e[i]);return n}var que={Feature:Xue,FeatureCollection:PKe,GeometryCollection:Kue,LineString:efe,MultiLineString:tfe,MultiPoint:Jue,MultiPolygon:ofe,Point:$ue,Polygon:ife,Topology:rfe},Yue={GeometryCollection:Kue,LineString:efe,MultiLineString:tfe,MultiPoint:Jue,MultiPolygon:ofe,Point:$ue,Polygon:ife,Topology:rfe};function Xue(e,t,n,i,o){if(t.geometry===null){U2(t,e._entityCollection,o.describe);return}if(!l(t.geometry))throw new de("feature.geometry is required.");let r=t.geometry.type,s=Yue[r];if(!l(s))throw new de(`Unknown geometry type: ${r}`);s(e,t,t.geometry,i,o)}function PKe(e,t,n,i,o){let r=t.features;for(let s=0,a=r.length;s<a;s++)Xue(e,r[s],void 0,i,o)}function Kue(e,t,n,i,o){let r=n.geometries;for(let s=0,a=r.length;s<a;s++){let c=r[s],u=c.type,f=Yue[u];if(!l(f))throw new de(`Unknown geometry type: ${u}`);f(e,t,c,i,o)}}function Zue(e,t,n,i,o){let r=o.markerSymbol,s=o.markerColor,a=o.markerSize,c=t.properties;if(l(c)){let g=c["marker-color"];l(g)&&(s=U.fromCssColorString(g)),a=y(SKe[c["marker-size"]],a);let m=c["marker-symbol"];l(m)&&(r=m)}let u;l(r)?r.length===1?u=e._pinBuilder.fromText(r.toUpperCase(),s,a):u=e._pinBuilder.fromMakiIconId(r,s,a):u=e._pinBuilder.fromColor(s,a);let f=new rc;f.verticalOrigin=new Zn(bn.BOTTOM),i.length===2&&o.clampToGround&&(f.heightReference=ze.CLAMP_TO_GROUND);let d=U2(t,e._entityCollection,o.describe);d.billboard=f,d.position=new Wc(n(i));let p=Promise.resolve(u).then(function(g){f.image=new Zn(g)}).catch(function(){f.image=new Zn(e._pinBuilder.fromColor(s,a))});e._promises.push(p)}function $ue(e,t,n,i,o){Zue(e,t,i,n.coordinates,o)}function Jue(e,t,n,i,o){let r=n.coordinates;for(let s=0;s<r.length;s++)Zue(e,t,i,r[s],o)}function Que(e,t,n,i,o){let r=o.strokeMaterialProperty,s=o.strokeWidthProperty,a=t.properties;if(l(a)){let f=a["stroke-width"];l(f)&&(s=new Zn(f));let d,p=a.stroke;l(p)&&(d=U.fromCssColorString(p));let g=a["stroke-opacity"];l(g)&&g!==1&&(l(d)||(d=r.color.getValue().clone()),d.alpha=g),l(d)&&(r=new Pt(d))}let c=U2(t,e._entityCollection,o.describe),u=new cc;c.polyline=u,u.clampToGround=o.clampToGround,u.material=r,u.width=s,u.positions=new Zn(MW(i,n)),u.arcType=qt.RHUMB}function efe(e,t,n,i,o){Que(e,t,i,n.coordinates,o)}function tfe(e,t,n,i,o){let r=n.coordinates;for(let s=0;s<r.length;s++)Que(e,t,i,r[s],o)}function nfe(e,t,n,i,o){if(i.length===0||i[0].length===0)return;let r=o.strokeMaterialProperty.color,s=o.fillMaterialProperty,a=o.strokeWidthProperty,c=t.properties;if(l(c)){let g=c["stroke-width"];l(g)&&(a=new Zn(g));let m,C=c.stroke;l(C)&&(m=U.fromCssColorString(C));let x=c["stroke-opacity"];l(x)&&x!==1&&(l(m)||(m=r.getValue().clone()),m.alpha=x),l(m)&&(r=new Zn(m));let A,b=c.fill,E=s.color.getValue();l(b)&&(A=U.fromCssColorString(b),A.alpha=E.alpha),x=c["fill-opacity"],l(x)&&x!==E.alpha&&(l(A)||(A=E.clone()),A.alpha=x),l(A)&&(s=new Pt(A))}let u=new rh;u.outline=new Zn(!0),u.outlineColor=r,u.outlineWidth=a,u.material=s,u.arcType=qt.RHUMB;let f=[];for(let g=1,m=i.length;g<m;g++)f.push(new zc(MW(i[g],n)));let d=i[0];u.hierarchy=new Zn(new zc(MW(d,n),f)),d[0].length>2?u.perPositionHeight=new Zn(!0):o.clampToGround||(u.height=0);let p=U2(t,e._entityCollection,o.describe);p.polygon=u}function ife(e,t,n,i,o){nfe(e,t,i,n.coordinates,o)}function ofe(e,t,n,i,o){let r=n.coordinates;for(let s=0;s<r.length;s++)nfe(e,t,i,r[s],o)}function rfe(e,t,n,i,o){for(let r in n.objects)if(n.objects.hasOwnProperty(r)){let s=Hue.feature(n,n.objects[r]),a=que[s.type];a(e,s,s,i,o)}}function Og(e){this._name=e,this._changed=new ge,this._error=new ge,this._isLoading=!1,this._loading=new ge,this._entityCollection=new Ps(this),this._promises=[],this._pinBuilder=new c_,this._entityCluster=new Vu,this._credit=void 0,this._resourceCredits=[]}Og.load=function(e,t){return new Og().load(e,t)};Object.defineProperties(Og,{markerSize:{get:function(){return wW},set:function(e){wW=e}},markerSymbol:{get:function(){return vW},set:function(e){vW=e}},markerColor:{get:function(){return DW},set:function(e){DW=e}},stroke:{get:function(){return PW},set:function(e){PW=e}},strokeWidth:{get:function(){return IW},set:function(e){IW=e}},fill:{get:function(){return OW},set:function(e){OW=e}},clampToGround:{get:function(){return RW},set:function(e){RW=e}},crsNames:{get:function(){return SW}},crsLinkHrefs:{get:function(){return Gue}},crsLinkTypes:{get:function(){return Wue}}});Object.defineProperties(Og.prototype,{name:{get:function(){return this._name},set:function(e){this._name!==e&&(this._name=e,this._changed.raiseEvent(this))}},clock:{value:void 0,writable:!1},entities:{get:function(){return this._entityCollection}},isLoading:{get:function(){return this._isLoading}},changedEvent:{get:function(){return this._changed}},errorEvent:{get:function(){return this._error}},loadingEvent:{get:function(){return this._loading}},show:{get:function(){return this._entityCollection.show},set:function(e){this._entityCollection.show=e}},clustering:{get:function(){return this._entityCluster},set:function(e){this._entityCluster=e}},credit:{get:function(){return this._credit}}});Og.prototype.load=function(e,t){return sfe(this,e,t,!0)};Og.prototype.process=function(e,t){return sfe(this,e,t,!1)};function sfe(e,t,n,i){Lr.setLoading(e,!0),n=y(n,y.EMPTY_OBJECT);let o=n.credit;typeof o=="string"&&(o=new jt(o)),e._credit=o;let r=t,s=n.sourceUri;if(typeof t=="string"||t instanceof Ie){t=Ie.createIfNeeded(t),r=t.fetchJson(),s=y(s,t.getUrlComponent());let a=e._resourceCredits,c=t.credits;if(l(c)){let u=c.length;for(let f=0;f<u;f++)a.push(c[f])}}return n={describe:y(n.describe,DKe),markerSize:y(n.markerSize,wW),markerSymbol:y(n.markerSymbol,vW),markerColor:y(n.markerColor,DW),strokeWidthProperty:new Zn(y(n.strokeWidth,IW)),strokeMaterialProperty:new Pt(y(n.stroke,PW)),fillMaterialProperty:new Pt(y(n.fill,OW)),clampToGround:y(n.clampToGround,RW)},Promise.resolve(r).then(function(a){return IKe(e,a,n,s,i)}).catch(function(a){throw Lr.setLoading(e,!1),e._error.raiseEvent(e,a),a})}Og.prototype.update=function(e){return!0};function IKe(e,t,n,i,o){let r;l(i)&&(r=A_(i)),l(r)&&e._name!==r&&(e._name=r,e._changed.raiseEvent(e));let s=que[t.type];if(!l(s))throw new de(`Unsupported GeoJSON object type: ${t.type}`);let a=t.crs,c=a!==null?k2:null;if(l(a)){if(!l(a.properties))throw new de("crs.properties is undefined.");let u=a.properties;if(a.type==="name"){if(c=SW[u.name],!l(c))throw new de(`Unknown crs name: ${u.name}`)}else if(a.type==="link"){let f=Gue[u.href];if(l(f)||(f=Wue[u.type]),!l(f))throw new de(`Unable to resolve crs link: ${JSON.stringify(u)}`);c=f(u)}else if(a.type==="EPSG"){if(c=SW[`EPSG:${u.code}`],!l(c))throw new de(`Unknown crs EPSG code: ${u.code}`)}else throw new de(`Unknown crs type: ${a.type}`)}return Promise.resolve(c).then(function(u){return o&&e._entityCollection.removeAll(),u!==null&&s(e,t,t,u,n),Promise.all(e._promises).then(function(){return e._promises.length=0,Lr.setLoading(e,!1),e})})}var z2=Og;var tde=Ri(WW(),1);var nde;typeof DOMParser<"u"&&(nde=new DOMParser);var f$e=new tde.default({stripPrefix:!1,email:!1,replaceFn:function(e,t){if(!t.protocolUrlMatch)return!1}}),x3=32,Yfe=2414016,Xfe=1,Kfe=16093e3,Zfe=.1,d$e=[null,void 0,"http://www.topografix.com/GPX/1/1"],Ao={gpx:d$e};function h$e(e){return new Promise((t,n)=>{let i=new FileReader;i.addEventListener("load",function(){t(i.result)}),i.addEventListener("error",function(){n(i.error)}),i.readAsText(e)})}function jW(e,t){let n=Iv(e,"id");return n=l(n)?n:Hn(),t.getOrCreateEntity(n)}function qW(e){let t=$fe(e,"lon"),n=$fe(e,"lat"),i=Dv(e,"ele",Ao.gpx);return h.fromDegrees(t,n,i)}function $fe(e,t){if(!l(e))return;let n=e.getAttribute(t);if(n!==null){let i=parseFloat(n);return isNaN(i)?void 0:i}}function Iv(e,t){if(!l(e))return;let n=e.getAttribute(t);return n!==null?n:void 0}function Fg(e,t,n){if(!l(e))return;let i=e.childNodes,o=i.length;for(let r=0;r<o;r++){let s=i[r];if(s.localName===t&&n.indexOf(s.namespaceURI)!==-1)return s}}function YW(e,t,n){if(!l(e))return;let i=[],o=e.getElementsByTagName(t),r=o.length;for(let s=0;s<r;s++){let a=o[s];a.localName===t&&n.indexOf(a.namespaceURI)!==-1&&i.push(a)}return i}function Dv(e,t,n){let i=Fg(e,t,n);if(l(i)){let o=parseFloat(i.textContent);return isNaN(o)?void 0:o}}function Qc(e,t,n){let i=Fg(e,t,n);if(l(i))return i.textContent.trim()}function ide(e){let t=new rc;return t.width=x3,t.height=x3,t.scaleByDistance=new St(Yfe,Xfe,Kfe,Zfe),t.pixelOffsetScaleByDistance=new St(Yfe,Xfe,Kfe,Zfe),t.verticalOrigin=new Zn(bn.BOTTOM),t.image=e,t}function m$e(){let e=new oh;return e.translucencyByDistance=new St(3e6,1,5e6,0),e.pixelOffset=new G(17,0),e.horizontalOrigin=ui.LEFT,e.font="16px sans-serif",e.style=Fo.FILL_AND_OUTLINE,e}function ode(e){let t=new cc;return t.width=4,t.material=new $y,t.material.color=l(e)?e:U.RED,t.material.outlineWidth=2,t.material.outlineColor=U.BLACK,t}var Jfe={time:{text:"Time",tag:"time"},comment:{text:"Comment",tag:"cmt"},description:{text:"Description",tag:"desc"},source:{text:"Source",tag:"src"},number:{text:"GPS track/route number",tag:"number"},type:{text:"Type",tag:"type"}},Pv;typeof document<"u"&&(Pv=document.createElement("div"));function XW(e,t){let n,i="",o=Object.keys(Jfe),r=o.length;for(n=0;n<r;n++){let f=o[n],d=Jfe[f];d.value=y(Qc(e,d.tag,Ao.gpx),""),l(d.value)&&d.value!==""&&(i=`${i}<p>${d.text}: ${d.value}</p>`)}if(!l(i)||i==="")return;i=f$e.link(i),Pv.innerHTML=i;let s=Pv.querySelectorAll("a");for(n=0;n<s.length;n++)s[n].setAttribute("target","_blank");let a=U.WHITE,c=U.BLACK,u='<div class="cesium-infoBox-description-lighter" style="';return u+="overflow:auto;",u+="word-wrap:break-word;",u+=`background-color:${a.toCssColorString()};`,u+=`color:${c.toCssColorString()};`,u+='">',u+=`${Pv.innerHTML}</div>`,Pv.innerHTML="",u}function rde(e,t,n,i){let o=qW(t),r=jW(t,n);r.position=o;let s=l(i.waypointImage)?i.waypointImage:e._pinBuilder.fromMakiIconId("marker",U.RED,x3);r.billboard=ide(s);let a=Qc(t,"name",Ao.gpx);r.name=a,r.label=m$e(),r.label.text=a,r.description=XW(t,r),i.clampToGround&&(r.billboard.heightReference=ze.CLAMP_TO_GROUND,r.label.heightReference=ze.CLAMP_TO_GROUND)}function p$e(e,t,n,i){let o=jW(t,n);o.description=XW(t,o);let r=YW(t,"rtept",Ao.gpx),s=new Array(r.length);for(let a=0;a<r.length;a++)rde(e,r[a],n,i),s[a]=qW(r[a]);o.polyline=ode(i.routeColor),i.clampToGround&&(o.polyline.clampToGround=!0),o.polyline.positions=s}function _$e(e,t,n,i){let o=jW(t,n);o.description=XW(t,o);let r=YW(t,"trkseg",Ao.gpx),s=[],a=[],c,u=!0,f=new ea;for(let d=0;d<r.length;d++)c=g$e(r[d]),s=s.concat(c.positions),c.times.length>0?(a=a.concat(c.times),f.addSamples(a,s),u=u&&!0):u=!1;if(u){let d=l(i.waypointImage)?i.waypointImage:e._pinBuilder.fromMakiIconId("marker",U.RED,x3);o.billboard=ide(d),o.position=f,i.clampToGround&&(o.billboard.heightReference=ze.CLAMP_TO_GROUND),o.availability=new Rr,o.availability.addInterval(new gn({start:a[0],stop:a[a.length-1]}))}o.polyline=ode(i.trackColor),o.polyline.positions=s,i.clampToGround&&(o.polyline.clampToGround=!0)}function g$e(e){let t={positions:[],times:[]},n=YW(e,"trkpt",Ao.gpx),i;for(let o=0;o<n.length;o++){let r=qW(n[o]);t.positions.push(r),i=Qc(n[o],"time",Ao.gpx),l(i)&&t.times.push(Q.fromIso8601(i))}return t}function y$e(e){let t=Fg(e,"metadata",Ao.gpx);if(l(t)){let n={name:Qc(t,"name",Ao.gpx),desc:Qc(t,"desc",Ao.gpx),author:C$e(t),copyright:A$e(t),link:sde(t),time:Qc(t,"time",Ao.gpx),keywords:Qc(t,"keywords",Ao.gpx),bounds:T$e(t)};if(l(n.name)||l(n.desc)||l(n.author)||l(n.copyright)||l(n.link)||l(n.time)||l(n.keywords)||l(n.bounds))return n}}function C$e(e){let t=Fg(e,"author",Ao.gpx);if(l(t)){let n={name:Qc(t,"name",Ao.gpx),email:x$e(t),link:sde(t)};if(l(n.name)||l(n.email)||l(n.link))return n}}function x$e(e){let t=Fg(e,"email",Ao.gpx);if(l(t)){let n=Qc(t,"id",Ao.gpx),i=Qc(t,"domain",Ao.gpx);return`${n}@${i}`}}function sde(e){let t=Fg(e,"link",Ao.gpx);if(l(t)){let n={href:Iv(t,"href"),text:Qc(t,"text",Ao.gpx),mimeType:Qc(t,"type",Ao.gpx)};if(l(n.href)||l(n.text)||l(n.mimeType))return n}}function A$e(e){let t=Fg(e,"copyright",Ao.gpx);if(l(t)){let n={author:Iv(t,"author"),year:Qc(t,"year",Ao.gpx),license:Qc(t,"license",Ao.gpx)};if(l(n.author)||l(n.year)||l(n.license))return n}}function T$e(e){let t=Fg(e,"bounds",Ao.gpx);if(l(t)){let n={minLat:Dv(t,"minlat",Ao.gpx),maxLat:Dv(t,"maxlat",Ao.gpx),minLon:Dv(t,"minlon",Ao.gpx),maxLon:Dv(t,"maxlon",Ao.gpx)};if(l(n.minLat)||l(n.maxLat)||l(n.minLon)||l(n.maxLon))return n}}var Qfe={wpt:rde,rte:p$e,trk:_$e};function E$e(e,t,n,i){let o=Object.keys(Qfe),r=o.length;for(let s=0;s<r;s++){let a=o[s],c=Qfe[a],u=t.childNodes,f=u.length;for(let d=0;d<f;d++){let p=u[d];p.localName===a&&Ao.gpx.indexOf(p.namespaceURI)!==-1&&c(e,p,n,i)}}}function ede(e,t,n){let i=e._entityCollection;i.removeAll();let o=t.documentElement,r=Iv(o,"version"),s=Iv(o,"creator"),a,c=y$e(o);l(c)&&(a=c.name),o.localName==="gpx"?E$e(e,o,i,n):console.log(`GPX - Unsupported node: ${o.localName}`);let u,f=i.computeAvailability(),d=f.start,p=f.stop,g=Q.equals(d,Ve.MINIMUM_VALUE),m=Q.equals(p,Ve.MAXIMUM_VALUE);if(!g||!m){let x;g&&(x=new Date,x.setHours(0,0,0,0),d=Q.fromDate(x)),m&&(x=new Date,x.setHours(24,0,0,0),p=Q.fromDate(x)),u=new vh,u.startTime=d,u.stopTime=p,u.currentTime=Q.clone(d),u.clockRange=vr.LOOP_STOP,u.clockStep=fo.SYSTEM_CLOCK_MULTIPLIER,u.multiplier=Math.round(Math.min(Math.max(Q.secondsDifference(p,d)/60,1),31556900))}let C=!1;return e._name!==a&&(e._name=a,C=!0),e._creator!==s&&(e._creator=s,C=!0),b$e(e._metadata,c)&&(e._metadata=c,C=!0),e._version!==r&&(e._version=r,C=!0),u!==e._clock&&(C=!0,e._clock=u),C&&e._changed.raiseEvent(e),Lr.setLoading(e,!1),e}function b$e(e,t){return!l(e)&&!l(t)?!1:l(e)&&l(t)?e.name!==t.name||e.dec!==t.desc||e.src!==t.src||e.author!==t.author||e.copyright!==t.copyright||e.link!==t.link||e.time!==t.time||e.bounds!==t.bounds:!0}function S$e(e,t,n,i){i=y(i,y.EMPTY_OBJECT);let o=n;if(typeof n=="string"||n instanceof Ie){n=Ie.createIfNeeded(n),o=n.fetchBlob();let r=e._resourceCredits,s=n.credits;if(l(s)){let a=s.length;for(let c=0;c<a;c++)r.push(s[c])}}return Promise.resolve(o).then(function(r){return r instanceof Blob?h$e(r).then(function(s){let a,c;try{a=nde.parseFromString(s,"application/xml")}catch(u){c=u.toString()}if(l(c)||a.body||a.documentElement.tagName==="parsererror"){let u=l(c)?c:a.documentElement.firstChild.nodeValue;throw u||(u=a.body.innerText),new de(u)}return ede(e,a,i)}):ede(e,r,i)}).catch(function(r){return e._error.raiseEvent(e,r),console.log(r),Promise.reject(r)})}function uE(){this._changed=new ge,this._error=new ge,this._loading=new ge,this._clock=void 0,this._entityCollection=new Ps,this._entityCluster=new Vu,this._name=void 0,this._version=void 0,this._creator=void 0,this._metadata=void 0,this._isLoading=!1,this._pinBuilder=new c_}uE.load=function(e,t){return new uE().load(e,t)};Object.defineProperties(uE.prototype,{name:{get:function(){return this._name}},version:{get:function(){return this._version}},creator:{get:function(){return this._creator}},metadata:{get:function(){return this._metadata}},clock:{get:function(){return this._clock}},entities:{get:function(){return this._entityCollection}},isLoading:{get:function(){return this._isLoading}},changedEvent:{get:function(){return this._changed}},errorEvent:{get:function(){return this._error}},loadingEvent:{get:function(){return this._loading}},show:{get:function(){return this._entityCollection.show},set:function(e){this._entityCollection.show=e}},clustering:{get:function(){return this._entityCluster},set:function(e){this._entityCluster=e}}});uE.prototype.update=function(e){return!0};uE.prototype.load=function(e,t){if(!l(e))throw new ye("data is required.");t=y(t,y.EMPTY_OBJECT),Lr.setLoading(this,!0);let n=this._name,i=this;return S$e(this,this._entityCollection,e,t).then(function(){let o,r=i._entityCollection.computeAvailability(),s=r.start,a=r.stop,c=Q.equals(s,Ve.MINIMUM_VALUE),u=Q.equals(a,Ve.MAXIMUM_VALUE);if(!c||!u){let d;c&&(d=new Date,d.setHours(0,0,0,0),s=Q.fromDate(d)),u&&(d=new Date,d.setHours(24,0,0,0),a=Q.fromDate(d)),o=new vh,o.startTime=s,o.stopTime=a,o.currentTime=Q.clone(s),o.clockRange=vr.LOOP_STOP,o.clockStep=fo.SYSTEM_CLOCK_MULTIPLIER,o.multiplier=Math.round(Math.min(Math.max(Q.secondsDifference(a,s)/60,1),31556900))}let f=!1;return o!==i._clock&&(i._clock=o,f=!0),n!==i._name&&(f=!0),f&&i._changed.raiseEvent(i),Lr.setLoading(i,!1),i}).catch(function(o){return Lr.setLoading(i,!1),i._error.raiseEvent(i,o),console.log(o),Promise.reject(o)})};var A3=uE;function w$e(e,t){this.position=e,this.headingPitchRoll=t}var T3=w$e;var Rhe=Ri(WW(),1),kv=Ri(fl(),1);function P3(e){return I3(e.map(([t,n])=>new Array(t).fill(n,0,t)))}function I3(e){return e.reduce((t,n)=>t.concat(Array.isArray(n)?I3(n):n),[])}var ade=[0,1,2,3].concat(...P3([[2,4],[2,5],[4,6],[4,7],[8,8],[8,9],[16,10],[16,11],[32,12],[32,13],[64,14],[64,15],[2,0],[1,16],[1,17],[2,18],[2,19],[4,20],[4,21],[8,22],[8,23],[16,24],[16,25],[32,26],[32,27],[64,28],[64,29]]));function nr(){let e=this;function t(o){let r=e.dyn_tree,s=e.stat_desc.static_tree,a=e.stat_desc.extra_bits,c=e.stat_desc.extra_base,u=e.stat_desc.max_length,f,d,p,g,m,C,x=0;for(g=0;g<=15;g++)o.bl_count[g]=0;for(r[o.heap[o.heap_max]*2+1]=0,f=o.heap_max+1;f<573;f++)d=o.heap[f],g=r[r[d*2+1]*2+1]+1,g>u&&(g=u,x++),r[d*2+1]=g,!(d>e.max_code)&&(o.bl_count[g]++,m=0,d>=c&&(m=a[d-c]),C=r[d*2],o.opt_len+=C*(g+m),s&&(o.static_len+=C*(s[d*2+1]+m)));if(x!==0){do{for(g=u-1;o.bl_count[g]===0;)g--;o.bl_count[g]--,o.bl_count[g+1]+=2,o.bl_count[u]--,x-=2}while(x>0);for(g=u;g!==0;g--)for(d=o.bl_count[g];d!==0;)p=o.heap[--f],!(p>e.max_code)&&(r[p*2+1]!=g&&(o.opt_len+=(g-r[p*2+1])*r[p*2],r[p*2+1]=g),d--)}}function n(o,r){let s=0;do s|=o&1,o>>>=1,s<<=1;while(--r>0);return s>>>1}function i(o,r,s){let a=[],c=0,u,f,d;for(u=1;u<=15;u++)a[u]=c=c+s[u-1]<<1;for(f=0;f<=r;f++)d=o[f*2+1],d!==0&&(o[f*2]=n(a[d]++,d))}e.build_tree=function(o){let r=e.dyn_tree,s=e.stat_desc.static_tree,a=e.stat_desc.elems,c,u,f=-1,d;for(o.heap_len=0,o.heap_max=573,c=0;c<a;c++)r[c*2]!==0?(o.heap[++o.heap_len]=f=c,o.depth[c]=0):r[c*2+1]=0;for(;o.heap_len<2;)d=o.heap[++o.heap_len]=f<2?++f:0,r[d*2]=1,o.depth[d]=0,o.opt_len--,s&&(o.static_len-=s[d*2+1]);for(e.max_code=f,c=Math.floor(o.heap_len/2);c>=1;c--)o.pqdownheap(r,c);d=a;do c=o.heap[1],o.heap[1]=o.heap[o.heap_len--],o.pqdownheap(r,1),u=o.heap[1],o.heap[--o.heap_max]=c,o.heap[--o.heap_max]=u,r[d*2]=r[c*2]+r[u*2],o.depth[d]=Math.max(o.depth[c],o.depth[u])+1,r[c*2+1]=r[u*2+1]=d,o.heap[1]=d++,o.pqdownheap(r,1);while(o.heap_len>=2);o.heap[--o.heap_max]=o.heap[1],t(o),i(r,e.max_code,o.bl_count)}}nr._length_code=[0,1,2,3,4,5,6,7].concat(...P3([[2,8],[2,9],[2,10],[2,11],[4,12],[4,13],[4,14],[4,15],[8,16],[8,17],[8,18],[8,19],[16,20],[16,21],[16,22],[16,23],[32,24],[32,25],[32,26],[31,27],[1,28]]));nr.base_length=[0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0];nr.base_dist=[0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576];nr.d_code=function(e){return e<256?ade[e]:ade[256+(e>>>7)]};nr.extra_lbits=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0];nr.extra_dbits=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];nr.extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7];nr.bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];function ta(e,t,n,i,o){let r=this;r.static_tree=e,r.extra_bits=t,r.extra_base=n,r.elems=i,r.max_length=o}var v$e=[12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254,1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,9,137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245,13,141,77,205,45,173,109,237,29,157,93,221,61,189,125,253,19,275,147,403,83,339,211,467,51,307,179,435,115,371,243,499,11,267,139,395,75,331,203,459,43,299,171,427,107,363,235,491,27,283,155,411,91,347,219,475,59,315,187,443,123,379,251,507,7,263,135,391,71,327,199,455,39,295,167,423,103,359,231,487,23,279,151,407,87,343,215,471,55,311,183,439,119,375,247,503,15,271,143,399,79,335,207,463,47,303,175,431,111,367,239,495,31,287,159,415,95,351,223,479,63,319,191,447,127,383,255,511,0,64,32,96,16,80,48,112,8,72,40,104,24,88,56,120,4,68,36,100,20,84,52,116,3,131,67,195,35,163,99,227],D$e=P3([[144,8],[112,9],[24,7],[8,8]]);ta.static_ltree=I3(v$e.map((e,t)=>[e,D$e[t]]));var P$e=[0,16,8,24,4,20,12,28,2,18,10,26,6,22,14,30,1,17,9,25,5,21,13,29,3,19,11,27,7,23],I$e=P3([[30,5]]);ta.static_dtree=I3(P$e.map((e,t)=>[e,I$e[t]]));ta.static_l_desc=new ta(ta.static_ltree,nr.extra_lbits,256+1,286,15);ta.static_d_desc=new ta(ta.static_dtree,nr.extra_dbits,0,30,15);ta.static_bl_desc=new ta(null,nr.extra_blbits,0,19,7);var O$e=9,R$e=8;function Nh(e,t,n,i,o){let r=this;r.good_length=e,r.max_lazy=t,r.nice_length=n,r.max_chain=i,r.func=o}var lde=0,v3=1,tC=2,id=[new Nh(0,0,0,0,lde),new Nh(4,4,8,4,v3),new Nh(4,5,16,8,v3),new Nh(4,6,32,32,v3),new Nh(4,4,16,16,tC),new Nh(8,16,32,32,tC),new Nh(8,16,128,128,tC),new Nh(8,32,128,256,tC),new Nh(32,128,258,1024,tC),new Nh(32,258,258,4096,tC)],E3=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],ju=0,b3=1,Ov=2,S3=3,M$e=32,KW=42,w3=113,Rv=666,ZW=8,B$e=0,$W=1,L$e=2,lr=3,D3=258,kl=D3+lr+1;function cde(e,t,n,i){let o=e[t*2],r=e[n*2];return o<r||o==r&&i[t]<=i[n]}function N$e(){let e=this,t,n,i,o,r,s,a,c,u,f,d,p,g,m,C,x,A,b,E,S,v,P,O,M,B,L,_,T,w,D,R,F,z,k=new nr,H=new nr,V=new nr;e.depth=[];let Y,q,X,W,K,$;e.bl_count=[],e.heap=[],R=[],F=[],z=[];function le(){u=2*r,d[g-1]=0;for(let Me=0;Me<g-1;Me++)d[Me]=0;L=id[_].max_lazy,w=id[_].good_length,D=id[_].nice_length,B=id[_].max_chain,v=0,A=0,O=0,b=M=lr-1,S=0,p=0}function me(){let Me;for(Me=0;Me<286;Me++)R[Me*2]=0;for(Me=0;Me<30;Me++)F[Me*2]=0;for(Me=0;Me<19;Me++)z[Me*2]=0;R[256*2]=1,e.opt_len=e.static_len=0,q=X=0}function ie(){k.dyn_tree=R,k.stat_desc=ta.static_l_desc,H.dyn_tree=F,H.stat_desc=ta.static_d_desc,V.dyn_tree=z,V.stat_desc=ta.static_bl_desc,K=0,$=0,W=8,me()}e.pqdownheap=function(Me,$e){let Ke=e.heap,We=Ke[$e],Qe=$e<<1;for(;Qe<=e.heap_len&&(Qe<e.heap_len&&cde(Me,Ke[Qe+1],Ke[Qe],e.depth)&&Qe++,!cde(Me,We,Ke[Qe],e.depth));)Ke[$e]=Ke[Qe],$e=Qe,Qe<<=1;Ke[$e]=We};function ce(Me,$e){let Ke=-1,We,Qe=Me[0*2+1],wt=0,Cn=7,yo=4;Qe===0&&(Cn=138,yo=3),Me[($e+1)*2+1]=65535;for(let vo=0;vo<=$e;vo++)We=Qe,Qe=Me[(vo+1)*2+1],!(++wt<Cn&&We==Qe)&&(wt<yo?z[We*2]+=wt:We!==0?(We!=Ke&&z[We*2]++,z[16*2]++):wt<=10?z[17*2]++:z[18*2]++,wt=0,Ke=We,Qe===0?(Cn=138,yo=3):We==Qe?(Cn=6,yo=3):(Cn=7,yo=4))}function pe(){let Me;for(ce(R,k.max_code),ce(F,H.max_code),V.build_tree(e),Me=19-1;Me>=3&&z[nr.bl_order[Me]*2+1]===0;Me--);return e.opt_len+=3*(Me+1)+5+5+4,Me}function Ae(Me){e.pending_buf[e.pending++]=Me}function we(Me){Ae(Me&255),Ae(Me>>>8&255)}function Re(Me){Ae(Me>>8&255),Ae(Me&255&255)}function Ue(Me,$e){let Ke,We=$e;$>16-We?(Ke=Me,K|=Ke<<$&65535,we(K),K=Ke>>>16-$,$+=We-16):(K|=Me<<$&65535,$+=We)}function bt(Me,$e){let Ke=Me*2;Ue($e[Ke]&65535,$e[Ke+1]&65535)}function Ut(Me,$e){let Ke,We=-1,Qe,wt=Me[0*2+1],Cn=0,yo=7,vo=4;for(wt===0&&(yo=138,vo=3),Ke=0;Ke<=$e;Ke++)if(Qe=wt,wt=Me[(Ke+1)*2+1],!(++Cn<yo&&Qe==wt)){if(Cn<vo)do bt(Qe,z);while(--Cn!==0);else Qe!==0?(Qe!=We&&(bt(Qe,z),Cn--),bt(16,z),Ue(Cn-3,2)):Cn<=10?(bt(17,z),Ue(Cn-3,3)):(bt(18,z),Ue(Cn-11,7));Cn=0,We=Qe,wt===0?(yo=138,vo=3):Qe==wt?(yo=6,vo=3):(yo=7,vo=4)}}function sn(Me,$e,Ke){let We;for(Ue(Me-257,5),Ue($e-1,5),Ue(Ke-4,4),We=0;We<Ke;We++)Ue(z[nr.bl_order[We]*2+1],3);Ut(R,Me-1),Ut(F,$e-1)}function dt(){$==16?(we(K),K=0,$=0):$>=8&&(Ae(K&255),K>>>=8,$-=8)}function vn(){Ue($W<<1,3),bt(256,ta.static_ltree),dt(),1+W+10-$<9&&(Ue($W<<1,3),bt(256,ta.static_ltree),dt()),W=7}function Jn(Me,$e){let Ke,We,Qe;if(e.dist_buf[q]=Me,e.lc_buf[q]=$e&255,q++,Me===0?R[$e*2]++:(X++,Me--,R[(nr._length_code[$e]+256+1)*2]++,F[nr.d_code(Me)*2]++),(q&8191)===0&&_>2){for(Ke=q*8,We=v-A,Qe=0;Qe<30;Qe++)Ke+=F[Qe*2]*(5+nr.extra_dbits[Qe]);if(Ke>>>=3,X<Math.floor(q/2)&&Ke<Math.floor(We/2))return!0}return q==Y-1}function ot(Me,$e){let Ke,We,Qe=0,wt,Cn;if(q!==0)do Ke=e.dist_buf[Qe],We=e.lc_buf[Qe],Qe++,Ke===0?bt(We,Me):(wt=nr._length_code[We],bt(wt+256+1,Me),Cn=nr.extra_lbits[wt],Cn!==0&&(We-=nr.base_length[wt],Ue(We,Cn)),Ke--,wt=nr.d_code(Ke),bt(wt,$e),Cn=nr.extra_dbits[wt],Cn!==0&&(Ke-=nr.base_dist[wt],Ue(Ke,Cn)));while(Qe<q);bt(256,Me),W=Me[256*2+1]}function zt(){$>8?we(K):$>0&&Ae(K&255),K=0,$=0}function qn(Me,$e,Ke){zt(),W=8,Ke&&(we($e),we(~$e)),e.pending_buf.set(c.subarray(Me,Me+$e),e.pending),e.pending+=$e}function Se(Me,$e,Ke){Ue((B$e<<1)+(Ke?1:0),3),qn(Me,$e,!0)}function _t(Me,$e,Ke){let We,Qe,wt=0;_>0?(k.build_tree(e),H.build_tree(e),wt=pe(),We=e.opt_len+3+7>>>3,Qe=e.static_len+3+7>>>3,Qe<=We&&(We=Qe)):We=Qe=$e+5,$e+4<=We&&Me!=-1?Se(Me,$e,Ke):Qe==We?(Ue(($W<<1)+(Ke?1:0),3),ot(ta.static_ltree,ta.static_dtree)):(Ue((L$e<<1)+(Ke?1:0),3),sn(k.max_code+1,H.max_code+1,wt+1),ot(R,F)),me(),Ke&&zt()}function Vt(Me){_t(A>=0?A:-1,v-A,Me),A=v,t.flush_pending()}function hi(){let Me,$e,Ke,We;do{if(We=u-O-v,We===0&&v===0&&O===0)We=r;else if(We==-1)We--;else if(v>=r+r-kl){c.set(c.subarray(r,r+r),0),P-=r,v-=r,A-=r,Me=g,Ke=Me;do $e=d[--Ke]&65535,d[Ke]=$e>=r?$e-r:0;while(--Me!==0);Me=r,Ke=Me;do $e=f[--Ke]&65535,f[Ke]=$e>=r?$e-r:0;while(--Me!==0);We+=r}if(t.avail_in===0)return;Me=t.read_buf(c,v+O,We),O+=Me,O>=lr&&(p=c[v]&255,p=(p<<x^c[v+1]&255)&C)}while(O<kl&&t.avail_in!==0)}function Ni(Me){let $e=65535,Ke;for($e>i-5&&($e=i-5);;){if(O<=1){if(hi(),O===0&&Me==0)return ju;if(O===0)break}if(v+=O,O=0,Ke=A+$e,(v===0||v>=Ke)&&(O=v-Ke,v=Ke,Vt(!1),t.avail_out===0)||v-A>=r-kl&&(Vt(!1),t.avail_out===0))return ju}return Vt(Me==4),t.avail_out===0?Me==4?Ov:ju:Me==4?S3:b3}function Mo(Me){let $e=B,Ke=v,We,Qe,wt=M,Cn=v>r-kl?v-(r-kl):0,yo=D,vo=a,os=v+D3,Us=c[Ke+wt-1],Fr=c[Ke+wt];M>=w&&($e>>=2),yo>O&&(yo=O);do if(We=Me,!(c[We+wt]!=Fr||c[We+wt-1]!=Us||c[We]!=c[Ke]||c[++We]!=c[Ke+1])){Ke+=2,We++;do;while(c[++Ke]==c[++We]&&c[++Ke]==c[++We]&&c[++Ke]==c[++We]&&c[++Ke]==c[++We]&&c[++Ke]==c[++We]&&c[++Ke]==c[++We]&&c[++Ke]==c[++We]&&c[++Ke]==c[++We]&&Ke<os);if(Qe=D3-(os-Ke),Ke=os-D3,Qe>wt){if(P=Me,wt=Qe,Qe>=yo)break;Us=c[Ke+wt-1],Fr=c[Ke+wt]}}while((Me=f[Me&vo]&65535)>Cn&&--$e!==0);return wt<=O?wt:O}function wo(Me){let $e=0,Ke;for(;;){if(O<kl){if(hi(),O<kl&&Me==0)return ju;if(O===0)break}if(O>=lr&&(p=(p<<x^c[v+(lr-1)]&255)&C,$e=d[p]&65535,f[v&a]=d[p],d[p]=v),$e!==0&&(v-$e&65535)<=r-kl&&T!=2&&(b=Mo($e)),b>=lr)if(Ke=Jn(v-P,b-lr),O-=b,b<=L&&O>=lr){b--;do v++,p=(p<<x^c[v+(lr-1)]&255)&C,$e=d[p]&65535,f[v&a]=d[p],d[p]=v;while(--b!==0);v++}else v+=b,b=0,p=c[v]&255,p=(p<<x^c[v+1]&255)&C;else Ke=Jn(0,c[v]&255),O--,v++;if(Ke&&(Vt(!1),t.avail_out===0))return ju}return Vt(Me==4),t.avail_out===0?Me==4?Ov:ju:Me==4?S3:b3}function co(Me){let $e=0,Ke,We;for(;;){if(O<kl){if(hi(),O<kl&&Me==0)return ju;if(O===0)break}if(O>=lr&&(p=(p<<x^c[v+(lr-1)]&255)&C,$e=d[p]&65535,f[v&a]=d[p],d[p]=v),M=b,E=P,b=lr-1,$e!==0&&M<L&&(v-$e&65535)<=r-kl&&(T!=2&&(b=Mo($e)),b<=5&&(T==1||b==lr&&v-P>4096)&&(b=lr-1)),M>=lr&&b<=M){We=v+O-lr,Ke=Jn(v-1-E,M-lr),O-=M-1,M-=2;do++v<=We&&(p=(p<<x^c[v+(lr-1)]&255)&C,$e=d[p]&65535,f[v&a]=d[p],d[p]=v);while(--M!==0);if(S=0,b=lr-1,v++,Ke&&(Vt(!1),t.avail_out===0))return ju}else if(S!==0){if(Ke=Jn(0,c[v-1]&255),Ke&&Vt(!1),v++,O--,t.avail_out===0)return ju}else S=1,v++,O--}return S!==0&&(Ke=Jn(0,c[v-1]&255),S=0),Vt(Me==4),t.avail_out===0?Me==4?Ov:ju:Me==4?S3:b3}function mi(Me){return Me.total_in=Me.total_out=0,Me.msg=null,e.pending=0,e.pending_out=0,n=w3,o=0,ie(),le(),0}e.deflateInit=function(Me,$e,Ke,We,Qe,wt){return We||(We=ZW),Qe||(Qe=R$e),wt||(wt=0),Me.msg=null,$e==-1&&($e=6),Qe<1||Qe>O$e||We!=ZW||Ke<9||Ke>15||$e<0||$e>9||wt<0||wt>2?-2:(Me.dstate=e,s=Ke,r=1<<s,a=r-1,m=Qe+7,g=1<<m,C=g-1,x=Math.floor((m+lr-1)/lr),c=new Uint8Array(r*2),f=[],d=[],Y=1<<Qe+6,e.pending_buf=new Uint8Array(Y*4),i=Y*4,e.dist_buf=new Uint16Array(Y),e.lc_buf=new Uint8Array(Y),_=$e,T=wt,mi(Me))},e.deflateEnd=function(){return n!=KW&&n!=w3&&n!=Rv?-2:(e.lc_buf=null,e.dist_buf=null,e.pending_buf=null,d=null,f=null,c=null,e.dstate=null,n==w3?-3:0)},e.deflateParams=function(Me,$e,Ke){let We=0;return $e==-1&&($e=6),$e<0||$e>9||Ke<0||Ke>2?-2:(id[_].func!=id[$e].func&&Me.total_in!==0&&(We=Me.deflate(1)),_!=$e&&(_=$e,L=id[_].max_lazy,w=id[_].good_length,D=id[_].nice_length,B=id[_].max_chain),T=Ke,We)},e.deflateSetDictionary=function(Me,$e,Ke){let We=Ke,Qe,wt=0;if(!$e||n!=KW)return-2;if(We<lr)return 0;for(We>r-kl&&(We=r-kl,wt=Ke-We),c.set($e.subarray(wt,wt+We),0),v=We,A=We,p=c[0]&255,p=(p<<x^c[1]&255)&C,Qe=0;Qe<=We-lr;Qe++)p=(p<<x^c[Qe+(lr-1)]&255)&C,f[Qe&a]=d[p],d[p]=Qe;return 0},e.deflate=function(Me,$e){let Ke,We,Qe,wt,Cn;if($e>4||$e<0)return-2;if(!Me.next_out||!Me.next_in&&Me.avail_in!==0||n==Rv&&$e!=4)return Me.msg=E3[2- -2],-2;if(Me.avail_out===0)return Me.msg=E3[2- -5],-5;if(t=Me,wt=o,o=$e,n==KW&&(We=ZW+(s-8<<4)<<8,Qe=(_-1&255)>>1,Qe>3&&(Qe=3),We|=Qe<<6,v!==0&&(We|=M$e),We+=31-We%31,n=w3,Re(We)),e.pending!==0){if(t.flush_pending(),t.avail_out===0)return o=-1,0}else if(t.avail_in===0&&$e<=wt&&$e!=4)return t.msg=E3[2- -5],-5;if(n==Rv&&t.avail_in!==0)return Me.msg=E3[2- -5],-5;if(t.avail_in!==0||O!==0||$e!=0&&n!=Rv){switch(Cn=-1,id[_].func){case lde:Cn=Ni($e);break;case v3:Cn=wo($e);break;case tC:Cn=co($e);break;default:}if((Cn==Ov||Cn==S3)&&(n=Rv),Cn==ju||Cn==Ov)return t.avail_out===0&&(o=-1),0;if(Cn==b3){if($e==1)vn();else if(Se(0,0,!1),$e==3)for(Ke=0;Ke<g;Ke++)d[Ke]=0;if(t.flush_pending(),t.avail_out===0)return o=-1,0}}return $e!=4?0:1}}function ude(){let e=this;e.next_in_index=0,e.next_out_index=0,e.avail_in=0,e.total_in=0,e.avail_out=0,e.total_out=0}ude.prototype={deflateInit:function(e,t){let n=this;return n.dstate=new N$e,t||(t=15),n.dstate.deflateInit(n,e,t)},deflate:function(e){let t=this;return t.dstate?t.dstate.deflate(t,e):-2},deflateEnd:function(){let e=this;if(!e.dstate)return-2;let t=e.dstate.deflateEnd();return e.dstate=null,t},deflateParams:function(e,t){let n=this;return n.dstate?n.dstate.deflateParams(n,e,t):-2},deflateSetDictionary:function(e,t){let n=this;return n.dstate?n.dstate.deflateSetDictionary(n,e,t):-2},read_buf:function(e,t,n){let i=this,o=i.avail_in;return o>n&&(o=n),o===0?0:(i.avail_in-=o,e.set(i.next_in.subarray(i.next_in_index,i.next_in_index+o),t),i.next_in_index+=o,i.total_in+=o,o)},flush_pending:function(){let e=this,t=e.dstate.pending;t>e.avail_out&&(t=e.avail_out),t!==0&&(e.next_out.set(e.dstate.pending_buf.subarray(e.dstate.pending_out,e.dstate.pending_out+t),e.next_out_index),e.next_out_index+=t,e.dstate.pending_out+=t,e.total_out+=t,e.avail_out-=t,e.dstate.pending-=t,e.dstate.pending===0&&(e.dstate.pending_out=0))}};function F$e(e){let t=this,n=new ude,i=V$e(e&&e.chunkSize?e.chunkSize:64*1024),o=0,r=new Uint8Array(i),s=e?e.level:-1;typeof s>"u"&&(s=-1),n.deflateInit(s),n.next_out=r,t.append=function(a,c){let u,f,d=0,p=0,g=0,m=[];if(!!a.length){n.next_in_index=0,n.next_in=a,n.avail_in=a.length;do{if(n.next_out_index=0,n.avail_out=i,u=n.deflate(o),u!=0)throw new Error("deflating: "+n.msg);n.next_out_index&&(n.next_out_index==i?m.push(new Uint8Array(r)):m.push(r.slice(0,n.next_out_index))),g+=n.next_out_index,c&&n.next_in_index>0&&n.next_in_index!=d&&(c(n.next_in_index),d=n.next_in_index)}while(n.avail_in>0||n.avail_out===0);return m.length>1?(f=new Uint8Array(g),m.forEach(function(C){f.set(C,p),p+=C.length})):f=m[0]||new Uint8Array(0),f}},t.flush=function(){let a,c,u=0,f=0,d=[];do{if(n.next_out_index=0,n.avail_out=i,a=n.deflate(4),a!=1&&a!=0)throw new Error("deflating: "+n.msg);i-n.avail_out>0&&d.push(r.slice(0,n.next_out_index)),f+=n.next_out_index}while(n.avail_in>0||n.avail_out===0);return n.deflateEnd(),c=new Uint8Array(f),d.forEach(function(p){c.set(p,u),u+=p.length}),c}}function V$e(e){return e+5*(Math.floor(e/16383)+1)}var fde=F$e;var Ul=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],Ode=1440,k$e=0,U$e=4,z$e=9,H$e=5,G$e=[96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,192,80,7,10,0,8,96,0,8,32,0,9,160,0,8,0,0,8,128,0,8,64,0,9,224,80,7,6,0,8,88,0,8,24,0,9,144,83,7,59,0,8,120,0,8,56,0,9,208,81,7,17,0,8,104,0,8,40,0,9,176,0,8,8,0,8,136,0,8,72,0,9,240,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,200,81,7,13,0,8,100,0,8,36,0,9,168,0,8,4,0,8,132,0,8,68,0,9,232,80,7,8,0,8,92,0,8,28,0,9,152,84,7,83,0,8,124,0,8,60,0,9,216,82,7,23,0,8,108,0,8,44,0,9,184,0,8,12,0,8,140,0,8,76,0,9,248,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,196,81,7,11,0,8,98,0,8,34,0,9,164,0,8,2,0,8,130,0,8,66,0,9,228,80,7,7,0,8,90,0,8,26,0,9,148,84,7,67,0,8,122,0,8,58,0,9,212,82,7,19,0,8,106,0,8,42,0,9,180,0,8,10,0,8,138,0,8,74,0,9,244,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,204,81,7,15,0,8,102,0,8,38,0,9,172,0,8,6,0,8,134,0,8,70,0,9,236,80,7,9,0,8,94,0,8,30,0,9,156,84,7,99,0,8,126,0,8,62,0,9,220,82,7,27,0,8,110,0,8,46,0,9,188,0,8,14,0,8,142,0,8,78,0,9,252,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,194,80,7,10,0,8,97,0,8,33,0,9,162,0,8,1,0,8,129,0,8,65,0,9,226,80,7,6,0,8,89,0,8,25,0,9,146,83,7,59,0,8,121,0,8,57,0,9,210,81,7,17,0,8,105,0,8,41,0,9,178,0,8,9,0,8,137,0,8,73,0,9,242,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,202,81,7,13,0,8,101,0,8,37,0,9,170,0,8,5,0,8,133,0,8,69,0,9,234,80,7,8,0,8,93,0,8,29,0,9,154,84,7,83,0,8,125,0,8,61,0,9,218,82,7,23,0,8,109,0,8,45,0,9,186,0,8,13,0,8,141,0,8,77,0,9,250,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,198,81,7,11,0,8,99,0,8,35,0,9,166,0,8,3,0,8,131,0,8,67,0,9,230,80,7,7,0,8,91,0,8,27,0,9,150,84,7,67,0,8,123,0,8,59,0,9,214,82,7,19,0,8,107,0,8,43,0,9,182,0,8,11,0,8,139,0,8,75,0,9,246,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,206,81,7,15,0,8,103,0,8,39,0,9,174,0,8,7,0,8,135,0,8,71,0,9,238,80,7,9,0,8,95,0,8,31,0,9,158,84,7,99,0,8,127,0,8,63,0,9,222,82,7,27,0,8,111,0,8,47,0,9,190,0,8,15,0,8,143,0,8,79,0,9,254,96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,193,80,7,10,0,8,96,0,8,32,0,9,161,0,8,0,0,8,128,0,8,64,0,9,225,80,7,6,0,8,88,0,8,24,0,9,145,83,7,59,0,8,120,0,8,56,0,9,209,81,7,17,0,8,104,0,8,40,0,9,177,0,8,8,0,8,136,0,8,72,0,9,241,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,201,81,7,13,0,8,100,0,8,36,0,9,169,0,8,4,0,8,132,0,8,68,0,9,233,80,7,8,0,8,92,0,8,28,0,9,153,84,7,83,0,8,124,0,8,60,0,9,217,82,7,23,0,8,108,0,8,44,0,9,185,0,8,12,0,8,140,0,8,76,0,9,249,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,197,81,7,11,0,8,98,0,8,34,0,9,165,0,8,2,0,8,130,0,8,66,0,9,229,80,7,7,0,8,90,0,8,26,0,9,149,84,7,67,0,8,122,0,8,58,0,9,213,82,7,19,0,8,106,0,8,42,0,9,181,0,8,10,0,8,138,0,8,74,0,9,245,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,205,81,7,15,0,8,102,0,8,38,0,9,173,0,8,6,0,8,134,0,8,70,0,9,237,80,7,9,0,8,94,0,8,30,0,9,157,84,7,99,0,8,126,0,8,62,0,9,221,82,7,27,0,8,110,0,8,46,0,9,189,0,8,14,0,8,142,0,8,78,0,9,253,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,195,80,7,10,0,8,97,0,8,33,0,9,163,0,8,1,0,8,129,0,8,65,0,9,227,80,7,6,0,8,89,0,8,25,0,9,147,83,7,59,0,8,121,0,8,57,0,9,211,81,7,17,0,8,105,0,8,41,0,9,179,0,8,9,0,8,137,0,8,73,0,9,243,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,203,81,7,13,0,8,101,0,8,37,0,9,171,0,8,5,0,8,133,0,8,69,0,9,235,80,7,8,0,8,93,0,8,29,0,9,155,84,7,83,0,8,125,0,8,61,0,9,219,82,7,23,0,8,109,0,8,45,0,9,187,0,8,13,0,8,141,0,8,77,0,9,251,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,199,81,7,11,0,8,99,0,8,35,0,9,167,0,8,3,0,8,131,0,8,67,0,9,231,80,7,7,0,8,91,0,8,27,0,9,151,84,7,67,0,8,123,0,8,59,0,9,215,82,7,19,0,8,107,0,8,43,0,9,183,0,8,11,0,8,139,0,8,75,0,9,247,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,207,81,7,15,0,8,103,0,8,39,0,9,175,0,8,7,0,8,135,0,8,71,0,9,239,80,7,9,0,8,95,0,8,31,0,9,159,84,7,99,0,8,127,0,8,63,0,9,223,82,7,27,0,8,111,0,8,47,0,9,191,0,8,15,0,8,143,0,8,79,0,9,255],W$e=[80,5,1,87,5,257,83,5,17,91,5,4097,81,5,5,89,5,1025,85,5,65,93,5,16385,80,5,3,88,5,513,84,5,33,92,5,8193,82,5,9,90,5,2049,86,5,129,192,5,24577,80,5,2,87,5,385,83,5,25,91,5,6145,81,5,7,89,5,1537,85,5,97,93,5,24577,80,5,4,88,5,769,84,5,49,92,5,12289,82,5,13,90,5,3073,86,5,193,192,5,24577],j$e=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],q$e=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,112,112],Y$e=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],X$e=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],Vg=15;function t7(){let e=this,t,n,i,o,r,s;function a(u,f,d,p,g,m,C,x,A,b,E){let S,v,P,O,M,B,L,_,T,w,D,R,F,z,k;w=0,M=d;do i[u[f+w]]++,w++,M--;while(M!==0);if(i[0]==d)return C[0]=-1,x[0]=0,0;for(_=x[0],B=1;B<=Vg&&i[B]===0;B++);for(L=B,_<B&&(_=B),M=Vg;M!==0&&i[M]===0;M--);for(P=M,_>M&&(_=M),x[0]=_,z=1<<B;B<M;B++,z<<=1)if((z-=i[B])<0)return-3;if((z-=i[M])<0)return-3;for(i[M]+=z,s[1]=B=0,w=1,F=2;--M!==0;)s[F]=B+=i[w],F++,w++;M=0,w=0;do(B=u[f+w])!==0&&(E[s[B]++]=M),w++;while(++M<d);for(d=s[P],s[0]=M=0,w=0,O=-1,R=-_,r[0]=0,D=0,k=0;L<=P;L++)for(S=i[L];S--!==0;){for(;L>R+_;){if(O++,R+=_,k=P-R,k=k>_?_:k,(v=1<<(B=L-R))>S+1&&(v-=S+1,F=L,B<k))for(;++B<k&&!((v<<=1)<=i[++F]);)v-=i[F];if(k=1<<B,b[0]+k>Ode)return-3;r[O]=D=b[0],b[0]+=k,O!==0?(s[O]=M,o[0]=B,o[1]=_,B=M>>>R-_,o[2]=D-r[O-1]-B,A.set(o,(r[O-1]+B)*3)):C[0]=D}for(o[1]=L-R,w>=d?o[0]=128+64:E[w]<p?(o[0]=E[w]<256?0:32+64,o[2]=E[w++]):(o[0]=m[E[w]-p]+16+64,o[2]=g[E[w++]-p]),v=1<<L-R,B=M>>>R;B<k;B+=v)A.set(o,(D+B)*3);for(B=1<<L-1;(M&B)!==0;B>>>=1)M^=B;for(M^=B,T=(1<<R)-1;(M&T)!=s[O];)O--,R-=_,T=(1<<R)-1}return z!==0&&P!=1?-5:0}function c(u){let f;for(t||(t=[],n=[],i=new Int32Array(Vg+1),o=[],r=new Int32Array(Vg),s=new Int32Array(Vg+1)),n.length<u&&(n=[]),f=0;f<u;f++)n[f]=0;for(f=0;f<Vg+1;f++)i[f]=0;for(f=0;f<3;f++)o[f]=0;r.set(i.subarray(0,Vg),0),s.set(i.subarray(0,Vg+1),0)}e.inflate_trees_bits=function(u,f,d,p,g){let m;return c(19),t[0]=0,m=a(u,0,19,19,null,null,d,f,p,t,n),m==-3?g.msg="oversubscribed dynamic bit lengths tree":(m==-5||f[0]===0)&&(g.msg="incomplete dynamic bit lengths tree",m=-3),m},e.inflate_trees_dynamic=function(u,f,d,p,g,m,C,x,A){let b;return c(288),t[0]=0,b=a(d,0,u,257,j$e,q$e,m,p,x,t,n),b!=0||p[0]===0?(b==-3?A.msg="oversubscribed literal/length tree":b!=-4&&(A.msg="incomplete literal/length tree",b=-3),b):(c(288),b=a(d,u,f,0,Y$e,X$e,C,g,x,t,n),b!=0||g[0]===0&&u>257?(b==-3?A.msg="oversubscribed distance tree":b==-5?(A.msg="incomplete distance tree",b=-3):b!=-4&&(A.msg="empty distance tree with lengths",b=-3),b):0)}}t7.inflate_trees_fixed=function(e,t,n,i){return e[0]=z$e,t[0]=H$e,n[0]=G$e,i[0]=W$e,0};var O3=0,dde=1,hde=2,mde=3,pde=4,_de=5,gde=6,JW=7,yde=8,R3=9;function K$e(){let e=this,t,n=0,i,o=0,r=0,s=0,a=0,c=0,u=0,f=0,d,p=0,g,m=0;function C(x,A,b,E,S,v,P,O){let M,B,L,_,T,w,D,R,F,z,k,H,V,Y,q,X;D=O.next_in_index,R=O.avail_in,T=P.bitb,w=P.bitk,F=P.write,z=F<P.read?P.read-F-1:P.end-F,k=Ul[x],H=Ul[A];do{for(;w<20;)R--,T|=(O.read_byte(D++)&255)<<w,w+=8;if(M=T&k,B=b,L=E,X=(L+M)*3,(_=B[X])===0){T>>=B[X+1],w-=B[X+1],P.win[F++]=B[X+2],z--;continue}do{if(T>>=B[X+1],w-=B[X+1],(_&16)!==0){for(_&=15,V=B[X+2]+(T&Ul[_]),T>>=_,w-=_;w<15;)R--,T|=(O.read_byte(D++)&255)<<w,w+=8;M=T&H,B=S,L=v,X=(L+M)*3,_=B[X];do if(T>>=B[X+1],w-=B[X+1],(_&16)!==0){for(_&=15;w<_;)R--,T|=(O.read_byte(D++)&255)<<w,w+=8;if(Y=B[X+2]+(T&Ul[_]),T>>=_,w-=_,z-=V,F>=Y)q=F-Y,F-q>0&&2>F-q?(P.win[F++]=P.win[q++],P.win[F++]=P.win[q++],V-=2):(P.win.set(P.win.subarray(q,q+2),F),F+=2,q+=2,V-=2);else{q=F-Y;do q+=P.end;while(q<0);if(_=P.end-q,V>_){if(V-=_,F-q>0&&_>F-q)do P.win[F++]=P.win[q++];while(--_!==0);else P.win.set(P.win.subarray(q,q+_),F),F+=_,q+=_,_=0;q=0}}if(F-q>0&&V>F-q)do P.win[F++]=P.win[q++];while(--V!==0);else P.win.set(P.win.subarray(q,q+V),F),F+=V,q+=V,V=0;break}else if((_&64)===0)M+=B[X+2],M+=T&Ul[_],X=(L+M)*3,_=B[X];else return O.msg="invalid distance code",V=O.avail_in-R,V=w>>3<V?w>>3:V,R+=V,D-=V,w-=V<<3,P.bitb=T,P.bitk=w,O.avail_in=R,O.total_in+=D-O.next_in_index,O.next_in_index=D,P.write=F,-3;while(!0);break}if((_&64)===0){if(M+=B[X+2],M+=T&Ul[_],X=(L+M)*3,(_=B[X])===0){T>>=B[X+1],w-=B[X+1],P.win[F++]=B[X+2],z--;break}}else return(_&32)!==0?(V=O.avail_in-R,V=w>>3<V?w>>3:V,R+=V,D-=V,w-=V<<3,P.bitb=T,P.bitk=w,O.avail_in=R,O.total_in+=D-O.next_in_index,O.next_in_index=D,P.write=F,1):(O.msg="invalid literal/length code",V=O.avail_in-R,V=w>>3<V?w>>3:V,R+=V,D-=V,w-=V<<3,P.bitb=T,P.bitk=w,O.avail_in=R,O.total_in+=D-O.next_in_index,O.next_in_index=D,P.write=F,-3)}while(!0)}while(z>=258&&R>=10);return V=O.avail_in-R,V=w>>3<V?w>>3:V,R+=V,D-=V,w-=V<<3,P.bitb=T,P.bitk=w,O.avail_in=R,O.total_in+=D-O.next_in_index,O.next_in_index=D,P.write=F,0}e.init=function(x,A,b,E,S,v){t=O3,u=x,f=A,d=b,p=E,g=S,m=v,i=null},e.proc=function(x,A,b){let E,S,v,P=0,O=0,M=0,B,L,_,T;for(M=A.next_in_index,B=A.avail_in,P=x.bitb,O=x.bitk,L=x.write,_=L<x.read?x.read-L-1:x.end-L;;)switch(t){case O3:if(_>=258&&B>=10&&(x.bitb=P,x.bitk=O,A.avail_in=B,A.total_in+=M-A.next_in_index,A.next_in_index=M,x.write=L,b=C(u,f,d,p,g,m,x,A),M=A.next_in_index,B=A.avail_in,P=x.bitb,O=x.bitk,L=x.write,_=L<x.read?x.read-L-1:x.end-L,b!=0)){t=b==1?JW:R3;break}r=u,i=d,o=p,t=dde;case dde:for(E=r;O<E;){if(B!==0)b=0;else return x.bitb=P,x.bitk=O,A.avail_in=B,A.total_in+=M-A.next_in_index,A.next_in_index=M,x.write=L,x.inflate_flush(A,b);B--,P|=(A.read_byte(M++)&255)<<O,O+=8}if(S=(o+(P&Ul[E]))*3,P>>>=i[S+1],O-=i[S+1],v=i[S],v===0){s=i[S+2],t=gde;break}if((v&16)!==0){a=v&15,n=i[S+2],t=hde;break}if((v&64)===0){r=v,o=S/3+i[S+2];break}if((v&32)!==0){t=JW;break}return t=R3,A.msg="invalid literal/length code",b=-3,x.bitb=P,x.bitk=O,A.avail_in=B,A.total_in+=M-A.next_in_index,A.next_in_index=M,x.write=L,x.inflate_flush(A,b);case hde:for(E=a;O<E;){if(B!==0)b=0;else return x.bitb=P,x.bitk=O,A.avail_in=B,A.total_in+=M-A.next_in_index,A.next_in_index=M,x.write=L,x.inflate_flush(A,b);B--,P|=(A.read_byte(M++)&255)<<O,O+=8}n+=P&Ul[E],P>>=E,O-=E,r=f,i=g,o=m,t=mde;case mde:for(E=r;O<E;){if(B!==0)b=0;else return x.bitb=P,x.bitk=O,A.avail_in=B,A.total_in+=M-A.next_in_index,A.next_in_index=M,x.write=L,x.inflate_flush(A,b);B--,P|=(A.read_byte(M++)&255)<<O,O+=8}if(S=(o+(P&Ul[E]))*3,P>>=i[S+1],O-=i[S+1],v=i[S],(v&16)!==0){a=v&15,c=i[S+2],t=pde;break}if((v&64)===0){r=v,o=S/3+i[S+2];break}return t=R3,A.msg="invalid distance code",b=-3,x.bitb=P,x.bitk=O,A.avail_in=B,A.total_in+=M-A.next_in_index,A.next_in_index=M,x.write=L,x.inflate_flush(A,b);case pde:for(E=a;O<E;){if(B!==0)b=0;else return x.bitb=P,x.bitk=O,A.avail_in=B,A.total_in+=M-A.next_in_index,A.next_in_index=M,x.write=L,x.inflate_flush(A,b);B--,P|=(A.read_byte(M++)&255)<<O,O+=8}c+=P&Ul[E],P>>=E,O-=E,t=_de;case _de:for(T=L-c;T<0;)T+=x.end;for(;n!==0;){if(_===0&&(L==x.end&&x.read!==0&&(L=0,_=L<x.read?x.read-L-1:x.end-L),_===0&&(x.write=L,b=x.inflate_flush(A,b),L=x.write,_=L<x.read?x.read-L-1:x.end-L,L==x.end&&x.read!==0&&(L=0,_=L<x.read?x.read-L-1:x.end-L),_===0)))return x.bitb=P,x.bitk=O,A.avail_in=B,A.total_in+=M-A.next_in_index,A.next_in_index=M,x.write=L,x.inflate_flush(A,b);x.win[L++]=x.win[T++],_--,T==x.end&&(T=0),n--}t=O3;break;case gde:if(_===0&&(L==x.end&&x.read!==0&&(L=0,_=L<x.read?x.read-L-1:x.end-L),_===0&&(x.write=L,b=x.inflate_flush(A,b),L=x.write,_=L<x.read?x.read-L-1:x.end-L,L==x.end&&x.read!==0&&(L=0,_=L<x.read?x.read-L-1:x.end-L),_===0)))return x.bitb=P,x.bitk=O,A.avail_in=B,A.total_in+=M-A.next_in_index,A.next_in_index=M,x.write=L,x.inflate_flush(A,b);b=0,x.win[L++]=s,_--,t=O3;break;case JW:if(O>7&&(O-=8,B++,M--),x.write=L,b=x.inflate_flush(A,b),L=x.write,_=L<x.read?x.read-L-1:x.end-L,x.read!=x.write)return x.bitb=P,x.bitk=O,A.avail_in=B,A.total_in+=M-A.next_in_index,A.next_in_index=M,x.write=L,x.inflate_flush(A,b);t=yde;case yde:return b=1,x.bitb=P,x.bitk=O,A.avail_in=B,A.total_in+=M-A.next_in_index,A.next_in_index=M,x.write=L,x.inflate_flush(A,b);case R3:return b=-3,x.bitb=P,x.bitk=O,A.avail_in=B,A.total_in+=M-A.next_in_index,A.next_in_index=M,x.write=L,x.inflate_flush(A,b);default:return b=-2,x.bitb=P,x.bitk=O,A.avail_in=B,A.total_in+=M-A.next_in_index,A.next_in_index=M,x.write=L,x.inflate_flush(A,b)}},e.free=function(){}}var Cde=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],fE=0,QW=1,xde=2,Ade=3,Tde=4,Ede=5,M3=6,B3=7,bde=8,nC=9;function Z$e(e,t){let n=this,i=fE,o=0,r=0,s=0,a,c=[0],u=[0],f=new K$e,d=0,p=new Int32Array(Ode*3),g=0,m=new t7;n.bitk=0,n.bitb=0,n.win=new Uint8Array(t),n.end=t,n.read=0,n.write=0,n.reset=function(C,x){x&&(x[0]=g),i==M3&&f.free(C),i=fE,n.bitk=0,n.bitb=0,n.read=n.write=0},n.reset(e,null),n.inflate_flush=function(C,x){let A,b,E;return b=C.next_out_index,E=n.read,A=(E<=n.write?n.write:n.end)-E,A>C.avail_out&&(A=C.avail_out),A!==0&&x==-5&&(x=0),C.avail_out-=A,C.total_out+=A,C.next_out.set(n.win.subarray(E,E+A),b),b+=A,E+=A,E==n.end&&(E=0,n.write==n.end&&(n.write=0),A=n.write-E,A>C.avail_out&&(A=C.avail_out),A!==0&&x==-5&&(x=0),C.avail_out-=A,C.total_out+=A,C.next_out.set(n.win.subarray(E,E+A),b),b+=A,E+=A),C.next_out_index=b,n.read=E,x},n.proc=function(C,x){let A,b,E,S,v,P,O,M;for(S=C.next_in_index,v=C.avail_in,b=n.bitb,E=n.bitk,P=n.write,O=P<n.read?n.read-P-1:n.end-P;;){let B,L,_,T,w,D,R,F;switch(i){case fE:for(;E<3;){if(v!==0)x=0;else return n.bitb=b,n.bitk=E,C.avail_in=v,C.total_in+=S-C.next_in_index,C.next_in_index=S,n.write=P,n.inflate_flush(C,x);v--,b|=(C.read_byte(S++)&255)<<E,E+=8}switch(A=b&7,d=A&1,A>>>1){case 0:b>>>=3,E-=3,A=E&7,b>>>=A,E-=A,i=QW;break;case 1:B=[],L=[],_=[[]],T=[[]],t7.inflate_trees_fixed(B,L,_,T),f.init(B[0],L[0],_[0],0,T[0],0),b>>>=3,E-=3,i=M3;break;case 2:b>>>=3,E-=3,i=Ade;break;case 3:return b>>>=3,E-=3,i=nC,C.msg="invalid block type",x=-3,n.bitb=b,n.bitk=E,C.avail_in=v,C.total_in+=S-C.next_in_index,C.next_in_index=S,n.write=P,n.inflate_flush(C,x)}break;case QW:for(;E<32;){if(v!==0)x=0;else return n.bitb=b,n.bitk=E,C.avail_in=v,C.total_in+=S-C.next_in_index,C.next_in_index=S,n.write=P,n.inflate_flush(C,x);v--,b|=(C.read_byte(S++)&255)<<E,E+=8}if((~b>>>16&65535)!=(b&65535))return i=nC,C.msg="invalid stored block lengths",x=-3,n.bitb=b,n.bitk=E,C.avail_in=v,C.total_in+=S-C.next_in_index,C.next_in_index=S,n.write=P,n.inflate_flush(C,x);o=b&65535,b=E=0,i=o!==0?xde:d!==0?B3:fE;break;case xde:if(v===0||O===0&&(P==n.end&&n.read!==0&&(P=0,O=P<n.read?n.read-P-1:n.end-P),O===0&&(n.write=P,x=n.inflate_flush(C,x),P=n.write,O=P<n.read?n.read-P-1:n.end-P,P==n.end&&n.read!==0&&(P=0,O=P<n.read?n.read-P-1:n.end-P),O===0)))return n.bitb=b,n.bitk=E,C.avail_in=v,C.total_in+=S-C.next_in_index,C.next_in_index=S,n.write=P,n.inflate_flush(C,x);if(x=0,A=o,A>v&&(A=v),A>O&&(A=O),n.win.set(C.read_buf(S,A),P),S+=A,v-=A,P+=A,O-=A,(o-=A)!==0)break;i=d!==0?B3:fE;break;case Ade:for(;E<14;){if(v!==0)x=0;else return n.bitb=b,n.bitk=E,C.avail_in=v,C.total_in+=S-C.next_in_index,C.next_in_index=S,n.write=P,n.inflate_flush(C,x);v--,b|=(C.read_byte(S++)&255)<<E,E+=8}if(r=A=b&16383,(A&31)>29||(A>>5&31)>29)return i=nC,C.msg="too many length or distance symbols",x=-3,n.bitb=b,n.bitk=E,C.avail_in=v,C.total_in+=S-C.next_in_index,C.next_in_index=S,n.write=P,n.inflate_flush(C,x);if(A=258+(A&31)+(A>>5&31),!a||a.length<A)a=[];else for(M=0;M<A;M++)a[M]=0;b>>>=14,E-=14,s=0,i=Tde;case Tde:for(;s<4+(r>>>10);){for(;E<3;){if(v!==0)x=0;else return n.bitb=b,n.bitk=E,C.avail_in=v,C.total_in+=S-C.next_in_index,C.next_in_index=S,n.write=P,n.inflate_flush(C,x);v--,b|=(C.read_byte(S++)&255)<<E,E+=8}a[Cde[s++]]=b&7,b>>>=3,E-=3}for(;s<19;)a[Cde[s++]]=0;if(c[0]=7,A=m.inflate_trees_bits(a,c,u,p,C),A!=0)return x=A,x==-3&&(a=null,i=nC),n.bitb=b,n.bitk=E,C.avail_in=v,C.total_in+=S-C.next_in_index,C.next_in_index=S,n.write=P,n.inflate_flush(C,x);s=0,i=Ede;case Ede:for(;A=r,!(s>=258+(A&31)+(A>>5&31));){let z,k;for(A=c[0];E<A;){if(v!==0)x=0;else return n.bitb=b,n.bitk=E,C.avail_in=v,C.total_in+=S-C.next_in_index,C.next_in_index=S,n.write=P,n.inflate_flush(C,x);v--,b|=(C.read_byte(S++)&255)<<E,E+=8}if(A=p[(u[0]+(b&Ul[A]))*3+1],k=p[(u[0]+(b&Ul[A]))*3+2],k<16)b>>>=A,E-=A,a[s++]=k;else{for(M=k==18?7:k-14,z=k==18?11:3;E<A+M;){if(v!==0)x=0;else return n.bitb=b,n.bitk=E,C.avail_in=v,C.total_in+=S-C.next_in_index,C.next_in_index=S,n.write=P,n.inflate_flush(C,x);v--,b|=(C.read_byte(S++)&255)<<E,E+=8}if(b>>>=A,E-=A,z+=b&Ul[M],b>>>=M,E-=M,M=s,A=r,M+z>258+(A&31)+(A>>5&31)||k==16&&M<1)return a=null,i=nC,C.msg="invalid bit length repeat",x=-3,n.bitb=b,n.bitk=E,C.avail_in=v,C.total_in+=S-C.next_in_index,C.next_in_index=S,n.write=P,n.inflate_flush(C,x);k=k==16?a[M-1]:0;do a[M++]=k;while(--z!==0);s=M}}if(u[0]=-1,w=[],D=[],R=[],F=[],w[0]=9,D[0]=6,A=r,A=m.inflate_trees_dynamic(257+(A&31),1+(A>>5&31),a,w,D,R,F,p,C),A!=0)return A==-3&&(a=null,i=nC),x=A,n.bitb=b,n.bitk=E,C.avail_in=v,C.total_in+=S-C.next_in_index,C.next_in_index=S,n.write=P,n.inflate_flush(C,x);f.init(w[0],D[0],p,R[0],p,F[0]),i=M3;case M3:if(n.bitb=b,n.bitk=E,C.avail_in=v,C.total_in+=S-C.next_in_index,C.next_in_index=S,n.write=P,(x=f.proc(n,C,x))!=1)return n.inflate_flush(C,x);if(x=0,f.free(C),S=C.next_in_index,v=C.avail_in,b=n.bitb,E=n.bitk,P=n.write,O=P<n.read?n.read-P-1:n.end-P,d===0){i=fE;break}i=B3;case B3:if(n.write=P,x=n.inflate_flush(C,x),P=n.write,O=P<n.read?n.read-P-1:n.end-P,n.read!=n.write)return n.bitb=b,n.bitk=E,C.avail_in=v,C.total_in+=S-C.next_in_index,C.next_in_index=S,n.write=P,n.inflate_flush(C,x);i=bde;case bde:return x=1,n.bitb=b,n.bitk=E,C.avail_in=v,C.total_in+=S-C.next_in_index,C.next_in_index=S,n.write=P,n.inflate_flush(C,x);case nC:return x=-3,n.bitb=b,n.bitk=E,C.avail_in=v,C.total_in+=S-C.next_in_index,C.next_in_index=S,n.write=P,n.inflate_flush(C,x);default:return x=-2,n.bitb=b,n.bitk=E,C.avail_in=v,C.total_in+=S-C.next_in_index,C.next_in_index=S,n.write=P,n.inflate_flush(C,x)}}},n.free=function(C){n.reset(C,null),n.win=null,p=null},n.set_dictionary=function(C,x,A){n.win.set(C.subarray(x,x+A),0),n.read=n.write=A},n.sync_point=function(){return i==QW?1:0}}var $$e=32,J$e=8,Q$e=0,Sde=1,wde=2,vde=3,Dde=4,Pde=5,e7=6,Mv=7,Ide=12,kg=13,eJe=[0,0,255,255];function tJe(){let e=this;e.mode=0,e.method=0,e.was=[0],e.need=0,e.marker=0,e.wbits=0;function t(n){return!n||!n.istate?-2:(n.total_in=n.total_out=0,n.msg=null,n.istate.mode=Mv,n.istate.blocks.reset(n,null),0)}e.inflateEnd=function(n){return e.blocks&&e.blocks.free(n),e.blocks=null,0},e.inflateInit=function(n,i){return n.msg=null,e.blocks=null,i<8||i>15?(e.inflateEnd(n),-2):(e.wbits=i,n.istate.blocks=new Z$e(n,1<<i),t(n),0)},e.inflate=function(n,i){let o,r;if(!n||!n.istate||!n.next_in)return-2;let s=n.istate;for(i=i==U$e?-5:0,o=-5;;)switch(s.mode){case Q$e:if(n.avail_in===0)return o;if(o=i,n.avail_in--,n.total_in++,((s.method=n.read_byte(n.next_in_index++))&15)!=J$e){s.mode=kg,n.msg="unknown compression method",s.marker=5;break}if((s.method>>4)+8>s.wbits){s.mode=kg,n.msg="invalid win size",s.marker=5;break}s.mode=Sde;case Sde:if(n.avail_in===0)return o;if(o=i,n.avail_in--,n.total_in++,r=n.read_byte(n.next_in_index++)&255,((s.method<<8)+r)%31!==0){s.mode=kg,n.msg="incorrect header check",s.marker=5;break}if((r&$$e)===0){s.mode=Mv;break}s.mode=wde;case wde:if(n.avail_in===0)return o;o=i,n.avail_in--,n.total_in++,s.need=(n.read_byte(n.next_in_index++)&255)<<24&4278190080,s.mode=vde;case vde:if(n.avail_in===0)return o;o=i,n.avail_in--,n.total_in++,s.need+=(n.read_byte(n.next_in_index++)&255)<<16&16711680,s.mode=Dde;case Dde:if(n.avail_in===0)return o;o=i,n.avail_in--,n.total_in++,s.need+=(n.read_byte(n.next_in_index++)&255)<<8&65280,s.mode=Pde;case Pde:return n.avail_in===0?o:(o=i,n.avail_in--,n.total_in++,s.need+=n.read_byte(n.next_in_index++)&255,s.mode=e7,2);case e7:return s.mode=kg,n.msg="need dictionary",s.marker=0,-2;case Mv:if(o=s.blocks.proc(n,o),o==-3){s.mode=kg,s.marker=0;break}if(o==0&&(o=i),o!=1)return o;o=i,s.blocks.reset(n,s.was),s.mode=Ide;case Ide:return n.avail_in=0,1;case kg:return-3;default:return-2}},e.inflateSetDictionary=function(n,i,o){let r=0,s=o;if(!n||!n.istate||n.istate.mode!=e7)return-2;let a=n.istate;return s>=1<<a.wbits&&(s=(1<<a.wbits)-1,r=o-s),a.blocks.set_dictionary(i,r,s),a.mode=Mv,0},e.inflateSync=function(n){let i,o,r,s,a;if(!n||!n.istate)return-2;let c=n.istate;if(c.mode!=kg&&(c.mode=kg,c.marker=0),(i=n.avail_in)===0)return-5;for(o=n.next_in_index,r=c.marker;i!==0&&r<4;)n.read_byte(o)==eJe[r]?r++:n.read_byte(o)!==0?r=0:r=4-r,o++,i--;return n.total_in+=o-n.next_in_index,n.next_in_index=o,n.avail_in=i,c.marker=r,r!=4?-3:(s=n.total_in,a=n.total_out,t(n),n.total_in=s,n.total_out=a,c.mode=Mv,0)},e.inflateSyncPoint=function(n){return!n||!n.istate||!n.istate.blocks?-2:n.istate.blocks.sync_point()}}function Rde(){}Rde.prototype={inflateInit:function(e){let t=this;return t.istate=new tJe,e||(e=15),t.istate.inflateInit(t,e)},inflate:function(e){let t=this;return t.istate?t.istate.inflate(t,e):-2},inflateEnd:function(){let e=this;if(!e.istate)return-2;let t=e.istate.inflateEnd(e);return e.istate=null,t},inflateSync:function(){let e=this;return e.istate?e.istate.inflateSync(e):-2},inflateSetDictionary:function(e,t){let n=this;return n.istate?n.istate.inflateSetDictionary(n,e,t):-2},read_byte:function(e){return this.next_in[e]},read_buf:function(e,t){return this.next_in.subarray(e,e+t)}};function nJe(e){let t=this,n=new Rde,i=e&&e.chunkSize?Math.floor(e.chunkSize*2):128*1024,o=k$e,r=new Uint8Array(i),s=!1;n.inflateInit(),n.next_out=r,t.append=function(a,c){let u=[],f,d,p=0,g=0,m=0;if(a.length!==0){n.next_in_index=0,n.next_in=a,n.avail_in=a.length;do{if(n.next_out_index=0,n.avail_out=i,n.avail_in===0&&!s&&(n.next_in_index=0,s=!0),f=n.inflate(o),s&&f===-5){if(n.avail_in!==0)throw new Error("inflating: bad input")}else if(f!==0&&f!==1)throw new Error("inflating: "+n.msg);if((s||f===1)&&n.avail_in===a.length)throw new Error("inflating: bad input");n.next_out_index&&(n.next_out_index===i?u.push(new Uint8Array(r)):u.push(r.slice(0,n.next_out_index))),m+=n.next_out_index,c&&n.next_in_index>0&&n.next_in_index!=p&&(c(n.next_in_index),p=n.next_in_index)}while(n.avail_in>0||n.avail_out===0);return u.length>1?(d=new Uint8Array(m),u.forEach(function(C){d.set(C,g),g+=C.length})):d=u[0]||new Uint8Array(0),d}},t.flush=function(){n.inflateEnd()}}var Mde=nJe;var iJe={chunkSize:524288,maxWorkers:typeof navigator<"u"&&navigator.hardwareConcurrency||2,terminateWorkerTimeout:5e3,useWebWorkers:!0,workerScripts:void 0},el=Object.assign({},iJe);function L3(){return el}function dE(e){if(e.baseURL!==void 0&&(el.baseURL=e.baseURL),e.chunkSize!==void 0&&(el.chunkSize=e.chunkSize),e.maxWorkers!==void 0&&(el.maxWorkers=e.maxWorkers),e.terminateWorkerTimeout!==void 0&&(el.terminateWorkerTimeout=e.terminateWorkerTimeout),e.useWebWorkers!==void 0&&(el.useWebWorkers=e.useWebWorkers),e.Deflate!==void 0&&(el.Deflate=e.Deflate),e.Inflate!==void 0&&(el.Inflate=e.Inflate),e.workerScripts!==void 0){if(e.workerScripts.deflate){if(!Array.isArray(e.workerScripts.deflate))throw new Error("workerScripts.deflate must be an array");el.workerScripts||(el.workerScripts={}),el.workerScripts.deflate=e.workerScripts.deflate}if(e.workerScripts.inflate){if(!Array.isArray(e.workerScripts.inflate))throw new Error("workerScripts.inflate must be an array");el.workerScripts||(el.workerScripts={}),el.workerScripts.inflate=e.workerScripts.inflate}}}var Bde=[];for(let e=0;e<256;e++){let t=e;for(let n=0;n<8;n++)t&1?t=t>>>1^3988292384:t=t>>>1;Bde[e]=t}var n7=class{constructor(t){this.crc=t||-1}append(t){let n=this.crc|0;for(let i=0,o=t.length|0;i<o;i++)n=n>>>8^Bde[(n^t[i])&255];this.crc=n}get(){return~this.crc}},Ug=n7;var Bv=oJe;function oJe(e){if(typeof TextEncoder>"u"){e=unescape(encodeURIComponent(e));let t=new Uint8Array(e.length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}else return new TextEncoder().encode(e)}var xc={concat(e,t){if(e.length===0||t.length===0)return e.concat(t);let n=e[e.length-1],i=xc.getPartial(n);return i===32?e.concat(t):xc._shiftRight(t,i,n|0,e.slice(0,e.length-1))},bitLength(e){let t=e.length;if(t===0)return 0;let n=e[t-1];return(t-1)*32+xc.getPartial(n)},clamp(e,t){if(e.length*32<t)return e;e=e.slice(0,Math.ceil(t/32));let n=e.length;return t=t&31,n>0&&t&&(e[n-1]=xc.partial(t,e[n-1]&2147483648>>t-1,1)),e},partial(e,t,n){return e===32?t:(n?t|0:t<<32-e)+e*1099511627776},getPartial(e){return Math.round(e/1099511627776)||32},_shiftRight(e,t,n,i){for(i===void 0&&(i=[]);t>=32;t-=32)i.push(n),n=0;if(t===0)return i.concat(e);for(let s=0;s<e.length;s++)i.push(n|e[s]>>>t),n=e[s]<<32-t;let o=e.length?e[e.length-1]:0,r=xc.getPartial(o);return i.push(xc.partial(t+r&31,t+r>32?n:i.pop(),1)),i}},Lv={bytes:{fromBits(e){let n=xc.bitLength(e)/8,i=new Uint8Array(n),o;for(let r=0;r<n;r++)(r&3)===0&&(o=e[r/4]),i[r]=o>>>24,o<<=8;return i},toBits(e){let t=[],n,i=0;for(n=0;n<e.length;n++)i=i<<8|e[n],(n&3)===3&&(t.push(i),i=0);return n&3&&t.push(xc.partial(8*(n&3),i)),t}}},i7={};i7.sha1=function(e){e?(this._h=e._h.slice(0),this._buffer=e._buffer.slice(0),this._length=e._length):this.reset()};i7.sha1.prototype={blockSize:512,reset:function(){let e=this;return e._h=this._init.slice(0),e._buffer=[],e._length=0,e},update:function(e){let t=this;typeof e=="string"&&(e=Lv.utf8String.toBits(e));let n=t._buffer=xc.concat(t._buffer,e),i=t._length,o=t._length=i+xc.bitLength(e);if(o>9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");let r=new Uint32Array(n),s=0;for(let a=t.blockSize+i-(t.blockSize+i&t.blockSize-1);a<=o;a+=t.blockSize)t._block(r.subarray(16*s,16*(s+1))),s+=1;return n.splice(0,16*s),t},finalize:function(){let e=this,t=e._buffer,n=e._h;t=xc.concat(t,[xc.partial(1,1)]);for(let i=t.length+2;i&15;i++)t.push(0);for(t.push(Math.floor(e._length/4294967296)),t.push(e._length|0);t.length;)e._block(t.splice(0,16));return e.reset(),n},_init:[1732584193,4023233417,2562383102,271733878,3285377520],_key:[1518500249,1859775393,2400959708,3395469782],_f:function(e,t,n,i){if(e<=19)return t&n|~t&i;if(e<=39)return t^n^i;if(e<=59)return t&n|t&i|n&i;if(e<=79)return t^n^i},_S:function(e,t){return t<<e|t>>>32-e},_block:function(e){let t=this,n=t._h,i=Array(80);for(let u=0;u<16;u++)i[u]=e[u];let o=n[0],r=n[1],s=n[2],a=n[3],c=n[4];for(let u=0;u<=79;u++){u>=16&&(i[u]=t._S(1,i[u-3]^i[u-8]^i[u-14]^i[u-16]));let f=t._S(5,o)+t._f(u,r,s,a)+c+i[u]+t._key[Math.floor(u/20)]|0;c=a,a=s,s=t._S(30,r),r=o,o=f}n[0]=n[0]+o|0,n[1]=n[1]+r|0,n[2]=n[2]+s|0,n[3]=n[3]+a|0,n[4]=n[4]+c|0}};var o7={};o7.aes=class{constructor(e){let t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();let n=t._tables[0][4],i=t._tables[1],o=e.length,r,s,a,c=1;if(o!==4&&o!==6&&o!==8)throw new Error("invalid aes key size");for(t._key=[s=e.slice(0),a=[]],r=o;r<4*o+28;r++){let u=s[r-1];(r%o===0||o===8&&r%o===4)&&(u=n[u>>>24]<<24^n[u>>16&255]<<16^n[u>>8&255]<<8^n[u&255],r%o===0&&(u=u<<8^u>>>24^c<<24,c=c<<1^(c>>7)*283)),s[r]=s[r-o]^u}for(let u=0;r;u++,r--){let f=s[u&3?r:r-4];r<=4||u<4?a[u]=f:a[u]=i[0][n[f>>>24]]^i[1][n[f>>16&255]]^i[2][n[f>>8&255]]^i[3][n[f&255]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){let e=this._tables[0],t=this._tables[1],n=e[4],i=t[4],o=[],r=[],s,a,c,u;for(let f=0;f<256;f++)r[(o[f]=f<<1^(f>>7)*283)^f]=f;for(let f=s=0;!n[f];f^=a||1,s=r[s]||1){let d=s^s<<1^s<<2^s<<3^s<<4;d=d>>8^d&255^99,n[f]=d,i[d]=f,u=o[c=o[a=o[f]]];let p=u*16843009^c*65537^a*257^f*16843008,g=o[d]*257^d*16843008;for(let m=0;m<4;m++)e[m][f]=g=g<<24^g>>>8,t[m][d]=p=p<<24^p>>>8}for(let f=0;f<5;f++)e[f]=e[f].slice(0),t[f]=t[f].slice(0)}_crypt(e,t){if(e.length!==4)throw new Error("invalid aes block size");let n=this._key[t],i=n.length/4-2,o=[0,0,0,0],r=this._tables[t],s=r[0],a=r[1],c=r[2],u=r[3],f=r[4],d=e[0]^n[0],p=e[t?3:1]^n[1],g=e[2]^n[2],m=e[t?1:3]^n[3],C=4,x,A,b;for(let E=0;E<i;E++)x=s[d>>>24]^a[p>>16&255]^c[g>>8&255]^u[m&255]^n[C],A=s[p>>>24]^a[g>>16&255]^c[m>>8&255]^u[d&255]^n[C+1],b=s[g>>>24]^a[m>>16&255]^c[d>>8&255]^u[p&255]^n[C+2],m=s[m>>>24]^a[d>>16&255]^c[p>>8&255]^u[g&255]^n[C+3],C+=4,d=x,p=A,g=b;for(let E=0;E<4;E++)o[t?3&-E:E]=f[d>>>24]<<24^f[p>>16&255]<<16^f[g>>8&255]<<8^f[m&255]^n[C++],x=d,d=p,p=g,g=m,m=x;return o}};var Lde={getRandomValues(e){let t=new Uint32Array(e.buffer),n=i=>{let o=987654321,r=4294967295;return function(){return o=36969*(o&65535)+(o>>16)&r,i=18e3*(i&65535)+(i>>16)&r,(((o<<16)+i&r)/4294967296+.5)*(Math.random()>.5?1:-1)}};for(let i=0,o;i<e.length;i+=4){let r=n((o||Math.random())*4294967296);o=r()*987654071,t[i/4]=r()*4294967296|0}return e}},r7={};r7.ctrGladman=class{constructor(e,t){this._prf=e,this._initIv=t,this._iv=t}reset(){this._iv=this._initIv}update(e){return this.calculate(this._prf,e,this._iv)}incWord(e){if((e>>24&255)===255){let t=e>>16&255,n=e>>8&255,i=e&255;t===255?(t=0,n===255?(n=0,i===255?i=0:++i):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=i}else e+=1<<24;return e}incCounter(e){(e[0]=this.incWord(e[0]))===0&&(e[1]=this.incWord(e[1]))}calculate(e,t,n){let i;if(!(i=t.length))return[];let o=xc.bitLength(t);for(let r=0;r<i;r+=4){this.incCounter(n);let s=e.encrypt(n);t[r]^=s[0],t[r+1]^=s[1],t[r+2]^=s[2],t[r+3]^=s[3]}return xc.clamp(t,o)}};var hE={importKey(e){return new hE.hmacSha1(Lv.bytes.toBits(e))},pbkdf2(e,t,n,i){if(n=n||1e4,i<0||n<0)throw new Error("invalid params to pbkdf2");let o=(i>>5)+1<<2,r,s,a,c,u,f=new ArrayBuffer(o),d=new DataView(f),p=0,g=xc;for(t=Lv.bytes.toBits(t),u=1;p<(o||1);u++){for(r=s=e.encrypt(g.concat(t,[u])),a=1;a<n;a++)for(s=e.encrypt(s),c=0;c<s.length;c++)r[c]^=s[c];for(a=0;p<(o||1)&&a<r.length;a++)d.setInt32(p,r[a]),p+=4}return f.slice(0,i/8)}};hE.hmacSha1=class{constructor(e){let t=this,n=t._hash=i7.sha1,i=[[],[]],o=n.prototype.blockSize/32;t._baseHash=[new n,new n],e.length>o&&(e=n.hash(e));for(let r=0;r<o;r++)i[0][r]=e[r]^909522486,i[1][r]=e[r]^1549556828;t._baseHash[0].update(i[0]),t._baseHash[1].update(i[1]),t._resultHash=new n(t._baseHash[0])}reset(){let e=this;e._resultHash=new e._hash(e._baseHash[0]),e._updated=!1}update(e){let t=this;t._updated=!0,t._resultHash.update(e)}digest(){let e=this,t=e._resultHash.finalize(),n=new e._hash(e._baseHash[1]).update(t).finalize();return e.reset(),n}encrypt(e){if(this._updated)throw new Error("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}};var pE="Invalid pasword",mE=16,rJe="raw",Nde={name:"PBKDF2"},sJe={name:"HMAC"},aJe="SHA-1",cJe=Object.assign({hash:sJe},Nde),Fde=Object.assign({iterations:1e3,hash:{name:aJe}},Nde),lJe=["deriveBits"],Fv=[8,12,16],Nv=[16,24,32],zg=10,Vde=[0,0,0,0],V3=typeof crypto<"u",kde=V3&&typeof crypto.subtle<"u",Fh=Lv.bytes,Ude=o7.aes,zde=r7.ctrGladman,Hde=hE.hmacSha1,N3=class{constructor(t,n,i){Object.assign(this,{password:t,signed:n,strength:i-1,pendingInput:new Uint8Array(0)})}async append(t){let n=this;if(n.password){let o=zl(t,0,Fv[n.strength]+2);await uJe(n,o,n.password),n.password=null,n.aesCtrGladman=new zde(new Ude(n.keys.key),Array.from(Vde)),n.hmac=new Hde(n.keys.authentication),t=zl(t,Fv[n.strength]+2)}let i=new Uint8Array(t.length-zg-(t.length-zg)%mE);return Gde(n,t,i,0,zg,!0)}flush(){let t=this,n=t.pendingInput,i=zl(n,0,n.length-zg),o=zl(n,n.length-zg),r=new Uint8Array(0);if(i.length){let a=Fh.toBits(i);t.hmac.update(a);let c=t.aesCtrGladman.update(a);r=Fh.fromBits(c)}let s=!0;if(t.signed){let a=zl(Fh.fromBits(t.hmac.digest()),0,zg);for(let c=0;c<zg;c++)a[c]!=o[c]&&(s=!1)}return{valid:s,data:r}}},F3=class{constructor(t,n){Object.assign(this,{password:t,strength:n-1,pendingInput:new Uint8Array(0)})}async append(t){let n=this,i=new Uint8Array(0);n.password&&(i=await fJe(n,n.password),n.password=null,n.aesCtrGladman=new zde(new Ude(n.keys.key),Array.from(Vde)),n.hmac=new Hde(n.keys.authentication));let o=new Uint8Array(i.length+t.length-t.length%mE);return o.set(i,0),Gde(n,t,o,i.length,0)}flush(){let t=this,n=new Uint8Array(0);if(t.pendingInput.length){let o=t.aesCtrGladman.update(Fh.toBits(t.pendingInput));t.hmac.update(o),n=Fh.fromBits(o)}let i=zl(Fh.fromBits(t.hmac.digest()),0,zg);return{data:s7(n,i),signature:i}}};function Gde(e,t,n,i,o,r){let s=t.length-o;e.pendingInput.length&&(t=s7(e.pendingInput,t),n=pJe(n,s-s%mE));let a;for(a=0;a<=s-mE;a+=mE){let c=Fh.toBits(zl(t,a,a+mE));r&&e.hmac.update(c);let u=e.aesCtrGladman.update(c);r||e.hmac.update(u),n.set(Fh.fromBits(u),a+i)}return e.pendingInput=zl(t,a),n}async function uJe(e,t,n){await Wde(e,n,zl(t,0,Fv[e.strength]));let i=zl(t,Fv[e.strength]),o=e.keys.passwordVerification;if(o[0]!=i[0]||o[1]!=i[1])throw new Error(pE)}async function fJe(e,t){let n=dJe(new Uint8Array(Fv[e.strength]));return await Wde(e,t,n),s7(n,e.keys.passwordVerification)}async function Wde(e,t,n){let i=Bv(t),o=await hJe(rJe,i,cJe,!1,lJe),r=await mJe(Object.assign({salt:n},Fde),o,8*(Nv[e.strength]*2+2)),s=new Uint8Array(r);e.keys={key:Fh.toBits(zl(s,0,Nv[e.strength])),authentication:Fh.toBits(zl(s,Nv[e.strength],Nv[e.strength]*2)),passwordVerification:zl(s,Nv[e.strength]*2)}}function dJe(e){return V3&&typeof crypto.getRandomValues=="function"?crypto.getRandomValues(e):Lde.getRandomValues(e)}function hJe(e,t,n,i,o){return V3&&kde&&typeof crypto.subtle.importKey=="function"?crypto.subtle.importKey(e,t,n,i,o):hE.importKey(t)}async function mJe(e,t,n){return V3&&kde&&typeof crypto.subtle.deriveBits=="function"?await crypto.subtle.deriveBits(e,t,n):hE.pbkdf2(t,e.salt,Fde.iterations,n)}function s7(e,t){let n=e;return e.length+t.length&&(n=new Uint8Array(e.length+t.length),n.set(e,0),n.set(t,e.length)),n}function pJe(e,t){if(t&&t>e.length){let n=e;e=new Uint8Array(t),e.set(n,0)}return e}function zl(e,t,n){return e.subarray(t,n)}var _E=12,k3=class{constructor(t,n){let i=this;Object.assign(i,{password:t,passwordVerification:n}),Xde(i,t)}append(t){let n=this;if(n.password){let i=jde(n,t.subarray(0,_E));if(n.password=null,i[_E-1]!=n.passwordVerification)throw new Error(pE);t=t.subarray(_E)}return jde(n,t)}flush(){return{valid:!0,data:new Uint8Array(0)}}},U3=class{constructor(t,n){let i=this;Object.assign(i,{password:t,passwordVerification:n}),Xde(i,t)}append(t){let n=this,i,o;if(n.password){n.password=null;let r=crypto.getRandomValues(new Uint8Array(_E));r[_E-1]=n.passwordVerification,i=new Uint8Array(t.length+r.length),i.set(qde(n,r),0),o=_E}else i=new Uint8Array(t.length),o=0;return i.set(qde(n,t),o),i}flush(){return{data:new Uint8Array(0)}}};function jde(e,t){let n=new Uint8Array(t.length);for(let i=0;i<t.length;i++)n[i]=Kde(e)^t[i],a7(e,n[i]);return n}function qde(e,t){let n=new Uint8Array(t.length);for(let i=0;i<t.length;i++)n[i]=Kde(e)^t[i],a7(e,t[i]);return n}function Xde(e,t){e.keys=[305419896,591751049,878082192],e.crcKey0=new Ug(e.keys[0]),e.crcKey2=new Ug(e.keys[2]);for(let n=0;n<t.length;n++)a7(e,t.charCodeAt(n))}function a7(e,t){e.crcKey0.append([t]),e.keys[0]=~e.crcKey0.get(),e.keys[1]=Yde(e.keys[1]+Zde(e.keys[0])),e.keys[1]=Yde(Math.imul(e.keys[1],134775813)+1),e.crcKey2.append([e.keys[1]>>>24]),e.keys[2]=~e.crcKey2.get()}function Kde(e){let t=e.keys[2]|2;return Zde(Math.imul(t,t^1)>>>8)}function Zde(e){return e&255}function Yde(e){return e&4294967295}var H3="deflate",G3="inflate",z3="Invalid signature",c7=class{constructor(t,{signature:n,password:i,signed:o,compressed:r,zipCrypto:s,passwordVerification:a,encryptionStrength:c},{chunkSize:u}){let f=Boolean(i);Object.assign(this,{signature:n,encrypted:f,signed:o,compressed:r,inflate:r&&new t({chunkSize:u}),crc32:o&&new Ug,zipCrypto:s,decrypt:f&&s?new k3(i,a):new N3(i,o,c)})}async append(t){let n=this;return n.encrypted&&t.length&&(t=await n.decrypt.append(t)),n.compressed&&t.length&&(t=await n.inflate.append(t)),(!n.encrypted||n.zipCrypto)&&n.signed&&t.length&&n.crc32.append(t),t}async flush(){let t=this,n,i=new Uint8Array(0);if(t.encrypted){let o=t.decrypt.flush();if(!o.valid)throw new Error(z3);i=o.data}if((!t.encrypted||t.zipCrypto)&&t.signed){let o=new DataView(new Uint8Array(4).buffer);if(n=t.crc32.get(),o.setUint32(0,n),t.signature!=o.getUint32(0,!1))throw new Error(z3)}return t.compressed&&(i=await t.inflate.append(i)||new Uint8Array(0),await t.inflate.flush()),{data:i,signature:n}}},l7=class{constructor(t,{encrypted:n,signed:i,compressed:o,level:r,zipCrypto:s,password:a,passwordVerification:c,encryptionStrength:u},{chunkSize:f}){Object.assign(this,{encrypted:n,signed:i,compressed:o,deflate:o&&new t({level:r||5,chunkSize:f}),crc32:i&&new Ug,zipCrypto:s,encrypt:n&&s?new U3(a,c):new F3(a,u)})}async append(t){let n=this,i=t;return n.compressed&&t.length&&(i=await n.deflate.append(t)),n.encrypted&&i.length&&(i=await n.encrypt.append(i)),(!n.encrypted||n.zipCrypto)&&n.signed&&t.length&&n.crc32.append(t),i}async flush(){let t=this,n,i=new Uint8Array(0);if(t.compressed&&(i=await t.deflate.flush()||new Uint8Array(0)),t.encrypted){i=await t.encrypt.append(i);let o=t.encrypt.flush();n=o.signature;let r=new Uint8Array(i.length+o.data.length);r.set(i,0),r.set(o.data,i.length),i=r}return(!t.encrypted||t.zipCrypto)&&t.signed&&(n=t.crc32.get()),{data:i,signature:n}}};function $de(e,t,n){if(t.codecType.startsWith(H3))return new l7(e,t,n);if(t.codecType.startsWith(G3))return new c7(e,t,n)}var Jde="init",Qde="append",u7="flush",_Je="message",ehe=!0,W3=(e,t,n,i,o,r,s)=>(Object.assign(e,{busy:!0,codecConstructor:t,options:Object.assign({},n),scripts:s,terminate(){e.worker&&!e.busy&&(e.worker.terminate(),e.interface=null)},onTaskFinished(){e.busy=!1,o(e)}}),r?yJe(e,i):gJe(e,i));function gJe(e,t){let n=$de(e.codecConstructor,e.options,t);return{async append(i){try{return await n.append(i)}catch(o){throw e.onTaskFinished(),o}},async flush(){try{return await n.flush()}finally{e.onTaskFinished()}},abort(){e.onTaskFinished()}}}function yJe(e,t){let n,i={type:"module"};if(!e.interface){if(!ehe)e.worker=o(i,t.baseURL);else try{e.worker=o({},t.baseURL)}catch{ehe=!1,e.worker=o(i,t.baseURL)}e.worker.addEventListener(_Je,a,!1),e.interface={append(c){return r({type:Qde,data:c})},flush(){return r({type:u7})},abort(){e.onTaskFinished()}}}return e.interface;function o(c,u){let f,d;f=e.scripts[0],typeof f=="function"&&(f=f());try{d=new URL(f,u)}catch{d=f}return new Worker(d,c)}async function r(c){if(!n){let u=e.options,f=e.scripts.slice(1);await s({scripts:f,type:Jde,options:u,config:{chunkSize:t.chunkSize}})}return s(c)}function s(c){let u=e.worker,f=new Promise((d,p)=>n={resolve:d,reject:p});try{if(c.data)try{c.data=c.data.buffer,u.postMessage(c,[c.data])}catch{u.postMessage(c)}else u.postMessage(c)}catch(d){n.reject(d),n=null,e.onTaskFinished()}return f}function a(c){let u=c.data;if(n){let f=u.error,d=u.type;if(f){let p=new Error(f.message);p.stack=f.stack,n.reject(p),n=null,e.onTaskFinished()}else if(d==Jde||d==u7||d==Qde){let p=u.data;d==u7?(n.resolve({data:new Uint8Array(p),signature:u.signature}),n=null,e.onTaskFinished()):n.resolve(p&&new Uint8Array(p))}}}}var iC=[],f7=[];function j3(e,t,n){let o=!(!t.compressed&&!t.signed&&!t.encrypted)&&(t.useWebWorkers||t.useWebWorkers===void 0&&n.useWebWorkers),r=o&&n.workerScripts?n.workerScripts[t.codecType]:[];if(iC.length<n.maxWorkers){let a={};return iC.push(a),W3(a,e,t,n,s,o,r)}else{let a=iC.find(c=>!c.busy);return a?(the(a),W3(a,e,t,n,s,o,r)):new Promise(c=>f7.push({resolve:c,codecConstructor:e,options:t,webWorker:o,scripts:r}))}function s(a){if(f7.length){let[{resolve:c,codecConstructor:u,options:f,webWorker:d,scripts:p}]=f7.splice(0,1);c(W3(a,u,f,n,s,d,p))}else a.worker?(the(a),Number.isFinite(n.terminateWorkerTimeout)&&n.terminateWorkerTimeout>=0&&(a.terminateTimeout=setTimeout(()=>{iC=iC.filter(c=>c!=a),a.terminate()},n.terminateWorkerTimeout))):iC=iC.filter(c=>c!=a)}}function the(e){e.terminateTimeout&&(clearTimeout(e.terminateTimeout),e.terminateTimeout=null)}var ihe="Abort error";async function q3(e,t,n,i,o,r,s){let a=Math.max(r.chunkSize,64);return c();async function c(u=0,f=0){let d=s.signal,p=o();if(u<p){d7(d,e);let g=await t.readUint8Array(u+i,Math.min(a,p-u)),m=g.length;d7(d,e);let C=await e.append(g);if(d7(d,e),f+=await nhe(n,C),s.onprogress)try{s.onprogress(u+m,p)}catch{}return c(u+a,f)}else{let g=await e.flush();return f+=await nhe(n,g.data),{signature:g.signature,length:f}}}}function d7(e,t){if(e&&e.aborted)throw t.abort(),new Error(ihe)}async function nhe(e,t){return t.length&&await e.writeUint8Array(t),t.length}var h7="text/plain";var Y3=class{constructor(){this.size=0}init(){this.initialized=!0}},X3=class extends Y3{},Vv=class extends Y3{writeUint8Array(t){this.size+=t.length}},K3=class extends X3{constructor(t){super(),this.blobReader=new oC(new Blob([t],{type:h7}))}init(){super.init(),this.blobReader.init(),this.size=this.blobReader.size}readUint8Array(t,n){return this.blobReader.readUint8Array(t,n)}},Z3=class extends Vv{constructor(t){super(),this.encoding=t,this.blob=new Blob([],{type:h7})}writeUint8Array(t){super.writeUint8Array(t),this.blob=new Blob([this.blob,t.buffer],{type:h7})}getData(){if(this.blob.text)return this.blob.text();{let t=new FileReader;return new Promise((n,i)=>{t.onload=o=>n(o.target.result),t.onerror=()=>i(t.error),t.readAsText(this.blob,this.encoding)})}}};var $3=class extends Vv{constructor(t){super(),this.data="data:"+(t||"")+";base64,",this.pending=[]}writeUint8Array(t){super.writeUint8Array(t);let n=0,i=this.pending,o=this.pending.length;for(this.pending="",n=0;n<Math.floor((o+t.length)/3)*3-o;n++)i+=String.fromCharCode(t[n]);for(;n<t.length;n++)this.pending+=String.fromCharCode(t[n]);i.length>2?this.data+=btoa(i):this.pending=i}getData(){return this.data+btoa(this.pending)}},oC=class extends X3{constructor(t){super(),this.blob=t,this.size=t.size}async readUint8Array(t,n){if(this.blob.arrayBuffer)return new Uint8Array(await this.blob.slice(t,t+n).arrayBuffer());{let i=new FileReader;return new Promise((o,r)=>{i.onload=s=>o(new Uint8Array(s.target.result)),i.onerror=()=>r(i.error),i.readAsArrayBuffer(this.blob.slice(t,t+n))})}}},gE=class extends Vv{constructor(t){super(),this.contentType=t,this.arrayBuffersMaxlength=8,ohe(this)}writeUint8Array(t){super.writeUint8Array(t),this.arrayBuffers.length==this.arrayBuffersMaxlength&&rhe(this),this.arrayBuffers.push(t.buffer)}getData(){return this.blob||(this.arrayBuffers.length&&rhe(this),this.blob=this.pendingBlob,ohe(this)),this.blob}};function ohe(e){e.pendingBlob=new Blob([],{type:e.contentType}),e.arrayBuffers=[]}function rhe(e){e.pendingBlob=new Blob([e.pendingBlob,...e.arrayBuffers],{type:e.contentType}),e.arrayBuffers=[]}var yE="/",m7=new Date(2107,11,31),p7=new Date(1980,0,1);var CJe="\0\u263A\u263B\u2665\u2666\u2663\u2660\u2022\u25D8\u25CB\u25D9\u2642\u2640\u266A\u266B\u263C\u25BA\u25C4\u2195\u203C\xB6\xA7\u25AC\u21A8\u2191\u2193\u2192\u2190\u221F\u2194\u25B2\u25BC !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0 ".split(""),she=e=>{let t="";for(let n=0;n<e.length;n++)t+=CJe[e[n]];return t};var J3=xJe;function xJe(e,t){if(t&&t.trim().toLowerCase()=="cp437")return she(e);if(typeof TextDecoder>"u"){let n=new FileReader;return new Promise((i,o)=>{n.onload=r=>i(r.target.result),n.onerror=()=>o(n.error),n.readAsText(new Blob([e]))})}else return new TextDecoder(t).decode(e)}var AJe=["filename","rawFilename","directory","encrypted","compressedSize","uncompressedSize","lastModDate","rawLastModDate","comment","rawComment","signature","extraField","rawExtraField","bitFlag","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","filenameUTF8","commentUTF8","offset","zip64","compressionMethod","extraFieldNTFS","lastAccessDate","creationDate","extraFieldExtendedTimestamp","version","versionMadeBy","msDosCompatible","internalFileAttribute","externalFileAttribute"],gp=class{constructor(t){AJe.forEach(n=>this[n]=t[n])}};var y7="File format is not recognized",SJe="End of central directory not found",wJe="End of Zip64 central directory not found",vJe="End of Zip64 central directory locator not found",DJe="Central directory header not found",PJe="Local file header not found",IJe="Zip64 extra field not found",OJe="File contains encrypted entry",RJe="Encryption method not supported",ahe="Compression method not supported",che="utf-8",lhe="cp437",uhe=["uncompressedSize","compressedSize","offset"],aV=class{constructor(t,n={}){Object.assign(this,{reader:t,options:n,config:L3()})}async*getEntriesGenerator(t={}){let n=this,i=n.reader;if(i.initialized||await i.init(),i.size<22)throw new Error(y7);let o=await FJe(i,101010256,i.size,22,65535*16);if(!o)throw new Error(SJe);let r=Na(o),s=Rs(r,12),a=Rs(r,16),c=Hl(r,8),u=0;if(a==4294967295||s==4294967295||c==65535){let g=await Hg(i,o.offset-20,20),m=Na(g);if(Rs(m,0)!=117853008)throw new Error(wJe);a=Q3(m,8);let C=await Hg(i,a,56),x=Na(C),A=o.offset-20-56;if(Rs(x,0)!=101075792&&a!=A){let b=a;a=A,u=a-b,C=await Hg(i,a,56),x=Na(C)}if(Rs(x,0)!=101075792)throw new Error(vJe);c=Q3(x,32),s=Q3(x,40),a-=s}if(a<0||a>=i.size)throw new Error(y7);let f=0,d=await Hg(i,a,s),p=Na(d);if(s){let g=o.offset-s;if(Rs(p,f)!=33639248&&a!=g){let m=a;a=g,u=a-m,d=await Hg(i,a,s),p=Na(d)}}if(a<0||a>=i.size)throw new Error(y7);for(let g=0;g<c;g++){let m=new x7(i,n.config,n.options);if(Rs(p,f)!=33639248)throw new Error(DJe);dhe(m,p,f+6);let C=Boolean(m.bitFlag.languageEncodingFlag),x=f+46,A=x+m.filenameLength,b=A+m.extraFieldLength,E=Hl(p,f+4),S=(E&0)==0;Object.assign(m,{versionMadeBy:E,msDosCompatible:S,compressedSize:0,uncompressedSize:0,commentLength:Hl(p,f+32),directory:S&&(xE(p,f+38)&16)==16,offset:Rs(p,f+42)+u,internalFileAttribute:Rs(p,f+34),externalFileAttribute:Rs(p,f+38),rawFilename:d.subarray(x,A),filenameUTF8:C,commentUTF8:C,rawExtraField:d.subarray(A,b)});let v=b+m.commentLength;m.rawComment=d.subarray(b,v);let P=CE(n,t,"filenameEncoding"),O=CE(n,t,"commentEncoding"),[M,B]=await Promise.all([J3(m.rawFilename,m.filenameUTF8?che:P||lhe),J3(m.rawComment,m.commentUTF8?che:O||lhe)]);m.filename=M,m.comment=B,!m.directory&&m.filename.endsWith(yE)&&(m.directory=!0),await hhe(m,m,p,f+6);let L=new gp(m);if(L.getData=(_,T)=>m.getData(_,L,T),f=v,t.onprogress)try{t.onprogress(g+1,c,new gp(m))}catch{}yield L}return!0}async getEntries(t={}){let n=[],i=this.getEntriesGenerator(t),o=i.next();for(;!(await o).done;)n.push((await o).value),o=i.next();return n}async close(){}};var x7=class{constructor(t,n,i){Object.assign(this,{reader:t,config:n,options:i})}async getData(t,n,i={}){let o=this,{reader:r,offset:s,extraFieldAES:a,compressionMethod:c,config:u,bitFlag:f,signature:d,rawLastModDate:p,compressedSize:g}=o,m=o.localDirectory={};r.initialized||await r.init();let C=await Hg(r,s,30),x=Na(C),A=CE(o,i,"password");if(A=A&&A.length&&A,a&&a.originalCompressionMethod!=99)throw new Error(ahe);if(c!=0&&c!=8)throw new Error(ahe);if(Rs(x,0)!=67324752)throw new Error(PJe);dhe(m,x,4),C=await Hg(r,s,30+m.filenameLength+m.extraFieldLength),m.rawExtraField=C.subarray(30+m.filenameLength),await hhe(o,m,x,4),n.lastAccessDate=m.lastAccessDate,n.creationDate=m.creationDate;let b=o.encrypted&&m.encrypted,E=b&&!a;if(b){if(!E&&a.strength===void 0)throw new Error(RJe);if(!A)throw new Error(OJe)}let S=await j3(u.Inflate,{codecType:G3,password:A,zipCrypto:E,encryptionStrength:a&&a.strength,signed:CE(o,i,"checkSignature"),passwordVerification:E&&(f.dataDescriptor?p>>>8&255:d>>>24&255),signature:d,compressed:c!=0,encrypted:b,useWebWorkers:CE(o,i,"useWebWorkers")},u);t.initialized||await t.init();let v=CE(o,i,"signal"),P=s+30+m.filenameLength+m.extraFieldLength;return await q3(S,r,t,P,()=>g,u,{onprogress:i.onprogress,signal:v}),t.getData()}};function dhe(e,t,n){let i=e.rawBitFlag=Hl(t,n+2),o=(i&1)==1,r=Rs(t,n+6);Object.assign(e,{encrypted:o,version:Hl(t,n),bitFlag:{level:(i&6)>>1,dataDescriptor:(i&8)==8,languageEncodingFlag:(i&2048)==2048},rawLastModDate:r,lastModDate:VJe(r),filenameLength:Hl(t,n+22),extraFieldLength:Hl(t,n+24)})}async function hhe(e,t,n,i){let o=t.rawExtraField,r=t.extraField=new Map,s=Na(new Uint8Array(o)),a=0;try{for(;a<o.length;){let C=Hl(s,a),x=Hl(s,a+2);r.set(C,{type:C,data:o.slice(a+4,a+4+x)}),a+=4+x}}catch{}let c=Hl(n,i+4);t.signature=Rs(n,i+10),t.uncompressedSize=Rs(n,i+18),t.compressedSize=Rs(n,i+14);let u=r.get(1);u&&(MJe(u,t),t.extraFieldZip64=u);let f=r.get(28789);f&&(await fhe(f,"filename","rawFilename",t,e),t.extraFieldUnicodePath=f);let d=r.get(25461);d&&(await fhe(d,"comment","rawComment",t,e),t.extraFieldUnicodeComment=d);let p=r.get(39169);p?(BJe(p,t,c),t.extraFieldAES=p):t.compressionMethod=c;let g=r.get(10);g&&(LJe(g,t),t.extraFieldNTFS=g);let m=r.get(21589);m&&(NJe(m,t),t.extraFieldExtendedTimestamp=m)}function MJe(e,t){t.zip64=!0;let n=Na(e.data);e.values=[];for(let o=0;o<Math.floor(e.data.length/8);o++)e.values.push(Q3(n,0+o*8));let i=uhe.filter(o=>t[o]==4294967295);for(let o=0;o<i.length;o++)e[i[o]]=e.values[o];uhe.forEach(o=>{if(t[o]==4294967295)if(e[o]!==void 0)t[o]=e[o];else throw new Error(IJe)})}async function fhe(e,t,n,i,o){let r=Na(e.data);e.version=xE(r,0),e.signature=Rs(r,1);let s=new Ug;s.append(o[n]);let a=Na(new Uint8Array(4));a.setUint32(0,s.get(),!0),e[t]=await J3(e.data.subarray(5)),e.valid=!o.bitFlag.languageEncodingFlag&&e.signature==Rs(a,0),e.valid&&(i[t]=e[t],i[t+"UTF8"]=!0)}function BJe(e,t,n){let i=Na(e.data);e.vendorVersion=xE(i,0),e.vendorId=xE(i,2);let o=xE(i,4);e.strength=o,e.originalCompressionMethod=n,t.compressionMethod=e.compressionMethod=Hl(i,5)}function LJe(e,t){let n=Na(e.data),i=4,o;try{for(;i<e.data.length&&!o;){let r=Hl(n,i),s=Hl(n,i+2);r==1&&(o=e.data.slice(i+4,i+4+s)),i+=4+s}}catch{}try{if(o&&o.length==24){let r=Na(o),s=r.getBigUint64(0,!0),a=r.getBigUint64(8,!0),c=r.getBigUint64(16,!0);Object.assign(e,{rawLastModDate:s,rawLastAccessDate:a,rawCreationDate:c});let u=C7(s),f=C7(a),d=C7(c),p={lastModDate:u,lastAccessDate:f,creationDate:d};Object.assign(e,p),Object.assign(t,p)}}catch{}}function NJe(e,t){let n=Na(e.data),i=xE(n,0),o=[],r=[];(i&1)==1&&(o.push("lastModDate"),r.push("rawLastModDate")),(i&2)==2&&(o.push("lastAccessDate"),r.push("rawLastAccessDate")),(i&4)==4&&(o.push("creationDate"),r.push("rawCreationDate"));let s=1;o.forEach((a,c)=>{if(e.data.length>=s+4){let u=Rs(n,s);t[a]=e[a]=new Date(u*1e3);let f=r[c];e[f]=u}s+=4})}async function FJe(e,t,n,i,o){let r=new Uint8Array(4),s=Na(r);kJe(s,0,t);let a=i+o;return await c(i)||await c(Math.min(a,n));async function c(u){let f=n-u,d=await Hg(e,f,u);for(let p=d.length-i;p>=0;p--)if(d[p]==r[0]&&d[p+1]==r[1]&&d[p+2]==r[2]&&d[p+3]==r[3])return{offset:f+p,buffer:d.slice(p,p+i).buffer}}}function CE(e,t,n){return t[n]===void 0?e.options[n]:t[n]}function VJe(e){let t=(e&4294901760)>>16,n=e&65535;try{return new Date(1980+((t&65024)>>9),((t&480)>>5)-1,t&31,(n&63488)>>11,(n&2016)>>5,(n&31)*2,0)}catch{}}function C7(e){return new Date(Number(e/BigInt(1e4)-BigInt(116444736e5)))}function xE(e,t){return e.getUint8(t)}function Hl(e,t){return e.getUint16(t,!0)}function Rs(e,t){return e.getUint32(t,!0)}function Q3(e,t){return Number(e.getBigUint64(t,!0))}function kJe(e,t,n){e.setUint32(t,n,!0)}function Na(e){return new DataView(e.buffer)}function Hg(e,t,n){return e.readUint8Array(t,n)}var WJe="File already exists",jJe="Zip file comment exceeds 64KB",qJe="File entry comment exceeds 64KB",YJe="File entry name exceeds 64KB",_he="Version exceeds 65535",XJe="The strength must equal 1, 2, or 3",KJe="Extra field type exceeds 65535",ZJe="Extra field data exceeds 64KB",R7="Zip64 is not supported",ghe=new Uint8Array([7,0,2,0,65,69,3,0,0]),yhe=24,I7=0,uV=class{constructor(t,n={}){Object.assign(this,{writer:t,options:n,config:L3(),files:new Map,offset:t.size,pendingCompressedSize:0,pendingEntries:[],pendingAddFileCalls:new Set})}async add(t="",n,i={}){let o=this;if(I7<o.config.maxWorkers){I7++;let r;try{return r=$Je(o,t,n,i),this.pendingAddFileCalls.add(r),await r}finally{this.pendingAddFileCalls.delete(r),I7--;let s=o.pendingEntries.shift();s&&o.add(s.name,s.reader,s.options).then(s.resolve).catch(s.reject)}}else return new Promise((r,s)=>o.pendingEntries.push({name:t,reader:n,options:i,resolve:r,reject:s}))}async close(t=new Uint8Array(0),n={}){for(;this.pendingAddFileCalls.size;)await Promise.all(Array.from(this.pendingAddFileCalls));return await eQe(this,t,n),this.writer.getData()}};async function $Je(e,t,n,i){if(t=t.trim(),i.directory&&!t.endsWith(yE)?t+=yE:i.directory=t.endsWith(yE),e.files.has(t))throw new Error(WJe);let o=Bv(t);if(o.length>65535)throw new Error(YJe);let r=i.comment||"",s=Bv(r);if(s.length>65535)throw new Error(qJe);let a=e.options.version||i.version||0;if(a>65535)throw new Error(_he);let c=e.options.versionMadeBy||i.versionMadeBy||20;if(c>65535)throw new Error(_he);let u=na(e,i,"lastModDate")||new Date,f=na(e,i,"lastAccessDate"),d=na(e,i,"creationDate"),p=na(e,i,"password"),g=na(e,i,"encryptionStrength")||3,m=na(e,i,"zipCrypto");if(p!==void 0&&g!==void 0&&(g<1||g>3))throw new Error(XJe);let C=new Uint8Array(0),x=i.extraField;if(x){let F=0,z=0;x.forEach(k=>F+=4+k.length),C=new Uint8Array(F),x.forEach((k,H)=>{if(H>65535)throw new Error(KJe);if(k.length>65535)throw new Error(ZJe);Bs(C,new Uint16Array([H]),z),Bs(C,new Uint16Array([k.length]),z+2),Bs(C,k,z+4),z+=4+k.length})}let A=na(e,i,"extendedTimestamp");A===void 0&&(A=!0);let b=0,E=na(e,i,"keepOrder");E===void 0&&(E=!0);let S=0,v=na(e,i,"msDosCompatible");v===void 0&&(v=!0);let P=na(e,i,"internalFileAttribute")||0,O=na(e,i,"externalFileAttribute")||0;n&&(n.initialized||await n.init(),S=n.size,b=nQe(S));let M=i.zip64||e.options.zip64||!1;if(e.offset+e.pendingCompressedSize>=4294967295||S>=4294967295||b>=4294967295){if(i.zip64===!1||e.options.zip64===!1||!E)throw new Error(R7);M=!0}e.pendingCompressedSize+=b,await Promise.resolve();let B=na(e,i,"level"),L=na(e,i,"useWebWorkers"),_=na(e,i,"bufferedWrite"),T=na(e,i,"dataDescriptor"),w=na(e,i,"dataDescriptorSignature"),D=na(e,i,"signal");T===void 0&&(T=!0),T&&w===void 0&&(w=!1);let R=await JJe(e,t,n,Object.assign({},i,{rawFilename:o,rawComment:s,version:a,versionMadeBy:c,lastModDate:u,lastAccessDate:f,creationDate:d,rawExtraField:C,zip64:M,password:p,level:B,useWebWorkers:L,encryptionStrength:g,extendedTimestamp:A,zipCrypto:m,bufferedWrite:_,keepOrder:E,dataDescriptor:T,dataDescriptorSignature:w,signal:D,msDosCompatible:v,internalFileAttribute:P,externalFileAttribute:O}));return b&&(e.pendingCompressedSize-=b),Object.assign(R,{name:t,comment:r,extraField:x}),new gp(R)}async function JJe(e,t,n,i){let o=e.files,r=e.writer,s=Array.from(o.values()).pop(),a={},c,u,f;o.set(t,a);try{let d,p,g;if(i.keepOrder&&(d=s&&s.lock),a.lock=g=new Promise(m=>f=m),i.bufferedWrite||e.lockWrite||!i.dataDescriptor?(p=new gE,p.init(),c=!0):(e.lockWrite=new Promise(m=>u=m),r.initialized||await r.init(),p=r),a=await QJe(n,p,e.config,i),a.lock=g,o.set(t,a),a.filename=t,c){let m=0,C=p.getData();await Promise.all([e.lockWrite,d]);let x;do x=Array.from(o.values()).find(A=>A.writingBufferedData),x&&await x.lock;while(x&&x.lock);if(a.writingBufferedData=!0,!i.dataDescriptor){let b=await Che(C,0,26),E=new DataView(b);(!a.encrypted||i.zipCrypto)&&ro(E,14,a.signature),a.zip64?(ro(E,18,4294967295),ro(E,22,4294967295)):(ro(E,18,a.compressedSize),ro(E,22,a.uncompressedSize)),await r.writeUint8Array(new Uint8Array(b)),m=26}await tQe(r,C,m),delete a.writingBufferedData}if(a.offset=e.offset,a.zip64){let m=od(a.rawExtraFieldZip64);tl(m,20,BigInt(a.offset))}else if(a.offset>=4294967295)throw new Error(R7);return e.offset+=a.length,a}catch(d){throw(c&&a.writingBufferedData||!c&&a.dataWritten)&&(d.corruptedEntry=e.hasCorruptedEntries=!0,a.uncompressedSize&&(e.offset+=a.uncompressedSize)),o.delete(t),d}finally{f(),u&&u()}}async function QJe(e,t,n,i){let{rawFilename:o,lastAccessDate:r,creationDate:s,password:a,level:c,zip64:u,zipCrypto:f,dataDescriptor:d,dataDescriptorSignature:p,directory:g,version:m,versionMadeBy:C,rawComment:x,rawExtraField:A,useWebWorkers:b,onprogress:E,signal:S,encryptionStrength:v,extendedTimestamp:P,msDosCompatible:O,internalFileAttribute:M,externalFileAttribute:B}=i,L=Boolean(a&&a.length),_=c!==0&&!g,T;if(L&&!f){T=new Uint8Array(ghe.length+2);let Re=od(T);Uo(Re,0,39169),Bs(T,ghe,2),fV(Re,8,v)}else T=new Uint8Array(0);let w,D;if(P){D=new Uint8Array(9+(r?4:0)+(s?4:0));let Re=od(D);Uo(Re,0,21589),Uo(Re,2,D.length-4);let Ue=1+(r?2:0)+(s?4:0);fV(Re,4,Ue),ro(Re,5,Math.floor(i.lastModDate.getTime()/1e3)),r&&ro(Re,9,Math.floor(r.getTime()/1e3)),s&&ro(Re,13,Math.floor(s.getTime()/1e3));try{w=new Uint8Array(36);let bt=od(w),Ut=O7(i.lastModDate);Uo(bt,0,10),Uo(bt,2,32),Uo(bt,8,1),Uo(bt,10,24),tl(bt,12,Ut),tl(bt,20,O7(r)||Ut),tl(bt,28,O7(s)||Ut)}catch{w=new Uint8Array(0)}}else w=D=new Uint8Array(0);let R={version:m||20,versionMadeBy:C,zip64:u,directory:Boolean(g),filenameUTF8:!0,rawFilename:o,commentUTF8:!0,rawComment:x,rawExtraFieldZip64:u?new Uint8Array(yhe+4):new Uint8Array(0),rawExtraFieldExtendedTimestamp:D,rawExtraFieldNTFS:w,rawExtraFieldAES:T,rawExtraField:A,extendedTimestamp:P,msDosCompatible:O,internalFileAttribute:M,externalFileAttribute:B},F=R.uncompressedSize=0,z=2048;d&&(z=z|8);let k=0;_&&(k=8),u&&(R.version=R.version>45?R.version:45),L&&(z=z|1,f||(R.version=R.version>51?R.version:51,k=99,_&&(R.rawExtraFieldAES[9]=8))),R.compressionMethod=k;let H=R.headerArray=new Uint8Array(26),V=od(H);Uo(V,0,R.version),Uo(V,2,z),Uo(V,4,k);let Y=new Uint32Array(1),q=od(Y),X;i.lastModDate<p7?X=p7:i.lastModDate>m7?X=m7:X=i.lastModDate,Uo(q,0,(X.getHours()<<6|X.getMinutes())<<5|X.getSeconds()/2),Uo(q,2,(X.getFullYear()-1980<<4|X.getMonth()+1)<<5|X.getDate());let W=Y[0];ro(V,6,W),Uo(V,22,o.length);let K=T.length+D.length+w.length+R.rawExtraField.length;Uo(V,24,K);let $=new Uint8Array(30+o.length+K),le=od($);ro(le,0,67324752),Bs($,H,4),Bs($,o,30),Bs($,T,30+o.length),Bs($,D,30+o.length+T.length),Bs($,w,30+o.length+T.length+D.length),Bs($,R.rawExtraField,30+o.length+T.length+D.length+w.length);let me,ie=0;if(e){let Re=await j3(n.Deflate,{codecType:H3,level:c,password:a,encryptionStrength:v,zipCrypto:L&&f,passwordVerification:L&&f&&W>>8&255,signed:!0,compressed:_,encrypted:L,useWebWorkers:b},n);await t.writeUint8Array($),R.dataWritten=!0,me=await q3(Re,e,t,0,()=>e.size,n,{onprogress:E,signal:S}),F=R.uncompressedSize=e.size,ie=me.length}else await t.writeUint8Array($),R.dataWritten=!0;let ce=new Uint8Array(0),pe,Ae=0;if(d&&(ce=new Uint8Array(u?p?24:20:p?16:12),pe=od(ce),p&&(Ae=4,ro(pe,0,134695760))),e){let Re=me.signature;if((!L||f)&&Re!==void 0&&(ro(V,10,Re),R.signature=Re,d&&ro(pe,Ae,Re)),u){let Ue=od(R.rawExtraFieldZip64);Uo(Ue,0,1),Uo(Ue,2,yhe),ro(V,14,4294967295),tl(Ue,12,BigInt(ie)),ro(V,18,4294967295),tl(Ue,4,BigInt(F)),d&&(tl(pe,Ae+4,BigInt(ie)),tl(pe,Ae+12,BigInt(F)))}else ro(V,14,ie),ro(V,18,F),d&&(ro(pe,Ae+4,ie),ro(pe,Ae+8,F))}d&&await t.writeUint8Array(ce);let we=$.length+ie+ce.length;return Object.assign(R,{compressedSize:ie,lastModDate:X,rawLastModDate:W,creationDate:s,lastAccessDate:r,encrypted:L,length:we}),R}async function eQe(e,t,n){let i=e.writer,o=e.files,r=0,s=0,a=e.offset,c=o.size;for(let[,p]of o)s+=46+p.rawFilename.length+p.rawComment.length+p.rawExtraFieldZip64.length+p.rawExtraFieldAES.length+p.rawExtraFieldExtendedTimestamp.length+p.rawExtraFieldNTFS.length+p.rawExtraField.length;let u=n.zip64||e.options.zip64||!1;if(a>=4294967295||s>=4294967295||c>=65535){if(n.zip64===!1||e.options.zip64===!1)throw new Error(R7);u=!0}let f=new Uint8Array(s+(u?98:22)),d=od(f);if(t&&t.length)if(t.length<=65535)Uo(d,r+20,t.length);else throw new Error(jJe);for(let[p,g]of Array.from(o.values()).entries()){let{rawFilename:m,rawExtraFieldZip64:C,rawExtraFieldAES:x,rawExtraField:A,rawComment:b,versionMadeBy:E,headerArray:S,directory:v,zip64:P,msDosCompatible:O,internalFileAttribute:M,externalFileAttribute:B}=g,L,_;if(g.extendedTimestamp){_=g.rawExtraFieldNTFS,L=new Uint8Array(9);let w=od(L);Uo(w,0,21589),Uo(w,2,L.length-4),fV(w,4,1),ro(w,5,Math.floor(g.lastModDate.getTime()/1e3))}else _=L=new Uint8Array(0);let T=C.length+x.length+L.length+_.length+A.length;if(ro(d,r,33639248),Uo(d,r+4,E),Bs(f,S,r+6),Uo(d,r+30,T),Uo(d,r+32,b.length),ro(d,r+34,M),B?ro(d,r+38,B):v&&O&&fV(d,r+38,16),P?ro(d,r+42,4294967295):ro(d,r+42,g.offset),Bs(f,m,r+46),Bs(f,C,r+46+m.length),Bs(f,x,r+46+m.length+C.length),Bs(f,L,r+46+m.length+C.length+x.length),Bs(f,_,r+46+m.length+C.length+x.length+L.length),Bs(f,A,r+46+m.length+C.length+x.length+L.length+_.length),Bs(f,b,r+46+m.length+T),r+=46+m.length+T+b.length,n.onprogress)try{n.onprogress(p+1,o.size,new gp(g))}catch{}}u&&(ro(d,r,101075792),tl(d,r+4,BigInt(44)),Uo(d,r+12,45),Uo(d,r+14,45),tl(d,r+24,BigInt(c)),tl(d,r+32,BigInt(c)),tl(d,r+40,BigInt(s)),tl(d,r+48,BigInt(a)),ro(d,r+56,117853008),tl(d,r+64,BigInt(a)+BigInt(s)),ro(d,r+72,1),c=65535,a=4294967295,s=4294967295,r+=76),ro(d,r,101010256),Uo(d,r+8,c),Uo(d,r+10,c),ro(d,r+12,s),ro(d,r+16,a),await i.writeUint8Array(f),t&&t.length&&await i.writeUint8Array(t)}function Che(e,t,n){if(e.arrayBuffer)return t||n?e.slice(t,n).arrayBuffer():e.arrayBuffer();{let i=new FileReader;return new Promise((o,r)=>{i.onload=s=>o(s.target.result),i.onerror=()=>r(i.error),i.readAsArrayBuffer(t||n?e.slice(t,n):e)})}}async function tQe(e,t,n=0){await o();async function o(){if(n<t.size){let r=await Che(t,n,n+536870912);await e.writeUint8Array(new Uint8Array(r)),n+=536870912,await o()}}}function O7(e){if(e)return(BigInt(e.getTime())+BigInt(116444736e5))*BigInt(1e4)}function na(e,t,n){return t[n]===void 0?e.options[n]:t[n]}function nQe(e){return e+5*(Math.floor(e/16383)+1)}function fV(e,t,n){e.setUint8(t,n)}function Uo(e,t,n){e.setUint16(t,n,!0)}function ro(e,t,n){e.setUint32(t,n,!0)}function tl(e,t,n){e.setBigUint64(t,n,!0)}function Bs(e,t,n){e.set(t,n)}function od(e){return new DataView(e.buffer)}dE({Deflate:fde,Inflate:Mde});function iQe(e){return typeof e=="string"&&(e=document.getElementById(e)),e}var wn=iQe;function oQe(e,t){this.position=e,this.headingPitchRange=t}var dV=oQe;function hV(e,t){this.id=t,this.name=e,this.playlistIndex=0,this.playlist=[],this.tourStart=new ge,this.tourEnd=new ge,this.entryStart=new ge,this.entryEnd=new ge,this._activeEntries=[]}hV.prototype.addPlaylistEntry=function(e){this.playlist.push(e)};hV.prototype.play=function(e,t){this.tourStart.raiseEvent();let n=this;The.call(this,e,t,function(i){n.playlistIndex=0,i||Ahe(n._activeEntries),n.tourEnd.raiseEvent(i)})};hV.prototype.stop=function(){Ahe(this._activeEntries)};function Ahe(e){for(let t=e.pop();t!==void 0;t=e.pop())t.stop()}function The(e,t,n){let i=this.playlist[this.playlistIndex];if(i){let o=rQe.bind(this,e,t,n);if(this._activeEntries.push(i),this.entryStart.raiseEvent(i),i.blocking)i.play(o,e.scene.camera,t);else{let r=this;i.play(function(){r.entryEnd.raiseEvent(i);let s=r._activeEntries.indexOf(i);s>=0&&r._activeEntries.splice(s,1)}),o(e,t,n)}}else l(n)&&n(!1)}function rQe(e,t,n,i){let o=this.playlist[this.playlistIndex];if(this.entryEnd.raiseEvent(o,i),i)n(i);else{let r=this._activeEntries.indexOf(o);r>=0&&this._activeEntries.splice(r,1),this.playlistIndex++,The.call(this,e,t,n)}}var mV=hV;function pV(e,t,n){this.type="KmlTourFlyTo",this.blocking=!0,this.activeCamera=null,this.activeCallback=null,this.duration=e,this.view=n,this.flyToMode=t}pV.prototype.play=function(e,t,n){if(this.activeCamera=t,l(e)&&e!==null){let o=this;this.activeCallback=function(r){delete o.activeCallback,delete o.activeCamera,e(l(r)?!1:r)}}let i=this.getCameraOptions(n);if(this.view.headingPitchRoll)t.flyTo(i);else if(this.view.headingPitchRange){let o=new re(this.view.position);t.flyToBoundingSphere(o,i)}};pV.prototype.stop=function(){l(this.activeCamera)&&this.activeCamera.cancelFlight(),l(this.activeCallback)&&this.activeCallback(!0)};pV.prototype.getCameraOptions=function(e){let t={duration:this.duration};return l(this.activeCallback)&&(t.complete=this.activeCallback),this.flyToMode==="smooth"&&(t.easingFunction=Dr.LINEAR_NONE),this.view.headingPitchRoll?(t.destination=this.view.position,t.orientation=this.view.headingPitchRoll):this.view.headingPitchRange&&(t.offset=this.view.headingPitchRange),l(e)&&(t=mt(t,e)),t};var _V=pV;function M7(e){this.type="KmlTourWait",this.blocking=!0,this.duration=e,this.timeout=null}M7.prototype.play=function(e){let t=this;this.activeCallback=e,this.timeout=setTimeout(function(){delete t.activeCallback,e(!1)},this.duration*1e3)};M7.prototype.stop=function(){clearTimeout(this.timeout),l(this.activeCallback)&&this.activeCallback(!0)};var gV=M7;var Mhe={avi:"video/x-msvideo",bmp:"image/bmp",bz2:"application/x-bzip2",chm:"application/vnd.ms-htmlhelp",css:"text/css",csv:"text/csv",doc:"application/msword",dvi:"application/x-dvi",eps:"application/postscript",flv:"video/x-flv",gif:"image/gif",gz:"application/x-gzip",htm:"text/html",html:"text/html",ico:"image/vnd.microsoft.icon",jnlp:"application/x-java-jnlp-file",jpeg:"image/jpeg",jpg:"image/jpeg",m3u:"audio/x-mpegurl",m4v:"video/mp4",mathml:"application/mathml+xml",mid:"audio/midi",midi:"audio/midi",mov:"video/quicktime",mp3:"audio/mpeg",mp4:"video/mp4",mp4v:"video/mp4",mpeg:"video/mpeg",mpg:"video/mpeg",odp:"application/vnd.oasis.opendocument.presentation",ods:"application/vnd.oasis.opendocument.spreadsheet",odt:"application/vnd.oasis.opendocument.text",ogg:"application/ogg",pdf:"application/pdf",png:"image/png",pps:"application/vnd.ms-powerpoint",ppt:"application/vnd.ms-powerpoint",ps:"application/postscript",qt:"video/quicktime",rdf:"application/rdf+xml",rss:"application/rss+xml",rtf:"application/rtf",svg:"image/svg+xml",swf:"application/x-shockwave-flash",text:"text/plain",tif:"image/tiff",tiff:"image/tiff",txt:"text/plain",wav:"audio/x-wav",wma:"audio/x-ms-wma",wmv:"video/x-ms-wmv",xml:"application/xml",zip:"application/zip",detectFromFilename:function(e){let t=e.toLowerCase();return t=YC(t),Mhe[t]}},U7;typeof DOMParser<"u"&&(U7=new DOMParser);var sQe=new Rhe.default({stripPrefix:!1,email:!1,replaceFn:function(e){if(!e.protocolUrlMatch)return!1}}),Gg=32,Ehe=2414016,bhe=1,She=16093e3,whe=.1,vhe=[null,void 0,"http://www.opengis.net/kml/2.2","http://earth.google.com/kml/2.2","http://earth.google.com/kml/2.1","http://earth.google.com/kml/2.0"],Dhe=["http://www.google.com/kml/ext/2.2"],aQe=["http://www.w3.org/2005/Atom"],Pe={kml:vhe,gx:Dhe,atom:aQe,kmlgx:vhe.concat(Dhe)},z7={Document:Ghe,Folder:wQe,Placemark:vQe,NetworkLink:NQe,GroundOverlay:MQe,PhotoOverlay:qhe,ScreenOverlay:RQe,Tour:PQe};function Vh(e){this._dataSource=e,this._deferred=Gs(),this._stack=[],this._promises=[],this._timeoutSet=!1,this._used=!1,this._started=0,this._timeThreshold=1e3}Object.defineProperties(Vh.prototype,{dataSource:{get:function(){return this._dataSource}}});Vh.prototype.addNodes=function(e,t){this._stack.push({nodes:e,index:0,processingData:t}),this._used=!0};Vh.prototype.addPromise=function(e){this._promises.push(e)};Vh.prototype.wait=function(){let e=this._deferred;return this._used||e.resolve(),Promise.all([e.promise,Promise.all(this._promises)])};Vh.prototype.process=function(){let e=this._stack.length===1;return e&&(this._started=jl._getTimestamp()),this._process(e)};Vh.prototype._giveUpTime=function(){if(this._timeoutSet)return;this._timeoutSet=!0,this._timeThreshold=50;let e=this;setTimeout(function(){e._timeoutSet=!1,e._started=jl._getTimestamp(),e._process(!0)},0)};Vh.prototype._nextNode=function(){let e=this._stack,t=e[e.length-1],n=t.index,i=t.nodes;if(n!==i.length)return++t.index,i[n]};Vh.prototype._pop=function(){let e=this._stack;return e.pop(),e.length===0?(this._deferred.resolve(),!1):!0};Vh.prototype._process=function(e){let t=this.dataSource,n=this._stack[this._stack.length-1].processingData,i=this._nextNode();for(;l(i);){let o=z7[i.localName];if(l(o)&&(Pe.kml.indexOf(i.namespaceURI)!==-1||Pe.gx.indexOf(i.namespaceURI)!==-1)&&(o(t,i,n,this),this._timeoutSet||jl._getTimestamp()>this._started+this._timeThreshold)){this._giveUpTime();return}i=this._nextNode()}this._pop()&&e&&this._process(!0)};function cQe(e){let t=e.slice(0,Math.min(4,e.size)),n=Gs(),i=new FileReader;return i.addEventListener("load",function(){n.resolve(new DataView(i.result).getUint32(0,!1)===1347093252)}),i.addEventListener("error",function(){n.reject(i.error)}),i.readAsArrayBuffer(t),n.promise}function lQe(e){let t=Gs(),n=new FileReader;return n.addEventListener("load",function(){t.resolve(n.result)}),n.addEventListener("error",function(){t.reject(n.error)}),n.readAsText(e),t.promise}function Bhe(e){let t={xsi:"http://www.w3.org/2001/XMLSchema-instance"},n,i,o,r;for(let s in t)t.hasOwnProperty(s)&&(o=RegExp(`[< ]${s}:`),r=`xmlns:${s}=`,o.test(e)&&e.indexOf(r)===-1&&(l(n)||(n=e.substr(0,e.indexOf("<kml")+4),i=e.substr(n.length)),n+=` ${r}"${t[s]}"`));return l(n)&&(e=n+i),e}function Lhe(e){let t=e.indexOf("xmlns:"),n=e.indexOf(">",t),i,o,r;for(;t!==-1&&t<n;)i=e.slice(t,e.indexOf('"',t)),o=t,t=e.indexOf(i,t+1),t!==-1?(r=e.indexOf('"',e.indexOf('"',t)+1),e=e.slice(0,t-1)+e.slice(r+1,e.length),t=e.indexOf("xmlns:",o-1)):t=e.indexOf("xmlns:",o+1);return e}function uQe(e,t){return Promise.resolve(e.getData(new Z3)).then(function(n){n=Bhe(n),n=Lhe(n),t.kml=U7.parseFromString(n,"application/xml")})}function B7(e,t){let n=y(Mhe.detectFromFilename(e.filename),"application/octet-stream");return Promise.resolve(e.getData(new $3(n))).then(function(i){t[e.filename]=i})}function Gl(e,t,n,i){let o=i.keys,r=new kv.default("."),s=e.querySelectorAll(t);for(let a=0;a<s.length;a++){let c=s[a],u=c.getAttribute(n);if(l(u)){let d=new kv.default(u).absoluteTo(r).toString(),p=o.indexOf(d);if(p!==-1){let g=o[p];c.setAttribute(n,i[g]),t==="a"&&c.getAttribute("download")===null&&c.setAttribute("download",g)}}}}function Wl(e,t,n,i){let o=e.querySelectorAll(t);for(let r=0;r<o.length;r++){let s=o[r],a=s.getAttribute(n),c=H7(a,i);l(c)&&s.setAttribute(n,c.url)}}function Nhe(e,t,n){let i=ts(e,"id");i=l(i)&&i.length!==0?i:Hn(),l(n)&&(i=n+i);let o=t.getById(i);return l(o)&&(i=Hn(),l(n)&&(i=n+i)),o=t.add(new $o({id:i})),l(o.kml)||(o.addProperty("kml"),o.kml=new UQe),o}function Uv(e,t){return e==="absolute"||e==="relativeToGround"||t==="relativeToSeaFloor"}function AV(e,t){if(!l(e))return h.fromDegrees(0,0,0,t);let n=e.match(/[^\s,\n]+/g);if(!l(n))return h.fromDegrees(0,0,0,t);let i=parseFloat(n[0]),o=parseFloat(n[1]),r=parseFloat(n[2]);return i=isNaN(i)?0:i,o=isNaN(o)?0:o,r=isNaN(r)?0:r,h.fromDegrees(i,o,r,t)}function yV(e,t){if(!l(e))return;let n=e.textContent.match(/[^\s\n]+/g);if(!l(n))return;let i=n.length,o=new Array(i),r=0;for(let s=0;s<i;s++)o[r++]=AV(n[s],t);return o}function Wg(e,t){if(!l(e))return;let n=e.getAttribute(t);if(n!==null){let i=parseFloat(n);return isNaN(i)?void 0:i}}function ts(e,t){if(!l(e))return;let n=e.getAttribute(t);return n!==null?n:void 0}function yi(e,t,n){if(!l(e))return;let i=e.childNodes,o=i.length;for(let r=0;r<o;r++){let s=i[r];if(s.localName===t&&n.indexOf(s.namespaceURI)!==-1)return s}}function Phe(e,t,n){if(!l(e))return;let i=[],o=e.getElementsByTagNameNS("*",t),r=o.length;for(let s=0;s<r;s++){let a=o[s];a.localName===t&&n.indexOf(a.namespaceURI)!==-1&&i.push(a)}return i}function rd(e,t,n){if(!l(e))return[];let i=[],o=e.childNodes,r=o.length;for(let s=0;s<r;s++){let a=o[s];a.localName===t&&n.indexOf(a.namespaceURI)!==-1&&i.push(a)}return i}function $n(e,t,n){let i=yi(e,t,n);if(l(i)){let o=parseFloat(i.textContent);return isNaN(o)?void 0:o}}function An(e,t,n){let i=yi(e,t,n);if(l(i))return i.textContent.trim()}function sd(e,t,n){let i=yi(e,t,n);if(l(i)){let o=i.textContent.trim();return o==="1"||/^true$/i.test(o)}}function H7(e,t,n){if(!l(e))return;let i;if(l(n)){e=e.replace(/\\/g,"/");let o=n[e];if(l(o))i=new Ie({url:o});else{let r=new kv.default(t.getUrlComponent()),s=new kv.default(e);o=n[s.absoluteTo(r)],l(o)&&(i=new Ie({url:o}))}}return l(i)||(i=t.getDerivedResource({url:e})),i}var nl={maximumRed:void 0,red:void 0,maximumGreen:void 0,green:void 0,maximumBlue:void 0,blue:void 0};function V7(e,t){if(!l(e)||/^\s*$/gm.test(e))return;e[0]==="#"&&(e=e.substring(1));let n=parseInt(e.substring(0,2),16)/255,i=parseInt(e.substring(2,4),16)/255,o=parseInt(e.substring(4,6),16)/255,r=parseInt(e.substring(6,8),16)/255;return t?(r>0?(nl.maximumRed=r,nl.red=void 0):(nl.maximumRed=void 0,nl.red=0),o>0?(nl.maximumGreen=o,nl.green=void 0):(nl.maximumGreen=void 0,nl.green=0),i>0?(nl.maximumBlue=i,nl.blue=void 0):(nl.maximumBlue=void 0,nl.blue=0),nl.alpha=n,U.fromRandom(nl)):new U(r,o,i,n)}function rC(e,t,n){let i=An(e,t,n);if(!!l(i))return V7(i,An(e,"colorMode",n)==="random")}function fQe(e){let t=yi(e,"TimeStamp",Pe.kmlgx),n=An(t,"when",Pe.kmlgx);if(!l(t)||!l(n)||n.length===0)return;let i=Q.fromIso8601(n),o=new Rr;return o.addInterval(new gn({start:i,stop:Ve.MAXIMUM_VALUE})),o}function dQe(e){let t=yi(e,"TimeSpan",Pe.kmlgx);if(!l(t))return;let n,i=yi(t,"begin",Pe.kmlgx),o=l(i)?Q.fromIso8601(i.textContent):void 0,r=yi(t,"end",Pe.kmlgx),s=l(r)?Q.fromIso8601(r.textContent):void 0;if(l(o)&&l(s)){if(Q.lessThan(s,o)){let a=o;o=s,s=a}n=new Rr,n.addInterval(new gn({start:o,stop:s}))}else l(o)?(n=new Rr,n.addInterval(new gn({start:o,stop:Ve.MAXIMUM_VALUE}))):l(s)&&(n=new Rr,n.addInterval(new gn({start:Ve.MINIMUM_VALUE,stop:s})));return n}function Fhe(){let e=new rc;return e.width=Gg,e.height=Gg,e.scaleByDistance=new St(Ehe,bhe,She,whe),e.pixelOffsetScaleByDistance=new St(Ehe,bhe,She,whe),e}function G7(){let e=new rh;return e.outline=!0,e.outlineColor=U.WHITE,e}function Vhe(){let e=new oh;return e.translucencyByDistance=new St(3e6,1,5e6,0),e.pixelOffset=new G(17,0),e.horizontalOrigin=ui.LEFT,e.font="16px sans-serif",e.style=Fo.FILL_AND_OUTLINE,e}function W7(e,t,n,i,o){let r=An(e,"href",Pe.kml);if(!l(r)||r.length===0)return;if(r.indexOf("root://icons/palette-")===0){let a=r.charAt(21),c=y($n(e,"x",Pe.gx),0),u=y($n(e,"y",Pe.gx),0);c=Math.min(c/32,7),u=7-Math.min(u/32,7);let f=8*u+c;r=`https://maps.google.com/mapfiles/kml/pal${a}/icon${f}.png`}let s=H7(r,n,i);if(o){let a=An(e,"refreshMode",Pe.kml),c=An(e,"viewRefreshMode",Pe.kml);a==="onInterval"||a==="onExpire"?Bt(`kml-refreshMode-${a}`,`KML - Unsupported Icon refreshMode: ${a}`):(c==="onStop"||c==="onRegion")&&Bt(`kml-refreshMode-${c}`,`KML - Unsupported Icon viewRefreshMode: ${c}`);let u=y(An(e,"viewBoundScale",Pe.kml),1),f=c==="onStop"?"BBOX=[bboxWest],[bboxSouth],[bboxEast],[bboxNorth]":"",d=y(An(e,"viewFormat",Pe.kml),f),p=An(e,"httpQuery",Pe.kml);l(d)&&s.setQueryParameters(tu(xV(d))),l(p)&&s.setQueryParameters(tu(xV(p)));let g=t._ellipsoid;return q7(s,t.camera,t.canvas,u,t._lastCameraView.bbox,g),s}return s}function hQe(e,t,n,i,o){let r=$n(t,"scale",Pe.kml),s=$n(t,"heading",Pe.kml),a=rC(t,"color",Pe.kml),c=yi(t,"Icon",Pe.kml),u=W7(c,e,i,o,!1);l(c)&&!l(u)&&(u=!1);let f=$n(c,"x",Pe.gx),d=$n(c,"y",Pe.gx),p=$n(c,"w",Pe.gx),g=$n(c,"h",Pe.gx),m=yi(t,"hotSpot",Pe.kml),C=Wg(m,"x"),x=Wg(m,"y"),A=ts(m,"xunits"),b=ts(m,"yunits"),E=n.billboard;l(E)||(E=Fhe(),n.billboard=E),E.image=u,E.scale=r,E.color=a,(l(f)||l(d)||l(p)||l(g))&&(E.imageSubRegion=new Ge(f,d,p,g)),l(s)&&s!==0&&(E.rotation=I.toRadians(-s),E.alignedAxis=h.UNIT_Z),r=y(r,1);let S,v;l(C)&&(A==="pixels"?S=-C*r:A==="insetPixels"?S=(C-Gg)*r:A==="fraction"&&(S=-C*Gg*r),S+=Gg*.5*r),l(x)&&(b==="pixels"?v=x*r:b==="insetPixels"?v=(-x+Gg)*r:b==="fraction"&&(v=x*Gg*r),v-=Gg*.5*r),(l(S)||l(v))&&(E.pixelOffset=new G(S,v))}function CV(e,t,n,i,o){for(let r=0,s=t.childNodes.length;r<s;r++){let a=t.childNodes.item(r);if(a.localName==="IconStyle")hQe(e,a,n,i,o);else if(a.localName==="LabelStyle"){let c=n.label;l(c)||(c=Vhe(),n.label=c),c.scale=y($n(a,"scale",Pe.kml),c.scale),c.fillColor=y(rC(a,"color",Pe.kml),c.fillColor),c.text=n.name}else if(a.localName==="LineStyle"){let c=n.polyline;l(c)||(c=new cc,n.polyline=c),c.width=$n(a,"width",Pe.kml),c.material=rC(a,"color",Pe.kml),l(rC(a,"outerColor",Pe.gx))&&Bt("kml-gx:outerColor","KML - gx:outerColor is not supported in a LineStyle"),l($n(a,"outerWidth",Pe.gx))&&Bt("kml-gx:outerWidth","KML - gx:outerWidth is not supported in a LineStyle"),l($n(a,"physicalWidth",Pe.gx))&&Bt("kml-gx:physicalWidth","KML - gx:physicalWidth is not supported in a LineStyle"),l(sd(a,"labelVisibility",Pe.gx))&&Bt("kml-gx:labelVisibility","KML - gx:labelVisibility is not supported in a LineStyle")}else if(a.localName==="PolyStyle"){let c=n.polygon;l(c)||(c=G7(),n.polygon=c),c.material=y(rC(a,"color",Pe.kml),c.material),c.fill=y(sd(a,"fill",Pe.kml),c.fill),c.outline=y(sd(a,"outline",Pe.kml),c.outline)}else if(a.localName==="BalloonStyle"){let c=y(V7(An(a,"bgColor",Pe.kml)),U.WHITE),u=y(V7(An(a,"textColor",Pe.kml)),U.BLACK),f=An(a,"text",Pe.kml);n.addProperty("balloonStyle"),n.balloonStyle={bgColor:c,textColor:u,text:f}}else if(a.localName==="ListStyle"){let c=An(a,"listItemType",Pe.kml);(c==="radioFolder"||c==="checkOffOnly")&&Bt(`kml-listStyle-${c}`,`KML - Unsupported ListStyle with listItemType: ${c}`)}}}function mQe(e,t,n,i,o){let r=new $o,s,a=-1,c=t.childNodes,u=c.length;for(let d=0;d<u;d++){let p=c[d];(p.localName==="Style"||p.localName==="StyleMap")&&(a=d)}if(a!==-1){let d=c[a];if(d.localName==="Style")CV(e,d,r,i,o);else{let p=rd(d,"Pair",Pe.kml);for(let g=0;g<p.length;g++){let m=p[g],C=An(m,"key",Pe.kml);if(C==="normal"){let x=An(m,"styleUrl",Pe.kml);if(l(x))s=n.getById(x),l(s)||(s=n.getById(`#${x}`)),l(s)&&r.merge(s);else{let A=yi(m,"Style",Pe.kml);CV(e,A,r,i,o)}}else Bt(`kml-styleMap-${C}`,`KML - Unsupported StyleMap key: ${C}`)}}}let f=An(t,"styleUrl",Pe.kml);if(l(f)){let d=f;if(f[0]!=="#"&&f.indexOf("#")!==-1){let p=f.split("#"),g=p[0];d=`${i.getDerivedResource({url:g}).getUrlComponent()}#${p[1]}`}s=n.getById(d),l(s)||(s=n.getById(`#${d}`)),l(s)&&r.merge(s)}return r}function pQe(e,t,n){return t.fetchXML().then(function(i){return khe(e,i,n,t,!0)})}function khe(e,t,n,i,o,r){let s,a,c,u,f=Phe(t,"Style",Pe.kml);if(l(f)){let C=f.length;for(s=0;s<C;s++)u=f[s],a=ts(u,"id"),l(a)&&(a=`#${a}`,o&&l(i)&&(a=i.getUrlComponent()+a),l(n.getById(a))||(c=new $o({id:a}),n.add(c),CV(e,u,c,i,r)))}let d=Phe(t,"StyleMap",Pe.kml);if(l(d)){let C=d.length;for(s=0;s<C;s++){let x=d[s];if(a=ts(x,"id"),l(a)){let A=rd(x,"Pair",Pe.kml);for(let b=0;b<A.length;b++){let E=A[b],S=An(E,"key",Pe.kml);if(S==="normal"){if(a=`#${a}`,o&&l(i)&&(a=i.getUrlComponent()+a),!l(n.getById(a))){c=n.getOrCreateEntity(a);let v=An(E,"styleUrl",Pe.kml);if(l(v)){v[0]!=="#"&&(v=`#${v}`),o&&l(i)&&(v=i.getUrlComponent()+v);let P=n.getById(v);l(P)&&c.merge(P)}else u=yi(E,"Style",Pe.kml),CV(e,u,c,i,r)}}else Bt(`kml-styleMap-${S}`,`KML - Unsupported StyleMap key: ${S}`)}}}}let p=[],g=t.getElementsByTagName("styleUrl"),m=g.length;for(s=0;s<m;s++){let C=g[s].textContent;if(C[0]!=="#"){let x=C.split("#");if(x.length===2){let A=x[0],b=i.getDerivedResource({url:A});p.push(pQe(e,b,n))}}}return p}function j7(e,t,n){let i=new Tg(e,t.id,["position"]),o=new pp(t.position);t.polyline=l(n.polyline)?n.polyline.clone():new cc,t.polyline.positions=new xg([i,o])}function Uhe(e,t){return!l(e)&&!l(t)||e==="clampToGround"?ze.CLAMP_TO_GROUND:e==="relativeToGround"?ze.RELATIVE_TO_GROUND:e==="absolute"?ze.NONE:t==="clampToSeaFloor"?(Bt("kml-gx:altitudeMode-clampToSeaFloor","KML - <gx:altitudeMode>:clampToSeaFloor is currently not supported, using <kml:altitudeMode>:clampToGround."),ze.CLAMP_TO_GROUND):t==="relativeToSeaFloor"?(Bt("kml-gx:altitudeMode-relativeToSeaFloor","KML - <gx:altitudeMode>:relativeToSeaFloor is currently not supported, using <kml:altitudeMode>:relativeToGround."),ze.RELATIVE_TO_GROUND):(l(e)?Bt("kml-altitudeMode-unknown",`KML - Unknown <kml:altitudeMode>:${e}, using <kml:altitudeMode>:CLAMP_TO_GROUND.`):Bt("kml-gx:altitudeMode-unknown",`KML - Unknown <gx:altitudeMode>:${t}, using <kml:altitudeMode>:CLAMP_TO_GROUND.`),ze.CLAMP_TO_GROUND)}function _Qe(e,t,n){return n==="relativeToSeaFloor"||t==="absolute"||t==="relativeToGround"?e:((l(t)&&t!=="clampToGround"||l(n)&&n!=="clampToSeaFloor")&&Bt("kml-altitudeMode-unknown",`KML - Unknown altitudeMode: ${y(t,n)}`),new pp(e))}function gQe(e,t,n,i){if(!l(e))return;if(n==="relativeToSeaFloor"||t==="absolute"||t==="relativeToGround")return e;(l(t)&&t!=="clampToGround"||l(n)&&n!=="clampToSeaFloor")&&Bt("kml-altitudeMode-unknown",`KML - Unknown altitudeMode: ${y(t,n)}`);let o=e.length;for(let r=0;r<o;r++){let s=e[r];i.scaleToGeodeticSurface(s,s)}return e}function TV(e,t,n,i){let o=t.label;l(o)||(o=l(n.label)?n.label.clone():Vhe(),t.label=o),o.text=t.name;let r=t.billboard;l(r)||(r=l(n.billboard)?n.billboard.clone():Fhe(),t.billboard=r),l(r.image)?r.image.getValue()||(r.image=void 0):r.image=e._pinBuilder.fromColor(U.YELLOW,64);let s=1;l(r.scale)&&(s=r.scale.getValue(),s!==0?o.pixelOffset=new G(s*16+1,0):(o.pixelOffset=void 0,o.horizontalOrigin=void 0)),l(i)&&e._clampToGround&&(r.heightReference=i,o.heightReference=i)}function zhe(e,t){let n=e.path;l(n)||(n=new I_,n.leadTime=0,e.path=n);let i=t.polyline;l(i)&&(n.material=i.material,n.width=i.width)}function yQe(e,t,n,i,o){let r=An(n,"coordinates",Pe.kml),s=An(n,"altitudeMode",Pe.kml),a=An(n,"altitudeMode",Pe.gx),c=sd(n,"extrude",Pe.kml),u=e._ellipsoid,f=AV(r,u);return i.position=f,TV(e,i,o,Uhe(s,a)),c&&Uv(s,a)&&j7(t,i,o),!0}function Ihe(e,t,n,i,o){let r=yi(n,"coordinates",Pe.kml),s=An(n,"altitudeMode",Pe.kml),a=An(n,"altitudeMode",Pe.gx),c=sd(n,"extrude",Pe.kml),u=sd(n,"tessellate",Pe.kml),f=Uv(s,a),d=$n(n,"drawOrder",Pe.gx),p=e._ellipsoid,g=yV(r,p),m=o.polyline;if(f&&c){let C=new O_;i.wall=C,C.positions=g;let x=o.polygon;l(x)&&(C.fill=x.fill,C.material=x.material),C.outline=!0,l(m)?(C.outlineColor=l(m.material)?m.material.color:U.WHITE,C.outlineWidth=m.width):l(x)&&(C.outlineColor=l(x.material)?x.material.color:U.WHITE)}else if(e._clampToGround&&!f&&u){let C=new cc;C.clampToGround=!0,i.polyline=C,C.positions=g,l(m)?(C.material=l(m.material)?m.material.color.getValue(Ve.MINIMUM_VALUE):U.WHITE,C.width=y(m.width,1)):(C.material=U.WHITE,C.width=1),C.zIndex=d}else l(d)&&Bt("kml-gx:drawOrder","KML - gx:drawOrder is not supported in LineStrings when clampToGround is false"),e._clampToGround&&!u&&Bt("kml-line-tesselate","Ignoring clampToGround for KML lines without the tessellate flag."),m=l(m)?m.clone():new cc,i.polyline=m,m.positions=gQe(g,s,a,p),(!u||f)&&(m.arcType=qt.NONE);return!0}function CQe(e,t,n,i,o){let r=yi(n,"outerBoundaryIs",Pe.kml),s=yi(r,"LinearRing",Pe.kml),a=yi(s,"coordinates",Pe.kml),c=e._ellipsoid,u=yV(a,c),f=sd(n,"extrude",Pe.kml),d=An(n,"altitudeMode",Pe.kml),p=An(n,"altitudeMode",Pe.gx),g=Uv(d,p),m=l(o.polygon)?o.polygon.clone():G7(),C=o.polyline;if(l(C)&&(m.outlineColor=l(C.material)?C.material.color:U.WHITE,m.outlineWidth=C.width),i.polygon=m,g?(m.perPositionHeight=!0,m.extrudedHeight=f?0:void 0):e._clampToGround||(m.height=0),l(u)){let x=new zc(u),A=rd(n,"innerBoundaryIs",Pe.kml);for(let b=0;b<A.length;b++){s=rd(A[b],"LinearRing",Pe.kml);for(let E=0;E<s.length;E++)a=yi(s[E],"coordinates",Pe.kml),u=yV(a,c),l(u)&&x.holes.push(new zc(u))}m.hierarchy=x}return!0}function xQe(e,t,n,i,o){let r=An(n,"altitudeMode",Pe.kml),s=An(n,"altitudeMode",Pe.gx),a=rd(n,"coord",Pe.gx),c=rd(n,"angles",Pe.gx),u=rd(n,"when",Pe.kml),f=sd(n,"extrude",Pe.kml),d=Uv(r,s),p=e._ellipsoid;c.length>0&&Bt("kml-gx:angles","KML - gx:angles are not supported in gx:Tracks");let g=Math.min(a.length,u.length),m=[],C=[];for(let A=0;A<g;A++){let b=AV(a[A].textContent,p);m.push(b),C.push(Q.fromIso8601(u[A].textContent))}let x=new ea;return x.addSamples(C,m),i.position=x,TV(e,i,o,Uhe(r,s)),zhe(i,o),i.availability=new Rr,u.length>0&&i.availability.addInterval(new gn({start:C[0],stop:C[C.length-1]})),d&&f&&j7(t,i,o),!0}function Ohe(e,t,n,i,o,r,s,a,c){let u=e[0],f=e[e.length-1],d=new ea;d.addSamples(e,t),n.intervals.addInterval(new gn({start:u,stop:f,isStartIncluded:c,isStopIncluded:c,data:_Qe(d,s,a)})),i.addInterval(new gn({start:u,stop:f,isStartIncluded:c,isStopIncluded:c})),o.intervals.addInterval(new gn({start:u,stop:f,isStartIncluded:c,isStopIncluded:c,data:r}))}function AQe(e,t,n,i,o){let r=sd(n,"interpolate",Pe.gx),s=rd(n,"Track",Pe.gx),a,c,u,f=!1,d=new Sg,p=new Rr,g=new Qs,m=e._ellipsoid;for(let C=0,x=s.length;C<x;C++){let A=s[C],b=rd(A,"when",Pe.kml),E=rd(A,"coord",Pe.gx),S=An(A,"altitudeMode",Pe.kml),v=An(A,"altitudeMode",Pe.gx),P=Uv(S,v),O=sd(A,"extrude",Pe.kml),M=Math.min(E.length,b.length),B=[];a=[];for(let L=0;L<M;L++){let _=AV(E[L].textContent,m);B.push(_),a.push(Q.fromIso8601(b[L].textContent))}r&&(l(c)&&Ohe([c,a[0]],[u,B[0]],g,p,d,!1,"absolute",void 0,!1),c=a[M-1],u=B[B.length-1]),Ohe(a,B,g,p,d,P&&O,S,v,!0),f=f||P&&O}return i.availability=p,i.position=g,TV(e,i,o),zhe(i,o),f&&(j7(t,i,o),i.polyline.show=d),!0}var Hhe={Point:yQe,LineString:Ihe,LinearRing:Ihe,Polygon:CQe,Track:xQe,MultiTrack:AQe,MultiGeometry:TQe,Model:EQe};function TQe(e,t,n,i,o,r){let s=n.childNodes,a=!1;for(let c=0,u=s.length;c<u;c++){let f=s.item(c),d=Hhe[f.localName];if(l(d)){let p=Nhe(f,t,r);p.parent=i,p.name=i.name,p.availability=i.availability,p.description=i.description,p.kml=i.kml,d(e,t,f,p,o)&&(a=!0)}}return a}function EQe(e,t,n,i,o){return Bt("kml-unsupportedGeometry",`KML - Unsupported geometry: ${n.localName}`),!1}function bQe(e,t){let n=yi(e,"ExtendedData",Pe.kml);if(!l(n))return;l(yi(n,"SchemaData",Pe.kml))&&Bt("kml-schemaData","KML - SchemaData is unsupported"),l(ts(n,"xmlns:prefix"))&&Bt("kml-extendedData","KML - ExtendedData with xmlns:prefix is unsupported");let i={},o=rd(n,"Data",Pe.kml);if(l(o)){let r=o.length;for(let s=0;s<r;s++){let a=o[s],c=ts(a,"name");l(c)&&(i[c]={displayName:An(a,"displayName",Pe.kml),value:An(a,"value",Pe.kml)})}}t.kml.extendedData=i}var so;typeof document<"u"&&(so=document.createElement("div"));function SQe(e,t,n,i,o){let r,s,a,c=t.kml,u=c.extendedData,f=An(e,"description",Pe.kml),d=y(t.balloonStyle,n.balloonStyle),p=U.WHITE,g=U.BLACK,m=f;l(d)&&(p=y(d.bgColor,U.WHITE),g=y(d.textColor,U.BLACK),m=y(d.text,f));let C;if(l(m)){if(m=m.replace("$[name]",y(t.name,"")),m=m.replace("$[description]",y(f,"")),m=m.replace("$[address]",y(c.address,"")),m=m.replace("$[Snippet]",y(c.snippet,"")),m=m.replace("$[id]",t.id),m=m.replace("$[geDirections]",""),l(u)){let b=m.match(/\$\[.+?\]/g);if(b!==null)for(r=0;r<b.length;r++){let E=b[r],S=E.substr(2,E.length-3),v=/\/displayName$/.test(S);S=S.replace(/\/displayName$/,""),C=u[S],l(C)&&(C=v?C.displayName:C.value),l(C)&&(m=m.replace(E,y(C,"")))}}}else if(l(u)&&(a=Object.keys(u),a.length>0)){for(m='<table class="cesium-infoBox-defaultTable cesium-infoBox-defaultTable-lighter"><tbody>',r=0;r<a.length;r++)s=a[r],C=u[s],m+=`<tr><th>${y(C.displayName,s)}</th><td>${y(C.value,"")}</td></tr>`;m+="</tbody></table>"}if(!l(m))return;m=sQe.link(m),so.innerHTML=m;let x=so.querySelectorAll("a");for(r=0;r<x.length;r++)x[r].setAttribute("target","_blank");l(i)&&i.keys.length>1&&(Gl(so,"a","href",i),Gl(so,"link","href",i),Gl(so,"area","href",i),Gl(so,"img","src",i),Gl(so,"iframe","src",i),Gl(so,"video","src",i),Gl(so,"audio","src",i),Gl(so,"source","src",i),Gl(so,"track","src",i),Gl(so,"input","src",i),Gl(so,"embed","src",i),Gl(so,"script","src",i),Gl(so,"video","poster",i)),Wl(so,"a","href",o),Wl(so,"link","href",o),Wl(so,"area","href",o),Wl(so,"img","src",o),Wl(so,"iframe","src",o),Wl(so,"video","src",o),Wl(so,"audio","src",o),Wl(so,"source","src",o),Wl(so,"track","src",o),Wl(so,"input","src",o),Wl(so,"embed","src",o),Wl(so,"script","src",o),Wl(so,"video","poster",o);let A='<div class="cesium-infoBox-description-lighter" style="';A+="overflow:auto;",A+="word-wrap:break-word;",A+=`background-color:${p.toCssColorString()};`,A+=`color:${g.toCssColorString()};`,A+='">',A+=`${so.innerHTML}</div>`,so.innerHTML="",t.description=A}function EV(e,t,n){let i=n.entityCollection,o=n.parentEntity,r=n.sourceResource,s=n.uriResolver,a=Nhe(t,i,n.context),c=a.kml,u=mQe(e,t,n.styleCollection,r,s),f=An(t,"name",Pe.kml);a.name=f,a.parent=o;let d=dQe(t);l(d)||(d=fQe(t)),a.availability=d,X7(a);function p(E){return E?E.show&&p(E.parent):!0}let g=sd(t,"visibility",Pe.kml);a.show=p(o)&&y(g,!0);let m=yi(t,"author",Pe.atom),C=c.author;C.name=An(m,"name",Pe.atom),C.uri=An(m,"uri",Pe.atom),C.email=An(m,"email",Pe.atom);let x=yi(t,"link",Pe.atom),A=c.link;A.href=ts(x,"href"),A.hreflang=ts(x,"hreflang"),A.rel=ts(x,"rel"),A.type=ts(x,"type"),A.title=ts(x,"title"),A.length=ts(x,"length"),c.address=An(t,"address",Pe.kml),c.phoneNumber=An(t,"phoneNumber",Pe.kml),c.snippet=An(t,"Snippet",Pe.kml),bQe(t,a),SQe(t,a,u,s,r);let b=e._ellipsoid;return jhe(t,a,b),Whe(t,a,b),l(yi(t,"Region",Pe.kml))&&Bt("kml-region","KML - Placemark Regions are unsupported"),{entity:a,styleEntity:u}}function Ghe(e,t,n,i){i.addNodes(t.childNodes,n),i.process()}function wQe(e,t,n,i){let o=EV(e,t,n),r=et(n);r.parentEntity=o.entity,Ghe(e,t,r,i)}function vQe(e,t,n,i){let o=EV(e,t,n),r=o.entity,s=o.styleEntity,a=!1,c=t.childNodes;for(let u=0,f=c.length;u<f&&!a;u++){let d=c.item(u),p=Hhe[d.localName];l(p)&&(p(e,n.entityCollection,d,r,s,r.id),a=!0)}a||(r.merge(s),TV(e,r,s))}var DQe={FlyTo:OQe,Wait:IQe,SoundCue:L7,AnimatedUpdate:L7,TourControl:L7};function PQe(e,t,n,i){let o=An(t,"name",Pe.kml),r=ts(t,"id"),s=new mV(o,r),a=yi(t,"Playlist",Pe.gx);if(a){let c=e._ellipsoid,u=a.childNodes;for(let f=0;f<u.length;f++){let d=u[f];if(d.localName){let p=DQe[d.localName];p?p(s,d,c):console.log(`Unknown KML Tour playlist entry type ${d.localName}`)}}}e._kmlTours.push(s)}function L7(e,t){Bt(`KML Tour unsupported node ${t.localName}`)}function IQe(e,t){let n=$n(t,"duration",Pe.gx);e.addPlaylistEntry(new gV(n))}function OQe(e,t,n){let i=$n(t,"duration",Pe.gx),o=An(t,"flyToMode",Pe.gx),r={kml:{}};jhe(t,r,n),Whe(t,r,n);let s=r.kml.lookAt||r.kml.camera,a=new _V(i,o,s);e.addPlaylistEntry(a)}function Whe(e,t,n){let i=yi(e,"Camera",Pe.kml);if(l(i)){let o=y($n(i,"longitude",Pe.kml),0),r=y($n(i,"latitude",Pe.kml),0),s=y($n(i,"altitude",Pe.kml),0),a=y($n(i,"heading",Pe.kml),0),c=y($n(i,"tilt",Pe.kml),0),u=y($n(i,"roll",Pe.kml),0),f=h.fromDegrees(o,r,s,n),d=lf.fromDegrees(a,c-90,u);t.kml.camera=new T3(f,d)}}function jhe(e,t,n){let i=yi(e,"LookAt",Pe.kml);if(l(i)){let o=y($n(i,"longitude",Pe.kml),0),r=y($n(i,"latitude",Pe.kml),0),s=y($n(i,"altitude",Pe.kml),0),a=$n(i,"heading",Pe.kml),c=$n(i,"tilt",Pe.kml),u=y($n(i,"range",Pe.kml),0);c=I.toRadians(y(c,0)),a=I.toRadians(y(a,0));let f=new du(a,c-I.PI_OVER_TWO,u),d=h.fromDegrees(o,r,s,n);t.kml.lookAt=new dV(d,f)}}function RQe(e,t,n,i){let o=n.screenOverlayContainer;if(!l(o))return;let r=n.sourceResource,s=n.uriResolver,a=yi(t,"Icon",Pe.kml),c=W7(a,e,r,s,!1);if(!l(c))return;let u=document.createElement("img");e._screenOverlays.push(u),u.src=c.url,u.onload=function(){let f=["position: absolute"],d=yi(t,"screenXY",Pe.kml),p=yi(t,"overlayXY",Pe.kml),g=yi(t,"size",Pe.kml),m,C,x,A,b,E;l(g)&&(m=Wg(g,"x"),C=Wg(g,"y"),x=ts(g,"xunits"),A=ts(g,"yunits"),l(m)&&m!==-1&&m!==0&&(x==="fraction"?b=`width: ${Math.floor(m*100)}%`:x==="pixels"&&(b=`width: ${m}px`),f.push(b)),l(C)&&C!==-1&&C!==0&&(A==="fraction"?E=`height: ${Math.floor(C*100)}%`:A==="pixels"&&(E=`height: ${C}px`),f.push(E))),u.style=f.join(";");let S=0,v=u.height;l(p)&&(m=Wg(p,"x"),C=Wg(p,"y"),x=ts(p,"xunits"),A=ts(p,"yunits"),l(m)&&(x==="fraction"?S=m*u.width:(x==="pixels"||x==="insetPixels")&&(S=m)),l(C)&&(A==="fraction"?v=C*u.height:(A==="pixels"||A==="insetPixels")&&(v=C))),l(d)&&(m=Wg(d,"x"),C=Wg(d,"y"),x=ts(d,"xunits"),A=ts(d,"yunits"),l(m)&&(x==="fraction"?b=`left: calc(${Math.floor(m*100)}% - ${S}px)`:x==="pixels"?b=`left: ${m-S}px`:x==="insetPixels"&&(b=`right: ${m-S}px`),f.push(b)),l(C)&&(A==="fraction"?E=`bottom: calc(${Math.floor(C*100)}% - ${v}px)`:A==="pixels"?E=`bottom: ${C-v}px`:A==="insetPixels"&&(E=`top: ${C-v}px`),f.push(E))),u.style=f.join(";")},o.appendChild(u)}function MQe(e,t,n,i){let r=EV(e,t,n).entity,s,a=!1,c=e._ellipsoid,u=yV(yi(t,"LatLonQuad",Pe.gx),c),f=$n(t,"drawOrder",Pe.kml);if(l(u))s=G7(),s.hierarchy=new zc(u),s.zIndex=f,r.polygon=s,a=!0;else{s=new sh,s.zIndex=f,r.rectangle=s;let m=yi(t,"LatLonBox",Pe.kml);if(l(m)){let C=$n(m,"west",Pe.kml),x=$n(m,"south",Pe.kml),A=$n(m,"east",Pe.kml),b=$n(m,"north",Pe.kml);l(C)&&(C=I.negativePiToPi(I.toRadians(C))),l(x)&&(x=I.clampToLatitudeRange(I.toRadians(x))),l(A)&&(A=I.negativePiToPi(I.toRadians(A))),l(b)&&(b=I.clampToLatitudeRange(I.toRadians(b))),s.coordinates=new ue(C,x,A,b);let E=$n(m,"rotation",Pe.kml);if(l(E)){let S=I.toRadians(E);s.rotation=S,s.stRotation=S}}}let d=yi(t,"Icon",Pe.kml),p=W7(d,e,n.sourceResource,n.uriResolver,!0);if(l(p)){a&&Bt("kml-gx:LatLonQuad","KML - gx:LatLonQuad Icon does not support texture projection.");let m=$n(d,"x",Pe.gx),C=$n(d,"y",Pe.gx),x=$n(d,"w",Pe.gx),A=$n(d,"h",Pe.gx);(l(m)||l(C)||l(x)||l(A))&&Bt("kml-groundOverlay-xywh","KML - gx:x, gx:y, gx:w, gx:h aren't supported for GroundOverlays"),s.material=p,s.material.color=rC(t,"color",Pe.kml),s.material.transparent=!0}else s.material=rC(t,"color",Pe.kml);let g=An(t,"altitudeMode",Pe.kml);l(g)?g==="absolute"?(s.height=$n(t,"altitude",Pe.kml),s.zIndex=void 0):g!=="clampToGround"&&Bt("kml-altitudeMode-unknown",`KML - Unknown altitudeMode: ${g}`):(g=An(t,"altitudeMode",Pe.gx),g==="relativeToSeaFloor"?(Bt("kml-altitudeMode-relativeToSeaFloor","KML - altitudeMode relativeToSeaFloor is currently not supported, treating as absolute."),s.height=$n(t,"altitude",Pe.kml),s.zIndex=void 0):g==="clampToSeaFloor"?Bt("kml-altitudeMode-clampToSeaFloor","KML - altitudeMode clampToSeaFloor is currently not supported, treating as clampToGround."):l(g)&&Bt("kml-altitudeMode-unknown",`KML - Unknown altitudeMode: ${g}`))}function qhe(e,t,n,i){e._unsupportedNode.raiseEvent(e,n.parentEntity,t,n.entityCollection,n.styleCollection,n.sourceResource,n.uriResolver),Bt(`kml-unsupportedFeature-${t.nodeName}`,`KML - Unsupported feature: ${t.nodeName}`)}var jg={INTERVAL:0,EXPIRE:1,STOP:2};function xV(e){if(!l(e)||e.length===0)return"";let t=e[0];return(t==="&"||t==="?")&&(e=e.substring(1)),e}var BQe=new ue,AE=new he,N7=new G,LQe=new h;function q7(e,t,n,i,o,r){function s(u){return u<-I.PI_OVER_TWO?-I.PI_OVER_TWO:u>I.PI_OVER_TWO?I.PI_OVER_TWO:u}function a(u){return u>I.PI?u-I.TWO_PI:u<-I.PI?u+I.TWO_PI:u}let c=$C(e.queryParameters);if(c=c.replace(/%5B/g,"[").replace(/%5D/g,"]"),l(t)&&t._mode!==ee.MORPHING){let u,f;if(o=y(o,BQe),l(n)&&(N7.x=n.clientWidth*.5,N7.y=n.clientHeight*.5,u=t.pickEllipsoid(N7,r,LQe)),l(u)?f=r.cartesianToCartographic(u,AE):(f=ue.center(o,AE),u=r.cartographicToCartesian(f)),l(i)&&!I.equalsEpsilon(i,1,I.EPSILON9)){let A=o.width*i*.5,b=o.height*i*.5;o=new ue(a(f.longitude-A),s(f.latitude-b),a(f.longitude+A),s(f.latitude+b))}c=c.replace("[bboxWest]",I.toDegrees(o.west).toString()),c=c.replace("[bboxSouth]",I.toDegrees(o.south).toString()),c=c.replace("[bboxEast]",I.toDegrees(o.east).toString()),c=c.replace("[bboxNorth]",I.toDegrees(o.north).toString());let d=I.toDegrees(f.longitude).toString(),p=I.toDegrees(f.latitude).toString();c=c.replace("[lookatLon]",d),c=c.replace("[lookatLat]",p),c=c.replace("[lookatTilt]",I.toDegrees(t.pitch).toString()),c=c.replace("[lookatHeading]",I.toDegrees(t.heading).toString()),c=c.replace("[lookatRange]",h.distance(t.positionWC,u)),c=c.replace("[lookatTerrainLon]",d),c=c.replace("[lookatTerrainLat]",p),c=c.replace("[lookatTerrainAlt]",f.height.toString()),r.cartesianToCartographic(t.positionWC,AE),c=c.replace("[cameraLon]",I.toDegrees(AE.longitude).toString()),c=c.replace("[cameraLat]",I.toDegrees(AE.latitude).toString()),c=c.replace("[cameraAlt]",I.toDegrees(AE.height).toString());let g=t.frustum,m=g.aspectRatio,C="",x="";if(l(m)){let A=I.toDegrees(g.fov);m>1?(C=A,x=A/m):(x=A,C=A*m)}c=c.replace("[horizFov]",C.toString()),c=c.replace("[vertFov]",x.toString())}else c=c.replace("[bboxWest]","-180"),c=c.replace("[bboxSouth]","-90"),c=c.replace("[bboxEast]","180"),c=c.replace("[bboxNorth]","90"),c=c.replace("[lookatLon]",""),c=c.replace("[lookatLat]",""),c=c.replace("[lookatRange]",""),c=c.replace("[lookatTilt]",""),c=c.replace("[lookatHeading]",""),c=c.replace("[lookatTerrainLon]",""),c=c.replace("[lookatTerrainLat]",""),c=c.replace("[lookatTerrainAlt]",""),c=c.replace("[cameraLon]",""),c=c.replace("[cameraLat]",""),c=c.replace("[cameraAlt]",""),c=c.replace("[horizFov]",""),c=c.replace("[vertFov]","");l(n)?(c=c.replace("[horizPixels]",n.clientWidth),c=c.replace("[vertPixels]",n.clientHeight)):(c=c.replace("[horizPixels]",""),c=c.replace("[vertPixels]","")),c=c.replace("[terrainEnabled]","1"),c=c.replace("[clientVersion]","1"),c=c.replace("[kmlVersion]","2.2"),c=c.replace("[clientName]","Cesium"),c=c.replace("[language]","English"),e.setQueryParameters(tu(c))}function NQe(e,t,n,i){let r=EV(e,t,n).entity,s=n.sourceResource,a=n.uriResolver,c=yi(t,"Link",Pe.kml);if(l(c)||(c=yi(t,"Url",Pe.kml)),l(c)){let u=An(c,"href",Pe.kml),f,d;if(l(u)){let p=u;if(u=H7(u,s,n.uriResolver),/^data:/.test(u.getUrlComponent()))/\.kmz/i.test(s.getUrlComponent())||(p=s.getDerivedResource({url:p}));else{p=u.clone(),f=An(c,"viewRefreshMode",Pe.kml),d=y(An(c,"viewBoundScale",Pe.kml),1);let x=f==="onStop"?"BBOX=[bboxWest],[bboxSouth],[bboxEast],[bboxNorth]":"",A=y(An(c,"viewFormat",Pe.kml),x),b=An(c,"httpQuery",Pe.kml);l(A)&&u.setQueryParameters(tu(xV(A))),l(b)&&u.setQueryParameters(tu(xV(b)));let E=e._ellipsoid;q7(u,e.camera,e.canvas,d,e._lastCameraView.bbox,E)}let g={sourceUri:p,uriResolver:a,context:r.id,screenOverlayContainer:n.screenOverlayContainer},m=new Ps,C=Y7(e,m,u,g).then(function(x){let A=e._entityCollection,b=m.values;A.suspendEvents();for(let v=0;v<b.length;v++){let P=b[v];l(P.parent)||(P.parent=r,X7(P)),A.add(P)}A.resumeEvents();let E=An(c,"refreshMode",Pe.kml),S=y($n(c,"refreshInterval",Pe.kml),0);if(E==="onInterval"&&S>0||E==="onExpire"||f==="onStop"){let v=yi(x,"NetworkLinkControl",Pe.kml),P=l(v),O=Q.now(),M={id:Hn(),href:u,cookie:{},lastUpdated:O,updating:!1,entity:r,viewBoundScale:d,needsUpdate:!1,cameraUpdateTime:O},B=0;if(P&&(M.cookie=tu(y(An(v,"cookie",Pe.kml),"")),B=y($n(v,"minRefreshPeriod",Pe.kml),0)),E==="onInterval")P&&(S=Math.max(B,S)),M.refreshMode=jg.INTERVAL,M.time=S;else if(E==="onExpire"){let L;if(P&&(L=An(v,"expires",Pe.kml)),l(L))try{let _=Q.fromIso8601(L),T=Q.secondsDifference(_,O);T>0&&T<B&&Q.addSeconds(O,B,_),M.refreshMode=jg.EXPIRE,M.time=_}catch{Bt("kml-refreshMode-onInterval-onExpire","KML - NetworkLinkControl expires is not a valid date")}else Bt("kml-refreshMode-onExpire","KML - refreshMode of onExpire requires the NetworkLinkControl to have an expires element")}else l(e.camera)?(M.refreshMode=jg.STOP,M.time=y($n(c,"viewRefreshTime",Pe.kml),0)):Bt("kml-refrehMode-onStop-noCamera","A NetworkLink with viewRefreshMode=onStop requires the `camera` property to be defined.");l(M.refreshMode)&&e._networkLinks.set(M.id,M)}else f==="onRegion"&&Bt("kml-refrehMode-onRegion","KML - Unsupported viewRefreshMode: onRegion")}).catch(function(x){Bt(`An error occured during loading ${u.url}`),e._error.raiseEvent(e,x)});i.addPromise(C)}}}function FQe(e,t,n,i){let o=z7[t.localName];return l(o)?o(e,t,n,i):qhe(e,t,n,i)}function k7(e,t,n,i,o,r,s){t.removeAll();let a=n.documentElement,c=a.localName==="Document"?a:yi(a,"Document",Pe.kml),u=An(c,"name",Pe.kml);l(u)||(u=A_(i.getUrlComponent())),l(e._name)||(e._name=u);let f=new jl._DeferredLoading(e),d=new Ps(e);return Promise.all(khe(e,n,d,i,!1,o)).then(function(){let p=n.documentElement;if(p.localName==="kml"){let m=p.childNodes;for(let C=0;C<m.length;C++){let x=m[C];if(l(z7[x.localName])){p=x;break}}}let g={parentEntity:void 0,entityCollection:t,styleCollection:d,sourceResource:i,uriResolver:o,context:s,screenOverlayContainer:r};return t.suspendEvents(),FQe(e,p,g,f),t.resumeEvents(),f.wait().then(function(){return n.documentElement})})}function VQe(e,t,n,i,o){let r=Zt("ThirdParty/Workers/z-worker-pako.js");dE({workerScripts:{deflate:[r,"./pako_deflate.min.js"],inflate:[r,"./pako_inflate.min.js"]}});let s=new aV(new oC(n));return Promise.resolve(s.getEntries()).then(function(a){let c=[],u={},f;for(let d=0;d<a.length;d++){let p=a[d];p.directory||(/\.kml$/i.test(p.filename)&&(!l(f)||!/\//i.test(p.filename))?(l(f)&&c.push(B7(f,u)),f=p):c.push(B7(p,u)))}return l(f)&&c.push(uQe(f,u)),Promise.all(c).then(function(){if(s.close(),!l(u.kml))throw new de("KMZ file does not contain a KML document.");return u.keys=Object.keys(u),k7(e,t,u.kml,i,u,o)})})}function Y7(e,t,n,i){i=y(i,y.EMPTY_OBJECT);let o=i.sourceUri,r=i.uriResolver,s=i.context,a=i.screenOverlayContainer,c=n;if(typeof n=="string"||n instanceof Ie){n=Ie.createIfNeeded(n),c=n.fetchBlob(),o=y(o,n.clone());let u=e._resourceCredits,f=n.credits;if(l(f)){let d=f.length;for(let p=0;p<d;p++)u.push(f[p])}}else o=y(o,Ie.DEFAULT.clone());return o=Ie.createIfNeeded(o),l(a)&&(a=wn(a)),Promise.resolve(c).then(function(u){return u instanceof Blob?cQe(u).then(function(f){return f?VQe(e,t,u,o,a):lQe(u).then(function(d){d=Bhe(d),d=Lhe(d);let p,g;try{p=U7.parseFromString(d,"application/xml")}catch(m){g=m.toString()}if(l(g)||p.body||p.documentElement.tagName==="parsererror"){let m=l(g)?g:p.documentElement.firstChild.nodeValue;throw m||(m=p.body.innerText),new de(m)}return k7(e,t,p,o,r,a,s)})}):k7(e,t,u,o,r,a,s)}).catch(function(u){return e._error.raiseEvent(e,u),console.log(u),Promise.reject(u)})}function jl(e){e=y(e,y.EMPTY_OBJECT);let t=e.camera,n=e.canvas;this._changed=new ge,this._error=new ge,this._loading=new ge,this._refresh=new ge,this._unsupportedNode=new ge,this._clock=void 0,this._entityCollection=new Ps(this),this._name=void 0,this._isLoading=!1,this._pinBuilder=new c_,this._networkLinks=new gt,this._entityCluster=new Vu,this.canvas=n,this.camera=t,this._lastCameraView={position:l(t)?h.clone(t.positionWC):void 0,direction:l(t)?h.clone(t.directionWC):void 0,up:l(t)?h.clone(t.upWC):void 0,bbox:l(t)?t.computeViewRectangle():ue.clone(ue.MAX_VALUE)},this._ellipsoid=y(e.ellipsoid,oe.WGS84);let i=e.credit;typeof i=="string"&&(i=new jt(i)),this._credit=i,this._resourceCredits=[],this._kmlTours=[],this._screenOverlays=[]}jl.load=function(e,t){return t=y(t,y.EMPTY_OBJECT),new jl(t).load(e,t)};Object.defineProperties(jl.prototype,{name:{get:function(){return this._name},set:function(e){this._name!==e&&(this._name=e,this._changed.raiseEvent(this))}},clock:{get:function(){return this._clock}},entities:{get:function(){return this._entityCollection}},isLoading:{get:function(){return this._isLoading}},changedEvent:{get:function(){return this._changed}},errorEvent:{get:function(){return this._error}},loadingEvent:{get:function(){return this._loading}},refreshEvent:{get:function(){return this._refresh}},unsupportedNodeEvent:{get:function(){return this._unsupportedNode}},show:{get:function(){return this._entityCollection.show},set:function(e){this._entityCollection.show=e}},clustering:{get:function(){return this._entityCluster},set:function(e){this._entityCluster=e}},credit:{get:function(){return this._credit}},kmlTours:{get:function(){return this._kmlTours}}});jl.prototype.load=function(e,t){t=y(t,y.EMPTY_OBJECT),Lr.setLoading(this,!0);let n=this._name;this._name=void 0,this._clampToGround=y(t.clampToGround,!1);let i=this;return Y7(this,this._entityCollection,e,t).then(function(){let o,r=i._entityCollection.computeAvailability(),s=r.start,a=r.stop,c=Q.equals(s,Ve.MINIMUM_VALUE),u=Q.equals(a,Ve.MAXIMUM_VALUE);if(!c||!u){let d;c&&(d=new Date,d.setHours(0,0,0,0),s=Q.fromDate(d)),u&&(d=new Date,d.setHours(24,0,0,0),a=Q.fromDate(d)),o=new vh,o.startTime=s,o.stopTime=a,o.currentTime=Q.clone(s),o.clockRange=vr.LOOP_STOP,o.clockStep=fo.SYSTEM_CLOCK_MULTIPLIER,o.multiplier=Math.round(Math.min(Math.max(Q.secondsDifference(a,s)/60,1),31556900))}let f=!1;return o!==i._clock&&(i._clock=o,f=!0),n!==i._name&&(f=!0),f&&i._changed.raiseEvent(i),Lr.setLoading(i,!1),i}).catch(function(o){return Lr.setLoading(i,!1),i._error.raiseEvent(i,o),console.log(o),Promise.reject(o)})};jl.prototype.destroy=function(){for(;this._screenOverlays.length>0;)this._screenOverlays.pop().remove()};function X7(e){let t=e.parent;if(l(t)){let n=t.availability;if(l(n)){let i=e.availability;l(i)?i.intersect(n):e.availability=n}}}function kQe(e,t,n,i,o){return function(r){if(!i.contains(t.id))return;let s=!1,a=yi(r,"NetworkLinkControl",Pe.kml),c=l(a),u=0;if(c){if(l(yi(a,"Update",Pe.kml))){Bt("kml-networkLinkControl-update","KML - NetworkLinkControl updates aren't supported."),t.updating=!1,i.remove(t.id);return}t.cookie=tu(y(An(a,"cookie",Pe.kml),"")),u=y($n(a,"minRefreshPeriod",Pe.kml),0)}let f=Q.now(),d=t.refreshMode;if(d===jg.INTERVAL)l(a)&&(t.time=Math.max(u,t.time));else if(d===jg.EXPIRE){let O;if(l(a)&&(O=An(a,"expires",Pe.kml)),l(O))try{let M=Q.fromIso8601(O),B=Q.secondsDifference(M,f);B>0&&B<u&&Q.addSeconds(f,u,M),t.time=M}catch{Bt("kml-networkLinkControl-expires","KML - NetworkLinkControl expires is not a valid date"),s=!0}else Bt("kml-refreshMode-onExpire","KML - refreshMode of onExpire requires the NetworkLinkControl to have an expires element"),s=!0}let p=t.entity,g=e._entityCollection,m=n.values;function C(O){g.remove(O);let M=O._children,B=M.length;for(let L=0;L<B;++L)C(M[L])}g.suspendEvents();let x=g.values.slice(),A;for(A=0;A<x.length;++A){let O=x[A];O.parent===p&&(O.parent=void 0,C(O))}for(g.resumeEvents(),g.suspendEvents(),A=0;A<m.length;A++){let O=m[A];l(O.parent)||(O.parent=p,X7(O)),g.add(O)}g.resumeEvents(),s?i.remove(t.id):t.lastUpdated=f;let b=g.computeAvailability(),E=b.start,S=b.stop,v=Q.equals(E,Ve.MINIMUM_VALUE),P=Q.equals(S,Ve.MAXIMUM_VALUE);if(!v||!P){let O=e._clock;(O.startTime!==E||O.stopTime!==S)&&(O.startTime=E,O.stopTime=S,e._changed.raiseEvent(e))}t.updating=!1,t.needsUpdate=!1,e._refresh.raiseEvent(e,o.getUrlComponent(!0))}}var F7=new gt;jl.prototype.update=function(e){let t=this._networkLinks;if(t.length===0)return!0;let n=Q.now(),i=this;F7.removeAll();function o(f){let d=f._children,p=d.length;for(let g=0;g<p;++g){let m=d[g];F7.set(m.id,m),o(m)}}let r=!1,s=this._lastCameraView,a=this.camera;l(a)&&!(a.positionWC.equalsEpsilon(s.position,I.EPSILON7)&&a.directionWC.equalsEpsilon(s.direction,I.EPSILON7)&&a.upWC.equalsEpsilon(s.up,I.EPSILON7))&&(s.position=h.clone(a.positionWC),s.direction=h.clone(a.directionWC),s.up=h.clone(a.upWC),s.bbox=a.computeViewRectangle(),r=!0);let c=new gt,u=!1;return t.values.forEach(function(f){let d=f.entity;if(!F7.contains(d.id)){if(!f.updating){let p=!1;if(f.refreshMode===jg.INTERVAL?Q.secondsDifference(n,f.lastUpdated)>f.time&&(p=!0):f.refreshMode===jg.EXPIRE?Q.greaterThan(n,f.time)&&(p=!0):f.refreshMode===jg.STOP&&(r&&(f.needsUpdate=!0,f.cameraUpdateTime=n),f.needsUpdate&&Q.secondsDifference(n,f.cameraUpdateTime)>=f.time&&(p=!0)),p){o(d),f.updating=!0;let g=new Ps,m=f.href.clone();m.setQueryParameters(f.cookie);let C=y(i._ellipsoid,oe.WGS84);q7(m,i.camera,i.canvas,f.viewBoundScale,s.bbox,C),Y7(i,g,m,{context:d.id}).then(kQe(i,f,g,c,m)).catch(function(x){let A=`NetworkLink ${f.href} refresh failed: ${x}`;console.log(A),i._error.raiseEvent(i,A)}),u=!0}}c.set(f.id,f)}}),u&&(this._networkLinks=c,this._changed.raiseEvent(this)),!0};function UQe(){this.author={name:void 0,uri:void 0,email:void 0},this.link={href:void 0,hreflang:void 0,rel:void 0,type:void 0,title:void 0,length:void 0},this.address=void 0,this.phoneNumber=void 0,this.snippet=void 0,this.extendedData=void 0}jl._DeferredLoading=Vh;jl._getTimestamp=Ei;var bV=jl;function zv(){ye.throwInstantiationError()}zv.prototype.update=ye.throwInstantiationError;zv.prototype.getBoundingSphere=ye.throwInstantiationError;zv.prototype.isDestroyed=ye.throwInstantiationError;zv.prototype.destroy=ye.throwInstantiationError;var Yhe=zv;var K7=32,zQe="http://www.opengis.net/kml/2.2",cd="http://www.google.com/kml/ext/2.2",HQe="http://www.w3.org/2000/xmlns/";function SV(e){this._files={},this._promises=[],this._count=0,this._modelCallback=e}var GQe=/^data:image\/([^,;]+)/;SV.prototype.texture=function(e){let t=this,n;if(typeof e=="string"||e instanceof Ie){if(e=Ie.createIfNeeded(e),!e.isDataUri)return e.url;let i=e.url.match(GQe);n=`texture_${++this._count}`,l(i)&&(n+=`.${i[1]}`);let o=e.fetchBlob().then(function(r){t._files[n]=r});return this._promises.push(o),n}if(e instanceof HTMLCanvasElement){n=`texture_${++this._count}.png`;let i=new Promise(o=>{e.toBlob(function(r){t._files[n]=r,o()})});return this._promises.push(i),n}return""};function WQe(e,t){return function(n){e._files[t]=n}}SV.prototype.model=function(e,t){let n=this._modelCallback;if(!l(n))throw new de("Encountered a model entity while exporting to KML, but no model callback was supplied.");let i={},o=n(e,t,i);for(let r in i)if(i.hasOwnProperty(r)){let s=Promise.resolve(i[r]);this._promises.push(s),s.then(WQe(this,r))}return o};Object.defineProperties(SV.prototype,{promise:{get:function(){return Promise.all(this._promises)}},files:{get:function(){return this._files}}});function wV(e){this._time=e}wV.prototype.get=function(e,t,n){let i;return l(e)&&(i=l(e.getValue)?e.getValue(this._time,n):e),y(i,t)};wV.prototype.getColor=function(e,t){let n=this.get(e,t);if(l(n))return aC(n)};wV.prototype.getMaterialType=function(e){if(!!l(e))return e.getType(this._time)};function Z7(){this._ids={},this._styles={},this._count=0}Z7.prototype.get=function(e){let t=this._ids,n=e.innerHTML;if(l(t[n]))return t[n];let i=`style-${++this._count}`;return e.setAttribute("id",i),i=`#${i}`,t[n]=i,this._styles[n]=e,i};Z7.prototype.save=function(e){let t=this._styles,n=e.childNodes[0];for(let i in t)t.hasOwnProperty(i)&&e.insertBefore(t[i],n)};function Zhe(){this._ids={}}Zhe.prototype.get=function(e){if(!l(e))return this.get(Hn());let t=this._ids;return l(t[e])?`${e.toString()}-${++t[e]}`:(t[e]=0,e)};function $7(e){e=y(e,y.EMPTY_OBJECT);let t=e.entities,n=y(e.kmz,!1),i=$7._createState(e),o=t.values.filter(function(u){return!l(u.parent)}),r=i.kmlDoc,s=r.documentElement;s.setAttributeNS(HQe,"xmlns:gx",cd);let a=r.createElement("Document");s.appendChild(a),Jhe(i,a,o),i.styleCache.save(a);let c=i.externalFileHandler;return c.promise.then(function(){let f=new XMLSerializer().serializeToString(i.kmlDoc);return n?jQe(f,c.files):{kml:f,externalFiles:c.files}})}function jQe(e,t){let n=Zt("ThirdParty/Workers/z-worker-pako.js");dE({workerScripts:{deflate:[n,"./pako_deflate.min.js"],inflate:[n,"./pako_inflate.min.js"]}});let i=new gE,o=new uV(i);return o.add("doc.kml",new K3(e)).then(function(){let r=Object.keys(t);return $he(o,r,t,0)}).then(function(){return o.close()}).then(function(r){return{kmz:r}})}function $he(e,t,n,i){if(t.length===i)return;let o=t[i];return e.add(o,new oC(n[o])).then(function(){return $he(e,t,n,i+1)})}$7._createState=function(e){let t=e.entities,n=new Z7,i=t.computeAvailability(),o=l(e.time)?e.time:i.start,r=y(e.defaultAvailability,i),s=y(e.sampleDuration,60);r.start===Ve.MINIMUM_VALUE?r.stop===Ve.MAXIMUM_VALUE?r=new gn:Q.addSeconds(r.stop,-10*s,r.start):r.stop===Ve.MAXIMUM_VALUE&&Q.addSeconds(r.start,10*s,r.stop);let a=new SV(e.modelCallback);return{kmlDoc:document.implementation.createDocument(zQe,"kml"),ellipsoid:y(e.ellipsoid,oe.WGS84),idManager:new Zhe,styleCache:n,externalFileHandler:a,time:o,valueGetter:new wV(o),sampleDuration:s,defaultAvailability:new Rr([r])}};function Jhe(e,t,n){let i=e.kmlDoc,o=e.styleCache,r=e.valueGetter,s=e.idManager,a=n.length,c,u,f;for(let d=0;d<a;++d){let p=n[d];c=[],u=[],f=[],qQe(e,p,u,f),YQe(e,p.polyline,u,f),Khe(e,p.rectangle,u,f,c),Khe(e,p.polygon,u,f,c),$Qe(e,p,p.model,u,f);let g,m=p.availability;l(m)&&(g=i.createElement("TimeSpan"),Q.equals(m.start,Ve.MINIMUM_VALUE)||g.appendChild(nn(i,"begin",Q.toIso8601(m.start))),Q.equals(m.stop,Ve.MAXIMUM_VALUE)||g.appendChild(nn(i,"end",Q.toIso8601(m.stop))));for(let A=0;A<c.length;++A){let b=c[A];b.setAttribute("id",s.get(p.id)),b.appendChild(nn(i,"name",p.name)),b.appendChild(nn(i,"visibility",p.show)),b.appendChild(nn(i,"description",p.description)),l(g)&&b.appendChild(g),t.appendChild(b)}let C=u.length;if(C>0){let A=i.createElement("Placemark");A.setAttribute("id",s.get(p.id));let b=p.name,E=p.label;if(l(E)){let v=i.createElement("LabelStyle"),P=r.get(E.text);b=l(P)&&P.length>0?P:b;let O=r.getColor(E.fillColor);l(O)&&(v.appendChild(nn(i,"color",O)),v.appendChild(nn(i,"colorMode","normal")));let M=r.get(E.scale);l(M)&&v.appendChild(nn(i,"scale",M)),f.push(v)}A.appendChild(nn(i,"name",b)),A.appendChild(nn(i,"visibility",p.show)),A.appendChild(nn(i,"description",p.description)),l(g)&&A.appendChild(g),t.appendChild(A);let S=f.length;if(S>0){let v=i.createElement("Style");for(let P=0;P<S;++P)v.appendChild(f[P]);A.appendChild(nn(i,"styleUrl",o.get(v)))}if(u.length===1)A.appendChild(u[0]);else if(u.length>1){let v=i.createElement("MultiGeometry");for(let P=0;P<C;++P)v.appendChild(u[P]);A.appendChild(v)}}let x=p._children;if(x.length>0){let A=i.createElement("Folder");A.setAttribute("id",s.get(p.id)),A.appendChild(nn(i,"name",p.name)),A.appendChild(nn(i,"visibility",p.show)),A.appendChild(nn(i,"description",p.description)),t.appendChild(A),Jhe(e,A,x)}}}var il=new h,Ac=new he,ad=new Q;function qQe(e,t,n,i){let o=e.kmlDoc,r=e.ellipsoid,s=e.valueGetter,a=y(t.billboard,t.point);if(!l(a)&&!l(t.path))return;let c=t.position;if(!c.isConstant){Qhe(e,t,a,n,i);return}s.get(c,void 0,il);let u=nn(o,"coordinates",sC(il,r)),f=o.createElement("Point"),d=o.createElement("altitudeMode");d.appendChild(cC(e,a.heightReference)),f.appendChild(d),f.appendChild(u),n.push(f);let p=a instanceof rc?tme(e,a):eme(e,a);i.push(p)}function Qhe(e,t,n,i,o){let r=e.kmlDoc,s=e.ellipsoid,a=e.valueGetter,c,u=t.position,f=!0;u instanceof Qs?(c=u.intervals,f=!1):c=y(t.availability,e.defaultAvailability);let d=n instanceof P_,p,g,m,C=[];for(p=0;p<c.length;++p){let A=c.get(p),b=f?u:A.data,E=r.createElement("altitudeMode");b instanceof pp?(b=b._value,E.appendChild(cC(e,ze.CLAMP_TO_GROUND))):l(n)?E.appendChild(cC(e,n.heightReference)):E.appendChild(cC(e,ze.NONE));let S=[],v=[];if(b.isConstant){a.get(b,void 0,il);let O=nn(r,"coordinates",sC(il,s));S.push(Q.toIso8601(A.start)),v.push(O),S.push(Q.toIso8601(A.stop)),v.push(O)}else if(b instanceof ea)for(m=b._property._times,g=0;g<m.length;++g)S.push(Q.toIso8601(m[g])),b.getValueInReferenceFrame(m[g],Zi.FIXED,il),v.push(sC(il,s));else if(b instanceof ku){m=b._times;let O=b._values;for(g=0;g<m.length;++g)S.push(Q.toIso8601(m[g])),h.fromArray(O,g*3,il),v.push(sC(il,s))}else{let O=e.sampleDuration;A.start.clone(ad),A.isStartIncluded||Q.addSeconds(ad,O,ad);let M=A.stop;for(;Q.lessThan(ad,M);)b.getValue(ad,il),S.push(Q.toIso8601(ad)),v.push(sC(il,s)),Q.addSeconds(ad,O,ad);A.isStopIncluded&&Q.equals(ad,M)&&(b.getValue(ad,il),S.push(Q.toIso8601(ad)),v.push(sC(il,s)))}let P=r.createElementNS(cd,"Track");P.appendChild(E);for(let O=0;O<S.length;++O){let M=nn(r,"when",S[O]),B=nn(r,"coord",v[O],cd);P.appendChild(M),P.appendChild(B)}d&&P.appendChild(nme(e,n)),C.push(P)}if(C.length===1)i.push(C[0]);else if(C.length>1){let A=r.createElementNS(cd,"MultiTrack");for(p=0;p<C.length;++p)A.appendChild(C[p]);i.push(A)}if(l(n)&&!d){let A=n instanceof rc?tme(e,n):eme(e,n);o.push(A)}let x=t.path;if(l(x)){let A=a.get(x.width),b=x.material;if(l(b)||l(A)){let E=r.createElement("LineStyle");l(A)&&E.appendChild(nn(r,"width",A)),J7(e,b,E),o.push(E)}}}function eme(e,t){let n=e.kmlDoc,i=e.valueGetter,o=n.createElement("IconStyle"),r=i.getColor(t.color);l(r)&&(o.appendChild(nn(n,"color",r)),o.appendChild(nn(n,"colorMode","normal")));let s=i.get(t.pixelSize);return l(s)&&o.appendChild(nn(n,"scale",s/K7)),o}function tme(e,t){let n=e.kmlDoc,i=e.valueGetter,o=e.externalFileHandler,r=n.createElement("IconStyle"),s=i.get(t.image);if(l(s)){s=o.texture(s);let p=n.createElement("Icon");p.appendChild(nn(n,"href",s));let g=i.get(t.imageSubRegion);l(g)&&(p.appendChild(nn(n,"x",g.x,cd)),p.appendChild(nn(n,"y",g.y,cd)),p.appendChild(nn(n,"w",g.width,cd)),p.appendChild(nn(n,"h",g.height,cd))),r.appendChild(p)}let a=i.getColor(t.color);l(a)&&(r.appendChild(nn(n,"color",a)),r.appendChild(nn(n,"colorMode","normal")));let c=i.get(t.scale);l(c)&&r.appendChild(nn(n,"scale",c));let u=i.get(t.pixelOffset);if(l(u)){c=y(c,1),G.divideByScalar(u,c,u);let p=i.get(t.width,K7),g=i.get(t.height,K7),m=i.get(t.horizontalOrigin,ui.CENTER);m===ui.CENTER?u.x-=p*.5:m===ui.RIGHT&&(u.x-=p);let C=i.get(t.verticalOrigin,bn.CENTER);C===bn.TOP?u.y+=g:C===bn.CENTER&&(u.y+=g*.5);let x=n.createElement("hotSpot");x.setAttribute("x",-u.x),x.setAttribute("y",u.y),x.setAttribute("xunits","pixels"),x.setAttribute("yunits","pixels"),r.appendChild(x)}let f=i.get(t.rotation),d=i.get(t.alignedAxis);return l(f)&&h.equals(h.UNIT_Z,d)&&(f=I.toDegrees(-f),f===0&&(f=360),r.appendChild(nn(n,"heading",f))),r}function YQe(e,t,n,i){let o=e.kmlDoc,r=e.ellipsoid,s=e.valueGetter;if(!l(t))return;let a=o.createElement("LineString"),c=o.createElement("altitudeMode"),u=s.get(t.clampToGround,!1),f;u?(a.appendChild(nn(o,"tessellate",!0)),f=o.createTextNode("clampToGround")):f=o.createTextNode("absolute"),c.appendChild(f),a.appendChild(c);let d=t.positions,p=s.get(d),g=nn(o,"coordinates",sC(p,r));a.appendChild(g);let m=s.get(t.zIndex);u&&l(m)&&a.appendChild(nn(o,"drawOrder",m,cd)),n.push(a);let C=o.createElement("LineStyle"),x=s.get(t.width);l(x)&&C.appendChild(nn(o,"width",x)),J7(e,t.material,C),i.push(C)}function XQe(e,t,n){let i=e.kmlDoc,o=e.valueGetter,r=o.get(t.height,0);n>0&&(r=n);let s=t.coordinates,a=o.get(s),c=[],u=[ue.northeast,ue.southeast,ue.southwest,ue.northwest];for(let g=0;g<4;++g)u[g](a,Ac),c.push(`${I.toDegrees(Ac.longitude)},${I.toDegrees(Ac.latitude)},${r}`);let f=nn(i,"coordinates",c.join(" ")),d=i.createElement("outerBoundaryIs"),p=i.createElement("LinearRing");return p.appendChild(f),d.appendChild(p),[d]}function Xhe(e,t,n,i){let o=e.kmlDoc,r=e.ellipsoid,s=[],a=t.length;for(let f=0;f<a;++f)he.fromCartesian(t[f],r,Ac),s.push(`${I.toDegrees(Ac.longitude)},${I.toDegrees(Ac.latitude)},${i?Ac.height:n}`);let c=nn(o,"coordinates",s.join(" ")),u=o.createElement("LinearRing");return u.appendChild(c),u}function KQe(e,t,n){let i=e.kmlDoc,o=e.valueGetter,r=o.get(t.height,0),s=o.get(t.perPositionHeight,!1);!s&&n>0&&(r=n);let a=[],c=t.hierarchy,u=o.get(c),f=Array.isArray(u)?u:u.positions,d=i.createElement("outerBoundaryIs");d.appendChild(Xhe(e,f,r,s)),a.push(d);let p=u.holes;if(l(p)){let g=p.length;for(let m=0;m<g;++m){let C=i.createElement("innerBoundaryIs");C.appendChild(Xhe(e,p[m].positions,r,s)),a.push(C)}}return a}function Khe(e,t,n,i,o){let r=e.kmlDoc,s=e.valueGetter;if(!l(t))return;let a=t instanceof sh;if(a&&s.getMaterialType(t.material)==="Image"){ZQe(e,t,o);return}let c=r.createElement("Polygon"),u=s.get(t.extrudedHeight,0);u>0&&c.appendChild(nn(r,"extrude",!0));let f=a?XQe(e,t,u):KQe(e,t,u),d=f.length;for(let x=0;x<d;++x)c.appendChild(f[x]);let p=r.createElement("altitudeMode");p.appendChild(cC(e,t.heightReference)),c.appendChild(p),n.push(c);let g=r.createElement("PolyStyle"),m=s.get(t.fill,!1);m&&g.appendChild(nn(r,"fill",m)),J7(e,t.material,g);let C=s.get(t.outline,!1);if(C){g.appendChild(nn(r,"outline",C));let x=r.createElement("LineStyle"),A=s.get(t.outlineWidth,1);x.appendChild(nn(r,"width",A));let b=s.getColor(t.outlineColor,U.BLACK);x.appendChild(nn(r,"color",b)),x.appendChild(nn(r,"colorMode","normal")),i.push(x)}i.push(g)}function ZQe(e,t,n){let i=e.kmlDoc,o=e.valueGetter,r=e.externalFileHandler,s=i.createElement("GroundOverlay"),a=i.createElement("altitudeMode");a.appendChild(cC(e,t.heightReference)),s.appendChild(a);let c=o.get(t.height);l(c)&&s.appendChild(nn(i,"altitude",c));let u=o.get(t.coordinates),f=i.createElement("LatLonBox");f.appendChild(nn(i,"north",I.toDegrees(u.north))),f.appendChild(nn(i,"south",I.toDegrees(u.south))),f.appendChild(nn(i,"east",I.toDegrees(u.east))),f.appendChild(nn(i,"west",I.toDegrees(u.west))),s.appendChild(f);let d=o.get(t.material),p=r.texture(d.image),g=i.createElement("Icon");g.appendChild(nn(i,"href",p)),s.appendChild(g);let m=d.color;l(m)&&s.appendChild(nn(i,"color",aC(d.color))),n.push(s)}function nme(e,t){let n=e.kmlDoc,i=e.valueGetter,o=e.externalFileHandler,r=n.createElement("Model"),s=i.get(t.scale);if(l(s)){let u=n.createElement("scale");u.appendChild(nn(n,"x",s)),u.appendChild(nn(n,"y",s)),u.appendChild(nn(n,"z",s)),r.appendChild(u)}let a=n.createElement("Link"),c=o.model(t,e.time);return a.appendChild(nn(n,"href",c)),r.appendChild(a),r}function $Qe(e,t,n,i,o){let r=e.kmlDoc,s=e.ellipsoid,a=e.valueGetter;if(!l(n))return;let c=t.position;if(!c.isConstant){Qhe(e,t,n,i,o);return}let u=nme(e,n),f=r.createElement("altitudeMode");f.appendChild(cC(e,n.heightReference)),u.appendChild(f),a.get(c,void 0,il),he.fromCartesian(il,s,Ac);let d=r.createElement("Location");d.appendChild(nn(r,"longitude",I.toDegrees(Ac.longitude))),d.appendChild(nn(r,"latitude",I.toDegrees(Ac.latitude))),d.appendChild(nn(r,"altitude",Ac.height)),u.appendChild(d),i.push(u)}function J7(e,t,n){let i=e.kmlDoc,o=e.valueGetter;if(!l(t))return;let r=o.get(t);if(!l(r))return;let s,a=o.getMaterialType(t),c,u;switch(a){case"Image":s=aC(U.WHITE);break;case"Color":case"Grid":case"PolylineGlow":case"PolylineArrow":case"PolylineDash":s=aC(r.color);break;case"PolylineOutline":s=aC(r.color),c=aC(r.outlineColor),u=r.outlineWidth,n.appendChild(nn(i,"outerColor",c,cd)),n.appendChild(nn(i,"outerWidth",u,cd));break;case"Stripe":s=aC(r.oddColor);break}l(s)&&(n.appendChild(nn(i,"color",s)),n.appendChild(nn(i,"colorMode","normal")))}function cC(e,t){let n=e.kmlDoc,o=e.valueGetter.get(t,ze.NONE),r;switch(o){case ze.NONE:r=n.createTextNode("absolute");break;case ze.CLAMP_TO_GROUND:r=n.createTextNode("clampToGround");break;case ze.RELATIVE_TO_GROUND:r=n.createTextNode("relativeToGround");break}return r}function sC(e,t){Array.isArray(e)||(e=[e]);let n=e.length,i=[];for(let o=0;o<n;++o)he.fromCartesian(e[o],t,Ac),i.push(`${I.toDegrees(Ac.longitude)},${I.toDegrees(Ac.latitude)},${Ac.height}`);return i.join(" ")}function nn(e,t,n,i){n=y(n,""),typeof n=="boolean"&&(n=n?"1":"0");let o=l(i)?e.createElementNS(i,t):e.createElement(t),r=n==="string"&&n.indexOf("<")!==-1?e.createCDATASection(n):e.createTextNode(n);return o.appendChild(r),o}function aC(e){let t="",n=e.toBytes();for(let i=3;i>=0;--i)t+=n[i]<16?`0${n[i].toString(16)}`:n[i].toString(16);return t}var ime=$7;var TE=`attribute vec4 position;
  5281. attribute vec2 textureCoordinates;
  5282. varying vec2 v_textureCoordinates;
  5283. void main()
  5284. {
  5285. gl_Position = position;
  5286. v_textureCoordinates = textureCoordinates;
  5287. }
  5288. `;function vV(e){this._context=e}var Hv,JQe=new Je({primitiveType:Ne.TRIANGLES}),QQe=new oi({color:new U(0,0,0,0)});function eet(e,t){return new $s({context:e,colorTextures:[t],destroyAttachments:!1})}function tet(e,t){return Yt.fromCache({context:e,vertexShaderSource:TE,fragmentShaderSource:t,attributeLocations:{position:0,textureCoordinates:1}})}function net(e,t){return(!l(Hv)||Hv.viewport.width!==e||Hv.viewport.height!==t)&&(Hv=Fe.fromCache({viewport:new Ge(0,0,e,t)})),Hv}vV.prototype.execute=function(e){l(e.preExecute)&&e.preExecute(e);let t=e.outputTexture,n=t.width,i=t.height,o=this._context,r=l(e.vertexArray)?e.vertexArray:o.getViewportQuadVertexArray(),s=l(e.shaderProgram)?e.shaderProgram:tet(o,e.fragmentShaderSource),a=eet(o,t),c=net(n,i),u=e.uniformMap,f=QQe;f.framebuffer=a,f.renderState=c,f.execute(o);let d=JQe;d.vertexArray=r,d.renderState=c,d.shaderProgram=s,d.uniformMap=u,d.framebuffer=a,d.execute(o),a.destroy(),e.persists||(s.destroy(),l(e.vertexArray)&&r.destroy()),l(e.postExecute)&&e.postExecute(t)};vV.prototype.isDestroyed=function(){return!1};vV.prototype.destroy=function(){return fe(this)};var DV=vV;function iet(e){this.context=e,this.framebuffer=void 0,this.blendingEnabled=void 0,this.scissorTest=void 0,this.viewport=void 0}var Tc=iet;function ld(e){this._context=e,this._shaders={},this._numberOfShaders=0,this._shadersToRelease={}}Object.defineProperties(ld.prototype,{numberOfShaders:{get:function(){return this._numberOfShaders}}});ld.prototype.replaceShaderProgram=function(e){return l(e.shaderProgram)&&e.shaderProgram.destroy(),this.getShaderProgram(e)};function oet(e){let t=Object.keys(e).sort();return JSON.stringify(e,t)}ld.prototype.getShaderProgram=function(e){let t=e.vertexShaderSource,n=e.fragmentShaderSource,i=e.attributeLocations;typeof t=="string"&&(t=new ke({sources:[t]})),typeof n=="string"&&(n=new ke({sources:[n]}));let o=t.getCacheKey(),r=n.getCacheKey(),s=l(i)?oet(i):"",a=`${o}:${r}:${s}`,c;if(l(this._shaders[a]))c=this._shaders[a],delete this._shadersToRelease[a];else{let u=this._context,f=t.createCombinedVertexShader(u),d=n.createCombinedFragmentShader(u),p=new Yt({gl:u._gl,logShaderCompilation:u.logShaderCompilation,debugShaders:u.debugShaders,vertexShaderSource:t,vertexShaderText:f,fragmentShaderSource:n,fragmentShaderText:d,attributeLocations:i});c={cache:this,shaderProgram:p,keyword:a,derivedKeywords:[],count:0},p._cachedShader=c,this._shaders[a]=c,++this._numberOfShaders}return++c.count,c.shaderProgram};ld.prototype.replaceDerivedShaderProgram=function(e,t,n){let i=e._cachedShader,o=t+i.keyword,r=this._shaders[o];if(l(r)){Q7(this,r);let s=i.derivedKeywords.indexOf(t);s>-1&&i.derivedKeywords.splice(s,1)}return this.createDerivedShaderProgram(e,t,n)};ld.prototype.getDerivedShaderProgram=function(e,t){let n=e._cachedShader,i=t+n.keyword,o=this._shaders[i];if(!!l(o))return o.shaderProgram};ld.prototype.createDerivedShaderProgram=function(e,t,n){let i=e._cachedShader,o=t+i.keyword,r=n.vertexShaderSource,s=n.fragmentShaderSource,a=n.attributeLocations;typeof r=="string"&&(r=new ke({sources:[r]})),typeof s=="string"&&(s=new ke({sources:[s]}));let c=this._context,u=r.createCombinedVertexShader(c),f=s.createCombinedFragmentShader(c),d=new Yt({gl:c._gl,logShaderCompilation:c.logShaderCompilation,debugShaders:c.debugShaders,vertexShaderSource:r,vertexShaderText:u,fragmentShaderSource:s,fragmentShaderText:f,attributeLocations:a}),p={cache:this,shaderProgram:d,keyword:o,derivedKeywords:[],count:0};return i.derivedKeywords.push(t),d._cachedShader=p,this._shaders[o]=p,d};function Q7(e,t){let n=t.derivedKeywords,i=n.length;for(let o=0;o<i;++o){let r=n[o]+t.keyword,s=e._shaders[r];Q7(e,s)}delete e._shaders[t.keyword],t.shaderProgram.finalDestroy()}ld.prototype.destroyReleasedShaderPrograms=function(){let e=this._shadersToRelease;for(let t in e)if(e.hasOwnProperty(t)){let n=e[t];Q7(this,n),--this._numberOfShaders}this._shadersToRelease={}};ld.prototype.releaseShaderProgram=function(e){if(l(e)){let t=e._cachedShader;t&&--t.count===0&&(this._shadersToRelease[t.keyword]=t)}};ld.prototype.isDestroyed=function(){return!1};ld.prototype.destroy=function(){let e=this._shaders;for(let t in e)e.hasOwnProperty(t)&&e[t].shaderProgram.finalDestroy();return fe(this)};var PV=ld;function lC(){this._textures={},this._numberOfTextures=0,this._texturesToRelease={}}Object.defineProperties(lC.prototype,{numberOfTextures:{get:function(){return this._numberOfTextures}}});lC.prototype.getTexture=function(e){let t=this._textures[e];if(!!l(t))return delete this._texturesToRelease[e],++t.count,t.texture};lC.prototype.addTexture=function(e,t){let n={texture:t,count:1};t.finalDestroy=t.destroy;let i=this;t.destroy=function(){--n.count===0&&(i._texturesToRelease[e]=n)},this._textures[e]=n,++this._numberOfTextures};lC.prototype.destroyReleasedTextures=function(){let e=this._texturesToRelease;for(let t in e)if(e.hasOwnProperty(t)){let n=e[t];delete this._textures[t],n.texture.finalDestroy(),--this._numberOfTextures}this._texturesToRelease={}};lC.prototype.isDestroyed=function(){return!1};lC.prototype.destroy=function(){let e=this._textures;for(let t in e)e.hasOwnProperty(t)&&e[t].texture.finalDestroy();return fe(this)};var IV=lC;function ret(e){e=y(e,y.EMPTY_OBJECT),this.color=U.clone(y(e.color,U.WHITE)),this.intensity=y(e.intensity,2)}var qg=ret;function EE(){this.globeDepthTexture=void 0,this.gamma=void 0,this._viewport=new Ge,this._viewportCartesian4=new se,this._viewportDirty=!1,this._viewportOrthographicMatrix=N.clone(N.IDENTITY),this._viewportTransformation=N.clone(N.IDENTITY),this._model=N.clone(N.IDENTITY),this._view=N.clone(N.IDENTITY),this._inverseView=N.clone(N.IDENTITY),this._projection=N.clone(N.IDENTITY),this._infiniteProjection=N.clone(N.IDENTITY),this._entireFrustum=new G,this._currentFrustum=new G,this._frustumPlanes=new se,this._farDepthFromNearPlusOne=void 0,this._log2FarDepthFromNearPlusOne=void 0,this._oneOverLog2FarDepthFromNearPlusOne=void 0,this._frameState=void 0,this._temeToPseudoFixed=J.clone(N.IDENTITY),this._view3DDirty=!0,this._view3D=new N,this._inverseView3DDirty=!0,this._inverseView3D=new N,this._inverseModelDirty=!0,this._inverseModel=new N,this._inverseTransposeModelDirty=!0,this._inverseTransposeModel=new J,this._viewRotation=new J,this._inverseViewRotation=new J,this._viewRotation3D=new J,this._inverseViewRotation3D=new J,this._inverseProjectionDirty=!0,this._inverseProjection=new N,this._modelViewDirty=!0,this._modelView=new N,this._modelView3DDirty=!0,this._modelView3D=new N,this._modelViewRelativeToEyeDirty=!0,this._modelViewRelativeToEye=new N,this._inverseModelViewDirty=!0,this._inverseModelView=new N,this._inverseModelView3DDirty=!0,this._inverseModelView3D=new N,this._viewProjectionDirty=!0,this._viewProjection=new N,this._inverseViewProjectionDirty=!0,this._inverseViewProjection=new N,this._modelViewProjectionDirty=!0,this._modelViewProjection=new N,this._inverseModelViewProjectionDirty=!0,this._inverseModelViewProjection=new N,this._modelViewProjectionRelativeToEyeDirty=!0,this._modelViewProjectionRelativeToEye=new N,this._modelViewInfiniteProjectionDirty=!0,this._modelViewInfiniteProjection=new N,this._normalDirty=!0,this._normal=new J,this._normal3DDirty=!0,this._normal3D=new J,this._inverseNormalDirty=!0,this._inverseNormal=new J,this._inverseNormal3DDirty=!0,this._inverseNormal3D=new J,this._encodedCameraPositionMCDirty=!0,this._encodedCameraPositionMC=new Un,this._cameraPosition=new h,this._sunPositionWC=new h,this._sunPositionColumbusView=new h,this._sunDirectionWC=new h,this._sunDirectionEC=new h,this._moonDirectionEC=new h,this._lightDirectionWC=new h,this._lightDirectionEC=new h,this._lightColor=new h,this._lightColorHdr=new h,this._pass=void 0,this._mode=void 0,this._mapProjection=void 0,this._ellipsoid=void 0,this._cameraDirection=new h,this._cameraRight=new h,this._cameraUp=new h,this._frustum2DWidth=0,this._eyeHeight=0,this._eyeHeight2D=new G,this._pixelRatio=1,this._orthographicIn3D=!1,this._backgroundColor=new U,this._brdfLut=void 0,this._environmentMap=void 0,this._sphericalHarmonicCoefficients=void 0,this._specularEnvironmentMaps=void 0,this._specularEnvironmentMapsDimensions=new G,this._specularEnvironmentMapsMaximumLOD=void 0,this._fogDensity=void 0,this._invertClassificationColor=void 0,this._splitPosition=0,this._pixelSizePerMeter=void 0,this._geometricToleranceOverMeter=void 0,this._minimumDisableDepthTestDistance=void 0}Object.defineProperties(EE.prototype,{frameState:{get:function(){return this._frameState}},viewport:{get:function(){return this._viewport},set:function(e){if(!Ge.equals(e,this._viewport)){Ge.clone(e,this._viewport);let t=this._viewport,n=this._viewportCartesian4;n.x=t.x,n.y=t.y,n.z=t.width,n.w=t.height,this._viewportDirty=!0}}},viewportCartesian4:{get:function(){return this._viewportCartesian4}},viewportOrthographic:{get:function(){return ome(this),this._viewportOrthographicMatrix}},viewportTransformation:{get:function(){return ome(this),this._viewportTransformation}},model:{get:function(){return this._model},set:function(e){N.clone(e,this._model),this._modelView3DDirty=!0,this._inverseModelView3DDirty=!0,this._inverseModelDirty=!0,this._inverseTransposeModelDirty=!0,this._modelViewDirty=!0,this._inverseModelViewDirty=!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}},inverseModel:{get:function(){return this._inverseModelDirty&&(this._inverseModelDirty=!1,N.inverse(this._model,this._inverseModel)),this._inverseModel}},inverseTransposeModel:{get:function(){let e=this._inverseTransposeModel;return this._inverseTransposeModelDirty&&(this._inverseTransposeModelDirty=!1,N.getMatrix3(this.inverseModel,e),J.transpose(e,e)),e}},view:{get:function(){return this._view}},view3D:{get:function(){return ej(this),this._view3D}},viewRotation:{get:function(){return ej(this),this._viewRotation}},viewRotation3D:{get:function(){return ej(this),this._viewRotation3D}},inverseView:{get:function(){return this._inverseView}},inverseView3D:{get:function(){return ame(this),this._inverseView3D}},inverseViewRotation:{get:function(){return this._inverseViewRotation}},inverseViewRotation3D:{get:function(){return ame(this),this._inverseViewRotation3D}},projection:{get:function(){return this._projection}},inverseProjection:{get:function(){return _et(this),this._inverseProjection}},infiniteProjection:{get:function(){return this._infiniteProjection}},modelView:{get:function(){return get(this),this._modelView}},modelView3D:{get:function(){return yet(this),this._modelView3D}},modelViewRelativeToEye:{get:function(){return bet(this),this._modelViewRelativeToEye}},inverseModelView:{get:function(){return Cet(this),this._inverseModelView}},inverseModelView3D:{get:function(){return xet(this),this._inverseModelView3D}},viewProjection:{get:function(){return Aet(this),this._viewProjection}},inverseViewProjection:{get:function(){return Tet(this),this._inverseViewProjection}},modelViewProjection:{get:function(){return Eet(this),this._modelViewProjection}},inverseModelViewProjection:{get:function(){return wet(this),this._inverseModelViewProjection}},modelViewProjectionRelativeToEye:{get:function(){return vet(this),this._modelViewProjectionRelativeToEye}},modelViewInfiniteProjection:{get:function(){return Det(this),this._modelViewInfiniteProjection}},normal:{get:function(){return Pet(this),this._normal}},normal3D:{get:function(){return Iet(this),this._normal3D}},inverseNormal:{get:function(){return Oet(this),this._inverseNormal}},inverseNormal3D:{get:function(){return Ret(this),this._inverseNormal3D}},entireFrustum:{get:function(){return this._entireFrustum}},currentFrustum:{get:function(){return this._currentFrustum}},frustumPlanes:{get:function(){return this._frustumPlanes}},farDepthFromNearPlusOne:{get:function(){return this._farDepthFromNearPlusOne}},log2FarDepthFromNearPlusOne:{get:function(){return this._log2FarDepthFromNearPlusOne}},oneOverLog2FarDepthFromNearPlusOne:{get:function(){return this._oneOverLog2FarDepthFromNearPlusOne}},eyeHeight:{get:function(){return this._eyeHeight}},eyeHeight2D:{get:function(){return this._eyeHeight2D}},sunPositionWC:{get:function(){return this._sunPositionWC}},sunPositionColumbusView:{get:function(){return this._sunPositionColumbusView}},sunDirectionWC:{get:function(){return this._sunDirectionWC}},sunDirectionEC:{get:function(){return this._sunDirectionEC}},moonDirectionEC:{get:function(){return this._moonDirectionEC}},lightDirectionWC:{get:function(){return this._lightDirectionWC}},lightDirectionEC:{get:function(){return this._lightDirectionEC}},lightColor:{get:function(){return this._lightColor}},lightColorHdr:{get:function(){return this._lightColorHdr}},encodedCameraPositionMCHigh:{get:function(){return sme(this),this._encodedCameraPositionMC.high}},encodedCameraPositionMCLow:{get:function(){return sme(this),this._encodedCameraPositionMC.low}},temeToPseudoFixedMatrix:{get:function(){return this._temeToPseudoFixed}},pixelRatio:{get:function(){return this._pixelRatio}},fogDensity:{get:function(){return this._fogDensity}},geometricToleranceOverMeter:{get:function(){return this._geometricToleranceOverMeter}},pass:{get:function(){return this._pass}},backgroundColor:{get:function(){return this._backgroundColor}},brdfLut:{get:function(){return this._brdfLut}},environmentMap:{get:function(){return this._environmentMap}},sphericalHarmonicCoefficients:{get:function(){return this._sphericalHarmonicCoefficients}},specularEnvironmentMaps:{get:function(){return this._specularEnvironmentMaps}},specularEnvironmentMapsDimensions:{get:function(){return this._specularEnvironmentMapsDimensions}},specularEnvironmentMapsMaximumLOD:{get:function(){return this._specularEnvironmentMapsMaximumLOD}},splitPosition:{get:function(){return this._splitPosition}},minimumDisableDepthTestDistance:{get:function(){return this._minimumDisableDepthTestDistance}},invertClassificationColor:{get:function(){return this._invertClassificationColor}},orthographicIn3D:{get:function(){return this._orthographicIn3D}},ellipsoid:{get:function(){return y(this._ellipsoid,oe.WGS84)}}});function set(e,t){N.clone(t,e._view),N.getMatrix3(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._inverseViewProjectionDirty=!0,e._modelViewProjectionDirty=!0,e._modelViewProjectionRelativeToEyeDirty=!0,e._modelViewInfiniteProjectionDirty=!0,e._normalDirty=!0,e._inverseNormalDirty=!0,e._normal3DDirty=!0,e._inverseNormal3DDirty=!0}function aet(e,t){N.clone(t,e._inverseView),N.getMatrix3(t,e._inverseViewRotation)}function cet(e,t){N.clone(t,e._projection),e._inverseProjectionDirty=!0,e._viewProjectionDirty=!0,e._inverseViewProjectionDirty=!0,e._modelViewProjectionDirty=!0,e._modelViewProjectionRelativeToEyeDirty=!0}function uet(e,t){N.clone(t,e._infiniteProjection),e._modelViewInfiniteProjectionDirty=!0}function fet(e,t){h.clone(t.positionWC,e._cameraPosition),h.clone(t.directionWC,e._cameraDirection),h.clone(t.rightWC,e._cameraRight),h.clone(t.upWC,e._cameraUp);let n=t.positionCartographic;l(n)?e._eyeHeight=n.height:e._eyeHeight=-e._ellipsoid.maximumRadius,e._encodedCameraPositionMCDirty=!0}var Gv=new J,det=new he;function het(e,t){l(Dt.computeIcrfToFixedMatrix(t.time,Gv))||(Gv=Dt.computeTemeToPseudoFixedMatrix(t.time,Gv));let n=iy.computeSunPositionInEarthInertialFrame(t.time,e._sunPositionWC);J.multiplyByVector(Gv,n,n),h.normalize(n,e._sunDirectionWC),n=J.multiplyByVector(e.viewRotation3D,n,e._sunDirectionEC),h.normalize(n,n),n=iy.computeMoonPositionInEarthInertialFrame(t.time,e._moonDirectionEC),J.multiplyByVector(Gv,n,n),J.multiplyByVector(e.viewRotation3D,n,n),h.normalize(n,n);let i=t.mapProjection,r=i.ellipsoid.cartesianToCartographic(e._sunPositionWC,det);i.project(r,e._sunPositionColumbusView)}EE.prototype.updateCamera=function(e){set(this,e.viewMatrix),aet(this,e.inverseViewMatrix),fet(this,e),this._entireFrustum.x=e.frustum.near,this._entireFrustum.y=e.frustum.far,this.updateFrustum(e.frustum),this._orthographicIn3D=this._mode!==ee.SCENE2D&&e.frustum instanceof $t};EE.prototype.updateFrustum=function(e){cet(this,e.projectionMatrix),l(e.infiniteProjectionMatrix)&&uet(this,e.infiniteProjectionMatrix),this._currentFrustum.x=e.near,this._currentFrustum.y=e.far,this._farDepthFromNearPlusOne=e.far-e.near+1,this._log2FarDepthFromNearPlusOne=I.log2(this._farDepthFromNearPlusOne),this._oneOverLog2FarDepthFromNearPlusOne=1/this._log2FarDepthFromNearPlusOne,l(e._offCenterFrustum)&&(e=e._offCenterFrustum),this._frustumPlanes.x=e.top,this._frustumPlanes.y=e.bottom,this._frustumPlanes.z=e.left,this._frustumPlanes.w=e.right};EE.prototype.updatePass=function(e){this._pass=e};var met=[],pet=new qg;EE.prototype.update=function(e){this._mode=e.mode,this._mapProjection=e.mapProjection,this._ellipsoid=e.mapProjection.ellipsoid,this._pixelRatio=e.pixelRatio;let t=e.camera;this.updateCamera(t),e.mode===ee.SCENE2D?(this._frustum2DWidth=t.frustum.right-t.frustum.left,this._eyeHeight2D.x=this._frustum2DWidth*.5,this._eyeHeight2D.y=this._eyeHeight2D.x*this._eyeHeight2D.x):(this._frustum2DWidth=0,this._eyeHeight2D.x=0,this._eyeHeight2D.y=0),het(this,e);let n=y(e.light,pet);n instanceof qg?(this._lightDirectionWC=h.clone(this._sunDirectionWC,this._lightDirectionWC),this._lightDirectionEC=h.clone(this._sunDirectionEC,this._lightDirectionEC)):(this._lightDirectionWC=h.normalize(h.negate(n.direction,this._lightDirectionWC),this._lightDirectionWC),this._lightDirectionEC=J.multiplyByVector(this.viewRotation3D,this._lightDirectionWC,this._lightDirectionEC));let i=n.color,o=h.fromElements(i.red,i.green,i.blue,this._lightColorHdr);o=h.multiplyByScalar(o,n.intensity,o);let r=h.maximumComponent(o);r>1?h.divideByScalar(o,r,this._lightColor):h.clone(o,this._lightColor);let s=e.brdfLutGenerator,a=l(s)?s.colorTexture:void 0;this._brdfLut=a,this._environmentMap=y(e.environmentMap,e.context.defaultCubeMap),this._sphericalHarmonicCoefficients=y(e.sphericalHarmonicCoefficients,met),this._specularEnvironmentMaps=e.specularEnvironmentMaps,this._specularEnvironmentMapsMaximumLOD=e.specularEnvironmentMapsMaximumLOD,l(this._specularEnvironmentMaps)&&G.clone(this._specularEnvironmentMaps.dimensions,this._specularEnvironmentMapsDimensions),this._fogDensity=e.fog.density,this._invertClassificationColor=e.invertClassificationColor,this._frameState=e,this._temeToPseudoFixed=Dt.computeTemeToPseudoFixedMatrix(e.time,this._temeToPseudoFixed),this._splitPosition=e.splitPosition*e.context.drawingBufferWidth;let c=t.frustum.fov,u=this._viewport,f;l(c)?u.height>u.width?f=Math.tan(.5*c)*2/u.height:f=Math.tan(.5*c)*2/u.width:f=1/Math.max(u.width,u.height),this._geometricToleranceOverMeter=f*e.maximumScreenSpaceError,U.clone(e.backgroundColor,this._backgroundColor),this._minimumDisableDepthTestDistance=e.minimumDisableDepthTestDistance,this._minimumDisableDepthTestDistance*=this._minimumDisableDepthTestDistance,this._minimumDisableDepthTestDistance===Number.POSITIVE_INFINITY&&(this._minimumDisableDepthTestDistance=-1)};function ome(e){if(e._viewportDirty){let t=e._viewport;N.computeOrthographicOffCenter(t.x,t.x+t.width,t.y,t.y+t.height,0,1,e._viewportOrthographicMatrix),N.computeViewportTransformation(t,0,1,e._viewportTransformation),e._viewportDirty=!1}}function _et(e){e._inverseProjectionDirty&&(e._inverseProjectionDirty=!1,e._mode!==ee.SCENE2D&&e._mode!==ee.MORPHING&&!e._orthographicIn3D?N.inverse(e._projection,e._inverseProjection):N.clone(N.ZERO,e._inverseProjection))}function get(e){e._modelViewDirty&&(e._modelViewDirty=!1,N.multiplyTransformation(e._view,e._model,e._modelView))}function yet(e){e._modelView3DDirty&&(e._modelView3DDirty=!1,N.multiplyTransformation(e.view3D,e._model,e._modelView3D))}function Cet(e){e._inverseModelViewDirty&&(e._inverseModelViewDirty=!1,N.inverse(e.modelView,e._inverseModelView))}function xet(e){e._inverseModelView3DDirty&&(e._inverseModelView3DDirty=!1,N.inverse(e.modelView3D,e._inverseModelView3D))}function Aet(e){e._viewProjectionDirty&&(e._viewProjectionDirty=!1,N.multiply(e._projection,e._view,e._viewProjection))}function Tet(e){e._inverseViewProjectionDirty&&(e._inverseViewProjectionDirty=!1,N.inverse(e.viewProjection,e._inverseViewProjection))}function Eet(e){e._modelViewProjectionDirty&&(e._modelViewProjectionDirty=!1,N.multiply(e._projection,e.modelView,e._modelViewProjection))}function bet(e){if(e._modelViewRelativeToEyeDirty){e._modelViewRelativeToEyeDirty=!1;let t=e.modelView,n=e._modelViewRelativeToEye;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]=0,n[13]=0,n[14]=0,n[15]=t[15]}}function wet(e){e._inverseModelViewProjectionDirty&&(e._inverseModelViewProjectionDirty=!1,N.inverse(e.modelViewProjection,e._inverseModelViewProjection))}function vet(e){e._modelViewProjectionRelativeToEyeDirty&&(e._modelViewProjectionRelativeToEyeDirty=!1,N.multiply(e._projection,e.modelViewRelativeToEye,e._modelViewProjectionRelativeToEye))}function Det(e){e._modelViewInfiniteProjectionDirty&&(e._modelViewInfiniteProjectionDirty=!1,N.multiply(e._infiniteProjection,e.modelView,e._modelViewInfiniteProjection))}function Pet(e){if(e._normalDirty){e._normalDirty=!1;let t=e._normal;N.getMatrix3(e.inverseModelView,t),J.getRotation(t,t),J.transpose(t,t)}}function Iet(e){if(e._normal3DDirty){e._normal3DDirty=!1;let t=e._normal3D;N.getMatrix3(e.inverseModelView3D,t),J.getRotation(t,t),J.transpose(t,t)}}function Oet(e){e._inverseNormalDirty&&(e._inverseNormalDirty=!1,N.getMatrix3(e.inverseModelView,e._inverseNormal),J.getRotation(e._inverseNormal,e._inverseNormal))}function Ret(e){e._inverseNormal3DDirty&&(e._inverseNormal3DDirty=!1,N.getMatrix3(e.inverseModelView3D,e._inverseNormal3D),J.getRotation(e._inverseNormal3D,e._inverseNormal3D))}var rme=new h;function sme(e){e._encodedCameraPositionMCDirty&&(e._encodedCameraPositionMCDirty=!1,N.multiplyByPoint(e.inverseModel,e._cameraPosition,rme),Un.fromCartesian(rme,e._encodedCameraPositionMC))}var Met=new h,Bet=new h,Let=new h,Net=new h,Fet=new he,Vet=new h,ket=new N;function Uet(e,t,n,i,o,r,s,a){let c=Met;c.x=e.y,c.y=e.z,c.z=e.x;let u=Bet;u.x=n.y,u.y=n.z,u.z=n.x;let f=Let;f.x=i.y,f.y=i.z,f.z=i.x;let d=Net;d.x=t.y,d.y=t.z,d.z=t.x,r===ee.SCENE2D&&(c.z=o*.5);let p=s.unproject(c,Fet);p.longitude=I.clamp(p.longitude,-Math.PI,Math.PI),p.latitude=I.clamp(p.latitude,-I.PI_OVER_TWO,I.PI_OVER_TWO);let g=s.ellipsoid,m=g.cartographicToCartesian(p,Vet),C=Dt.eastNorthUpToFixedFrame(m,g,ket);return N.multiplyByPointAsVector(C,u,u),N.multiplyByPointAsVector(C,f,f),N.multiplyByPointAsVector(C,d,d),l(a)||(a=new N),a[0]=u.x,a[1]=f.x,a[2]=-d.x,a[3]=0,a[4]=u.y,a[5]=f.y,a[6]=-d.y,a[7]=0,a[8]=u.z,a[9]=f.z,a[10]=-d.z,a[11]=0,a[12]=-h.dot(u,m),a[13]=-h.dot(f,m),a[14]=h.dot(d,m),a[15]=1,a}function ej(e){e._view3DDirty&&(e._mode===ee.SCENE3D?N.clone(e._view,e._view3D):Uet(e._cameraPosition,e._cameraDirection,e._cameraRight,e._cameraUp,e._frustum2DWidth,e._mode,e._mapProjection,e._view3D),N.getMatrix3(e._view3D,e._viewRotation3D),e._view3DDirty=!1)}function ame(e){e._inverseView3DDirty&&(N.inverseTransformation(e.view3D,e._inverseView3D),N.getMatrix3(e._inverseView3D,e._inverseViewRotation3D),e._inverseView3DDirty=!1)}var OV=EE;function zet(e,t){let n="WebGL Error: ";switch(t){case e.INVALID_ENUM:n+="INVALID_ENUM";break;case e.INVALID_VALUE:n+="INVALID_VALUE";break;case e.INVALID_OPERATION:n+="INVALID_OPERATION";break;case e.OUT_OF_MEMORY:n+="OUT_OF_MEMORY";break;case e.CONTEXT_LOST_WEBGL:n+="CONTEXT_LOST_WEBGL lost";break;default:n+=`Unknown (${t})`}return n}function Het(e,t,n,i){let o=`${zet(e,i)}: ${t.name}(`;for(let r=0;r<n.length;++r)r!==0&&(o+=", "),o+=n[r];return o+=");",o}function Get(e,t,n){let i=e.getError();if(i!==e.NO_ERROR)throw new de(Het(e,t,n,i))}function Wet(e,t,n){return{get:function(){let i=e[t];return n(e,`get: ${t}`,i),e[t]},set:function(i){e[t]=i,n(e,`set: ${t}`,i)}}}function jet(e,t){if(!l(t))return e;function n(o){return function(){let r=o.apply(e,arguments);return t(e,o,arguments),r}}let i={};for(let o in e){let r=e[o];r instanceof Function?i[o]=n(r):Object.defineProperty(i,o,Wet(e,o,t))}return i}function Ar(e,t){let n=t.length;for(let i=0;i<n;++i){let o=e.getExtension(t[i]);if(o)return o}}function Yu(e,t){if(typeof WebGLRenderingContext>"u")throw new de("The browser does not support WebGL. Visit http://get.webgl.org.");this._canvas=e,t=et(t,!0),t=y(t,{}),t.allowTextureFilterAnisotropic=y(t.allowTextureFilterAnisotropic,!0);let n=y(t.webgl,{});n.alpha=y(n.alpha,!1),n.stencil=y(n.stencil,!0);let i=y(t.requestWebgl2,!1)&&typeof WebGL2RenderingContext<"u",o=!1,r,s=t.getWebGLStub;if(l(s))r=s(e,n);else if(i&&(r=e.getContext("webgl2",n)||e.getContext("experimental-webgl2",n)||void 0,l(r)&&(o=!0)),l(r)||(r=e.getContext("webgl",n)||e.getContext("experimental-webgl",n)||void 0),!l(r))throw new de("The browser supports WebGL, but initialization failed.");this._originalGLContext=r,this._gl=r,this._webgl2=o,this._id=Hn(),this.validateFramebuffer=!1,this.validateShaderProgram=!1,this.logShaderCompilation=!1,this._throwOnWebGLError=!1,this._shaderCache=new PV(this),this._textureCache=new IV;let a=r;this._stencilBits=a.getParameter(a.STENCIL_BITS),kt._maximumCombinedTextureImageUnits=a.getParameter(a.MAX_COMBINED_TEXTURE_IMAGE_UNITS),kt._maximumCubeMapSize=a.getParameter(a.MAX_CUBE_MAP_TEXTURE_SIZE),kt._maximumFragmentUniformVectors=a.getParameter(a.MAX_FRAGMENT_UNIFORM_VECTORS),kt._maximumTextureImageUnits=a.getParameter(a.MAX_TEXTURE_IMAGE_UNITS),kt._maximumRenderbufferSize=a.getParameter(a.MAX_RENDERBUFFER_SIZE),kt._maximumTextureSize=a.getParameter(a.MAX_TEXTURE_SIZE),kt._maximumVaryingVectors=a.getParameter(a.MAX_VARYING_VECTORS),kt._maximumVertexAttributes=a.getParameter(a.MAX_VERTEX_ATTRIBS),kt._maximumVertexTextureImageUnits=a.getParameter(a.MAX_VERTEX_TEXTURE_IMAGE_UNITS),kt._maximumVertexUniformVectors=a.getParameter(a.MAX_VERTEX_UNIFORM_VECTORS),kt._maximumSamples=this._webgl2?a.getParameter(a.MAX_SAMPLES):0;let c=a.getParameter(a.ALIASED_LINE_WIDTH_RANGE);kt._minimumAliasedLineWidth=c[0],kt._maximumAliasedLineWidth=c[1];let u=a.getParameter(a.ALIASED_POINT_SIZE_RANGE);kt._minimumAliasedPointSize=u[0],kt._maximumAliasedPointSize=u[1];let f=a.getParameter(a.MAX_VIEWPORT_DIMS);kt._maximumViewportWidth=f[0],kt._maximumViewportHeight=f[1];let d=a.getShaderPrecisionFormat(a.FRAGMENT_SHADER,a.HIGH_FLOAT);kt._highpFloatSupported=d.precision!==0;let p=a.getShaderPrecisionFormat(a.FRAGMENT_SHADER,a.HIGH_INT);kt._highpIntSupported=p.rangeMax!==0,this._antialias=a.getContextAttributes().antialias,this._standardDerivatives=!!Ar(a,["OES_standard_derivatives"]),this._blendMinmax=!!Ar(a,["EXT_blend_minmax"]),this._elementIndexUint=!!Ar(a,["OES_element_index_uint"]),this._depthTexture=!!Ar(a,["WEBGL_depth_texture","WEBKIT_WEBGL_depth_texture"]),this._fragDepth=!!Ar(a,["EXT_frag_depth"]),this._debugShaders=Ar(a,["WEBGL_debug_shaders"]),this._textureFloat=!!Ar(a,["OES_texture_float"]),this._textureHalfFloat=!!Ar(a,["OES_texture_half_float"]),this._textureFloatLinear=!!Ar(a,["OES_texture_float_linear"]),this._textureHalfFloatLinear=!!Ar(a,["OES_texture_half_float_linear"]),this._colorBufferFloat=!!Ar(a,["EXT_color_buffer_float","WEBGL_color_buffer_float"]),this._floatBlend=!!Ar(a,["EXT_float_blend"]),this._colorBufferHalfFloat=!!Ar(a,["EXT_color_buffer_half_float"]),this._s3tc=!!Ar(a,["WEBGL_compressed_texture_s3tc","MOZ_WEBGL_compressed_texture_s3tc","WEBKIT_WEBGL_compressed_texture_s3tc"]),this._pvrtc=!!Ar(a,["WEBGL_compressed_texture_pvrtc","WEBKIT_WEBGL_compressed_texture_pvrtc"]),this._astc=!!Ar(a,["WEBGL_compressed_texture_astc"]),this._etc=!!Ar(a,["WEBG_compressed_texture_etc"]),this._etc1=!!Ar(a,["WEBGL_compressed_texture_etc1"]),this._bc7=!!Ar(a,["EXT_texture_compression_bptc"]),xl.setKTX2SupportedFormats(this._s3tc,this._pvrtc,this._astc,this._etc,this._etc1,this._bc7);let g=t.allowTextureFilterAnisotropic?Ar(a,["EXT_texture_filter_anisotropic","WEBKIT_EXT_texture_filter_anisotropic"]):void 0;this._textureFilterAnisotropic=g,kt._maximumTextureFilterAnisotropy=l(g)?a.getParameter(g.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1;let m,C,x,A,b,E,S,v,P,O;if(o){let _=this;m=function(){return _._gl.createVertexArray()},C=function(T){_._gl.bindVertexArray(T)},x=function(T){_._gl.deleteVertexArray(T)},A=function(T,w,D,R,F){a.drawElementsInstanced(T,w,D,R,F)},b=function(T,w,D,R){a.drawArraysInstanced(T,w,D,R)},E=function(T,w){a.vertexAttribDivisor(T,w)},S=function(T){a.drawBuffers(T)}}else v=Ar(a,["OES_vertex_array_object"]),l(v)&&(m=function(){return v.createVertexArrayOES()},C=function(_){v.bindVertexArrayOES(_)},x=function(_){v.deleteVertexArrayOES(_)}),P=Ar(a,["ANGLE_instanced_arrays"]),l(P)&&(A=function(_,T,w,D,R){P.drawElementsInstancedANGLE(_,T,w,D,R)},b=function(_,T,w,D){P.drawArraysInstancedANGLE(_,T,w,D)},E=function(_,T){P.vertexAttribDivisorANGLE(_,T)}),O=Ar(a,["WEBGL_draw_buffers"]),l(O)&&(S=function(_){O.drawBuffersWEBGL(_)});this.glCreateVertexArray=m,this.glBindVertexArray=C,this.glDeleteVertexArray=x,this.glDrawElementsInstanced=A,this.glDrawArraysInstanced=b,this.glVertexAttribDivisor=E,this.glDrawBuffers=S,this._vertexArrayObject=!!v,this._instancedArrays=!!P,this._drawBuffers=!!O,kt._maximumDrawBuffers=this.drawBuffers?a.getParameter(te.MAX_DRAW_BUFFERS):1,kt._maximumColorAttachments=this.drawBuffers?a.getParameter(te.MAX_COLOR_ATTACHMENTS):1,this._clearColor=new U(0,0,0,0),this._clearDepth=1,this._clearStencil=0;let M=new OV,B=new Tc(this),L=Fe.fromCache();this._defaultPassState=B,this._defaultRenderState=L,this._defaultTexture=void 0,this._defaultEmissiveTexture=void 0,this._defaultNormalTexture=void 0,this._defaultCubeMap=void 0,this._us=M,this._currentRenderState=L,this._currentPassState=B,this._currentFramebuffer=void 0,this._maxFrameTextureUnitIndex=0,this._vertexAttribDivisors=[],this._previousDrawInstanced=!1;for(let _=0;_<kt._maximumVertexAttributes;_++)this._vertexAttribDivisors.push(0);this._pickObjects={},this._nextPickColor=new Uint32Array(1),this.options=t,this.cache={},Fe.apply(a,L,B)}var qet={};Object.defineProperties(Yu.prototype,{id:{get:function(){return this._id}},webgl2:{get:function(){return this._webgl2}},canvas:{get:function(){return this._canvas}},shaderCache:{get:function(){return this._shaderCache}},textureCache:{get:function(){return this._textureCache}},uniformState:{get:function(){return this._us}},stencilBits:{get:function(){return this._stencilBits}},stencilBuffer:{get:function(){return this._stencilBits>=8}},antialias:{get:function(){return this._antialias}},msaa:{get:function(){return this._webgl2}},standardDerivatives:{get:function(){return this._standardDerivatives||this._webgl2}},floatBlend:{get:function(){return this._floatBlend}},blendMinmax:{get:function(){return this._blendMinmax||this._webgl2}},elementIndexUint:{get:function(){return this._elementIndexUint||this._webgl2}},depthTexture:{get:function(){return this._depthTexture||this._webgl2}},floatingPointTexture:{get:function(){return this._webgl2||this._textureFloat}},halfFloatingPointTexture:{get:function(){return this._webgl2||this._textureHalfFloat}},textureFloatLinear:{get:function(){return this._textureFloatLinear}},textureHalfFloatLinear:{get:function(){return this._webgl2&&this._textureFloatLinear||!this._webgl2&&this._textureHalfFloatLinear}},textureFilterAnisotropic:{get:function(){return!!this._textureFilterAnisotropic}},s3tc:{get:function(){return this._s3tc}},pvrtc:{get:function(){return this._pvrtc}},astc:{get:function(){return this._astc}},etc:{get:function(){return this._etc}},etc1:{get:function(){return this._etc1}},bc7:{get:function(){return this._bc7}},supportsBasis:{get:function(){return this._s3tc||this._pvrtc||this._astc||this._etc||this._etc1||this._bc7}},vertexArrayObject:{get:function(){return this._vertexArrayObject||this._webgl2}},fragmentDepth:{get:function(){return this._fragDepth||this._webgl2}},instancedArrays:{get:function(){return this._instancedArrays||this._webgl2}},colorBufferFloat:{get:function(){return this._colorBufferFloat}},colorBufferHalfFloat:{get:function(){return this._webgl2&&this._colorBufferFloat||!this._webgl2&&this._colorBufferHalfFloat}},drawBuffers:{get:function(){return this._drawBuffers||this._webgl2}},debugShaders:{get:function(){return this._debugShaders}},throwOnWebGLError:{get:function(){return this._throwOnWebGLError},set:function(e){this._throwOnWebGLError=e,this._gl=jet(this._originalGLContext,e?Get:void 0)}},defaultTexture:{get:function(){return this._defaultTexture===void 0&&(this._defaultTexture=new Ot({context:this,source:{width:1,height:1,arrayBufferView:new Uint8Array([255,255,255,255])},flipY:!1})),this._defaultTexture}},defaultEmissiveTexture:{get:function(){return this._defaultEmissiveTexture===void 0&&(this._defaultEmissiveTexture=new Ot({context:this,pixelFormat:ft.RGB,source:{width:1,height:1,arrayBufferView:new Uint8Array([0,0,0])},flipY:!1})),this._defaultEmissiveTexture}},defaultNormalTexture:{get:function(){return this._defaultNormalTexture===void 0&&(this._defaultNormalTexture=new Ot({context:this,pixelFormat:ft.RGB,source:{width:1,height:1,arrayBufferView:new Uint8Array([128,128,255])},flipY:!1})),this._defaultNormalTexture}},defaultCubeMap:{get:function(){if(this._defaultCubeMap===void 0){let e={width:1,height:1,arrayBufferView:new Uint8Array([255,255,255,255])};this._defaultCubeMap=new sc({context:this,source:{positiveX:e,negativeX:e,positiveY:e,negativeY:e,positiveZ:e,negativeZ:e},flipY:!1})}return this._defaultCubeMap}},drawingBufferHeight:{get:function(){return this._gl.drawingBufferHeight}},drawingBufferWidth:{get:function(){return this._gl.drawingBufferWidth}},defaultFramebuffer:{get:function(){return qet}}});function cme(e,t,n,i){let o=e._currentRenderState,r=e._currentPassState;e._currentRenderState=t,e._currentPassState=n,Fe.partialApply(e._gl,o,t,r,n,i)}var tj;typeof WebGLRenderingContext<"u"&&(tj=[te.BACK]);function nj(e,t){if(t!==e._currentFramebuffer){e._currentFramebuffer=t;let n=tj;if(l(t))t._bind(),n=t._getActiveColorAttachments();else{let i=e._gl;i.bindFramebuffer(i.FRAMEBUFFER,null)}e.drawBuffers&&e.glDrawBuffers(n)}}var Yet=new oi;Yu.prototype.clear=function(e,t){e=y(e,Yet),t=y(t,this._defaultPassState);let n=this._gl,i=0,o=e.color,r=e.depth,s=e.stencil;l(o)&&(U.equals(this._clearColor,o)||(U.clone(o,this._clearColor),n.clearColor(o.red,o.green,o.blue,o.alpha)),i|=n.COLOR_BUFFER_BIT),l(r)&&(r!==this._clearDepth&&(this._clearDepth=r,n.clearDepth(r)),i|=n.DEPTH_BUFFER_BIT),l(s)&&(s!==this._clearStencil&&(this._clearStencil=s,n.clearStencil(s)),i|=n.STENCIL_BUFFER_BIT);let a=y(e.renderState,this._defaultRenderState);cme(this,a,t,!0);let c=y(e.framebuffer,t.framebuffer);nj(this,c),n.clear(i)};function Xet(e,t,n,i,o){nj(e,t),cme(e,o,n,!1),i._bind(),e._maxFrameTextureUnitIndex=Math.max(e._maxFrameTextureUnitIndex,i.maximumTextureUnitIndex)}function Ket(e,t,n,i){let o=t._primitiveType,r=t._vertexArray,s=t._offset,a=t._count,c=t.instanceCount;e._us.model=y(t._modelMatrix,N.IDENTITY),n._setUniforms(i,e._us,e.validateShaderProgram),r._bind();let u=r.indexBuffer;l(u)?(s=s*u.bytesPerIndex,a=y(a,u.numberOfIndices),c===0?e._gl.drawElements(o,a,u.indexDatatype,s):e.glDrawElementsInstanced(o,a,u.indexDatatype,s,c)):(a=y(a,r.numberOfVertices),c===0?e._gl.drawArrays(o,s,a):e.glDrawArraysInstanced(o,s,a,c)),r._unBind()}Yu.prototype.draw=function(e,t,n,i){t=y(t,this._defaultPassState);let o=y(e._framebuffer,t.framebuffer),r=y(e._renderState,this._defaultRenderState);n=y(n,e._shaderProgram),i=y(i,e._uniformMap),Xet(this,o,t,n,r),Ket(this,e,n,i)};Yu.prototype.endFrame=function(){let e=this._gl;e.useProgram(null),this._currentFramebuffer=void 0,e.bindFramebuffer(e.FRAMEBUFFER,null);let t=tj;this.drawBuffers&&this.glDrawBuffers(t);let n=this._maxFrameTextureUnitIndex;this._maxFrameTextureUnitIndex=0;for(let i=0;i<n;++i)e.activeTexture(e.TEXTURE0+i),e.bindTexture(e.TEXTURE_2D,null),e.bindTexture(e.TEXTURE_CUBE_MAP,null)};Yu.prototype.readPixels=function(e){let t=this._gl;e=y(e,y.EMPTY_OBJECT);let n=Math.max(y(e.x,0),0),i=Math.max(y(e.y,0),0),o=y(e.width,t.drawingBufferWidth),r=y(e.height,t.drawingBufferHeight),s=e.framebuffer,a=je.UNSIGNED_BYTE;l(s)&&s.numberOfColorAttachments>0&&(a=s.getColorTexture(0).pixelDatatype);let c=ft.createTypedArray(ft.RGBA,a,o,r);return nj(this,s),t.readPixels(n,i,o,r,ft.RGBA,je.toWebGLConstant(a,this),c),c};var lme={position:0,textureCoordinates:1};Yu.prototype.getViewportQuadVertexArray=function(){let e=this.cache.viewportQuad_vertexArray;if(!l(e)){let t=new rt({attributes:{position:new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:2,values:[-1,-1,1,-1,1,1,-1,1]}),textureCoordinates:new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:2,values:[0,0,1,0,1,1,0,1]})},indices:new Uint16Array([0,1,2,0,2,3]),primitiveType:Ne.TRIANGLES});e=ti.fromGeometry({context:this,geometry:t,attributeLocations:lme,bufferUsage:Le.STATIC_DRAW,interleave:!0}),this.cache.viewportQuad_vertexArray=e}return e};Yu.prototype.createViewportQuadCommand=function(e,t){return t=y(t,y.EMPTY_OBJECT),new Je({vertexArray:this.getViewportQuadVertexArray(),primitiveType:Ne.TRIANGLES,renderState:t.renderState,shaderProgram:Yt.fromCache({context:this,vertexShaderSource:TE,fragmentShaderSource:e,attributeLocations:lme}),uniformMap:t.uniformMap,owner:t.owner,framebuffer:t.framebuffer,pass:t.pass})};Yu.prototype.getObjectByPickColor=function(e){return this._pickObjects[e.toRgba()]};function ij(e,t,n){this._pickObjects=e,this.key=t,this.color=n}Object.defineProperties(ij.prototype,{object:{get:function(){return this._pickObjects[this.key]},set:function(e){this._pickObjects[this.key]=e}}});ij.prototype.destroy=function(){delete this._pickObjects[this.key]};Yu.prototype.createPickId=function(e){++this._nextPickColor[0];let t=this._nextPickColor[0];if(t===0)throw new de("Out of unique Pick IDs.");return this._pickObjects[t]=e,new ij(this._pickObjects,t,U.fromRgba(t))};Yu.prototype.isDestroyed=function(){return!1};Yu.prototype.destroy=function(){let e=this.cache;for(let t in e)if(e.hasOwnProperty(t)){let n=e[t];l(n.destroy)&&n.destroy()}return this._shaderCache=this._shaderCache.destroy(),this._textureCache=this._textureCache.destroy(),this._defaultTexture=this._defaultTexture&&this._defaultTexture.destroy(),this._defaultEmissiveTexture=this._defaultEmissiveTexture&&this._defaultEmissiveTexture.destroy(),this._defaultNormalTexture=this._defaultNormalTexture&&this._defaultNormalTexture.destroy(),this._defaultCubeMap=this._defaultCubeMap&&this._defaultCubeMap.destroy(),fe(this)};var RV=Yu;function Zet(e,t,n){let i={flipY:!0,skipColorSpaceConversion:n,preferImageBitmap:!0},o=[Ie.createIfNeeded(t.positiveX).fetchImage(i),Ie.createIfNeeded(t.negativeX).fetchImage(i),Ie.createIfNeeded(t.positiveY).fetchImage(i),Ie.createIfNeeded(t.negativeY).fetchImage(i),Ie.createIfNeeded(t.positiveZ).fetchImage(i),Ie.createIfNeeded(t.negativeZ).fetchImage(i)];return Promise.all(o).then(function(r){return new sc({context:e,source:{positiveX:r[0],negativeX:r[1],positiveY:r[2],negativeY:r[3],positiveZ:r[4],negativeZ:r[5]}})})}var MV=Zet;function oj(e){e=y(e,y.EMPTY_OBJECT),this._pixelsToCheck=e.pixelsToCheck,this._missingImagePixels=void 0,this._missingImageByteLength=void 0,this._isReady=!1;let t=Ie.createIfNeeded(e.missingImageUrl),n=this;function i(r){l(r.blob)&&(n._missingImageByteLength=r.blob.size);let s=Ad(r);if(e.disableCheckIfAllPixelsAreTransparent){let a=!0,c=r.width,u=e.pixelsToCheck;for(let f=0,d=u.length;a&&f<d;++f){let p=u[f],g=p.x*4+p.y*c;s[g+3]>0&&(a=!1)}a&&(s=void 0)}n._missingImagePixels=s,n._isReady=!0}function o(){n._missingImagePixels=void 0,n._isReady=!0}t.fetchImage({preferBlob:!0,preferImageBitmap:!0,flipY:!0}).then(i).catch(o)}oj.prototype.isReady=function(){return this._isReady};oj.prototype.shouldDiscardImage=function(e){let t=this._pixelsToCheck,n=this._missingImagePixels;if(!l(n)||l(e.blob)&&e.blob.size!==this._missingImageByteLength)return!1;let i=Ad(e),o=e.width;for(let r=0,s=t.length;r<s;++r){let a=t[r],c=a.x*4+a.y*o;for(let u=0;u<4;++u){let f=c+u;if(i[f]!==n[f])return!1}}return!0};var BV=oj;function rj(){this.name=void 0,this.description=void 0,this.position=void 0,this.data=void 0,this.imageryLayer=void 0}rj.prototype.configureNameFromProperties=function(e){let t=10,n;for(let i in e)if(e.hasOwnProperty(i)&&e[i]){let o=i.toLowerCase();t>1&&o==="name"?(t=1,n=i):t>2&&o==="title"?(t=2,n=i):t>3&&/name/i.test(i)?(t=3,n=i):t>4&&/title/i.test(i)&&(t=4,n=i)}l(n)&&(this.name=e[n])};rj.prototype.configureDescriptionFromProperties=function(e){function t(n){let i='<table class="cesium-infoBox-defaultTable">';for(let o in n)if(n.hasOwnProperty(o)){let r=n[o];l(r)&&(typeof r=="object"?i+=`<tr><td>${o}</td><td>${t(r)}</td></tr>`:i+=`<tr><td>${o}</td><td>${r}</td></tr>`)}return i+="</table>",i}this.description=t(e)};var kh=rj;function bE(){this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0,ye.throwInstantiationError()}Object.defineProperties(bE.prototype,{ready:{get:ye.throwInstantiationError},readyPromise:{get:ye.throwInstantiationError},rectangle:{get:ye.throwInstantiationError},tileWidth:{get:ye.throwInstantiationError},tileHeight:{get:ye.throwInstantiationError},maximumLevel:{get:ye.throwInstantiationError},minimumLevel:{get:ye.throwInstantiationError},tilingScheme:{get:ye.throwInstantiationError},tileDiscardPolicy:{get:ye.throwInstantiationError},errorEvent:{get:ye.throwInstantiationError},credit:{get:ye.throwInstantiationError},proxy:{get:ye.throwInstantiationError},hasAlphaChannel:{get:ye.throwInstantiationError}});bE.prototype.getTileCredits=function(e,t,n){ye.throwInstantiationError()};bE.prototype.requestImage=function(e,t,n,i){ye.throwInstantiationError()};bE.prototype.pickFeatures=function(e,t,n,i,o){ye.throwInstantiationError()};var $et=/\.ktx2$/i;bE.loadImage=function(e,t){let n=Ie.createIfNeeded(t);return $et.test(n.url)?xl(n):l(e)&&l(e.tileDiscardPolicy)?n.fetchImage({preferBlob:!0,preferImageBitmap:!0,flipY:!0}):n.fetchImage({preferImageBitmap:!0,flipY:!0})};var ol=bE;function Wv(e){e=y(e,y.EMPTY_OBJECT),this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0;let t=Ie.createIfNeeded(e.url);t.appendForwardSlash(),l(e.token)&&t.setQueryParameters({token:e.token}),this._resource=t,this._tileDiscardPolicy=e.tileDiscardPolicy,this._tileWidth=y(e.tileWidth,256),this._tileHeight=y(e.tileHeight,256),this._maximumLevel=e.maximumLevel,this._tilingScheme=y(e.tilingScheme,new Hi({ellipsoid:e.ellipsoid})),this._useTiles=y(e.usePreCachedTilesIfAvailable,!0),this._rectangle=y(e.rectangle,this._tilingScheme.rectangle),this._layers=e.layers;let n=e.credit;typeof n=="string"&&(n=new jt(n)),this._credit=n,this.enablePickFeatures=y(e.enablePickFeatures,!0),this._errorEvent=new ge,this._ready=!1;let i=this,o;function r(c){let u=c.tileInfo;if(!l(u))i._useTiles=!1;else{if(i._tileWidth=u.rows,i._tileHeight=u.cols,u.spatialReference.wkid===102100||u.spatialReference.wkid===102113)i._tilingScheme=new Ur({ellipsoid:e.ellipsoid});else if(c.tileInfo.spatialReference.wkid===4326)i._tilingScheme=new Hi({ellipsoid:e.ellipsoid});else{let f=`Tile spatial reference WKID ${c.tileInfo.spatialReference.wkid} is not supported.`;return o=jn.reportError(o,i,i._errorEvent,f,void 0,void 0,void 0),o.retry?a():Promise.reject(new de(f))}if(i._maximumLevel=c.tileInfo.lods.length-1,l(c.fullExtent)){if(l(c.fullExtent.spatialReference)&&l(c.fullExtent.spatialReference.wkid))if(c.fullExtent.spatialReference.wkid===102100||c.fullExtent.spatialReference.wkid===102113){let f=new Vi,d=c.fullExtent,p=f.unproject(new h(Math.max(d.xmin,-i._tilingScheme.ellipsoid.maximumRadius*Math.PI),Math.max(d.ymin,-i._tilingScheme.ellipsoid.maximumRadius*Math.PI),0)),g=f.unproject(new h(Math.min(d.xmax,i._tilingScheme.ellipsoid.maximumRadius*Math.PI),Math.min(d.ymax,i._tilingScheme.ellipsoid.maximumRadius*Math.PI),0));i._rectangle=new ue(p.longitude,p.latitude,g.longitude,g.latitude)}else if(c.fullExtent.spatialReference.wkid===4326)i._rectangle=ue.fromDegrees(c.fullExtent.xmin,c.fullExtent.ymin,c.fullExtent.xmax,c.fullExtent.ymax);else{let f=`fullExtent.spatialReference WKID ${c.fullExtent.spatialReference.wkid} is not supported.`;return o=jn.reportError(o,i,i._errorEvent,f,void 0,void 0,void 0),o.retry?a():Promise.reject(new de(f))}}else i._rectangle=i._tilingScheme.rectangle;l(i._tileDiscardPolicy)||(i._tileDiscardPolicy=new BV({missingImageUrl:ume(i,0,0,i._maximumLevel).url,pixelsToCheck:[new G(0,0),new G(200,20),new G(20,200),new G(80,110),new G(160,130)],disableCheckIfAllPixelsAreTransparent:!0})),i._useTiles=!0}return l(c.copyrightText)&&c.copyrightText.length>0&&(i._credit=new jt(c.copyrightText)),i._ready=!0,jn.reportSuccess(o),Promise.resolve(!0)}function s(c){let u=`An error occurred while accessing ${i._resource.url}.`;return o=jn.reportError(o,i,i._errorEvent,u,void 0,void 0,void 0),Promise.reject(new de(u))}function a(){return i._resource.getDerivedResource({queryParameters:{f:"json"}}).fetchJsonp().then(r).catch(s)}this._useTiles?this._readyPromise=a():(this._ready=!0,this._readyPromise=Promise.resolve(!0))}function ume(e,t,n,i,o){let r;if(e._useTiles)r=e._resource.getDerivedResource({url:`tile/${i}/${n}/${t}`,request:o});else{let s=e._tilingScheme.tileXYToNativeRectangle(t,n,i),c={bbox:`${s.west},${s.south},${s.east},${s.north}`,size:`${e._tileWidth},${e._tileHeight}`,format:"png32",transparent:!0,f:"image"};e._tilingScheme.projection instanceof xi?(c.bboxSR=4326,c.imageSR=4326):(c.bboxSR=3857,c.imageSR=3857),e.layers&&(c.layers=`show:${e.layers}`),r=e._resource.getDerivedResource({url:"export",request:o,queryParameters:c})}return r}Object.defineProperties(Wv.prototype,{url:{get:function(){return this._resource._url}},token:{get:function(){return this._resource.queryParameters.token}},proxy:{get:function(){return this._resource.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}},rectangle:{get:function(){return this._rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}},credit:{get:function(){return this._credit}},usingPrecachedTiles:{get:function(){return this._useTiles}},hasAlphaChannel:{get:function(){return!0}},layers:{get:function(){return this._layers}}});Wv.prototype.getTileCredits=function(e,t,n){};Wv.prototype.requestImage=function(e,t,n,i){return ol.loadImage(this,ume(this,e,t,n,i))};Wv.prototype.pickFeatures=function(e,t,n,i,o){if(!this.enablePickFeatures)return;let r=this._tilingScheme.tileXYToNativeRectangle(e,t,n),s,a,c;if(this._tilingScheme.projection instanceof xi)s=I.toDegrees(i),a=I.toDegrees(o),c="4326";else{let p=this._tilingScheme.projection.project(new he(i,o,0));s=p.x,a=p.y,c="3857"}let u="visible";l(this._layers)&&(u+=`:${this._layers}`);let f={f:"json",tolerance:2,geometryType:"esriGeometryPoint",geometry:`${s},${a}`,mapExtent:`${r.west},${r.south},${r.east},${r.north}`,imageDisplay:`${this._tileWidth},${this._tileHeight},96`,sr:c,layers:u};return this._resource.getDerivedResource({url:"identify",queryParameters:f}).fetchJson().then(function(p){let g=[],m=p.results;if(!l(m))return g;for(let C=0;C<m.length;++C){let x=m[C],A=new kh;if(A.data=x,A.name=x.value,A.properties=x.attributes,A.configureDescriptionFromProperties(x.attributes),x.geometryType==="esriGeometryPoint"&&x.geometry){let b=x.geometry.spatialReference&&x.geometry.spatialReference.wkid?x.geometry.spatialReference.wkid:4326;if(b===4326||b===4283)A.position=he.fromDegrees(x.geometry.x,x.geometry.y,x.geometry.z);else if(b===102100||b===900913||b===3857){let E=new Vi;A.position=E.unproject(new h(x.geometry.x,x.geometry.y,x.geometry.z))}}g.push(A)}return g})};var Yg=Wv;function uC(){this._uniformMap=void 0,this._command=void 0,this._colorTexture=void 0,this._depthTexture=void 0,this._ready=!1,this._name="czm_autoexposure",this._logDepthChanged=void 0,this._useLogDepth=void 0,this._framebuffers=void 0,this._previousLuminance=new ci,this._commands=void 0,this._clearCommand=void 0,this._minMaxLuminance=new G,this.enabled=!0,this._enabled=!0,this.minimumLuminance=.1,this.maximumLuminance=10}Object.defineProperties(uC.prototype,{ready:{get:function(){return this._ready}},name:{get:function(){return this._name}},outputTexture:{get:function(){let e=this._framebuffers;if(!!l(e))return e[e.length-1].getColorTexture(0)}}});function fme(e){let t=e._framebuffers;if(!l(t))return;let n=t.length;for(let i=0;i<n;++i)t[i].destroy();e._framebuffers=void 0,e._previousLuminance.destroy(),e._previousLuminance=void 0}function Jet(e,t){fme(e);let n=e._width,i=e._height,o=t.halfFloatingPointTexture?je.HALF_FLOAT:je.FLOAT,r=Math.ceil(Math.log(Math.max(n,i))/Math.log(3)),s=new Array(r);for(let c=0;c<r;++c)n=Math.max(Math.ceil(n/3),1),i=Math.max(Math.ceil(i/3),1),s[c]=new ci,s[c].update(t,n,i,1,o);let a=s[r-1].getColorTexture(0);e._previousLuminance.update(t,a.width,a.height,1,o),e._framebuffers=s}function dme(e){let t=e._commands;if(!l(t))return;let n=t.length;for(let i=0;i<n;++i)t[i].shaderProgram.destroy();e._commands=void 0}function Qet(e,t){let n;if(t===0)n={colorTexture:function(){return e._colorTexture},colorTextureDimensions:function(){return e._colorTexture.dimensions}};else{let i=e._framebuffers[t-1].getColorTexture(0);n={colorTexture:function(){return i},colorTextureDimensions:function(){return i.dimensions}}}return n.minMaxLuminance=function(){return e._minMaxLuminance},n.previousLuminance=function(){return e._previousLuminance.getColorTexture(0)},n}function ett(e,t){let n=`uniform sampler2D colorTexture;
  5289. varying vec2 v_textureCoordinates;
  5290. float sampleTexture(vec2 offset) {
  5291. `;return e===0?n+=` vec4 color = texture2D(colorTexture, v_textureCoordinates + offset);
  5292. return czm_luminance(color.rgb);
  5293. `:n+=` return texture2D(colorTexture, v_textureCoordinates + offset).r;
  5294. `,n+=`}
  5295. `,n+=`uniform vec2 colorTextureDimensions;
  5296. uniform vec2 minMaxLuminance;
  5297. uniform sampler2D previousLuminance;
  5298. void main() {
  5299. float color = 0.0;
  5300. float xStep = 1.0 / colorTextureDimensions.x;
  5301. float yStep = 1.0 / colorTextureDimensions.y;
  5302. int count = 0;
  5303. for (int i = 0; i < 3; ++i) {
  5304. for (int j = 0; j < 3; ++j) {
  5305. vec2 offset;
  5306. offset.x = -xStep + float(i) * xStep;
  5307. offset.y = -yStep + float(j) * yStep;
  5308. if (offset.x < 0.0 || offset.x > 1.0 || offset.y < 0.0 || offset.y > 1.0) {
  5309. continue;
  5310. }
  5311. color += sampleTexture(offset);
  5312. ++count;
  5313. }
  5314. }
  5315. if (count > 0) {
  5316. color /= float(count);
  5317. }
  5318. `,e===t-1&&(n+=` float previous = texture2D(previousLuminance, vec2(0.5)).r;
  5319. color = clamp(color, minMaxLuminance.x, minMaxLuminance.y);
  5320. color = previous + (color - previous) / (60.0 * 1.5);
  5321. color = clamp(color, minMaxLuminance.x, minMaxLuminance.y);
  5322. `),n+=` gl_FragColor = vec4(color);
  5323. }
  5324. `,n}function ttt(e,t){dme(e);let n=e._framebuffers,i=n.length,o=new Array(i);for(let r=0;r<i;++r)o[r]=t.createViewportQuadCommand(ett(r,i),{framebuffer:n[r].framebuffer,uniformMap:Qet(e,r)});e._commands=o}uC.prototype.clear=function(e){let t=this._framebuffers;if(!l(t))return;let n=this._clearCommand;l(n)||(n=this._clearCommand=new oi({color:new U(0,0,0,0),framebuffer:void 0}));let i=t.length;for(let o=0;o<i;++o)t[o].clear(e,n)};uC.prototype.update=function(e){let t=e.drawingBufferWidth,n=e.drawingBufferHeight;(t!==this._width||n!==this._height)&&(this._width=t,this._height=n,Jet(this,e),ttt(this,e),this._ready||(this._ready=!0)),this._minMaxLuminance.x=this.minimumLuminance,this._minMaxLuminance.y=this.maximumLuminance;let i=this._framebuffers,o=i[i.length-1];i[i.length-1]=this._previousLuminance,this._commands[this._commands.length-1].framebuffer=this._previousLuminance.framebuffer,this._previousLuminance=o};uC.prototype.execute=function(e,t){this._colorTexture=t;let n=this._commands;if(!l(n))return;let i=n.length;for(let o=0;o<i;++o)n[o].execute(e)};uC.prototype.isDestroyed=function(){return!1};uC.prototype.destroy=function(){return fme(this),dme(this),fe(this)};var LV=uC;var ntt={AERIAL:"Aerial",AERIAL_WITH_LABELS:"AerialWithLabels",AERIAL_WITH_LABELS_ON_DEMAND:"AerialWithLabelsOnDemand",ROAD:"Road",ROAD_ON_DEMAND:"RoadOnDemand",CANVAS_DARK:"CanvasDark",CANVAS_LIGHT:"CanvasLight",CANVAS_GRAY:"CanvasGray",ORDNANCE_SURVEY:"OrdnanceSurvey",COLLINS_BART:"CollinsBart"},NV=Object.freeze(ntt);function jv(e){}jv.prototype.isReady=function(){return!0};jv.prototype.shouldDiscardImage=function(e){return jv.EMPTY_IMAGE===e};var FV;Object.defineProperties(jv,{EMPTY_IMAGE:{get:function(){return l(FV)||(FV=new Image,FV.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="),FV}}});var qv=jv;function Ls(e){e=y(e,y.EMPTY_OBJECT);let t=e.key;this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=1,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0,this._key=t,this._resource=Ie.createIfNeeded(e.url),this._resource.appendForwardSlash(),this._tileProtocol=e.tileProtocol,this._mapStyle=y(e.mapStyle,NV.AERIAL),this._culture=y(e.culture,""),this._tileDiscardPolicy=e.tileDiscardPolicy,l(this._tileDiscardPolicy)||(this._tileDiscardPolicy=new qv),this._proxy=e.proxy,this._credit=new jt(`<a href="http://www.bing.com"><img src="${Ls.logoUrl}" title="Bing Imagery"/></a>`),this._tilingScheme=new Ur({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,ellipsoid:e.ellipsoid}),this._tileWidth=void 0,this._tileHeight=void 0,this._maximumLevel=void 0,this._imageUrlTemplate=void 0,this._imageUrlSubdomains=void 0,this._errorEvent=new ge,this._ready=!1;let n=this._tileProtocol;l(n)?n.length>0&&n[n.length-1]===":"&&(n=n.substr(0,n.length-1)):n=document.location.protocol==="http:"?"http":"https";let i=this._resource.getDerivedResource({url:`REST/v1/Imagery/Metadata/${this._mapStyle}`,queryParameters:{incl:"ImageryProviders",key:this._key,uriScheme:n}}),o=this,r;function s(d){if(d.resourceSets.length!==1)return a();let p=d.resourceSets[0].resources[0];o._tileWidth=p.imageWidth,o._tileHeight=p.imageHeight,o._maximumLevel=p.zoomMax-1,o._imageUrlSubdomains=p.imageUrlSubdomains,o._imageUrlTemplate=p.imageUrl;let g=o._attributionList=p.imageryProviders;g||(g=o._attributionList=[]);for(let m=0,C=g.length;m<C;++m){let x=g[m];if(x.credit instanceof jt)break;x.credit=new jt(x.attribution);let A=x.coverageAreas;for(let b=0,E=x.coverageAreas.length;b<E;++b){let S=A[b],v=S.bbox;S.bbox=new ue(I.toRadians(v[1]),I.toRadians(v[0]),I.toRadians(v[3]),I.toRadians(v[2]))}}return o._ready=!0,jn.reportSuccess(r),Promise.resolve(!0)}function a(d){let p=`An error occurred while accessing ${i.url}.`;return r=jn.reportError(r,o,o._errorEvent,p,void 0,void 0,void 0),r.retry?u():Promise.reject(new de(p))}let c=i.url;function u(){let d=i.fetchJsonp("jsonp");return Ls._metadataCache[c]=d,d.then(s).catch(a)}let f=Ls._metadataCache[c];l(f)?this._readyPromise=f.then(s).catch(a):this._readyPromise=u()}Object.defineProperties(Ls.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},key:{get:function(){return this._key}},mapStyle:{get:function(){return this._mapStyle}},culture:{get:function(){return this._culture}},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}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!1}}});var itt=new ue;Ls.prototype.getTileCredits=function(e,t,n){let i=this._tilingScheme.tileXYToRectangle(e,t,n,itt);return stt(this._attributionList,n,i)};Ls.prototype.requestImage=function(e,t,n,i){let o=ol.loadImage(this,ott(this,e,t,n,i));if(l(o))return o.catch(function(r){return l(r.blob)&&r.blob.size===0?qv.EMPTY_IMAGE:Promise.reject(r)})};Ls.prototype.pickFeatures=function(e,t,n,i,o){};Ls.tileXYToQuadKey=function(e,t,n){let i="";for(let o=n;o>=0;--o){let r=1<<o,s=0;(e&r)!==0&&(s|=1),(t&r)!==0&&(s|=2),i+=s}return i};Ls.quadKeyToTileXY=function(e){let t=0,n=0,i=e.length-1;for(let o=i;o>=0;--o){let r=1<<o,s=+e[i-o];(s&1)!==0&&(t|=r),(s&2)!==0&&(n|=r)}return{x:t,y:n,level:i}};Ls._logoUrl=void 0;Object.defineProperties(Ls,{logoUrl:{get:function(){return l(Ls._logoUrl)||(Ls._logoUrl=Zt("Assets/Images/bing_maps_credit.png")),Ls._logoUrl},set:function(e){Ls._logoUrl=e}}});function ott(e,t,n,i,o){let r=e._imageUrlTemplate,s=e._imageUrlSubdomains,a=(t+n+i)%s.length;return e._resource.getDerivedResource({url:r,request:o,templateValues:{quadkey:Ls.tileXYToQuadKey(t,n,i),subdomain:s[a],culture:e._culture},queryParameters:{n:"z"}})}var rtt=new ue;function stt(e,t,n){++t;let i=[];for(let o=0,r=e.length;o<r;++o){let s=e[o],a=s.coverageAreas,c=!1;for(let u=0,f=s.coverageAreas.length;!c&&u<f;++u){let d=a[u];if(t>=d.zoomMin&&t<=d.zoomMax){let p=ue.intersection(n,d.bbox,rtt);l(p)&&(c=!0)}}c&&i.push(s.credit)}return i}Ls._metadataCache={};var VV=Ls;var att=new h(1,1,1);function sj(e){e=y(e,att),this._dimensions=h.clone(e)}Object.defineProperties(sj.prototype,{dimensions:{get:function(){return this._dimensions},set:function(e){h.clone(e,this._dimensions)}}});var ctt=new h;sj.prototype.emit=function(e){let t=this._dimensions,n=h.multiplyByScalar(t,.5,ctt),i=I.randomBetween(-n.x,n.x),o=I.randomBetween(-n.y,n.y),r=I.randomBetween(-n.z,n.z);e.position=h.fromElements(i,o,r,e.position),e.velocity=h.normalize(e.position,e.velocity)};var hme=sj;var kV=`varying vec2 v_textureCoordinates;
  5325. const float M_PI = 3.141592653589793;
  5326. float vdcRadicalInverse(int i)
  5327. {
  5328. float r;
  5329. float base = 2.0;
  5330. float value = 0.0;
  5331. float invBase = 1.0 / base;
  5332. float invBi = invBase;
  5333. for (int x = 0; x < 100; x++)
  5334. {
  5335. if (i <= 0)
  5336. {
  5337. break;
  5338. }
  5339. r = mod(float(i), base);
  5340. value += r * invBi;
  5341. invBi *= invBase;
  5342. i = int(float(i) * invBase);
  5343. }
  5344. return value;
  5345. }
  5346. vec2 hammersley2D(int i, int N)
  5347. {
  5348. return vec2(float(i) / float(N), vdcRadicalInverse(i));
  5349. }
  5350. vec3 importanceSampleGGX(vec2 xi, float roughness, vec3 N)
  5351. {
  5352. float a = roughness * roughness;
  5353. float phi = 2.0 * M_PI * xi.x;
  5354. float cosTheta = sqrt((1.0 - xi.y) / (1.0 + (a * a - 1.0) * xi.y));
  5355. float sinTheta = sqrt(1.0 - cosTheta * cosTheta);
  5356. vec3 H = vec3(sinTheta * cos(phi), sinTheta * sin(phi), cosTheta);
  5357. vec3 upVector = abs(N.z) < 0.999 ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0);
  5358. vec3 tangentX = normalize(cross(upVector, N));
  5359. vec3 tangentY = cross(N, tangentX);
  5360. return tangentX * H.x + tangentY * H.y + N * H.z;
  5361. }
  5362. float G1_Smith(float NdotV, float k)
  5363. {
  5364. return NdotV / (NdotV * (1.0 - k) + k);
  5365. }
  5366. float G_Smith(float roughness, float NdotV, float NdotL)
  5367. {
  5368. float k = roughness * roughness / 2.0;
  5369. return G1_Smith(NdotV, k) * G1_Smith(NdotL, k);
  5370. }
  5371. vec2 integrateBrdf(float roughness, float NdotV)
  5372. {
  5373. vec3 V = vec3(sqrt(1.0 - NdotV * NdotV), 0.0, NdotV);
  5374. float A = 0.0;
  5375. float B = 0.0;
  5376. const int NumSamples = 1024;
  5377. for (int i = 0; i < NumSamples; i++)
  5378. {
  5379. vec2 xi = hammersley2D(i, NumSamples);
  5380. vec3 H = importanceSampleGGX(xi, roughness, vec3(0.0, 0.0, 1.0));
  5381. vec3 L = 2.0 * dot(V, H) * H - V;
  5382. float NdotL = clamp(L.z, 0.0, 1.0);
  5383. float NdotH = clamp(H.z, 0.0, 1.0);
  5384. float VdotH = clamp(dot(V, H), 0.0, 1.0);
  5385. if (NdotL > 0.0)
  5386. {
  5387. float G = G_Smith(roughness, NdotV, NdotL);
  5388. float G_Vis = G * VdotH / (NdotH * NdotV);
  5389. float Fc = pow(1.0 - VdotH, 5.0);
  5390. A += (1.0 - Fc) * G_Vis;
  5391. B += Fc * G_Vis;
  5392. }
  5393. }
  5394. return vec2(A, B) / float(NumSamples);
  5395. }
  5396. void main()
  5397. {
  5398. gl_FragColor = vec4(integrateBrdf(v_textureCoordinates.y, v_textureCoordinates.x), 0.0, 1.0);
  5399. }
  5400. `;function Yv(){this._colorTexture=void 0,this._drawCommand=void 0}Object.defineProperties(Yv.prototype,{colorTexture:{get:function(){return this._colorTexture}}});function ltt(e,t,n){let i=t.createViewportQuadCommand(kV,{framebuffer:n,renderState:Fe.fromCache({viewport:new Ge(0,0,256,256)})});e._drawCommand=i}Yv.prototype.update=function(e){if(!l(this._colorTexture)){let t=e.context,n=new Ot({context:t,width:256,height:256,pixelFormat:ft.RGBA,pixelDatatype:je.UNSIGNED_BYTE,sampler:hn.NEAREST});this._colorTexture=n;let i=new $s({context:t,colorTextures:[n],destroyAttachments:!1});ltt(this,t,i),this._drawCommand.execute(t),i.destroy(),this._drawCommand.shaderProgram=this._drawCommand.shaderProgram&&this._drawCommand.shaderProgram.destroy()}};Yv.prototype.isDestroyed=function(){return!1};Yv.prototype.destroy=function(){return this._colorTexture=this._colorTexture&&this._colorTexture.destroy(),fe(this)};var UV=Yv;var gme={};function utt(e,t,n){let i,o,r;if(e instanceof _i){let s=Math.tan(.5*e.fovy);return i=e.near,o=e.near*s,r=e.aspectRatio*o,Math.max(t*i/r,n*i/o)}else if(e instanceof kc)return i=e.near,o=e.top,r=e.right,Math.max(t*i/r,n*i/o);return Math.max(t,n)}var ftt=new h,mme=new h;function yme(e,t,n,i){if(l(i)&&n(.5)>i){let o=n(0),r=n(1),s=n(.5),a=s-o,c=s-r;return function(u){let f=n(u);if(u<=.5){let p=(f-o)/a;return I.lerp(e,-I.PI_OVER_TWO,p)}let d=(f-r)/c;return I.lerp(-I.PI_OVER_TWO,t,1-d)}}return function(o){return I.lerp(e,t,o)}}function cj(e,t,n,i,o){let r=o,s=Math.max(n,i);if(!l(r)){let a=e.position,c=t,u=e.up,f=e.right,d=e.frustum,p=h.subtract(a,c,ftt),g=h.magnitude(h.multiplyByScalar(u,h.dot(p,u),mme)),m=h.magnitude(h.multiplyByScalar(f,h.dot(p,f),mme));r=Math.min(utt(d,g,m)*.2,1e9)}if(s<r){let u=-Math.pow((r-n)*1e6,.125),f=Math.pow((r-i)*1e6,1/8);return function(d){let p=d*(f-u)+u;return-Math.pow(p,8)/1e6+r}}return function(a){return I.lerp(n,i,a)}}function Xv(e,t){return I.equalsEpsilon(e,I.TWO_PI,I.EPSILON11)&&(e=0),t>e+Math.PI?e+=I.TWO_PI:t<e-Math.PI&&(e-=I.TWO_PI),e}var Cme=new h;function dtt(e,t,n,i,o,r,s,a){let c=e.camera,u=h.clone(c.position,Cme),f=c.pitch,d=Xv(c.heading,i),p=Xv(c.roll,r),g=cj(c,n,u.z,n.z,s),m=yme(f,o,g,a);function C(x){let A=x.time/t;c.setView({orientation:{heading:I.lerp(d,i,A),pitch:m(A),roll:I.lerp(p,r,A)}}),G.lerp(u,n,A,c.position),c.position.z=g(A)}return C}function htt(e,t){e.longitude<t.longitude?e.longitude+=I.TWO_PI:t.longitude+=I.TWO_PI}function mtt(e,t){let n=e.longitude-t.longitude;n<-I.PI?e.longitude+=I.TWO_PI:n>I.PI&&(t.longitude+=I.TWO_PI)}var ptt=new he,_tt=new he;function gtt(e,t,n,i,o,r,s,a,c,u){let f=e.camera,p=e.mapProjection.ellipsoid,g=he.clone(f.positionCartographic,ptt),m=f.pitch,C=Xv(f.heading,i),x=Xv(f.roll,r),A=p.cartesianToCartographic(n,_tt);g.longitude=I.zeroToTwoPi(g.longitude),A.longitude=I.zeroToTwoPi(A.longitude);let b=!1;if(l(a)){let P=I.zeroToTwoPi(a),O=Math.min(g.longitude,A.longitude),M=Math.max(g.longitude,A.longitude),B=P>=O&&P<=M;if(l(c)){let L=Math.abs(g.longitude-A.longitude),_=I.TWO_PI-L;(B?L:_)<(B?_:L)*c&&!B&&(b=!0)}else B||(b=!0)}b?htt(g,A):mtt(g,A);let E=cj(f,n,g.height,A.height,s),S=yme(m,o,E,u);function v(){let P=g.longitude,O=A.longitude,M=g.latitude,B=A.latitude;return function(_){let T=_.time/t,w=h.fromRadians(I.lerp(P,O,T),I.lerp(M,B,T),E(T),p);f.setView({destination:w,orientation:{heading:I.lerp(C,i,T),pitch:S(T),roll:I.lerp(x,r,T)}})}}return v()}function ytt(e,t,n,i,o,r,s){let a=e.camera,c=h.clone(a.position,Cme),u=Xv(a.heading,i),f=a.frustum.right-a.frustum.left,d=cj(a,n,f,n.z,s);function p(g){let m=g.time/t;a.setView({orientation:{heading:I.lerp(u,i,m)}}),G.lerp(c,n,m,a.position);let C=d(m),x=a.frustum,A=x.top/x.right,b=(C-(x.right-x.left))*.5;x.right+=b,x.left-=b,x.top=A*x.right,x.bottom=-x.top}return p}var pme=new he,Ctt=new h;function aj(e,t){return{startObject:{},stopObject:{},duration:0,complete:e,cancel:t}}function _me(e,t){function n(){typeof t=="function"&&t(),e.enableInputs=!0}return n}gme.createTween=function(e,t){t=y(t,y.EMPTY_OBJECT);let n=t.destination,i=e.mode;if(i===ee.MORPHING)return aj();let o=y(t.convert,!0),r=e.mapProjection,s=r.ellipsoid,a=t.maximumHeight,c=t.flyOverLongitude,u=t.flyOverLongitudeWeight,f=t.pitchAdjustHeight,d=t.easingFunction;o&&i!==ee.SCENE3D&&(s.cartesianToCartographic(n,pme),n=r.project(pme,Ctt));let p=e.camera,g=t.endTransform;l(g)&&p._setTransform(g);let m=t.duration;l(m)||(m=Math.ceil(h.distance(p.position,n)/1e6)+2,m=Math.min(m,3));let C=y(t.heading,0),x=y(t.pitch,-I.PI_OVER_TWO),A=y(t.roll,0),b=e.screenSpaceCameraController;b.enableInputs=!1;let E=_me(b,t.complete),S=_me(b,t.cancel),v=p.frustum,P=e.mode===ee.SCENE2D;if(P=P&&G.equalsEpsilon(p.position,n,I.EPSILON6),P=P&&I.equalsEpsilon(Math.max(v.right-v.left,v.top-v.bottom),n.z,I.EPSILON6),P=P||e.mode!==ee.SCENE2D&&h.equalsEpsilon(n,p.position,I.EPSILON10),P=P&&I.equalsEpsilon(I.negativePiToPi(C),I.negativePiToPi(p.heading),I.EPSILON10)&&I.equalsEpsilon(I.negativePiToPi(x),I.negativePiToPi(p.pitch),I.EPSILON10)&&I.equalsEpsilon(I.negativePiToPi(A),I.negativePiToPi(p.roll),I.EPSILON10),P)return aj(E,S);let O=new Array(4);if(O[ee.SCENE2D]=ytt,O[ee.SCENE3D]=gtt,O[ee.COLUMBUS_VIEW]=dtt,m<=0)return aj(function(){O[i](e,1,n,C,x,A,a,c,u,f)({time:1}),typeof E=="function"&&E()},S);let M=O[i](e,m,n,C,x,A,a,c,u,f);if(!l(d)){let B=p.positionCartographic.height,L=i===ee.SCENE3D?s.cartesianToCartographic(n).height:n.z;B>L&&B>11500?d=Dr.CUBIC_OUT:d=Dr.QUINTIC_IN_OUT}return{duration:m,easingFunction:d,startObject:{time:0},stopObject:{time:m},update:M,complete:E,cancel:S}};var zV=gme;var xtt={ROTATE:0,INFINITE_SCROLL:1},ql=Object.freeze(xtt);function Wt(e){this._scene=e,this._transform=N.clone(N.IDENTITY),this._invTransform=N.clone(N.IDENTITY),this._actualTransform=N.clone(N.IDENTITY),this._actualInvTransform=N.clone(N.IDENTITY),this._transformChanged=!1,this.position=new h,this._position=new h,this._positionWC=new h,this._positionCartographic=new he,this._oldPositionWC=void 0,this.positionWCDeltaMagnitude=0,this.positionWCDeltaMagnitudeLastFrame=0,this.timeSinceMoved=0,this._lastMovedTimestamp=0,this.direction=new h,this._direction=new h,this._directionWC=new h,this.up=new h,this._up=new h,this._upWC=new h,this.right=new h,this._right=new h,this._rightWC=new h,this.frustum=new _i,this.frustum.aspectRatio=e.drawingBufferWidth/e.drawingBufferHeight,this.frustum.fov=I.toRadians(60),this.defaultMoveAmount=1e5,this.defaultLookAmount=Math.PI/60,this.defaultRotateAmount=Math.PI/3600,this.defaultZoomAmount=1e5,this.constrainedAxis=void 0,this.maximumZoomFactor=1.5,this._moveStart=new ge,this._moveEnd=new ge,this._changed=new ge,this._changedPosition=void 0,this._changedDirection=void 0,this._changedFrustum=void 0,this._changedHeading=void 0,this.percentageChanged=.5,this._viewMatrix=new N,this._invViewMatrix=new N,vme(this),this._mode=ee.SCENE3D,this._modeChanged=!0;let t=e.mapProjection;this._projection=t,this._maxCoord=t.project(new he(Math.PI,I.PI_OVER_TWO)),this._max2Dfrustum=void 0,kme(this,Wt.DEFAULT_VIEW_RECTANGLE,this.position,!0);let n=h.magnitude(this.position);n+=n*Wt.DEFAULT_VIEW_FACTOR,h.normalize(this.position,this.position),h.multiplyByScalar(this.position,n,this.position)}Wt.TRANSFORM_2D=new N(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1);Wt.TRANSFORM_2D_INVERSE=N.inverseTransformation(Wt.TRANSFORM_2D,new N);Wt.DEFAULT_VIEW_RECTANGLE=ue.fromDegrees(-95,-20,-70,90);Wt.DEFAULT_VIEW_FACTOR=.5;Wt.DEFAULT_OFFSET=new du(0,-I.PI_OVER_FOUR,0);function vme(e){N.computeView(e._position,e._direction,e._up,e._right,e._viewMatrix),N.multiply(e._viewMatrix,e._actualInvTransform,e._viewMatrix),N.inverseTransformation(e._viewMatrix,e._invViewMatrix)}function Att(e){if(!l(e._oldPositionWC))e._oldPositionWC=h.clone(e.positionWC,e._oldPositionWC);else{e.positionWCDeltaMagnitudeLastFrame=e.positionWCDeltaMagnitude;let t=h.subtract(e.positionWC,e._oldPositionWC,e._oldPositionWC);e.positionWCDeltaMagnitude=h.magnitude(t),e._oldPositionWC=h.clone(e.positionWC,e._oldPositionWC),e.positionWCDeltaMagnitude>0?(e.timeSinceMoved=0,e._lastMovedTimestamp=Ei()):e.timeSinceMoved=Math.max(Ei()-e._lastMovedTimestamp,0)/1e3}}Wt.prototype.canPreloadFlight=function(){return l(this._currentFlight)&&this._mode!==ee.SCENE2D};Wt.prototype._updateCameraChanged=function(){let e=this;if(Att(e),e._changed.numberOfListeners===0)return;let t=e.percentageChanged,n=e.heading;l(e._changedHeading)||(e._changedHeading=n);let i=Math.abs(e._changedHeading-n)%I.TWO_PI;i=i>I.PI?I.TWO_PI-i:i;let o=i/Math.PI;if(o>t&&(e._changed.raiseEvent(o),e._changedHeading=n),e._mode===ee.SCENE2D){if(!l(e._changedFrustum)){e._changedPosition=h.clone(e.position,e._changedPosition),e._changedFrustum=e.frustum.clone();return}let u=e.position,f=e._changedPosition,d=e.frustum,p=e._changedFrustum,g=u.x+d.left,m=u.x+d.right,C=f.x+p.left,x=f.x+p.right,A=u.y+d.bottom,b=u.y+d.top,E=f.y+p.bottom,S=f.y+p.top,v=Math.max(g,C),P=Math.min(m,x),O=Math.max(A,E),M=Math.min(b,S),B;if(v>=P||O>=b)B=1;else{let L=p;g<C&&m>x&&A<E&&b>S&&(L=d),B=1-(P-v)*(M-O)/((L.right-L.left)*(L.top-L.bottom))}B>t&&(e._changed.raiseEvent(B),e._changedPosition=h.clone(e.position,e._changedPosition),e._changedFrustum=e.frustum.clone(e._changedFrustum));return}if(!l(e._changedDirection)){e._changedPosition=h.clone(e.positionWC,e._changedPosition),e._changedDirection=h.clone(e.directionWC,e._changedDirection);return}let r=I.acosClamped(h.dot(e.directionWC,e._changedDirection)),s;l(e.frustum.fovy)?s=r/(e.frustum.fovy*.5):s=r;let c=h.distance(e.positionWC,e._changedPosition)/e.positionCartographic.height;(s>t||c>t)&&(e._changed.raiseEvent(Math.max(s,c)),e._changedPosition=h.clone(e.positionWC,e._changedPosition),e._changedDirection=h.clone(e.directionWC,e._changedDirection))};function Ttt(e){Dt.basisTo2D(e._projection,e._transform,e._actualTransform)}var Ett=new he,btt=new h,HV=new h,Stt=new se,wtt=new se,vtt=new se,Dtt=new se,Ptt=new se;function Itt(e){let t=e._projection,n=t.ellipsoid,i=N.getColumn(e._transform,3,Stt),o=n.cartesianToCartographic(i,Ett),r=t.project(o,btt),s=wtt;s.x=r.z,s.y=r.x,s.z=r.y,s.w=1;let a=se.clone(se.UNIT_X,Ptt),c=se.add(N.getColumn(e._transform,0,HV),i,HV);n.cartesianToCartographic(c,o),t.project(o,r);let u=vtt;u.x=r.z,u.y=r.x,u.z=r.y,u.w=0,h.subtract(u,s,u),u.x=0;let f=Dtt;if(h.magnitudeSquared(u)>I.EPSILON10)h.cross(a,u,f);else{let d=se.add(N.getColumn(e._transform,1,HV),i,HV);n.cartesianToCartographic(d,o),t.project(o,r),f.x=r.z,f.y=r.x,f.z=r.y,f.w=0,h.subtract(f,s,f),f.x=0,h.magnitudeSquared(f)<I.EPSILON10&&(se.clone(se.UNIT_Y,u),se.clone(se.UNIT_Z,f))}h.cross(f,a,u),h.normalize(u,u),h.cross(a,u,f),h.normalize(f,f),N.setColumn(e._actualTransform,0,u,e._actualTransform),N.setColumn(e._actualTransform,1,f,e._actualTransform),N.setColumn(e._actualTransform,2,a,e._actualTransform),N.setColumn(e._actualTransform,3,s,e._actualTransform)}var lj=new h;function Va(e){let t=e._mode,n=!1,i=0;t===ee.SCENE2D&&(i=e.frustum.right-e.frustum.left,n=i!==e._positionCartographic.height);let o=e._position,r=!h.equals(o,e.position)||n;r&&(o=h.clone(e.position,e._position));let s=e._direction,a=!h.equals(s,e.direction);a&&(h.normalize(e.direction,e.direction),s=h.clone(e.direction,e._direction));let c=e._up,u=!h.equals(c,e.up);u&&(h.normalize(e.up,e.up),c=h.clone(e.up,e._up));let f=e._right,d=!h.equals(f,e.right);d&&(h.normalize(e.right,e.right),f=h.clone(e.right,e._right));let p=e._transformChanged||e._modeChanged;e._transformChanged=!1,p&&(N.inverseTransformation(e._transform,e._invTransform),e._mode===ee.COLUMBUS_VIEW||e._mode===ee.SCENE2D?N.equals(N.IDENTITY,e._transform)?N.clone(Wt.TRANSFORM_2D,e._actualTransform):e._mode===ee.COLUMBUS_VIEW?Ttt(e):Itt(e):N.clone(e._transform,e._actualTransform),N.inverseTransformation(e._actualTransform,e._actualInvTransform),e._modeChanged=!1);let g=e._actualTransform;if(r||p)if(e._positionWC=N.multiplyByPoint(g,o,e._positionWC),t===ee.SCENE3D||t===ee.MORPHING)e._positionCartographic=e._projection.ellipsoid.cartesianToCartographic(e._positionWC,e._positionCartographic);else{let m=lj;m.x=e._positionWC.y,m.y=e._positionWC.z,m.z=e._positionWC.x,t===ee.SCENE2D&&(m.z=i),e._projection.unproject(m,e._positionCartographic)}if(a||u||d){let m=h.dot(s,h.cross(c,f,lj));if(Math.abs(1-m)>I.EPSILON2){let C=1/h.magnitudeSquared(c),x=h.dot(c,s)*C,A=h.multiplyByScalar(s,x,lj);c=h.normalize(h.subtract(c,A,e._up),e._up),h.clone(c,e.up),f=h.cross(s,c,e._right),h.clone(f,e.right)}}(a||p)&&(e._directionWC=N.multiplyByPointAsVector(g,s,e._directionWC),h.normalize(e._directionWC,e._directionWC)),(u||p)&&(e._upWC=N.multiplyByPointAsVector(g,c,e._upWC),h.normalize(e._upWC,e._upWC)),(d||p)&&(e._rightWC=N.multiplyByPointAsVector(g,f,e._rightWC),h.normalize(e._rightWC,e._rightWC)),(r||a||u||d||p)&&vme(e)}function Dme(e,t){let n;return I.equalsEpsilon(Math.abs(e.z),1,I.EPSILON3)?n=Math.atan2(t.y,t.x)-I.PI_OVER_TWO:n=Math.atan2(e.y,e.x)-I.PI_OVER_TWO,I.TWO_PI-I.zeroToTwoPi(n)}function Pme(e){return I.PI_OVER_TWO-I.acosClamped(e.z)}function Ime(e,t,n){let i=0;return I.equalsEpsilon(Math.abs(e.z),1,I.EPSILON3)||(i=Math.atan2(-n.z,t.z),i=I.zeroToTwoPi(i+I.TWO_PI)),i}var jV=new N,qV=new N;Object.defineProperties(Wt.prototype,{transform:{get:function(){return this._transform}},inverseTransform:{get:function(){return Va(this),this._invTransform}},viewMatrix:{get:function(){return Va(this),this._viewMatrix}},inverseViewMatrix:{get:function(){return Va(this),this._invViewMatrix}},positionCartographic:{get:function(){return Va(this),this._positionCartographic}},positionWC:{get:function(){return Va(this),this._positionWC}},directionWC:{get:function(){return Va(this),this._directionWC}},upWC:{get:function(){return Va(this),this._upWC}},rightWC:{get:function(){return Va(this),this._rightWC}},heading:{get:function(){if(this._mode!==ee.MORPHING){let e=this._projection.ellipsoid,t=N.clone(this._transform,jV),n=Dt.eastNorthUpToFixedFrame(this.positionWC,e,qV);this._setTransform(n);let i=Dme(this.direction,this.up);return this._setTransform(t),i}}},pitch:{get:function(){if(this._mode!==ee.MORPHING){let e=this._projection.ellipsoid,t=N.clone(this._transform,jV),n=Dt.eastNorthUpToFixedFrame(this.positionWC,e,qV);this._setTransform(n);let i=Pme(this.direction);return this._setTransform(t),i}}},roll:{get:function(){if(this._mode!==ee.MORPHING){let e=this._projection.ellipsoid,t=N.clone(this._transform,jV),n=Dt.eastNorthUpToFixedFrame(this.positionWC,e,qV);this._setTransform(n);let i=Ime(this.direction,this.up,this.right);return this._setTransform(t),i}}},moveStart:{get:function(){return this._moveStart}},moveEnd:{get:function(){return this._moveEnd}},changed:{get:function(){return this._changed}}});Wt.prototype.update=function(e){let t=!1;if(e!==this._mode&&(this._mode=e,this._modeChanged=e!==ee.MORPHING,t=this._mode===ee.SCENE2D),t){let n=this._max2Dfrustum=this.frustum.clone(),i=2,o=n.top/n.right;n.right=this._maxCoord.x*i,n.left=-n.right,n.top=o*n.right,n.bottom=-n.top}this._mode===ee.SCENE2D&&Bme(this,this.position)};var Ott=new h,Rtt=new h,Mtt=new h;Wt.prototype._setTransform=function(e){let t=h.clone(this.positionWC,Ott),n=h.clone(this.upWC,Rtt),i=h.clone(this.directionWC,Mtt);N.clone(e,this._transform),this._transformChanged=!0,Va(this);let o=this._actualInvTransform;N.multiplyByPoint(o,t,this.position),N.multiplyByPointAsVector(o,i,this.direction),N.multiplyByPointAsVector(o,n,this.up),h.cross(this.direction,this.up,this.right),Va(this)};var Btt=new G,Ltt=new Tn,Ntt=new h,Ftt=new h;function Ome(e){if(!N.equals(N.IDENTITY,e.transform))return h.magnitude(e.position);let t=e._scene,n=t.globe,i=Btt;i.x=t.drawingBufferWidth/2,i.y=t.drawingBufferHeight/2;let o;if(l(n)){let a=e.getPickRay(i,Ltt);o=n.pickWorldCoordinates(a,t,!0,Ntt)}let r;t.pickPositionSupported&&(r=t.pickPositionWorldCoordinates(i,Ftt));let s;if(l(o)||l(r)){let a=l(r)?h.distance(r,e.positionWC):Number.POSITIVE_INFINITY,c=l(o)?h.distance(o,e.positionWC):Number.POSITIVE_INFINITY;s=Math.min(a,c)}else s=Math.max(e.positionCartographic.height,0);return s}Wt.prototype._adjustOrthographicFrustum=function(e){this.frustum instanceof $t&&(!e&&this._positionCartographic.height<15e4||(this.frustum.width=Ome(this)))};var YV=new h,mj=new N,Vtt=new N,pj=new Oe,_j=new J,Rme=new he;function ktt(e,t,n){let i=N.clone(e.transform,mj),o=Dt.eastNorthUpToFixedFrame(t,e._projection.ellipsoid,Vtt);e._setTransform(o),h.clone(h.ZERO,e.position),n.heading=n.heading-I.PI_OVER_TWO;let r=Oe.fromHeadingPitchRoll(n,pj),s=J.fromQuaternion(r,_j);J.getColumn(s,0,e.direction),J.getColumn(s,2,e.up),h.cross(e.direction,e.up,e.right),e._setTransform(i),e._adjustOrthographicFrustum(!0)}function Utt(e,t,n,i){let o=N.clone(e.transform,mj);if(e._setTransform(N.IDENTITY),!h.equals(t,e.positionWC)){if(i){let a=e._projection,c=a.ellipsoid.cartesianToCartographic(t,Rme);t=a.project(c,YV)}h.clone(t,e.position)}n.heading=n.heading-I.PI_OVER_TWO;let r=Oe.fromHeadingPitchRoll(n,pj),s=J.fromQuaternion(r,_j);J.getColumn(s,0,e.direction),J.getColumn(s,2,e.up),h.cross(e.direction,e.up,e.right),e._setTransform(o),e._adjustOrthographicFrustum(!0)}function ztt(e,t,n,i){let o=N.clone(e.transform,mj);if(e._setTransform(N.IDENTITY),!h.equals(t,e.positionWC)){if(i){let c=e._projection,u=c.ellipsoid.cartesianToCartographic(t,Rme);t=c.project(u,YV)}G.clone(t,e.position);let r=-t.z*.5,s=-r,a=e.frustum;if(s>r){let c=a.top/a.right;a.right=s,a.left=r,a.top=a.right*c,a.bottom=-a.top}}if(e._scene.mapMode2D===ql.ROTATE){n.heading=n.heading-I.PI_OVER_TWO,n.pitch=-I.PI_OVER_TWO,n.roll=0;let r=Oe.fromHeadingPitchRoll(n,pj),s=J.fromQuaternion(r,_j);J.getColumn(s,2,e.up),h.cross(e.direction,e.up,e.right)}e._setTransform(o)}var Htt=new h,Gtt=new h,Wtt=new h;function Mme(e,t,n,i){let o=h.clone(n.direction,Htt),r=h.clone(n.up,Gtt);if(e._scene.mode===ee.SCENE3D){let a=e._projection.ellipsoid,c=Dt.eastNorthUpToFixedFrame(t,a,jV),u=N.inverseTransformation(c,qV);N.multiplyByPointAsVector(u,o,o),N.multiplyByPointAsVector(u,r,r)}let s=h.cross(o,r,Wtt);return i.heading=Dme(o,r),i.pitch=Pme(o),i.roll=Ime(o,r,s),i}var hj={destination:void 0,orientation:{direction:void 0,up:void 0,heading:void 0,pitch:void 0,roll:void 0},convert:void 0,endTransform:void 0},SE=new lf;Wt.prototype.setView=function(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.orientation,y.EMPTY_OBJECT),n=this._mode;if(n===ee.MORPHING)return;l(e.endTransform)&&this._setTransform(e.endTransform);let i=y(e.convert,!0),o=y(e.destination,h.clone(this.positionWC,YV));l(o)&&l(o.west)&&(o=this.getRectangleCameraCoordinates(o,YV),i=!1),l(t.direction)&&(t=Mme(this,o,t,hj.orientation)),SE.heading=y(t.heading,0),SE.pitch=y(t.pitch,-I.PI_OVER_TWO),SE.roll=y(t.roll,0),n===ee.SCENE3D?ktt(this,o,SE):n===ee.SCENE2D?ztt(this,o,SE,i):Utt(this,o,SE,i)};var jtt=new h;Wt.prototype.flyHome=function(e){let t=this._mode;if(t===ee.MORPHING&&this._scene.completeMorph(),t===ee.SCENE2D)this.flyTo({destination:Wt.DEFAULT_VIEW_RECTANGLE,duration:e,endTransform:N.IDENTITY});else if(t===ee.SCENE3D){let n=this.getRectangleCameraCoordinates(Wt.DEFAULT_VIEW_RECTANGLE),i=h.magnitude(n);i+=i*Wt.DEFAULT_VIEW_FACTOR,h.normalize(n,n),h.multiplyByScalar(n,i,n),this.flyTo({destination:n,duration:e,endTransform:N.IDENTITY})}else if(t===ee.COLUMBUS_VIEW){let n=this._projection.ellipsoid.maximumRadius,i=new h(0,-1,1);i=h.multiplyByScalar(h.normalize(i,i),5*n,i),this.flyTo({destination:i,duration:e,orientation:{heading:0,pitch:-Math.acos(h.normalize(i,jtt).z),roll:0},endTransform:N.IDENTITY,convert:!1})}};Wt.prototype.worldToCameraCoordinates=function(e,t){return l(t)||(t=new se),Va(this),N.multiplyByVector(this._actualInvTransform,e,t)};Wt.prototype.worldToCameraCoordinatesPoint=function(e,t){return l(t)||(t=new h),Va(this),N.multiplyByPoint(this._actualInvTransform,e,t)};Wt.prototype.worldToCameraCoordinatesVector=function(e,t){return l(t)||(t=new h),Va(this),N.multiplyByPointAsVector(this._actualInvTransform,e,t)};Wt.prototype.cameraToWorldCoordinates=function(e,t){return l(t)||(t=new se),Va(this),N.multiplyByVector(this._actualTransform,e,t)};Wt.prototype.cameraToWorldCoordinatesPoint=function(e,t){return l(t)||(t=new h),Va(this),N.multiplyByPoint(this._actualTransform,e,t)};Wt.prototype.cameraToWorldCoordinatesVector=function(e,t){return l(t)||(t=new h),Va(this),N.multiplyByPointAsVector(this._actualTransform,e,t)};function Bme(e,t){let n=e._scene.mapMode2D===ql.ROTATE,i=e._maxCoord.x,o=e._maxCoord.y,r,s;n?(s=i,r=-s):(s=t.x-i*2,r=t.x+i*2),t.x>i&&(t.x=s),t.x<-i&&(t.x=r),t.y>o&&(t.y=o),t.y<-o&&(t.y=-o)}var xme=new h;Wt.prototype.move=function(e,t){let n=this.position;h.multiplyByScalar(e,t,xme),h.add(n,xme,n),this._mode===ee.SCENE2D&&Bme(this,n),this._adjustOrthographicFrustum(!0)};Wt.prototype.moveForward=function(e){e=y(e,this.defaultMoveAmount),this._mode===ee.SCENE2D?XV(this,e):this.move(this.direction,e)};Wt.prototype.moveBackward=function(e){e=y(e,this.defaultMoveAmount),this._mode===ee.SCENE2D?XV(this,-e):this.move(this.direction,-e)};Wt.prototype.moveUp=function(e){e=y(e,this.defaultMoveAmount),this.move(this.up,e)};Wt.prototype.moveDown=function(e){e=y(e,this.defaultMoveAmount),this.move(this.up,-e)};Wt.prototype.moveRight=function(e){e=y(e,this.defaultMoveAmount),this.move(this.right,e)};Wt.prototype.moveLeft=function(e){e=y(e,this.defaultMoveAmount),this.move(this.right,-e)};Wt.prototype.lookLeft=function(e){e=y(e,this.defaultLookAmount),this._mode!==ee.SCENE2D&&this.look(this.up,-e)};Wt.prototype.lookRight=function(e){e=y(e,this.defaultLookAmount),this._mode!==ee.SCENE2D&&this.look(this.up,e)};Wt.prototype.lookUp=function(e){e=y(e,this.defaultLookAmount),this._mode!==ee.SCENE2D&&this.look(this.right,-e)};Wt.prototype.lookDown=function(e){e=y(e,this.defaultLookAmount),this._mode!==ee.SCENE2D&&this.look(this.right,e)};var qtt=new Oe,Ytt=new J;Wt.prototype.look=function(e,t){let n=y(t,this.defaultLookAmount),i=Oe.fromAxisAngle(e,-n,qtt),o=J.fromQuaternion(i,Ytt),r=this.direction,s=this.up,a=this.right;J.multiplyByVector(o,r,r),J.multiplyByVector(o,s,s),J.multiplyByVector(o,a,a)};Wt.prototype.twistLeft=function(e){e=y(e,this.defaultLookAmount),this.look(this.direction,e)};Wt.prototype.twistRight=function(e){e=y(e,this.defaultLookAmount),this.look(this.direction,-e)};var Xtt=new Oe,Ktt=new J;Wt.prototype.rotate=function(e,t){let n=y(t,this.defaultRotateAmount),i=Oe.fromAxisAngle(e,-n,Xtt),o=J.fromQuaternion(i,Ktt);J.multiplyByVector(o,this.position,this.position),J.multiplyByVector(o,this.direction,this.direction),J.multiplyByVector(o,this.up,this.up),h.cross(this.direction,this.up,this.right),h.cross(this.right,this.direction,this.up),this._adjustOrthographicFrustum(!1)};Wt.prototype.rotateDown=function(e){e=y(e,this.defaultRotateAmount),Lme(this,e)};Wt.prototype.rotateUp=function(e){e=y(e,this.defaultRotateAmount),Lme(this,-e)};var Ztt=new h,$tt=new h,Jtt=new h,Ame=new h;function Lme(e,t){let n=e.position;if(l(e.constrainedAxis)&&!h.equalsEpsilon(e.position,h.ZERO,I.EPSILON2)){let i=h.normalize(n,Ztt),o=h.equalsEpsilon(i,e.constrainedAxis,I.EPSILON2),r=h.equalsEpsilon(i,h.negate(e.constrainedAxis,Ame),I.EPSILON2);if(!o&&!r){let s=h.normalize(e.constrainedAxis,$tt),a=h.dot(i,s),c=I.acosClamped(a);t>0&&t>c&&(t=c-I.EPSILON4),a=h.dot(i,h.negate(s,Ame)),c=I.acosClamped(a),t<0&&-t>c&&(t=-c+I.EPSILON4);let u=h.cross(s,i,Jtt);e.rotate(u,t)}else(o&&t<0||r&&t>0)&&e.rotate(e.right,t)}else e.rotate(e.right,t)}Wt.prototype.rotateRight=function(e){e=y(e,this.defaultRotateAmount),Nme(this,-e)};Wt.prototype.rotateLeft=function(e){e=y(e,this.defaultRotateAmount),Nme(this,e)};function Nme(e,t){l(e.constrainedAxis)?e.rotate(e.constrainedAxis,t):e.rotate(e.up,t)}function XV(e,t){let n=e.frustum,i;if(t=t*.5,Math.abs(n.top)+Math.abs(n.bottom)>Math.abs(n.left)+Math.abs(n.right)){let o=n.top-t,r=n.bottom+t,s=e._maxCoord.y;e._scene.mapMode2D===ql.ROTATE&&(s*=e.maximumZoomFactor),r>s&&(r=s,o=-s),o<=r&&(o=1,r=-1),i=n.right/n.top,n.top=o,n.bottom=r,n.right=n.top*i,n.left=-n.right}else{let o=n.right-t,r=n.left+t,s=e._maxCoord.x;e._scene.mapMode2D===ql.ROTATE&&(s*=e.maximumZoomFactor),o>s&&(o=s,r=-s),o<=r&&(o=1,r=-1),i=n.top/n.right,n.right=o,n.left=r,n.top=n.right*i,n.bottom=-n.top}}function Fme(e,t){e.move(e.direction,t)}Wt.prototype.zoomIn=function(e){e=y(e,this.defaultZoomAmount),this._mode===ee.SCENE2D?XV(this,e):Fme(this,e)};Wt.prototype.zoomOut=function(e){e=y(e,this.defaultZoomAmount),this._mode===ee.SCENE2D?XV(this,-e):Fme(this,-e)};Wt.prototype.getMagnitude=function(){if(this._mode===ee.SCENE3D)return h.magnitude(this.position);if(this._mode===ee.COLUMBUS_VIEW)return Math.abs(this.position.z);if(this._mode===ee.SCENE2D)return Math.max(this.frustum.right-this.frustum.left,this.frustum.top-this.frustum.bottom)};var Qtt=new N;Wt.prototype.lookAt=function(e,t){let n=Dt.eastNorthUpToFixedFrame(e,oe.WGS84,Qtt);this.lookAtTransform(n,t)};var ent=new h,tnt=new Oe,nnt=new Oe,int=new J;function Vme(e,t,n){t=I.clamp(t,-I.PI_OVER_TWO,I.PI_OVER_TWO),e=I.zeroToTwoPi(e)-I.PI_OVER_TWO;let i=Oe.fromAxisAngle(h.UNIT_Y,-t,tnt),o=Oe.fromAxisAngle(h.UNIT_Z,-e,nnt),r=Oe.multiply(o,i,o),s=J.fromQuaternion(r,int),a=h.clone(h.UNIT_X,ent);return J.multiplyByVector(s,a,a),h.negate(a,a),h.multiplyByScalar(a,n,a),a}Wt.prototype.lookAtTransform=function(e,t){if(this._setTransform(e),!l(t))return;let n;if(l(t.heading)?n=Vme(t.heading,t.pitch,t.range):n=t,this._mode===ee.SCENE2D){G.clone(G.ZERO,this.position),h.negate(n,this.up),this.up.z=0,h.magnitudeSquared(this.up)<I.EPSILON10&&h.clone(h.UNIT_Y,this.up),h.normalize(this.up,this.up),this._setTransform(N.IDENTITY),h.negate(h.UNIT_Z,this.direction),h.cross(this.direction,this.up,this.right),h.normalize(this.right,this.right);let i=this.frustum,o=i.top/i.right;i.right=h.magnitude(n)*.5,i.left=-i.right,i.top=o*i.right,i.bottom=-i.top,this._setTransform(e);return}h.clone(n,this.position),h.negate(this.position,this.direction),h.normalize(this.direction,this.direction),h.cross(this.direction,h.UNIT_Z,this.right),h.magnitudeSquared(this.right)<I.EPSILON10&&h.clone(h.UNIT_X,this.right),h.normalize(this.right,this.right),h.cross(this.right,this.direction,this.up),h.normalize(this.up,this.up),this._adjustOrthographicFrustum(!0)};var Kv=new he,ont=new he,rnt=new h,snt=new h,ant=new h,cnt=new h,lnt=new h,unt=new h,fnt=new h,uj=new h,dnt={direction:new h,right:new h,up:new h},Tme;function Fa(e,t,n,i){return Math.abs(h.dot(t,n))/i-h.dot(e,n)}function kme(e,t,n,i){let o=e._projection.ellipsoid,r=i?e:dnt,s=t.north,a=t.south,c=t.east,u=t.west;u>c&&(c+=I.TWO_PI);let f=(u+c)*.5,d;if(a<-I.PI_OVER_TWO+I.RADIANS_PER_DEGREE&&s>I.PI_OVER_TWO-I.RADIANS_PER_DEGREE)d=0;else{let B=Kv;B.longitude=f,B.latitude=s,B.height=0;let L=ont;L.longitude=f,L.latitude=a,L.height=0;let _=Tme;(!l(_)||_.ellipsoid!==o)&&(Tme=_=new _f(void 0,void 0,o)),_.setEndPoints(B,L),d=_.interpolateUsingFraction(.5,Kv).latitude}let p=Kv;p.longitude=f,p.latitude=d,p.height=0;let g=o.cartographicToCartesian(p,fnt),m=Kv;m.longitude=c,m.latitude=s;let C=o.cartographicToCartesian(m,rnt);m.longitude=u;let x=o.cartographicToCartesian(m,ant);m.longitude=f;let A=o.cartographicToCartesian(m,lnt);m.latitude=a;let b=o.cartographicToCartesian(m,unt);m.longitude=c;let E=o.cartographicToCartesian(m,cnt);m.longitude=u;let S=o.cartographicToCartesian(m,snt);h.subtract(x,g,x),h.subtract(E,g,E),h.subtract(C,g,C),h.subtract(S,g,S),h.subtract(A,g,A),h.subtract(b,g,b);let v=o.geodeticSurfaceNormal(g,r.direction);h.negate(v,v);let P=h.cross(v,h.UNIT_Z,r.right);h.normalize(P,P);let O=h.cross(P,v,r.up),M;if(e.frustum instanceof $t){let B=Math.max(h.distance(C,x),h.distance(E,S)),L=Math.max(h.distance(C,E),h.distance(x,S)),_,T,w=e.frustum._offCenterFrustum.right/e.frustum._offCenterFrustum.top,D=L*w;B>D?(_=B,T=_/w):(T=L,_=D),M=Math.max(_,T)}else{let B=Math.tan(e.frustum.fovy*.5),L=e.frustum.aspectRatio*B;if(M=Math.max(Fa(v,O,x,B),Fa(v,O,E,B),Fa(v,O,C,B),Fa(v,O,S,B),Fa(v,O,A,B),Fa(v,O,b,B),Fa(v,P,x,L),Fa(v,P,E,L),Fa(v,P,C,L),Fa(v,P,S,L),Fa(v,P,A,L),Fa(v,P,b,L)),a<0&&s>0){let _=Kv;_.longitude=u,_.latitude=0,_.height=0;let T=o.cartographicToCartesian(_,uj);h.subtract(T,g,T),M=Math.max(M,Fa(v,O,T,B),Fa(v,P,T,L)),_.longitude=c,T=o.cartographicToCartesian(_,uj),h.subtract(T,g,T),M=Math.max(M,Fa(v,O,T,B),Fa(v,P,T,L))}}return h.add(g,h.multiplyByScalar(v,-M,uj),n)}var hnt=new he,mnt=new h,pnt=new h;function _nt(e,t,n){let i=e._projection;t.west>t.east&&(t=ue.MAX_VALUE);let o=e._actualTransform,r=e._actualInvTransform,s=hnt;s.longitude=t.east,s.latitude=t.north;let a=i.project(s,mnt);N.multiplyByPoint(o,a,a),N.multiplyByPoint(r,a,a),s.longitude=t.west,s.latitude=t.south;let c=i.project(s,pnt);if(N.multiplyByPoint(o,c,c),N.multiplyByPoint(r,c,c),n.x=(a.x-c.x)*.5+c.x,n.y=(a.y-c.y)*.5+c.y,l(e.frustum.fovy)){let u=Math.tan(e.frustum.fovy*.5),f=e.frustum.aspectRatio*u;n.z=Math.max((a.x-c.x)/f,(a.y-c.y)/u)*.5}else{let u=a.x-c.x,f=a.y-c.y;n.z=Math.max(u,f)}return n}var gnt=new he,ynt=new h,Cnt=new h;function xnt(e,t,n){let i=e._projection,o=t.east;t.west>t.east&&(e._scene.mapMode2D===ql.INFINITE_SCROLL?o+=I.TWO_PI:(t=ue.MAX_VALUE,o=t.east));let r=gnt;r.longitude=o,r.latitude=t.north;let s=i.project(r,ynt);r.longitude=t.west,r.latitude=t.south;let a=i.project(r,Cnt),c=Math.abs(s.x-a.x)*.5,u=Math.abs(s.y-a.y)*.5,f,d,p=e.frustum.right/e.frustum.top,g=u*p;return c>g?(f=c,d=f/p):(d=u,f=g),u=Math.max(2*f,2*d),n.x=(s.x-a.x)*.5+a.x,n.y=(s.y-a.y)*.5+a.y,r=i.unproject(n,r),r.height=u,n=i.project(r,n),n}Wt.prototype.getRectangleCameraCoordinates=function(e,t){let n=this._mode;if(l(t)||(t=new h),n===ee.SCENE3D)return kme(this,e,t);if(n===ee.COLUMBUS_VIEW)return _nt(this,e,t);if(n===ee.SCENE2D)return xnt(this,e,t)};var Ant=new Tn;function Tnt(e,t,n,i){n=y(n,oe.WGS84);let o=e.getPickRay(t,Ant),r=Gi.rayEllipsoid(o,n);if(!r)return;let s=r.start>0?r.start:r.stop;return Tn.getPoint(o,s,i)}var Ent=new Tn;function bnt(e,t,n,i){let r=e.getPickRay(t,Ent).origin;r=h.fromElements(r.y,r.z,0,r);let s=n.unproject(r);if(!(s.latitude<-I.PI_OVER_TWO||s.latitude>I.PI_OVER_TWO))return n.ellipsoid.cartographicToCartesian(s,i)}var Snt=new Tn;function wnt(e,t,n,i){let o=e.getPickRay(t,Snt),r=-o.origin.x/o.direction.x;Tn.getPoint(o,r,i);let s=n.unproject(new h(i.y,i.z,0));if(!(s.latitude<-I.PI_OVER_TWO||s.latitude>I.PI_OVER_TWO||s.longitude<-Math.PI||s.longitude>Math.PI))return n.ellipsoid.cartographicToCartesian(s,i)}Wt.prototype.pickEllipsoid=function(e,t,n){let i=this._scene.canvas;if(!(i.clientWidth===0||i.clientHeight===0)){if(l(n)||(n=new h),t=y(t,oe.WGS84),this._mode===ee.SCENE3D)n=Tnt(this,e,t,n);else if(this._mode===ee.SCENE2D)n=bnt(this,e,this._projection,n);else if(this._mode===ee.COLUMBUS_VIEW)n=wnt(this,e,this._projection,n);else return;return n}};var vnt=new h,Dnt=new h,Pnt=new h;function Int(e,t,n){let i=e._scene.canvas,o=i.clientWidth,r=i.clientHeight,s=Math.tan(e.frustum.fovy*.5),a=e.frustum.aspectRatio*s,c=e.frustum.near,u=2/o*t.x-1,f=2/r*(r-t.y)-1,d=e.positionWC;h.clone(d,n.origin);let p=h.multiplyByScalar(e.directionWC,c,vnt);h.add(d,p,p);let g=h.multiplyByScalar(e.rightWC,u*c*a,Dnt),m=h.multiplyByScalar(e.upWC,f*c*s,Pnt),C=h.add(p,g,n.direction);return h.add(C,m,C),h.subtract(C,d,C),h.normalize(C,C),n}var GV=new h;function Ont(e,t,n){let i=e._scene.canvas,o=i.clientWidth,r=i.clientHeight,s=e.frustum;l(s._offCenterFrustum)&&(s=s._offCenterFrustum);let a=2/o*t.x-1;a*=(s.right-s.left)*.5;let c=2/r*(r-t.y)-1;c*=(s.top-s.bottom)*.5;let u=n.origin;return h.clone(e.position,u),h.multiplyByScalar(e.right,a,GV),h.add(GV,u,u),h.multiplyByScalar(e.up,c,GV),h.add(GV,u,u),h.clone(e.directionWC,n.direction),(e._mode===ee.COLUMBUS_VIEW||e._mode===ee.SCENE2D)&&h.fromElements(n.origin.z,n.origin.x,n.origin.y,n.origin),n}Wt.prototype.getPickRay=function(e,t){l(t)||(t=new Tn);let n=this._scene.canvas;if(n.clientWidth<=0||n.clientHeight<=0)return;let i=this.frustum;return l(i.aspectRatio)&&l(i.fov)&&l(i.near)?Int(this,e,t):Ont(this,e,t)};var Rnt=new h,Mnt=new h;Wt.prototype.distanceToBoundingSphere=function(e){let t=h.subtract(this.positionWC,e.center,Rnt),n=h.multiplyByScalar(this.directionWC,h.dot(t,this.directionWC),Mnt);return Math.max(0,h.magnitude(n)-e.radius)};var Bnt=new G;Wt.prototype.getPixelSize=function(e,t,n){let i=this.distanceToBoundingSphere(e),o=this.frustum.getPixelDimensions(t,n,i,this._scene.pixelRatio,Bnt);return Math.max(o.x,o.y)};function Lnt(e,t,n,i,o,r){let s=h.clone(t);n.y>i?s.y-=n.y-i:n.y<-i&&(s.y+=-i-n.y),n.z>o?s.z-=n.z-o:n.z<-o&&(s.z+=-o-n.z);function a(c){let u=h.lerp(t,s,c.time,new h);e.worldToCameraCoordinatesPoint(u,e.position)}return{easingFunction:Dr.EXPONENTIAL_OUT,startObject:{time:0},stopObject:{time:1},duration:r,update:a}}var Nnt=new h,Eme=new h,Fnt=new h,Vnt=new h;function knt(e,t){let n=e.position,i=e.direction,o=e.worldToCameraCoordinatesVector(h.UNIT_X,Nnt),r=-h.dot(o,n)/h.dot(o,i),s=h.add(n,h.multiplyByScalar(i,r,Eme),Eme);e.cameraToWorldCoordinatesPoint(s,s),n=e.cameraToWorldCoordinatesPoint(e.position,Fnt);let a=Math.tan(e.frustum.fovy*.5),c=e.frustum.aspectRatio*a,u=h.magnitude(h.subtract(n,s,Vnt)),f=c*u,d=a*u,p=e._maxCoord.x,g=e._maxCoord.y,m=Math.max(f-p,p),C=Math.max(d-g,g);if(n.z<-m||n.z>m||n.y<-C||n.y>C){let x=s.y<-m||s.y>m,A=s.z<-C||s.z>C;if(x||A)return Lnt(e,n,s,m,C,t)}}Wt.prototype.createCorrectPositionTween=function(e){if(this._mode===ee.COLUMBUS_VIEW)return knt(this,e)};var Unt=new h,ps={destination:void 0,heading:void 0,pitch:void 0,roll:void 0,duration:void 0,complete:void 0,cancel:void 0,endTransform:void 0,maximumHeight:void 0,easingFunction:void 0};Wt.prototype.cancelFlight=function(){l(this._currentFlight)&&(this._currentFlight.cancelTween(),this._currentFlight=void 0)};Wt.prototype.completeFlight=function(){if(l(this._currentFlight)){this._currentFlight.cancelTween();let e={destination:void 0,orientation:{heading:void 0,pitch:void 0,roll:void 0}};e.destination=ps.destination,e.orientation.heading=ps.heading,e.orientation.pitch=ps.pitch,e.orientation.roll=ps.roll,this.setView(e),l(this._currentFlight.complete)&&this._currentFlight.complete(),this._currentFlight=void 0}};Wt.prototype.flyTo=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.destination;if(this._mode===ee.MORPHING)return;this.cancelFlight();let i=t instanceof ue;i&&(t=this.getRectangleCameraCoordinates(t,Unt));let o=y(e.orientation,y.EMPTY_OBJECT);if(l(o.direction)&&(o=Mme(this,t,o,hj.orientation)),l(e.duration)&&e.duration<=0){let f=hj;f.destination=e.destination,f.orientation.heading=o.heading,f.orientation.pitch=o.pitch,f.orientation.roll=o.roll,f.convert=e.convert,f.endTransform=e.endTransform,this.setView(f),typeof e.complete=="function"&&e.complete();return}let r=this,s;ps.destination=t,ps.heading=o.heading,ps.pitch=o.pitch,ps.roll=o.roll,ps.duration=e.duration,ps.complete=function(){s===r._currentFlight&&(r._currentFlight=void 0),l(e.complete)&&e.complete()},ps.cancel=e.cancel,ps.endTransform=e.endTransform,ps.convert=i?!1:e.convert,ps.maximumHeight=e.maximumHeight,ps.pitchAdjustHeight=e.pitchAdjustHeight,ps.flyOverLongitude=e.flyOverLongitude,ps.flyOverLongitudeWeight=e.flyOverLongitudeWeight,ps.easingFunction=e.easingFunction;let a=this._scene,c=zV.createTween(a,ps);if(c.duration===0){typeof c.complete=="function"&&c.complete();return}s=a.tweens.add(c),this._currentFlight=s;let u=this._scene.preloadFlightCamera;this._mode!==ee.SCENE2D&&(l(u)||(u=Wt.clone(this)),u.setView({destination:t,orientation:o}),this._scene.preloadFlightCullingVolume=u.frustum.computeCullingVolume(u.positionWC,u.directionWC,u.upWC))};function znt(e,t){let n=e.frustum,i=Math.tan(n.fovy*.5),o=n.aspectRatio*i;return Math.max(t/o,t/i)}function Hnt(e,t){let n=e.frustum;l(n._offCenterFrustum)&&(n=n._offCenterFrustum);let i,o,r=n.right/n.top,s=t*r;return t>s?(i=t,o=i/r):(o=t,i=s),Math.max(i,o)*1.5}var Gnt=100;function Ume(e,t,n){n=du.clone(l(n)?n:Wt.DEFAULT_OFFSET);let i=e._scene.screenSpaceCameraController.minimumZoomDistance,o=e._scene.screenSpaceCameraController.maximumZoomDistance,r=n.range;if(!l(r)||r===0){let s=t.radius;s===0?n.range=Gnt:e.frustum instanceof $t||e._mode===ee.SCENE2D?n.range=Hnt(e,s):n.range=znt(e,s),n.range=I.clamp(n.range,i,o)}return n}Wt.prototype.viewBoundingSphere=function(e,t){t=Ume(this,e,t),this.lookAt(e.center,t)};var Wnt=new N,jnt=new h,qnt=new h,Ynt=new h,Xnt=new h,Knt=new se,Znt=new Oe,$nt=new J;Wt.prototype.flyToBoundingSphere=function(e,t){t=y(t,y.EMPTY_OBJECT);let n=this._mode===ee.SCENE2D||this._mode===ee.COLUMBUS_VIEW;this._setTransform(N.IDENTITY);let i=Ume(this,e,t.offset),o;n?o=h.multiplyByScalar(h.UNIT_Z,i.range,jnt):o=Vme(i.heading,i.pitch,i.range);let r=Dt.eastNorthUpToFixedFrame(e.center,oe.WGS84,Wnt);N.multiplyByPoint(r,o,o);let s,a;if(!n){if(s=h.subtract(e.center,o,qnt),h.normalize(s,s),a=N.multiplyByPointAsVector(r,h.UNIT_Z,Ynt),1-Math.abs(h.dot(s,a))<I.EPSILON6){let u=Oe.fromAxisAngle(s,i.heading,Znt),f=J.fromQuaternion(u,$nt);h.fromCartesian4(N.getColumn(r,1,Knt),a),J.multiplyByVector(f,a,a)}let c=h.cross(s,a,Xnt);h.cross(c,s,a),h.normalize(a,a)}this.flyTo({destination:o,orientation:{direction:s,up:a},duration:t.duration,complete:t.complete,cancel:t.cancel,endTransform:t.endTransform,maximumHeight:t.maximumHeight,easingFunction:t.easingFunction,flyOverLongitude:t.flyOverLongitude,flyOverLongitudeWeight:t.flyOverLongitudeWeight,pitchAdjustHeight:t.pitchAdjustHeight})};var bme=new h,Sme=new h,fj=new h,wme=new h,Zv=[new h,new h,new h,new h];function Jnt(e,t){let n=t.radii,i=e.positionWC,o=h.multiplyComponents(t.oneOverRadii,i,bme),r=h.magnitude(o),s=h.normalize(o,Sme),a,c;h.equalsEpsilon(s,h.UNIT_Z,I.EPSILON10)?(a=new h(0,1,0),c=new h(0,0,1)):(a=h.normalize(h.cross(h.UNIT_Z,s,fj),fj),c=h.normalize(h.cross(s,a,wme),wme));let u=Math.sqrt(h.magnitudeSquared(o)-1),f=h.multiplyByScalar(s,1/r,bme),d=u/r,p=h.multiplyByScalar(a,d,Sme),g=h.multiplyByScalar(c,d,fj),m=h.add(f,g,Zv[0]);h.subtract(m,p,m),h.multiplyComponents(n,m,m);let C=h.subtract(f,g,Zv[1]);h.subtract(C,p,C),h.multiplyComponents(n,C,C);let x=h.subtract(f,g,Zv[2]);h.add(x,p,x),h.multiplyComponents(n,x,x);let A=h.add(f,g,Zv[3]);return h.add(A,p,A),h.multiplyComponents(n,A,A),Zv}var dj=new G,Qnt=new h,Xg=[new he,new he,new he,new he];function WV(e,t,n,i,o,r){dj.x=e,dj.y=t;let s=i.pickEllipsoid(dj,o,Qnt);return l(s)?(Xg[n]=o.cartesianToCartographic(s,Xg[n]),1):(Xg[n]=o.cartesianToCartographic(r[n],Xg[n]),0)}Wt.prototype.computeViewRectangle=function(e,t){e=y(e,oe.WGS84);let n=this.frustum.computeCullingVolume(this.positionWC,this.directionWC,this.upWC),i=new re(h.ZERO,e.maximumRadius);if(n.computeVisibility(i)===Kt.OUTSIDE)return;let r=this._scene.canvas,s=r.clientWidth,a=r.clientHeight,c=0,u=Jnt(this,e);if(c+=WV(0,0,0,this,e,u),c+=WV(0,a,1,this,e,u),c+=WV(s,a,2,this,e,u),c+=WV(s,0,3,this,e,u),c<2)return ue.MAX_VALUE;t=ue.fromCartographicArray(Xg,t);let f=0,d=Xg[3].longitude;for(let p=0;p<4;++p){let g=Xg[p].longitude,m=Math.abs(g-d);m>I.PI?f+=I.TWO_PI-m:f+=m,d=g}return I.equalsEpsilon(Math.abs(f),I.TWO_PI,I.EPSILON9)&&(t.west=-I.PI,t.east=I.PI,Xg[0].latitude>=0?t.north=I.PI_OVER_TWO:t.south=-I.PI_OVER_TWO),t};Wt.prototype.switchToPerspectiveFrustum=function(){if(this._mode===ee.SCENE2D||this.frustum instanceof _i)return;let e=this._scene;this.frustum=new _i,this.frustum.aspectRatio=e.drawingBufferWidth/e.drawingBufferHeight,this.frustum.fov=I.toRadians(60)};Wt.prototype.switchToOrthographicFrustum=function(){if(this._mode===ee.SCENE2D||this.frustum instanceof $t)return;let e=Ome(this),t=this._scene;this.frustum=new $t,this.frustum.aspectRatio=t.drawingBufferWidth/t.drawingBufferHeight,this.frustum.width=e};Wt.clone=function(e,t){return l(t)||(t=new Wt(e._scene)),h.clone(e.position,t.position),h.clone(e.direction,t.direction),h.clone(e.up,t.up),h.clone(e.right,t.right),N.clone(e._transform,t.transform),t._transformChanged=!0,t.frustum=e.frustum.clone(),t};var ao=Wt;var eit={LEFT_DRAG:0,RIGHT_DRAG:1,MIDDLE_DRAG:2,WHEEL:3,PINCH:4},Di=Object.freeze(eit);function ka(e,t){let n=e;return l(t)&&(n+=`+${t}`),n}function tit(e,t){G.clone(e.distance.startPosition,t.distance.startPosition),G.clone(e.distance.endPosition,t.distance.endPosition),G.clone(e.angleAndHeight.startPosition,t.angleAndHeight.startPosition),G.clone(e.angleAndHeight.endPosition,t.angleAndHeight.endPosition)}function zme(e,t,n){let i=ka(Di.PINCH,t),o=e._update,r=e._isDown,s=e._eventStartPosition,a=e._pressTime,c=e._releaseTime;o[i]=!0,r[i]=!1,s[i]=new G;let u=e._movement[i];l(u)||(u=e._movement[i]={}),u.distance={startPosition:new G,endPosition:new G},u.angleAndHeight={startPosition:new G,endPosition:new G},u.prevAngle=0,e._eventHandler.setInputAction(function(f){e._buttonsDown++,r[i]=!0,a[i]=new Date,G.lerp(f.position1,f.position2,.5,s[i])},fn.PINCH_START,t),e._eventHandler.setInputAction(function(){e._buttonsDown=Math.max(e._buttonsDown-1,0),r[i]=!1,c[i]=new Date},fn.PINCH_END,t),e._eventHandler.setInputAction(function(f){if(r[i]){o[i]?(tit(f,u),o[i]=!1,u.prevAngle=u.angleAndHeight.startPosition.x):(G.clone(f.distance.endPosition,u.distance.endPosition),G.clone(f.angleAndHeight.endPosition,u.angleAndHeight.endPosition));let d=u.angleAndHeight.endPosition.x,p=u.prevAngle,g=Math.PI*2;for(;d>=p+Math.PI;)d-=g;for(;d<p-Math.PI;)d+=g;u.angleAndHeight.endPosition.x=-d*n.clientWidth/12,u.angleAndHeight.startPosition.x=-p*n.clientWidth/12}},fn.PINCH_MOVE,t)}function Hme(e,t){let n=ka(Di.WHEEL,t),i=e._update;i[n]=!0;let o=e._movement[n];l(o)||(o=e._movement[n]={}),o.startPosition=new G,o.endPosition=new G,e._eventHandler.setInputAction(function(r){let s=15*I.toRadians(r);i[n]?(G.clone(G.ZERO,o.startPosition),o.endPosition.x=0,o.endPosition.y=s,i[n]=!1):o.endPosition.y=o.endPosition.y+s},fn.WHEEL,t)}function wE(e,t,n){let i=ka(n,t),o=e._isDown,r=e._eventStartPosition,s=e._pressTime,a=e._releaseTime;o[i]=!1,r[i]=new G;let c=e._lastMovement[i];l(c)||(c=e._lastMovement[i]={startPosition:new G,endPosition:new G,valid:!1});let u,f;n===Di.LEFT_DRAG?(u=fn.LEFT_DOWN,f=fn.LEFT_UP):n===Di.RIGHT_DRAG?(u=fn.RIGHT_DOWN,f=fn.RIGHT_UP):n===Di.MIDDLE_DRAG&&(u=fn.MIDDLE_DOWN,f=fn.MIDDLE_UP),e._eventHandler.setInputAction(function(d){e._buttonsDown++,c.valid=!1,o[i]=!0,s[i]=new Date,G.clone(d.position,r[i])},u,t),e._eventHandler.setInputAction(function(){e._buttonsDown=Math.max(e._buttonsDown-1,0),o[i]=!1,a[i]=new Date},f,t)}function Gme(e,t){G.clone(e.startPosition,t.startPosition),G.clone(e.endPosition,t.endPosition)}function Wme(e,t){let n=e._update,i=e._movement,o=e._lastMovement,r=e._isDown;for(let s in Di)if(Di.hasOwnProperty(s)){let a=Di[s];if(l(a)){let c=ka(a,t);n[c]=!0,l(e._lastMovement[c])||(e._lastMovement[c]={startPosition:new G,endPosition:new G,valid:!1}),l(e._movement[c])||(e._movement[c]={startPosition:new G,endPosition:new G})}}e._eventHandler.setInputAction(function(s){for(let a in Di)if(Di.hasOwnProperty(a)){let c=Di[a];if(l(c)){let u=ka(c,t);r[u]&&(n[u]?(Gme(i[u],o[u]),o[u].valid=!0,Gme(s,i[u]),n[u]=!1):G.clone(s.endPosition,i[u].endPosition))}}G.clone(s.endPosition,e._currentMousePosition)},fn.MOUSE_MOVE,t)}function Xu(e){this._eventHandler=new _u(e),this._update={},this._movement={},this._lastMovement={},this._isDown={},this._eventStartPosition={},this._pressTime={},this._releaseTime={},this._buttonsDown=0,this._currentMousePosition=new G,Hme(this,void 0),zme(this,void 0,e),wE(this,void 0,Di.LEFT_DRAG),wE(this,void 0,Di.RIGHT_DRAG),wE(this,void 0,Di.MIDDLE_DRAG),Wme(this,void 0);for(let t in Ys)if(Ys.hasOwnProperty(t)){let n=Ys[t];l(n)&&(Hme(this,n),zme(this,n,e),wE(this,n,Di.LEFT_DRAG),wE(this,n,Di.RIGHT_DRAG),wE(this,n,Di.MIDDLE_DRAG),Wme(this,n))}}Object.defineProperties(Xu.prototype,{currentMousePosition:{get:function(){return this._currentMousePosition}},anyButtonDown:{get:function(){let e=!this._update[ka(Di.WHEEL)]||!this._update[ka(Di.WHEEL,Ys.SHIFT)]||!this._update[ka(Di.WHEEL,Ys.CTRL)]||!this._update[ka(Di.WHEEL,Ys.ALT)];return this._buttonsDown>0||e}}});Xu.prototype.isMoving=function(e,t){let n=ka(e,t);return!this._update[n]};Xu.prototype.getMovement=function(e,t){let n=ka(e,t);return this._movement[n]};Xu.prototype.getLastMovement=function(e,t){let n=ka(e,t),i=this._lastMovement[n];if(i.valid)return i};Xu.prototype.isButtonDown=function(e,t){let n=ka(e,t);return this._isDown[n]};Xu.prototype.getStartMousePosition=function(e,t){if(e===Di.WHEEL)return this._currentMousePosition;let n=ka(e,t);return this._eventStartPosition[n]};Xu.prototype.getButtonPressTime=function(e,t){let n=ka(e,t);return this._pressTime[n]};Xu.prototype.getButtonReleaseTime=function(e,t){let n=ka(e,t);return this._releaseTime[n]};Xu.prototype.reset=function(){for(let e in this._update)this._update.hasOwnProperty(e)&&(this._update[e]=!0)};Xu.prototype.isDestroyed=function(){return!1};Xu.prototype.destroy=function(){return this._eventHandler=this._eventHandler&&this._eventHandler.destroy(),fe(this)};var KV=Xu;function yp(){this.featurePropertiesDirty=!1}Object.defineProperties(yp.prototype,{featuresLength:{get:function(){ye.throwInstantiationError()}},pointsLength:{get:function(){ye.throwInstantiationError()}},trianglesLength:{get:function(){ye.throwInstantiationError()}},geometryByteLength:{get:function(){ye.throwInstantiationError()}},texturesByteLength:{get:function(){ye.throwInstantiationError()}},batchTableByteLength:{get:function(){ye.throwInstantiationError()}},innerContents:{get:function(){ye.throwInstantiationError()}},readyPromise:{get:function(){ye.throwInstantiationError()}},tileset:{get:function(){ye.throwInstantiationError()}},tile:{get:function(){ye.throwInstantiationError()}},url:{get:function(){ye.throwInstantiationError()}},batchTable:{get:function(){ye.throwInstantiationError()}},metadata:{get:function(){ye.throwInstantiationError()},set:function(e){ye.throwInstantiationError()}},group:{get:function(){ye.throwInstantiationError()},set:function(e){ye.throwInstantiationError()}}});yp.prototype.hasProperty=function(e,t){ye.throwInstantiationError()};yp.prototype.getFeature=function(e){ye.throwInstantiationError()};yp.prototype.applyDebugSettings=function(e,t){ye.throwInstantiationError()};yp.prototype.applyStyle=function(e){ye.throwInstantiationError()};yp.prototype.update=function(e,t){ye.throwInstantiationError()};yp.prototype.isDestroyed=function(){ye.throwInstantiationError()};yp.prototype.destroy=function(){ye.throwInstantiationError()};var jme=yp;function nit(e){this.pass=e.pass,this.commandList=e.commandList,this.camera=e.camera,this.cullingVolume=e.cullingVolume,this.ready=!1}var ud=nit;function vE(e,t){this._conditionsExpression=et(e,!0),this._conditions=e.conditions,this._runtimeConditions=void 0,oit(this,t)}Object.defineProperties(vE.prototype,{conditionsExpression:{get:function(){return this._conditionsExpression}}});function iit(e,t){this.condition=e,this.expression=t}function oit(e,t){let n=[],i=e._conditions;if(!l(i))return;let o=i.length;for(let r=0;r<o;++r){let s=i[r],a=String(s[0]),c=String(s[1]);n.push(new iit(new wf(a,t),new wf(c,t)))}e._runtimeConditions=n}vE.prototype.evaluate=function(e,t){let n=this._runtimeConditions;if(!l(n))return;let i=n.length;for(let o=0;o<i;++o){let r=n[o];if(r.condition.evaluate(e))return r.expression.evaluate(e,t)}};vE.prototype.evaluateColor=function(e,t){let n=this._runtimeConditions;if(!l(n))return;let i=n.length;for(let o=0;o<i;++o){let r=n[o];if(r.condition.evaluate(e))return r.expression.evaluateColor(e,t)}};vE.prototype.getShaderFunction=function(e,t,n,i){let o=this._runtimeConditions;if(!l(o)||o.length===0)return;let r="",s=o.length;for(let a=0;a<s;++a){let c=o[a],u=c.condition.getShaderExpression(t,n),f=c.expression.getShaderExpression(t,n);r+=` ${a===0?"if":"else if"} (${u})
  5401. {
  5402. return ${f};
  5403. }
  5404. `}return r=`${i} ${e}
  5405. {
  5406. ${r} return ${i}(1.0);
  5407. }
  5408. `,r};vE.prototype.getVariables=function(){let e=[],t=this._runtimeConditions;if(!l(t)||t.length===0)return e;let n=t.length;for(let i=0;i<n;++i){let o=t[i];e.push.apply(e,o.condition.getVariables()),e.push.apply(e,o.expression.getVariables())}return e=e.filter(function(i,o,r){return r.indexOf(i)===o}),e};var ZV=vE;function Kg(e){this._style={},this._ready=!1,this._show=void 0,this._color=void 0,this._pointSize=void 0,this._pointOutlineColor=void 0,this._pointOutlineWidth=void 0,this._labelColor=void 0,this._labelOutlineColor=void 0,this._labelOutlineWidth=void 0,this._font=void 0,this._labelStyle=void 0,this._labelText=void 0,this._backgroundColor=void 0,this._backgroundPadding=void 0,this._backgroundEnabled=void 0,this._scaleByDistance=void 0,this._translucencyByDistance=void 0,this._distanceDisplayCondition=void 0,this._heightOffset=void 0,this._anchorLineEnabled=void 0,this._anchorLineColor=void 0,this._image=void 0,this._disableDepthTestDistance=void 0,this._horizontalOrigin=void 0,this._verticalOrigin=void 0,this._labelHorizontalOrigin=void 0,this._labelVerticalOrigin=void 0,this._meta=void 0,this._colorShaderFunction=void 0,this._showShaderFunction=void 0,this._pointSizeShaderFunction=void 0,this._colorShaderFunctionReady=!1,this._showShaderFunctionReady=!1,this._pointSizeShaderFunctionReady=!1,this._colorShaderTranslucent=!1,rit(this,e)}function rit(e,t){t=y(et(t,!0),e._style),e._style=t,e.show=t.show,e.color=t.color,e.pointSize=t.pointSize,e.pointOutlineColor=t.pointOutlineColor,e.pointOutlineWidth=t.pointOutlineWidth,e.labelColor=t.labelColor,e.labelOutlineColor=t.labelOutlineColor,e.labelOutlineWidth=t.labelOutlineWidth,e.labelStyle=t.labelStyle,e.font=t.font,e.labelText=t.labelText,e.backgroundColor=t.backgroundColor,e.backgroundPadding=t.backgroundPadding,e.backgroundEnabled=t.backgroundEnabled,e.scaleByDistance=t.scaleByDistance,e.translucencyByDistance=t.translucencyByDistance,e.distanceDisplayCondition=t.distanceDisplayCondition,e.heightOffset=t.heightOffset,e.anchorLineEnabled=t.anchorLineEnabled,e.anchorLineColor=t.anchorLineColor,e.image=t.image,e.disableDepthTestDistance=t.disableDepthTestDistance,e.horizontalOrigin=t.horizontalOrigin,e.verticalOrigin=t.verticalOrigin,e.labelHorizontalOrigin=t.labelHorizontalOrigin,e.labelVerticalOrigin=t.labelVerticalOrigin;let n={};if(l(t.meta)){let i=t.defines,o=y(t.meta,y.EMPTY_OBJECT);for(let r in o)o.hasOwnProperty(r)&&(n[r]=new wf(o[r],i))}e._meta=n,e._ready=!0}function zo(e,t){let n=y(e._style,y.EMPTY_OBJECT).defines;if(l(t)){if(typeof t=="boolean"||typeof t=="number")return new wf(String(t));if(typeof t=="string")return new wf(t,n);if(l(t.conditions))return new ZV(t,n)}else return;return t}function Ho(e){if(l(e)){if(l(e.expression))return e.expression;if(l(e.conditionsExpression))return et(e.conditionsExpression,!0)}else return;return e}Object.defineProperties(Kg.prototype,{style:{get:function(){return this._style}},show:{get:function(){return this._show},set:function(e){this._show=zo(this,e),this._style.show=Ho(this._show),this._showShaderFunctionReady=!1}},color:{get:function(){return this._color},set:function(e){this._color=zo(this,e),this._style.color=Ho(this._color),this._colorShaderFunctionReady=!1}},pointSize:{get:function(){return this._pointSize},set:function(e){this._pointSize=zo(this,e),this._style.pointSize=Ho(this._pointSize),this._pointSizeShaderFunctionReady=!1}},pointOutlineColor:{get:function(){return this._pointOutlineColor},set:function(e){this._pointOutlineColor=zo(this,e),this._style.pointOutlineColor=Ho(this._pointOutlineColor)}},pointOutlineWidth:{get:function(){return this._pointOutlineWidth},set:function(e){this._pointOutlineWidth=zo(this,e),this._style.pointOutlineWidth=Ho(this._pointOutlineWidth)}},labelColor:{get:function(){return this._labelColor},set:function(e){this._labelColor=zo(this,e),this._style.labelColor=Ho(this._labelColor)}},labelOutlineColor:{get:function(){return this._labelOutlineColor},set:function(e){this._labelOutlineColor=zo(this,e),this._style.labelOutlineColor=Ho(this._labelOutlineColor)}},labelOutlineWidth:{get:function(){return this._labelOutlineWidth},set:function(e){this._labelOutlineWidth=zo(this,e),this._style.labelOutlineWidth=Ho(this._labelOutlineWidth)}},font:{get:function(){return this._font},set:function(e){this._font=zo(this,e),this._style.font=Ho(this._font)}},labelStyle:{get:function(){return this._labelStyle},set:function(e){this._labelStyle=zo(this,e),this._style.labelStyle=Ho(this._labelStyle)}},labelText:{get:function(){return this._labelText},set:function(e){this._labelText=zo(this,e),this._style.labelText=Ho(this._labelText)}},backgroundColor:{get:function(){return this._backgroundColor},set:function(e){this._backgroundColor=zo(this,e),this._style.backgroundColor=Ho(this._backgroundColor)}},backgroundPadding:{get:function(){return this._backgroundPadding},set:function(e){this._backgroundPadding=zo(this,e),this._style.backgroundPadding=Ho(this._backgroundPadding)}},backgroundEnabled:{get:function(){return this._backgroundEnabled},set:function(e){this._backgroundEnabled=zo(this,e),this._style.backgroundEnabled=Ho(this._backgroundEnabled)}},scaleByDistance:{get:function(){return this._scaleByDistance},set:function(e){this._scaleByDistance=zo(this,e),this._style.scaleByDistance=Ho(this._scaleByDistance)}},translucencyByDistance:{get:function(){return this._translucencyByDistance},set:function(e){this._translucencyByDistance=zo(this,e),this._style.translucencyByDistance=Ho(this._translucencyByDistance)}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){this._distanceDisplayCondition=zo(this,e),this._style.distanceDisplayCondition=Ho(this._distanceDisplayCondition)}},heightOffset:{get:function(){return this._heightOffset},set:function(e){this._heightOffset=zo(this,e),this._style.heightOffset=Ho(this._heightOffset)}},anchorLineEnabled:{get:function(){return this._anchorLineEnabled},set:function(e){this._anchorLineEnabled=zo(this,e),this._style.anchorLineEnabled=Ho(this._anchorLineEnabled)}},anchorLineColor:{get:function(){return this._anchorLineColor},set:function(e){this._anchorLineColor=zo(this,e),this._style.anchorLineColor=Ho(this._anchorLineColor)}},image:{get:function(){return this._image},set:function(e){this._image=zo(this,e),this._style.image=Ho(this._image)}},disableDepthTestDistance:{get:function(){return this._disableDepthTestDistance},set:function(e){this._disableDepthTestDistance=zo(this,e),this._style.disableDepthTestDistance=Ho(this._disableDepthTestDistance)}},horizontalOrigin:{get:function(){return this._horizontalOrigin},set:function(e){this._horizontalOrigin=zo(this,e),this._style.horizontalOrigin=Ho(this._horizontalOrigin)}},verticalOrigin:{get:function(){return this._verticalOrigin},set:function(e){this._verticalOrigin=zo(this,e),this._style.verticalOrigin=Ho(this._verticalOrigin)}},labelHorizontalOrigin:{get:function(){return this._labelHorizontalOrigin},set:function(e){this._labelHorizontalOrigin=zo(this,e),this._style.labelHorizontalOrigin=Ho(this._labelHorizontalOrigin)}},labelVerticalOrigin:{get:function(){return this._labelVerticalOrigin},set:function(e){this._labelVerticalOrigin=zo(this,e),this._style.labelVerticalOrigin=Ho(this._labelVerticalOrigin)}},meta:{get:function(){return this._meta},set:function(e){this._meta=e}}});Kg.fromUrl=function(e){return Ie.createIfNeeded(e).fetchJson(e).then(function(n){return new Kg(n)})};Kg.prototype.getColorShaderFunction=function(e,t,n){return this._colorShaderFunctionReady?(n.translucent=this._colorShaderTranslucent,this._colorShaderFunction):(this._colorShaderFunctionReady=!0,l(this.color)&&l(this.color.getShaderFunction)?this._colorShaderFunction=this.color.getShaderFunction(e,t,n,"vec4"):this._colorShaderFunction=void 0,this._colorShaderTranslucent=n.translucent,this._colorShaderFunction)};Kg.prototype.getShowShaderFunction=function(e,t,n){return this._showShaderFunctionReady?this._showShaderFunction:(this._showShaderFunctionReady=!0,l(this.show)&&l(this.show.getShaderFunction)?this._showShaderFunction=this.show.getShaderFunction(e,t,n,"bool"):this._showShaderFunction=void 0,this._showShaderFunction)};Kg.prototype.getPointSizeShaderFunction=function(e,t,n){return this._pointSizeShaderFunctionReady?this._pointSizeShaderFunction:(this._pointSizeShaderFunctionReady=!0,l(this.pointSize)&&l(this.pointSize.getShaderFunction)?this._pointSizeShaderFunction=this.pointSize.getShaderFunction(e,t,n,"float"):this._pointSizeShaderFunction=void 0,this._pointSizeShaderFunction)};Kg.prototype.getVariables=function(){let e=[];return l(this.color)&&l(this.color.getVariables)&&e.push.apply(e,this.color.getVariables()),l(this.show)&&l(this.show.getVariables)&&e.push.apply(e,this.show.getVariables()),l(this.pointSize)&&l(this.pointSize.getVariables)&&e.push.apply(e,this.pointSize.getVariables()),e=e.filter(function(t,n,i){return i.indexOf(t)===n}),e};var DE=Kg;function gj(e){e=y(e,1),this._radius=y(e,1)}Object.defineProperties(gj.prototype,{radius:{get:function(){return this._radius},set:function(e){this._radius=e}}});gj.prototype.emit=function(e){let t=I.randomBetween(0,I.TWO_PI),n=I.randomBetween(0,this._radius),i=n*Math.cos(t),o=n*Math.sin(t),r=0;e.position=h.fromElements(i,o,r,e.position),e.velocity=h.clone(h.UNIT_Z,e.velocity)};var $V=gj;var yj={CUMULUS:0};yj.validate=function(e){return e===yj.CUMULUS};var $v=Object.freeze(yj);var JV=`uniform sampler2D u_noiseTexture;
  5409. uniform vec3 u_noiseTextureDimensions;
  5410. uniform float u_noiseDetail;
  5411. varying vec2 v_offset;
  5412. varying vec3 v_maximumSize;
  5413. varying vec4 v_color;
  5414. varying float v_slice;
  5415. varying float v_brightness;
  5416. float wrap(float value, float rangeLength) {
  5417. if(value < 0.0) {
  5418. float absValue = abs(value);
  5419. float modValue = mod(absValue, rangeLength);
  5420. return mod(rangeLength - modValue, rangeLength);
  5421. }
  5422. return mod(value, rangeLength);
  5423. }
  5424. vec3 wrapVec(vec3 value, float rangeLength) {
  5425. return vec3(wrap(value.x, rangeLength),
  5426. wrap(value.y, rangeLength),
  5427. wrap(value.z, rangeLength));
  5428. }
  5429. float textureSliceWidth = u_noiseTextureDimensions.x;
  5430. float noiseTextureRows = u_noiseTextureDimensions.y;
  5431. float inverseNoiseTextureRows = u_noiseTextureDimensions.z;
  5432. float textureSliceWidthSquared = textureSliceWidth * textureSliceWidth;
  5433. vec2 inverseNoiseTextureDimensions = vec2(noiseTextureRows / textureSliceWidthSquared,
  5434. inverseNoiseTextureRows / textureSliceWidth);
  5435. vec2 voxelToUV(vec3 voxelIndex) {
  5436. vec3 wrappedIndex = wrapVec(voxelIndex, textureSliceWidth);
  5437. float column = mod(wrappedIndex.z, textureSliceWidth * inverseNoiseTextureRows);
  5438. float row = floor(wrappedIndex.z / textureSliceWidth * noiseTextureRows);
  5439. float xPixelCoord = wrappedIndex.x + column * textureSliceWidth;
  5440. float yPixelCoord = wrappedIndex.y + row * textureSliceWidth;
  5441. return vec2(xPixelCoord, yPixelCoord) * inverseNoiseTextureDimensions;
  5442. }
  5443. vec4 lerpSamplesX(vec3 voxelIndex, float x) {
  5444. vec2 uv0 = voxelToUV(voxelIndex);
  5445. vec2 uv1 = voxelToUV(voxelIndex + vec3(1.0, 0.0, 0.0));
  5446. vec4 sample0 = texture2D(u_noiseTexture, uv0);
  5447. vec4 sample1 = texture2D(u_noiseTexture, uv1);
  5448. return mix(sample0, sample1, x);
  5449. }
  5450. vec4 sampleNoiseTexture(vec3 position) {
  5451. vec3 recenteredPos = position + vec3(textureSliceWidth / 2.0);
  5452. vec3 lerpValue = fract(recenteredPos);
  5453. vec3 voxelIndex = floor(recenteredPos);
  5454. vec4 xLerp00 = lerpSamplesX(voxelIndex, lerpValue.x);
  5455. vec4 xLerp01 = lerpSamplesX(voxelIndex + vec3(0.0, 0.0, 1.0), lerpValue.x);
  5456. vec4 xLerp10 = lerpSamplesX(voxelIndex + vec3(0.0, 1.0, 0.0), lerpValue.x);
  5457. vec4 xLerp11 = lerpSamplesX(voxelIndex + vec3(0.0, 1.0, 1.0), lerpValue.x);
  5458. vec4 yLerp0 = mix(xLerp00, xLerp10, lerpValue.y);
  5459. vec4 yLerp1 = mix(xLerp01, xLerp11, lerpValue.y);
  5460. return mix(yLerp0, yLerp1, lerpValue.z);
  5461. }
  5462. bool intersectSphere(vec3 origin, vec3 dir, float slice,
  5463. out vec3 point, out vec3 normal) {
  5464. float A = dot(dir, dir);
  5465. float B = dot(origin, dir);
  5466. float C = dot(origin, origin) - 0.25;
  5467. float discriminant = (B * B) - (A * C);
  5468. if(discriminant < 0.0) {
  5469. return false;
  5470. }
  5471. float root = sqrt(discriminant);
  5472. float t = (-B - root) / A;
  5473. if(t < 0.0) {
  5474. t = (-B + root) / A;
  5475. }
  5476. point = origin + t * dir;
  5477. if(slice >= 0.0) {
  5478. point.z = (slice / 2.0) - 0.5;
  5479. if(length(point) > 0.5) {
  5480. return false;
  5481. }
  5482. }
  5483. normal = normalize(point);
  5484. point -= czm_epsilon2 * normal;
  5485. return true;
  5486. }
  5487. bool intersectEllipsoid(vec3 origin, vec3 dir, vec3 center, vec3 scale, float slice,
  5488. out vec3 point, out vec3 normal) {
  5489. if(scale.x <= 0.01 || scale.y < 0.01 || scale.z < 0.01) {
  5490. return false;
  5491. }
  5492. vec3 o = (origin - center) / scale;
  5493. vec3 d = dir / scale;
  5494. vec3 p, n;
  5495. bool intersected = intersectSphere(o, d, slice, p, n);
  5496. if(intersected) {
  5497. point = (p * scale) + center;
  5498. normal = n;
  5499. }
  5500. return intersected;
  5501. }
  5502. vec2 phaseShift2D(vec2 p, vec2 freq) {
  5503. return (czm_pi / 2.0) * sin(freq.yx * p.yx);
  5504. }
  5505. vec2 phaseShift3D(vec3 p, vec2 freq) {
  5506. return phaseShift2D(p.xy, freq) + czm_pi * vec2(sin(freq.x * p.z));
  5507. }
  5508. const float T0 = 0.6;
  5509. const float k = 0.1;
  5510. const float C0 = 0.8;
  5511. const float FX0 = 0.6;
  5512. const float FY0 = 0.6;
  5513. const int octaves = 5;
  5514. float T(vec3 point) {
  5515. vec2 sum = vec2(0.0);
  5516. float Ci = C0;
  5517. vec2 FXY = vec2(FX0, FY0);
  5518. vec2 PXY = vec2(0.0);
  5519. for(int i = 1; i <= octaves; i++) {
  5520. PXY = phaseShift3D(point, FXY);
  5521. Ci *= 0.707;
  5522. FXY *= 2.0;
  5523. vec2 sinTerm = sin(FXY * point.xy + PXY);
  5524. sum += Ci * sinTerm + vec2(T0);
  5525. }
  5526. return k * sum.x * sum.y;
  5527. }
  5528. const float a = 0.5;
  5529. const float t = 0.4;
  5530. const float s = 0.25;
  5531. float I(float Id, float Is, float It) {
  5532. return (1.0 - a) * ((1.0 - t) * ((1.0 - s) * Id + s * Is) + t * It) + a;
  5533. }
  5534. const vec3 lightDir = normalize(vec3(0.2, -1.0, 0.7));
  5535. vec4 drawCloud(vec3 rayOrigin, vec3 rayDir, vec3 cloudCenter, vec3 cloudScale, float cloudSlice,
  5536. float brightness) {
  5537. vec3 cloudPoint, cloudNormal;
  5538. if(!intersectEllipsoid(rayOrigin, rayDir, cloudCenter, cloudScale, cloudSlice,
  5539. cloudPoint, cloudNormal)) {
  5540. return vec4(0.0);
  5541. }
  5542. float Id = clamp(dot(cloudNormal, -lightDir), 0.0, 1.0);
  5543. float Is = max(pow(dot(-lightDir, -rayDir), 2.0), 0.0);
  5544. float It = T(cloudPoint);
  5545. float intensity = I(Id, Is, It);
  5546. vec3 color = vec3(intensity * clamp(brightness, 0.1, 1.0));
  5547. vec4 noise = sampleNoiseTexture(u_noiseDetail * cloudPoint);
  5548. float W = noise.x;
  5549. float W2 = noise.y;
  5550. float W3 = noise.z;
  5551. float ndDot = clamp(dot(cloudNormal, -rayDir), 0.0, 1.0);
  5552. float TR = pow(ndDot, 3.0) - W;
  5553. TR *= 1.3;
  5554. float minusDot = 0.5 - ndDot;
  5555. TR -= min(minusDot * W2, 0.0);
  5556. TR -= 0.8 * (minusDot + 0.25) * W3;
  5557. float shading = mix(1.0 - 0.8 * W * W, 1.0, Id * TR);
  5558. shading = clamp(shading + 0.2, 0.3, 1.0);
  5559. vec3 finalColor = mix(vec3(0.5), shading * color, 1.15);
  5560. return vec4(finalColor, clamp(TR, 0.0, 1.0)) * v_color;
  5561. }
  5562. void main() {
  5563. #ifdef DEBUG_BILLBOARDS
  5564. gl_FragColor = vec4(0.0, 0.5, 0.5, 1.0);
  5565. #endif
  5566. vec2 coordinate = v_maximumSize.xy * v_offset;
  5567. vec3 ellipsoidScale = 0.82 * v_maximumSize;
  5568. vec3 ellipsoidCenter = vec3(0.0);
  5569. float zOffset = max(ellipsoidScale.z - 10.0, 0.0);
  5570. vec3 eye = vec3(0, 0, -10.0 - zOffset);
  5571. vec3 rayDir = normalize(vec3(coordinate, 1.0) - eye);
  5572. vec3 rayOrigin = eye;
  5573. #ifdef DEBUG_ELLIPSOIDS
  5574. vec3 point, normal;
  5575. if(intersectEllipsoid(rayOrigin, rayDir, ellipsoidCenter, ellipsoidScale, v_slice,
  5576. point, normal)) {
  5577. gl_FragColor = v_brightness * v_color;
  5578. }
  5579. #else
  5580. #ifndef DEBUG_BILLBOARDS
  5581. vec4 cloud = drawCloud(rayOrigin, rayDir,
  5582. ellipsoidCenter, ellipsoidScale, v_slice, v_brightness);
  5583. if(cloud.w < 0.01) {
  5584. discard;
  5585. }
  5586. gl_FragColor = cloud;
  5587. #endif
  5588. #endif
  5589. }
  5590. `;var QV=`#ifdef INSTANCED
  5591. attribute vec2 direction;
  5592. #endif
  5593. attribute vec4 positionHighAndScaleX;
  5594. attribute vec4 positionLowAndScaleY;
  5595. attribute vec4 packedAttribute0;
  5596. attribute vec4 packedAttribute1;
  5597. attribute vec4 color;
  5598. varying vec2 v_offset;
  5599. varying vec3 v_maximumSize;
  5600. varying vec4 v_color;
  5601. varying float v_slice;
  5602. varying float v_brightness;
  5603. void main() {
  5604. vec3 positionHigh = positionHighAndScaleX.xyz;
  5605. vec3 positionLow = positionLowAndScaleY.xyz;
  5606. vec2 scale = vec2(positionHighAndScaleX.w, positionLowAndScaleY.w);
  5607. float show = packedAttribute0.x;
  5608. float brightness = packedAttribute0.y;
  5609. vec2 coordinates = packedAttribute0.wz;
  5610. vec3 maximumSize = packedAttribute1.xyz;
  5611. float slice = packedAttribute1.w;
  5612. #ifdef INSTANCED
  5613. vec2 dir = direction;
  5614. #else
  5615. vec2 dir = coordinates;
  5616. #endif
  5617. vec2 offset = dir - vec2(0.5, 0.5);
  5618. vec2 scaledOffset = scale * offset;
  5619. vec4 p = czm_translateRelativeToEye(positionHigh, positionLow);
  5620. vec4 positionEC = czm_modelViewRelativeToEye * p;
  5621. positionEC.xy += scaledOffset;
  5622. positionEC.xyz *= show;
  5623. gl_Position = czm_projection * positionEC;
  5624. v_offset = offset;
  5625. v_maximumSize = maximumSize;
  5626. v_color = color;
  5627. v_slice = slice;
  5628. v_brightness = brightness;
  5629. }
  5630. `;var ek=`uniform vec3 u_noiseTextureDimensions;
  5631. uniform float u_noiseDetail;
  5632. uniform vec3 u_noiseOffset;
  5633. varying vec2 v_position;
  5634. float textureSliceWidth = u_noiseTextureDimensions.x;
  5635. float inverseNoiseTextureRows = u_noiseTextureDimensions.z;
  5636. float wrap(float value, float rangeLength) {
  5637. if(value < 0.0) {
  5638. float absValue = abs(value);
  5639. float modValue = mod(absValue, rangeLength);
  5640. return mod(rangeLength - modValue, rangeLength);
  5641. }
  5642. return mod(value, rangeLength);
  5643. }
  5644. vec3 wrapVec(vec3 value, float rangeLength) {
  5645. return vec3(wrap(value.x, rangeLength),
  5646. wrap(value.y, rangeLength),
  5647. wrap(value.z, rangeLength));
  5648. }
  5649. vec3 random3(vec3 p) {
  5650. float dot1 = dot(p, vec3(127.1, 311.7, 932.8));
  5651. float dot2 = dot(p, vec3(269.5, 183.3, 421.4));
  5652. return fract(vec3(sin(dot1 - dot2), cos(dot1 * dot2), dot1 * dot2));
  5653. }
  5654. vec3 getWorleyCellPoint(vec3 centerCell, vec3 offset, float freq) {
  5655. vec3 cell = centerCell + offset;
  5656. cell = wrapVec(cell, textureSliceWidth / u_noiseDetail);
  5657. cell += floor(u_noiseOffset / u_noiseDetail);
  5658. vec3 p = offset + random3(cell);
  5659. return p;
  5660. }
  5661. float worleyNoise(vec3 p, float freq) {
  5662. vec3 centerCell = floor(p * freq);
  5663. vec3 pointInCell = fract(p * freq);
  5664. float shortestDistance = 1000.0;
  5665. for(float z = -1.0; z <= 1.0; z++) {
  5666. for(float y = -1.0; y <= 1.0; y++) {
  5667. for(float x = -1.0; x <= 1.0; x++) {
  5668. vec3 offset = vec3(x, y, z);
  5669. vec3 point = getWorleyCellPoint(centerCell, offset, freq);
  5670. float distance = length(pointInCell - point);
  5671. if(distance < shortestDistance) {
  5672. shortestDistance = distance;
  5673. }
  5674. }
  5675. }
  5676. }
  5677. return shortestDistance;
  5678. }
  5679. const float MAX_FBM_ITERATIONS = 10.0;
  5680. float worleyFBMNoise(vec3 p, float octaves, float scale) {
  5681. float noise = 0.0;
  5682. float freq = 1.0;
  5683. float persistence = 0.625;
  5684. for(float i = 0.0; i < MAX_FBM_ITERATIONS; i++) {
  5685. if(i >= octaves) {
  5686. break;
  5687. }
  5688. noise += worleyNoise(p * scale, freq * scale) * persistence;
  5689. persistence *= 0.5;
  5690. freq *= 2.0;
  5691. }
  5692. return noise;
  5693. }
  5694. void main() {
  5695. float x = mod(v_position.x, textureSliceWidth);
  5696. float y = mod(v_position.y, textureSliceWidth);
  5697. float sliceRow = floor(v_position.y / textureSliceWidth);
  5698. float z = floor(v_position.x / textureSliceWidth) + sliceRow * inverseNoiseTextureRows * textureSliceWidth;
  5699. vec3 position = vec3(x, y, z);
  5700. position /= u_noiseDetail;
  5701. float worley0 = clamp(worleyFBMNoise(position, 3.0, 1.0), 0.0, 1.0);
  5702. float worley1 = clamp(worleyFBMNoise(position, 3.0, 2.0), 0.0, 1.0);
  5703. float worley2 = clamp(worleyFBMNoise(position, 3.0, 3.0), 0.0, 1.0);
  5704. gl_FragColor = vec4(worley0, worley1, worley2, 1.0);
  5705. }
  5706. `;var tk=`uniform vec3 u_noiseTextureDimensions;
  5707. attribute vec2 position;
  5708. varying vec2 v_position;
  5709. void main()
  5710. {
  5711. gl_Position = vec4(position, 0.1, 1.0);
  5712. float textureSliceWidth = u_noiseTextureDimensions.x;
  5713. float noiseTextureRows = u_noiseTextureDimensions.y;
  5714. float inverseNoiseTextureRows = u_noiseTextureDimensions.z;
  5715. vec2 transformedPos = (position * 0.5) + vec2(0.5);
  5716. transformedPos *= textureSliceWidth;
  5717. transformedPos.x *= textureSliceWidth * inverseNoiseTextureRows;
  5718. transformedPos.y *= noiseTextureRows;
  5719. v_position = transformedPos;
  5720. }
  5721. `;function fd(e,t){if(e=y(e,y.EMPTY_OBJECT),this._show=y(e.show,!0),this._position=h.clone(y(e.position,h.ZERO)),!l(e.scale)&&l(e.maximumSize))this._maximumSize=h.clone(e.maximumSize),this._scale=new G(this._maximumSize.x,this._maximumSize.y);else{this._scale=G.clone(y(e.scale,new G(20,12)));let n=new h(this._scale.x,this._scale.y,Math.min(this._scale.x,this._scale.y)/1.5);this._maximumSize=h.clone(y(e.maximumSize,n))}this._slice=y(e.slice,-1),this._color=U.clone(y(e.color,U.WHITE)),this._brightness=y(e.brightness,1),this._cloudCollection=t,this._index=-1}var sit=fd.SHOW_INDEX=0,ait=fd.POSITION_INDEX=1,cit=fd.SCALE_INDEX=2,lit=fd.MAXIMUM_SIZE_INDEX=3,uit=fd.SLICE_INDEX=4,fit=fd.BRIGHTNESS_INDEX=5,dit=fd.COLOR_INDEX=6;fd.NUMBER_OF_PROPERTIES=7;function fC(e,t){let n=e._cloudCollection;l(n)&&(n._updateCloud(e,t),e._dirty=!0)}Object.defineProperties(fd.prototype,{show:{get:function(){return this._show},set:function(e){this._show!==e&&(this._show=e,fC(this,sit))}},position:{get:function(){return this._position},set:function(e){let t=this._position;h.equals(t,e)||(h.clone(e,t),fC(this,ait))}},scale:{get:function(){return this._scale},set:function(e){let t=this._scale;G.equals(t,e)||(G.clone(e,t),fC(this,cit))}},maximumSize:{get:function(){return this._maximumSize},set:function(e){let t=this._maximumSize;h.equals(t,e)||(h.clone(e,t),fC(this,lit))}},color:{get:function(){return this._color},set:function(e){let t=this._color;U.equals(t,e)||(U.clone(e,t),fC(this,dit))}},slice:{get:function(){return this._slice},set:function(e){this._slice!==e&&(this._slice=e,fC(this,uit))}},brightness:{get:function(){return this._brightness},set:function(e){this._brightness!==e&&(this._brightness=e,fC(this,fit))}}});fd.prototype._destroy=function(){this._cloudCollection=void 0};var Ku=fd;var Yl,nk=new h,hit={positionHighAndScaleX:0,positionLowAndScaleY:1,packedAttribute0:2,packedAttribute1:3,color:4},mit={direction:0,positionHighAndScaleX:1,positionLowAndScaleY:2,packedAttribute0:3,packedAttribute1:4,color:5},pit=Ku.SHOW_INDEX,_it=Ku.POSITION_INDEX,git=Ku.SCALE_INDEX,yit=Ku.MAXIMUM_SIZE_INDEX,Cit=Ku.SLICE_INDEX,xit=Ku.BRIGHTNESS_INDEX,Ait=Ku.NUMBER_OF_PROPERTIES,Tit=Ku.COLOR_INDEX;function dd(e){e=y(e,y.EMPTY_OBJECT),this._clouds=[],this._cloudsToUpdate=[],this._cloudsToUpdateIndex=0,this._cloudsRemoved=!1,this._createVertexArray=!1,this._propertiesChanged=new Uint32Array(Ait),this._noiseTexture=void 0,this._textureSliceWidth=128,this._noiseTextureRows=4,this.noiseDetail=y(e.noiseDetail,16),this.noiseOffset=h.clone(y(e.noiseOffset,h.ZERO)),this._loading=!1,this._ready=!1;let t=this;this._uniforms={u_noiseTexture:function(){return t._noiseTexture},u_noiseTextureDimensions:qme(t),u_noiseDetail:function(){return t.noiseDetail}},this._vaNoise=void 0,this._spNoise=void 0,this._spCreated=!1,this._sp=void 0,this._rs=void 0,this.show=y(e.show,!0),this._colorCommands=[],this.debugBillboards=y(e.debugBillboards,!1),this._compiledDebugBillboards=!1,this.debugEllipsoids=y(e.debugEllipsoids,!1),this._compiledDebugEllipsoids=!1}function qme(e){return function(){return nk.x=e._textureSliceWidth,nk.y=e._noiseTextureRows,nk.z=1/e._noiseTextureRows,nk}}Object.defineProperties(dd.prototype,{length:{get:function(){return xj(this),this._clouds.length}}});function Yme(e){let t=e.length;for(let n=0;n<t;++n)e[n]&&e[n]._destroy()}dd.prototype.add=function(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.cloudType,$v.CUMULUS),n;return t===$v.CUMULUS&&(n=new Ku(e,this),n._index=this._clouds.length,this._clouds.push(n),this._createVertexArray=!0),n};dd.prototype.remove=function(e){return this.contains(e)?(this._clouds[e._index]=void 0,this._cloudsRemoved=!0,this._createVertexArray=!0,e._destroy(),!0):!1};dd.prototype.removeAll=function(){Yme(this._clouds),this._clouds=[],this._cloudsToUpdate=[],this._cloudsToUpdateIndex=0,this._cloudsRemoved=!1,this._createVertexArray=!0};function xj(e){if(e._cloudsRemoved){e._cloudsRemoved=!1;let t=[],n=e._clouds,i=n.length;for(let o=0,r=0;o<i;++o){let s=n[o];l(s)&&(n._index=r++,t.push(s))}e._clouds=t}}dd.prototype._updateCloud=function(e,t){e._dirty||(this._cloudsToUpdate[this._cloudsToUpdateIndex++]=e),++this._propertiesChanged[t]};dd.prototype.contains=function(e){return l(e)&&e._cloudCollection===this};dd.prototype.get=function(e){return xj(this),this._clouds[e]};var Eit=new Float32Array([-1,-1,1,-1,1,1,-1,1]),bit=new Uint16Array([0,1,2,0,2,3]);function Sit(e){let t=ct.createVertexBuffer({context:e,typedArray:Eit,usage:Le.STATIC_DRAW}),n=ct.createIndexBuffer({context:e,typedArray:bit,usage:Le.STATIC_DRAW,indexDatatype:Be.UNSIGNED_SHORT}),i=[{index:0,vertexBuffer:t,componentsPerAttribute:2,componentDatatype:Z.FLOAT}];return new ti({context:e,attributes:i,indexBuffer:n})}var Aj;function wit(e){let n=e.cache.cloudCollection_indexBufferBatched;if(l(n))return n;let i=16384*6-6,o=new Uint16Array(i);for(let r=0,s=0;r<i;r+=6,s+=4)o[r]=s,o[r+1]=s+1,o[r+2]=s+2,o[r+3]=s,o[r+4]=s+2,o[r+5]=s+3;return n=ct.createIndexBuffer({context:e,typedArray:o,usage:Le.STATIC_DRAW,indexDatatype:Be.UNSIGNED_SHORT}),n.vertexArrayDestroyable=!1,e.cache.cloudCollection_indexBufferBatched=n,n}function vit(e){let t=e.cache.cloudCollection_indexBufferInstanced;return l(t)||(t=ct.createIndexBuffer({context:e,typedArray:new Uint16Array([0,1,2,0,2,3]),usage:Le.STATIC_DRAW,indexDatatype:Be.UNSIGNED_SHORT}),t.vertexArrayDestroyable=!1,e.cache.cloudCollection_indexBufferInstanced=t),t}function Dit(e){let t=e.cache.cloudCollection_vertexBufferInstanced;return l(t)||(t=ct.createVertexBuffer({context:e,typedArray:new Float32Array([0,0,1,0,1,1,0,1]),usage:Le.STATIC_DRAW}),t.vertexArrayDestroyable=!1,e.cache.cloudCollection_vertexBufferInstanced=t),t}function Pit(e,t,n){let i=[{index:Yl.positionHighAndScaleX,componentsPerAttribute:4,componentDatatype:Z.FLOAT,usage:Le.STATIC_DRAW},{index:Yl.positionLowAndScaleY,componentsPerAttribute:4,componentDatatype:Z.FLOAT,usage:Le.STATIC_DRAW},{index:Yl.packedAttribute0,componentsPerAttribute:4,componentDatatype:Z.FLOAT,usage:Le.STATIC_DRAW},{index:Yl.packedAttribute1,componentsPerAttribute:4,componentDatatype:Z.FLOAT,usage:Le.STATIC_DRAW},{index:Yl.color,componentsPerAttribute:4,componentDatatype:Z.UNSIGNED_BYTE,normalize:!0,usage:Le.STATIC_DRAW}];n&&i.push({index:Yl.direction,componentsPerAttribute:2,componentDatatype:Z.FLOAT,vertexBuffer:Dit(e)});let o=n?t:4*t;return new sg(e,i,o,n)}var Cj=new Un;function Xme(e,t,n,i){let o,r=n[Yl.positionHighAndScaleX],s=n[Yl.positionLowAndScaleY],a=i.position;Un.fromCartesian(a,Cj);let c=i.scale,u=Cj.high,f=Cj.low;e._instanced?(o=i._index,r(o,u.x,u.y,u.z,c.x),s(o,f.x,f.y,f.z,c.y)):(o=i._index*4,r(o+0,u.x,u.y,u.z,c.x),r(o+1,u.x,u.y,u.z,c.x),r(o+2,u.x,u.y,u.z,c.x),r(o+3,u.x,u.y,u.z,c.x),s(o+0,f.x,f.y,f.z,c.y),s(o+1,f.x,f.y,f.z,c.y),s(o+2,f.x,f.y,f.z,c.y),s(o+3,f.x,f.y,f.z,c.y))}function Kme(e,t,n,i){let o,r=n[Yl.packedAttribute0],s=i.show,a=i.brightness;e._instanced?(o=i._index,r(o,s,a,0,0)):(o=i._index*4,r(o+0,s,a,0,0),r(o+1,s,a,1,0),r(o+2,s,a,1,1),r(o+3,s,a,0,1))}function Zme(e,t,n,i){let o,r=n[Yl.packedAttribute1],s=i.maximumSize,a=i.slice;e._instanced?(o=i._index,r(o,s.x,s.y,s.z,a)):(o=i._index*4,r(o+0,s.x,s.y,s.z,a),r(o+1,s.x,s.y,s.z,a),r(o+2,s.x,s.y,s.z,a),r(o+3,s.x,s.y,s.z,a))}function $me(e,t,n,i){let o,r=n[Yl.color],s=i.color,a=U.floatToByte(s.red),c=U.floatToByte(s.green),u=U.floatToByte(s.blue),f=U.floatToByte(s.alpha);e._instanced?(o=i._index,r(o,a,c,u,f)):(o=i._index*4,r(o+0,a,c,u,f),r(o+1,a,c,u,f),r(o+2,a,c,u,f),r(o+3,a,c,u,f))}function Iit(e,t,n,i){Xme(e,t,n,i),Kme(e,t,n,i),Zme(e,t,n,i),$me(e,t,n,i)}function Oit(e,t,n,i){let o=e,r=o._textureSliceWidth,s=o._noiseTextureRows,a=t.context;o._vaNoise=Sit(a),o._spNoise=Yt.fromCache({context:a,vertexShaderSource:n,fragmentShaderSource:i,attributeLocations:{position:0}});let c=o.noiseDetail,u=o.noiseOffset;o._noiseTexture=new Ot({context:a,width:r*r/s,height:r*s,pixelDatatype:je.UNSIGNED_BYTE,pixelFormat:ft.RGBA,sampler:new hn({wrapS:Dn.REPEAT,wrapT:Dn.REPEAT,minificationFilter:ln.NEAREST,magnificationFilter:Ji.NEAREST})});let f=new bf({vertexArray:o._vaNoise,shaderProgram:o._spNoise,outputTexture:o._noiseTexture,uniformMap:{u_noiseTextureDimensions:qme(o),u_noiseDetail:function(){return c},u_noiseOffset:function(){return u}},persists:!1,owner:e,postExecute:function(d){o._ready=!0,o._loading=!1}});t.commandList.push(f),o._loading=!0}function Rit(e,t){let n=e,i=t.context;n._createVertexArray=!1,n._vaf=n._vaf&&n._vaf.destroy();let o=e._clouds,r=o.length;if(r>0){n._vaf=Pit(i,r,n._instanced);let s=n._vaf.writers,a;for(a=0;a<r;++a){let c=o[a];Iit(e,t,s,c)}n._vaf.commit(Aj(i))}}var Mit=[];function Bit(e,t){let n=t.context,i=e,r=i._clouds.length,s=i._cloudsToUpdate,a=i._cloudsToUpdateIndex,c=i._propertiesChanged,u=Mit;u.length=0,(c[_it]||c[git])&&u.push(Xme),(c[pit]||c[xit])&&u.push(Kme),(c[yit]||c[Cit])&&u.push(Zme),c[Tit]&&u.push($me);let f=u.length,d=i._vaf.writers,p,g,m;if(a/r>.1){for(p=0;p<a;++p)for(g=s[p],g._dirty=!1,m=0;m<f;++m)u[m](e,t,d,g);i._vaf.commit(Aj(n))}else{for(p=0;p<a;++p){for(g=s[p],g._dirty=!1,m=0;m<f;++m)u[m](e,t,d,g);i._instanced?i._vaf.subCommit(g._index,1):i._vaf.subCommit(g._index*4,4)}i._vaf.endSubCommits()}i._cloudsToUpdateIndex=0}function Lit(e,t,n,i){let o=t.context,r=e,s=new ke({defines:[],sources:[n]});r._instanced&&s.defines.push("INSTANCED");let a=new ke({defines:[],sources:[i]});r.debugBillboards&&a.defines.push("DEBUG_BILLBOARDS"),r.debugEllipsoids&&a.defines.push("DEBUG_ELLIPSOIDS"),r._sp=Yt.replaceCache({context:o,shaderProgram:r._sp,vertexShaderSource:s,fragmentShaderSource:a,attributeLocations:Yl}),r._rs=Fe.fromCache({depthTest:{enabled:!0,func:te.LESS},depthMask:!1,blending:cn.ALPHA_BLEND}),r._spCreated=!0,r._compiledDebugBillboards=r.debugBillboards,r._compiledDebugEllipsoids=r.debugEllipsoids}function Nit(e,t){let n=e,i=t.passes,o=n._uniforms,r=t.commandList;if(i.render){let s=n._colorCommands,a=n._vaf.va,c=a.length;s.length=c;for(let u=0;u<c;u++){let f=s[u];l(f)||(f=s[u]=new Je),f.pass=xe.TRANSLUCENT,f.owner=e,f.uniformMap=o,f.count=a[u].indicesCount,f.vertexArray=a[u].va,f.shaderProgram=n._sp,f.renderState=n._rs,n._instanced&&(f.count=6,f.instanceCount=n._clouds.length),r.push(f)}}}dd.prototype.update=function(e){if(xj(this),!this.show)return;let t=this.debugBillboards||this.debugEllipsoids;this._ready=t?!0:l(this._noiseTexture),!this._ready&&!this._loading&&!t&&Oit(this,e,tk,ek),this._instanced=e.context.instancedArrays,Yl=this._instanced?mit:hit,Aj=this._instanced?vit:wit;let i=this._clouds.length,o=this._cloudsToUpdate,r=this._cloudsToUpdateIndex;this._createVertexArray?Rit(this,e):r>0&&Bit(this,e),r>i*1.5&&(o.length=i),!(!l(this._vaf)||!l(this._vaf.va)||!this._ready&!t)&&((!this._spCreated||this.debugBillboards!==this._compiledDebugBillboards||this.debugEllipsoids!==this._compiledDebugEllipsoids)&&Lit(this,e,QV,JV),Nit(this,e))};dd.prototype.isDestroyed=function(){return!1};dd.prototype.destroy=function(){return this._noiseTexture=this._noiseTexture&&this._noiseTexture.destroy(),this._sp=this._sp&&this._sp.destroy(),this._vaf=this._vaf&&this._vaf.destroy(),Yme(this._clouds),fe(this)};var Jme=dd;var Fit=I.toRadians(30);function Tj(e){this._angle=y(e,Fit)}Object.defineProperties(Tj.prototype,{angle:{get:function(){return this._angle},set:function(e){this._angle=e}}});Tj.prototype.emit=function(e){let t=Math.tan(this._angle),n=I.randomBetween(0,I.TWO_PI),i=I.randomBetween(0,t),o=i*Math.cos(n),r=i*Math.sin(n),s=1;e.velocity=h.fromElements(o,r,s,e.velocity),h.normalize(e.velocity,e.velocity),e.position=h.clone(h.ZERO,e.position)};var Qme=Tj;var ope=Ri(fl(),1),epe=576,Vit=100,Jv="#ffffff",Ej="#48b";function rpe(e,t){this.credit=e,this.count=y(t,1)}function kit(e,t){let n=e.length;for(let i=0;i<n;i++){let o=e[i];if(jt.equals(o,t))return!0}return!1}function Uit(e){let t=e._previousCesiumCredit,n=e._currentCesiumCredit;jt.equals(n,t)||(l(t)&&e._cesiumCreditContainer.removeChild(t.element),l(n)&&e._cesiumCreditContainer.appendChild(n.element),e._previousCesiumCredit=n)}var spe="cesium-credit-delimiter";function tpe(e){let t=document.createElement("span");return t.textContent=e,t.className=spe,t}function npe(e,t){if(l(t)){let n=document.createElement(t);n._creditId=e._creditId,n.appendChild(e),e=n}return e}function ipe(e,t,n,i){let o=e.childNodes,r=-1;t.sort(function(s,a){return a.count-s.count});for(let s=0;s<t.length;++s){let a=t[s].credit;if(l(a)){if(r=s,l(n)&&(r*=2,s>0)){let u=r-1;if(o.length<=u)e.appendChild(tpe(n));else{let f=o[u];f.className!==spe&&e.replaceChild(tpe(n),f)}}let c=a.element;if(o.length<=r)e.appendChild(npe(c,i));else{let u=o[r];u._creditId!==a._id&&e.replaceChild(npe(c,i),u)}}}for(++r;r<o.length;)e.removeChild(o[r])}function zit(e){let t=e._lightboxCredits,n=e.viewport.clientWidth,i=e.viewport.clientHeight;n!==e._lastViewportWidth&&(n<epe?(t.className="cesium-credit-lightbox cesium-credit-lightbox-mobile",t.style.marginTop="0"):(t.className="cesium-credit-lightbox cesium-credit-lightbox-expanded",t.style.marginTop=`${Math.floor((i-t.clientHeight)*.5)}px`),e._lastViewportWidth=n),n>=epe&&i!==e._lastViewportHeight&&(t.style.marginTop=`${Math.floor((i-t.clientHeight)*.5)}px`,e._lastViewportHeight=i)}function Ua(e,t){let n=`${e} {`;for(let i in t)t.hasOwnProperty(i)&&(n+=`${i}: ${t[i]}; `);return n+=` }
  5722. `,n}function Hit(){let e="";e+=Ua(".cesium-credit-lightbox-overlay",{display:"none","z-index":"1",position:"absolute",top:"0",left:"0",width:"100%",height:"100%","background-color":"rgba(80, 80, 80, 0.8)"}),e+=Ua(".cesium-credit-lightbox",{"background-color":"#303336",color:Jv,position:"relative","min-height":`${Vit}px`,margin:"auto"}),e+=Ua(".cesium-credit-lightbox > ul > li a, .cesium-credit-lightbox > ul > li a:visited",{color:Jv}),e+=Ua(".cesium-credit-lightbox > ul > li a:hover",{color:Ej}),e+=Ua(".cesium-credit-lightbox.cesium-credit-lightbox-expanded",{border:"1px solid #444","border-radius":"5px","max-width":"370px"}),e+=Ua(".cesium-credit-lightbox.cesium-credit-lightbox-mobile",{height:"100%",width:"100%"}),e+=Ua(".cesium-credit-lightbox-title",{padding:"20px 20px 0 20px"}),e+=Ua(".cesium-credit-lightbox-close",{"font-size":"18pt",cursor:"pointer",position:"absolute",top:"0",right:"6px",color:Jv}),e+=Ua(".cesium-credit-lightbox-close:hover",{color:Ej}),e+=Ua(".cesium-credit-lightbox > ul",{margin:"0",padding:"12px 20px 12px 40px","font-size":"13px"}),e+=Ua(".cesium-credit-lightbox > ul > li",{"padding-bottom":"6px"}),e+=Ua(".cesium-credit-lightbox > ul > li *",{padding:"0",margin:"0"}),e+=Ua(".cesium-credit-expand-link",{"padding-left":"5px",cursor:"pointer","text-decoration":"underline",color:Jv}),e+=Ua(".cesium-credit-expand-link:hover",{color:Ej}),e+=Ua(".cesium-credit-text",{color:Jv}),e+=Ua(".cesium-credit-textContainer *, .cesium-credit-logoContainer *",{display:"inline"});let t=document.head,n=document.createElement("style");n.innerHTML=e,t.insertBefore(n,t.firstChild)}function ur(e,t,n){let i=this;n=y(n,document.body);let o=document.createElement("div");o.className="cesium-credit-lightbox-overlay",n.appendChild(o);let r=document.createElement("div");r.className="cesium-credit-lightbox",o.appendChild(r);function s(m){r.contains(m.target)||i.hideLightbox()}o.addEventListener("click",s,!1);let a=document.createElement("div");a.className="cesium-credit-lightbox-title",a.textContent="Data provided by:",r.appendChild(a);let c=document.createElement("a");c.onclick=this.hideLightbox.bind(this),c.innerHTML="&times;",c.className="cesium-credit-lightbox-close",r.appendChild(c);let u=document.createElement("ul");r.appendChild(u);let f=document.createElement("div");f.className="cesium-credit-logoContainer",f.style.display="inline",e.appendChild(f);let d=document.createElement("div");d.className="cesium-credit-textContainer",d.style.display="inline",e.appendChild(d);let p=document.createElement("a");p.className="cesium-credit-expand-link",p.onclick=this.showLightbox.bind(this),p.textContent="Data attribution",e.appendChild(p),Hit();let g=jt.clone(ur.cesiumCredit);this._delimiter=y(t," \u2022 "),this._screenContainer=d,this._cesiumCreditContainer=f,this._lastViewportHeight=void 0,this._lastViewportWidth=void 0,this._lightboxCredits=r,this._creditList=u,this._lightbox=o,this._hideLightbox=s,this._expandLink=p,this._expanded=!1,this._defaultCredits=[],this._cesiumCredit=g,this._previousCesiumCredit=void 0,this._currentCesiumCredit=g,this._creditDisplayElementPool=[],this._creditDisplayElementIndex=0,this._currentFrameCredits={screenCredits:new gt,lightboxCredits:new gt},this._defaultCredit=void 0,this.viewport=n,this.container=e}function ape(e,t,n,i){i=y(i,1);let o=t.get(n.id);if(l(o))o.count<Number.MAX_VALUE&&(o.count+=i);else{let r=e._creditDisplayElementPool,s=e._creditDisplayElementPoolIndex;s<r.length?(o=r[s],o.credit=n,o.count=i):(o=new rpe(n,i),r.push(o)),++e._creditDisplayElementPoolIndex,t.set(n.id,o)}}ur.prototype.addCredit=function(e){if(e._isIon){l(this._defaultCredit)||(this._defaultCredit=jt.clone(cpe())),this._currentCesiumCredit=this._defaultCredit;return}let t;e.showOnScreen?t=this._currentFrameCredits.screenCredits:t=this._currentFrameCredits.lightboxCredits,ape(this,t,e)};ur.prototype.addDefaultCredit=function(e){let t=this._defaultCredits;kit(t,e)||t.push(e)};ur.prototype.removeDefaultCredit=function(e){let t=this._defaultCredits,n=t.indexOf(e);n!==-1&&t.splice(n,1)};ur.prototype.showLightbox=function(){this._lightbox.style.display="block",this._expanded=!0};ur.prototype.hideLightbox=function(){this._lightbox.style.display="none",this._expanded=!1};ur.prototype.update=function(){this._expanded&&zit(this)};ur.prototype.beginFrame=function(){let e=this._currentFrameCredits;this._creditDisplayElementPoolIndex=0;let t=e.screenCredits;t.removeAll();let n=this._defaultCredits;for(let i=0;i<n.length;++i){let o=n[i];ape(this,t,o,Number.MAX_VALUE)}e.lightboxCredits.removeAll(),jt.equals(ur.cesiumCredit,this._cesiumCredit)||(this._cesiumCredit=jt.clone(ur.cesiumCredit)),this._currentCesiumCredit=this._cesiumCredit};ur.prototype.endFrame=function(){let e=this._currentFrameCredits.screenCredits.values;ipe(this._screenContainer,e,this._delimiter,void 0);let t=this._currentFrameCredits.lightboxCredits.values;this._expandLink.style.display=t.length>0?"inline":"none",ipe(this._creditList,t,void 0,"li"),Uit(this)};ur.prototype.destroy=function(){return this._lightbox.removeEventListener("click",this._hideLightbox,!1),this.container.removeChild(this._cesiumCreditContainer),this.container.removeChild(this._screenContainer),this.container.removeChild(this._expandLink),this.viewport.removeChild(this._lightbox),fe(this)};ur.prototype.isDestroyed=function(){return!1};ur._cesiumCredit=void 0;ur._cesiumCreditInitialized=!1;var ik;function cpe(){if(!l(ik)){let e=Zt("Assets/Images/ion-credit.png");e.indexOf("http://")!==0&&e.indexOf("https://")!==0&&e.indexOf("data:")!==0&&(e=new ope.default(e).path()),ik=new jt(`<a href="https://cesium.com/" target="_blank"><img src="${e}" title="Cesium ion"/></a>`,!0)}return ur._cesiumCreditInitialized||(ur._cesiumCredit=ik,ur._cesiumCreditInitialized=!0),ik}Object.defineProperties(ur,{cesiumCredit:{get:function(){return cpe(),ur._cesiumCredit},set:function(e){ur._cesiumCredit=e,ur._cesiumCreditInitialized=!0}}});ur.CreditDisplayElement=rpe;var ok=ur;function Qv(e){e=y(e,y.EMPTY_OBJECT);let t=e.attributeName,n=e.perInstanceAttribute;l(n)||(n=!1);let i=y(e.glslDatatype,"vec3"),o=`v_${t}`,r;if(t==="normal"||t==="tangent"||t==="bitangent")r=`vec4 getColor() { return vec4((${o} + vec3(1.0)) * 0.5, 1.0); }
  5723. `;else switch(t==="st"&&(i="vec2"),i){case"float":r=`vec4 getColor() { return vec4(vec3(${o}), 1.0); }
  5724. `;break;case"vec2":r=`vec4 getColor() { return vec4(${o}, 0.0, 1.0); }
  5725. `;break;case"vec3":r=`vec4 getColor() { return vec4(${o}, 1.0); }
  5726. `;break;case"vec4":r=`vec4 getColor() { return ${o}; }
  5727. `;break}let s=`attribute vec3 position3DHigh;
  5728. attribute vec3 position3DLow;
  5729. attribute float batchId;
  5730. ${n?"":`attribute ${i} ${t};
  5731. `}varying ${i} ${o};
  5732. void main()
  5733. {
  5734. vec4 p = czm_translateRelativeToEye(position3DHigh, position3DLow);
  5735. ${n?`${o} = czm_batchTable_${t}(batchId);
  5736. `:`${o} = ${t};
  5737. `}gl_Position = czm_modelViewProjectionRelativeToEye * p;
  5738. }`,a=`varying ${i} ${o};
  5739. ${r}
  5740. void main()
  5741. {
  5742. gl_FragColor = getColor();
  5743. }`;this.material=void 0,this.translucent=y(e.translucent,!1),this._vertexShaderSource=y(e.vertexShaderSource,s),this._fragmentShaderSource=y(e.fragmentShaderSource,a),this._renderState=$i.getDefaultRenderState(!1,!1,e.renderState),this._closed=y(e.closed,!1),this._attributeName=t,this._glslDatatype=i}Object.defineProperties(Qv.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},attributeName:{get:function(){return this._attributeName}},glslDatatype:{get:function(){return this._glslDatatype}}});Qv.prototype.getFragmentShaderSource=$i.prototype.getFragmentShaderSource;Qv.prototype.isTranslucent=$i.prototype.isTranslucent;Qv.prototype.getRenderState=$i.prototype.getRenderState;var lpe=Qv;function rk(e){e=y(e,y.EMPTY_OBJECT),this._camera=e.camera,this._frustumSplits=e.frustumSplits,this._color=y(e.color,U.CYAN),this._updateOnChange=y(e.updateOnChange,!0),this.show=y(e.show,!0),this.id=e.id,this._id=void 0,this._outlinePrimitives=[],this._planesPrimitives=[]}var Git=new h,Wit=new J,jit=new Oe,qit=new _i,Yit=new kc,Xit=new $t,Kit=new Ir,Zit=new U,$it=[1,1e5];rk.prototype.update=function(e){if(!this.show)return;let t=this._planesPrimitives,n=this._outlinePrimitives,i,o;if(this._updateOnChange){for(o=t.length,i=0;i<o;++i)n[i]=n[i]&&n[i].destroy(),t[i]=t[i]&&t[i].destroy();t.length=0,n.length=0}if(t.length===0){let r=this._camera,s=r.frustum,a;s instanceof _i?a=qit:s instanceof kc?a=Yit:s instanceof $t?a=Xit:a=Kit,a=s.clone(a);let c,u=this._frustumSplits;!l(u)||u.length<=1?(u=$it,u[0]=this._camera.frustum.near,u[1]=this._camera.frustum.far,c=1):c=u.length-1;let f=r.positionWC,d=r.directionWC,p=r.upWC,g=r.rightWC;g=h.negate(g,Git);let m=Wit;J.setColumn(m,0,g,m),J.setColumn(m,1,p,m),J.setColumn(m,2,d,m);let C=Oe.fromRotationMatrix(m,jit);for(t.length=n.length=c,i=0;i<c;++i)a.near=u[i],a.far=u[i+1],t[i]=new xn({geometryInstances:new pt({geometry:new jx({origin:f,orientation:C,frustum:a,_drawNearPlane:i===0}),attributes:{color:It.fromColor(U.fromAlpha(this._color,.1,Zit))},id:this.id,pickPrimitive:this}),appearance:new Qt({translucent:!0,flat:!0}),asynchronous:!1}),n[i]=new xn({geometryInstances:new pt({geometry:new Z1({origin:f,orientation:C,frustum:a,_drawNearPlane:i===0}),attributes:{color:It.fromColor(this._color)},id:this.id,pickPrimitive:this}),appearance:new Qt({translucent:!1,flat:!0}),asynchronous:!1})}for(o=t.length,i=0;i<o;++i)n[i].update(e),t[i].update(e)};rk.prototype.isDestroyed=function(){return!1};rk.prototype.destroy=function(){let e=this._planesPrimitives.length;for(let t=0;t<e;++t)this._outlinePrimitives[t]=this._outlinePrimitives[t]&&this._outlinePrimitives[t].destroy(),this._planesPrimitives[t]=this._planesPrimitives[t]&&this._planesPrimitives[t].destroy();return fe(this)};var Cp=rk;function upe(){this._cachedShowFrustumsShaders={}}function Jit(e){let t={},n=e.vertexAttributes;for(let i in n)n.hasOwnProperty(i)&&(t[i]=n[i].index);return t}function Qit(e,t){let n=e.context,i=t,o=i.fragmentShaderSource.clone(),r=[];o.sources=o.sources.map(function(f){f=ke.replaceMain(f,"czm_Debug_main");let d=/gl_FragData\[(\d+)\]/g,p;for(;(p=d.exec(f))!==null;)r.indexOf(p[1])===-1&&r.push(p[1]);return f});let s=r.length,a="";a+=`uniform vec3 debugShowCommandsColor;
  5744. `,a+=`uniform vec3 debugShowFrustumsColor;
  5745. `,a+=`void main()
  5746. {
  5747. czm_Debug_main();
  5748. `;let c;if(s>0)for(c=0;c<s;++c)a+=` gl_FragData[${r[c]}].rgb *= debugShowCommandsColor;
  5749. `,a+=` gl_FragData[${r[c]}].rgb *= debugShowFrustumsColor;
  5750. `;else a+=` gl_FragColor.rgb *= debugShowCommandsColor;
  5751. `,a+=` gl_FragColor.rgb *= debugShowFrustumsColor;
  5752. `;a+="}",o.sources.push(a);let u=Jit(i);return Yt.fromCache({context:n,vertexShaderSource:i.vertexShaderSource,fragmentShaderSource:o,attributeLocations:u})}var eD=new U;function eot(e,t){let n;return l(t.uniformMap)?n=t.uniformMap:n={},l(n.debugShowCommandsColor)||l(n.debugShowFrustumsColor)||(n.debugShowCommandsColor=function(){return e.debugShowCommands?(l(t._debugColor)||(t._debugColor=U.fromRandom()),t._debugColor):U.WHITE},n.debugShowFrustumsColor=function(){return e.debugShowFrustums?(eD.red=t.debugOverlappingFrustums&1<<0?1:0,eD.green=t.debugOverlappingFrustums&1<<1?1:0,eD.blue=t.debugOverlappingFrustums&1<<2?1:0,eD.alpha=1,eD):U.WHITE}),n}var tot=new Je;upe.prototype.executeDebugShowFrustumsCommand=function(e,t,n){let i=t.shaderProgram.id,o=this._cachedShowFrustumsShaders[i];l(o)||(o=Qit(e,t.shaderProgram),this._cachedShowFrustumsShaders[i]=o);let r=Je.shallowClone(t,tot);r.shaderProgram=o,r.uniformMap=eot(e,t),r.execute(e.context,n)};var sk=upe;function ak(e){e=y(e,y.EMPTY_OBJECT),this.length=y(e.length,1e7),this._length=void 0,this.width=y(e.width,2),this._width=void 0,this.show=y(e.show,!0),this.modelMatrix=N.clone(y(e.modelMatrix,N.IDENTITY)),this._modelMatrix=new N,this.id=e.id,this._id=void 0,this._primitive=void 0}ak.prototype.update=function(e){if(!!this.show){if(!l(this._primitive)||!N.equals(this._modelMatrix,this.modelMatrix)||this._length!==this.length||this._width!==this.width||this._id!==this.id){this._modelMatrix=N.clone(this.modelMatrix,this._modelMatrix),this._length=this.length,this._width=this.width,this._id=this.id,l(this._primitive)&&this._primitive.destroy(),this.modelMatrix[12]===0&&this.modelMatrix[13]===0&&this.modelMatrix[14]===0&&(this.modelMatrix[14]=.01);let t=new pt({geometry:new f_({positions:[h.ZERO,h.UNIT_X],width:this.width,vertexFormat:Hr.VERTEX_FORMAT,colors:[U.RED,U.RED],arcType:qt.NONE}),modelMatrix:N.multiplyByUniformScale(this.modelMatrix,this.length,new N),id:this.id,pickPrimitive:this}),n=new pt({geometry:new f_({positions:[h.ZERO,h.UNIT_Y],width:this.width,vertexFormat:Hr.VERTEX_FORMAT,colors:[U.GREEN,U.GREEN],arcType:qt.NONE}),modelMatrix:N.multiplyByUniformScale(this.modelMatrix,this.length,new N),id:this.id,pickPrimitive:this}),i=new pt({geometry:new f_({positions:[h.ZERO,h.UNIT_Z],width:this.width,vertexFormat:Hr.VERTEX_FORMAT,colors:[U.BLUE,U.BLUE],arcType:qt.NONE}),modelMatrix:N.multiplyByUniformScale(this.modelMatrix,this.length,new N),id:this.id,pickPrimitive:this});this._primitive=new xn({geometryInstances:[t,n,i],appearance:new Hr,asynchronous:!1})}this._primitive.update(e)}};ak.prototype.isDestroyed=function(){return!1};ak.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),fe(this)};var ck=ak;var lk=`varying vec4 positionEC;
  5753. void main()
  5754. {
  5755. vec3 position;
  5756. vec3 direction;
  5757. if (czm_orthographicIn3D == 1.0)
  5758. {
  5759. vec2 uv = (gl_FragCoord.xy - czm_viewport.xy) / czm_viewport.zw;
  5760. vec2 minPlane = vec2(czm_frustumPlanes.z, czm_frustumPlanes.y);
  5761. vec2 maxPlane = vec2(czm_frustumPlanes.w, czm_frustumPlanes.x);
  5762. position = vec3(mix(minPlane, maxPlane, uv), 0.0);
  5763. direction = vec3(0.0, 0.0, -1.0);
  5764. }
  5765. else
  5766. {
  5767. position = vec3(0.0);
  5768. direction = normalize(positionEC.xyz);
  5769. }
  5770. czm_ray ray = czm_ray(position, direction);
  5771. vec3 ellipsoid_center = czm_view[3].xyz;
  5772. czm_raySegment intersection = czm_rayEllipsoidIntersectionInterval(ray, ellipsoid_center, czm_ellipsoidInverseRadii);
  5773. if (!czm_isEmpty(intersection))
  5774. {
  5775. gl_FragColor = vec4(1.0, 1.0, 0.0, 1.0);
  5776. }
  5777. else
  5778. {
  5779. discard;
  5780. }
  5781. czm_writeLogDepth();
  5782. }
  5783. `;var uk=`attribute vec4 position;
  5784. varying vec4 positionEC;
  5785. void main()
  5786. {
  5787. positionEC = czm_modelView * position;
  5788. gl_Position = czm_projection * positionEC;
  5789. czm_vertexLogDepth();
  5790. }
  5791. `;function nD(e){this._rs=void 0,this._sp=void 0,this._va=void 0,this._command=void 0,this._mode=void 0,this._useLogDepth=!1,this._ellipsoidOffset=y(e,0)}var tD=Mt.supportsTypedArrays()?new Float32Array(12):[],fpe=new h,dpe=new h,bj=new h,hpe=new h,fk=new h;function not(e,t){let n=e.radii,i=t.camera,o,r,s;if(i.frustum instanceof $t)o=h.ZERO,r=i.rightWC,s=i.upWC;else{let d=i.positionWC,p=h.multiplyComponents(e.oneOverRadii,d,fpe),g=h.normalize(p,dpe),m=h.normalize(h.cross(h.UNIT_Z,p,bj),bj),C=h.normalize(h.cross(g,m,hpe),hpe),x=h.magnitude(p),A=Math.sqrt(x*x-1);o=h.multiplyByScalar(g,1/x,fpe);let b=A/x;r=h.multiplyByScalar(m,b,dpe),s=h.multiplyByScalar(C,b,bj)}let a=h.add(o,s,fk);h.subtract(a,r,a),h.multiplyComponents(n,a,a),h.pack(a,tD,0);let c=h.subtract(o,s,fk);h.subtract(c,r,c),h.multiplyComponents(n,c,c),h.pack(c,tD,3);let u=h.add(o,s,fk);h.add(u,r,u),h.multiplyComponents(n,u,u),h.pack(u,tD,6);let f=h.subtract(o,s,fk);return h.add(f,r,f),h.multiplyComponents(n,f,f),h.pack(f,tD,9),tD}nD.prototype.update=function(e){if(this._mode=e.mode,e.mode!==ee.SCENE3D)return;let t=e.context,n=e.mapProjection.ellipsoid.radii,i=new oe(n.x+this._ellipsoidOffset,n.y+this._ellipsoidOffset,n.z+this._ellipsoidOffset),o=e.useLogDepth;if(l(this._command)||(this._rs=Fe.fromCache({cull:{enabled:!0},depthTest:{enabled:!0},colorMask:{red:!1,green:!1,blue:!1,alpha:!1}}),this._command=new Je({renderState:this._rs,boundingVolume:new re(h.ZERO,i.maximumRadius),pass:xe.OPAQUE,owner:this})),!l(this._sp)||this._useLogDepth!==o){this._useLogDepth=o;let s=new ke({sources:[uk]}),a=new ke({sources:[lk]});if(o){let c=`#ifdef GL_EXT_frag_depth
  5792. #extension GL_EXT_frag_depth : enable
  5793. #endif
  5794. `;a.sources.push(c),a.defines.push("LOG_DEPTH"),s.defines.push("LOG_DEPTH")}this._sp=Yt.replaceCache({shaderProgram:this._sp,context:t,vertexShaderSource:s,fragmentShaderSource:a,attributeLocations:{position:0}}),this._command.shaderProgram=this._sp}let r=not(i,e);if(l(this._va))this._va.getAttribute(0).vertexBuffer.copyFromArrayView(r);else{let s=new rt({attributes:{position:new Ee({componentDatatype:Z.FLOAT,componentsPerAttribute:3,values:r})},indices:[0,1,2,2,1,3],primitiveType:Ne.TRIANGLES});this._va=ti.fromGeometry({context:t,geometry:s,attributeLocations:{position:0},bufferUsage:Le.DYNAMIC_DRAW}),this._command.vertexArray=this._va}};nD.prototype.execute=function(e,t){this._mode===ee.SCENE3D&&this._command.execute(e,t)};nD.prototype.isDestroyed=function(){return!1};nD.prototype.destroy=function(){this._sp=this._sp&&this._sp.destroy(),this._va=this._va&&this._va.destroy()};var dk=nD;function iD(){}var iot=/\bgl_FragDepthEXT\b/,oot=/\bdiscard\b/;function rot(e,t){let n=e.shaderCache.getDerivedShaderProgram(t,"depthOnly");if(!l(n)){let i=t._attributeLocations,o=t.fragmentShaderSource,r,s=!1,a=o.sources,c=a.length;for(r=0;r<c;++r)if(iot.test(a[r])||oot.test(a[r])){s=!0;break}let u=!1,f=o.defines;for(c=f.length,r=0;r<c;++r)if(f[r]==="LOG_DEPTH"){u=!0;break}let d;!s&&!u?(d=`void main()
  5795. {
  5796. gl_FragColor = vec4(1.0);
  5797. }
  5798. `,o=new ke({sources:[d]})):!s&&u&&(d=`#ifdef GL_EXT_frag_depth
  5799. #extension GL_EXT_frag_depth : enable
  5800. #endif
  5801. void main()
  5802. {
  5803. gl_FragColor = vec4(1.0);
  5804. czm_writeLogDepth();
  5805. }
  5806. `,o=new ke({defines:["LOG_DEPTH"],sources:[d]})),n=e.shaderCache.createDerivedShaderProgram(t,"depthOnly",{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:o,attributeLocations:i})}return n}function sot(e,t){let n=e._depthOnlyRenderStateCache,i=n[t.id];if(!l(i)){let o=Fe.getState(t);o.depthMask=!0,o.colorMask={red:!1,green:!1,blue:!1,alpha:!1},i=Fe.fromCache(o),n[t.id]=i}return i}iD.createDepthOnlyDerivedCommand=function(e,t,n,i){l(i)||(i={});let o,r;return l(i.depthOnlyCommand)&&(o=i.depthOnlyCommand.shaderProgram,r=i.depthOnlyCommand.renderState),i.depthOnlyCommand=Je.shallowClone(t,i.depthOnlyCommand),!l(o)||i.shaderProgramId!==t.shaderProgram.id?(i.depthOnlyCommand.shaderProgram=rot(n,t.shaderProgram),i.depthOnlyCommand.renderState=sot(e,t.renderState),i.shaderProgramId=t.shaderProgram.id):(i.depthOnlyCommand.shaderProgram=o,i.depthOnlyCommand.renderState=r),i};var aot=/\s+czm_writeLogDepth\(/,cot=/\s+czm_vertexLogDepth\(/,lot=/\s*#extension\s+GL_EXT_frag_depth\s*:\s*enable/;function uot(e,t){let n=e.shaderCache.getDerivedShaderProgram(t,"logDepth");if(!l(n)){let i=t._attributeLocations,o=t.vertexShaderSource.clone(),r=t.fragmentShaderSource.clone();o.defines=l(o.defines)?o.defines.slice(0):[],o.defines.push("LOG_DEPTH"),r.defines=l(r.defines)?r.defines.slice(0):[],r.defines.push("LOG_DEPTH");let s,a,c=!1,u=o.sources,f=u.length;for(s=0;s<f;++s)if(cot.test(u[s])){c=!0;break}if(!c){for(s=0;s<f;++s)u[s]=ke.replaceMain(u[s],"czm_log_depth_main");a=`
  5807. void main()
  5808. {
  5809. czm_log_depth_main();
  5810. czm_vertexLogDepth();
  5811. }
  5812. `,u.push(a)}for(u=r.sources,f=u.length,c=!1,s=0;s<f;++s)aot.test(u[s])&&(c=!0);r.defines.indexOf("LOG_DEPTH_WRITE")!==-1&&(c=!0);let d=!0;for(s=0;s<f;++s)lot.test(u[s])&&(d=!1);let p="";if(d&&(p+=`#ifdef GL_EXT_frag_depth
  5813. #extension GL_EXT_frag_depth : enable
  5814. #endif
  5815. `),!c){for(s=0;s<f;s++)u[s]=ke.replaceMain(u[s],"czm_log_depth_main");p+=`
  5816. void main()
  5817. {
  5818. czm_log_depth_main();
  5819. czm_writeLogDepth();
  5820. }
  5821. `}u.push(p),n=e.shaderCache.createDerivedShaderProgram(t,"logDepth",{vertexShaderSource:o,fragmentShaderSource:r,attributeLocations:i})}return n}iD.createLogDepthCommand=function(e,t,n){l(n)||(n={});let i;return l(n.command)&&(i=n.command.shaderProgram),n.command=Je.shallowClone(e,n.command),!l(i)||n.shaderProgramId!==e.shaderProgram.id?(n.command.shaderProgram=uot(t,e.shaderProgram),n.shaderProgramId=e.shaderProgram.id):n.command.shaderProgram=i,n};function fot(e,t,n){let i=e.shaderCache.getDerivedShaderProgram(t,"pick");if(!l(i)){let o=t._attributeLocations,r=t.fragmentShaderSource,s=r.sources,a=s.length,c=`void main()
  5822. {
  5823. czm_non_pick_main();
  5824. if (gl_FragColor.a == 0.0) {
  5825. discard;
  5826. }
  5827. gl_FragColor = ${n};
  5828. }
  5829. `,u=new Array(a+1);for(let f=0;f<a;++f)u[f]=ke.replaceMain(s[f],"czm_non_pick_main");u[a]=c,r=new ke({sources:u,defines:r.defines}),i=e.shaderCache.createDerivedShaderProgram(t,"pick",{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:r,attributeLocations:o})}return i}function dot(e,t){let n=e.picking.pickRenderStateCache,i=n[t.id];if(!l(i)){let o=Fe.getState(t);o.blending.enabled=!1,o.depthMask=!0,i=Fe.fromCache(o),n[t.id]=i}return i}iD.createPickDerivedCommand=function(e,t,n,i){l(i)||(i={});let o,r;return l(i.pickCommand)&&(o=i.pickCommand.shaderProgram,r=i.pickCommand.renderState),i.pickCommand=Je.shallowClone(t,i.pickCommand),!l(o)||i.shaderProgramId!==t.shaderProgram.id?(i.pickCommand.shaderProgram=fot(n,t.shaderProgram,t.pickId),i.pickCommand.renderState=dot(e,t.renderState),i.shaderProgramId=t.shaderProgram.id):(i.pickCommand.shaderProgram=o,i.pickCommand.renderState=r),i};function hot(e,t){let n=e.shaderCache.getDerivedShaderProgram(t,"HDR");if(!l(n)){let i=t._attributeLocations,o=t.vertexShaderSource.clone(),r=t.fragmentShaderSource.clone();o.defines=l(o.defines)?o.defines.slice(0):[],o.defines.push("HDR"),r.defines=l(r.defines)?r.defines.slice(0):[],r.defines.push("HDR"),n=e.shaderCache.createDerivedShaderProgram(t,"HDR",{vertexShaderSource:o,fragmentShaderSource:r,attributeLocations:i})}return n}iD.createHdrCommand=function(e,t,n){l(n)||(n={});let i;return l(n.command)&&(i=n.command.shaderProgram),n.command=Je.shallowClone(e,n.command),!l(i)||n.shaderProgramId!==e.shaderProgram.id?(n.command.shaderProgram=hot(t,e.shaderProgram),n.shaderProgramId=e.shaderProgram.id):n.command.shaderProgram=i,n};var Zg=iD;function hk(e){this._scene=e,this._lastAlpha=void 0,this._lastBeta=void 0,this._lastGamma=void 0,this._alpha=void 0,this._beta=void 0,this._gamma=void 0;let t=this;function n(i){let o=i.alpha;if(!l(o)){t._alpha=void 0,t._beta=void 0,t._gamma=void 0;return}t._alpha=I.toRadians(o),t._beta=I.toRadians(i.beta),t._gamma=I.toRadians(i.gamma)}window.addEventListener("deviceorientation",n,!1),this._removeListener=function(){window.removeEventListener("deviceorientation",n,!1)}}var mot=new Oe,mpe=new Oe,pot=new J;function _ot(e,t,n,i){let o=e.direction,r=e.right,s=e.up,a=Oe.fromAxisAngle(o,n,mpe),c=Oe.fromAxisAngle(r,i,mot),u=Oe.multiply(c,a,c),f=Oe.fromAxisAngle(s,t,mpe);Oe.multiply(f,u,u);let d=J.fromQuaternion(u,pot);J.multiplyByVector(d,r,r),J.multiplyByVector(d,s,s),J.multiplyByVector(d,o,o)}hk.prototype.update=function(){if(!l(this._alpha))return;l(this._lastAlpha)||(this._lastAlpha=this._alpha,this._lastBeta=this._beta,this._lastGamma=this._gamma);let e=this._lastAlpha-this._alpha,t=this._lastBeta-this._beta,n=this._lastGamma-this._gamma;_ot(this._scene.camera,-e,t,n),this._lastAlpha=this._alpha,this._lastBeta=this._beta,this._lastGamma=this._gamma};hk.prototype.isDestroyed=function(){return!1};hk.prototype.destroy=function(){return this._removeListener(),fe(this)};var mk=hk;function got(e){this.direction=h.clone(e.direction),this.color=U.clone(y(e.color,U.WHITE)),this.intensity=y(e.intensity,1)}var ppe=got;var oD=`#ifdef WRITE_DEPTH
  5830. #ifdef GL_EXT_frag_depth
  5831. #extension GL_EXT_frag_depth : enable
  5832. #endif
  5833. #endif
  5834. uniform vec3 u_radii;
  5835. uniform vec3 u_oneOverEllipsoidRadiiSquared;
  5836. varying vec3 v_positionEC;
  5837. vec4 computeEllipsoidColor(czm_ray ray, float intersection, float side)
  5838. {
  5839. vec3 positionEC = czm_pointAlongRay(ray, intersection);
  5840. vec3 positionMC = (czm_inverseModelView * vec4(positionEC, 1.0)).xyz;
  5841. vec3 geodeticNormal = normalize(czm_geodeticSurfaceNormal(positionMC, vec3(0.0), u_oneOverEllipsoidRadiiSquared));
  5842. vec3 sphericalNormal = normalize(positionMC / u_radii);
  5843. vec3 normalMC = geodeticNormal * side;
  5844. vec3 normalEC = normalize(czm_normal * normalMC);
  5845. vec2 st = czm_ellipsoidWgs84TextureCoordinates(sphericalNormal);
  5846. vec3 positionToEyeEC = -positionEC;
  5847. czm_materialInput materialInput;
  5848. materialInput.s = st.s;
  5849. materialInput.st = st;
  5850. materialInput.str = (positionMC + u_radii) / u_radii;
  5851. materialInput.normalEC = normalEC;
  5852. materialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(positionMC, normalEC);
  5853. materialInput.positionToEyeEC = positionToEyeEC;
  5854. czm_material material = czm_getMaterial(materialInput);
  5855. #ifdef ONLY_SUN_LIGHTING
  5856. return czm_private_phong(normalize(positionToEyeEC), material, czm_sunDirectionEC);
  5857. #else
  5858. return czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC);
  5859. #endif
  5860. }
  5861. void main()
  5862. {
  5863. float maxRadius = max(u_radii.x, max(u_radii.y, u_radii.z)) * 1.5;
  5864. vec3 direction = normalize(v_positionEC);
  5865. vec3 ellipsoidCenter = czm_modelView[3].xyz;
  5866. float t1 = -1.0;
  5867. float t2 = -1.0;
  5868. float b = -2.0 * dot(direction, ellipsoidCenter);
  5869. float c = dot(ellipsoidCenter, ellipsoidCenter) - maxRadius * maxRadius;
  5870. float discriminant = b * b - 4.0 * c;
  5871. if (discriminant >= 0.0) {
  5872. t1 = (-b - sqrt(discriminant)) * 0.5;
  5873. t2 = (-b + sqrt(discriminant)) * 0.5;
  5874. }
  5875. if (t1 < 0.0 && t2 < 0.0) {
  5876. discard;
  5877. }
  5878. float t = min(t1, t2);
  5879. if (t < 0.0) {
  5880. t = 0.0;
  5881. }
  5882. czm_ray ray = czm_ray(t * direction, direction);
  5883. vec3 ellipsoid_inverseRadii = vec3(1.0 / u_radii.x, 1.0 / u_radii.y, 1.0 / u_radii.z);
  5884. czm_raySegment intersection = czm_rayEllipsoidIntersectionInterval(ray, ellipsoidCenter, ellipsoid_inverseRadii);
  5885. if (czm_isEmpty(intersection))
  5886. {
  5887. discard;
  5888. }
  5889. vec4 outsideFaceColor = (intersection.start != 0.0) ? computeEllipsoidColor(ray, intersection.start, 1.0) : vec4(0.0);
  5890. vec4 insideFaceColor = (outsideFaceColor.a < 1.0) ? computeEllipsoidColor(ray, intersection.stop, -1.0) : vec4(0.0);
  5891. gl_FragColor = mix(insideFaceColor, outsideFaceColor, outsideFaceColor.a);
  5892. gl_FragColor.a = 1.0 - (1.0 - insideFaceColor.a) * (1.0 - outsideFaceColor.a);
  5893. #ifdef WRITE_DEPTH
  5894. #ifdef GL_EXT_frag_depth
  5895. t = (intersection.start != 0.0) ? intersection.start : intersection.stop;
  5896. vec3 positionEC = czm_pointAlongRay(ray, t);
  5897. vec4 positionCC = czm_projection * vec4(positionEC, 1.0);
  5898. #ifdef LOG_DEPTH
  5899. czm_writeLogDepth(1.0 + positionCC.w);
  5900. #else
  5901. float z = positionCC.z / positionCC.w;
  5902. float n = czm_depthRange.near;
  5903. float f = czm_depthRange.far;
  5904. gl_FragDepthEXT = (z * (f - n) + f + n) * 0.5;
  5905. #endif
  5906. #endif
  5907. #endif
  5908. }
  5909. `;var rD=`attribute vec3 position;
  5910. uniform vec3 u_radii;
  5911. varying vec3 v_positionEC;
  5912. void main()
  5913. {
  5914. vec4 p = vec4(u_radii * position, 1.0);
  5915. v_positionEC = (czm_modelView * p).xyz;
  5916. gl_Position = czm_modelViewProjection * p;
  5917. gl_Position.z = clamp(gl_Position.z, czm_depthRange.near, czm_depthRange.far);
  5918. czm_vertexLogDepth();
  5919. }
  5920. `;var Sj={position:0};function pk(e){e=y(e,y.EMPTY_OBJECT),this.center=h.clone(y(e.center,h.ZERO)),this._center=new h,this.radii=h.clone(e.radii),this._radii=new h,this._oneOverEllipsoidRadiiSquared=new h,this._boundingSphere=new re,this.modelMatrix=N.clone(y(e.modelMatrix,N.IDENTITY)),this._modelMatrix=new N,this._computedModelMatrix=new N,this.show=y(e.show,!0),this.material=y(e.material,Qi.fromType(Qi.ColorType)),this._material=void 0,this._translucent=void 0,this.id=e.id,this._id=void 0,this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.onlySunLighting=y(e.onlySunLighting,!1),this._onlySunLighting=!1,this._depthTestEnabled=y(e.depthTestEnabled,!0),this._useLogDepth=!1,this._sp=void 0,this._rs=void 0,this._va=void 0,this._pickSP=void 0,this._pickId=void 0,this._colorCommand=new Je({owner:y(e._owner,this)}),this._pickCommand=new Je({owner:y(e._owner,this),pickOnly:!0});let t=this;this._uniforms={u_radii:function(){return t.radii},u_oneOverEllipsoidRadiiSquared:function(){return t._oneOverEllipsoidRadiiSquared}},this._pickUniforms={czm_pickColor:function(){return t._pickId.color}}}function yot(e){let t=e.cache.ellipsoidPrimitive_vertexArray;if(l(t))return t;let n=hl.createGeometry(hl.fromDimensions({dimensions:new h(2,2,2),vertexFormat:ve.POSITION_ONLY}));return t=ti.fromGeometry({context:e,geometry:n,attributeLocations:Sj,bufferUsage:Le.STATIC_DRAW,interleave:!0}),e.cache.ellipsoidPrimitive_vertexArray=t,t}var _pe=`#ifdef GL_EXT_frag_depth
  5921. #extension GL_EXT_frag_depth : enable
  5922. #endif
  5923. `;pk.prototype.update=function(e){if(!this.show||e.mode!==ee.SCENE3D||!l(this.center)||!l(this.radii))return;let t=e.context,n=this.material.isTranslucent(),i=this._translucent!==n;(!l(this._rs)||i)&&(this._translucent=n,this._rs=Fe.fromCache({cull:{enabled:!0,face:wi.FRONT},depthTest:{enabled:this._depthTestEnabled},depthMask:!n&&t.fragmentDepth,blending:n?cn.ALPHA_BLEND:void 0})),l(this._va)||(this._va=yot(t));let o=!1,r=this.radii;if(!h.equals(this._radii,r)){h.clone(r,this._radii);let C=this._oneOverEllipsoidRadiiSquared;C.x=1/(r.x*r.x),C.y=1/(r.y*r.y),C.z=1/(r.z*r.z),o=!0}(!N.equals(this.modelMatrix,this._modelMatrix)||!h.equals(this.center,this._center))&&(N.clone(this.modelMatrix,this._modelMatrix),h.clone(this.center,this._center),N.multiplyByTranslation(this.modelMatrix,this.center,this._computedModelMatrix),o=!0),o&&(h.clone(h.ZERO,this._boundingSphere.center),this._boundingSphere.radius=h.maximumComponent(r),re.transform(this._boundingSphere,this._computedModelMatrix,this._boundingSphere));let s=this._material!==this.material;this._material=this.material,this._material.update(t);let a=this.onlySunLighting!==this._onlySunLighting;this._onlySunLighting=this.onlySunLighting;let c=e.useLogDepth,u=this._useLogDepth!==c;this._useLogDepth=c;let f=this._colorCommand,d,p;(s||a||i||u)&&(d=new ke({sources:[rD]}),p=new ke({sources:[this.material.shaderSource,oD]}),this.onlySunLighting&&p.defines.push("ONLY_SUN_LIGHTING"),!n&&t.fragmentDepth&&p.defines.push("WRITE_DEPTH"),this._useLogDepth&&(d.defines.push("LOG_DEPTH"),p.defines.push("LOG_DEPTH"),p.sources.push(_pe)),this._sp=Yt.replaceCache({context:t,shaderProgram:this._sp,vertexShaderSource:d,fragmentShaderSource:p,attributeLocations:Sj}),f.vertexArray=this._va,f.renderState=this._rs,f.shaderProgram=this._sp,f.uniformMap=mt(this._uniforms,this.material._uniforms),f.executeInClosestFrustum=n);let g=e.commandList,m=e.passes;if(m.render&&(f.boundingVolume=this._boundingSphere,f.debugShowBoundingVolume=this.debugShowBoundingVolume,f.modelMatrix=this._computedModelMatrix,f.pass=n?xe.TRANSLUCENT:xe.OPAQUE,g.push(f)),m.pick){let C=this._pickCommand;(!l(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})),(s||a||!l(this._pickSP)||u)&&(d=new ke({sources:[rD]}),p=new ke({sources:[this.material.shaderSource,oD],pickColorQualifier:"uniform"}),this.onlySunLighting&&p.defines.push("ONLY_SUN_LIGHTING"),!n&&t.fragmentDepth&&p.defines.push("WRITE_DEPTH"),this._useLogDepth&&(d.defines.push("LOG_DEPTH"),p.defines.push("LOG_DEPTH"),p.sources.push(_pe)),this._pickSP=Yt.replaceCache({context:t,shaderProgram:this._pickSP,vertexShaderSource:d,fragmentShaderSource:p,attributeLocations:Sj}),C.vertexArray=this._va,C.renderState=this._rs,C.shaderProgram=this._pickSP,C.uniformMap=mt(mt(this._uniforms,this._pickUniforms),this.material._uniforms),C.executeInClosestFrustum=n),C.boundingVolume=this._boundingSphere,C.modelMatrix=this._computedModelMatrix,C.pass=n?xe.TRANSLUCENT:xe.OPAQUE,g.push(C)}};pk.prototype.isDestroyed=function(){return!1};pk.prototype.destroy=function(){return this._sp=this._sp&&this._sp.destroy(),this._pickSP=this._pickSP&&this._pickSP.destroy(),this._pickId=this._pickId&&this._pickId.destroy(),fe(this)};var _k=pk;var gk=`varying vec3 v_positionMC;
  5924. varying vec3 v_positionEC;
  5925. varying vec2 v_st;
  5926. void main()
  5927. {
  5928. czm_materialInput materialInput;
  5929. vec3 normalEC = normalize(czm_normal3D * czm_geodeticSurfaceNormal(v_positionMC, vec3(0.0), vec3(1.0)));
  5930. #ifdef FACE_FORWARD
  5931. normalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC);
  5932. #endif
  5933. materialInput.s = v_st.s;
  5934. materialInput.st = v_st;
  5935. materialInput.str = vec3(v_st, 0.0);
  5936. materialInput.normalEC = normalEC;
  5937. materialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(v_positionMC, materialInput.normalEC);
  5938. vec3 positionToEyeEC = -v_positionEC;
  5939. materialInput.positionToEyeEC = positionToEyeEC;
  5940. czm_material material = czm_getMaterial(materialInput);
  5941. #ifdef FLAT
  5942. gl_FragColor = vec4(material.diffuse + material.emission, material.alpha);
  5943. #else
  5944. gl_FragColor = czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC);
  5945. #endif
  5946. }
  5947. `;var yk=`attribute vec3 position3DHigh;
  5948. attribute vec3 position3DLow;
  5949. attribute vec2 st;
  5950. attribute float batchId;
  5951. varying vec3 v_positionMC;
  5952. varying vec3 v_positionEC;
  5953. varying vec2 v_st;
  5954. void main()
  5955. {
  5956. vec4 p = czm_computePosition();
  5957. v_positionMC = position3DHigh + position3DLow;
  5958. v_positionEC = (czm_modelViewRelativeToEye * p).xyz;
  5959. v_st = st;
  5960. gl_Position = czm_modelViewProjectionRelativeToEye * p;
  5961. }
  5962. `;function dC(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.translucent,!0),n=y(e.aboveGround,!1);this.material=l(e.material)?e.material:Qi.fromType(Qi.ColorType),this.translucent=y(e.translucent,!0),this._vertexShaderSource=y(e.vertexShaderSource,yk),this._fragmentShaderSource=y(e.fragmentShaderSource,gk),this._renderState=$i.getDefaultRenderState(t,!n,e.renderState),this._closed=!1,this._flat=y(e.flat,!1),this._faceForward=y(e.faceForward,n),this._aboveGround=n}Object.defineProperties(dC.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},vertexFormat:{get:function(){return dC.VERTEX_FORMAT}},flat:{get:function(){return this._flat}},faceForward:{get:function(){return this._faceForward}},aboveGround:{get:function(){return this._aboveGround}}});dC.VERTEX_FORMAT=ve.POSITION_AND_ST;dC.prototype.getFragmentShaderSource=$i.prototype.getFragmentShaderSource;dC.prototype.isTranslucent=$i.prototype.isTranslucent;dC.prototype.getRenderState=$i.prototype.getRenderState;var gpe=dC;function ype(){this.enabled=!0,this.renderable=!0,this.density=2e-4,this.screenSpaceErrorFactor=2,this.minimumBrightness=.03}var Ck=[359.393,800.749,1275.6501,2151.1192,3141.7763,4777.5198,6281.2493,12364.307,15900.765,49889.0549,78026.8259,99260.7344,120036.3873,151011.0158,156091.1953,203849.3112,274866.9803,319916.3149,493552.0528,628733.5874],Uh=[2e-5,2e-4,1e-4,7e-5,5e-5,4e-5,3e-5,19e-6,1e-5,85e-7,62e-7,58e-7,53e-7,52e-7,51e-7,42e-7,4e-6,34e-7,26e-7,22e-7];for(let e=0;e<Uh.length;++e)Uh[e]*=1e6;var Cpe=Uh[1],wj=Uh[Uh.length-1];for(let e=0;e<Uh.length;++e)Uh[e]=(Uh[e]-wj)/(Cpe-wj);var Ns=0;function Cot(e){let t=Ck,n=t.length;if(e<t[0])return Ns=0,Ns;if(e>t[n-1])return Ns=n-2,Ns;if(e>=t[Ns]){if(Ns+1<n&&e<t[Ns+1])return Ns;if(Ns+2<n&&e<t[Ns+2])return++Ns,Ns}else if(Ns-1>=0&&e>=t[Ns-1])return--Ns,Ns;let i;for(i=0;i<n-2&&!(e>=t[i]&&e<t[i+1]);++i);return Ns=i,Ns}var xot=new h;ype.prototype.update=function(e){if(!(e.fog.enabled=this.enabled))return;e.fog.renderable=this.renderable;let n=e.camera,i=n.positionCartographic;if(!l(i)||i.height>8e5||e.mode!==ee.SCENE3D){e.fog.enabled=!1;return}let o=i.height,r=Cot(o),s=I.clamp((o-Ck[r])/(Ck[r+1]-Ck[r]),0,1),a=I.lerp(Uh[r],Uh[r+1],s),c=this.density*1e6,u=c/Cpe*wj;a=a*(c-u)*1e-6;let f=h.normalize(n.positionWC,xot),d=Math.abs(h.dot(n.directionWC,f));a*=1-d,e.fog.density=a,e.fog.sse=this.screenSpaceErrorFactor,e.fog.minimumBrightness=this.minimumBrightness};var xk=ype;function rl(e){this._scene=e.scene,this.samplingWindow=y(e.samplingWindow,rl.defaultSettings.samplingWindow),this.quietPeriod=y(e.quietPeriod,rl.defaultSettings.quietPeriod),this.warmupPeriod=y(e.warmupPeriod,rl.defaultSettings.warmupPeriod),this.minimumFrameRateDuringWarmup=y(e.minimumFrameRateDuringWarmup,rl.defaultSettings.minimumFrameRateDuringWarmup),this.minimumFrameRateAfterWarmup=y(e.minimumFrameRateAfterWarmup,rl.defaultSettings.minimumFrameRateAfterWarmup),this._lowFrameRate=new ge,this._nominalFrameRate=new ge,this._frameTimes=[],this._needsQuietPeriod=!0,this._quietPeriodEndTime=0,this._warmupPeriodEndTime=0,this._frameRateIsLow=!1,this._lastFramesPerSecond=void 0,this._pauseCount=0;let t=this;this._preUpdateRemoveListener=this._scene.preUpdate.addEventListener(function(o,r){Aot(t,r)}),this._hiddenPropertyName=document.hidden!==void 0?"hidden":document.mozHidden!==void 0?"mozHidden":document.msHidden!==void 0?"msHidden":document.webkitHidden!==void 0?"webkitHidden":void 0;let n=document.hidden!==void 0?"visibilitychange":document.mozHidden!==void 0?"mozvisibilitychange":document.msHidden!==void 0?"msvisibilitychange":document.webkitHidden!==void 0?"webkitvisibilitychange":void 0;function i(){Tot(t)}this._visibilityChangeRemoveListener=void 0,l(n)&&(document.addEventListener(n,i,!1),this._visibilityChangeRemoveListener=function(){document.removeEventListener(n,i,!1)})}rl.defaultSettings={samplingWindow:5,quietPeriod:2,warmupPeriod:5,minimumFrameRateDuringWarmup:4,minimumFrameRateAfterWarmup:8};rl.fromScene=function(e){return(!l(e._frameRateMonitor)||e._frameRateMonitor.isDestroyed())&&(e._frameRateMonitor=new rl({scene:e})),e._frameRateMonitor};Object.defineProperties(rl.prototype,{scene:{get:function(){return this._scene}},lowFrameRate:{get:function(){return this._lowFrameRate}},nominalFrameRate:{get:function(){return this._nominalFrameRate}},lastFramesPerSecond:{get:function(){return this._lastFramesPerSecond}}});rl.prototype.pause=function(){++this._pauseCount,this._pauseCount===1&&(this._frameTimes.length=0,this._lastFramesPerSecond=void 0)};rl.prototype.unpause=function(){--this._pauseCount,this._pauseCount<=0&&(this._pauseCount=0,this._needsQuietPeriod=!0)};rl.prototype.isDestroyed=function(){return!1};rl.prototype.destroy=function(){return this._preUpdateRemoveListener(),l(this._visibilityChangeRemoveListener)&&this._visibilityChangeRemoveListener(),fe(this)};function Aot(e,t){if(e._pauseCount>0)return;let n=Ei();if(e._needsQuietPeriod)e._needsQuietPeriod=!1,e._frameTimes.length=0,e._quietPeriodEndTime=n+e.quietPeriod/Yn.SECONDS_PER_MILLISECOND,e._warmupPeriodEndTime=e._quietPeriodEndTime+(e.warmupPeriod+e.samplingWindow)/Yn.SECONDS_PER_MILLISECOND;else if(n>=e._quietPeriodEndTime){e._frameTimes.push(n);let i=n-e.samplingWindow/Yn.SECONDS_PER_MILLISECOND;if(e._frameTimes.length>=2&&e._frameTimes[0]<=i){for(;e._frameTimes.length>=2&&e._frameTimes[1]<i;)e._frameTimes.shift();let o=(n-e._frameTimes[0])/(e._frameTimes.length-1);e._lastFramesPerSecond=1e3/o;let r=1e3/(n>e._warmupPeriodEndTime?e.minimumFrameRateAfterWarmup:e.minimumFrameRateDuringWarmup);o>r?e._frameRateIsLow||(e._frameRateIsLow=!0,e._needsQuietPeriod=!0,e.lowFrameRate.raiseEvent(e.scene,e._lastFramesPerSecond)):e._frameRateIsLow&&(e._frameRateIsLow=!1,e._needsQuietPeriod=!0,e.nominalFrameRate.raiseEvent(e.scene,e._lastFramesPerSecond))}}}function Tot(e){document[e._hiddenPropertyName]?e.pause():e.unpause()}var Ak=rl;function Eot(e,t,n){this.context=e,this.commandList=[],this.shadowMaps=[],this.brdfLutGenerator=void 0,this.environmentMap=void 0,this.sphericalHarmonicCoefficients=void 0,this.specularEnvironmentMaps=void 0,this.specularEnvironmentMapsMaximumLOD=void 0,this.mode=ee.SCENE3D,this.morphTime=ee.getMorphTime(ee.SCENE3D),this.frameNumber=0,this.newFrame=!1,this.time=void 0,this.jobScheduler=n,this.mapProjection=void 0,this.camera=void 0,this.cameraUnderground=!1,this.globeTranslucencyState=void 0,this.cullingVolume=void 0,this.occluder=void 0,this.maximumScreenSpaceError=void 0,this.pixelRatio=1,this.passes={render:!1,pick:!1,depth:!1,postProcess:!1,offscreen:!1},this.creditDisplay=t,this.afterRender=[],this.scene3DOnly=!1,this.fog={enabled:!1,density:void 0,sse:void 0,minimumBrightness:void 0},this.terrainExaggeration=1,this.terrainExaggerationRelativeHeight=0,this.shadowState={shadowsEnabled:!0,shadowMaps:[],lightShadowMaps:[],nearPlane:1,farPlane:5e3,closestObjectSize:1e3,lastDirtyTime:0,outOfView:!0},this.splitPosition=0,this.frustumSplits=[],this.backgroundColor=void 0,this.light=void 0,this.minimumDisableDepthTestDistance=void 0,this.invertClassification=!1,this.invertClassificationColor=void 0,this.useLogDepth=!1,this.tilesetPassState=void 0,this.minimumTerrainHeight=0}var Tk=Eot;function bot(e,t){this.near=y(e,0),this.far=y(t,0);let n=xe.NUMBER_OF_PASSES,i=new Array(n),o=new Array(n);for(let r=0;r<n;++r)i[r]=[],o[r]=0;this.commands=i,this.indices=o}var Ek=bot;function Sot(e,t,n){this.type=e,l(t)||(e==="json"?t="application/json":e==="xml"?t="text/xml":e==="html"?t="text/html":e==="text"&&(t="text/plain")),this.format=t,l(n)||(e==="json"?n=wot:e==="xml"?n=Iot:(e==="html"||e==="text")&&(n=xpe)),this.callback=n}function wot(e){let t=[],n=e.features;for(let i=0;i<n.length;++i){let o=n[i],r=new kh;if(r.data=o,r.properties=o.properties,r.configureNameFromProperties(o.properties),r.configureDescriptionFromProperties(o.properties),l(o.geometry)&&o.geometry.type==="Point"){let s=o.geometry.coordinates[0],a=o.geometry.coordinates[1];r.position=he.fromDegrees(s,a)}t.push(r)}return t}var vj="http://www.mapinfo.com/mxp",vot="http://www.esri.com/wms",Dot="http://www.opengis.net/wfs",Pot="http://www.opengis.net/gml";function Iot(e){let t=e.documentElement;if(t.localName==="MultiFeatureCollection"&&t.namespaceURI===vj)return Oot(e);if(t.localName==="FeatureInfoResponse"&&t.namespaceURI===vot)return Rot(e);if(t.localName==="FeatureCollection"&&t.namespaceURI===Dot)return Mot(e);if(t.localName==="ServiceExceptionReport")throw new de(new XMLSerializer().serializeToString(t));return t.localName==="msGMLOutput"?Bot(e):Lot(e)}function Oot(e){let t=[],i=e.documentElement.getElementsByTagNameNS(vj,"Feature");for(let o=0;o<i.length;++o){let r=i[o],s={},a=r.getElementsByTagNameNS(vj,"Val");for(let u=0;u<a.length;++u){let f=a[u];if(f.hasAttribute("ref")){let d=f.getAttribute("ref"),p=f.textContent.trim();s[d]=p}}let c=new kh;c.data=r,c.properties=s,c.configureNameFromProperties(s),c.configureDescriptionFromProperties(s),t.push(c)}return t}function Rot(e){let t=e.documentElement,n=[],i,o=t.getElementsByTagNameNS("*","FIELDS");if(o.length>0)for(let r=0;r<o.length;++r){let s=o[r];i={};let a=s.attributes;for(let c=0;c<a.length;++c){let u=a[c];i[u.name]=u.value}n.push(bk(s,i))}else{let r=t.getElementsByTagNameNS("*","FeatureInfo");for(let s=0;s<r.length;++s){let a=r[s];i={};let c=a.childNodes;for(let u=0;u<c.length;++u){let f=c[u];f.nodeType===Node.ELEMENT_NODE&&(i[f.localName]=f.textContent)}n.push(bk(a,i))}}return n}function Mot(e){let t=[],i=e.documentElement.getElementsByTagNameNS(Pot,"featureMember");for(let o=0;o<i.length;++o){let r=i[o],s={};Dj(r,s),t.push(bk(r,s))}return t}function Bot(e){let t=[],n,i=e.documentElement.childNodes;for(let r=0;r<i.length;r++)if(i[r].nodeType===Node.ELEMENT_NODE){n=i[r];break}if(!l(n))throw new de("Unable to find first child of the feature info xml document");let o=n.childNodes;for(let r=0;r<o.length;++r){let s=o[r];if(s.nodeType===Node.ELEMENT_NODE){let a={};Dj(s,a),t.push(bk(s,a))}}return t}function Dj(e,t){let n=!0;for(let i=0;i<e.childNodes.length;++i){let o=e.childNodes[i];o.nodeType===Node.ELEMENT_NODE&&(n=!1),!(o.localName==="Point"||o.localName==="LineString"||o.localName==="Polygon"||o.localName==="boundedBy")&&o.hasChildNodes()&&Dj(o,t)&&(t[o.localName]=o.textContent)}return n}function bk(e,t){let n=new kh;return n.data=e,n.properties=t,n.configureNameFromProperties(t),n.configureDescriptionFromProperties(t),n}function Lot(e){let t=new XMLSerializer().serializeToString(e),n=document.createElement("div"),i=document.createElement("pre");i.textContent=t,n.appendChild(i);let o=new kh;return o.data=e,o.description=n.innerHTML,[o]}var Not=/<body>\s*<\/body>/im,Fot=/<ServiceExceptionReport([\s\S]*)<\/ServiceExceptionReport>/im,Vot=/<title>([\s\S]*)<\/title>/im;function xpe(e){if(Not.test(e)||Fot.test(e))return;let t,n=Vot.exec(e);n&&n.length>1&&(t=n[1]);let i=new kh;return i.name=t,i.description=e,i.data=e,[i]}var PE=Sot;var Sk=`uniform vec4 u_initialColor;
  5963. #if TEXTURE_UNITS > 0
  5964. uniform sampler2D u_dayTextures[TEXTURE_UNITS];
  5965. uniform vec4 u_dayTextureTranslationAndScale[TEXTURE_UNITS];
  5966. uniform bool u_dayTextureUseWebMercatorT[TEXTURE_UNITS];
  5967. #ifdef APPLY_ALPHA
  5968. uniform float u_dayTextureAlpha[TEXTURE_UNITS];
  5969. #endif
  5970. #ifdef APPLY_DAY_NIGHT_ALPHA
  5971. uniform float u_dayTextureNightAlpha[TEXTURE_UNITS];
  5972. uniform float u_dayTextureDayAlpha[TEXTURE_UNITS];
  5973. #endif
  5974. #ifdef APPLY_SPLIT
  5975. uniform float u_dayTextureSplit[TEXTURE_UNITS];
  5976. #endif
  5977. #ifdef APPLY_BRIGHTNESS
  5978. uniform float u_dayTextureBrightness[TEXTURE_UNITS];
  5979. #endif
  5980. #ifdef APPLY_CONTRAST
  5981. uniform float u_dayTextureContrast[TEXTURE_UNITS];
  5982. #endif
  5983. #ifdef APPLY_HUE
  5984. uniform float u_dayTextureHue[TEXTURE_UNITS];
  5985. #endif
  5986. #ifdef APPLY_SATURATION
  5987. uniform float u_dayTextureSaturation[TEXTURE_UNITS];
  5988. #endif
  5989. #ifdef APPLY_GAMMA
  5990. uniform float u_dayTextureOneOverGamma[TEXTURE_UNITS];
  5991. #endif
  5992. #ifdef APPLY_IMAGERY_CUTOUT
  5993. uniform vec4 u_dayTextureCutoutRectangles[TEXTURE_UNITS];
  5994. #endif
  5995. #ifdef APPLY_COLOR_TO_ALPHA
  5996. uniform vec4 u_colorsToAlpha[TEXTURE_UNITS];
  5997. #endif
  5998. uniform vec4 u_dayTextureTexCoordsRectangle[TEXTURE_UNITS];
  5999. #endif
  6000. #ifdef SHOW_REFLECTIVE_OCEAN
  6001. uniform sampler2D u_waterMask;
  6002. uniform vec4 u_waterMaskTranslationAndScale;
  6003. uniform float u_zoomedOutOceanSpecularIntensity;
  6004. #endif
  6005. #ifdef SHOW_OCEAN_WAVES
  6006. uniform sampler2D u_oceanNormalMap;
  6007. #endif
  6008. #if defined(ENABLE_DAYNIGHT_SHADING) || defined(GROUND_ATMOSPHERE)
  6009. uniform vec2 u_lightingFadeDistance;
  6010. #endif
  6011. #ifdef TILE_LIMIT_RECTANGLE
  6012. uniform vec4 u_cartographicLimitRectangle;
  6013. #endif
  6014. #ifdef GROUND_ATMOSPHERE
  6015. uniform vec2 u_nightFadeDistance;
  6016. #endif
  6017. #ifdef ENABLE_CLIPPING_PLANES
  6018. uniform highp sampler2D u_clippingPlanes;
  6019. uniform mat4 u_clippingPlanesMatrix;
  6020. uniform vec4 u_clippingPlanesEdgeStyle;
  6021. #endif
  6022. #if defined(GROUND_ATMOSPHERE) || defined(FOG) && defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_VERTEX_LIGHTING) || defined(ENABLE_DAYNIGHT_SHADING))
  6023. uniform float u_minimumBrightness;
  6024. #endif
  6025. #ifdef COLOR_CORRECT
  6026. uniform vec3 u_hsbShift;
  6027. #endif
  6028. #ifdef HIGHLIGHT_FILL_TILE
  6029. uniform vec4 u_fillHighlightColor;
  6030. #endif
  6031. #ifdef TRANSLUCENT
  6032. uniform vec4 u_frontFaceAlphaByDistance;
  6033. uniform vec4 u_backFaceAlphaByDistance;
  6034. uniform vec4 u_translucencyRectangle;
  6035. #endif
  6036. #ifdef UNDERGROUND_COLOR
  6037. uniform vec4 u_undergroundColor;
  6038. uniform vec4 u_undergroundColorAlphaByDistance;
  6039. #endif
  6040. #ifdef ENABLE_VERTEX_LIGHTING
  6041. uniform float u_lambertDiffuseMultiplier;
  6042. #endif
  6043. varying vec3 v_positionMC;
  6044. varying vec3 v_positionEC;
  6045. varying vec3 v_textureCoordinates;
  6046. varying vec3 v_normalMC;
  6047. varying vec3 v_normalEC;
  6048. #ifdef APPLY_MATERIAL
  6049. varying float v_height;
  6050. varying float v_slope;
  6051. varying float v_aspect;
  6052. #endif
  6053. #if defined(FOG) || defined(GROUND_ATMOSPHERE) || defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT)
  6054. varying float v_distance;
  6055. #endif
  6056. #if defined(GROUND_ATMOSPHERE) || defined(FOG)
  6057. varying vec3 v_atmosphereRayleighColor;
  6058. varying vec3 v_atmosphereMieColor;
  6059. varying float v_atmosphereOpacity;
  6060. #endif
  6061. #if defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT)
  6062. float interpolateByDistance(vec4 nearFarScalar, float distance)
  6063. {
  6064. float startDistance = nearFarScalar.x;
  6065. float startValue = nearFarScalar.y;
  6066. float endDistance = nearFarScalar.z;
  6067. float endValue = nearFarScalar.w;
  6068. float t = clamp((distance - startDistance) / (endDistance - startDistance), 0.0, 1.0);
  6069. return mix(startValue, endValue, t);
  6070. }
  6071. #endif
  6072. #if defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) || defined(APPLY_MATERIAL)
  6073. vec4 alphaBlend(vec4 sourceColor, vec4 destinationColor)
  6074. {
  6075. return sourceColor * vec4(sourceColor.aaa, 1.0) + destinationColor * (1.0 - sourceColor.a);
  6076. }
  6077. #endif
  6078. #ifdef TRANSLUCENT
  6079. bool inTranslucencyRectangle()
  6080. {
  6081. return
  6082. v_textureCoordinates.x > u_translucencyRectangle.x &&
  6083. v_textureCoordinates.x < u_translucencyRectangle.z &&
  6084. v_textureCoordinates.y > u_translucencyRectangle.y &&
  6085. v_textureCoordinates.y < u_translucencyRectangle.w;
  6086. }
  6087. #endif
  6088. vec4 sampleAndBlend(
  6089. vec4 previousColor,
  6090. sampler2D textureToSample,
  6091. vec2 tileTextureCoordinates,
  6092. vec4 textureCoordinateRectangle,
  6093. vec4 textureCoordinateTranslationAndScale,
  6094. float textureAlpha,
  6095. float textureNightAlpha,
  6096. float textureDayAlpha,
  6097. float textureBrightness,
  6098. float textureContrast,
  6099. float textureHue,
  6100. float textureSaturation,
  6101. float textureOneOverGamma,
  6102. float split,
  6103. vec4 colorToAlpha,
  6104. float nightBlend)
  6105. {
  6106. vec2 alphaMultiplier = step(textureCoordinateRectangle.st, tileTextureCoordinates);
  6107. textureAlpha = textureAlpha * alphaMultiplier.x * alphaMultiplier.y;
  6108. alphaMultiplier = step(vec2(0.0), textureCoordinateRectangle.pq - tileTextureCoordinates);
  6109. textureAlpha = textureAlpha * alphaMultiplier.x * alphaMultiplier.y;
  6110. #if defined(APPLY_DAY_NIGHT_ALPHA) && defined(ENABLE_DAYNIGHT_SHADING)
  6111. textureAlpha *= mix(textureDayAlpha, textureNightAlpha, nightBlend);
  6112. #endif
  6113. vec2 translation = textureCoordinateTranslationAndScale.xy;
  6114. vec2 scale = textureCoordinateTranslationAndScale.zw;
  6115. vec2 textureCoordinates = tileTextureCoordinates * scale + translation;
  6116. vec4 value = texture2D(textureToSample, textureCoordinates);
  6117. vec3 color = value.rgb;
  6118. float alpha = value.a;
  6119. #ifdef APPLY_COLOR_TO_ALPHA
  6120. vec3 colorDiff = abs(color.rgb - colorToAlpha.rgb);
  6121. colorDiff.r = max(max(colorDiff.r, colorDiff.g), colorDiff.b);
  6122. alpha = czm_branchFreeTernary(colorDiff.r < colorToAlpha.a, 0.0, alpha);
  6123. #endif
  6124. #if !defined(APPLY_GAMMA)
  6125. vec4 tempColor = czm_gammaCorrect(vec4(color, alpha));
  6126. color = tempColor.rgb;
  6127. alpha = tempColor.a;
  6128. #else
  6129. color = pow(color, vec3(textureOneOverGamma));
  6130. #endif
  6131. #ifdef APPLY_SPLIT
  6132. float splitPosition = czm_splitPosition;
  6133. if (split < 0.0 && gl_FragCoord.x > splitPosition) {
  6134. alpha = 0.0;
  6135. }
  6136. else if (split > 0.0 && gl_FragCoord.x < splitPosition) {
  6137. alpha = 0.0;
  6138. }
  6139. #endif
  6140. #ifdef APPLY_BRIGHTNESS
  6141. color = mix(vec3(0.0), color, textureBrightness);
  6142. #endif
  6143. #ifdef APPLY_CONTRAST
  6144. color = mix(vec3(0.5), color, textureContrast);
  6145. #endif
  6146. #ifdef APPLY_HUE
  6147. color = czm_hue(color, textureHue);
  6148. #endif
  6149. #ifdef APPLY_SATURATION
  6150. color = czm_saturation(color, textureSaturation);
  6151. #endif
  6152. float sourceAlpha = alpha * textureAlpha;
  6153. float outAlpha = mix(previousColor.a, 1.0, sourceAlpha);
  6154. outAlpha += sign(outAlpha) - 1.0;
  6155. vec3 outColor = mix(previousColor.rgb * previousColor.a, color, sourceAlpha) / outAlpha;
  6156. return vec4(outColor, max(outAlpha, 0.0));
  6157. }
  6158. vec3 colorCorrect(vec3 rgb) {
  6159. #ifdef COLOR_CORRECT
  6160. vec3 hsb = czm_RGBToHSB(rgb);
  6161. hsb.x += u_hsbShift.x;
  6162. hsb.y = clamp(hsb.y + u_hsbShift.y, 0.0, 1.0);
  6163. hsb.z = hsb.z > czm_epsilon7 ? hsb.z + u_hsbShift.z : 0.0;
  6164. rgb = czm_HSBToRGB(hsb);
  6165. #endif
  6166. return rgb;
  6167. }
  6168. vec4 computeDayColor(vec4 initialColor, vec3 textureCoordinates, float nightBlend);
  6169. vec4 computeWaterColor(vec3 positionEyeCoordinates, vec2 textureCoordinates, mat3 enuToEye, vec4 imageryColor, float specularMapValue, float fade);
  6170. const float fExposure = 2.0;
  6171. vec3 computeEllipsoidPosition()
  6172. {
  6173. float mpp = czm_metersPerPixel(vec4(0.0, 0.0, -czm_currentFrustum.x, 1.0), 1.0);
  6174. vec2 xy = gl_FragCoord.xy / czm_viewport.zw * 2.0 - vec2(1.0);
  6175. xy *= czm_viewport.zw * mpp * 0.5;
  6176. vec3 direction = normalize(vec3(xy, -czm_currentFrustum.x));
  6177. czm_ray ray = czm_ray(vec3(0.0), direction);
  6178. vec3 ellipsoid_center = czm_view[3].xyz;
  6179. czm_raySegment intersection = czm_rayEllipsoidIntersectionInterval(ray, ellipsoid_center, czm_ellipsoidInverseRadii);
  6180. vec3 ellipsoidPosition = czm_pointAlongRay(ray, intersection.start);
  6181. return (czm_inverseView * vec4(ellipsoidPosition, 1.0)).xyz;
  6182. }
  6183. void main()
  6184. {
  6185. #ifdef TILE_LIMIT_RECTANGLE
  6186. if (v_textureCoordinates.x < u_cartographicLimitRectangle.x || u_cartographicLimitRectangle.z < v_textureCoordinates.x ||
  6187. v_textureCoordinates.y < u_cartographicLimitRectangle.y || u_cartographicLimitRectangle.w < v_textureCoordinates.y)
  6188. {
  6189. discard;
  6190. }
  6191. #endif
  6192. #ifdef ENABLE_CLIPPING_PLANES
  6193. float clipDistance = clip(gl_FragCoord, u_clippingPlanes, u_clippingPlanesMatrix);
  6194. #endif
  6195. #if defined(SHOW_REFLECTIVE_OCEAN) || defined(ENABLE_DAYNIGHT_SHADING) || defined(HDR)
  6196. vec3 normalMC = czm_geodeticSurfaceNormal(v_positionMC, vec3(0.0), vec3(1.0));
  6197. vec3 normalEC = czm_normal3D * normalMC;
  6198. #endif
  6199. #if defined(APPLY_DAY_NIGHT_ALPHA) && defined(ENABLE_DAYNIGHT_SHADING)
  6200. float nightBlend = 1.0 - clamp(czm_getLambertDiffuse(czm_lightDirectionEC, normalEC) * 5.0, 0.0, 1.0);
  6201. #else
  6202. float nightBlend = 0.0;
  6203. #endif
  6204. vec4 color = computeDayColor(u_initialColor, clamp(v_textureCoordinates, 0.0, 1.0), nightBlend);
  6205. #ifdef SHOW_TILE_BOUNDARIES
  6206. if (v_textureCoordinates.x < (1.0/256.0) || v_textureCoordinates.x > (255.0/256.0) ||
  6207. v_textureCoordinates.y < (1.0/256.0) || v_textureCoordinates.y > (255.0/256.0))
  6208. {
  6209. color = vec4(1.0, 0.0, 0.0, 1.0);
  6210. }
  6211. #endif
  6212. #if defined(ENABLE_DAYNIGHT_SHADING) || defined(GROUND_ATMOSPHERE)
  6213. float cameraDist;
  6214. if (czm_sceneMode == czm_sceneMode2D)
  6215. {
  6216. cameraDist = max(czm_frustumPlanes.x - czm_frustumPlanes.y, czm_frustumPlanes.w - czm_frustumPlanes.z) * 0.5;
  6217. }
  6218. else if (czm_sceneMode == czm_sceneModeColumbusView)
  6219. {
  6220. cameraDist = -czm_view[3].z;
  6221. }
  6222. else
  6223. {
  6224. cameraDist = length(czm_view[3]);
  6225. }
  6226. float fadeOutDist = u_lightingFadeDistance.x;
  6227. float fadeInDist = u_lightingFadeDistance.y;
  6228. if (czm_sceneMode != czm_sceneMode3D) {
  6229. vec3 radii = czm_ellipsoidRadii;
  6230. float maxRadii = max(radii.x, max(radii.y, radii.z));
  6231. fadeOutDist -= maxRadii;
  6232. fadeInDist -= maxRadii;
  6233. }
  6234. float fade = clamp((cameraDist - fadeOutDist) / (fadeInDist - fadeOutDist), 0.0, 1.0);
  6235. #else
  6236. float fade = 0.0;
  6237. #endif
  6238. #ifdef SHOW_REFLECTIVE_OCEAN
  6239. vec2 waterMaskTranslation = u_waterMaskTranslationAndScale.xy;
  6240. vec2 waterMaskScale = u_waterMaskTranslationAndScale.zw;
  6241. vec2 waterMaskTextureCoordinates = v_textureCoordinates.xy * waterMaskScale + waterMaskTranslation;
  6242. waterMaskTextureCoordinates.y = 1.0 - waterMaskTextureCoordinates.y;
  6243. float mask = texture2D(u_waterMask, waterMaskTextureCoordinates).r;
  6244. if (mask > 0.0)
  6245. {
  6246. mat3 enuToEye = czm_eastNorthUpToEyeCoordinates(v_positionMC, normalEC);
  6247. vec2 ellipsoidTextureCoordinates = czm_ellipsoidWgs84TextureCoordinates(normalMC);
  6248. vec2 ellipsoidFlippedTextureCoordinates = czm_ellipsoidWgs84TextureCoordinates(normalMC.zyx);
  6249. vec2 textureCoordinates = mix(ellipsoidTextureCoordinates, ellipsoidFlippedTextureCoordinates, czm_morphTime * smoothstep(0.9, 0.95, normalMC.z));
  6250. color = computeWaterColor(v_positionEC, textureCoordinates, enuToEye, color, mask, fade);
  6251. }
  6252. #endif
  6253. #ifdef APPLY_MATERIAL
  6254. czm_materialInput materialInput;
  6255. materialInput.st = v_textureCoordinates.st;
  6256. materialInput.normalEC = normalize(v_normalEC);
  6257. materialInput.positionToEyeEC = -v_positionEC;
  6258. materialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(v_positionMC, normalize(v_normalEC));
  6259. materialInput.slope = v_slope;
  6260. materialInput.height = v_height;
  6261. materialInput.aspect = v_aspect;
  6262. czm_material material = czm_getMaterial(materialInput);
  6263. vec4 materialColor = vec4(material.diffuse, material.alpha);
  6264. color = alphaBlend(materialColor, color);
  6265. #endif
  6266. #ifdef ENABLE_VERTEX_LIGHTING
  6267. float diffuseIntensity = clamp(czm_getLambertDiffuse(czm_lightDirectionEC, normalize(v_normalEC)) * u_lambertDiffuseMultiplier + 0.3, 0.0, 1.0);
  6268. vec4 finalColor = vec4(color.rgb * czm_lightColor * diffuseIntensity, color.a);
  6269. #elif defined(ENABLE_DAYNIGHT_SHADING)
  6270. float diffuseIntensity = clamp(czm_getLambertDiffuse(czm_lightDirectionEC, normalEC) * 5.0 + 0.3, 0.0, 1.0);
  6271. diffuseIntensity = mix(1.0, diffuseIntensity, fade);
  6272. vec4 finalColor = vec4(color.rgb * czm_lightColor * diffuseIntensity, color.a);
  6273. #else
  6274. vec4 finalColor = color;
  6275. #endif
  6276. #ifdef ENABLE_CLIPPING_PLANES
  6277. vec4 clippingPlanesEdgeColor = vec4(1.0);
  6278. clippingPlanesEdgeColor.rgb = u_clippingPlanesEdgeStyle.rgb;
  6279. float clippingPlanesEdgeWidth = u_clippingPlanesEdgeStyle.a;
  6280. if (clipDistance < clippingPlanesEdgeWidth)
  6281. {
  6282. finalColor = clippingPlanesEdgeColor;
  6283. }
  6284. #endif
  6285. #ifdef HIGHLIGHT_FILL_TILE
  6286. finalColor = vec4(mix(finalColor.rgb, u_fillHighlightColor.rgb, u_fillHighlightColor.a), finalColor.a);
  6287. #endif
  6288. #if defined(DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN)
  6289. vec3 atmosphereLightDirection = czm_sunDirectionWC;
  6290. #else
  6291. vec3 atmosphereLightDirection = czm_lightDirectionWC;
  6292. #endif
  6293. #if defined(GROUND_ATMOSPHERE) || defined(FOG)
  6294. if (!czm_backFacing())
  6295. {
  6296. bool dynamicLighting = false;
  6297. #if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_DAYNIGHT_SHADING) || defined(ENABLE_VERTEX_LIGHTING))
  6298. dynamicLighting = true;
  6299. #endif
  6300. vec3 rayleighColor;
  6301. vec3 mieColor;
  6302. float opacity;
  6303. vec3 positionWC;
  6304. vec3 lightDirection;
  6305. #ifdef PER_FRAGMENT_GROUND_ATMOSPHERE
  6306. positionWC = computeEllipsoidPosition();
  6307. lightDirection = czm_branchFreeTernary(dynamicLighting, atmosphereLightDirection, normalize(positionWC));
  6308. computeAtmosphereScattering(
  6309. positionWC,
  6310. lightDirection,
  6311. rayleighColor,
  6312. mieColor,
  6313. opacity
  6314. );
  6315. #else
  6316. positionWC = v_positionMC;
  6317. lightDirection = czm_branchFreeTernary(dynamicLighting, atmosphereLightDirection, normalize(positionWC));
  6318. rayleighColor = v_atmosphereRayleighColor;
  6319. mieColor = v_atmosphereMieColor;
  6320. opacity = v_atmosphereOpacity;
  6321. #endif
  6322. rayleighColor = colorCorrect(rayleighColor);
  6323. mieColor = colorCorrect(mieColor);
  6324. vec4 groundAtmosphereColor = computeAtmosphereColor(positionWC, lightDirection, rayleighColor, mieColor, opacity);
  6325. #ifdef FOG
  6326. vec3 fogColor = groundAtmosphereColor.rgb;
  6327. #if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_VERTEX_LIGHTING) || defined(ENABLE_DAYNIGHT_SHADING))
  6328. float darken = clamp(dot(normalize(czm_viewerPositionWC), atmosphereLightDirection), u_minimumBrightness, 1.0);
  6329. fogColor *= darken;
  6330. #endif
  6331. #ifndef HDR
  6332. fogColor.rgb = czm_acesTonemapping(fogColor.rgb);
  6333. fogColor.rgb = czm_inverseGamma(fogColor.rgb);
  6334. #endif
  6335. const float modifier = 0.15;
  6336. finalColor = vec4(czm_fog(v_distance, finalColor.rgb, fogColor.rgb, modifier), finalColor.a);
  6337. #else
  6338. const float transmittanceModifier = 0.5;
  6339. float transmittance = transmittanceModifier + clamp(1.0 - groundAtmosphereColor.a, 0.0, 1.0);
  6340. vec3 finalAtmosphereColor = finalColor.rgb + groundAtmosphereColor.rgb * transmittance;
  6341. #if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_VERTEX_LIGHTING) || defined(ENABLE_DAYNIGHT_SHADING))
  6342. float fadeInDist = u_nightFadeDistance.x;
  6343. float fadeOutDist = u_nightFadeDistance.y;
  6344. float sunlitAtmosphereIntensity = clamp((cameraDist - fadeOutDist) / (fadeInDist - fadeOutDist), 0.05, 1.0);
  6345. float darken = clamp(dot(normalize(positionWC), atmosphereLightDirection), 0.0, 1.0);
  6346. vec3 darkenendGroundAtmosphereColor = mix(groundAtmosphereColor.rgb, finalAtmosphereColor.rgb, darken);
  6347. finalAtmosphereColor = mix(darkenendGroundAtmosphereColor, finalAtmosphereColor, sunlitAtmosphereIntensity);
  6348. #endif
  6349. #ifndef HDR
  6350. finalAtmosphereColor.rgb = vec3(1.0) - exp(-fExposure * finalAtmosphereColor.rgb);
  6351. #else
  6352. finalAtmosphereColor.rgb = czm_saturation(finalAtmosphereColor.rgb, 1.6);
  6353. #endif
  6354. finalColor.rgb = mix(finalColor.rgb, finalAtmosphereColor.rgb, fade);
  6355. #endif
  6356. }
  6357. #endif
  6358. #ifdef UNDERGROUND_COLOR
  6359. if (czm_backFacing())
  6360. {
  6361. float distanceFromEllipsoid = max(czm_eyeHeight, 0.0);
  6362. float distance = max(v_distance - distanceFromEllipsoid, 0.0);
  6363. float blendAmount = interpolateByDistance(u_undergroundColorAlphaByDistance, distance);
  6364. vec4 undergroundColor = vec4(u_undergroundColor.rgb, u_undergroundColor.a * blendAmount);
  6365. finalColor = alphaBlend(undergroundColor, finalColor);
  6366. }
  6367. #endif
  6368. #ifdef TRANSLUCENT
  6369. if (inTranslucencyRectangle())
  6370. {
  6371. vec4 alphaByDistance = gl_FrontFacing ? u_frontFaceAlphaByDistance : u_backFaceAlphaByDistance;
  6372. finalColor.a *= interpolateByDistance(alphaByDistance, v_distance);
  6373. }
  6374. #endif
  6375. gl_FragColor = finalColor;
  6376. }
  6377. #ifdef SHOW_REFLECTIVE_OCEAN
  6378. float waveFade(float edge0, float edge1, float x)
  6379. {
  6380. float y = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0);
  6381. return pow(1.0 - y, 5.0);
  6382. }
  6383. float linearFade(float edge0, float edge1, float x)
  6384. {
  6385. return clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0);
  6386. }
  6387. const float oceanFrequencyLowAltitude = 825000.0;
  6388. const float oceanAnimationSpeedLowAltitude = 0.004;
  6389. const float oceanOneOverAmplitudeLowAltitude = 1.0 / 2.0;
  6390. const float oceanSpecularIntensity = 0.5;
  6391. const float oceanFrequencyHighAltitude = 125000.0;
  6392. const float oceanAnimationSpeedHighAltitude = 0.008;
  6393. const float oceanOneOverAmplitudeHighAltitude = 1.0 / 2.0;
  6394. vec4 computeWaterColor(vec3 positionEyeCoordinates, vec2 textureCoordinates, mat3 enuToEye, vec4 imageryColor, float maskValue, float fade)
  6395. {
  6396. vec3 positionToEyeEC = -positionEyeCoordinates;
  6397. float positionToEyeECLength = length(positionToEyeEC);
  6398. vec3 normalizedPositionToEyeEC = normalize(normalize(positionToEyeEC));
  6399. float waveIntensity = waveFade(70000.0, 1000000.0, positionToEyeECLength);
  6400. #ifdef SHOW_OCEAN_WAVES
  6401. float time = czm_frameNumber * oceanAnimationSpeedHighAltitude;
  6402. vec4 noise = czm_getWaterNoise(u_oceanNormalMap, textureCoordinates * oceanFrequencyHighAltitude, time, 0.0);
  6403. vec3 normalTangentSpaceHighAltitude = vec3(noise.xy, noise.z * oceanOneOverAmplitudeHighAltitude);
  6404. time = czm_frameNumber * oceanAnimationSpeedLowAltitude;
  6405. noise = czm_getWaterNoise(u_oceanNormalMap, textureCoordinates * oceanFrequencyLowAltitude, time, 0.0);
  6406. vec3 normalTangentSpaceLowAltitude = vec3(noise.xy, noise.z * oceanOneOverAmplitudeLowAltitude);
  6407. float highAltitudeFade = linearFade(0.0, 60000.0, positionToEyeECLength);
  6408. float lowAltitudeFade = 1.0 - linearFade(20000.0, 60000.0, positionToEyeECLength);
  6409. vec3 normalTangentSpace =
  6410. (highAltitudeFade * normalTangentSpaceHighAltitude) +
  6411. (lowAltitudeFade * normalTangentSpaceLowAltitude);
  6412. normalTangentSpace = normalize(normalTangentSpace);
  6413. normalTangentSpace.xy *= waveIntensity;
  6414. normalTangentSpace = normalize(normalTangentSpace);
  6415. #else
  6416. vec3 normalTangentSpace = vec3(0.0, 0.0, 1.0);
  6417. #endif
  6418. vec3 normalEC = enuToEye * normalTangentSpace;
  6419. const vec3 waveHighlightColor = vec3(0.3, 0.45, 0.6);
  6420. float diffuseIntensity = czm_getLambertDiffuse(czm_lightDirectionEC, normalEC) * maskValue;
  6421. vec3 diffuseHighlight = waveHighlightColor * diffuseIntensity * (1.0 - fade);
  6422. #ifdef SHOW_OCEAN_WAVES
  6423. float tsPerturbationRatio = normalTangentSpace.z;
  6424. vec3 nonDiffuseHighlight = mix(waveHighlightColor * 5.0 * (1.0 - tsPerturbationRatio), vec3(0.0), diffuseIntensity);
  6425. #else
  6426. vec3 nonDiffuseHighlight = vec3(0.0);
  6427. #endif
  6428. float specularIntensity = czm_getSpecular(czm_lightDirectionEC, normalizedPositionToEyeEC, normalEC, 10.0);
  6429. float surfaceReflectance = mix(0.0, mix(u_zoomedOutOceanSpecularIntensity, oceanSpecularIntensity, waveIntensity), maskValue);
  6430. float specular = specularIntensity * surfaceReflectance;
  6431. #ifdef HDR
  6432. specular *= 1.4;
  6433. float e = 0.2;
  6434. float d = 3.3;
  6435. float c = 1.7;
  6436. vec3 color = imageryColor.rgb + (c * (vec3(e) + imageryColor.rgb * d) * (diffuseHighlight + nonDiffuseHighlight + specular));
  6437. #else
  6438. vec3 color = imageryColor.rgb + diffuseHighlight + nonDiffuseHighlight + specular;
  6439. #endif
  6440. return vec4(color, imageryColor.a);
  6441. }
  6442. #endif // #ifdef SHOW_REFLECTIVE_OCEAN
  6443. `;var wk=`#ifdef QUANTIZATION_BITS12
  6444. attribute vec4 compressed0;
  6445. attribute float compressed1;
  6446. #else
  6447. attribute vec4 position3DAndHeight;
  6448. attribute vec4 textureCoordAndEncodedNormals;
  6449. #endif
  6450. #ifdef GEODETIC_SURFACE_NORMALS
  6451. attribute vec3 geodeticSurfaceNormal;
  6452. #endif
  6453. #ifdef EXAGGERATION
  6454. uniform vec2 u_terrainExaggerationAndRelativeHeight;
  6455. #endif
  6456. uniform vec3 u_center3D;
  6457. uniform mat4 u_modifiedModelView;
  6458. uniform mat4 u_modifiedModelViewProjection;
  6459. uniform vec4 u_tileRectangle;
  6460. uniform vec2 u_southAndNorthLatitude;
  6461. uniform vec2 u_southMercatorYAndOneOverHeight;
  6462. varying vec3 v_positionMC;
  6463. varying vec3 v_positionEC;
  6464. varying vec3 v_textureCoordinates;
  6465. varying vec3 v_normalMC;
  6466. varying vec3 v_normalEC;
  6467. #ifdef APPLY_MATERIAL
  6468. varying float v_slope;
  6469. varying float v_aspect;
  6470. varying float v_height;
  6471. #endif
  6472. #if defined(FOG) || defined(GROUND_ATMOSPHERE) || defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT)
  6473. varying float v_distance;
  6474. #endif
  6475. #if defined(FOG) || defined(GROUND_ATMOSPHERE)
  6476. varying vec3 v_atmosphereRayleighColor;
  6477. varying vec3 v_atmosphereMieColor;
  6478. varying float v_atmosphereOpacity;
  6479. #endif
  6480. vec4 getPosition(vec3 position, float height, vec2 textureCoordinates);
  6481. float get2DYPositionFraction(vec2 textureCoordinates);
  6482. vec4 getPosition3DMode(vec3 position, float height, vec2 textureCoordinates)
  6483. {
  6484. return u_modifiedModelViewProjection * vec4(position, 1.0);
  6485. }
  6486. float get2DMercatorYPositionFraction(vec2 textureCoordinates)
  6487. {
  6488. const float maxTileWidth = 0.003068;
  6489. float positionFraction = textureCoordinates.y;
  6490. float southLatitude = u_southAndNorthLatitude.x;
  6491. float northLatitude = u_southAndNorthLatitude.y;
  6492. if (northLatitude - southLatitude > maxTileWidth)
  6493. {
  6494. float southMercatorY = u_southMercatorYAndOneOverHeight.x;
  6495. float oneOverMercatorHeight = u_southMercatorYAndOneOverHeight.y;
  6496. float currentLatitude = mix(southLatitude, northLatitude, textureCoordinates.y);
  6497. currentLatitude = clamp(currentLatitude, -czm_webMercatorMaxLatitude, czm_webMercatorMaxLatitude);
  6498. positionFraction = czm_latitudeToWebMercatorFraction(currentLatitude, southMercatorY, oneOverMercatorHeight);
  6499. }
  6500. return positionFraction;
  6501. }
  6502. float get2DGeographicYPositionFraction(vec2 textureCoordinates)
  6503. {
  6504. return textureCoordinates.y;
  6505. }
  6506. vec4 getPositionPlanarEarth(vec3 position, float height, vec2 textureCoordinates)
  6507. {
  6508. float yPositionFraction = get2DYPositionFraction(textureCoordinates);
  6509. vec4 rtcPosition2D = vec4(height, mix(u_tileRectangle.st, u_tileRectangle.pq, vec2(textureCoordinates.x, yPositionFraction)), 1.0);
  6510. return u_modifiedModelViewProjection * rtcPosition2D;
  6511. }
  6512. vec4 getPosition2DMode(vec3 position, float height, vec2 textureCoordinates)
  6513. {
  6514. return getPositionPlanarEarth(position, 0.0, textureCoordinates);
  6515. }
  6516. vec4 getPositionColumbusViewMode(vec3 position, float height, vec2 textureCoordinates)
  6517. {
  6518. return getPositionPlanarEarth(position, height, textureCoordinates);
  6519. }
  6520. vec4 getPositionMorphingMode(vec3 position, float height, vec2 textureCoordinates)
  6521. {
  6522. vec3 position3DWC = position + u_center3D;
  6523. float yPositionFraction = get2DYPositionFraction(textureCoordinates);
  6524. vec4 position2DWC = vec4(height, mix(u_tileRectangle.st, u_tileRectangle.pq, vec2(textureCoordinates.x, yPositionFraction)), 1.0);
  6525. vec4 morphPosition = czm_columbusViewMorph(position2DWC, vec4(position3DWC, 1.0), czm_morphTime);
  6526. return czm_modelViewProjection * morphPosition;
  6527. }
  6528. #ifdef QUANTIZATION_BITS12
  6529. uniform vec2 u_minMaxHeight;
  6530. uniform mat4 u_scaleAndBias;
  6531. #endif
  6532. void main()
  6533. {
  6534. #ifdef QUANTIZATION_BITS12
  6535. vec2 xy = czm_decompressTextureCoordinates(compressed0.x);
  6536. vec2 zh = czm_decompressTextureCoordinates(compressed0.y);
  6537. vec3 position = vec3(xy, zh.x);
  6538. float height = zh.y;
  6539. vec2 textureCoordinates = czm_decompressTextureCoordinates(compressed0.z);
  6540. height = height * (u_minMaxHeight.y - u_minMaxHeight.x) + u_minMaxHeight.x;
  6541. position = (u_scaleAndBias * vec4(position, 1.0)).xyz;
  6542. #if (defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL)) && defined(INCLUDE_WEB_MERCATOR_Y)
  6543. float webMercatorT = czm_decompressTextureCoordinates(compressed0.w).x;
  6544. float encodedNormal = compressed1;
  6545. #elif defined(INCLUDE_WEB_MERCATOR_Y)
  6546. float webMercatorT = czm_decompressTextureCoordinates(compressed0.w).x;
  6547. float encodedNormal = 0.0;
  6548. #elif defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL)
  6549. float webMercatorT = textureCoordinates.y;
  6550. float encodedNormal = compressed0.w;
  6551. #else
  6552. float webMercatorT = textureCoordinates.y;
  6553. float encodedNormal = 0.0;
  6554. #endif
  6555. #else
  6556. vec3 position = position3DAndHeight.xyz;
  6557. float height = position3DAndHeight.w;
  6558. vec2 textureCoordinates = textureCoordAndEncodedNormals.xy;
  6559. #if (defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) || defined(APPLY_MATERIAL)) && defined(INCLUDE_WEB_MERCATOR_Y)
  6560. float webMercatorT = textureCoordAndEncodedNormals.z;
  6561. float encodedNormal = textureCoordAndEncodedNormals.w;
  6562. #elif defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) || defined(APPLY_MATERIAL)
  6563. float webMercatorT = textureCoordinates.y;
  6564. float encodedNormal = textureCoordAndEncodedNormals.z;
  6565. #elif defined(INCLUDE_WEB_MERCATOR_Y)
  6566. float webMercatorT = textureCoordAndEncodedNormals.z;
  6567. float encodedNormal = 0.0;
  6568. #else
  6569. float webMercatorT = textureCoordinates.y;
  6570. float encodedNormal = 0.0;
  6571. #endif
  6572. #endif
  6573. vec3 position3DWC = position + u_center3D;
  6574. #ifdef GEODETIC_SURFACE_NORMALS
  6575. vec3 ellipsoidNormal = geodeticSurfaceNormal;
  6576. #else
  6577. vec3 ellipsoidNormal = normalize(position3DWC);
  6578. #endif
  6579. #if defined(EXAGGERATION) && defined(GEODETIC_SURFACE_NORMALS)
  6580. float exaggeration = u_terrainExaggerationAndRelativeHeight.x;
  6581. float relativeHeight = u_terrainExaggerationAndRelativeHeight.y;
  6582. float newHeight = (height - relativeHeight) * exaggeration + relativeHeight;
  6583. float minRadius = min(min(czm_ellipsoidRadii.x, czm_ellipsoidRadii.y), czm_ellipsoidRadii.z);
  6584. newHeight = max(newHeight, -minRadius);
  6585. vec3 offset = ellipsoidNormal * (newHeight - height);
  6586. position += offset;
  6587. position3DWC += offset;
  6588. height = newHeight;
  6589. #endif
  6590. gl_Position = getPosition(position, height, textureCoordinates);
  6591. v_positionEC = (u_modifiedModelView * vec4(position, 1.0)).xyz;
  6592. v_positionMC = position3DWC;
  6593. v_textureCoordinates = vec3(textureCoordinates, webMercatorT);
  6594. #if defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) || defined(APPLY_MATERIAL)
  6595. vec3 normalMC = czm_octDecode(encodedNormal);
  6596. #if defined(EXAGGERATION) && defined(GEODETIC_SURFACE_NORMALS)
  6597. vec3 projection = dot(normalMC, ellipsoidNormal) * ellipsoidNormal;
  6598. vec3 rejection = normalMC - projection;
  6599. normalMC = normalize(projection + rejection * exaggeration);
  6600. #endif
  6601. v_normalMC = normalMC;
  6602. v_normalEC = czm_normal3D * v_normalMC;
  6603. #endif
  6604. #if defined(FOG) || (defined(GROUND_ATMOSPHERE) && !defined(PER_FRAGMENT_GROUND_ATMOSPHERE))
  6605. bool dynamicLighting = false;
  6606. #if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_DAYNIGHT_SHADING) || defined(ENABLE_VERTEX_LIGHTING))
  6607. dynamicLighting = true;
  6608. #endif
  6609. #if defined(DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN)
  6610. vec3 atmosphereLightDirection = czm_sunDirectionWC;
  6611. #else
  6612. vec3 atmosphereLightDirection = czm_lightDirectionWC;
  6613. #endif
  6614. vec3 lightDirection = czm_branchFreeTernary(dynamicLighting, atmosphereLightDirection, normalize(position3DWC));
  6615. computeAtmosphereScattering(
  6616. position3DWC,
  6617. lightDirection,
  6618. v_atmosphereRayleighColor,
  6619. v_atmosphereMieColor,
  6620. v_atmosphereOpacity
  6621. );
  6622. #endif
  6623. #if defined(FOG) || defined(GROUND_ATMOSPHERE) || defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT)
  6624. v_distance = length((czm_modelView3D * vec4(position3DWC, 1.0)).xyz);
  6625. #endif
  6626. #ifdef APPLY_MATERIAL
  6627. float northPoleZ = czm_ellipsoidRadii.z;
  6628. vec3 northPolePositionMC = vec3(0.0, 0.0, northPoleZ);
  6629. vec3 vectorEastMC = normalize(cross(northPolePositionMC - v_positionMC, ellipsoidNormal));
  6630. float dotProd = abs(dot(ellipsoidNormal, v_normalMC));
  6631. v_slope = acos(dotProd);
  6632. vec3 normalRejected = ellipsoidNormal * dotProd;
  6633. vec3 normalProjected = v_normalMC - normalRejected;
  6634. vec3 aspectVector = normalize(normalProjected);
  6635. v_aspect = acos(dot(aspectVector, vectorEastMC));
  6636. float determ = dot(cross(vectorEastMC, aspectVector), ellipsoidNormal);
  6637. v_aspect = czm_branchFreeTernary(determ < 0.0, 2.0 * czm_pi - v_aspect, v_aspect);
  6638. v_height = height;
  6639. #endif
  6640. }
  6641. `;var $g=`uniform vec3 u_radiiAndDynamicAtmosphereColor;
  6642. uniform float u_atmosphereLightIntensity;
  6643. uniform float u_atmosphereRayleighScaleHeight;
  6644. uniform float u_atmosphereMieScaleHeight;
  6645. uniform float u_atmosphereMieAnisotropy;
  6646. uniform vec3 u_atmosphereRayleighCoefficient;
  6647. uniform vec3 u_atmosphereMieCoefficient;
  6648. const float ATMOSPHERE_THICKNESS = 111e3;
  6649. const int PRIMARY_STEPS = 16;
  6650. const int LIGHT_STEPS = 4;
  6651. void computeScattering(
  6652. czm_ray primaryRay,
  6653. float primaryRayLength,
  6654. vec3 lightDirection,
  6655. float atmosphereInnerRadius,
  6656. out vec3 rayleighColor,
  6657. out vec3 mieColor,
  6658. out float opacity
  6659. ) {
  6660. rayleighColor = vec3(0.0);
  6661. mieColor = vec3(0.0);
  6662. opacity = 0.0;
  6663. float atmosphereOuterRadius = atmosphereInnerRadius + ATMOSPHERE_THICKNESS;
  6664. vec3 origin = vec3(0.0);
  6665. czm_raySegment primaryRayAtmosphereIntersect = czm_raySphereIntersectionInterval(primaryRay, origin, atmosphereOuterRadius);
  6666. if (primaryRayAtmosphereIntersect == czm_emptyRaySegment) {
  6667. return;
  6668. }
  6669. primaryRayAtmosphereIntersect.start = max(primaryRayAtmosphereIntersect.start, 0.0);
  6670. primaryRayAtmosphereIntersect.stop = min(primaryRayAtmosphereIntersect.stop, length(primaryRayLength));
  6671. float rayStepLength = (primaryRayAtmosphereIntersect.stop - primaryRayAtmosphereIntersect.start) / float(PRIMARY_STEPS);
  6672. float rayPositionLength = primaryRayAtmosphereIntersect.start;
  6673. vec3 rayleighAccumulation = vec3(0.0);
  6674. vec3 mieAccumulation = vec3(0.0);
  6675. vec2 opticalDepth = vec2(0.0);
  6676. vec2 heightScale = vec2(u_atmosphereRayleighScaleHeight, u_atmosphereMieScaleHeight);
  6677. for (int i = 0; i < PRIMARY_STEPS; i++) {
  6678. vec3 samplePosition = primaryRay.origin + primaryRay.direction * (rayPositionLength + rayStepLength);
  6679. float sampleHeight = length(samplePosition) - atmosphereInnerRadius;
  6680. vec2 sampleDensity = exp(-sampleHeight / heightScale) * rayStepLength;
  6681. opticalDepth += sampleDensity;
  6682. czm_ray lightRay = czm_ray(samplePosition, lightDirection);
  6683. czm_raySegment lightRayAtmosphereIntersect = czm_raySphereIntersectionInterval(lightRay, origin, atmosphereOuterRadius);
  6684. float lightStepLength = lightRayAtmosphereIntersect.stop / float(LIGHT_STEPS);
  6685. float lightPositionLength = 0.0;
  6686. vec2 lightOpticalDepth = vec2(0.0);
  6687. for (int j = 0; j < LIGHT_STEPS; j++) {
  6688. vec3 lightPosition = samplePosition + lightDirection * (lightPositionLength + lightStepLength * 0.5);
  6689. float lightHeight = length(lightPosition) - atmosphereInnerRadius;
  6690. lightOpticalDepth += exp(-lightHeight / heightScale) * lightStepLength;
  6691. lightPositionLength += lightStepLength;
  6692. }
  6693. vec3 attenuation = exp(-((u_atmosphereMieCoefficient * (opticalDepth.y + lightOpticalDepth.y)) + (u_atmosphereRayleighCoefficient * (opticalDepth.x + lightOpticalDepth.x))));
  6694. rayleighAccumulation += sampleDensity.x * attenuation;
  6695. mieAccumulation += sampleDensity.y * attenuation;
  6696. rayPositionLength += rayStepLength;
  6697. }
  6698. rayleighColor = u_atmosphereRayleighCoefficient * rayleighAccumulation;
  6699. mieColor = u_atmosphereMieCoefficient * mieAccumulation;
  6700. opacity = length(exp(-((u_atmosphereMieCoefficient * opticalDepth.y) + (u_atmosphereRayleighCoefficient * opticalDepth.x))));
  6701. }
  6702. vec4 computeAtmosphereColor(
  6703. vec3 positionWC,
  6704. vec3 lightDirection,
  6705. vec3 rayleighColor,
  6706. vec3 mieColor,
  6707. float opacity
  6708. ) {
  6709. vec3 cameraToPositionWC = positionWC - czm_viewerPositionWC;
  6710. vec3 cameraToPositionWCDirection = normalize(cameraToPositionWC);
  6711. float cosAngle = dot(cameraToPositionWCDirection, lightDirection);
  6712. float cosAngleSq = cosAngle * cosAngle;
  6713. float G = u_atmosphereMieAnisotropy;
  6714. float GSq = G * G;
  6715. float rayleighPhase = 3.0 / (50.2654824574) * (1.0 + cosAngleSq);
  6716. float miePhase = 3.0 / (25.1327412287) * ((1.0 - GSq) * (cosAngleSq + 1.0)) / (pow(1.0 + GSq - 2.0 * cosAngle * G, 1.5) * (2.0 + GSq));
  6717. vec3 rayleigh = rayleighPhase * rayleighColor;
  6718. vec3 mie = miePhase * mieColor;
  6719. vec3 color = (rayleigh + mie) * u_atmosphereLightIntensity;
  6720. return vec4(color, opacity);
  6721. }
  6722. `;var sD=`void computeAtmosphereScattering(vec3 positionWC, vec3 lightDirection, out vec3 rayleighColor, out vec3 mieColor, out float opacity) {
  6723. vec3 cameraToPositionWC = positionWC - czm_viewerPositionWC;
  6724. vec3 cameraToPositionWCDirection = normalize(cameraToPositionWC);
  6725. czm_ray primaryRay = czm_ray(czm_viewerPositionWC, cameraToPositionWCDirection);
  6726. float atmosphereInnerRadius = length(positionWC);
  6727. computeScattering(
  6728. primaryRay,
  6729. length(cameraToPositionWC),
  6730. lightDirection,
  6731. atmosphereInnerRadius,
  6732. rayleighColor,
  6733. mieColor,
  6734. opacity
  6735. );
  6736. }
  6737. `;var kot=new G;function Uot(e,t){let n=e.unionClippingRegions,i=e.length,o=Zs.useFloatTexture(t),r=Zs.getTextureResolution(e,t,kot),s=r.x,a=r.y,c=o?Got(s,a):Wot(s,a);return c+=`
  6738. `,c+=n?zot(i):Hot(i),c}function zot(e){return`float clip(vec4 fragCoord, sampler2D clippingPlanes, mat4 clippingPlanesMatrix)
  6739. {
  6740. vec4 position = czm_windowToEyeCoordinates(fragCoord);
  6741. vec3 clipNormal = vec3(0.0);
  6742. vec3 clipPosition = vec3(0.0);
  6743. float clipAmount;
  6744. float pixelWidth = czm_metersPerPixel(position);
  6745. bool breakAndDiscard = false;
  6746. for (int i = 0; i < ${e}; ++i)
  6747. {
  6748. vec4 clippingPlane = getClippingPlane(clippingPlanes, i, clippingPlanesMatrix);
  6749. clipNormal = clippingPlane.xyz;
  6750. clipPosition = -clippingPlane.w * clipNormal;
  6751. float amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth;
  6752. clipAmount = czm_branchFreeTernary(i == 0, amount, min(amount, clipAmount));
  6753. if (amount <= 0.0)
  6754. {
  6755. breakAndDiscard = true;
  6756. break;
  6757. }
  6758. }
  6759. if (breakAndDiscard) {
  6760. discard;
  6761. }
  6762. return clipAmount;
  6763. }
  6764. `}function Hot(e){return`float clip(vec4 fragCoord, sampler2D clippingPlanes, mat4 clippingPlanesMatrix)
  6765. {
  6766. bool clipped = true;
  6767. vec4 position = czm_windowToEyeCoordinates(fragCoord);
  6768. vec3 clipNormal = vec3(0.0);
  6769. vec3 clipPosition = vec3(0.0);
  6770. float clipAmount = 0.0;
  6771. float pixelWidth = czm_metersPerPixel(position);
  6772. for (int i = 0; i < ${e}; ++i)
  6773. {
  6774. vec4 clippingPlane = getClippingPlane(clippingPlanes, i, clippingPlanesMatrix);
  6775. clipNormal = clippingPlane.xyz;
  6776. clipPosition = -clippingPlane.w * clipNormal;
  6777. float amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth;
  6778. clipAmount = max(amount, clipAmount);
  6779. clipped = clipped && (amount <= 0.0);
  6780. }
  6781. if (clipped)
  6782. {
  6783. discard;
  6784. }
  6785. return clipAmount;
  6786. }
  6787. `}function Got(e,t){let n=1/e,i=1/t,o=`${n}`;o.indexOf(".")===-1&&(o+=".0");let r=`${i}`;return r.indexOf(".")===-1&&(r+=".0"),`vec4 getClippingPlane(highp sampler2D packedClippingPlanes, int clippingPlaneNumber, mat4 transform)
  6788. {
  6789. int pixY = clippingPlaneNumber / ${e};
  6790. int pixX = clippingPlaneNumber - (pixY * ${e});
  6791. float u = (float(pixX) + 0.5) * ${o};
  6792. float v = (float(pixY) + 0.5) * ${r};
  6793. vec4 plane = texture2D(packedClippingPlanes, vec2(u, v));
  6794. return czm_transformPlane(plane, transform);
  6795. }
  6796. `}function Wot(e,t){let n=1/e,i=1/t,o=`${n}`;o.indexOf(".")===-1&&(o+=".0");let r=`${i}`;return r.indexOf(".")===-1&&(r+=".0"),`vec4 getClippingPlane(highp sampler2D packedClippingPlanes, int clippingPlaneNumber, mat4 transform)
  6797. {
  6798. int clippingPlaneStartIndex = clippingPlaneNumber * 2;
  6799. int pixY = clippingPlaneStartIndex / ${e};
  6800. int pixX = clippingPlaneStartIndex - (pixY * ${e});
  6801. float u = (float(pixX) + 0.5) * ${o};
  6802. float v = (float(pixY) + 0.5) * ${r};
  6803. vec4 oct32 = texture2D(packedClippingPlanes, vec2(u, v)) * 255.0;
  6804. vec2 oct = vec2(oct32.x * 256.0 + oct32.y, oct32.z * 256.0 + oct32.w);
  6805. vec4 plane;
  6806. plane.xyz = czm_octDecode(oct, 65535.0);
  6807. plane.w = czm_unpackFloat(texture2D(packedClippingPlanes, vec2(u + ${o}, v)));
  6808. return czm_transformPlane(plane, transform);
  6809. }
  6810. `}var IE=Uot;function jot(e,t,n,i,o){this.numberOfDayTextures=e,this.flags=t,this.material=n,this.shaderProgram=i,this.clippingShaderState=o}function Pj(){this.baseVertexShaderSource=void 0,this.baseFragmentShaderSource=void 0,this._shadersByTexturesFlags=[],this.material=void 0}function qot(e){let t="vec4 getPosition(vec3 position, float height, vec2 textureCoordinates) { return getPosition3DMode(position, height, textureCoordinates); }",n="vec4 getPosition(vec3 position, float height, vec2 textureCoordinates) { return getPositionColumbusViewMode(position, height, textureCoordinates); }",i="vec4 getPosition(vec3 position, float height, vec2 textureCoordinates) { return getPositionMorphingMode(position, height, textureCoordinates); }",o;switch(e){case ee.SCENE3D:o=t;break;case ee.SCENE2D:case ee.COLUMBUS_VIEW:o=n;break;case ee.MORPHING:o=i;break}return o}function Yot(e){return e?"float get2DYPositionFraction(vec2 textureCoordinates) { return get2DMercatorYPositionFraction(textureCoordinates); }":"float get2DYPositionFraction(vec2 textureCoordinates) { return get2DGeographicYPositionFraction(textureCoordinates); }"}Pj.prototype.getShaderProgram=function(e){let t=e.frameState,n=e.surfaceTile,i=e.numberOfDayTextures,o=e.applyBrightness,r=e.applyContrast,s=e.applyHue,a=e.applySaturation,c=e.applyGamma,u=e.applyAlpha,f=e.applyDayNightAlpha,d=e.applySplit,p=e.showReflectiveOcean,g=e.showOceanWaves,m=e.enableLighting,C=e.dynamicAtmosphereLighting,x=e.dynamicAtmosphereLightingFromSun,A=e.showGroundAtmosphere,b=e.perFragmentGroundAtmosphere,E=e.hasVertexNormals,S=e.useWebMercatorProjection,v=e.enableFog,P=e.enableClippingPlanes,O=e.clippingPlanes,M=e.clippedByBoundaries,B=e.hasImageryLayerCutout,L=e.colorCorrect,_=e.highlightFillTile,T=e.colorToAlpha,w=e.hasGeodeticSurfaceNormals,D=e.hasExaggeration,R=e.showUndergroundColor,F=e.translucent,z=0,k="",V=n.renderedMesh.encoding;V.quantization===Cs.BITS12&&(z=1,k="QUANTIZATION_BITS12");let q=0,X="";M&&(q=1,X="TILE_LIMIT_RECTANGLE");let W=0,K="";B&&(W=1,K="APPLY_IMAGERY_CUTOUT");let $=t.mode,le=$|o<<2|r<<3|s<<4|a<<5|c<<6|u<<7|p<<8|g<<9|m<<10|C<<11|x<<12|A<<13|b<<14|E<<15|S<<16|v<<17|z<<18|d<<19|P<<20|q<<21|W<<22|L<<23|_<<24|T<<25|w<<26|D<<27|R<<28|F<<29|f<<30,me=0;l(O)&&O.length>0&&(me=P?O.clippingPlanesState:0);let ie=n.surfaceShader;if(l(ie)&&ie.numberOfDayTextures===i&&ie.flags===le&&ie.material===this.material&&ie.clippingShaderState===me)return ie.shaderProgram;let ce=this._shadersByTexturesFlags[i];if(l(ce)||(ce=this._shadersByTexturesFlags[i]=[]),ie=ce[le],!l(ie)||ie.material!==this.material||ie.clippingShaderState!==me){let pe=this.baseVertexShaderSource.clone(),Ae=this.baseFragmentShaderSource.clone();me!==0&&Ae.sources.unshift(IE(O,t.context)),pe.defines.push(k),Ae.defines.push(`TEXTURE_UNITS ${i}`,X,K),o&&Ae.defines.push("APPLY_BRIGHTNESS"),r&&Ae.defines.push("APPLY_CONTRAST"),s&&Ae.defines.push("APPLY_HUE"),a&&Ae.defines.push("APPLY_SATURATION"),c&&Ae.defines.push("APPLY_GAMMA"),u&&Ae.defines.push("APPLY_ALPHA"),f&&Ae.defines.push("APPLY_DAY_NIGHT_ALPHA"),p&&(Ae.defines.push("SHOW_REFLECTIVE_OCEAN"),pe.defines.push("SHOW_REFLECTIVE_OCEAN")),g&&Ae.defines.push("SHOW_OCEAN_WAVES"),T&&Ae.defines.push("APPLY_COLOR_TO_ALPHA"),R&&(pe.defines.push("UNDERGROUND_COLOR"),Ae.defines.push("UNDERGROUND_COLOR")),F&&(pe.defines.push("TRANSLUCENT"),Ae.defines.push("TRANSLUCENT")),m&&(E?(pe.defines.push("ENABLE_VERTEX_LIGHTING"),Ae.defines.push("ENABLE_VERTEX_LIGHTING")):(pe.defines.push("ENABLE_DAYNIGHT_SHADING"),Ae.defines.push("ENABLE_DAYNIGHT_SHADING"))),C&&(pe.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING"),Ae.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING"),x&&(pe.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN"),Ae.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN"))),A&&(pe.defines.push("GROUND_ATMOSPHERE"),Ae.defines.push("GROUND_ATMOSPHERE"),b&&(pe.defines.push("PER_FRAGMENT_GROUND_ATMOSPHERE"),Ae.defines.push("PER_FRAGMENT_GROUND_ATMOSPHERE"))),pe.defines.push("INCLUDE_WEB_MERCATOR_Y"),Ae.defines.push("INCLUDE_WEB_MERCATOR_Y"),v&&(pe.defines.push("FOG"),Ae.defines.push("FOG")),d&&Ae.defines.push("APPLY_SPLIT"),P&&Ae.defines.push("ENABLE_CLIPPING_PLANES"),L&&Ae.defines.push("COLOR_CORRECT"),_&&Ae.defines.push("HIGHLIGHT_FILL_TILE"),w&&pe.defines.push("GEODETIC_SURFACE_NORMALS"),D&&pe.defines.push("EXAGGERATION");let we=` vec4 computeDayColor(vec4 initialColor, vec3 textureCoordinates, float nightBlend)
  6811. {
  6812. vec4 color = initialColor;
  6813. `;B&&(we+=` vec4 cutoutAndColorResult;
  6814. bool texelUnclipped;
  6815. `);for(let Ue=0;Ue<i;++Ue)B?we+=` cutoutAndColorResult = u_dayTextureCutoutRectangles[${Ue}];
  6816. texelUnclipped = v_textureCoordinates.x < cutoutAndColorResult.x || cutoutAndColorResult.z < v_textureCoordinates.x || v_textureCoordinates.y < cutoutAndColorResult.y || cutoutAndColorResult.w < v_textureCoordinates.y;
  6817. cutoutAndColorResult = sampleAndBlend(
  6818. `:we+=` color = sampleAndBlend(
  6819. `,we+=` color,
  6820. u_dayTextures[${Ue}],
  6821. u_dayTextureUseWebMercatorT[${Ue}] ? textureCoordinates.xz : textureCoordinates.xy,
  6822. u_dayTextureTexCoordsRectangle[${Ue}],
  6823. u_dayTextureTranslationAndScale[${Ue}],
  6824. ${u?`u_dayTextureAlpha[${Ue}]`:"1.0"},
  6825. ${f?`u_dayTextureNightAlpha[${Ue}]`:"1.0"},
  6826. ${f?`u_dayTextureDayAlpha[${Ue}]`:"1.0"},
  6827. ${o?`u_dayTextureBrightness[${Ue}]`:"0.0"},
  6828. ${r?`u_dayTextureContrast[${Ue}]`:"0.0"},
  6829. ${s?`u_dayTextureHue[${Ue}]`:"0.0"},
  6830. ${a?`u_dayTextureSaturation[${Ue}]`:"0.0"},
  6831. ${c?`u_dayTextureOneOverGamma[${Ue}]`:"0.0"},
  6832. ${d?`u_dayTextureSplit[${Ue}]`:"0.0"},
  6833. ${T?`u_colorsToAlpha[${Ue}]`:"vec4(0.0)"},
  6834. nightBlend );
  6835. `,B&&(we+=` color = czm_branchFreeTernary(texelUnclipped, cutoutAndColorResult, color);
  6836. `);we+=` return color;
  6837. }`,Ae.sources.push(we),pe.sources.push(qot($)),pe.sources.push(Yot(S));let Re=Yt.fromCache({context:t.context,vertexShaderSource:pe,fragmentShaderSource:Ae,attributeLocations:V.getAttributeLocations()});ie=ce[le]=new jot(i,le,this.material,Re,me)}return n.surfaceShader=ie,ie.shaderProgram};Pj.prototype.destroy=function(){let e,t,n=this._shadersByTexturesFlags;for(let i in n)if(n.hasOwnProperty(i)){let o=n[i];if(!l(o))continue;for(e in o)o.hasOwnProperty(e)&&(t=o[e],l(t)&&t.shaderProgram.destroy())}return fe(this)};var vk=Pj;var Xot={UNLOADED:0,TRANSITIONING:1,RECEIVED:2,TEXTURE_LOADED:3,READY:4,FAILED:5,INVALID:6,PLACEHOLDER:7},ri=Object.freeze(Xot);var Kot={START:0,LOADING:1,DONE:2,FAILED:3},Fs=Object.freeze(Kot);var Zot={FAILED:0,UNLOADED:1,RECEIVING:2,RECEIVED:3,TRANSFORMING:4,TRANSFORMED:5,READY:6},_o=Object.freeze(Zot);function Go(){this.imagery=[],this.waterMaskTexture=void 0,this.waterMaskTranslationAndScale=new se(0,0,1,1),this.terrainData=void 0,this.vertexArray=void 0,this.tileBoundingRegion=void 0,this.occludeePointInScaledSpace=new h,this.boundingVolumeSourceTile=void 0,this.boundingVolumeIsFromMesh=!1,this.terrainState=_o.UNLOADED,this.mesh=void 0,this.fill=void 0,this.pickBoundingSphere=new re,this.surfaceShader=void 0,this.isClipped=!0,this.clippedByBoundaries=!1}Object.defineProperties(Go.prototype,{eligibleForUnloading:{get:function(){let e=this.terrainState,n=!(e===_o.RECEIVING||e===_o.TRANSFORMING),i=this.imagery;for(let o=0,r=i.length;n&&o<r;++o){let s=i[o];n=!l(s.loadingImagery)||s.loadingImagery.state!==ri.TRANSITIONING}return n}},renderedMesh:{get:function(){if(l(this.vertexArray))return this.mesh;if(l(this.fill))return this.fill.mesh}}});var $ot=new he;function Ij(e,t,n,i,o,r){let s=e.getExaggeratedPosition(i,o,r);if(l(t)&&t!==ee.SCENE3D){let c=n.ellipsoid.cartesianToCartographic(s,$ot);s=n.project(c,r),s=h.fromElements(s.z,s.x,s.y,r)}return s}var Jot=new h,Qot=new h,ert=new h;Go.prototype.pick=function(e,t,n,i,o){let r=this.renderedMesh;if(!l(r))return;let s=r.vertices,a=r.indices,c=r.encoding,u=a.length,f=Number.MAX_VALUE;for(let d=0;d<u;d+=3){let p=a[d],g=a[d+1],m=a[d+2],C=Ij(c,t,n,s,p,Jot),x=Ij(c,t,n,s,g,Qot),A=Ij(c,t,n,s,m,ert),b=Gi.rayTriangleParametric(e,C,x,A,i);l(b)&&b<f&&b>=0&&(f=b)}return f!==Number.MAX_VALUE?Tn.getPoint(e,f,o):void 0};Go.prototype.freeResources=function(){l(this.waterMaskTexture)&&(--this.waterMaskTexture.referenceCount,this.waterMaskTexture.referenceCount===0&&this.waterMaskTexture.destroy(),this.waterMaskTexture=void 0),this.terrainData=void 0,this.terrainState=_o.UNLOADED,this.mesh=void 0,this.fill=this.fill&&this.fill.destroy();let e=this.imagery;for(let t=0,n=e.length;t<n;++t)e[t].freeResources();this.imagery.length=0,this.freeVertexArray()};Go.prototype.freeVertexArray=function(){Go._freeVertexArray(this.vertexArray),this.vertexArray=void 0,Go._freeVertexArray(this.wireframeVertexArray),this.wireframeVertexArray=void 0};Go.initialize=function(e,t,n){let i=e.data;l(i)||(i=e.data=new Go),e.state===Fs.START&&(trt(e,t,n),e.state=Fs.LOADING)};Go.processStateMachine=function(e,t,n,i,o,r,s){Go.initialize(e,n,i);let a=e.data;if(e.state===Fs.LOADING&&nrt(e,t,n,i,o,r),s)return;let c=e.renderable;e.renderable=l(a.vertexArray);let u=a.terrainState===_o.READY;e.upsampledFromParent=l(a.terrainData)&&a.terrainData.wasCreatedByUpsampling();let f=a.processImagery(e,n,t);if(u&&f){let d=e._loadedCallbacks,p={};for(let g in d)d.hasOwnProperty(g)&&(d[g](e)||(p[g]=d[g]));e._loadedCallbacks=p,e.state=Fs.DONE}c&&(e.renderable=!0)};Go.prototype.processImagery=function(e,t,n,i){let o=e.data,r=e.upsampledFromParent,s=!1,a=!0,c=o.imagery,u,f;for(u=0,f=c.length;u<f;++u){let d=c[u];if(!l(d.loadingImagery)){r=!1;continue}if(d.loadingImagery.state===ri.PLACEHOLDER){let g=d.loadingImagery.imageryLayer;if(g.imageryProvider.ready){d.freeResources(),c.splice(u,1),g._createTileImagerySkeletons(e,t,u),--u,f=c.length;continue}else r=!1}let p=d.processStateMachine(e,n,i);a=a&&p,s=s||p||l(d.readyImagery),r=r&&l(d.loadingImagery)&&(d.loadingImagery.state===ri.FAILED||d.loadingImagery.state===ri.INVALID)}return e.upsampledFromParent=r,e.renderable=e.renderable&&(s||a),a};function Ape(e,t,n,i){let o=e.renderedMesh,r=o.vertices,s=o.encoding,a=r.length/s.stride,c=Ka.clone(s);c.hasGeodeticSurfaceNormals=t,c=Ka.clone(c);let u=c.stride,f=new Float32Array(a*u);t?s.addGeodeticSurfaceNormals(r,f,n):s.removeGeodeticSurfaceNormals(r,f),o.vertices=f,o.stride=u,o!==e.mesh?(Go._freeVertexArray(e.fill.vertexArray),e.fill.vertexArray=Go._createVertexArrayForMesh(i.context,o)):(Go._freeVertexArray(e.vertexArray),e.vertexArray=Go._createVertexArrayForMesh(i.context,o)),Go._freeVertexArray(e.wireframeVertexArray),e.wireframeVertexArray=void 0}Go.prototype.addGeodeticSurfaceNormals=function(e,t){Ape(this,!0,e,t)};Go.prototype.removeGeodeticSurfaceNormals=function(e){Ape(this,!1,void 0,e)};Go.prototype.updateExaggeration=function(e,t,n){let i=this,o=i.renderedMesh;if(o===void 0)return;let r=t.terrainExaggeration,s=t.terrainExaggerationRelativeHeight,a=r!==1,c=o.encoding,u=c.exaggeration!==r,f=c.exaggerationRelativeHeight!==s;if(u||f){if(u)if(a&&!c.hasGeodeticSurfaceNormals){let d=e.tilingScheme.ellipsoid;i.addGeodeticSurfaceNormals(d,t)}else!a&&c.hasGeodeticSurfaceNormals&&i.removeGeodeticSurfaceNormals(t);if(c.exaggeration=r,c.exaggerationRelativeHeight=s,n!==void 0){n._tileToUpdateHeights.push(e);let d=e.customData,p=d.length;for(let g=0;g<p;g++){let m=d[g];m.level=-1}}}};function trt(e,t,n){let i=t.getTileDataAvailable(e.x,e.y,e.level);if(!l(i)&&l(e.parent)){let o=e.parent,r=o.data;l(r)&&l(r.terrainData)&&(i=r.terrainData.isChildAvailable(o.x,o.y,e.x,e.y))}i===!1&&(e.data.terrainState=_o.FAILED);for(let o=0,r=n.length;o<r;++o){let s=n.get(o);s.show&&s._createTileImagerySkeletons(e,t)}}function nrt(e,t,n,i,o,r){let s=e.data,a=e.parent;if(s.terrainState===_o.FAILED&&a!==void 0&&(a.data!==void 0&&a.data.terrainData!==void 0&&a.data.terrainData.canUpsample!==!1||Go.processStateMachine(a,t,n,i,o,r,!0)),s.terrainState===_o.FAILED&&irt(s,e,t,n,e.x,e.y,e.level),s.terrainState===_o.UNLOADED&&ort(s,n,e.x,e.y,e.level),s.terrainState===_o.RECEIVED&&srt(s,t,n,e.x,e.y,e.level),s.terrainState===_o.TRANSFORMED&&(art(s,t.context,n,e.x,e.y,e.level,r),s.updateExaggeration(e,t,o)),s.terrainState>=_o.RECEIVED&&s.waterMaskTexture===void 0&&n.hasWaterMask)if(s.terrainData.waterMask!==void 0)lrt(t.context,s);else{let u=s._findAncestorTileWithTerrainData(e);l(u)&&l(u.data.waterMaskTexture)&&(s.waterMaskTexture=u.data.waterMaskTexture,++s.waterMaskTexture.referenceCount,s._computeWaterMaskTranslationAndScale(e,u,s.waterMaskTranslationAndScale))}}function irt(e,t,n,i,o,r,s){let a=t.parent;if(!a){t.state=Fs.FAILED;return}let c=a.data.terrainData,u=a.x,f=a.y,d=a.level;if(!l(c))return;let p=c.upsample(i.tilingScheme,u,f,d,o,r,s);!l(p)||(e.terrainState=_o.RECEIVING,Promise.resolve(p).then(function(g){e.terrainData=g,e.terrainState=_o.RECEIVED}).catch(function(){e.terrainState=_o.FAILED}))}function ort(e,t,n,i,o){function r(c){e.terrainData=c,e.terrainState=_o.RECEIVED,e.request=void 0}function s(c){if(e.request.state===ai.CANCELLED){e.terrainData=void 0,e.terrainState=_o.UNLOADED,e.request=void 0;return}e.terrainState=_o.FAILED,e.request=void 0;let u=`Failed to obtain terrain tile X: ${n} Y: ${i} Level: ${o}. Error message: "${c}"`;t._requestError=jn.reportError(t._requestError,t,t.errorEvent,u,n,i,o),t._requestError.retry&&a()}function a(){let c=new jo({throttle:!1,throttleByServer:!0,type:Kr.TERRAIN});e.request=c;let u=t.requestTileGeometry(n,i,o,c);l(u)?(e.terrainState=_o.RECEIVING,Promise.resolve(u).then(function(f){r(f)}).catch(function(f){s(f)})):(e.terrainState=_o.UNLOADED,e.request=void 0)}a()}var rrt={tilingScheme:void 0,x:0,y:0,level:0,exaggeration:1,exaggerationRelativeHeight:0,throttle:!0};function srt(e,t,n,i,o,r){let s=n.tilingScheme,a=rrt;a.tilingScheme=s,a.x=i,a.y=o,a.level=r,a.exaggeration=t.terrainExaggeration,a.exaggerationRelativeHeight=t.terrainExaggerationRelativeHeight,a.throttle=!0;let u=e.terrainData.createMesh(a);!l(u)||(e.terrainState=_o.TRANSFORMING,Promise.resolve(u).then(function(f){e.mesh=f,e.terrainState=_o.TRANSFORMED}).catch(function(){e.terrainState=_o.FAILED}))}Go._createVertexArrayForMesh=function(e,t){let n=t.vertices,i=ct.createVertexBuffer({context:e,typedArray:n,usage:Le.STATIC_DRAW}),o=t.encoding.getAttributes(i),r=t.indices.indexBuffers||{},s=r[e.id];if(!l(s)||s.isDestroyed()){let a=t.indices;s=ct.createIndexBuffer({context:e,typedArray:a,usage:Le.STATIC_DRAW,indexDatatype:Be.fromSizeInBytes(a.BYTES_PER_ELEMENT)}),s.vertexArrayDestroyable=!1,s.referenceCount=1,r[e.id]=s,t.indices.indexBuffers=r}else++s.referenceCount;return new ti({context:e,attributes:o,indexBuffer:s})};Go._freeVertexArray=function(e){if(l(e)){let t=e.indexBuffer;e.isDestroyed()||e.destroy(),l(t)&&!t.isDestroyed()&&l(t.referenceCount)&&(--t.referenceCount,t.referenceCount===0&&t.destroy())}};function art(e,t,n,i,o,r,s){e.vertexArray=Go._createVertexArrayForMesh(t,e.mesh),e.terrainState=_o.READY,e.fill=e.fill&&e.fill.destroy(s)}function crt(e){let t=e.cache.tile_waterMaskData;if(!l(t)){let n=Ot.create({context:e,pixelFormat:ft.LUMINANCE,pixelDatatype:je.UNSIGNED_BYTE,source:{arrayBufferView:new Uint8Array([255]),width:1,height:1}});n.referenceCount=1;let i=new hn({wrapS:Dn.CLAMP_TO_EDGE,wrapT:Dn.CLAMP_TO_EDGE,minificationFilter:ln.LINEAR,magnificationFilter:Ji.LINEAR});t={allWaterTexture:n,sampler:i,destroy:function(){this.allWaterTexture.destroy()}},e.cache.tile_waterMaskData=t}return t}function lrt(e,t){let n=t.terrainData.waterMask,i=crt(e),o,r=n.length;if(r===1)if(n[0]!==0)o=i.allWaterTexture;else return;else{let s=Math.sqrt(r);o=Ot.create({context:e,pixelFormat:ft.LUMINANCE,pixelDatatype:je.UNSIGNED_BYTE,source:{width:s,height:s,arrayBufferView:n},sampler:i.sampler,flipY:!1}),o.referenceCount=0}++o.referenceCount,t.waterMaskTexture=o,se.fromElements(0,0,1,1,t.waterMaskTranslationAndScale)}Go.prototype._findAncestorTileWithTerrainData=function(e){let t=e.parent;for(;l(t)&&(!l(t.data)||!l(t.data.terrainData)||t.data.terrainData.wasCreatedByUpsampling());)t=t.parent;return t};Go.prototype._computeWaterMaskTranslationAndScale=function(e,t,n){let i=t.rectangle,o=e.rectangle,r=o.width,s=o.height,a=r/i.width,c=s/i.height;return n.x=a*(o.west-i.west)/r,n.y=c*(o.south-i.south)/s,n.z=a,n.w=c,n};var hd=Go;var Dk=`uniform sampler2D u_texture;
  6838. varying vec2 v_textureCoordinates;
  6839. void main()
  6840. {
  6841. gl_FragColor = texture2D(u_texture, v_textureCoordinates);
  6842. }
  6843. `;var Pk=`attribute vec4 position;
  6844. attribute float webMercatorT;
  6845. uniform vec2 u_textureDimensions;
  6846. varying vec2 v_textureCoordinates;
  6847. void main()
  6848. {
  6849. v_textureCoordinates = vec2(position.x, webMercatorT);
  6850. gl_Position = czm_viewportOrthographic * (position * vec4(u_textureDimensions, 1.0, 1.0));
  6851. }
  6852. `;function OE(e,t,n,i,o){if(this.imageryLayer=e,this.x=t,this.y=n,this.level=i,this.request=void 0,i!==0){let r=t/2|0,s=n/2|0,a=i-1;this.parent=e.getImageryFromCache(r,s,a)}this.state=ri.UNLOADED,this.imageUrl=void 0,this.image=void 0,this.texture=void 0,this.textureWebMercator=void 0,this.credits=void 0,this.referenceCount=0,!l(o)&&e.imageryProvider.ready&&(o=e.imageryProvider.tilingScheme.tileXYToRectangle(t,n,i)),this.rectangle=o}OE.createPlaceholder=function(e){let t=new OE(e,0,0,0);return t.addReference(),t.state=ri.PLACEHOLDER,t};OE.prototype.addReference=function(){++this.referenceCount};OE.prototype.releaseReference=function(){return--this.referenceCount,this.referenceCount===0?(this.imageryLayer.removeImageryFromCache(this),l(this.parent)&&this.parent.releaseReference(),l(this.image)&&l(this.image.destroy)&&this.image.destroy(),l(this.texture)&&this.texture.destroy(),l(this.textureWebMercator)&&this.texture!==this.textureWebMercator&&this.textureWebMercator.destroy(),fe(this),0):this.referenceCount};OE.prototype.processStateMachine=function(e,t,n){this.state===ri.UNLOADED&&!n&&(this.state=ri.TRANSITIONING,this.imageryLayer._requestImagery(this)),this.state===ri.RECEIVED&&(this.state=ri.TRANSITIONING,this.imageryLayer._createTexture(e.context,this));let i=this.state===ri.READY&&t&&!this.texture;(this.state===ri.TEXTURE_LOADED||i)&&(this.state=ri.TRANSITIONING,this.imageryLayer._reprojectTexture(e,this,t))};var aD=OE;function Oj(e,t,n){this.readyImagery=void 0,this.loadingImagery=e,this.textureCoordinateRectangle=t,this.textureTranslationAndScale=void 0,this.useWebMercatorT=n}Oj.prototype.freeResources=function(){l(this.readyImagery)&&this.readyImagery.releaseReference(),l(this.loadingImagery)&&this.loadingImagery.releaseReference()};Oj.prototype.processStateMachine=function(e,t,n){let i=this.loadingImagery,o=i.imageryLayer;if(i.processStateMachine(t,!this.useWebMercatorT,n),i.state===ri.READY)return l(this.readyImagery)&&this.readyImagery.releaseReference(),this.readyImagery=this.loadingImagery,this.loadingImagery=void 0,this.textureTranslationAndScale=o._calculateTextureTranslationAndScale(e,this),!0;let r=i.parent,s;for(;l(r)&&(r.state!==ri.READY||!this.useWebMercatorT&&!l(r.texture));)r.state!==ri.FAILED&&r.state!==ri.INVALID&&(s=s||r),r=r.parent;return this.readyImagery!==r&&(l(this.readyImagery)&&this.readyImagery.releaseReference(),this.readyImagery=r,l(r)&&(r.addReference(),this.textureTranslationAndScale=o._calculateTextureTranslationAndScale(e,this))),i.state===ri.FAILED||i.state===ri.INVALID?l(s)?(s.processStateMachine(t,!this.useWebMercatorT,n),!1):!0:!1};var cD=Oj;function Li(e,t){this._imageryProvider=e,t=y(t,y.EMPTY_OBJECT),this.alpha=y(t.alpha,y(e.defaultAlpha,1)),this.nightAlpha=y(t.nightAlpha,y(e.defaultNightAlpha,1)),this.dayAlpha=y(t.dayAlpha,y(e.defaultDayAlpha,1)),this.brightness=y(t.brightness,y(e.defaultBrightness,Li.DEFAULT_BRIGHTNESS)),this.contrast=y(t.contrast,y(e.defaultContrast,Li.DEFAULT_CONTRAST)),this.hue=y(t.hue,y(e.defaultHue,Li.DEFAULT_HUE)),this.saturation=y(t.saturation,y(e.defaultSaturation,Li.DEFAULT_SATURATION)),this.gamma=y(t.gamma,y(e.defaultGamma,Li.DEFAULT_GAMMA)),this.splitDirection=y(t.splitDirection,y(e.defaultSplit,Li.DEFAULT_SPLIT)),this.minificationFilter=y(t.minificationFilter,y(e.defaultMinificationFilter,Li.DEFAULT_MINIFICATION_FILTER)),this.magnificationFilter=y(t.magnificationFilter,y(e.defaultMagnificationFilter,Li.DEFAULT_MAGNIFICATION_FILTER)),this.show=y(t.show,!0),this._minimumTerrainLevel=t.minimumTerrainLevel,this._maximumTerrainLevel=t.maximumTerrainLevel,this._rectangle=y(t.rectangle,ue.MAX_VALUE),this._maximumAnisotropy=t.maximumAnisotropy,this._imageryCache={},this._skeletonPlaceholder=new cD(aD.createPlaceholder(this)),this._show=!0,this._layerIndex=-1,this._isBaseLayer=!1,this._requestImageError=void 0,this._reprojectComputeCommands=[],this.cutoutRectangle=t.cutoutRectangle,this.colorToAlpha=t.colorToAlpha,this.colorToAlphaThreshold=y(t.colorToAlphaThreshold,Li.DEFAULT_APPLY_COLOR_TO_ALPHA_THRESHOLD)}Object.defineProperties(Li.prototype,{imageryProvider:{get:function(){return this._imageryProvider}},rectangle:{get:function(){return this._rectangle}}});Li.DEFAULT_BRIGHTNESS=1;Li.DEFAULT_CONTRAST=1;Li.DEFAULT_HUE=0;Li.DEFAULT_SATURATION=1;Li.DEFAULT_GAMMA=1;Li.DEFAULT_SPLIT=Kc.NONE;Li.DEFAULT_MINIFICATION_FILTER=ln.LINEAR;Li.DEFAULT_MAGNIFICATION_FILTER=Ji.LINEAR;Li.DEFAULT_APPLY_COLOR_TO_ALPHA_THRESHOLD=.004;Li.prototype.isBaseLayer=function(){return this._isBaseLayer};Li.prototype.isDestroyed=function(){return!1};Li.prototype.destroy=function(){return fe(this)};var bpe=new ue,Tpe=new ue,Rj=new ue,Spe=new ue;Li.prototype.getViewableRectangle=function(){let e=this._imageryProvider,t=this._rectangle;return e.readyPromise.then(function(){return ue.intersection(e.rectangle,t)})};Li.prototype._createTileImagerySkeletons=function(e,t,n){let i=e.data;if(l(this._minimumTerrainLevel)&&e.level<this._minimumTerrainLevel||l(this._maximumTerrainLevel)&&e.level>this._maximumTerrainLevel)return!1;let o=this._imageryProvider;if(l(n)||(n=i.imagery.length),!o.ready)return this._skeletonPlaceholder.loadingImagery.addReference(),i.imagery.splice(n,0,this._skeletonPlaceholder),!0;let r=o.tilingScheme.projection instanceof Vi&&e.rectangle.north<Vi.MaximumLatitude&&e.rectangle.south>-Vi.MaximumLatitude,s=ue.intersection(o.rectangle,this._rectangle,bpe),a=ue.intersection(e.rectangle,s,Tpe);if(!l(a)){if(!this.isBaseLayer())return!1;let w=s,D=e.rectangle;a=Tpe,D.south>=w.north?a.north=a.south=w.north:D.north<=w.south?a.north=a.south=w.south:(a.south=Math.max(D.south,w.south),a.north=Math.min(D.north,w.north)),D.west>=w.east?a.west=a.east=w.east:D.east<=w.west?a.west=a.east=w.west:(a.west=Math.max(D.west,w.west),a.east=Math.min(D.east,w.east))}let c=0;a.south>0?c=a.south:a.north<0&&(c=a.north);let f=1*t.getLevelMaximumGeometricError(e.level),d=drt(this,f,c);d=Math.max(0,d);let p=o.maximumLevel;if(d>p&&(d=p),l(o.minimumLevel)){let w=o.minimumLevel;d<w&&(d=w)}let g=o.tilingScheme,m=g.positionToTileXY(ue.northwest(a),d),C=g.positionToTileXY(ue.southeast(a),d),x=e.rectangle.width/512,A=e.rectangle.height/512,b=g.tileXYToRectangle(m.x,m.y,d);Math.abs(b.south-e.rectangle.north)<A&&m.y<C.y&&++m.y,Math.abs(b.east-e.rectangle.west)<x&&m.x<C.x&&++m.x;let E=g.tileXYToRectangle(C.x,C.y,d);Math.abs(E.north-e.rectangle.south)<A&&C.y>m.y&&--C.y,Math.abs(E.west-e.rectangle.east)<x&&C.x>m.x&&--C.x;let S=ue.clone(e.rectangle,Spe),v=g.tileXYToRectangle(m.x,m.y,d),P=ue.intersection(v,s,Rj),O;r?(g.rectangleToNativeRectangle(S,S),g.rectangleToNativeRectangle(v,v),g.rectangleToNativeRectangle(P,P),g.rectangleToNativeRectangle(s,s),O=g.tileXYToNativeRectangle.bind(g),x=S.width/512,A=S.height/512):O=g.tileXYToRectangle.bind(g);let M,B=0,L=1,_;!this.isBaseLayer()&&Math.abs(P.west-S.west)>=x&&(B=Math.min(1,(P.west-S.west)/S.width)),!this.isBaseLayer()&&Math.abs(P.north-S.north)>=A&&(L=Math.max(0,(P.north-S.south)/S.height));let T=L;for(let w=m.x;w<=C.x;w++)if(M=B,v=O(w,m.y,d),P=ue.simpleIntersection(v,s,Rj),!!l(P)){B=Math.min(1,(P.east-S.west)/S.width),w===C.x&&(this.isBaseLayer()||Math.abs(P.east-S.east)<x)&&(B=1),L=T;for(let D=m.y;D<=C.y;D++){if(_=L,v=O(w,D,d),P=ue.simpleIntersection(v,s,Rj),!l(P))continue;L=Math.max(0,(P.south-S.south)/S.height),D===C.y&&(this.isBaseLayer()||Math.abs(P.south-S.south)<A)&&(L=0);let R=new se(M,L,B,_),F=this.getImageryFromCache(w,D,d);i.imagery.splice(n,0,new cD(F,R,r)),++n}}return!0};Li.prototype._calculateTextureTranslationAndScale=function(e,t){let n=t.readyImagery.rectangle,i=e.rectangle;if(t.useWebMercatorT){let c=t.readyImagery.imageryLayer.imageryProvider.tilingScheme;n=c.rectangleToNativeRectangle(n,bpe),i=c.rectangleToNativeRectangle(i,Spe)}let o=i.width,r=i.height,s=o/n.width,a=r/n.height;return new se(s*(i.west-n.west)/o,a*(i.south-n.south)/r,s,a)};Li.prototype._requestImagery=function(e){let t=this._imageryProvider,n=this;function i(s){if(!l(s))return o();e.image=s,e.state=ri.RECEIVED,e.request=void 0,jn.reportSuccess(n._requestImageError)}function o(s){if(e.request.state===ai.CANCELLED){e.state=ri.UNLOADED,e.request=void 0;return}e.state=ri.FAILED,e.request=void 0;let a=`Failed to obtain image tile X: ${e.x} Y: ${e.y} Level: ${e.level}.`;n._requestImageError=jn.reportError(n._requestImageError,t,t.errorEvent,a,e.x,e.y,e.level,s),n._requestImageError.retry&&r()}function r(){let s=new jo({throttle:!1,throttleByServer:!0,type:Kr.IMAGERY});e.request=s,e.state=ri.TRANSITIONING;let a=t.requestImage(e.x,e.y,e.level,s);if(!l(a)){e.state=ri.UNLOADED,e.request=void 0;return}l(t.getTileCredits)&&(e.credits=t.getTileCredits(e.x,e.y,e.level)),a.then(function(c){i(c)}).catch(function(c){o(c)})}r()};Li.prototype._createTextureWebGL=function(e,t){let n=new hn({minificationFilter:this.minificationFilter,magnificationFilter:this.magnificationFilter}),i=t.image;return l(i.internalFormat)?new Ot({context:e,pixelFormat:i.internalFormat,width:i.width,height:i.height,source:{arrayBufferView:i.bufferView},sampler:n}):new Ot({context:e,source:i,pixelFormat:this._imageryProvider.hasAlphaChannel?ft.RGBA:ft.RGB,sampler:n})};Li.prototype._createTexture=function(e,t){let n=this._imageryProvider,i=t.image;if(l(n.tileDiscardPolicy)){let r=n.tileDiscardPolicy;if(l(r)){if(!r.isReady()){t.state=ri.RECEIVED;return}if(r.shouldDiscardImage(i)){t.state=ri.INVALID;return}}}let o=this._createTextureWebGL(e,t);n.tilingScheme.projection instanceof Vi?t.textureWebMercator=o:t.texture=o,t.image=void 0,t.state=ri.TEXTURE_LOADED};function Epe(e,t,n){return`${e}:${t}:${n}`}Li.prototype._finalizeReprojectTexture=function(e,t){let n=this.minificationFilter,i=this.magnificationFilter;if(n===ln.LINEAR&&i===Ji.LINEAR&&!ft.isCompressedFormat(t.pixelFormat)&&I.isPowerOfTwo(t.width)&&I.isPowerOfTwo(t.height)){n=ln.LINEAR_MIPMAP_LINEAR;let r=kt.maximumTextureFilterAnisotropy,s=Math.min(r,y(this._maximumAnisotropy,r)),a=Epe(n,i,s),c=e.cache.imageryLayerMipmapSamplers;l(c)||(c={},e.cache.imageryLayerMipmapSamplers=c);let u=c[a];l(u)||(u=c[a]=new hn({wrapS:Dn.CLAMP_TO_EDGE,wrapT:Dn.CLAMP_TO_EDGE,minificationFilter:n,magnificationFilter:i,maximumAnisotropy:s})),t.generateMipmap(xm.NICEST),t.sampler=u}else{let r=Epe(n,i,0),s=e.cache.imageryLayerNonMipmapSamplers;l(s)||(s={},e.cache.imageryLayerNonMipmapSamplers=s);let a=s[r];l(a)||(a=s[r]=new hn({wrapS:Dn.CLAMP_TO_EDGE,wrapT:Dn.CLAMP_TO_EDGE,minificationFilter:n,magnificationFilter:i})),t.sampler=a}};Li.prototype._reprojectTexture=function(e,t,n){let i=t.textureWebMercator||t.texture,o=t.rectangle,r=e.context;if(n=y(n,!0),n&&!(this._imageryProvider.tilingScheme.projection instanceof xi)&&o.width/i.width>1e-5){let s=this;t.addReference();let a=new bf({persists:!0,owner:this,preExecute:function(c){frt(c,r,i,t.rectangle)},postExecute:function(c){t.texture=c,s._finalizeReprojectTexture(r,c),t.state=ri.READY,t.releaseReference()},canceled:function(){t.state=ri.TEXTURE_LOADED,t.releaseReference()}});this._reprojectComputeCommands.push(a)}else n&&(t.texture=i),this._finalizeReprojectTexture(r,i),t.state=ri.READY};Li.prototype.queueReprojectionCommands=function(e){let t=this._reprojectComputeCommands,n=t.length;for(let i=0;i<n;++i)e.commandList.push(t[i]);t.length=0};Li.prototype.cancelReprojections=function(){this._reprojectComputeCommands.forEach(function(e){l(e.canceled)&&e.canceled()}),this._reprojectComputeCommands.length=0};Li.prototype.getImageryFromCache=function(e,t,n,i){let o=wpe(e,t,n),r=this._imageryCache[o];return l(r)||(r=new aD(this,e,t,n,i),this._imageryCache[o]=r),r.addReference(),r};Li.prototype.removeImageryFromCache=function(e){let t=wpe(e.x,e.y,e.level);delete this._imageryCache[t]};function wpe(e,t,n){return JSON.stringify([e,t,n])}var Ik={u_textureDimensions:function(){return this.textureDimensions},u_texture:function(){return this.texture},textureDimensions:new G,texture:void 0},urt=Mt.supportsTypedArrays()?new Float32Array(2*64):void 0;function frt(e,t,n,i){let o=t.cache.imageryLayer_reproject;if(!l(o)){o=t.cache.imageryLayer_reproject={vertexArray:void 0,shaderProgram:void 0,sampler:void 0,destroy:function(){l(this.framebuffer)&&this.framebuffer.destroy(),l(this.vertexArray)&&this.vertexArray.destroy(),l(this.shaderProgram)&&this.shaderProgram.destroy()}};let x=new Float32Array(2*64*2),A=0;for(let P=0;P<64;++P){let O=P/63;x[A++]=0,x[A++]=O,x[A++]=1,x[A++]=O}let b={position:0,webMercatorT:1},E=kr.getRegularGridIndices(2,64),S=ct.createIndexBuffer({context:t,typedArray:E,usage:Le.STATIC_DRAW,indexDatatype:Be.UNSIGNED_SHORT});o.vertexArray=new ti({context:t,attributes:[{index:b.position,vertexBuffer:ct.createVertexBuffer({context:t,typedArray:x,usage:Le.STATIC_DRAW}),componentsPerAttribute:2},{index:b.webMercatorT,vertexBuffer:ct.createVertexBuffer({context:t,sizeInBytes:64*2*4,usage:Le.STREAM_DRAW}),componentsPerAttribute:1}],indexBuffer:S});let v=new ke({sources:[Pk]});o.shaderProgram=Yt.fromCache({context:t,vertexShaderSource:v,fragmentShaderSource:Dk,attributeLocations:b}),o.sampler=new hn({wrapS:Dn.CLAMP_TO_EDGE,wrapT:Dn.CLAMP_TO_EDGE,minificationFilter:ln.LINEAR,magnificationFilter:Ji.LINEAR})}n.sampler=o.sampler;let r=n.width,s=n.height;Ik.textureDimensions.x=r,Ik.textureDimensions.y=s,Ik.texture=n;let a=Math.sin(i.south),c=.5*Math.log((1+a)/(1-a));a=Math.sin(i.north);let u=.5*Math.log((1+a)/(1-a)),f=1/(u-c),d=new Ot({context:t,width:r,height:s,pixelFormat:n.pixelFormat,pixelDatatype:n.pixelDatatype,preMultiplyAlpha:n.preMultiplyAlpha});I.isPowerOfTwo(r)&&I.isPowerOfTwo(s)&&d.generateMipmap(xm.NICEST);let p=i.south,g=i.north,m=urt,C=0;for(let x=0;x<64;++x){let A=x/63,b=I.lerp(p,g,A);a=Math.sin(b);let S=(.5*Math.log((1+a)/(1-a))-c)*f;m[C++]=S,m[C++]=S}o.vertexArray.getAttribute(1).vertexBuffer.copyFromArrayView(m),e.shaderProgram=o.shaderProgram,e.outputTexture=d,e.uniformMap=Ik,e.vertexArray=o.vertexArray}function drt(e,t,n){let i=e._imageryProvider,o=i.tilingScheme,r=o.ellipsoid,s=e._imageryProvider.tilingScheme.projection instanceof xi?1:Math.cos(n),a=o.rectangle,u=r.maximumRadius*a.width*s/(i.tileWidth*o.getNumberOfXTilesAtLevel(0))/t,f=Math.log(u)/Math.log(2);return Math.round(f)|0}var Zu=Li;var vpe={NONE:0,CULLED:1,RENDERED:2,REFINED:3,RENDERED_AND_KICKED:6,REFINED_AND_KICKED:7,CULLED_BUT_NEEDED:9,wasKicked:function(e){return e>=vpe.RENDERED_AND_KICKED},originalResult:function(e){return e&3},kick:function(e){return e|4}},Kn=vpe;function ME(e){this.tile=e,this.frameLastUpdated=void 0,this.westMeshes=[],this.westTiles=[],this.southMeshes=[],this.southTiles=[],this.eastMeshes=[],this.eastTiles=[],this.northMeshes=[],this.northTiles=[],this.southwestMesh=void 0,this.southwestTile=void 0,this.southeastMesh=void 0,this.southeastTile=void 0,this.northwestMesh=void 0,this.northwestTile=void 0,this.northeastMesh=void 0,this.northeastTile=void 0,this.changedThisFrame=!0,this.visitedFrame=void 0,this.enqueuedFrame=void 0,this.mesh=void 0,this.vertexArray=void 0,this.waterMaskTexture=void 0,this.waterMaskTranslationAndScale=new se}ME.prototype.update=function(e,t,n){this.changedThisFrame&&(Bpe(e,t,this.tile,n),this.changedThisFrame=!1)};ME.prototype.destroy=function(e){this._destroyVertexArray(e),l(this.waterMaskTexture)&&(--this.waterMaskTexture.referenceCount,this.waterMaskTexture.referenceCount===0&&this.waterMaskTexture.destroy(),this.waterMaskTexture=void 0)};ME.prototype._destroyVertexArray=function(e){l(this.vertexArray)&&(l(e)?e.push(this.vertexArray):hd._freeVertexArray(this.vertexArray),this.vertexArray=void 0)};var hrt=new k0;ME.updateFillTiles=function(e,t,n,i){let o=e._quadtree,r=o._levelZeroTiles,s=o._lastSelectionFrameNumber,a=hrt;a.clear();for(let u=0;u<t.length;++u){let f=t[u];l(f.data.vertexArray)&&a.enqueue(t[u])}let c=a.dequeue();for(;c!==void 0;){let u=c.findTileToWest(r),f=c.findTileToSouth(r),d=c.findTileToEast(r),p=c.findTileToNorth(r);ns(e,n,c,u,s,un.EAST,!1,a,i),ns(e,n,c,f,s,un.NORTH,!1,a,i),ns(e,n,c,d,s,un.WEST,!1,a,i),ns(e,n,c,p,s,un.SOUTH,!1,a,i);let g=u.findTileToNorth(r),m=u.findTileToSouth(r),C=d.findTileToNorth(r),x=d.findTileToSouth(r);ns(e,n,c,g,s,un.SOUTHEAST,!1,a,i),ns(e,n,c,C,s,un.SOUTHWEST,!1,a,i),ns(e,n,c,m,s,un.NORTHEAST,!1,a,i),ns(e,n,c,x,s,un.NORTHWEST,!1,a,i),c=a.dequeue()}};function ns(e,t,n,i,o,r,s,a,c){if(i===void 0)return;let u=i;for(;u&&(u._lastSelectionResultFrame!==o||Kn.wasKicked(u._lastSelectionResult)||Kn.originalResult(u._lastSelectionResult)===Kn.CULLED);){if(s)return;let f=u.parent;if(r>=un.NORTHWEST&&f!==void 0)switch(r){case un.NORTHWEST:u=u===f.northwestChild?f:void 0;break;case un.NORTHEAST:u=u===f.northeastChild?f:void 0;break;case un.SOUTHWEST:u=u===f.southwestChild?f:void 0;break;case un.SOUTHEAST:u=u===f.southeastChild?f:void 0;break}else u=f}if(u!==void 0){if(u._lastSelectionResult===Kn.RENDERED){if(l(u.data.vertexArray))return;mrt(e,t,n,u,r,o,a,c);return}if(Kn.originalResult(i._lastSelectionResult)!==Kn.CULLED)switch(r){case un.WEST:ns(e,t,n,i.northwestChild,o,r,!0,a,c),ns(e,t,n,i.southwestChild,o,r,!0,a,c);break;case un.EAST:ns(e,t,n,i.southeastChild,o,r,!0,a,c),ns(e,t,n,i.northeastChild,o,r,!0,a,c);break;case un.SOUTH:ns(e,t,n,i.southwestChild,o,r,!0,a,c),ns(e,t,n,i.southeastChild,o,r,!0,a,c);break;case un.NORTH:ns(e,t,n,i.northeastChild,o,r,!0,a,c),ns(e,t,n,i.northwestChild,o,r,!0,a,c);break;case un.NORTHWEST:ns(e,t,n,i.northwestChild,o,r,!0,a,c);break;case un.NORTHEAST:ns(e,t,n,i.northeastChild,o,r,!0,a,c);break;case un.SOUTHWEST:ns(e,t,n,i.southwestChild,o,r,!0,a,c);break;case un.SOUTHEAST:ns(e,t,n,i.southeastChild,o,r,!0,a,c);break;default:throw new ye("Invalid edge")}}}function mrt(e,t,n,i,o,r,s,a){let c=i.data;if(c.fill===void 0)c.fill=new ME(i);else if(c.fill.visitedFrame===r)return;c.fill.enqueuedFrame!==r&&(c.fill.enqueuedFrame=r,c.fill.changedThisFrame=!1,s.enqueue(i)),prt(e,t,n,i,o,a)}function prt(e,t,n,i,o,r){let s=i.data.fill,a,c=n.data.fill;l(c)?(c.visitedFrame=t.frameNumber,c.changedThisFrame&&(Bpe(e,t,n,r),c.changedThisFrame=!1),a=n.data.fill.mesh):a=n.data.mesh;let u,f;switch(o){case un.WEST:u=s.westMeshes,f=s.westTiles;break;case un.SOUTH:u=s.southMeshes,f=s.southTiles;break;case un.EAST:u=s.eastMeshes,f=s.eastTiles;break;case un.NORTH:u=s.northMeshes,f=s.northTiles;break;case un.NORTHWEST:s.changedThisFrame=s.changedThisFrame||s.northwestMesh!==a,s.northwestMesh=a,s.northwestTile=n;return;case un.NORTHEAST:s.changedThisFrame=s.changedThisFrame||s.northeastMesh!==a,s.northeastMesh=a,s.northeastTile=n;return;case un.SOUTHWEST:s.changedThisFrame=s.changedThisFrame||s.southwestMesh!==a,s.southwestMesh=a,s.southwestTile=n;return;case un.SOUTHEAST:s.changedThisFrame=s.changedThisFrame||s.southeastMesh!==a,s.southeastMesh=a,s.southeastTile=n;return}if(n.level<=i.level){s.changedThisFrame=s.changedThisFrame||u[0]!==a||u.length!==1,u[0]=a,f[0]=n,u.length=1,f.length=1;return}let d,p,g,m,C=n.rectangle,x,A=i.rectangle;switch(o){case un.WEST:for(x=(A.north-A.south)*I.EPSILON5,d=0;d<f.length&&(g=f[d],m=g.rectangle,!I.greaterThan(C.north,m.south,x));++d);for(p=d;p<f.length&&(g=f[p],m=g.rectangle,!I.greaterThanOrEquals(C.south,m.north,x));++p);break;case un.SOUTH:for(x=(A.east-A.west)*I.EPSILON5,d=0;d<f.length&&(g=f[d],m=g.rectangle,!I.lessThan(C.west,m.east,x));++d);for(p=d;p<f.length&&(g=f[p],m=g.rectangle,!I.lessThanOrEquals(C.east,m.west,x));++p);break;case un.EAST:for(x=(A.north-A.south)*I.EPSILON5,d=0;d<f.length&&(g=f[d],m=g.rectangle,!I.lessThan(C.south,m.north,x));++d);for(p=d;p<f.length&&(g=f[p],m=g.rectangle,!I.lessThanOrEquals(C.north,m.south,x));++p);break;case un.NORTH:for(x=(A.east-A.west)*I.EPSILON5,d=0;d<f.length&&(g=f[d],m=g.rectangle,!I.greaterThan(C.east,m.west,x));++d);for(p=d;p<f.length&&(g=f[p],m=g.rectangle,!I.greaterThanOrEquals(C.west,m.east,x));++p);break}p-d===1?(s.changedThisFrame=s.changedThisFrame||u[d]!==a,u[d]=a,f[d]=n):(s.changedThisFrame=!0,u.splice(d,p-d,a),f.splice(d,p-d,n))}var hC=new he,_rt=new he,RE=new h,Nj=new h,Mj=new G,Bj=new G,Xl=new G;function Fk(){this.height=0,this.encodedNormal=new G}function Ok(e,t,n,i,o,r,s,a,c){if(l(o))return o;let u;if(l(r)&&l(s))u=(r.height+s.height)*.5;else if(l(r))u=r.height;else if(l(s))u=s.height;else if(l(a))u=a.height;else{let d=e.tile.data.tileBoundingRegion,p=0,g=0;l(d)&&(p=d.minimumHeight,g=d.maximumHeight),u=(p+g)*.5}return Lpe(e,t,n,i,u,c),c}var grt={minimumHeight:0,maximumHeight:0},yrt=new h,Dpe=new Fk,Ppe=new Fk,Ipe=new Fk,Ope=new Fk,Crt=typeof Uint8Array<"u"?new Uint8Array(9*9):void 0,xrt={tilingScheme:void 0,x:0,y:0,level:0,exaggeration:1,exaggerationRelativeHeight:0};function Bpe(e,t,n,i){hd.initialize(n,e.terrainProvider,e._imageryLayers);let o=n.data,r=o.fill,s=n.rectangle,a=t.terrainExaggeration,c=t.terrainExaggerationRelativeHeight,u=a!==1,f=n.tilingScheme.ellipsoid,d=Mk(r,f,0,1,r.northwestTile,r.northwestMesh,r.northTiles,r.northMeshes,r.westTiles,r.westMeshes,Ipe),p=Mk(r,f,0,0,r.southwestTile,r.southwestMesh,r.westTiles,r.westMeshes,r.southTiles,r.southMeshes,Dpe),g=Mk(r,f,1,0,r.southeastTile,r.southeastMesh,r.southTiles,r.southMeshes,r.eastTiles,r.eastMeshes,Ppe),m=Mk(r,f,1,1,r.northeastTile,r.northeastMesh,r.eastTiles,r.eastMeshes,r.northTiles,r.northMeshes,Ope);d=Ok(r,f,0,1,d,p,m,g,Ipe),p=Ok(r,f,0,0,p,d,g,m,Dpe),g=Ok(r,f,1,1,g,p,m,d,Ppe),m=Ok(r,f,1,1,m,g,d,p,Ope);let C=p.height,x=g.height,A=d.height,b=m.height,E=Math.min(C,x,A,b),S=Math.max(C,x,A,b),v=(E+S)*.5,P,O,M=e.getLevelMaximumGeometricError(n.level),B=f.maximumRadius-M,L=Math.acos(B/f.maximumRadius)*4;if(L*=1.5,s.width>L&&S-E<=M){let w=new ma({width:9,height:9,buffer:Crt,structure:{heightOffset:S}}),D=xrt;D.tilingScheme=n.tilingScheme,D.x=n.x,D.y=n.y,D.level=n.level,D.exaggeration=a,D.exaggerationRelativeHeight=c,r.mesh=w._createMeshSync(D)}else{let w=u,D=ue.center(s,_rt);D.height=v;let R=f.cartographicToCartesian(D,yrt),F=new Ka(R,void 0,void 0,void 0,void 0,!0,!0,w,a,c),z=5,k;for(k=r.westMeshes,P=0,O=k.length;P<O;++P)z+=k[P].eastIndicesNorthToSouth.length;for(k=r.southMeshes,P=0,O=k.length;P<O;++P)z+=k[P].northIndicesWestToEast.length;for(k=r.eastMeshes,P=0,O=k.length;P<O;++P)z+=k[P].westIndicesSouthToNorth.length;for(k=r.northMeshes,P=0,O=k.length;P<O;++P)z+=k[P].southIndicesEastToWest.length;let H=grt;H.minimumHeight=E,H.maximumHeight=S;let V=F.stride,Y=new Float32Array(z*V),q=0,X=q;q=Rk(f,s,F,Y,q,0,1,d.height,d.encodedNormal,1,H),q=Lk(r,f,F,Y,q,r.westTiles,r.westMeshes,un.EAST,H);let W=q;q=Rk(f,s,F,Y,q,0,0,p.height,p.encodedNormal,0,H),q=Lk(r,f,F,Y,q,r.southTiles,r.southMeshes,un.NORTH,H);let K=q;q=Rk(f,s,F,Y,q,1,0,g.height,g.encodedNormal,0,H),q=Lk(r,f,F,Y,q,r.eastTiles,r.eastMeshes,un.WEST,H);let $=q;q=Rk(f,s,F,Y,q,1,1,m.height,m.encodedNormal,1,H),q=Lk(r,f,F,Y,q,r.northTiles,r.northMeshes,un.SOUTH,H),E=H.minimumHeight,S=H.maximumHeight;let le=pi.fromRectangle(s,E,S,n.tilingScheme.ellipsoid),me=Vi.geodeticLatitudeToMercatorAngle(s.south),ie=1/(Vi.geodeticLatitudeToMercatorAngle(s.north)-me),ce=(Vi.geodeticLatitudeToMercatorAngle(D.latitude)-me)*ie,pe=f.geodeticSurfaceNormalCartographic(hC,Nj),Ae=kn.octEncode(pe,Mj),we=q;F.encode(Y,q*V,le.center,G.fromElements(.5,.5,Xl),v,Ae,ce,pe),++q;let Re=q,Ue=Re<256?1:2,bt=(Re-1)*3,Ut=bt*Ue,sn=(Y.length-Re*V)*Float32Array.BYTES_PER_ELEMENT,dt;if(sn>=Ut){let Se=Re*V*Float32Array.BYTES_PER_ELEMENT;dt=Re<256?new Uint8Array(Y.buffer,Se,bt):new Uint16Array(Y.buffer,Se,bt)}else dt=Re<256?new Uint8Array(bt):new Uint16Array(bt);Y=new Float32Array(Y.buffer,0,Re*V);let vn=0;for(P=0;P<Re-2;++P)dt[vn++]=we,dt[vn++]=P,dt[vn++]=P+1;dt[vn++]=we,dt[vn++]=P,dt[vn++]=0;let Jn=[];for(P=W;P>=X;--P)Jn.push(P);let ot=[];for(P=K;P>=W;--P)ot.push(P);let zt=[];for(P=$;P>=K;--P)zt.push(P);let qn=[];for(qn.push(0),P=we-1;P>=$;--P)qn.push(P);r.mesh=new ff(F.center,Y,dt,bt,Re,E,S,re.fromOrientedBoundingBox(le),vrt(e,le.center,s,E,S),F.stride,le,F,Jn,ot,zt,qn)}let _=t.context;r._destroyVertexArray(i),r.vertexArray=hd._createVertexArrayForMesh(_,r.mesh),o.processImagery(n,e.terrainProvider,t,!0);let T=r.waterMaskTexture;if(r.waterMaskTexture=void 0,e.terrainProvider.hasWaterMask){let w=o._findAncestorTileWithTerrainData(n);l(w)&&l(w.data.waterMaskTexture)&&(r.waterMaskTexture=w.data.waterMaskTexture,++r.waterMaskTexture.referenceCount,o._computeWaterMaskTranslationAndScale(n,w,r.waterMaskTranslationAndScale))}l(T)&&(--T.referenceCount,T.referenceCount===0&&T.destroy())}function Rk(e,t,n,i,o,r,s,a,c,u,f){let d=hC;d.longitude=I.lerp(t.west,t.east,r),d.latitude=I.lerp(t.south,t.north,s),d.height=a;let p=e.cartographicToCartesian(d,RE),g;n.hasGeodeticSurfaceNormals&&(g=e.geodeticSurfaceNormal(p,Nj));let m=Bj;return m.x=r,m.y=s,n.encode(i,o*n.stride,p,m,a,c,u,g),f.minimumHeight=Math.min(f.minimumHeight,a),f.maximumHeight=Math.max(f.maximumHeight,a),o+1}var Nk=new ue;function lD(e,t,n,i){let o=e.rectangle,r=t.rectangle;t.x===0&&n.x===1&&e.x===e.tilingScheme.getNumberOfXTilesAtLevel(e.level)-1?(o=ue.clone(e.rectangle,Nk),o.west-=I.TWO_PI,o.east-=I.TWO_PI):e.x===0&&n.x===0&&t.x===t.tilingScheme.getNumberOfXTilesAtLevel(t.level)-1&&(o=ue.clone(e.rectangle,Nk),o.west+=I.TWO_PI,o.east+=I.TWO_PI);let s=o.east-o.west,a=(r.west-o.west)/s,c=(r.east-o.west)/s,u=o.north-o.south,f=(r.south-o.south)/u,d=(r.north-o.south)/u,p=(n.x-a)/(c-a),g=(n.y-f)/(d-f);return Math.abs(p)<Math.EPSILON5?p=0:Math.abs(p-1)<Math.EPSILON5&&(p=1),Math.abs(g)<Math.EPSILON5?g=0:Math.abs(g-1)<Math.EPSILON5&&(g=1),i.x=p,i.y=g,i}var Art=new G;function Lj(e,t,n,i,o){let r=e.encoding,s=e.vertices;if(o.height=r.decodeHeight(s,t),r.hasVertexNormals)r.getOctEncodedNormal(s,t,o.encodedNormal);else{let a=o.encodedNormal;a.x=0,a.y=0}}var Trt=new G,Ert=new h;function brt(e,t,n,i,o,r,s,a,c,u){let f=i.encoding,d=i.vertices,p=lD(t,n,f.decodeTextureCoordinates(d,o,Xl),Xl),g=lD(t,n,f.decodeTextureCoordinates(d,r,Bj),Bj),m;c?m=(s-p.x)/(g.x-p.x):m=(a-p.y)/(g.y-p.y);let C=f.decodeHeight(d,o),x=f.decodeHeight(d,r),A=n.rectangle;hC.longitude=I.lerp(A.west,A.east,s),hC.latitude=I.lerp(A.south,A.north,a),u.height=hC.height=I.lerp(C,x,m);let b;if(f.hasVertexNormals){let E=f.getOctEncodedNormal(d,o,Art),S=f.getOctEncodedNormal(d,r,Trt),v=kn.octDecode(E.x,E.y,RE),P=kn.octDecode(S.x,S.y,Ert);b=h.lerp(v,P,m,RE),h.normalize(b,b),kn.octEncode(b,u.encodedNormal)}else b=e.geodeticSurfaceNormalCartographic(hC,RE),kn.octEncode(b,u.encodedNormal)}function Lpe(e,t,n,i,o,r){r.height=o;let s=t.geodeticSurfaceNormalCartographic(hC,RE);kn.octEncode(s,r.encodedNormal)}function Mk(e,t,n,i,o,r,s,a,c,u,f){if(Mpe(e,t,a,s,!1,n,i,f)||Mpe(e,t,u,c,!0,n,i,f))return f;let p;if(Fj(o,r))return n===0?i===0?p=r.eastIndicesNorthToSouth[0]:p=r.southIndicesEastToWest[0]:i===0?p=r.northIndicesWestToEast[0]:p=r.westIndicesSouthToNorth[0],Lj(r,p,n,i,f),f;let g;if(n===0?i===0?g=Bk(e.westMeshes,e.westTiles,un.EAST,e.southMeshes,e.southTiles,un.NORTH,n,i):g=Bk(e.northMeshes,e.northTiles,un.SOUTH,e.westMeshes,e.westTiles,un.EAST,n,i):i===0?g=Bk(e.southMeshes,e.southTiles,un.NORTH,e.eastMeshes,e.eastTiles,un.WEST,n,i):g=Bk(e.eastMeshes,e.eastTiles,un.WEST,e.northMeshes,e.northTiles,un.SOUTH,n,i),l(g))return Lpe(e,t,n,i,g,f),f}function Bk(e,t,n,i,o,r,s,a){let c=Rpe(e,t,!1,n,s,a),u=Rpe(i,o,!0,r,s,a);return l(c)&&l(u)?(c+u)*.5:l(c)?c:u}function Lk(e,t,n,i,o,r,s,a,c){for(let u=0;u<r.length;++u)o=Srt(e,t,n,i,o,r[u],s[u],a,c);return o}function Srt(e,t,n,i,o,r,s,a,c){let u=r.rectangle;a===un.EAST&&e.tile.x===0?(u=ue.clone(r.rectangle,Nk),u.west-=I.TWO_PI,u.east-=I.TWO_PI):a===un.WEST&&r.x===0&&(u=ue.clone(r.rectangle,Nk),u.west+=I.TWO_PI,u.east+=I.TWO_PI);let f=e.tile.rectangle,d,p;o>0&&(n.decodeTextureCoordinates(i,o-1,Xl),d=Xl.x,p=Xl.y);let g,m;switch(a){case un.WEST:g=s.westIndicesSouthToNorth,m=!1;break;case un.NORTH:g=s.northIndicesWestToEast,m=!0;break;case un.EAST:g=s.eastIndicesNorthToSouth,m=!1;break;case un.SOUTH:g=s.southIndicesEastToWest,m=!0;break}let C=r,x=e.tile,A=s.encoding,b=s.vertices,E=n.stride,S,v;A.hasWebMercatorT&&(S=Vi.geodeticLatitudeToMercatorAngle(f.south),v=1/(Vi.geodeticLatitudeToMercatorAngle(f.north)-S));for(let P=0;P<g.length;++P){let O=g[P],M=A.decodeTextureCoordinates(b,O,Xl);lD(C,x,M,M);let B=M.x,L=M.y,_=m?B:L;if(_<0||_>1||Math.abs(B-d)<I.EPSILON5&&Math.abs(L-p)<I.EPSILON5)continue;let T=Math.abs(B)<I.EPSILON5||Math.abs(B-1)<I.EPSILON5,w=Math.abs(L)<I.EPSILON5||Math.abs(L-1)<I.EPSILON5;if(T&&w)continue;let D=A.decodePosition(b,O,RE),R=A.decodeHeight(b,O),F;A.hasVertexNormals?F=A.getOctEncodedNormal(b,O,Mj):(F=Mj,F.x=0,F.y=0);let z=L;if(A.hasWebMercatorT){let H=I.lerp(f.south,f.north,L);z=(Vi.geodeticLatitudeToMercatorAngle(H)-S)*v}let k;n.hasGeodeticSurfaceNormals&&(k=t.geodeticSurfaceNormal(D,Nj)),n.encode(i,o*E,D,M,R,F,z,k),c.minimumHeight=Math.min(c.minimumHeight,R),c.maximumHeight=Math.max(c.maximumHeight,R),++o}return o}function Rpe(e,t,n,i,o,r){let s,a,c;n?(s=0,a=e.length,c=1):(s=e.length-1,a=-1,c=-1);for(let u=s;u!==a;u+=c){let f=e[u],d=t[u];if(!Fj(d,f))continue;let p;switch(i){case un.WEST:p=f.westIndicesSouthToNorth;break;case un.SOUTH:p=f.southIndicesEastToWest;break;case un.EAST:p=f.eastIndicesNorthToSouth;break;case un.NORTH:p=f.northIndicesWestToEast;break}let g=p[n?0:p.length-1];if(l(g))return f.encoding.decodeHeight(f.vertices,g)}}function Fj(e,t){return l(t)&&(!l(e.data.fill)||!e.data.fill.changedThisFrame)}function Mpe(e,t,n,i,o,r,s,a){let c,u,f,d,p,g=i[o?0:n.length-1],m=n[o?0:n.length-1];if(Fj(g,m)&&(r===0?s===0?(c=o?m.northIndicesWestToEast:m.eastIndicesNorthToSouth,u=o,f=o):(c=o?m.eastIndicesNorthToSouth:m.southIndicesEastToWest,u=!o,f=!1):s===0?(c=o?m.westIndicesSouthToNorth:m.northIndicesWestToEast,u=!o,f=!0):(c=o?m.southIndicesEastToWest:m.westIndicesSouthToNorth,u=o,f=!o),c.length>0)){d=o?0:c.length-1,p=c[d],m.encoding.decodeTextureCoordinates(m.vertices,p,Xl);let C=lD(g,e.tile,Xl,Xl);if(C.x===r&&C.y===s)return Lj(m,p,r,s,a),!0;if(d=Yo(c,u?r:s,function(x,A){m.encoding.decodeTextureCoordinates(m.vertices,x,Xl);let b=lD(g,e.tile,Xl,Xl);return f?u?b.x-r:b.y-s:u?r-b.x:s-b.y}),d<0){if(d=~d,d>0&&d<c.length)return brt(t,g,e.tile,m,c[d-1],c[d],r,s,u,a),!0}else return Lj(m,c[d],r,s,a),!0}return!1}var wrt=[new h,new h,new h,new h];function vrt(e,t,n,i,o,r){let s=e.quadtree._occluders.ellipsoid,a=s.ellipsoid,c=wrt;return h.fromRadians(n.west,n.south,o,a,c[0]),h.fromRadians(n.east,n.south,o,a,c[1]),h.fromRadians(n.west,n.north,o,a,c[2]),h.fromRadians(n.east,n.north,o,a,c[3]),s.computeHorizonCullingPointPossiblyUnderEllipsoid(t,c,i,r)}var uD=ME;function Wo(e){this.lightingFadeOutDistance=65e5,this.lightingFadeInDistance=9e6,this.hasWaterMask=!1,this.oceanNormalMap=void 0,this.zoomedOutOceanSpecularIntensity=.5,this.enableLighting=!1,this.dynamicAtmosphereLighting=!1,this.dynamicAtmosphereLightingFromSun=!1,this.showGroundAtmosphere=!1,this.shadows=mn.RECEIVE_ONLY,this.fillHighlightColor=void 0,this.hueShift=0,this.saturationShift=0,this.brightnessShift=0,this.showSkirts=!0,this.backFaceCulling=!0,this.undergroundColor=void 0,this.undergroundColorAlphaByDistance=void 0,this.lambertDiffuseMultiplier=0,this.materialUniformMap=void 0,this._materialUniformMap=void 0,this._quadtree=void 0,this._terrainProvider=e.terrainProvider,this._imageryLayers=e.imageryLayers,this._surfaceShaderSet=e.surfaceShaderSet,this._renderState=void 0,this._blendRenderState=void 0,this._disableCullingRenderState=void 0,this._disableCullingBlendRenderState=void 0,this._errorEvent=new ge,this._imageryLayers.layerAdded.addEventListener(Wo.prototype._onLayerAdded,this),this._imageryLayers.layerRemoved.addEventListener(Wo.prototype._onLayerRemoved,this),this._imageryLayers.layerMoved.addEventListener(Wo.prototype._onLayerMoved,this),this._imageryLayers.layerShownOrHidden.addEventListener(Wo.prototype._onLayerShownOrHidden,this),this._imageryLayersUpdatedEvent=new ge,this._layerOrderChanged=!1,this._tilesToRenderByTextureCount=[],this._drawCommands=[],this._uniformMaps=[],this._usedDrawCommands=0,this._vertexArraysToDestroy=[],this._debug={wireframe:!1,boundingSphereTile:void 0},this._baseColor=void 0,this._firstPassInitialColor=void 0,this.baseColor=new U(0,0,.5,1),this._clippingPlanes=void 0,this.cartographicLimitRectangle=ue.clone(ue.MAX_VALUE),this._hasLoadedTilesThisFrame=!1,this._hasFillTilesThisFrame=!1,this._oldTerrainExaggeration=void 0,this._oldTerrainExaggerationRelativeHeight=void 0}Object.defineProperties(Wo.prototype,{baseColor:{get:function(){return this._baseColor},set:function(e){this._baseColor=e,this._firstPassInitialColor=se.fromColor(e,this._firstPassInitialColor)}},quadtree:{get:function(){return this._quadtree},set:function(e){this._quadtree=e}},ready:{get:function(){return this._terrainProvider.ready&&(this._imageryLayers.length===0||this._imageryLayers.get(0).imageryProvider.ready)}},tilingScheme:{get:function(){return this._terrainProvider.tilingScheme}},errorEvent:{get:function(){return this._errorEvent}},imageryLayersUpdatedEvent:{get:function(){return this._imageryLayersUpdatedEvent}},terrainProvider:{get:function(){return this._terrainProvider},set:function(e){this._terrainProvider!==e&&(this._terrainProvider=e,l(this._quadtree)&&this._quadtree.invalidateAllTiles())}},clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){Zs.setOwner(e,this,"_clippingPlanes")}}});function Drt(e,t){let n=e.loadingImagery;l(n)||(n=e.readyImagery);let i=t.loadingImagery;return l(i)||(i=t.readyImagery),n.imageryLayer._layerIndex-i.imageryLayer._layerIndex}Wo.prototype.update=function(e){this._imageryLayers._update()};function Prt(e,t){let n=t.creditDisplay;e._terrainProvider.ready&&l(e._terrainProvider.credit)&&n.addCredit(e._terrainProvider.credit);let i=e._imageryLayers;for(let o=0,r=i.length;o<r;++o){let s=i.get(o).imageryProvider;s.ready&&l(s.credit)&&n.addCredit(s.credit)}}Wo.prototype.initialize=function(e){this._imageryLayers.queueReprojectionCommands(e),this._layerOrderChanged&&(this._layerOrderChanged=!1,this._quadtree.forEachLoadedTile(function(i){i.data.imagery.sort(Drt)})),Prt(this,e);let t=this._vertexArraysToDestroy,n=t.length;for(let i=0;i<n;++i)hd._freeVertexArray(t[i]);t.length=0};Wo.prototype.beginUpdate=function(e){let t=this._tilesToRenderByTextureCount;for(let i=0,o=t.length;i<o;++i){let r=t[i];l(r)&&(r.length=0)}let n=this._clippingPlanes;l(n)&&n.enabled&&n.update(e),this._usedDrawCommands=0,this._hasLoadedTilesThisFrame=!1,this._hasFillTilesThisFrame=!1};Wo.prototype.endUpdate=function(e){if(!l(this._renderState)){this._renderState=Fe.fromCache({cull:{enabled:!0},depthTest:{enabled:!0,func:ac.LESS}}),this._blendRenderState=Fe.fromCache({cull:{enabled:!0},depthTest:{enabled:!0,func:ac.LESS_OR_EQUAL},blending:cn.ALPHA_BLEND});let s=et(this._renderState,!0);s.cull.enabled=!1,this._disableCullingRenderState=Fe.fromCache(s),s=et(this._blendRenderState,!0),s.cull.enabled=!1,this._disableCullingBlendRenderState=Fe.fromCache(s)}this._hasFillTilesThisFrame&&this._hasLoadedTilesThisFrame&&uD.updateFillTiles(this,this._quadtree._tilesToRender,e,this._vertexArraysToDestroy);let t=this.quadtree,n=e.terrainExaggeration,i=e.terrainExaggerationRelativeHeight,o=this._oldTerrainExaggeration!==n||this._oldTerrainExaggerationRelativeHeight!==i;this._oldTerrainExaggeration=n,this._oldTerrainExaggerationRelativeHeight=i,o&&t.forEachLoadedTile(function(s){s.data.updateExaggeration(s,e,t)});let r=this._tilesToRenderByTextureCount;for(let s=0,a=r.length;s<a;++s){let c=r[s];if(!!l(c))for(let u=0,f=c.length;u<f;++u){let d=c[u],p=d.data.tileBoundingRegion;Qrt(this,d,e),e.minimumTerrainHeight=Math.min(e.minimumTerrainHeight,p.minimumHeight)}}};function Upe(e,t){let n=t.globeTranslucencyState;if(n.translucent){let i=e.renderState.blending.enabled;n.pushDerivedCommands(e,i,t)}else t.commandList.push(e)}Wo.prototype.updateForPick=function(e){let t=this._drawCommands;for(let n=0,i=this._usedDrawCommands;n<i;++n)Upe(t[n],e)};Wo.prototype.cancelReprojections=function(){this._imageryLayers.cancelReprojections()};Wo.prototype.getLevelMaximumGeometricError=function(e){return this._terrainProvider.getLevelMaximumGeometricError(e)};Wo.prototype.loadTile=function(e,t){let n=t.data,i=!0,o;l(n)&&(i=n.boundingVolumeSourceTile!==t||t._lastSelectionResult===Kn.CULLED_BUT_NEEDED,o=n.terrainState),hd.processStateMachine(t,e,this.terrainProvider,this._imageryLayers,this.quadtree,this._vertexArraysToDestroy,i),n=t.data,i&&o!==t.data.terrainState&&this.computeTileVisibility(t,e,this.quadtree.occluders)!==ir.NONE&&n.boundingVolumeSourceTile===t&&(i=!1,hd.processStateMachine(t,e,this.terrainProvider,this._imageryLayers,this.quadtree,this._vertexArraysToDestroy,i))};var Irt=new re,zpe=new ue,Ort=new ue,Rrt=new he;function kk(e,t){if(t.west<t.east)return t;let n=ue.clone(t,Ort);return ue.center(e,Rrt).longitude>0?n.east=I.PI:n.west=-I.PI,n}function Hpe(e,t){if(t.cameraUnderground||t.globeTranslucencyState.translucent)return!0;if(e.backFaceCulling)return!1;let n=e._clippingPlanes;return!!(l(n)&&n.enabled||!ue.equals(e.cartographicLimitRectangle,ue.MAX_VALUE))}Wo.prototype.computeTileVisibility=function(e,t,n){let i=this.computeDistanceToTile(e,t);e._distance=i;let o=Hpe(this,t);if(t.fog.enabled&&!o&&I.fog(i,t.fog.density)>=1)return ir.NONE;let r=e.data,s=r.tileBoundingRegion;if(r.boundingVolumeSourceTile===void 0)return ir.PARTIAL;let a=t.cullingVolume,c=s.boundingVolume;l(c)||(c=s.boundingSphere),r.clippedByBoundaries=!1;let u=kk(e.rectangle,this.cartographicLimitRectangle),f=ue.simpleIntersection(u,e.rectangle,zpe);if(!l(f))return ir.NONE;if(ue.equals(f,e.rectangle)||(r.clippedByBoundaries=!0),t.mode!==ee.SCENE3D&&(c=Irt,re.fromRectangleWithHeights2D(e.rectangle,t.mapProjection,s.minimumHeight,s.maximumHeight,c),h.fromElements(c.center.z,c.center.x,c.center.y,c.center),t.mode===ee.MORPHING&&l(r.renderedMesh)&&(c=re.union(s.boundingSphere,c,c))),!l(c))return ir.PARTIAL;let d=this._clippingPlanes;if(l(d)&&d.enabled){let C=d.computeIntersectionWithBoundingVolume(c);if(e.isClipped=C!==Kt.INSIDE,C===Kt.OUTSIDE)return ir.NONE}let p,g=a.computeVisibility(c);if(g===Kt.OUTSIDE?p=ir.NONE:g===Kt.INTERSECTING?p=ir.PARTIAL:g===Kt.INSIDE&&(p=ir.FULL),p===ir.NONE)return p;let m=t.mode===ee.SCENE3D&&t.camera.frustum instanceof $t;if(t.mode===ee.SCENE3D&&!m&&l(n)&&!o){let C=r.occludeePointInScaledSpace;return!l(C)||n.ellipsoid.isScaledSpacePointVisiblePossiblyUnderEllipsoid(C,s.minimumHeight)?p:ir.NONE}return p};Wo.prototype.canRefine=function(e){return l(e.data.terrainData)?!0:this.terrainProvider.getTileDataAvailable(e.x*2,e.y*2,e.level+1)!==void 0};var Mrt=[],Brt=[];Wo.prototype.canRenderWithoutLosingDetail=function(e,t){let n=e.data,i=Mrt;i.length=this._imageryLayers.length;let o=!1,r=!1,s;l(n)&&(o=n.terrainState===_o.READY,r=!0,s=n.imagery);let a,c;for(a=0,c=i.length;a<c;++a)i[a]=r;if(l(s))for(a=0,c=s.length;a<c;++a){let d=s[a],p=d.loadingImagery,g=!l(p)||p.state===ri.FAILED||p.state===ri.INVALID,m=(d.loadingImagery||d.readyImagery).imageryLayer._layerIndex;i[m]=g&&i[m]}let u=this.quadtree._lastSelectionFrameNumber,f=Brt;for(f.length=0,f.push(e.southwestChild,e.southeastChild,e.northwestChild,e.northeastChild);f.length>0;){let d=f.pop(),p=d._lastSelectionResultFrame===u?d._lastSelectionResult:Kn.NONE;if(p===Kn.RENDERED){let g=d.data;if(!l(g))continue;if(!o&&d.data.terrainState===_o.READY)return!1;let m=d.data.imagery;for(a=0,c=m.length;a<c;++a){let C=m[a],x=C.loadingImagery,A=!l(x)||x.state===ri.FAILED||x.state===ri.INVALID,b=(C.loadingImagery||C.readyImagery).imageryLayer._layerIndex;if(A&&!i[b])return!1}}else p===Kn.REFINED&&f.push(d.southwestChild,d.southeastChild,d.northwestChild,d.northeastChild)}return!0};var Lrt=new h;Wo.prototype.computeTileLoadPriority=function(e,t){let n=e.data;if(n===void 0)return 0;let i=n.tileBoundingRegion.boundingVolume;if(i===void 0)return 0;let o=t.camera.positionWC,r=t.camera.directionWC,s=h.subtract(i.center,o,Lrt),a=h.magnitude(s);return a<I.EPSILON5?0:(h.divideByScalar(s,a,s),(1-h.dot(s,r))*e._distance)};var Npe=new N,Vk=new N,Nrt=new se,Frt=new se,Vrt=new se,krt=new h,Fpe=new h,Urt=new h,zrt=new h;Wo.prototype.showTileThisFrame=function(e,t){let n=0,i=e.data.imagery;for(let a=0,c=i.length;a<c;++a){let u=i[a];l(u.readyImagery)&&u.readyImagery.imageryLayer.alpha!==0&&++n}let o=this._tilesToRenderByTextureCount[n];l(o)||(o=[],this._tilesToRenderByTextureCount[n]=o),o.push(e);let r=e.data;l(r.vertexArray)?this._hasLoadedTilesThisFrame=!0:this._hasFillTilesThisFrame=!0;let s=this._debug;++s.tilesRendered,s.texturesRendered+=n};var Hrt=[new h,new h,new h,new h];function Vpe(e,t,n,i,o,r){let s=e.quadtree._occluders.ellipsoid,a=s.ellipsoid,c=Hrt;return h.fromRadians(n.west,n.south,o,a,c[0]),h.fromRadians(n.east,n.south,o,a,c[1]),h.fromRadians(n.west,n.north,o,a,c[2]),h.fromRadians(n.east,n.north,o,a,c[3]),s.computeHorizonCullingPointPossiblyUnderEllipsoid(t,c,i,r)}Wo.prototype.computeDistanceToTile=function(e,t){Grt(e,this,t);let n=e.data;if(n.boundingVolumeSourceTile===void 0)return 9999999999;let o=n.tileBoundingRegion,r=o.minimumHeight,s=o.maximumHeight;if(n.boundingVolumeSourceTile!==e){let c=t.camera.positionCartographic.height,u=Math.abs(c-r),f=Math.abs(c-s);u>f?(o.minimumHeight=r,o.maximumHeight=r):(o.minimumHeight=s,o.maximumHeight=s)}let a=o.distanceToCamera(t);return o.minimumHeight=r,o.maximumHeight=s,a};function Grt(e,t,n){let i=e.data;i===void 0&&(i=e.data=new hd);let o=e.tilingScheme.ellipsoid;i.tileBoundingRegion===void 0&&(i.tileBoundingRegion=new zf({computeBoundingVolumes:!1,rectangle:e.rectangle,ellipsoid:o,minimumHeight:0,maximumHeight:0}));let r=i.tileBoundingRegion,s=r.minimumHeight,a=r.maximumHeight,c=!1,u=e,f=i.mesh,d=i.terrainData;if(f!==void 0&&f.minimumHeight!==void 0&&f.maximumHeight!==void 0)r.minimumHeight=f.minimumHeight,r.maximumHeight=f.maximumHeight,c=!0;else if(d!==void 0&&d._minimumHeight!==void 0&&d._maximumHeight!==void 0)r.minimumHeight=d._minimumHeight,r.maximumHeight=d._maximumHeight;else{r.minimumHeight=Number.NaN,r.maximumHeight=Number.NaN;let p=e.parent;for(;p!==void 0;){let g=p.data;if(g!==void 0){let m=g.mesh,C=g.terrainData;if(m!==void 0&&m.minimumHeight!==void 0&&m.maximumHeight!==void 0){r.minimumHeight=m.minimumHeight,r.maximumHeight=m.maximumHeight;break}else if(C!==void 0&&C._minimumHeight!==void 0&&C._maximumHeight!==void 0){r.minimumHeight=C._minimumHeight,r.maximumHeight=C._maximumHeight;break}}p=p.parent}u=p}if(u!==void 0){let p=n.terrainExaggeration,g=n.terrainExaggerationRelativeHeight;if(p!==1&&(c=!1,r.minimumHeight=Rc.getHeight(r.minimumHeight,p,g),r.maximumHeight=Rc.getHeight(r.maximumHeight,p,g)),c)i.boundingVolumeIsFromMesh||(r._orientedBoundingBox=pi.clone(f.orientedBoundingBox,r._orientedBoundingBox),r._boundingSphere=re.clone(f.boundingSphere3D,r._boundingSphere),i.occludeePointInScaledSpace=h.clone(f.occludeePointInScaledSpace,i.occludeePointInScaledSpace),l(i.occludeePointInScaledSpace)||(i.occludeePointInScaledSpace=Vpe(t,r._orientedBoundingBox.center,e.rectangle,r.minimumHeight,r.maximumHeight,i.occludeePointInScaledSpace)));else{let C=r._orientedBoundingBox===void 0||r._boundingSphere===void 0;(r.minimumHeight!==s||r.maximumHeight!==a||C)&&(r.computeBoundingVolumes(o),i.occludeePointInScaledSpace=Vpe(t,r._orientedBoundingBox.center,e.rectangle,r.minimumHeight,r.maximumHeight,i.occludeePointInScaledSpace))}i.boundingVolumeSourceTile=u,i.boundingVolumeIsFromMesh=c}else i.boundingVolumeSourceTile=void 0,i.boundingVolumeIsFromMesh=!1}Wo.prototype.isDestroyed=function(){return!1};Wo.prototype.destroy=function(){return this._tileProvider=this._tileProvider&&this._tileProvider.destroy(),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),fe(this)};function Wrt(e,t,n){return function(i){let o,r,s=-1,a=i.data.imagery,c=a.length,u;for(u=0;u<c;++u)if(o=a[u],r=y(o.readyImagery,o.loadingImagery),r.imageryLayer===t){s=u;break}if(s!==-1){let f=s+e;if(o=a[f],r=l(o)?y(o.readyImagery,o.loadingImagery):void 0,!l(r)||r.imageryLayer!==t)return!t._createTileImagerySkeletons(i,n,f);for(u=s;u<f;++u)a[u].freeResources();a.splice(s,e)}return!0}}Wo.prototype._onLayerAdded=function(e,t){if(e.show){let n=this._terrainProvider,i=this,o=e.imageryProvider,r=this._imageryLayersUpdatedEvent;o._reload=function(){e._imageryCache={},i._quadtree.forEachLoadedTile(function(s){if(l(s._loadedCallbacks[e._layerIndex]))return;let a,c=s.data.imagery,u=c.length,f=-1,d=0;for(a=0;a<u;++a){let g=c[a];if(y(g.readyImagery,g.loadingImagery).imageryLayer===e)f===-1&&(f=a),++d;else if(f!==-1)break}if(f===-1)return;let p=f+d;e._createTileImagerySkeletons(s,n,p)&&(s._loadedCallbacks[e._layerIndex]=Wrt(d,e,n),s.state=Fs.LOADING)})},this._quadtree.forEachLoadedTile(function(s){e._createTileImagerySkeletons(s,n)&&(s.state=Fs.LOADING,s.level!==0&&(s._lastSelectionResultFrame!==i.quadtree._lastSelectionFrameNumber||s._lastSelectionResult!==Kn.RENDERED)&&(s.renderable=!1))}),this._layerOrderChanged=!0,r.raiseEvent()}};Wo.prototype._onLayerRemoved=function(e,t){this._quadtree.forEachLoadedTile(function(n){let i=n.data.imagery,o=-1,r=0;for(let s=0,a=i.length;s<a;++s){let c=i[s],u=c.loadingImagery;if(l(u)||(u=c.readyImagery),u.imageryLayer===e)o===-1&&(o=s),c.freeResources(),++r;else if(o!==-1)break}o!==-1&&i.splice(o,r)}),l(e.imageryProvider)&&(e.imageryProvider._reload=void 0),this._imageryLayersUpdatedEvent.raiseEvent()};Wo.prototype._onLayerMoved=function(e,t,n){this._layerOrderChanged=!0,this._imageryLayersUpdatedEvent.raiseEvent()};Wo.prototype._onLayerShownOrHidden=function(e,t,n){n?this._onLayerAdded(e,t):this._onLayerRemoved(e,t)};var jrt=new N,qrt=new N;function kpe(e,t){let n={u_initialColor:function(){return this.properties.initialColor},u_fillHighlightColor:function(){return this.properties.fillHighlightColor},u_zoomedOutOceanSpecularIntensity:function(){return this.properties.zoomedOutOceanSpecularIntensity},u_oceanNormalMap:function(){return this.properties.oceanNormalMap},u_atmosphereLightIntensity:function(){return this.properties.atmosphereLightIntensity},u_atmosphereRayleighCoefficient:function(){return this.properties.atmosphereRayleighCoefficient},u_atmosphereMieCoefficient:function(){return this.properties.atmosphereMieCoefficient},u_atmosphereRayleighScaleHeight:function(){return this.properties.atmosphereRayleighScaleHeight},u_atmosphereMieScaleHeight:function(){return this.properties.atmosphereMieScaleHeight},u_atmosphereMieAnisotropy:function(){return this.properties.atmosphereMieAnisotropy},u_lightingFadeDistance:function(){return this.properties.lightingFadeDistance},u_nightFadeDistance:function(){return this.properties.nightFadeDistance},u_center3D:function(){return this.properties.center3D},u_terrainExaggerationAndRelativeHeight:function(){return this.properties.terrainExaggerationAndRelativeHeight},u_tileRectangle:function(){return this.properties.tileRectangle},u_modifiedModelView:function(){let i=e.context.uniformState.view,o=N.multiplyByPoint(i,this.properties.rtc,Fpe);return N.setTranslation(i,o,Npe),Npe},u_modifiedModelViewProjection:function(){let i=e.context.uniformState.view,o=e.context.uniformState.projection,r=N.multiplyByPoint(i,this.properties.rtc,Fpe);return N.setTranslation(i,r,Vk),N.multiply(o,Vk,Vk),Vk},u_dayTextures:function(){return this.properties.dayTextures},u_dayTextureTranslationAndScale:function(){return this.properties.dayTextureTranslationAndScale},u_dayTextureTexCoordsRectangle:function(){return this.properties.dayTextureTexCoordsRectangle},u_dayTextureUseWebMercatorT:function(){return this.properties.dayTextureUseWebMercatorT},u_dayTextureAlpha:function(){return this.properties.dayTextureAlpha},u_dayTextureNightAlpha:function(){return this.properties.dayTextureNightAlpha},u_dayTextureDayAlpha:function(){return this.properties.dayTextureDayAlpha},u_dayTextureBrightness:function(){return this.properties.dayTextureBrightness},u_dayTextureContrast:function(){return this.properties.dayTextureContrast},u_dayTextureHue:function(){return this.properties.dayTextureHue},u_dayTextureSaturation:function(){return this.properties.dayTextureSaturation},u_dayTextureOneOverGamma:function(){return this.properties.dayTextureOneOverGamma},u_dayIntensity:function(){return this.properties.dayIntensity},u_southAndNorthLatitude:function(){return this.properties.southAndNorthLatitude},u_southMercatorYAndOneOverHeight:function(){return this.properties.southMercatorYAndOneOverHeight},u_waterMask:function(){return this.properties.waterMask},u_waterMaskTranslationAndScale:function(){return this.properties.waterMaskTranslationAndScale},u_minMaxHeight:function(){return this.properties.minMaxHeight},u_scaleAndBias:function(){return this.properties.scaleAndBias},u_dayTextureSplit:function(){return this.properties.dayTextureSplit},u_dayTextureCutoutRectangles:function(){return this.properties.dayTextureCutoutRectangles},u_clippingPlanes:function(){let i=t._clippingPlanes;return l(i)&&l(i.texture)?i.texture:e.context.defaultTexture},u_cartographicLimitRectangle:function(){return this.properties.localizedCartographicLimitRectangle},u_clippingPlanesMatrix:function(){let i=t._clippingPlanes,o=l(i)?N.multiply(e.context.uniformState.view,i.modelMatrix,jrt):N.IDENTITY;return N.inverseTranspose(o,qrt)},u_clippingPlanesEdgeStyle:function(){let i=this.properties.clippingPlanesEdgeColor;return i.alpha=this.properties.clippingPlanesEdgeWidth,i},u_minimumBrightness:function(){return e.fog.minimumBrightness},u_hsbShift:function(){return this.properties.hsbShift},u_colorsToAlpha:function(){return this.properties.colorsToAlpha},u_frontFaceAlphaByDistance:function(){return this.properties.frontFaceAlphaByDistance},u_backFaceAlphaByDistance:function(){return this.properties.backFaceAlphaByDistance},u_translucencyRectangle:function(){return this.properties.localizedTranslucencyRectangle},u_undergroundColor:function(){return this.properties.undergroundColor},u_undergroundColorAlphaByDistance:function(){return this.properties.undergroundColorAlphaByDistance},u_lambertDiffuseMultiplier:function(){return this.properties.lambertDiffuseMultiplier},properties:{initialColor:new se(0,0,.5,1),fillHighlightColor:new U(0,0,0,0),zoomedOutOceanSpecularIntensity:.5,oceanNormalMap:void 0,lightingFadeDistance:new G(65e5,9e6),nightFadeDistance:new G(1e7,4e7),atmosphereLightIntensity:10,atmosphereRayleighCoefficient:new h(55e-7,13e-6,284e-7),atmosphereMieCoefficient:new h(21e-6,21e-6,21e-6),atmosphereRayleighScaleHeight:1e4,atmosphereMieScaleHeight:3200,atmosphereMieAnisotropy:.9,hsbShift:new h,center3D:void 0,rtc:new h,modifiedModelView:new N,tileRectangle:new se,terrainExaggerationAndRelativeHeight:new G(1,0),dayTextures:[],dayTextureTranslationAndScale:[],dayTextureTexCoordsRectangle:[],dayTextureUseWebMercatorT:[],dayTextureAlpha:[],dayTextureNightAlpha:[],dayTextureDayAlpha:[],dayTextureBrightness:[],dayTextureContrast:[],dayTextureHue:[],dayTextureSaturation:[],dayTextureOneOverGamma:[],dayTextureSplit:[],dayTextureCutoutRectangles:[],dayIntensity:0,colorsToAlpha:[],southAndNorthLatitude:new G,southMercatorYAndOneOverHeight:new G,waterMask:void 0,waterMaskTranslationAndScale:new se,minMaxHeight:new G,scaleAndBias:new N,clippingPlanesEdgeColor:U.clone(U.WHITE),clippingPlanesEdgeWidth:0,localizedCartographicLimitRectangle:new se,frontFaceAlphaByDistance:new se,backFaceAlphaByDistance:new se,localizedTranslucencyRectangle:new se,undergroundColor:U.clone(U.TRANSPARENT),undergroundColorAlphaByDistance:new se,lambertDiffuseMultiplier:0}};return l(t.materialUniformMap)?mt(n,t.materialUniformMap):n}function Yrt(e,t,n){let i=n.data,o,r;if(l(i.vertexArray)?(o=i.mesh,r=i.vertexArray):l(i.fill)&&l(i.fill.vertexArray)&&(o=i.fill.mesh,r=i.fill.vertexArray),!(!l(o)||!l(r))){if(l(i.wireframeVertexArray)){if(i.wireframeVertexArray.mesh===o)return;i.wireframeVertexArray.destroy(),i.wireframeVertexArray=void 0}i.wireframeVertexArray=Xrt(e,r,o),i.wireframeVertexArray.mesh=o}}function Xrt(e,t,n){let o={indices:n.indices,primitiveType:Ne.TRIANGLES};In.toWireframe(o);let r=o.indices,s=ct.createIndexBuffer({context:e,typedArray:r,usage:Le.STATIC_DRAW,indexDatatype:Be.fromSizeInBytes(r.BYTES_PER_ELEMENT)});return new ti({context:e,attributes:t._attributes,indexBuffer:s})}var Gpe,Wpe,Uk;(function(){let e=new pt({geometry:Md.fromDimensions({dimensions:new h(2,2,2)})}),t=new pt({geometry:new C_({radius:1})}),n=new N,i,o;function r(s){return new xn({geometryInstances:s,appearance:new Qt({translucent:!1,flat:!0}),asynchronous:!1})}Gpe=function(s,a){return s===i||(Uk(),i=s,n=N.fromRotationTranslation(s.halfAxes,s.center,n),e.modelMatrix=n,e.attributes.color=It.fromColor(a),o=r(e)),o},Wpe=function(s,a){return s===i||(Uk(),i=s,n=N.fromTranslation(s.center,n),n=N.multiplyByUniformScale(n,s.radius,n),t.modelMatrix=n,t.attributes.color=It.fromColor(a),o=r(t)),o},Uk=function(){l(o)&&(o.destroy(),o=void 0,i=void 0)}})();var Krt=new se(0,0,0,0),Zrt={frameState:void 0,surfaceTile:void 0,numberOfDayTextures:void 0,applyBrightness:void 0,applyContrast:void 0,applyHue:void 0,applySaturation:void 0,applyGamma:void 0,applyAlpha:void 0,applyDayNightAlpha:void 0,applySplit:void 0,showReflectiveOcean:void 0,showOceanWaves:void 0,enableLighting:void 0,dynamicAtmosphereLighting:void 0,dynamicAtmosphereLightingFromSun:void 0,showGroundAtmosphere:void 0,perFragmentGroundAtmosphere:void 0,hasVertexNormals:void 0,useWebMercatorProjection:void 0,enableFog:void 0,enableClippingPlanes:void 0,clippingPlanes:void 0,clippedByBoundaries:void 0,hasImageryLayerCutout:void 0,colorCorrect:void 0,colorToAlpha:void 0,hasGeodeticSurfaceNormals:void 0,hasExaggeration:void 0},$rt=U.TRANSPARENT,Jrt=new St;function Qrt(e,t,n){let i=t.data;l(i.vertexArray)||(i.fill===void 0&&(i.fill=new uD(t)),i.fill.update(e,n));let o=n.creditDisplay,r=i.terrainData;if(l(r)&&l(r.credits)){let ot=r.credits;for(let zt=0,qn=ot.length;zt<qn;++zt)o.addCredit(ot[zt])}let s=kt.maximumTextureImageUnits,a=i.waterMaskTexture,c=i.waterMaskTranslationAndScale;!l(a)&&l(i.fill)&&(a=i.fill.waterMaskTexture,c=i.fill.waterMaskTranslationAndScale);let u=n.cameraUnderground,f=n.globeTranslucencyState,d=f.translucent,p=f.frontFaceAlphaByDistance,g=f.backFaceAlphaByDistance,m=f.rectangle,C=y(e.undergroundColor,$rt),x=y(e.undergroundColorAlphaByDistance,Jrt),A=Hpe(e,n)&&n.mode===ee.SCENE3D&&C.alpha>0&&(x.nearValue>0||x.farValue>0),b=e.lambertDiffuseMultiplier,E=e.hasWaterMask&&l(a),S=e.oceanNormalMap,v=E&&l(S),P=e.terrainProvider.ready&&e.terrainProvider.hasVertexNormals,O=n.fog.enabled&&n.fog.renderable&&!u,M=e.showGroundAtmosphere&&n.mode===ee.SCENE3D,B=mn.castShadows(e.shadows)&&!d,L=mn.receiveShadows(e.shadows)&&!d,_=e.hueShift,T=e.saturationShift,w=e.brightnessShift,D=!(I.equalsEpsilon(_,0,I.EPSILON7)&&I.equalsEpsilon(T,0,I.EPSILON7)&&I.equalsEpsilon(w,0,I.EPSILON7)),R=!1;if(M){let ot=h.magnitude(n.camera.positionWC),zt=e.nightFadeOutDistance;R=ot>zt}E&&--s,v&&--s,l(n.shadowState)&&n.shadowState.shadowsEnabled&&--s,l(e.clippingPlanes)&&e.clippingPlanes.enabled&&--s,s-=f.numberOfTextureUniforms;let F=i.renderedMesh,z=F.center,k=F.encoding,H=i.tileBoundingRegion,V=n.terrainExaggeration,Y=n.terrainExaggerationRelativeHeight,q=V!==1,X=k.hasGeodeticSurfaceNormals,W=Nrt,K=0,$=0,le=0,me=0,ie=!1;if(n.mode!==ee.SCENE3D){let ot=n.mapProjection,zt=ot.project(ue.southwest(t.rectangle),Urt),qn=ot.project(ue.northeast(t.rectangle),zrt);if(W.x=zt.x,W.y=zt.y,W.z=qn.x,W.w=qn.y,n.mode!==ee.MORPHING&&(z=krt,z.x=0,z.y=(W.z+W.x)*.5,z.z=(W.w+W.y)*.5,W.x-=z.y,W.y-=z.z,W.z-=z.y,W.w-=z.z),n.mode===ee.SCENE2D&&k.quantization===Cs.BITS12){let Se=1/(Math.pow(2,12)-1)*.5,_t=(W.z-W.x)*Se,Vt=(W.w-W.y)*Se;W.x-=_t,W.y-=Vt,W.z+=_t,W.w+=Vt}ot instanceof Vi&&(K=t.rectangle.south,$=t.rectangle.north,le=Vi.geodeticLatitudeToMercatorAngle(K),me=1/(Vi.geodeticLatitudeToMercatorAngle($)-le),ie=!0)}let ce=Zrt;ce.frameState=n,ce.surfaceTile=i,ce.showReflectiveOcean=E,ce.showOceanWaves=v,ce.enableLighting=e.enableLighting,ce.dynamicAtmosphereLighting=e.dynamicAtmosphereLighting,ce.dynamicAtmosphereLightingFromSun=e.dynamicAtmosphereLightingFromSun,ce.showGroundAtmosphere=M,ce.atmosphereLightIntensity=e.atmosphereLightIntensity,ce.atmosphereRayleighCoefficient=e.atmosphereRayleighCoefficient,ce.atmosphereMieCoefficient=e.atmosphereMieCoefficient,ce.atmosphereRayleighScaleHeight=e.atmosphereRayleighScaleHeight,ce.atmosphereMieScaleHeight=e.atmosphereMieScaleHeight,ce.atmosphereMieAnisotropy=e.atmosphereMieAnisotropy,ce.perFragmentGroundAtmosphere=R,ce.hasVertexNormals=P,ce.useWebMercatorProjection=ie,ce.clippedByBoundaries=i.clippedByBoundaries,ce.hasGeodeticSurfaceNormals=X,ce.hasExaggeration=q;let pe=i.imagery,Ae=0,we=pe.length,Re=e.showSkirts&&!u&&!d,Ue=e.backFaceCulling&&!u&&!d,bt=Ue?e._renderState:e._disableCullingRenderState,Ut=Ue?e._blendRenderState:e._disableCullingBlendRenderState,sn=bt,dt=e._firstPassInitialColor,vn=n.context;if(l(e._debug.boundingSphereTile)||Uk(),e._materialUniformMap!==e.materialUniformMap){e._materialUniformMap=e.materialUniformMap;let ot=e._drawCommands.length;for(let zt=0;zt<ot;++zt)e._uniformMaps[zt]=kpe(n,e)}do{let ot=0,zt,qn;if(e._drawCommands.length<=e._usedDrawCommands?(zt=new Je,zt.owner=t,zt.cull=!1,zt.boundingVolume=new re,zt.orientedBoundingBox=void 0,qn=kpe(n,e),e._drawCommands.push(zt),e._uniformMaps.push(qn)):(zt=e._drawCommands[e._usedDrawCommands],qn=e._uniformMaps[e._usedDrawCommands]),zt.owner=t,++e._usedDrawCommands,t===e._debug.boundingSphereTile){let gs=H.boundingVolume,Sr=H.boundingSphere;l(gs)?Gpe(gs,U.RED).update(n):l(Sr)&&Wpe(Sr,U.RED).update(n)}let Se=qn.properties;se.clone(dt,Se.initialColor),Se.oceanNormalMap=S,Se.lightingFadeDistance.x=e.lightingFadeOutDistance,Se.lightingFadeDistance.y=e.lightingFadeInDistance,Se.nightFadeDistance.x=e.nightFadeOutDistance,Se.nightFadeDistance.y=e.nightFadeInDistance,Se.atmosphereLightIntensity=e.atmosphereLightIntensity,Se.atmosphereRayleighCoefficient=e.atmosphereRayleighCoefficient,Se.atmosphereMieCoefficient=e.atmosphereMieCoefficient,Se.atmosphereRayleighScaleHeight=e.atmosphereRayleighScaleHeight,Se.atmosphereMieScaleHeight=e.atmosphereMieScaleHeight,Se.atmosphereMieAnisotropy=e.atmosphereMieAnisotropy,Se.zoomedOutOceanSpecularIntensity=e.zoomedOutOceanSpecularIntensity;let _t=u?g:p,Vt=u?p:g;l(_t)&&(se.fromElements(_t.near,_t.nearValue,_t.far,_t.farValue,Se.frontFaceAlphaByDistance),se.fromElements(Vt.near,Vt.nearValue,Vt.far,Vt.farValue,Se.backFaceAlphaByDistance)),se.fromElements(x.near,x.nearValue,x.far,x.farValue,Se.undergroundColorAlphaByDistance),U.clone(C,Se.undergroundColor),Se.lambertDiffuseMultiplier=b;let hi=!l(i.vertexArray)&&l(e.fillHighlightColor)&&e.fillHighlightColor.alpha>0;hi&&U.clone(e.fillHighlightColor,Se.fillHighlightColor),Se.terrainExaggerationAndRelativeHeight.x=V,Se.terrainExaggerationAndRelativeHeight.y=Y,Se.center3D=F.center,h.clone(z,Se.rtc),se.clone(W,Se.tileRectangle),Se.southAndNorthLatitude.x=K,Se.southAndNorthLatitude.y=$,Se.southMercatorYAndOneOverHeight.x=le,Se.southMercatorYAndOneOverHeight.y=me;let Ni=Frt,Mo=kk(t.rectangle,e.cartographicLimitRectangle),wo=Vrt,co=kk(t.rectangle,m);h.fromElements(_,T,w,Se.hsbShift);let mi=t.rectangle,Me=1/mi.width,$e=1/mi.height;Ni.x=(Mo.west-mi.west)*Me,Ni.y=(Mo.south-mi.south)*$e,Ni.z=(Mo.east-mi.west)*Me,Ni.w=(Mo.north-mi.south)*$e,se.clone(Ni,Se.localizedCartographicLimitRectangle),wo.x=(co.west-mi.west)*Me,wo.y=(co.south-mi.south)*$e,wo.z=(co.east-mi.west)*Me,wo.w=(co.north-mi.south)*$e,se.clone(wo,Se.localizedTranslucencyRectangle);let Ke=O&&I.fog(t._distance,n.fog.density)>I.EPSILON3;D=D&&(Ke||M);let We=!1,Qe=!1,wt=!1,Cn=!1,yo=!1,vo=!1,os=!1,Us=!1,Fr=!1,Pi=!1;for(;ot<s&&Ae<we;){let gs=pe[Ae],Sr=gs.readyImagery;if(++Ae,!l(Sr)||Sr.imageryLayer.alpha===0)continue;let rf=gs.useWebMercatorT?Sr.textureWebMercator:Sr.texture,lo=Sr.imageryLayer;l(gs.textureTranslationAndScale)||(gs.textureTranslationAndScale=lo._calculateTextureTranslationAndScale(t,gs)),Se.dayTextures[ot]=rf,Se.dayTextureTranslationAndScale[ot]=gs.textureTranslationAndScale,Se.dayTextureTexCoordsRectangle[ot]=gs.textureCoordinateRectangle,Se.dayTextureUseWebMercatorT[ot]=gs.useWebMercatorT,Se.dayTextureAlpha[ot]=lo.alpha,vo=vo||Se.dayTextureAlpha[ot]!==1,Se.dayTextureNightAlpha[ot]=lo.nightAlpha,os=os||Se.dayTextureNightAlpha[ot]!==1,Se.dayTextureDayAlpha[ot]=lo.dayAlpha,os=os||Se.dayTextureDayAlpha[ot]!==1,Se.dayTextureBrightness[ot]=lo.brightness,We=We||Se.dayTextureBrightness[ot]!==Zu.DEFAULT_BRIGHTNESS,Se.dayTextureContrast[ot]=lo.contrast,Qe=Qe||Se.dayTextureContrast[ot]!==Zu.DEFAULT_CONTRAST,Se.dayTextureHue[ot]=lo.hue,wt=wt||Se.dayTextureHue[ot]!==Zu.DEFAULT_HUE,Se.dayTextureSaturation[ot]=lo.saturation,Cn=Cn||Se.dayTextureSaturation[ot]!==Zu.DEFAULT_SATURATION,Se.dayTextureOneOverGamma[ot]=1/lo.gamma,yo=yo||Se.dayTextureOneOverGamma[ot]!==1/Zu.DEFAULT_GAMMA,Se.dayTextureSplit[ot]=lo.splitDirection,Us=Us||Se.dayTextureSplit[ot]!==0;let cl=Se.dayTextureCutoutRectangles[ot];if(l(cl)||(cl=Se.dayTextureCutoutRectangles[ot]=new se),se.clone(se.ZERO,cl),l(lo.cutoutRectangle)){let rs=kk(mi,lo.cutoutRectangle),Xh=ue.simpleIntersection(rs,mi,zpe);Fr=l(Xh)||Fr,cl.x=(rs.west-mi.west)*Me,cl.y=(rs.south-mi.south)*$e,cl.z=(rs.east-mi.west)*Me,cl.w=(rs.north-mi.south)*$e}let ll=Se.colorsToAlpha[ot];l(ll)||(ll=Se.colorsToAlpha[ot]=new se);let p0=l(lo.colorToAlpha)&&lo.colorToAlphaThreshold>0;if(Pi=Pi||p0,p0){let rs=lo.colorToAlpha;ll.x=rs.red,ll.y=rs.green,ll.z=rs.blue,ll.w=lo.colorToAlphaThreshold}else ll.w=-1;if(l(Sr.credits)){let rs=Sr.credits;for(let Xh=0,an=rs.length;Xh<an;++Xh)o.addCredit(rs[Xh])}++ot}Se.dayTextures.length=ot,Se.waterMask=a,se.clone(c,Se.waterMaskTranslationAndScale),Se.minMaxHeight.x=k.minimumHeight,Se.minMaxHeight.y=k.maximumHeight,N.clone(k.matrix,Se.scaleAndBias);let Er=e._clippingPlanes,qr=l(Er)&&Er.enabled&&t.isClipped;qr&&(Se.clippingPlanesEdgeColor=U.clone(Er.edgeColor,Se.clippingPlanesEdgeColor),Se.clippingPlanesEdgeWidth=Er.edgeWidth),ce.numberOfDayTextures=ot,ce.applyBrightness=We,ce.applyContrast=Qe,ce.applyHue=wt,ce.applySaturation=Cn,ce.applyGamma=yo,ce.applyAlpha=vo,ce.applyDayNightAlpha=os,ce.applySplit=Us,ce.enableFog=Ke,ce.enableClippingPlanes=qr,ce.clippingPlanes=Er,ce.hasImageryLayerCutout=Fr,ce.colorCorrect=D,ce.highlightFillTile=hi,ce.colorToAlpha=Pi,ce.showUndergroundColor=A,ce.translucent=d;let Yr=i.renderedMesh.indices.length;Re||(Yr=i.renderedMesh.indexCountWithoutSkirts),zt.shaderProgram=e._surfaceShaderSet.getShaderProgram(ce),zt.castShadows=B,zt.receiveShadows=L,zt.renderState=sn,zt.primitiveType=Ne.TRIANGLES,zt.vertexArray=i.vertexArray||i.fill.vertexArray,zt.count=Yr,zt.uniformMap=qn,zt.pass=xe.GLOBE,e._debug.wireframe&&(Yrt(vn,e,t),l(i.wireframeVertexArray)&&(zt.vertexArray=i.wireframeVertexArray,zt.primitiveType=Ne.LINES,zt.count=Yr*2));let Ii=zt.boundingVolume,br=zt.orientedBoundingBox;n.mode!==ee.SCENE3D?(re.fromRectangleWithHeights2D(t.rectangle,n.mapProjection,H.minimumHeight,H.maximumHeight,Ii),h.fromElements(Ii.center.z,Ii.center.x,Ii.center.y,Ii.center),n.mode===ee.MORPHING&&(Ii=re.union(H.boundingSphere,Ii,Ii))):(zt.boundingVolume=re.clone(H.boundingSphere,Ii),zt.orientedBoundingBox=pi.clone(H.boundingVolume,br)),zt.dirty=!0,d&&f.updateDerivedCommands(zt,n),Upe(zt,n),sn=Ut,dt=Krt}while(Ae<we)}var zk=Wo;function jpe(){this._enabled=!1,this._frontFaceAlpha=1,this._frontFaceAlphaByDistance=void 0,this._backFaceAlpha=1,this._backFaceAlphaByDistance=void 0,this._rectangle=ue.clone(ue.MAX_VALUE)}Object.defineProperties(jpe.prototype,{enabled:{get:function(){return this._enabled},set:function(e){this._enabled=e}},frontFaceAlpha:{get:function(){return this._frontFaceAlpha},set:function(e){this._frontFaceAlpha=e}},frontFaceAlphaByDistance:{get:function(){return this._frontFaceAlphaByDistance},set:function(e){this._frontFaceAlphaByDistance=St.clone(e,this._frontFaceAlphaByDistance)}},backFaceAlpha:{get:function(){return this._backFaceAlpha},set:function(e){this._backFaceAlpha=e}},backFaceAlphaByDistance:{get:function(){return this._backFaceAlphaByDistance},set:function(e){this._backFaceAlphaByDistance=St.clone(e,this._backFaceAlphaByDistance)}},rectangle:{get:function(){return this._rectangle},set:function(e){l(e)||(e=ue.clone(ue.MAX_VALUE)),ue.clone(e,this._rectangle)}}});var Hk=jpe;function is(){this._layers=[],this.layerAdded=new ge,this.layerRemoved=new ge,this.layerMoved=new ge,this.layerShownOrHidden=new ge}Object.defineProperties(is.prototype,{length:{get:function(){return this._layers.length}}});is.prototype.add=function(e,t){l(t)?this._layers.splice(t,0,e):(t=this._layers.length,this._layers.push(e)),this._update(),this.layerAdded.raiseEvent(e,t)};is.prototype.addImageryProvider=function(e,t){let n=new Zu(e);return this.add(n,t),n};is.prototype.remove=function(e,t){t=y(t,!0);let n=this._layers.indexOf(e);return n!==-1?(this._layers.splice(n,1),this._update(),this.layerRemoved.raiseEvent(e,n),t&&e.destroy(),!0):!1};is.prototype.removeAll=function(e){e=y(e,!0);let t=this._layers;for(let n=0,i=t.length;n<i;n++){let o=t[n];this.layerRemoved.raiseEvent(o,n),e&&o.destroy()}this._layers=[]};is.prototype.contains=function(e){return this.indexOf(e)!==-1};is.prototype.indexOf=function(e){return this._layers.indexOf(e)};is.prototype.get=function(e){return this._layers[e]};function Gk(e,t){return e.indexOf(t)}function qpe(e,t,n){let i=e._layers;if(t=I.clamp(t,0,i.length-1),n=I.clamp(n,0,i.length-1),t===n)return;let o=i[t];i[t]=i[n],i[n]=o,e._update(),e.layerMoved.raiseEvent(o,n,t)}is.prototype.raise=function(e){let t=Gk(this._layers,e);qpe(this,t,t+1)};is.prototype.lower=function(e){let t=Gk(this._layers,e);qpe(this,t,t-1)};is.prototype.raiseToTop=function(e){let t=Gk(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))};is.prototype.lowerToBottom=function(e){let t=Gk(this._layers,e);t!==0&&(this._layers.splice(t,1),this._layers.splice(0,0,e),this._update(),this.layerMoved.raiseEvent(e,0,t))};var est=new ue;function Ype(e,t,n,i){let o=e.globe._surface._tilesToRender,r;for(let a=0;!l(r)&&a<o.length;++a){let c=o[a];ue.contains(c.rectangle,t)&&(r=c)}if(!l(r))return;let s=r.data.imagery;for(let a=s.length-1;a>=0;--a){let c=s[a],u=c.readyImagery;if(!l(u))continue;let f=u.imageryLayer.imageryProvider;if(n&&!l(f.pickFeatures)||!ue.contains(u.rectangle,t))continue;let d=est,p=1/1024;d.west=I.lerp(r.rectangle.west,r.rectangle.east,c.textureCoordinateRectangle.x-p),d.east=I.lerp(r.rectangle.west,r.rectangle.east,c.textureCoordinateRectangle.z+p),d.south=I.lerp(r.rectangle.south,r.rectangle.north,c.textureCoordinateRectangle.y-p),d.north=I.lerp(r.rectangle.south,r.rectangle.north,c.textureCoordinateRectangle.w+p),ue.contains(d,t)&&i(u)}}is.prototype.pickImageryLayers=function(e,t){let n=t.globe.pick(e,t);if(!l(n))return;let i=t.globe.ellipsoid.cartesianToCartographic(n),o=[];if(Ype(t,i,!1,function(r){o.push(r.imageryLayer)}),o.length!==0)return o};is.prototype.pickImageryLayerFeatures=function(e,t){let n=t.globe.pick(e,t);if(!l(n))return;let i=t.globe.ellipsoid.cartesianToCartographic(n),o=[],r=[];if(Ype(t,i,!0,function(s){let c=s.imageryLayer.imageryProvider.pickFeatures(s.x,s.y,s.level,i.longitude,i.latitude);l(c)&&(o.push(c),r.push(s.imageryLayer))}),o.length!==0)return Promise.all(o).then(function(s){let a=[];for(let c=0;c<s.length;++c){let u=s[c],f=r[c];if(l(u)&&u.length>0)for(let d=0;d<u.length;++d){let p=u[d];p.imageryLayer=f,l(p.position)||(p.position=i),a.push(p)}}return a})};is.prototype.queueReprojectionCommands=function(e){let t=this._layers;for(let n=0,i=t.length;n<i;++n)t[n].queueReprojectionCommands(e)};is.prototype.cancelReprojections=function(){let e=this._layers;for(let t=0,n=e.length;t<n;++t)e[t].cancelReprojections()};is.prototype.isDestroyed=function(){return!1};is.prototype.destroy=function(){return this.removeAll(!0),fe(this)};is.prototype._update=function(){let e=!0,t=this._layers,n,i,o,r;for(o=0,r=t.length;o<r;++o)i=t[o],i._layerIndex=o,i.show?(i._isBaseLayer=e,e=!1):i._isBaseLayer=!1,i.show!==i._show&&(l(i._show)&&(l(n)||(n=[]),n.push(i)),i._show=i.show);if(l(n))for(o=0,r=n.length;o<r;++o)i=n[o],this.layerShownOrHidden.raiseEvent(i,i._layerIndex,i.show)};var Wk=is;function Xpe(e){this._ellipsoid=new Mp(e.ellipsoid,h.ZERO)}Object.defineProperties(Xpe.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});var jk=Xpe;function Ec(e){this._tilingScheme=e.tilingScheme,this._x=e.x,this._y=e.y,this._level=e.level,this._parent=e.parent,this._rectangle=this._tilingScheme.tileXYToRectangle(this._x,this._y,this._level),this._southwestChild=void 0,this._southeastChild=void 0,this._northwestChild=void 0,this._northeastChild=void 0,this.replacementPrevious=void 0,this.replacementNext=void 0,this._distance=0,this._loadPriority=0,this._customData=[],this._frameUpdated=void 0,this._lastSelectionResult=Kn.NONE,this._lastSelectionResultFrame=void 0,this._loadedCallbacks={},this.state=Fs.START,this.renderable=!1,this.upsampledFromParent=!1,this.data=void 0}Ec.createLevelZeroTiles=function(e){let t=e.getNumberOfXTilesAtLevel(0),n=e.getNumberOfYTilesAtLevel(0),i=new Array(t*n),o=0;for(let r=0;r<n;++r)for(let s=0;s<t;++s)i[o++]=new Ec({tilingScheme:e,x:s,y:r,level:0});return i};Ec.prototype._updateCustomData=function(e,t,n){let i=this.customData,o,r,s;if(l(t)&&l(n)){for(i=i.filter(function(a){return n.indexOf(a)===-1}),this._customData=i,s=this._rectangle,o=0;o<t.length;++o)r=t[o],ue.contains(s,r.positionCartographic)&&i.push(r);this._frameUpdated=e}else{let a=this._parent;if(l(a)&&this._frameUpdated!==a._frameUpdated){i.length=0,s=this._rectangle;let c=a.customData;for(o=0;o<c.length;++o)r=c[o],ue.contains(s,r.positionCartographic)&&i.push(r);this._frameUpdated=a._frameUpdated}}};Object.defineProperties(Ec.prototype,{tilingScheme:{get:function(){return this._tilingScheme}},x:{get:function(){return this._x}},y:{get:function(){return this._y}},level:{get:function(){return this._level}},parent:{get:function(){return this._parent}},rectangle:{get:function(){return this._rectangle}},children:{get:function(){return[this.northwestChild,this.northeastChild,this.southwestChild,this.southeastChild]}},southwestChild:{get:function(){return l(this._southwestChild)||(this._southwestChild=new Ec({tilingScheme:this.tilingScheme,x:this.x*2,y:this.y*2+1,level:this.level+1,parent:this})),this._southwestChild}},southeastChild:{get:function(){return l(this._southeastChild)||(this._southeastChild=new Ec({tilingScheme:this.tilingScheme,x:this.x*2+1,y:this.y*2+1,level:this.level+1,parent:this})),this._southeastChild}},northwestChild:{get:function(){return l(this._northwestChild)||(this._northwestChild=new Ec({tilingScheme:this.tilingScheme,x:this.x*2,y:this.y*2,level:this.level+1,parent:this})),this._northwestChild}},northeastChild:{get:function(){return l(this._northeastChild)||(this._northeastChild=new Ec({tilingScheme:this.tilingScheme,x:this.x*2+1,y:this.y*2,level:this.level+1,parent:this})),this._northeastChild}},customData:{get:function(){return this._customData}},needsLoading:{get:function(){return this.state<Fs.DONE}},eligibleForUnloading:{get:function(){let e=!0;return l(this.data)&&(e=this.data.eligibleForUnloading,l(e)||(e=!0)),e}}});Ec.prototype.findLevelZeroTile=function(e,t,n){let i=this.tilingScheme.getNumberOfXTilesAtLevel(0);if(t<0?t+=i:t>=i&&(t-=i),!(n<0||n>=this.tilingScheme.getNumberOfYTilesAtLevel(0)))return e.filter(function(o){return o.x===t&&o.y===n})[0]};Ec.prototype.findTileToWest=function(e){let t=this.parent;if(t===void 0)return this.findLevelZeroTile(e,this.x-1,this.y);if(t.southeastChild===this)return t.southwestChild;if(t.northeastChild===this)return t.northwestChild;let n=t.findTileToWest(e);if(n!==void 0)return t.southwestChild===this?n.southeastChild:n.northeastChild};Ec.prototype.findTileToEast=function(e){let t=this.parent;if(t===void 0)return this.findLevelZeroTile(e,this.x+1,this.y);if(t.southwestChild===this)return t.southeastChild;if(t.northwestChild===this)return t.northeastChild;let n=t.findTileToEast(e);if(n!==void 0)return t.southeastChild===this?n.southwestChild:n.northwestChild};Ec.prototype.findTileToSouth=function(e){let t=this.parent;if(t===void 0)return this.findLevelZeroTile(e,this.x,this.y+1);if(t.northwestChild===this)return t.southwestChild;if(t.northeastChild===this)return t.southeastChild;let n=t.findTileToSouth(e);if(n!==void 0)return t.southwestChild===this?n.northwestChild:n.northeastChild};Ec.prototype.findTileToNorth=function(e){let t=this.parent;if(t===void 0)return this.findLevelZeroTile(e,this.x,this.y-1);if(t.southwestChild===this)return t.northwestChild;if(t.southeastChild===this)return t.northeastChild;let n=t.findTileToNorth(e);if(n!==void 0)return t.northwestChild===this?n.southwestChild:n.southeastChild};Ec.prototype.freeResources=function(){this.state=Fs.START,this.renderable=!1,this.upsampledFromParent=!1,l(this.data)&&l(this.data.freeResources)&&this.data.freeResources(),qk(this._southwestChild),this._southwestChild=void 0,qk(this._southeastChild),this._southeastChild=void 0,qk(this._northwestChild),this._northwestChild=void 0,qk(this._northeastChild),this._northeastChild=void 0};function qk(e){l(e)&&e.freeResources()}var Yk=Ec;function Xk(){this.head=void 0,this.tail=void 0,this.count=0,this._lastBeforeStartOfFrame=void 0}Xk.prototype.markStartOfRenderFrame=function(){this._lastBeforeStartOfFrame=this.head};Xk.prototype.trimTiles=function(e){let t=this.tail,n=!0;for(;n&&l(this._lastBeforeStartOfFrame)&&this.count>e&&l(t);){n=t!==this._lastBeforeStartOfFrame;let i=t.replacementPrevious;t.eligibleForUnloading&&(t.freeResources(),Kpe(this,t)),t=i}};function Kpe(e,t){let n=t.replacementPrevious,i=t.replacementNext;t===e._lastBeforeStartOfFrame&&(e._lastBeforeStartOfFrame=i),t===e.head?e.head=i:n.replacementNext=i,t===e.tail?e.tail=n:i.replacementPrevious=n,t.replacementPrevious=void 0,t.replacementNext=void 0,--e.count}Xk.prototype.markTileRendered=function(e){let t=this.head;if(t===e){e===this._lastBeforeStartOfFrame&&(this._lastBeforeStartOfFrame=e.replacementNext);return}if(++this.count,!l(t)){e.replacementPrevious=void 0,e.replacementNext=void 0,this.head=e,this.tail=e;return}(l(e.replacementPrevious)||l(e.replacementNext))&&Kpe(this,e),e.replacementPrevious=void 0,e.replacementNext=t,t.replacementPrevious=e,this.head=e};var Kk=Xk;function $u(e){this._tileProvider=e.tileProvider,this._tileProvider.quadtree=this,this._debug={enableDebugOutput:!1,maxDepth:0,maxDepthVisited:0,tilesVisited:0,tilesCulled:0,tilesRendered:0,tilesWaitingForChildren:0,lastMaxDepth:-1,lastMaxDepthVisited:-1,lastTilesVisited:-1,lastTilesCulled:-1,lastTilesRendered:-1,lastTilesWaitingForChildren:-1,suspendLodUpdate:!1};let n=this._tileProvider.tilingScheme.ellipsoid;this._tilesToRender=[],this._tileLoadQueueHigh=[],this._tileLoadQueueMedium=[],this._tileLoadQueueLow=[],this._tileReplacementQueue=new Kk,this._levelZeroTiles=void 0,this._loadQueueTimeSlice=5,this._tilesInvalidated=!1,this._addHeightCallbacks=[],this._removeHeightCallbacks=[],this._tileToUpdateHeights=[],this._lastTileIndex=0,this._updateHeightsTimeSlice=2,this._cameraPositionCartographic=void 0,this._cameraReferenceFrameOriginCartographic=void 0,this.maximumScreenSpaceError=y(e.maximumScreenSpaceError,2),this.tileCacheSize=y(e.tileCacheSize,100),this.loadingDescendantLimit=20,this.preloadAncestors=!0,this.preloadSiblings=!1,this._occluders=new jk({ellipsoid:n}),this._tileLoadProgressEvent=new ge,this._lastTileLoadQueueLength=0,this._lastSelectionFrameNumber=void 0}Object.defineProperties($u.prototype,{tileProvider:{get:function(){return this._tileProvider}},tileLoadProgressEvent:{get:function(){return this._tileLoadProgressEvent}},occluders:{get:function(){return this._occluders}}});$u.prototype.invalidateAllTiles=function(){this._tilesInvalidated=!0};function tst(e){let t=e._tileReplacementQueue;t.head=void 0,t.tail=void 0,t.count=0,$pe(e);let n=e._levelZeroTiles;if(l(n))for(let i=0;i<n.length;++i){let r=n[i].customData,s=r.length;for(let a=0;a<s;++a){let c=r[a];c.level=0,e._addHeightCallbacks.push(c)}n[i].freeResources()}e._levelZeroTiles=void 0,e._tileProvider.cancelReprojections()}$u.prototype.forEachLoadedTile=function(e){let t=this._tileReplacementQueue.head;for(;l(t);)t.state!==Fs.START&&e(t),t=t.replacementNext};$u.prototype.forEachRenderedTile=function(e){let t=this._tilesToRender;for(let n=0,i=t.length;n<i;++n)e(t[n])};$u.prototype.updateHeight=function(e,t){let n=this,i={positionOnEllipsoidSurface:void 0,positionCartographic:e,level:-1,callback:t};return i.removeFunc=function(){let o=n._addHeightCallbacks,r=o.length;for(let s=0;s<r;++s)if(o[s]===i){o.splice(s,1);break}n._removeHeightCallbacks.push(i),i.callback&&(i.callback=void 0)},n._addHeightCallbacks.push(i),i.removeFunc};$u.prototype.update=function(e){l(this._tileProvider.update)&&this._tileProvider.update(e)};function $pe(e){let t=e._debug;t.maxDepth=0,t.maxDepthVisited=0,t.tilesVisited=0,t.tilesCulled=0,t.tilesRendered=0,t.tilesWaitingForChildren=0,e._tileLoadQueueHigh.length=0,e._tileLoadQueueMedium.length=0,e._tileLoadQueueLow.length=0}$u.prototype.beginFrame=function(e){!e.passes.render||(this._tilesInvalidated&&(tst(this),this._tilesInvalidated=!1),this._tileProvider.initialize(e),$pe(this),!this._debug.suspendLodUpdate&&this._tileReplacementQueue.markStartOfRenderFrame())};$u.prototype.render=function(e){let t=e.passes,n=this._tileProvider;t.render&&(n.beginUpdate(e),rst(this,e),pst(this,e),n.endUpdate(e)),t.pick&&this._tilesToRender.length>0&&n.updateForPick(e)};function nst(e,t){let n=e._tileLoadQueueHigh.length+e._tileLoadQueueMedium.length+e._tileLoadQueueLow.length;(n!==e._lastTileLoadQueueLength||e._tilesInvalidated)&&(t.afterRender.push(ge.prototype.raiseEvent.bind(e._tileLoadProgressEvent,n)),e._lastTileLoadQueueLength=n);let i=e._debug;i.enableDebugOutput&&!i.suspendLodUpdate&&(i.maxDepth=e._tilesToRender.reduce(function(o,r){return Math.max(o,r.level)},-1),i.tilesRendered=e._tilesToRender.length,(i.tilesVisited!==i.lastTilesVisited||i.tilesRendered!==i.lastTilesRendered||i.tilesCulled!==i.lastTilesCulled||i.maxDepth!==i.lastMaxDepth||i.tilesWaitingForChildren!==i.lastTilesWaitingForChildren||i.maxDepthVisited!==i.lastMaxDepthVisited)&&(console.log(`Visited ${i.tilesVisited}, Rendered: ${i.tilesRendered}, Culled: ${i.tilesCulled}, Max Depth Rendered: ${i.maxDepth}, Max Depth Visited: ${i.maxDepthVisited}, Waiting for children: ${i.tilesWaitingForChildren}`),i.lastTilesVisited=i.tilesVisited,i.lastTilesRendered=i.tilesRendered,i.lastTilesCulled=i.tilesCulled,i.lastMaxDepth=i.maxDepth,i.lastTilesWaitingForChildren=i.tilesWaitingForChildren,i.lastMaxDepthVisited=i.maxDepthVisited))}$u.prototype.endFrame=function(e){!e.passes.render||e.mode===ee.MORPHING||(fst(this,e),mst(this,e),nst(this,e))};$u.prototype.isDestroyed=function(){return!1};$u.prototype.destroy=function(){this._tileProvider=this._tileProvider&&this._tileProvider.destroy()};var dD,Zpe=new he;function ist(e,t){let n=ue.center(e.rectangle,Zpe),i=n.longitude-dD.longitude,o=n.latitude-dD.latitude;n=ue.center(t.rectangle,Zpe);let r=n.longitude-dD.longitude,s=n.latitude-dD.latitude;return i*i+o*o-(r*r+s*s)}var ost=new h,fD=[];function rst(e,t){let n=e._debug;if(n.suspendLodUpdate)return;let i=e._tilesToRender;i.length=0;let o,r=e._tileProvider;if(!l(e._levelZeroTiles))if(r.ready){let C=r.tilingScheme;e._levelZeroTiles=Yk.createLevelZeroTiles(C);let x=e._levelZeroTiles.length;if(fD.length<x)for(fD=new Array(x),o=0;o<x;++o)fD[o]===void 0&&(fD[o]=new hD)}else return;e._occluders.ellipsoid.cameraPosition=t.camera.positionWC;let s,a=e._levelZeroTiles,c=a.length>1?e._occluders:void 0;dD=t.camera.positionCartographic,a.sort(ist);let u=e._addHeightCallbacks,f=e._removeHeightCallbacks,d=t.frameNumber,p;if(u.length>0||f.length>0){for(o=0,p=a.length;o<p;++o)s=a[o],s._updateCustomData(d,u,f);u.length=0,f.length=0}let g=t.camera;e._cameraPositionCartographic=g.positionCartographic;let m=N.getTranslation(g.transform,ost);for(e._cameraReferenceFrameOriginCartographic=e.tileProvider.tilingScheme.ellipsoid.cartesianToCartographic(m,e._cameraReferenceFrameOriginCartographic),o=0,p=a.length;o<p;++o)s=a[o],e._tileReplacementQueue.markTileRendered(s),s.renderable?ia(e,s,r,t,c,!1,fD[o]):(xp(e,e._tileLoadQueueHigh,s,t),++n.tilesWaitingForChildren);e._lastSelectionFrameNumber=d}function xp(e,t,n,i){!n.needsLoading||(e.tileProvider.computeTileLoadPriority!==void 0&&(n._loadPriority=e.tileProvider.computeTileLoadPriority(n,i)),t.push(n))}function hD(){this.allAreRenderable=!0,this.anyWereRenderedLastFrame=!1,this.notYetRenderableCount=0}function Jpe(){this.southwest=new hD,this.southeast=new hD,this.northwest=new hD,this.northeast=new hD}Jpe.prototype.combine=function(e){let t=this.southwest,n=this.southeast,i=this.northwest,o=this.northeast;e.allAreRenderable=t.allAreRenderable&&n.allAreRenderable&&i.allAreRenderable&&o.allAreRenderable,e.anyWereRenderedLastFrame=t.anyWereRenderedLastFrame||n.anyWereRenderedLastFrame||i.anyWereRenderedLastFrame||o.anyWereRenderedLastFrame,e.notYetRenderableCount=t.notYetRenderableCount+n.notYetRenderableCount+i.notYetRenderableCount+o.notYetRenderableCount};var Uj=new Array(31);for(let e=0;e<Uj.length;++e)Uj[e]=new Jpe;function sst(e,t,n,i,o){let r=e._debug;++r.tilesVisited,e._tileReplacementQueue.markTileRendered(n),n._updateCustomData(t.frameNumber),n.level>r.maxDepthVisited&&(r.maxDepthVisited=n.level);let s=lst(e,t,n)<e.maximumScreenSpaceError,a=n.southwestChild,c=n.southeastChild,u=n.northwestChild,f=n.northeastChild,d=e._lastSelectionFrameNumber,p=n._lastSelectionResultFrame===d?n._lastSelectionResult:Kn.NONE,g=e.tileProvider;if(s||i){let m=Kn.originalResult(p)===Kn.RENDERED,C=Kn.originalResult(p)===Kn.CULLED||p===Kn.NONE,x=n.state===Fs.DONE,A=m||C||x;if(A||l(g.canRenderWithoutLosingDetail)&&(A=g.canRenderWithoutLosingDetail(n)),A){s&&xp(e,e._tileLoadQueueMedium,n,t),Zk(e,n),o.allAreRenderable=n.renderable,o.anyWereRenderedLastFrame=p===Kn.RENDERED,o.notYetRenderableCount=n.renderable?0:1,n._lastSelectionResultFrame=t.frameNumber,n._lastSelectionResult=Kn.RENDERED,o.anyWereRenderedLastFrame||e._tileToUpdateHeights.push(n);return}i=!0,s&&xp(e,e._tileLoadQueueHigh,n,t)}if(g.canRefine(n)){if(a.upsampledFromParent&&c.upsampledFromParent&&u.upsampledFromParent&&f.upsampledFromParent){Zk(e,n),xp(e,e._tileLoadQueueMedium,n,t),e._tileReplacementQueue.markTileRendered(a),e._tileReplacementQueue.markTileRendered(c),e._tileReplacementQueue.markTileRendered(u),e._tileReplacementQueue.markTileRendered(f),o.allAreRenderable=n.renderable,o.anyWereRenderedLastFrame=p===Kn.RENDERED,o.notYetRenderableCount=n.renderable?0:1,n._lastSelectionResultFrame=t.frameNumber,n._lastSelectionResult=Kn.RENDERED,o.anyWereRenderedLastFrame||e._tileToUpdateHeights.push(n);return}n._lastSelectionResultFrame=t.frameNumber,n._lastSelectionResult=Kn.REFINED;let C=e._tilesToRender.length,x=e._tileLoadQueueLow.length,A=e._tileLoadQueueMedium.length,b=e._tileLoadQueueHigh.length,E=e._tileToUpdateHeights.length;if(ast(e,a,c,u,f,t,i,o),C!==e._tilesToRender.length){let S=o.allAreRenderable,v=o.anyWereRenderedLastFrame,P=o.notYetRenderableCount,O=!1;if(!S&&!v){let M=e._tilesToRender;for(let L=C;L<M.length;++L){let _=M[L];for(;_!==void 0&&_._lastSelectionResult!==Kn.KICKED&&_!==n;)_._lastSelectionResult=Kn.kick(_._lastSelectionResult),_=_.parent}e._tilesToRender.length=C,e._tileToUpdateHeights.length=E,Zk(e,n),n._lastSelectionResult=Kn.RENDERED;let B=p===Kn.RENDERED;!B&&P>e.loadingDescendantLimit&&(e._tileLoadQueueLow.length=x,e._tileLoadQueueMedium.length=A,e._tileLoadQueueHigh.length=b,xp(e,e._tileLoadQueueMedium,n,t),o.notYetRenderableCount=n.renderable?0:1,O=!0),o.allAreRenderable=n.renderable,o.anyWereRenderedLastFrame=B,B||e._tileToUpdateHeights.push(n),++r.tilesWaitingForChildren}e.preloadAncestors&&!O&&xp(e,e._tileLoadQueueLow,n,t)}return}n._lastSelectionResultFrame=t.frameNumber,n._lastSelectionResult=Kn.RENDERED,Zk(e,n),xp(e,e._tileLoadQueueHigh,n,t),o.allAreRenderable=n.renderable,o.anyWereRenderedLastFrame=p===Kn.RENDERED,o.notYetRenderableCount=n.renderable?0:1}function ast(e,t,n,i,o,r,s,a){let c=r.camera.positionCartographic,u=e._tileProvider,f=e._occluders,d=Uj[t.level],p=d.southwest,g=d.southeast,m=d.northwest,C=d.northeast;c.longitude<t.rectangle.east?c.latitude<t.rectangle.north?(ia(e,t,u,r,f,s,p),ia(e,n,u,r,f,s,g),ia(e,i,u,r,f,s,m),ia(e,o,u,r,f,s,C)):(ia(e,i,u,r,f,s,m),ia(e,t,u,r,f,s,p),ia(e,o,u,r,f,s,C),ia(e,n,u,r,f,s,g)):c.latitude<t.rectangle.north?(ia(e,n,u,r,f,s,g),ia(e,t,u,r,f,s,p),ia(e,o,u,r,f,s,C),ia(e,i,u,r,f,s,m)):(ia(e,o,u,r,f,s,C),ia(e,i,u,r,f,s,m),ia(e,n,u,r,f,s,g),ia(e,t,u,r,f,s,p)),d.combine(a)}function cst(e,t){let n=t.rectangle;return l(e._cameraPositionCartographic)&&ue.contains(n,e._cameraPositionCartographic)||l(e._cameraReferenceFrameOriginCartographic)&&ue.contains(n,e._cameraReferenceFrameOriginCartographic)}function ia(e,t,n,i,o,r,s){if(n.computeTileVisibility(t,i,o)!==ir.NONE)return sst(e,i,t,r,s);if(++e._debug.tilesCulled,e._tileReplacementQueue.markTileRendered(t),s.allAreRenderable=!0,s.anyWereRenderedLastFrame=!1,s.notYetRenderableCount=0,cst(e,t)){(!l(t.data)||!l(t.data.vertexArray))&&xp(e,e._tileLoadQueueMedium,t,i);let a=e._lastSelectionFrameNumber,c=t._lastSelectionResultFrame===a?t._lastSelectionResult:Kn.NONE;c!==Kn.CULLED_BUT_NEEDED&&c!==Kn.RENDERED&&e._tileToUpdateHeights.push(t),t._lastSelectionResult=Kn.CULLED_BUT_NEEDED}else e.preloadSiblings||t.level===0?(xp(e,e._tileLoadQueueLow,t,i),t._lastSelectionResult=Kn.CULLED):t._lastSelectionResult=Kn.CULLED;t._lastSelectionResultFrame=i.frameNumber}function lst(e,t,n){if(t.mode===ee.SCENE2D||t.camera.frustum instanceof $t||t.camera.frustum instanceof Ir)return ust(e,t,n);let i=e._tileProvider.getLevelMaximumGeometricError(n.level),o=n._distance,r=t.context.drawingBufferHeight,s=t.camera.frustum.sseDenominator,a=i*r/(o*s);return t.fog.enabled&&(a-=I.fog(o,t.fog.density)*t.fog.sse),a/=t.pixelRatio,a}function ust(e,t,n){let o=t.camera.frustum;l(o._offCenterFrustum)&&(o=o._offCenterFrustum);let r=t.context,s=r.drawingBufferWidth,a=r.drawingBufferHeight,c=e._tileProvider.getLevelMaximumGeometricError(n.level),u=Math.max(o.top-o.bottom,o.right-o.left)/Math.max(s,a),f=c/u;return t.fog.enabled&&t.mode!==ee.SCENE2D&&(f-=I.fog(n._distance,t.fog.density)*t.fog.sse),f/=t.pixelRatio,f}function Zk(e,t){e._tilesToRender.push(t)}function fst(e,t){let n=e._tileLoadQueueHigh,i=e._tileLoadQueueMedium,o=e._tileLoadQueueLow;if(n.length===0&&i.length===0&&o.length===0)return;e._tileReplacementQueue.trimTiles(e.tileCacheSize);let r=Ei()+e._loadQueueTimeSlice,s=e._tileProvider,a=Vj(e,t,s,r,n,!1);a=Vj(e,t,s,r,i,a),Vj(e,t,s,r,o,a)}function dst(e,t){return e._loadPriority-t._loadPriority}function Vj(e,t,n,i,o,r){n.computeTileLoadPriority!==void 0&&o.sort(dst);for(let s=0,a=o.length;s<a&&(Ei()<i||!r);++s){let c=o[s];e._tileReplacementQueue.markTileRendered(c),n.loadTile(t,c),r=!0}return r}var BE=new Tn,kj=new he,Jg=new h,hst=[];function mst(e,t){if(!e.tileProvider.ready)return;let n=hst;n.length=0;let i=e._tileToUpdateHeights,o=Ei(),r=e._updateHeightsTimeSlice,s=o+r,a=t.mode,c=t.mapProjection,u=e.tileProvider.tilingScheme.ellipsoid,f;for(;i.length>0;){let d=i[0];if(!l(d.data)||!l(d.data.mesh)){let C=d._lastSelectionResultFrame===e._lastSelectionFrameNumber?d._lastSelectionResult:Kn.NONE;(C===Kn.RENDERED||C===Kn.CULLED_BUT_NEEDED)&&n.push(d),i.shift(),e._lastTileIndex=0;continue}let p=d.customData,g=p.length,m=!1;for(f=e._lastTileIndex;f<g;++f){let C=p[f],x=d.data.terrainData,A=l(x)&&x.wasCreatedByUpsampling();if(d.level>C.level&&!A){if(l(C.positionOnEllipsoidSurface)||(C.positionOnEllipsoidSurface=h.fromRadians(C.positionCartographic.longitude,C.positionCartographic.latitude,0,u)),a===ee.SCENE3D){let E=u.geodeticSurfaceNormal(C.positionOnEllipsoidSurface,BE.direction),S=u.getSurfaceNormalIntersectionWithZAxis(C.positionOnEllipsoidSurface,11500,BE.origin);if(!l(S)){let v=0;l(d.data.tileBoundingRegion)&&(v=d.data.tileBoundingRegion.minimumHeight);let P=Math.min(v,-11500),O=h.multiplyByScalar(E,Math.abs(P)+1,Jg);h.subtract(C.positionOnEllipsoidSurface,O,BE.origin)}}else he.clone(C.positionCartographic,kj),kj.height=-11500,c.project(kj,Jg),h.fromElements(Jg.z,Jg.x,Jg.y,Jg),h.clone(Jg,BE.origin),h.clone(h.UNIT_X,BE.direction);let b=d.data.pick(BE,a,c,!1,Jg);l(b)&&(l(C.callback)&&C.callback(b),C.level=d.level)}if(Ei()>=s){m=!0;break}}if(m){e._lastTileIndex=f;break}else e._lastTileIndex=0,i.shift()}for(f=0;f<n.length;f++)i.push(n[f])}function pst(e,t){let n=e._tileProvider,i=e._tilesToRender;for(let o=0,r=i.length;o<r;++o){let s=i[o];n.showTileThisFrame(s,t)}}var $k=$u;function md(e){e=y(e,oe.WGS84);let t=new o_({ellipsoid:e}),n=new Wk;this._ellipsoid=e,this._imageryLayerCollection=n,this._surfaceShaderSet=new vk,this._material=void 0,this._surface=new $k({tileProvider:new zk({terrainProvider:t,imageryLayers:n,surfaceShaderSet:this._surfaceShaderSet})}),this._terrainProvider=t,this._terrainProviderChanged=new ge,this._undergroundColor=U.clone(U.BLACK),this._undergroundColorAlphaByDistance=new St(e.maximumRadius/1e3,0,e.maximumRadius/5,1),this._translucency=new Hk,Hj(this),this.show=!0,this._oceanNormalMapResourceDirty=!0,this._oceanNormalMapResource=new Ie({url:Zt("Assets/Textures/waterNormalsSmall.jpg")}),this.maximumScreenSpaceError=2,this.tileCacheSize=100,this.loadingDescendantLimit=20,this.preloadAncestors=!0,this.preloadSiblings=!1,this.fillHighlightColor=void 0,this.enableLighting=!1,this.lambertDiffuseMultiplier=.9,this.dynamicAtmosphereLighting=!0,this.dynamicAtmosphereLightingFromSun=!1,this.showGroundAtmosphere=!0,this.atmosphereLightIntensity=10,this.atmosphereRayleighCoefficient=new h(55e-7,13e-6,284e-7),this.atmosphereMieCoefficient=new h(21e-6,21e-6,21e-6),this.atmosphereRayleighScaleHeight=1e4,this.atmosphereMieScaleHeight=3200,this.atmosphereMieAnisotropy=.9,this.lightingFadeOutDistance=1e7,this.lightingFadeInDistance=2e7,this.nightFadeOutDistance=1e7,this.nightFadeInDistance=5e7,this.showWaterEffect=!0,this.depthTestAgainstTerrain=!1,this.shadows=mn.RECEIVE_ONLY,this.atmosphereHueShift=0,this.atmosphereSaturationShift=0,this.atmosphereBrightnessShift=0,this.terrainExaggeration=1,this.terrainExaggerationRelativeHeight=0,this.showSkirts=!0,this.backFaceCulling=!0,this._oceanNormalMap=void 0,this._zoomedOutOceanSpecularIntensity=void 0}Object.defineProperties(md.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},imageryLayers:{get:function(){return this._imageryLayerCollection}},imageryLayersUpdatedEvent:{get:function(){return this._surface.tileProvider.imageryLayersUpdatedEvent}},tilesLoaded:{get:function(){return l(this._surface)?this._surface.tileProvider.ready&&this._surface._tileLoadQueueHigh.length===0&&this._surface._tileLoadQueueMedium.length===0&&this._surface._tileLoadQueueLow.length===0:!0}},baseColor:{get:function(){return this._surface.tileProvider.baseColor},set:function(e){this._surface.tileProvider.baseColor=e}},clippingPlanes:{get:function(){return this._surface.tileProvider.clippingPlanes},set:function(e){this._surface.tileProvider.clippingPlanes=e}},cartographicLimitRectangle:{get:function(){return this._surface.tileProvider.cartographicLimitRectangle},set:function(e){l(e)||(e=ue.clone(ue.MAX_VALUE)),this._surface.tileProvider.cartographicLimitRectangle=e}},oceanNormalMapUrl:{get:function(){return this._oceanNormalMapResource.url},set:function(e){this._oceanNormalMapResource.url=e,this._oceanNormalMapResourceDirty=!0}},terrainProvider:{get:function(){return this._terrainProvider},set:function(e){e!==this._terrainProvider&&(this._terrainProvider=e,this._terrainProviderChanged.raiseEvent(e),l(this._material)&&Hj(this))}},terrainProviderChanged:{get:function(){return this._terrainProviderChanged}},tileLoadProgressEvent:{get:function(){return this._surface.tileLoadProgressEvent}},material:{get:function(){return this._material},set:function(e){this._material!==e&&(this._material=e,Hj(this))}},undergroundColor:{get:function(){return this._undergroundColor},set:function(e){this._undergroundColor=U.clone(e,this._undergroundColor)}},undergroundColorAlphaByDistance:{get:function(){return this._undergroundColorAlphaByDistance},set:function(e){this._undergroundColorAlphaByDistance=St.clone(e,this._undergroundColorAlphaByDistance)}},translucency:{get:function(){return this._translucency}}});function Hj(e){let t=[],n=l(e._material)&&(e._material.shaderSource.match(/slope/)||e._material.shaderSource.match("normalEC")),i=[$g,sD];l(e._material)&&(!n||e._terrainProvider.requestVertexNormals)?(i.push(e._material.shaderSource),t.push("APPLY_MATERIAL"),e._surface._tileProvider.materialUniformMap=e._material._uniforms):e._surface._tileProvider.materialUniformMap=void 0,i.push(Sk),e._surfaceShaderSet.baseVertexShaderSource=new ke({sources:[$g,sD,wk],defines:t}),e._surfaceShaderSet.baseFragmentShaderSource=new ke({sources:i,defines:t}),e._surfaceShaderSet.material=e._material}function _st(e){return function(t,n){let i=re.distanceSquaredTo(t.pickBoundingSphere,e),o=re.distanceSquaredTo(n.pickBoundingSphere,e);return i-o}}var gst=[],yst={start:0,stop:0};md.prototype.pickWorldCoordinates=function(e,t,n,i){n=y(n,!0);let o=t.mode,r=t.mapProjection,s=gst;s.length=0;let a=this._surface._tilesToRender,c=a.length,u,f;for(f=0;f<c;++f){u=a[f];let p=u.data;if(!l(p))continue;let g=p.pickBoundingSphere;if(o!==ee.SCENE3D)p.pickBoundingSphere=g=re.fromRectangleWithHeights2D(u.rectangle,r,p.tileBoundingRegion.minimumHeight,p.tileBoundingRegion.maximumHeight,g),h.fromElements(g.center.z,g.center.x,g.center.y,g.center);else if(l(p.renderedMesh))re.clone(p.tileBoundingRegion.boundingSphere,g);else continue;let m=Gi.raySphere(e,g,yst);l(m)&&s.push(p)}s.sort(_st(e.origin));let d;for(c=s.length,f=0;f<c&&(d=s[f].pick(e,t.mode,t.mapProjection,n,i),!l(d));++f);return d};var Cst=new he;md.prototype.pick=function(e,t,n){if(n=this.pickWorldCoordinates(e,t,!0,n),l(n)&&t.mode!==ee.SCENE3D){n=h.fromElements(n.y,n.z,n.x,n);let i=t.mapProjection.unproject(n,Cst);n=t.globe.ellipsoid.cartographicToCartesian(i,n)}return n};var xst=new h,Qpe=new h,Ast=new he,Tst=new Tn;function zj(e,t){return l(e)&&ue.contains(e.rectangle,t)?e:void 0}md.prototype.getHeight=function(e){let t=this._surface._levelZeroTiles;if(!l(t))return;let n,i,o=t.length;for(i=0;i<o&&(n=t[i],!ue.contains(n.rectangle,e));++i);if(i>=o)return;let r=n;for(;l(n);)n=zj(n._southwestChild,e)||zj(n._southeastChild,e)||zj(n._northwestChild,e)||n._northeastChild,l(n)&&l(n.data)&&l(n.data.renderedMesh)&&(r=n);if(n=r,!l(n)||!l(n.data)||!l(n.data.renderedMesh))return;let s=this._surface._tileProvider.tilingScheme.projection,a=this._surface._tileProvider.tilingScheme.ellipsoid,c=h.fromRadians(e.longitude,e.latitude,0,a,xst),u=Tst,f=a.geodeticSurfaceNormal(c,u.direction),d=a.getSurfaceNormalIntersectionWithZAxis(c,11500,u.origin);if(!l(d)){let g;l(n.data.tileBoundingRegion)&&(g=n.data.tileBoundingRegion.minimumHeight);let m=Math.min(y(g,0),-11500),C=h.multiplyByScalar(f,Math.abs(m)+1,Qpe);h.subtract(c,C,u.origin)}let p=n.data.pick(u,void 0,s,!1,Qpe);if(!!l(p))return a.cartesianToCartographic(p,Ast).height};md.prototype.update=function(e){!this.show||e.passes.render&&this._surface.update(e)};md.prototype.beginFrame=function(e){let t=this._surface,n=t.tileProvider,i=this.terrainProvider,o=this.showWaterEffect&&i.ready&&i.hasWaterMask;if(o&&this._oceanNormalMapResourceDirty){this._oceanNormalMapResourceDirty=!1;let a=this._oceanNormalMapResource,c=a.url;if(l(c)){let u=this;a.fetchImage().then(function(f){c===u._oceanNormalMapResource.url&&(u._oceanNormalMap=u._oceanNormalMap&&u._oceanNormalMap.destroy(),u._oceanNormalMap=new Ot({context:e.context,source:f}))})}else this._oceanNormalMap=this._oceanNormalMap&&this._oceanNormalMap.destroy()}let r=e.passes,s=e.mode;r.render&&(this.showGroundAtmosphere?this._zoomedOutOceanSpecularIntensity=.4:this._zoomedOutOceanSpecularIntensity=.5,t.maximumScreenSpaceError=this.maximumScreenSpaceError,t.tileCacheSize=this.tileCacheSize,t.loadingDescendantLimit=this.loadingDescendantLimit,t.preloadAncestors=this.preloadAncestors,t.preloadSiblings=this.preloadSiblings,n.terrainProvider=this.terrainProvider,n.lightingFadeOutDistance=this.lightingFadeOutDistance,n.lightingFadeInDistance=this.lightingFadeInDistance,n.nightFadeOutDistance=this.nightFadeOutDistance,n.nightFadeInDistance=this.nightFadeInDistance,n.zoomedOutOceanSpecularIntensity=s===ee.SCENE3D?this._zoomedOutOceanSpecularIntensity:0,n.hasWaterMask=o,n.oceanNormalMap=this._oceanNormalMap,n.enableLighting=this.enableLighting,n.dynamicAtmosphereLighting=this.dynamicAtmosphereLighting,n.dynamicAtmosphereLightingFromSun=this.dynamicAtmosphereLightingFromSun,n.showGroundAtmosphere=this.showGroundAtmosphere,n.atmosphereLightIntensity=this.atmosphereLightIntensity,n.atmosphereRayleighCoefficient=this.atmosphereRayleighCoefficient,n.atmosphereMieCoefficient=this.atmosphereMieCoefficient,n.atmosphereRayleighScaleHeight=this.atmosphereRayleighScaleHeight,n.atmosphereMieScaleHeight=this.atmosphereMieScaleHeight,n.atmosphereMieAnisotropy=this.atmosphereMieAnisotropy,n.shadows=this.shadows,n.hueShift=this.atmosphereHueShift,n.saturationShift=this.atmosphereSaturationShift,n.brightnessShift=this.atmosphereBrightnessShift,n.fillHighlightColor=this.fillHighlightColor,n.showSkirts=this.showSkirts,n.backFaceCulling=this.backFaceCulling,n.undergroundColor=this._undergroundColor,n.undergroundColorAlphaByDistance=this._undergroundColorAlphaByDistance,n.lambertDiffuseMultiplier=this.lambertDiffuseMultiplier,t.beginFrame(e))};md.prototype.render=function(e){!this.show||(l(this._material)&&this._material.update(e.context),this._surface.render(e))};md.prototype.endFrame=function(e){!this.show||e.passes.render&&this._surface.endFrame(e)};md.prototype.isDestroyed=function(){return!1};md.prototype.destroy=function(){return this._surfaceShaderSet=this._surfaceShaderSet&&this._surfaceShaderSet.destroy(),this._surface=this._surface&&this._surface.destroy(),this._oceanNormalMap=this._oceanNormalMap&&this._oceanNormalMap.destroy(),fe(this)};var Jk=md;var Kl=`uniform sampler2D colorTexture;
  6853. varying vec2 v_textureCoordinates;
  6854. void main()
  6855. {
  6856. gl_FragColor = texture2D(colorTexture, v_textureCoordinates);
  6857. }
  6858. `;var mC=`uniform highp sampler2D u_depthTexture;
  6859. varying vec2 v_textureCoordinates;
  6860. void main()
  6861. {
  6862. gl_FragColor = czm_packDepth(texture2D(u_depthTexture, v_textureCoordinates).r);
  6863. }
  6864. `;function zh(){this._picking=!1,this._numSamples=1,this._tempCopyDepthTexture=void 0,this._pickColorFramebuffer=new ci({depthStencil:!0,supportsDepthTexture:!0}),this._outputFramebuffer=new ci({depthStencil:!0,supportsDepthTexture:!0}),this._copyDepthFramebuffer=new ci,this._tempCopyDepthFramebuffer=new ci,this._updateDepthFramebuffer=new ci({createColorAttachments:!1,createDepthAttachments:!1,depthStencil:!0}),this._clearGlobeColorCommand=void 0,this._copyColorCommand=void 0,this._copyDepthCommand=void 0,this._tempCopyDepthCommand=void 0,this._updateDepthCommand=void 0,this._viewport=new Ge,this._rs=void 0,this._rsBlend=void 0,this._rsUpdate=void 0,this._useScissorTest=!1,this._scissorRectangle=void 0,this._useHdr=void 0,this._clearGlobeDepth=void 0}Object.defineProperties(zh.prototype,{colorFramebufferManager:{get:function(){return this._picking?this._pickColorFramebuffer:this._outputFramebuffer}},framebuffer:{get:function(){return this.colorFramebufferManager.framebuffer}},depthStencilTexture:{get:function(){return this.colorFramebufferManager.getDepthStencilTexture()}},picking:{get:function(){return this._picking},set:function(e){this._picking=e}}});function Est(e){e._pickColorFramebuffer.destroy(),e._outputFramebuffer.destroy(),e._copyDepthFramebuffer.destroy(),e._tempCopyDepthFramebuffer.destroy(),e._updateDepthFramebuffer.destroy()}function e_e(e,t,n,i,o){e._viewport.width=n,e._viewport.height=i;let r=!Ge.equals(e._viewport,o.viewport),s=r!==e._useScissorTest;e._useScissorTest=r,Ge.equals(e._scissorRectangle,o.viewport)||(e._scissorRectangle=Ge.clone(o.viewport,e._scissorRectangle),s=!0),(!l(e._rs)||!Ge.equals(e._viewport,e._rs.viewport)||s)&&(e._rs=Fe.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle}}),e._rsBlend=Fe.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle},blending:cn.ALPHA_BLEND}),e._rsUpdate=Fe.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle},stencilTest:{enabled:!0,frontFunction:Nn.EQUAL,frontOperation:{fail:at.KEEP,zFail:at.KEEP,zPass:at.KEEP},backFunction:Nn.NEVER,reference:vt.CESIUM_3D_TILE_MASK,mask:vt.CESIUM_3D_TILE_MASK}})),l(e._copyDepthCommand)||(e._copyDepthCommand=t.createViewportQuadCommand(mC,{uniformMap:{u_depthTexture:function(){return e.colorFramebufferManager.getDepthStencilTexture()}},owner:e})),e._copyDepthCommand.framebuffer=e._copyDepthFramebuffer.framebuffer,e._copyDepthCommand.renderState=e._rs,l(e._copyColorCommand)||(e._copyColorCommand=t.createViewportQuadCommand(Kl,{uniformMap:{colorTexture:function(){return e.colorFramebufferManager.getColorTexture()}},owner:e})),e._copyColorCommand.renderState=e._rs,l(e._tempCopyDepthCommand)||(e._tempCopyDepthCommand=t.createViewportQuadCommand(mC,{uniformMap:{u_depthTexture:function(){return e._tempCopyDepthTexture}},owner:e})),e._tempCopyDepthCommand.framebuffer=e._tempCopyDepthFramebuffer.framebuffer,e._tempCopyDepthCommand.renderState=e._rs,l(e._updateDepthCommand)||(e._updateDepthCommand=t.createViewportQuadCommand(Kl,{uniformMap:{colorTexture:function(){return e._tempCopyDepthFramebuffer.getColorTexture()}},owner:e})),e._updateDepthCommand.framebuffer=e._updateDepthFramebuffer.framebuffer,e._updateDepthCommand.renderState=e._rsUpdate,l(e._clearGlobeColorCommand)||(e._clearGlobeColorCommand=new oi({color:new U(0,0,0,0),stencil:0,owner:e})),e._clearGlobeColorCommand.framebuffer=e.framebuffer}zh.prototype.update=function(e,t,n,i,o,r){let s=n.width,a=n.height,c=o?e.halfFloatingPointTexture?je.HALF_FLOAT:je.FLOAT:je.UNSIGNED_BYTE;this._numSamples=i,this.picking?this._pickColorFramebuffer.update(e,s,a):this._outputFramebuffer.update(e,s,a,i,c),this._copyDepthFramebuffer.update(e,s,a),e_e(this,e,s,a,t),e.uniformState.globeDepthTexture=void 0,this._useHdr=o,this._clearGlobeDepth=r};zh.prototype.prepareColorTextures=function(e,t){!this.picking&&this._numSamples>1&&this._outputFramebuffer.prepareTextures(e,t)};zh.prototype.executeCopyDepth=function(e,t){l(this._copyDepthCommand)&&(this.prepareColorTextures(e),this._copyDepthCommand.execute(e,t),e.uniformState.globeDepthTexture=this._copyDepthFramebuffer.getColorTexture())};zh.prototype.executeUpdateDepth=function(e,t,n,i){let o=l(i)?i:t.framebuffer.depthStencilTexture;if(n||o!==this.colorFramebufferManager.getDepthStencilTexture()){if(l(this._updateDepthCommand)){if(!l(this._updateDepthFramebuffer.framebuffer)||this._updateDepthFramebuffer.getDepthStencilTexture()!==o||this._updateDepthFramebuffer.getColorTexture()!==this._copyDepthFramebuffer.getColorTexture()){let r=this._copyDepthFramebuffer.getColorTexture().width,s=this._copyDepthFramebuffer.getColorTexture().height;this._tempCopyDepthFramebuffer.destroy(),this._tempCopyDepthFramebuffer.update(e,r,s);let a=this._copyDepthFramebuffer.getColorTexture();this._updateDepthFramebuffer.setColorTexture(a,0),this._updateDepthFramebuffer.setDepthStencilTexture(o),this._updateDepthFramebuffer.update(e,r,s),e_e(this,e,r,s,t)}this._tempCopyDepthTexture=o,this._tempCopyDepthCommand.execute(e,t),this._updateDepthCommand.execute(e,t)}return}l(this._copyDepthCommand)&&this._copyDepthCommand.execute(e,t)};zh.prototype.executeCopyColor=function(e,t){l(this._copyColorCommand)&&this._copyColorCommand.execute(e,t)};zh.prototype.clear=function(e,t,n){let i=this._clearGlobeColorCommand;l(i)&&(U.clone(n,i.color),this.colorFramebufferManager.clear(e,i,t))};zh.prototype.isDestroyed=function(){return!1};zh.prototype.destroy=function(){return Est(this),l(this._copyColorCommand)&&(this._copyColorCommand.shaderProgram=this._copyColorCommand.shaderProgram.destroy()),l(this._copyDepthCommand)&&(this._copyDepthCommand.shaderProgram=this._copyDepthCommand.shaderProgram.destroy()),l(this._tempCopyDepthCommand)&&(this._tempCopyDepthCommand.shaderProgram=this._tempCopyDepthCommand.shaderProgram.destroy()),l(this._updateDepthCommand)&&(this._updateDepthCommand.shaderProgram=this._updateDepthCommand.shaderProgram.destroy()),fe(this)};var Qk=zh;function pC(){this._framebuffer=new ci({depthStencil:!0,supportsDepthTexture:!0}),this._packedDepthFramebuffer=new ci,this._renderState=void 0,this._packedDepthCommand=void 0,this._clearCommand=void 0,this._viewport=new Ge,this._useScissorTest=!1,this._scissorRectangle=void 0,this._useHdr=void 0}Object.defineProperties(pC.prototype,{classificationTexture:{get:function(){return this._framebuffer.getColorTexture()}},classificationFramebuffer:{get:function(){return this._framebuffer.framebuffer}},packedDepthFramebuffer:{get:function(){return this._packedDepthFramebuffer.framebuffer}},depthStencilTexture:{get:function(){return this._framebuffer.getDepthStencilTexture()}},depthStencilRenderbuffer:{get:function(){return this._framebuffer.getDepthStencilRenderbuffer()}},packedDepthTexture:{get:function(){return this._packedDepthFramebuffer.getColorTexture()}}});function bst(e){e._framebuffer.destroy(),e._packedDepthFramebuffer.destroy()}function Sst(e,t,n,i,o){let r=o?t.halfFloatingPointTexture?je.HALF_FLOAT:je.FLOAT:je.UNSIGNED_BYTE;e._framebuffer.update(t,n,i,1,r),e._packedDepthFramebuffer.update(t,n,i)}function wst(e,t,n,i,o){e._viewport.width=n,e._viewport.height=i;let r=!Ge.equals(e._viewport,o.viewport),s=r!==e._useScissorTest;e._useScissorTest=r,Ge.equals(e._scissorRectangle,o.viewport)||(e._scissorRectangle=Ge.clone(o.viewport,e._scissorRectangle),s=!0),(!l(e._renderState)||!Ge.equals(e._viewport,e._renderState.viewport)||s)&&(e._renderState=Fe.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle}})),l(e._packedDepthCommand)||(e._packedDepthCommand=t.createViewportQuadCommand(mC,{uniformMap:{u_depthTexture:function(){return e.depthStencilTexture}},owner:e})),l(e._clearCommand)||(e._clearCommand=new oi({color:new U(0,0,0,0),depth:1,stencil:0,owner:e})),e._packedDepthCommand.framebuffer=e._packedDepthFramebuffer.framebuffer,e._packedDepthCommand.renderState=e._renderState,e._clearCommand.framebuffer=e.classificationFramebuffer,e._clearCommand.renderState=e._renderState}pC.prototype.updateAndClear=function(e,t,n,i){let o=t.width,r=t.height;Sst(this,n,o,r,e),wst(this,n,o,r,i),this._useHdr=e};pC.prototype.clearClassification=function(e,t){this._clearCommand.execute(e,t)};pC.prototype.packDepth=function(e,t){return this._packedDepthCommand.execute(e,t),this.packedDepthTexture};pC.prototype.isDestroyed=function(){return!1};pC.prototype.destroy=function(){return bst(this),fe(this)};var eU=pC;var Vs={OPAQUE_FRONT_FACE:0,OPAQUE_BACK_FACE:1,DEPTH_ONLY_FRONT_FACE:2,DEPTH_ONLY_BACK_FACE:3,DEPTH_ONLY_FRONT_AND_BACK_FACE:4,TRANSLUCENT_FRONT_FACE:5,TRANSLUCENT_BACK_FACE:6,TRANSLUCENT_FRONT_FACE_MANUAL_DEPTH_TEST:7,TRANSLUCENT_BACK_FACE_MANUAL_DEPTH_TEST:8,PICK_FRONT_FACE:9,PICK_BACK_FACE:10,DERIVED_COMMANDS_MAXIMUM_LENGTH:11},_C=Vs.DERIVED_COMMANDS_MAXIMUM_LENGTH,u_e=["opaqueFrontFaceCommand","opaqueBackFaceCommand","depthOnlyFrontFaceCommand","depthOnlyBackFaceCommand","depthOnlyFrontAndBackFaceCommand","translucentFrontFaceCommand","translucentBackFaceCommand","translucentFrontFaceManualDepthTestCommand","translucentBackFaceManualDepthTestCommand","pickFrontFaceCommand","pickBackFaceCommand"];function gC(){this._frontFaceAlphaByDistance=new St(0,1,0,1),this._backFaceAlphaByDistance=new St(0,1,0,1),this._frontFaceTranslucent=!1,this._backFaceTranslucent=!1,this._requiresManualDepthTest=!1,this._sunVisibleThroughGlobe=!1,this._environmentVisible=!1,this._useDepthPlane=!1,this._numberOfTextureUniforms=0,this._globeTranslucencyFramebuffer=void 0,this._rectangle=ue.clone(ue.MAX_VALUE),this._derivedCommandKey=0,this._derivedCommandsDirty=!1,this._derivedCommandPacks=void 0,this._derivedCommandTypes=new Array(_C),this._derivedBlendCommandTypes=new Array(_C),this._derivedPickCommandTypes=new Array(_C),this._derivedCommandTypesToUpdate=new Array(_C),this._derivedCommandsLength=0,this._derivedBlendCommandsLength=0,this._derivedPickCommandsLength=0,this._derivedCommandsToUpdateLength=0}Object.defineProperties(gC.prototype,{frontFaceAlphaByDistance:{get:function(){return this._frontFaceAlphaByDistance}},backFaceAlphaByDistance:{get:function(){return this._backFaceAlphaByDistance}},translucent:{get:function(){return this._frontFaceTranslucent}},sunVisibleThroughGlobe:{get:function(){return this._sunVisibleThroughGlobe}},environmentVisible:{get:function(){return this._environmentVisible}},useDepthPlane:{get:function(){return this._useDepthPlane}},numberOfTextureUniforms:{get:function(){return this._numberOfTextureUniforms}},rectangle:{get:function(){return this._rectangle}}});gC.prototype.update=function(e){let t=e.globe;if(!l(t)||!t.show){this._frontFaceTranslucent=!1,this._backFaceTranslucent=!1,this._sunVisibleThroughGlobe=!0,this._environmentVisible=!0,this._useDepthPlane=!1;return}this._frontFaceAlphaByDistance=t_e(t.translucency.enabled,t.translucency.frontFaceAlpha,t.translucency.frontFaceAlphaByDistance,this._frontFaceAlphaByDistance),this._backFaceAlphaByDistance=t_e(t.translucency.enabled,t.translucency.backFaceAlpha,t.translucency.backFaceAlphaByDistance,this._backFaceAlphaByDistance),this._frontFaceTranslucent=n_e(t.translucency.enabled,this._frontFaceAlphaByDistance,t),this._backFaceTranslucent=n_e(t.translucency.enabled,this._backFaceAlphaByDistance,t),this._requiresManualDepthTest=Ist(this,e,t),this._sunVisibleThroughGlobe=vst(this,e),this._environmentVisible=Dst(this,e),this._useDepthPlane=Pst(this,e),this._numberOfTextureUniforms=Ost(this),this._rectangle=ue.clone(t.translucency.rectangle,this._rectangle),Rst(this,e)};function t_e(e,t,n,i){return e?l(n)?(St.clone(n,i),i.nearValue*=t,i.farValue*=t,i):(i.nearValue=t,i.farValue=t,i):(i.nearValue=1,i.farValue=1,i)}function n_e(e,t,n){return e&&(n.baseColor.alpha<1||t.nearValue<1||t.farValue<1)}function vst(e,t){let n=e._frontFaceTranslucent,i=e._backFaceTranslucent;return n&&(t.cameraUnderground||i)}function Dst(e,t){return!t.cameraUnderground||e._frontFaceTranslucent}function Pst(e,t){return!t.cameraUnderground&&!e._frontFaceTranslucent}function Ist(e,t,n){return e._frontFaceTranslucent&&!e._backFaceTranslucent&&!n.depthTestAgainstTerrain&&t.mode!==ee.SCENE2D&&t.context.depthTexture}function Ost(e){let t=0;return e._frontFaceTranslucent&&++t,e._requiresManualDepthTest&&++t,t}function Rst(e,t){e._derivedCommandsLength=Gj(e,t,!1,!1,e._derivedCommandTypes),e._derivedBlendCommandsLength=Gj(e,t,!0,!1,e._derivedBlendCommandTypes),e._derivedPickCommandsLength=Gj(e,t,!1,!0,e._derivedPickCommandTypes);let n,i=0;for(n=0;n<e._derivedCommandsLength;++n)i|=1<<e._derivedCommandTypes[n];for(n=0;n<e._derivedBlendCommandsLength;++n)i|=1<<e._derivedBlendCommandTypes[n];for(n=0;n<e._derivedPickCommandsLength;++n)i|=1<<e._derivedPickCommandTypes[n];let o=0;for(n=0;n<_C;++n)(i&1<<n)>0&&(e._derivedCommandTypesToUpdate[o++]=n);e._derivedCommandsToUpdateLength=o;let r=i!==e._derivedCommandKey;e._derivedCommandKey=i,e._derivedCommandsDirty=r,!l(e._derivedCommandPacks)&&e._frontFaceTranslucent&&(e._derivedCommandPacks=Yst())}function Gj(e,t,n,i,o){let r=0,s=e._frontFaceTranslucent,a=e._backFaceTranslucent;if(!s)return r;let c=t.cameraUnderground,u=e._requiresManualDepthTest,f=i?Vs.PICK_FRONT_FACE:u?Vs.TRANSLUCENT_FRONT_FACE_MANUAL_DEPTH_TEST:Vs.TRANSLUCENT_FRONT_FACE,d=i?Vs.PICK_BACK_FACE:u?Vs.TRANSLUCENT_BACK_FACE_MANUAL_DEPTH_TEST:Vs.TRANSLUCENT_BACK_FACE;return t.mode===ee.SCENE2D?(o[r++]=Vs.DEPTH_ONLY_FRONT_FACE,o[r++]=f,r):(a?(n||(o[r++]=Vs.DEPTH_ONLY_FRONT_AND_BACK_FACE),c?(o[r++]=f,o[r++]=d):(o[r++]=d,o[r++]=f)):c?(n||(o[r++]=Vs.DEPTH_ONLY_BACK_FACE),o[r++]=Vs.OPAQUE_FRONT_FACE,o[r++]=d):(n||(o[r++]=Vs.DEPTH_ONLY_FRONT_FACE),o[r++]=Vs.OPAQUE_BACK_FACE,o[r++]=f),r)}function Ju(e,t){let n=e.indexOf(t);n>-1&&e.splice(n,1)}function i_e(e,t){return e.indexOf(t)>-1}function Mst(e,t){Ju(e.defines,"TRANSLUCENT"),Ju(t.defines,"TRANSLUCENT")}function Bst(e,t){Ju(e.defines,"GROUND_ATMOSPHERE"),Ju(t.defines,"GROUND_ATMOSPHERE"),Ju(e.defines,"FOG"),Ju(t.defines,"FOG"),Ju(e.defines,"TRANSLUCENT"),Ju(t.defines,"TRANSLUCENT")}function Wj(e,t){if(i_e(t.defines,"TILE_LIMIT_RECTANGLE")||i_e(t.defines,"ENABLE_CLIPPING_PLANES"))return;let n=`void main()
  6865. {
  6866. gl_FragColor = vec4(1.0);
  6867. }
  6868. `;t.sources=[n]}function jj(e,t){let n=t.sources,i=n.length;for(let r=0;r<i;++r)n[r]=ke.replaceMain(n[r],"czm_globe_translucency_main");let o=`
  6869. uniform sampler2D u_classificationTexture;
  6870. void main()
  6871. {
  6872. vec2 st = gl_FragCoord.xy / czm_viewport.zw;
  6873. #ifdef MANUAL_DEPTH_TEST
  6874. float logDepthOrDepth = czm_unpackDepth(texture2D(czm_globeDepthTexture, st));
  6875. if (logDepthOrDepth != 0.0)
  6876. {
  6877. vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, logDepthOrDepth);
  6878. float depthEC = eyeCoordinate.z / eyeCoordinate.w;
  6879. if (v_positionEC.z < depthEC)
  6880. {
  6881. discard;
  6882. }
  6883. }
  6884. #endif
  6885. czm_globe_translucency_main();
  6886. vec4 classificationColor = texture2D(u_classificationTexture, st);
  6887. if (classificationColor.a > 0.0)
  6888. {
  6889. // Reverse premultiplication process to get the correct composited result of the classification primitives
  6890. classificationColor.rgb /= classificationColor.a;
  6891. }
  6892. gl_FragColor = classificationColor * vec4(classificationColor.aaa, 1.0) + gl_FragColor * (1.0 - classificationColor.a);
  6893. }
  6894. `;n.push(o)}function f_e(e,t){jj(e,t),Ju(e.defines,"GROUND_ATMOSPHERE"),Ju(t.defines,"GROUND_ATMOSPHERE"),Ju(e.defines,"FOG"),Ju(t.defines,"FOG")}function Lst(e,t){jj(e,t),e.defines.push("GENERATE_POSITION"),t.defines.push("MANUAL_DEPTH_TEST")}function Nst(e,t){f_e(e,t),e.defines.push("GENERATE_POSITION"),t.defines.push("MANUAL_DEPTH_TEST")}function o_e(e,t){let n=`uniform sampler2D u_classificationTexture;
  6895. void main()
  6896. {
  6897. vec2 st = gl_FragCoord.xy / czm_viewport.zw;
  6898. vec4 pickColor = texture2D(u_classificationTexture, st);
  6899. if (pickColor == vec4(0.0))
  6900. {
  6901. discard;
  6902. }
  6903. gl_FragColor = pickColor;
  6904. }
  6905. `;t.sources=[n]}function Fst(e,t,n,i,o,r){if(!l(o))return t;if(!i&&l(n))return n;let s=e.shaderCache.getDerivedShaderProgram(t,r);if(!l(s)){let a=t._attributeLocations,c=t.vertexShaderSource.clone(),u=t.fragmentShaderSource.clone();c.defines=l(c.defines)?c.defines.slice(0):[],u.defines=l(u.defines)?u.defines.slice(0):[],o(c,u),s=e.shaderCache.createDerivedShaderProgram(t,r,{vertexShaderSource:c,fragmentShaderSource:u,attributeLocations:a})}return s}function Vst(e){e.cull.face=wi.BACK,e.cull.enabled=!0}function kst(e){e.cull.face=wi.FRONT,e.cull.enabled=!0}function Ust(e){e.cull.face=wi.BACK,e.cull.enabled=!0,e.colorMask={red:!1,green:!1,blue:!1,alpha:!1}}function zst(e){e.cull.face=wi.FRONT,e.cull.enabled=!0,e.colorMask={red:!1,green:!1,blue:!1,alpha:!1}}function Hst(e){e.cull.enabled=!1,e.colorMask={red:!1,green:!1,blue:!1,alpha:!1}}function r_e(e){e.cull.face=wi.BACK,e.cull.enabled=!0,e.depthMask=!1,e.blending=cn.ALPHA_BLEND}function s_e(e){e.cull.face=wi.FRONT,e.cull.enabled=!0,e.depthMask=!1,e.blending=cn.ALPHA_BLEND}function Gst(e){e.cull.face=wi.BACK,e.cull.enabled=!0,e.blending.enabled=!1}function Wst(e){e.cull.face=wi.FRONT,e.cull.enabled=!0,e.blending.enabled=!1}function jst(e,t,n,i,o){if(!l(i))return e;if(!n&&l(t))return t;let r=o[e.id];if(!l(r)){let s=Fe.getState(e);i(s),r=Fe.fromCache(s),o[e.id]=r}return r}function LE(e){return{u_classificationTexture:function(){return e._globeTranslucencyFramebuffer.classificationTexture}}}function qst(e,t,n,i,o){return l(o)?!i&&l(n)?n:mt(t,o(e),!1):t}function pd(e){this.pass=e.pass,this.pickOnly=e.pickOnly,this.getShaderProgramFunction=e.getShaderProgramFunction,this.getRenderStateFunction=e.getRenderStateFunction,this.getUniformMapFunction=e.getUniformMapFunction,this.renderStateCache={}}function Yst(){return[new pd({pass:xe.GLOBE,pickOnly:!1,getShaderProgramFunction:Mst,getRenderStateFunction:Vst,getUniformMapFunction:void 0}),new pd({pass:xe.GLOBE,pickOnly:!1,getShaderProgramFunction:Bst,getRenderStateFunction:kst,getUniformMapFunction:void 0}),new pd({pass:xe.GLOBE,pickOnly:!1,getShaderProgramFunction:Wj,getRenderStateFunction:Ust,getUniformMapFunction:void 0}),new pd({pass:xe.GLOBE,pickOnly:!1,getShaderProgramFunction:Wj,getRenderStateFunction:zst,getUniformMapFunction:void 0}),new pd({pass:xe.GLOBE,pickOnly:!1,getShaderProgramFunction:Wj,getRenderStateFunction:Hst,getUniformMapFunction:void 0}),new pd({pass:xe.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:jj,getRenderStateFunction:r_e,getUniformMapFunction:LE}),new pd({pass:xe.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:f_e,getRenderStateFunction:s_e,getUniformMapFunction:LE}),new pd({pass:xe.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:Lst,getRenderStateFunction:r_e,getUniformMapFunction:LE}),new pd({pass:xe.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:Nst,getRenderStateFunction:s_e,getUniformMapFunction:LE}),new pd({pass:xe.TRANSLUCENT,pickOnly:!0,getShaderProgramFunction:o_e,getRenderStateFunction:Gst,getUniformMapFunction:LE}),new pd({pass:xe.TRANSLUCENT,pickOnly:!0,getShaderProgramFunction:o_e,getRenderStateFunction:Wst,getUniformMapFunction:LE})]}var a_e=new Array(_C),c_e=new Array(_C);gC.prototype.updateDerivedCommands=function(e,t){let n=this._derivedCommandTypesToUpdate,i=this._derivedCommandsToUpdateLength;if(i!==0){for(let o=0;o<i;++o)c_e[o]=this._derivedCommandPacks[n[o]],a_e[o]=u_e[n[o]];Xst(this,e,i,n,a_e,c_e,t)}};function Xst(e,t,n,i,o,r,s){let a=t.derivedCommands.globeTranslucency,c=e._derivedCommandsDirty;if(t.dirty||!l(a)||c){t.dirty=!1,l(a)||(a={},t.derivedCommands.globeTranslucency=a);let u=s.frameNumber,f=y(a.uniformMapDirtyFrame,0),d=y(a.shaderProgramDirtyFrame,0),p=y(a.renderStateDirtyFrame,0),g=a.uniformMap!==t.uniformMap,m=a.shaderProgramId!==t.shaderProgram.id,C=a.renderStateId!==t.renderState.id;g&&(a.uniformMapDirtyFrame=u),m&&(a.shaderProgramDirtyFrame=u),C&&(a.renderStateDirtyFrame=u),a.uniformMap=t.uniformMap,a.shaderProgramId=t.shaderProgram.id,a.renderStateId=t.renderState.id;for(let x=0;x<n;++x){let A=r[x],b=i[x],E=o[x],S=a[E],v,P,O;l(S)?(v=S.uniformMap,P=S.shaderProgram,O=S.renderState):(v=void 0,P=void 0,O=void 0),S=Je.shallowClone(t,S),a[E]=S;let M=y(S.derivedCommands.uniformMapDirtyFrame,0),B=y(S.derivedCommands.shaderProgramDirtyFrame,0),L=y(S.derivedCommands.renderStateDirtyFrame,0),_=g||M<f,T=m||B<d,w=C||L<p;_&&(S.derivedCommands.uniformMapDirtyFrame=u),T&&(S.derivedCommands.shaderProgramDirtyFrame=u),w&&(S.derivedCommands.renderStateDirtyFrame=u),S.derivedCommands.type=b,S.pass=A.pass,S.pickOnly=A.pickOnly,S.uniformMap=qst(e,t.uniformMap,v,_,A.getUniformMapFunction),S.shaderProgram=Fst(s.context,t.shaderProgram,P,T,A.getShaderProgramFunction,E),S.renderState=jst(t.renderState,O,w,A.getRenderStateFunction,A.renderStateCache)}}}gC.prototype.pushDerivedCommands=function(e,t,n){let i=n.passes.pick;if(i&&t)return;let o=this._derivedCommandTypes,r=this._derivedCommandsLength;if(i?(o=this._derivedPickCommandTypes,r=this._derivedPickCommandsLength):t&&(o=this._derivedBlendCommandTypes,r=this._derivedBlendCommandsLength),r===0){n.commandList.push(e);return}let s=e.derivedCommands.globeTranslucency;for(let a=0;a<r;++a){let c=u_e[o[a]];n.commandList.push(s[c])}};function d_e(e,t,n,i,o,r,s){for(let a=0;a<t;++a){let c=e[a],u=c.derivedCommands.type;(!l(s)||s.indexOf(u)>-1)&&n(c,i,o,r)}}function l_e(e,t,n,i,o,r){for(let s=0;s<t;++s)n(e[s],i,o,r)}var Kst=[Vs.OPAQUE_FRONT_FACE,Vs.OPAQUE_BACK_FACE],Zst=[Vs.DEPTH_ONLY_FRONT_FACE,Vs.DEPTH_ONLY_BACK_FACE,Vs.DEPTH_ONLY_FRONT_AND_BACK_FACE];gC.prototype.executeGlobeCommands=function(e,t,n,i,o){let r=i.context,s=e.commands[xe.GLOBE],a=e.indices[xe.GLOBE];a!==0&&(this._globeTranslucencyFramebuffer=n,n.clearClassification(r,o),d_e(s,a,t,i,r,o,Kst))};gC.prototype.executeGlobeClassificationCommands=function(e,t,n,i,o){let r=i.context,s=e.commands[xe.GLOBE],a=e.indices[xe.GLOBE],c=e.commands[xe.TERRAIN_CLASSIFICATION],u=e.indices[xe.TERRAIN_CLASSIFICATION];if(a===0||u===0)return;let f=this._frontFaceTranslucent,d=this._backFaceTranslucent;if((!f||!d)&&l_e(c,u,t,i,r,o),!f&&!d)return;this._globeTranslucencyFramebuffer=n;let p=r.uniformState.globeDepthTexture,g=o.framebuffer;if(o.framebuffer=n.classificationFramebuffer,d_e(s,a,t,i,r,o,Zst),r.depthTexture){let m=n.packDepth(r,o);r.uniformState.globeDepthTexture=m}l_e(c,u,t,i,r,o),r.uniformState.globeDepthTexture=p,o.framebuffer=g};var tU=gC;var h_e=Ri(x8(),1);function qj(){this._image=new Image}qj.prototype.isReady=function(){return!0};qj.prototype.shouldDiscardImage=function(e){return e===this._image};function mD(e){e=y(e,y.EMPTY_OBJECT),this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0;let t;if(l(e.metadata))t=e.metadata;else{let r=Ie.createIfNeeded(e.url);t=new jd(r)}this._metadata=t,this._tileDiscardPolicy=e.tileDiscardPolicy,this._tilingScheme=new Hi({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,rectangle:new ue(-I.PI,-I.PI,I.PI,I.PI),ellipsoid:e.ellipsoid});let n=e.credit;typeof n=="string"&&(n=new jt(n)),this._credit=n,this._tileWidth=256,this._tileHeight=256,this._maximumLevel=23,l(this._tileDiscardPolicy)||(this._tileDiscardPolicy=new qj),this._errorEvent=new ge,this._ready=!1;let i=this,o;this._readyPromise=t.readyPromise.then(function(r){if(!t.imageryPresent){let s=new de(`The server ${t.url} doesn't have imagery`);return o=jn.reportError(o,i,i._errorEvent,s.message,void 0,void 0,void 0,s),Promise.reject(s)}return jn.reportSuccess(o),i._ready=r,r}).catch(function(r){return o=jn.reportError(o,i,i._errorEvent,r.message,void 0,void 0,void 0,r),Promise.reject(r)})}Object.defineProperties(mD.prototype,{url:{get:function(){return this._metadata.url}},proxy:{get:function(){return this._metadata.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}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!1}}});mD.prototype.getTileCredits=function(e,t,n){let i=this._metadata,o=i.getTileInformation(e,t,n);if(l(o)){let r=i.providers[o.imageryProvider];if(l(r))return[r]}};mD.prototype.requestImage=function(e,t,n,i){let o=this._tileDiscardPolicy._image,r=this._metadata,s=jd.tileXYToQuadKey(e,t,n),a=r.getTileInformation(e,t,n);if(!l(a)){if(r.isValid(s)){let u=new jo({throttle:i.throttle,throttleByServer:i.throttleByServer,type:i.type,priorityFunction:i.priorityFunction});r.populateSubtree(e,t,n,u);return}return Promise.resolve(o)}if(!a.hasImagery())return Promise.resolve(o);let c=$st(this,a,e,t,n,i).fetchArrayBuffer();if(!!l(c))return c.then(function(u){YI(r.key,u);let f=new Uint8Array(u),d,p=r.protoImagery;if((!l(p)||!p)&&(d=Jst(f)),!l(d)&&(!l(p)||p)){let g=Qst(f);d=g.imageType,f=g.imageData}return!l(d)||!l(f)?o:yA({uint8Array:f,format:d,flipY:!0})})};mD.prototype.pickFeatures=function(e,t,n,i,o){};function $st(e,t,n,i,o,r){let s=jd.tileXYToQuadKey(n,i,o),a=t.imageryVersion;return a=l(a)&&a>0?a:1,e._metadata.resource.getDerivedResource({url:`flatfile?f1-0${s}-i.${a.toString()}`,request:r})}function Jst(e){let t="JFIF";if(e[6]===t.charCodeAt(0)&&e[7]===t.charCodeAt(1)&&e[8]===t.charCodeAt(2)&&e[9]===t.charCodeAt(3))return"image/jpeg";let n="PNG";if(e[1]===n.charCodeAt(0)&&e[2]===n.charCodeAt(1)&&e[3]===n.charCodeAt(2))return"image/png"}function Qst(e){let t=h_e.Reader.create(e),n=t.len,i={};for(;t.pos<n;){let s=t.uint32(),a;switch(s>>>3){case 1:i.imageType=t.uint32();break;case 2:i.imageData=t.bytes();break;case 3:i.alphaType=t.uint32();break;case 4:i.imageAlpha=t.bytes();break;case 5:if(a=i.copyrightIds,l(a)||(a=i.copyrightIds=[]),(s&7)===2){let c=t.uint32()+t.pos;for(;t.pos<c;)a.push(t.uint32())}else a.push(t.uint32());break;default:t.skipType(s&7);break}}let o=i.imageType;if(l(o))switch(o){case 0:i.imageType="image/jpeg";break;case 4:i.imageType="image/png";break;default:throw new de("GoogleEarthEnterpriseImageryProvider: Unsupported image type.")}let r=i.alphaType;return l(r)&&r!==0&&(console.log("GoogleEarthEnterpriseImageryProvider: External alpha not supported."),delete i.alphaType,delete i.imageAlpha),i}var m_e=mD;function Qu(e){e=y(e,{}),this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=1.9,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0;let t=e.url,n=y(e.path,"/default_map"),i=Ie.createIfNeeded(t).getDerivedResource({url:n[0]==="/"?n.substring(1):n});i.appendForwardSlash(),this._resource=i,this._url=t,this._path=n,this._tileDiscardPolicy=e.tileDiscardPolicy,this._channel=e.channel,this._requestType="ImageryMaps",this._credit=new jt(`<a href="http://www.google.com/enterprise/mapsearth/products/earthenterprise.html"><img src="${Qu.logoUrl}" title="Google Imagery"/></a>`),this._tilingScheme=void 0,this._version=void 0,this._tileWidth=256,this._tileHeight=256,this._maximumLevel=e.maximumLevel,this._errorEvent=new ge,this._ready=!1;let o=i.getDerivedResource({url:"query",queryParameters:{request:"Json",vars:"geeServerDefs",is2d:"t"}}),r=this,s;function a(f){let d;try{d=JSON.parse(f)}catch{d=JSON.parse(f.replace(/([\[\{,])[\n\r ]*([A-Za-z0-9]+)[\n\r ]*:/g,'$1"$2":'))}let p;for(let m=0;m<d.layers.length;m++)if(d.layers[m].id===r._channel){p=d.layers[m];break}let g;if(!l(p))return g=`Could not find layer with channel (id) of ${r._channel}.`,s=jn.reportError(s,r,r._errorEvent,g),s.retry?u():Promise.reject(new de(g));if(!l(p.version))return g=`Could not find a version in channel (id) ${r._channel}.`,s=jn.reportError(s,r,r._errorEvent,g),s.retry?u():Promise.reject(new de(g));if(r._version=p.version,l(d.projection)&&d.projection==="flat")r._tilingScheme=new Hi({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,rectangle:new ue(-Math.PI,-Math.PI,Math.PI,Math.PI),ellipsoid:e.ellipsoid});else if(!l(d.projection)||d.projection==="mercator")r._tilingScheme=new Ur({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,ellipsoid:e.ellipsoid});else return g=`Unsupported projection ${d.projection}.`,s=jn.reportError(s,r,r._errorEvent,g),s.retry?u():Promise.reject(new de(g));return r._ready=!0,jn.reportSuccess(s),Promise.resolve(!0)}function c(f){let d=y(f.message,`An error occurred while accessing ${o.url}.`);return s=jn.reportError(s,r,r._errorEvent,d),Promise.reject(new de(d))}function u(){return o.fetchText().then(a).catch(c)}this._readyPromise=u()}Object.defineProperties(Qu.prototype,{url:{get:function(){return this._url}},path:{get:function(){return this._path}},proxy:{get:function(){return this._resource.proxy}},channel:{get:function(){return this._channel}},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}},version:{get:function(){return this._version}},requestType:{get:function(){return this._requestType}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!0}}});Qu.prototype.getTileCredits=function(e,t,n){};Qu.prototype.requestImage=function(e,t,n,i){let o=this._resource.getDerivedResource({url:"query",request:i,queryParameters:{request:this._requestType,channel:this._channel,version:this._version,x:e,y:t,z:n+1}});return ol.loadImage(this,o)};Qu.prototype.pickFeatures=function(e,t,n,i,o){};Qu._logoUrl=void 0;Object.defineProperties(Qu,{logoUrl:{get:function(){return l(Qu._logoUrl)||(Qu._logoUrl=Zt("Assets/Images/google_earth_credit.png")),Qu._logoUrl},set:function(e){Qu._logoUrl=e}}});var nU=Qu;var eat=new U(1,1,1,.4),tat=new U(0,1,0,.05),nat=new U(0,.5,0,.2);function yC(e){e=y(e,y.EMPTY_OBJECT),this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0,this._tilingScheme=l(e.tilingScheme)?e.tilingScheme:new Hi({ellipsoid:e.ellipsoid}),this._cells=y(e.cells,8),this._color=y(e.color,eat),this._glowColor=y(e.glowColor,tat),this._glowWidth=y(e.glowWidth,6),this._backgroundColor=y(e.backgroundColor,nat),this._errorEvent=new ge,this._tileWidth=y(e.tileWidth,256),this._tileHeight=y(e.tileHeight,256),this._canvasSize=y(e.canvasSize,256),this._canvas=this._createGridCanvas(),this._readyPromise=Promise.resolve(!0)}Object.defineProperties(yC.prototype,{proxy:{get:function(){}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){}},minimumLevel:{get:function(){}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return!0}},readyPromise:{get:function(){return this._readyPromise}},credit:{get:function(){}},hasAlphaChannel:{get:function(){return!0}}});yC.prototype._drawGrid=function(e){let n=this._canvasSize;for(let i=0;i<=this._cells;++i){let o=i/this._cells,r=1+o*(n-1);e.moveTo(r,0),e.lineTo(r,n),e.moveTo(0,r),e.lineTo(n,r)}e.stroke()};yC.prototype._createGridCanvas=function(){let e=document.createElement("canvas");e.width=this._canvasSize,e.height=this._canvasSize;let t=0,n=this._canvasSize,i=e.getContext("2d"),o=this._backgroundColor.toCssColorString();i.fillStyle=o,i.fillRect(t,t,n,n);let r=this._glowColor.toCssColorString();i.strokeStyle=r,i.lineWidth=this._glowWidth,i.strokeRect(t,t,n,n),this._drawGrid(i),i.lineWidth=this._glowWidth*.5,i.strokeRect(t,t,n,n),this._drawGrid(i);let s=this._color.toCssColorString();return i.strokeStyle=s,i.lineWidth=2,i.strokeRect(t,t,n,n),i.lineWidth=1,this._drawGrid(i),e};yC.prototype.getTileCredits=function(e,t,n){};yC.prototype.requestImage=function(e,t,n,i){return Promise.resolve(this._canvas)};yC.prototype.pickFeatures=function(e,t,n,i,o){};var p_e=yC;function Hh(){this._numSamples=1,this.previousFramebuffer=void 0,this._previousFramebuffer=void 0,this._depthStencilTexture=void 0,this._depthStencilRenderbuffer=void 0,this._fbo=new ci({depthStencil:!0,createDepthAttachments:!1}),this._fboClassified=new ci({depthStencil:!0,createDepthAttachments:!1}),this._rsUnclassified=void 0,this._rsClassified=void 0,this._unclassifiedCommand=void 0,this._classifiedCommand=void 0,this._translucentCommand=void 0,this._clearColorCommand=new oi({color:new U(0,0,0,0),owner:this}),this._clearCommand=new oi({color:new U(0,0,0,0),depth:1,stencil:0});let e=this;this._uniformMap={colorTexture:function(){return e._fbo.getColorTexture()},depthTexture:function(){return e._depthStencilTexture},classifiedTexture:function(){return e._fboClassified.getColorTexture()}}}Object.defineProperties(Hh.prototype,{unclassifiedCommand:{get:function(){return this._unclassifiedCommand}}});Hh.isTranslucencySupported=function(e){return e.depthTexture&&e.fragmentDepth};var iat={depthMask:!1,stencilTest:{enabled:!0,frontFunction:Nn.EQUAL,frontOperation:{fail:at.KEEP,zFail:at.KEEP,zPass:at.KEEP},backFunction:Nn.NEVER,reference:0,mask:vt.CLASSIFICATION_MASK},blending:cn.ALPHA_BLEND},oat={depthMask:!1,stencilTest:{enabled:!0,frontFunction:Nn.NOT_EQUAL,frontOperation:{fail:at.KEEP,zFail:at.KEEP,zPass:at.KEEP},backFunction:Nn.NEVER,reference:0,mask:vt.CLASSIFICATION_MASK},blending:cn.ALPHA_BLEND},rat={depthMask:!0,depthTest:{enabled:!0},stencilTest:vt.setCesium3DTileBit(),stencilMask:vt.CESIUM_3D_TILE_MASK,blending:cn.ALPHA_BLEND},sat=`#extension GL_EXT_frag_depth : enable
  6906. uniform sampler2D colorTexture;
  6907. uniform sampler2D depthTexture;
  6908. uniform sampler2D classifiedTexture;
  6909. varying vec2 v_textureCoordinates;
  6910. void main()
  6911. {
  6912. vec4 color = texture2D(colorTexture, v_textureCoordinates);
  6913. if (color.a == 0.0)
  6914. {
  6915. discard;
  6916. }
  6917. bool isClassified = all(equal(texture2D(classifiedTexture, v_textureCoordinates), vec4(0.0)));
  6918. #ifdef UNCLASSIFIED
  6919. vec4 highlightColor = czm_invertClassificationColor;
  6920. if (isClassified)
  6921. {
  6922. discard;
  6923. }
  6924. #else
  6925. vec4 highlightColor = vec4(1.0);
  6926. if (!isClassified)
  6927. {
  6928. discard;
  6929. }
  6930. #endif
  6931. gl_FragColor = color * highlightColor;
  6932. gl_FragDepthEXT = texture2D(depthTexture, v_textureCoordinates).r;
  6933. }
  6934. `,aat=`uniform sampler2D colorTexture;
  6935. varying vec2 v_textureCoordinates;
  6936. void main()
  6937. {
  6938. vec4 color = texture2D(colorTexture, v_textureCoordinates);
  6939. if (color.a == 0.0)
  6940. {
  6941. discard;
  6942. }
  6943. #ifdef UNCLASSIFIED
  6944. gl_FragColor = color * czm_invertClassificationColor;
  6945. #else
  6946. gl_FragColor = color;
  6947. #endif
  6948. }
  6949. `;Hh.prototype.update=function(e,t,n){let i=this._fbo.getColorTexture(),o=this.previousFramebuffer!==this._previousFramebuffer;this._previousFramebuffer=this.previousFramebuffer;let r=this._numSamples!==t,s=e.drawingBufferWidth,a=e.drawingBufferHeight,c=!l(i)||i.width!==s||i.height!==a;if((c||o||r)&&(this._numSamples=t,this._depthStencilTexture=this._depthStencilTexture&&this._depthStencilTexture.destroy(),this._depthStencilRenderbuffer=this._depthStencilRenderbuffer&&this._depthStencilRenderbuffer.destroy(),l(this._previousFramebuffer)||(this._depthStencilTexture=new Ot({context:e,width:s,height:a,pixelFormat:ft.DEPTH_STENCIL,pixelDatatype:je.UNSIGNED_INT_24_8}),t>1&&(this._depthStencilRenderbuffer=new Su({context:e,width:s,height:a,format:Xc.DEPTH24_STENCIL8,numSamples:t})))),!l(this._fbo.framebuffer)||c||o||r){this._fbo.destroy(),this._fboClassified.destroy();let u,f;l(this._previousFramebuffer)?(u=n.getDepthStencilTexture(),f=n.getDepthStencilRenderbuffer()):(u=this._depthStencilTexture,f=this._depthStencilRenderbuffer),this._fbo.setDepthStencilTexture(u),l(f)&&this._fbo.setDepthStencilRenderbuffer(f),this._fbo.update(e,s,a,t),l(this._previousFramebuffer)||(this._fboClassified.setDepthStencilTexture(u),this._fboClassified.update(e,s,a))}if(l(this._rsUnclassified)||(this._rsUnclassified=Fe.fromCache(iat),this._rsClassified=Fe.fromCache(oat),this._rsDefault=Fe.fromCache(rat)),!l(this._unclassifiedCommand)||o||r){l(this._unclassifiedCommand)&&(this._unclassifiedCommand.shaderProgram=this._unclassifiedCommand.shaderProgram&&this._unclassifiedCommand.shaderProgram.destroy(),this._classifiedCommand.shaderProgram=this._classifiedCommand.shaderProgram&&this._classifiedCommand.shaderProgram.destroy());let u=l(this._previousFramebuffer)?aat:sat,f=new ke({defines:["UNCLASSIFIED"],sources:[u]}),d=new ke({sources:[u]});this._unclassifiedCommand=e.createViewportQuadCommand(f,{renderState:l(this._previousFramebuffer)?this._rsUnclassified:this._rsDefault,uniformMap:this._uniformMap,owner:this}),this._classifiedCommand=e.createViewportQuadCommand(d,{renderState:l(this._previousFramebuffer)?this._rsClassified:this._rsDefault,uniformMap:this._uniformMap,owner:this}),l(this._translucentCommand)&&(this._translucentCommand.shaderProgram=this._translucentCommand.shaderProgram&&this._translucentCommand.shaderProgram.destroy()),l(this._previousFramebuffer)||(this._translucentCommand=e.createViewportQuadCommand(Kl,{renderState:this._rsUnclassified,uniformMap:this._uniformMap,owner:this}))}};Hh.prototype.prepareTextures=function(e,t){this._fbo._numSamples>1&&this._fbo.prepareTextures(e,t)};Hh.prototype.clear=function(e,t){l(this._previousFramebuffer)?this._fbo.clear(e,this._clearColorCommand,t):(this._fbo.clear(e,this._clearCommand,t),this._fboClassified.clear(e,this._clearCommand,t))};Hh.prototype.executeClassified=function(e,t){if(!l(this._previousFramebuffer)){let n=t.framebuffer;this.prepareTextures(e,!0),t.framebuffer=this._fboClassified.framebuffer,this._translucentCommand.execute(e,t),t.framebuffer=n}this._classifiedCommand.execute(e,t)};Hh.prototype.executeUnclassified=function(e,t){this._unclassifiedCommand.execute(e,t)};Hh.prototype.isDestroyed=function(){return!1};Hh.prototype.destroy=function(){return this._fbo.destroy(),this._fboClassified.destroy(),this._depthStencilTexture=this._depthStencilTexture&&this._depthStencilTexture.destroy(),this._depthStencilRenderbuffer=this._depthStencilRenderbuffer&&this._depthStencilRenderbuffer.destroy(),l(this._unclassifiedCommand)&&(this._unclassifiedCommand.shaderProgram=this._unclassifiedCommand.shaderProgram&&this._unclassifiedCommand.shaderProgram.destroy(),this._classifiedCommand.shaderProgram=this._classifiedCommand.shaderProgram&&this._classifiedCommand.shaderProgram.destroy()),fe(this)};var pD=Hh;var __e=/{[^}]+}/g,g_e={x:fat,y:hat,z:_at,s:gat,reverseX:dat,reverseY:mat,reverseZ:pat,westDegrees:yat,southDegrees:Cat,eastDegrees:xat,northDegrees:Aat,westProjected:Tat,southProjected:Eat,eastProjected:bat,northProjected:Sat,width:wat,height:vat},cat=mt(g_e,{i:Dat,j:Pat,reverseI:Iat,reverseJ:Oat,longitudeDegrees:Mat,latitudeDegrees:Bat,longitudeProjected:Lat,latitudeProjected:Nat,format:Vat});function VE(e){this._errorEvent=new ge,this._resource=void 0,this._urlSchemeZeroPadding=void 0,this._pickFeaturesResource=void 0,this._tileWidth=void 0,this._tileHeight=void 0,this._maximumLevel=void 0,this._minimumLevel=void 0,this._tilingScheme=void 0,this._rectangle=void 0,this._tileDiscardPolicy=void 0,this._credit=void 0,this._hasAlphaChannel=void 0,this._readyPromise=void 0,this._tags=void 0,this._pickFeaturesTags=void 0,this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0,this.enablePickFeatures=!0,this.reinitialize(e)}Object.defineProperties(VE.prototype,{url:{get:function(){return this._resource.url}},urlSchemeZeroPadding:{get:function(){return this._urlSchemeZeroPadding}},pickFeaturesUrl:{get:function(){return this._pickFeaturesResource.url}},proxy:{get:function(){return this._resource.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}},rectangle:{get:function(){return this._rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return l(this._resource)}},readyPromise:{get:function(){return this._readyPromise}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return this._hasAlphaChannel}}});VE.prototype.reinitialize=function(e){let t=this;t._readyPromise=Promise.resolve(e).then(function(n){let i=n.customTags,o=mt(g_e,i),r=mt(cat,i),s=Ie.createIfNeeded(n.url),a=Ie.createIfNeeded(n.pickFeaturesUrl);t.enablePickFeatures=y(n.enablePickFeatures,t.enablePickFeatures),t._urlSchemeZeroPadding=y(n.urlSchemeZeroPadding,t.urlSchemeZeroPadding),t._tileDiscardPolicy=n.tileDiscardPolicy,t._getFeatureInfoFormats=n.getFeatureInfoFormats,t._subdomains=n.subdomains,Array.isArray(t._subdomains)?t._subdomains=t._subdomains.slice():l(t._subdomains)&&t._subdomains.length>0?t._subdomains=t._subdomains.split(""):t._subdomains=["a","b","c"],t._tileWidth=y(n.tileWidth,256),t._tileHeight=y(n.tileHeight,256),t._minimumLevel=y(n.minimumLevel,0),t._maximumLevel=n.maximumLevel,t._tilingScheme=y(n.tilingScheme,new Ur({ellipsoid:n.ellipsoid})),t._rectangle=y(n.rectangle,t._tilingScheme.rectangle),t._rectangle=ue.intersection(t._rectangle,t._tilingScheme.rectangle),t._hasAlphaChannel=y(n.hasAlphaChannel,!0);let c=n.credit;return typeof c=="string"&&(c=new jt(c)),t._credit=c,t._resource=s,t._tags=o,t._pickFeaturesResource=a,t._pickFeaturesTags=r,!0})};VE.prototype.getTileCredits=function(e,t,n){};VE.prototype.requestImage=function(e,t,n,i){return ol.loadImage(this,lat(this,e,t,n,i))};VE.prototype.pickFeatures=function(e,t,n,i,o){if(!this.enablePickFeatures||!l(this._pickFeaturesResource)||this._getFeatureInfoFormats.length===0)return;let r=0,s=this;function a(u,f){return u.callback(f)}function c(){if(r>=s._getFeatureInfoFormats.length)return Promise.resolve([]);let u=s._getFeatureInfoFormats[r],f=uat(s,e,t,n,i,o,u.format);return++r,u.type==="json"?f.fetchJson().then(u.callback).catch(c):u.type==="xml"?f.fetchXML().then(u.callback).catch(c):u.type==="text"||u.type==="html"?f.fetchText().then(u.callback).catch(c):f.fetch({responseType:u.format}).then(a.bind(void 0,u)).catch(c)}return c()};var iU=!1,Zl=new ue,oU=!1,_D=new ue;function lat(e,t,n,i,o){iU=!1,oU=!1;let r=e._resource,s=r.getUrlComponent(!0),a=e._tags,c={},u=s.match(__e);return l(u)&&u.forEach(function(f){let d=f.substring(1,f.length-1);l(a[d])&&(c[d]=a[d](e,t,n,i))}),r.getDerivedResource({request:o,templateValues:c})}var Yj=!1,FE=new G,Xj=!1;function uat(e,t,n,i,o,r,s){iU=!1,oU=!1,Yj=!1,Xj=!1;let a=e._pickFeaturesResource,c=a.getUrlComponent(!0),u=e._pickFeaturesTags,f={},d=c.match(__e);return l(d)&&d.forEach(function(p){let g=p.substring(1,p.length-1);l(u[g])&&(f[g]=u[g](e,t,n,i,o,r,s))}),a.getDerivedResource({templateValues:f})}function kE(e,t,n){if(e&&e.urlSchemeZeroPadding&&e.urlSchemeZeroPadding.hasOwnProperty(t)){let i=e.urlSchemeZeroPadding[t];if(typeof i=="string"){let o=i.length;o>1&&(n=n.length>=o?n:new Array(o-n.toString().length+1).join("0")+n)}}return n}function fat(e,t,n,i){return kE(e,"{x}",t)}function dat(e,t,n,i){let o=e.tilingScheme.getNumberOfXTilesAtLevel(i)-t-1;return kE(e,"{reverseX}",o)}function hat(e,t,n,i){return kE(e,"{y}",n)}function mat(e,t,n,i){let o=e.tilingScheme.getNumberOfYTilesAtLevel(i)-n-1;return kE(e,"{reverseY}",o)}function pat(e,t,n,i){let o=e.maximumLevel,r=l(o)&&i<o?o-i-1:i;return kE(e,"{reverseZ}",r)}function _at(e,t,n,i){return kE(e,"{z}",i)}function gat(e,t,n,i){let o=(t+n+i)%e._subdomains.length;return e._subdomains[o]}function rU(e,t,n,i){iU||(e.tilingScheme.tileXYToRectangle(t,n,i,Zl),Zl.west=I.toDegrees(Zl.west),Zl.south=I.toDegrees(Zl.south),Zl.east=I.toDegrees(Zl.east),Zl.north=I.toDegrees(Zl.north),iU=!0)}function yat(e,t,n,i){return rU(e,t,n,i),Zl.west}function Cat(e,t,n,i){return rU(e,t,n,i),Zl.south}function xat(e,t,n,i){return rU(e,t,n,i),Zl.east}function Aat(e,t,n,i){return rU(e,t,n,i),Zl.north}function sU(e,t,n,i){oU||(e.tilingScheme.tileXYToNativeRectangle(t,n,i,_D),oU=!0)}function Tat(e,t,n,i){return sU(e,t,n,i),_D.west}function Eat(e,t,n,i){return sU(e,t,n,i),_D.south}function bat(e,t,n,i){return sU(e,t,n,i),_D.east}function Sat(e,t,n,i){return sU(e,t,n,i),_D.north}function wat(e,t,n,i){return e.tileWidth}function vat(e,t,n,i){return e.tileHeight}function Dat(e,t,n,i,o,r,s){return aU(e,t,n,i,o,r),FE.x}function Pat(e,t,n,i,o,r,s){return aU(e,t,n,i,o,r),FE.y}function Iat(e,t,n,i,o,r,s){return aU(e,t,n,i,o,r),e.tileWidth-FE.x-1}function Oat(e,t,n,i,o,r,s){return aU(e,t,n,i,o,r),e.tileHeight-FE.y-1}var Rat=new ue,NE=new h;function aU(e,t,n,i,o,r,s){if(Yj)return;Kj(e,t,n,i,o,r);let a=NE,c=e.tilingScheme.tileXYToNativeRectangle(t,n,i,Rat);FE.x=e.tileWidth*(a.x-c.west)/c.width|0,FE.y=e.tileHeight*(c.north-a.y)/c.height|0,Yj=!0}function Mat(e,t,n,i,o,r,s){return I.toDegrees(o)}function Bat(e,t,n,i,o,r,s){return I.toDegrees(r)}function Lat(e,t,n,i,o,r,s){return Kj(e,t,n,i,o,r),NE.x}function Nat(e,t,n,i,o,r,s){return Kj(e,t,n,i,o,r),NE.y}var Fat=new he;function Kj(e,t,n,i,o,r,s){if(!Xj){if(e.tilingScheme.projection instanceof xi)NE.x=I.toDegrees(o),NE.y=I.toDegrees(r);else{let a=Fat;a.longitude=o,a.latitude=r,e.tilingScheme.projection.project(a,NE)}Xj=!0}}function Vat(e,t,n,i,o,r,s){return s}var za=VE;function CC(e){e=y(e,y.EMPTY_OBJECT),this._tmsResource=void 0,this._xmlResource=void 0,this._options=e,this._metadataError=void 0,this._metadataSuccess=this._metadataSuccess.bind(this),this._metadataFailure=this._metadataFailure.bind(this),this._requestMetadata=this._requestMetadata.bind(this);let t,n=this,i=Promise.resolve(e.url).then(function(o){return t=Ie.createIfNeeded(o),t.appendForwardSlash(),n._tmsResource=t,n._xmlResource=t.getDerivedResource({url:"tilemapresource.xml"}),n._requestMetadata()}).catch(o=>Promise.reject(o));za.call(this,i),this._promise=i}l(Object.create)&&(CC.prototype=Object.create(za.prototype),CC.prototype.constructor=CC);CC.prototype._requestMetadata=function(){return this._xmlResource.fetchXML().then(this._metadataSuccess).catch(e=>e instanceof Zh?this._metadataFailure():Promise.reject(e))};function y_e(e,t){return e.west<t.rectangle.west&&(e.west=t.rectangle.west),e.east>t.rectangle.east&&(e.east=t.rectangle.east),e.south<t.rectangle.south&&(e.south=t.rectangle.south),e.north>t.rectangle.north&&(e.north=t.rectangle.north),e}function C_e(e,t,n){let i=e.positionToTileXY(ue.southwest(t),n),o=e.positionToTileXY(ue.northeast(t),n);return(Math.abs(o.x-i.x)+1)*(Math.abs(o.y-i.y)+1)>4?0:n}CC.prototype._metadataSuccess=function(e){let t=/tileformat/i,n=/tileset/i,i=/tilesets/i,o=/boundingbox/i,r,s,a,c=[],u=this._xmlResource,f=this._metadataError,d=this._requestMetadata,p=e.childNodes[0].childNodes;for(let M=0;M<p.length;M++)if(t.test(p.item(M).nodeName))r=p.item(M);else if(i.test(p.item(M).nodeName)){a=p.item(M);let B=p.item(M).childNodes;for(let L=0;L<B.length;L++)n.test(B.item(L).nodeName)&&c.push(B.item(L))}else o.test(p.item(M).nodeName)&&(s=p.item(M));let g;if(!l(a)||!l(s))return g=`Unable to find expected tilesets or bbox attributes in ${u.url}.`,f=jn.reportError(f,this,this.errorEvent,g),f.retry?(this._metadataError=f,d()):Promise.reject(new de(g));let m=this._options,C=y(m.fileExtension,r.getAttribute("extension")),x=y(m.tileWidth,parseInt(r.getAttribute("width"),10)),A=y(m.tileHeight,parseInt(r.getAttribute("height"),10)),b=y(m.minimumLevel,parseInt(c[0].getAttribute("order"),10)),E=y(m.maximumLevel,parseInt(c[c.length-1].getAttribute("order"),10)),S=a.getAttribute("profile"),v=m.tilingScheme;if(!l(v))if(S==="geodetic"||S==="global-geodetic")v=new Hi({ellipsoid:m.ellipsoid});else if(S==="mercator"||S==="global-mercator")v=new Ur({ellipsoid:m.ellipsoid});else return g=`${u.url}specifies an unsupported profile attribute, ${S}.`,f=jn.reportError(f,this,this.errorEvent,g),f.retry?(this._metadataError=f,d()):Promise.reject(new de(g));let P=ue.clone(m.rectangle);if(!l(P)){let M,B,L,_;y(m.flipXY,!1)?(L=new G(parseFloat(s.getAttribute("miny")),parseFloat(s.getAttribute("minx"))),_=new G(parseFloat(s.getAttribute("maxy")),parseFloat(s.getAttribute("maxx")))):(L=new G(parseFloat(s.getAttribute("minx")),parseFloat(s.getAttribute("miny"))),_=new G(parseFloat(s.getAttribute("maxx")),parseFloat(s.getAttribute("maxy"))));let w=S==="geodetic"||S==="mercator";if(v.projection instanceof xi||w)M=he.fromDegrees(L.x,L.y),B=he.fromDegrees(_.x,_.y);else{let D=v.projection;M=D.unproject(L),B=D.unproject(_)}P=new ue(M.longitude,M.latitude,B.longitude,B.latitude)}P=y_e(P,v),b=C_e(v,P,b);let O=this._tmsResource.getDerivedResource({url:`{z}/{x}/{reverseY}.${C}`});return Promise.resolve({url:O,tilingScheme:v,rectangle:P,tileWidth:x,tileHeight:A,minimumLevel:b,maximumLevel:E,tileDiscardPolicy:m.tileDiscardPolicy,credit:m.credit})};CC.prototype._metadataFailure=function(){let e=this._options,t=y(e.fileExtension,"png"),n=y(e.tileWidth,256),i=y(e.tileHeight,256),o=e.maximumLevel,r=l(e.tilingScheme)?e.tilingScheme:new Ur({ellipsoid:e.ellipsoid}),s=y(e.rectangle,r.rectangle);s=y_e(s,r);let a=C_e(r,s,e.minimumLevel),c=this._tmsResource.getDerivedResource({url:`{z}/{x}/{reverseY}.${t}`});return Promise.resolve({url:c,tilingScheme:r,rectangle:s,tileWidth:n,tileHeight:i,minimumLevel:a,maximumLevel:o,tileDiscardPolicy:e.tileDiscardPolicy,credit:e.credit})};var xC=CC;var kat=/\/$/,x_e=new jt('&copy; <a href="https://www.mapbox.com/about/maps/">Mapbox</a> &copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> <strong><a href="https://www.mapbox.com/map-feedback/">Improve this map</a></strong>');function UE(e){e=y(e,y.EMPTY_OBJECT);let t=e.mapId,n=e.accessToken;this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0;let i=Ie.createIfNeeded(y(e.url,"https://{s}.tiles.mapbox.com/v4/"));this._mapId=t,this._accessToken=n;let o=y(e.format,"png");/\./.test(o)||(o=`.${o}`),this._format=o;let r=i.getUrlComponent();kat.test(r)||(r+="/"),r+=`${t}/{z}/{x}/{y}${this._format}`,i.url=r,i.setQueryParameters({access_token:n});let s;l(e.credit)?(s=e.credit,typeof s=="string"&&(s=new jt(s))):s=x_e,this._resource=i,this._imageryProvider=new za({url:i,credit:s,ellipsoid:e.ellipsoid,minimumLevel:e.minimumLevel,maximumLevel:e.maximumLevel,rectangle:e.rectangle})}Object.defineProperties(UE.prototype,{url:{get:function(){return this._imageryProvider.url}},ready:{get:function(){return this._imageryProvider.ready}},readyPromise:{get:function(){return this._imageryProvider.readyPromise}},rectangle:{get:function(){return this._imageryProvider.rectangle}},tileWidth:{get:function(){return this._imageryProvider.tileWidth}},tileHeight:{get:function(){return this._imageryProvider.tileHeight}},maximumLevel:{get:function(){return this._imageryProvider.maximumLevel}},minimumLevel:{get:function(){return this._imageryProvider.minimumLevel}},tilingScheme:{get:function(){return this._imageryProvider.tilingScheme}},tileDiscardPolicy:{get:function(){return this._imageryProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._imageryProvider.errorEvent}},credit:{get:function(){return this._imageryProvider.credit}},proxy:{get:function(){return this._imageryProvider.proxy}},hasAlphaChannel:{get:function(){return this._imageryProvider.hasAlphaChannel}}});UE.prototype.getTileCredits=function(e,t,n){};UE.prototype.requestImage=function(e,t,n,i){return this._imageryProvider.requestImage(e,t,n,i)};UE.prototype.pickFeatures=function(e,t,n,i,o){return this._imageryProvider.pickFeatures(e,t,n,i,o)};UE._defaultCredit=x_e;var cU=UE;function gD(e){e=y(e,y.EMPTY_OBJECT),this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0;let t=Ie.createIfNeeded(e.url),n=y(e.rectangle,ue.MAX_VALUE),i=new Hi({rectangle:n,numberOfLevelZeroTilesX:1,numberOfLevelZeroTilesY:1,ellipsoid:e.ellipsoid});this._tilingScheme=i,this._resource=t,this._image=void 0,this._texture=void 0,this._tileWidth=0,this._tileHeight=0,this._errorEvent=new ge,this._ready=!1;let o=e.credit;typeof o=="string"&&(o=new jt(o)),this._credit=o;let r=this,s;function a(f){return r._image=f,r._tileWidth=f.width,r._tileHeight=f.height,r._ready=!0,jn.reportSuccess(r._errorEvent),Promise.resolve(!0)}function c(f){let d=`Failed to load image ${t.url}.`;return s=jn.reportError(s,r,r._errorEvent,d,0,0,0),s.retry?u():Promise.reject(new de(d))}function u(){return ol.loadImage(null,t).then(a).catch(c)}this._readyPromise=u()}Object.defineProperties(gD.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.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}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!0}}});gD.prototype.getTileCredits=function(e,t,n){};gD.prototype.requestImage=function(e,t,n,i){if(!!l(this._image))return Promise.resolve(this._image)};gD.prototype.pickFeatures=function(e,t,n,i,o){};var lU=gD;function yD(e){e=y(e,y.EMPTY_OBJECT),this._tileCache={},this._tilesRequestedForInterval=[];let t=this._clock=e.clock;this._times=e.times,this._requestImageFunction=e.requestImageFunction,this._reloadFunction=e.reloadFunction,this._currentIntervalIndex=-1,t.onTick.addEventListener(this._clockOnTick,this),this._clockOnTick(t)}Object.defineProperties(yD.prototype,{clock:{get:function(){return this._clock},set:function(e){this._clock!==e&&(this._clock=e,this._clockOnTick(e),this._reloadFunction())}},times:{get:function(){return this._times},set:function(e){this._times!==e&&(this._times=e,this._clockOnTick(this._clock),this._reloadFunction())}},currentInterval:{get:function(){return this._times.get(this._currentIntervalIndex)}}});yD.prototype.getFromCache=function(e,t,n,i){let o=A_e(e,t,n),r,s=this._tileCache[this._currentIntervalIndex];if(l(s)&&l(s[o])){let a=s[o];r=a.promise.catch(function(c){throw i.state=a.request.state,c}),delete s[o]}return r};yD.prototype.checkApproachingInterval=function(e,t,n,i){let o=A_e(e,t,n),r=this._tilesRequestedForInterval,s=T_e(this),a={key:o,priorityFunction:i.priorityFunction};(!l(s)||!E_e(this,a,s))&&r.push(a),r.length>=512&&r.splice(0,256)};yD.prototype._clockOnTick=function(e){let t=e.currentTime,i=this._times.indexOf(t),o=this._currentIntervalIndex;if(i!==o){let s=this._tileCache[o];for(let a in s)s.hasOwnProperty(a)&&s[a].request.cancel();delete this._tileCache[o],this._tilesRequestedForInterval=[],this._currentIntervalIndex=i,this._reloadFunction();return}let r=T_e(this);if(l(r)){let s=this._tilesRequestedForInterval,a=!0;for(;a&&s.length!==0;){let c=s.pop();a=E_e(this,c,r),a||s.push(c)}}};function A_e(e,t,n){return`${e}-${t}-${n}`}function Uat(e){let t=e.split("-");if(t.length===3)return{x:Number(t[0]),y:Number(t[1]),level:Number(t[2])}}function T_e(e){let t=e._times;if(!l(t))return;let n=e._clock,i=n.currentTime,o=n.canAnimate&&n.shouldAnimate,r=n.multiplier;if(!o&&r!==0)return;let s,a=t.indexOf(i);if(a<0)return;let c=t.get(a);return r>0?(s=Q.secondsDifference(c.stop,i),++a):(s=Q.secondsDifference(c.start,i),--a),s/=r,a>=0&&s<=5?t.get(a):void 0}function E_e(e,t,n){let i=e._times.indexOf(n.start),o=e._tileCache,r=o[i];l(r)||(r=o[i]={});let s=t.key;if(l(r[s]))return!0;let a=Uat(s),c=new jo({throttle:!1,throttleByServer:!0,type:Kr.IMAGERY,priorityFunction:t.priorityFunction}),u=e._requestImageFunction(a.x,a.y,a.level,c,n);return l(u)?(r[s]={promise:u,request:c},!0):!1}var zE=yD;var zat=[3034,3035,3042,3043,3044],Hat=[4471,4559];function _d(e){if(e=y(e,y.EMPTY_OBJECT),l(e.times)&&!l(e.clock))throw new ye("options.times was specified, so options.clock is required.");this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0,this._getFeatureInfoUrl=y(e.getFeatureInfoUrl,e.url);let t=Ie.createIfNeeded(e.url),n=Ie.createIfNeeded(this._getFeatureInfoUrl);t.setQueryParameters(_d.DefaultParameters,!0),n.setQueryParameters(_d.GetFeatureInfoDefaultParameters,!0),l(e.parameters)&&t.setQueryParameters(b_e(e.parameters)),l(e.getFeatureInfoParameters)&&n.setQueryParameters(b_e(e.getFeatureInfoParameters));let i=this;this._reload=void 0,l(e.times)&&(this._timeDynamicImagery=new zE({clock:e.clock,times:e.times,requestImageFunction:function(s,a,c,u,f){return S_e(i,s,a,c,u,f)},reloadFunction:function(){l(i._reload)&&i._reload()}}));let o={};if(o.layers=e.layers,o.bbox="{westProjected},{southProjected},{eastProjected},{northProjected}",o.width="{width}",o.height="{height}",parseFloat(t.queryParameters.version)>=1.3){o.crs=y(e.crs,e.tilingScheme&&e.tilingScheme.projection instanceof Vi?"EPSG:3857":"CRS:84");let s=o.crs.split(":");if(s[0]==="EPSG"&&s.length===2){let a=Number(s[1]);(a>=4e3&&a<5e3&&!Hat.includes(a)||zat.includes(a))&&(o.bbox="{southProjected},{westProjected},{northProjected},{eastProjected}")}}else o.srs=y(e.srs,e.tilingScheme&&e.tilingScheme.projection instanceof Vi?"EPSG:3857":"EPSG:4326");t.setQueryParameters(o,!0),n.setQueryParameters(o,!0);let r={query_layers:e.layers,info_format:"{format}"};parseFloat(n.queryParameters.version)>=1.3?(r.i="{i}",r.j="{j}"):(r.x="{i}",r.y="{j}"),n.setQueryParameters(r,!0),this._resource=t,this._pickFeaturesResource=n,this._layers=e.layers,this._tileProvider=new za({url:t,pickFeaturesUrl:n,tilingScheme:y(e.tilingScheme,new Hi({ellipsoid:e.ellipsoid})),rectangle:e.rectangle,tileWidth:e.tileWidth,tileHeight:e.tileHeight,minimumLevel:e.minimumLevel,maximumLevel:e.maximumLevel,subdomains:e.subdomains,tileDiscardPolicy:e.tileDiscardPolicy,credit:e.credit,getFeatureInfoFormats:y(e.getFeatureInfoFormats,_d.DefaultGetFeatureInfoFormats),enablePickFeatures:e.enablePickFeatures})}function S_e(e,t,n,i,o,r){let s=l(r)?r.data:void 0,a=e._tileProvider;return l(s)&&a._resource.setQueryParameters(s),a.requestImage(t,n,i,o)}function Gat(e,t,n,i,o,r,s){let a=l(s)?s.data:void 0,c=e._tileProvider;return l(a)&&c._pickFeaturesResource.setQueryParameters(a),c.pickFeatures(t,n,i,o,r)}Object.defineProperties(_d.prototype,{url:{get:function(){return this._resource._url}},proxy:{get:function(){return this._resource.proxy}},layers:{get:function(){return this._layers}},tileWidth:{get:function(){return this._tileProvider.tileWidth}},tileHeight:{get:function(){return this._tileProvider.tileHeight}},maximumLevel:{get:function(){return this._tileProvider.maximumLevel}},minimumLevel:{get:function(){return this._tileProvider.minimumLevel}},tilingScheme:{get:function(){return this._tileProvider.tilingScheme}},rectangle:{get:function(){return this._tileProvider.rectangle}},tileDiscardPolicy:{get:function(){return this._tileProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._tileProvider.errorEvent}},ready:{get:function(){return this._tileProvider.ready}},readyPromise:{get:function(){return this._tileProvider.readyPromise}},credit:{get:function(){return this._tileProvider.credit}},hasAlphaChannel:{get:function(){return this._tileProvider.hasAlphaChannel}},enablePickFeatures:{get:function(){return this._tileProvider.enablePickFeatures},set:function(e){this._tileProvider.enablePickFeatures=e}},clock:{get:function(){return this._timeDynamicImagery.clock},set:function(e){this._timeDynamicImagery.clock=e}},times:{get:function(){return this._timeDynamicImagery.times},set:function(e){this._timeDynamicImagery.times=e}},getFeatureInfoUrl:{get:function(){return this._getFeatureInfoUrl}}});_d.prototype.getTileCredits=function(e,t,n){return this._tileProvider.getTileCredits(e,t,n)};_d.prototype.requestImage=function(e,t,n,i){let o,r=this._timeDynamicImagery,s;return l(r)&&(s=r.currentInterval,o=r.getFromCache(e,t,n,i)),l(o)||(o=S_e(this,e,t,n,i,s)),l(o)&&l(r)&&r.checkApproachingInterval(e,t,n,i),o};_d.prototype.pickFeatures=function(e,t,n,i,o){let r=this._timeDynamicImagery,s=l(r)?r.currentInterval:void 0;return Gat(this,e,t,n,i,o,s)};_d.DefaultParameters=Object.freeze({service:"WMS",version:"1.1.1",request:"GetMap",styles:"",format:"image/jpeg"});_d.GetFeatureInfoDefaultParameters=Object.freeze({service:"WMS",version:"1.1.1",request:"GetFeatureInfo"});_d.DefaultGetFeatureInfoFormats=Object.freeze([Object.freeze(new PE("json","application/json")),Object.freeze(new PE("xml","text/xml")),Object.freeze(new PE("text","text/html"))]);function b_e(e){let t={};for(let n in e)e.hasOwnProperty(n)&&(t[n.toLowerCase()]=e[n]);return t}var uU=_d;var Wat=Object.freeze({service:"WMTS",version:"1.0.0",request:"GetTile"});function CD(e){e=y(e,y.EMPTY_OBJECT),this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0;let t=Ie.createIfNeeded(e.url),n=e.style,i=e.tileMatrixSetID,o=t.url,r=o.match(/{/g);if(!l(r)||r.length===1&&/{s}/.test(o))t.setQueryParameters(Wat),this._useKvp=!0;else{let d={style:n,Style:n,TileMatrixSet:i};t.setTemplateValues(d),this._useKvp=!1}this._resource=t,this._layer=e.layer,this._style=n,this._tileMatrixSetID=i,this._tileMatrixLabels=e.tileMatrixLabels,this._format=y(e.format,"image/jpeg"),this._tileDiscardPolicy=e.tileDiscardPolicy,this._tilingScheme=l(e.tilingScheme)?e.tilingScheme:new Ur({ellipsoid:e.ellipsoid}),this._tileWidth=y(e.tileWidth,256),this._tileHeight=y(e.tileHeight,256),this._minimumLevel=y(e.minimumLevel,0),this._maximumLevel=e.maximumLevel,this._rectangle=y(e.rectangle,this._tilingScheme.rectangle),this._dimensions=e.dimensions;let s=this;this._reload=void 0,l(e.times)&&(this._timeDynamicImagery=new zE({clock:e.clock,times:e.times,requestImageFunction:function(d,p,g,m,C){return w_e(s,d,p,g,m,C)},reloadFunction:function(){l(s._reload)&&s._reload()}})),this._readyPromise=Promise.resolve(!0);let a=this._tilingScheme.positionToTileXY(ue.southwest(this._rectangle),this._minimumLevel),c=this._tilingScheme.positionToTileXY(ue.northeast(this._rectangle),this._minimumLevel),u=(Math.abs(c.x-a.x)+1)*(Math.abs(c.y-a.y)+1);this._errorEvent=new ge;let f=e.credit;this._credit=typeof f=="string"?new jt(f):f,this._subdomains=e.subdomains,Array.isArray(this._subdomains)?this._subdomains=this._subdomains.slice():l(this._subdomains)&&this._subdomains.length>0?this._subdomains=this._subdomains.split(""):this._subdomains=["a","b","c"]}function w_e(e,t,n,i,o,r){let s=e._tileMatrixLabels,a=l(s)?s[i]:i.toString(),c=e._subdomains,u=e._dimensions,f=l(r)?r.data:void 0,d,p;if(!e._useKvp)p={TileMatrix:a,TileRow:n.toString(),TileCol:t.toString(),s:c[(t+n+i)%c.length]},d=e._resource.getDerivedResource({request:o}),d.setTemplateValues(p),l(u)&&d.setTemplateValues(u),l(f)&&d.setTemplateValues(f);else{let g={};g.tilematrix=a,g.layer=e._layer,g.style=e._style,g.tilerow=n,g.tilecol=t,g.tilematrixset=e._tileMatrixSetID,g.format=e._format,l(u)&&(g=mt(g,u)),l(f)&&(g=mt(g,f)),p={s:c[(t+n+i)%c.length]},d=e._resource.getDerivedResource({queryParameters:g,request:o}),d.setTemplateValues(p)}return ol.loadImage(e,d)}Object.defineProperties(CD.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.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}},rectangle:{get:function(){return this._rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},format:{get:function(){return this._format}},ready:{value:!0},readyPromise:{get:function(){return this._readyPromise}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!0}},clock:{get:function(){return this._timeDynamicImagery.clock},set:function(e){this._timeDynamicImagery.clock=e}},times:{get:function(){return this._timeDynamicImagery.times},set:function(e){this._timeDynamicImagery.times=e}},dimensions:{get:function(){return this._dimensions},set:function(e){this._dimensions!==e&&(this._dimensions=e,l(this._reload)&&this._reload())}}});CD.prototype.getTileCredits=function(e,t,n){};CD.prototype.requestImage=function(e,t,n,i){let o,r=this._timeDynamicImagery,s;return l(r)&&(s=r.currentInterval,o=r.getFromCache(e,t,n,i)),l(o)||(o=w_e(this,e,t,n,i,s)),l(o)&&l(r)&&r.checkApproachingInterval(e,t,n,i),o};CD.prototype.pickFeatures=function(e,t,n,i,o){};var fU=CD;function Ap(e){return function(t){return new e(t)}}var jat={ARCGIS_MAPSERVER:Ap(Yg),BING:Ap(VV),GOOGLE_EARTH:Ap(nU),MAPBOX:Ap(cU),SINGLE_TILE:Ap(lU),TMS:Ap(xC),URL_TEMPLATE:Ap(za),WMS:Ap(uU),WMTS:Ap(fU)};function Qg(e){e=y(e,y.EMPTY_OBJECT);let t=e.assetId;this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0,this._ready=!1,this._tileCredits=void 0,this._errorEvent=new ge;let n=this,i=Xd._createEndpointResource(t,e),o=e.assetId.toString()+e.accessToken+e.server,r=Qg._endpointCache[o];l(r)||(r=i.fetchJson(),Qg._endpointCache[o]=r),this._readyPromise=r.then(function(s){if(s.type!=="IMAGERY")return Promise.reject(new de(`Cesium ion asset ${t} is not an imagery asset.`));let a,c=s.externalType;if(!l(c))a=new xC({url:new Xd(s,i)});else{let u=jat[c];if(!l(u))return Promise.reject(new de(`Unrecognized Cesium ion imagery type: ${c}`));a=u(s.options)}return n._tileCredits=Xd.getCreditsFromEndpoint(s,i),a.errorEvent.addEventListener(function(u){u.provider=n,n._errorEvent.raiseEvent(u)}),n._imageryProvider=a,a.readyPromise.then(function(){return n._ready=!0,!0})})}Object.defineProperties(Qg.prototype,{ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}},rectangle:{get:function(){return this._imageryProvider.rectangle}},tileWidth:{get:function(){return this._imageryProvider.tileWidth}},tileHeight:{get:function(){return this._imageryProvider.tileHeight}},maximumLevel:{get:function(){return this._imageryProvider.maximumLevel}},minimumLevel:{get:function(){return this._imageryProvider.minimumLevel}},tilingScheme:{get:function(){return this._imageryProvider.tilingScheme}},tileDiscardPolicy:{get:function(){return this._imageryProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._imageryProvider.credit}},hasAlphaChannel:{get:function(){return this._imageryProvider.hasAlphaChannel},proxy:{get:function(){}}}});Qg.prototype.getTileCredits=function(e,t,n){let i=this._imageryProvider.getTileCredits(e,t,n);return l(i)?this._tileCredits.concat(i):this._tileCredits};Qg.prototype.requestImage=function(e,t,n,i){return this._imageryProvider.requestImage(e,t,n,i)};Qg.prototype.pickFeatures=function(e,t,n,i,o){return this._imageryProvider.pickFeatures(e,t,n,i,o)};Qg._endpointCache={};var e0=Qg;var qat={AERIAL:2,AERIAL_WITH_LABELS:3,ROAD:4},t0=Object.freeze(qat);function dU(e){this._total=e,this.usedThisFrame=0,this.stolenFromMeThisFrame=0,this.starvedThisFrame=!1,this.starvedLastFrame=!1}Object.defineProperties(dU.prototype,{total:{get:function(){return this._total}}});function n0(e){let t=new Array(Sa.NUMBER_OF_JOB_TYPES);t[Sa.TEXTURE]=new dU(l(e)?e[Sa.TEXTURE]:10),t[Sa.PROGRAM]=new dU(l(e)?e[Sa.PROGRAM]:10),t[Sa.BUFFER]=new dU(l(e)?e[Sa.BUFFER]:30);let n=t.length,i,o=0;for(i=0;i<n;++i)o+=t[i].total;let r=new Array(n);for(i=0;i<n;++i)r[i]=!1;this._totalBudget=o,this._totalUsedThisFrame=0,this._budgets=t,this._executedThisFrame=r}n0.getTimestamp=Ei;Object.defineProperties(n0.prototype,{totalBudget:{get:function(){return this._totalBudget}}});n0.prototype.disableThisFrame=function(){this._totalUsedThisFrame=this._totalBudget};n0.prototype.resetBudgets=function(){let e=this._budgets,t=e.length;for(let n=0;n<t;++n){let i=e[n];i.starvedLastFrame=i.starvedThisFrame,i.starvedThisFrame=!1,i.usedThisFrame=0,i.stolenFromMeThisFrame=0}this._totalUsedThisFrame=0};n0.prototype.execute=function(e,t){let n=this._budgets,i=n[t],o=this._executedThisFrame[t];if(this._totalUsedThisFrame>=this._totalBudget&&o)return i.starvedThisFrame=!0,!1;let r;if(i.usedThisFrame+i.stolenFromMeThisFrame>=i.total){let c=n.length,u;for(u=0;u<c&&(r=n[u],!(r.usedThisFrame+r.stolenFromMeThisFrame<r.total&&!r.starvedLastFrame));++u);if(u===c&&o)return!1;o&&(i.starvedThisFrame=!0)}let s=n0.getTimestamp();e.execute();let a=n0.getTimestamp()-s;return this._totalUsedThisFrame+=a,r?r.stolenFromMeThisFrame+=a:i.usedThisFrame+=a,this._executedThisFrame[t]=!0,!0};var hU=n0;function v_e(){}Object.defineProperties(v_e.prototype,{color:{get:ye.throwInstantiationError},intensity:{get:ye.throwInstantiationError}});var D_e=v_e;var Yat=/\/$/,P_e=new jt('&copy; <a href="https://www.mapbox.com/about/maps/">Mapbox</a> &copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> <strong><a href="https://www.mapbox.com/map-feedback/">Improve this map</a></strong>');function HE(e){e=y(e,y.EMPTY_OBJECT);let t=e.styleId,n=e.accessToken;this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0;let i=Ie.createIfNeeded(y(e.url,"https://api.mapbox.com/styles/v1/"));this._styleId=t,this._accessToken=n;let o=y(e.tilesize,512);this._tilesize=o;let r=y(e.username,"mapbox");this._username=r;let s=l(e.scaleFactor)?"@2x":"",a=i.getUrlComponent();Yat.test(a)||(a+="/"),a+=`${this._username}/${t}/tiles/${this._tilesize}/{z}/{x}/{y}${s}`,i.url=a,i.setQueryParameters({access_token:n});let c;l(e.credit)?(c=e.credit,typeof c=="string"&&(c=new jt(c))):c=P_e,this._resource=i,this._imageryProvider=new za({url:i,credit:c,ellipsoid:e.ellipsoid,minimumLevel:e.minimumLevel,maximumLevel:e.maximumLevel,rectangle:e.rectangle})}Object.defineProperties(HE.prototype,{url:{get:function(){return this._imageryProvider.url}},ready:{get:function(){return this._imageryProvider.ready}},readyPromise:{get:function(){return this._imageryProvider.readyPromise}},rectangle:{get:function(){return this._imageryProvider.rectangle}},tileWidth:{get:function(){return this._imageryProvider.tileWidth}},tileHeight:{get:function(){return this._imageryProvider.tileHeight}},maximumLevel:{get:function(){return this._imageryProvider.maximumLevel}},minimumLevel:{get:function(){return this._imageryProvider.minimumLevel}},tilingScheme:{get:function(){return this._imageryProvider.tilingScheme}},tileDiscardPolicy:{get:function(){return this._imageryProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._imageryProvider.errorEvent}},credit:{get:function(){return this._imageryProvider.credit}},proxy:{get:function(){return this._imageryProvider.proxy}},hasAlphaChannel:{get:function(){return this._imageryProvider.hasAlphaChannel}}});HE.prototype.getTileCredits=function(e,t,n){};HE.prototype.requestImage=function(e,t,n,i){return this._imageryProvider.requestImage(e,t,n,i)};HE.prototype.pickFeatures=function(e,t,n,i,o){return this._imageryProvider.pickFeatures(e,t,n,i,o)};HE._defaultCredit=P_e;var I_e=HE;function xD(e){e=y(e,y.EMPTY_OBJECT);let t=e.textureUrl;l(t)||(t=Zt("Assets/Textures/moonSmall.jpg")),this.show=y(e.show,!0),this.textureUrl=t,this._ellipsoid=y(e.ellipsoid,oe.MOON),this.onlySunLighting=y(e.onlySunLighting,!0),this._ellipsoidPrimitive=new _k({radii:this.ellipsoid.radii,material:Qi.fromType(Qi.ImageType),depthTestEnabled:!1,_owner:this}),this._ellipsoidPrimitive.material.translucent=!1,this._axes=new cI}Object.defineProperties(xD.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});var mU=new J,Xat=new J,Kat=new h,pU=[];xD.prototype.update=function(e){if(!this.show)return;let t=this._ellipsoidPrimitive;t.material.uniforms.image=this.textureUrl,t.onlySunLighting=this.onlySunLighting;let n=e.time;l(Dt.computeIcrfToFixedMatrix(n,mU))||Dt.computeTemeToPseudoFixedMatrix(n,mU);let i=this._axes.evaluate(n,Xat);J.transpose(i,i),J.multiply(mU,i,i);let o=iy.computeMoonPositionInEarthInertialFrame(n,Kat);J.multiplyByVector(mU,o,o),N.fromRotationTranslation(i,o,t.modelMatrix);let r=e.commandList;return e.commandList=pU,pU.length=0,t.update(e),e.commandList=r,pU.length===1?pU[0]:void 0};xD.prototype.isDestroyed=function(){return!1};xD.prototype.destroy=function(){return this._ellipsoidPrimitive=this._ellipsoidPrimitive&&this._ellipsoidPrimitive.destroy(),fe(this)};var _U=xD;function Zj(e){}Zj.prototype.isReady=function(){return!0};Zj.prototype.shouldDiscardImage=function(e){return!1};var O_e=Zj;var AD=`#ifdef MRT
  6950. #extension GL_EXT_draw_buffers : enable
  6951. #endif
  6952. uniform vec4 u_bgColor;
  6953. uniform sampler2D u_depthTexture;
  6954. varying vec2 v_textureCoordinates;
  6955. void main()
  6956. {
  6957. if (texture2D(u_depthTexture, v_textureCoordinates).r < 1.0)
  6958. {
  6959. #ifdef MRT
  6960. gl_FragData[0] = u_bgColor;
  6961. gl_FragData[1] = vec4(u_bgColor.a);
  6962. #else
  6963. gl_FragColor = u_bgColor;
  6964. #endif
  6965. return;
  6966. }
  6967. discard;
  6968. }
  6969. `;var gU=`uniform sampler2D u_opaque;
  6970. uniform sampler2D u_accumulation;
  6971. uniform sampler2D u_revealage;
  6972. varying vec2 v_textureCoordinates;
  6973. void main()
  6974. {
  6975. vec4 opaque = texture2D(u_opaque, v_textureCoordinates);
  6976. vec4 accum = texture2D(u_accumulation, v_textureCoordinates);
  6977. float r = texture2D(u_revealage, v_textureCoordinates).r;
  6978. #ifdef MRT
  6979. vec4 transparent = vec4(accum.rgb / clamp(r, 1e-4, 5e4), accum.a);
  6980. #else
  6981. vec4 transparent = vec4(accum.rgb / clamp(accum.a, 1e-4, 5e4), r);
  6982. #endif
  6983. gl_FragColor = (1.0 - transparent.a) * transparent + transparent.a * opaque;
  6984. if (opaque != czm_backgroundColor)
  6985. {
  6986. gl_FragColor.a = 1.0;
  6987. }
  6988. }
  6989. `;function Tp(e){this._numSamples=1,this._translucentMultipassSupport=!1,this._translucentMRTSupport=!1;let t=e.colorBufferFloat&&e.depthTexture&&e.floatBlend;this._translucentMRTSupport=e.drawBuffers&&t,this._translucentMultipassSupport=!this._translucentMRTSupport&&t,this._opaqueFBO=void 0,this._opaqueTexture=void 0,this._depthStencilTexture=void 0,this._accumulationTexture=void 0,this._translucentFBO=new ci({colorAttachmentsLength:this._translucentMRTSupport?2:1,createColorAttachments:!1,createDepthAttachments:!1,depth:!0}),this._alphaFBO=new ci({createColorAttachments:!1,createDepthAttachments:!1,depth:!0}),this._adjustTranslucentFBO=new ci({colorAttachmentsLength:this._translucentMRTSupport?2:1,createColorAttachments:!1}),this._adjustAlphaFBO=new ci({createColorAttachments:!1}),this._opaqueClearCommand=new oi({color:new U(0,0,0,0),owner:this}),this._translucentMRTClearCommand=new oi({color:new U(0,0,0,1),owner:this}),this._translucentMultipassClearCommand=new oi({color:new U(0,0,0,0),owner:this}),this._alphaClearCommand=new oi({color:new U(1,1,1,1),owner:this}),this._translucentRenderStateCache={},this._alphaRenderStateCache={},this._compositeCommand=void 0,this._adjustTranslucentCommand=void 0,this._adjustAlphaCommand=void 0,this._viewport=new Ge,this._rs=void 0,this._useScissorTest=!1,this._scissorRectangle=void 0,this._useHDR=!1}function R_e(e){e._accumulationTexture=e._accumulationTexture&&!e._accumulationTexture.isDestroyed()&&e._accumulationTexture.destroy(),e._revealageTexture=e._revealageTexture&&!e._revealageTexture.isDestroyed()&&e._revealageTexture.destroy()}function $j(e){e._translucentFBO.destroy(),e._alphaFBO.destroy(),e._adjustTranslucentFBO.destroy(),e._adjustAlphaFBO.destroy()}function M_e(e){R_e(e),$j(e)}function Zat(e,t,n,i){R_e(e),e._accumulationTexture=new Ot({context:t,width:n,height:i,pixelFormat:ft.RGBA,pixelDatatype:je.FLOAT});let o=new Float32Array(n*i*4);e._revealageTexture=new Ot({context:t,pixelFormat:ft.RGBA,pixelDatatype:je.FLOAT,source:{arrayBufferView:o,width:n,height:i},flipY:!1})}function $at(e,t){$j(e);let n=te.FRAMEBUFFER_COMPLETE,i=!0,o=e._accumulationTexture.width,r=e._accumulationTexture.height;if(e._translucentMRTSupport&&(e._translucentFBO.setColorTexture(e._accumulationTexture,0),e._translucentFBO.setColorTexture(e._revealageTexture,1),e._translucentFBO.setDepthStencilTexture(e._depthStencilTexture),e._translucentFBO.update(t,o,r),e._adjustTranslucentFBO.setColorTexture(e._accumulationTexture,0),e._adjustTranslucentFBO.setColorTexture(e._revealageTexture,1),e._adjustTranslucentFBO.update(t,o,r),(e._translucentFBO.status!==n||e._adjustTranslucentFBO.status!==n)&&($j(e),e._translucentMRTSupport=!1)),!e._translucentMRTSupport){e._translucentFBO.setColorTexture(e._accumulationTexture),e._translucentFBO.setDepthStencilTexture(e._depthStencilTexture),e._translucentFBO.update(t,o,r),e._alphaFBO.setColorTexture(e._revealageTexture),e._alphaFBO.setDepthStencilTexture(e._depthStencilTexture),e._alphaFBO.update(t,o,r),e._adjustTranslucentFBO.setColorTexture(e._accumulationTexture),e._adjustTranslucentFBO.update(t,o,r),e._adjustAlphaFBO.setColorTexture(e._revealageTexture),e._adjustAlphaFBO.update(t,o,r);let s=e._translucentFBO.status===n,a=e._alphaFBO.status===n,c=e._adjustTranslucentFBO.status===n,u=e._adjustAlphaFBO.status===n;(!s||!a||!c||!u)&&(M_e(e),e._translucentMultipassSupport=!1,i=!1)}return i}Tp.prototype.update=function(e,t,n,i,o){if(!this.isSupported())return;this._opaqueFBO=n,this._opaqueTexture=n.getColorTexture(0),this._depthStencilTexture=n.getDepthStencilTexture();let r=this._opaqueTexture.width,s=this._opaqueTexture.height,a=this._accumulationTexture,c=!l(a)||a.width!==r||a.height!==s||i!==this._useHDR,u=this._numSamples!==o;if((c||u)&&(this._numSamples=o,Zat(this,e,r,s)),(!l(this._translucentFBO.framebuffer)||c||u)&&!$at(this,e))return;this._useHDR=i;let f=this,d,p;l(this._compositeCommand)||(d=new ke({sources:[gU]}),this._translucentMRTSupport&&d.defines.push("MRT"),p={u_opaque:function(){return f._opaqueTexture},u_accumulation:function(){return f._accumulationTexture},u_revealage:function(){return f._revealageTexture}},this._compositeCommand=e.createViewportQuadCommand(d,{uniformMap:p,owner:this})),l(this._adjustTranslucentCommand)||(this._translucentMRTSupport?(d=new ke({defines:["MRT"],sources:[AD]}),p={u_bgColor:function(){return f._translucentMRTClearCommand.color},u_depthTexture:function(){return f._depthStencilTexture}},this._adjustTranslucentCommand=e.createViewportQuadCommand(d,{uniformMap:p,owner:this})):this._translucentMultipassSupport&&(d=new ke({sources:[AD]}),p={u_bgColor:function(){return f._translucentMultipassClearCommand.color},u_depthTexture:function(){return f._depthStencilTexture}},this._adjustTranslucentCommand=e.createViewportQuadCommand(d,{uniformMap:p,owner:this}),p={u_bgColor:function(){return f._alphaClearCommand.color},u_depthTexture:function(){return f._depthStencilTexture}},this._adjustAlphaCommand=e.createViewportQuadCommand(d,{uniformMap:p,owner:this}))),this._viewport.width=r,this._viewport.height=s;let g=!Ge.equals(this._viewport,t.viewport),m=g!==this._useScissorTest;this._useScissorTest=g,Ge.equals(this._scissorRectangle,t.viewport)||(this._scissorRectangle=Ge.clone(t.viewport,this._scissorRectangle),m=!0),(!l(this._rs)||!Ge.equals(this._viewport,this._rs.viewport)||m)&&(this._rs=Fe.fromCache({viewport:this._viewport,scissorTest:{enabled:this._useScissorTest,rectangle:this._scissorRectangle}})),l(this._compositeCommand)&&(this._compositeCommand.renderState=this._rs),this._adjustTranslucentCommand&&(this._adjustTranslucentCommand.renderState=this._rs),l(this._adjustAlphaCommand)&&(this._adjustAlphaCommand.renderState=this._rs)};var Jat={enabled:!0,color:new U(0,0,0,0),equationRgb:Aa.ADD,equationAlpha:Aa.ADD,functionSourceRgb:To.ONE,functionDestinationRgb:To.ONE,functionSourceAlpha:To.ZERO,functionDestinationAlpha:To.ONE_MINUS_SOURCE_ALPHA},Qat={enabled:!0,color:new U(0,0,0,0),equationRgb:Aa.ADD,equationAlpha:Aa.ADD,functionSourceRgb:To.ONE,functionDestinationRgb:To.ONE,functionSourceAlpha:To.ONE,functionDestinationAlpha:To.ONE},ect={enabled:!0,color:new U(0,0,0,0),equationRgb:Aa.ADD,equationAlpha:Aa.ADD,functionSourceRgb:To.ZERO,functionDestinationRgb:To.ONE_MINUS_SOURCE_ALPHA,functionSourceAlpha:To.ZERO,functionDestinationAlpha:To.ONE_MINUS_SOURCE_ALPHA};function Jj(e,t,n,i){let o=n[i.id];if(!l(o)){let r=Fe.getState(i);r.depthMask=!1,r.blending=t,o=Fe.fromCache(r),n[i.id]=o}return o}function tct(e,t,n){return Jj(t,Jat,e._translucentRenderStateCache,n)}function nct(e,t,n){return Jj(t,Qat,e._translucentRenderStateCache,n)}function ict(e,t,n){return Jj(t,ect,e._alphaRenderStateCache,n)}var oct=` vec3 Ci = czm_gl_FragColor.rgb * czm_gl_FragColor.a;
  6990. float ai = czm_gl_FragColor.a;
  6991. float wzi = czm_alphaWeight(ai);
  6992. gl_FragData[0] = vec4(Ci * wzi, ai);
  6993. gl_FragData[1] = vec4(ai * wzi);
  6994. `,rct=` vec3 Ci = czm_gl_FragColor.rgb * czm_gl_FragColor.a;
  6995. float ai = czm_gl_FragColor.a;
  6996. float wzi = czm_alphaWeight(ai);
  6997. gl_FragColor = vec4(Ci, ai) * wzi;
  6998. `,sct=` float ai = czm_gl_FragColor.a;
  6999. gl_FragColor = vec4(ai);
  7000. `;function Qj(e,t,n,i){let o=e.shaderCache.getDerivedShaderProgram(t,n);if(!l(o)){let r=t._attributeLocations,s=t.fragmentShaderSource.clone();s.sources=s.sources.map(function(a){return a=ke.replaceMain(a,"czm_translucent_main"),a=a.replace(/gl_FragColor/g,"czm_gl_FragColor"),a=a.replace(/\bdiscard\b/g,"czm_discard = true"),a=a.replace(/czm_phong/g,"czm_translucentPhong"),a}),s.sources.splice(0,0,`${i.indexOf("gl_FragData")!==-1?`#extension GL_EXT_draw_buffers : enable
  7001. `:""}vec4 czm_gl_FragColor;
  7002. bool czm_discard = false;
  7003. `),s.sources.push(`void main()
  7004. {
  7005. czm_translucent_main();
  7006. if (czm_discard)
  7007. {
  7008. discard;
  7009. }
  7010. ${i}}
  7011. `),o=e.shaderCache.createDerivedShaderProgram(t,n,{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:s,attributeLocations:r})}return o}function act(e,t){return Qj(e,t,"translucentMRT",oct)}function cct(e,t){return Qj(e,t,"translucentMultipass",rct)}function lct(e,t){return Qj(e,t,"alphaMultipass",sct)}Tp.prototype.createDerivedCommands=function(e,t,n){if(l(n)||(n={}),this._translucentMRTSupport){let i,o;l(n.translucentCommand)&&(i=n.translucentCommand.shaderProgram,o=n.translucentCommand.renderState),n.translucentCommand=Je.shallowClone(e,n.translucentCommand),!l(i)||n.shaderProgramId!==e.shaderProgram.id?(n.translucentCommand.shaderProgram=act(t,e.shaderProgram),n.translucentCommand.renderState=tct(this,t,e.renderState),n.shaderProgramId=e.shaderProgram.id):(n.translucentCommand.shaderProgram=i,n.translucentCommand.renderState=o)}else{let i,o,r,s;l(n.translucentCommand)&&(i=n.translucentCommand.shaderProgram,o=n.translucentCommand.renderState,r=n.alphaCommand.shaderProgram,s=n.alphaCommand.renderState),n.translucentCommand=Je.shallowClone(e,n.translucentCommand),n.alphaCommand=Je.shallowClone(e,n.alphaCommand),!l(i)||n.shaderProgramId!==e.shaderProgram.id?(n.translucentCommand.shaderProgram=cct(t,e.shaderProgram),n.translucentCommand.renderState=nct(this,t,e.renderState),n.alphaCommand.shaderProgram=lct(t,e.shaderProgram),n.alphaCommand.renderState=ict(this,t,e.renderState),n.shaderProgramId=e.shaderProgram.id):(n.translucentCommand.shaderProgram=i,n.translucentCommand.renderState=o,n.alphaCommand.shaderProgram=r,n.alphaCommand.renderState=s)}return n};function uct(e,t,n,i,o,r){let s,a,c,u=t.context,f=t.frameState.useLogDepth,d=t._hdr,p=i.framebuffer,g=o.length,m=t.frameState.shadowState.lightShadowsEnabled;i.framebuffer=e._adjustTranslucentFBO.framebuffer,e._adjustTranslucentCommand.execute(u,i),i.framebuffer=e._adjustAlphaFBO.framebuffer,e._adjustAlphaCommand.execute(u,i);let C=e._opaqueFBO.framebuffer;for(i.framebuffer=e._translucentFBO.framebuffer,c=0;c<g;++c)s=o[c],s=f?s.derivedCommands.logDepth.command:s,s=d?s.derivedCommands.hdr.command:s,a=m&&s.receiveShadows?s.derivedCommands.oit.shadows.translucentCommand:s.derivedCommands.oit.translucentCommand,n(a,t,u,i,C);for(l(r)&&(s=r.unclassifiedCommand,a=m&&s.receiveShadows?s.derivedCommands.oit.shadows.translucentCommand:s.derivedCommands.oit.translucentCommand,n(a,t,u,i,C)),i.framebuffer=e._alphaFBO.framebuffer,c=0;c<g;++c)s=o[c],s=f?s.derivedCommands.logDepth.command:s,s=d?s.derivedCommands.hdr.command:s,a=m&&s.receiveShadows?s.derivedCommands.oit.shadows.alphaCommand:s.derivedCommands.oit.alphaCommand,n(a,t,u,i,C);l(r)&&(s=r.unclassifiedCommand,a=m&&s.receiveShadows?s.derivedCommands.oit.shadows.alphaCommand:s.derivedCommands.oit.alphaCommand,n(a,t,u,i,C)),i.framebuffer=p}function fct(e,t,n,i,o,r){let s=t.context,a=t.frameState.useLogDepth,c=t._hdr,u=i.framebuffer,f=o.length,d=t.frameState.shadowState.lightShadowsEnabled;i.framebuffer=e._adjustTranslucentFBO.framebuffer,e._adjustTranslucentCommand.execute(s,i);let p=e._opaqueFBO.framebuffer;i.framebuffer=e._translucentFBO.framebuffer;let g,m;for(let C=0;C<f;++C)g=o[C],g=a?g.derivedCommands.logDepth.command:g,g=c?g.derivedCommands.hdr.command:g,m=d&&g.receiveShadows?g.derivedCommands.oit.shadows.translucentCommand:g.derivedCommands.oit.translucentCommand,n(m,t,s,i,p);l(r)&&(g=r.unclassifiedCommand,m=d&&g.receiveShadows?g.derivedCommands.oit.shadows.translucentCommand:g.derivedCommands.oit.translucentCommand,n(m,t,s,i,p)),i.framebuffer=u}Tp.prototype.executeCommands=function(e,t,n,i,o){if(this._translucentMRTSupport){fct(this,e,t,n,i,o);return}uct(this,e,t,n,i,o)};Tp.prototype.execute=function(e,t){this._compositeCommand.execute(e,t)};Tp.prototype.clear=function(e,t,n){let i=t.framebuffer;t.framebuffer=this._opaqueFBO.framebuffer,U.clone(n,this._opaqueClearCommand.color),this._opaqueClearCommand.execute(e,t),t.framebuffer=this._translucentFBO.framebuffer,(this._translucentMRTSupport?this._translucentMRTClearCommand:this._translucentMultipassClearCommand).execute(e,t),this._translucentMultipassSupport&&(t.framebuffer=this._alphaFBO.framebuffer,this._alphaClearCommand.execute(e,t)),t.framebuffer=i};Tp.prototype.isSupported=function(){return this._translucentMRTSupport||this._translucentMultipassSupport};Tp.prototype.isDestroyed=function(){return!1};Tp.prototype.destroy=function(){return M_e(this),l(this._compositeCommand)&&(this._compositeCommand.shaderProgram=this._compositeCommand.shaderProgram&&this._compositeCommand.shaderProgram.destroy()),l(this._adjustTranslucentCommand)&&(this._adjustTranslucentCommand.shaderProgram=this._adjustTranslucentCommand.shaderProgram&&this._adjustTranslucentCommand.shaderProgram.destroy()),l(this._adjustAlphaCommand)&&(this._adjustAlphaCommand.shaderProgram=this._adjustAlphaCommand.shaderProgram&&this._adjustAlphaCommand.shaderProgram.destroy()),fe(this)};var yU=Tp;var dct=new jt("MapQuest, Open Street Map and contributors, CC-BY-SA");function CU(e){e=y(e,y.EMPTY_OBJECT);let t=Ie.createIfNeeded(y(e.url,"https://a.tile.openstreetmap.org/"));t.appendForwardSlash(),t.url+=`{z}/{x}/{y}.${y(e.fileExtension,"png")}`;let n=new Ur({ellipsoid:e.ellipsoid}),i=256,o=256,r=y(e.minimumLevel,0),s=e.maximumLevel,a=y(e.rectangle,n.rectangle),c=n.positionToTileXY(ue.southwest(a),r),u=n.positionToTileXY(ue.northeast(a),r),f=(Math.abs(u.x-c.x)+1)*(Math.abs(u.y-c.y)+1),d=y(e.credit,dct);typeof d=="string"&&(d=new jt(d)),za.call(this,{url:t,credit:d,tilingScheme:n,tileWidth:i,tileHeight:o,minimumLevel:r,maximumLevel:s,rectangle:a})}l(Object.create)&&(CU.prototype=Object.create(za.prototype),CU.prototype.constructor=CU);var GE=CU;var hct=new G(1,1);function eq(e){e=y(e,y.EMPTY_OBJECT),this.mass=y(e.mass,1),this.position=h.clone(y(e.position,h.ZERO)),this.velocity=h.clone(y(e.velocity,h.ZERO)),this.life=y(e.life,Number.MAX_VALUE),this.image=e.image,this.startColor=U.clone(y(e.startColor,U.WHITE)),this.endColor=U.clone(y(e.endColor,U.WHITE)),this.startScale=y(e.startScale,1),this.endScale=y(e.endScale,1),this.imageSize=G.clone(y(e.imageSize,hct)),this._age=0,this._normalizedAge=0,this._billboard=void 0}Object.defineProperties(eq.prototype,{age:{get:function(){return this._age}},normalizedAge:{get:function(){return this._normalizedAge}}});var B_e=new h;eq.prototype.update=function(e,t){return h.multiplyByScalar(this.velocity,e,B_e),h.add(this.position,B_e,this.position),l(t)&&t(this,e),this._age+=e,this.life===Number.MAX_VALUE?this._normalizedAge=0:this._normalizedAge=this._age/this.life,this._age<=this.life};var TD=eq;function L_e(e){e=y(e,y.EMPTY_OBJECT),this.time=y(e.time,0),this.minimum=y(e.minimum,0),this.maximum=y(e.maximum,50),this._complete=!1}Object.defineProperties(L_e.prototype,{complete:{get:function(){return this._complete}}});var N_e=L_e;function F_e(e){}F_e.prototype.emit=function(e){ye.throwInstantiationError()};var V_e=F_e;var k_e=new G(1,1);function ED(e){e=y(e,y.EMPTY_OBJECT),this.show=y(e.show,!0),this.updateCallback=e.updateCallback,this.loop=y(e.loop,!0),this.image=y(e.image,void 0);let t=e.emitter;l(t)||(t=new $V(.5)),this._emitter=t,this._bursts=e.bursts,this._modelMatrix=N.clone(y(e.modelMatrix,N.IDENTITY)),this._emitterModelMatrix=N.clone(y(e.emitterModelMatrix,N.IDENTITY)),this._matrixDirty=!0,this._combinedMatrix=new N,this._startColor=U.clone(y(e.color,y(e.startColor,U.WHITE))),this._endColor=U.clone(y(e.color,y(e.endColor,U.WHITE))),this._startScale=y(e.scale,y(e.startScale,1)),this._endScale=y(e.scale,y(e.endScale,1)),this._emissionRate=y(e.emissionRate,5),this._minimumSpeed=y(e.speed,y(e.minimumSpeed,1)),this._maximumSpeed=y(e.speed,y(e.maximumSpeed,1)),this._minimumParticleLife=y(e.particleLife,y(e.minimumParticleLife,5)),this._maximumParticleLife=y(e.particleLife,y(e.maximumParticleLife,5)),this._minimumMass=y(e.mass,y(e.minimumMass,1)),this._maximumMass=y(e.mass,y(e.maximumMass,1)),this._minimumImageSize=G.clone(y(e.imageSize,y(e.minimumImageSize,k_e))),this._maximumImageSize=G.clone(y(e.imageSize,y(e.maximumImageSize,k_e))),this._sizeInMeters=y(e.sizeInMeters,!1),this._lifetime=y(e.lifetime,Number.MAX_VALUE),this._billboardCollection=void 0,this._particles=[],this._particlePool=[],this._previousTime=void 0,this._currentTime=0,this._carryOver=0,this._complete=new ge,this._isComplete=!1,this._updateParticlePool=!0,this._particleEstimate=0}Object.defineProperties(ED.prototype,{emitter:{get:function(){return this._emitter},set:function(e){this._emitter=e}},bursts:{get:function(){return this._bursts},set:function(e){this._bursts=e,this._updateParticlePool=!0}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._matrixDirty=this._matrixDirty||!N.equals(this._modelMatrix,e),N.clone(e,this._modelMatrix)}},emitterModelMatrix:{get:function(){return this._emitterModelMatrix},set:function(e){this._matrixDirty=this._matrixDirty||!N.equals(this._emitterModelMatrix,e),N.clone(e,this._emitterModelMatrix)}},startColor:{get:function(){return this._startColor},set:function(e){U.clone(e,this._startColor)}},endColor:{get:function(){return this._endColor},set:function(e){U.clone(e,this._endColor)}},startScale:{get:function(){return this._startScale},set:function(e){this._startScale=e}},endScale:{get:function(){return this._endScale},set:function(e){this._endScale=e}},emissionRate:{get:function(){return this._emissionRate},set:function(e){this._emissionRate=e,this._updateParticlePool=!0}},minimumSpeed:{get:function(){return this._minimumSpeed},set:function(e){this._minimumSpeed=e}},maximumSpeed:{get:function(){return this._maximumSpeed},set:function(e){this._maximumSpeed=e}},minimumParticleLife:{get:function(){return this._minimumParticleLife},set:function(e){this._minimumParticleLife=e}},maximumParticleLife:{get:function(){return this._maximumParticleLife},set:function(e){this._maximumParticleLife=e,this._updateParticlePool=!0}},minimumMass:{get:function(){return this._minimumMass},set:function(e){this._minimumMass=e}},maximumMass:{get:function(){return this._maximumMass},set:function(e){this._maximumMass=e}},minimumImageSize:{get:function(){return this._minimumImageSize},set:function(e){this._minimumImageSize=e}},maximumImageSize:{get:function(){return this._maximumImageSize},set:function(e){this._maximumImageSize=e}},sizeInMeters:{get:function(){return this._sizeInMeters},set:function(e){this._sizeInMeters=e}},lifetime:{get:function(){return this._lifetime},set:function(e){this._lifetime=e}},complete:{get:function(){return this._complete}},isComplete:{get:function(){return this._isComplete}}});function mct(e){let t=e._emissionRate,n=e._maximumParticleLife,i=0,o=e._bursts;if(l(o)){let d=o.length;for(let p=0;p<d;++p)i+=o[p].maximum}let r=e._billboardCollection,s=e.image,a=Math.ceil(t*n+i),c=e._particles,u=e._particlePool,f=Math.max(a-c.length-u.length,0);for(let d=0;d<f;++d){let p=new TD;p._billboard=r.add({image:s}),u.push(p)}e._particleEstimate=a}function pct(e){let t=e._particlePool.pop();return l(t)||(t=new TD),t}function _ct(e,t){e._particlePool.push(t)}function gct(e){let t=e._particles,n=e._particlePool,i=e._billboardCollection,o=t.length,r=n.length,s=e._particleEstimate,a=r-Math.max(s-o-r,0);for(let c=a;c<r;++c){let u=n[c];i.remove(u._billboard)}n.length=a}function yct(e){l(e._billboard)&&(e._billboard.show=!1)}function U_e(e,t){let n=t._billboard;l(n)||(n=t._billboard=e._billboardCollection.add({image:t.image})),n.width=t.imageSize.x,n.height=t.imageSize.y,n.position=t.position,n.sizeInMeters=e.sizeInMeters,n.show=!0;let i=I.lerp(t.startColor.red,t.endColor.red,t.normalizedAge),o=I.lerp(t.startColor.green,t.endColor.green,t.normalizedAge),r=I.lerp(t.startColor.blue,t.endColor.blue,t.normalizedAge),s=I.lerp(t.startColor.alpha,t.endColor.alpha,t.normalizedAge);n.color=new U(i,o,r,s),n.scale=I.lerp(t.startScale,t.endScale,t.normalizedAge)}function Cct(e,t){t.startColor=U.clone(e._startColor,t.startColor),t.endColor=U.clone(e._endColor,t.endColor),t.startScale=e._startScale,t.endScale=e._endScale,t.image=e.image,t.life=I.randomBetween(e._minimumParticleLife,e._maximumParticleLife),t.mass=I.randomBetween(e._minimumMass,e._maximumMass),t.imageSize.x=I.randomBetween(e._minimumImageSize.x,e._maximumImageSize.x),t.imageSize.y=I.randomBetween(e._minimumImageSize.y,e._maximumImageSize.y),t._normalizedAge=0,t._age=0;let n=I.randomBetween(e._minimumSpeed,e._maximumSpeed);h.multiplyByScalar(t.velocity,n,t.velocity),e._particles.push(t)}function xct(e,t){if(e._isComplete)return 0;t=I.mod(t,e._lifetime);let n=t*e._emissionRate,i=Math.floor(n);if(e._carryOver+=n-i,e._carryOver>1&&(i++,e._carryOver-=1),l(e.bursts)){let o=e.bursts.length;for(let r=0;r<o;r++){let s=e.bursts[r],a=e._currentTime;l(s)&&!s._complete&&a>s.time&&(i+=I.randomBetween(s.minimum,s.maximum),s._complete=!0)}}return i}var xU=new h;ED.prototype.update=function(e){if(!this.show)return;l(this._billboardCollection)||(this._billboardCollection=new Iu),this._updateParticlePool&&(mct(this),this._updateParticlePool=!1);let t=0;this._previousTime&&(t=Q.secondsDifference(e.time,this._previousTime)),t<0&&(t=0);let n=this._particles,i=this._emitter,o=this.updateCallback,r,s,a=n.length;for(r=0;r<a;++r)s=n[r],s.update(t,o)?U_e(this,s):(yct(s),_ct(this,s),n[r]=n[a-1],--r,--a);n.length=a;let c=xct(this,t);if(c>0&&l(i)){this._matrixDirty&&(this._combinedMatrix=N.multiply(this.modelMatrix,this.emitterModelMatrix,this._combinedMatrix),this._matrixDirty=!1);let u=this._combinedMatrix;for(r=0;r<c;r++)s=pct(this),this._emitter.emit(s),h.add(s.position,s.velocity,xU),N.multiplyByPoint(u,xU,xU),s.position=N.multiplyByPoint(u,s.position,s.position),h.subtract(xU,s.position,s.velocity),h.normalize(s.velocity,s.velocity),Cct(this,s),U_e(this,s)}if(this._billboardCollection.update(e),this._previousTime=Q.clone(e.time,this._previousTime),this._currentTime+=t,this._lifetime!==Number.MAX_VALUE&&this._currentTime>this._lifetime)if(this.loop){if(this._currentTime=I.mod(this._currentTime,this._lifetime),this.bursts){let u=this.bursts.length;for(r=0;r<u;r++)this.bursts[r]._complete=!1}}else this._isComplete=!0,this._complete.raiseEvent(this);e.frameNumber%120===0&&gct(this)};ED.prototype.isDestroyed=function(){return!1};ED.prototype.destroy=function(){return this._billboardCollection=this._billboardCollection&&this._billboardCollection.destroy(),fe(this)};var z_e=ED;function AU(e){e=y(e,y.EMPTY_OBJECT);let t=wn(e.container);this._container=t;let n=document.createElement("div");n.className="cesium-performanceDisplay";let i=document.createElement("div");i.className="cesium-performanceDisplay-fps",this._fpsText=document.createTextNode(""),i.appendChild(this._fpsText);let o=document.createElement("div");o.className="cesium-performanceDisplay-ms",this._msText=document.createTextNode(""),o.appendChild(this._msText),n.appendChild(o),n.appendChild(i),this._container.appendChild(n),this._lastFpsSampleTime=Ei(),this._lastMsSampleTime=Ei(),this._fpsFrameCount=0,this._msFrameCount=0,this._throttled=!1;let r=document.createElement("div");r.className="cesium-performanceDisplay-throttled",this._throttledText=document.createTextNode(""),r.appendChild(this._throttledText),n.appendChild(r)}Object.defineProperties(AU.prototype,{throttled:{get:function(){return this._throttled},set:function(e){this._throttled!==e&&(e?this._throttledText.nodeValue="(throttled)":this._throttledText.nodeValue="",this._throttled=e)}}});AU.prototype.update=function(e){let t=Ei(),n=y(e,!0);this._fpsFrameCount++;let i=t-this._lastFpsSampleTime;if(i>1e3){let r="N/A";n&&(r=this._fpsFrameCount*1e3/i|0),this._fpsText.nodeValue=`${r} FPS`,this._lastFpsSampleTime=t,this._fpsFrameCount=0}this._msFrameCount++;let o=t-this._lastMsSampleTime;if(o>200){let r="N/A";n&&(r=(o/this._msFrameCount).toFixed(2)),this._msText.nodeValue=`${r} MS`,this._lastMsSampleTime=t,this._msFrameCount=0}};AU.prototype.destroy=function(){return fe(this)};var i0=AU;function AC(){this._framebuffer=new ci,this._textureToCopy=void 0,this._copyDepthCommand=void 0}Object.defineProperties(AC.prototype,{framebuffer:{get:function(){return this._framebuffer.framebuffer}}});function Act(e,t,n){let i=n.width,o=n.height;e._framebuffer.update(t,i,o)}function Tct(e,t,n){if(!l(e._copyDepthCommand)){let i=`uniform highp sampler2D u_texture;
  7012. varying vec2 v_textureCoordinates;
  7013. void main()
  7014. {
  7015. gl_FragColor = czm_packDepth(texture2D(u_texture, v_textureCoordinates).r);
  7016. }
  7017. `;e._copyDepthCommand=t.createViewportQuadCommand(i,{renderState:Fe.fromCache(),uniformMap:{u_texture:function(){return e._textureToCopy}},owner:e})}e._textureToCopy=n,e._copyDepthCommand.framebuffer=e.framebuffer}AC.prototype.update=function(e,t){Act(this,e,t),Tct(this,e,t)};var Ect=new se,bct=new se(1,1/255,1/65025,1/16581375);AC.prototype.getDepth=function(e,t,n){if(!l(this.framebuffer))return;let i=e.readPixels({x:t,y:n,width:1,height:1,framebuffer:this.framebuffer}),o=se.unpack(i,0,Ect);return se.divideByScalar(o,255,o),se.dot(o,bct)};AC.prototype.executeCopyDepth=function(e,t){this._copyDepthCommand.execute(e,t)};AC.prototype.isDestroyed=function(){return!1};AC.prototype.destroy=function(){return this._framebuffer.destroy(),l(this._copyDepthCommand)&&(this._copyDepthCommand.shaderProgram=l(this._copyDepthCommand.shaderProgram)&&this._copyDepthCommand.shaderProgram.destroy()),fe(this)};var TU=AC;function bD(){this._framebuffer=new ci({color:!1,depthStencil:!0,supportsDepthTexture:!0}),this._passState=void 0}Object.defineProperties(bD.prototype,{framebuffer:{get:function(){return this._framebuffer.framebuffer}}});function Sct(e){e._framebuffer.destroy()}function wct(e,t){let n=t.drawingBufferWidth,i=t.drawingBufferHeight;e._framebuffer.update(t,n,i);let o=new Tc(t);o.blendingEnabled=!1,o.scissorTest={enabled:!0,rectangle:new Ge},o.viewport=new Ge,e._passState=o}bD.prototype.update=function(e,t,n){let i=n.width,o=n.height;this._framebuffer.isDirty(i,o)&&wct(this,e);let r=this.framebuffer,s=this._passState;return s.framebuffer=r,s.viewport.width=i,s.viewport.height=o,s.scissorTest.rectangle.x=t.x,s.scissorTest.rectangle.y=o-t.y,s.scissorTest.rectangle.width=1,s.scissorTest.rectangle.height=1,s};bD.prototype.isDestroyed=function(){return!1};bD.prototype.destroy=function(){return Sct(this),fe(this)};var EU=bD;function wD(e){let t=new Tc(e);t.blendingEnabled=!1,t.scissorTest={enabled:!0,rectangle:new Ge},t.viewport=new Ge,this._context=e,this._fb=new ci({depthStencil:!0}),this._passState=t,this._width=0,this._height=0}wD.prototype.begin=function(e,t){let n=this._context,i=t.width,o=t.height;return Ge.clone(e,this._passState.scissorTest.rectangle),this._width=i,this._height=o,this._fb.update(n,i,o),this._passState.framebuffer=this._fb.framebuffer,this._passState.viewport.width=i,this._passState.viewport.height=o,this._passState};var SD=new U;wD.prototype.end=function(e){let t=y(e.width,1),n=y(e.height,1),i=this._context,o=i.readPixels({x:e.x,y:e.y,width:t,height:n,framebuffer:this._fb.framebuffer}),r=Math.max(t,n),s=r*r,a=Math.floor(t*.5),c=Math.floor(n*.5),u=0,f=0,d=0,p=-1;for(let g=0;g<s;++g){if(-a<=u&&u<=a&&-c<=f&&f<=c){let m=4*((c-f)*t+u+a);SD.red=U.byteToFloat(o[m]),SD.green=U.byteToFloat(o[m+1]),SD.blue=U.byteToFloat(o[m+2]),SD.alpha=U.byteToFloat(o[m+3]);let C=i.getObjectByPickColor(SD);if(l(C))return C}if(u===f||u<0&&-u===f||u>0&&u===1-f){let m=d;d=-p,p=m}u+=d,f+=p}};wD.prototype.isDestroyed=function(){return!1};wD.prototype.destroy=function(){return this._fb.destroy(),fe(this)};var bU=wD;function Ep(){this._numSamples=1,this._colorFramebuffer=new ci({depthStencil:!0,supportsDepthTexture:!0}),this._idFramebuffer=new ci({depthStencil:!0,supportsDepthTexture:!0}),this._idClearColor=new U(0,0,0,0),this._clearCommand=new oi({color:new U(0,0,0,0),depth:1,owner:this})}function vct(e){e._colorFramebuffer.destroy(),e._idFramebuffer.destroy()}Object.defineProperties(Ep.prototype,{framebuffer:{get:function(){return this._colorFramebuffer.framebuffer}},idFramebuffer:{get:function(){return this._idFramebuffer.framebuffer}},depthStencilTexture:{get:function(){return this._colorFramebuffer.getDepthStencilTexture()}}});Ep.prototype.update=function(e,t,n,i){let o=t.width,r=t.height,s=n?e.halfFloatingPointTexture?je.HALF_FLOAT:je.FLOAT:je.UNSIGNED_BYTE;this._numSamples=i,this._colorFramebuffer.update(e,o,r,i,s),this._idFramebuffer.update(e,o,r)};Ep.prototype.clear=function(e,t,n){U.clone(n,this._clearCommand.color),U.clone(this._idClearColor,this._clearCommand.color),this._colorFramebuffer.clear(e,this._clearCommand,t),this._idFramebuffer.clear(e,this._clearCommand,t)};Ep.prototype.getFramebuffer=function(){return this._colorFramebuffer.framebuffer};Ep.prototype.getIdFramebuffer=function(){return this._idFramebuffer.framebuffer};Ep.prototype.prepareColorTextures=function(e){this._numSamples>1&&this._colorFramebuffer.prepareTextures(e)};Ep.prototype.isDestroyed=function(){return!1};Ep.prototype.destroy=function(){return vct(this),fe(this)};var WE=Ep;function TC(){}TC.getShadowCastShaderKeyword=function(e,t,n,i){return`castShadow ${e} ${t} ${n} ${i}`};TC.createShadowCastVertexShader=function(e,t,n){let i=e.defines.slice(0),o=e.sources.slice(0);i.push("SHADOW_MAP"),n&&i.push("GENERATE_POSITION");let r=ke.findPositionVarying(e),s=l(r);if(t&&!s){let a=o.length;for(let u=0;u<a;++u)o[u]=ke.replaceMain(o[u],"czm_shadow_cast_main");let c=`varying vec3 v_positionEC;
  7018. void main()
  7019. {
  7020. czm_shadow_cast_main();
  7021. v_positionEC = (czm_inverseProjection * gl_Position).xyz;
  7022. }`;o.push(c)}return new ke({defines:i,sources:o})};TC.createShadowCastFragmentShader=function(e,t,n,i){let o=e.defines.slice(0),r=e.sources.slice(0);o.push("SHADOW_MAP");let s=ke.findPositionVarying(e),a=l(s);a||(s="v_positionEC");let c=r.length;for(let f=0;f<c;++f)r[f]=ke.replaceMain(r[f],"czm_shadow_cast_main");let u="";return t&&(a||(u+=`varying vec3 v_positionEC;
  7023. `),u+=`uniform vec4 shadowMap_lightPositionEC;
  7024. `),i?u+=`void main()
  7025. {
  7026. `:u+=`void main()
  7027. {
  7028. czm_shadow_cast_main();
  7029. if (gl_FragColor.a == 0.0)
  7030. {
  7031. discard;
  7032. }
  7033. `,t?u+=` float distance = length(${s});
  7034. if (distance >= shadowMap_lightPositionEC.w)
  7035. {
  7036. discard;
  7037. }
  7038. distance /= shadowMap_lightPositionEC.w; // radius
  7039. gl_FragColor = czm_packDepth(distance);
  7040. `:n?u+=` gl_FragColor = vec4(1.0);
  7041. `:u+=` gl_FragColor = czm_packDepth(gl_FragCoord.z);
  7042. `,u+=`}
  7043. `,r.push(u),new ke({defines:o,sources:r})};TC.getShadowReceiveShaderKeyword=function(e,t,n,i){let o=e._usesDepthTexture,r=e._polygonOffsetSupported,s=e._isPointLight,a=e._isSpotLight,c=e._numberOfCascades>1,u=e.debugCascadeColors,f=e.softShadows;return`receiveShadow ${o}${r}${s}${a}${c}${u}${f}${t}${n}${i}`};TC.createShadowReceiveVertexShader=function(e,t,n){let i=e.defines.slice(0),o=e.sources.slice(0);return i.push("SHADOW_MAP"),t&&(n?i.push("GENERATE_POSITION_AND_NORMAL"):i.push("GENERATE_POSITION")),new ke({defines:i,sources:o})};TC.createShadowReceiveFragmentShader=function(e,t,n,i,o){let r=ke.findNormalVarying(e),s=!i&&l(r)||i&&o,a=ke.findPositionVarying(e),c=l(a),u=t._usesDepthTexture,f=t._polygonOffsetSupported,d=t._isPointLight,p=t._isSpotLight,g=t._numberOfCascades>1,m=t.debugCascadeColors,C=t.softShadows,x=d?t._pointBias:i?t._terrainBias:t._primitiveBias,A=e.defines.slice(0),b=e.sources.slice(0),E=b.length;for(let P=0;P<E;++P)b[P]=ke.replaceMain(b[P],"czm_shadow_receive_main");d?A.push("USE_CUBE_MAP_SHADOW"):u&&A.push("USE_SHADOW_DEPTH_TEXTURE"),C&&!d&&A.push("USE_SOFT_SHADOWS"),g&&n&&i&&(s?A.push("ENABLE_VERTEX_LIGHTING"):A.push("ENABLE_DAYNIGHT_SHADING")),n&&x.normalShading&&s&&(A.push("USE_NORMAL_SHADING"),x.normalShadingSmooth>0&&A.push("USE_NORMAL_SHADING_SMOOTH"));let S="";d?S+=`uniform samplerCube shadowMap_textureCube;
  7044. `:S+=`uniform sampler2D shadowMap_texture;
  7045. `;let v;return c?v=` return vec4(${a}, 1.0);
  7046. `:v=`#ifndef LOG_DEPTH
  7047. return czm_windowToEyeCoordinates(gl_FragCoord);
  7048. #else
  7049. return vec4(v_logPositionEC, 1.0);
  7050. #endif
  7051. `,S+=`uniform mat4 shadowMap_matrix;
  7052. uniform vec3 shadowMap_lightDirectionEC;
  7053. uniform vec4 shadowMap_lightPositionEC;
  7054. uniform vec4 shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness;
  7055. uniform vec4 shadowMap_texelSizeDepthBiasAndNormalShadingSmooth;
  7056. #ifdef LOG_DEPTH
  7057. varying vec3 v_logPositionEC;
  7058. #endif
  7059. vec4 getPositionEC()
  7060. {
  7061. ${v}}
  7062. vec3 getNormalEC()
  7063. {
  7064. ${s?` return normalize(${r});
  7065. `:` return vec3(1.0);
  7066. `}}
  7067. void applyNormalOffset(inout vec4 positionEC, vec3 normalEC, float nDotL)
  7068. {
  7069. ${x.normalOffset&&s?` float normalOffset = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.x;
  7070. float normalOffsetScale = 1.0 - nDotL;
  7071. vec3 offset = normalOffset * normalOffsetScale * normalEC;
  7072. positionEC.xyz += offset;
  7073. `:""}}
  7074. `,S+=`void main()
  7075. {
  7076. czm_shadow_receive_main();
  7077. vec4 positionEC = getPositionEC();
  7078. vec3 normalEC = getNormalEC();
  7079. float depth = -positionEC.z;
  7080. `,S+=` czm_shadowParameters shadowParameters;
  7081. shadowParameters.texelStepSize = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.xy;
  7082. shadowParameters.depthBias = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.z;
  7083. shadowParameters.normalShadingSmooth = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.w;
  7084. shadowParameters.darkness = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.w;
  7085. `,i?S+=` shadowParameters.depthBias *= max(depth * 0.01, 1.0);
  7086. `:f||(S+=` shadowParameters.depthBias *= mix(1.0, 100.0, depth * 0.0015);
  7087. `),d?S+=` vec3 directionEC = positionEC.xyz - shadowMap_lightPositionEC.xyz;
  7088. float distance = length(directionEC);
  7089. directionEC = normalize(directionEC);
  7090. float radius = shadowMap_lightPositionEC.w;
  7091. // Stop early if the fragment is beyond the point light radius
  7092. if (distance > radius)
  7093. {
  7094. return;
  7095. }
  7096. vec3 directionWC = czm_inverseViewRotation * directionEC;
  7097. shadowParameters.depth = distance / radius;
  7098. shadowParameters.nDotL = clamp(dot(normalEC, -directionEC), 0.0, 1.0);
  7099. shadowParameters.texCoords = directionWC;
  7100. float visibility = czm_shadowVisibility(shadowMap_textureCube, shadowParameters);
  7101. `:p?S+=` vec3 directionEC = normalize(positionEC.xyz - shadowMap_lightPositionEC.xyz);
  7102. float nDotL = clamp(dot(normalEC, -directionEC), 0.0, 1.0);
  7103. applyNormalOffset(positionEC, normalEC, nDotL);
  7104. vec4 shadowPosition = shadowMap_matrix * positionEC;
  7105. // Spot light uses a perspective projection, so perform the perspective divide
  7106. shadowPosition /= shadowPosition.w;
  7107. // Stop early if the fragment is not in the shadow bounds
  7108. if (any(lessThan(shadowPosition.xyz, vec3(0.0))) || any(greaterThan(shadowPosition.xyz, vec3(1.0))))
  7109. {
  7110. return;
  7111. }
  7112. shadowParameters.texCoords = shadowPosition.xy;
  7113. shadowParameters.depth = shadowPosition.z;
  7114. shadowParameters.nDotL = nDotL;
  7115. float visibility = czm_shadowVisibility(shadowMap_texture, shadowParameters);
  7116. `:g?S+=` float maxDepth = shadowMap_cascadeSplits[1].w;
  7117. // Stop early if the eye depth exceeds the last cascade
  7118. if (depth > maxDepth)
  7119. {
  7120. return;
  7121. }
  7122. // Get the cascade based on the eye-space depth
  7123. vec4 weights = czm_cascadeWeights(depth);
  7124. // Apply normal offset
  7125. float nDotL = clamp(dot(normalEC, shadowMap_lightDirectionEC), 0.0, 1.0);
  7126. applyNormalOffset(positionEC, normalEC, nDotL);
  7127. // Transform position into the cascade
  7128. vec4 shadowPosition = czm_cascadeMatrix(weights) * positionEC;
  7129. // Get visibility
  7130. shadowParameters.texCoords = shadowPosition.xy;
  7131. shadowParameters.depth = shadowPosition.z;
  7132. shadowParameters.nDotL = nDotL;
  7133. float visibility = czm_shadowVisibility(shadowMap_texture, shadowParameters);
  7134. // Fade out shadows that are far away
  7135. float shadowMapMaximumDistance = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.z;
  7136. float fade = max((depth - shadowMapMaximumDistance * 0.8) / (shadowMapMaximumDistance * 0.2), 0.0);
  7137. visibility = mix(visibility, 1.0, fade);
  7138. ${m?` // Draw cascade colors for debugging
  7139. gl_FragColor *= czm_cascadeColor(weights);
  7140. `:""}`:S+=` float nDotL = clamp(dot(normalEC, shadowMap_lightDirectionEC), 0.0, 1.0);
  7141. applyNormalOffset(positionEC, normalEC, nDotL);
  7142. vec4 shadowPosition = shadowMap_matrix * positionEC;
  7143. // Stop early if the fragment is not in the shadow bounds
  7144. if (any(lessThan(shadowPosition.xyz, vec3(0.0))) || any(greaterThan(shadowPosition.xyz, vec3(1.0))))
  7145. {
  7146. return;
  7147. }
  7148. shadowParameters.texCoords = shadowPosition.xy;
  7149. shadowParameters.depth = shadowPosition.z;
  7150. shadowParameters.nDotL = nDotL;
  7151. float visibility = czm_shadowVisibility(shadowMap_texture, shadowParameters);
  7152. `,S+=` gl_FragColor.rgb *= visibility;
  7153. }
  7154. `,b.push(S),new ke({defines:A,sources:b})};var bp=TC;function Gh(e){e=y(e,y.EMPTY_OBJECT);let t=e.context;this._enabled=y(e.enabled,!0),this._softShadows=y(e.softShadows,!1),this._normalOffset=y(e.normalOffset,!0),this.dirty=!0,this.fromLightSource=y(e.fromLightSource,!0),this.darkness=y(e.darkness,.3),this._darkness=this.darkness,this.fadingEnabled=y(e.fadingEnabled,!0),this.maximumDistance=y(e.maximumDistance,5e3),this._outOfView=!1,this._outOfViewPrevious=!1,this._needsUpdate=!0;let n=!0;(Mt.isInternetExplorer()||Mt.isEdge()||(Mt.isChrome()||Mt.isFirefox())&&Mt.isWindows()&&!t.depthTexture)&&(n=!1),this._polygonOffsetSupported=n,this._terrainBias={polygonOffset:n,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:.5,normalShading:!0,normalShadingSmooth:.3,depthBias:1e-4},this._primitiveBias={polygonOffset:n,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:.1,normalShading:!0,normalShadingSmooth:.05,depthBias:2e-5},this._pointBias={polygonOffset:!1,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:0,normalShading:!0,normalShadingSmooth:.1,depthBias:5e-4},this._depthAttachment=void 0,this._colorAttachment=void 0,this._shadowMapMatrix=new N,this._shadowMapTexture=void 0,this._lightDirectionEC=new h,this._lightPositionEC=new se,this._distance=0,this._lightCamera=e.lightCamera,this._shadowMapCamera=new SU,this._shadowMapCullingVolume=void 0,this._sceneCamera=void 0,this._boundingSphere=new re,this._isPointLight=y(e.isPointLight,!1),this._pointLightRadius=y(e.pointLightRadius,100),this._cascadesEnabled=this._isPointLight?!1:y(e.cascadesEnabled,!0),this._numberOfCascades=this._cascadesEnabled?y(e.numberOfCascades,4):0,this._fitNearFar=!0,this._maximumCascadeDistances=[25,150,700,Number.MAX_VALUE],this._textureSize=new G,this._isSpotLight=!1,this._cascadesEnabled?this._shadowMapCamera.frustum=new Ir:l(this._lightCamera.frustum.fov)&&(this._isSpotLight=!0),this._cascadeSplits=[new se,new se],this._cascadeMatrices=[new N,new N,new N,new N],this._cascadeDistances=new se;let i;this._isPointLight?i=6:this._cascadesEnabled?i=this._numberOfCascades:i=1,this._passes=new Array(i);for(let o=0;o<i;++o)this._passes[o]=new Dct(t);this.debugShow=!1,this.debugFreezeFrame=!1,this._debugFreezeFrame=!1,this._debugCascadeColors=!1,this._debugLightFrustum=void 0,this._debugCameraFrustum=void 0,this._debugCascadeFrustums=new Array(this._numberOfCascades),this._debugShadowViewCommand=void 0,this._usesDepthTexture=t.depthTexture,this._isPointLight&&(this._usesDepthTexture=!1),this._primitiveRenderState=void 0,this._terrainRenderState=void 0,this._pointRenderState=void 0,nq(this),this._clearCommand=new oi({depth:1,color:new U}),this._clearPassState=new Tc(t),this._size=y(e.size,2048),this.size=this._size}Gh.MAXIMUM_DISTANCE=2e4;function Dct(e){this.camera=new SU,this.passState=new Tc(e),this.framebuffer=void 0,this.textureOffsets=void 0,this.commandList=[],this.cullingVolume=void 0}function tq(e,t){return Fe.fromCache({cull:{enabled:!0,face:wi.BACK},depthTest:{enabled:!0},colorMask:{red:e,green:e,blue:e,alpha:e},depthMask:!0,polygonOffset:{enabled:t.polygonOffset,factor:t.polygonOffsetFactor,units:t.polygonOffsetUnits}})}function nq(e){let t=!e._usesDepthTexture;e._primitiveRenderState=tq(t,e._primitiveBias),e._terrainRenderState=tq(t,e._terrainBias),e._pointRenderState=tq(t,e._pointBias)}Gh.prototype.debugCreateRenderStates=function(){nq(this)};Object.defineProperties(Gh.prototype,{enabled:{get:function(){return this._enabled},set:function(e){this.dirty=this._enabled!==e,this._enabled=e}},normalOffset:{get:function(){return this._normalOffset},set:function(e){this.dirty=this._normalOffset!==e,this._normalOffset=e,this._terrainBias.normalOffset=e,this._primitiveBias.normalOffset=e,this._pointBias.normalOffset=e}},softShadows:{get:function(){return this._softShadows},set:function(e){this.dirty=this._softShadows!==e,this._softShadows=e}},size:{get:function(){return this._size},set:function(e){Bct(this,e)}},outOfView:{get:function(){return this._outOfView}},shadowMapCullingVolume:{get:function(){return this._shadowMapCullingVolume}},passes:{get:function(){return this._passes}},isPointLight:{get:function(){return this._isPointLight}},debugCascadeColors:{get:function(){return this._debugCascadeColors},set:function(e){this.dirty=this._debugCascadeColors!==e,this._debugCascadeColors=e}}});function iq(e){let t=e._passes.length;for(let n=0;n<t;++n){let i=e._passes[n],o=i.framebuffer;l(o)&&!o.isDestroyed()&&o.destroy(),i.framebuffer=void 0}e._depthAttachment=e._depthAttachment&&e._depthAttachment.destroy(),e._colorAttachment=e._colorAttachment&&e._colorAttachment.destroy()}function Pct(e,t){let n=new Su({context:t,width:e._textureSize.x,height:e._textureSize.y,format:Xc.DEPTH_COMPONENT16}),i=new Ot({context:t,width:e._textureSize.x,height:e._textureSize.y,pixelFormat:ft.RGBA,pixelDatatype:je.UNSIGNED_BYTE,sampler:hn.NEAREST}),o=new $s({context:t,depthRenderbuffer:n,colorTextures:[i],destroyAttachments:!1}),r=e._passes.length;for(let s=0;s<r;++s){let a=e._passes[s];a.framebuffer=o,a.passState.framebuffer=o}e._shadowMapTexture=i,e._depthAttachment=n,e._colorAttachment=i}function Ict(e,t){let n=new Ot({context:t,width:e._textureSize.x,height:e._textureSize.y,pixelFormat:ft.DEPTH_STENCIL,pixelDatatype:je.UNSIGNED_INT_24_8,sampler:hn.NEAREST}),i=new $s({context:t,depthStencilTexture:n,destroyAttachments:!1}),o=e._passes.length;for(let r=0;r<o;++r){let s=e._passes[r];s.framebuffer=i,s.passState.framebuffer=i}e._shadowMapTexture=n,e._depthAttachment=n}function Oct(e,t){let n=new Su({context:t,width:e._textureSize.x,height:e._textureSize.y,format:Xc.DEPTH_COMPONENT16}),i=new sc({context:t,width:e._textureSize.x,height:e._textureSize.y,pixelFormat:ft.RGBA,pixelDatatype:je.UNSIGNED_BYTE,sampler:hn.NEAREST}),o=[i.negativeX,i.negativeY,i.negativeZ,i.positiveX,i.positiveY,i.positiveZ];for(let r=0;r<6;++r){let s=new $s({context:t,depthRenderbuffer:n,colorTextures:[o[r]],destroyAttachments:!1}),a=e._passes[r];a.framebuffer=s,a.passState.framebuffer=s}e._shadowMapTexture=i,e._depthAttachment=n,e._colorAttachment=i}function W_e(e,t){e._isPointLight?Oct(e,t):e._usesDepthTexture?Ict(e,t):Pct(e,t)}function Rct(e,t){e._usesDepthTexture&&e._passes[0].framebuffer.status!==te.FRAMEBUFFER_COMPLETE&&(e._usesDepthTexture=!1,nq(e),iq(e),W_e(e,t))}function Mct(e,t){(!l(e._passes[0].framebuffer)||e._shadowMapTexture.width!==e._textureSize.x)&&(iq(e),W_e(e,t),Rct(e,t),j_e(e,t))}function j_e(e,t,n){n=y(n,0),(e._isPointLight||n===0)&&(e._clearCommand.framebuffer=e._passes[n].framebuffer,e._clearCommand.execute(t,e._clearPassState))}function Bct(e,t){e._size=t;let n=e._passes,i=n.length,o=e._textureSize;if(e._isPointLight){t=kt.maximumCubeMapSize>=t?t:kt.maximumCubeMapSize,o.x=t,o.y=t;let r=new Ge(0,0,t,t);n[0].passState.viewport=r,n[1].passState.viewport=r,n[2].passState.viewport=r,n[3].passState.viewport=r,n[4].passState.viewport=r,n[5].passState.viewport=r}else i===1?(t=kt.maximumTextureSize>=t?t:kt.maximumTextureSize,o.x=t,o.y=t,n[0].passState.viewport=new Ge(0,0,t,t)):i===4&&(t=kt.maximumTextureSize>=t*2?t:kt.maximumTextureSize/2,o.x=t*2,o.y=t*2,n[0].passState.viewport=new Ge(0,0,t,t),n[1].passState.viewport=new Ge(t,0,t,t),n[2].passState.viewport=new Ge(0,t,t,t),n[3].passState.viewport=new Ge(t,t,t,t));e._clearPassState.viewport=new Ge(0,0,o.x,o.y);for(let r=0;r<i;++r){let s=n[r],a=s.passState.viewport,c=a.x/o.x,u=a.y/o.y,f=a.width/o.x,d=a.height/o.y;s.textureOffsets=new N(f,0,0,c,0,d,0,u,0,0,1,0,0,0,0,1)}}var Lct=new Ge;function Nct(e,t){let n;e._isPointLight?n=`uniform samplerCube shadowMap_textureCube;
  7155. varying vec2 v_textureCoordinates;
  7156. void main()
  7157. {
  7158. vec2 uv = v_textureCoordinates;
  7159. vec3 dir;
  7160. if (uv.y < 0.5)
  7161. {
  7162. if (uv.x < 0.333)
  7163. {
  7164. dir.x = -1.0;
  7165. dir.y = uv.x * 6.0 - 1.0;
  7166. dir.z = uv.y * 4.0 - 1.0;
  7167. }
  7168. else if (uv.x < 0.666)
  7169. {
  7170. dir.y = -1.0;
  7171. dir.x = uv.x * 6.0 - 3.0;
  7172. dir.z = uv.y * 4.0 - 1.0;
  7173. }
  7174. else
  7175. {
  7176. dir.z = -1.0;
  7177. dir.x = uv.x * 6.0 - 5.0;
  7178. dir.y = uv.y * 4.0 - 1.0;
  7179. }
  7180. }
  7181. else
  7182. {
  7183. if (uv.x < 0.333)
  7184. {
  7185. dir.x = 1.0;
  7186. dir.y = uv.x * 6.0 - 1.0;
  7187. dir.z = uv.y * 4.0 - 3.0;
  7188. }
  7189. else if (uv.x < 0.666)
  7190. {
  7191. dir.y = 1.0;
  7192. dir.x = uv.x * 6.0 - 3.0;
  7193. dir.z = uv.y * 4.0 - 3.0;
  7194. }
  7195. else
  7196. {
  7197. dir.z = 1.0;
  7198. dir.x = uv.x * 6.0 - 5.0;
  7199. dir.y = uv.y * 4.0 - 3.0;
  7200. }
  7201. }
  7202. float shadow = czm_unpackDepth(textureCube(shadowMap_textureCube, dir));
  7203. gl_FragColor = vec4(vec3(shadow), 1.0);
  7204. }
  7205. `:n=`uniform sampler2D shadowMap_texture;
  7206. varying vec2 v_textureCoordinates;
  7207. void main()
  7208. {
  7209. ${e._usesDepthTexture?` float shadow = texture2D(shadowMap_texture, v_textureCoordinates).r;
  7210. `:` float shadow = czm_unpackDepth(texture2D(shadowMap_texture, v_textureCoordinates));
  7211. `} gl_FragColor = vec4(vec3(shadow), 1.0);
  7212. }
  7213. `;let i=t.createViewportQuadCommand(n,{uniformMap:{shadowMap_texture:function(){return e._shadowMapTexture},shadowMap_textureCube:function(){return e._shadowMapTexture}}});return i.pass=xe.OVERLAY,i}function Fct(e,t){let n=t.context,i=t.context.drawingBufferWidth,o=t.context.drawingBufferHeight,r=Math.min(i,o)*.3,s=Lct;s.x=i-r,s.y=0,s.width=r,s.height=r;let a=e._debugShadowViewCommand;l(a)||(a=Nct(e,n),e._debugShadowViewCommand=a),(!l(a.renderState)||!Ge.equals(a.renderState.viewport,s))&&(a.renderState=Fe.fromCache({viewport:Ge.clone(s)})),t.commandList.push(e._debugShadowViewCommand)}var Wh=new Array(8);Wh[0]=new se(-1,-1,-1,1);Wh[1]=new se(1,-1,-1,1);Wh[2]=new se(1,1,-1,1);Wh[3]=new se(-1,1,-1,1);Wh[4]=new se(-1,-1,1,1);Wh[5]=new se(1,-1,1,1);Wh[6]=new se(1,1,1,1);Wh[7]=new se(-1,1,1,1);var o0=new N,oq=new Array(8);for(let e=0;e<8;++e)oq[e]=new se;function Vct(e,t){let n=new pt({geometry:new Md({minimum:new h(-.5,-.5,-.5),maximum:new h(.5,.5,.5)}),attributes:{color:It.fromColor(t)}}),i=new pt({geometry:new C_({radius:.5}),attributes:{color:It.fromColor(t)}});return new xn({geometryInstances:[n,i],appearance:new Qt({translucent:!1,flat:!0}),asynchronous:!1,modelMatrix:e})}var kct=[U.RED,U.GREEN,U.BLUE,U.MAGENTA],Uct=new h;function zct(e,t){Fct(e,t);let n=e.debugFreezeFrame&&!e._debugFreezeFrame;if(e._debugFreezeFrame=e.debugFreezeFrame,e.debugFreezeFrame&&(n&&(e._debugCameraFrustum=e._debugCameraFrustum&&e._debugCameraFrustum.destroy(),e._debugCameraFrustum=new Cp({camera:e._sceneCamera,color:U.CYAN,updateOnChange:!1})),e._debugCameraFrustum.update(t)),e._cascadesEnabled){if(e.debugFreezeFrame){n&&(e._debugLightFrustum=e._debugLightFrustum&&e._debugLightFrustum.destroy(),e._debugLightFrustum=new Cp({camera:e._shadowMapCamera,color:U.YELLOW,updateOnChange:!1})),e._debugLightFrustum.update(t);for(let i=0;i<e._numberOfCascades;++i)n&&(e._debugCascadeFrustums[i]=e._debugCascadeFrustums[i]&&e._debugCascadeFrustums[i].destroy(),e._debugCascadeFrustums[i]=new Cp({camera:e._passes[i].camera,color:kct[i],updateOnChange:!1})),e._debugCascadeFrustums[i].update(t)}}else if(e._isPointLight){if(!l(e._debugLightFrustum)||e._needsUpdate){let i=e._shadowMapCamera.positionWC,o=Oe.IDENTITY,r=e._pointLightRadius*2,s=h.fromElements(r,r,r,Uct),a=N.fromTranslationQuaternionRotationScale(i,o,s,o0);e._debugLightFrustum=e._debugLightFrustum&&e._debugLightFrustum.destroy(),e._debugLightFrustum=Vct(a,U.YELLOW)}e._debugLightFrustum.update(t)}else(!l(e._debugLightFrustum)||e._needsUpdate)&&(e._debugLightFrustum=new Cp({camera:e._shadowMapCamera,color:U.YELLOW,updateOnChange:!1})),e._debugLightFrustum.update(t)}function SU(){this.viewMatrix=new N,this.inverseViewMatrix=new N,this.frustum=void 0,this.positionCartographic=new he,this.positionWC=new h,this.directionWC=h.clone(h.UNIT_Z),this.upWC=h.clone(h.UNIT_Y),this.rightWC=h.clone(h.UNIT_X),this.viewProjectionMatrix=new N}SU.prototype.clone=function(e){N.clone(e.viewMatrix,this.viewMatrix),N.clone(e.inverseViewMatrix,this.inverseViewMatrix),this.frustum=e.frustum.clone(this.frustum),he.clone(e.positionCartographic,this.positionCartographic),h.clone(e.positionWC,this.positionWC),h.clone(e.directionWC,this.directionWC),h.clone(e.upWC,this.upWC),h.clone(e.rightWC,this.rightWC)};var Hct=new N(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1);SU.prototype.getViewProjection=function(){let e=this.viewMatrix,t=this.frustum.projectionMatrix;return N.multiply(t,e,this.viewProjectionMatrix),N.multiply(Hct,this.viewProjectionMatrix,this.viewProjectionMatrix),this.viewProjectionMatrix};var Gct=new Array(5),Wct=new _i,jct=new Array(4),q_e=new h,Y_e=new h;function qct(e,t){let n=e._shadowMapCamera,i=e._sceneCamera,o=i.frustum.near,r=i.frustum.far,s=e._numberOfCascades,a,c=r-o,u=r/o,f=.9,d=!1;t.shadowState.closestObjectSize<200&&(d=!0,f=.9);let p=jct,g=Gct;for(g[0]=o,g[s]=r,a=0;a<s;++a){let L=(a+1)/s,_=o*Math.pow(u,L),T=o+c*L,w=I.lerp(T,_,f);g[a+1]=w,p[a]=w-g[a]}if(d){for(a=0;a<s;++a)p[a]=Math.min(p[a],e._maximumCascadeDistances[a]);let L=g[0];for(a=0;a<s-1;++a)L+=p[a],g[a+1]=L}se.unpack(g,0,e._cascadeSplits[0]),se.unpack(g,1,e._cascadeSplits[1]),se.unpack(p,0,e._cascadeDistances);let m=n.frustum,C=m.left,x=m.right,A=m.bottom,b=m.top,E=m.near,S=m.far,v=n.positionWC,P=n.directionWC,O=n.upWC,M=i.frustum.clone(Wct),B=n.getViewProjection();for(a=0;a<s;++a){M.near=g[a],M.far=g[a+1];let L=N.multiply(M.projectionMatrix,i.viewMatrix,o0),_=N.inverse(L,o0),T=N.multiply(B,_,o0),w=h.fromElements(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE,q_e),D=h.fromElements(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE,Y_e);for(let H=0;H<8;++H){let V=se.clone(Wh[H],oq[H]);N.multiplyByVector(T,V,V),h.divideByScalar(V,V.w,V),h.minimumByComponent(V,w,w),h.maximumByComponent(V,D,D)}w.x=Math.max(w.x,0),w.y=Math.max(w.y,0),w.z=0,D.x=Math.min(D.x,1),D.y=Math.min(D.y,1),D.z=Math.min(D.z,1);let R=e._passes[a],F=R.camera;F.clone(n);let z=F.frustum;z.left=C+w.x*(x-C),z.right=C+D.x*(x-C),z.bottom=A+w.y*(b-A),z.top=A+D.y*(b-A),z.near=E+w.z*(S-E),z.far=E+D.z*(S-E),R.cullingVolume=F.frustum.computeCullingVolume(v,P,O);let k=e._cascadeMatrices[a];N.multiply(F.getViewProjection(),i.inverseViewMatrix,k),N.multiply(R.textureOffsets,k,k)}}var Yct=new N,Xct=new h,Kct=new h,H_e=new h;function Zct(e,t){let n=e._shadowMapCamera,i=e._sceneCamera,o=N.multiply(i.frustum.projectionMatrix,i.viewMatrix,o0),r=N.inverse(o,o0),s=n.directionWC,a=i.directionWC;h.equalsEpsilon(s,a,I.EPSILON10)&&(a=i.upWC);let c=h.cross(s,a,Xct);a=h.cross(c,s,Kct),h.normalize(a,a),h.normalize(c,c);let u=h.fromElements(0,0,0,H_e),f=N.computeView(u,s,a,c,Yct),d=N.multiply(f,r,o0),p=h.fromElements(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE,q_e),g=h.fromElements(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE,Y_e);for(let S=0;S<8;++S){let v=se.clone(Wh[S],oq[S]);N.multiplyByVector(d,v,v),h.divideByScalar(v,v.w,v),h.minimumByComponent(v,p,p),h.maximumByComponent(v,g,g)}g.z+=1e3,p.z-=10;let m=H_e;m.x=-(.5*(p.x+g.x)),m.y=-(.5*(p.y+g.y)),m.z=-g.z;let C=N.fromTranslation(m,o0);f=N.multiply(C,f,f);let x=.5*(g.x-p.x),A=.5*(g.y-p.y),b=g.z-p.z,E=n.frustum;E.left=-x,E.right=x,E.bottom=-A,E.top=A,E.near=.01,E.far=b,N.clone(f,n.viewMatrix),N.inverse(f,n.inverseViewMatrix),N.getTranslation(n.inverseViewMatrix,n.positionWC),t.mapProjection.ellipsoid.cartesianToCartographic(n.positionWC,n.positionCartographic),h.clone(s,n.directionWC),h.clone(a,n.upWC),h.clone(c,n.rightWC)}var $ct=[new h(-1,0,0),new h(0,-1,0),new h(0,0,-1),new h(1,0,0),new h(0,1,0),new h(0,0,1)],Jct=[new h(0,-1,0),new h(0,0,-1),new h(0,-1,0),new h(0,-1,0),new h(0,0,1),new h(0,-1,0)],Qct=[new h(0,0,1),new h(1,0,0),new h(-1,0,0),new h(0,0,-1),new h(1,0,0),new h(1,0,0)];function elt(e,t){let n=new _i;n.fov=I.PI_OVER_TWO,n.near=1,n.far=e._pointLightRadius,n.aspectRatio=1;for(let i=0;i<6;++i){let o=e._passes[i].camera;o.positionWC=e._shadowMapCamera.positionWC,o.positionCartographic=t.mapProjection.ellipsoid.cartesianToCartographic(o.positionWC,o.positionCartographic),o.directionWC=$ct[i],o.upWC=Jct[i],o.rightWC=Qct[i],N.computeView(o.positionWC,o.directionWC,o.upWC,o.rightWC,o.viewMatrix),N.inverse(o.viewMatrix,o.inverseViewMatrix),o.frustum=n}}var tlt=new h,nlt=new h,X_e=new re,G_e=X_e.center;function ilt(e,t){let n=e._sceneCamera,i=e._shadowMapCamera,o=X_e;if(e._cascadesEnabled){if(n.frustum.near>=e.maximumDistance){e._outOfView=!0,e._needsUpdate=!1;return}let r=t.mapProjection.ellipsoid.geodeticSurfaceNormal(n.positionWC,tlt),s=h.negate(i.directionWC,nlt),a=h.dot(r,s);if(e.fadingEnabled){let c=I.clamp(a/.1,0,1);e._darkness=I.lerp(1,e.darkness,c)}else e._darkness=e.darkness;if(a<0){e._outOfView=!0,e._needsUpdate=!1;return}e._needsUpdate=!0,e._outOfView=!1}else if(e._isPointLight)o.center=i.positionWC,o.radius=e._pointLightRadius,e._outOfView=t.cullingVolume.computeVisibility(o)===Kt.OUTSIDE,e._needsUpdate=!e._outOfView&&!e._boundingSphere.equals(o),re.clone(o,e._boundingSphere);else{let r=i.frustum.far/2,s=h.add(i.positionWC,h.multiplyByScalar(i.directionWC,r,G_e),G_e);o.center=s,o.radius=r,e._outOfView=t.cullingVolume.computeVisibility(o)===Kt.OUTSIDE,e._needsUpdate=!e._outOfView&&!e._boundingSphere.equals(o),re.clone(o,e._boundingSphere)}}function olt(e,t){let n=t.camera,i=e._lightCamera,o=e._sceneCamera,r=e._shadowMapCamera;e._cascadesEnabled?h.clone(i.directionWC,r.directionWC):e._isPointLight?h.clone(i.positionWC,r.positionWC):r.clone(i);let s=e._lightDirectionEC;N.multiplyByPointAsVector(n.viewMatrix,r.directionWC,s),h.normalize(s,s),h.negate(s,s),N.multiplyByPoint(n.viewMatrix,r.positionWC,e._lightPositionEC),e._lightPositionEC.w=e._pointLightRadius;let a,c;e._fitNearFar?(a=Math.min(t.shadowState.nearPlane,e.maximumDistance),c=Math.min(t.shadowState.farPlane,e.maximumDistance),c=Math.max(c,a+1)):(a=n.frustum.near,c=e.maximumDistance),e._sceneCamera=ao.clone(n,o),n.frustum.clone(e._sceneCamera.frustum),e._sceneCamera.frustum.near=a,e._sceneCamera.frustum.far=c,e._distance=c-a,ilt(e,t),!e._outOfViewPrevious&&e._outOfView&&(e._needsUpdate=!0),e._outOfViewPrevious=e._outOfView}Gh.prototype.update=function(e){if(olt(this,e),this._needsUpdate)if(Mct(this,e.context),this._isPointLight&&elt(this,e),this._cascadesEnabled&&(Zct(this,e),this._numberOfCascades>1&&qct(this,e)),this._isPointLight)this._shadowMapCullingVolume=qs.fromBoundingSphere(this._boundingSphere);else{let t=this._shadowMapCamera,n=t.positionWC,i=t.directionWC,o=t.upWC;this._shadowMapCullingVolume=t.frustum.computeCullingVolume(n,i,o),this._passes.length===1&&this._passes[0].camera.clone(t)}if(this._passes.length===1){let t=this._sceneCamera.inverseViewMatrix;N.multiply(this._shadowMapCamera.getViewProjection(),t,this._shadowMapMatrix)}this.debugShow&&zct(this,e)};Gh.prototype.updatePass=function(e,t){j_e(this,e,t)};var rlt=new G;function K_e(e,t,n){let i=e._isPointLight?e._pointBias:n?e._terrainBias:e._primitiveBias,o={shadowMap_texture:function(){return e._shadowMapTexture},shadowMap_textureCube:function(){return e._shadowMapTexture},shadowMap_matrix:function(){return e._shadowMapMatrix},shadowMap_cascadeSplits:function(){return e._cascadeSplits},shadowMap_cascadeMatrices:function(){return e._cascadeMatrices},shadowMap_lightDirectionEC:function(){return e._lightDirectionEC},shadowMap_lightPositionEC:function(){return e._lightPositionEC},shadowMap_cascadeDistances:function(){return e._cascadeDistances},shadowMap_texelSizeDepthBiasAndNormalShadingSmooth:function(){let r=rlt;return r.x=1/e._textureSize.x,r.y=1/e._textureSize.y,se.fromElements(r.x,r.y,i.depthBias,i.normalShadingSmooth,this.combinedUniforms1)},shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness:function(){return se.fromElements(i.normalOffsetScale,e._distance,e.maximumDistance,e._darkness,this.combinedUniforms2)},combinedUniforms1:new se,combinedUniforms2:new se};return mt(t,o,!1)}function slt(e,t,n,i,o,r){let s,a,c;if(l(r)&&(s=r.shaderProgram,a=r.renderState,c=r.uniformMap),r=Je.shallowClone(n,r),r.castShadows=!0,r.receiveShadows=!1,!l(s)||o!==n.shaderProgram.id||t){let u=n.shaderProgram,f=n.pass===xe.GLOBE,d=n.pass!==xe.TRANSLUCENT,p=e._isPointLight,g=e._usesDepthTexture,m=bp.getShadowCastShaderKeyword(p,f,g,d);if(s=i.shaderCache.getDerivedShaderProgram(u,m),!l(s)){let x=u.vertexShaderSource,A=u.fragmentShaderSource,b=bp.createShadowCastVertexShader(x,p,f),E=bp.createShadowCastFragmentShader(A,p,g,d);s=i.shaderCache.createDerivedShaderProgram(u,m,{vertexShaderSource:b,fragmentShaderSource:E,attributeLocations:u._attributeLocations})}a=e._primitiveRenderState,p?a=e._pointRenderState:f&&(a=e._terrainRenderState),n.renderState.cull.enabled||(a=et(a,!1),a.cull=et(a.cull,!1),a.cull.enabled=!1,a=Fe.fromCache(a)),c=K_e(e,n.uniformMap,f)}return r.shaderProgram=s,r.renderState=a,r.uniformMap=c,r}Gh.createReceiveDerivedCommand=function(e,t,n,i,o){l(o)||(o={});let r=e.length>0,s=t.shaderProgram,a=s.vertexShaderSource,c=s.fragmentShaderSource,u=t.pass===xe.GLOBE,f=!1;if(u&&(f=t.owner.data.renderedMesh.encoding.hasVertexNormals),t.receiveShadows&&r){let d,p;l(o.receiveCommand)&&(d=o.receiveCommand.shaderProgram,p=o.receiveCommand.uniformMap),o.receiveCommand=Je.shallowClone(t,o.receiveCommand),o.castShadows=!1,o.receiveShadows=!0;let g=o.receiveShaderCastShadows!==t.castShadows,m=o.receiveShaderProgramId!==t.shaderProgram.id;if(!l(d)||m||n||g){let C=bp.getShadowReceiveShaderKeyword(e[0],t.castShadows,u,f);if(d=i.shaderCache.getDerivedShaderProgram(s,C),!l(d)){let x=bp.createShadowReceiveVertexShader(a,u,f),A=bp.createShadowReceiveFragmentShader(c,e[0],t.castShadows,u,f);d=i.shaderCache.createDerivedShaderProgram(s,C,{vertexShaderSource:x,fragmentShaderSource:A,attributeLocations:s._attributeLocations})}p=K_e(e[0],t.uniformMap,u)}o.receiveCommand.shaderProgram=d,o.receiveCommand.uniformMap=p,o.receiveShaderProgramId=t.shaderProgram.id,o.receiveShaderCastShadows=t.castShadows}return o};Gh.createCastDerivedCommand=function(e,t,n,i,o){if(l(o)||(o={}),t.castShadows){let r=o.castCommands;l(r)||(r=o.castCommands=[]);let s=o.castShaderProgramId,a=e.length;r.length=a;for(let c=0;c<a;++c)r[c]=slt(e[c],n,t,i,s,r[c]);o.castShaderProgramId=t.shaderProgram.id}return o};Gh.prototype.isDestroyed=function(){return!1};Gh.prototype.destroy=function(){iq(this),this._debugLightFrustum=this._debugLightFrustum&&this._debugLightFrustum.destroy(),this._debugCameraFrustum=this._debugCameraFrustum&&this._debugCameraFrustum.destroy(),this._debugShadowViewCommand=this._debugShadowViewCommand&&this._debugShadowViewCommand.shaderProgram&&this._debugShadowViewCommand.shaderProgram.destroy();for(let e=0;e<this._numberOfCascades;++e)this._debugCascadeFrustums[e]=this._debugCascadeFrustums[e]&&this._debugCascadeFrustums[e].destroy();return fe(this)};var r0=Gh;var wU=`uniform sampler2D u_opaqueDepthTexture;
  7214. uniform sampler2D u_translucentDepthTexture;
  7215. varying vec2 v_textureCoordinates;
  7216. void main()
  7217. {
  7218. float opaqueDepth = texture2D(u_opaqueDepthTexture, v_textureCoordinates).r;
  7219. float translucentDepth = texture2D(u_translucentDepthTexture, v_textureCoordinates).r;
  7220. translucentDepth = czm_branchFreeTernary(translucentDepth > opaqueDepth, 1.0, translucentDepth);
  7221. gl_FragColor = czm_packDepth(translucentDepth);
  7222. }
  7223. `;var jE=`uniform sampler2D colorTexture;
  7224. #ifdef DEBUG_SHOW_DEPTH
  7225. uniform sampler2D u_packedTranslucentDepth;
  7226. #endif
  7227. varying vec2 v_textureCoordinates;
  7228. void main()
  7229. {
  7230. #ifdef DEBUG_SHOW_DEPTH
  7231. if (v_textureCoordinates.x < 0.5)
  7232. {
  7233. gl_FragColor.rgb = vec3(czm_unpackDepth(texture2D(u_packedTranslucentDepth, v_textureCoordinates)));
  7234. gl_FragColor.a = 1.0;
  7235. }
  7236. #else
  7237. vec4 color = texture2D(colorTexture, v_textureCoordinates);
  7238. #ifdef PICK
  7239. if (color == vec4(0.0))
  7240. {
  7241. discard;
  7242. }
  7243. #else
  7244. color.rgb /= color.a;
  7245. #endif
  7246. gl_FragColor = color;
  7247. #endif
  7248. }
  7249. `;var alt=!1;function s0(e){this._drawClassificationFBO=new ci({createDepthAttachments:!1}),this._accumulationFBO=new ci({createDepthAttachments:!1}),this._packFBO=new ci,this._opaqueDepthStencilTexture=void 0,this._textureToComposite=void 0,this._translucentDepthStencilTexture=void 0,this._packDepthCommand=void 0,this._accumulateCommand=void 0,this._compositeCommand=void 0,this._copyCommand=void 0,this._clearColorCommand=new oi({color:new U(0,0,0,0),owner:this}),this._clearDepthStencilCommand=new oi({depth:1,stencil:0,owner:this}),this._supported=e.depthTexture,this._viewport=new Ge,this._rsDepth=void 0,this._rsAccumulate=void 0,this._rsComp=void 0,this._useScissorTest=void 0,this._scissorRectangle=void 0,this._hasTranslucentDepth=!1,this._frustumsDrawn=0}Object.defineProperties(s0.prototype,{hasTranslucentDepth:{get:function(){return this._hasTranslucentDepth}}});function Z_e(e){e._textureToComposite=void 0,e._translucentDepthStencilTexture=e._translucentDepthStencilTexture&&!e._translucentDepthStencilTexture.isDestroyed()&&e._translucentDepthStencilTexture.destroy()}function $_e(e){e._drawClassificationFBO.destroy(),e._accumulationFBO.destroy(),e._packFBO.destroy()}function clt(e,t,n,i){Z_e(e),e._translucentDepthStencilTexture=new Ot({context:t,width:n,height:i,pixelFormat:ft.DEPTH_STENCIL,pixelDatatype:je.UNSIGNED_INT_24_8,sampler:hn.NEAREST})}function llt(e,t,n,i){$_e(e),e._drawClassificationFBO.setDepthStencilTexture(e._translucentDepthStencilTexture),e._drawClassificationFBO.update(t,n,i),e._accumulationFBO.setDepthStencilTexture(e._translucentDepthStencilTexture),e._accumulationFBO.update(t,n,i),e._packFBO.update(t,n,i)}function ult(e,t,n,i){if(!e.isSupported())return;e._opaqueDepthStencilTexture=i;let o=e._opaqueDepthStencilTexture.width,r=e._opaqueDepthStencilTexture.height;e._drawClassificationFBO.isDirty(o,r)&&(clt(e,t,o,r),llt(e,t,o,r));let s,a;if(l(e._packDepthCommand)||(s=new ke({sources:[wU]}),a={u_opaqueDepthTexture:function(){return e._opaqueDepthStencilTexture},u_translucentDepthTexture:function(){return e._translucentDepthStencilTexture}},e._packDepthCommand=t.createViewportQuadCommand(s,{uniformMap:a,owner:e})),!l(e._compositeCommand)){s=new ke({sources:[jE]}),a={colorTexture:function(){return e._textureToComposite}},alt&&(s.defines=["DEBUG_SHOW_DEPTH"],a.u_packedTranslucentDepth=function(){return e._packFBO.getColorTexture()}),e._compositeCommand=t.createViewportQuadCommand(s,{uniformMap:a,owner:e});let f=e._compositeCommand,d=f.shaderProgram,p=t.shaderCache.createDerivedShaderProgram(d,"pick",{vertexShaderSource:d.vertexShaderSource,fragmentShaderSource:new ke({sources:s.sources,defines:["PICK"]}),attributeLocations:d._attributeLocations}),g=Je.shallowClone(f);g.shaderProgram=p,f.derivedCommands.pick=g}l(e._copyCommand)||(s=new ke({sources:[jE]}),a={colorTexture:function(){return e._drawClassificationFBO.getColorTexture()}},e._copyCommand=t.createViewportQuadCommand(s,{uniformMap:a,owner:e})),l(e._accumulateCommand)||(s=new ke({sources:[jE]}),a={colorTexture:function(){return e._drawClassificationFBO.getColorTexture()}},e._accumulateCommand=t.createViewportQuadCommand(s,{uniformMap:a,owner:e})),e._viewport.width=o,e._viewport.height=r;let c=!Ge.equals(e._viewport,n.viewport),u=c!==e._useScissorTest;e._useScissorTest=c,Ge.equals(e._scissorRectangle,n.viewport)||(e._scissorRectangle=Ge.clone(n.viewport,e._scissorRectangle),u=!0),(!l(e._rsDepth)||!Ge.equals(e._viewport,e._rsDepth.viewport)||u)&&(e._rsDepth=Fe.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle}})),l(e._packDepthCommand)&&(e._packDepthCommand.renderState=e._rsDepth),(!l(e._rsAccumulate)||!Ge.equals(e._viewport,e._rsAccumulate.viewport)||u)&&(e._rsAccumulate=Fe.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle},stencilTest:{enabled:!0,frontFunction:Nn.EQUAL,reference:vt.CESIUM_3D_TILE_MASK}})),l(e._accumulateCommand)&&(e._accumulateCommand.renderState=e._rsAccumulate),(!l(e._rsComp)||!Ge.equals(e._viewport,e._rsComp.viewport)||u)&&(e._rsComp=Fe.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle},blending:cn.ALPHA_BLEND})),l(e._compositeCommand)&&(e._compositeCommand.renderState=e._rsComp,e._compositeCommand.derivedCommands.pick.renderState=e._rsComp)}s0.prototype.executeTranslucentCommands=function(e,t,n,i,o){let r=i.length,s,a,c=e.frameState.useLogDepth,u=e.context,f=n.framebuffer;for(a=0;a<r;++a)if(s=i[a],s=c?s.derivedCommands.logDepth.command:s,s.depthForTranslucentClassification){this._hasTranslucentDepth=!0;break}if(!!this._hasTranslucentDepth){for(ult(this,u,n,o),n.framebuffer=this._drawClassificationFBO.framebuffer,this._clearDepthStencilCommand.execute(u,n),a=0;a<r;++a){if(s=i[a],s=c?s.derivedCommands.logDepth.command:s,!s.depthForTranslucentClassification)continue;let d=s.derivedCommands.depth.depthOnlyCommand;t(d,e,u,n)}this._frustumsDrawn+=this._hasTranslucentDepth?1:0,this._hasTranslucentDepth&&(n.framebuffer=this._packFBO.framebuffer,this._packDepthCommand.execute(u,n)),n.framebuffer=f}};s0.prototype.executeClassificationCommands=function(e,t,n,i){if(!this._hasTranslucentDepth)return;let o=e.context,r=o.uniformState,s=n.framebuffer;this._frustumsDrawn===2&&(n.framebuffer=this._accumulationFBO.framebuffer,this._copyCommand.execute(o,n)),n.framebuffer=this._drawClassificationFBO.framebuffer,this._frustumsDrawn>1&&this._clearColorCommand.execute(o,n),r.updatePass(xe.CESIUM_3D_TILE_CLASSIFICATION);let a=r.globeDepthTexture;r.globeDepthTexture=this._packFBO.getColorTexture();let c=i.commands[xe.CESIUM_3D_TILE_CLASSIFICATION],u=i.indices[xe.CESIUM_3D_TILE_CLASSIFICATION];for(let f=0;f<u;++f)t(c[f],e,o,n);r.globeDepthTexture=a,n.framebuffer=s,this._frustumsDrawn!==1&&(n.framebuffer=this._accumulationFBO.framebuffer,this._accumulateCommand.execute(o,n),n.framebuffer=s)};s0.prototype.execute=function(e,t){if(!this._hasTranslucentDepth)return;this._frustumsDrawn===1?this._textureToComposite=this._drawClassificationFBO.getColorTexture():this._textureToComposite=this._accumulationFBO.getColorTexture(),(e.frameState.passes.pick?this._compositeCommand.derivedCommands.pick:this._compositeCommand).execute(e.context,t),flt(this,e,t)};function flt(e,t,n){if(!e._hasTranslucentDepth)return;let i=n.framebuffer;n.framebuffer=e._drawClassificationFBO.framebuffer,e._clearColorCommand.execute(t._context,n),n.framebuffer=i,e._frustumsDrawn>1&&(n.framebuffer=e._accumulationFBO.framebuffer,e._clearColorCommand.execute(t._context,n)),e._hasTranslucentDepth=!1,e._frustumsDrawn=0}s0.prototype.isSupported=function(){return this._supported};s0.prototype.isDestroyed=function(){return!1};s0.prototype.destroy=function(){return Z_e(this),$_e(this),l(this._compositeCommand)&&(this._compositeCommand.shaderProgram=this._compositeCommand.shaderProgram&&this._compositeCommand.shaderProgram.destroy()),l(this._packDepthCommand)&&(this._packDepthCommand.shaderProgram=this._packDepthCommand.shaderProgram&&this._packDepthCommand.shaderProgram.destroy()),fe(this)};var vU=s0;function dlt(){this.command=void 0,this.near=void 0,this.far=void 0}function DU(e,t,n){let i=e.context,o;i.depthTexture&&(o=new Qk);let r;e._useOIT&&i.depthTexture&&(r=new yU(i));let s=new Tc(i);s.viewport=Ge.clone(n),this.camera=t,this._cameraClone=ao.clone(t),this._cameraStartFired=!1,this._cameraMovedTime=void 0,this.viewport=n,this.passState=s,this.pickFramebuffer=new bU(i),this.pickDepthFramebuffer=new EU,this.sceneFramebuffer=new WE,this.globeDepth=o,this.globeTranslucencyFramebuffer=new eU,this.oit=r,this.translucentTileClassification=new vU(i),this.pickDepths=[],this.frustumCommandsList=[],this.debugFrustumStatistics=void 0,this._commandExtents=[]}var J_e=new h,Q_e=new h;function hlt(e,t){let n=Math.max(Math.abs(e.x),Math.abs(t.x)),i=Math.max(Math.abs(e.y),Math.abs(t.y)),o=Math.max(Math.abs(e.z),Math.abs(t.z));return Math.max(Math.max(n,i),o)}function mlt(e,t,n){let i=1/Math.max(1,hlt(e.position,t.position));return h.multiplyByScalar(e.position,i,J_e),h.multiplyByScalar(t.position,i,Q_e),h.equalsEpsilon(J_e,Q_e,n)&&h.equalsEpsilon(e.direction,t.direction,n)&&h.equalsEpsilon(e.up,t.up,n)&&h.equalsEpsilon(e.right,t.right,n)&&N.equalsEpsilon(e.transform,t.transform,n)&&e.frustum.equalsEpsilon(t.frustum,n)}DU.prototype.checkForCameraUpdates=function(e){let t=this.camera,n=this._cameraClone;return mlt(t,n,I.EPSILON15)?(this._cameraStartFired&&Ei()-this._cameraMovedTime>e.cameraEventWaitTime&&(t.moveEnd.raiseEvent(),this._cameraStartFired=!1),!1):(this._cameraStartFired||(t.moveStart.raiseEvent(),this._cameraStartFired=!0),this._cameraMovedTime=Ei(),ao.clone(t,n),!0)};function plt(e,t,n,i){let o=t.frameState,r=o.camera,s=o.useLogDepth?t.logarithmicDepthFarToNearRatio:t.farToNearRatio,a=t.mode===ee.SCENE2D,c=t.nearToFarDistance2D;i*=1+I.EPSILON2,n=Math.min(Math.max(n,r.frustum.near),r.frustum.far),i=Math.max(Math.min(i,r.frustum.far),n);let u;a?(i=Math.min(i,r.position.z+t.nearToFarDistance2D),n=Math.min(n,i),u=Math.ceil(Math.max(1,i-n)/t.nearToFarDistance2D)):u=Math.ceil(Math.log(i/n)/Math.log(s));let f=e.frustumCommandsList;f.length=u;for(let d=0;d<u;++d){let p,g;a?(p=Math.min(i-c,n+d*c),g=Math.min(i,p+c)):(p=Math.max(n,Math.pow(s,d)*n),g=Math.min(i,s*p));let m=f[d];l(m)?(m.near=p,m.far=g):m=f[d]=new Ek(p,g)}}function _lt(e,t,n,i,o){t.debugShowFrustums&&(n.debugOverlappingFrustums=0);let r=e.frustumCommandsList,s=r.length;for(let a=0;a<s;++a){let c=r[a],u=c.near,f=c.far;if(i>f)continue;if(o<u)break;let d=n.pass,p=c.indices[d]++;if(c.commands[d][p]=n,t.debugShowFrustums&&(n.debugOverlappingFrustums|=1<<a),n.executeInClosestFrustum)break}if(t.debugShowFrustums){let a=e.debugFrustumStatistics.commandsInFrustums;a[n.debugOverlappingFrustums]=l(a[n.debugOverlappingFrustums])?a[n.debugOverlappingFrustums]+1:1,++e.debugFrustumStatistics.totalCommands}t.updateDerivedCommands(n)}var ege=new qs,glt=new Dc;DU.prototype.createPotentiallyVisibleSet=function(e){let t=e.frameState,n=t.camera,i=n.directionWC,o=n.positionWC,r=e._computeCommandList,s=e._overlayCommandList,a=t.commandList;e.debugShowFrustums&&(this.debugFrustumStatistics={totalCommands:0,commandsInFrustums:{}});let c=this.frustumCommandsList,u=c.length,f=xe.NUMBER_OF_PASSES;for(let T=0;T<u;++T)for(let w=0;w<f;++w)c[T].indices[w]=0;r.length=0,s.length=0;let d=this._commandExtents,p=d.length,g=0,m=+Number.MAX_VALUE,C=-Number.MAX_VALUE,x=t.shadowState.shadowsEnabled,A=+Number.MAX_VALUE,b=-Number.MAX_VALUE,E=Number.MAX_VALUE,S=t.mode===ee.SCENE3D?t.occluder:void 0,v=t.cullingVolume,P=ege.planes;for(let T=0;T<5;++T)P[T]=v.planes[T];v=ege;let O=a.length;for(let T=0;T<O;++T){let w=a[T],D=w.pass;if(D===xe.COMPUTE)r.push(w);else if(D===xe.OVERLAY)s.push(w);else{let R,F,z=w.boundingVolume;if(l(z)){if(!e.isVisible(w,v,S))continue;let H=z.computePlaneDistances(o,i,glt);if(R=H.start,F=H.stop,m=Math.min(m,R),C=Math.max(C,F),x&&w.receiveShadows&&R<r0.MAXIMUM_DISTANCE&&!(D===xe.GLOBE&&R<-100&&F>100)){let V=F-R;D!==xe.GLOBE&&R<100&&(E=Math.min(E,V)),A=Math.min(A,R),b=Math.max(b,F)}}else w instanceof oi?(R=n.frustum.near,F=n.frustum.far):(R=n.frustum.near,F=n.frustum.far,m=Math.min(m,R),C=Math.max(C,F));let k=d[g];l(k)||(k=d[g]=new dlt),k.command=w,k.near=R,k.far=F,g++}}x&&(A=Math.min(Math.max(A,n.frustum.near),n.frustum.far),b=Math.max(Math.min(b,n.frustum.far),A)),x&&(t.shadowState.nearPlane=A,t.shadowState.farPlane=b,t.shadowState.closestObjectSize=E),plt(this,e,m,C);let M,B;for(M=0;M<g;M++)B=d[M],_lt(this,e,B.command,B.near,B.far);if(g<p)for(M=g;M<p&&(B=d[M],!!l(B.command));M++)B.command=void 0;let L=c.length,_=t.frustumSplits;_.length=L+1;for(let T=0;T<L;++T)_[T]=c[T].near,T===L-1&&(_[T+1]=c[T].far)};DU.prototype.destroy=function(){this.pickFramebuffer=this.pickFramebuffer&&this.pickFramebuffer.destroy(),this.pickDepthFramebuffer=this.pickDepthFramebuffer&&this.pickDepthFramebuffer.destroy(),this.sceneFramebuffer=this.sceneFramebuffer&&this.sceneFramebuffer.destroy(),this.globeDepth=this.globeDepth&&this.globeDepth.destroy(),this.oit=this.oit&&this.oit.destroy(),this.translucentTileClassification=this.translucentTileClassification&&this.translucentTileClassification.destroy(),this.globeTranslucencyFramebuffer=this.globeTranslucencyFramebuffer&&this.globeTranslucencyFramebuffer.destroy();let e,t=this.pickDepths,n=t.length;for(e=0;e<n;++e)t[e].destroy()};var qE=DU;var nge=.1,ylt=new ud({pass:er.MOST_DETAILED_PRELOAD}),Clt=new ud({pass:er.MOST_DETAILED_PICK}),rq=new ud({pass:er.PICK});function oa(e){this._mostDetailedRayPicks=[],this.pickRenderStateCache={},this._pickPositionCache={},this._pickPositionCacheDirty=!1;let t=new Ge(0,0,1,1),n=new ao(e);n.frustum=new $t({width:nge,aspectRatio:1,near:.1}),this._pickOffscreenView=new qE(e,n,t)}oa.prototype.update=function(){this._pickPositionCacheDirty=!0};oa.prototype.getPickDepth=function(e,t){let n=e.view.pickDepths,i=n[t];return l(i)||(i=new TU,n[t]=i),i};var xlt=new Ir,Alt=new h,PU=new h,Tlt=new G,Elt=new N;function blt(e,t,n,i,o){let r=e.camera,s=r.frustum;l(s._offCenterFrustum)&&(s=s._offCenterFrustum);let a=2*(t.x-o.x)/o.width-1;a*=(s.right-s.left)*.5;let c=2*(o.height-t.y-o.y)/o.height-1;c*=(s.top-s.bottom)*.5;let u=N.clone(r.transform,Elt);r._setTransform(N.IDENTITY);let f=h.clone(r.position,Alt);h.multiplyByScalar(r.right,a,PU),h.add(PU,f,f),h.multiplyByScalar(r.up,c,PU),h.add(PU,f,f),r._setTransform(u),e.mode===ee.SCENE2D&&h.fromElements(f.z,f.x,f.y,f);let d=s.getPixelDimensions(o.width,o.height,1,1,Tlt),p=xlt;return p.right=d.x*.5,p.left=-p.right,p.top=d.y*.5,p.bottom=-p.top,p.near=s.near,p.far=s.far,p.computeCullingVolume(f,r.directionWC,r.upWC)}var Slt=new kc,wlt=new G;function vlt(e,t,n,i,o){let r=e.camera,s=r.frustum,a=s.near,c=Math.tan(s.fovy*.5),u=s.aspectRatio*c,f=2*(t.x-o.x)/o.width-1,d=2*(o.height-t.y-o.y)/o.height-1,p=f*a*u,g=d*a*c,m=s.getPixelDimensions(o.width,o.height,1,1,wlt),C=m.x*n*.5,x=m.y*i*.5,A=Slt;return A.top=g+x,A.bottom=g-x,A.right=p+C,A.left=p-C,A.near=a,A.far=s.far,A.computeCullingVolume(r.positionWC,r.directionWC,r.upWC)}function ige(e,t,n,i,o){let r=e.camera.frustum;return r instanceof $t||r instanceof Ir?blt(e,t,n,i,o):vlt(e,t,n,i,o)}var YE=3,vD=3,jh=new Ge(0,0,YE,vD),oge=new G,sq=new U(0,0,0,0);oa.prototype.pick=function(e,t,n,i){YE=y(n,3),vD=y(i,YE);let o=e.context,r=o.uniformState,s=e.frameState,a=e.defaultView;e.view=a;let c=a.viewport;c.x=0,c.y=0,c.width=o.drawingBufferWidth,c.height=o.drawingBufferHeight;let u=a.passState;u.viewport=Ge.clone(c,u.viewport);let f=qi.transformWindowToDrawingBuffer(e,t,oge);e.jobScheduler.disableThisFrame(),e.updateFrameState(),s.cullingVolume=ige(e,f,YE,vD,c),s.invertClassification=!1,s.passes.pick=!0,s.tilesetPassState=rq,r.update(s),e.updateEnvironment(),jh.x=f.x-(YE-1)*.5,jh.y=e.drawingBufferHeight-f.y-(vD-1)*.5,jh.width=YE,jh.height=vD,u=a.pickFramebuffer.begin(jh,a.viewport),e.updateAndExecuteCommands(u,sq),e.resolveFramebuffers(u);let d=a.pickFramebuffer.end(jh);return o.endFrame(),d};function Dlt(e,t){let n=e.context,i=e.frameState,o=e.environmentState,r=e.defaultView;e.view=r;let s=r.viewport;s.x=0,s.y=0,s.width=n.drawingBufferWidth,s.height=n.drawingBufferHeight;let a=r.passState;a.viewport=Ge.clone(s,a.viewport),e.clearPasses(i.passes),i.passes.pick=!0,i.passes.depth=!0,i.cullingVolume=ige(e,t,1,1,s),i.tilesetPassState=rq,e.updateEnvironment(),o.renderTranslucentDepthForPick=!0,a=r.pickDepthFramebuffer.update(n,t,s),e.updateAndExecuteCommands(a,sq),e.resolveFramebuffers(a),n.endFrame()}var Plt=new _i,Ilt=new kc,Olt=new $t,Rlt=new Ir;oa.prototype.pickPositionWorldCoordinates=function(e,t,n){if(!e.useDepthPicking)return;let i=t.toString();if(this._pickPositionCacheDirty)this._pickPositionCache={},this._pickPositionCacheDirty=!1;else if(this._pickPositionCache.hasOwnProperty(i))return h.clone(this._pickPositionCache[i],n);let o=e.frameState,r=e.context,s=r.uniformState,a=e.defaultView;e.view=a;let c=qi.transformWindowToDrawingBuffer(e,t,oge);e.pickTranslucentDepth?Dlt(e,c):(e.updateFrameState(),s.update(o),e.updateEnvironment()),c.y=e.drawingBufferHeight-c.y;let u=e.camera,f;l(u.frustum.fov)?f=u.frustum.clone(Plt):l(u.frustum.infiniteProjectionMatrix)?f=u.frustum.clone(Ilt):l(u.frustum.width)?f=u.frustum.clone(Olt):f=u.frustum.clone(Rlt);let d=a.frustumCommandsList,p=d.length;for(let g=0;g<p;++g){let C=this.getPickDepth(e,g).getDepth(r,c.x,c.y);if(!!l(C)&&C>0&&C<1){let x=d[g],A;return e.mode===ee.SCENE2D?(A=u.position.z,u.position.z=A-x.near+1,f.far=Math.max(1,x.far-x.near),f.near=1,s.update(o),s.updateFrustum(f)):(f.near=x.near*(g!==0?e.opaqueFrustumNearOffset:1),f.far=x.far,s.updateFrustum(f)),n=qi.drawingBufferToWgs84Coordinates(e,c,C,n),e.mode===ee.SCENE2D&&(u.position.z=A,s.update(o)),this._pickPositionCache[i]=h.clone(n),n}}this._pickPositionCache[i]=void 0};var Mlt=new he;oa.prototype.pickPosition=function(e,t,n){if(n=this.pickPositionWorldCoordinates(e,t,n),l(n)&&e.mode!==ee.SCENE3D){h.fromElements(n.y,n.z,n.x,n);let i=e.mapProjection,o=i.ellipsoid,r=i.unproject(n,Mlt);o.cartographicToCartesian(r,n)}return n};function rge(e,t){let n,i,o=[],r=[],s=[],a=[];l(e)||(e=Number.MAX_VALUE);let c=t();for(;l(c);){let u=c.object,f=c.position,d=c.exclude;if(l(f)&&!l(u)){o.push(c);break}if(!l(u)||!l(u.primitive)||!d&&(o.push(c),0>=--e))break;let p=u.primitive,g=!1;typeof p.getGeometryInstanceAttributes=="function"&&l(u.id)&&(i=p.getGeometryInstanceAttributes(u.id),l(i)&&l(i.show)&&(g=!0,i.show=dn.toValue(!1,i.show),s.push(i))),u instanceof bs&&(g=!0,u.show=!1,a.push(u)),g||(p.show=!1,r.push(p)),c=t()}for(n=0;n<r.length;++n)r[n].show=!0;for(n=0;n<s.length;++n)i=s[n],i.show=dn.toValue(!0,i.show);for(n=0;n<a.length;++n)a[n].show=!0;return o}oa.prototype.drillPick=function(e,t,n,i,o){let r=this;return rge(n,function(){let c=r.pick(e,t,i,o);if(l(c))return{object:c,position:void 0,exclude:!1}}).map(function(c){return c.object})};var tge=new h,Blt=new h;function Llt(e,t,n){this.ray=e,this.width=t,this.tilesets=n,this.ready=!1;let i=this;this.promise=new Promise(o=>{i._completePick=()=>{o()}})}function sge(e,t,n,i){let o=t.direction,r=h.mostOrthogonalAxis(o,tge),s=h.cross(o,r,tge),a=h.cross(o,s,Blt);return i.position=t.origin,i.direction=o,i.up=a,i.right=s,i.frustum.width=y(n,nge),i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC)}function Nlt(e,t,n){let i=t.frameState,o=n.ray,r=n.width,s=n.tilesets,a=e._pickOffscreenView.camera,c=sge(e,o,r,a),u=ylt;u.camera=a,u.cullingVolume=c;let f=!0,d=s.length;for(let p=0;p<d;++p){let g=s[p];g.show&&t.primitives.contains(g)&&(g.updateForPass(i,u),f=f&&u.ready)}return f&&n._completePick(),f}oa.prototype.updateMostDetailedRayPicks=function(e){let t=this._mostDetailedRayPicks;for(let n=0;n<t.length;++n)Nlt(this,e,t[n])&&t.splice(n--,1)};function age(e,t,n){let i=e.length;for(let o=0;o<i;++o){let r=e.get(o);r.show&&(l(r.isCesium3DTileset)?(!l(t)||t.indexOf(r)===-1)&&n.push(r):r instanceof Nl&&age(r,t,n))}}function IU(e,t,n,i,o,r){let s=[];if(age(t.primitives,i,s),s.length===0)return Promise.resolve(r());let a=new Llt(n,o,s);return e._mostDetailedRayPicks.push(a),a.promise.then(function(){return r()})}function Flt(e,t){return!l(e)||!l(t)||t.length===0?!1:t.indexOf(e)>-1||t.indexOf(e.primitive)>-1||t.indexOf(e.id)>-1}function Vlt(e,t,n,i,o,r,s){let a=t.context,c=a.uniformState,u=t.frameState,f=e._pickOffscreenView;t.view=f,sge(e,n,o,f.camera),jh=Ge.clone(f.viewport,jh);let d=f.pickFramebuffer.begin(jh,f.viewport);t.jobScheduler.disableThisFrame(),t.updateFrameState(),u.invertClassification=!1,u.passes.pick=!0,u.passes.offscreen=!0,s?u.tilesetPassState=Clt:u.tilesetPassState=rq,c.update(u),t.updateEnvironment(),t.updateAndExecuteCommands(d,sq),t.resolveFramebuffers(d);let p,g=f.pickFramebuffer.end(jh);if(t.context.depthTexture){let m=f.frustumCommandsList.length;for(let C=0;C<m;++C){let A=e.getPickDepth(t,C).getDepth(a,0,0);if(!!l(A)&&A>0&&A<1){let b=f.frustumCommandsList[C],E=b.near*(C!==0?t.opaqueFrustumNearOffset:1),S=b.far,v=E+A*(S-E);p=Tn.getPoint(n,v);break}}}if(t.view=t.defaultView,a.endFrame(),l(g)||l(p))return{object:g,position:p,exclude:!l(p)&&r||Flt(g,i)}}function cge(e,t,n,i,o,r,s,a){return rge(i,function(){return Vlt(e,t,n,o,r,s,a)})}function XE(e,t,n,i,o,r,s){let a=cge(e,t,n,1,i,o,r,s);if(a.length>0)return a[0]}function lge(e,t,n,i,o,r,s,a){return cge(e,t,n,i,o,r,s,a)}function OU(e,t){return new Promise((n,i)=>{t.then(function(o){let r=e.postRender.addEventListener(function(){r(),n(o)});e.requestRender()}).catch(function(o){i(o)})})}oa.prototype.pickFromRay=function(e,t,n,i){return XE(this,e,t,n,i,!1,!1)};oa.prototype.drillPickFromRay=function(e,t,n,i,o){return lge(this,e,t,n,i,o,!1,!1)};oa.prototype.pickFromRayMostDetailed=function(e,t,n,i){let o=this;return t=Tn.clone(t),n=l(n)?n.slice():n,OU(e,IU(o,e,t,n,i,function(){return XE(o,e,t,n,i,!1,!0)}))};oa.prototype.drillPickFromRayMostDetailed=function(e,t,n,i,o){let r=this;return t=Tn.clone(t),i=l(i)?i.slice():i,OU(e,IU(r,e,t,i,o,function(){return lge(r,e,t,n,i,o,!1,!0)}))};var klt=new h,Ult=new h,zlt=new Tn,uge=new he;function aq(e,t){let n=e.globe,i=l(n)?n.ellipsoid:e.mapProjection.ellipsoid,o=si._defaultMaxTerrainHeight,r=i.geodeticSurfaceNormalCartographic(t,Ult),s=he.toCartesian(t,i,klt),a=zlt;a.origin=s,a.direction=r;let c=new Tn;return Tn.getPoint(a,o,c.origin),h.negate(r,c.direction),c}function fge(e,t){let n=e.globe,i=l(n)?n.ellipsoid:e.mapProjection.ellipsoid,o=he.fromCartesian(t,i,uge);return aq(e,o)}function dge(e,t){let n=e.globe,i=l(n)?n.ellipsoid:e.mapProjection.ellipsoid;return he.fromCartesian(t,i,uge).height}function Hlt(e,t,n,i,o){let r=aq(t,n);return IU(e,t,r,i,o,function(){let s=XE(e,t,r,i,o,!0,!0);if(l(s))return dge(t,s.position)})}function Glt(e,t,n,i,o,r){let s=fge(t,n);return IU(e,t,s,i,o,function(){let a=XE(e,t,s,i,o,!0,!0);if(l(a))return h.clone(a.position,r)})}oa.prototype.sampleHeight=function(e,t,n,i){let o=aq(e,t),r=XE(this,e,o,n,i,!0,!1);if(l(r))return dge(e,r.position)};oa.prototype.clampToHeight=function(e,t,n,i,o){let r=fge(e,t),s=XE(this,e,r,n,i,!0,!1);if(l(s))return h.clone(s.position,o)};oa.prototype.sampleHeightMostDetailed=function(e,t,n,i){n=l(n)?n.slice():n;let o=t.length,r=new Array(o);for(let s=0;s<o;++s)r[s]=Hlt(this,e,t[s],n,i);return OU(e,Promise.all(r).then(function(s){let a=s.length;for(let c=0;c<a;++c)t[c].height=s[c];return t}))};oa.prototype.clampToHeightMostDetailed=function(e,t,n,i){n=l(n)?n.slice():n;let o=t.length,r=new Array(o);for(let s=0;s<o;++s)r[s]=Glt(this,e,t[s],n,i,t[s]);return OU(e,Promise.all(r).then(function(s){let a=s.length;for(let c=0;c<a;++c)t[c]=s[c];return t}))};oa.prototype.destroy=function(){this._pickOffscreenView=this._pickOffscreenView&&this._pickOffscreenView.destroy()};var RU=oa;var pge=Ri(iP(),1);function Wlt(e,t,n){return` float clipDistance = clip(gl_FragCoord, ${e}, ${t});
  7250. vec4 clippingPlanesEdgeColor = vec4(1.0);
  7251. clippingPlanesEdgeColor.rgb = ${n}.rgb;
  7252. float clippingPlanesEdgeWidth = ${n}.a;
  7253. if (clipDistance > 0.0 && clipDistance < clippingPlanesEdgeWidth)
  7254. {
  7255. gl_FragColor = clippingPlanesEdgeColor;
  7256. }
  7257. `}var MU=Wlt;var jlt={modifyFragmentShader:function(t){return t=ke.replaceMain(t,"czm_splitter_main"),t+=`uniform float czm_splitDirection;
  7258. void main()
  7259. {
  7260. #ifndef SHADOW_MAP
  7261. if (czm_splitDirection < 0.0 && gl_FragCoord.x > czm_splitPosition) discard;
  7262. if (czm_splitDirection > 0.0 && gl_FragCoord.x < czm_splitPosition) discard;
  7263. #endif
  7264. czm_splitter_main();
  7265. }
  7266. `,t},addUniforms:function(t,n){n.czm_splitDirection=function(){return t.splitDirection}}},DD=jlt;var EC={NEEDS_DECODE:0,DECODING:1,READY:2,FAILED:3};function PD(e){this._parsedContent=void 0,this._drawCommand=void 0,this._isTranslucent=!1,this._styleTranslucent=!1,this._constantColor=U.clone(U.DARKGRAY),this._highlightColor=U.clone(U.WHITE),this._pointSize=1,this._rtcCenter=void 0,this._quantizedVolumeScale=void 0,this._quantizedVolumeOffset=void 0,this._styleableShaderAttributes=void 0,this._isQuantized=!1,this._isOctEncoded16P=!1,this._isRGB565=!1,this._hasColors=!1,this._hasNormals=!1,this._hasBatchIds=!1,this._decodingState=EC.READY,this._dequantizeInShader=!0,this._isQuantizedDraco=!1,this._isOctEncodedDraco=!1,this._quantizedRange=0,this._octEncodedRange=0,this.backFaceCulling=!1,this._backFaceCulling=!1,this.normalShading=!0,this._normalShading=!0,this._opaqueRenderState=void 0,this._translucentRenderState=void 0,this._mode=void 0,this._ready=!1,this._pointsLength=0,this._geometryByteLength=0,this._vertexShaderLoaded=e.vertexShaderLoaded,this._fragmentShaderLoaded=e.fragmentShaderLoaded,this._uniformMapLoaded=e.uniformMapLoaded,this._batchTableLoaded=e.batchTableLoaded,this._pickIdLoaded=e.pickIdLoaded,this._opaquePass=y(e.opaquePass,xe.OPAQUE),this._cull=y(e.cull,!0),this.style=void 0,this._style=void 0,this.styleDirty=!1,this.modelMatrix=N.clone(N.IDENTITY),this._modelMatrix=N.clone(N.IDENTITY),this.time=0,this.shadows=mn.ENABLED,this._boundingSphere=void 0,this.clippingPlanes=void 0,this.isClipped=!1,this.clippingPlanesDirty=!1,this.clippingPlanesOriginMatrix=void 0,this.attenuation=!1,this._attenuation=!1,this.geometricError=0,this.geometricErrorScale=1,this.maximumAttenuation=this._pointSize,this.splitDirection=y(e.splitDirection,Kc.NONE),this._splittingEnabled=!1,this._resolveReadyPromise=void 0,this._rejectReadyPromise=void 0,this._readyPromise=qlt(this,e)}Object.defineProperties(PD.prototype,{pointsLength:{get:function(){return this._pointsLength}},geometryByteLength:{get:function(){return this._geometryByteLength}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise}},color:{get:function(){return U.clone(this._highlightColor)},set:function(e){this._highlightColor=U.clone(e,this._highlightColor)}},boundingSphere:{get:function(){if(l(this._drawCommand))return this._drawCommand.boundingVolume},set:function(e){this._boundingSphere=re.clone(e,this._boundingSphere)}}});function qlt(e,t){let n=hT.parse(t.arrayBuffer,t.byteOffset);if(e._parsedContent=n,e._rtcCenter=n.rtcCenter,e._hasNormals=n.hasNormals,e._hasColors=n.hasColors,e._hasBatchIds=n.hasBatchIds,e._isTranslucent=n.isTranslucent,!n.hasBatchIds&&l(n.batchTableBinary)&&(n.styleableProperties=B_.getBinaryProperties(n.pointsLength,n.batchTableJson,n.batchTableBinary)),l(n.draco)){let a=n.draco;e._decodingState=EC.NEEDS_DECODE,a.dequantizeInShader=e._dequantizeInShader}let i=n.positions;l(i)&&(e._isQuantized=i.isQuantized,e._quantizedVolumeScale=i.quantizedVolumeScale,e._quantizedVolumeOffset=i.quantizedVolumeOffset,e._quantizedRange=i.quantizedRange);let o=n.normals;l(o)&&(e._isOctEncoded16P=o.octEncoded);let r=n.colors;l(r)&&(l(r.constantColor)&&(e._constantColor=U.clone(r.constantColor,e._constantColor),e._hasColors=!1),e._isRGB565=r.isRGB565);let s=n.batchIds;return l(n.batchIds)&&(s.name="BATCH_ID",s.semantic="BATCH_ID",s.setIndex=void 0),n.hasBatchIds&&e._batchTableLoaded(n.batchLength,n.batchTableJson,n.batchTableBinary),e._pointsLength=n.pointsLength,new Promise(function(a,c){e._resolveReadyPromise=function(){e._ready=!0,a(e)},e._rejectReadyPromise=c})}var Ylt=new h,Xlt=new h,Klt=new h,hge,BU;function Zlt(e){if(!l(BU)){hge=new pge.default(0),BU=new Array(e);for(let t=0;t<e;++t)BU[t]=hge.random()}return BU}function $lt(e){let n=e.length/3,i=Math.min(n,20),o=Zlt(20),r=Number.MAX_VALUE,s=-Number.MAX_VALUE,a=h.fromElements(r,r,r,Ylt),c=h.fromElements(s,s,s,Xlt);for(let f=0;f<i;++f){let d=Math.floor(o[f]*n),p=h.unpack(e,d*3,Klt);h.minimumByComponent(a,p,a),h.maximumByComponent(c,p,c)}let u=re.fromCornerPoints(a,c);return u.radius+=I.EPSILON2,u}function mge(e,t){let n=Z.fromTypedArray(e);return n===Z.INT||n===Z.UNSIGNED_INT||n===Z.DOUBLE?(Bt("Cast pnts property to floats",`Point cloud property "${t}" will be casted to a float array because INT, UNSIGNED_INT, and DOUBLE are not valid WebGL vertex attribute types. Some precision may be lost.`),new Float32Array(e)):e}var Jlt=new se,Qlt=new se,eut=new U,_ge=0,LU=1,dq=2,gge=3,tut=4,cq=new N,nut=new N;function iut(e,t){let n=t.context,i=e._parsedContent,o=e._pointsLength,r=i.positions,s=i.colors,a=i.normals,c=i.batchIds,u=i.styleableProperties,f=l(u),d=e._isQuantized,p=e._isQuantizedDraco,g=e._isOctEncoded16P,m=e._isOctEncodedDraco,C=e._quantizedRange,x=e._octEncodedRange,A=e._isRGB565,b=e._isTranslucent,E=e._hasColors,S=e._hasNormals,v=e._hasBatchIds,P,O,M=[],B={};if(e._styleableShaderAttributes=B,f){let k=tut;for(let H in u)if(u.hasOwnProperty(H)){let V=u[H],Y=mge(V.typedArray,H);P=V.componentCount,O=Z.fromTypedArray(Y);let q=ct.createVertexBuffer({context:n,typedArray:Y,usage:Le.STATIC_DRAW});e._geometryByteLength+=q.sizeInBytes;let X={index:k,vertexBuffer:q,componentsPerAttribute:P,componentDatatype:O,normalize:!1,offsetInBytes:0,strideInBytes:0};M.push(X),B[H]={location:k,componentCount:P},++k}}let L=ct.createVertexBuffer({context:n,typedArray:r.typedArray,usage:Le.STATIC_DRAW});e._geometryByteLength+=L.sizeInBytes;let _;E&&(_=ct.createVertexBuffer({context:n,typedArray:s.typedArray,usage:Le.STATIC_DRAW}),e._geometryByteLength+=_.sizeInBytes);let T;S&&(T=ct.createVertexBuffer({context:n,typedArray:a.typedArray,usage:Le.STATIC_DRAW}),e._geometryByteLength+=T.sizeInBytes);let w;v&&(c.typedArray=mge(c.typedArray,"batchIds"),w=ct.createVertexBuffer({context:n,typedArray:c.typedArray,usage:Le.STATIC_DRAW}),e._geometryByteLength+=w.sizeInBytes);let D=[];if(d?O=Z.UNSIGNED_SHORT:p?O=C<=255?Z.UNSIGNED_BYTE:Z.UNSIGNED_SHORT:O=Z.FLOAT,D.push({index:_ge,vertexBuffer:L,componentsPerAttribute:3,componentDatatype:O,normalize:!1,offsetInBytes:0,strideInBytes:0}),e._cull&&(d||p?e._boundingSphere=re.fromCornerPoints(h.ZERO,e._quantizedVolumeScale):e._boundingSphere=$lt(r.typedArray)),E)if(A)D.push({index:LU,vertexBuffer:_,componentsPerAttribute:1,componentDatatype:Z.UNSIGNED_SHORT,normalize:!1,offsetInBytes:0,strideInBytes:0});else{let k=b?4:3;D.push({index:LU,vertexBuffer:_,componentsPerAttribute:k,componentDatatype:Z.UNSIGNED_BYTE,normalize:!0,offsetInBytes:0,strideInBytes:0})}S&&(g?(P=2,O=Z.UNSIGNED_BYTE):m?(P=2,O=x<=255?Z.UNSIGNED_BYTE:Z.UNSIGNED_SHORT):(P=3,O=Z.FLOAT),D.push({index:dq,vertexBuffer:T,componentsPerAttribute:P,componentDatatype:O,normalize:!1,offsetInBytes:0,strideInBytes:0})),v&&D.push({index:gge,vertexBuffer:w,componentsPerAttribute:1,componentDatatype:Z.fromTypedArray(c.typedArray),normalize:!1,offsetInBytes:0,strideInBytes:0}),f&&(D=D.concat(M));let R=new ti({context:n,attributes:D}),F={depthTest:{enabled:!0}},z={depthTest:{enabled:!0},depthMask:!1,blending:cn.ALPHA_BLEND};e._opaquePass===xe.CESIUM_3D_TILE&&(F.stencilTest=vt.setCesium3DTileBit(),F.stencilMask=vt.CESIUM_3D_TILE_MASK,z.stencilTest=vt.setCesium3DTileBit(),z.stencilMask=vt.CESIUM_3D_TILE_MASK),e._opaqueRenderState=Fe.fromCache(F),e._translucentRenderState=Fe.fromCache(z),e._drawCommand=new Je({boundingVolume:new re,cull:e._cull,modelMatrix:new N,primitiveType:Ne.POINTS,vertexArray:R,count:o,shaderProgram:void 0,uniformMap:void 0,renderState:b?e._translucentRenderState:e._opaqueRenderState,pass:b?xe.TRANSLUCENT:e._opaquePass,owner:e,castShadows:!1,receiveShadows:!1,pickId:e._pickIdLoaded()})}function out(e,t){let n=t.context,i=e._isQuantized,o=e._isQuantizedDraco,r=e._isOctEncodedDraco,s={u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier:function(){let a=Jlt;if(a.x=e._attenuation?e.maximumAttenuation:e._pointSize,a.x*=t.pixelRatio,a.y=e.time,e._attenuation){let c=t.camera.frustum,u;t.mode===ee.SCENE2D||c instanceof $t?u=Number.POSITIVE_INFINITY:u=n.drawingBufferHeight/t.camera.frustum.sseDenominator,a.z=e.geometricError*e.geometricErrorScale,a.w=u}return a},u_highlightColor:function(){return e._highlightColor},u_constantColor:function(){return e._constantColor},u_clippingPlanes:function(){let a=e.clippingPlanes;return e.isClipped?a.texture:n.defaultTexture},u_clippingPlanesEdgeStyle:function(){let a=e.clippingPlanes;if(!l(a))return U.TRANSPARENT;let c=U.clone(a.edgeColor,eut);return c.alpha=a.edgeWidth,c},u_clippingPlanesMatrix:function(){let a=e.clippingPlanes;if(!l(a))return N.IDENTITY;let c=y(e.clippingPlanesOriginMatrix,e._modelMatrix);N.multiply(n.uniformState.view3D,c,cq);let u=N.multiply(cq,a.modelMatrix,cq);return N.inverseTranspose(u,nut)}};DD.addUniforms(e,s),(i||o||r)&&(s=mt(s,{u_quantizedVolumeScaleAndOctEncodedRange:function(){let a=Qlt;if(l(e._quantizedVolumeScale)){let c=h.clone(e._quantizedVolumeScale,a);h.divideByScalar(c,e._quantizedRange,a)}return a.w=e._octEncodedRange,a}})),l(e._uniformMapLoaded)&&(s=e._uniformMapLoaded(s)),e._drawCommand.uniformMap=s}function lq(e,t){let n=/czm_3dtiles_property_(\d+)/g,i=n.exec(e);for(;i!==null;){let o=parseInt(i[1]);t.indexOf(o)===-1&&t.push(o),i=n.exec(e)}}function uq(e,t){e=e.slice(e.indexOf(`
  7267. `));let n=/czm_3dtiles_builtin_property_(\w+)/g,i=n.exec(e);for(;i!==null;){let o=i[1];t.indexOf(o)===-1&&t.push(o),i=n.exec(e)}}function fq(e,t){let n=e.numberOfAttributes;for(let i=0;i<n;++i){let o=e.getAttribute(i);if(o.index===t)return o}}var rut={POSITION:"czm_3dtiles_builtin_property_POSITION",POSITION_ABSOLUTE:"czm_3dtiles_builtin_property_POSITION_ABSOLUTE",COLOR:"czm_3dtiles_builtin_property_COLOR",NORMAL:"czm_3dtiles_builtin_property_NORMAL"};function sut(e,t,n){let i,o,r,s=t.context,a=l(n),c=e._isQuantized,u=e._isQuantizedDraco,f=e._isOctEncoded16P,d=e._isOctEncodedDraco,p=e._isRGB565,g=e._isTranslucent,m=e._hasColors,C=e._hasNormals,x=e._hasBatchIds,A=e._backFaceCulling,b=e._normalShading,E=e._drawCommand.vertexArray,S=e.clippingPlanes,v=e._attenuation,P,O,M,B=g,L=et(rut),_={},T=e._styleableShaderAttributes;for(o in T)T.hasOwnProperty(o)&&(r=T[o],L[o]=`czm_3dtiles_property_${r.location}`,_[r.location]=r);if(a){let ie={translucent:!1},ce="(vec3 czm_3dtiles_builtin_property_POSITION, vec3 czm_3dtiles_builtin_property_POSITION_ABSOLUTE, vec4 czm_3dtiles_builtin_property_COLOR, vec3 czm_3dtiles_builtin_property_NORMAL)";P=n.getColorShaderFunction(`getColorFromStyle${ce}`,L,ie),O=n.getShowShaderFunction(`getShowFromStyle${ce}`,L,ie),M=n.getPointSizeShaderFunction(`getPointSizeFromStyle${ce}`,L,ie),l(P)&&ie.translucent&&(B=!0)}e._styleTranslucent=B;let w=l(P),D=l(O),R=l(M),F=e.isClipped,z=[],k=[];w&&(lq(P,z),uq(P,k)),D&&(lq(O,z),uq(O,k)),R&&(lq(M,z),uq(M,k));let H=k.indexOf("COLOR")>=0,V=k.indexOf("NORMAL")>=0;if(V&&!C)throw new de("Style references the NORMAL semantic but the point cloud does not have normals");for(o in T)if(T.hasOwnProperty(o)){r=T[o];let ie=z.indexOf(r.location)>=0,ce=fq(E,r.location);ce.enabled=ie}let Y=m&&(!w||H);if(m){let ie=fq(E,LU);ie.enabled=Y}let q=C&&(b||A||V);if(C){let ie=fq(E,dq);ie.enabled=q}let X={a_position:_ge};Y&&(X.a_color=LU),q&&(X.a_normal=dq),x&&(X.a_batchId=gge);let W="",K=z.length;for(i=0;i<K;++i){let ie=z[i];r=_[ie];let ce=r.componentCount,pe=`czm_3dtiles_property_${ie}`,Ae;ce===1?Ae="float":Ae=`vec${ce}`,W+=`attribute ${Ae} ${pe};
  7268. `,X[pe]=r.location}out(e,t);let $=`attribute vec3 a_position;
  7269. varying vec4 v_color;
  7270. uniform vec4 u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier;
  7271. uniform vec4 u_constantColor;
  7272. uniform vec4 u_highlightColor;
  7273. `;$+=`float u_pointSize;
  7274. float tiles3d_tileset_time;
  7275. `,v&&($+=`float u_geometricError;
  7276. float u_depthMultiplier;
  7277. `),$+=W,Y&&(g?$+=`attribute vec4 a_color;
  7278. `:p?$+=`attribute float a_color;
  7279. const float SHIFT_RIGHT_11 = 1.0 / 2048.0;
  7280. const float SHIFT_RIGHT_5 = 1.0 / 32.0;
  7281. const float SHIFT_LEFT_11 = 2048.0;
  7282. const float SHIFT_LEFT_5 = 32.0;
  7283. const float NORMALIZE_6 = 1.0 / 64.0;
  7284. const float NORMALIZE_5 = 1.0 / 32.0;
  7285. `:$+=`attribute vec3 a_color;
  7286. `),q&&(f||d?$+=`attribute vec2 a_normal;
  7287. `:$+=`attribute vec3 a_normal;
  7288. `),x&&($+=`attribute float a_batchId;
  7289. `),(c||u||d)&&($+=`uniform vec4 u_quantizedVolumeScaleAndOctEncodedRange;
  7290. `),w&&($+=P),D&&($+=O),R&&($+=M),$+=`void main()
  7291. {
  7292. u_pointSize = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.x;
  7293. tiles3d_tileset_time = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.y;
  7294. `,v&&($+=` u_geometricError = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.z;
  7295. u_depthMultiplier = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.w;
  7296. `),Y?g?$+=` vec4 color = a_color;
  7297. `:p?$+=` float compressed = a_color;
  7298. float r = floor(compressed * SHIFT_RIGHT_11);
  7299. compressed -= r * SHIFT_LEFT_11;
  7300. float g = floor(compressed * SHIFT_RIGHT_5);
  7301. compressed -= g * SHIFT_LEFT_5;
  7302. float b = compressed;
  7303. vec3 rgb = vec3(r * NORMALIZE_5, g * NORMALIZE_6, b * NORMALIZE_5);
  7304. vec4 color = vec4(rgb, 1.0);
  7305. `:$+=` vec4 color = vec4(a_color, 1.0);
  7306. `:$+=` vec4 color = u_constantColor;
  7307. `,c||u?$+=` vec3 position = a_position * u_quantizedVolumeScaleAndOctEncodedRange.xyz;
  7308. `:$+=` vec3 position = a_position;
  7309. `,$+=` vec3 position_absolute = vec3(czm_model * vec4(position, 1.0));
  7310. `,q?(f?$+=` vec3 normal = czm_octDecode(a_normal);
  7311. `:d?$+=` vec3 normal = czm_octDecode(a_normal, u_quantizedVolumeScaleAndOctEncodedRange.w).zxy;
  7312. `:$+=` vec3 normal = a_normal;
  7313. `,$+=` vec3 normalEC = czm_normal * normal;
  7314. `):$+=` vec3 normal = vec3(1.0);
  7315. `,w&&($+=` color = getColorFromStyle(position, position_absolute, color, normal);
  7316. `),D&&($+=` float show = float(getShowFromStyle(position, position_absolute, color, normal));
  7317. `),R?$+=` gl_PointSize = getPointSizeFromStyle(position, position_absolute, color, normal) * czm_pixelRatio;
  7318. `:v?$+=` vec4 positionEC = czm_modelView * vec4(position, 1.0);
  7319. float depth = -positionEC.z;
  7320. gl_PointSize = min((u_geometricError / depth) * u_depthMultiplier, u_pointSize);
  7321. `:$+=` gl_PointSize = u_pointSize;
  7322. `,$+=` color = color * u_highlightColor;
  7323. `,q&&b&&($+=` float diffuseStrength = czm_getLambertDiffuse(czm_lightDirectionEC, normalEC);
  7324. diffuseStrength = max(diffuseStrength, 0.4);
  7325. color.xyz *= diffuseStrength * czm_lightColor;
  7326. `),$+=` v_color = color;
  7327. gl_Position = czm_modelViewProjection * vec4(position, 1.0);
  7328. `,q&&A&&($+=` float visible = step(-normalEC.z, 0.0);
  7329. gl_Position *= visible;
  7330. gl_PointSize *= visible;
  7331. `),D&&($+=` gl_Position.w *= float(show);
  7332. gl_PointSize *= float(show);
  7333. `),$+=`}
  7334. `;let le=`varying vec4 v_color;
  7335. `;F&&(le+=`uniform highp sampler2D u_clippingPlanes;
  7336. uniform mat4 u_clippingPlanesMatrix;
  7337. uniform vec4 u_clippingPlanesEdgeStyle;
  7338. `,le+=`
  7339. `,le+=IE(S,s),le+=`
  7340. `),le+=`void main()
  7341. {
  7342. gl_FragColor = czm_gammaCorrect(v_color);
  7343. `,F&&(le+=MU("u_clippingPlanes","u_clippingPlanesMatrix","u_clippingPlanesEdgeStyle")),le+=`}
  7344. `,e.splitDirection!==Kc.NONE&&(le=DD.modifyFragmentShader(le)),l(e._vertexShaderLoaded)&&($=e._vertexShaderLoaded($)),l(e._fragmentShaderLoaded)&&(le=e._fragmentShaderLoaded(le));let me=e._drawCommand;l(me.shaderProgram)&&me.shaderProgram.destroy(),me.shaderProgram=Yt.fromCache({context:s,vertexShaderSource:$,fragmentShaderSource:le,attributeLocations:X});try{me.shaderProgram._bind()}catch{throw new de("Error generating style shader: this may be caused by a type mismatch, index out-of-bounds, or other syntax error.")}}function aut(e,t){if(e._decodingState===EC.READY)return!1;if(e._decodingState===EC.NEEDS_DECODE){let n=e._parsedContent,i=n.draco,o=k_.decodePointCloud(i,t);l(o)&&(e._decodingState=EC.DECODING,o.then(function(r){e._decodingState=EC.READY;let s=l(r.POSITION)?r.POSITION.array:void 0,a=l(r.RGB)?r.RGB.array:void 0,c=l(r.RGBA)?r.RGBA.array:void 0,u=l(r.NORMAL)?r.NORMAL.array:void 0,f=l(r.BATCH_ID)?r.BATCH_ID.array:void 0,d=l(s)&&l(r.POSITION.data.quantization),p=l(u)&&l(r.NORMAL.data.quantization);if(d){let x=r.POSITION.data.quantization,A=x.range;e._quantizedVolumeScale=h.fromElements(A,A,A),e._quantizedVolumeOffset=h.unpack(x.minValues),e._quantizedRange=(1<<x.quantizationBits)-1,e._isQuantizedDraco=!0}p&&(e._octEncodedRange=(1<<r.NORMAL.data.quantization.quantizationBits)-1,e._isOctEncodedDraco=!0);let g=n.styleableProperties,m=i.batchTableProperties;for(let x in m)if(m.hasOwnProperty(x)){let A=r[x];l(g)||(g={}),g[x]={typedArray:A.array,componentCount:A.data.componentsPerAttribute}}l(s)&&(n.positions={typedArray:s});let C=y(c,a);l(C)&&(n.colors={typedArray:C}),l(u)&&(n.normals={typedArray:u}),l(f)&&(n.batchIds={typedArray:f}),n.styleableProperties=g}).catch(function(r){e._decodingState=EC.FAILED,e._rejectReadyPromise(r)}))}return!0}var cut=new se,lut=new h;PD.prototype.update=function(e){let t=e.context;if(aut(this,t))return;let i=!1,o=!N.equals(this._modelMatrix,this.modelMatrix);if(this._mode!==e.mode&&(this._mode=e.mode,o=!0),l(this._drawCommand)||(iut(this,e),o=!0,i=!0,this._resolveReadyPromise(),this._parsedContent=void 0),o){N.clone(this.modelMatrix,this._modelMatrix);let u=this._drawCommand.modelMatrix;if(N.clone(this._modelMatrix,u),l(this._rtcCenter)&&N.multiplyByTranslation(u,this._rtcCenter,u),l(this._quantizedVolumeOffset)&&N.multiplyByTranslation(u,this._quantizedVolumeOffset,u),e.mode!==ee.SCENE3D){let d=e.mapProjection,p=N.getColumn(u,3,cut);se.equals(p,se.UNIT_W)||Dt.basisTo2D(d,u,u)}let f=this._drawCommand.boundingVolume;if(re.clone(this._boundingSphere,f),this._cull){let d=f.center;N.multiplyByPoint(u,d,d);let p=N.getScale(u,lut);f.radius*=h.maximumComponent(p)}}this.clippingPlanesDirty&&(this.clippingPlanesDirty=!1,i=!0),this._attenuation!==this.attenuation&&(this._attenuation=this.attenuation,i=!0),this.backFaceCulling!==this._backFaceCulling&&(this._backFaceCulling=this.backFaceCulling,i=!0),this.normalShading!==this._normalShading&&(this._normalShading=this.normalShading,i=!0),(this._style!==this.style||this.styleDirty)&&(this._style=this.style,this.styleDirty=!1,i=!0);let r=this.splitDirection!==Kc.NONE;this._splittingEnabled!==r&&(this._splittingEnabled=r,i=!0),i&&sut(this,e,this._style),this._drawCommand.castShadows=mn.castShadows(this.shadows),this._drawCommand.receiveShadows=mn.receiveShadows(this.shadows);let s=this._highlightColor.alpha<1||this._constantColor.alpha<1||this._styleTranslucent;this._drawCommand.renderState=s?this._translucentRenderState:this._opaqueRenderState,this._drawCommand.pass=s?xe.TRANSLUCENT:this._opaquePass;let a=e.commandList,c=e.passes;(c.render||c.pick)&&a.push(this._drawCommand)};PD.prototype.isDestroyed=function(){return!1};PD.prototype.destroy=function(){let e=this._drawCommand;return l(e)&&(e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),e.shaderProgram=e.shaderProgram&&e.shaderProgram.destroy()),fe(this)};var NU=PD;var uut={NEAREST:0,LINEAR:1},ef=uut;function bC(e){e=y(e,y.EMPTY_OBJECT);let t=e.fragmentShader,n=y(e.textureScale,1),i=y(e.pixelFormat,ft.RGBA);this._fragmentShader=t,this._uniforms=e.uniforms,this._textureScale=n,this._forcePowerOfTwo=y(e.forcePowerOfTwo,!1),this._sampleMode=y(e.sampleMode,ef.NEAREST),this._pixelFormat=i,this._pixelDatatype=y(e.pixelDatatype,je.UNSIGNED_BYTE),this._clearColor=y(e.clearColor,U.BLACK),this._uniformMap=void 0,this._command=void 0,this._colorTexture=void 0,this._depthTexture=void 0,this._idTexture=void 0,this._actualUniforms={},this._dirtyUniforms=[],this._texturesToRelease=[],this._texturesToCreate=[],this._texturePromise=void 0;let o=new Tc;o.scissorTest={enabled:!0,rectangle:l(e.scissorRectangle)?Ge.clone(e.scissorRectangle):new Ge},this._passState=o,this._ready=!1;let r=e.name;l(r)||(r=Hn()),this._name=r,this._logDepthChanged=void 0,this._useLogDepth=void 0,this._selectedIdTexture=void 0,this._selected=void 0,this._selectedShadow=void 0,this._parentSelected=void 0,this._parentSelectedShadow=void 0,this._combinedSelected=void 0,this._combinedSelectedShadow=void 0,this._selectedLength=0,this._parentSelectedLength=0,this._selectedDirty=!0,this._textureCache=void 0,this._index=void 0,this.enabled=!0,this._enabled=!0}Object.defineProperties(bC.prototype,{ready:{get:function(){return this._ready}},name:{get:function(){return this._name}},fragmentShader:{get:function(){return this._fragmentShader}},uniforms:{get:function(){return this._uniforms}},textureScale:{get:function(){return this._textureScale}},forcePowerOfTwo:{get:function(){return this._forcePowerOfTwo}},sampleMode:{get:function(){return this._sampleMode}},pixelFormat:{get:function(){return this._pixelFormat}},pixelDatatype:{get:function(){return this._pixelDatatype}},clearColor:{get:function(){return this._clearColor}},scissorRectangle:{get:function(){return this._passState.scissorTest.rectangle}},outputTexture:{get:function(){if(l(this._textureCache)){let e=this._textureCache.getFramebuffer(this._name);if(l(e))return e.getColorTexture(0)}}},selected:{get:function(){return this._selected},set:function(e){this._selected=e}},parentSelected:{get:function(){return this._parentSelected},set:function(e){this._parentSelected=e}}});var fut=/uniform\s+sampler2D\s+depthTexture/g;bC.prototype._isSupported=function(e){return!fut.test(this._fragmentShader)||e.depthTexture};function dut(e,t,n){let i=t[n];return(typeof i=="string"||i instanceof HTMLCanvasElement||i instanceof HTMLImageElement||i instanceof HTMLVideoElement||i instanceof ImageData)&&e._dirtyUniforms.push(n),{get:function(){return t[n]},set:function(o){let r=t[n];t[n]=o;let s=e._actualUniforms,a=s[n];l(a)&&a!==r&&a instanceof Ot&&!l(e._textureCache.getStageByName(n))&&(e._texturesToRelease.push(a),delete s[n],delete s[`${n}Dimensions`]),r instanceof Ot&&e._texturesToRelease.push(r),typeof o=="string"||o instanceof HTMLCanvasElement||o instanceof HTMLImageElement||o instanceof HTMLVideoElement||o instanceof ImageData?e._dirtyUniforms.push(n):s[n]=o}}}function hut(e,t){return function(){let n=e._actualUniforms[t];return typeof n=="function"?n():n}}function mut(e,t){return function(){let n=e[t]();if(l(n))return n.dimensions}}function put(e){if(l(e._uniformMap))return;let t={},n={},i=e._uniforms,o=e._actualUniforms;for(let r in i)if(i.hasOwnProperty(r)){typeof i[r]!="function"?(t[r]=hut(e,r),n[r]=dut(e,i,r)):(t[r]=i[r],n[r]=i[r]),o[r]=i[r];let s=t[r]();(typeof s=="string"||s instanceof Ot||s instanceof HTMLImageElement||s instanceof HTMLCanvasElement||s instanceof HTMLVideoElement)&&(t[`${r}Dimensions`]=mut(t,r))}e._uniforms={},Object.defineProperties(e._uniforms,n),e._uniformMap=mt(t,{colorTexture:function(){return e._colorTexture},colorTextureDimensions:function(){return e._colorTexture.dimensions},depthTexture:function(){return e._depthTexture},depthTextureDimensions:function(){return e._depthTexture.dimensions},czm_idTexture:function(){return e._idTexture},czm_selectedIdTexture:function(){return e._selectedIdTexture},czm_selectedIdTextureStep:function(){return 1/e._selectedIdTexture.width}})}function _ut(e,t){if(l(e._command)&&!e._logDepthChanged&&!e._selectedDirty)return;let n=e._fragmentShader;if(l(e._selectedIdTexture)){let o=e._selectedIdTexture.width;n=n.replace(/varying\s+vec2\s+v_textureCoordinates;/g,""),n=`#define CZM_SELECTED_FEATURE
  7345. uniform sampler2D czm_idTexture;
  7346. uniform sampler2D czm_selectedIdTexture;
  7347. uniform float czm_selectedIdTextureStep;
  7348. varying vec2 v_textureCoordinates;
  7349. bool czm_selected(vec2 offset)
  7350. {
  7351. bool selected = false;
  7352. vec4 id = texture2D(czm_idTexture, v_textureCoordinates + offset);
  7353. for (int i = 0; i < ${o}; ++i)
  7354. {
  7355. vec4 selectedId = texture2D(czm_selectedIdTexture, vec2((float(i) + 0.5) * czm_selectedIdTextureStep, 0.5));
  7356. if (all(equal(id, selectedId)))
  7357. {
  7358. return true;
  7359. }
  7360. }
  7361. return false;
  7362. }
  7363. bool czm_selected()
  7364. {
  7365. return czm_selected(vec2(0.0));
  7366. }
  7367. ${n}`}let i=new ke({defines:[e._useLogDepth?"LOG_DEPTH":""],sources:[n]});e._command=t.createViewportQuadCommand(i,{uniformMap:e._uniformMap,owner:e})}function gut(e){let t=e._sampleMode,n,i;t===ef.LINEAR?(n=ln.LINEAR,i=Ji.LINEAR):(n=ln.NEAREST,i=Ji.NEAREST);let o=e._sampler;(!l(o)||o.minificationFilter!==n||o.magnificationFilter!==i)&&(e._sampler=new hn({wrapS:Dn.CLAMP_TO_EDGE,wrapT:Dn.CLAMP_TO_EDGE,minificationFilter:n,magnificationFilter:i}))}function yut(e,t){return function(n){e._texturesToCreate.push({name:t,source:n})}}function Cut(e,t){return function(){return e._textureCache.getOutputTexture(t)}}function xut(e,t){let n,i,o,r=e._texturesToRelease,s=r.length;for(n=0;n<s;++n)i=r[n],i=i&&i.destroy();r.length=0;let a=e._texturesToCreate;for(s=a.length,n=0;n<s;++n){let d=a[n];o=d.name;let p=d.source;e._actualUniforms[o]=new Ot({context:t,source:p})}a.length=0;let c=e._dirtyUniforms;if(c.length===0&&!l(e._texturePromise)){e._ready=!0;return}if(c.length===0||l(e._texturePromise))return;s=c.length;let u=e._uniforms,f=[];for(n=0;n<s;++n){o=c[n];let d=u[o],p=e._textureCache.getStageByName(d);if(l(p))e._actualUniforms[o]=Cut(e,d);else if(typeof d=="string"){let g=new Ie({url:d});f.push(g.fetchImage().then(yut(e,o)))}else e._texturesToCreate.push({name:o,source:d})}c.length=0,f.length>0?(e._ready=!1,e._texturePromise=Promise.all(f).then(function(){e._ready=!0,e._texturePromise=void 0})):e._ready=!0}function yge(e){l(e._command)&&(e._command.shaderProgram=e._command.shaderProgram&&e._command.shaderProgram.destroy(),e._command=void 0),e._selectedIdTexture=e._selectedIdTexture&&e._selectedIdTexture.destroy();let t=e._textureCache;if(!l(t))return;let n=e._uniforms,i=e._actualUniforms;for(let o in i)i.hasOwnProperty(o)&&i[o]instanceof Ot&&(l(t.getStageByName(n[o]))||i[o].destroy(),e._dirtyUniforms.push(o))}function Aut(e){let t=l(e._selected)?e._selected.length:0,n=l(e._parentSelected)?e._parentSelected:0,i=e._selected!==e._selectedShadow||t!==e._selectedLength;if(i=i||e._parentSelected!==e._parentSelectedShadow||n!==e._parentSelectedLength,l(e._selected)&&l(e._parentSelected)?e._combinedSelected=e._selected.concat(e._parentSelected):l(e._parentSelected)?e._combinedSelected=e._parentSelected:e._combinedSelected=e._selected,!i&&l(e._combinedSelected)){if(!l(e._combinedSelectedShadow))return!0;t=e._combinedSelected.length;for(let o=0;o<t;++o)if(e._combinedSelected[o]!==e._combinedSelectedShadow[o])return!0}return i}function Tut(e,t){if(!e._selectedDirty)return;e._selectedIdTexture=e._selectedIdTexture&&e._selectedIdTexture.destroy(),e._selectedIdTexture=void 0;let n=e._combinedSelected;if(!l(n))return;let i,o,r=0,s=n.length;for(i=0;i<s;++i)o=n[i],l(o.pickIds)?r+=o.pickIds.length:l(o.pickId)&&++r;if(s===0||r===0){let f=new Uint8Array(4);f[0]=255,f[1]=255,f[2]=255,f[3]=255,e._selectedIdTexture=new Ot({context:t,pixelFormat:ft.RGBA,pixelDatatype:je.UNSIGNED_BYTE,source:{arrayBufferView:f,width:1,height:1},sampler:hn.NEAREST});return}let a,c=0,u=new Uint8Array(r*4);for(i=0;i<s;++i)if(o=n[i],l(o.pickIds)){let f=o.pickIds,d=f.length;for(let p=0;p<d;++p)a=f[p].color,u[c]=U.floatToByte(a.red),u[c+1]=U.floatToByte(a.green),u[c+2]=U.floatToByte(a.blue),u[c+3]=U.floatToByte(a.alpha),c+=4}else l(o.pickId)&&(a=o.pickId.color,u[c]=U.floatToByte(a.red),u[c+1]=U.floatToByte(a.green),u[c+2]=U.floatToByte(a.blue),u[c+3]=U.floatToByte(a.alpha),c+=4);e._selectedIdTexture=new Ot({context:t,pixelFormat:ft.RGBA,pixelDatatype:je.UNSIGNED_BYTE,source:{arrayBufferView:u,width:r,height:1},sampler:hn.NEAREST})}bC.prototype.update=function(e,t){if(this.enabled!==this._enabled&&!this.enabled&&yge(this),this._enabled=this.enabled,!this._enabled||(this._logDepthChanged=t!==this._useLogDepth,this._useLogDepth=t,this._selectedDirty=Aut(this),this._selectedShadow=this._selected,this._parentSelectedShadow=this._parentSelected,this._combinedSelectedShadow=this._combinedSelected,this._selectedLength=l(this._selected)?this._selected.length:0,this._parentSelectedLength=l(this._parentSelected)?this._parentSelected.length:0,Tut(this,e),put(this),xut(this,e),_ut(this,e),gut(this),this._selectedDirty=!1,!this._ready))return;let n=this._textureCache.getFramebuffer(this._name);if(this._command.framebuffer=n,!l(n))return;let i=n.getColorTexture(0),o;(i.width!==e.drawingBufferWidth||i.height!==e.drawingBufferHeight)&&(o=this._renderState,(!l(o)||i.width!==o.viewport.width||i.height!==o.viewport.height)&&(this._renderState=Fe.fromCache({viewport:new Ge(0,0,i.width,i.height)}))),this._command.renderState=o};bC.prototype.execute=function(e,t,n,i){if(!l(this._command)||!l(this._command.framebuffer)||!this._ready||!this._enabled)return;this._colorTexture=t,this._depthTexture=n,this._idTexture=i,hn.equals(this._colorTexture.sampler,this._sampler)||(this._colorTexture.sampler=this._sampler);let o=this.scissorRectangle.width>0&&this.scissorRectangle.height>0?this._passState:void 0;l(o)&&(o.context=e),this._command.execute(e,o)};bC.prototype.isDestroyed=function(){return!1};bC.prototype.destroy=function(){return yge(this),fe(this)};var go=bC;var FU=`uniform sampler2D colorTexture;
  7368. varying vec2 v_textureCoordinates;
  7369. #ifdef AUTO_EXPOSURE
  7370. uniform sampler2D autoExposure;
  7371. #endif
  7372. void main()
  7373. {
  7374. vec4 fragmentColor = texture2D(colorTexture, v_textureCoordinates);
  7375. vec3 color = fragmentColor.rgb;
  7376. #ifdef AUTO_EXPOSURE
  7377. color /= texture2D(autoExposure, vec2(0.5)).r;
  7378. #endif
  7379. color = czm_acesTonemapping(color);
  7380. color = czm_inverseGamma(color);
  7381. gl_FragColor = vec4(color, fragmentColor.a);
  7382. }
  7383. `;var VU=`uniform sampler2D randomTexture;
  7384. uniform sampler2D depthTexture;
  7385. uniform float intensity;
  7386. uniform float bias;
  7387. uniform float lengthCap;
  7388. uniform float stepSize;
  7389. uniform float frustumLength;
  7390. varying vec2 v_textureCoordinates;
  7391. vec4 clipToEye(vec2 uv, float depth)
  7392. {
  7393. vec2 xy = vec2((uv.x * 2.0 - 1.0), ((1.0 - uv.y) * 2.0 - 1.0));
  7394. vec4 posEC = czm_inverseProjection * vec4(xy, depth, 1.0);
  7395. posEC = posEC / posEC.w;
  7396. return posEC;
  7397. }
  7398. vec3 getNormalXEdge(vec3 posInCamera, float depthU, float depthD, float depthL, float depthR, vec2 pixelSize)
  7399. {
  7400. vec4 posInCameraUp = clipToEye(v_textureCoordinates - vec2(0.0, pixelSize.y), depthU);
  7401. vec4 posInCameraDown = clipToEye(v_textureCoordinates + vec2(0.0, pixelSize.y), depthD);
  7402. vec4 posInCameraLeft = clipToEye(v_textureCoordinates - vec2(pixelSize.x, 0.0), depthL);
  7403. vec4 posInCameraRight = clipToEye(v_textureCoordinates + vec2(pixelSize.x, 0.0), depthR);
  7404. vec3 up = posInCamera.xyz - posInCameraUp.xyz;
  7405. vec3 down = posInCameraDown.xyz - posInCamera.xyz;
  7406. vec3 left = posInCamera.xyz - posInCameraLeft.xyz;
  7407. vec3 right = posInCameraRight.xyz - posInCamera.xyz;
  7408. vec3 DX = length(left) < length(right) ? left : right;
  7409. vec3 DY = length(up) < length(down) ? up : down;
  7410. return normalize(cross(DY, DX));
  7411. }
  7412. void main(void)
  7413. {
  7414. float depth = czm_readDepth(depthTexture, v_textureCoordinates);
  7415. vec4 posInCamera = clipToEye(v_textureCoordinates, depth);
  7416. if (posInCamera.z > frustumLength)
  7417. {
  7418. gl_FragColor = vec4(1.0);
  7419. return;
  7420. }
  7421. vec2 pixelSize = czm_pixelRatio / czm_viewport.zw;
  7422. float depthU = czm_readDepth(depthTexture, v_textureCoordinates - vec2(0.0, pixelSize.y));
  7423. float depthD = czm_readDepth(depthTexture, v_textureCoordinates + vec2(0.0, pixelSize.y));
  7424. float depthL = czm_readDepth(depthTexture, v_textureCoordinates - vec2(pixelSize.x, 0.0));
  7425. float depthR = czm_readDepth(depthTexture, v_textureCoordinates + vec2(pixelSize.x, 0.0));
  7426. vec3 normalInCamera = getNormalXEdge(posInCamera.xyz, depthU, depthD, depthL, depthR, pixelSize);
  7427. float ao = 0.0;
  7428. vec2 sampleDirection = vec2(1.0, 0.0);
  7429. float gapAngle = 90.0 * czm_radiansPerDegree;
  7430. float randomVal = texture2D(randomTexture, v_textureCoordinates).x;
  7431. for (int i = 0; i < 4; i++)
  7432. {
  7433. float newGapAngle = gapAngle * (float(i) + randomVal);
  7434. float cosVal = cos(newGapAngle);
  7435. float sinVal = sin(newGapAngle);
  7436. vec2 rotatedSampleDirection = vec2(cosVal * sampleDirection.x - sinVal * sampleDirection.y, sinVal * sampleDirection.x + cosVal * sampleDirection.y);
  7437. float localAO = 0.0;
  7438. float localStepSize = stepSize;
  7439. for (int j = 0; j < 6; j++)
  7440. {
  7441. vec2 newCoords = v_textureCoordinates + rotatedSampleDirection * localStepSize * pixelSize;
  7442. if(newCoords.x > 1.0 || newCoords.y > 1.0 || newCoords.x < 0.0 || newCoords.y < 0.0)
  7443. {
  7444. break;
  7445. }
  7446. float stepDepthInfo = czm_readDepth(depthTexture, newCoords);
  7447. vec4 stepPosInCamera = clipToEye(newCoords, stepDepthInfo);
  7448. vec3 diffVec = stepPosInCamera.xyz - posInCamera.xyz;
  7449. float len = length(diffVec);
  7450. if (len > lengthCap)
  7451. {
  7452. break;
  7453. }
  7454. float dotVal = clamp(dot(normalInCamera, normalize(diffVec)), 0.0, 1.0 );
  7455. float weight = len / lengthCap;
  7456. weight = 1.0 - weight * weight;
  7457. if (dotVal < bias)
  7458. {
  7459. dotVal = 0.0;
  7460. }
  7461. localAO = max(localAO, dotVal * weight);
  7462. localStepSize += stepSize;
  7463. }
  7464. ao += localAO;
  7465. }
  7466. ao /= 4.0;
  7467. ao = 1.0 - clamp(ao, 0.0, 1.0);
  7468. ao = pow(ao, intensity);
  7469. gl_FragColor = vec4(vec3(ao), 1.0);
  7470. }
  7471. `;var kU=`uniform sampler2D colorTexture;
  7472. uniform sampler2D ambientOcclusionTexture;
  7473. uniform bool ambientOcclusionOnly;
  7474. varying vec2 v_textureCoordinates;
  7475. void main(void)
  7476. {
  7477. vec3 color = texture2D(colorTexture, v_textureCoordinates).rgb;
  7478. vec3 ao = texture2D(ambientOcclusionTexture, v_textureCoordinates).rgb;
  7479. gl_FragColor.rgb = ambientOcclusionOnly ? ao : ao * color;
  7480. }
  7481. `;var UU=`uniform sampler2D colorTexture;
  7482. uniform float gradations;
  7483. varying vec2 v_textureCoordinates;
  7484. void main(void)
  7485. {
  7486. vec3 rgb = texture2D(colorTexture, v_textureCoordinates).rgb;
  7487. #ifdef CZM_SELECTED_FEATURE
  7488. if (czm_selected()) {
  7489. gl_FragColor = vec4(rgb, 1.0);
  7490. return;
  7491. }
  7492. #endif
  7493. float luminance = czm_luminance(rgb);
  7494. float darkness = luminance * gradations;
  7495. darkness = (darkness - fract(darkness)) / gradations;
  7496. gl_FragColor = vec4(vec3(darkness), 1.0);
  7497. }
  7498. `;var zU=`uniform sampler2D colorTexture;
  7499. uniform sampler2D bloomTexture;
  7500. uniform bool glowOnly;
  7501. varying vec2 v_textureCoordinates;
  7502. void main(void)
  7503. {
  7504. vec4 color = texture2D(colorTexture, v_textureCoordinates);
  7505. #ifdef CZM_SELECTED_FEATURE
  7506. if (czm_selected()) {
  7507. gl_FragColor = color;
  7508. return;
  7509. }
  7510. #endif
  7511. vec4 bloom = texture2D(bloomTexture, v_textureCoordinates);
  7512. gl_FragColor = glowOnly ? bloom : bloom + color;
  7513. }
  7514. `;var HU=`uniform sampler2D colorTexture;
  7515. uniform float brightness;
  7516. varying vec2 v_textureCoordinates;
  7517. void main(void)
  7518. {
  7519. vec3 rgb = texture2D(colorTexture, v_textureCoordinates).rgb;
  7520. vec3 target = vec3(0.0);
  7521. gl_FragColor = vec4(mix(target, rgb, brightness), 1.0);
  7522. }
  7523. `;var GU=`uniform sampler2D colorTexture;
  7524. uniform float contrast;
  7525. uniform float brightness;
  7526. varying vec2 v_textureCoordinates;
  7527. void main(void)
  7528. {
  7529. vec3 sceneColor = texture2D(colorTexture, v_textureCoordinates).xyz;
  7530. sceneColor = czm_RGBToHSB(sceneColor);
  7531. sceneColor.z += brightness;
  7532. sceneColor = czm_HSBToRGB(sceneColor);
  7533. float factor = (259.0 * (contrast + 255.0)) / (255.0 * (259.0 - contrast));
  7534. sceneColor = factor * (sceneColor - vec3(0.5)) + vec3(0.5);
  7535. gl_FragColor = vec4(sceneColor, 1.0);
  7536. }
  7537. `;var WU=`uniform sampler2D colorTexture;
  7538. uniform sampler2D blurTexture;
  7539. uniform sampler2D depthTexture;
  7540. uniform float focalDistance;
  7541. varying vec2 v_textureCoordinates;
  7542. vec4 toEye(vec2 uv, float depth)
  7543. {
  7544. vec2 xy = vec2((uv.x * 2.0 - 1.0), ((1.0 - uv.y) * 2.0 - 1.0));
  7545. vec4 posInCamera = czm_inverseProjection * vec4(xy, depth, 1.0);
  7546. posInCamera = posInCamera / posInCamera.w;
  7547. return posInCamera;
  7548. }
  7549. float computeDepthBlur(float depth)
  7550. {
  7551. float f;
  7552. if (depth < focalDistance)
  7553. {
  7554. f = (focalDistance - depth) / (focalDistance - czm_currentFrustum.x);
  7555. }
  7556. else
  7557. {
  7558. f = (depth - focalDistance) / (czm_currentFrustum.y - focalDistance);
  7559. f = pow(f, 0.1);
  7560. }
  7561. f *= f;
  7562. f = clamp(f, 0.0, 1.0);
  7563. return pow(f, 0.5);
  7564. }
  7565. void main(void)
  7566. {
  7567. float depth = czm_readDepth(depthTexture, v_textureCoordinates);
  7568. vec4 posInCamera = toEye(v_textureCoordinates, depth);
  7569. float d = computeDepthBlur(-posInCamera.z);
  7570. gl_FragColor = mix(texture2D(colorTexture, v_textureCoordinates), texture2D(blurTexture, v_textureCoordinates), d);
  7571. }
  7572. `;var jU=`uniform sampler2D depthTexture;
  7573. varying vec2 v_textureCoordinates;
  7574. void main(void)
  7575. {
  7576. float depth = czm_readDepth(depthTexture, v_textureCoordinates);
  7577. gl_FragColor = vec4(vec3(depth), 1.0);
  7578. }
  7579. `;var qU=`uniform sampler2D depthTexture;
  7580. uniform float length;
  7581. uniform vec4 color;
  7582. varying vec2 v_textureCoordinates;
  7583. void main(void)
  7584. {
  7585. float directions[3];
  7586. directions[0] = -1.0;
  7587. directions[1] = 0.0;
  7588. directions[2] = 1.0;
  7589. float scalars[3];
  7590. scalars[0] = 3.0;
  7591. scalars[1] = 10.0;
  7592. scalars[2] = 3.0;
  7593. float padx = czm_pixelRatio / czm_viewport.z;
  7594. float pady = czm_pixelRatio / czm_viewport.w;
  7595. #ifdef CZM_SELECTED_FEATURE
  7596. bool selected = false;
  7597. for (int i = 0; i < 3; ++i)
  7598. {
  7599. float dir = directions[i];
  7600. selected = selected || czm_selected(vec2(-padx, dir * pady));
  7601. selected = selected || czm_selected(vec2(padx, dir * pady));
  7602. selected = selected || czm_selected(vec2(dir * padx, -pady));
  7603. selected = selected || czm_selected(vec2(dir * padx, pady));
  7604. if (selected)
  7605. {
  7606. break;
  7607. }
  7608. }
  7609. if (!selected)
  7610. {
  7611. gl_FragColor = vec4(color.rgb, 0.0);
  7612. return;
  7613. }
  7614. #endif
  7615. float horizEdge = 0.0;
  7616. float vertEdge = 0.0;
  7617. for (int i = 0; i < 3; ++i)
  7618. {
  7619. float dir = directions[i];
  7620. float scale = scalars[i];
  7621. horizEdge -= texture2D(depthTexture, v_textureCoordinates + vec2(-padx, dir * pady)).x * scale;
  7622. horizEdge += texture2D(depthTexture, v_textureCoordinates + vec2(padx, dir * pady)).x * scale;
  7623. vertEdge -= texture2D(depthTexture, v_textureCoordinates + vec2(dir * padx, -pady)).x * scale;
  7624. vertEdge += texture2D(depthTexture, v_textureCoordinates + vec2(dir * padx, pady)).x * scale;
  7625. }
  7626. float len = sqrt(horizEdge * horizEdge + vertEdge * vertEdge);
  7627. gl_FragColor = vec4(color.rgb, len > length ? color.a : 0.0);
  7628. }
  7629. `;var YU=`uniform sampler2D colorTexture;
  7630. varying vec2 v_textureCoordinates;
  7631. #ifdef AUTO_EXPOSURE
  7632. uniform sampler2D autoExposure;
  7633. #endif
  7634. void main()
  7635. {
  7636. vec4 fragmentColor = texture2D(colorTexture, v_textureCoordinates);
  7637. vec3 color = fragmentColor.rgb;
  7638. #ifdef AUTO_EXPOSURE
  7639. float exposure = texture2D(autoExposure, vec2(0.5)).r;
  7640. color /= exposure;
  7641. #endif
  7642. const float A = 0.22;
  7643. const float B = 0.30;
  7644. const float C = 0.10;
  7645. const float D = 0.20;
  7646. const float E = 0.01;
  7647. const float F = 0.30;
  7648. const float white = 11.2;
  7649. vec3 c = ((color * (A * color + C * B) + D * E) / (color * ( A * color + B) + D * F)) - E / F;
  7650. float w = ((white * (A * white + C * B) + D * E) / (white * ( A * white + B) + D * F)) - E / F;
  7651. c = czm_inverseGamma(c / w);
  7652. gl_FragColor = vec4(c, fragmentColor.a);
  7653. }
  7654. `;var XU=`varying vec2 v_textureCoordinates;
  7655. uniform sampler2D colorTexture;
  7656. const float fxaaQualitySubpix = 0.5;
  7657. const float fxaaQualityEdgeThreshold = 0.125;
  7658. const float fxaaQualityEdgeThresholdMin = 0.0833;
  7659. void main()
  7660. {
  7661. vec2 fxaaQualityRcpFrame = vec2(1.0) / czm_viewport.zw;
  7662. vec4 color = FxaaPixelShader(
  7663. v_textureCoordinates,
  7664. colorTexture,
  7665. fxaaQualityRcpFrame,
  7666. fxaaQualitySubpix,
  7667. fxaaQualityEdgeThreshold,
  7668. fxaaQualityEdgeThresholdMin);
  7669. float alpha = texture2D(colorTexture, v_textureCoordinates).a;
  7670. gl_FragColor = vec4(color.rgb, alpha);
  7671. }
  7672. `;var SC=`#define SAMPLES 8
  7673. uniform float delta;
  7674. uniform float sigma;
  7675. uniform float direction;
  7676. uniform sampler2D colorTexture;
  7677. #ifdef USE_STEP_SIZE
  7678. uniform float stepSize;
  7679. #else
  7680. uniform vec2 step;
  7681. #endif
  7682. varying vec2 v_textureCoordinates;
  7683. void main()
  7684. {
  7685. vec2 st = v_textureCoordinates;
  7686. vec2 dir = vec2(1.0 - direction, direction);
  7687. #ifdef USE_STEP_SIZE
  7688. vec2 step = vec2(stepSize * (czm_pixelRatio / czm_viewport.zw));
  7689. #else
  7690. vec2 step = step;
  7691. #endif
  7692. vec3 g;
  7693. g.x = 1.0 / (sqrt(czm_twoPi) * sigma);
  7694. g.y = exp((-0.5 * delta * delta) / (sigma * sigma));
  7695. g.z = g.y * g.y;
  7696. vec4 result = texture2D(colorTexture, st) * g.x;
  7697. for (int i = 1; i < SAMPLES; ++i)
  7698. {
  7699. g.xy *= g.yz;
  7700. vec2 offset = float(i) * dir * step;
  7701. result += texture2D(colorTexture, st - offset) * g.x;
  7702. result += texture2D(colorTexture, st + offset) * g.x;
  7703. }
  7704. gl_FragColor = result;
  7705. }
  7706. `;var KU=`uniform sampler2D colorTexture;
  7707. uniform sampler2D dirtTexture;
  7708. uniform sampler2D starTexture;
  7709. uniform vec2 dirtTextureDimensions;
  7710. uniform float distortion;
  7711. uniform float ghostDispersal;
  7712. uniform float haloWidth;
  7713. uniform float dirtAmount;
  7714. uniform float earthRadius;
  7715. uniform float intensity;
  7716. varying vec2 v_textureCoordinates;
  7717. #define DISTANCE_TO_SPACE 6500000.0
  7718. vec4 getNDCFromWC(vec3 WC, float earthRadius)
  7719. {
  7720. vec4 positionEC = czm_view * vec4(WC, 1.0);
  7721. positionEC = vec4(positionEC.x + earthRadius, positionEC.y, positionEC.z, 1.0);
  7722. vec4 positionWC = czm_eyeToWindowCoordinates(positionEC);
  7723. return czm_viewportOrthographic * vec4(positionWC.xy, -positionWC.z, 1.0);
  7724. }
  7725. float isInEarth(vec2 texcoord, vec2 sceneSize)
  7726. {
  7727. vec2 NDC = texcoord * 2.0 - 1.0;
  7728. vec4 earthPosSC = getNDCFromWC(vec3(0.0), 0.0);
  7729. vec4 earthPosSCEdge = getNDCFromWC(vec3(0.0), earthRadius * 1.5);
  7730. NDC.xy -= earthPosSC.xy;
  7731. float X = abs(NDC.x) * sceneSize.x;
  7732. float Y = abs(NDC.y) * sceneSize.y;
  7733. return clamp(0.0, 1.0, max(sqrt(X * X + Y * Y) / max(abs(earthPosSCEdge.x * sceneSize.x), 1.0) - 0.8 , 0.0));
  7734. }
  7735. vec4 textureDistorted(sampler2D tex, vec2 texcoord, vec2 direction, vec3 distortion, bool isSpace)
  7736. {
  7737. vec2 sceneSize = czm_viewport.zw;
  7738. vec3 color;
  7739. if(isSpace)
  7740. {
  7741. color.r = isInEarth(texcoord + direction * distortion.r, sceneSize) * texture2D(tex, texcoord + direction * distortion.r).r;
  7742. color.g = isInEarth(texcoord + direction * distortion.g, sceneSize) * texture2D(tex, texcoord + direction * distortion.g).g;
  7743. color.b = isInEarth(texcoord + direction * distortion.b, sceneSize) * texture2D(tex, texcoord + direction * distortion.b).b;
  7744. }
  7745. else
  7746. {
  7747. color.r = texture2D(tex, texcoord + direction * distortion.r).r;
  7748. color.g = texture2D(tex, texcoord + direction * distortion.g).g;
  7749. color.b = texture2D(tex, texcoord + direction * distortion.b).b;
  7750. }
  7751. return vec4(clamp(color, 0.0, 1.0), 0.0);
  7752. }
  7753. void main(void)
  7754. {
  7755. vec4 originalColor = texture2D(colorTexture, v_textureCoordinates);
  7756. vec3 rgb = originalColor.rgb;
  7757. bool isSpace = length(czm_viewerPositionWC.xyz) > DISTANCE_TO_SPACE;
  7758. vec4 sunPos = czm_morphTime == 1.0 ? vec4(czm_sunPositionWC, 1.0) : vec4(czm_sunPositionColumbusView.zxy, 1.0);
  7759. vec4 sunPositionEC = czm_view * sunPos;
  7760. vec4 sunPositionWC = czm_eyeToWindowCoordinates(sunPositionEC);
  7761. sunPos = czm_viewportOrthographic * vec4(sunPositionWC.xy, -sunPositionWC.z, 1.0);
  7762. if(!isSpace || !((sunPos.x >= -1.1 && sunPos.x <= 1.1) && (sunPos.y >= -1.1 && sunPos.y <= 1.1)))
  7763. {
  7764. gl_FragColor = originalColor;
  7765. return;
  7766. }
  7767. vec2 texcoord = vec2(1.0) - v_textureCoordinates;
  7768. vec2 pixelSize = czm_pixelRatio / czm_viewport.zw;
  7769. vec2 invPixelSize = 1.0 / pixelSize;
  7770. vec3 distortionVec = pixelSize.x * vec3(-distortion, 0.0, distortion);
  7771. vec2 ghostVec = (vec2(0.5) - texcoord) * ghostDispersal;
  7772. vec3 direction = normalize(vec3(ghostVec, 0.0));
  7773. vec4 result = vec4(0.0);
  7774. vec4 ghost = vec4(0.0);
  7775. for (int i = 0; i < 4; ++i)
  7776. {
  7777. vec2 offset = fract(texcoord + ghostVec * float(i));
  7778. ghost += textureDistorted(colorTexture, offset, direction.xy, distortionVec, isSpace);
  7779. }
  7780. result += ghost;
  7781. vec2 haloVec = normalize(ghostVec) * haloWidth;
  7782. float weightForHalo = length(vec2(0.5) - fract(texcoord + haloVec)) / length(vec2(0.5));
  7783. weightForHalo = pow(1.0 - weightForHalo, 5.0);
  7784. result += textureDistorted(colorTexture, texcoord + haloVec, direction.xy, distortionVec, isSpace) * weightForHalo * 1.5;
  7785. vec2 dirtTexCoords = (v_textureCoordinates * invPixelSize) / dirtTextureDimensions;
  7786. if (dirtTexCoords.x > 1.0)
  7787. {
  7788. dirtTexCoords.x = mod(floor(dirtTexCoords.x), 2.0) == 1.0 ? 1.0 - fract(dirtTexCoords.x) : fract(dirtTexCoords.x);
  7789. }
  7790. if (dirtTexCoords.y > 1.0)
  7791. {
  7792. dirtTexCoords.y = mod(floor(dirtTexCoords.y), 2.0) == 1.0 ? 1.0 - fract(dirtTexCoords.y) : fract(dirtTexCoords.y);
  7793. }
  7794. result += dirtAmount * texture2D(dirtTexture, dirtTexCoords);
  7795. float camrot = czm_view[0].z + czm_view[1].y;
  7796. float cosValue = cos(camrot);
  7797. float sinValue = sin(camrot);
  7798. mat3 rotation = mat3(
  7799. cosValue, -sinValue, 0.0,
  7800. sinValue, cosValue, 0.0,
  7801. 0.0, 0.0, 1.0
  7802. );
  7803. vec3 st1 = vec3(v_textureCoordinates * 2.0 - vec2(1.0), 1.0);
  7804. vec3 st2 = vec3((rotation * st1).xy, 1.0);
  7805. vec3 st3 = st2 * 0.5 + vec3(0.5);
  7806. vec2 lensStarTexcoord = st3.xy;
  7807. float weightForLensFlare = length(vec3(sunPos.xy, 0.0));
  7808. float oneMinusWeightForLensFlare = max(1.0 - weightForLensFlare, 0.0);
  7809. if (!isSpace)
  7810. {
  7811. result *= oneMinusWeightForLensFlare * intensity * 0.2;
  7812. }
  7813. else
  7814. {
  7815. result *= oneMinusWeightForLensFlare * intensity;
  7816. result *= texture2D(starTexture, lensStarTexcoord) * pow(weightForLensFlare, 1.0) * max((1.0 - length(vec3(st1.xy, 0.0))), 0.0) * 2.0;
  7817. }
  7818. result += texture2D(colorTexture, v_textureCoordinates);
  7819. gl_FragColor = result;
  7820. }
  7821. `;var ZU=`uniform sampler2D colorTexture;
  7822. uniform vec3 white;
  7823. varying vec2 v_textureCoordinates;
  7824. #ifdef AUTO_EXPOSURE
  7825. uniform sampler2D autoExposure;
  7826. #endif
  7827. void main()
  7828. {
  7829. vec4 fragmentColor = texture2D(colorTexture, v_textureCoordinates);
  7830. vec3 color = fragmentColor.rgb;
  7831. #ifdef AUTO_EXPOSURE
  7832. float exposure = texture2D(autoExposure, vec2(0.5)).r;
  7833. color /= exposure;
  7834. #endif
  7835. color = (color * (1.0 + color / white)) / (1.0 + color);
  7836. color = czm_inverseGamma(color);
  7837. gl_FragColor = vec4(color, fragmentColor.a);
  7838. }
  7839. `;var $U=`uniform sampler2D colorTexture;
  7840. varying vec2 v_textureCoordinates;
  7841. float rand(vec2 co)
  7842. {
  7843. return fract(sin(dot(co.xy ,vec2(12.9898, 78.233))) * 43758.5453);
  7844. }
  7845. void main(void)
  7846. {
  7847. float noiseValue = rand(v_textureCoordinates + sin(czm_frameNumber)) * 0.1;
  7848. vec3 rgb = texture2D(colorTexture, v_textureCoordinates).rgb;
  7849. vec3 green = vec3(0.0, 1.0, 0.0);
  7850. gl_FragColor = vec4((noiseValue + rgb) * green, 1.0);
  7851. }
  7852. `;var JU=`uniform sampler2D colorTexture;
  7853. varying vec2 v_textureCoordinates;
  7854. #ifdef AUTO_EXPOSURE
  7855. uniform sampler2D autoExposure;
  7856. #endif
  7857. void main()
  7858. {
  7859. vec4 fragmentColor = texture2D(colorTexture, v_textureCoordinates);
  7860. vec3 color = fragmentColor.rgb;
  7861. #ifdef AUTO_EXPOSURE
  7862. float exposure = texture2D(autoExposure, vec2(0.5)).r;
  7863. color /= exposure;
  7864. #endif
  7865. color = color / (1.0 + color);
  7866. color = czm_inverseGamma(color);
  7867. gl_FragColor = vec4(color, fragmentColor.a);
  7868. }
  7869. `;var QU=`uniform sampler2D colorTexture;
  7870. uniform sampler2D silhouetteTexture;
  7871. varying vec2 v_textureCoordinates;
  7872. void main(void)
  7873. {
  7874. vec4 silhouetteColor = texture2D(silhouetteTexture, v_textureCoordinates);
  7875. vec4 color = texture2D(colorTexture, v_textureCoordinates);
  7876. gl_FragColor = mix(color, silhouetteColor, silhouetteColor.a);
  7877. }
  7878. `;/**
  7879. * @license
  7880. * Copyright (c) 2014-2015, NVIDIA CORPORATION. All rights reserved.
  7881. *
  7882. * Redistribution and use in source and binary forms, with or without
  7883. * modification, are permitted provided that the following conditions
  7884. * are met:
  7885. * * Redistributions of source code must retain the above copyright
  7886. * notice, this list of conditions and the following disclaimer.
  7887. * * Redistributions in binary form must reproduce the above copyright
  7888. * notice, this list of conditions and the following disclaimer in the
  7889. * documentation and/or other materials provided with the distribution.
  7890. * * Neither the name of NVIDIA CORPORATION nor the names of its
  7891. * contributors may be used to endorse or promote products derived
  7892. * from this software without specific prior written permission.
  7893. *
  7894. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
  7895. * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  7896. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  7897. * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
  7898. * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
  7899. * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
  7900. * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
  7901. * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
  7902. * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  7903. * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  7904. * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  7905. */var e4=`#if (FXAA_QUALITY_PRESET == 10)
  7906. #define FXAA_QUALITY_PS 3
  7907. #define FXAA_QUALITY_P0 1.5
  7908. #define FXAA_QUALITY_P1 3.0
  7909. #define FXAA_QUALITY_P2 12.0
  7910. #endif
  7911. #if (FXAA_QUALITY_PRESET == 11)
  7912. #define FXAA_QUALITY_PS 4
  7913. #define FXAA_QUALITY_P0 1.0
  7914. #define FXAA_QUALITY_P1 1.5
  7915. #define FXAA_QUALITY_P2 3.0
  7916. #define FXAA_QUALITY_P3 12.0
  7917. #endif
  7918. #if (FXAA_QUALITY_PRESET == 12)
  7919. #define FXAA_QUALITY_PS 5
  7920. #define FXAA_QUALITY_P0 1.0
  7921. #define FXAA_QUALITY_P1 1.5
  7922. #define FXAA_QUALITY_P2 2.0
  7923. #define FXAA_QUALITY_P3 4.0
  7924. #define FXAA_QUALITY_P4 12.0
  7925. #endif
  7926. #if (FXAA_QUALITY_PRESET == 13)
  7927. #define FXAA_QUALITY_PS 6
  7928. #define FXAA_QUALITY_P0 1.0
  7929. #define FXAA_QUALITY_P1 1.5
  7930. #define FXAA_QUALITY_P2 2.0
  7931. #define FXAA_QUALITY_P3 2.0
  7932. #define FXAA_QUALITY_P4 4.0
  7933. #define FXAA_QUALITY_P5 12.0
  7934. #endif
  7935. #if (FXAA_QUALITY_PRESET == 14)
  7936. #define FXAA_QUALITY_PS 7
  7937. #define FXAA_QUALITY_P0 1.0
  7938. #define FXAA_QUALITY_P1 1.5
  7939. #define FXAA_QUALITY_P2 2.0
  7940. #define FXAA_QUALITY_P3 2.0
  7941. #define FXAA_QUALITY_P4 2.0
  7942. #define FXAA_QUALITY_P5 4.0
  7943. #define FXAA_QUALITY_P6 12.0
  7944. #endif
  7945. #if (FXAA_QUALITY_PRESET == 15)
  7946. #define FXAA_QUALITY_PS 8
  7947. #define FXAA_QUALITY_P0 1.0
  7948. #define FXAA_QUALITY_P1 1.5
  7949. #define FXAA_QUALITY_P2 2.0
  7950. #define FXAA_QUALITY_P3 2.0
  7951. #define FXAA_QUALITY_P4 2.0
  7952. #define FXAA_QUALITY_P5 2.0
  7953. #define FXAA_QUALITY_P6 4.0
  7954. #define FXAA_QUALITY_P7 12.0
  7955. #endif
  7956. #if (FXAA_QUALITY_PRESET == 20)
  7957. #define FXAA_QUALITY_PS 3
  7958. #define FXAA_QUALITY_P0 1.5
  7959. #define FXAA_QUALITY_P1 2.0
  7960. #define FXAA_QUALITY_P2 8.0
  7961. #endif
  7962. #if (FXAA_QUALITY_PRESET == 21)
  7963. #define FXAA_QUALITY_PS 4
  7964. #define FXAA_QUALITY_P0 1.0
  7965. #define FXAA_QUALITY_P1 1.5
  7966. #define FXAA_QUALITY_P2 2.0
  7967. #define FXAA_QUALITY_P3 8.0
  7968. #endif
  7969. #if (FXAA_QUALITY_PRESET == 22)
  7970. #define FXAA_QUALITY_PS 5
  7971. #define FXAA_QUALITY_P0 1.0
  7972. #define FXAA_QUALITY_P1 1.5
  7973. #define FXAA_QUALITY_P2 2.0
  7974. #define FXAA_QUALITY_P3 2.0
  7975. #define FXAA_QUALITY_P4 8.0
  7976. #endif
  7977. #if (FXAA_QUALITY_PRESET == 23)
  7978. #define FXAA_QUALITY_PS 6
  7979. #define FXAA_QUALITY_P0 1.0
  7980. #define FXAA_QUALITY_P1 1.5
  7981. #define FXAA_QUALITY_P2 2.0
  7982. #define FXAA_QUALITY_P3 2.0
  7983. #define FXAA_QUALITY_P4 2.0
  7984. #define FXAA_QUALITY_P5 8.0
  7985. #endif
  7986. #if (FXAA_QUALITY_PRESET == 24)
  7987. #define FXAA_QUALITY_PS 7
  7988. #define FXAA_QUALITY_P0 1.0
  7989. #define FXAA_QUALITY_P1 1.5
  7990. #define FXAA_QUALITY_P2 2.0
  7991. #define FXAA_QUALITY_P3 2.0
  7992. #define FXAA_QUALITY_P4 2.0
  7993. #define FXAA_QUALITY_P5 3.0
  7994. #define FXAA_QUALITY_P6 8.0
  7995. #endif
  7996. #if (FXAA_QUALITY_PRESET == 25)
  7997. #define FXAA_QUALITY_PS 8
  7998. #define FXAA_QUALITY_P0 1.0
  7999. #define FXAA_QUALITY_P1 1.5
  8000. #define FXAA_QUALITY_P2 2.0
  8001. #define FXAA_QUALITY_P3 2.0
  8002. #define FXAA_QUALITY_P4 2.0
  8003. #define FXAA_QUALITY_P5 2.0
  8004. #define FXAA_QUALITY_P6 4.0
  8005. #define FXAA_QUALITY_P7 8.0
  8006. #endif
  8007. #if (FXAA_QUALITY_PRESET == 26)
  8008. #define FXAA_QUALITY_PS 9
  8009. #define FXAA_QUALITY_P0 1.0
  8010. #define FXAA_QUALITY_P1 1.5
  8011. #define FXAA_QUALITY_P2 2.0
  8012. #define FXAA_QUALITY_P3 2.0
  8013. #define FXAA_QUALITY_P4 2.0
  8014. #define FXAA_QUALITY_P5 2.0
  8015. #define FXAA_QUALITY_P6 2.0
  8016. #define FXAA_QUALITY_P7 4.0
  8017. #define FXAA_QUALITY_P8 8.0
  8018. #endif
  8019. #if (FXAA_QUALITY_PRESET == 27)
  8020. #define FXAA_QUALITY_PS 10
  8021. #define FXAA_QUALITY_P0 1.0
  8022. #define FXAA_QUALITY_P1 1.5
  8023. #define FXAA_QUALITY_P2 2.0
  8024. #define FXAA_QUALITY_P3 2.0
  8025. #define FXAA_QUALITY_P4 2.0
  8026. #define FXAA_QUALITY_P5 2.0
  8027. #define FXAA_QUALITY_P6 2.0
  8028. #define FXAA_QUALITY_P7 2.0
  8029. #define FXAA_QUALITY_P8 4.0
  8030. #define FXAA_QUALITY_P9 8.0
  8031. #endif
  8032. #if (FXAA_QUALITY_PRESET == 28)
  8033. #define FXAA_QUALITY_PS 11
  8034. #define FXAA_QUALITY_P0 1.0
  8035. #define FXAA_QUALITY_P1 1.5
  8036. #define FXAA_QUALITY_P2 2.0
  8037. #define FXAA_QUALITY_P3 2.0
  8038. #define FXAA_QUALITY_P4 2.0
  8039. #define FXAA_QUALITY_P5 2.0
  8040. #define FXAA_QUALITY_P6 2.0
  8041. #define FXAA_QUALITY_P7 2.0
  8042. #define FXAA_QUALITY_P8 2.0
  8043. #define FXAA_QUALITY_P9 4.0
  8044. #define FXAA_QUALITY_P10 8.0
  8045. #endif
  8046. #if (FXAA_QUALITY_PRESET == 29)
  8047. #define FXAA_QUALITY_PS 12
  8048. #define FXAA_QUALITY_P0 1.0
  8049. #define FXAA_QUALITY_P1 1.5
  8050. #define FXAA_QUALITY_P2 2.0
  8051. #define FXAA_QUALITY_P3 2.0
  8052. #define FXAA_QUALITY_P4 2.0
  8053. #define FXAA_QUALITY_P5 2.0
  8054. #define FXAA_QUALITY_P6 2.0
  8055. #define FXAA_QUALITY_P7 2.0
  8056. #define FXAA_QUALITY_P8 2.0
  8057. #define FXAA_QUALITY_P9 2.0
  8058. #define FXAA_QUALITY_P10 4.0
  8059. #define FXAA_QUALITY_P11 8.0
  8060. #endif
  8061. #if (FXAA_QUALITY_PRESET == 39)
  8062. #define FXAA_QUALITY_PS 12
  8063. #define FXAA_QUALITY_P0 1.0
  8064. #define FXAA_QUALITY_P1 1.0
  8065. #define FXAA_QUALITY_P2 1.0
  8066. #define FXAA_QUALITY_P3 1.0
  8067. #define FXAA_QUALITY_P4 1.0
  8068. #define FXAA_QUALITY_P5 1.5
  8069. #define FXAA_QUALITY_P6 2.0
  8070. #define FXAA_QUALITY_P7 2.0
  8071. #define FXAA_QUALITY_P8 2.0
  8072. #define FXAA_QUALITY_P9 2.0
  8073. #define FXAA_QUALITY_P10 4.0
  8074. #define FXAA_QUALITY_P11 8.0
  8075. #endif
  8076. #define FxaaBool bool
  8077. #define FxaaFloat float
  8078. #define FxaaFloat2 vec2
  8079. #define FxaaFloat3 vec3
  8080. #define FxaaFloat4 vec4
  8081. #define FxaaHalf float
  8082. #define FxaaHalf2 vec2
  8083. #define FxaaHalf3 vec3
  8084. #define FxaaHalf4 vec4
  8085. #define FxaaInt2 vec2
  8086. #define FxaaTex sampler2D
  8087. #define FxaaSat(x) clamp(x, 0.0, 1.0)
  8088. #define FxaaTexTop(t, p) texture2D(t, p)
  8089. #define FxaaTexOff(t, p, o, r) texture2D(t, p + (o * r))
  8090. FxaaFloat FxaaLuma(FxaaFloat4 rgba) { return rgba.y; }
  8091. FxaaFloat4 FxaaPixelShader(
  8092. FxaaFloat2 pos,
  8093. FxaaTex tex,
  8094. FxaaFloat2 fxaaQualityRcpFrame,
  8095. FxaaFloat fxaaQualitySubpix,
  8096. FxaaFloat fxaaQualityEdgeThreshold,
  8097. FxaaFloat fxaaQualityEdgeThresholdMin
  8098. ) {
  8099. FxaaFloat2 posM;
  8100. posM.x = pos.x;
  8101. posM.y = pos.y;
  8102. FxaaFloat4 rgbyM = FxaaTexTop(tex, posM);
  8103. #define lumaM rgbyM.y
  8104. FxaaFloat lumaS = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 0, 1), fxaaQualityRcpFrame.xy));
  8105. FxaaFloat lumaE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 1, 0), fxaaQualityRcpFrame.xy));
  8106. FxaaFloat lumaN = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 0,-1), fxaaQualityRcpFrame.xy));
  8107. FxaaFloat lumaW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1, 0), fxaaQualityRcpFrame.xy));
  8108. FxaaFloat maxSM = max(lumaS, lumaM);
  8109. FxaaFloat minSM = min(lumaS, lumaM);
  8110. FxaaFloat maxESM = max(lumaE, maxSM);
  8111. FxaaFloat minESM = min(lumaE, minSM);
  8112. FxaaFloat maxWN = max(lumaN, lumaW);
  8113. FxaaFloat minWN = min(lumaN, lumaW);
  8114. FxaaFloat rangeMax = max(maxWN, maxESM);
  8115. FxaaFloat rangeMin = min(minWN, minESM);
  8116. FxaaFloat rangeMaxScaled = rangeMax * fxaaQualityEdgeThreshold;
  8117. FxaaFloat range = rangeMax - rangeMin;
  8118. FxaaFloat rangeMaxClamped = max(fxaaQualityEdgeThresholdMin, rangeMaxScaled);
  8119. FxaaBool earlyExit = range < rangeMaxClamped;
  8120. if(earlyExit)
  8121. return rgbyM;
  8122. FxaaFloat lumaNW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1,-1), fxaaQualityRcpFrame.xy));
  8123. FxaaFloat lumaSE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 1, 1), fxaaQualityRcpFrame.xy));
  8124. FxaaFloat lumaNE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 1,-1), fxaaQualityRcpFrame.xy));
  8125. FxaaFloat lumaSW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1, 1), fxaaQualityRcpFrame.xy));
  8126. FxaaFloat lumaNS = lumaN + lumaS;
  8127. FxaaFloat lumaWE = lumaW + lumaE;
  8128. FxaaFloat subpixRcpRange = 1.0/range;
  8129. FxaaFloat subpixNSWE = lumaNS + lumaWE;
  8130. FxaaFloat edgeHorz1 = (-2.0 * lumaM) + lumaNS;
  8131. FxaaFloat edgeVert1 = (-2.0 * lumaM) + lumaWE;
  8132. FxaaFloat lumaNESE = lumaNE + lumaSE;
  8133. FxaaFloat lumaNWNE = lumaNW + lumaNE;
  8134. FxaaFloat edgeHorz2 = (-2.0 * lumaE) + lumaNESE;
  8135. FxaaFloat edgeVert2 = (-2.0 * lumaN) + lumaNWNE;
  8136. FxaaFloat lumaNWSW = lumaNW + lumaSW;
  8137. FxaaFloat lumaSWSE = lumaSW + lumaSE;
  8138. FxaaFloat edgeHorz4 = (abs(edgeHorz1) * 2.0) + abs(edgeHorz2);
  8139. FxaaFloat edgeVert4 = (abs(edgeVert1) * 2.0) + abs(edgeVert2);
  8140. FxaaFloat edgeHorz3 = (-2.0 * lumaW) + lumaNWSW;
  8141. FxaaFloat edgeVert3 = (-2.0 * lumaS) + lumaSWSE;
  8142. FxaaFloat edgeHorz = abs(edgeHorz3) + edgeHorz4;
  8143. FxaaFloat edgeVert = abs(edgeVert3) + edgeVert4;
  8144. FxaaFloat subpixNWSWNESE = lumaNWSW + lumaNESE;
  8145. FxaaFloat lengthSign = fxaaQualityRcpFrame.x;
  8146. FxaaBool horzSpan = edgeHorz >= edgeVert;
  8147. FxaaFloat subpixA = subpixNSWE * 2.0 + subpixNWSWNESE;
  8148. if(!horzSpan) lumaN = lumaW;
  8149. if(!horzSpan) lumaS = lumaE;
  8150. if(horzSpan) lengthSign = fxaaQualityRcpFrame.y;
  8151. FxaaFloat subpixB = (subpixA * (1.0/12.0)) - lumaM;
  8152. FxaaFloat gradientN = lumaN - lumaM;
  8153. FxaaFloat gradientS = lumaS - lumaM;
  8154. FxaaFloat lumaNN = lumaN + lumaM;
  8155. FxaaFloat lumaSS = lumaS + lumaM;
  8156. FxaaBool pairN = abs(gradientN) >= abs(gradientS);
  8157. FxaaFloat gradient = max(abs(gradientN), abs(gradientS));
  8158. if(pairN) lengthSign = -lengthSign;
  8159. FxaaFloat subpixC = FxaaSat(abs(subpixB) * subpixRcpRange);
  8160. FxaaFloat2 posB;
  8161. posB.x = posM.x;
  8162. posB.y = posM.y;
  8163. FxaaFloat2 offNP;
  8164. offNP.x = (!horzSpan) ? 0.0 : fxaaQualityRcpFrame.x;
  8165. offNP.y = ( horzSpan) ? 0.0 : fxaaQualityRcpFrame.y;
  8166. if(!horzSpan) posB.x += lengthSign * 0.5;
  8167. if( horzSpan) posB.y += lengthSign * 0.5;
  8168. FxaaFloat2 posN;
  8169. posN.x = posB.x - offNP.x * FXAA_QUALITY_P0;
  8170. posN.y = posB.y - offNP.y * FXAA_QUALITY_P0;
  8171. FxaaFloat2 posP;
  8172. posP.x = posB.x + offNP.x * FXAA_QUALITY_P0;
  8173. posP.y = posB.y + offNP.y * FXAA_QUALITY_P0;
  8174. FxaaFloat subpixD = ((-2.0)*subpixC) + 3.0;
  8175. FxaaFloat lumaEndN = FxaaLuma(FxaaTexTop(tex, posN));
  8176. FxaaFloat subpixE = subpixC * subpixC;
  8177. FxaaFloat lumaEndP = FxaaLuma(FxaaTexTop(tex, posP));
  8178. if(!pairN) lumaNN = lumaSS;
  8179. FxaaFloat gradientScaled = gradient * 1.0/4.0;
  8180. FxaaFloat lumaMM = lumaM - lumaNN * 0.5;
  8181. FxaaFloat subpixF = subpixD * subpixE;
  8182. FxaaBool lumaMLTZero = lumaMM < 0.0;
  8183. lumaEndN -= lumaNN * 0.5;
  8184. lumaEndP -= lumaNN * 0.5;
  8185. FxaaBool doneN = abs(lumaEndN) >= gradientScaled;
  8186. FxaaBool doneP = abs(lumaEndP) >= gradientScaled;
  8187. if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P1;
  8188. if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P1;
  8189. FxaaBool doneNP = (!doneN) || (!doneP);
  8190. if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P1;
  8191. if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P1;
  8192. if(doneNP) {
  8193. if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));
  8194. if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));
  8195. if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;
  8196. if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;
  8197. doneN = abs(lumaEndN) >= gradientScaled;
  8198. doneP = abs(lumaEndP) >= gradientScaled;
  8199. if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P2;
  8200. if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P2;
  8201. doneNP = (!doneN) || (!doneP);
  8202. if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P2;
  8203. if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P2;
  8204. #if (FXAA_QUALITY_PS > 3)
  8205. if(doneNP) {
  8206. if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));
  8207. if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));
  8208. if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;
  8209. if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;
  8210. doneN = abs(lumaEndN) >= gradientScaled;
  8211. doneP = abs(lumaEndP) >= gradientScaled;
  8212. if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P3;
  8213. if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P3;
  8214. doneNP = (!doneN) || (!doneP);
  8215. if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P3;
  8216. if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P3;
  8217. #if (FXAA_QUALITY_PS > 4)
  8218. if(doneNP) {
  8219. if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));
  8220. if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));
  8221. if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;
  8222. if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;
  8223. doneN = abs(lumaEndN) >= gradientScaled;
  8224. doneP = abs(lumaEndP) >= gradientScaled;
  8225. if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P4;
  8226. if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P4;
  8227. doneNP = (!doneN) || (!doneP);
  8228. if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P4;
  8229. if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P4;
  8230. #if (FXAA_QUALITY_PS > 5)
  8231. if(doneNP) {
  8232. if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));
  8233. if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));
  8234. if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;
  8235. if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;
  8236. doneN = abs(lumaEndN) >= gradientScaled;
  8237. doneP = abs(lumaEndP) >= gradientScaled;
  8238. if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P5;
  8239. if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P5;
  8240. doneNP = (!doneN) || (!doneP);
  8241. if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P5;
  8242. if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P5;
  8243. #if (FXAA_QUALITY_PS > 6)
  8244. if(doneNP) {
  8245. if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));
  8246. if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));
  8247. if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;
  8248. if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;
  8249. doneN = abs(lumaEndN) >= gradientScaled;
  8250. doneP = abs(lumaEndP) >= gradientScaled;
  8251. if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P6;
  8252. if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P6;
  8253. doneNP = (!doneN) || (!doneP);
  8254. if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P6;
  8255. if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P6;
  8256. #if (FXAA_QUALITY_PS > 7)
  8257. if(doneNP) {
  8258. if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));
  8259. if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));
  8260. if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;
  8261. if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;
  8262. doneN = abs(lumaEndN) >= gradientScaled;
  8263. doneP = abs(lumaEndP) >= gradientScaled;
  8264. if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P7;
  8265. if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P7;
  8266. doneNP = (!doneN) || (!doneP);
  8267. if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P7;
  8268. if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P7;
  8269. #if (FXAA_QUALITY_PS > 8)
  8270. if(doneNP) {
  8271. if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));
  8272. if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));
  8273. if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;
  8274. if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;
  8275. doneN = abs(lumaEndN) >= gradientScaled;
  8276. doneP = abs(lumaEndP) >= gradientScaled;
  8277. if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P8;
  8278. if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P8;
  8279. doneNP = (!doneN) || (!doneP);
  8280. if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P8;
  8281. if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P8;
  8282. #if (FXAA_QUALITY_PS > 9)
  8283. if(doneNP) {
  8284. if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));
  8285. if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));
  8286. if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;
  8287. if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;
  8288. doneN = abs(lumaEndN) >= gradientScaled;
  8289. doneP = abs(lumaEndP) >= gradientScaled;
  8290. if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P9;
  8291. if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P9;
  8292. doneNP = (!doneN) || (!doneP);
  8293. if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P9;
  8294. if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P9;
  8295. #if (FXAA_QUALITY_PS > 10)
  8296. if(doneNP) {
  8297. if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));
  8298. if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));
  8299. if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;
  8300. if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;
  8301. doneN = abs(lumaEndN) >= gradientScaled;
  8302. doneP = abs(lumaEndP) >= gradientScaled;
  8303. if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P10;
  8304. if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P10;
  8305. doneNP = (!doneN) || (!doneP);
  8306. if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P10;
  8307. if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P10;
  8308. #if (FXAA_QUALITY_PS > 11)
  8309. if(doneNP) {
  8310. if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));
  8311. if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));
  8312. if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;
  8313. if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;
  8314. doneN = abs(lumaEndN) >= gradientScaled;
  8315. doneP = abs(lumaEndP) >= gradientScaled;
  8316. if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P11;
  8317. if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P11;
  8318. doneNP = (!doneN) || (!doneP);
  8319. if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P11;
  8320. if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P11;
  8321. #if (FXAA_QUALITY_PS > 12)
  8322. if(doneNP) {
  8323. if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));
  8324. if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));
  8325. if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;
  8326. if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;
  8327. doneN = abs(lumaEndN) >= gradientScaled;
  8328. doneP = abs(lumaEndP) >= gradientScaled;
  8329. if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P12;
  8330. if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P12;
  8331. doneNP = (!doneN) || (!doneP);
  8332. if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P12;
  8333. if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P12;
  8334. }
  8335. #endif
  8336. }
  8337. #endif
  8338. }
  8339. #endif
  8340. }
  8341. #endif
  8342. }
  8343. #endif
  8344. }
  8345. #endif
  8346. }
  8347. #endif
  8348. }
  8349. #endif
  8350. }
  8351. #endif
  8352. }
  8353. #endif
  8354. }
  8355. FxaaFloat dstN = posM.x - posN.x;
  8356. FxaaFloat dstP = posP.x - posM.x;
  8357. if(!horzSpan) dstN = posM.y - posN.y;
  8358. if(!horzSpan) dstP = posP.y - posM.y;
  8359. FxaaBool goodSpanN = (lumaEndN < 0.0) != lumaMLTZero;
  8360. FxaaFloat spanLength = (dstP + dstN);
  8361. FxaaBool goodSpanP = (lumaEndP < 0.0) != lumaMLTZero;
  8362. FxaaFloat spanLengthRcp = 1.0/spanLength;
  8363. FxaaBool directionN = dstN < dstP;
  8364. FxaaFloat dst = min(dstN, dstP);
  8365. FxaaBool goodSpan = directionN ? goodSpanN : goodSpanP;
  8366. FxaaFloat subpixG = subpixF * subpixF;
  8367. FxaaFloat pixelOffset = (dst * (-spanLengthRcp)) + 0.5;
  8368. FxaaFloat subpixH = subpixG * fxaaQualitySubpix;
  8369. FxaaFloat pixelOffsetGood = goodSpan ? pixelOffset : 0.0;
  8370. FxaaFloat pixelOffsetSubpix = max(pixelOffsetGood, subpixH);
  8371. if(!horzSpan) posM.x += pixelOffsetSubpix * lengthSign;
  8372. if( horzSpan) posM.y += pixelOffsetSubpix * lengthSign;
  8373. return FxaaFloat4(FxaaTexTop(tex, posM).xyz, lumaM);
  8374. }
  8375. `;function wC(e){e=y(e,y.EMPTY_OBJECT),this._stages=e.stages,this._inputPreviousStageTexture=y(e.inputPreviousStageTexture,!0);let t=e.name;l(t)||(t=Hn()),this._name=t,this._uniforms=e.uniforms,this._textureCache=void 0,this._index=void 0,this._selected=void 0,this._selectedShadow=void 0,this._parentSelected=void 0,this._parentSelectedShadow=void 0,this._combinedSelected=void 0,this._combinedSelectedShadow=void 0,this._selectedLength=0,this._parentSelectedLength=0,this._selectedDirty=!0}Object.defineProperties(wC.prototype,{ready:{get:function(){let e=this._stages,t=e.length;for(let n=0;n<t;++n)if(!e[n].ready)return!1;return!0}},name:{get:function(){return this._name}},enabled:{get:function(){return this._stages[0].enabled},set:function(e){let t=this._stages,n=t.length;for(let i=0;i<n;++i)t[i].enabled=e}},uniforms:{get:function(){return this._uniforms}},inputPreviousStageTexture:{get:function(){return this._inputPreviousStageTexture}},length:{get:function(){return this._stages.length}},selected:{get:function(){return this._selected},set:function(e){this._selected=e}},parentSelected:{get:function(){return this._parentSelected},set:function(e){this._parentSelected=e}}});wC.prototype._isSupported=function(e){let t=this._stages,n=t.length;for(let i=0;i<n;++i)if(!t[i]._isSupported(e))return!1;return!0};wC.prototype.get=function(e){return this._stages[e]};function Eut(e){let t=l(e._selected)?e._selected.length:0,n=l(e._parentSelected)?e._parentSelected:0,i=e._selected!==e._selectedShadow||t!==e._selectedLength;if(i=i||e._parentSelected!==e._parentSelectedShadow||n!==e._parentSelectedLength,l(e._selected)&&l(e._parentSelected)?e._combinedSelected=e._selected.concat(e._parentSelected):l(e._parentSelected)?e._combinedSelected=e._parentSelected:e._combinedSelected=e._selected,!i&&l(e._combinedSelected)){if(!l(e._combinedSelectedShadow))return!0;t=e._combinedSelected.length;for(let o=0;o<t;++o)if(e._combinedSelected[o]!==e._combinedSelectedShadow[o])return!0}return i}wC.prototype.update=function(e,t){this._selectedDirty=Eut(this),this._selectedShadow=this._selected,this._parentSelectedShadow=this._parentSelected,this._combinedSelectedShadow=this._combinedSelected,this._selectedLength=l(this._selected)?this._selected.length:0,this._parentSelectedLength=l(this._parentSelected)?this._parentSelected.length:0;let n=this._stages,i=n.length;for(let o=0;o<i;++o){let r=n[o];this._selectedDirty&&(r.parentSelected=this._combinedSelected),r.update(e,t)}};wC.prototype.isDestroyed=function(){return!1};wC.prototype.destroy=function(){let e=this._stages,t=e.length;for(let n=0;n<t;++n)e[n].destroy();return fe(this)};var sl=wC;var Tr={};function t4(e){let o=`#define USE_STEP_SIZE
  8376. ${SC}`,r=new go({name:`${e}_x_direction`,fragmentShader:o,uniforms:{delta:1,sigma:2,stepSize:1,direction:0},sampleMode:ef.LINEAR}),s=new go({name:`${e}_y_direction`,fragmentShader:o,uniforms:{delta:1,sigma:2,stepSize:1,direction:1},sampleMode:ef.LINEAR}),a={};return Object.defineProperties(a,{delta:{get:function(){return r.uniforms.delta},set:function(c){let u=r.uniforms,f=s.uniforms;u.delta=f.delta=c}},sigma:{get:function(){return r.uniforms.sigma},set:function(c){let u=r.uniforms,f=s.uniforms;u.sigma=f.sigma=c}},stepSize:{get:function(){return r.uniforms.stepSize},set:function(c){let u=r.uniforms,f=s.uniforms;u.stepSize=f.stepSize=c}}}),new sl({name:e,stages:[r,s],uniforms:a})}Tr.createBlurStage=function(){return t4("czm_blur")};Tr.createDepthOfFieldStage=function(){let e=t4("czm_depth_of_field_blur"),t=new go({name:"czm_depth_of_field_composite",fragmentShader:WU,uniforms:{focalDistance:5,blurTexture:e.name}}),n={};return Object.defineProperties(n,{focalDistance:{get:function(){return t.uniforms.focalDistance},set:function(i){t.uniforms.focalDistance=i}},delta:{get:function(){return e.uniforms.delta},set:function(i){e.uniforms.delta=i}},sigma:{get:function(){return e.uniforms.sigma},set:function(i){e.uniforms.sigma=i}},stepSize:{get:function(){return e.uniforms.stepSize},set:function(i){e.uniforms.stepSize=i}}}),new sl({name:"czm_depth_of_field",stages:[e,t],inputPreviousStageTexture:!1,uniforms:n})};Tr.isDepthOfFieldSupported=function(e){return e.context.depthTexture};Tr.createEdgeDetectionStage=function(){let e=Hn();return new go({name:`czm_edge_detection_${e}`,fragmentShader:qU,uniforms:{length:.25,color:U.clone(U.BLACK)}})};Tr.isEdgeDetectionSupported=function(e){return e.context.depthTexture};function but(e){if(!l(e))return Tr.createEdgeDetectionStage();let t=new sl({name:"czm_edge_detection_multiple",stages:e,inputPreviousStageTexture:!1}),n={},i="",o="";for(let a=0;a<e.length;++a)i+=`uniform sampler2D edgeTexture${a};
  8377. `,o+=` vec4 edge${a} = texture2D(edgeTexture${a}, v_textureCoordinates);
  8378. if (edge${a}.a > 0.0)
  8379. {
  8380. color = edge${a};
  8381. break;
  8382. }
  8383. `,n[`edgeTexture${a}`]=e[a].name;let r=`${i}varying vec2 v_textureCoordinates;
  8384. void main() {
  8385. vec4 color = vec4(0.0);
  8386. for (int i = 0; i < ${e.length}; i++)
  8387. {
  8388. ${o} }
  8389. gl_FragColor = color;
  8390. }
  8391. `,s=new go({name:"czm_edge_detection_combine",fragmentShader:r,uniforms:n});return new sl({name:"czm_edge_detection_composite",stages:[t,s]})}Tr.createSilhouetteStage=function(e){let t=but(e),n=new go({name:"czm_silhouette_color_edges",fragmentShader:QU,uniforms:{silhouetteTexture:t.name}});return new sl({name:"czm_silhouette",stages:[t,n],inputPreviousStageTexture:!1,uniforms:t.uniforms})};Tr.isSilhouetteSupported=function(e){return e.context.depthTexture};Tr.createBloomStage=function(){let e=new go({name:"czm_bloom_contrast_bias",fragmentShader:GU,uniforms:{contrast:128,brightness:-.3}}),t=t4("czm_bloom_blur"),n=new sl({name:"czm_bloom_contrast_bias_blur",stages:[e,t]}),i=new go({name:"czm_bloom_generate_composite",fragmentShader:zU,uniforms:{glowOnly:!1,bloomTexture:n.name}}),o={};return Object.defineProperties(o,{glowOnly:{get:function(){return i.uniforms.glowOnly},set:function(r){i.uniforms.glowOnly=r}},contrast:{get:function(){return e.uniforms.contrast},set:function(r){e.uniforms.contrast=r}},brightness:{get:function(){return e.uniforms.brightness},set:function(r){e.uniforms.brightness=r}},delta:{get:function(){return t.uniforms.delta},set:function(r){t.uniforms.delta=r}},sigma:{get:function(){return t.uniforms.sigma},set:function(r){t.uniforms.sigma=r}},stepSize:{get:function(){return t.uniforms.stepSize},set:function(r){t.uniforms.stepSize=r}}}),new sl({name:"czm_bloom",stages:[n,i],inputPreviousStageTexture:!1,uniforms:o})};Tr.createAmbientOcclusionStage=function(){let e=new go({name:"czm_ambient_occlusion_generate",fragmentShader:VU,uniforms:{intensity:3,bias:.1,lengthCap:.26,stepSize:1.95,frustumLength:1e3,randomTexture:void 0}}),t=t4("czm_ambient_occlusion_blur");t.uniforms.stepSize=.86;let n=new sl({name:"czm_ambient_occlusion_generate_blur",stages:[e,t]}),i=new go({name:"czm_ambient_occlusion_composite",fragmentShader:kU,uniforms:{ambientOcclusionOnly:!1,ambientOcclusionTexture:n.name}}),o={};return Object.defineProperties(o,{intensity:{get:function(){return e.uniforms.intensity},set:function(r){e.uniforms.intensity=r}},bias:{get:function(){return e.uniforms.bias},set:function(r){e.uniforms.bias=r}},lengthCap:{get:function(){return e.uniforms.lengthCap},set:function(r){e.uniforms.lengthCap=r}},stepSize:{get:function(){return e.uniforms.stepSize},set:function(r){e.uniforms.stepSize=r}},frustumLength:{get:function(){return e.uniforms.frustumLength},set:function(r){e.uniforms.frustumLength=r}},randomTexture:{get:function(){return e.uniforms.randomTexture},set:function(r){e.uniforms.randomTexture=r}},delta:{get:function(){return t.uniforms.delta},set:function(r){t.uniforms.delta=r}},sigma:{get:function(){return t.uniforms.sigma},set:function(r){t.uniforms.sigma=r}},blurStepSize:{get:function(){return t.uniforms.stepSize},set:function(r){t.uniforms.stepSize=r}},ambientOcclusionOnly:{get:function(){return i.uniforms.ambientOcclusionOnly},set:function(r){i.uniforms.ambientOcclusionOnly=r}}}),new sl({name:"czm_ambient_occlusion",stages:[n,i],inputPreviousStageTexture:!1,uniforms:o})};Tr.isAmbientOcclusionSupported=function(e){return e.context.depthTexture};var Sut=`#define FXAA_QUALITY_PRESET 39
  8392. ${e4}
  8393. ${XU}`;Tr.createFXAAStage=function(){return new go({name:"czm_FXAA",fragmentShader:Sut,sampleMode:ef.LINEAR})};Tr.createAcesTonemappingStage=function(e){let t=e?`#define AUTO_EXPOSURE
  8394. `:"";return t+=FU,new go({name:"czm_aces",fragmentShader:t,uniforms:{autoExposure:void 0}})};Tr.createFilmicTonemappingStage=function(e){let t=e?`#define AUTO_EXPOSURE
  8395. `:"";return t+=YU,new go({name:"czm_filmic",fragmentShader:t,uniforms:{autoExposure:void 0}})};Tr.createReinhardTonemappingStage=function(e){let t=e?`#define AUTO_EXPOSURE
  8396. `:"";return t+=JU,new go({name:"czm_reinhard",fragmentShader:t,uniforms:{autoExposure:void 0}})};Tr.createModifiedReinhardTonemappingStage=function(e){let t=e?`#define AUTO_EXPOSURE
  8397. `:"";return t+=ZU,new go({name:"czm_modified_reinhard",fragmentShader:t,uniforms:{white:U.WHITE,autoExposure:void 0}})};Tr.createAutoExposureStage=function(){return new LV};Tr.createBlackAndWhiteStage=function(){return new go({name:"czm_black_and_white",fragmentShader:UU,uniforms:{gradations:5}})};Tr.createBrightnessStage=function(){return new go({name:"czm_brightness",fragmentShader:HU,uniforms:{brightness:.5}})};Tr.createNightVisionStage=function(){return new go({name:"czm_night_vision",fragmentShader:$U})};Tr.createDepthViewStage=function(){return new go({name:"czm_depth_view",fragmentShader:jU})};Tr.createLensFlareStage=function(){return new go({name:"czm_lens_flare",fragmentShader:KU,uniforms:{dirtTexture:Zt("Assets/Textures/LensFlare/DirtMask.jpg"),starTexture:Zt("Assets/Textures/LensFlare/StarBurst.jpg"),intensity:2,distortion:10,ghostDispersal:.4,haloWidth:.4,dirtAmount:.4,earthRadius:oe.WGS84.maximumRadius}})};var gd=Tr;function Sp(e){this._collection=e,this._framebuffers=[],this._stageNameToFramebuffer={},this._width=void 0,this._height=void 0,this._updateDependencies=!1}function OD(e){for(;l(e.length);)e=e.get(e.length-1);return e.name}function hq(e,t,n,i,o){if(!i.enabled||!i._isSupported(t))return o;let r=n[i.name]={};if(l(o)){let a=e.getStageByName(o);r[OD(a)]=!0}let s=i.uniforms;if(l(s)){let a=Object.getOwnPropertyNames(s),c=a.length;for(let u=0;u<c;++u){let f=s[a[u]];if(typeof f=="string"){let d=e.getStageByName(f);l(d)&&(r[OD(d)]=!0)}}}return i.name}function ID(e,t,n,i,o){if(l(i.enabled)&&!i.enabled||l(i._isSupported)&&!i._isSupported(t))return o;let r=o,s=!l(i.inputPreviousStageTexture)||i.inputPreviousStageTexture,a=o,c=i.length;for(let d=0;d<c;++d){let p=i.get(d);l(p.length)?a=ID(e,t,n,p,o):a=hq(e,t,n,p,o),s&&(o=a)}let u,f;if(s)for(u=1;u<c;++u)f=OD(i.get(u)),l(n[f])||(n[f]={}),n[f][r]=!0;else for(u=1;u<c;++u){f=OD(i.get(u));let d=n[f];for(let p=0;p<u;++p)d[OD(i.get(p))]=!0}return a}function wut(e,t){let n={};if(l(e.ambientOcclusion)){let i=e.ambientOcclusion,o=e.bloom,r=e._tonemapping,s=e.fxaa,a=ID(e,t,n,i,void 0);a=ID(e,t,n,o,a),a=hq(e,t,n,r,a),a=ID(e,t,n,e,a),hq(e,t,n,s,a)}else ID(e,t,n,e,void 0);return n}function vut(e,t,n){let o=e._collection.getStageByName(t),r=o._textureScale,s=o._forcePowerOfTwo,a=o._pixelFormat,c=o._pixelDatatype,u=o._clearColor,f,d,p=e._framebuffers,g=p.length;for(f=0;f<g;++f){if(d=p[f],r!==d.textureScale||s!==d.forcePowerOfTwo||a!==d.pixelFormat||c!==d.pixelDatatype||!U.equals(u,d.clearColor))continue;let m=d.stages,C=m.length,x=!1;for(let A=0;A<C;++A)if(n[m[A]]){x=!0;break}if(!x)break}return l(d)&&f<g?(d.stages.push(t),d):(d={textureScale:r,forcePowerOfTwo:s,pixelFormat:a,pixelDatatype:c,clearColor:u,stages:[t],buffer:new ci({pixelFormat:a,pixelDatatype:c}),clear:void 0},p.push(d),d)}function Dut(e,t){let n=wut(e._collection,t);for(let i in n)n.hasOwnProperty(i)&&(e._stageNameToFramebuffer[i]=vut(e,i,n[i]))}function mq(e){let t=e._framebuffers,n=t.length;for(let i=0;i<n;++i)t[i].buffer.destroy()}function Put(e,t){let n=e._width,i=e._height,o=e._framebuffers,r=o.length;for(let s=0;s<r;++s){let a=o[s],c=a.textureScale,u=Math.ceil(n*c),f=Math.ceil(i*c),d=Math.min(u,f);a.forcePowerOfTwo&&(I.isPowerOfTwo(d)||(d=I.nextPowerOfTwo(d)),u=d,f=d),a.buffer.update(t,u,f),a.clear=new oi({color:a.clearColor,framebuffer:a.buffer.framebuffer})}}Sp.prototype.updateDependencies=function(){this._updateDependencies=!0};Sp.prototype.update=function(e){let t=this._collection,n=this._updateDependencies,i=l(t.ambientOcclusion)&&t.ambientOcclusion.enabled&&t.ambientOcclusion._isSupported(e),o=l(t.bloom)&&t.bloom.enabled&&t.bloom._isSupported(e),r=l(t._tonemapping)&&t._tonemapping.enabled&&t._tonemapping._isSupported(e),s=l(t.fxaa)&&t.fxaa.enabled&&t.fxaa._isSupported(e),a=!l(t._activeStages)||t._activeStages.length>0||i||o||r||s;if((n||!a&&this._framebuffers.length>0)&&(mq(this),this._framebuffers.length=0,this._stageNameToFramebuffer={},this._width=void 0,this._height=void 0),!n&&!a)return;this._framebuffers.length===0&&Dut(this,e);let c=e.drawingBufferWidth,u=e.drawingBufferHeight,f=this._width!==c||this._height!==u;!n&&!f||(this._width=c,this._height=u,this._updateDependencies=!1,mq(this),Put(this,e))};Sp.prototype.clear=function(e){let t=this._framebuffers;for(let n=0;n<t.length;++n)t[n].clear.execute(e)};Sp.prototype.getStageByName=function(e){return this._collection.getStageByName(e)};Sp.prototype.getOutputTexture=function(e){return this._collection.getOutputTexture(e)};Sp.prototype.getFramebuffer=function(e){let t=this._stageNameToFramebuffer[e];if(!!l(t))return t.buffer.framebuffer};Sp.prototype.isDestroyed=function(){return!1};Sp.prototype.destroy=function(){return mq(this),fe(this)};var KE=Sp;var RD={REINHARD:0,MODIFIED_REINHARD:1,FILMIC:2,ACES:3,validate:function(e){return e===RD.REINHARD||e===RD.MODIFIED_REINHARD||e===RD.FILMIC||e===RD.ACES}},vC=Object.freeze(RD);var pq=[];function bc(){let e=gd.createFXAAStage(),t=gd.createAmbientOcclusionStage(),n=gd.createBloomStage();this._autoExposureEnabled=!1,this._autoExposure=gd.createAutoExposureStage(),this._tonemapping=void 0,this._tonemapper=void 0,this.tonemapper=vC.ACES;let i=this._tonemapping;e.enabled=!1,t.enabled=!1,n.enabled=!1,i.enabled=!1;let o=new KE(this),r={},s=pq;for(s.push(e,t,n,i);s.length>0;){let c=s.pop();r[c.name]=c,c._textureCache=o;let u=c.length;if(l(u))for(let f=0;f<u;++f)s.push(c.get(f))}this._stages=[],this._activeStages=[],this._previousActiveStages=[],this._randomTexture=void 0;let a=this;t.uniforms.randomTexture=function(){return a._randomTexture},this._ao=t,this._bloom=n,this._fxaa=e,this._aoEnabled=void 0,this._bloomEnabled=void 0,this._tonemappingEnabled=void 0,this._fxaaEnabled=void 0,this._activeStagesChanged=!1,this._stagesRemoved=!1,this._textureCacheDirty=!1,this._stageNames=r,this._textureCache=o}Object.defineProperties(bc.prototype,{ready:{get:function(){let e=!1,t=this._stages,n=t.length;for(let a=n-1;a>=0;--a){let c=t[a];e=e||c.ready&&c.enabled}let i=this._fxaa,o=this._ao,r=this._bloom,s=this._tonemapping;return e=e||i.ready&&i.enabled,e=e||o.ready&&o.enabled,e=e||r.ready&&r.enabled,e=e||s.ready&&s.enabled,e}},fxaa:{get:function(){return this._fxaa}},ambientOcclusion:{get:function(){return this._ao}},bloom:{get:function(){return this._bloom}},length:{get:function(){return _q(this),this._stages.length}},outputTexture:{get:function(){let e=this._fxaa;if(e.enabled&&e.ready)return this.getOutputTexture(e.name);let t=this._stages,n=t.length;for(let s=n-1;s>=0;--s){let a=t[s];if(l(a)&&a.ready&&a.enabled)return this.getOutputTexture(a.name)}let i=this._tonemapping;if(i.enabled&&i.ready)return this.getOutputTexture(i.name);let o=this._bloom;if(o.enabled&&o.ready)return this.getOutputTexture(o.name);let r=this._ao;if(r.enabled&&r.ready)return this.getOutputTexture(r.name)}},hasSelected:{get:function(){let e=this._stages.slice();for(;e.length>0;){let t=e.pop();if(!l(t))continue;if(l(t.selected))return!0;let n=t.length;if(l(n))for(let i=0;i<n;++i)e.push(t.get(i))}return!1}},tonemapper:{get:function(){return this._tonemapper},set:function(e){if(this._tonemapper===e)return;l(this._tonemapping)&&(delete this._stageNames[this._tonemapping.name],this._tonemapping.destroy());let t=this._autoExposureEnabled,n;switch(e){case vC.REINHARD:n=gd.createReinhardTonemappingStage(t);break;case vC.MODIFIED_REINHARD:n=gd.createModifiedReinhardTonemappingStage(t);break;case vC.FILMIC:n=gd.createFilmicTonemappingStage(t);break;default:n=gd.createAcesTonemappingStage(t);break}if(t){let i=this._autoExposure;n.uniforms.autoExposure=function(){return i.outputTexture}}this._tonemapper=e,this._tonemapping=n,l(this._stageNames)&&(this._stageNames[n.name]=n,n._textureCache=this._textureCache),this._textureCacheDirty=!0}}});function _q(e){if(!e._stagesRemoved)return;e._stagesRemoved=!1;let t=[],n=e._stages,i=n.length;for(let o=0,r=0;o<i;++o){let s=n[o];s&&(s._index=r++,t.push(s))}e._stages=t}bc.prototype.add=function(e){let t=this._stageNames,n=pq;for(n.push(e);n.length>0;){let o=n.pop();t[o.name]=o,o._textureCache=this._textureCache;let r=o.length;if(l(r))for(let s=0;s<r;++s)n.push(o.get(s))}let i=this._stages;return e._index=i.length,i.push(e),this._textureCacheDirty=!0,e};bc.prototype.remove=function(e){if(!this.contains(e))return!1;let t=this._stageNames,n=pq;for(n.push(e);n.length>0;){let i=n.pop();delete t[i.name];let o=i.length;if(l(o))for(let r=0;r<o;++r)n.push(i.get(r))}return this._stages[e._index]=void 0,this._stagesRemoved=!0,this._textureCacheDirty=!0,e._index=void 0,e._textureCache=void 0,e.destroy(),!0};bc.prototype.contains=function(e){return l(e)&&l(e._index)&&e._textureCache===this._textureCache};bc.prototype.get=function(e){return _q(this),this._stages[e]};bc.prototype.removeAll=function(){let e=this._stages,t=e.length;for(let n=0;n<t;++n)this.remove(e[n]);e.length=0};bc.prototype.getStageByName=function(e){return this._stageNames[e]};bc.prototype.update=function(e,t,n){_q(this);let i=this._activeStages,o=this._activeStages=this._previousActiveStages;this._previousActiveStages=i;let r=this._stages,s=o.length=r.length,a,c,u=0;for(a=0;a<s;++a)c=r[a],c.ready&&c.enabled&&c._isSupported(e)&&(o[u++]=c);o.length=u;let f=u!==i.length;if(!f){for(a=0;a<u;++a)if(o[a]!==i[a]){f=!0;break}}let d=this._ao,p=this._bloom,g=this._autoExposure,m=this._tonemapping,C=this._fxaa;m.enabled=n;let x=d.enabled&&d._isSupported(e),A=p.enabled&&p._isSupported(e),b=m.enabled&&m._isSupported(e),E=C.enabled&&C._isSupported(e);if((f||this._textureCacheDirty||x!==this._aoEnabled||A!==this._bloomEnabled||b!==this._tonemappingEnabled||E!==this._fxaaEnabled)&&(this._textureCache.updateDependencies(),this._aoEnabled=x,this._bloomEnabled=A,this._tonemappingEnabled=b,this._fxaaEnabled=E,this._textureCacheDirty=!1),l(this._randomTexture)&&!x&&(this._randomTexture.destroy(),this._randomTexture=void 0),!l(this._randomTexture)&&x){s=256*256*3;let S=new Uint8Array(s);for(a=0;a<s;a+=3)S[a]=Math.floor(Math.random()*255);this._randomTexture=new Ot({context:e,pixelFormat:ft.RGB,pixelDatatype:je.UNSIGNED_BYTE,source:{arrayBufferView:S,width:256,height:256},sampler:new hn({wrapS:Dn.REPEAT,wrapT:Dn.REPEAT,minificationFilter:ln.NEAREST,magnificationFilter:Ji.NEAREST})})}for(this._textureCache.update(e),C.update(e,t),d.update(e,t),p.update(e,t),m.update(e,t),this._autoExposureEnabled&&g.update(e,t),s=r.length,a=0;a<s;++a)r[a].update(e,t);for(u=0,a=0;a<s;++a)c=r[a],c.ready&&c.enabled&&c._isSupported(e)&&u++;f=u!==o.length,f&&this.update(e,t,n)};bc.prototype.clear=function(e){this._textureCache.clear(e),this._autoExposureEnabled&&this._autoExposure.clear(e)};function DC(e){for(;l(e.length);)e=e.get(e.length-1);return e.outputTexture}bc.prototype.getOutputTexture=function(e){let t=this.getStageByName(e);if(!!l(t))return DC(t)};function qh(e,t,n,i,o){if(l(e.execute)){e.execute(t,n,i,o);return}let r=e.length,s;if(e.inputPreviousStageTexture)for(qh(e.get(0),t,n,i,o),s=1;s<r;++s)qh(e.get(s),t,DC(e.get(s-1)),i,o);else for(s=0;s<r;++s)qh(e.get(s),t,n,i,o)}bc.prototype.execute=function(e,t,n,i){let o=this._activeStages,r=o.length,s=this._fxaa,a=this._ao,c=this._bloom,u=this._autoExposure,f=this._tonemapping,d=a.enabled&&a._isSupported(e),p=c.enabled&&c._isSupported(e),g=this._autoExposureEnabled,m=f.enabled&&f._isSupported(e),C=s.enabled&&s._isSupported(e);if(!C&&!d&&!p&&!m&&r===0)return;let x=t;d&&a.ready&&(qh(a,e,x,n,i),x=DC(a)),p&&c.ready&&(qh(c,e,x,n,i),x=DC(c)),g&&u.ready&&qh(u,e,x,n,i),m&&f.ready&&(qh(f,e,x,n,i),x=DC(f));let A=x;if(r>0){qh(o[0],e,x,n,i);for(let b=1;b<r;++b)qh(o[b],e,DC(o[b-1]),n,i);A=DC(o[r-1])}C&&s.ready&&qh(s,e,A,n,i)};bc.prototype.copy=function(e,t){if(!l(this._copyColorCommand)){let n=this;this._copyColorCommand=e.createViewportQuadCommand(Kl,{uniformMap:{colorTexture:function(){return n.outputTexture}},owner:this})}this._copyColorCommand.framebuffer=t,this._copyColorCommand.execute(e)};bc.prototype.isDestroyed=function(){return!1};bc.prototype.destroy=function(){return this._fxaa.destroy(),this._ao.destroy(),this._bloom.destroy(),this._autoExposure.destroy(),this._tonemapping.destroy(),this.removeAll(),this._textureCache=this._textureCache&&this._textureCache.destroy(),fe(this)};var n4=bc;function $l(){ye.throwInstantiationError()}$l.computeDefaultLevelZeroMaximumGeometricError=function(e){return e.ellipsoid.maximumRadius*2*Math.PI*.25/(65*e.getNumberOfXTilesAtLevel(0))};Object.defineProperties($l.prototype,{quadtree:{get:ye.throwInstantiationError,set:ye.throwInstantiationError},ready:{get:ye.throwInstantiationError},tilingScheme:{get:ye.throwInstantiationError},errorEvent:{get:ye.throwInstantiationError}});$l.prototype.update=ye.throwInstantiationError;$l.prototype.beginUpdate=ye.throwInstantiationError;$l.prototype.endUpdate=ye.throwInstantiationError;$l.prototype.getLevelMaximumGeometricError=ye.throwInstantiationError;$l.prototype.loadTile=ye.throwInstantiationError;$l.prototype.computeTileVisibility=ye.throwInstantiationError;$l.prototype.showTileThisFrame=ye.throwInstantiationError;$l.prototype.computeDistanceToTile=ye.throwInstantiationError;$l.prototype.isDestroyed=ye.throwInstantiationError;$l.prototype.destroy=ye.throwInstantiationError;var Cge=$l;function PC(e){this._scene=e,this._currentTweens=[],this._morphHandler=void 0,this._morphCancelled=!1,this._completeMorph=void 0,this._morphToOrthographic=!1}PC.prototype.completeMorph=function(){l(this._completeMorph)&&this._completeMorph()};PC.prototype.morphTo2D=function(e,t){l(this._completeMorph)&&this._completeMorph();let n=this._scene;this._previousMode=n.mode,this._morphToOrthographic=n.camera.frustum instanceof $t,!(this._previousMode===ee.SCENE2D||this._previousMode===ee.MORPHING)&&(this._scene.morphStart.raiseEvent(this,this._previousMode,ee.SCENE2D,!0),n._mode=ee.MORPHING,n.camera._setTransform(N.IDENTITY),this._previousMode===ee.COLUMBUS_VIEW?cft(this,e):pft(this,e,t),e===0&&l(this._completeMorph)&&this._completeMorph())};var Iut=new h,Out=new h,Rut=new h,Mut=new h,But=new h,Lut=new h,Nut=new h,Fut=new he,Vut=new N,kut=new _i,Uut=new $t,zut={position:void 0,direction:void 0,up:void 0,position2D:void 0,direction2D:void 0,up2D:void 0,frustum:void 0};PC.prototype.morphToColumbusView=function(e,t){l(this._completeMorph)&&this._completeMorph();let n=this._scene;if(this._previousMode=n.mode,this._previousMode===ee.COLUMBUS_VIEW||this._previousMode===ee.MORPHING)return;this._scene.morphStart.raiseEvent(this,this._previousMode,ee.COLUMBUS_VIEW,!0),n.camera._setTransform(N.IDENTITY);let i=Iut,o=Out,r=Rut;if(e>0)i.x=0,i.y=-1,i.z=1,i=h.multiplyByScalar(h.normalize(i,i),5*t.maximumRadius,i),h.negate(h.normalize(i,o),o),h.cross(h.UNIT_X,o,r);else{let u=n.camera;if(this._previousMode===ee.SCENE2D)h.clone(u.position,i),i.z=u.frustum.right-u.frustum.left,h.negate(h.UNIT_Z,o),h.clone(h.UNIT_Y,r);else{h.clone(u.positionWC,i),h.clone(u.directionWC,o),h.clone(u.upWC,r);let f=t.scaleToGeodeticSurface(i,Nut),d=Dt.eastNorthUpToFixedFrame(f,t,Vut);N.inverseTransformation(d,d),n.mapProjection.project(t.cartesianToCartographic(i,Fut),i),N.multiplyByPointAsVector(d,o,o),N.multiplyByPointAsVector(d,r,r)}}let s;this._morphToOrthographic?(s=Uut,s.width=n.camera.frustum.right-n.camera.frustum.left,s.aspectRatio=n.drawingBufferWidth/n.drawingBufferHeight):(s=kut,s.aspectRatio=n.drawingBufferWidth/n.drawingBufferHeight,s.fov=I.toRadians(60));let a=zut;a.position=i,a.direction=o,a.up=r,a.frustum=s;let c=gft(a);MD(this,c),this._previousMode===ee.SCENE2D?_ft(this,e,a,c):(a.position2D=N.multiplyByPoint(ao.TRANSFORM_2D,i,Mut),a.direction2D=N.multiplyByPointAsVector(ao.TRANSFORM_2D,o,But),a.up2D=N.multiplyByPointAsVector(ao.TRANSFORM_2D,r,Lut),n._mode=ee.MORPHING,Ige(this,e,a,c)),e===0&&l(this._completeMorph)&&this._completeMorph()};var Cq={position:new h,direction:new h,up:new h,frustum:void 0},Age=new _i;PC.prototype.morphTo3D=function(e,t){l(this._completeMorph)&&this._completeMorph();let n=this._scene;if(this._previousMode=n.mode,!(this._previousMode===ee.SCENE3D||this._previousMode===ee.MORPHING)){if(this._scene.morphStart.raiseEvent(this,this._previousMode,ee.SCENE3D,!0),n._mode=ee.MORPHING,n.camera._setTransform(N.IDENTITY),this._previousMode===ee.SCENE2D)Jut(this,e,t);else{let i;e>0?(i=Cq,h.fromDegrees(0,0,5*t.maximumRadius,t,i.position),h.negate(i.position,i.direction),h.normalize(i.direction,i.direction),h.clone(h.UNIT_Z,i.up)):i=Tge(this,t);let o,r=n.camera;r.frustum instanceof $t?o=r.frustum.clone():(o=Age,o.aspectRatio=n.drawingBufferWidth/n.drawingBufferHeight,o.fov=I.toRadians(60)),i.frustum=o;let s=Rge(i);MD(this,s),yq(this,e,i,s)}e===0&&l(this._completeMorph)&&this._completeMorph()}};PC.prototype.isDestroyed=function(){return!1};PC.prototype.destroy=function(){return i4(this),fe(this)};function MD(e,t){if(e._scene.completeMorphOnUserInput){e._morphHandler=new _u(e._scene.canvas);let n=function(){e._morphCancelled=!0,e._scene.camera.cancelFlight(),t(e)};e._completeMorph=n,e._morphHandler.setInputAction(n,fn.LEFT_DOWN),e._morphHandler.setInputAction(n,fn.MIDDLE_DOWN),e._morphHandler.setInputAction(n,fn.RIGHT_DOWN),e._morphHandler.setInputAction(n,fn.WHEEL)}}function i4(e){let t=e._currentTweens;for(let n=0;n<t.length;++n)t[n].cancelTween();e._currentTweens.length=0,e._morphHandler=e._morphHandler&&e._morphHandler.destroy()}var Hut=new he,Gut=new h,Wut=new N;function Tge(e,t){let n=e._scene,i=n.camera,o=Cq,r=o.position,s=o.direction,a=o.up,c=n.mapProjection.unproject(i.position,Hut);t.cartographicToCartesian(c,r);let u=t.scaleToGeodeticSurface(r,Gut),f=Dt.eastNorthUpToFixedFrame(u,t,Wut);return N.multiplyByPointAsVector(f,i.direction,s),N.multiplyByPointAsVector(f,i.up,a),o}var jut=new h,qut=new h,Yut=new h,Xut=new h,Kut=new h,Zut=new h;function yq(e,t,n,i){t*=.5;let o=e._scene,r=o.camera,s=h.clone(r.position,jut),a=h.clone(r.direction,qut),c=h.clone(r.up,Yut),u=N.multiplyByPoint(ao.TRANSFORM_2D_INVERSE,n.position,Xut),f=N.multiplyByPointAsVector(ao.TRANSFORM_2D_INVERSE,n.direction,Kut),d=N.multiplyByPointAsVector(ao.TRANSFORM_2D_INVERSE,n.up,Zut);function p(m){tf(s,u,m.time,r.position),tf(a,f,m.time,r.direction),tf(c,d,m.time,r.up),h.cross(r.direction,r.up,r.right),h.normalize(r.right,r.right)}let g=o.tweens.add({duration:t,easingFunction:Dr.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:p,complete:function(){Oge(e,o,0,1,t,i)}});e._currentTweens.push(g)}var $ut=new $t,Ege=new h,bge=new h,Sge=new h,xq=new h,wge=new h,vge=new h;function Jut(e,t,n){t/=3;let i=e._scene,o=i.camera,r;t>0?(r=Cq,h.fromDegrees(0,0,5*n.maximumRadius,n,r.position),h.negate(r.position,r.direction),h.normalize(r.direction,r.direction),h.clone(h.UNIT_Z,r.up)):(o.position.z=o.frustum.right-o.frustum.left,r=Tge(e,n));let s;e._morphToOrthographic?(s=$ut,s.aspectRatio=i.drawingBufferWidth/i.drawingBufferHeight,s.width=o.frustum.right-o.frustum.left):(s=Age,s.aspectRatio=i.drawingBufferWidth/i.drawingBufferHeight,s.fov=I.toRadians(60)),r.frustum=s;let a=Rge(r);MD(e,a);let c;e._morphToOrthographic?c=function(){yq(e,t,r,a)}:c=function(){Pge(e,t,r,function(){yq(e,t,r,a)})},t>0?(i._mode=ee.SCENE2D,o.flyTo({duration:t,destination:h.fromDegrees(0,0,5*n.maximumRadius,n,xq),complete:function(){i._mode=ee.MORPHING,c()}})):c()}function tf(e,t,n,i){return h.lerp(e,t,n,i)}function Dge(e,t,n,i,o){let r=e._scene,s=r.camera;if(s.frustum instanceof $t)return;let a=s.frustum.fov,c=I.RADIANS_PER_DEGREE*.5,u=n.position.z*Math.tan(a*.5);s.frustum.far=u/Math.tan(c*.5)+1e7;function f(p){s.frustum.fov=I.lerp(a,c,p.time);let g=u/Math.tan(s.frustum.fov*.5);i(s,g)}let d=r.tweens.add({duration:t,easingFunction:Dr.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:f,complete:function(){s.frustum=n.frustum.clone(),o(e)}});e._currentTweens.push(d)}var Qut=new h,eft=new h,tft=new h,gq=new h,nft=new h,ift=new h,oft=new Ir,rft=new Tn,sft=new h,aft={position:void 0,direction:void 0,up:void 0,frustum:void 0};function cft(e,t){t*=.5;let n=e._scene,i=n.camera,o=h.clone(i.position,Qut),r=h.clone(i.direction,eft),s=h.clone(i.up,tft),a=h.negate(h.UNIT_Z,nft),c=h.clone(h.UNIT_Y,ift),u=gq;if(t>0)h.clone(h.ZERO,gq),u.z=5*n.mapProjection.ellipsoid.maximumRadius;else{h.clone(o,gq);let x=rft;N.multiplyByPoint(ao.TRANSFORM_2D,o,x.origin),N.multiplyByPointAsVector(ao.TRANSFORM_2D,r,x.direction);let A=n.globe;if(l(A)){let b=A.pickWorldCoordinates(x,n,!0,sft);l(b)&&(N.multiplyByPoint(ao.TRANSFORM_2D_INVERSE,b,u),u.z+=h.distance(o,u))}}let f=oft;f.right=u.z*.5,f.left=-f.right,f.top=f.right*(n.drawingBufferHeight/n.drawingBufferWidth),f.bottom=-f.top;let d=aft;d.position=u,d.direction=a,d.up=c,d.frustum=f;let p=Mge(d);MD(e,p);function g(x){tf(o,u,x.time,i.position),tf(r,a,x.time,i.direction),tf(s,c,x.time,i.up),h.cross(i.direction,i.up,i.right),h.normalize(i.right,i.right),i._adjustOrthographicFrustum(!0)}function m(x,A){x.position.z=A}let C=n.tweens.add({duration:t,easingFunction:Dr.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:g,complete:function(){Dge(e,t,d,m,p)}});e._currentTweens.push(C)}var xge=new he,lft={position:new h,direction:new h,up:new h,position2D:new h,direction2D:new h,up2D:new h,frustum:new Ir},uft={position:new h,direction:new h,up:new h,frustum:void 0},fft=new h,dft=new Tn,hft=new N,mft=new h;function pft(e,t,n){t*=.5;let i=e._scene,o=i.camera,r=lft;if(t>0)h.clone(h.ZERO,r.position),r.position.z=5*n.maximumRadius,h.negate(h.UNIT_Z,r.direction),h.clone(h.UNIT_Y,r.up);else{n.cartesianToCartographic(o.positionWC,xge),i.mapProjection.project(xge,r.position),h.negate(h.UNIT_Z,r.direction),h.clone(h.UNIT_Y,r.up);let d=dft;h.clone(r.position2D,d.origin);let p=h.clone(o.directionWC,d.direction),g=n.scaleToGeodeticSurface(o.positionWC,mft),m=Dt.eastNorthUpToFixedFrame(g,n,hft);N.inverseTransformation(m,m),N.multiplyByPointAsVector(m,p,p),N.multiplyByPointAsVector(ao.TRANSFORM_2D,p,p);let C=i.globe;if(l(C)){let x=C.pickWorldCoordinates(d,i,!0,fft);if(l(x)){let A=h.distance(r.position2D,x);x.x+=A,h.clone(x,r.position2D)}}}function s(d,p){d.position.x=p}N.multiplyByPoint(ao.TRANSFORM_2D,r.position,r.position2D),N.multiplyByPointAsVector(ao.TRANSFORM_2D,r.direction,r.direction2D),N.multiplyByPointAsVector(ao.TRANSFORM_2D,r.up,r.up2D);let a=r.frustum;a.right=r.position.z*.5,a.left=-a.right,a.top=a.right*(i.drawingBufferHeight/i.drawingBufferWidth),a.bottom=-a.top;let c=uft;N.multiplyByPoint(ao.TRANSFORM_2D_INVERSE,r.position2D,c.position),h.clone(r.direction,c.direction),h.clone(r.up,c.up),c.frustum=a;let u=Mge(c);MD(e,u);function f(){Dge(e,t,r,s,u)}Ige(e,t,r,f)}function Pge(e,t,n,i){let o=e._scene,r=o.camera,s=r.frustum.right-r.frustum.left;r.frustum=n.frustum.clone();let a=r.frustum.fov,c=I.RADIANS_PER_DEGREE*.5,u=s*Math.tan(a*.5);r.frustum.far=u/Math.tan(c*.5)+1e7,r.frustum.fov=c;function f(p){r.frustum.fov=I.lerp(c,a,p.time),r.position.z=u/Math.tan(r.frustum.fov*.5)}let d=o.tweens.add({duration:t,easingFunction:Dr.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:f,complete:function(){i(e)}});e._currentTweens.push(d)}function _ft(e,t,n,i){t*=.5;let o=e._scene,r=o.camera,s=h.clone(n.position,xq),a=h.clone(n.direction,wge),c=h.clone(n.up,vge);o._mode=ee.MORPHING;function u(){r.frustum=n.frustum.clone();let f=h.clone(r.position,Ege),d=h.clone(r.direction,bge),p=h.clone(r.up,Sge);f.z=s.z;function g(C){tf(f,s,C.time,r.position),tf(d,a,C.time,r.direction),tf(p,c,C.time,r.up),h.cross(r.direction,r.up,r.right),h.normalize(r.right,r.right)}let m=o.tweens.add({duration:t,easingFunction:Dr.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:g,complete:function(){i(e)}});e._currentTweens.push(m)}e._morphToOrthographic?u():Pge(e,0,n,u)}function Ige(e,t,n,i){let o=e._scene,r=o.camera,s=h.clone(r.position,Ege),a=h.clone(r.direction,bge),c=h.clone(r.up,Sge),u=h.clone(n.position2D,xq),f=h.clone(n.direction2D,wge),d=h.clone(n.up2D,vge);function p(m){tf(s,u,m.time,r.position),tf(a,f,m.time,r.direction),tf(c,d,m.time,r.up),h.cross(r.direction,r.up,r.right),h.normalize(r.right,r.right),r._adjustOrthographicFrustum(!0)}let g=o.tweens.add({duration:t,easingFunction:Dr.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:p,complete:function(){Oge(e,o,1,0,t,i)}});e._currentTweens.push(g)}function Oge(e,t,n,i,o,r){let s={object:t,property:"morphTime",startValue:n,stopValue:i,duration:o,easingFunction:Dr.QUARTIC_OUT};l(r)&&(s.complete=function(){r(e)});let a=t.tweens.addProperty(s);e._currentTweens.push(a)}function Rge(e){return function(t){let n=t._scene;n._mode=ee.SCENE3D,n.morphTime=ee.getMorphTime(ee.SCENE3D),i4(t);let i=n.camera;(t._previousMode!==ee.MORPHING||t._morphCancelled)&&(t._morphCancelled=!1,h.clone(e.position,i.position),h.clone(e.direction,i.direction),h.clone(e.up,i.up),h.cross(i.direction,i.up,i.right),h.normalize(i.right,i.right),i.frustum=e.frustum.clone());let o=i.frustum;n.frameState.useLogDepth&&(o.near=.1,o.far=1e10);let r=l(t._completeMorph);t._completeMorph=void 0,n.camera.update(n.mode),t._scene.morphComplete.raiseEvent(t,t._previousMode,ee.SCENE3D,r)}}function Mge(e){return function(t){let n=t._scene;n._mode=ee.SCENE2D,n.morphTime=ee.getMorphTime(ee.SCENE2D),i4(t);let i=n.camera;h.clone(e.position,i.position),i.position.z=n.mapProjection.ellipsoid.maximumRadius*2,h.clone(e.direction,i.direction),h.clone(e.up,i.up),h.cross(i.direction,i.up,i.right),h.normalize(i.right,i.right),i.frustum=e.frustum.clone();let o=l(t._completeMorph);t._completeMorph=void 0,n.camera.update(n.mode),t._scene.morphComplete.raiseEvent(t,t._previousMode,ee.SCENE2D,o)}}function gft(e){return function(t){let n=t._scene;n._mode=ee.COLUMBUS_VIEW,n.morphTime=ee.getMorphTime(ee.COLUMBUS_VIEW),i4(t);let i=n.camera;(t._previousModeMode!==ee.MORPHING||t._morphCancelled)&&(t._morphCancelled=!1,h.clone(e.position,i.position),h.clone(e.direction,i.direction),h.clone(e.up,i.up),h.cross(i.direction,i.up,i.right),h.normalize(i.right,i.right));let o=i.frustum;n.frameState.useLogDepth&&(o.near=.1,o.far=1e10);let r=l(t._completeMorph);t._completeMorph=void 0,n.camera.update(n.mode),t._scene.morphComplete.raiseEvent(t,t._previousMode,ee.COLUMBUS_VIEW,r)}}var o4=PC;var Bge=Ri(h8(),1);function r4(e,t,n,i,o,r,s,a,c,u){this._tweens=e,this._tweenjs=t,this._startObject=et(n),this._stopObject=et(i),this._duration=o,this._delay=r,this._easingFunction=s,this._update=a,this._complete=c,this.cancel=u,this.needsStart=!0}Object.defineProperties(r4.prototype,{startObject:{get:function(){return this._startObject}},stopObject:{get:function(){return this._stopObject}},duration:{get:function(){return this._duration}},delay:{get:function(){return this._delay}},easingFunction:{get:function(){return this._easingFunction}},update:{get:function(){return this._update}},complete:{get:function(){return this._complete}},tweenjs:{get:function(){return this._tweenjs}}});r4.prototype.cancelTween=function(){this._tweens.remove(this)};function yd(){this._tweens=[]}Object.defineProperties(yd.prototype,{length:{get:function(){return this._tweens.length}}});yd.prototype.add=function(e){if(e=y(e,y.EMPTY_OBJECT),e.duration===0)return l(e.complete)&&e.complete(),new r4(this);let t=e.duration/Yn.SECONDS_PER_MILLISECOND,n=y(e.delay,0),i=n/Yn.SECONDS_PER_MILLISECOND,o=y(e.easingFunction,Dr.LINEAR_NONE),r=e.startObject,s=new Bge.Tween(r);s.to(et(e.stopObject),t),s.delay(i),s.easing(o),l(e.update)&&s.onUpdate(function(){e.update(r)}),s.onComplete(y(e.complete,null)),s.repeat(y(e._repeat,0));let a=new r4(this,s,e.startObject,e.stopObject,e.duration,n,o,e.update,e.complete,e.cancel);return this._tweens.push(a),a};yd.prototype.addProperty=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.object,n=e.property,i=e.startValue,o=e.stopValue;function r(s){t[n]=s.value}return this.add({startObject:{value:i},stopObject:{value:o},duration:y(e.duration,3),delay:e.delay,easingFunction:e.easingFunction,update:r,complete:e.complete,cancel:e.cancel,_repeat:e._repeat})};yd.prototype.addAlpha=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.material,n=[];for(let o in t.uniforms)t.uniforms.hasOwnProperty(o)&&l(t.uniforms[o])&&l(t.uniforms[o].alpha)&&n.push(o);function i(o){let r=n.length;for(let s=0;s<r;++s)t.uniforms[n[s]].alpha=o.alpha}return this.add({startObject:{alpha:y(e.startValue,0)},stopObject:{alpha:y(e.stopValue,1)},duration:y(e.duration,3),delay:e.delay,easingFunction:e.easingFunction,update:i,complete:e.complete,cancel:e.cancel})};yd.prototype.addOffsetIncrement=function(e){e=y(e,y.EMPTY_OBJECT);let n=e.material.uniforms;return this.addProperty({object:n,property:"offset",startValue:n.offset,stopValue:n.offset+1,duration:e.duration,delay:e.delay,easingFunction:e.easingFunction,update:e.update,cancel:e.cancel,_repeat:1/0})};yd.prototype.remove=function(e){if(!l(e))return!1;let t=this._tweens.indexOf(e);return t!==-1?(e.tweenjs.stop(),l(e.cancel)&&e.cancel(),this._tweens.splice(t,1),!0):!1};yd.prototype.removeAll=function(){let e=this._tweens;for(let t=0;t<e.length;++t){let n=e[t];n.tweenjs.stop(),l(n.cancel)&&n.cancel()}e.length=0};yd.prototype.contains=function(e){return l(e)&&this._tweens.indexOf(e)!==-1};yd.prototype.get=function(e){return this._tweens[e]};yd.prototype.update=function(e){let t=this._tweens,n=0;for(e=l(e)?e/Yn.SECONDS_PER_MILLISECOND:Ei();n<t.length;){let i=t[n],o=i.tweenjs;i.needsStart?(i.needsStart=!1,o.start(e)):o.update(e)?n++:(o.stop(),t.splice(n,1))}};var ZE=yd;function LD(e){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.bounceAnimationTime=3,this.minimumZoomDistance=1,this.maximumZoomDistance=Number.POSITIVE_INFINITY,this.translateEventTypes=Di.LEFT_DRAG,this.zoomEventTypes=[Di.RIGHT_DRAG,Di.WHEEL,Di.PINCH],this.rotateEventTypes=Di.LEFT_DRAG,this.tiltEventTypes=[Di.MIDDLE_DRAG,Di.PINCH,{eventType:Di.LEFT_DRAG,modifier:Ys.CTRL},{eventType:Di.RIGHT_DRAG,modifier:Ys.CTRL}],this.lookEventTypes={eventType:Di.LEFT_DRAG,modifier:Ys.SHIFT},this.minimumPickingTerrainHeight=15e4,this._minimumPickingTerrainHeight=this.minimumPickingTerrainHeight,this.minimumCollisionTerrainHeight=15e3,this._minimumCollisionTerrainHeight=this.minimumCollisionTerrainHeight,this.minimumTrackBallHeight=75e5,this._minimumTrackBallHeight=this.minimumTrackBallHeight,this.enableCollisionDetection=!0,this._scene=e,this._globe=void 0,this._ellipsoid=void 0,this._aggregator=new KV(e.canvas),this._lastInertiaSpinMovement=void 0,this._lastInertiaZoomMovement=void 0,this._lastInertiaTranslateMovement=void 0,this._lastInertiaTiltMovement=void 0,this._inertiaDisablers={_lastInertiaZoomMovement:["_lastInertiaSpinMovement","_lastInertiaTranslateMovement","_lastInertiaTiltMovement"],_lastInertiaTiltMovement:["_lastInertiaSpinMovement","_lastInertiaTranslateMovement"]},this._tweens=new ZE,this._tween=void 0,this._horizontalRotationAxis=void 0,this._tiltCenterMousePosition=new G(-1,-1),this._tiltCenter=new h,this._rotateMousePosition=new G(-1,-1),this._rotateStartPosition=new h,this._strafeStartPosition=new h,this._strafeMousePosition=new G,this._strafeEndMousePosition=new G,this._zoomMouseStart=new G(-1,-1),this._zoomWorldPosition=new h,this._useZoomWorldPosition=!1,this._tiltCVOffMap=!1,this._looking=!1,this._rotating=!1,this._strafing=!1,this._zoomingOnVector=!1,this._zoomingUnderground=!1,this._rotatingZoom=!1,this._adjustedHeightForTerrain=!1,this._cameraUnderground=!1;let t=e.mapProjection;this._maxCoord=t.project(new he(Math.PI,I.PI_OVER_TWO)),this._zoomFactor=5,this._rotateFactor=void 0,this._rotateRateRangeAdjustment=void 0,this._maximumRotateRate=1.77,this._minimumRotateRate=1/5e3,this._minimumZoomRate=20,this._maximumZoomRate=5906376272e3,this._minimumUndergroundPickDistance=2e3,this._maximumUndergroundPickDistance=1e4}function yft(e,t){if(e<0)return 0;let n=(1-t)*25;return Math.exp(-n*e)}function Cft(e){return G.equalsEpsilon(e.startPosition,e.endPosition,I.EPSILON14)}var xft=.4;function Aft(e,t,n,i,o,r,s){let a=r[s];l(a)||(a=r[s]={startPosition:new G,endPosition:new G,motion:new G,inertiaEnabled:!0});let c=e.getButtonPressTime(t,n),u=e.getButtonReleaseTime(t,n),f=c&&u&&(u.getTime()-c.getTime())/1e3,d=new Date,p=u&&(d.getTime()-u.getTime())/1e3;if(c&&u&&f<xft){let g=yft(p,i),m=e.getLastMovement(t,n);if(!l(m)||Cft(m)||!a.inertiaEnabled||(a.motion.x=(m.endPosition.x-m.startPosition.x)*.5,a.motion.y=(m.endPosition.y-m.startPosition.y)*.5,a.startPosition=G.clone(m.startPosition,a.startPosition),a.endPosition=G.multiplyByScalar(a.motion,g,a.endPosition),a.endPosition=G.add(a.startPosition,a.endPosition,a.endPosition),isNaN(a.endPosition.x)||isNaN(a.endPosition.y)||G.distance(a.startPosition,a.endPosition)<.5))return;if(!e.isButtonDown(t,n)){let C=e.getStartMousePosition(t,n);o(r,C,a)}}}function Tft(e,t){if(l(t)){let n=e[t];l(n)&&(n.inertiaEnabled=!0);let i=e._inertiaDisablers[t];if(l(i)){let o=i.length;for(let r=0;r<o;++r)n=e[i[r]],l(n)&&(n.inertiaEnabled=!1)}}}var Lge=[];function Sc(e,t,n,i,o,r){if(!l(n))return;let s=e._aggregator;Array.isArray(n)||(Lge[0]=n,n=Lge);let a=n.length;for(let c=0;c<a;++c){let u=n[c],f=l(u.eventType)?u.eventType:u,d=u.modifier,p=s.isMoving(f,d)&&s.getMovement(f,d),g=s.getStartMousePosition(f,d);e.enableInputs&&t&&(p?(i(e,g,p),Tft(e,r)):o<1&&Aft(s,f,d,o,i,e,r))}}var s4=new Tn,Eft=new h,bft=new G,Sft=new h,wft=new G,vft=new h,Dft=new h,Pft=new h,Ift=new h,Oft=new h,Rft=new h,Mft=new h,Bft=new h,Lft=new h,Nft=new h,Fft=new h,Vft=new h,kft=new h,Uft=new h,zft=new h,IC=new h,Nge=new h,Fge=new h,Aq={orientation:new lf};function Pq(e,t,n,i,o,r){let s=1;l(r)&&(s=I.clamp(Math.abs(r),.25,1));let a=n.endPosition.y-n.startPosition.y,u=a>0?e.minimumZoomDistance*s:0,f=e.maximumZoomDistance,d=o-u,p=i*d;p=I.clamp(p,e._minimumZoomRate,e._maximumZoomRate);let g=a/e._scene.canvas.clientHeight;g=Math.min(g,e.maximumMovementRatio);let m=p*g;if(e.enableCollisionDetection||e.minimumZoomDistance===0||!l(e._globe)){if(m>0&&Math.abs(o-u)<1||m<0&&Math.abs(o-f)<1)return;o-m<u?m=o-u-1:o-m>f&&(m=o-f)}let C=e._scene,x=C.camera,A=C.mode,b=Aq.orientation;if(b.heading=x.heading,b.pitch=x.pitch,b.roll=x.roll,x.frustum instanceof $t){Math.abs(m)>0&&(x.zoomIn(m),x._adjustOrthographicFrustum());return}let E=G.equals(t,e._zoomMouseStart),S=e._zoomingOnVector,v=e._rotatingZoom,P;if(E||(e._zoomMouseStart=G.clone(t,e._zoomMouseStart),l(e._globe)&&(A===ee.SCENE2D?(P=x.getPickRay(t,s4).origin,P=h.fromElements(P.y,P.z,P.x)):P=a0(e,t,Eft)),l(P)?(e._useZoomWorldPosition=!0,e._zoomWorldPosition=h.clone(P,e._zoomWorldPosition)):e._useZoomWorldPosition=!1,S=e._zoomingOnVector=!1,v=e._rotatingZoom=!1,e._zoomingUnderground=e._cameraUnderground),!e._useZoomWorldPosition){x.zoomIn(m);return}let O=A===ee.COLUMBUS_VIEW;if(x.positionCartographic.height<2e6&&(v=!0),!E||v){if(A===ee.SCENE2D){let M=e._zoomWorldPosition,B=x.position;if(!h.equals(M,B)&&x.positionCartographic.height<e._maxCoord.x*2){let L=x.position.x,_=h.subtract(M,B,Sft);h.normalize(_,_);let T=h.distance(M,B)*m/(x.getMagnitude()*.5);x.move(_,T*.5),(x.position.x<0&&L>0||x.position.x>0&&L<0)&&(P=x.getPickRay(t,s4).origin,P=h.fromElements(P.y,P.z,P.x),e._zoomWorldPosition=h.clone(P,e._zoomWorldPosition))}}else if(A===ee.SCENE3D){let M=h.normalize(x.position,Oft);if(e._cameraUnderground||e._zoomingUnderground||x.positionCartographic.height<3e3&&Math.abs(h.dot(x.direction,M))<.6)O=!0;else{let B=C.canvas,L=wft;L.x=B.clientWidth/2,L.y=B.clientHeight/2;let _=a0(e,L,vft);if(!l(_))O=!0;else if(x.positionCartographic.height<1e6)if(h.dot(x.direction,M)>=-.5)O=!0;else{let T=Mft;h.clone(x.position,T);let w=e._zoomWorldPosition,D=Rft;if(D=h.normalize(w,D),h.dot(D,M)<0)return;let R=zft,F=Nft;h.clone(x.direction,F),h.add(T,h.multiplyByScalar(F,1e3,IC),R);let z=Fft,k=Vft;h.subtract(w,T,z),h.normalize(z,k);let H=h.dot(M,k);if(H>=0){e._zoomMouseStart.x=-1;return}let V=Math.acos(-H),Y=h.magnitude(T),q=h.magnitude(w),X=Y-m,W=h.magnitude(z),K=Math.asin(I.clamp(W/q*Math.sin(V),-1,1)),$=Math.asin(I.clamp(X/q*Math.sin(V),-1,1)),le=K-$+V,me=Bft;h.normalize(T,me);let ie=Lft;ie=h.cross(k,me,ie),ie=h.normalize(ie,ie),h.normalize(h.cross(me,ie,IC),F),h.multiplyByScalar(h.normalize(R,IC),h.magnitude(R)-m,R),h.normalize(T,T),h.multiplyByScalar(T,X,T);let ce=kft;h.multiplyByScalar(h.add(h.multiplyByScalar(me,Math.cos(le)-1,Nge),h.multiplyByScalar(F,Math.sin(le),Fge),IC),X,ce),h.add(T,ce,T),h.normalize(R,me),h.normalize(h.cross(me,ie,IC),F);let pe=Uft;h.multiplyByScalar(h.add(h.multiplyByScalar(me,Math.cos(le)-1,Nge),h.multiplyByScalar(F,Math.sin(le),Fge),IC),h.magnitude(R),pe),h.add(R,pe,R),h.clone(T,x.position),h.normalize(h.subtract(R,T,IC),x.direction),h.clone(x.direction,x.direction),h.cross(x.direction,x.up,x.right),h.cross(x.right,x.direction,x.up),x.setView(Aq);return}else{let T=h.normalize(_,Dft),w=h.normalize(e._zoomWorldPosition,Pft),D=h.dot(w,T);if(D>0&&D<1){let R=I.acosClamped(D),F=h.cross(w,T,Ift),z=Math.abs(R)>I.toRadians(20)?x.positionCartographic.height*.75:x.positionCartographic.height-m,k=m/z;x.rotate(F,R*k)}}}}e._rotatingZoom=!O}if(!E&&O||S){let M,B=qi.wgs84ToWindowCoordinates(C,e._zoomWorldPosition,bft);A!==ee.COLUMBUS_VIEW&&G.equals(t,e._zoomMouseStart)&&l(B)?M=x.getPickRay(B,s4):M=x.getPickRay(t,s4);let L=M.direction;(A===ee.COLUMBUS_VIEW||A===ee.SCENE2D)&&h.fromElements(L.y,L.z,L.x,L),x.move(L,m),e._zoomingOnVector=!0}else x.zoomIn(m);e._cameraUnderground||x.setView(Aq)}var Hft=new Tn,Gft=new Tn,Wft=new h;function jft(e,t,n){let o=e._scene.camera,r=o.getPickRay(n.startPosition,Hft).origin,s=o.getPickRay(n.endPosition,Gft).origin;r=h.fromElements(r.y,r.z,r.x,r),s=h.fromElements(s.y,s.z,s.x,s);let a=h.subtract(r,s,Wft),c=h.magnitude(a);c>0&&(h.normalize(a,a),o.move(a,c))}function Vge(e,t,n){l(n.distance)&&(n=n.distance);let o=e._scene.camera;Pq(e,t,n,e._zoomFactor,o.getMagnitude())}var qft=new G,Yft=new G;function kge(e,t,n){if(l(n.angleAndHeight)){Xft(e,t,n.angleAndHeight);return}let i=e._scene,o=i.camera,r=i.canvas,s=r.clientWidth,a=r.clientHeight,c=qft;c.x=2/s*n.startPosition.x-1,c.y=2/a*(a-n.startPosition.y)-1,c=G.normalize(c,c);let u=Yft;u.x=2/s*n.endPosition.x-1,u.y=2/a*(a-n.endPosition.y)-1,u=G.normalize(u,u);let f=I.acosClamped(c.x);c.y<0&&(f=I.TWO_PI-f);let d=I.acosClamped(u.x);u.y<0&&(d=I.TWO_PI-d);let p=d-f;o.twistRight(p)}function Xft(e,t,n){let i=e._rotateFactor*e._rotateRateRangeAdjustment;i>e._maximumRotateRate&&(i=e._maximumRotateRate),i<e._minimumRotateRate&&(i=e._minimumRotateRate);let o=e._scene,r=o.camera,s=o.canvas,a=(n.endPosition.x-n.startPosition.x)/s.clientWidth;a=Math.min(a,e.maximumMovementRatio);let c=i*a*Math.PI*4;r.twistRight(c)}function Kft(e){let t=e._scene.mapMode2D===ql.ROTATE;N.equals(N.IDENTITY,e._scene.camera.transform)?(Sc(e,e.enableTranslate,e.translateEventTypes,jft,e.inertiaTranslate,"_lastInertiaTranslateMovement"),Sc(e,e.enableZoom,e.zoomEventTypes,Vge,e.inertiaZoom,"_lastInertiaZoomMovement"),t&&Sc(e,e.enableRotate,e.tiltEventTypes,kge,e.inertiaSpin,"_lastInertiaTiltMovement")):(Sc(e,e.enableZoom,e.zoomEventTypes,Vge,e.inertiaZoom,"_lastInertiaZoomMovement"),t&&Sc(e,e.enableRotate,e.translateEventTypes,kge,e.inertiaSpin,"_lastInertiaSpinMovement"))}var Wge=new Tn,Zft=new h,$ft=new h;function a0(e,t,n){let i=e._scene,o=e._globe,r=i.camera;if(!l(o))return;let s=!e._cameraUnderground,a;i.pickPositionSupported&&(a=i.pickPositionWorldCoordinates(t,Zft));let c=r.getPickRay(t,Wge),u=o.pickWorldCoordinates(c,i,s,$ft),f=l(a)?h.distance(a,r.positionWC):Number.POSITIVE_INFINITY,d=l(u)?h.distance(u,r.positionWC):Number.POSITIVE_INFINITY;return f<d?h.clone(a,n):h.clone(u,n)}var Jft=new he;function d4(e){let t=e._ellipsoid,n=e._scene,i=n.camera,o=n.mode,r=0;if(o===ee.SCENE3D){let c=t.cartesianToCartographic(i.position,Jft);l(c)&&(r=c.height)}else r=i.position.z;let s=y(e._scene.globeHeight,0);return Math.abs(s-r)}var Qft=new h;function jge(e,t){let n=t.origin,i=t.direction,o=d4(e),r=h.normalize(n,Qft),s=Math.abs(h.dot(r,i));return s=Math.max(s,.5)*2,o*s}function qge(e,t,n,i){let o=h.distance(t.origin,n),r=d4(e),s=I.clamp(r*5,e._minimumUndergroundPickDistance,e._maximumUndergroundPickDistance);return o>s&&(o=Math.min(o,r/5),o=Math.max(o,100)),Tn.getPoint(t,o,i)}function Yge(e,t,n,i){let o;return l(n)?(o=h.distance(t.origin,n),o>e._maximumUndergroundPickDistance&&(o=d4(e))):o=d4(e),Tn.getPoint(t,o,i)}var edt=new G;function Xge(e,t){let n=t.endPosition,i=G.subtract(t.endPosition,t.startPosition,edt),o=e._strafeEndMousePosition;G.add(o,i,o),t.endPosition=o,Iq(e,t,e._strafeStartPosition),t.endPosition=n}var Uge=new Tn,tdt=new Tn,Tq=new h,ndt=new h,idt=new h,odt=new h,rdt=new en(h.UNIT_X,0),sdt=new G,adt=new G;function cdt(e,t,n){if(h.equals(t,e._translateMousePosition)||(e._looking=!1),h.equals(t,e._strafeMousePosition)||(e._strafing=!1),e._looking){Ql(e,t,n);return}if(e._strafing){Xge(e,n);return}let o=e._scene.camera,r=e._cameraUnderground,s=G.clone(n.startPosition,sdt),a=G.clone(n.endPosition,adt),c=o.getPickRay(s,Uge),u=h.clone(h.ZERO,odt),f=h.UNIT_X,d;if(o.position.z<e._minimumPickingTerrainHeight&&(d=a0(e,s,Tq),l(d)&&(u.x=d.x)),r||u.x>o.position.z&&l(d)){let E=d;r&&(E=Yge(e,c,d,Tq)),G.clone(t,e._strafeMousePosition),G.clone(t,e._strafeEndMousePosition),h.clone(E,e._strafeStartPosition),e._strafing=!0,Iq(e,n,e._strafeStartPosition);return}let p=en.fromPointNormal(u,f,rdt);c=o.getPickRay(s,Uge);let g=Gi.rayPlane(c,p,Tq),m=o.getPickRay(a,tdt),C=Gi.rayPlane(m,p,ndt);if(!l(g)||!l(C)){e._looking=!0,Ql(e,t,n),G.clone(t,e._translateMousePosition);return}let x=h.subtract(g,C,idt),A=x.x;x.x=x.y,x.y=x.z,x.z=A;let b=h.magnitude(x);b>I.EPSILON6&&(h.normalize(x,x),o.move(x,b))}var Kge=new G,c4=new Tn,l4=new h,ldt=new h,Zge=new N,udt=new N,fdt=new h,ddt=new en(h.UNIT_X,0),Eq=new h,wq=new he,$ge=new N,hdt=new Oe,mdt=new J,u4=new h;function pdt(e,t,n){if(l(n.angleAndHeight)&&(n=n.angleAndHeight),G.equals(t,e._tiltCenterMousePosition)||(e._tiltCVOffMap=!1,e._looking=!1),e._looking){Ql(e,t,n);return}let o=e._scene.camera;e._tiltCVOffMap||!e.onMap()||Math.abs(o.position.z)>e._minimumPickingTerrainHeight?(e._tiltCVOffMap=!0,_dt(e,t,n)):gdt(e,t,n)}function _dt(e,t,n){let i=e._scene,o=i.camera,r=i.canvas,s=Kge;s.x=r.clientWidth/2,s.y=r.clientHeight/2;let a=o.getPickRay(s,c4),c=h.UNIT_X,u=a.origin,f=a.direction,d,p=h.dot(c,f);if(Math.abs(p)>I.EPSILON6&&(d=-h.dot(c,u)/p),!l(d)||d<=0){e._looking=!0,Ql(e,t,n),G.clone(t,e._tiltCenterMousePosition);return}let g=h.multiplyByScalar(f,d,l4);h.add(u,g,g);let m=i.mapProjection,C=m.ellipsoid;h.fromElements(g.y,g.z,g.x,g);let x=m.unproject(g,wq);C.cartographicToCartesian(x,g);let A=Dt.eastNorthUpToFixedFrame(g,C,Zge),b=e._globe,E=e._ellipsoid;e._globe=void 0,e._ellipsoid=oe.UNIT_SPHERE,e._rotateFactor=1,e._rotateRateRangeAdjustment=1;let S=N.clone(o.transform,$ge);o._setTransform(A),Jl(e,t,n,h.UNIT_Z),o._setTransform(S),e._globe=b,e._ellipsoid=E;let v=E.maximumRadius;e._rotateFactor=1/v,e._rotateRateRangeAdjustment=v}function gdt(e,t,n){let i=e._scene,o=i.camera,r=e._cameraUnderground,s,a,c=h.UNIT_X;if(G.equals(t,e._tiltCenterMousePosition))s=h.clone(e._tiltCenter,l4);else{if(o.position.z<e._minimumPickingTerrainHeight&&(s=a0(e,t,l4)),!l(s)){a=o.getPickRay(t,c4);let _=a.origin,T=a.direction,w,D=h.dot(c,T);if(Math.abs(D)>I.EPSILON6&&(w=-h.dot(c,_)/D),!l(w)||w<=0){e._looking=!0,Ql(e,t,n),G.clone(t,e._tiltCenterMousePosition);return}s=h.multiplyByScalar(T,w,l4),h.add(_,s,s)}r&&(l(a)||(a=o.getPickRay(t,c4)),qge(e,a,s,s)),G.clone(t,e._tiltCenterMousePosition),h.clone(s,e._tiltCenter)}let u=i.canvas,f=Kge;f.x=u.clientWidth/2,f.y=e._tiltCenterMousePosition.y,a=o.getPickRay(f,c4);let d=h.clone(h.ZERO,fdt);d.x=s.x;let p=en.fromPointNormal(d,c,ddt),g=Gi.rayPlane(a,p,ldt),m=o._projection,C=m.ellipsoid;h.fromElements(s.y,s.z,s.x,s);let x=m.unproject(s,wq);C.cartographicToCartesian(x,s);let A=Dt.eastNorthUpToFixedFrame(s,C,Zge),b;l(g)?(h.fromElements(g.y,g.z,g.x,g),x=m.unproject(g,wq),C.cartographicToCartesian(x,g),b=Dt.eastNorthUpToFixedFrame(g,C,udt)):b=A;let E=e._globe,S=e._ellipsoid;e._globe=void 0,e._ellipsoid=oe.UNIT_SPHERE,e._rotateFactor=1,e._rotateRateRangeAdjustment=1;let v=h.UNIT_Z,P=N.clone(o.transform,$ge);o._setTransform(A);let O=h.cross(h.UNIT_Z,h.normalize(o.position,Eq),Eq),M=h.dot(o.right,O);if(Jl(e,t,n,v,!1,!0),o._setTransform(b),M<0){let _=n.startPosition.y-n.endPosition.y;(r&&_<0||!r&&_>0)&&(v=void 0);let T=o.constrainedAxis;o.constrainedAxis=void 0,Jl(e,t,n,v,!0,!1),o.constrainedAxis=T}else Jl(e,t,n,v,!0,!1);if(l(o.constrainedAxis)){let _=h.cross(o.direction,o.constrainedAxis,u4);h.equalsEpsilon(_,h.ZERO,I.EPSILON6)||(h.dot(_,o.right)<0&&h.negate(_,_),h.cross(_,o.direction,o.up),h.cross(o.direction,o.up,o.right),h.normalize(o.up,o.up),h.normalize(o.right,o.right))}o._setTransform(P),e._globe=E,e._ellipsoid=S;let B=S.maximumRadius;e._rotateFactor=1/B,e._rotateRateRangeAdjustment=B;let L=h.clone(o.positionWC,Eq);if(e.enableCollisionDetection&&Mq(e),!h.equals(o.positionWC,L)){o._setTransform(b),o.worldToCameraCoordinatesPoint(L,L);let _=h.magnitudeSquared(L);h.magnitudeSquared(o.position)>_&&(h.normalize(o.position,o.position),h.multiplyByScalar(o.position,Math.sqrt(_),o.position));let T=h.angleBetween(L,o.position),w=h.cross(L,o.position,L);h.normalize(w,w);let D=Oe.fromAxisAngle(w,T,hdt),R=J.fromQuaternion(D,mdt);J.multiplyByVector(R,o.direction,o.direction),J.multiplyByVector(R,o.up,o.up),h.cross(o.direction,o.up,o.right),h.cross(o.right,o.direction,o.up),o._setTransform(P)}}var Jge=new G,Qge=new Tn,e0e=new h;function ydt(e,t,n){l(n.distance)&&(n=n.distance);let i=e._scene,o=i.camera,r=i.canvas,s=e._cameraUnderground,a;s?a=t:(a=Jge,a.x=r.clientWidth/2,a.y=r.clientHeight/2);let c=o.getPickRay(a,Qge),u=c.origin,f=c.direction,d=o.position.z,p;d<e._minimumPickingTerrainHeight&&(p=a0(e,a,e0e));let g;if(l(p)&&(g=h.distance(u,p)),s){let m=jge(e,c,d);l(g)?g=Math.min(g,m):g=m}if(!l(g)){let m=h.UNIT_X;g=-h.dot(m,u)/h.dot(m,f)}Pq(e,t,n,e._zoomFactor,g)}function Cdt(e){let n=e._scene.camera;if(!N.equals(N.IDENTITY,n.transform))Sc(e,e.enableRotate,e.rotateEventTypes,Jl,e.inertiaSpin,"_lastInertiaSpinMovement"),Sc(e,e.enableZoom,e.zoomEventTypes,t0e,e.inertiaZoom,"_lastInertiaZoomMovement");else{let i=e._tweens;if(e._aggregator.anyButtonDown&&i.removeAll(),Sc(e,e.enableTilt,e.tiltEventTypes,pdt,e.inertiaSpin,"_lastInertiaTiltMovement"),Sc(e,e.enableTranslate,e.translateEventTypes,cdt,e.inertiaTranslate,"_lastInertiaTranslateMovement"),Sc(e,e.enableZoom,e.zoomEventTypes,ydt,e.inertiaZoom,"_lastInertiaZoomMovement"),Sc(e,e.enableLook,e.lookEventTypes,Ql),!e._aggregator.anyButtonDown&&!i.contains(e._tween)){let o=n.createCorrectPositionTween(e.bounceAnimationTime);l(o)&&(e._tween=i.add(o))}i.update()}}var xdt=new Tn,Adt=new en(h.UNIT_X,0),Tdt=new h,Edt=new h,bdt=new h;function Iq(e,t,n){let i=e._scene,o=i.camera,r=o.getPickRay(t.endPosition,xdt),s=h.clone(o.direction,Edt);i.mode===ee.COLUMBUS_VIEW&&h.fromElements(s.z,s.x,s.y,s);let a=en.fromPointNormal(n,s,Adt),c=Gi.rayPlane(r,a,Tdt);!l(c)||(s=h.subtract(n,c,s),i.mode===ee.COLUMBUS_VIEW&&h.fromElements(s.y,s.z,s.x,s),h.add(o.position,s,o.position))}var zge=new h,Sdt=new he,vq=new h,Dq=new oe,wdt=new h,vdt=new h;function Ddt(e,t,n){let o=e._scene.camera,r=e._cameraUnderground,s=e._ellipsoid;if(!N.equals(o.transform,N.IDENTITY)){Jl(e,t,n);return}let a,c,u=s.geodeticSurfaceNormal(o.position,wdt);if(G.equals(t,e._rotateMousePosition)){if(e._looking)Ql(e,t,n,u);else if(e._rotating)Jl(e,t,n);else if(e._strafing)Xge(e,n);else{if(h.magnitude(o.position)<h.magnitude(e._rotateStartPosition))return;a=h.magnitude(e._rotateStartPosition),c=vq,c.x=c.y=c.z=a,s=oe.fromCartesian3(c,Dq),Sq(e,t,n,s)}return}e._looking=!1,e._rotating=!1,e._strafing=!1;let f=s.cartesianToCartographic(o.positionWC,Sdt).height,d=e._globe;if(l(d)&&f<e._minimumPickingTerrainHeight){let p=a0(e,n.startPosition,bdt);if(l(p)){let g=!1,m=o.getPickRay(n.startPosition,Wge);if(r)g=!0,Yge(e,m,p,p);else{let C=s.geodeticSurfaceNormal(p,vdt);Math.abs(h.dot(m.direction,C))<.05?g=!0:g=h.magnitude(o.position)<h.magnitude(p)}g?(G.clone(t,e._strafeEndMousePosition),h.clone(p,e._strafeStartPosition),e._strafing=!0,Iq(e,n,e._strafeStartPosition)):(a=h.magnitude(p),c=vq,c.x=c.y=c.z=a,s=oe.fromCartesian3(c,Dq),Sq(e,t,n,s),h.clone(p,e._rotateStartPosition))}else e._looking=!0,Ql(e,t,n,u)}else l(o.pickEllipsoid(n.startPosition,e._ellipsoid,zge))?(Sq(e,t,n,e._ellipsoid),h.clone(zge,e._rotateStartPosition)):f>e._minimumTrackBallHeight?(e._rotating=!0,Jl(e,t,n)):(e._looking=!0,Ql(e,t,n,u));G.clone(t,e._rotateMousePosition)}function Jl(e,t,n,i,o,r){o=y(o,!1),r=y(r,!1);let s=e._scene,a=s.camera,c=s.canvas,u=a.constrainedAxis;l(i)&&(a.constrainedAxis=i);let f=h.magnitude(a.position),d=e._rotateFactor*(f-e._rotateRateRangeAdjustment);d>e._maximumRotateRate&&(d=e._maximumRotateRate),d<e._minimumRotateRate&&(d=e._minimumRotateRate);let p=(n.startPosition.x-n.endPosition.x)/c.clientWidth,g=(n.startPosition.y-n.endPosition.y)/c.clientHeight;p=Math.min(p,e.maximumMovementRatio),g=Math.min(g,e.maximumMovementRatio);let m=d*p*Math.PI*2,C=d*g*Math.PI;o||a.rotateRight(m),r||a.rotateUp(C),a.constrainedAxis=u}var Pdt=se.clone(se.UNIT_W),Idt=se.clone(se.UNIT_W),a4=new h,bq=new h,Odt=new h,Rdt=new h,Mdt=new G,Bdt=new G;function Sq(e,t,n,i){let r=e._scene.camera,s=G.clone(n.startPosition,Mdt),a=G.clone(n.endPosition,Bdt),c=r.pickEllipsoid(s,i,Pdt),u=r.pickEllipsoid(a,i,Idt);if(!l(c)||!l(u)){e._rotating=!0,Jl(e,t,n);return}if(c=r.worldToCameraCoordinates(c,c),u=r.worldToCameraCoordinates(u,u),l(r.constrainedAxis)){let f=r.constrainedAxis,d=h.mostOrthogonalAxis(f,a4);h.cross(d,f,d),h.normalize(d,d);let p=h.cross(f,d,bq),g=h.magnitude(c),m=h.dot(f,c),C=Math.acos(m/g),x=h.multiplyByScalar(f,m,Odt);h.subtract(c,x,x),h.normalize(x,x);let A=h.magnitude(u),b=h.dot(f,u),E=Math.acos(b/A),S=h.multiplyByScalar(f,b,Rdt);h.subtract(u,S,S),h.normalize(S,S);let v=Math.acos(h.dot(x,d));h.dot(x,p)<0&&(v=I.TWO_PI-v);let P=Math.acos(h.dot(S,d));h.dot(S,p)<0&&(P=I.TWO_PI-P);let O=v-P,M;h.equalsEpsilon(f,r.position,I.EPSILON2)?M=r.right:M=h.cross(f,r.position,a4);let B=h.cross(f,M,a4),L=h.dot(B,h.subtract(c,f,bq)),_=h.dot(B,h.subtract(u,f,bq)),T;L>0&&_>0?T=E-C:L>0&&_<=0?h.dot(r.position,f)>0?T=-C-E:T=C+E:T=C-E,r.rotateRight(O),r.rotateUp(T)}else{h.normalize(c,c),h.normalize(u,u);let f=h.dot(c,u),d=h.cross(c,u,a4);if(f<1&&!h.equalsEpsilon(d,h.ZERO,I.EPSILON14)){let p=Math.acos(f);r.rotate(d,p)}}}var Ldt=new h,Ndt=new he;function t0e(e,t,n){l(n.distance)&&(n=n.distance);let i=e._ellipsoid,o=e._scene,r=o.camera,s=o.canvas,a=e._cameraUnderground,c;a?c=t:(c=Jge,c.x=s.clientWidth/2,c.y=s.clientHeight/2);let u=r.getPickRay(c,Qge),f,d=i.cartesianToCartographic(r.position,Ndt).height;d<e._minimumPickingTerrainHeight&&(f=a0(e,c,e0e));let p;if(l(f)&&(p=h.distance(u.origin,f)),a){let m=jge(e,u,d);l(p)?p=Math.min(p,m):p=m}l(p)||(p=d);let g=h.normalize(r.position,Ldt);Pq(e,t,n,e._zoomFactor,p,h.dot(g,r.direction))}var n0e=new G,f4=new Tn,BD=new h,Fdt=new h,i0e=new N,Vdt=new N,o0e=new N,kdt=new Oe,Udt=new J,Oq=new he,Rq=new h;function zdt(e,t,n){let o=e._scene.camera;if(!N.equals(o.transform,N.IDENTITY))return;if(l(n.angleAndHeight)&&(n=n.angleAndHeight),G.equals(t,e._tiltCenterMousePosition)||(e._tiltOnEllipsoid=!1,e._looking=!1),e._looking){let a=e._ellipsoid.geodeticSurfaceNormal(o.position,Rq);Ql(e,t,n,a);return}let s=e._ellipsoid.cartesianToCartographic(o.position,Oq);e._tiltOnEllipsoid||s.height>e._minimumCollisionTerrainHeight?(e._tiltOnEllipsoid=!0,Gdt(e,t,n)):Wdt(e,t,n)}var Hdt=new he;function Gdt(e,t,n){let i=e._ellipsoid,o=e._scene,r=o.camera,s=e.minimumZoomDistance*.25,a=i.cartesianToCartographic(r.positionWC,Hdt).height;if(a-s-1<I.EPSILON3&&n.endPosition.y-n.startPosition.y<0)return;let c=o.canvas,u=n0e;u.x=c.clientWidth/2,u.y=c.clientHeight/2;let f=r.getPickRay(u,f4),d,p=Gi.rayEllipsoid(f,i);if(l(p))d=Tn.getPoint(f,p.start,BD);else if(a>e._minimumTrackBallHeight){let b=Gi.grazingAltitudeLocation(f,i);if(!l(b))return;let E=i.cartesianToCartographic(b,Oq);E.height=0,d=i.cartographicToCartesian(E,BD)}else{e._looking=!0;let b=e._ellipsoid.geodeticSurfaceNormal(r.position,Rq);Ql(e,t,n,b),G.clone(t,e._tiltCenterMousePosition);return}let g=Dt.eastNorthUpToFixedFrame(d,i,i0e),m=e._globe,C=e._ellipsoid;e._globe=void 0,e._ellipsoid=oe.UNIT_SPHERE,e._rotateFactor=1,e._rotateRateRangeAdjustment=1;let x=N.clone(r.transform,o0e);r._setTransform(g),Jl(e,t,n,h.UNIT_Z),r._setTransform(x),e._globe=m,e._ellipsoid=C;let A=C.maximumRadius;e._rotateFactor=1/A,e._rotateRateRangeAdjustment=A}function Wdt(e,t,n){let i=e._ellipsoid,o=e._scene,r=o.camera,s=e._cameraUnderground,a,c,u;if(G.equals(t,e._tiltCenterMousePosition))a=h.clone(e._tiltCenter,BD);else{if(a=a0(e,t,BD),!l(a)){if(c=r.getPickRay(t,f4),u=Gi.rayEllipsoid(c,i),!l(u)){if(i.cartesianToCartographic(r.position,Oq).height<=e._minimumTrackBallHeight){e._looking=!0;let T=e._ellipsoid.geodeticSurfaceNormal(r.position,Rq);Ql(e,t,n,T),G.clone(t,e._tiltCenterMousePosition)}return}a=Tn.getPoint(c,u.start,BD)}s&&(l(c)||(c=r.getPickRay(t,f4)),qge(e,c,a,a)),G.clone(t,e._tiltCenterMousePosition),h.clone(a,e._tiltCenter)}let f=o.canvas,d=n0e;d.x=f.clientWidth/2,d.y=e._tiltCenterMousePosition.y,c=r.getPickRay(d,f4);let p=h.magnitude(a),g=h.fromElements(p,p,p,vq),m=oe.fromCartesian3(g,Dq);if(u=Gi.rayEllipsoid(c,m),!l(u))return;let C=h.magnitude(c.origin)>p?u.start:u.stop,x=Tn.getPoint(c,C,Fdt),A=Dt.eastNorthUpToFixedFrame(a,i,i0e),b=Dt.eastNorthUpToFixedFrame(x,m,Vdt),E=e._globe,S=e._ellipsoid;e._globe=void 0,e._ellipsoid=oe.UNIT_SPHERE,e._rotateFactor=1,e._rotateRateRangeAdjustment=1;let v=h.UNIT_Z,P=N.clone(r.transform,o0e);r._setTransform(b);let O=h.cross(x,r.positionWC,u4);if(h.dot(r.rightWC,O)<0){let _=n.startPosition.y-n.endPosition.y;(s&&_<0||!s&&_>0)&&(v=void 0);let T=r.constrainedAxis;r.constrainedAxis=void 0,Jl(e,t,n,v,!0,!1),r.constrainedAxis=T}else Jl(e,t,n,v,!0,!1);if(r._setTransform(A),Jl(e,t,n,v,!1,!0),l(r.constrainedAxis)){let _=h.cross(r.direction,r.constrainedAxis,u4);h.equalsEpsilon(_,h.ZERO,I.EPSILON6)||(h.dot(_,r.right)<0&&h.negate(_,_),h.cross(_,r.direction,r.up),h.cross(r.direction,r.up,r.right),h.normalize(r.up,r.up),h.normalize(r.right,r.right))}r._setTransform(P),e._globe=E,e._ellipsoid=S;let B=S.maximumRadius;e._rotateFactor=1/B,e._rotateRateRangeAdjustment=B;let L=h.clone(r.positionWC,u4);if(e.enableCollisionDetection&&Mq(e),!h.equals(r.positionWC,L)){r._setTransform(b),r.worldToCameraCoordinatesPoint(L,L);let _=h.magnitudeSquared(L);h.magnitudeSquared(r.position)>_&&(h.normalize(r.position,r.position),h.multiplyByScalar(r.position,Math.sqrt(_),r.position));let T=h.angleBetween(L,r.position),w=h.cross(L,r.position,L);h.normalize(w,w);let D=Oe.fromAxisAngle(w,T,kdt),R=J.fromQuaternion(D,Udt);J.multiplyByVector(R,r.direction,r.direction),J.multiplyByVector(R,r.up,r.up),h.cross(r.direction,r.up,r.right),h.cross(r.right,r.direction,r.up),r._setTransform(P)}}var jdt=new G,qdt=new G,Hge=new Tn,Gge=new Tn,Ydt=new h,Xdt=new h;function Ql(e,t,n,i){let r=e._scene.camera,s=jdt;s.x=n.startPosition.x,s.y=0;let a=qdt;a.x=n.endPosition.x,a.y=0;let c=r.getPickRay(s,Hge),u=r.getPickRay(a,Gge),f=0,d,p;r.frustum instanceof $t?(d=c.origin,p=u.origin,h.add(r.direction,d,d),h.add(r.direction,p,p),h.subtract(d,r.position,d),h.subtract(p,r.position,p),h.normalize(d,d),h.normalize(p,p)):(d=c.direction,p=u.direction);let g=h.dot(d,p);g<1&&(f=Math.acos(g)),f=n.startPosition.x>n.endPosition.x?-f:f;let m=e._horizontalRotationAxis;if(l(i)?r.look(i,-f):l(m)?r.look(m,-f):r.lookLeft(f),s.x=0,s.y=n.startPosition.y,a.x=0,a.y=n.endPosition.y,c=r.getPickRay(s,Hge),u=r.getPickRay(a,Gge),f=0,r.frustum instanceof $t?(d=c.origin,p=u.origin,h.add(r.direction,d,d),h.add(r.direction,p,p),h.subtract(d,r.position,d),h.subtract(p,r.position,p),h.normalize(d,d),h.normalize(p,p)):(d=c.direction,p=u.direction),g=h.dot(d,p),g<1&&(f=Math.acos(g)),f=n.startPosition.y>n.endPosition.y?-f:f,i=y(i,m),l(i)){let C=r.direction,x=h.negate(i,Ydt),A=h.equalsEpsilon(C,i,I.EPSILON2),b=h.equalsEpsilon(C,x,I.EPSILON2);if(!A&&!b){g=h.dot(C,i);let E=I.acosClamped(g);f>0&&f>E&&(f=E-I.EPSILON4),g=h.dot(C,x),E=I.acosClamped(g),f<0&&-f>E&&(f=-E+I.EPSILON4);let S=h.cross(i,C,Xdt);r.look(S,f)}else(A&&f<0||b&&f>0)&&r.look(r.right,-f)}else r.lookUp(f)}function Kdt(e){Sc(e,e.enableRotate,e.rotateEventTypes,Ddt,e.inertiaSpin,"_lastInertiaSpinMovement"),Sc(e,e.enableZoom,e.zoomEventTypes,t0e,e.inertiaZoom,"_lastInertiaZoomMovement"),Sc(e,e.enableTilt,e.tiltEventTypes,zdt,e.inertiaSpin,"_lastInertiaTiltMovement"),Sc(e,e.enableLook,e.lookEventTypes,Ql)}var Zdt=new N,$dt=new he;function Mq(e){e._adjustedHeightForTerrain=!0;let t=e._scene,n=t.mode,i=t.globe;if(!l(i)||n===ee.SCENE2D||n===ee.MORPHING)return;let o=t.camera,r=i.ellipsoid,s=t.mapProjection,a,c;N.equals(o.transform,N.IDENTITY)||(a=N.clone(o.transform,Zdt),c=h.magnitude(o.position),o._setTransform(N.IDENTITY));let u=$dt;n===ee.SCENE3D?r.cartesianToCartographic(o.position,u):s.unproject(o.position,u);let f=!1;if(u.height<e._minimumCollisionTerrainHeight){let d=e._scene.globeHeight;if(l(d)){let p=d+e.minimumZoomDistance;u.height<p&&(u.height=p,n===ee.SCENE3D?r.cartographicToCartesian(u,o.position):s.project(u,o.position),f=!0)}}l(a)&&(o._setTransform(a),f&&(h.normalize(o.position,o.position),h.negate(o.position,o.direction),h.multiplyByScalar(o.position,Math.max(c,e.minimumZoomDistance),o.position),h.normalize(o.direction,o.direction),h.cross(o.direction,o.up,o.right),h.cross(o.right,o.direction,o.up)))}LD.prototype.onMap=function(){let e=this._scene,t=e.mode,n=e.camera;return t===ee.COLUMBUS_VIEW?Math.abs(n.position.x)-this._maxCoord.x<0&&Math.abs(n.position.y)-this._maxCoord.y<0:!0};var Jdt=new h,Qdt=new h;LD.prototype.update=function(){let e=this._scene,t=e.camera,n=e.globe,i=e.mode;N.equals(t.transform,N.IDENTITY)?(this._globe=n,this._ellipsoid=l(this._globe)?this._globe.ellipsoid:e.mapProjection.ellipsoid):(this._globe=void 0,this._ellipsoid=oe.UNIT_SPHERE);let o=l(this._globe)?this._globe.terrainExaggeration:1,r=l(this._globe)?this._globe.terrainExaggerationRelativeHeight:0;this._minimumCollisionTerrainHeight=Rc.getHeight(this.minimumCollisionTerrainHeight,o,r),this._minimumPickingTerrainHeight=Rc.getHeight(this.minimumPickingTerrainHeight,o,r),this._minimumTrackBallHeight=Rc.getHeight(this.minimumTrackBallHeight,o,r),this._cameraUnderground=e.cameraUnderground&&l(this._globe);let s=this._ellipsoid.maximumRadius;this._rotateFactor=1/s,this._rotateRateRangeAdjustment=s,this._adjustedHeightForTerrain=!1;let a=h.clone(t.positionWC,Jdt),c=h.clone(t.directionWC,Qdt);i===ee.SCENE2D?Kft(this):i===ee.COLUMBUS_VIEW?(this._horizontalRotationAxis=h.UNIT_Z,Cdt(this)):i===ee.SCENE3D&&(this._horizontalRotationAxis=void 0,Kdt(this)),this.enableCollisionDetection&&!this._adjustedHeightForTerrain&&(!h.equals(a,t.positionWC)||!h.equals(c,t.directionWC))&&Mq(this),this._aggregator.reset()};LD.prototype.isDestroyed=function(){return!1};LD.prototype.destroy=function(){return this._tweens.removeAll(),this._aggregator=this._aggregator&&this._aggregator.destroy(),fe(this)};var h4=LD;var m4=`uniform sampler2D colorTexture;
  8398. uniform sampler2D colorTexture2;
  8399. uniform vec2 center;
  8400. uniform float radius;
  8401. varying vec2 v_textureCoordinates;
  8402. void main()
  8403. {
  8404. vec4 color0 = texture2D(colorTexture, v_textureCoordinates);
  8405. vec4 color1 = texture2D(colorTexture2, v_textureCoordinates);
  8406. float x = length(gl_FragCoord.xy - center) / radius;
  8407. float t = smoothstep(0.5, 0.8, x);
  8408. gl_FragColor = mix(color0 + color1, color1, t);
  8409. }
  8410. `;var p4=`uniform sampler2D colorTexture;
  8411. uniform float avgLuminance;
  8412. uniform float threshold;
  8413. uniform float offset;
  8414. varying vec2 v_textureCoordinates;
  8415. float key(float avg)
  8416. {
  8417. float guess = 1.5 - (1.5 / (avg * 0.1 + 1.0));
  8418. return max(0.0, guess) + 0.1;
  8419. }
  8420. void main()
  8421. {
  8422. vec4 color = texture2D(colorTexture, v_textureCoordinates);
  8423. vec3 xyz = czm_RGBToXYZ(color.rgb);
  8424. float luminance = xyz.r;
  8425. float scaledLum = key(avgLuminance) * luminance / avgLuminance;
  8426. float brightLum = max(scaledLum - threshold, 0.0);
  8427. float brightness = brightLum / (offset + brightLum);
  8428. xyz.r = brightness;
  8429. gl_FragColor = vec4(czm_XYZToRGB(xyz), 1.0);
  8430. }
  8431. `;function wp(){this._sceneFramebuffer=new WE;let e=.125,t=new Array(6);t[0]=new go({fragmentShader:Kl,textureScale:e,forcePowerOfTwo:!0,sampleMode:ef.LINEAR});let n=t[1]=new go({fragmentShader:p4,uniforms:{avgLuminance:.5,threshold:.25,offset:.1},textureScale:e,forcePowerOfTwo:!0}),i=this;this._delta=1,this._sigma=2,this._blurStep=new G,t[2]=new go({fragmentShader:SC,uniforms:{step:function(){return i._blurStep.x=i._blurStep.y=1/n.outputTexture.width,i._blurStep},delta:function(){return i._delta},sigma:function(){return i._sigma},direction:0},textureScale:e,forcePowerOfTwo:!0}),t[3]=new go({fragmentShader:SC,uniforms:{step:function(){return i._blurStep.x=i._blurStep.y=1/n.outputTexture.width,i._blurStep},delta:function(){return i._delta},sigma:function(){return i._sigma},direction:1},textureScale:e,forcePowerOfTwo:!0}),t[4]=new go({fragmentShader:Kl,sampleMode:ef.LINEAR}),this._uCenter=new G,this._uRadius=void 0,t[5]=new go({fragmentShader:m4,uniforms:{center:function(){return i._uCenter},radius:function(){return i._uRadius},colorTexture2:function(){return i._sceneFramebuffer.framebuffer.getColorTexture(0)}}}),this._stages=new sl({stages:t});let o=new KE(this),r=t.length;for(let s=0;s<r;++s)t[s]._textureCache=o;this._textureCache=o,this.length=t.length}wp.prototype.get=function(e){return this._stages.get(e)};wp.prototype.getStageByName=function(e){let t=this._stages.length;for(let n=0;n<t;++n){let i=this._stages.get(n);if(i.name===e)return i}};var eht=new se,r0e=new G,tht=new G,s0e=new N;function nht(e,t,n){let i=t.uniformState,o=i.sunPositionWC,r=i.view,s=i.viewProjection,a=i.projection,c=N.computeViewportTransformation(n,0,1,s0e),u=N.multiplyByPoint(r,o,eht),f=Dt.pointToGLWindowCoordinates(s,c,o,r0e);u.x+=I.SOLAR_RADIUS;let d=Dt.pointToGLWindowCoordinates(a,c,u,u),p=G.magnitude(G.subtract(d,f,d))*30*2,g=tht;g.x=p,g.y=p,e._uCenter=G.clone(f,e._uCenter),e._uRadius=Math.max(g.x,g.y)*.15;let m=t.drawingBufferWidth,C=t.drawingBufferHeight,x=e._stages,A=x.get(0),b=A.outputTexture.width,E=A.outputTexture.height,S=new Ge;S.width=b,S.height=E,c=N.computeViewportTransformation(S,0,1,s0e),f=Dt.pointToGLWindowCoordinates(s,c,o,r0e),g.x*=b/m,g.y*=E/C;let v=A.scissorRectangle;v.x=Math.max(f.x-g.x*.5,0),v.y=Math.max(f.y-g.y*.5,0),v.width=Math.min(g.x,m),v.height=Math.min(g.y,C);for(let P=1;P<4;++P)Ge.clone(v,x.get(P).scissorRectangle)}wp.prototype.clear=function(e,t,n){this._sceneFramebuffer.clear(e,t,n),this._textureCache.clear(e)};wp.prototype.update=function(e){let t=e.context,n=e.viewport,i=this._sceneFramebuffer;i.update(t,n);let o=i.framebuffer;return this._textureCache.update(t),this._stages.update(t,!1),nht(this,t,n),o};wp.prototype.execute=function(e){let t=this._sceneFramebuffer.framebuffer.getColorTexture(0),n=this._stages,i=n.length;n.get(0).execute(e,t);for(let o=1;o<i;++o)n.get(o).execute(e,n.get(o-1).outputTexture)};wp.prototype.copy=function(e,t){if(!l(this._copyColorCommand)){let n=this;this._copyColorCommand=e.createViewportQuadCommand(Kl,{uniformMap:{colorTexture:function(){return n._stages.get(n._stages.length-1).outputTexture}},owner:this})}this._copyColorCommand.framebuffer=t,this._copyColorCommand.execute(e)};wp.prototype.isDestroyed=function(){return!1};wp.prototype.destroy=function(){return this._textureCache.destroy(),this._stages.destroy(),fe(this)};var _4=wp;var y4=function(e){return function(){e.frameState.afterRender.push(function(){e.requestRender()})}};function ki(e){e=y(e,y.EMPTY_OBJECT);let t=e.canvas,n=e.creditContainer,i=e.creditViewport,o=et(e.contextOptions);l(o)||(o={}),l(o.webgl)||(o.webgl={}),o.webgl.powerPreference=y(o.webgl.powerPreference,"high-performance");let r=l(n),s=new RV(t,o);r||(n=document.createElement("div"),n.style.position="absolute",n.style.bottom="0",n.style["text-shadow"]="0 0 2px #000000",n.style.color="#ffffff",n.style["font-size"]="10px",n.style["padding-right"]="5px",t.parentNode.appendChild(n)),l(i)||(i=t.parentNode),this._id=Hn(),this._jobScheduler=new hU,this._frameState=new Tk(s,new ok(n," \u2022 ",i),this._jobScheduler),this._frameState.scene3DOnly=y(e.scene3DOnly,!1),this._removeCreditContainer=!r,this._creditContainer=n,this._canvas=t,this._context=s,this._computeEngine=new DV(s),this._globe=void 0,this._globeTranslucencyState=new tU,this._primitives=new Nl,this._groundPrimitives=new Nl,this._globeHeight=void 0,this._cameraUnderground=!1,this._logDepthBuffer=s.fragmentDepth,this._logDepthBufferDirty=!0,this._tweens=new ZE,this._shaderFrameCount=0,this._sunPostProcess=void 0,this._computeCommandList=[],this._overlayCommandList=[],this._useOIT=y(e.orderIndependentTranslucency,!0),this._executeOITFunction=void 0,this._depthPlane=new dk(e.depthPlaneEllipsoidOffset),this._clearColorCommand=new oi({color:new U,stencil:0,owner:this}),this._depthClearCommand=new oi({depth:1,owner:this}),this._stencilClearCommand=new oi({stencil:0}),this._classificationStencilClearCommand=new oi({stencil:0,renderState:Fe.fromCache({stencilMask:vt.CLASSIFICATION_MASK})}),this._depthOnlyRenderStateCache={},this._transitioner=new o4(this),this._preUpdate=new ge,this._postUpdate=new ge,this._renderError=new ge,this._preRender=new ge,this._postRender=new ge,this._minimumDisableDepthTestDistance=0,this._debugInspector=new sk,this._msaaSamples=y(e.msaaSamples,1),this.rethrowRenderErrors=!1,this.completeMorphOnUserInput=!0,this.morphStart=new ge,this.morphComplete=new ge,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=U.clone(U.BLACK),this._mode=ee.SCENE3D,this._mapProjection=l(e.mapProjection)?e.mapProjection:new xi,this.morphTime=1,this.farToNearRatio=1e3,this.logarithmicDepthFarToNearRatio=1e9,this.nearToFarDistance2D=175e4,this.debugCommandFilter=void 0,this.debugShowCommands=!1,this.debugShowFrustums=!1,this.debugShowFramesPerSecond=!1,this.debugShowDepthFrustum=1,this.debugShowFrustumPlanes=!1,this._debugShowFrustumPlanes=!1,this._debugFrustumPlanes=void 0,this.useDepthPicking=!0,this.pickTranslucentDepth=!1,this.cameraEventWaitTime=500,this.fog=new xk,this._shadowMapCamera=new ao(this),this.shadowMap=new r0({context:s,lightCamera:this._shadowMapCamera,enabled:y(e.shadows,!1)}),this.invertClassification=!1,this.invertClassificationColor=U.clone(U.WHITE),this._actualInvertClassificationColor=U.clone(this._invertClassificationColor),this._invertClassification=new pD,this.focalLength=void 0,this.eyeSeparation=void 0,this.postProcessStages=new n4,this._brdfLutGenerator=new UV,this._performanceDisplay=void 0,this._debugVolume=void 0,this._screenSpaceCameraController=new h4(this),this._cameraUnderground=!1,this._mapMode2D=y(e.mapMode2D,ql.INFINITE_SCROLL),this._environmentState={skyBoxCommand:void 0,skyAtmosphereCommand:void 0,sunDrawCommand:void 0,sunComputeCommand:void 0,moonCommand:void 0,isSunVisible:!1,isMoonVisible:!1,isReadyForAtmosphere:!1,isSkyAtmosphereVisible:!1,clearGlobeDepth:!1,useDepthPlane:!1,renderTranslucentDepthForPick:!1,originalFramebuffer:void 0,useGlobeDepthFramebuffer:!1,useOIT:!1,useInvertClassification:!1,usePostProcess:!1,usePostProcessSelected:!1,useWebVR:!1},this._useWebVR=!1,this._cameraVR=void 0,this._aspectRatioVR=void 0,this.requestRenderMode=y(e.requestRenderMode,!1),this._renderRequested=!0,this.maximumRenderTimeChange=y(e.maximumRenderTimeChange,0),this._lastRenderTime=void 0,this._frameRateMonitor=void 0,this._removeRequestListenerCallback=Wa.requestCompletedEvent.addEventListener(y4(this)),this._removeTaskProcessorListenerCallback=Ti.taskCompletedEvent.addEventListener(y4(this)),this._removeGlobeCallbacks=[];let a=new Ge(0,0,s.drawingBufferWidth,s.drawingBufferHeight),c=new ao(this);this._logDepthBuffer&&(c.frustum.near=.1,c.frustum.far=1e10),this.preloadFlightCamera=new ao(this),this.preloadFlightCullingVolume=void 0,this._picking=new RU(this),this._defaultView=new qE(this,c,a),this._view=this._defaultView,this._hdr=void 0,this._hdrDirty=void 0,this.highDynamicRange=!1,this.gamma=2.2,this.sphericalHarmonicCoefficients=void 0,this.specularEnvironmentMaps=void 0,this._specularEnvironmentMapAtlas=void 0,this.light=new qg,u0e(this,0,Q.now()),this.updateFrameState(),this.initializeFrame()}function iht(e,t){for(let i=0;i<e._removeGlobeCallbacks.length;++i)e._removeGlobeCallbacks[i]();e._removeGlobeCallbacks.length=0;let n=[];l(t)&&(n.push(t.imageryLayersUpdatedEvent.addEventListener(y4(e))),n.push(t.terrainProviderChanged.addEventListener(y4(e)))),e._removeGlobeCallbacks=n}Object.defineProperties(ki.prototype,{canvas:{get:function(){return this._canvas}},drawingBufferHeight:{get:function(){return this._context.drawingBufferHeight}},drawingBufferWidth:{get:function(){return this._context.drawingBufferWidth}},maximumAliasedLineWidth:{get:function(){return kt.maximumAliasedLineWidth}},maximumCubeMapSize:{get:function(){return kt.maximumCubeMapSize}},pickPositionSupported:{get:function(){return this._context.depthTexture}},sampleHeightSupported:{get:function(){return this._context.depthTexture}},clampToHeightSupported:{get:function(){return this._context.depthTexture}},invertClassificationSupported:{get:function(){return this._context.depthTexture}},specularEnvironmentMapsSupported:{get:function(){return lh.isSupported(this._context)}},globe:{get:function(){return this._globe},set:function(e){this._globe=this._globe&&this._globe.destroy(),this._globe=e,iht(this,e)}},primitives:{get:function(){return this._primitives}},groundPrimitives:{get:function(){return this._groundPrimitives}},camera:{get:function(){return this._view.camera},set:function(e){this._view.camera=e}},view:{get:function(){return this._view},set:function(e){this._view=e}},defaultView:{get:function(){return this._defaultView}},picking:{get:function(){return this._picking}},screenSpaceCameraController:{get:function(){return this._screenSpaceCameraController}},mapProjection:{get:function(){return this._mapProjection}},jobScheduler:{get:function(){return this._jobScheduler}},frameState:{get:function(){return this._frameState}},environmentState:{get:function(){return this._environmentState}},tweens:{get:function(){return this._tweens}},imageryLayers:{get:function(){if(!!l(this.globe))return this.globe.imageryLayers}},terrainProvider:{get:function(){if(!!l(this.globe))return this.globe.terrainProvider},set:function(e){l(this.globe)&&(this.globe.terrainProvider=e)}},terrainProviderChanged:{get:function(){if(!!l(this.globe))return this.globe.terrainProviderChanged}},preUpdate:{get:function(){return this._preUpdate}},postUpdate:{get:function(){return this._postUpdate}},renderError:{get:function(){return this._renderError}},preRender:{get:function(){return this._preRender}},postRender:{get:function(){return this._postRender}},lastRenderTime:{get:function(){return this._lastRenderTime}},context:{get:function(){return this._context}},debugFrustumStatistics:{get:function(){return this._view.debugFrustumStatistics}},scene3DOnly:{get:function(){return this._frameState.scene3DOnly}},orderIndependentTranslucency:{get:function(){return this._useOIT}},id:{get:function(){return this._id}},mode:{get:function(){return this._mode},set:function(e){e===ee.SCENE2D?this.morphTo2D(0):e===ee.SCENE3D?this.morphTo3D(0):e===ee.COLUMBUS_VIEW&&this.morphToColumbusView(0),this._mode=e}},frustumCommandsList:{get:function(){return this._view.frustumCommandsList}},numberOfFrustums:{get:function(){return this._view.frustumCommandsList.length}},useWebVR:{get:function(){return this._useWebVR},set:function(e){this._useWebVR=e,this._useWebVR?(this._frameState.creditDisplay.container.style.visibility="hidden",this._cameraVR=new ao(this),l(this._deviceOrientationCameraController)||(this._deviceOrientationCameraController=new mk(this)),this._aspectRatioVR=this.camera.frustum.aspectRatio):(this._frameState.creditDisplay.container.style.visibility="visible",this._cameraVR=void 0,this._deviceOrientationCameraController=this._deviceOrientationCameraController&&!this._deviceOrientationCameraController.isDestroyed()&&this._deviceOrientationCameraController.destroy(),this.camera.frustum.aspectRatio=this._aspectRatioVR,this.camera.frustum.xOffset=0)}},mapMode2D:{get:function(){return this._mapMode2D}},splitPosition:{get:function(){return this._frameState.splitPosition},set:function(e){this._frameState.splitPosition=e}},minimumDisableDepthTestDistance:{get:function(){return this._minimumDisableDepthTestDistance},set:function(e){this._minimumDisableDepthTestDistance=e}},logarithmicDepthBuffer:{get:function(){return this._logDepthBuffer},set:function(e){e=this._context.fragmentDepth&&e,this._logDepthBuffer!==e&&(this._logDepthBuffer=e,this._logDepthBufferDirty=!0)}},gamma:{get:function(){return this._context.uniformState.gamma},set:function(e){this._context.uniformState.gamma=e}},highDynamicRange:{get:function(){return this._hdr},set:function(e){let t=this._context,n=e&&t.depthTexture&&(t.colorBufferFloat||t.colorBufferHalfFloat);this._hdrDirty=n!==this._hdr,this._hdr=n}},highDynamicRangeSupported:{get:function(){let e=this._context;return e.depthTexture&&(e.colorBufferFloat||e.colorBufferHalfFloat)}},cameraUnderground:{get:function(){return this._cameraUnderground}},msaaSamples:{get:function(){return this._msaaSamples},set:function(e){e=Math.min(e,kt.maximumSamples),this._msaaSamples=e}},msaaSupported:{get:function(){return this._context.msaa}},pixelRatio:{get:function(){return this._frameState.pixelRatio},set:function(e){this._frameState.pixelRatio=e}},opaqueFrustumNearOffset:{get:function(){return .9999}},globeHeight:{get:function(){return this._globeHeight}}});ki.prototype.getCompressedTextureFormatSupported=function(e){let t=this.context;return(e==="WEBGL_compressed_texture_s3tc"||e==="s3tc")&&t.s3tc||(e==="WEBGL_compressed_texture_pvrtc"||e==="pvrtc")&&t.pvrtc||(e==="WEBGL_compressed_texture_etc"||e==="etc")&&t.etc||(e==="WEBGL_compressed_texture_etc1"||e==="etc1")&&t.etc1||(e==="WEBGL_compressed_texture_astc"||e==="astc")&&t.astc||(e==="EXT_texture_compression_bptc"||e==="bc7")&&t.bc7};function a0e(e,t,n){let i=e._frameState,o=e._context,r=e._view.oit,s=i.shadowState.lightShadowMaps,a=i.shadowState.lightShadowsEnabled,c=t.derivedCommands;l(t.pickId)&&(c.picking=Zg.createPickDerivedCommand(e,t,o,c.picking)),t.pickOnly||(c.depth=Zg.createDepthOnlyDerivedCommand(e,t,o,c.depth)),c.originalCommand=t,e._hdr&&(c.hdr=Zg.createHdrCommand(t,o,c.hdr),t=c.hdr.command,c=t.derivedCommands),a&&t.receiveShadows&&(c.shadows=r0.createReceiveDerivedCommand(s,t,n,o,c.shadows)),t.pass===xe.TRANSLUCENT&&l(r)&&r.isSupported()&&(a&&t.receiveShadows?(c.oit=l(c.oit)?c.oit:{},c.oit.shadows=r.createDerivedCommands(c.shadows.receiveCommand,o,c.oit.shadows)):c.oit=r.createDerivedCommands(t,o,c.oit))}ki.prototype.updateDerivedCommands=function(e){if(!l(e.derivedCommands))return;let t=this._frameState,n=this._context,i=!1,o=t.shadowState.lastDirtyTime;e.lastDirtyTime!==o&&(e.lastDirtyTime=o,e.dirty=!0,i=!0);let r=t.useLogDepth,s=this._hdr,a=e.derivedCommands,c=l(a.logDepth),u=l(a.hdr),f=l(a.originalCommand),d=r&&!c,p=s&&!u,g=(!r||!s)&&!f;if(e.dirty=e.dirty||d||p||g,e.dirty){e.dirty=!1;let m=t.shadowState.shadowMaps;t.shadowState.shadowsEnabled&&e.castShadows&&(a.shadows=r0.createCastDerivedCommand(m,e,i,n,a.shadows)),(c||d)&&(a.logDepth=Zg.createLogDepthCommand(e,n,a.logDepth),a0e(this,a.logDepth.command,i)),(f||g)&&a0e(this,e,i)}};var oht=new ud({pass:er.RENDER}),Bq=new ud({pass:er.PRELOAD}),Lq=new ud({pass:er.PRELOAD_FLIGHT}),rht=new ud({pass:er.REQUEST_RENDER_MODE_DEFER_CHECK}),c0e=new re,Nq;function sht(e){let t=e.globe;if(e._mode===ee.SCENE3D&&l(t)&&t.show&&!e._cameraUnderground&&!e._globeTranslucencyState.translucent){let n=t.ellipsoid,i=e.frameState.minimumTerrainHeight;return c0e.radius=n.minimumRadius+i,Nq=yI.fromBoundingSphere(c0e,e.camera.positionWC,Nq),Nq}}ki.prototype.clearPasses=function(e){e.render=!1,e.pick=!1,e.depth=!1,e.postProcess=!1,e.offscreen=!1};function u0e(e,t,n){let i=e._frameState;i.frameNumber=t,i.time=Q.clone(n,i.time)}ki.prototype.updateFrameState=function(){let e=this.camera,t=this._frameState;t.commandList.length=0,t.shadowMaps.length=0,t.brdfLutGenerator=this._brdfLutGenerator,t.environmentMap=this.skyBox&&this.skyBox._cubeMap,t.mode=this._mode,t.morphTime=this.morphTime,t.mapProjection=this.mapProjection,t.camera=e,t.cullingVolume=e.frustum.computeCullingVolume(e.positionWC,e.directionWC,e.upWC),t.occluder=sht(this),t.minimumTerrainHeight=0,t.minimumDisableDepthTestDistance=this._minimumDisableDepthTestDistance,t.invertClassification=this.invertClassification,t.useLogDepth=this._logDepthBuffer&&!(this.camera.frustum instanceof $t||this.camera.frustum instanceof Ir),t.light=this.light,t.cameraUnderground=this._cameraUnderground,t.globeTranslucencyState=this._globeTranslucencyState,l(this.globe)&&(t.terrainExaggeration=this.globe.terrainExaggeration,t.terrainExaggerationRelativeHeight=this.globe.terrainExaggerationRelativeHeight),l(this._specularEnvironmentMapAtlas)&&this._specularEnvironmentMapAtlas.ready?(t.specularEnvironmentMaps=this._specularEnvironmentMapAtlas.texture,t.specularEnvironmentMapsMaximumLOD=this._specularEnvironmentMapAtlas.maximumMipmapLevel):(t.specularEnvironmentMaps=void 0,t.specularEnvironmentMapsMaximumLOD=void 0),t.sphericalHarmonicCoefficients=this.sphericalHarmonicCoefficients,this._actualInvertClassificationColor=U.clone(this.invertClassificationColor,this._actualInvertClassificationColor),pD.isTranslucencySupported(this._context)||(this._actualInvertClassificationColor.alpha=1),t.invertClassificationColor=this._actualInvertClassificationColor,l(this.globe)?t.maximumScreenSpaceError=this.globe.maximumScreenSpaceError:t.maximumScreenSpaceError=2,this.clearPasses(t.passes),t.tilesetPassState=void 0};ki.prototype.isVisible=function(e,t,n){return l(e)&&(!l(e.boundingVolume)||!e.cull||t.computeVisibility(e.boundingVolume)!==Kt.OUTSIDE&&(!l(n)||!e.occlude||!e.boundingVolume.isOccluded(n)))};var g4=new N(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1);g4=N.inverseTransformation(g4,g4);function aht(e,t,n,i){let o=t._frameState,r=o.context,s=e.boundingVolume;l(t._debugVolume)&&t._debugVolume.destroy();let a,c=h.clone(s.center);if(o.mode!==ee.SCENE3D){c=N.multiplyByPoint(g4,c,c);let p=o.mapProjection,g=p.unproject(c);c=p.ellipsoid.cartographicToCartesian(g)}if(l(s.radius)){let p=s.radius;a=In.toWireframe(As.createGeometry(new As({radii:new h(p,p,p),vertexFormat:Qt.FLAT_VERTEX_FORMAT}))),t._debugVolume=new xn({geometryInstances:new pt({geometry:a,modelMatrix:N.fromTranslation(c),attributes:{color:new It(1,0,0,1)}}),appearance:new Qt({flat:!0,translucent:!1}),asynchronous:!1})}else{let p=s.halfAxes;a=In.toWireframe(hl.createGeometry(hl.fromDimensions({dimensions:new h(2,2,2),vertexFormat:Qt.FLAT_VERTEX_FORMAT}))),t._debugVolume=new xn({geometryInstances:new pt({geometry:a,modelMatrix:N.fromRotationTranslation(p,c,new N),attributes:{color:new It(1,0,0,1)}}),appearance:new Qt({flat:!0,translucent:!1}),asynchronous:!1})}let u=o.commandList,f=o.commandList=[];t._debugVolume.update(o),e=f[0],o.useLogDepth&&(e=Zg.createLogDepthCommand(e,r).command);let d;l(i)&&(d=n.framebuffer,n.framebuffer=i),e.execute(r,n),l(d)&&(n.framebuffer=d),o.commandList=u}function Ha(e,t,n,i,o){let r=t._frameState;if(l(t.debugCommandFilter)&&!t.debugCommandFilter(e))return;if(e instanceof oi){e.execute(n,i);return}e.debugShowBoundingVolume&&l(e.boundingVolume)&&aht(e,t,i,o),r.useLogDepth&&l(e.derivedCommands.logDepth)&&(e=e.derivedCommands.logDepth.command);let s=r.passes;if(!s.pick&&!s.depth&&t._hdr&&l(e.derivedCommands)&&l(e.derivedCommands.hdr)&&(e=e.derivedCommands.hdr.command),s.pick||s.depth){if(s.pick&&!s.depth&&l(e.derivedCommands.picking)){e=e.derivedCommands.picking.pickCommand,e.execute(n,i);return}else if(l(e.derivedCommands.depth)){e=e.derivedCommands.depth.depthOnlyCommand,e.execute(n,i);return}}if(t.debugShowCommands||t.debugShowFrustums){t._debugInspector.executeDebugShowFrustumsCommand(t,e,i);return}r.shadowState.lightShadowsEnabled&&e.receiveShadows&&l(e.derivedCommands.shadows)?e.derivedCommands.shadows.receiveCommand.execute(n,i):e.execute(n,i)}function ND(e,t,n,i){let o=t._frameState,r=e.derivedCommands;!l(r)||(o.useLogDepth&&l(r.logDepth)&&(e=r.logDepth.command),r=e.derivedCommands,l(r.picking)?(e=r.picking.pickCommand,e.execute(n,i)):l(r.depth)&&(e=r.depth.depthOnlyCommand,e.execute(n,i)))}function cht(e,t,n){return t.boundingVolume.distanceSquaredTo(n)-e.boundingVolume.distanceSquaredTo(n)}function lht(e,t,n){return e.boundingVolume.distanceSquaredTo(n)-t.boundingVolume.distanceSquaredTo(n)+I.EPSILON12}function uht(e,t,n,i,o){let r=e.context;ly(i,cht,e.camera.positionWC),l(o)&&t(o.unclassifiedCommand,e,r,n);let s=i.length;for(let a=0;a<s;++a)t(i[a],e,r,n)}function fht(e,t,n,i,o){let r=e.context;ly(i,lht,e.camera.positionWC),l(o)&&t(o.unclassifiedCommand,e,r,n);let s=i.length;for(let a=0;a<s;++a)t(i[a],e,r,n)}var dht=new _i,hht=new kc,mht=new $t,pht=new Ir;function Fq(e,t){let n=e.camera,i=e.context,o=e.frameState,r=i.uniformState;r.updateCamera(n);let s;l(n.frustum.fov)?s=n.frustum.clone(dht):l(n.frustum.infiniteProjectionMatrix)?s=n.frustum.clone(hht):l(n.frustum.width)?s=n.frustum.clone(mht):s=n.frustum.clone(pht),s.near=n.frustum.near,s.far=n.frustum.far,r.updateFrustum(s),r.updatePass(xe.ENVIRONMENT);let a=o.passes,c=a.pick,u=e._environmentState,f=e._view,d=u.renderTranslucentDepthForPick,p=u.useWebVR;if(!c){let T=u.skyBoxCommand;if(l(T)&&Ha(T,e,i,t),u.isSkyAtmosphereVisible&&Ha(u.skyAtmosphereCommand,e,i,t),u.isSunVisible&&(u.sunDrawCommand.execute(i,t),e.sunBloom&&!p)){let w;u.useGlobeDepthFramebuffer?w=f.globeDepth.framebuffer:u.usePostProcess?w=f.sceneFramebuffer.framebuffer:w=u.originalFramebuffer,e._sunPostProcess.execute(i),e._sunPostProcess.copy(i,w),t.framebuffer=w}u.isMoonVisible&&u.moonCommand.execute(i,t)}let g;u.useOIT?(l(e._executeOITFunction)||(e._executeOITFunction=function(T,w,D,R,F){f.globeDepth.prepareColorTextures(i),f.oit.executeCommands(T,w,D,R,F)}),g=e._executeOITFunction):a.render?g=uht:g=fht;let m=f.frustumCommandsList,C=m.length,x=u.clearGlobeDepth,A=u.useDepthPlane,b=e._globeTranslucencyState,E=b.translucent,S=e._view.globeTranslucencyFramebuffer,v=e._depthClearCommand,P=e._stencilClearCommand,O=e._classificationStencilClearCommand,M=e._depthPlane,B=u.usePostProcessSelected,L=n.position.z,_;for(let T=0;T<C;++T){let w=C-T-1,D=m[w];e.mode===ee.SCENE2D?(n.position.z=L-D.near+1,s.far=Math.max(1,D.far-D.near),s.near=1,r.update(o),r.updateFrustum(s)):(s.near=w!==0?D.near*e.opaqueFrustumNearOffset:D.near,s.far=D.far,r.updateFrustum(s)),v.execute(i,t),i.stencilBuffer&&P.execute(i,t),r.updatePass(xe.GLOBE);let R=D.commands[xe.GLOBE],F=D.indices[xe.GLOBE];if(E)b.executeGlobeCommands(D,Ha,S,e,t);else for(_=0;_<F;++_)Ha(R[_],e,i,t);let z=f.globeDepth;if(l(z)&&u.useGlobeDepthFramebuffer&&z.executeCopyDepth(i,t),!u.renderTranslucentDepthForPick)if(r.updatePass(xe.TERRAIN_CLASSIFICATION),R=D.commands[xe.TERRAIN_CLASSIFICATION],F=D.indices[xe.TERRAIN_CLASSIFICATION],E)b.executeGlobeClassificationCommands(D,Ha,S,e,t);else for(_=0;_<F;++_)Ha(R[_],e,i,t);if(x&&(v.execute(i,t),A&&M.execute(i,t)),!u.useInvertClassification||c||u.renderTranslucentDepthForPick){for(r.updatePass(xe.CESIUM_3D_TILE),R=D.commands[xe.CESIUM_3D_TILE],F=D.indices[xe.CESIUM_3D_TILE],_=0;_<F;++_)Ha(R[_],e,i,t);if(F>0&&(l(z)&&u.useGlobeDepthFramebuffer&&(z.prepareColorTextures(i,x),z.executeUpdateDepth(i,t,x,z.depthStencilTexture)),!u.renderTranslucentDepthForPick))for(r.updatePass(xe.CESIUM_3D_TILE_CLASSIFICATION),R=D.commands[xe.CESIUM_3D_TILE_CLASSIFICATION],F=D.indices[xe.CESIUM_3D_TILE_CLASSIFICATION],_=0;_<F;++_)Ha(R[_],e,i,t)}else{e._invertClassification.clear(i,t);let Y=t.framebuffer;for(t.framebuffer=e._invertClassification._fbo.framebuffer,r.updatePass(xe.CESIUM_3D_TILE),R=D.commands[xe.CESIUM_3D_TILE],F=D.indices[xe.CESIUM_3D_TILE],_=0;_<F;++_)Ha(R[_],e,i,t);for(l(z)&&u.useGlobeDepthFramebuffer&&(e._invertClassification.prepareTextures(i),z.executeUpdateDepth(i,t,x,e._invertClassification._fbo.getDepthStencilTexture())),r.updatePass(xe.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW),R=D.commands[xe.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW],F=D.indices[xe.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW],_=0;_<F;++_)Ha(R[_],e,i,t);for(t.framebuffer=Y,e._invertClassification.executeClassified(i,t),o.invertClassificationColor.alpha===1&&e._invertClassification.executeUnclassified(i,t),F>0&&i.stencilBuffer&&O.execute(i,t),r.updatePass(xe.CESIUM_3D_TILE_CLASSIFICATION),R=D.commands[xe.CESIUM_3D_TILE_CLASSIFICATION],F=D.indices[xe.CESIUM_3D_TILE_CLASSIFICATION],_=0;_<F;++_)Ha(R[_],e,i,t)}for(F>0&&i.stencilBuffer&&P.execute(i,t),r.updatePass(xe.OPAQUE),R=D.commands[xe.OPAQUE],F=D.indices[xe.OPAQUE],_=0;_<F;++_)Ha(R[_],e,i,t);w!==0&&e.mode!==ee.SCENE2D&&(s.near=D.near,r.updateFrustum(s));let k;if(!c&&u.useInvertClassification&&o.invertClassificationColor.alpha<1&&(k=e._invertClassification),r.updatePass(xe.TRANSLUCENT),R=D.commands[xe.TRANSLUCENT],R.length=D.indices[xe.TRANSLUCENT],g(e,Ha,t,R,k),D.indices[xe.CESIUM_3D_TILE_CLASSIFICATION]>0&&f.translucentTileClassification.isSupported()&&(f.translucentTileClassification.executeTranslucentCommands(e,Ha,t,R,z.depthStencilTexture),f.translucentTileClassification.executeClassificationCommands(e,Ha,t,D)),i.depthTexture&&e.useDepthPicking&&(u.useGlobeDepthFramebuffer||d)){let Y=z.depthStencilTexture,q=e._picking.getPickDepth(e,w);q.update(i,Y),q.executeCopyDepth(i,t)}if(c||!B)continue;let V=t.framebuffer;if(t.framebuffer=f.sceneFramebuffer.getIdFramebuffer(),s.near=w!==0?D.near*e.opaqueFrustumNearOffset:D.near,s.far=D.far,r.updateFrustum(s),r.updatePass(xe.GLOBE),R=D.commands[xe.GLOBE],F=D.indices[xe.GLOBE],E)b.executeGlobeCommands(D,ND,S,e,t);else for(_=0;_<F;++_)ND(R[_],e,i,t);for(x&&(v.framebuffer=t.framebuffer,v.execute(i,t),v.framebuffer=void 0),x&&A&&M.execute(i,t),r.updatePass(xe.CESIUM_3D_TILE),R=D.commands[xe.CESIUM_3D_TILE],F=D.indices[xe.CESIUM_3D_TILE],_=0;_<F;++_)ND(R[_],e,i,t);for(r.updatePass(xe.OPAQUE),R=D.commands[xe.OPAQUE],F=D.indices[xe.OPAQUE],_=0;_<F;++_)ND(R[_],e,i,t);for(r.updatePass(xe.TRANSLUCENT),R=D.commands[xe.TRANSLUCENT],F=D.indices[xe.TRANSLUCENT],_=0;_<F;++_)ND(R[_],e,i,t);t.framebuffer=V}}function f0e(e){e.context.uniformState.updatePass(xe.COMPUTE);let n=e._environmentState.sunComputeCommand;l(n)&&n.execute(e._computeEngine);let i=e._computeCommandList,o=i.length;for(let r=0;r<o;++r)i[r].execute(e._computeEngine)}function _ht(e,t){e.context.uniformState.updatePass(xe.OVERLAY);let i=e.context,o=e._overlayCommandList,r=o.length;for(let s=0;s<r;++s)o[s].execute(i,t)}function ght(e,t,n){let i=n.shadowMapCullingVolume,o=n.isPointLight,r=n.passes,s=r.length,a=t.length;for(let c=0;c<a;++c){let u=t[c];if(e.updateDerivedCommands(u),u.castShadows&&(u.pass===xe.GLOBE||u.pass===xe.CESIUM_3D_TILE||u.pass===xe.OPAQUE||u.pass===xe.TRANSLUCENT)&&e.isVisible(u,i))if(o)for(let f=0;f<s;++f)r[f].commandList.push(u);else if(s===1)r[0].commandList.push(u);else{let f=!1;for(let d=s-1;d>=0;--d){let p=r[d].cullingVolume;if(e.isVisible(u,p))r[d].commandList.push(u),f=!0;else if(f)break}}}}function d0e(e){let t=e.frameState,n=t.shadowState.shadowMaps,i=n.length;if(!t.shadowState.shadowsEnabled)return;let o=e.context,r=o.uniformState;for(let s=0;s<i;++s){let a=n[s];if(a.outOfView)continue;let c=a.passes,u=c.length;for(let d=0;d<u;++d)c[d].commandList.length=0;let f=e.frameState.commandList;ght(e,f,a);for(let d=0;d<u;++d){let p=a.passes[d];r.updateCamera(p.camera),a.updatePass(o,d);let g=p.commandList.length;for(let m=0;m<g;++m){let C=p.commandList[m];r.updatePass(C.pass),Ha(C.derivedCommands.shadows.castCommands[s],e,o,p.passState)}}}}var yht=new h;ki.prototype.updateAndExecuteCommands=function(e,t){let i=this._frameState.mode;this._environmentState.useWebVR?Cht(this,e,t):i!==ee.SCENE2D||this._mapMode2D===ql.ROTATE?c0(!0,this,e,t):(Vq(this,e,t),Dht(this,e))};function Cht(e,t,n){let i=e._view,o=i.camera,s=e._environmentState.renderTranslucentDepthForPick;Vq(e,t,n),h0e(e),i.createPotentiallyVisibleSet(e),f0e(e),s||d0e(e);let a=t.viewport;a.x=0,a.y=0,a.width=a.width*.5;let c=ao.clone(o,e._cameraVR);c.frustum=o.frustum;let u=o.frustum.near,f=u*y(e.focalLength,5),d=y(e.eyeSeparation,f/30),p=h.multiplyByScalar(c.right,d*.5,yht);o.frustum.aspectRatio=a.width/a.height;let g=.5*d*u/f;h.add(c.position,p,o.position),o.frustum.xOffset=g,Fq(e,t),a.x=a.width,h.subtract(c.position,p,o.position),o.frustum.xOffset=-g,Fq(e,t),ao.clone(c,o)}var xht=new he(Math.PI,I.PI_OVER_TWO),Aht=new h,Tht=new h,Eht=new N,bht=new N,Sht=new h,wht=new h,vht=new Ge;function Dht(e,t){let n=e.context,i=e.frameState,o=e.camera,r=t.viewport,s=Ge.clone(r,vht);t.viewport=s;let a=xht,c=Aht;e.mapProjection.project(a,c);let f=h.clone(o.position,Tht),d=N.clone(o.transform,bht),p=o.frustum.clone();o._setTransform(N.IDENTITY);let g=N.computeViewportTransformation(s,0,1,Eht),m=o.frustum.projectionMatrix,C=o.positionWC.y,x=h.fromElements(I.sign(C)*c.x-C,0,-o.positionWC.x,Sht),A=Dt.pointToGLWindowCoordinates(m,g,x,wht);A.x=Math.floor(A.x);let b=s.x,E=s.width;if(C===0||A.x<=b||A.x>=b+E)c0(!0,e,t);else if(Math.abs(b+E*.5-A.x)<1)s.width=A.x-s.x,o.position.x*=I.sign(o.position.x),o.frustum.right=0,i.cullingVolume=o.frustum.computeCullingVolume(o.positionWC,o.directionWC,o.upWC),n.uniformState.update(i),c0(!0,e,t),s.x=A.x,o.position.x=-o.position.x,o.frustum.right=-o.frustum.left,o.frustum.left=0,i.cullingVolume=o.frustum.computeCullingVolume(o.positionWC,o.directionWC,o.upWC),n.uniformState.update(i),c0(!1,e,t);else if(A.x>b+E*.5){s.width=A.x-b;let S=o.frustum.right;o.frustum.right=c.x-C,i.cullingVolume=o.frustum.computeCullingVolume(o.positionWC,o.directionWC,o.upWC),n.uniformState.update(i),c0(!0,e,t),s.x=A.x,s.width=b+E-A.x,o.position.x=-o.position.x,o.frustum.left=-o.frustum.right,o.frustum.right=S-o.frustum.right*2,i.cullingVolume=o.frustum.computeCullingVolume(o.positionWC,o.directionWC,o.upWC),n.uniformState.update(i),c0(!1,e,t)}else{s.x=A.x,s.width=b+E-A.x;let S=o.frustum.left;o.frustum.left=-c.x-C,i.cullingVolume=o.frustum.computeCullingVolume(o.positionWC,o.directionWC,o.upWC),n.uniformState.update(i),c0(!0,e,t),s.x=b,s.width=A.x-b,o.position.x=-o.position.x,o.frustum.right=-o.frustum.left,o.frustum.left=S-o.frustum.left*2,i.cullingVolume=o.frustum.computeCullingVolume(o.positionWC,o.directionWC,o.upWC),n.uniformState.update(i),c0(!1,e,t)}o._setTransform(d),h.clone(f,o.position),o.frustum=p.clone(),t.viewport=r}function c0(e,t,n,i){let o=t._environmentState,r=t._view,s=o.renderTranslucentDepthForPick;e||(t.frameState.commandList.length=0),h0e(t),r.createPotentiallyVisibleSet(t),e&&(l(i)&&Vq(t,n,i),f0e(t),s||d0e(t)),Fq(t,n)}var l0e=new qs;ki.prototype.updateEnvironment=function(){let e=this._frameState,t=this._view,n=this._environmentState,i=e.passes.render,o=e.passes.offscreen,r=this.skyAtmosphere,s=this.globe,a=this._globeTranslucencyState;if(!i||this._mode!==ee.SCENE2D&&t.camera.frustum instanceof $t||!a.environmentVisible)n.skyAtmosphereCommand=void 0,n.skyBoxCommand=void 0,n.sunDrawCommand=void 0,n.sunComputeCommand=void 0,n.moonCommand=void 0;else{l(r)?(l(s)&&(r.setDynamicAtmosphereColor(s.enableLighting&&s.dynamicAtmosphereLighting,s.dynamicAtmosphereLightingFromSun),n.isReadyForAtmosphere=n.isReadyForAtmosphere||s._surface._tilesToRender.length>0),n.skyAtmosphereCommand=r.update(e,s),l(n.skyAtmosphereCommand)&&this.updateDerivedCommands(n.skyAtmosphereCommand)):n.skyAtmosphereCommand=void 0,n.skyBoxCommand=l(this.skyBox)?this.skyBox.update(e,this._hdr):void 0;let C=l(this.sun)?this.sun.update(e,t.passState,this._hdr):void 0;n.sunDrawCommand=l(C)?C.drawCommand:void 0,n.sunComputeCommand=l(C)?C.computeCommand:void 0,n.moonCommand=l(this.moon)?this.moon.update(e):void 0}let c=n.clearGlobeDepth=l(s)&&s.show&&(!s.depthTestAgainstTerrain||this.mode===ee.SCENE2D);(n.useDepthPlane=c&&this.mode===ee.SCENE3D&&a.useDepthPlane)&&this._depthPlane.update(e),n.renderTranslucentDepthForPick=!1,n.useWebVR=this._useWebVR&&this.mode!==ee.SCENE2D&&!o;let f=e.mode===ee.SCENE3D&&!a.sunVisibleThroughGlobe?e.occluder:void 0,d=e.cullingVolume,p=l0e.planes;for(let C=0;C<5;++C)p[C]=d.planes[C];d=l0e,n.isSkyAtmosphereVisible=l(n.skyAtmosphereCommand)&&n.isReadyForAtmosphere,n.isSunVisible=this.isVisible(n.sunDrawCommand,d,f),n.isMoonVisible=this.isVisible(n.moonCommand,d,f);let g=this.specularEnvironmentMaps,m=this._specularEnvironmentMapAtlas;l(g)&&(!l(m)||m.url!==g)?(m=m&&m.destroy(),this._specularEnvironmentMapAtlas=new lh(g)):!l(g)&&l(m)&&(m.destroy(),this._specularEnvironmentMapAtlas=void 0),l(this._specularEnvironmentMapAtlas)&&this._specularEnvironmentMapAtlas.update(e)};function Pht(e){let t=e._frameState;e.debugShowFrustumPlanes!==e._debugShowFrustumPlanes&&(e.debugShowFrustumPlanes?e._debugFrustumPlanes=new Cp({camera:e.camera,updateOnChange:!1,frustumSplits:t.frustumSplits}):e._debugFrustumPlanes=e._debugFrustumPlanes&&e._debugFrustumPlanes.destroy(),e._debugShowFrustumPlanes=e.debugShowFrustumPlanes),l(e._debugFrustumPlanes)&&e._debugFrustumPlanes.update(t)}function Iht(e){let t=e._frameState,n=t.shadowMaps,i=n.length,o=i>0&&!t.passes.pick&&e.mode===ee.SCENE3D;if(o!==t.shadowState.shadowsEnabled&&(++t.shadowState.lastDirtyTime,t.shadowState.shadowsEnabled=o),t.shadowState.lightShadowsEnabled=!1,!!o){for(let r=0;r<i;++r)if(n[r]!==t.shadowState.shadowMaps[r]){++t.shadowState.lastDirtyTime;break}t.shadowState.shadowMaps.length=0,t.shadowState.lightShadowMaps.length=0;for(let r=0;r<i;++r){let s=n[r];s.update(t),t.shadowState.shadowMaps.push(s),s.fromLightSource&&(t.shadowState.lightShadowMaps.push(s),t.shadowState.lightShadowsEnabled=!0),s.dirty&&(++t.shadowState.lastDirtyTime,s.dirty=!1)}}}function h0e(e){let t=e._frameState;e._groundPrimitives.update(t),e._primitives.update(t),Pht(e),Iht(e),e._globe&&e._globe.render(t)}function Vq(e,t,n){let i=e._context,o=e._frameState,r=e._environmentState,s=e._view,c=e._frameState.passes.pick;l(s.globeDepth)&&(s.globeDepth.picking=c);let u=r.useWebVR;r.originalFramebuffer=t.framebuffer,l(e.sun)&&e.sunBloom!==e._sunBloom?(e.sunBloom&&!u?e._sunPostProcess=new _4:l(e._sunPostProcess)&&(e._sunPostProcess=e._sunPostProcess.destroy()),e._sunBloom=e.sunBloom):!l(e.sun)&&l(e._sunPostProcess)&&(e._sunPostProcess=e._sunPostProcess.destroy(),e._sunBloom=!1);let f=e._clearColorCommand;U.clone(n,f.color),f.execute(i,t);let d=r.useGlobeDepthFramebuffer=l(s.globeDepth);d&&(s.globeDepth.update(i,t,s.viewport,e.msaaSamples,e._hdr,r.clearGlobeDepth),s.globeDepth.clear(i,t,n));let p=s.oit,g=r.useOIT=!c&&l(p)&&p.isSupported();g&&(p.update(i,t,s.globeDepth.colorFramebufferManager,e._hdr,e.msaaSamples),p.clear(i,t,n),r.useOIT=p.isSupported());let m=e.postProcessStages,C=r.usePostProcess=!c&&(e._hdr||m.length>0||m.ambientOcclusion.enabled||m.fxaa.enabled||m.bloom.enabled);if(r.usePostProcessSelected=!1,C&&(s.sceneFramebuffer.update(i,s.viewport,e._hdr,e.msaaSamples),s.sceneFramebuffer.clear(i,t,n),m.update(i,o.useLogDepth,e._hdr),m.clear(i),C=r.usePostProcess=m.ready,r.usePostProcessSelected=C&&m.hasSelected),r.isSunVisible&&e.sunBloom&&!u?(t.framebuffer=e._sunPostProcess.update(t),e._sunPostProcess.clear(i,t,n)):d?t.framebuffer=s.globeDepth.framebuffer:C&&(t.framebuffer=s.sceneFramebuffer.framebuffer),l(t.framebuffer)&&f.execute(i,t),r.useInvertClassification=!c&&l(t.framebuffer)&&e.invertClassification){let A;if(e.frameState.invertClassificationColor.alpha===1&&r.useGlobeDepthFramebuffer&&(A=s.globeDepth.framebuffer),l(A)||i.depthTexture){if(e._invertClassification.previousFramebuffer=A,e._invertClassification.update(i,e.msaaSamples,s.globeDepth.colorFramebufferManager),e._invertClassification.clear(i,t),e.frameState.invertClassificationColor.alpha<1&&g){let b=e._invertClassification.unclassifiedCommand,E=b.derivedCommands;E.oit=p.createDerivedCommands(b,i,E.oit)}}else r.useInvertClassification=!1}e._globeTranslucencyState.translucent&&s.globeTranslucencyFramebuffer.updateAndClear(e._hdr,s.viewport,i,t)}ki.prototype.resolveFramebuffers=function(e){let t=this._context,n=this._environmentState,i=this._view,o=i.globeDepth;l(o)&&o.prepareColorTextures(t);let r=n.useOIT,s=n.useGlobeDepthFramebuffer,a=n.usePostProcess,c=n.originalFramebuffer,u=s?o.colorFramebufferManager:void 0,f=i.sceneFramebuffer._colorFramebuffer,d=i.sceneFramebuffer.idFramebuffer;r&&(e.framebuffer=a?f.framebuffer:c,i.oit.execute(t,e));let p=i.translucentTileClassification;if(p.hasTranslucentDepth&&p.isSupported()&&p.execute(this,e),a){i.sceneFramebuffer.prepareColorTextures(t);let g=f;s&&!r&&(g=u);let m=this.postProcessStages,C=g.getColorTexture(0),x=d.getColorTexture(0),A=y(u,f).getDepthStencilTexture();m.execute(t,C,A,x),m.copy(t,c)}!r&&!a&&s&&(e.framebuffer=c,o.executeCopyColor(t,e))};function Oht(e){let t=e._frameState.afterRender;for(let n=0,i=t.length;n<i;++n)t[n](),e.requestRender();t.length=0}function Rht(e){let t=e._globe,i=e.camera.positionCartographic;if(l(t)&&t.show&&l(i))return t.getHeight(i)}function Mht(e){let t=e.camera,n=e._mode,i=e.globe,o=e._screenSpaceCameraController,r=t.positionCartographic;if(!l(r))return!1;if(!o.onMap()&&r.height<0)return!0;if(!l(i)||!i.show||n===ee.SCENE2D||n===ee.MORPHING)return!1;let s=e._globeHeight;return l(s)&&r.height<s}ki.prototype.initializeFrame=function(){this._shaderFrameCount++===120&&(this._shaderFrameCount=0,this._context.shaderCache.destroyReleasedShaderPrograms(),this._context.textureCache.destroyReleasedTextures()),this._tweens.update(),this._globeHeight=Rht(this),this._cameraUnderground=Mht(this),this._globeTranslucencyState.update(this),this._screenSpaceCameraController.update(),l(this._deviceOrientationCameraController)&&this._deviceOrientationCameraController.update(),this.camera.update(this._mode),this.camera._updateCameraChanged()};function Bht(e,t){if(e.debugShowFramesPerSecond){if(!l(e._performanceDisplay)){let n=document.createElement("div");n.className="cesium-performanceDisplay-defaultContainer",e._canvas.parentNode.appendChild(n);let o=new i0({container:n});e._performanceDisplay=o,e._performanceContainer=n}e._performanceDisplay.throttled=e.requestRenderMode,e._performanceDisplay.update(t)}else l(e._performanceDisplay)&&(e._performanceDisplay=e._performanceDisplay&&e._performanceDisplay.destroy(),e._performanceContainer.parentNode.removeChild(e._performanceContainer))}function Lht(e){e._jobScheduler.resetBudgets();let t=e._frameState;e.primitives.prePassesUpdate(t),l(e.globe)&&e.globe.update(t),e._picking.update(),t.creditDisplay.update()}function Nht(e){let t=e._frameState;e.primitives.postPassesUpdate(t),Wa.update()}var Fht=new U;function Vht(e){let t=e._frameState,n=e.context,i=n.uniformState,o=e._defaultView;e._view=o,e.updateFrameState(),t.passes.render=!0,t.passes.postProcess=e.postProcessStages.hasSelected,t.tilesetPassState=oht;let r=y(e.backgroundColor,U.BLACK);e._hdr&&(r=U.clone(r,Fht),r.red=Math.pow(r.red,e.gamma),r.green=Math.pow(r.green,e.gamma),r.blue=Math.pow(r.blue,e.gamma)),t.backgroundColor=r,e.fog.update(t),i.update(t);let s=e.shadowMap;l(s)&&s.enabled&&(!l(e.light)||e.light instanceof qg?h.negate(i.sunDirectionWC,e._shadowMapCamera.direction):h.clone(e.light.direction,e._shadowMapCamera.direction),t.shadowMaps.push(s)),e._computeCommandList.length=0,e._overlayCommandList.length=0;let a=o.viewport;a.x=0,a.y=0,a.width=n.drawingBufferWidth,a.height=n.drawingBufferHeight;let c=o.passState;c.framebuffer=void 0,c.blendingEnabled=void 0,c.scissorTest=void 0,c.viewport=Ge.clone(a,c.viewport),l(e.globe)&&e.globe.beginFrame(t),e.updateEnvironment(),e.updateAndExecuteCommands(c,r),e.resolveFramebuffers(c),c.framebuffer=void 0,_ht(e,c),l(e.globe)&&(e.globe.endFrame(t),e.globe.tilesLoaded||(e._renderRequested=!0)),n.endFrame()}function OC(e,t){try{t(e)}catch(n){if(e._renderError.raiseEvent(e,n),e.rethrowRenderErrors)throw n}}function kht(e){return e._picking.updateMostDetailedRayPicks(e)}ki.prototype.render=function(e){this._preUpdate.raiseEvent(this,e);let t=this._frameState;t.newFrame=!1,l(e)||(e=Q.now());let n=this._view.checkForCameraUpdates(this),i=!this.requestRenderMode||this._renderRequested||n||this._logDepthBufferDirty||this._hdrDirty||this.mode===ee.MORPHING;if(!i&&l(this.maximumRenderTimeChange)&&l(this._lastRenderTime)){let o=Math.abs(Q.secondsDifference(this._lastRenderTime,e));i=i||o>this.maximumRenderTimeChange}if(i){this._lastRenderTime=Q.clone(e,this._lastRenderTime),this._renderRequested=!1,this._logDepthBufferDirty=!1,this._hdrDirty=!1;let o=I.incrementWrap(t.frameNumber,15e6,1);u0e(this,o,e),t.newFrame=!0}OC(this,Lht),this.primitives.show&&(OC(this,kht),OC(this,Uht),OC(this,zht),i||OC(this,Hht)),this._postUpdate.raiseEvent(this,e),i&&(this._preRender.raiseEvent(this,e),t.creditDisplay.beginFrame(),OC(this,Vht)),Bht(this,i),OC(this,Nht),Oht(this),i&&(this._postRender.raiseEvent(this,e),t.creditDisplay.endFrame())};ki.prototype.forceRender=function(e){this._renderRequested=!0,this.render(e)};ki.prototype.requestRender=function(){this._renderRequested=!0};ki.prototype.clampLineWidth=function(e){return Math.max(kt.minimumAliasedLineWidth,Math.min(e,kt.maximumAliasedLineWidth))};ki.prototype.pick=function(e,t,n){return this._picking.pick(this,e,t,n)};ki.prototype.pickPositionWorldCoordinates=function(e,t){return this._picking.pickPositionWorldCoordinates(this,e,t)};ki.prototype.pickPosition=function(e,t){return this._picking.pickPosition(this,e,t)};ki.prototype.drillPick=function(e,t,n,i){return this._picking.drillPick(this,e,t,n,i)};function Uht(e){let t=e._frameState;Bq.camera=t.camera,Bq.cullingVolume=t.cullingVolume,e.primitives.updateForPass(t,Bq)}function zht(e){let t=e._frameState;if(!t.camera.canPreloadFlight())return;Lq.camera=e.preloadFlightCamera,Lq.cullingVolume=e.preloadFlightCullingVolume,e.primitives.updateForPass(t,Lq)}function Hht(e){e.primitives.updateForPass(e._frameState,rht)}ki.prototype.pickFromRay=function(e,t,n){return this._picking.pickFromRay(this,e,t,n)};ki.prototype.drillPickFromRay=function(e,t,n,i){return this._picking.drillPickFromRay(this,e,t,n,i)};ki.prototype.pickFromRayMostDetailed=function(e,t,n){return this._picking.pickFromRayMostDetailed(this,e,t,n)};ki.prototype.drillPickFromRayMostDetailed=function(e,t,n,i){return this._picking.drillPickFromRayMostDetailed(this,e,t,n,i)};ki.prototype.sampleHeight=function(e,t,n){return this._picking.sampleHeight(this,e,t,n)};ki.prototype.clampToHeight=function(e,t,n,i){return this._picking.clampToHeight(this,e,t,n,i)};ki.prototype.sampleHeightMostDetailed=function(e,t,n){return this._picking.sampleHeightMostDetailed(this,e,t,n)};ki.prototype.clampToHeightMostDetailed=function(e,t,n){return this._picking.clampToHeightMostDetailed(this,e,t,n)};ki.prototype.cartesianToCanvasCoordinates=function(e,t){return qi.wgs84ToWindowCoordinates(this,e,t)};ki.prototype.completeMorph=function(){this._transitioner.completeMorph()};ki.prototype.morphTo2D=function(e){let t,n=this.globe;l(n)?t=n.ellipsoid:t=this.mapProjection.ellipsoid,e=y(e,2),this._transitioner.morphTo2D(e,t)};ki.prototype.morphToColumbusView=function(e){let t,n=this.globe;l(n)?t=n.ellipsoid:t=this.mapProjection.ellipsoid,e=y(e,2),this._transitioner.morphToColumbusView(e,t)};ki.prototype.morphTo3D=function(e){let t,n=this.globe;l(n)?t=n.ellipsoid:t=this.mapProjection.ellipsoid,e=y(e,2),this._transitioner.morphTo3D(e,t)};ki.prototype.isDestroyed=function(){return!1};ki.prototype.destroy=function(){this._tweens.removeAll(),this._computeEngine=this._computeEngine&&this._computeEngine.destroy(),this._screenSpaceCameraController=this._screenSpaceCameraController&&this._screenSpaceCameraController.destroy(),this._deviceOrientationCameraController=this._deviceOrientationCameraController&&!this._deviceOrientationCameraController.isDestroyed()&&this._deviceOrientationCameraController.destroy(),this._primitives=this._primitives&&this._primitives.destroy(),this._groundPrimitives=this._groundPrimitives&&this._groundPrimitives.destroy(),this._globe=this._globe&&this._globe.destroy(),this.skyBox=this.skyBox&&this.skyBox.destroy(),this.skyAtmosphere=this.skyAtmosphere&&this.skyAtmosphere.destroy(),this._debugSphere=this._debugSphere&&this._debugSphere.destroy(),this.sun=this.sun&&this.sun.destroy(),this._sunPostProcess=this._sunPostProcess&&this._sunPostProcess.destroy(),this._depthPlane=this._depthPlane&&this._depthPlane.destroy(),this._transitioner=this._transitioner&&this._transitioner.destroy(),this._debugFrustumPlanes=this._debugFrustumPlanes&&this._debugFrustumPlanes.destroy(),this._brdfLutGenerator=this._brdfLutGenerator&&this._brdfLutGenerator.destroy(),this._picking=this._picking&&this._picking.destroy(),this._defaultView=this._defaultView&&this._defaultView.destroy(),this._view=void 0,this._removeCreditContainer&&this._canvas.parentNode.removeChild(this._creditContainer),this.postProcessStages=this.postProcessStages&&this.postProcessStages.destroy(),this._context=this._context&&this._context.destroy(),this._frameState.creditDisplay=this._frameState.creditDisplay&&this._frameState.creditDisplay.destroy(),l(this._performanceDisplay)&&(this._performanceDisplay=this._performanceDisplay&&this._performanceDisplay.destroy(),this._performanceContainer.parentNode.removeChild(this._performanceContainer)),this._removeRequestListenerCallback(),this._removeTaskProcessorListenerCallback();for(let e=0;e<this._removeGlobeCallbacks.length;++e)this._removeGlobeCallbacks[e]();return this._removeGlobeCallbacks.length=0,fe(this)};var C4=ki;var FD=`float interpolateByDistance(vec4 nearFarScalar, float distance)
  8432. {
  8433. float startDistance = nearFarScalar.x;
  8434. float startValue = nearFarScalar.y;
  8435. float endDistance = nearFarScalar.z;
  8436. float endValue = nearFarScalar.w;
  8437. float t = clamp((distance - startDistance) / (endDistance - startDistance), 0.0, 1.0);
  8438. return mix(startValue, endValue, t);
  8439. }
  8440. vec3 getLightDirection(vec3 positionWC)
  8441. {
  8442. float lightEnum = u_radiiAndDynamicAtmosphereColor.z;
  8443. vec3 lightDirection =
  8444. positionWC * float(lightEnum == 0.0) +
  8445. czm_lightDirectionWC * float(lightEnum == 1.0) +
  8446. czm_sunDirectionWC * float(lightEnum == 2.0);
  8447. return normalize(lightDirection);
  8448. }
  8449. void computeAtmosphereScattering(vec3 positionWC, vec3 lightDirection, out vec3 rayleighColor, out vec3 mieColor, out float opacity, out float underTranslucentGlobe)
  8450. {
  8451. float ellipsoidRadiiDifference = czm_ellipsoidRadii.x - czm_ellipsoidRadii.z;
  8452. float distanceAdjustMin = czm_ellipsoidRadii.x / 4.0;
  8453. float distanceAdjustMax = czm_ellipsoidRadii.x;
  8454. float distanceAdjustModifier = ellipsoidRadiiDifference / 2.0;
  8455. float distanceAdjust = distanceAdjustModifier * clamp((czm_eyeHeight - distanceAdjustMin) / (distanceAdjustMax - distanceAdjustMin), 0.0, 1.0);
  8456. float radiusAdjust = (ellipsoidRadiiDifference / 4.0) + distanceAdjust;
  8457. float atmosphereInnerRadius = (length(czm_viewerPositionWC) - czm_eyeHeight) - radiusAdjust;
  8458. vec3 cameraToPositionWC = positionWC - czm_viewerPositionWC;
  8459. vec3 cameraToPositionWCDirection = normalize(cameraToPositionWC);
  8460. czm_ray primaryRay = czm_ray(czm_viewerPositionWC, cameraToPositionWCDirection);
  8461. underTranslucentGlobe = 0.0;
  8462. #if defined(GLOBE_TRANSLUCENT)
  8463. czm_raySegment primaryRayEarthIntersect = czm_raySphereIntersectionInterval(primaryRay, vec3(0.0), atmosphereInnerRadius + radiusAdjust);
  8464. if (primaryRayEarthIntersect.start > 0.0 && primaryRayEarthIntersect.stop > 0.0) {
  8465. vec3 direction = normalize(positionWC);
  8466. czm_ray ellipsoidRay = czm_ray(positionWC, -direction);
  8467. czm_raySegment ellipsoidIntersection = czm_rayEllipsoidIntersectionInterval(ellipsoidRay, vec3(0.0), czm_ellipsoidInverseRadii);
  8468. vec3 onEarth = positionWC - (direction * ellipsoidIntersection.start);
  8469. float angle = dot(normalize(czm_viewerPositionWC), normalize(onEarth));
  8470. opacity = interpolateByDistance(vec4(0.0, 1.0, czm_ellipsoidRadii.x, 0.0), length(czm_viewerPositionWC - onEarth));
  8471. vec3 horizonColor = vec3(0.1, 0.2, 0.3);
  8472. vec3 nearColor = vec3(0.0);
  8473. rayleighColor = mix(nearColor, horizonColor, exp(-angle) * opacity);
  8474. underTranslucentGlobe = 1.0;
  8475. return;
  8476. }
  8477. #endif
  8478. computeScattering(
  8479. primaryRay,
  8480. length(cameraToPositionWC),
  8481. lightDirection,
  8482. atmosphereInnerRadius,
  8483. rayleighColor,
  8484. mieColor,
  8485. opacity
  8486. );
  8487. float cameraHeight = czm_eyeHeight + atmosphereInnerRadius;
  8488. float atmosphereOuterRadius = atmosphereInnerRadius + ATMOSPHERE_THICKNESS;
  8489. opacity = clamp((atmosphereOuterRadius - cameraHeight) / (atmosphereOuterRadius - atmosphereInnerRadius), 0.0, 1.0);
  8490. float nightAlpha = (u_radiiAndDynamicAtmosphereColor.z != 0.0) ? clamp(dot(normalize(positionWC), lightDirection), 0.0, 1.0) : 1.0;
  8491. opacity *= pow(nightAlpha, 0.5);
  8492. }
  8493. `;var x4=`varying vec3 v_outerPositionWC;
  8494. uniform vec3 u_hsbShift;
  8495. #ifndef PER_FRAGMENT_ATMOSPHERE
  8496. varying vec3 v_mieColor;
  8497. varying vec3 v_rayleighColor;
  8498. varying float v_opacity;
  8499. varying float v_translucent;
  8500. #endif
  8501. void main (void)
  8502. {
  8503. vec3 lightDirection = getLightDirection(v_outerPositionWC);
  8504. vec3 mieColor;
  8505. vec3 rayleighColor;
  8506. float opacity;
  8507. float translucent;
  8508. #ifdef PER_FRAGMENT_ATMOSPHERE
  8509. computeAtmosphereScattering(
  8510. v_outerPositionWC,
  8511. lightDirection,
  8512. rayleighColor,
  8513. mieColor,
  8514. opacity,
  8515. translucent
  8516. );
  8517. #else
  8518. mieColor = v_mieColor;
  8519. rayleighColor = v_rayleighColor;
  8520. opacity = v_opacity;
  8521. translucent = v_translucent;
  8522. #endif
  8523. vec4 color = computeAtmosphereColor(v_outerPositionWC, lightDirection, rayleighColor, mieColor, opacity);
  8524. #ifndef HDR
  8525. color.rgb = czm_acesTonemapping(color.rgb);
  8526. color.rgb = czm_inverseGamma(color.rgb);
  8527. #endif
  8528. #ifdef COLOR_CORRECT
  8529. vec3 hsb = czm_RGBToHSB(color.rgb);
  8530. hsb.x += u_hsbShift.x;
  8531. hsb.y = clamp(hsb.y + u_hsbShift.y, 0.0, 1.0);
  8532. hsb.z = hsb.z > czm_epsilon7 ? hsb.z + u_hsbShift.z : 0.0;
  8533. color.rgb = czm_HSBToRGB(hsb);
  8534. #endif
  8535. if (translucent == 0.0) {
  8536. color.a = mix(color.b, 1.0, color.a) * smoothstep(0.0, 1.0, czm_morphTime);
  8537. }
  8538. gl_FragColor = color;
  8539. }
  8540. `;var A4=`attribute vec4 position;
  8541. varying vec3 v_outerPositionWC;
  8542. #ifndef PER_FRAGMENT_ATMOSPHERE
  8543. varying vec3 v_mieColor;
  8544. varying vec3 v_rayleighColor;
  8545. varying float v_opacity;
  8546. varying float v_translucent;
  8547. #endif
  8548. void main(void)
  8549. {
  8550. vec4 positionWC = czm_model * position;
  8551. vec3 lightDirection = getLightDirection(positionWC.xyz);
  8552. #ifndef PER_FRAGMENT_ATMOSPHERE
  8553. computeAtmosphereScattering(
  8554. positionWC.xyz,
  8555. lightDirection,
  8556. v_rayleighColor,
  8557. v_mieColor,
  8558. v_opacity,
  8559. v_translucent
  8560. );
  8561. #endif
  8562. v_outerPositionWC = positionWC.xyz;
  8563. gl_Position = czm_modelViewProjection * position;
  8564. }
  8565. `;function $E(e){e=y(e,oe.WGS84),this.show=!0,this.perFragmentAtmosphere=!1,this._ellipsoid=e;let t=1.025,n=h.multiplyByScalar(e.radii,t,new h);this._scaleMatrix=N.fromScale(n),this._modelMatrix=new N,this._command=new Je({owner:this,modelMatrix:this._modelMatrix}),this._spSkyFromSpace=void 0,this._spSkyFromAtmosphere=void 0,this._flags=void 0,this.atmosphereLightIntensity=50,this.atmosphereRayleighCoefficient=new h(55e-7,13e-6,284e-7),this.atmosphereMieCoefficient=new h(21e-6,21e-6,21e-6),this.atmosphereRayleighScaleHeight=1e4,this.atmosphereMieScaleHeight=3200,this.atmosphereMieAnisotropy=.9,this.hueShift=0,this.saturationShift=0,this.brightnessShift=0,this._hueSaturationBrightness=new h;let i=new h;i.x=e.maximumRadius*t,i.y=e.maximumRadius,i.z=0,this._radiiAndDynamicAtmosphereColor=i;let o=this;this._command.uniformMap={u_radiiAndDynamicAtmosphereColor:function(){return o._radiiAndDynamicAtmosphereColor},u_hsbShift:function(){return o._hueSaturationBrightness.x=o.hueShift,o._hueSaturationBrightness.y=o.saturationShift,o._hueSaturationBrightness.z=o.brightnessShift,o._hueSaturationBrightness},u_atmosphereLightIntensity:function(){return o.atmosphereLightIntensity},u_atmosphereRayleighCoefficient:function(){return o.atmosphereRayleighCoefficient},u_atmosphereMieCoefficient:function(){return o.atmosphereMieCoefficient},u_atmosphereRayleighScaleHeight:function(){return o.atmosphereRayleighScaleHeight},u_atmosphereMieScaleHeight:function(){return o.atmosphereMieScaleHeight},u_atmosphereMieAnisotropy:function(){return o.atmosphereMieAnisotropy}}}Object.defineProperties($E.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});$E.prototype.setDynamicAtmosphereColor=function(e,t){let n=e?t?2:1:0;this._radiiAndDynamicAtmosphereColor.z=n};var kq=new N;$E.prototype.update=function(e,t){if(!this.show)return;let n=e.mode;if(n!==ee.SCENE3D&&n!==ee.MORPHING||!e.passes.render)return;let i=N.fromRotationTranslation(e.context.uniformState.inverseViewRotation,h.ZERO,kq),o=N.multiplyTransformation(i,Po.Y_UP_TO_Z_UP,kq),r=N.multiply(this._scaleMatrix,o,kq);N.clone(r,this._modelMatrix);let s=e.context,a=Ght(this),c=e.globeTranslucencyState.translucent,u=this.perFragmentAtmosphere||c||!l(t)||!t.show,f=this._command;if(!l(f.vertexArray)){let p=As.createGeometry(new As({radii:new h(1,1,1),slicePartitions:256,stackPartitions:256,vertexFormat:ve.POSITION_ONLY}));f.vertexArray=ti.fromGeometry({context:s,geometry:p,attributeLocations:In.createAttributeLocations(p),bufferUsage:Le.STATIC_DRAW}),f.renderState=Fe.fromCache({cull:{enabled:!0,face:wi.FRONT},blending:cn.ALPHA_BLEND,depthMask:!1})}let d=a|u<<2|c<<3;if(d!==this._flags){this._flags=d;let p=[];a&&p.push("COLOR_CORRECT"),u&&p.push("PER_FRAGMENT_ATMOSPHERE"),c&&p.push("GLOBE_TRANSLUCENT");let g=new ke({defines:p,sources:[$g,FD,A4]}),m=new ke({defines:p,sources:[$g,FD,x4]});this._spSkyAtmosphere=Yt.fromCache({context:s,vertexShaderSource:g,fragmentShaderSource:m}),f.shaderProgram=this._spSkyAtmosphere}return f};function Ght(e){return!(I.equalsEpsilon(e.hueShift,0,I.EPSILON7)&&I.equalsEpsilon(e.saturationShift,0,I.EPSILON7)&&I.equalsEpsilon(e.brightnessShift,0,I.EPSILON7))}$E.prototype.isDestroyed=function(){return!1};$E.prototype.destroy=function(){let e=this._command;return e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),this._spSkyAtmosphere=this._spSkyAtmosphere&&this._spSkyAtmosphere.destroy(),fe(this)};var T4=$E;var E4=`uniform samplerCube u_cubeMap;
  8566. varying vec3 v_texCoord;
  8567. void main()
  8568. {
  8569. vec4 color = textureCube(u_cubeMap, normalize(v_texCoord));
  8570. gl_FragColor = vec4(czm_gammaCorrect(color).rgb, czm_morphTime);
  8571. }
  8572. `;var b4=`attribute vec3 position;
  8573. varying vec3 v_texCoord;
  8574. void main()
  8575. {
  8576. vec3 p = czm_viewRotation * (czm_temeToPseudoFixed * (czm_entireFrustum.y * position));
  8577. gl_Position = czm_projection * vec4(p, 1.0);
  8578. v_texCoord = position.xyz;
  8579. }
  8580. `;function S4(e){this.sources=e.sources,this._sources=void 0,this.show=y(e.show,!0),this._command=new Je({modelMatrix:N.clone(N.IDENTITY),owner:this}),this._cubeMap=void 0,this._attributeLocations=void 0,this._useHdr=void 0}S4.prototype.update=function(e,t){let n=this;if(!this.show||e.mode!==ee.SCENE3D&&e.mode!==ee.MORPHING||!e.passes.render)return;let i=e.context;if(this._sources!==this.sources){this._sources=this.sources;let r=this.sources;typeof r.positiveX=="string"?MV(i,this._sources).then(function(s){n._cubeMap=n._cubeMap&&n._cubeMap.destroy(),n._cubeMap=s}):(this._cubeMap=this._cubeMap&&this._cubeMap.destroy(),this._cubeMap=new sc({context:i,source:r}))}let o=this._command;if(!l(o.vertexArray)){o.uniformMap={u_cubeMap:function(){return n._cubeMap}};let r=hl.createGeometry(hl.fromDimensions({dimensions:new h(2,2,2),vertexFormat:ve.POSITION_ONLY})),s=this._attributeLocations=In.createAttributeLocations(r);o.vertexArray=ti.fromGeometry({context:i,geometry:r,attributeLocations:s,bufferUsage:Le.STATIC_DRAW}),o.renderState=Fe.fromCache({blending:cn.ALPHA_BLEND})}if(!l(o.shaderProgram)||this._useHdr!==t){let r=new ke({defines:[t?"HDR":""],sources:[E4]});o.shaderProgram=Yt.fromCache({context:i,vertexShaderSource:b4,fragmentShaderSource:r,attributeLocations:this._attributeLocations}),this._useHdr=t}if(!!l(this._cubeMap))return o};S4.prototype.isDestroyed=function(){return!1};S4.prototype.destroy=function(){let e=this._command;return e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),e.shaderProgram=e.shaderProgram&&e.shaderProgram.destroy(),this._cubeMap=this._cubeMap&&this._cubeMap.destroy(),fe(this)};var w4=S4;function Uq(e){e=y(e,1),this._radius=y(e,1)}Object.defineProperties(Uq.prototype,{radius:{get:function(){return this._radius},set:function(e){this._radius=e}}});Uq.prototype.emit=function(e){let t=I.randomBetween(0,I.TWO_PI),n=I.randomBetween(0,I.PI),i=I.randomBetween(0,this._radius),o=i*Math.cos(t)*Math.sin(n),r=i*Math.sin(t)*Math.sin(n),s=i*Math.cos(n);e.position=h.fromElements(o,r,s,e.position),e.velocity=h.normalize(e.position,e.velocity)};var m0e=Uq;function VD(){}VD.prototype.evaluate=function(e,t){ye.throwInstantiationError()};VD.prototype.evaluateColor=function(e,t){ye.throwInstantiationError()};VD.prototype.getShaderFunction=function(e,t,n,i){ye.throwInstantiationError()};VD.prototype.getVariables=function(){ye.throwInstantiationError()};var p0e=VD;var v4=`uniform sampler2D u_texture;
  8581. varying vec2 v_textureCoordinates;
  8582. void main()
  8583. {
  8584. vec4 color = texture2D(u_texture, v_textureCoordinates);
  8585. gl_FragColor = czm_gammaCorrect(color);
  8586. }
  8587. `;var D4=`uniform float u_radiusTS;
  8588. varying vec2 v_textureCoordinates;
  8589. vec2 rotate(vec2 p, vec2 direction)
  8590. {
  8591. return vec2(p.x * direction.x - p.y * direction.y, p.x * direction.y + p.y * direction.x);
  8592. }
  8593. vec4 addBurst(vec2 position, vec2 direction, float lengthScalar)
  8594. {
  8595. vec2 rotatedPosition = rotate(position, direction) * vec2(25.0, 0.75);
  8596. float radius = length(rotatedPosition) * lengthScalar;
  8597. float burst = 1.0 - smoothstep(0.0, 0.55, radius);
  8598. return vec4(burst);
  8599. }
  8600. void main()
  8601. {
  8602. float lengthScalar = 2.0 / sqrt(2.0);
  8603. vec2 position = v_textureCoordinates - vec2(0.5);
  8604. float radius = length(position) * lengthScalar;
  8605. float surface = step(radius, u_radiusTS);
  8606. vec4 color = vec4(vec2(1.0), surface + 0.2, surface);
  8607. float glow = 1.0 - smoothstep(0.0, 0.55, radius);
  8608. color.ba += mix(vec2(0.0), vec2(1.0), glow) * 0.75;
  8609. vec4 burst = vec4(0.0);
  8610. burst += 0.4 * addBurst(position, vec2(0.38942, 0.92106), lengthScalar);
  8611. burst += 0.4 * addBurst(position, vec2(0.99235, 0.12348), lengthScalar);
  8612. burst += 0.4 * addBurst(position, vec2(0.60327, -0.79754), lengthScalar);
  8613. burst += 0.3 * addBurst(position, vec2(0.31457, 0.94924), lengthScalar);
  8614. burst += 0.3 * addBurst(position, vec2(0.97931, 0.20239), lengthScalar);
  8615. burst += 0.3 * addBurst(position, vec2(0.66507, -0.74678), lengthScalar);
  8616. color += clamp(burst, vec4(0.0), vec4(1.0)) * 0.15;
  8617. gl_FragColor = clamp(color, vec4(0.0), vec4(1.0));
  8618. }
  8619. `;var P4=`attribute vec2 direction;
  8620. uniform float u_size;
  8621. varying vec2 v_textureCoordinates;
  8622. void main()
  8623. {
  8624. vec4 position;
  8625. if (czm_morphTime == 1.0)
  8626. {
  8627. position = vec4(czm_sunPositionWC, 1.0);
  8628. }
  8629. else
  8630. {
  8631. position = vec4(czm_sunPositionColumbusView.zxy, 1.0);
  8632. }
  8633. vec4 positionEC = czm_view * position;
  8634. vec4 positionWC = czm_eyeToWindowCoordinates(positionEC);
  8635. vec2 halfSize = vec2(u_size * 0.5);
  8636. halfSize *= ((direction * 2.0) - 1.0);
  8637. gl_Position = czm_viewportOrthographic * vec4(positionWC.xy + halfSize, -positionWC.z, 1.0);
  8638. v_textureCoordinates = direction;
  8639. }
  8640. `;function UD(){this.show=!0,this._drawCommand=new Je({primitiveType:Ne.TRIANGLES,boundingVolume:new re,owner:this}),this._commands={drawCommand:this._drawCommand,computeCommand:void 0},this._boundingVolume=new re,this._boundingVolume2D=new re,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,this._useHdr=void 0;let e=this;this._uniformMap={u_texture:function(){return e._texture},u_size:function(){return e._size}}}Object.defineProperties(UD.prototype,{glowFactor:{get:function(){return this._glowFactor},set:function(e){e=Math.max(e,0),this._glowFactor=e,this._glowFactorDirty=!0}}});var Wht=new G,jht=new G,qht=new se,kD=new se;UD.prototype.update=function(e,t,n){if(!this.show)return;let i=e.mode;if(i===ee.SCENE2D||i===ee.MORPHING||!e.passes.render)return;let o=e.context,r=t.viewport.width,s=t.viewport.height;if(!l(this._texture)||r!==this._drawingBufferWidth||s!==this._drawingBufferHeight||this._glowFactorDirty||n!==this._useHdr){this._texture=this._texture&&this._texture.destroy(),this._drawingBufferWidth=r,this._drawingBufferHeight=s,this._glowFactorDirty=!1,this._useHdr=n;let S=Math.max(r,s);S=Math.pow(2,Math.ceil(Math.log(S)/Math.log(2))-2),S=Math.max(1,S);let v=n?o.halfFloatingPointTexture?je.HALF_FLOAT:je.FLOAT:je.UNSIGNED_BYTE;this._texture=new Ot({context:o,width:S,height:S,pixelFormat:ft.RGBA,pixelDatatype:v}),this._glowLengthTS=this._glowFactor*5,this._radiusTS=1/(1+2*this._glowLengthTS)*.5;let P=this,O={u_radiusTS:function(){return P._radiusTS}};this._commands.computeCommand=new bf({fragmentShaderSource:D4,outputTexture:this._texture,uniformMap:O,persists:!1,owner:this,postExecute:function(){P._commands.computeCommand=void 0}})}let a=this._drawCommand;if(!l(a.vertexArray)){let S={direction:0},v=new Uint8Array(4*2);v[0]=0,v[1]=0,v[2]=255,v[3]=0,v[4]=255,v[5]=255,v[6]=0,v[7]=255;let P=ct.createVertexBuffer({context:o,typedArray:v,usage:Le.STATIC_DRAW}),O=[{index:S.direction,vertexBuffer:P,componentsPerAttribute:2,normalize:!0,componentDatatype:Z.UNSIGNED_BYTE}],M=ct.createIndexBuffer({context:o,typedArray:new Uint16Array([0,1,2,0,2,3]),usage:Le.STATIC_DRAW,indexDatatype:Be.UNSIGNED_SHORT});a.vertexArray=new ti({context:o,attributes:O,indexBuffer:M}),a.shaderProgram=Yt.fromCache({context:o,vertexShaderSource:P4,fragmentShaderSource:v4,attributeLocations:S}),a.renderState=Fe.fromCache({blending:cn.ALPHA_BLEND}),a.uniformMap=this._uniformMap}let c=o.uniformState.sunPositionWC,u=o.uniformState.sunPositionColumbusView,f=this._boundingVolume,d=this._boundingVolume2D;h.clone(c,f.center),d.center.x=u.z,d.center.y=u.x,d.center.z=u.y,f.radius=I.SOLAR_RADIUS+I.SOLAR_RADIUS*this._glowLengthTS,d.radius=f.radius,i===ee.SCENE3D?re.clone(f,a.boundingVolume):i===ee.COLUMBUS_VIEW&&re.clone(d,a.boundingVolume);let p=qi.computeActualWgs84Position(e,c,kD),g=h.magnitude(h.subtract(p,e.camera.position,kD)),m=o.uniformState.projection,C=qht;C.x=0,C.y=0,C.z=-g,C.w=1;let x=N.multiplyByVector(m,C,kD),A=qi.clipToGLWindowCoordinates(t.viewport,x,Wht);C.x=I.SOLAR_RADIUS;let b=N.multiplyByVector(m,C,kD),E=qi.clipToGLWindowCoordinates(t.viewport,b,jht);return this._size=G.magnitude(G.subtract(E,A,kD)),this._size=2*this._size*(1+2*this._glowLengthTS),this._size=Math.ceil(this._size),this._commands};UD.prototype.isDestroyed=function(){return!1};UD.prototype.destroy=function(){let e=this._drawCommand;return e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),e.shaderProgram=e.shaderProgram&&e.shaderProgram.destroy(),this._texture=this._texture&&this._texture.destroy(),fe(this)};var I4=UD;function JE(){}JE.prototype.boundingVolume=void 0;JE.prototype.boundingSphere=void 0;JE.prototype.distanceToCamera=function(e){ye.throwInstantiationError()};JE.prototype.intersectPlane=function(e){ye.throwInstantiationError()};JE.prototype.createDebugVolume=function(e){ye.throwInstantiationError()};var _0e=JE;function zD(e){e=y(e,y.EMPTY_OBJECT),this._tilingScheme=l(e.tilingScheme)?e.tilingScheme:new Hi({ellipsoid:e.ellipsoid}),this._color=y(e.color,U.YELLOW),this._errorEvent=new ge,this._tileWidth=y(e.tileWidth,256),this._tileHeight=y(e.tileHeight,256),this._readyPromise=Promise.resolve(!0),this.defaultAlpha=void 0,this.defaultNightAlpha=void 0,this.defaultDayAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,this.defaultMinificationFilter=void 0,this.defaultMagnificationFilter=void 0}Object.defineProperties(zD.prototype,{proxy:{get:function(){}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){}},minimumLevel:{get:function(){}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return!0}},readyPromise:{get:function(){return this._readyPromise}},credit:{get:function(){}},hasAlphaChannel:{get:function(){return!0}}});zD.prototype.getTileCredits=function(e,t,n){};zD.prototype.requestImage=function(e,t,n,i){let o=document.createElement("canvas");o.width=256,o.height=256;let r=o.getContext("2d"),s=this._color.toCssColorString();return r.strokeStyle=s,r.lineWidth=2,r.strokeRect(1,1,255,255),r.font="bold 25px Arial",r.textAlign="center",r.fillStyle=s,r.fillText(`L: ${n}`,124,86),r.fillText(`X: ${e}`,124,136),r.fillText(`Y: ${t}`,124,186),Promise.resolve(o)};zD.prototype.pickFeatures=function(e,t,n,i,o){};var O4=zD;function zq(e){ye.throwInstantiationError()}zq.prototype.isReady=ye.throwInstantiationError;zq.prototype.shouldDiscardImage=ye.throwInstantiationError;var g0e=zq;var Yht={START:0,LOADING:1,READY:2,UPSAMPLED_ONLY:3},y0e=Object.freeze(Yht);function MC(e){e=y(e,y.EMPTY_OBJECT),this.show=y(e.show,!0),this.modelMatrix=N.clone(y(e.modelMatrix,N.IDENTITY)),this.shadows=y(e.shadows,mn.ENABLED),this.maximumMemoryUsage=y(e.maximumMemoryUsage,256),this.shading=new zm(e.shading),this.style=e.style,this.frameFailed=new ge,this.frameChanged=new ge,this._clock=e.clock,this._intervals=e.intervals,this._clippingPlanes=void 0,this.clippingPlanes=e.clippingPlanes,this._pointCloudEyeDomeLighting=new K_,this._loadTimestamp=void 0,this._clippingPlanesState=0,this._styleDirty=!1,this._pickId=void 0,this._totalMemoryUsageInBytes=0,this._frames=[],this._previousInterval=void 0,this._nextInterval=void 0,this._lastRenderedFrame=void 0,this._clockMultiplier=0,this._resolveReadyPromise=void 0;let t=this;this._readyPromise=new Promise(function(n){t._resolveReadyPromise=n}),this._runningSum=0,this._runningLength=0,this._runningIndex=0,this._runningSamples=new Array(5).fill(0),this._runningAverage=0}Object.defineProperties(MC.prototype,{clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){Zs.setOwner(e,this,"_clippingPlanes")}},totalMemoryUsageInBytes:{get:function(){return this._totalMemoryUsageInBytes}},boundingSphere:{get:function(){if(l(this._lastRenderedFrame))return this._lastRenderedFrame.pointCloud.boundingSphere}},readyPromise:{get:function(){return this._readyPromise}}});function Xht(e){return`uniform vec4 czm_pickColor;
  8641. ${e}`}function Kht(e){return function(t){return mt(t,{czm_pickColor:function(){return e._pickId.color}})}}function Zht(){return"czm_pickColor"}MC.prototype.makeStyleDirty=function(){this._styleDirty=!0};MC.prototype._getAverageLoadTime=function(){return this._runningLength===0?.05:this._runningAverage};var $ht=new Q;function Gq(e){let t=e._clock,n=t.canAnimate&&t.shouldAnimate,i=t.multiplier;return n?i:0}function RC(e,t){return e._intervals.indexOf(t.start)}function Jht(e,t){let n=e._intervals,i=e._clock,o=Gq(e);if(o===0)return;let r=e._getAverageLoadTime(),s=Q.addSeconds(i.currentTime,r*o,$ht),a=n.indexOf(s),c=RC(e,t);return a===c&&(o>=0?++a:--a),n.get(a)}function Qht(e){let t=e._intervals,i=e._clock.currentTime,o=t.indexOf(i);return t.get(o)}function emt(e,t,n){let i=Gq(e),o=RC(e,t),r=RC(e,n);return i>=0?o>=r:o<=r}function tmt(e,t){return function(n){let i=l(n.message)?n.message:n.toString();e.frameFailed.numberOfListeners>0?e.frameFailed.raiseEvent({uri:t,message:i}):(console.log(`A frame failed to load: ${t}`),console.log(`Error: ${i}`))}}function nmt(e,t,n){let i=RC(e,t),o=e._frames,r=o[i];if(!l(r)){let s=t.data.transform,a=l(s)?N.fromArray(s):void 0,c=t.data.uri;r={pointCloud:void 0,transform:a,timestamp:Ei(),sequential:!0,ready:!1,touchedFrameNumber:n.frameNumber},o[i]=r,Ie.fetchArrayBuffer({url:c}).then(function(u){return r.pointCloud=new NU({arrayBuffer:u,cull:!0,fragmentShaderLoaded:Xht,uniformMapLoaded:Kht(e),pickIdLoaded:Zht}),r.pointCloud.readyPromise}).catch(tmt(e,c))}return r}function imt(e,t){e._runningSum+=t,e._runningSum-=e._runningSamples[e._runningIndex],e._runningSamples[e._runningIndex]=t,e._runningLength=Math.min(e._runningLength+1,e._runningSamples.length),e._runningIndex=(e._runningIndex+1)%e._runningSamples.length,e._runningAverage=e._runningSum/e._runningLength}function omt(e,t,n,i){t.touchedFrameNumber<i.frameNumber-1&&(t.sequential=!1);let o=t.pointCloud;if(l(o)&&!t.ready){let r=i.commandList,s=r.length;if(x0e(e,t,n,i),o.ready&&(t.ready=!0,e._totalMemoryUsageInBytes+=o.geometryByteLength,r.length=s,t.sequential)){let a=(Ei()-t.timestamp)/1e3;imt(e,a)}}t.touchedFrameNumber=i.frameNumber}var rmt=new N;function smt(e,t){let n=e.shading;return l(n)&&l(n.baseResolution)?n.baseResolution:l(t.boundingSphere)?I.cbrt(t.boundingSphere.volume()/t.pointsLength):0}function amt(e){let t=e.shading;return l(t)&&l(t.maximumAttenuation)?t.maximumAttenuation:10}var cmt=new zm;function x0e(e,t,n,i){let o=y(e.shading,cmt),r=t.pointCloud,s=y(t.transform,N.IDENTITY);r.modelMatrix=N.multiplyTransformation(e.modelMatrix,s,rmt),r.style=e.style,r.time=n.timeSinceLoad,r.shadows=e.shadows,r.clippingPlanes=e._clippingPlanes,r.isClipped=n.isClipped,r.attenuation=o.attenuation,r.backFaceCulling=o.backFaceCulling,r.normalShading=o.normalShading,r.geometricError=smt(e,r),r.geometricErrorScale=o.geometricErrorScale,r.maximumAttenuation=amt(e),r.update(i),t.touchedFrameNumber=i.frameNumber}function Hq(e,t,n,i){let o=nmt(e,t,i);omt(e,o,n,i)}function lmt(e){return function(t){return t.touchedFrameNumber<e.frameNumber}}function A0e(e,t){let n=e._frames,i=n.length;for(let o=0;o<i;++o){let r=n[o];if(l(r)&&(!l(t)||t(r))){let s=r.pointCloud;r.ready&&(e._totalMemoryUsageInBytes-=s.geometryByteLength),l(s)&&s.destroy(),r===e._lastRenderedFrame&&(e._lastRenderedFrame=void 0),n[o]=void 0}}}function umt(e,t){let n=RC(e,t),i=e._frames[n];if(l(i)&&i.ready)return i}function C0e(e,t,n,i,o){return l(n)?n.ready?!0:(Hq(e,t,i,o),n.ready):!1}function fmt(e,t,n,i,o){let r,s,a,c=e._intervals,u=e._frames,f=RC(e,n),d=RC(e,t);if(f>=d){for(r=f;r>=d;--r)if(s=c.get(r),a=u[r],C0e(e,s,a,i,o))return s}else for(r=f;r<=d;++r)if(s=c.get(r),a=u[r],C0e(e,s,a,i,o))return s;return t}function dmt(e,t,n){let i=e._frames,o=i.length;for(let r=0;r<o;++r){let s=i[r];l(s)&&l(s.pointCloud)&&(s.pointCloud.clippingPlanesDirty=t,s.pointCloud.styleDirty=n)}}var QE={timeSinceLoad:0,isClipped:!1,clippingPlanesDirty:!1};MC.prototype.update=function(e){if(e.mode===ee.MORPHING||!this.show)return;l(this._pickId)||(this._pickId=e.context.createPickId({primitive:this})),l(this._loadTimestamp)||(this._loadTimestamp=Q.clone(e.time));let t=Math.max(Q.secondsDifference(e.time,this._loadTimestamp)*1e3,0),n=this._clippingPlanes,i=0,o=!1,r=l(n)&&n.enabled;r&&(n.update(e),i=n.clippingPlanesState),this._clippingPlanesState!==i&&(this._clippingPlanesState=i,o=!0);let s=this._styleDirty;this._styleDirty=!1,(o||s)&&dmt(this,o,s),QE.timeSinceLoad=t,QE.isClipped=r;let a=this.shading,c=this._pointCloudEyeDomeLighting,u=e.commandList,f=u.length,d=this._previousInterval,p=this._nextInterval,g=Qht(this);if(!l(g))return;let m=!1,C=Gq(this),x=C===0;C!==this._clockMultiplier&&(m=!0,this._clockMultiplier=C),(!l(d)||x)&&(d=g),(!l(p)||m||emt(this,g,p))&&(p=Jht(this,g)),d=fmt(this,d,g,QE,e);let A=umt(this,d);l(A)||(Hq(this,d,QE,e),A=this._lastRenderedFrame),l(A)&&x0e(this,A,QE,e),l(p)&&Hq(this,p,QE,e);let b=this;l(A)&&!l(this._lastRenderedFrame)&&e.afterRender.push(function(){b._resolveReadyPromise(b)}),l(A)&&A!==this._lastRenderedFrame&&b.frameChanged.numberOfListeners>0&&e.afterRender.push(function(){b.frameChanged.raiseEvent(b)}),this._previousInterval=d,this._nextInterval=p,this._lastRenderedFrame=A;let E=this._totalMemoryUsageInBytes,S=this.maximumMemoryUsage*1024*1024;E>S&&A0e(this,lmt(e));let P=u.length-f;l(a)&&a.attenuation&&a.eyeDomeLighting&&P>0&&c.update(e,f,a,this.boundingSphere)};MC.prototype.isDestroyed=function(){return!1};MC.prototype.destroy=function(){return A0e(this),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),this._pickId=this._pickId&&this._pickId.destroy(),fe(this)};var HD=MC;var R4=`varying vec2 v_textureCoordinates;
  8642. void main()
  8643. {
  8644. czm_materialInput materialInput;
  8645. materialInput.s = v_textureCoordinates.s;
  8646. materialInput.st = v_textureCoordinates;
  8647. materialInput.str = vec3(v_textureCoordinates, 0.0);
  8648. materialInput.normalEC = vec3(0.0, 0.0, -1.0);
  8649. czm_material material = czm_getMaterial(materialInput);
  8650. gl_FragColor = vec4(material.diffuse + material.emission, material.alpha);
  8651. }
  8652. `;function M4(e,t){this.show=!0,l(e)||(e=new Ge),this.rectangle=Ge.clone(e),l(t)||(t=Qi.fromType(Qi.ColorType,{color:new U(1,1,1,1)})),this.material=t,this._material=void 0,this._overlayCommand=void 0,this._rs=void 0}M4.prototype.update=function(e){if(!this.show)return;let t=this._rs;if((!l(t)||!Ge.equals(t.viewport,this.rectangle))&&(this._rs=Fe.fromCache({blending:cn.ALPHA_BLEND,viewport:this.rectangle})),e.passes.render){let i=e.context;if(this._material!==this.material||!l(this._overlayCommand)){this._material=this.material,l(this._overlayCommand)&&this._overlayCommand.shaderProgram.destroy();let o=new ke({sources:[this._material.shaderSource,R4]});this._overlayCommand=i.createViewportQuadCommand(o,{renderState:this._rs,uniformMap:this._material._uniforms,owner:this}),this._overlayCommand.pass=xe.OVERLAY}this._material.update(i),this._overlayCommand.renderState=this._rs,this._overlayCommand.uniformMap=this._material._uniforms,e.commandList.push(this._overlayCommand)}};M4.prototype.isDestroyed=function(){return!1};M4.prototype.destroy=function(){return l(this._overlayCommand)&&(this._overlayCommand.shaderProgram=this._overlayCommand.shaderProgram&&this._overlayCommand.shaderProgram.destroy()),fe(this)};var T0e=M4;function Wq(e,t){let n=t.terrainProvider,i=t.mapProjection,o=i.ellipsoid,r,s=t.camera.getRectangleCameraCoordinates(e);return t.mode===ee.SCENE3D?r=o.cartesianToCartographic(s):r=i.unproject(s),l(n)?n.readyPromise.then(function(){let a=n.availability;if(!l(a)||t.mode===ee.SCENE2D)return r;let c=[ue.center(e),ue.southeast(e),ue.southwest(e),ue.northeast(e),ue.northwest(e)];return Wq._sampleTerrainMostDetailed(n,c).then(function(u){let f=u.reduce(function(p,g){return Math.max(g.height,p)},-Number.MAX_VALUE),d=r;return d.height+=f,d})}):Promise.resolve(r)}Wq._sampleTerrainMostDetailed=T_;var eb=Wq;var hmt=new U,mmt=new U,pmt=new U,_mt=new U,E0e=new se,GD=new Uint8Array(4);function b0e(e,t,n,i){let o=t.height===n.height?0:(e-t.height)/(n.height-t.height);return U.lerp(t.color,n.color,o,i)}function B4(e,t){return{height:e,color:U.clone(t)}}function S0e(e){return e=e.filter(function(t,n,i){let o=n>0,r=n<i.length-1,s=o?t.height===i[n-1].height:!0,a=r?t.height===i[n+1].height:!0;return!s||!a}),e=e.filter(function(t,n,i){let o=n>0,r=n<i.length-1,s=o?U.equals(t.color,i[n-1].color):!1,a=r?U.equals(t.color,i[n+1].color):!1;return!s||!a}),e=e.filter(function(t,n,i){let o=n>0,r=o?U.equals(t.color,i[n-1].color):!1,s=o?t.height===i[n-1].height:!0;return!r||!s}),e}function gmt(e){let t,n,i=[],o=e.length;for(t=0;t<o;t++){let r=e[t],s=r.entries,a=s.length,c=[];for(n=0;n<a;n++){let g=s[n],m=I.clamp(g.height,al._minimumHeight,al._maximumHeight),C=U.clone(g.color,hmt);C.red*=C.alpha,C.green*=C.alpha,C.blue*=C.alpha,c.push(B4(m,C))}let u=!0,f=!0;for(n=0;n<a-1;n++){let g=c[n+0],m=c[n+1];u=u&&g.height<=m.height,f=f&&g.height>=m.height}f?c=c.reverse():u||ly(c,function(g,m){return I.sign(g.height-m.height)});let d=y(r.extendDownwards,!1),p=y(r.extendUpwards,!1);c.length===1&&!d&&!p&&(d=!0,p=!0),d&&c.splice(0,0,B4(al._minimumHeight,c[0].color)),p&&c.splice(c.length,0,B4(al._maximumHeight,c[c.length-1].color)),c=S0e(c),i.push(c)}return i}function ymt(e){let t=gmt(e),n=[],i=[],o;function r(u,f){n.push(B4(u,f))}function s(u,f,d){let p=U.multiplyByScalar(d,1-f.alpha,_mt);p=U.add(p,f,p),r(u,p)}let a=t.length;for(o=0;o<a;o++){let u=t[o],f=0,d=0;i=n,n=[];let p=u.length,g=i.length;for(;f<p||d<g;){let m=f<p?u[f]:void 0,C=f>0?u[f-1]:void 0,x=f<p-1?u[f+1]:void 0,A=d<g?i[d]:void 0,b=d>0?i[d-1]:void 0,E=d<g-1?i[d+1]:void 0;if(l(m)&&l(A)&&m.height===A.height){let S=l(E)&&A.height===E.height,v=!l(b),P=!l(E),O=l(x)&&m.height===x.height,M=!l(C),B=!l(x);S?O?(s(m.height,m.color,A.color),s(m.height,x.color,E.color)):M?(r(m.height,A.color),s(m.height,m.color,E.color)):B?(s(m.height,m.color,A.color),r(m.height,E.color)):(s(m.height,m.color,A.color),s(m.height,m.color,E.color)):v?O?(r(m.height,m.color),s(m.height,x.color,A.color)):B?(r(m.height,m.color),r(m.height,A.color)):(M||r(m.height,m.color),s(m.height,m.color,A.color)):P?O?(s(m.height,m.color,A.color),r(m.height,x.color)):M?(r(m.height,A.color),r(m.height,m.color)):B?s(m.height,m.color,A.color):(s(m.height,m.color,A.color),r(m.height,m.color)):O?(s(m.height,m.color,A.color),s(m.height,x.color,A.color)):M?(r(m.height,A.color),s(m.height,m.color,A.color)):B?(s(m.height,m.color,A.color),r(m.height,A.color)):s(m.height,m.color,A.color),f+=O?2:1,d+=S?2:1}else if(l(m)&&l(A)&&l(b)&&m.height<A.height){let S=b0e(m.height,b,A,pmt);l(C)?l(x)?s(m.height,m.color,S):(s(m.height,m.color,S),r(m.height,S)):(r(m.height,S),s(m.height,m.color,S)),f++}else if(l(A)&&l(m)&&l(C)&&A.height<m.height){let S=b0e(A.height,C,m,mmt);l(b)?l(E)?s(A.height,S,A.color):(s(A.height,S,A.color),r(A.height,S)):(r(A.height,S),s(A.height,S,A.color)),d++}else l(m)&&(!l(A)||m.height<A.height)?(l(A)&&!l(b)&&!l(x)?(r(m.height,m.color),r(m.height,al._emptyColor),r(A.height,al._emptyColor)):(!l(A)&&l(b)&&!l(C)&&(r(b.height,al._emptyColor),r(m.height,al._emptyColor)),r(m.height,m.color)),f++):l(A)&&(!l(m)||A.height<m.height)&&(r(A.height,A.color),d++)}}return S0e(n)}function al(e){e=y(e,y.EMPTY_OBJECT);let t=e.scene,n=e.layers,i=ymt(n),o=i.length,r,s,a,c;if(!al._useFloatTexture(t.context))for(a=je.UNSIGNED_BYTE,c=ft.RGBA,s=new Uint8Array(o*4),r=0;r<o;r++)se.packFloat(i[r].height,E0e),se.pack(E0e,s,r*4);else for(a=je.FLOAT,c=ft.LUMINANCE,s=new Float32Array(o),r=0;r<o;r++)s[r]=i[r].height;let f=Ot.create({context:t.context,pixelFormat:c,pixelDatatype:a,source:{arrayBufferView:s,width:o,height:1},sampler:new hn({wrapS:Dn.CLAMP_TO_EDGE,wrapT:Dn.CLAMP_TO_EDGE,minificationFilter:ln.NEAREST,magnificationFilter:Ji.NEAREST})}),d=new Uint8Array(o*4);for(r=0;r<o;r++)i[r].color.toBytes(GD),d[r*4+0]=GD[0],d[r*4+1]=GD[1],d[r*4+2]=GD[2],d[r*4+3]=GD[3];let p=Ot.create({context:t.context,pixelFormat:ft.RGBA,pixelDatatype:je.UNSIGNED_BYTE,source:{arrayBufferView:d,width:o,height:1},sampler:new hn({wrapS:Dn.CLAMP_TO_EDGE,wrapT:Dn.CLAMP_TO_EDGE,minificationFilter:ln.LINEAR,magnificationFilter:Ji.LINEAR})});return Qi.fromType("ElevationBand",{heights:f,colors:p})}al._useFloatTexture=function(e){return e.floatingPointTexture};al._maximumHeight=5906376425472;al._minimumHeight=-5906376425472;al._emptyColor=new U(0,0,0,0);var w0e=al;function Cmt(e){e=mt(e,{url:Xd.fromAssetId(96188)});let t=new Lu(e),n=e.style;if(!l(n)){let i=y(e.defaultColor,U.WHITE).toCssColorString();n=new DE({color:`Boolean(\${feature['cesium#color']}) ? color(\${feature['cesium#color']}) : ${i}`})}return t.style=n,t}var v0e=Cmt;function xmt(e){e=y(e,y.EMPTY_OBJECT);let t=[],n=e.geometry;(!l(n.attributes)||!l(n.primitiveType))&&(n=n.constructor.createGeometry(n));let i=n.attributes,o=N.clone(y(e.modelMatrix,N.IDENTITY)),r=y(e.length,1e4);if(l(i.normal)&&t.push(new pt({geometry:In.createLineSegmentsForVectors(n,"normal",r),attributes:{color:new It(1,0,0,1)},modelMatrix:o})),l(i.tangent)&&t.push(new pt({geometry:In.createLineSegmentsForVectors(n,"tangent",r),attributes:{color:new It(0,1,0,1)},modelMatrix:o})),l(i.bitangent)&&t.push(new pt({geometry:In.createLineSegmentsForVectors(n,"bitangent",r),attributes:{color:new It(0,0,1,1)},modelMatrix:o})),t.length>0)return new xn({asynchronous:!1,geometryInstances:t,appearance:new Qt({flat:!0,translucent:!1})})}var D0e=xmt;function Amt(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.style,t0.AERIAL);return new e0({assetId:t})}var l0=Amt;var WD;typeof ko<"u"&&(WD=ko);(function(){/*!
  8653. * Knockout JavaScript library v3.5.1
  8654. * (c) The Knockout.js team - http://knockoutjs.com/
  8655. * License: MIT (http://www.opensource.org/licenses/mit-license.php)
  8656. */(function(){(function(e){var t=this||(0,eval)("this"),n=t.document,i=t.navigator,o=t.jQuery,r=t.JSON;o||typeof jQuery>"u"||(o=jQuery),function(s){s(t.ko={})}(function(s,a){function c(_,T){return _===null||typeof _ in C?_===T:!1}function u(_,T){var w;return function(){w||(w=m.a.setTimeout(function(){w=e,_()},T))}}function f(_,T){var w;return function(){clearTimeout(w),w=m.a.setTimeout(_,T)}}function d(_,T){T&&T!=="change"?T==="beforeChange"?this.pc(_):this.gb(_,T):this.qc(_)}function p(_,T){T!==null&&T.s&&T.s()}function g(_,T){var w=this.qd,D=w[S];D.ra||(this.Qb&&this.mb[T]?(w.uc(T,_,this.mb[T]),this.mb[T]=null,--this.Qb):D.I[T]||w.uc(T,_,D.J?{da:_}:w.$c(_)),_.Ja&&_.gd())}var m=typeof s<"u"?s:{};m.b=function(_,T){for(var w=_.split("."),D=m,R=0;R<w.length-1;R++)D=D[w[R]];D[w[w.length-1]]=T},m.L=function(_,T,w){_[T]=w},m.version="3.5.1",m.b("version",m.version),m.options={deferUpdates:!1,useOnlyNativeEvents:!1,foreachHidesDestroyed:!1},m.a=function(){function _(W,K){for(var $ in W)R.call(W,$)&&K($,W[$])}function T(W,K){if(K)for(var $ in K)R.call(K,$)&&(W[$]=K[$]);return W}function w(W,K){return W.__proto__=K,W}function D(W,K,$,le){var me=W[K].match(q)||[];m.a.D($.match(q),function(ie){m.a.Na(me,ie,le)}),W[K]=me.join(" ")}var R=Object.prototype.hasOwnProperty,F={__proto__:[]}instanceof Array,z=typeof Symbol=="function",k={},H={};k[i&&/Firefox\/2/i.test(i.userAgent)?"KeyboardEvent":"UIEvents"]=["keyup","keydown","keypress"],k.MouseEvents="click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave".split(" "),_(k,function(W,K){if(K.length)for(var $=0,le=K.length;$<le;$++)H[K[$]]=W});var V={propertychange:!0},Y=n&&function(){for(var W=3,K=n.createElement("div"),$=K.getElementsByTagName("i");K.innerHTML="<!--[if gt IE "+ ++W+"]><i></i><![endif]-->",$[0];);return 4<W?W:e}(),q=/\S+/g,X;return{Jc:["authenticity_token",/^__RequestVerificationToken(_.*)?$/],D:function(W,K,$){for(var le=0,me=W.length;le<me;le++)K.call($,W[le],le,W)},A:typeof Array.prototype.indexOf=="function"?function(W,K){return Array.prototype.indexOf.call(W,K)}:function(W,K){for(var $=0,le=W.length;$<le;$++)if(W[$]===K)return $;return-1},Lb:function(W,K,$){for(var le=0,me=W.length;le<me;le++)if(K.call($,W[le],le,W))return W[le];return e},Pa:function(W,K){var $=m.a.A(W,K);0<$?W.splice($,1):$===0&&W.shift()},wc:function(W){var K=[];return W&&m.a.D(W,function($){0>m.a.A(K,$)&&K.push($)}),K},Mb:function(W,K,$){var le=[];if(W)for(var me=0,ie=W.length;me<ie;me++)le.push(K.call($,W[me],me));return le},jb:function(W,K,$){var le=[];if(W)for(var me=0,ie=W.length;me<ie;me++)K.call($,W[me],me)&&le.push(W[me]);return le},Nb:function(W,K){if(K instanceof Array)W.push.apply(W,K);else for(var $=0,le=K.length;$<le;$++)W.push(K[$]);return W},Na:function(W,K,$){var le=m.a.A(m.a.bc(W),K);0>le?$&&W.push(K):$||W.splice(le,1)},Ba:F,extend:T,setPrototypeOf:w,Ab:F?w:T,P:_,Ga:function(W,K,$){if(!W)return W;var le={},me;for(me in W)R.call(W,me)&&(le[me]=K.call($,W[me],me,W));return le},Tb:function(W){for(;W.firstChild;)m.removeNode(W.firstChild)},Yb:function(W){W=m.a.la(W);for(var K=(W[0]&&W[0].ownerDocument||n).createElement("div"),$=0,le=W.length;$<le;$++)K.appendChild(m.oa(W[$]));return K},Ca:function(W,K){for(var $=0,le=W.length,me=[];$<le;$++){var ie=W[$].cloneNode(!0);me.push(K?m.oa(ie):ie)}return me},va:function(W,K){if(m.a.Tb(W),K)for(var $=0,le=K.length;$<le;$++)W.appendChild(K[$])},Xc:function(W,K){var $=W.nodeType?[W]:W;if(0<$.length){for(var le=$[0],me=le.parentNode,ie=0,ce=K.length;ie<ce;ie++)me.insertBefore(K[ie],le);for(ie=0,ce=$.length;ie<ce;ie++)m.removeNode($[ie])}},Ua:function(W,K){if(W.length){for(K=K.nodeType===8&&K.parentNode||K;W.length&&W[0].parentNode!==K;)W.splice(0,1);for(;1<W.length&&W[W.length-1].parentNode!==K;)W.length--;if(1<W.length){var $=W[0],le=W[W.length-1];for(W.length=0;$!==le;)W.push($),$=$.nextSibling;W.push(le)}}return W},Zc:function(W,K){7>Y?W.setAttribute("selected",K):W.selected=K},Db:function(W){return W===null||W===e?"":W.trim?W.trim():W.toString().replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")},Ud:function(W,K){return W=W||"",K.length>W.length?!1:W.substring(0,K.length)===K},vd:function(W,K){if(W===K)return!0;if(W.nodeType===11)return!1;if(K.contains)return K.contains(W.nodeType!==1?W.parentNode:W);if(K.compareDocumentPosition)return(K.compareDocumentPosition(W)&16)==16;for(;W&&W!=K;)W=W.parentNode;return!!W},Sb:function(W){return m.a.vd(W,W.ownerDocument.documentElement)},kd:function(W){return!!m.a.Lb(W,m.a.Sb)},R:function(W){return W&&W.tagName&&W.tagName.toLowerCase()},Ac:function(W){return m.onError?function(){try{return W.apply(this,arguments)}catch(K){throw m.onError&&m.onError(K),K}}:W},setTimeout:function(W,K){return setTimeout(m.a.Ac(W),K)},Gc:function(W){setTimeout(function(){throw m.onError&&m.onError(W),W},0)},B:function(W,K,$){var le=m.a.Ac($);if($=V[K],m.options.useOnlyNativeEvents||$||!o)if($||typeof W.addEventListener!="function")if(typeof W.attachEvent<"u"){var me=function(ce){le.call(W,ce)},ie="on"+K;W.attachEvent(ie,me),m.a.K.za(W,function(){W.detachEvent(ie,me)})}else throw Error("Browser doesn't support addEventListener or attachEvent");else W.addEventListener(K,le,!1);else X||(X=typeof o(W).on=="function"?"on":"bind"),o(W)[X](K,le)},Fb:function(W,K){if(!W||!W.nodeType)throw Error("element must be a DOM node when calling triggerEvent");var $;if(m.a.R(W)==="input"&&W.type&&K.toLowerCase()=="click"?($=W.type,$=$=="checkbox"||$=="radio"):$=!1,m.options.useOnlyNativeEvents||!o||$)if(typeof n.createEvent=="function")if(typeof W.dispatchEvent=="function")$=n.createEvent(H[K]||"HTMLEvents"),$.initEvent(K,!0,!0,t,0,0,0,0,0,!1,!1,!1,!1,0,W),W.dispatchEvent($);else throw Error("The supplied element doesn't support dispatchEvent");else if($&&W.click)W.click();else if(typeof W.fireEvent<"u")W.fireEvent("on"+K);else throw Error("Browser doesn't support triggering events");else o(W).trigger(K)},f:function(W){return m.O(W)?W():W},bc:function(W){return m.O(W)?W.v():W},Eb:function(W,K,$){var le;K&&(typeof W.classList=="object"?(le=W.classList[$?"add":"remove"],m.a.D(K.match(q),function(me){le.call(W.classList,me)})):typeof W.className.baseVal=="string"?D(W.className,"baseVal",K,$):D(W,"className",K,$))},Bb:function(W,K){var $=m.a.f(K);($===null||$===e)&&($="");var le=m.h.firstChild(W);!le||le.nodeType!=3||m.h.nextSibling(le)?m.h.va(W,[W.ownerDocument.createTextNode($)]):le.data=$,m.a.Ad(W)},Yc:function(W,K){if(W.name=K,7>=Y)try{var $=W.name.replace(/[&<>'"]/g,function(le){return"&#"+le.charCodeAt(0)+";"});W.mergeAttributes(n.createElement("<input name='"+$+"'/>"),!1)}catch{}},Ad:function(W){9<=Y&&(W=W.nodeType==1?W:W.parentNode,W.style&&(W.style.zoom=W.style.zoom))},wd:function(W){if(Y){var K=W.style.width;W.style.width=0,W.style.width=K}},Pd:function(W,K){W=m.a.f(W),K=m.a.f(K);for(var $=[],le=W;le<=K;le++)$.push(le);return $},la:function(W){for(var K=[],$=0,le=W.length;$<le;$++)K.push(W[$]);return K},Da:function(W){return z?Symbol(W):W},Zd:Y===6,$d:Y===7,W:Y,Lc:function(W,K){for(var $=m.a.la(W.getElementsByTagName("input")).concat(m.a.la(W.getElementsByTagName("textarea"))),le=typeof K=="string"?function(ce){return ce.name===K}:function(ce){return K.test(ce.name)},me=[],ie=$.length-1;0<=ie;ie--)le($[ie])&&me.push($[ie]);return me},Nd:function(W){return typeof W=="string"&&(W=m.a.Db(W))?r&&r.parse?r.parse(W):new Function("return "+W)():null},hc:function(W,K,$){if(!r||!r.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 r.stringify(m.a.f(W),K,$)},Od:function(W,K,$){$=$||{};var le=$.params||{},me=$.includeFields||this.Jc,ie=W;if(typeof W=="object"&&m.a.R(W)==="form")for(var ie=W.action,ce=me.length-1;0<=ce;ce--)for(var pe=m.a.Lc(W,me[ce]),Ae=pe.length-1;0<=Ae;Ae--)le[pe[Ae].name]=pe[Ae].value;K=m.a.f(K);var we=n.createElement("form");we.style.display="none",we.action=ie,we.method="post";for(var Re in K)W=n.createElement("input"),W.type="hidden",W.name=Re,W.value=m.a.hc(m.a.f(K[Re])),we.appendChild(W);_(le,function(Ue,bt){var Ut=n.createElement("input");Ut.type="hidden",Ut.name=Ue,Ut.value=bt,we.appendChild(Ut)}),n.body.appendChild(we),$.submitter?$.submitter(we):we.submit(),setTimeout(function(){we.parentNode.removeChild(we)},0)}}}(),m.b("utils",m.a),m.b("utils.arrayForEach",m.a.D),m.b("utils.arrayFirst",m.a.Lb),m.b("utils.arrayFilter",m.a.jb),m.b("utils.arrayGetDistinctValues",m.a.wc),m.b("utils.arrayIndexOf",m.a.A),m.b("utils.arrayMap",m.a.Mb),m.b("utils.arrayPushAll",m.a.Nb),m.b("utils.arrayRemoveItem",m.a.Pa),m.b("utils.cloneNodes",m.a.Ca),m.b("utils.createSymbolOrString",m.a.Da),m.b("utils.extend",m.a.extend),m.b("utils.fieldsIncludedWithJsonPost",m.a.Jc),m.b("utils.getFormFields",m.a.Lc),m.b("utils.objectMap",m.a.Ga),m.b("utils.peekObservable",m.a.bc),m.b("utils.postJson",m.a.Od),m.b("utils.parseJson",m.a.Nd),m.b("utils.registerEventHandler",m.a.B),m.b("utils.stringifyJson",m.a.hc),m.b("utils.range",m.a.Pd),m.b("utils.toggleDomNodeCssClass",m.a.Eb),m.b("utils.triggerEvent",m.a.Fb),m.b("utils.unwrapObservable",m.a.f),m.b("utils.objectForEach",m.a.P),m.b("utils.addOrRemoveItem",m.a.Na),m.b("utils.setTextContent",m.a.Bb),m.b("unwrap",m.a.f),Function.prototype.bind||(Function.prototype.bind=function(_){var T=this;if(arguments.length===1)return function(){return T.apply(_,arguments)};var w=Array.prototype.slice.call(arguments,1);return function(){var D=w.slice(0);return D.push.apply(D,arguments),T.apply(_,D)}}),m.a.g=new function(){var _=0,T="__ko__"+new Date().getTime(),w={},D,R;return m.a.W?(D=function(F,z){var k=F[T];if(!k||k==="null"||!w[k]){if(!z)return e;k=F[T]="ko"+_++,w[k]={}}return w[k]},R=function(F){var z=F[T];return z?(delete w[z],F[T]=null,!0):!1}):(D=function(F,z){var k=F[T];return!k&&z&&(k=F[T]={}),k},R=function(F){return F[T]?(delete F[T],!0):!1}),{get:function(F,z){var k=D(F,!1);return k&&k[z]},set:function(F,z,k){(F=D(F,k!==e))&&(F[z]=k)},Ub:function(F,z,k){return F=D(F,!0),F[z]||(F[z]=k)},clear:R,Z:function(){return _+++T}}},m.b("utils.domData",m.a.g),m.b("utils.domData.clear",m.a.g.clear),m.a.K=new function(){function _(z,k){var H=m.a.g.get(z,D);return H===e&&k&&(H=[],m.a.g.set(z,D,H)),H}function T(z){var k=_(z,!1);if(k)for(var k=k.slice(0),H=0;H<k.length;H++)k[H](z);m.a.g.clear(z),m.a.K.cleanExternalData(z),F[z.nodeType]&&w(z.childNodes,!0)}function w(z,k){for(var H=[],V,Y=0;Y<z.length;Y++)if((!k||z[Y].nodeType===8)&&(T(H[H.length]=V=z[Y]),z[Y]!==V))for(;Y--&&m.a.A(H,z[Y])==-1;);}var D=m.a.g.Z(),R={1:!0,8:!0,9:!0},F={1:!0,9:!0};return{za:function(z,k){if(typeof k!="function")throw Error("Callback must be a function");_(z,!0).push(k)},yb:function(z,k){var H=_(z,!1);H&&(m.a.Pa(H,k),H.length==0&&m.a.g.set(z,D,e))},oa:function(z){return m.u.G(function(){R[z.nodeType]&&(T(z),F[z.nodeType]&&w(z.getElementsByTagName("*")))}),z},removeNode:function(z){m.oa(z),z.parentNode&&z.parentNode.removeChild(z)},cleanExternalData:function(z){o&&typeof o.cleanData=="function"&&o.cleanData([z])}}},m.oa=m.a.K.oa,m.removeNode=m.a.K.removeNode,m.b("cleanNode",m.oa),m.b("removeNode",m.removeNode),m.b("utils.domNodeDisposal",m.a.K),m.b("utils.domNodeDisposal.addDisposeCallback",m.a.K.za),m.b("utils.domNodeDisposal.removeDisposeCallback",m.a.K.yb),function(){var _=[0,"",""],T=[1,"<table>","</table>"],w=[3,"<table><tbody><tr>","</tr></tbody></table>"],D=[1,"<select multiple='multiple'>","</select>"],R={thead:T,tbody:T,tfoot:T,tr:[2,"<table><tbody>","</tbody></table>"],td:w,th:w,option:D,optgroup:D},F=8>=m.a.W;m.a.ua=function(z,k){var H;if(o){if(o.parseHTML)H=o.parseHTML(z,k)||[];else if((H=o.clean([z],k))&&H[0]){for(var V=H[0];V.parentNode&&V.parentNode.nodeType!==11;)V=V.parentNode;V.parentNode&&V.parentNode.removeChild(V)}}else{(H=k)||(H=n);var V=H.parentWindow||H.defaultView||t,Y=m.a.Db(z).toLowerCase(),q=H.createElement("div"),X;for(X=(Y=Y.match(/^(?:\x3c!--.*?--\x3e\s*?)*?<([a-z]+)[\s>]/))&&R[Y[1]]||_,Y=X[0],X="ignored<div>"+X[1]+z+X[2]+"</div>",typeof V.innerShiv=="function"?q.appendChild(V.innerShiv(X)):(F&&H.body.appendChild(q),q.innerHTML=X,F&&q.parentNode.removeChild(q));Y--;)q=q.lastChild;H=m.a.la(q.lastChild.childNodes)}return H},m.a.Md=function(z,k){var H=m.a.ua(z,k);return H.length&&H[0].parentElement||m.a.Yb(H)},m.a.fc=function(z,k){if(m.a.Tb(z),k=m.a.f(k),k!==null&&k!==e)if(typeof k!="string"&&(k=k.toString()),o)o(z).html(k);else for(var H=m.a.ua(k,z.ownerDocument),V=0;V<H.length;V++)z.appendChild(H[V])}}(),m.b("utils.parseHtmlFragment",m.a.ua),m.b("utils.setHtml",m.a.fc),m.aa=function(){function _(w,D){if(w){if(w.nodeType==8){var R=m.aa.Uc(w.nodeValue);R!=null&&D.push({ud:w,Kd:R})}else if(w.nodeType==1)for(var R=0,F=w.childNodes,z=F.length;R<z;R++)_(F[R],D)}}var T={};return{Xb:function(w){if(typeof w!="function")throw Error("You can only pass a function to ko.memoization.memoize()");var D=(4294967296*(1+Math.random())|0).toString(16).substring(1)+(4294967296*(1+Math.random())|0).toString(16).substring(1);return T[D]=w,"<!--[ko_memo:"+D+"]-->"},bd:function(w,D){var R=T[w];if(R===e)throw Error("Couldn't find any memo with ID "+w+". Perhaps it's already been unmemoized.");try{return R.apply(null,D||[]),!0}finally{delete T[w]}},cd:function(w,D){var R=[];_(w,R);for(var F=0,z=R.length;F<z;F++){var k=R[F].ud,H=[k];D&&m.a.Nb(H,D),m.aa.bd(R[F].Kd,H),k.nodeValue="",k.parentNode&&k.parentNode.removeChild(k)}},Uc:function(w){return(w=w.match(/^\[ko_memo\:(.*?)\]$/))?w[1]:null}}}(),m.b("memoization",m.aa),m.b("memoization.memoize",m.aa.Xb),m.b("memoization.unmemoize",m.aa.bd),m.b("memoization.parseMemoText",m.aa.Uc),m.b("memoization.unmemoizeDomNodeAndDescendants",m.aa.cd),m.na=function(){function _(){if(R){for(var k=R,H=0,V;z<R;)if(V=D[z++]){if(z>k){if(5e3<=++H){z=R,m.a.Gc(Error("'Too much recursion' after processing "+H+" task groups."));break}k=R}try{V()}catch(Y){m.a.Gc(Y)}}}}function T(){_(),z=R=D.length=0}var w,D=[],R=0,F=1,z=0;return t.MutationObserver?w=function(k){var H=n.createElement("div");return new MutationObserver(k).observe(H,{attributes:!0}),function(){H.classList.toggle("foo")}}(T):w=n&&"onreadystatechange"in n.createElement("script")?function(k){var H=n.createElement("script");H.onreadystatechange=function(){H.onreadystatechange=null,n.documentElement.removeChild(H),H=null,k()},n.documentElement.appendChild(H)}:function(k){setTimeout(k,0)},{scheduler:w,zb:function(k){return R||m.na.scheduler(T),D[R++]=k,F++},cancel:function(k){k=k-(F-R),k>=z&&k<R&&(D[k]=null)},resetForTesting:function(){var k=R-z;return z=R=D.length=0,k},Sd:_}}(),m.b("tasks",m.na),m.b("tasks.schedule",m.na.zb),m.b("tasks.runEarly",m.na.Sd),m.Ta={throttle:function(_,T){_.throttleEvaluation=T;var w=null;return m.$({read:_,write:function(D){clearTimeout(w),w=m.a.setTimeout(function(){_(D)},T)}})},rateLimit:function(_,T){var w,D,R;typeof T=="number"?w=T:(w=T.timeout,D=T.method),_.Hb=!1,R=typeof D=="function"?D:D=="notifyWhenChangesStop"?f:u,_.ub(function(F){return R(F,w,T)})},deferred:function(_,T){if(T!==!0)throw Error("The 'deferred' extender only accepts the value 'true', because it is not supported to turn deferral off once enabled.");_.Hb||(_.Hb=!0,_.ub(function(w){var D,R=!1;return function(){if(!R){m.na.cancel(D),D=m.na.zb(w);try{R=!0,_.notifySubscribers(e,"dirty")}finally{R=!1}}}}))},notify:function(_,T){_.equalityComparer=T=="always"?null:c}};var C={undefined:1,boolean:1,number:1,string:1};m.b("extenders",m.Ta),m.ic=function(_,T,w){this.da=_,this.lc=T,this.mc=w,this.Ib=!1,this.fb=this.Jb=null,m.L(this,"dispose",this.s),m.L(this,"disposeWhenNodeIsRemoved",this.l)},m.ic.prototype.s=function(){this.Ib||(this.fb&&m.a.K.yb(this.Jb,this.fb),this.Ib=!0,this.mc(),this.da=this.lc=this.mc=this.Jb=this.fb=null)},m.ic.prototype.l=function(_){this.Jb=_,m.a.K.za(_,this.fb=this.s.bind(this))},m.T=function(){m.a.Ab(this,x),x.qb(this)};var x={qb:function(_){_.U={change:[]},_.sc=1},subscribe:function(_,T,w){var D=this;w=w||"change";var R=new m.ic(D,T?_.bind(T):_,function(){m.a.Pa(D.U[w],R),D.hb&&D.hb(w)});return D.Qa&&D.Qa(w),D.U[w]||(D.U[w]=[]),D.U[w].push(R),R},notifySubscribers:function(_,T){if(T=T||"change",T==="change"&&this.Gb(),this.Wa(T)){var w=T==="change"&&this.ed||this.U[T].slice(0);try{m.u.xc();for(var D=0,R;R=w[D];++D)R.Ib||R.lc(_)}finally{m.u.end()}}},ob:function(){return this.sc},Dd:function(_){return this.ob()!==_},Gb:function(){++this.sc},ub:function(_){var T=this,w=m.O(T),D,R,F,z,k;T.gb||(T.gb=T.notifySubscribers,T.notifySubscribers=d);var H=_(function(){T.Ja=!1,w&&z===T&&(z=T.nc?T.nc():T());var V=R||k&&T.sb(F,z);k=R=D=!1,V&&T.gb(F=z)});T.qc=function(V,Y){Y&&T.Ja||(k=!Y),T.ed=T.U.change.slice(0),T.Ja=D=!0,z=V,H()},T.pc=function(V){D||(F=V,T.gb(V,"beforeChange"))},T.rc=function(){k=!0},T.gd=function(){T.sb(F,T.v(!0))&&(R=!0)}},Wa:function(_){return this.U[_]&&this.U[_].length},Bd:function(_){if(_)return this.U[_]&&this.U[_].length||0;var T=0;return m.a.P(this.U,function(w,D){w!=="dirty"&&(T+=D.length)}),T},sb:function(_,T){return!this.equalityComparer||!this.equalityComparer(_,T)},toString:function(){return"[object Object]"},extend:function(_){var T=this;return _&&m.a.P(_,function(w,D){var R=m.Ta[w];typeof R=="function"&&(T=R(T,D)||T)}),T}};m.L(x,"init",x.qb),m.L(x,"subscribe",x.subscribe),m.L(x,"extend",x.extend),m.L(x,"getSubscriptionsCount",x.Bd),m.a.Ba&&m.a.setPrototypeOf(x,Function.prototype),m.T.fn=x,m.Qc=function(_){return _!=null&&typeof _.subscribe=="function"&&typeof _.notifySubscribers=="function"},m.b("subscribable",m.T),m.b("isSubscribable",m.Qc),m.S=m.u=function(){function _(F){w.push(D),D=F}function T(){D=w.pop()}var w=[],D,R=0;return{xc:_,end:T,cc:function(F){if(D){if(!m.Qc(F))throw Error("Only subscribable things can act as dependencies");D.od.call(D.pd,F,F.fd||(F.fd=++R))}},G:function(F,z,k){try{return _(),F.apply(z,k||[])}finally{T()}},qa:function(){if(D)return D.o.qa()},Va:function(){if(D)return D.o.Va()},Ya:function(){if(D)return D.Ya},o:function(){if(D)return D.o}}}(),m.b("computedContext",m.S),m.b("computedContext.getDependenciesCount",m.S.qa),m.b("computedContext.getDependencies",m.S.Va),m.b("computedContext.isInitial",m.S.Ya),m.b("computedContext.registerDependency",m.S.cc),m.b("ignoreDependencies",m.Yd=m.u.G);var A=m.a.Da("_latestValue");m.ta=function(_){function T(){return 0<arguments.length?(T.sb(T[A],arguments[0])&&(T.ya(),T[A]=arguments[0],T.xa()),this):(m.u.cc(T),T[A])}return T[A]=_,m.a.Ba||m.a.extend(T,m.T.fn),m.T.fn.qb(T),m.a.Ab(T,b),m.options.deferUpdates&&m.Ta.deferred(T,!0),T};var b={equalityComparer:c,v:function(){return this[A]},xa:function(){this.notifySubscribers(this[A],"spectate"),this.notifySubscribers(this[A])},ya:function(){this.notifySubscribers(this[A],"beforeChange")}};m.a.Ba&&m.a.setPrototypeOf(b,m.T.fn);var E=m.ta.Ma="__ko_proto__";b[E]=m.ta,m.O=function(_){if((_=typeof _=="function"&&_[E])&&_!==b[E]&&_!==m.o.fn[E])throw Error("Invalid object that looks like an observable; possibly from another Knockout instance");return!!_},m.Za=function(_){return typeof _=="function"&&(_[E]===b[E]||_[E]===m.o.fn[E]&&_.Nc)},m.b("observable",m.ta),m.b("isObservable",m.O),m.b("isWriteableObservable",m.Za),m.b("isWritableObservable",m.Za),m.b("observable.fn",b),m.L(b,"peek",b.v),m.L(b,"valueHasMutated",b.xa),m.L(b,"valueWillMutate",b.ya),m.Ha=function(_){if(_=_||[],typeof _!="object"||!("length"in _))throw Error("The argument passed when initializing an observable array must be an array, or null, or undefined.");return _=m.ta(_),m.a.Ab(_,m.Ha.fn),_.extend({trackArrayChanges:!0})},m.Ha.fn={remove:function(_){for(var T=this.v(),w=[],D=typeof _!="function"||m.O(_)?function(z){return z===_}:_,R=0;R<T.length;R++){var F=T[R];if(D(F)){if(w.length===0&&this.ya(),T[R]!==F)throw Error("Array modified during remove; cannot remove item");w.push(F),T.splice(R,1),R--}}return w.length&&this.xa(),w},removeAll:function(_){if(_===e){var T=this.v(),w=T.slice(0);return this.ya(),T.splice(0,T.length),this.xa(),w}return _?this.remove(function(D){return 0<=m.a.A(_,D)}):[]},destroy:function(_){var T=this.v(),w=typeof _!="function"||m.O(_)?function(F){return F===_}:_;this.ya();for(var D=T.length-1;0<=D;D--){var R=T[D];w(R)&&(R._destroy=!0)}this.xa()},destroyAll:function(_){return _===e?this.destroy(function(){return!0}):_?this.destroy(function(T){return 0<=m.a.A(_,T)}):[]},indexOf:function(_){var T=this();return m.a.A(T,_)},replace:function(_,T){var w=this.indexOf(_);0<=w&&(this.ya(),this.v()[w]=T,this.xa())},sorted:function(_){var T=this().slice(0);return _?T.sort(_):T.sort()},reversed:function(){return this().slice(0).reverse()}},m.a.Ba&&m.a.setPrototypeOf(m.Ha.fn,m.ta.fn),m.a.D("pop push reverse shift sort splice unshift".split(" "),function(_){m.Ha.fn[_]=function(){var T=this.v();this.ya(),this.zc(T,_,arguments);var w=T[_].apply(T,arguments);return this.xa(),w===T?this:w}}),m.a.D(["slice"],function(_){m.Ha.fn[_]=function(){var T=this();return T[_].apply(T,arguments)}}),m.Pc=function(_){return m.O(_)&&typeof _.remove=="function"&&typeof _.push=="function"},m.b("observableArray",m.Ha),m.b("isObservableArray",m.Pc),m.Ta.trackArrayChanges=function(_,T){function w(){function q(){if(k){var X=[].concat(_.v()||[]),W;_.Wa("arrayChange")&&((!R||1<k)&&(R=m.a.Pb(H,X,_.Ob)),W=R),H=X,R=null,k=0,W&&W.length&&_.notifySubscribers(W,"arrayChange")}}D?q():(D=!0,z=_.subscribe(function(){++k},null,"spectate"),H=[].concat(_.v()||[]),R=null,F=_.subscribe(q))}if(_.Ob={},T&&typeof T=="object"&&m.a.extend(_.Ob,T),_.Ob.sparse=!0,!_.zc){var D=!1,R=null,F,z,k=0,H,V=_.Qa,Y=_.hb;_.Qa=function(q){V&&V.call(_,q),q==="arrayChange"&&w()},_.hb=function(q){Y&&Y.call(_,q),q!=="arrayChange"||_.Wa("arrayChange")||(F&&F.s(),z&&z.s(),z=F=null,D=!1,H=e)},_.zc=function(q,X,W){function K(we,Re,Ue){return $[$.length]={status:we,value:Re,index:Ue}}if(D&&!k){var $=[],le=q.length,me=W.length,ie=0;switch(X){case"push":ie=le;case"unshift":for(X=0;X<me;X++)K("added",W[X],ie+X);break;case"pop":ie=le-1;case"shift":le&&K("deleted",q[ie],ie);break;case"splice":X=Math.min(Math.max(0,0>W[0]?le+W[0]:W[0]),le);for(var le=me===1?le:Math.min(X+(W[1]||0),le),me=X+me-2,ie=Math.max(le,me),ce=[],pe=[],Ae=2;X<ie;++X,++Ae)X<le&&pe.push(K("deleted",q[X],X)),X<me&&ce.push(K("added",W[Ae],X));m.a.Kc(pe,ce);break;default:return}R=$}}}};var S=m.a.Da("_state");m.o=m.$=function(_,T,w){function D(){if(0<arguments.length){if(typeof R=="function")R.apply(F.nb,arguments);else throw Error("Cannot write a value to a ko.computed unless you specify a 'write' option. If you wish to read the current value, don't pass any parameters.");return this}return F.ra||m.u.cc(D),(F.ka||F.J&&D.Xa())&&D.ha(),F.X}if(typeof _=="object"?w=_:(w=w||{},_&&(w.read=_)),typeof w.read!="function")throw Error("Pass a function that returns the value of the ko.computed");var R=w.write,F={X:e,sa:!0,ka:!0,rb:!1,jc:!1,ra:!1,wb:!1,J:!1,Wc:w.read,nb:T||w.owner,l:w.disposeWhenNodeIsRemoved||w.l||null,Sa:w.disposeWhen||w.Sa,Rb:null,I:{},V:0,Ic:null};return D[S]=F,D.Nc=typeof R=="function",m.a.Ba||m.a.extend(D,m.T.fn),m.T.fn.qb(D),m.a.Ab(D,v),w.pure?(F.wb=!0,F.J=!0,m.a.extend(D,P)):w.deferEvaluation&&m.a.extend(D,O),m.options.deferUpdates&&m.Ta.deferred(D,!0),F.l&&(F.jc=!0,F.l.nodeType||(F.l=null)),F.J||w.deferEvaluation||D.ha(),F.l&&D.ja()&&m.a.K.za(F.l,F.Rb=function(){D.s()}),D};var v={equalityComparer:c,qa:function(){return this[S].V},Va:function(){var _=[];return m.a.P(this[S].I,function(T,w){_[w.Ka]=w.da}),_},Vb:function(_){if(!this[S].V)return!1;var T=this.Va();return m.a.A(T,_)!==-1?!0:!!m.a.Lb(T,function(w){return w.Vb&&w.Vb(_)})},uc:function(_,T,w){if(this[S].wb&&T===this)throw Error("A 'pure' computed must not be called recursively");this[S].I[_]=w,w.Ka=this[S].V++,w.La=T.ob()},Xa:function(){var _,T,w=this[S].I;for(_ in w)if(Object.prototype.hasOwnProperty.call(w,_)&&(T=w[_],this.Ia&&T.da.Ja||T.da.Dd(T.La)))return!0},Jd:function(){this.Ia&&!this[S].rb&&this.Ia(!1)},ja:function(){var _=this[S];return _.ka||0<_.V},Rd:function(){this.Ja?this[S].ka&&(this[S].sa=!0):this.Hc()},$c:function(_){if(_.Hb){var T=_.subscribe(this.Jd,this,"dirty"),w=_.subscribe(this.Rd,this);return{da:_,s:function(){T.s(),w.s()}}}return _.subscribe(this.Hc,this)},Hc:function(){var _=this,T=_.throttleEvaluation;T&&0<=T?(clearTimeout(this[S].Ic),this[S].Ic=m.a.setTimeout(function(){_.ha(!0)},T)):_.Ia?_.Ia(!0):_.ha(!0)},ha:function(_){var T=this[S],w=T.Sa,D=!1;if(!T.rb&&!T.ra){if(T.l&&!m.a.Sb(T.l)||w&&w()){if(!T.jc){this.s();return}}else T.jc=!1;T.rb=!0;try{D=this.zd(_)}finally{T.rb=!1}return D}},zd:function(_){var T=this[S],D=!1,w=T.wb?e:!T.V,D={qd:this,mb:T.I,Qb:T.V};m.u.xc({pd:D,od:g,o:this,Ya:w}),T.I={},T.V=0;var R=this.yd(T,D);return T.V?D=this.sb(T.X,R):(this.s(),D=!0),D&&(T.J?this.Gb():this.notifySubscribers(T.X,"beforeChange"),T.X=R,this.notifySubscribers(T.X,"spectate"),!T.J&&_&&this.notifySubscribers(T.X),this.rc&&this.rc()),w&&this.notifySubscribers(T.X,"awake"),D},yd:function(_,T){try{var w=_.Wc;return _.nb?w.call(_.nb):w()}finally{m.u.end(),T.Qb&&!_.J&&m.a.P(T.mb,p),_.sa=_.ka=!1}},v:function(_){var T=this[S];return(T.ka&&(_||!T.V)||T.J&&this.Xa())&&this.ha(),T.X},ub:function(_){m.T.fn.ub.call(this,_),this.nc=function(){return this[S].J||(this[S].sa?this.ha():this[S].ka=!1),this[S].X},this.Ia=function(T){this.pc(this[S].X),this[S].ka=!0,T&&(this[S].sa=!0),this.qc(this,!T)}},s:function(){var _=this[S];!_.J&&_.I&&m.a.P(_.I,function(T,w){w.s&&w.s()}),_.l&&_.Rb&&m.a.K.yb(_.l,_.Rb),_.I=e,_.V=0,_.ra=!0,_.sa=!1,_.ka=!1,_.J=!1,_.l=e,_.Sa=e,_.Wc=e,this.Nc||(_.nb=e)}},P={Qa:function(_){var T=this,w=T[S];if(!w.ra&&w.J&&_=="change"){if(w.J=!1,w.sa||T.Xa())w.I=null,w.V=0,T.ha()&&T.Gb();else{var D=[];m.a.P(w.I,function(R,F){D[F.Ka]=R}),m.a.D(D,function(R,F){var z=w.I[R],k=T.$c(z.da);k.Ka=F,k.La=z.La,w.I[R]=k}),T.Xa()&&T.ha()&&T.Gb()}w.ra||T.notifySubscribers(w.X,"awake")}},hb:function(_){var T=this[S];T.ra||_!="change"||this.Wa("change")||(m.a.P(T.I,function(w,D){D.s&&(T.I[w]={da:D.da,Ka:D.Ka,La:D.La},D.s())}),T.J=!0,this.notifySubscribers(e,"asleep"))},ob:function(){var _=this[S];return _.J&&(_.sa||this.Xa())&&this.ha(),m.T.fn.ob.call(this)}},O={Qa:function(_){_!="change"&&_!="beforeChange"||this.v()}};m.a.Ba&&m.a.setPrototypeOf(v,m.T.fn);var M=m.ta.Ma;v[M]=m.o,m.Oc=function(_){return typeof _=="function"&&_[M]===v[M]},m.Fd=function(_){return m.Oc(_)&&_[S]&&_[S].wb},m.b("computed",m.o),m.b("dependentObservable",m.o),m.b("isComputed",m.Oc),m.b("isPureComputed",m.Fd),m.b("computed.fn",v),m.L(v,"peek",v.v),m.L(v,"dispose",v.s),m.L(v,"isActive",v.ja),m.L(v,"getDependenciesCount",v.qa),m.L(v,"getDependencies",v.Va),m.xb=function(_,T){return typeof _=="function"?m.o(_,T,{pure:!0}):(_=m.a.extend({},_),_.pure=!0,m.o(_,T))},m.b("pureComputed",m.xb),function(){function _(D,R,F){if(F=F||new w,D=R(D),typeof D!="object"||D===null||D===e||D instanceof RegExp||D instanceof Date||D instanceof String||D instanceof Number||D instanceof Boolean)return D;var z=D instanceof Array?[]:{};return F.save(D,z),T(D,function(k){var H=R(D[k]);switch(typeof H){case"boolean":case"number":case"string":case"function":z[k]=H;break;case"object":case"undefined":var V=F.get(H);z[k]=V!==e?V:_(H,R,F)}}),z}function T(D,R){if(D instanceof Array){for(var F=0;F<D.length;F++)R(F);typeof D.toJSON=="function"&&R("toJSON")}else for(F in D)R(F)}function w(){this.keys=[],this.values=[]}m.ad=function(D){if(arguments.length==0)throw Error("When calling ko.toJS, pass the object you want to convert.");return _(D,function(R){for(var F=0;m.O(R)&&10>F;F++)R=R();return R})},m.toJSON=function(D,R,F){return D=m.ad(D),m.a.hc(D,R,F)},w.prototype={constructor:w,save:function(D,R){var F=m.a.A(this.keys,D);0<=F?this.values[F]=R:(this.keys.push(D),this.values.push(R))},get:function(D){return D=m.a.A(this.keys,D),0<=D?this.values[D]:e}}}(),m.b("toJS",m.ad),m.b("toJSON",m.toJSON),m.Wd=function(_,T,w){function D(R){var F=m.xb(_,w).extend({ma:"always"}),z=F.subscribe(function(k){k&&(z.s(),R(k))});return F.notifySubscribers(F.v()),z}return typeof Promise!="function"||T?D(T.bind(w)):new Promise(D)},m.b("when",m.Wd),function(){m.w={M:function(_){switch(m.a.R(_)){case"option":return _.__ko__hasDomDataOptionValue__===!0?m.a.g.get(_,m.c.options.$b):7>=m.a.W?_.getAttributeNode("value")&&_.getAttributeNode("value").specified?_.value:_.text:_.value;case"select":return 0<=_.selectedIndex?m.w.M(_.options[_.selectedIndex]):e;default:return _.value}},cb:function(_,T,w){switch(m.a.R(_)){case"option":typeof T=="string"?(m.a.g.set(_,m.c.options.$b,e),"__ko__hasDomDataOptionValue__"in _&&delete _.__ko__hasDomDataOptionValue__,_.value=T):(m.a.g.set(_,m.c.options.$b,T),_.__ko__hasDomDataOptionValue__=!0,_.value=typeof T=="number"?T:"");break;case"select":(T===""||T===null)&&(T=e);for(var D=-1,R=0,F=_.options.length,z;R<F;++R)if(z=m.w.M(_.options[R]),z==T||z===""&&T===e){D=R;break}(w||0<=D||T===e&&1<_.size)&&(_.selectedIndex=D,m.a.W===6&&m.a.setTimeout(function(){_.selectedIndex=D},0));break;default:(T===null||T===e)&&(T=""),_.value=T}}}}(),m.b("selectExtensions",m.w),m.b("selectExtensions.readValue",m.w.M),m.b("selectExtensions.writeValue",m.w.cb),m.m=function(){function _(k){k=m.a.Db(k),k.charCodeAt(0)===123&&(k=k.slice(1,-1)),k+=`
  8657. ,`;var H=[],V=k.match(D),Y,q=[],X=0;if(1<V.length){for(var W=0,K;K=V[W];++W){var $=K.charCodeAt(0);if($===44){if(0>=X){H.push(Y&&q.length?{key:Y,value:q.join("")}:{unknown:Y||q.join("")}),Y=X=0,q=[];continue}}else if($===58){if(!X&&!Y&&q.length===1){Y=q.pop();continue}}else{if($===47&&1<K.length&&(K.charCodeAt(1)===47||K.charCodeAt(1)===42))continue;$===47&&W&&1<K.length?($=V[W-1].match(R))&&!F[$[0]]&&(k=k.substr(k.indexOf(K)+1),V=k.match(D),W=-1,K="/"):$===40||$===123||$===91?++X:$===41||$===125||$===93?--X:Y||q.length||$!==34&&$!==39||(K=K.slice(1,-1))}q.push(K)}if(0<X)throw Error("Unbalanced parentheses, braces, or brackets")}return H}var T=["true","false","null","undefined"],w=/^(?:[$_a-z][$\w]*|(.+)(\.\s*[$_a-z][$\w]*|\[.+\]))$/i,D=RegExp(`"(?:\\\\.|[^"])*"|'(?:\\\\.|[^'])*'|\`(?:\\\\.|[^\`])*\`|/\\*(?:[^*]|\\*+[^*/])*\\*+/|//.*
  8658. |/(?:\\\\.|[^/])+/w*|[^\\s:,/][^,"'\`{}()/:[\\]]*[^\\s,"'\`{}()/:[\\]]|[^\\s]`,"g"),R=/[\])"'A-Za-z0-9_$]+$/,F={in:1,return:1,typeof:1},z={};return{Ra:[],wa:z,ac:_,vb:function(k,H){function V($,le){var me;if(!W){var ie=m.getBindingHandler($);if(ie&&ie.preprocess&&!(le=ie.preprocess(le,$,V)))return;(ie=z[$])&&(me=le,0<=m.a.A(T,me)?me=!1:(ie=me.match(w),me=ie===null?!1:ie[1]?"Object("+ie[1]+")"+ie[2]:me),ie=me),ie&&q.push("'"+(typeof z[$]=="string"?z[$]:$)+"':function(_z){"+me+"=_z}")}X&&(le="function(){return "+le+" }"),Y.push("'"+$+"':"+le)}H=H||{};var Y=[],q=[],X=H.valueAccessors,W=H.bindingParams,K=typeof k=="string"?_(k):k;return m.a.D(K,function($){V($.key||$.unknown,$.value)}),q.length&&V("_ko_property_writers","{"+q.join(",")+" }"),Y.join(",")},Id:function(k,H){for(var V=0;V<k.length;V++)if(k[V].key==H)return!0;return!1},eb:function(k,H,V,Y,q){k&&m.O(k)?!m.Za(k)||q&&k.v()===Y||k(Y):(k=H.get("_ko_property_writers"))&&k[V]&&k[V](Y)}}}(),m.b("expressionRewriting",m.m),m.b("expressionRewriting.bindingRewriteValidators",m.m.Ra),m.b("expressionRewriting.parseObjectLiteral",m.m.ac),m.b("expressionRewriting.preProcessBindings",m.m.vb),m.b("expressionRewriting._twoWayBindings",m.m.wa),m.b("jsonExpressionRewriting",m.m),m.b("jsonExpressionRewriting.insertPropertyAccessorsIntoJson",m.m.vb),function(){function _(V){return V.nodeType==8&&F.test(R?V.text:V.nodeValue)}function T(V){return V.nodeType==8&&z.test(R?V.text:V.nodeValue)}function w(V,Y){for(var q=V,X=1,W=[];q=q.nextSibling;){if(T(q)&&(m.a.g.set(q,H,!0),X--,X===0))return W;W.push(q),_(q)&&X++}if(!Y)throw Error("Cannot find closing comment tag to match: "+V.nodeValue);return null}function D(V,Y){var q=w(V,Y);return q?0<q.length?q[q.length-1].nextSibling:V.nextSibling:null}var R=n&&n.createComment("test").text==="<!--test-->",F=R?/^\x3c!--\s*ko(?:\s+([\s\S]+))?\s*--\x3e$/:/^\s*ko(?:\s+([\s\S]+))?\s*$/,z=R?/^\x3c!--\s*\/ko\s*--\x3e$/:/^\s*\/ko\s*$/,k={ul:!0,ol:!0},H="__ko_matchedEndComment__";m.h={ea:{},childNodes:function(V){return _(V)?w(V):V.childNodes},Ea:function(V){if(_(V)){V=m.h.childNodes(V);for(var Y=0,q=V.length;Y<q;Y++)m.removeNode(V[Y])}else m.a.Tb(V)},va:function(V,Y){if(_(V)){m.h.Ea(V);for(var q=V.nextSibling,X=0,W=Y.length;X<W;X++)q.parentNode.insertBefore(Y[X],q)}else m.a.va(V,Y)},Vc:function(V,Y){var q;_(V)?(q=V.nextSibling,V=V.parentNode):q=V.firstChild,q?Y!==q&&V.insertBefore(Y,q):V.appendChild(Y)},Wb:function(V,Y,q){q?(q=q.nextSibling,_(V)&&(V=V.parentNode),q?Y!==q&&V.insertBefore(Y,q):V.appendChild(Y)):m.h.Vc(V,Y)},firstChild:function(V){if(_(V))return!V.nextSibling||T(V.nextSibling)?null:V.nextSibling;if(V.firstChild&&T(V.firstChild))throw Error("Found invalid end comment, as the first child of "+V);return V.firstChild},nextSibling:function(V){if(_(V)&&(V=D(V)),V.nextSibling&&T(V.nextSibling)){var Y=V.nextSibling;if(T(Y)&&!m.a.g.get(Y,H))throw Error("Found end comment without a matching opening comment, as child of "+V);return null}return V.nextSibling},Cd:_,Vd:function(V){return(V=(R?V.text:V.nodeValue).match(F))?V[1]:null},Sc:function(V){if(k[m.a.R(V)]){var Y=V.firstChild;if(Y)do if(Y.nodeType===1){var q;q=Y.firstChild;var X=null;if(q)do if(X)X.push(q);else if(_(q)){var W=D(q,!0);W?q=W:X=[q]}else T(q)&&(X=[q]);while(q=q.nextSibling);if(q=X)for(X=Y.nextSibling,W=0;W<q.length;W++)X?V.insertBefore(q[W],X):V.appendChild(q[W])}while(Y=Y.nextSibling)}}}}(),m.b("virtualElements",m.h),m.b("virtualElements.allowedBindings",m.h.ea),m.b("virtualElements.emptyNode",m.h.Ea),m.b("virtualElements.insertAfter",m.h.Wb),m.b("virtualElements.prepend",m.h.Vc),m.b("virtualElements.setDomNodeChildren",m.h.va),function(){m.ga=function(){this.nd={}},m.a.extend(m.ga.prototype,{nodeHasBindings:function(_){switch(_.nodeType){case 1:return _.getAttribute("data-bind")!=null||m.j.getComponentNameForNode(_);case 8:return m.h.Cd(_);default:return!1}},getBindings:function(_,T){var w=this.getBindingsString(_,T),w=w?this.parseBindingsString(w,T,_):null;return m.j.tc(w,_,T,!1)},getBindingAccessors:function(_,T){var w=this.getBindingsString(_,T),w=w?this.parseBindingsString(w,T,_,{valueAccessors:!0}):null;return m.j.tc(w,_,T,!0)},getBindingsString:function(_){switch(_.nodeType){case 1:return _.getAttribute("data-bind");case 8:return m.h.Vd(_);default:return null}},parseBindingsString:function(_,T,w,D){try{var R=this.nd,F=_+(D&&D.valueAccessors||""),z;if(!(z=R[F])){var k,H="with($context){with($data||{}){return{"+m.m.vb(_,D)+"}}}";k=new Function("$context","$element",H),z=R[F]=k}return z(T,w)}catch(V){throw V.message=`Unable to parse bindings.
  8659. Bindings value: `+_+`
  8660. Message: `+V.message,V}}}),m.ga.instance=new m.ga}(),m.b("bindingProvider",m.ga),function(){function _(ie){var ce=(ie=m.a.g.get(ie,me))&&ie.N;ce&&(ie.N=null,ce.Tc())}function T(ie,ce,pe){this.node=ie,this.yc=ce,this.kb=[],this.H=!1,ce.N||m.a.K.za(ie,_),pe&&pe.N&&(pe.N.kb.push(ie),this.Kb=pe)}function w(ie){return function(){return ie}}function D(ie){return ie()}function R(ie){return m.a.Ga(m.u.G(ie),function(ce,pe){return function(){return ie()[pe]}})}function F(ie,ce,pe){return typeof ie=="function"?R(ie.bind(null,ce,pe)):m.a.Ga(ie,w)}function z(ie,ce){return R(this.getBindings.bind(this,ie,ce))}function k(ie,ce){var pe=m.h.firstChild(ce);if(pe){var Ae,we=m.ga.instance,Re=we.preprocessNode;if(Re){for(;Ae=pe;)pe=m.h.nextSibling(Ae),Re.call(we,Ae);pe=m.h.firstChild(ce)}for(;Ae=pe;)pe=m.h.nextSibling(Ae),H(ie,Ae)}m.i.ma(ce,m.i.H)}function H(ie,ce){var pe=ie,Ae=ce.nodeType===1;Ae&&m.h.Sc(ce),(Ae||m.ga.instance.nodeHasBindings(ce))&&(pe=Y(ce,null,ie).bindingContextForDescendants),pe&&!$[m.a.R(ce)]&&k(pe,ce)}function V(ie){var ce=[],pe={},Ae=[];return m.a.P(ie,function we(Re){if(!pe[Re]){var Ue=m.getBindingHandler(Re);Ue&&(Ue.after&&(Ae.push(Re),m.a.D(Ue.after,function(bt){if(ie[bt]){if(m.a.A(Ae,bt)!==-1)throw Error("Cannot combine the following bindings, because they have a cyclic dependency: "+Ae.join(", "));we(bt)}}),Ae.length--),ce.push({key:Re,Mc:Ue})),pe[Re]=!0}}),ce}function Y(ie,ce,pe){var Ae=m.a.g.Ub(ie,me,{}),we=Ae.hd;if(!ce){if(we)throw Error("You cannot apply bindings multiple times to the same element.");Ae.hd=!0}we||(Ae.context=pe),Ae.Zb||(Ae.Zb={});var Re;if(ce&&typeof ce!="function")Re=ce;else{var Ue=m.ga.instance,bt=Ue.getBindingAccessors||z,Ut=m.$(function(){return(Re=ce?ce(pe,ie):bt.call(Ue,ie,pe))&&(pe[X]&&pe[X](),pe[K]&&pe[K]()),Re},null,{l:ie});Re&&Ut.ja()||(Ut=null)}var sn=pe,dt;if(Re){var vn=function(){return m.a.Ga(Ut?Ut():Re,D)},Jn=Ut?function(ot){return function(){return D(Ut()[ot])}}:function(ot){return Re[ot]};vn.get=function(ot){return Re[ot]&&D(Jn(ot))},vn.has=function(ot){return ot in Re},m.i.H in Re&&m.i.subscribe(ie,m.i.H,function(){var ot=(0,Re[m.i.H])();if(ot){var zt=m.h.childNodes(ie);zt.length&&ot(zt,m.Ec(zt[0]))}}),m.i.pa in Re&&(sn=m.i.Cb(ie,pe),m.i.subscribe(ie,m.i.pa,function(){var ot=(0,Re[m.i.pa])();ot&&m.h.firstChild(ie)&&ot(ie)})),Ae=V(Re),m.a.D(Ae,function(ot){var zt=ot.Mc.init,qn=ot.Mc.update,Se=ot.key;if(ie.nodeType===8&&!m.h.ea[Se])throw Error("The binding '"+Se+"' cannot be used with virtual elements");try{typeof zt=="function"&&m.u.G(function(){var _t=zt(ie,Jn(Se),vn,sn.$data,sn);if(_t&&_t.controlsDescendantBindings){if(dt!==e)throw Error("Multiple bindings ("+dt+" and "+Se+") are trying to control descendant bindings of the same element. You cannot use these bindings together on the same element.");dt=Se}}),typeof qn=="function"&&m.$(function(){qn(ie,Jn(Se),vn,sn.$data,sn)},null,{l:ie})}catch(_t){throw _t.message='Unable to process binding "'+Se+": "+Re[Se]+`"
  8661. Message: `+_t.message,_t}})}return Ae=dt===e,{shouldBindDescendants:Ae,bindingContextForDescendants:Ae&&sn}}function q(ie,ce){return ie&&ie instanceof m.fa?ie:new m.fa(ie,e,e,ce)}var X=m.a.Da("_subscribable"),W=m.a.Da("_ancestorBindingInfo"),K=m.a.Da("_dataDependency");m.c={};var $={script:!0,textarea:!0,template:!0};m.getBindingHandler=function(ie){return m.c[ie]};var le={};m.fa=function(ie,ce,pe,Ae,we){function Re(){var Jn=sn?Ut():Ut,ot=m.a.f(Jn);return ce?(m.a.extend(Ue,ce),W in ce&&(Ue[W]=ce[W])):(Ue.$parents=[],Ue.$root=ot,Ue.ko=m),Ue[X]=dt,bt?ot=Ue.$data:(Ue.$rawData=Jn,Ue.$data=ot),pe&&(Ue[pe]=ot),Ae&&Ae(Ue,ce,ot),ce&&ce[X]&&!m.S.o().Vb(ce[X])&&ce[X](),vn&&(Ue[K]=vn),Ue.$data}var Ue=this,bt=ie===le,Ut=bt?e:ie,sn=typeof Ut=="function"&&!m.O(Ut),dt,vn=we&&we.dataDependency;we&&we.exportDependencies?Re():(dt=m.xb(Re),dt.v(),dt.ja()?dt.equalityComparer=null:Ue[X]=e)},m.fa.prototype.createChildContext=function(ie,ce,pe,Ae){if(!Ae&&ce&&typeof ce=="object"&&(Ae=ce,ce=Ae.as,pe=Ae.extend),ce&&Ae&&Ae.noChildContext){var we=typeof ie=="function"&&!m.O(ie);return new m.fa(le,this,null,function(Re){pe&&pe(Re),Re[ce]=we?ie():ie},Ae)}return new m.fa(ie,this,ce,function(Re,Ue){Re.$parentContext=Ue,Re.$parent=Ue.$data,Re.$parents=(Ue.$parents||[]).slice(0),Re.$parents.unshift(Re.$parent),pe&&pe(Re)},Ae)},m.fa.prototype.extend=function(ie,ce){return new m.fa(le,this,null,function(pe){m.a.extend(pe,typeof ie=="function"?ie(pe):ie)},ce)};var me=m.a.g.Z();T.prototype.Tc=function(){this.Kb&&this.Kb.N&&this.Kb.N.sd(this.node)},T.prototype.sd=function(ie){m.a.Pa(this.kb,ie),!this.kb.length&&this.H&&this.Cc()},T.prototype.Cc=function(){this.H=!0,this.yc.N&&!this.kb.length&&(this.yc.N=null,m.a.K.yb(this.node,_),m.i.ma(this.node,m.i.pa),this.Tc())},m.i={H:"childrenComplete",pa:"descendantsComplete",subscribe:function(ie,ce,pe,Ae,we){var Re=m.a.g.Ub(ie,me,{});return Re.Fa||(Re.Fa=new m.T),we&&we.notifyImmediately&&Re.Zb[ce]&&m.u.G(pe,Ae,[ie]),Re.Fa.subscribe(pe,Ae,ce)},ma:function(ie,ce){var pe=m.a.g.get(ie,me);if(pe&&(pe.Zb[ce]=!0,pe.Fa&&pe.Fa.notifySubscribers(ie,ce),ce==m.i.H)){if(pe.N)pe.N.Cc();else if(pe.N===e&&pe.Fa&&pe.Fa.Wa(m.i.pa))throw Error("descendantsComplete event not supported for bindings on this node")}},Cb:function(ie,ce){var pe=m.a.g.Ub(ie,me,{});return pe.N||(pe.N=new T(ie,pe,ce[W])),ce[W]==pe?ce:ce.extend(function(Ae){Ae[W]=pe})}},m.Td=function(ie){return(ie=m.a.g.get(ie,me))&&ie.context},m.ib=function(ie,ce,pe){return ie.nodeType===1&&m.h.Sc(ie),Y(ie,ce,q(pe))},m.ld=function(ie,ce,pe){return pe=q(pe),m.ib(ie,F(ce,pe,ie),pe)},m.Oa=function(ie,ce){ce.nodeType!==1&&ce.nodeType!==8||k(q(ie),ce)},m.vc=function(ie,ce,pe){if(!o&&t.jQuery&&(o=t.jQuery),2>arguments.length){if(ce=n.body,!ce)throw Error("ko.applyBindings: could not find document.body; has the document been loaded?")}else if(!ce||ce.nodeType!==1&&ce.nodeType!==8)throw Error("ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node");H(q(ie,pe),ce)},m.Dc=function(ie){return!ie||ie.nodeType!==1&&ie.nodeType!==8?e:m.Td(ie)},m.Ec=function(ie){return(ie=m.Dc(ie))?ie.$data:e},m.b("bindingHandlers",m.c),m.b("bindingEvent",m.i),m.b("bindingEvent.subscribe",m.i.subscribe),m.b("bindingEvent.startPossiblyAsyncContentBinding",m.i.Cb),m.b("applyBindings",m.vc),m.b("applyBindingsToDescendants",m.Oa),m.b("applyBindingAccessorsToNode",m.ib),m.b("applyBindingsToNode",m.ld),m.b("contextFor",m.Dc),m.b("dataFor",m.Ec)}(),function(_){function T(z,k){var H=Object.prototype.hasOwnProperty.call(R,z)?R[z]:_,V;H?H.subscribe(k):(H=R[z]=new m.T,H.subscribe(k),w(z,function(Y,q){var X=!(!q||!q.synchronous);F[z]={definition:Y,Gd:X},delete R[z],V||X?H.notifySubscribers(Y):m.na.zb(function(){H.notifySubscribers(Y)})}),V=!0)}function w(z,k){D("getConfig",[z],function(H){H?D("loadComponent",[z,H],function(V){k(V,H)}):k(null,null)})}function D(z,k,H,V){V||(V=m.j.loaders.slice(0));var Y=V.shift();if(Y){var q=Y[z];if(q){var X=!1;if(q.apply(Y,k.concat(function(W){X?H(null):W!==null?H(W):D(z,k,H,V)}))!==_&&(X=!0,!Y.suppressLoaderExceptions))throw Error("Component loaders must supply values by invoking the callback, not by returning values synchronously.")}else D(z,k,H,V)}else H(null)}var R={},F={};m.j={get:function(z,k){var H=Object.prototype.hasOwnProperty.call(F,z)?F[z]:_;H?H.Gd?m.u.G(function(){k(H.definition)}):m.na.zb(function(){k(H.definition)}):T(z,k)},Bc:function(z){delete F[z]},oc:D},m.j.loaders=[],m.b("components",m.j),m.b("components.get",m.j.get),m.b("components.clearCachedDefinition",m.j.Bc)}(),function(){function _(H,V,Y,q){function X(){--K===0&&q(W)}var W={},K=2,$=Y.template;Y=Y.viewModel,$?R(V,$,function(le){m.j.oc("loadTemplate",[H,le],function(me){W.template=me,X()})}):X(),Y?R(V,Y,function(le){m.j.oc("loadViewModel",[H,le],function(me){W[k]=me,X()})}):X()}function T(H,V,Y){if(typeof V=="function")Y(function(X){return new V(X)});else if(typeof V[k]=="function")Y(V[k]);else if("instance"in V){var q=V.instance;Y(function(){return q})}else"viewModel"in V?T(H,V.viewModel,Y):H("Unknown viewModel value: "+V)}function w(H){switch(m.a.R(H)){case"script":return m.a.ua(H.text);case"textarea":return m.a.ua(H.value);case"template":if(D(H.content))return m.a.Ca(H.content.childNodes)}return m.a.Ca(H.childNodes)}function D(H){return t.DocumentFragment?H instanceof DocumentFragment:H&&H.nodeType===11}function R(H,V,Y){typeof V.require=="string"?a||t.require?(a||t.require)([V.require],function(q){q&&typeof q=="object"&&q.Xd&&q.default&&(q=q.default),Y(q)}):H("Uses require, but no AMD loader is present"):Y(V)}function F(H){return function(V){throw Error("Component '"+H+"': "+V)}}var z={};m.j.register=function(H,V){if(!V)throw Error("Invalid configuration for "+H);if(m.j.tb(H))throw Error("Component "+H+" is already registered");z[H]=V},m.j.tb=function(H){return Object.prototype.hasOwnProperty.call(z,H)},m.j.unregister=function(H){delete z[H],m.j.Bc(H)},m.j.Fc={getConfig:function(H,V){V(m.j.tb(H)?z[H]:null)},loadComponent:function(H,V,Y){var q=F(H);R(q,V,function(X){_(H,q,X,Y)})},loadTemplate:function(H,V,Y){if(H=F(H),typeof V=="string")Y(m.a.ua(V));else if(V instanceof Array)Y(V);else if(D(V))Y(m.a.la(V.childNodes));else if(V.element)if(V=V.element,t.HTMLElement?V instanceof HTMLElement:V&&V.tagName&&V.nodeType===1)Y(w(V));else if(typeof V=="string"){var q=n.getElementById(V);q?Y(w(q)):H("Cannot find element with ID "+V)}else H("Unknown element type: "+V);else H("Unknown template value: "+V)},loadViewModel:function(H,V,Y){T(F(H),V,Y)}};var k="createViewModel";m.b("components.register",m.j.register),m.b("components.isRegistered",m.j.tb),m.b("components.unregister",m.j.unregister),m.b("components.defaultLoader",m.j.Fc),m.j.loaders.push(m.j.Fc),m.j.dd=z}(),function(){function _(w,D){var R=w.getAttribute("params");if(R){var R=T.parseBindingsString(R,D,w,{valueAccessors:!0,bindingParams:!0}),R=m.a.Ga(R,function(k){return m.o(k,null,{l:w})}),F=m.a.Ga(R,function(k){var H=k.v();return k.ja()?m.o({read:function(){return m.a.f(k())},write:m.Za(H)&&function(V){k()(V)},l:w}):H});return Object.prototype.hasOwnProperty.call(F,"$raw")||(F.$raw=R),F}return{$raw:{}}}m.j.getComponentNameForNode=function(w){var D=m.a.R(w);if(m.j.tb(D)&&(D.indexOf("-")!=-1||""+w=="[object HTMLUnknownElement]"||8>=m.a.W&&w.tagName===D))return D},m.j.tc=function(w,D,R,F){if(D.nodeType===1){var z=m.j.getComponentNameForNode(D);if(z){if(w=w||{},w.component)throw Error('Cannot use the "component" binding on a custom element matching a component');var k={name:z,params:_(D,R)};w.component=F?function(){return k}:k}}return w};var T=new m.ga;9>m.a.W&&(m.j.register=function(w){return function(D){return w.apply(this,arguments)}}(m.j.register),n.createDocumentFragment=function(w){return function(){var D=w(),R=m.j.dd,F;for(F in R);return D}}(n.createDocumentFragment))}(),function(){function _(D,R,F){if(R=R.template,!R)throw Error("Component '"+D+"' has no template");D=m.a.Ca(R),m.h.va(F,D)}function T(D,R,F){var z=D.createViewModel;return z?z.call(D,R,F):R}var w=0;m.c.component={init:function(D,R,F,z,k){function H(){var W=V&&V.dispose;typeof W=="function"&&W.call(V),q&&q.s(),Y=V=q=null}var V,Y,q,X=m.a.la(m.h.childNodes(D));return m.h.Ea(D),m.a.K.za(D,H),m.o(function(){var W=m.a.f(R()),K,$;if(typeof W=="string"?K=W:(K=m.a.f(W.name),$=m.a.f(W.params)),!K)throw Error("No component name specified");var le=m.i.Cb(D,k),me=Y=++w;m.j.get(K,function(ie){if(Y===me){if(H(),!ie)throw Error("Unknown component '"+K+"'");_(K,ie,D);var ce=T(ie,$,{element:D,templateNodes:X});ie=le.createChildContext(ce,{extend:function(pe){pe.$component=ce,pe.$componentTemplateNodes=X}}),ce&&ce.koDescendantsComplete&&(q=m.i.subscribe(D,m.i.pa,ce.koDescendantsComplete,ce)),V=ce,m.Oa(ie,D)}})},null,{l:D}),{controlsDescendantBindings:!0}}},m.h.ea.component=!0}();var B={class:"className",for:"htmlFor"};m.c.attr={update:function(_,T){var w=m.a.f(T())||{};m.a.P(w,function(D,R){R=m.a.f(R);var F=D.indexOf(":"),F="lookupNamespaceURI"in _&&0<F&&_.lookupNamespaceURI(D.substr(0,F)),z=R===!1||R===null||R===e;z?F?_.removeAttributeNS(F,D):_.removeAttribute(D):R=R.toString(),8>=m.a.W&&D in B?(D=B[D],z?_.removeAttribute(D):_[D]=R):z||(F?_.setAttributeNS(F,D,R):_.setAttribute(D,R)),D==="name"&&m.a.Yc(_,z?"":R)})}},function(){m.c.checked={after:["value","attr"],init:function(_,T,w){function D(){var W=_.checked,K=F();if(!m.S.Ya()&&(W||!k&&!m.S.qa())){var $=m.u.G(T);if(V){var le=Y?$.v():$,me=X;X=K,me!==K?W&&(m.a.Na(le,K,!0),m.a.Na(le,me,!1)):m.a.Na(le,K,W),Y&&m.Za($)&&$(le)}else z&&(K===e?K=W:W||(K=e)),m.m.eb($,w,"checked",K,!0)}}function R(){var W=m.a.f(T()),K=F();V?(_.checked=0<=m.a.A(W,K),X=K):_.checked=z&&K===e?!!W:F()===W}var F=m.xb(function(){if(w.has("checkedValue"))return m.a.f(w.get("checkedValue"));if(q)return w.has("value")?m.a.f(w.get("value")):_.value}),z=_.type=="checkbox",k=_.type=="radio";if(z||k){var H=T(),V=z&&m.a.f(H)instanceof Array,Y=!(V&&H.push&&H.splice),q=k||V,X=V?F():e;k&&!_.name&&m.c.uniqueName.init(_,function(){return!0}),m.o(D,null,{l:_}),m.a.B(_,"click",D),m.o(R,null,{l:_}),H=e}}},m.m.wa.checked=!0,m.c.checkedValue={update:function(_,T){_.value=m.a.f(T())}}}(),m.c.class={update:function(_,T){var w=m.a.Db(m.a.f(T()));m.a.Eb(_,_.__ko__cssValue,!1),_.__ko__cssValue=w,m.a.Eb(_,w,!0)}},m.c.css={update:function(_,T){var w=m.a.f(T());w!==null&&typeof w=="object"?m.a.P(w,function(D,R){R=m.a.f(R),m.a.Eb(_,D,R)}):m.c.class.update(_,T)}},m.c.enable={update:function(_,T){var w=m.a.f(T());w&&_.disabled?_.removeAttribute("disabled"):w||_.disabled||(_.disabled=!0)}},m.c.disable={update:function(_,T){m.c.enable.update(_,function(){return!m.a.f(T())})}},m.c.event={init:function(_,T,w,D,R){var F=T()||{};m.a.P(F,function(z){typeof z=="string"&&m.a.B(_,z,function(k){var H,V=T()[z];if(V){try{var Y=m.a.la(arguments);D=R.$data,Y.unshift(D),H=V.apply(D,Y)}finally{H!==!0&&(k.preventDefault?k.preventDefault():k.returnValue=!1)}w.get(z+"Bubble")===!1&&(k.cancelBubble=!0,k.stopPropagation&&k.stopPropagation())}})})}},m.c.foreach={Rc:function(_){return function(){var T=_(),w=m.a.bc(T);return!w||typeof w.length=="number"?{foreach:T,templateEngine:m.ba.Ma}:(m.a.f(T),{foreach:w.data,as:w.as,noChildContext:w.noChildContext,includeDestroyed:w.includeDestroyed,afterAdd:w.afterAdd,beforeRemove:w.beforeRemove,afterRender:w.afterRender,beforeMove:w.beforeMove,afterMove:w.afterMove,templateEngine:m.ba.Ma})}},init:function(_,T){return m.c.template.init(_,m.c.foreach.Rc(T))},update:function(_,T,w,D,R){return m.c.template.update(_,m.c.foreach.Rc(T),w,D,R)}},m.m.Ra.foreach=!1,m.h.ea.foreach=!0,m.c.hasfocus={init:function(_,T,w){function D(z){_.__ko_hasfocusUpdating=!0;var k=_.ownerDocument;if("activeElement"in k){var H;try{H=k.activeElement}catch{H=k.body}z=H===_}k=T(),m.m.eb(k,w,"hasfocus",z,!0),_.__ko_hasfocusLastValue=z,_.__ko_hasfocusUpdating=!1}var R=D.bind(null,!0),F=D.bind(null,!1);m.a.B(_,"focus",R),m.a.B(_,"focusin",R),m.a.B(_,"blur",F),m.a.B(_,"focusout",F),_.__ko_hasfocusLastValue=!1},update:function(_,T){var w=!!m.a.f(T());_.__ko_hasfocusUpdating||_.__ko_hasfocusLastValue===w||(w?_.focus():_.blur(),!w&&_.__ko_hasfocusLastValue&&_.ownerDocument.body.focus(),m.u.G(m.a.Fb,null,[_,w?"focusin":"focusout"]))}},m.m.wa.hasfocus=!0,m.c.hasFocus=m.c.hasfocus,m.m.wa.hasFocus="hasfocus",m.c.html={init:function(){return{controlsDescendantBindings:!0}},update:function(_,T){m.a.fc(_,T())}},function(){function _(T,w,D){m.c[T]={init:function(R,F,z,k,H){var V,Y,q={},X,W,K;if(w){k=z.get("as");var $=z.get("noChildContext");K=!(k&&$),q={as:k,noChildContext:$,exportDependencies:K}}return W=(X=z.get("completeOn")=="render")||z.has(m.i.pa),m.o(function(){var le=m.a.f(F()),me=!D!=!le,ie=!Y,ce;(K||me!==V)&&(W&&(H=m.i.Cb(R,H)),me&&((!w||K)&&(q.dataDependency=m.S.o()),ce=w?H.createChildContext(typeof le=="function"?le:F,q):m.S.qa()?H.extend(null,q):H),ie&&m.S.qa()&&(Y=m.a.Ca(m.h.childNodes(R),!0)),me?(ie||m.h.va(R,m.a.Ca(Y)),m.Oa(ce,R)):(m.h.Ea(R),X||m.i.ma(R,m.i.H)),V=me)},null,{l:R}),{controlsDescendantBindings:!0}}},m.m.Ra[T]=!1,m.h.ea[T]=!0}_("if"),_("ifnot",!1,!0),_("with",!0)}(),m.c.let={init:function(_,T,w,D,R){return T=R.extend(T),m.Oa(T,_),{controlsDescendantBindings:!0}}},m.h.ea.let=!0;var L={};m.c.options={init:function(_){if(m.a.R(_)!=="select")throw Error("options binding applies only to SELECT elements");for(;0<_.length;)_.remove(0);return{controlsDescendantBindings:!0}},update:function(_,T,w){function D(){return m.a.jb(_.options,function($){return $.selected})}function R($,le,me){var ie=typeof le;return ie=="function"?le($):ie=="string"?$[le]:me}function F($,le){if(W&&V)m.i.ma(_,m.i.H);else if(X.length){var me=0<=m.a.A(X,m.w.M(le[0]));m.a.Zc(le[0],me),W&&!me&&m.u.G(m.a.Fb,null,[_,"change"])}}var z=_.multiple,k=_.length!=0&&z?_.scrollTop:null,H=m.a.f(T()),V=w.get("valueAllowUnset")&&w.has("value"),Y=w.get("optionsIncludeDestroyed");T={};var q,X=[];V||(z?X=m.a.Mb(D(),m.w.M):0<=_.selectedIndex&&X.push(m.w.M(_.options[_.selectedIndex]))),H&&(typeof H.length>"u"&&(H=[H]),q=m.a.jb(H,function($){return Y||$===e||$===null||!m.a.f($._destroy)}),w.has("optionsCaption")&&(H=m.a.f(w.get("optionsCaption")),H!==null&&H!==e&&q.unshift(L)));var W=!1;if(T.beforeRemove=function($){_.removeChild($)},H=F,w.has("optionsAfterRender")&&typeof w.get("optionsAfterRender")=="function"&&(H=function($,le){F(0,le),m.u.G(w.get("optionsAfterRender"),null,[le[0],$!==L?$:e])}),m.a.ec(_,q,function($,le,me){return me.length&&(X=!V&&me[0].selected?[m.w.M(me[0])]:[],W=!0),le=_.ownerDocument.createElement("option"),$===L?(m.a.Bb(le,w.get("optionsCaption")),m.w.cb(le,e)):(me=R($,w.get("optionsValue"),$),m.w.cb(le,m.a.f(me)),$=R($,w.get("optionsText"),me),m.a.Bb(le,$)),[le]},T,H),!V){var K;z?K=X.length&&D().length<X.length:K=X.length&&0<=_.selectedIndex?m.w.M(_.options[_.selectedIndex])!==X[0]:X.length||0<=_.selectedIndex,K&&m.u.G(m.a.Fb,null,[_,"change"])}(V||m.S.Ya())&&m.i.ma(_,m.i.H),m.a.wd(_),k&&20<Math.abs(k-_.scrollTop)&&(_.scrollTop=k)}},m.c.options.$b=m.a.g.Z(),m.c.selectedOptions={init:function(_,T,w){function D(){var z=T(),k=[];m.a.D(_.getElementsByTagName("option"),function(H){H.selected&&k.push(m.w.M(H))}),m.m.eb(z,w,"selectedOptions",k)}function R(){var z=m.a.f(T()),k=_.scrollTop;z&&typeof z.length=="number"&&m.a.D(_.getElementsByTagName("option"),function(H){var V=0<=m.a.A(z,m.w.M(H));H.selected!=V&&m.a.Zc(H,V)}),_.scrollTop=k}if(m.a.R(_)!="select")throw Error("selectedOptions binding applies only to SELECT elements");var F;m.i.subscribe(_,m.i.H,function(){F?D():(m.a.B(_,"change",D),F=m.o(R,null,{l:_}))},null,{notifyImmediately:!0})},update:function(){}},m.m.wa.selectedOptions=!0,m.c.style={update:function(_,T){var w=m.a.f(T()||{});m.a.P(w,function(D,R){if(R=m.a.f(R),(R===null||R===e||R===!1)&&(R=""),o)o(_).css(D,R);else if(/^--/.test(D))_.style.setProperty(D,R);else{D=D.replace(/-(\w)/g,function(z,k){return k.toUpperCase()});var F=_.style[D];_.style[D]=R,R===F||_.style[D]!=F||isNaN(R)||(_.style[D]=R+"px")}})}},m.c.submit={init:function(_,T,w,D,R){if(typeof T()!="function")throw Error("The value for a submit binding must be a function");m.a.B(_,"submit",function(F){var z,k=T();try{z=k.call(R.$data,_)}finally{z!==!0&&(F.preventDefault?F.preventDefault():F.returnValue=!1)}})}},m.c.text={init:function(){return{controlsDescendantBindings:!0}},update:function(_,T){m.a.Bb(_,T())}},m.h.ea.text=!0,function(){if(t&&t.navigator){var _=function(q){if(q)return parseFloat(q[1])},T=t.navigator.userAgent,w,D,R,F,z;(w=t.opera&&t.opera.version&&parseInt(t.opera.version()))||(z=_(T.match(/Edge\/([^ ]+)$/)))||_(T.match(/Chrome\/([^ ]+)/))||(D=_(T.match(/Version\/([^ ]+) Safari/)))||(R=_(T.match(/Firefox\/([^ ]+)/)))||(F=m.a.W||_(T.match(/MSIE ([^ ]+)/)))||(F=_(T.match(/rv:([^ )]+)/)))}if(8<=F&&10>F)var k=m.a.g.Z(),H=m.a.g.Z(),V=function(q){var X=this.activeElement;(X=X&&m.a.g.get(X,H))&&X(q)},Y=function(q,X){var W=q.ownerDocument;m.a.g.get(W,k)||(m.a.g.set(W,k,!0),m.a.B(W,"selectionchange",V)),m.a.g.set(q,H,X)};m.c.textInput={init:function(q,X,W){function K(Re,Ue){m.a.B(q,Re,Ue)}function $(){var Re=m.a.f(X());(Re===null||Re===e)&&(Re=""),pe!==e&&Re===pe?m.a.setTimeout($,4):q.value!==Re&&(we=!0,q.value=Re,we=!1,ie=q.value)}function le(){ce||(pe=q.value,ce=m.a.setTimeout(me,4))}function me(){clearTimeout(ce),pe=ce=e;var Re=q.value;ie!==Re&&(ie=Re,m.m.eb(X(),W,"textInput",Re))}var ie=q.value,ce,pe,Ae=m.a.W==9?le:me,we=!1;F&&K("keypress",me),11>F&&K("propertychange",function(Re){we||Re.propertyName!=="value"||Ae(Re)}),F==8&&(K("keyup",me),K("keydown",me)),Y&&(Y(q,Ae),K("dragend",le)),(!F||9<=F)&&K("input",Ae),5>D&&m.a.R(q)==="textarea"?(K("keydown",le),K("paste",le),K("cut",le)):11>w?K("keydown",le):4>R?(K("DOMAutoComplete",me),K("dragdrop",me),K("drop",me)):z&&q.type==="number"&&K("keydown",le),K("change",me),K("blur",me),m.o($,null,{l:q})}},m.m.wa.textInput=!0,m.c.textinput={preprocess:function(q,X,W){W("textInput",q)}}}(),m.c.uniqueName={init:function(_,T){if(T()){var w="ko_unique_"+ ++m.c.uniqueName.rd;m.a.Yc(_,w)}}},m.c.uniqueName.rd=0,m.c.using={init:function(_,T,w,D,R){var F;return w.has("as")&&(F={as:w.get("as"),noChildContext:w.get("noChildContext")}),T=R.createChildContext(T,F),m.Oa(T,_),{controlsDescendantBindings:!0}}},m.h.ea.using=!0,m.c.value={init:function(_,T,w){var D=m.a.R(_),R=D=="input";if(!R||_.type!="checkbox"&&_.type!="radio"){var F=[],z=w.get("valueUpdate"),k=!1,H=null;z&&(typeof z=="string"?F=[z]:F=m.a.wc(z),m.a.Pa(F,"change"));var V=function(){H=null,k=!1;var X=T(),W=m.w.M(_);m.m.eb(X,w,"value",W)};!m.a.W||!R||_.type!="text"||_.autocomplete=="off"||_.form&&_.form.autocomplete=="off"||m.a.A(F,"propertychange")!=-1||(m.a.B(_,"propertychange",function(){k=!0}),m.a.B(_,"focus",function(){k=!1}),m.a.B(_,"blur",function(){k&&V()})),m.a.D(F,function(X){var W=V;m.a.Ud(X,"after")&&(W=function(){H=m.w.M(_),m.a.setTimeout(V,0)},X=X.substring(5)),m.a.B(_,X,W)});var Y;if(Y=R&&_.type=="file"?function(){var X=m.a.f(T());X===null||X===e||X===""?_.value="":m.u.G(V)}:function(){var X=m.a.f(T()),W=m.w.M(_);H!==null&&X===H?m.a.setTimeout(Y,0):(X!==W||W===e)&&(D==="select"?(W=w.get("valueAllowUnset"),m.w.cb(_,X,W),W||X===m.w.M(_)||m.u.G(V)):m.w.cb(_,X))},D==="select"){var q;m.i.subscribe(_,m.i.H,function(){q?w.get("valueAllowUnset")?Y():V():(m.a.B(_,"change",V),q=m.o(Y,null,{l:_}))},null,{notifyImmediately:!0})}else m.a.B(_,"change",V),m.o(Y,null,{l:_})}else m.ib(_,{checkedValue:T})},update:function(){}},m.m.wa.value=!0,m.c.visible={update:function(_,T){var w=m.a.f(T()),D=_.style.display!="none";w&&!D?_.style.display="":!w&&D&&(_.style.display="none")}},m.c.hidden={update:function(_,T){m.c.visible.update(_,function(){return!m.a.f(T())})}},function(_){m.c[_]={init:function(T,w,D,R,F){return m.c.event.init.call(this,T,function(){var z={};return z[_]=w(),z},D,R,F)}}}("click"),m.ca=function(){},m.ca.prototype.renderTemplateSource=function(){throw Error("Override renderTemplateSource")},m.ca.prototype.createJavaScriptEvaluatorBlock=function(){throw Error("Override createJavaScriptEvaluatorBlock")},m.ca.prototype.makeTemplateSource=function(_,T){if(typeof _=="string"){T=T||n;var w=T.getElementById(_);if(!w)throw Error("Cannot find template with ID "+_);return new m.C.F(w)}if(_.nodeType==1||_.nodeType==8)return new m.C.ia(_);throw Error("Unknown template type: "+_)},m.ca.prototype.renderTemplate=function(_,T,w,D){return _=this.makeTemplateSource(_,D),this.renderTemplateSource(_,T,w,D)},m.ca.prototype.isTemplateRewritten=function(_,T){return this.allowTemplateRewriting===!1?!0:this.makeTemplateSource(_,T).data("isRewritten")},m.ca.prototype.rewriteTemplate=function(_,T,w){_=this.makeTemplateSource(_,w),T=T(_.text()),_.text(T),_.data("isRewritten",!0)},m.b("templateEngine",m.ca),m.kc=function(){function _(D,R,F,z){D=m.m.ac(D);for(var k=m.m.Ra,H=0;H<D.length;H++){var V=D[H].key;if(Object.prototype.hasOwnProperty.call(k,V)){var Y=k[V];if(typeof Y=="function"){if(V=Y(D[H].value))throw Error(V)}else if(!Y)throw Error("This template engine does not support the '"+V+"' binding within its templates")}}return F="ko.__tr_ambtns(function($context,$element){return(function(){return{ "+m.m.vb(D,{valueAccessors:!0})+" } })()},'"+F.toLowerCase()+"')",z.createJavaScriptEvaluatorBlock(F)+R}var T=/(<([a-z]+\d*)(?:\s+(?!data-bind\s*=\s*)[a-z0-9\-]+(?:=(?:\"[^\"]*\"|\'[^\']*\'|[^>]*))?)*\s+)data-bind\s*=\s*(["'])([\s\S]*?)\3/gi,w=/\x3c!--\s*ko\b\s*([\s\S]*?)\s*--\x3e/g;return{xd:function(D,R,F){R.isTemplateRewritten(D,F)||R.rewriteTemplate(D,function(z){return m.kc.Ld(z,R)},F)},Ld:function(D,R){return D.replace(T,function(F,z,k,H,V){return _(V,z,k,R)}).replace(w,function(F,z){return _(z,"<!-- ko -->","#comment",R)})},md:function(D,R){return m.aa.Xb(function(F,z){var k=F.nextSibling;k&&k.nodeName.toLowerCase()===R&&m.ib(k,D,z)})}}}(),m.b("__tr_ambtns",m.kc.md),function(){m.C={},m.C.F=function(w){if(this.F=w){var D=m.a.R(w);this.ab=D==="script"?1:D==="textarea"?2:D=="template"&&w.content&&w.content.nodeType===11?3:4}},m.C.F.prototype.text=function(){var w=this.ab===1?"text":this.ab===2?"value":"innerHTML";if(arguments.length==0)return this.F[w];var D=arguments[0];w==="innerHTML"?m.a.fc(this.F,D):this.F[w]=D};var _=m.a.g.Z()+"_";m.C.F.prototype.data=function(w){if(arguments.length===1)return m.a.g.get(this.F,_+w);m.a.g.set(this.F,_+w,arguments[1])};var T=m.a.g.Z();m.C.F.prototype.nodes=function(){var w=this.F;if(arguments.length==0){var D=m.a.g.get(w,T)||{},R=D.lb||(this.ab===3?w.content:this.ab===4?w:e);if(!R||D.jd){var F=this.text();F&&F!==D.bb&&(R=m.a.Md(F,w.ownerDocument),m.a.g.set(w,T,{lb:R,bb:F,jd:!0}))}return R}D=arguments[0],this.ab!==e&&this.text(""),m.a.g.set(w,T,{lb:D})},m.C.ia=function(w){this.F=w},m.C.ia.prototype=new m.C.F,m.C.ia.prototype.constructor=m.C.ia,m.C.ia.prototype.text=function(){if(arguments.length==0){var w=m.a.g.get(this.F,T)||{};return w.bb===e&&w.lb&&(w.bb=w.lb.innerHTML),w.bb}m.a.g.set(this.F,T,{bb:arguments[0]})},m.b("templateSources",m.C),m.b("templateSources.domElement",m.C.F),m.b("templateSources.anonymousTemplate",m.C.ia)}(),function(){function _(H,V,Y){var q;for(V=m.h.nextSibling(V);H&&(q=H)!==V;)H=m.h.nextSibling(q),Y(q,H)}function T(H,V){if(H.length){var Y=H[0],q=H[H.length-1],X=Y.parentNode,W=m.ga.instance,K=W.preprocessNode;if(K){if(_(Y,q,function($,le){var me=$.previousSibling,ie=K.call(W,$);ie&&($===Y&&(Y=ie[0]||le),$===q&&(q=ie[ie.length-1]||me))}),H.length=0,!Y)return;Y===q?H.push(Y):(H.push(Y,q),m.a.Ua(H,X))}_(Y,q,function($){$.nodeType!==1&&$.nodeType!==8||m.vc(V,$)}),_(Y,q,function($){$.nodeType!==1&&$.nodeType!==8||m.aa.cd($,[V])}),m.a.Ua(H,X)}}function w(H){return H.nodeType?H:0<H.length?H[0]:null}function D(H,V,Y,q,X){X=X||{};var W=(H&&w(H)||Y||{}).ownerDocument,K=X.templateEngine||F;if(m.kc.xd(Y,K,W),Y=K.renderTemplate(Y,q,X,W),typeof Y.length!="number"||0<Y.length&&typeof Y[0].nodeType!="number")throw Error("Template engine must return an array of DOM nodes");switch(W=!1,V){case"replaceChildren":m.h.va(H,Y),W=!0;break;case"replaceNode":m.a.Xc(H,Y),W=!0;break;case"ignoreTargetNode":break;default:throw Error("Unknown renderMode: "+V)}return W&&(T(Y,q),X.afterRender&&m.u.G(X.afterRender,null,[Y,q[X.as||"$data"]]),V=="replaceChildren"&&m.i.ma(H,m.i.H)),Y}function R(H,V,Y){return m.O(H)?H():typeof H=="function"?H(V,Y):H}var F;m.gc=function(H){if(H!=e&&!(H instanceof m.ca))throw Error("templateEngine must inherit from ko.templateEngine");F=H},m.dc=function(H,V,Y,q,X){if(Y=Y||{},(Y.templateEngine||F)==e)throw Error("Set a template engine before calling renderTemplate");if(X=X||"replaceChildren",q){var W=w(q);return m.$(function(){var $=V&&V instanceof m.fa?V:new m.fa(V,null,null,null,{exportDependencies:!0}),K=R(H,$.$data,$),$=D(q,X,K,$,Y);X=="replaceNode"&&(q=$,W=w(q))},null,{Sa:function(){return!W||!m.a.Sb(W)},l:W&&X=="replaceNode"?W.parentNode:W})}return m.aa.Xb(function(K){m.dc(H,V,Y,K,"replaceNode")})},m.Qd=function(H,V,Y,q,X){function W(pe,Ae){m.u.G(m.a.ec,null,[q,pe,$,Y,K,Ae]),m.i.ma(q,m.i.H)}function K(pe,Ae){T(Ae,le),Y.afterRender&&Y.afterRender(Ae,pe),le=null}function $(pe,Ae){le=X.createChildContext(pe,{as:me,noChildContext:Y.noChildContext,extend:function(Re){Re.$index=Ae,me&&(Re[me+"Index"]=Ae)}});var we=R(H,pe,le);return D(q,"ignoreTargetNode",we,le,Y)}var le,me=Y.as,ie=Y.includeDestroyed===!1||m.options.foreachHidesDestroyed&&!Y.includeDestroyed;if(ie||Y.beforeRemove||!m.Pc(V))return m.$(function(){var pe=m.a.f(V)||[];typeof pe.length>"u"&&(pe=[pe]),ie&&(pe=m.a.jb(pe,function(Ae){return Ae===e||Ae===null||!m.a.f(Ae._destroy)})),W(pe)},null,{l:q});W(V.v());var ce=V.subscribe(function(pe){W(V(),pe)},null,"arrayChange");return ce.l(q),ce};var z=m.a.g.Z(),k=m.a.g.Z();m.c.template={init:function(H,V){var Y=m.a.f(V());if(typeof Y=="string"||"name"in Y)m.h.Ea(H);else if("nodes"in Y){if(Y=Y.nodes||[],m.O(Y))throw Error('The "nodes" option must be a plain, non-observable array.');var q=Y[0]&&Y[0].parentNode;q&&m.a.g.get(q,k)||(q=m.a.Yb(Y),m.a.g.set(q,k,!0)),new m.C.ia(H).nodes(q)}else if(Y=m.h.childNodes(H),0<Y.length)q=m.a.Yb(Y),new m.C.ia(H).nodes(q);else throw Error("Anonymous template defined, but no template content was provided");return{controlsDescendantBindings:!0}},update:function(H,V,Y,q,X){var W=V();V=m.a.f(W),Y=!0,q=null,typeof V=="string"?V={}:(W="name"in V?V.name:H,"if"in V&&(Y=m.a.f(V.if)),Y&&"ifnot"in V&&(Y=!m.a.f(V.ifnot)),Y&&!W&&(Y=!1)),"foreach"in V?q=m.Qd(W,Y&&V.foreach||[],V,H,X):Y?(Y=X,"data"in V&&(Y=X.createChildContext(V.data,{as:V.as,noChildContext:V.noChildContext,exportDependencies:!0})),q=m.dc(W,Y,V,H)):m.h.Ea(H),X=q,(V=m.a.g.get(H,z))&&typeof V.s=="function"&&V.s(),m.a.g.set(H,z,!X||X.ja&&!X.ja()?e:X)}},m.m.Ra.template=function(H){return H=m.m.ac(H),H.length==1&&H[0].unknown||m.m.Id(H,"name")?null:"This template engine does not support anonymous templates nested within its templates"},m.h.ea.template=!0}(),m.b("setTemplateEngine",m.gc),m.b("renderTemplate",m.dc),m.a.Kc=function(_,T,w){if(_.length&&T.length){var D,R,F,z,k;for(D=R=0;(!w||D<w)&&(z=_[R]);++R){for(F=0;k=T[F];++F)if(z.value===k.value){z.moved=k.index,k.moved=z.index,T.splice(F,1),D=F=0;break}D+=F}}},m.a.Pb=function(){function _(T,w,D,R,F){var z=Math.min,k=Math.max,H=[],V,Y=T.length,q,X=w.length,W=X-Y||1,K=Y+X+1,$,le,me;for(V=0;V<=Y;V++)for(le=$,H.push($=[]),me=z(X,V+W),q=k(0,V-1);q<=me;q++)$[q]=q?V?T[V-1]===w[q-1]?le[q-1]:z(le[q]||K,$[q-1]||K)+1:q+1:V+1;for(z=[],k=[],W=[],V=Y,q=X;V||q;)X=H[V][q]-1,q&&X===H[V][q-1]?k.push(z[z.length]={status:D,value:w[--q],index:q}):V&&X===H[V-1][q]?W.push(z[z.length]={status:R,value:T[--V],index:V}):(--q,--V,F.sparse||z.push({status:"retained",value:w[q]}));return m.a.Kc(W,k,!F.dontLimitMoves&&10*Y),z.reverse()}return function(T,w,D){return D=typeof D=="boolean"?{dontLimitMoves:D}:D||{},T=T||[],w=w||[],T.length<w.length?_(T,w,"added","deleted",D):_(w,T,"deleted","added",D)}}(),m.b("utils.compareArrays",m.a.Pb),function(){function _(D,R,F,z,k){var H=[],V=m.$(function(){var Y=R(F,k,m.a.Ua(H,D))||[];0<H.length&&(m.a.Xc(H,Y),z&&m.u.G(z,null,[F,Y,k])),H.length=0,m.a.Nb(H,Y)},null,{l:D,Sa:function(){return!m.a.kd(H)}});return{Y:H,$:V.ja()?V:e}}var T=m.a.g.Z(),w=m.a.g.Z();m.a.ec=function(D,R,F,z,k,H){function V(ot){we={Aa:ot,pb:m.ta(le++)},K.push(we),W||Ae.push(we)}function Y(ot){we=X[ot],le!==we.pb.v()&&pe.push(we),we.pb(le++),m.a.Ua(we.Y,D),K.push(we)}function q(ot,zt){if(ot)for(var qn=0,Se=zt.length;qn<Se;qn++)m.a.D(zt[qn].Y,function(_t){ot(_t,qn,zt[qn].Aa)})}R=R||[],typeof R.length>"u"&&(R=[R]),z=z||{};var X=m.a.g.get(D,T),W=!X,K=[],$=0,le=0,me=[],ie=[],ce=[],pe=[],Ae=[],we,Re=0;if(W)m.a.D(R,V);else{if(!H||X&&X._countWaitingForRemove){var Ue=m.a.Mb(X,function(ot){return ot.Aa});H=m.a.Pb(Ue,R,{dontLimitMoves:z.dontLimitMoves,sparse:!0})}for(var Ue=0,bt,Ut,sn;bt=H[Ue];Ue++)switch(Ut=bt.moved,sn=bt.index,bt.status){case"deleted":for(;$<sn;)Y($++);Ut===e&&(we=X[$],we.$&&(we.$.s(),we.$=e),m.a.Ua(we.Y,D).length&&(z.beforeRemove&&(K.push(we),Re++,we.Aa===w?we=null:ce.push(we)),we&&me.push.apply(me,we.Y))),$++;break;case"added":for(;le<sn;)Y($++);Ut!==e?(ie.push(K.length),Y(Ut)):V(bt.value)}for(;le<R.length;)Y($++);K._countWaitingForRemove=Re}m.a.g.set(D,T,K),q(z.beforeMove,pe),m.a.D(me,z.beforeRemove?m.oa:m.removeNode);var dt,vn,Jn;try{Jn=D.ownerDocument.activeElement}catch{}if(ie.length)for(;(Ue=ie.shift())!=e;){for(we=K[Ue],dt=e;Ue;)if((vn=K[--Ue].Y)&&vn.length){dt=vn[vn.length-1];break}for(R=0;$=we.Y[R];dt=$,R++)m.h.Wb(D,$,dt)}for(Ue=0;we=K[Ue];Ue++){for(we.Y||m.a.extend(we,_(D,F,we.Aa,k,we.pb)),R=0;$=we.Y[R];dt=$,R++)m.h.Wb(D,$,dt);!we.Ed&&k&&(k(we.Aa,we.Y,we.pb),we.Ed=!0,dt=we.Y[we.Y.length-1])}for(Jn&&D.ownerDocument.activeElement!=Jn&&Jn.focus(),q(z.beforeRemove,ce),Ue=0;Ue<ce.length;++Ue)ce[Ue].Aa=w;q(z.afterMove,pe),q(z.afterAdd,Ae)}}(),m.b("utils.setDomNodeChildrenFromArrayMapping",m.a.ec),m.ba=function(){this.allowTemplateRewriting=!1},m.ba.prototype=new m.ca,m.ba.prototype.constructor=m.ba,m.ba.prototype.renderTemplateSource=function(_,T,w,D){return(T=!(9>m.a.W)&&_.nodes?_.nodes():null)?m.a.la(T.cloneNode(!0).childNodes):(_=_.text(),m.a.ua(_,D))},m.ba.Ma=new m.ba,m.gc(m.ba.Ma),m.b("nativeTemplateEngine",m.ba),function(){m.$a=function(){var T=this.Hd=function(){if(!o||!o.tmpl)return 0;try{if(0<=o.tmpl.tag.tmpl.open.toString().indexOf("__"))return 2}catch{}return 1}();this.renderTemplateSource=function(w,D,R,F){if(F=F||n,R=R||{},2>T)throw Error("Your version of jQuery.tmpl is too old. Please upgrade to jQuery.tmpl 1.0.0pre or later.");var z=w.data("precompiled");return z||(z=w.text()||"",z=o.template(null,"{{ko_with $item.koBindingContext}}"+z+"{{/ko_with}}"),w.data("precompiled",z)),w=[D.$data],D=o.extend({koBindingContext:D},R.templateOptions),D=o.tmpl(z,w,D),D.appendTo(F.createElement("div")),o.fragments={},D},this.createJavaScriptEvaluatorBlock=function(w){return"{{ko_code ((function() { return "+w+" })()) }}"},this.addTemplate=function(w,D){n.write("<script type='text/html' id='"+w+"'>"+D+"<\/script>")},0<T&&(o.tmpl.tag.ko_code={open:"__.push($1 || '');"},o.tmpl.tag.ko_with={open:"with($1) {",close:"} "})},m.$a.prototype=new m.ca,m.$a.prototype.constructor=m.$a;var _=new m.$a;0<_.Hd&&m.gc(_),m.b("jqueryTmplTemplateEngine",m.$a)}()})})()})()})();var Tmt=ko;typeof window<"u"?(ko=window.ko,typeof WD<"u"?window.ko=WD:delete window.ko):(ko=global.ko,typeof WD<"u"?global.ko=WD:delete global.ko);var tb=Tmt;/**
  8662. * @license
  8663. * Knockout ES5 plugin - https://github.com/SteveSanderson/knockout-es5
  8664. * Copyright (c) Steve Sanderson
  8665. * MIT license
  8666. */var jq="__knockoutObservables",qq="__knockoutSubscribable";function P0e(e,t){if(!e)throw new Error("When calling ko.track, you must pass an object as the first parameter.");var n=this,i=I0e(e,!0);return t=t||Object.getOwnPropertyNames(e),t.forEach(function(o){if(!(o===jq||o===qq)&&!(o in i)){var r=e[o],s=r instanceof Array,a=n.isObservable(r)?r:s?n.observableArray(r):n.observable(r);Object.defineProperty(e,o,{configurable:!0,enumerable:!0,get:a,set:n.isWriteableObservable(a)?a:void 0}),i[o]=a,s&&bmt(n,a)}}),e}function I0e(e,t){var n=e[jq];return!n&&t&&(n={},Object.defineProperty(e,jq,{value:n})),n}function Emt(e,t,n){var i=this,o={owner:e,deferEvaluation:!0};if(typeof n=="function")o.read=n;else{if("value"in n)throw new Error('For ko.defineProperty, you must not specify a "value" for the property. You must provide a "get" function.');if(typeof n.get!="function")throw new Error('For ko.defineProperty, the third parameter must be either an evaluator function, or an options object containing a function called "get".');o.read=n.get,o.write=n.set}return e[t]=i.computed(o),P0e.call(i,e,[t]),e}function bmt(e,t){var n=null;e.computed(function(){n&&(n.dispose(),n=null);var i=t();i instanceof Array&&(n=Smt(e,t,i))})}function Smt(e,t,n){var i=wmt(e,n);return i.subscribe(t)}function wmt(e,t){var n=t[qq];if(!n){n=new e.subscribable,Object.defineProperty(t,qq,{value:n});var i={};vmt(t,n,i),Dmt(e,t,n,i)}return n}function vmt(e,t,n){["pop","push","reverse","shift","sort","splice","unshift"].forEach(function(i){var o=e[i];e[i]=function(){var r=o.apply(this,arguments);return n.pause!==!0&&t.notifySubscribers(this),r}})}function Dmt(e,t,n,i){["remove","removeAll","destroy","destroyAll","replace"].forEach(function(o){Object.defineProperty(t,o,{enumerable:!1,value:function(){var r;i.pause=!0;try{r=e.observableArray.fn[o].apply(e.observableArray(t),arguments)}finally{i.pause=!1}return n.notifySubscribers(t),r}})})}function O0e(e,t){if(!e)return null;var n=I0e(e,!1);return n&&n[t]||null}function Pmt(e,t){var n=O0e(e,t);n&&n.valueHasMutated()}function Imt(e){e.track=P0e,e.getObservable=O0e,e.valueHasMutated=Pmt,e.defineProperty=Emt}var L4={attachToKo:Imt};var R0e="http://www.w3.org/2000/svg",M0e="cesium-svgPath-svg",Omt={register:function(e){e.bindingHandlers.cesiumSvgPath={init:function(t,n){let i=document.createElementNS(R0e,"svg:svg");i.setAttribute("class",M0e);let o=document.createElementNS(R0e,"path");return i.appendChild(o),e.virtualElements.setDomNodeChildren(t,[i]),e.computed({read:function(){let r=e.unwrap(n());o.setAttribute("d",e.unwrap(r.path));let s=e.unwrap(r.width),a=e.unwrap(r.height);i.setAttribute("width",s),i.setAttribute("height",a),i.setAttribute("viewBox",`0 0 ${s} ${a}`),r.css&&i.setAttribute("class",`${M0e} ${e.unwrap(r.css)}`)},disposeWhenNodeIsRemoved:t}),{controlsDescendantBindings:!0}}},e.virtualElements.allowedBindings.cesiumSvgPath=!0}},N4=Omt;L4.attachToKo(tb);N4.register(tb);var Ce=tb;function jD(e){l(e)||(e=new Vd),this._clock=e,this._eventHelper=new Pr,this._eventHelper.add(e.onTick,this.synchronize,this),this.systemTime=Ce.observable(Q.now()),this.systemTime.equalityComparer=Q.equals,this.startTime=Ce.observable(e.startTime),this.startTime.equalityComparer=Q.equals,this.startTime.subscribe(function(t){e.startTime=t,this.synchronize()},this),this.stopTime=Ce.observable(e.stopTime),this.stopTime.equalityComparer=Q.equals,this.stopTime.subscribe(function(t){e.stopTime=t,this.synchronize()},this),this.currentTime=Ce.observable(e.currentTime),this.currentTime.equalityComparer=Q.equals,this.currentTime.subscribe(function(t){e.currentTime=t,this.synchronize()},this),this.multiplier=Ce.observable(e.multiplier),this.multiplier.subscribe(function(t){e.multiplier=t,this.synchronize()},this),this.clockStep=Ce.observable(e.clockStep),this.clockStep.subscribe(function(t){e.clockStep=t,this.synchronize()},this),this.clockRange=Ce.observable(e.clockRange),this.clockRange.subscribe(function(t){e.clockRange=t,this.synchronize()},this),this.canAnimate=Ce.observable(e.canAnimate),this.canAnimate.subscribe(function(t){e.canAnimate=t,this.synchronize()},this),this.shouldAnimate=Ce.observable(e.shouldAnimate),this.shouldAnimate.subscribe(function(t){e.shouldAnimate=t,this.synchronize()},this),Ce.track(this,["systemTime","startTime","stopTime","currentTime","multiplier","clockStep","clockRange","canAnimate","shouldAnimate"])}Object.defineProperties(jD.prototype,{clock:{get:function(){return this._clock}}});jD.prototype.synchronize=function(){let e=this._clock;this.systemTime=Q.now(),this.startTime=e.startTime,this.stopTime=e.stopTime,this.currentTime=e.currentTime,this.multiplier=e.multiplier,this.clockStep=e.clockStep,this.clockRange=e.clockRange,this.canAnimate=e.canAnimate,this.shouldAnimate=e.shouldAnimate};jD.prototype.isDestroyed=function(){return!1};jD.prototype.destroy=function(){this._eventHelper.removeAll(),fe(this)};var F4=jD;function Rmt(){this.canExecute=void 0,this.beforeExecute=void 0,this.afterExecute=void 0,ye.throwInstantiationError()}var B0e=Rmt;var Yq={};Yq.createCheckbox=function(e,t,n){let i=document.createElement("div"),o=document.createElement("label"),r=document.createElement("input");r.type="checkbox";let s=`checked: ${t}`;return l(n)&&(s+=`, enable: ${n}`),r.setAttribute("data-bind",s),o.appendChild(r),o.appendChild(document.createTextNode(e)),i.appendChild(o),i};Yq.createSection=function(e,t,n,i){let o=document.createElement("div");o.className="cesium-cesiumInspector-section",o.setAttribute("data-bind",`css: { "cesium-cesiumInspector-section-collapsed": !${n} }`),e.appendChild(o);let r=document.createElement("h3");r.className="cesium-cesiumInspector-sectionHeader",r.appendChild(document.createTextNode(t)),r.setAttribute("data-bind",`click: ${i}`),o.appendChild(r);let s=document.createElement("div");return s.className="cesium-cesiumInspector-sectionContent",o.appendChild(s),s};var u0=Yq;function L0e(e,t){this._command=e,t=y(t,y.EMPTY_OBJECT),this.toggled=y(t.toggled,!1),this.tooltip=y(t.tooltip,""),Ce.track(this,["toggled","tooltip"])}Object.defineProperties(L0e.prototype,{command:{get:function(){return this._command}}});var BC=L0e;function Mmt(e,t){t=y(t,!0);let n=new ge,i=new ge;function o(){let r={args:arguments,cancel:!1},s;return n.raiseEvent(r),r.cancel||(s=e.apply(null,arguments),i.raiseEvent(s)),s}return o.canExecute=t,Ce.track(o,["canExecute"]),Object.defineProperties(o,{beforeExecute:{value:n},afterExecute:{value:i}}),o}var yn=Mmt;function Bmt(e,t,n,i,o){return n.call(i,e[t]),Ce.getObservable(e,t).subscribe(n,i,o)}var ra=Bmt;var Lmt={FLOAT:"float",VEC2:"vec2",VEC3:"vec3",VEC4:"vec4",INT:"int",INT_VEC2:"ivec2",INT_VEC3:"ivec3",INT_VEC4:"ivec4",BOOL:"bool",BOOL_VEC2:"bvec2",BOOL_VEC3:"bvec3",BOOL_VEC4:"bvec4",MAT2:"mat2",MAT3:"mat2",MAT4:"mat4",SAMPLER_2D:"sampler2D",SAMPLER_CUBE:"samplerCube"},qD=Object.freeze(Lmt);function nb(){this._defaultTexture=void 0,this._textures={},this._loadedImages=[],this._lastUpdatedFrame=-1}nb.prototype.getTexture=function(e){return this._textures[e]};function Nmt(e,t,n){n.resource.fetchImage().then(function(i){e._loadedImages.push({id:t,image:i,textureUniform:n})}).catch(function(){let i=e._textures[t];l(i)&&i!==e._defaultTexture&&i.destroy(),e._textures[t]=e._defaultTexture})}nb.prototype.loadTexture2D=function(e,t){l(t.typedArray)?this._loadedImages.push({id:e,textureUniform:t}):Nmt(this,e,t)};function Fmt(e,t,n){let{id:i,textureUniform:o,image:r}=t,s=n.webgl2?V4(o,r,n):Vmt(o,r,n),a=e._textures[i];l(a)&&a!==n.defaultTexture&&a.destroy(),e._textures[i]=s}function V4(e,t,n){let{typedArray:i,sampler:o}=e,r=l(i)?F0e(e,n):new Ot({context:n,source:t,sampler:o});return N0e(o)&&r.generateMipmap(),r}function Vmt(e,t,n){let{typedArray:i,sampler:o}=e,r=N0e(o),s=o.wrapS===Dn.REPEAT||o.wrapS===Dn.MIRRORED_REPEAT||o.wrapT===Dn.REPEAT||o.wrapT===Dn.MIRRORED_REPEAT,{width:a,height:c}=l(i)?e:t,u=[a,c].every(I.isPowerOfTwo);if((r||s)&&!u)if(l(i)){if(e.pixelDatatype===je.UNSIGNED_BYTE){let d=KI(i,a,c),p=fy(d);return V4({sampler:o},p,n)}}else{let d=fy(t);return V4(e,d,n)}else return V4(e,t,n);return r?console.warn("Texture requires resizing for mipmaps but pixelDataType cannot be resized. The texture may be rendered incorrectly."):s&&console.warn("Texture requires resizing for wrapping but pixelDataType cannot be resized. The texture may be rendered incorrectly."),F0e(e,n)}function N0e(e){return[ln.NEAREST_MIPMAP_NEAREST,ln.NEAREST_MIPMAP_LINEAR,ln.LINEAR_MIPMAP_NEAREST,ln.LINEAR_MIPMAP_LINEAR].includes(e.minificationFilter)}function F0e(e,t){let{pixelFormat:n,pixelDatatype:i,width:o,height:r,typedArray:s,sampler:a}=e;return new Ot({context:t,pixelFormat:n,pixelDatatype:i,source:{arrayBufferView:s,width:o,height:r},sampler:a,flipY:!1})}nb.prototype.update=function(e){if(e.frameNumber===this._lastUpdatedFrame)return;this._lastUpdatedFrame=e.frameNumber;let t=e.context;this._defaultTexture=t.defaultTexture;let n=this._loadedImages;for(let i=0;i<n.length;i++){let o=n[i];Fmt(this,o,t)}n.length=0};nb.prototype.isDestroyed=function(){return!1};nb.prototype.destroy=function(){let e=this._textures;for(let t in e)if(e.hasOwnProperty(t)){let n=e[t];n!==this._defaultTexture&&n.destroy()}return fe(this)};var k4=nb;function YD(e){e=y(e,y.EMPTY_OBJECT),this.mode=y(e.mode,ng.MODIFY_MATERIAL),this.lightingModel=e.lightingModel,this.uniforms=y(e.uniforms,y.EMPTY_OBJECT),this.varyings=y(e.varyings,y.EMPTY_OBJECT),this.vertexShaderText=e.vertexShaderText,this.fragmentShaderText=e.fragmentShaderText,this.translucencyMode=y(e.translucencyMode,Ly.INHERIT),this._textureManager=new k4,this._defaultTexture=void 0,this.uniformMap=kmt(this),this.usedVariablesVertex={attributeSet:{},featureIdSet:{},metadataSet:{}},this.usedVariablesFragment={attributeSet:{},featureIdSet:{},metadataSet:{},materialSet:{}},Hmt(this),Gmt(this)}function kmt(e){let t=e.uniforms,n={};for(let i in t)if(t.hasOwnProperty(i)){let o=t[i];o.type===qD.SAMPLER_2D?(e._textureManager.loadTexture2D(i,o.value),n[i]=Umt(e,i)):n[i]=zmt(e,i)}return n}function Umt(e,t){return function(){return y(e._textureManager.getTexture(t),e._defaultTexture)}}function zmt(e,t){return function(){return e.uniforms[t].value}}function LC(e,t,n){let i;for(;(i=t.exec(e))!==null;){let o=i[1];n[o]=!0}}function Hmt(e){let t=/[vf]sInput\.attributes\.(\w+)/g,n=/[vf]sInput\.featureIds\.(\w+)/g,i=/[vf]sInput\.metadata.(\w+)/g,o,r=e.vertexShaderText;l(r)&&(o=e.usedVariablesVertex.attributeSet,LC(r,t,o),o=e.usedVariablesVertex.featureIdSet,LC(r,n,o),o=e.usedVariablesVertex.metadataSet,LC(r,i,o));let s=e.fragmentShaderText;if(l(s)){o=e.usedVariablesFragment.attributeSet,LC(s,t,o),o=e.usedVariablesFragment.featureIdSet,LC(s,n,o),o=e.usedVariablesFragment.metadataSet,LC(s,i,o);let a=/material\.(\w+)/g,c=e.usedVariablesFragment.materialSet;LC(s,a,c)}}function V0e(e){let t=/^.*MC$/,n=/^.*WC$/,i=/^.*EC$/;return t.test(e)?`${e} (model coordinates)`:n.test(e)?`${e} (Cartesian world coordinates)`:i.test(e)?`${e} (eye coordinates)`:e}function Ga(e,t,n,i){if(e.hasOwnProperty(t)){let o=`${V0e(t)} is not available in the ${i} shader. Did you mean ${V0e(n)} instead?`;throw new ye(o)}}function Gmt(e){let t=e.usedVariablesVertex.attributeSet;Ga(t,"position","positionMC","vertex"),Ga(t,"normal","normalMC","vertex"),Ga(t,"tangent","tangentMC","vertex"),Ga(t,"bitangent","bitangentMC","vertex"),Ga(t,"positionWC","positionMC","vertex"),Ga(t,"positionEC","positionMC","vertex"),Ga(t,"normalEC","normalMC","vertex"),Ga(t,"tangentEC","tangentMC","vertex"),Ga(t,"bitangentEC","bitangentMC","vertex");let n=e.usedVariablesFragment.attributeSet;Ga(n,"position","positionEC","fragment"),Ga(n,"normal","normalEC","fragment"),Ga(n,"tangent","tangentEC","fragment"),Ga(n,"bitangent","bitangentEC","fragment"),Ga(n,"normalMC","normalEC","fragment"),Ga(n,"tangentMC","tangentEC","fragment"),Ga(n,"bitangentMC","bitangentEC","fragment")}YD.prototype.setUniform=function(e,t){let n=this.uniforms[e];n.type===qD.SAMPLER_2D?this._textureManager.loadTexture2D(e,t):l(t.clone)?n.value=t.clone(n.value):n.value=t};YD.prototype.update=function(e){this._defaultTexture=e.context.defaultTexture,this._textureManager.update(e)};YD.prototype.isDestroyed=function(){return!1};YD.prototype.destroy=function(){this._textureManager=this._textureManager&&this._textureManager.destroy(),fe(this)};var k0e=YD;function Wmt(e){e=y(e,y.EMPTY_OBJECT),this.typedArray=e.typedArray,this.width=e.width,this.height=e.height,this.pixelFormat=y(e.pixelFormat,ft.RGBA),this.pixelDatatype=y(e.pixelDatatype,je.UNSIGNED_BYTE);let t=e.url;typeof t=="string"&&(t=Ie.createIfNeeded(t)),this.resource=t;let i=y(e.repeat,!0)?Dn.REPEAT:Dn.CLAMP_TO_EDGE;this.sampler=new hn({wrapS:i,wrapT:i,minificationFilter:e.minificationFilter,magnificationFilter:e.magnificationFilter,maximumAnisotropy:e.maximumAnisotropy})}var U0e=Wmt;var jmt={FLOAT:"float",VEC2:"vec2",VEC3:"vec3",VEC4:"vec4",MAT2:"mat2",MAT3:"mat2",MAT4:"mat4"},z0e=Object.freeze(jmt);var H0e=`uniform sampler2D u_depthTexture;
  8667. varying vec2 v_textureCoordinates;
  8668. void main()
  8669. {
  8670. float z_window = czm_unpackDepth(texture2D(u_depthTexture, v_textureCoordinates));
  8671. z_window = czm_reverseLogDepth(z_window);
  8672. float n_range = czm_depthRange.near;
  8673. float f_range = czm_depthRange.far;
  8674. float z_ndc = (2.0 * z_window - n_range - f_range) / (f_range - n_range);
  8675. float scale = pow(z_ndc * 0.5 + 0.5, 8.0);
  8676. gl_FragColor = vec4(mix(vec3(0.0), vec3(1.0), scale), 1.0);
  8677. }
  8678. `;var NC="http://www.w3.org/2000/svg",j0e="http://www.w3.org/1999/xlink",U4,XD=U.fromCssColorString("rgba(247,250,255,0.384)"),z4=U.fromCssColorString("rgba(143,191,255,0.216)"),Xq=U.fromCssColorString("rgba(153,197,255,0.098)"),H4=U.fromCssColorString("rgba(255,255,255,0.086)"),qmt=U.fromCssColorString("rgba(255,255,255,0.267)"),Ymt=U.fromCssColorString("rgba(255,255,255,0)"),G0e=U.fromCssColorString("rgba(66,67,68,0.3)"),W0e=U.fromCssColorString("rgba(0,0,0,0.5)");function f0(e){return U.fromCssColorString(window.getComputedStyle(e).getPropertyValue("color"))}var KD={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"},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"},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"},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"},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"},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"},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"},animation_pathPointer:{tagName:"path",d:"M-15,-65,-15,-55,15,-55,15,-65,0,-95z"},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"}};function Cd(e){let t=document.createElementNS(NC,e.tagName);for(let n in e)if(e.hasOwnProperty(n)&&n!=="tagName")if(n==="children"){let i=e.children.length;for(let o=0;o<i;++o)t.appendChild(Cd(e.children[o]))}else n.indexOf("xlink:")===0?t.setAttributeNS(j0e,n.substring(6),e[n]):n==="textContent"?t.textContent=e[n]:t.setAttribute(n,e[n]);return t}function Kq(e,t,n){let i=document.createElementNS(NC,"text");i.setAttribute("x",e),i.setAttribute("y",t),i.setAttribute("class","cesium-animation-svgText");let o=document.createElementNS(NC,"tspan");return o.textContent=n,i.appendChild(o),i}function Xmt(e,t,n){e.setAttribute("transform",`translate(100,100) rotate(${n})`),t.setAttribute("transform",`rotate(${n})`)}var G4=new U;function Nr(e,t){let n=t.alpha,i=1-n;return G4.red=e.red*i+t.red*n,G4.green=e.green*i+t.green*n,G4.blue=e.blue*i+t.blue*n,G4.toCssColorString()}function Zq(e,t,n){let i=KD[n],o={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},{class:"cesium-animation-buttonPath",id:n,tagName:i.tagName,transform:i.transform,d:i.d},{tagName:"title",textContent:""}]};return Cd(o)}function Kmt(e,t,n){let i=KD[n],o=KD.animation_pathWingButton,r={tagName:"g",class:"cesium-animation-rectButton",transform:`translate(${e},${t})`,children:[{class:"cesium-animation-buttonGlow",id:"animation_pathWingButton",tagName:o.tagName,d:o.d},{class:"cesium-animation-buttonMain",id:"animation_pathWingButton",tagName:o.tagName,d:o.d},{class:"cesium-animation-buttonPath",id:n,tagName:i.tagName,transform:i.transform,d:i.d},{tagName:"title",textContent:""}]};return Cd(r)}function Zmt(e,t){let n=e._viewModel,i=n.shuttleRingDragging;if(!(i&&U4!==e))if(t.type==="mousedown"||i&&t.type==="mousemove"||t.type==="touchstart"&&t.touches.length===1||i&&t.type==="touchmove"&&t.touches.length===1){let o=e._centerX,r=e._centerY,a=e._svgNode.getBoundingClientRect(),c,u;if(t.type==="touchstart"||t.type==="touchmove"?(c=t.touches[0].clientX,u=t.touches[0].clientY):(c=t.clientX,u=t.clientY),!i&&(c>a.right||c<a.left||u<a.top||u>a.bottom))return;let f=e._shuttleRingPointer.getBoundingClientRect(),d=c-o-a.left,p=u-r-a.top,g=Math.atan2(p,d)*180/Math.PI+90;g>180&&(g-=360);let m=n.shuttleRingAngle;i||c<f.right&&c>f.left&&u>f.top&&u<f.bottom?(U4=e,n.shuttleRingDragging=!0,n.shuttleRingAngle=g):g<m?n.slower():g>m&&n.faster(),t.preventDefault()}else e===U4&&(U4=void 0),n.shuttleRingDragging=!1}function vp(e,t){this._viewModel=t,this.svgElement=e,this._enabled=void 0,this._toggled=void 0;let n=this;this._clickFunction=function(){let i=n._viewModel.command;i.canExecute&&i()},e.addEventListener("click",this._clickFunction,!0),this._subscriptions=[ra(t,"toggled",this.setToggled,this),ra(t,"tooltip",this.setTooltip,this),ra(t.command,"canExecute",this.setEnabled,this)]}vp.prototype.destroy=function(){this.svgElement.removeEventListener("click",this._clickFunction,!0);let e=this._subscriptions;for(let t=0,n=e.length;t<n;t++)e[t].dispose();fe(this)};vp.prototype.isDestroyed=function(){return!1};vp.prototype.setEnabled=function(e){if(this._enabled!==e){if(this._enabled=e,!e){this.svgElement.setAttribute("class","cesium-animation-buttonDisabled");return}if(this._toggled){this.svgElement.setAttribute("class","cesium-animation-rectButton cesium-animation-buttonToggled");return}this.svgElement.setAttribute("class","cesium-animation-rectButton")}};vp.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")))};vp.prototype.setTooltip=function(e){this.svgElement.getElementsByTagName("title")[0].textContent=e};function ib(e,t){e=wn(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;let n=e.ownerDocument,i=document.createElement("style");i.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); }",n.head.insertBefore(i,n.head.childNodes[0]);let o=document.createElement("div");o.className="cesium-animation-theme",o.innerHTML='<div class="cesium-animation-themeNormal"></div><div class="cesium-animation-themeHover"></div><div class="cesium-animation-themeSelect"></div><div class="cesium-animation-themeDisabled"></div><div class="cesium-animation-themeKnob"></div><div class="cesium-animation-themePointer"></div><div class="cesium-animation-themeSwoosh"></div><div class="cesium-animation-themeSwooshHover"></div>',this._theme=o,this._themeNormal=o.childNodes[0],this._themeHover=o.childNodes[1],this._themeSelect=o.childNodes[2],this._themeDisabled=o.childNodes[3],this._themeKnob=o.childNodes[4],this._themePointer=o.childNodes[5],this._themeSwoosh=o.childNodes[6],this._themeSwooshHover=o.childNodes[7];let r=document.createElementNS(NC,"svg:svg");this._svgNode=r,r.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink",j0e);let s=document.createElementNS(NC,"g");this._topG=s,this._realtimeSVG=new vp(Kmt(3,4,"animation_pathClock"),t.playRealtimeViewModel),this._playReverseSVG=new vp(Zq(44,99,"animation_pathPlayReverse"),t.playReverseViewModel),this._playForwardSVG=new vp(Zq(124,99,"animation_pathPlay"),t.playForwardViewModel),this._pauseSVG=new vp(Zq(84,99,"animation_pathPause"),t.pauseViewModel);let a=document.createElementNS(NC,"g");a.appendChild(this._realtimeSVG.svgElement),a.appendChild(this._playReverseSVG.svgElement),a.appendChild(this._playForwardSVG.svgElement),a.appendChild(this._pauseSVG.svgElement);let c=Cd({tagName:"circle",class:"cesium-animation-shuttleRingBack",cx:100,cy:100,r:99});this._shuttleRingBackPanel=c;let u=KD.animation_pathSwooshFX,f=KD.animation_pathPointer,d=Cd({tagName:"g",class:"cesium-animation-shuttleRingSwoosh",children:[{tagName:u.tagName,transform:"translate(100,97) scale(-1,1)",id:"animation_pathSwooshFX",d:u.d},{tagName:u.tagName,transform:"translate(100,97)",id:"animation_pathSwooshFX",d:u.d},{tagName:"line",x1:100,y1:8,x2:100,y2:22}]});this._shuttleRingSwooshG=d,this._shuttleRingPointer=Cd({class:"cesium-animation-shuttleRingPointer",id:"animation_pathPointer",tagName:f.tagName,d:f.d});let p=Cd({tagName:"g",transform:"translate(100,100)"});this._knobOuter=Cd({tagName:"circle",class:"cesium-animation-knobOuter",cx:0,cy:0,r:71});let g=61,m=Cd({tagName:"circle",class:"cesium-animation-knobInner",cx:0,cy:0,r:g});this._knobDate=Kq(0,-24,""),this._knobTime=Kq(0,-7,""),this._knobStatus=Kq(0,-41,"");let C=Cd({tagName:"circle",class:"cesium-animation-blank",cx:0,cy:0,r:g}),x=document.createElementNS(NC,"g");x.setAttribute("class","cesium-animation-shuttleRingG"),e.appendChild(o),s.appendChild(x),s.appendChild(p),s.appendChild(a),x.appendChild(c),x.appendChild(d),x.appendChild(this._shuttleRingPointer),p.appendChild(this._knobOuter),p.appendChild(m),p.appendChild(this._knobDate),p.appendChild(this._knobTime),p.appendChild(this._knobStatus),p.appendChild(C),r.appendChild(s),e.appendChild(r);let A=this;function b(O){Zmt(A,O)}this._mouseCallback=b,c.addEventListener("mousedown",b,!0),c.addEventListener("touchstart",b,!0),d.addEventListener("mousedown",b,!0),d.addEventListener("touchstart",b,!0),n.addEventListener("mousemove",b,!0),n.addEventListener("touchmove",b,!0),n.addEventListener("mouseup",b,!0),n.addEventListener("touchend",b,!0),n.addEventListener("touchcancel",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);let E=this._knobTime.childNodes[0],S=this._knobDate.childNodes[0],v=this._knobStatus.childNodes[0],P;this._subscriptions=[ra(t.pauseViewModel,"toggled",function(O){P!==O&&(P=O,P?A._shuttleRingPointer.setAttribute("class","cesium-animation-shuttleRingPausePointer"):A._shuttleRingPointer.setAttribute("class","cesium-animation-shuttleRingPointer"))}),ra(t,"shuttleRingAngle",function(O){Xmt(A._shuttleRingPointer,A._knobOuter,O)}),ra(t,"dateLabel",function(O){S.textContent!==O&&(S.textContent=O)}),ra(t,"timeLabel",function(O){E.textContent!==O&&(E.textContent=O)}),ra(t,"multiplierLabel",function(O){v.textContent!==O&&(v.textContent=O)})],this.applyThemeChanges(),this.resize()}Object.defineProperties(ib.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});ib.prototype.isDestroyed=function(){return!1};ib.prototype.destroy=function(){l(this._observer)&&(this._observer.disconnect(),this._observer=void 0);let e=this._container.ownerDocument,t=this._mouseCallback;this._shuttleRingBackPanel.removeEventListener("mousedown",t,!0),this._shuttleRingBackPanel.removeEventListener("touchstart",t,!0),this._shuttleRingSwooshG.removeEventListener("mousedown",t,!0),this._shuttleRingSwooshG.removeEventListener("touchstart",t,!0),e.removeEventListener("mousemove",t,!0),e.removeEventListener("touchmove",t,!0),e.removeEventListener("mouseup",t,!0),e.removeEventListener("touchend",t,!0),e.removeEventListener("touchcancel",t,!0),this._shuttleRingPointer.removeEventListener("mousedown",t,!0),this._shuttleRingPointer.removeEventListener("touchstart",t,!0),this._knobOuter.removeEventListener("mousedown",t,!0),this._knobOuter.removeEventListener("touchstart",t,!0),this._container.removeChild(this._svgNode),this._container.removeChild(this._theme),this._realtimeSVG.destroy(),this._playReverseSVG.destroy(),this._playForwardSVG.destroy(),this._pauseSVG.destroy();let n=this._subscriptions;for(let i=0,o=n.length;i<o;i++)n[i].dispose();return fe(this)};ib.prototype.resize=function(){let e=this._container.clientWidth,t=this._container.clientHeight;if(e===this._lastWidth&&t===this._lastHeight)return;let n=this._svgNode,i=200,o=132,r=e,s=t;e===0&&t===0?(r=i,s=o):e===0?(s=t,r=i*(t/o)):t===0&&(r=e,s=o*(e/i));let a=r/i,c=s/o;n.style.cssText=`width: ${r}px; height: ${s}px; position: absolute; bottom: 0; left: 0; overflow: hidden;`,n.setAttribute("width",r),n.setAttribute("height",s),n.setAttribute("viewBox",`0 0 ${r} ${s}`),this._topG.setAttribute("transform",`scale(${a},${c})`),this._centerX=Math.max(1,100*a),this._centerY=Math.max(1,100*c),this._lastHeight=e,this._lastWidth=t};ib.prototype.applyThemeChanges=function(){let e=this._container.ownerDocument;if(!e.body.contains(this._container)){if(l(this._observer))return;let f=this;f._observer=new MutationObserver(function(){e.body.contains(f._container)&&(f._observer.disconnect(),f._observer=void 0,f.applyThemeChanges())}),f._observer.observe(e,{childList:!0,subtree:!0});return}let t=f0(this._themeNormal),n=f0(this._themeHover),i=f0(this._themeSelect),o=f0(this._themeDisabled),r=f0(this._themeKnob),s=f0(this._themePointer),a=f0(this._themeSwoosh),c=f0(this._themeSwooshHover),u=Cd({tagName:"defs",children:[{id:"animation_buttonNormal",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":Nr(t,XD)},{tagName:"stop",offset:"12%","stop-color":Nr(t,z4)},{tagName:"stop",offset:"46%","stop-color":Nr(t,Xq)},{tagName:"stop",offset:"81%","stop-color":Nr(t,H4)}]},{id:"animation_buttonHovered",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":Nr(n,XD)},{tagName:"stop",offset:"12%","stop-color":Nr(n,z4)},{tagName:"stop",offset:"46%","stop-color":Nr(n,Xq)},{tagName:"stop",offset:"81%","stop-color":Nr(n,H4)}]},{id:"animation_buttonToggled",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":Nr(i,XD)},{tagName:"stop",offset:"12%","stop-color":Nr(i,z4)},{tagName:"stop",offset:"46%","stop-color":Nr(i,Xq)},{tagName:"stop",offset:"81%","stop-color":Nr(i,H4)}]},{id:"animation_buttonDisabled",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":Nr(o,qmt)},{tagName:"stop",offset:"75%","stop-color":Nr(o,Ymt)}]},{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":a.toCssColorString()},{tagName:"stop",offset:"85%","stop-opacity":.85,"stop-color":a.toCssColorString()},{tagName:"stop",offset:"95%","stop-opacity":.05,"stop-color":a.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":s.toCssColorString()},{tagName:"stop",offset:"40%","stop-color":s.toCssColorString()},{tagName:"stop",offset:"60%","stop-color":Nr(s,W0e)},{tagName:"stop",offset:"100%","stop-color":Nr(s,W0e)}]},{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":Nr(r,XD)},{tagName:"stop",offset:"60%","stop-color":Nr(r,G0e)},{tagName:"stop",offset:"85%","stop-color":Nr(r,z4)}]},{id:"animation_knobInner",tagName:"linearGradient",x1:"20%",y1:"0%",x2:"90%",y2:"100%",children:[{tagName:"stop",offset:"5%","stop-color":Nr(r,G0e)},{tagName:"stop",offset:"60%","stop-color":Nr(r,XD)},{tagName:"stop",offset:"85%","stop-color":Nr(r,H4)}]}]});l(this._defsElement)?this._svgNode.replaceChild(u,this._defsElement):this._svgNode.appendChild(u),this._defsElement=u};var W4=ib;var $mt=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],d0=15,ob=105;function q0e(e,t){return e-t}function $q(e,t){let n=Yo(t,e,q0e);return n<0?~n:n}function Jmt(e,t){if(Math.abs(e)<=d0)return e/d0;let n=d0,i=ob,o,r=0,s;return e>0?(o=Math.log(t[t.length-1]),s=(o-r)/(i-n),Math.exp(r+s*(e-n))):(o=Math.log(-t[0]),s=(o-r)/(i-n),-Math.exp(r+s*(Math.abs(e)-n)))}function Qmt(e,t,n){if(n.clockStep===fo.SYSTEM_CLOCK)return d0;if(Math.abs(e)<=1)return e*d0;let i=t[t.length-1];e>i?e=i:e<-i&&(e=-i);let o=d0,r=ob,s,a=0,c;return e>0?(s=Math.log(i),c=(s-a)/(r-o),(Math.log(e)-a)/c+o):(s=Math.log(-t[0]),c=(s-a)/(r-o),-((Math.log(Math.abs(e))-a)/c+o))}function nf(e){let t=this;this._clockViewModel=e,this._allShuttleRingTicks=[],this._dateFormatter=nf.defaultDateFormatter,this._timeFormatter=nf.defaultTimeFormatter,this.shuttleRingDragging=!1,this.snapToTicks=!1,Ce.track(this,["_allShuttleRingTicks","_dateFormatter","_timeFormatter","shuttleRingDragging","snapToTicks"]),this._sortedFilteredPositiveTicks=[],this.setShuttleRingTicks(nf.defaultTicks),this.timeLabel=void 0,Ce.defineProperty(this,"timeLabel",function(){return t._timeFormatter(t._clockViewModel.currentTime,t)}),this.dateLabel=void 0,Ce.defineProperty(this,"dateLabel",function(){return t._dateFormatter(t._clockViewModel.currentTime,t)}),this.multiplierLabel=void 0,Ce.defineProperty(this,"multiplierLabel",function(){let s=t._clockViewModel;if(s.clockStep===fo.SYSTEM_CLOCK)return"Today";let a=s.multiplier;return a%1===0?`${a.toFixed(0)}x`:`${a.toFixed(3).replace(/0{0,3}$/,"")}x`}),this.shuttleRingAngle=void 0,Ce.defineProperty(this,"shuttleRingAngle",{get:function(){return Qmt(e.multiplier,t._allShuttleRingTicks,e)},set:function(s){s=Math.max(Math.min(s,ob),-ob);let a=t._allShuttleRingTicks,c=t._clockViewModel;if(c.clockStep=fo.SYSTEM_CLOCK_MULTIPLIER,Math.abs(s)===ob){c.multiplier=s>0?a[a.length-1]:a[0];return}let u=Jmt(s,a);if(t.snapToTicks)u=a[$q(u,a)];else if(u!==0){let f=Math.abs(u);if(f>100){let d=f.toFixed(0).length-2,p=Math.pow(10,d);u=Math.round(u/p)*p|0}else f>d0?u=Math.round(u):f>1?u=+u.toFixed(1):f>0&&(u=+u.toFixed(2))}c.multiplier=u}}),this._canAnimate=void 0,Ce.defineProperty(this,"_canAnimate",function(){let s=t._clockViewModel,a=s.clockRange;if(t.shuttleRingDragging||a===vr.UNBOUNDED)return!0;let c=s.multiplier,u=s.currentTime,f=s.startTime,d=!1;if(a===vr.LOOP_STOP)d=Q.greaterThan(u,f)||u.equals(f)&&c>0;else{let p=s.stopTime;d=Q.greaterThan(u,f)&&Q.lessThan(u,p)||u.equals(f)&&c>0||u.equals(p)&&c<0}return d||(s.shouldAnimate=!1),d}),this._isSystemTimeAvailable=void 0,Ce.defineProperty(this,"_isSystemTimeAvailable",function(){let s=t._clockViewModel;if(s.clockRange===vr.UNBOUNDED)return!0;let c=s.systemTime;return Q.greaterThanOrEquals(c,s.startTime)&&Q.lessThanOrEquals(c,s.stopTime)}),this._isAnimating=void 0,Ce.defineProperty(this,"_isAnimating",function(){return t._clockViewModel.shouldAnimate&&(t._canAnimate||t.shuttleRingDragging)});let n=yn(function(){let s=t._clockViewModel;s.shouldAnimate?s.shouldAnimate=!1:t._canAnimate&&(s.shouldAnimate=!0)});this._pauseViewModel=new BC(n,{toggled:Ce.computed(function(){return!t._isAnimating}),tooltip:"Pause"});let i=yn(function(){let s=t._clockViewModel,a=s.multiplier;a>0&&(s.multiplier=-a),s.shouldAnimate=!0});this._playReverseViewModel=new BC(i,{toggled:Ce.computed(function(){return t._isAnimating&&e.multiplier<0}),tooltip:"Play Reverse"});let o=yn(function(){let s=t._clockViewModel,a=s.multiplier;a<0&&(s.multiplier=-a),s.shouldAnimate=!0});this._playForwardViewModel=new BC(o,{toggled:Ce.computed(function(){return t._isAnimating&&e.multiplier>0&&e.clockStep!==fo.SYSTEM_CLOCK}),tooltip:"Play Forward"});let r=yn(function(){t._clockViewModel.clockStep=fo.SYSTEM_CLOCK},Ce.getObservable(this,"_isSystemTimeAvailable"));this._playRealtimeViewModel=new BC(r,{toggled:Ce.computed(function(){return e.clockStep===fo.SYSTEM_CLOCK}),tooltip:Ce.computed(function(){return t._isSystemTimeAvailable?"Today (real-time)":"Current time not in range"})}),this._slower=yn(function(){let s=t._clockViewModel,a=t._allShuttleRingTicks,c=s.multiplier,u=$q(c,a)-1;u>=0&&(s.multiplier=a[u])}),this._faster=yn(function(){let s=t._clockViewModel,a=t._allShuttleRingTicks,c=s.multiplier,u=$q(c,a)+1;u<a.length&&(s.multiplier=a[u])})}nf.defaultDateFormatter=function(e,t){let n=Q.toGregorianDate(e);return`${$mt[n.month-1]} ${n.day} ${n.year}`};nf.defaultTicks=[.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];nf.defaultTimeFormatter=function(e,t){let n=Q.toGregorianDate(e),i=Math.round(n.millisecond);return Math.abs(t._clockViewModel.multiplier)<1?`${n.hour.toString().padStart(2,"0")}:${n.minute.toString().padStart(2,"0")}:${n.second.toString().padStart(2,"0")}.${i.toString().padStart(3,"0")}`:`${n.hour.toString().padStart(2,"0")}:${n.minute.toString().padStart(2,"0")}:${n.second.toString().padStart(2,"0")} UTC`};nf.prototype.getShuttleRingTicks=function(){return this._sortedFilteredPositiveTicks.slice(0)};nf.prototype.setShuttleRingTicks=function(e){let t,n,i,o={},r=this._sortedFilteredPositiveTicks;for(r.length=0,t=0,n=e.length;t<n;++t)i=e[t],o.hasOwnProperty(i)||(o[i]=!0,r.push(i));r.sort(q0e);let s=[];for(n=r.length,t=n-1;t>=0;--t)i=r[t],i!==0&&s.push(-i);Array.prototype.push.apply(s,r),this._allShuttleRingTicks=s};Object.defineProperties(nf.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}}});nf._maxShuttleRingAngle=ob;nf._realtimeShuttleRingAngle=d0;var j4=nf;function Y0e(e){e=y(e,y.EMPTY_OBJECT);let t=e.globe,n=y(e.imageryProviderViewModels,[]),i=y(e.terrainProviderViewModels,[]);this._globe=t,this.imageryProviderViewModels=n.slice(0),this.terrainProviderViewModels=i.slice(0),this.dropDownVisible=!1,Ce.track(this,["imageryProviderViewModels","terrainProviderViewModels","dropDownVisible"]);let o=Ce.getObservable(this,"imageryProviderViewModels"),r=Ce.pureComputed(function(){let d=o(),p={},g;for(g=0;g<d.length;g++){let x=d[g],A=x.category;l(p[A])?p[A].push(x):p[A]=[x]}let m=Object.keys(p),C=[];for(g=0;g<m.length;g++){let x=m[g];C.push({name:x,providers:p[x]})}return C});this._imageryProviders=r;let s=Ce.getObservable(this,"terrainProviderViewModels"),a=Ce.pureComputed(function(){let d=s(),p={},g;for(g=0;g<d.length;g++){let x=d[g],A=x.category;l(p[A])?p[A].push(x):p[A]=[x]}let m=Object.keys(p),C=[];for(g=0;g<m.length;g++){let x=m[g];C.push({name:x,providers:p[x]})}return C});this._terrainProviders=a,this.buttonTooltip=void 0,Ce.defineProperty(this,"buttonTooltip",function(){let d=this.selectedImagery,p=this.selectedTerrain,g=l(d)?d.name:void 0,m=l(p)?p.name:void 0;return l(g)&&l(m)?`${g}
  8679. ${m}`:l(g)?g:m}),this.buttonImageUrl=void 0,Ce.defineProperty(this,"buttonImageUrl",function(){let d=this.selectedImagery;if(l(d))return d.iconUrl}),this.selectedImagery=void 0;let c=Ce.observable();this._currentImageryProviders=[],Ce.defineProperty(this,"selectedImagery",{get:function(){return c()},set:function(d){if(c()===d){this.dropDownVisible=!1;return}let p,g=this._currentImageryProviders,m=g.length,C=this._globe.imageryLayers,x=!1;for(p=0;p<m;p++){let A=C.length;for(let b=0;b<A;b++){let E=C.get(b);if(E.imageryProvider===g[p]){C.remove(E),x=!0;break}}}if(l(d)){let A=d.creationCommand();if(Array.isArray(A)){let b=A.length;for(p=b-1;p>=0;p--)C.addImageryProvider(A[p],0);this._currentImageryProviders=A.slice(0)}else if(this._currentImageryProviders=[A],x)C.addImageryProvider(A,0);else{let b=C.get(0);l(b)&&C.remove(b),C.addImageryProvider(A,0)}}c(d),this.dropDownVisible=!1}}),this.selectedTerrain=void 0;let u=Ce.observable();Ce.defineProperty(this,"selectedTerrain",{get:function(){return u()},set:function(d){if(u()===d){this.dropDownVisible=!1;return}let p;l(d)&&(p=d.creationCommand()),this._globe.depthTestAgainstTerrain=!(p instanceof o_),this._globe.terrainProvider=p,u(d),this.dropDownVisible=!1}});let f=this;this._toggleDropDown=yn(function(){f.dropDownVisible=!f.dropDownVisible}),this.selectedImagery=y(e.selectedImageryProviderViewModel,n[0]),this.selectedTerrain=y(e.selectedTerrainProviderViewModel,i[0])}Object.defineProperties(Y0e.prototype,{toggleDropDown:{get:function(){return this._toggleDropDown}},globe:{get:function(){return this._globe}}});var q4=Y0e;function Y4(e,t){e=wn(e);let n=new q4(t),i=document.createElement("button");i.type="button",i.className="cesium-button cesium-toolbar-button",i.setAttribute("data-bind","attr: { title: buttonTooltip },click: toggleDropDown"),e.appendChild(i);let o=document.createElement("img");o.setAttribute("draggable","false"),o.className="cesium-baseLayerPicker-selected",o.setAttribute("data-bind","attr: { src: buttonImageUrl }, visible: !!buttonImageUrl"),i.appendChild(o);let r=document.createElement("div");r.className="cesium-baseLayerPicker-dropDown",r.setAttribute("data-bind",'css: { "cesium-baseLayerPicker-dropDown-visible" : dropDownVisible }'),e.appendChild(r);let s=document.createElement("div");s.className="cesium-baseLayerPicker-sectionTitle",s.setAttribute("data-bind","visible: imageryProviderViewModels.length > 0"),s.innerHTML="Imagery",r.appendChild(s);let a=document.createElement("div");a.className="cesium-baseLayerPicker-section",a.setAttribute("data-bind","foreach: _imageryProviders"),r.appendChild(a);let c=document.createElement("div");c.className="cesium-baseLayerPicker-category",a.appendChild(c);let u=document.createElement("div");u.className="cesium-baseLayerPicker-categoryTitle",u.setAttribute("data-bind","text: name"),c.appendChild(u);let f=document.createElement("div");f.className="cesium-baseLayerPicker-choices",f.setAttribute("data-bind","foreach: providers"),c.appendChild(f);let d=document.createElement("div");d.className="cesium-baseLayerPicker-item",d.setAttribute("data-bind",'css: { "cesium-baseLayerPicker-selectedItem" : $data === $parents[1].selectedImagery },attr: { title: tooltip },visible: creationCommand.canExecute,click: function($data) { $parents[1].selectedImagery = $data; }'),f.appendChild(d);let p=document.createElement("img");p.className="cesium-baseLayerPicker-itemIcon",p.setAttribute("data-bind","attr: { src: iconUrl }"),p.setAttribute("draggable","false"),d.appendChild(p);let g=document.createElement("div");g.className="cesium-baseLayerPicker-itemLabel",g.setAttribute("data-bind","text: name"),d.appendChild(g);let m=document.createElement("div");m.className="cesium-baseLayerPicker-sectionTitle",m.setAttribute("data-bind","visible: terrainProviderViewModels.length > 0"),m.innerHTML="Terrain",r.appendChild(m);let C=document.createElement("div");C.className="cesium-baseLayerPicker-section",C.setAttribute("data-bind","foreach: _terrainProviders"),r.appendChild(C);let x=document.createElement("div");x.className="cesium-baseLayerPicker-category",C.appendChild(x);let A=document.createElement("div");A.className="cesium-baseLayerPicker-categoryTitle",A.setAttribute("data-bind","text: name"),x.appendChild(A);let b=document.createElement("div");b.className="cesium-baseLayerPicker-choices",b.setAttribute("data-bind","foreach: providers"),x.appendChild(b);let E=document.createElement("div");E.className="cesium-baseLayerPicker-item",E.setAttribute("data-bind",'css: { "cesium-baseLayerPicker-selectedItem" : $data === $parents[1].selectedTerrain },attr: { title: tooltip },visible: creationCommand.canExecute,click: function($data) { $parents[1].selectedTerrain = $data; }'),b.appendChild(E);let S=document.createElement("img");S.className="cesium-baseLayerPicker-itemIcon",S.setAttribute("data-bind","attr: { src: iconUrl }"),S.setAttribute("draggable","false"),E.appendChild(S);let v=document.createElement("div");v.className="cesium-baseLayerPicker-itemLabel",v.setAttribute("data-bind","text: name"),E.appendChild(v),Ce.applyBindings(n,i),Ce.applyBindings(n,r),this._viewModel=n,this._container=e,this._element=i,this._dropPanel=r,this._closeDropDown=function(P){i.contains(P.target)||r.contains(P.target)||(n.dropDownVisible=!1)},Mt.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeDropDown,!0):(document.addEventListener("mousedown",this._closeDropDown,!0),document.addEventListener("touchstart",this._closeDropDown,!0))}Object.defineProperties(Y4.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});Y4.prototype.isDestroyed=function(){return!1};Y4.prototype.destroy=function(){return Mt.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeDropDown,!0):(document.removeEventListener("mousedown",this._closeDropDown,!0),document.removeEventListener("touchstart",this._closeDropDown,!0)),Ce.cleanNode(this._element),Ce.cleanNode(this._dropPanel),this._container.removeChild(this._element),this._container.removeChild(this._dropPanel),fe(this)};var X4=Y4;function X0e(e){let t=e.creationFunction;l(t.canExecute)||(t=yn(t)),this._creationCommand=t,this.name=e.name,this.tooltip=e.tooltip,this.iconUrl=e.iconUrl,this._category=y(e.category,""),Ce.track(this,["name","tooltip","iconUrl"])}Object.defineProperties(X0e.prototype,{creationCommand:{get:function(){return this._creationCommand}},category:{get:function(){return this._category}}});var _s=X0e;function ept(){let e=[];return e.push(new _s({name:"Bing Maps Aerial",iconUrl:Zt("Widgets/Images/ImageryProviders/bingAerial.png"),tooltip:"Bing Maps aerial imagery, provided by Cesium ion",category:"Cesium ion",creationFunction:function(){return l0({style:t0.AERIAL})}})),e.push(new _s({name:"Bing Maps Aerial with Labels",iconUrl:Zt("Widgets/Images/ImageryProviders/bingAerialLabels.png"),tooltip:"Bing Maps aerial imagery with labels, provided by Cesium ion",category:"Cesium ion",creationFunction:function(){return l0({style:t0.AERIAL_WITH_LABELS})}})),e.push(new _s({name:"Bing Maps Roads",iconUrl:Zt("Widgets/Images/ImageryProviders/bingRoads.png"),tooltip:"Bing Maps standard road maps, provided by Cesium ion",category:"Cesium ion",creationFunction:function(){return l0({style:t0.ROAD})}})),e.push(new _s({name:"ESRI World Imagery",iconUrl:Zt("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.
  8680. http://www.esri.com`,category:"Other",creationFunction:function(){return new Yg({url:"https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer",enablePickFeatures:!1})}})),e.push(new _s({name:"ESRI World Street Map",iconUrl:Zt("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.
  8681. http://www.esri.com`,category:"Other",creationFunction:function(){return new Yg({url:"https://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer",enablePickFeatures:!1})}})),e.push(new _s({name:"ESRI National Geographic",iconUrl:Zt("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.
  8682. http://www.esri.com`,category:"Other",creationFunction:function(){return new Yg({url:"https://services.arcgisonline.com/ArcGIS/rest/services/NatGeo_World_Map/MapServer/",enablePickFeatures:!1})}})),e.push(new _s({name:"Open\xADStreet\xADMap",iconUrl:Zt("Widgets/Images/ImageryProviders/openStreetMap.png"),tooltip:`OpenStreetMap (OSM) is a collaborative project to create a free editable map of the world.
  8683. http://www.openstreetmap.org`,category:"Other",creationFunction:function(){return new GE({url:"https://a.tile.openstreetmap.org/"})}})),e.push(new _s({name:"Stamen Watercolor",iconUrl:Zt("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.
  8684. http://maps.stamen.com`,category:"Other",creationFunction:function(){return new GE({url:"https://stamen-tiles.a.ssl.fastly.net/watercolor/",credit:"Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under CC BY SA."})}})),e.push(new _s({name:"Stamen Toner",iconUrl:Zt("Widgets/Images/ImageryProviders/stamenToner.png"),tooltip:`A high contrast black and white map.
  8685. http://maps.stamen.com`,category:"Other",creationFunction:function(){return new GE({url:"https://stamen-tiles.a.ssl.fastly.net/toner/",credit:"Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under CC BY SA."})}})),e.push(new _s({name:"Sentinel-2",iconUrl:Zt("Widgets/Images/ImageryProviders/sentinel-2.png"),tooltip:"Sentinel-2 cloudless by EOX IT Services GmbH (Contains modified Copernicus Sentinel data 2016 and 2017).",category:"Cesium ion",creationFunction:function(){return new e0({assetId:3954})}})),e.push(new _s({name:"Blue Marble",iconUrl:Zt("Widgets/Images/ImageryProviders/blueMarble.png"),tooltip:"Blue Marble Next Generation July, 2004 imagery from NASA.",category:"Cesium ion",creationFunction:function(){return new e0({assetId:3845})}})),e.push(new _s({name:"Earth at night",iconUrl:Zt("Widgets/Images/ImageryProviders/earthAtNight.png"),tooltip:"The Earth at night, also known as The Black Marble, is a 500 meter resolution global composite imagery layer released by NASA.",category:"Cesium ion",creationFunction:function(){return new e0({assetId:3812})}})),e.push(new _s({name:"Natural Earth\xA0II",iconUrl:Zt("Widgets/Images/ImageryProviders/naturalEarthII.png"),tooltip:`Natural Earth II, darkened for contrast.
  8686. http://www.naturalearthdata.com/`,category:"Cesium ion",creationFunction:function(){return new xC({url:Zt("Assets/Textures/NaturalEarthII")})}})),e}var K4=ept;function tpt(){let e=[];return e.push(new _s({name:"WGS84 Ellipsoid",iconUrl:Zt("Widgets/Images/TerrainProviders/Ellipsoid.png"),tooltip:"WGS84 standard ellipsoid, also known as EPSG:4326",category:"Cesium ion",creationFunction:function(){return new o_}})),e.push(new _s({name:"Cesium World Terrain",iconUrl:Zt("Widgets/Images/TerrainProviders/CesiumWorldTerrain.png"),tooltip:"High-resolution global terrain tileset curated from several datasources and hosted by Cesium ion",category:"Cesium ion",creationFunction:function(){return qI({requestWaterMask:!0,requestVertexNormals:!0})}})),e}var Z4=tpt;function npt(e){return function(t){let n=e._scene.pick(t.position);l(n)&&n.primitive instanceof Lu&&(e.tileset=n.primitive),e.pickActive=!1}}function Z0e(e,t){t?e._eventHandler.setInputAction(function(n){let i=e._scene.pick(n.endPosition);l(i)&&i.primitive instanceof Lu&&(e.tileset=i.primitive)},fn.MOUSE_MOVE):(e._eventHandler.removeInputAction(fn.MOUSE_MOVE),e.picking=e.picking)}var ipt={maximumFractionDigits:3};function ZD(e){let t=e/1048576;return t<1?t.toLocaleString(void 0,ipt):Math.round(t).toLocaleString()}function $D(e,t){if(!l(e))return"";let n=t?e._statisticsPerPass[er.PICK]:e._statisticsPerPass[er.RENDER],i='<ul class="cesium-cesiumInspector-statistics">';return i+=`<li><strong>Visited: </strong>${n.visited.toLocaleString()}</li><li><strong>Selected: </strong>${n.selected.toLocaleString()}</li><li><strong>Commands: </strong>${n.numberOfCommands.toLocaleString()}</li>`,i+="</ul>",t||(i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Requests: </strong>${n.numberOfPendingRequests.toLocaleString()}</li><li><strong>Attempted: </strong>${n.numberOfAttemptedRequests.toLocaleString()}</li><li><strong>Processing: </strong>${n.numberOfTilesProcessing.toLocaleString()}</li><li><strong>Content Ready: </strong>${n.numberOfTilesWithContentReady.toLocaleString()}</li><li><strong>Total: </strong>${n.numberOfTilesTotal.toLocaleString()}</li>`,i+="</ul>",i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Features Selected: </strong>${n.numberOfFeaturesSelected.toLocaleString()}</li><li><strong>Features Loaded: </strong>${n.numberOfFeaturesLoaded.toLocaleString()}</li><li><strong>Points Selected: </strong>${n.numberOfPointsSelected.toLocaleString()}</li><li><strong>Points Loaded: </strong>${n.numberOfPointsLoaded.toLocaleString()}</li><li><strong>Triangles Selected: </strong>${n.numberOfTrianglesSelected.toLocaleString()}</li>`,i+="</ul>",i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Tiles styled: </strong>${n.numberOfTilesStyled.toLocaleString()}</li><li><strong>Features styled: </strong>${n.numberOfFeaturesStyled.toLocaleString()}</li>`,i+="</ul>",i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Children Union Culled: </strong>${n.numberOfTilesCulledWithChildrenUnion.toLocaleString()}</li>`,i+="</ul>",i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Geometry Memory (MB): </strong>${ZD(n.geometryByteLength)}</li><li><strong>Texture Memory (MB): </strong>${ZD(n.texturesByteLength)}</li><li><strong>Batch Table Memory (MB): </strong>${ZD(n.batchTableByteLength)}</li>`,i+="</ul>"),i}function $0e(){let e=ho.statistics;return`
  8687. <ul class="cesium-cesiumInspector-statistics">
  8688. <li><strong>Geometry Memory (MB): </strong>${ZD(e.geometryByteLength)}</li>
  8689. <li><strong>Texture Memory (MB): </strong>${ZD(e.texturesByteLength)}</li>
  8690. </ul>
  8691. `}var opt=[{text:"Highlight",value:Sl.HIGHLIGHT},{text:"Replace",value:Sl.REPLACE},{text:"Mix",value:Sl.MIX}],K0e=new U(1,1,0,.4),rpt=new U,$4=new U;function ks(e,t){let n=this,i=e.canvas;this._eventHandler=new _u(i),this._scene=e,this._performanceContainer=t,this._canvas=i,this._performanceDisplay=new i0({container:t}),this._statisticsText="",this._pickStatisticsText="",this._resourceCacheStatisticsText="",this._editorError="",this.performance=!1,this.showStatistics=!0,this.showPickStatistics=!0,this.showResourceCacheStatistics=!1,this.inspectorVisible=!0,this.tilesetVisible=!1,this.displayVisible=!1,this.updateVisible=!1,this.loggingVisible=!1,this.styleVisible=!1,this.tileDebugLabelsVisible=!1,this.optimizationVisible=!1,this.styleString="{}",this._tileset=void 0,this._feature=void 0,this._tile=void 0,Ce.track(this,["performance","inspectorVisible","_statisticsText","_pickStatisticsText","_resourceCacheStatisticsText","_editorError","showPickStatistics","showStatistics","showResourceCacheStatistics","tilesetVisible","displayVisible","updateVisible","loggingVisible","styleVisible","optimizationVisible","tileDebugLabelsVisible","styleString","_feature","_tile"]),this._properties=Ce.observable({}),this.properties=[],Ce.defineProperty(this,"properties",function(){let V=[],Y=n._properties();for(let q in Y)Y.hasOwnProperty(q)&&V.push(q);return V});let o=Ce.observable();Ce.defineProperty(this,"dynamicScreenSpaceError",{get:function(){return o()},set:function(V){o(V),l(n._tileset)&&(n._tileset.dynamicScreenSpaceError=V)}}),this.dynamicScreenSpaceError=!1;let r=Ce.observable();Ce.defineProperty(this,"colorBlendMode",{get:function(){return r()},set:function(V){r(V),l(n._tileset)&&(n._tileset.colorBlendMode=V,n._scene.requestRender())}}),this.colorBlendMode=Sl.HIGHLIGHT;let s=Ce.observable(),a=Ce.observable();Ce.defineProperty(this,"picking",{get:function(){return a()},set:function(V){a(V),V?n._eventHandler.setInputAction(function(Y){let q=e.pick(Y.endPosition);if(q instanceof bs?(n.feature=q,n.tile=q.content.tile):l(q)&&l(q.content)?(n.feature=void 0,n.tile=q.content.tile):(n.feature=void 0,n.tile=void 0),!!l(n._tileset)){if(s&&l(q)&&l(q.content)){let X;e.pickPositionSupported&&(X=e.pickPosition(Y.endPosition),l(X)&&(n._tileset.debugPickPosition=X)),n._tileset.debugPickedTile=q.content.tile}else n._tileset.debugPickedTile=void 0;n._scene.requestRender()}},fn.MOUSE_MOVE):(n.feature=void 0,n.tile=void 0,n._eventHandler.removeInputAction(fn.MOUSE_MOVE))}}),this.picking=!0;let c=Ce.observable();Ce.defineProperty(this,"colorize",{get:function(){return c()},set:function(V){c(V),l(n._tileset)&&(n._tileset.debugColorizeTiles=V,n._scene.requestRender())}}),this.colorize=!1;let u=Ce.observable();Ce.defineProperty(this,"wireframe",{get:function(){return u()},set:function(V){u(V),l(n._tileset)&&(n._tileset.debugWireframe=V,n._scene.requestRender())}}),this.wireframe=!1;let f=Ce.observable();Ce.defineProperty(this,"showBoundingVolumes",{get:function(){return f()},set:function(V){f(V),l(n._tileset)&&(n._tileset.debugShowBoundingVolume=V,n._scene.requestRender())}}),this.showBoundingVolumes=!1;let d=Ce.observable();Ce.defineProperty(this,"showContentBoundingVolumes",{get:function(){return d()},set:function(V){d(V),l(n._tileset)&&(n._tileset.debugShowContentBoundingVolume=V,n._scene.requestRender())}}),this.showContentBoundingVolumes=!1;let p=Ce.observable();Ce.defineProperty(this,"showRequestVolumes",{get:function(){return p()},set:function(V){p(V),l(n._tileset)&&(n._tileset.debugShowViewerRequestVolume=V,n._scene.requestRender())}}),this.showRequestVolumes=!1;let g=Ce.observable();Ce.defineProperty(this,"freezeFrame",{get:function(){return g()},set:function(V){g(V),l(n._tileset)&&(n._tileset.debugFreezeFrame=V,n._scene.debugShowFrustumPlanes=V,n._scene.requestRender())}}),this.freezeFrame=!1,Ce.defineProperty(this,"showOnlyPickedTileDebugLabel",{get:function(){return s()},set:function(V){s(V),l(n._tileset)&&(n._tileset.debugPickedTileLabelOnly=V,n._scene.requestRender())}}),this.showOnlyPickedTileDebugLabel=!1;let m=Ce.observable();Ce.defineProperty(this,"showGeometricError",{get:function(){return m()},set:function(V){m(V),l(n._tileset)&&(n._tileset.debugShowGeometricError=V,n._scene.requestRender())}}),this.showGeometricError=!1;let C=Ce.observable();Ce.defineProperty(this,"showRenderingStatistics",{get:function(){return C()},set:function(V){C(V),l(n._tileset)&&(n._tileset.debugShowRenderingStatistics=V,n._scene.requestRender())}}),this.showRenderingStatistics=!1;let x=Ce.observable();Ce.defineProperty(this,"showMemoryUsage",{get:function(){return x()},set:function(V){x(V),l(n._tileset)&&(n._tileset.debugShowMemoryUsage=V,n._scene.requestRender())}}),this.showMemoryUsage=!1;let A=Ce.observable();Ce.defineProperty(this,"showUrl",{get:function(){return A()},set:function(V){A(V),l(n._tileset)&&(n._tileset.debugShowUrl=V,n._scene.requestRender())}}),this.showUrl=!1;let b=Ce.observable();Ce.defineProperty(this,"maximumScreenSpaceError",{get:function(){return b()},set:function(V){V=Number(V),isNaN(V)||(b(V),l(n._tileset)&&(n._tileset.maximumScreenSpaceError=V))}}),this.maximumScreenSpaceError=16;let E=Ce.observable();Ce.defineProperty(this,"dynamicScreenSpaceErrorDensity",{get:function(){return E()},set:function(V){V=Number(V),isNaN(V)||(E(V),l(n._tileset)&&(n._tileset.dynamicScreenSpaceErrorDensity=V))}}),this.dynamicScreenSpaceErrorDensity=.00278,this.dynamicScreenSpaceErrorDensitySliderValue=void 0,Ce.defineProperty(this,"dynamicScreenSpaceErrorDensitySliderValue",{get:function(){return Math.pow(E(),1/6)},set:function(V){E(Math.pow(V,6))}});let S=Ce.observable();Ce.defineProperty(this,"dynamicScreenSpaceErrorFactor",{get:function(){return S()},set:function(V){V=Number(V),isNaN(V)||(S(V),l(n._tileset)&&(n._tileset.dynamicScreenSpaceErrorFactor=V))}}),this.dynamicScreenSpaceErrorFactor=4;let v=npt(this),P=Ce.observable();Ce.defineProperty(this,"pickActive",{get:function(){return P()},set:function(V){P(V),V?n._eventHandler.setInputAction(v,fn.LEFT_CLICK):n._eventHandler.removeInputAction(fn.LEFT_CLICK)}});let O=Ce.observable();Ce.defineProperty(this,"pointCloudShading",{get:function(){return O()},set:function(V){O(V),l(n._tileset)&&(n._tileset.pointCloudShading.attenuation=V)}}),this.pointCloudShading=!1;let M=Ce.observable();Ce.defineProperty(this,"geometricErrorScale",{get:function(){return M()},set:function(V){V=Number(V),isNaN(V)||(M(V),l(n._tileset)&&(n._tileset.pointCloudShading.geometricErrorScale=V))}}),this.geometricErrorScale=1;let B=Ce.observable();Ce.defineProperty(this,"maximumAttenuation",{get:function(){return B()},set:function(V){V=Number(V),isNaN(V)||(B(V),l(n._tileset)&&(n._tileset.pointCloudShading.maximumAttenuation=V===0?void 0:V))}}),this.maximumAttenuation=0;let L=Ce.observable();Ce.defineProperty(this,"baseResolution",{get:function(){return L()},set:function(V){V=Number(V),isNaN(V)||(L(V),l(n._tileset)&&(n._tileset.pointCloudShading.baseResolution=V===0?void 0:V))}}),this.baseResolution=0;let _=Ce.observable();Ce.defineProperty(this,"eyeDomeLighting",{get:function(){return _()},set:function(V){_(V),l(n._tileset)&&(n._tileset.pointCloudShading.eyeDomeLighting=V)}}),this.eyeDomeLighting=!1;let T=Ce.observable();Ce.defineProperty(this,"eyeDomeLightingStrength",{get:function(){return T()},set:function(V){V=Number(V),isNaN(V)||(T(V),l(n._tileset)&&(n._tileset.pointCloudShading.eyeDomeLightingStrength=V))}}),this.eyeDomeLightingStrength=1;let w=Ce.observable();Ce.defineProperty(this,"eyeDomeLightingRadius",{get:function(){return w()},set:function(V){V=Number(V),isNaN(V)||(w(V),l(n._tileset)&&(n._tileset.pointCloudShading.eyeDomeLightingRadius=V))}}),this.eyeDomeLightingRadius=1,this.pickActive=!1;let D=Ce.observable();Ce.defineProperty(this,"skipLevelOfDetail",{get:function(){return D()},set:function(V){D(V),l(n._tileset)&&(n._tileset.skipLevelOfDetail=V)}}),this.skipLevelOfDetail=!0;let R=Ce.observable();Ce.defineProperty(this,"skipScreenSpaceErrorFactor",{get:function(){return R()},set:function(V){V=Number(V),isNaN(V)||(R(V),l(n._tileset)&&(n._tileset.skipScreenSpaceErrorFactor=V))}}),this.skipScreenSpaceErrorFactor=16;let F=Ce.observable();Ce.defineProperty(this,"baseScreenSpaceError",{get:function(){return F()},set:function(V){V=Number(V),isNaN(V)||(F(V),l(n._tileset)&&(n._tileset.baseScreenSpaceError=V))}}),this.baseScreenSpaceError=1024;let z=Ce.observable();Ce.defineProperty(this,"skipLevels",{get:function(){return z()},set:function(V){V=Number(V),isNaN(V)||(z(V),l(n._tileset)&&(n._tileset.skipLevels=V))}}),this.skipLevels=1;let k=Ce.observable();Ce.defineProperty(this,"immediatelyLoadDesiredLevelOfDetail",{get:function(){return k()},set:function(V){k(V),l(n._tileset)&&(n._tileset.immediatelyLoadDesiredLevelOfDetail=V)}}),this.immediatelyLoadDesiredLevelOfDetail=!1;let H=Ce.observable();Ce.defineProperty(this,"loadSiblings",{get:function(){return H()},set:function(V){H(V),l(n._tileset)&&(n._tileset.loadSiblings=V)}}),this.loadSiblings=!1,this._style=void 0,this._shouldStyle=!1,this._definedProperties=["properties","dynamicScreenSpaceError","colorBlendMode","picking","colorize","wireframe","showBoundingVolumes","showContentBoundingVolumes","showRequestVolumes","freezeFrame","maximumScreenSpaceError","dynamicScreenSpaceErrorDensity","baseScreenSpaceError","skipScreenSpaceErrorFactor","skipLevelOfDetail","skipLevels","immediatelyLoadDesiredLevelOfDetail","loadSiblings","dynamicScreenSpaceErrorDensitySliderValue","dynamicScreenSpaceErrorFactor","pickActive","showOnlyPickedTileDebugLabel","showGeometricError","showRenderingStatistics","showMemoryUsage","showUrl","pointCloudShading","geometricErrorScale","maximumAttenuation","baseResolution","eyeDomeLighting","eyeDomeLightingStrength","eyeDomeLightingRadius"],this._removePostRenderEvent=e.postRender.addEventListener(function(){n._update()}),l(this._tileset)||Z0e(this,!0)}Object.defineProperties(ks.prototype,{scene:{get:function(){return this._scene}},performanceContainer:{get:function(){return this._performanceContainer}},statisticsText:{get:function(){return this._statisticsText}},pickStatisticsText:{get:function(){return this._pickStatisticsText}},resourceCacheStatisticsText:{get:function(){return this._resourceCacheStatisticsText}},colorBlendModes:{get:function(){return opt}},editorError:{get:function(){return this._editorError}},tileset:{get:function(){return this._tileset},set:function(e){if(this._tileset=e,this._style=void 0,this.styleString="{}",this.feature=void 0,this.tile=void 0,l(e)){let t=this;e.readyPromise.then(function(r){t.isDestroyed()||t._properties(r.properties)});let n=["colorize","wireframe","showBoundingVolumes","showContentBoundingVolumes","showRequestVolumes","freezeFrame","showOnlyPickedTileDebugLabel","showGeometricError","showRenderingStatistics","showMemoryUsage","showUrl"],i=n.length;for(let r=0;r<i;++r){let s=n[r];this[s]=this[s]}this.maximumScreenSpaceError=e.maximumScreenSpaceError,this.dynamicScreenSpaceError=e.dynamicScreenSpaceError,this.dynamicScreenSpaceErrorDensity=e.dynamicScreenSpaceErrorDensity,this.dynamicScreenSpaceErrorFactor=e.dynamicScreenSpaceErrorFactor,this.colorBlendMode=e.colorBlendMode,this.skipLevelOfDetail=e.skipLevelOfDetail,this.skipScreenSpaceErrorFactor=e.skipScreenSpaceErrorFactor,this.baseScreenSpaceError=e.baseScreenSpaceError,this.skipLevels=e.skipLevels,this.immediatelyLoadDesiredLevelOfDetail=e.immediatelyLoadDesiredLevelOfDetail,this.loadSiblings=e.loadSiblings;let o=e.pointCloudShading;this.pointCloudShading=o.attenuation,this.geometricErrorScale=o.geometricErrorScale,this.maximumAttenuation=o.maximumAttenuation?o.maximumAttenuation:0,this.baseResolution=o.baseResolution?o.baseResolution:0,this.eyeDomeLighting=o.eyeDomeLighting,this.eyeDomeLightingStrength=o.eyeDomeLightingStrength,this.eyeDomeLightingRadius=o.eyeDomeLightingRadius,this._scene.requestRender()}else this._properties({});this._statisticsText=$D(e,!1),this._pickStatisticsText=$D(e,!0),this._resourceCacheStatisticsText=$0e(),Z0e(this,!1)}},feature:{get:function(){return this._feature},set:function(e){if(this._feature===e)return;let t=this._feature;l(t)&&!t.content.isDestroyed()&&(!this.colorize&&l(this._style)?t.color=l(this._style.color)?this._style.color.evaluateColor(t,rpt):U.WHITE:t.color=$4,this._scene.requestRender()),l(e)&&(U.clone(e.color,$4),e.color=K0e,this._scene.requestRender()),this._feature=e}},tile:{get:function(){return this._tile},set:function(e){if(this._tile===e)return;let t=this._tile;l(t)&&!t.isDestroyed()&&!Jq(t.content)&&(t.color=$4,this._scene.requestRender()),l(e)&&!Jq(e.content)&&(U.clone(e.color,$4),e.color=K0e,this._scene.requestRender()),this._tile=e}}});function Jq(e){if(!l(e))return!1;if(e.featuresLength>0)return!0;let t=e.innerContents;if(l(t)){let n=t.length;for(let i=0;i<n;++i)if(!Jq(t[i]))return!1;return!0}return!1}ks.prototype.togglePickTileset=function(){this.pickActive=!this.pickActive};ks.prototype.toggleInspector=function(){this.inspectorVisible=!this.inspectorVisible};ks.prototype.toggleTileset=function(){this.tilesetVisible=!this.tilesetVisible};ks.prototype.toggleDisplay=function(){this.displayVisible=!this.displayVisible};ks.prototype.toggleUpdate=function(){this.updateVisible=!this.updateVisible};ks.prototype.toggleLogging=function(){this.loggingVisible=!this.loggingVisible};ks.prototype.toggleStyle=function(){this.styleVisible=!this.styleVisible};ks.prototype.toggleTileDebugLabels=function(){this.tileDebugLabelsVisible=!this.tileDebugLabelsVisible};ks.prototype.toggleOptimization=function(){this.optimizationVisible=!this.optimizationVisible};ks.prototype.trimTilesCache=function(){l(this._tileset)&&this._tileset.trimLoadedTiles()};ks.prototype.compileStyle=function(){let e=this._tileset;if(!(!l(e)||this.styleString===JSON.stringify(e.style))){this._editorError="";try{this.styleString.length===0&&(this.styleString="{}"),this._style=new DE(JSON.parse(this.styleString)),this._shouldStyle=!0,this._scene.requestRender()}catch(t){this._editorError=t.toString()}this.feature=this._feature,this.tile=this._tile}};ks.prototype.styleEditorKeyPress=function(e,t){if(t.keyCode===9){t.preventDefault();let n=t.target,i=n.selectionStart,o=n.selectionEnd,r=o,a=n.value.slice(i,o).split(`
  8692. `),c=a.length,u;if(t.shiftKey)for(u=0;u<c;++u)a[u][0]===" "&&(a[u][1]===" "?(a[u]=a[u].substr(2),r-=2):(a[u]=a[u].substr(1),r-=1));else for(u=0;u<c;++u)a[u]=` ${a[u]}`,r+=2;let f=a.join(`
  8693. `);n.value=n.value.slice(0,i)+f+n.value.slice(o),n.selectionStart=i!==o?i:r,n.selectionEnd=r}else t.ctrlKey&&(t.keyCode===10||t.keyCode===13)&&this.compileStyle();return!0};ks.prototype._update=function(){let e=this._tileset;if(this.performance&&this._performanceDisplay.update(),l(e)){if(e.isDestroyed()){this.tile=void 0,this.feature=void 0,this.tileset=void 0;return}let t=e.style;this._style!==e.style&&(this._shouldStyle?(e.style=this._style,this._shouldStyle=!1):(this._style=t,this.styleString=JSON.stringify(t.style,null," ")))}this.showStatistics&&(this._statisticsText=$D(e,!1),this._pickStatisticsText=$D(e,!0),this._resourceCacheStatisticsText=$0e())};ks.prototype.isDestroyed=function(){return!1};ks.prototype.destroy=function(){this._eventHandler.destroy(),this._removePostRenderEvent();let e=this;return this._definedProperties.forEach(function(t){Ce.getObservable(e,t).dispose()}),fe(this)};ks.getStatistics=$D;var J4=ks;function Q4(e,t){e=wn(e);let n=document.createElement("div"),i=document.createElement("div");i.setAttribute("data-bind","visible: performance");let o=new J4(t,i);this._viewModel=o,this._container=e,this._element=n;let r=document.createElement("div");r.textContent="3D Tiles Inspector",r.className="cesium-cesiumInspector-button",r.setAttribute("data-bind","click: toggleInspector"),n.appendChild(r),n.className="cesium-cesiumInspector cesium-3DTilesInspector",n.setAttribute("data-bind",'css: { "cesium-cesiumInspector-visible" : inspectorVisible, "cesium-cesiumInspector-hidden" : !inspectorVisible}'),e.appendChild(n);let s=document.createElement("div");this._panel=s,s.className="cesium-cesiumInspector-dropDown",n.appendChild(s);let a=u0.createSection,c=u0.createCheckbox,u=a(s,"Tileset","tilesetVisible","toggleTileset"),f=a(s,"Display","displayVisible","toggleDisplay"),d=a(s,"Update","updateVisible","toggleUpdate"),p=a(s,"Logging","loggingVisible","toggleLogging"),g=a(s,"Tile Debug Labels","tileDebugLabelsVisible","toggleTileDebugLabels"),m=a(s,"Style","styleVisible","toggleStyle"),C=a(s,"Optimization","optimizationVisible","toggleOptimization"),x=document.createElement("div");x.className="field-group";let A=document.createElement("label");A.className="field-label",A.appendChild(document.createTextNode("Properties: "));let b=document.createElement("div");b.setAttribute("data-bind","text: properties"),x.appendChild(A),x.appendChild(b),u.appendChild(x),u.appendChild(Qq("togglePickTileset","Pick Tileset","pickActive")),u.appendChild(Qq("trimTilesCache","Trim Tiles Cache")),u.appendChild(c("Enable Picking","picking")),f.appendChild(c("Colorize","colorize")),f.appendChild(c("Wireframe","wireframe")),f.appendChild(c("Bounding Volumes","showBoundingVolumes")),f.appendChild(c("Content Volumes","showContentBoundingVolumes")),f.appendChild(c("Request Volumes","showRequestVolumes")),f.appendChild(c("Point Cloud Shading","pointCloudShading"));let E=document.createElement("div");E.setAttribute("data-bind","visible: pointCloudShading"),E.appendChild(xd("geometricErrorScale",0,2,.01,"Geometric Error Scale")),E.appendChild(xd("maximumAttenuation",0,32,1,"Maximum Attenuation")),E.appendChild(xd("baseResolution",0,1,.01,"Base Resolution")),E.appendChild(c("Eye Dome Lighting (EDL)","eyeDomeLighting")),f.appendChild(E);let S=document.createElement("div");S.setAttribute("data-bind","visible: eyeDomeLighting"),S.appendChild(xd("eyeDomeLightingStrength",0,2,.1,"EDL Strength")),S.appendChild(xd("eyeDomeLightingRadius",0,4,.1,"EDL Radius")),E.appendChild(S),d.appendChild(c("Freeze Frame","freezeFrame")),d.appendChild(c("Dynamic Screen Space Error","dynamicScreenSpaceError"));let v=document.createElement("div");v.appendChild(xd("maximumScreenSpaceError",0,128,1,"Maximum Screen Space Error")),d.appendChild(v);let P=document.createElement("div");P.setAttribute("data-bind","visible: dynamicScreenSpaceError"),P.appendChild(xd("dynamicScreenSpaceErrorDensitySliderValue",0,1,.005,"Screen Space Error Density","dynamicScreenSpaceErrorDensity")),P.appendChild(xd("dynamicScreenSpaceErrorFactor",1,10,.1,"Screen Space Error Factor")),d.appendChild(P),p.appendChild(c("Performance","performance")),p.appendChild(i),p.appendChild(c("Statistics","showStatistics"));let O=document.createElement("div");O.className="cesium-3dTilesInspector-statistics",O.setAttribute("data-bind","html: statisticsText, visible: showStatistics"),p.appendChild(O),p.appendChild(c("Pick Statistics","showPickStatistics"));let M=document.createElement("div");M.className="cesium-3dTilesInspector-statistics",M.setAttribute("data-bind","html: pickStatisticsText, visible: showPickStatistics"),p.appendChild(M),p.appendChild(c("Resource Cache Statistics","showResourceCacheStatistics"));let B=document.createElement("div");B.className="cesium-3dTilesInspector-statistics",B.setAttribute("data-bind","html: resourceCacheStatisticsText, visible: showResourceCacheStatistics"),p.appendChild(B);let L=document.createElement("div");m.appendChild(L),L.appendChild(document.createTextNode("Color Blend Mode: "));let _=document.createElement("select");_.setAttribute("data-bind",'options: colorBlendModes, optionsText: "text", optionsValue: "value", value: colorBlendMode'),L.appendChild(_);let T=document.createElement("textarea");T.setAttribute("data-bind","textInput: styleString, event: { keydown: styleEditorKeyPress }"),L.className="cesium-cesiumInspector-styleEditor",L.appendChild(T);let w=Qq("compileStyle","Compile (Ctrl+Enter)");L.appendChild(w);let D=document.createElement("div");D.className="cesium-cesiumInspector-error",D.setAttribute("data-bind","text: editorError"),L.appendChild(D),g.appendChild(c("Show Picked Only","showOnlyPickedTileDebugLabel")),g.appendChild(c("Geometric Error","showGeometricError")),g.appendChild(c("Rendering Statistics","showRenderingStatistics")),g.appendChild(c("Memory Usage (MB)","showMemoryUsage")),g.appendChild(c("Url","showUrl")),C.appendChild(c("Skip Tile LODs","skipLevelOfDetail"));let R=document.createElement("div");R.appendChild(xd("skipScreenSpaceErrorFactor",1,50,1,"Skip SSE Factor")),C.appendChild(R);let F=document.createElement("div");F.appendChild(xd("baseScreenSpaceError",0,4096,1,"SSE before skipping LOD")),C.appendChild(F);let z=document.createElement("div");z.appendChild(xd("skipLevels",0,10,1,"Min. levels to skip")),C.appendChild(z),C.appendChild(c("Load only tiles that meet the max SSE.","immediatelyLoadDesiredLevelOfDetail")),C.appendChild(c("Load siblings of visible tiles","loadSiblings")),Ce.applyBindings(o,n)}Object.defineProperties(Q4.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});Q4.prototype.isDestroyed=function(){return!1};Q4.prototype.destroy=function(){return Ce.cleanNode(this._element),this._container.removeChild(this._element),this.viewModel.destroy(),fe(this)};function xd(e,t,n,i,o,r){r=y(r,e);let s=document.createElement("input");s.setAttribute("data-bind",`value: ${r}`),s.type="number";let a=document.createElement("input");a.type="range",a.min=t,a.max=n,a.step=i,a.setAttribute("data-bind",`valueUpdate: "input", value: ${e}`);let c=document.createElement("div");c.appendChild(a);let u=document.createElement("div");return u.className="cesium-cesiumInspector-slider",u.appendChild(document.createTextNode(o)),u.appendChild(s),u.appendChild(c),u}function Qq(e,t,n){let i=document.createElement("button");i.type="button",i.textContent=t,i.className="cesium-cesiumInspector-pickButton";let o=`click: ${e}`;return l(n)&&(o+=`, css: {"cesium-cesiumInspector-pickButtonHighlight" : ${n}}`),i.setAttribute("data-bind",o),i}var ez=Q4;function spt(e){let t;if(l(e)){t="Command Statistics";let n=e.commandsInFrustums;for(let i in n)if(n.hasOwnProperty(i)){let o=parseInt(i,10),r;if(o===7)r="1, 2 and 3";else{let s=[];for(let a=2;a>=0;a--){let c=Math.pow(2,a);o>=c&&(s.push(a+1),o-=c)}r=s.reverse().join(" and ")}t+=`<br>&nbsp;&nbsp;&nbsp;&nbsp;${n[i]} in frustum ${r}`}t+=`<br>Total: ${e.totalCommands}`}return t}function eY(e,t,n){let i=Math.min(n,t);return i=Math.max(i,e),i}var apt=new Tn,cpt=new h;function JD(e,t){let n=this,i=e.canvas,o=new _u(i);this._eventHandler=o,this._scene=e,this._canvas=i,this._primitive=void 0,this._tile=void 0,this._modelMatrixPrimitive=void 0,this._performanceDisplay=void 0,this._performanceContainer=t;let r=this._scene.globe;r.depthTestAgainstTerrain=!0,this.frustums=!1,this.frustumPlanes=!1,this.performance=!1,this.shaderCacheText="",this.primitiveBoundingSphere=!1,this.primitiveReferenceFrame=!1,this.filterPrimitive=!1,this.tileBoundingSphere=!1,this.filterTile=!1,this.wireframe=!1,this.depthFrustum=1,this._numberOfFrustums=1,this.suspendUpdates=!1,this.tileCoordinates=!1,this.frustumStatisticText=!1,this.tileText="",this.hasPickedPrimitive=!1,this.hasPickedTile=!1,this.pickPrimitiveActive=!1,this.pickTileActive=!1,this.dropDownVisible=!0,this.generalVisible=!0,this.primitivesVisible=!1,this.terrainVisible=!1,this.depthFrustumText="",Ce.track(this,["frustums","frustumPlanes","performance","shaderCacheText","primitiveBoundingSphere","primitiveReferenceFrame","filterPrimitive","tileBoundingSphere","filterTile","wireframe","depthFrustum","suspendUpdates","tileCoordinates","frustumStatisticText","tileText","hasPickedPrimitive","hasPickedTile","pickPrimitiveActive","pickTileActive","dropDownVisible","generalVisible","primitivesVisible","terrainVisible","depthFrustumText"]),this._toggleDropDown=yn(function(){n.dropDownVisible=!n.dropDownVisible}),this._toggleGeneral=yn(function(){n.generalVisible=!n.generalVisible}),this._togglePrimitives=yn(function(){n.primitivesVisible=!n.primitivesVisible}),this._toggleTerrain=yn(function(){n.terrainVisible=!n.terrainVisible}),this._frustumsSubscription=Ce.getObservable(this,"frustums").subscribe(function(u){n._scene.debugShowFrustums=u,n._scene.requestRender()}),this._frustumPlanesSubscription=Ce.getObservable(this,"frustumPlanes").subscribe(function(u){n._scene.debugShowFrustumPlanes=u,n._scene.requestRender()}),this._performanceSubscription=Ce.getObservable(this,"performance").subscribe(function(u){u?n._performanceDisplay=new i0({container:n._performanceContainer}):n._performanceContainer.innerHTML=""}),this._showPrimitiveBoundingSphere=yn(function(){return n._primitive.debugShowBoundingVolume=n.primitiveBoundingSphere,n._scene.requestRender(),!0}),this._primitiveBoundingSphereSubscription=Ce.getObservable(this,"primitiveBoundingSphere").subscribe(function(){n._showPrimitiveBoundingSphere()}),this._showPrimitiveReferenceFrame=yn(function(){if(n.primitiveReferenceFrame){let u=n._primitive.modelMatrix;n._modelMatrixPrimitive=new ck({modelMatrix:u}),n._scene.primitives.add(n._modelMatrixPrimitive)}else l(n._modelMatrixPrimitive)&&(n._scene.primitives.remove(n._modelMatrixPrimitive),n._modelMatrixPrimitive=void 0);return n._scene.requestRender(),!0}),this._primitiveReferenceFrameSubscription=Ce.getObservable(this,"primitiveReferenceFrame").subscribe(function(){n._showPrimitiveReferenceFrame()}),this._doFilterPrimitive=yn(function(){return n.filterPrimitive?n._scene.debugCommandFilter=function(u){return l(n._modelMatrixPrimitive)&&u.owner===n._modelMatrixPrimitive._primitive?!0:l(n._primitive)?u.owner===n._primitive||u.owner===n._primitive._billboardCollection||u.owner.primitive===n._primitive:!1}:n._scene.debugCommandFilter=void 0,!0}),this._filterPrimitiveSubscription=Ce.getObservable(this,"filterPrimitive").subscribe(function(){n._doFilterPrimitive(),n._scene.requestRender()}),this._wireframeSubscription=Ce.getObservable(this,"wireframe").subscribe(function(u){r._surface.tileProvider._debug.wireframe=u,n._scene.requestRender()}),this._depthFrustumSubscription=Ce.getObservable(this,"depthFrustum").subscribe(function(u){n._scene.debugShowDepthFrustum=u,n._scene.requestRender()}),this._incrementDepthFrustum=yn(function(){let u=n.depthFrustum+1;return n.depthFrustum=eY(1,n._numberOfFrustums,u),n._scene.requestRender(),!0}),this._decrementDepthFrustum=yn(function(){let u=n.depthFrustum-1;return n.depthFrustum=eY(1,n._numberOfFrustums,u),n._scene.requestRender(),!0}),this._suspendUpdatesSubscription=Ce.getObservable(this,"suspendUpdates").subscribe(function(u){r._surface._debug.suspendLodUpdate=u,u||(n.filterTile=!1)});let s;this._showTileCoordinates=yn(function(){return n.tileCoordinates&&!l(s)?s=e.imageryLayers.addImageryProvider(new O4({tilingScheme:e.terrainProvider.tilingScheme})):!n.tileCoordinates&&l(s)&&(e.imageryLayers.remove(s),s=void 0),!0}),this._tileCoordinatesSubscription=Ce.getObservable(this,"tileCoordinates").subscribe(function(){n._showTileCoordinates(),n._scene.requestRender()}),this._tileBoundingSphereSubscription=Ce.getObservable(this,"tileBoundingSphere").subscribe(function(){n._showTileBoundingSphere(),n._scene.requestRender()}),this._showTileBoundingSphere=yn(function(){return n.tileBoundingSphere?r._surface.tileProvider._debug.boundingSphereTile=n._tile:r._surface.tileProvider._debug.boundingSphereTile=void 0,n._scene.requestRender(),!0}),this._doFilterTile=yn(function(){return n.filterTile?(n.suspendUpdates=!0,r._surface._tilesToRender=[],l(n._tile)&&n._tile.renderable&&r._surface._tilesToRender.push(n._tile)):n.suspendUpdates=!1,!0}),this._filterTileSubscription=Ce.getObservable(this,"filterTile").subscribe(function(){n.doFilterTile(),n._scene.requestRender()});function a(u){let f=n._scene.pick({x:u.position.x,y:u.position.y});l(f)&&(n.primitive=l(f.collection)?f.collection:f.primitive),n._scene.requestRender(),n.pickPrimitiveActive=!1}this._pickPrimitive=yn(function(){n.pickPrimitiveActive=!n.pickPrimitiveActive}),this._pickPrimitiveActiveSubscription=Ce.getObservable(this,"pickPrimitiveActive").subscribe(function(u){u?o.setInputAction(a,fn.LEFT_CLICK):o.removeInputAction(fn.LEFT_CLICK)});function c(u){let f,d=r.ellipsoid,p=n._scene.camera.getPickRay(u.position,apt),g=r.pick(p,n._scene,cpt);if(l(g)){let m=d.cartesianToCartographic(g),C=r._surface.tileProvider._tilesToRenderByTextureCount;for(let x=0;!f&&x<C.length;++x){let A=C[x];if(!!l(A))for(let b=0;!f&&b<A.length;++b){let E=A[b];ue.contains(E.rectangle,m)&&(f=E)}}}n.tile=f,n.pickTileActive=!1}this._pickTile=yn(function(){n.pickTileActive=!n.pickTileActive}),this._pickTileActiveSubscription=Ce.getObservable(this,"pickTileActive").subscribe(function(u){u?o.setInputAction(c,fn.LEFT_CLICK):o.removeInputAction(fn.LEFT_CLICK)}),this._removePostRenderEvent=e.postRender.addEventListener(function(){n._update()})}Object.defineProperties(JD.prototype,{scene:{get:function(){return this._scene}},performanceContainer:{get:function(){return this._performanceContainer}},toggleDropDown:{get:function(){return this._toggleDropDown}},showPrimitiveBoundingSphere:{get:function(){return this._showPrimitiveBoundingSphere}},showPrimitiveReferenceFrame:{get:function(){return this._showPrimitiveReferenceFrame}},doFilterPrimitive:{get:function(){return this._doFilterPrimitive}},incrementDepthFrustum:{get:function(){return this._incrementDepthFrustum}},decrementDepthFrustum:{get:function(){return this._decrementDepthFrustum}},showTileCoordinates:{get:function(){return this._showTileCoordinates}},showTileBoundingSphere:{get:function(){return this._showTileBoundingSphere}},doFilterTile:{get:function(){return this._doFilterTile}},toggleGeneral:{get:function(){return this._toggleGeneral}},togglePrimitives:{get:function(){return this._togglePrimitives}},toggleTerrain:{get:function(){return this._toggleTerrain}},pickPrimitive:{get:function(){return this._pickPrimitive}},pickTile:{get:function(){return this._pickTile}},selectParent:{get:function(){let e=this;return yn(function(){e.tile=e.tile.parent})}},selectNW:{get:function(){let e=this;return yn(function(){e.tile=e.tile.northwestChild})}},selectNE:{get:function(){let e=this;return yn(function(){e.tile=e.tile.northeastChild})}},selectSW:{get:function(){let e=this;return yn(function(){e.tile=e.tile.southwestChild})}},selectSE:{get:function(){let e=this;return yn(function(){e.tile=e.tile.southeastChild})}},primitive:{get:function(){return this._primitive},set:function(e){let t=this._primitive;e!==t&&(this.hasPickedPrimitive=!0,l(t)&&(t.debugShowBoundingVolume=!1),this._scene.debugCommandFilter=void 0,l(this._modelMatrixPrimitive)&&(this._scene.primitives.remove(this._modelMatrixPrimitive),this._modelMatrixPrimitive=void 0),this._primitive=e,e.show=!1,setTimeout(function(){e.show=!0},50),this.showPrimitiveBoundingSphere(),this.showPrimitiveReferenceFrame(),this.doFilterPrimitive())}},tile:{get:function(){return this._tile},set:function(e){if(l(e)){this.hasPickedTile=!0;let t=this._tile;if(e!==t){this.tileText=`L: ${e.level} X: ${e.x} Y: ${e.y}`,this.tileText+=`<br>SW corner: ${e.rectangle.west}, ${e.rectangle.south}`,this.tileText+=`<br>NE corner: ${e.rectangle.east}, ${e.rectangle.north}`;let n=e.data;l(n)&&l(n.tileBoundingRegion)?this.tileText+=`<br>Min: ${n.tileBoundingRegion.minimumHeight} Max: ${n.tileBoundingRegion.maximumHeight}`:this.tileText+="<br>(Tile is not loaded)"}this._tile=e,this.showTileBoundingSphere(),this.doFilterTile()}else this.hasPickedTile=!1,this._tile=void 0}}});JD.prototype._update=function(){this.frustums&&(this.frustumStatisticText=spt(this._scene.debugFrustumStatistics));let e=this._scene.numberOfFrustums;this._numberOfFrustums=e,this.depthFrustum=eY(1,e,this.depthFrustum),this.depthFrustumText=`${this.depthFrustum} of ${e}`,this.performance&&this._performanceDisplay.update(),this.primitiveReferenceFrame&&(this._modelMatrixPrimitive.modelMatrix=this._primitive.modelMatrix),this.shaderCacheText=`Cached shaders: ${this._scene.context.shaderCache.numberOfShaders}`};JD.prototype.isDestroyed=function(){return!1};JD.prototype.destroy=function(){return this._eventHandler.destroy(),this._removePostRenderEvent(),this._frustumsSubscription.dispose(),this._frustumPlanesSubscription.dispose(),this._performanceSubscription.dispose(),this._primitiveBoundingSphereSubscription.dispose(),this._primitiveReferenceFrameSubscription.dispose(),this._filterPrimitiveSubscription.dispose(),this._wireframeSubscription.dispose(),this._depthFrustumSubscription.dispose(),this._suspendUpdatesSubscription.dispose(),this._tileCoordinatesSubscription.dispose(),this._tileBoundingSphereSubscription.dispose(),this._filterTileSubscription.dispose(),this._pickPrimitiveActiveSubscription.dispose(),this._pickTileActiveSubscription.dispose(),fe(this)};var tz=JD;function nz(e,t){e=wn(e);let n=document.createElement("div"),i=new tz(t,n);this._viewModel=i,this._container=e;let o=document.createElement("div");this._element=o;let r=document.createElement("div");r.textContent="Cesium Inspector",r.className="cesium-cesiumInspector-button",r.setAttribute("data-bind","click: toggleDropDown"),o.appendChild(r),o.className="cesium-cesiumInspector",o.setAttribute("data-bind",'css: { "cesium-cesiumInspector-visible" : dropDownVisible, "cesium-cesiumInspector-hidden" : !dropDownVisible }'),e.appendChild(this._element);let s=document.createElement("div");this._panel=s,s.className="cesium-cesiumInspector-dropDown",o.appendChild(s);let a=u0.createSection,c=u0.createCheckbox,u=a(s,"General","generalVisible","toggleGeneral"),f=c("Show Frustums","frustums"),d=document.createElement("div");d.className="cesium-cesiumInspector-frustumStatistics",d.setAttribute("data-bind","visible: frustums, html: frustumStatisticText"),f.appendChild(d),u.appendChild(f),u.appendChild(c("Show Frustum Planes","frustumPlanes")),u.appendChild(c("Performance Display","performance")),n.className="cesium-cesiumInspector-performanceDisplay",u.appendChild(n);let p=document.createElement("div");p.className="cesium-cesiumInspector-shaderCache",p.setAttribute("data-bind","html: shaderCacheText"),u.appendChild(p);let g=document.createElement("div");u.appendChild(g);let m=document.createElement("span");m.setAttribute("data-bind",'html: "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Frustum:"'),g.appendChild(m);let C=document.createElement("span");C.setAttribute("data-bind","text: depthFrustumText"),g.appendChild(C);let x=document.createElement("input");x.type="button",x.value="-",x.className="cesium-cesiumInspector-pickButton",x.setAttribute("data-bind","click: decrementDepthFrustum"),g.appendChild(x);let A=document.createElement("input");A.type="button",A.value="+",A.className="cesium-cesiumInspector-pickButton",A.setAttribute("data-bind","click: incrementDepthFrustum"),g.appendChild(A);let b=a(s,"Primitives","primitivesVisible","togglePrimitives"),E=document.createElement("div");E.className="cesium-cesiumInspector-pickSection",b.appendChild(E);let S=document.createElement("input");S.type="button",S.value="Pick a primitive",S.className="cesium-cesiumInspector-pickButton",S.setAttribute("data-bind",'css: {"cesium-cesiumInspector-pickButtonHighlight" : pickPrimitiveActive}, click: pickPrimitive');let v=document.createElement("div");v.className="cesium-cesiumInspector-center",v.appendChild(S),E.appendChild(v),E.appendChild(c("Show bounding sphere","primitiveBoundingSphere","hasPickedPrimitive")),E.appendChild(c("Show reference frame","primitiveReferenceFrame","hasPickedPrimitive")),this._primitiveOnly=c("Show only selected","filterPrimitive","hasPickedPrimitive"),E.appendChild(this._primitiveOnly);let P=a(s,"Terrain","terrainVisible","toggleTerrain"),O=document.createElement("div");O.className="cesium-cesiumInspector-pickSection",P.appendChild(O);let M=document.createElement("input");M.type="button",M.value="Pick a tile",M.className="cesium-cesiumInspector-pickButton",M.setAttribute("data-bind",'css: {"cesium-cesiumInspector-pickButtonHighlight" : pickTileActive}, click: pickTile'),v=document.createElement("div"),v.appendChild(M),v.className="cesium-cesiumInspector-center",O.appendChild(v);let B=document.createElement("div");O.appendChild(B);let L=document.createElement("input");L.type="button",L.value="Parent",L.className="cesium-cesiumInspector-pickButton",L.setAttribute("data-bind","click: selectParent");let _=document.createElement("input");_.type="button",_.value="NW",_.className="cesium-cesiumInspector-pickButton",_.setAttribute("data-bind","click: selectNW");let T=document.createElement("input");T.type="button",T.value="NE",T.className="cesium-cesiumInspector-pickButton",T.setAttribute("data-bind","click: selectNE");let w=document.createElement("input");w.type="button",w.value="SW",w.className="cesium-cesiumInspector-pickButton",w.setAttribute("data-bind","click: selectSW");let D=document.createElement("input");D.type="button",D.value="SE",D.className="cesium-cesiumInspector-pickButton",D.setAttribute("data-bind","click: selectSE");let R=document.createElement("div");R.className="cesium-cesiumInspector-tileText",B.className="cesium-cesiumInspector-frustumStatistics",B.appendChild(R),B.setAttribute("data-bind","visible: hasPickedTile"),R.setAttribute("data-bind","html: tileText");let F=document.createElement("div");F.className="cesium-cesiumInspector-relativeText",F.textContent="Select relative:",B.appendChild(F);let z=document.createElement("table"),k=document.createElement("tr"),H=document.createElement("tr"),V=document.createElement("td");V.appendChild(L);let Y=document.createElement("td");Y.appendChild(_);let q=document.createElement("td");q.appendChild(T),k.appendChild(V),k.appendChild(Y),k.appendChild(q);let X=document.createElement("td"),W=document.createElement("td");W.appendChild(w);let K=document.createElement("td");K.appendChild(D),H.appendChild(X),H.appendChild(W),H.appendChild(K),z.appendChild(k),z.appendChild(H),B.appendChild(z),O.appendChild(c("Show bounding volume","tileBoundingSphere","hasPickedTile")),O.appendChild(c("Show only selected","filterTile","hasPickedTile")),P.appendChild(c("Wireframe","wireframe")),P.appendChild(c("Suspend LOD update","suspendUpdates")),P.appendChild(c("Show tile coordinates","tileCoordinates")),Ce.applyBindings(i,this._element)}Object.defineProperties(nz.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});nz.prototype.isDestroyed=function(){return!1};nz.prototype.destroy=function(){return Ce.cleanNode(this._element),this._container.removeChild(this._element),this.viewModel.destroy(),fe(this)};var iz=nz;function rb(e){return Zt(`Assets/Textures/SkyBox/tycho2t3_80_${e}.jpg`)}function lpt(e){e._renderLoopRunning=!0;let t=0;function n(i){if(!e.isDestroyed())if(e._useDefaultRenderLoop)try{let o=e._targetFrameRate;if(!l(o))e.resize(),e.render(),requestAnimationFrame(n);else{let r=1e3/o,s=i-t;s>r&&(e.resize(),e.render(),t=i-s%r),requestAnimationFrame(n)}}catch(o){if(e._useDefaultRenderLoop=!1,e._renderLoopRunning=!1,e._showRenderLoopErrors){let r="An error occurred while rendering. Rendering has stopped.";e.showErrorPanel(r,void 0,o)}}else e._renderLoopRunning=!1}requestAnimationFrame(n)}function J0e(e){let t=e._useBrowserRecommendedResolution?1:window.devicePixelRatio;return t*=e._resolutionScale,l(e._scene)&&(e._scene.pixelRatio=t),t}function Q0e(e){let t=e._canvas,n=t.clientWidth,i=t.clientHeight,o=J0e(e);e._canvasClientWidth=n,e._canvasClientHeight=i,n*=o,i*=o,t.width=n,t.height=i,e._canRender=n!==0&&i!==0,e._lastDevicePixelRatio=window.devicePixelRatio}function eye(e){let t=e._canvas,n=t.width,i=t.height;if(n!==0&&i!==0){let o=e._scene.camera.frustum;l(o.aspectRatio)?o.aspectRatio=n/i:(o.top=o.right*(i/n),o.bottom=-o.top)}}function FC(e,t){e=wn(e),t=y(t,y.EMPTY_OBJECT);let n=document.createElement("div");n.className="cesium-widget",e.appendChild(n);let i=document.createElement("canvas"),o=Mt.supportsImageRenderingPixelated();this._supportsImageRenderingPixelated=o,o&&(i.style.imageRendering=Mt.imageRenderingValue()),i.oncontextmenu=function(){return!1},i.onselectstart=function(){return!1};function r(){i!==i.ownerDocument.activeElement&&i.ownerDocument.activeElement.blur()}y(t.blurActiveElementOnCanvasFocus,!0)&&(i.addEventListener("mousedown",r),i.addEventListener("pointerdown",r)),n.appendChild(i);let a=document.createElement("div");a.className="cesium-widget-credits";let c=l(t.creditContainer)?wn(t.creditContainer):n;c.appendChild(a);let u=l(t.creditViewport)?wn(t.creditViewport):n,f=y(t.showRenderLoopErrors,!0),d=y(t.useBrowserRecommendedResolution,!0);this._element=n,this._container=e,this._canvas=i,this._canvasClientWidth=0,this._canvasClientHeight=0,this._lastDevicePixelRatio=0,this._creditViewport=u,this._creditContainer=c,this._innerCreditContainer=a,this._canRender=!1,this._renderLoopRunning=!1,this._showRenderLoopErrors=f,this._resolutionScale=1,this._useBrowserRecommendedResolution=d,this._forceResize=!1,this._clock=l(t.clock)?t.clock:new Vd,Q0e(this);try{let p=new C4({canvas:i,contextOptions:t.contextOptions,creditContainer:a,creditViewport:u,mapProjection:t.mapProjection,orderIndependentTranslucency:t.orderIndependentTranslucency,scene3DOnly:y(t.scene3DOnly,!1),shadows:t.shadows,mapMode2D:t.mapMode2D,requestRenderMode:t.requestRenderMode,maximumRenderTimeChange:t.maximumRenderTimeChange,depthPlaneEllipsoidOffset:t.depthPlaneEllipsoidOffset,msaaSamples:t.msaaSamples});this._scene=p,p.camera.constrainedAxis=h.UNIT_Z,J0e(this),eye(this);let g=y(p.mapProjection.ellipsoid,oe.WGS84),m=t.globe;l(m)||(m=new Jk(g)),m!==!1&&(p.globe=m,p.globe.shadows=y(t.terrainShadows,mn.RECEIVE_ONLY));let C=t.skyBox;l(C)||(C=new w4({sources:{positiveX:rb("px"),negativeX:rb("mx"),positiveY:rb("py"),negativeY:rb("my"),positiveZ:rb("pz"),negativeZ:rb("mz")}})),C!==!1&&(p.skyBox=C,p.sun=new I4,p.moon=new _U);let x=t.skyAtmosphere;l(x)||(x=new T4(g)),x!==!1&&(p.skyAtmosphere=x);let A=t.globe===!1?!1:t.imageryProvider;l(A)||(A=l0()),A!==!1&&p.imageryLayers.addImageryProvider(A),l(t.terrainProvider)&&t.globe!==!1&&(p.terrainProvider=t.terrainProvider),this._screenSpaceEventHandler=new _u(i),l(t.sceneMode)&&(t.sceneMode===ee.SCENE2D&&this._scene.morphTo2D(0),t.sceneMode===ee.COLUMBUS_VIEW&&this._scene.morphToColumbusView(0)),this._useDefaultRenderLoop=void 0,this.useDefaultRenderLoop=y(t.useDefaultRenderLoop,!0),this._targetFrameRate=void 0,this.targetFrameRate=t.targetFrameRate;let b=this;this._onRenderError=function(E,S){if(b._useDefaultRenderLoop=!1,b._renderLoopRunning=!1,b._showRenderLoopErrors){let v="An error occurred while rendering. Rendering has stopped.";b.showErrorPanel(v,void 0,S)}},p.renderError.addEventListener(this._onRenderError)}catch(p){if(f){let g="Error constructing CesiumWidget.",m='Visit <a href="http://get.webgl.org">http://get.webgl.org</a> to verify that your web browser and hardware support WebGL. Consider trying a different web browser or updating your video drivers. Detailed error information is below:';this.showErrorPanel(g,m,p)}throw p}}Object.defineProperties(FC.prototype,{container:{get:function(){return this._container}},canvas:{get:function(){return this._canvas}},creditContainer:{get:function(){return this._creditContainer}},creditViewport:{get:function(){return this._creditViewport}},scene:{get:function(){return this._scene}},imageryLayers:{get:function(){return this._scene.imageryLayers}},terrainProvider:{get:function(){return this._scene.terrainProvider},set:function(e){this._scene.terrainProvider=e}},camera:{get:function(){return this._scene.camera}},clock:{get:function(){return this._clock}},screenSpaceEventHandler:{get:function(){return this._screenSpaceEventHandler}},targetFrameRate:{get:function(){return this._targetFrameRate},set:function(e){this._targetFrameRate=e}},useDefaultRenderLoop:{get:function(){return this._useDefaultRenderLoop},set:function(e){this._useDefaultRenderLoop!==e&&(this._useDefaultRenderLoop=e,e&&!this._renderLoopRunning&&lpt(this))}},resolutionScale:{get:function(){return this._resolutionScale},set:function(e){this._resolutionScale!==e&&(this._resolutionScale=e,this._forceResize=!0)}},useBrowserRecommendedResolution:{get:function(){return this._useBrowserRecommendedResolution},set:function(e){this._useBrowserRecommendedResolution!==e&&(this._useBrowserRecommendedResolution=e,this._forceResize=!0)}}});FC.prototype.showErrorPanel=function(e,t,n){let i=this._element,o=document.createElement("div");o.className="cesium-widget-errorPanel";let r=document.createElement("div");r.className="cesium-widget-errorPanel-content",o.appendChild(r);let s=document.createElement("div");s.className="cesium-widget-errorPanel-header",s.appendChild(document.createTextNode(e)),r.appendChild(s);let a=document.createElement("div");a.className="cesium-widget-errorPanel-scroll",r.appendChild(a);function c(){a.style.maxHeight=`${Math.max(Math.round(i.clientHeight*.9-100),30)}px`}c(),l(window.addEventListener)&&window.addEventListener("resize",c,!1);let u=l(t),f=l(n);if(u||f){let g=document.createElement("div");if(g.className="cesium-widget-errorPanel-message",a.appendChild(g),f){let m=im(n);u||(typeof n=="string"&&(n=new Error(n)),t=im({name:n.name,message:n.message}),m=n.stack),typeof console<"u"&&console.error(`${e}
  8694. ${t}
  8695. ${m}`);let C=document.createElement("div");C.className="cesium-widget-errorPanel-message-details collapsed";let x=document.createElement("span");x.className="cesium-widget-errorPanel-more-details",x.appendChild(document.createTextNode("See more...")),C.appendChild(x),C.onclick=function(A){C.removeChild(x),C.appendChild(document.createTextNode(m)),C.className="cesium-widget-errorPanel-message-details",r.className="cesium-widget-errorPanel-content expanded",C.onclick=void 0},a.appendChild(C)}g.innerHTML=`<p>${t}</p>`}let d=document.createElement("div");d.className="cesium-widget-errorPanel-buttonPanel",r.appendChild(d);let p=document.createElement("button");p.setAttribute("type","button"),p.className="cesium-button",p.appendChild(document.createTextNode("OK")),p.onclick=function(){l(c)&&l(window.removeEventListener)&&window.removeEventListener("resize",c,!1),i.removeChild(o)},d.appendChild(p),i.appendChild(o)};FC.prototype.isDestroyed=function(){return!1};FC.prototype.destroy=function(){l(this._scene)&&(this._scene.renderError.removeEventListener(this._onRenderError),this._scene=this._scene.destroy()),this._container.removeChild(this._element),this._creditContainer.removeChild(this._innerCreditContainer),fe(this)};FC.prototype.resize=function(){let e=this._canvas;!this._forceResize&&this._canvasClientWidth===e.clientWidth&&this._canvasClientHeight===e.clientHeight&&this._lastDevicePixelRatio===window.devicePixelRatio||(this._forceResize=!1,Q0e(this),eye(this),this._scene.requestRender())};FC.prototype.render=function(){if(this._canRender){this._scene.initializeFrame();let e=this._clock.tick();this._scene.render(e)}else this._clock.tick()};var oz=FC;function rz(e,t){l(t)||(t=document.body),t=wn(t);let n=this,i=Ce.observable(dr.fullscreen),o=Ce.observable(dr.enabled),r=t.ownerDocument;this.isFullscreen=void 0,Ce.defineProperty(this,"isFullscreen",{get:function(){return i()}}),this.isFullscreenEnabled=void 0,Ce.defineProperty(this,"isFullscreenEnabled",{get:function(){return o()},set:function(s){o(s&&dr.enabled)}}),this.tooltip=void 0,Ce.defineProperty(this,"tooltip",function(){return this.isFullscreenEnabled?i()?"Exit full screen":"Full screen":"Full screen unavailable"}),this._command=yn(function(){dr.fullscreen?dr.exitFullscreen():dr.requestFullscreen(n._fullscreenElement)},Ce.getObservable(this,"isFullscreenEnabled")),this._fullscreenElement=y(wn(e),r.body),this._callback=function(){i(dr.fullscreen)},r.addEventListener(dr.changeEventName,this._callback)}Object.defineProperties(rz.prototype,{fullscreenElement:{get:function(){return this._fullscreenElement},set:function(e){this._fullscreenElement=e}},command:{get:function(){return this._command}}});rz.prototype.isDestroyed=function(){return!1};rz.prototype.destroy=function(){document.removeEventListener(dr.changeEventName,this._callback),fe(this)};var sz=rz;var upt="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",fpt="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";function az(e,t){e=wn(e);let n=new sz(t,e);n._exitFullScreenPath=fpt,n._enterFullScreenPath=upt;let i=document.createElement("button");i.type="button",i.className="cesium-button cesium-fullscreenButton",i.setAttribute("data-bind","attr: { title: tooltip },click: command,enable: isFullscreenEnabled,cesiumSvgPath: { path: isFullscreen ? _exitFullScreenPath : _enterFullScreenPath, width: 128, height: 128 }"),e.appendChild(i),Ce.applyBindings(n,i),this._container=e,this._viewModel=n,this._element=i}Object.defineProperties(az.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});az.prototype.isDestroyed=function(){return!1};az.prototype.destroy=function(){return this._viewModel.destroy(),Ce.cleanNode(this._element),this._container.removeChild(this._element),fe(this)};var cz=az;var tye=1e3;function Yh(e){l(e.geocoderServices)?this._geocoderServices=e.geocoderServices:this._geocoderServices=[new s1,new fI({scene:e.scene})],this._viewContainer=e.container,this._scene=e.scene,this._flightDuration=e.flightDuration,this._searchText="",this._isSearchInProgress=!1,this._geocodePromise=void 0,this._complete=new ge,this._suggestions=[],this._selectedSuggestion=void 0,this._showSuggestions=!0,this._handleArrowDown=iye,this._handleArrowUp=nye;let t=this;this._suggestionsVisible=Ce.pureComputed(function(){let o=Ce.getObservable(t,"_suggestions")().length>0,r=Ce.getObservable(t,"_showSuggestions")();return o&&r}),this._searchCommand=yn(function(i){if(i=y(i,X0.SEARCH),t._focusTextbox=!1,l(t._selectedSuggestion))return t.activateSuggestion(t._selectedSuggestion),!1;t.hideSuggestions(),t.isSearchInProgress?gpt(t):ppt(t,t._geocoderServices,i)}),this.deselectSuggestion=function(){t._selectedSuggestion=void 0},this.handleKeyDown=function(i,o){let r=o.key==="ArrowDown"||o.key==="Down"||o.keyCode===40,s=o.key==="ArrowUp"||o.key==="Up"||o.keyCode===38;return(r||s)&&o.preventDefault(),!0},this.handleKeyUp=function(i,o){let r=o.key==="ArrowDown"||o.key==="Down"||o.keyCode===40,s=o.key==="ArrowUp"||o.key==="Up"||o.keyCode===38,a=o.key==="Enter"||o.keyCode===13;return s?nye(t):r?iye(t):a&&t._searchCommand(),!0},this.activateSuggestion=function(i){t.hideSuggestions(),t._searchText=i.displayName;let o=i.destination;rye(t),t.destinationFound(t,o)},this.hideSuggestions=function(){t._showSuggestions=!1,t._selectedSuggestion=void 0},this.showSuggestions=function(){t._showSuggestions=!0},this.handleMouseover=function(i,o){i!==t._selectedSuggestion&&(t._selectedSuggestion=i)},this.keepExpanded=!1,this.autoComplete=y(e.autocomplete,!0),this.destinationFound=y(e.destinationFound,Yh.flyToDestination),this._focusTextbox=!1,Ce.track(this,["_searchText","_isSearchInProgress","keepExpanded","_suggestions","_selectedSuggestion","_showSuggestions","_focusTextbox"]);let n=Ce.getObservable(this,"_searchText");n.extend({rateLimit:{timeout:500}}),this._suggestionSubscription=n.subscribe(function(){Yh._updateSearchSuggestions(t)}),this.isSearchInProgress=void 0,Ce.defineProperty(this,"isSearchInProgress",{get:function(){return this._isSearchInProgress}}),this.searchText=void 0,Ce.defineProperty(this,"searchText",{get:function(){return this.isSearchInProgress?"Searching...":this._searchText},set:function(i){this._searchText=i}}),this.flightDuration=void 0,Ce.defineProperty(this,"flightDuration",{get:function(){return this._flightDuration},set:function(i){this._flightDuration=i}})}Object.defineProperties(Yh.prototype,{complete:{get:function(){return this._complete}},scene:{get:function(){return this._scene}},search:{get:function(){return this._searchCommand}},selectedSuggestion:{get:function(){return this._selectedSuggestion}},suggestions:{get:function(){return this._suggestions}}});Yh.prototype.destroy=function(){this._suggestionSubscription.dispose()};function nye(e){if(e._suggestions.length===0)return;let t=e._suggestions.indexOf(e._selectedSuggestion);if(t===-1||t===0){e._selectedSuggestion=void 0;return}let n=t-1;e._selectedSuggestion=e._suggestions[n],Yh._adjustSuggestionsScroll(e,n)}function iye(e){if(e._suggestions.length===0)return;let t=e._suggestions.length,i=(e._suggestions.indexOf(e._selectedSuggestion)+1)%t;e._selectedSuggestion=e._suggestions[i],Yh._adjustSuggestionsScroll(e,i)}function dpt(e,t){let n=l(t)?t.availability:void 0;return l(n)?T_(t,[e]).then(function(i){return e=i[0],e.height+=tye,e}):(e.height+=tye,Promise.resolve(e))}function hpt(e,t){let n=e._scene,o=n.mapProjection.ellipsoid,r=n.camera,s=n.terrainProvider,a=t,c;return t instanceof ue?I.equalsEpsilon(t.south,t.north,I.EPSILON7)&&I.equalsEpsilon(t.east,t.west,I.EPSILON7)?t=ue.center(t):c=eb(t,n):t=o.cartesianToCartographic(t),l(c)||(c=dpt(t,s)),c.then(function(u){a=o.cartographicToCartesian(u)}).finally(function(){r.flyTo({destination:a,complete:function(){e._complete.raiseEvent()},duration:e._flightDuration,endTransform:N.IDENTITY})})}function mpt(e,t,n,i){return e.then(function(o){return l(o)&&o.state==="fulfilled"&&o.value.length>0?o:t.geocode(n,i).then(function(s){return{state:"fulfilled",value:s}}).catch(function(s){return{state:"rejected",reason:s}})})}function ppt(e,t,n){let i=e._searchText;if(oye(i)){e.showSuggestions();return}e._isSearchInProgress=!0;let o=Promise.resolve();for(let r=0;r<t.length;r++)o=mpt(o,t[r],i,n);e._geocodePromise=o,o.then(function(r){if(o.cancel)return;e._isSearchInProgress=!1;let s=r.value;if(r.state==="fulfilled"&&l(s)&&s.length>0){e._searchText=s[0].displayName,e.destinationFound(e,s[0].destination);return}e._searchText=`${i} (not found)`})}function _pt(e,t){let n=wn(e._viewContainer),i=n.getElementsByClassName("search-results")[0],r=n.getElementsByTagName("li")[t];if(t===0){i.scrollTop=0;return}let s=r.offsetTop;s+r.clientHeight>i.clientHeight?i.scrollTop=s+r.clientHeight:s<i.scrollTop&&(i.scrollTop=s)}function gpt(e){e._isSearchInProgress=!1,l(e._geocodePromise)&&(e._geocodePromise.cancel=!0,e._geocodePromise=void 0)}function oye(e){return/^\s*$/.test(e)}function rye(e){Ce.getObservable(e,"_suggestions").removeAll()}function ypt(e){if(!e.autoComplete)return;let t=e._searchText;if(rye(e),oye(t))return;let n=Promise.resolve([]);return e._geocoderServices.forEach(function(i){n=n.then(function(o){return o.length>=5?o:i.geocode(t,X0.AUTOCOMPLETE).then(function(r){return o=o.concat(r),o})})}),n.then(function(i){let o=e._suggestions;for(let r=0;r<i.length;r++)o.push(i[r])})}Yh.flyToDestination=hpt;Yh._updateSearchSuggestions=ypt;Yh._adjustSuggestionsScroll=_pt;var lz=Yh;var Cpt="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",xpt="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";function uz(e){let t=wn(e.container),n=new lz(e);n._startSearchPath=Cpt,n._stopSearchPath=xpt;let i=document.createElement("form");i.setAttribute("data-bind","submit: search");let o=document.createElement("input");o.type="search",o.className="cesium-geocoder-input",o.setAttribute("placeholder","Enter an address or landmark..."),o.setAttribute("data-bind",'textInput: searchText,disable: isSearchInProgress,event: { keyup: handleKeyUp, keydown: handleKeyDown, mouseover: deselectSuggestion },css: { "cesium-geocoder-input-wide" : keepExpanded || searchText.length > 0 },hasFocus: _focusTextbox'),this._onTextBoxFocus=function(){setTimeout(function(){o.select()},0)},o.addEventListener("focus",this._onTextBoxFocus,!1),i.appendChild(o),this._textBox=o;let r=document.createElement("span");r.className="cesium-geocoder-searchButton",r.setAttribute("data-bind","click: search,cesiumSvgPath: { path: isSearchInProgress ? _stopSearchPath : _startSearchPath, width: 32, height: 32 }"),i.appendChild(r),t.appendChild(i);let s=document.createElement("div");s.className="search-results",s.setAttribute("data-bind","visible: _suggestionsVisible");let a=document.createElement("ul");a.setAttribute("data-bind","foreach: _suggestions");let c=document.createElement("li");a.appendChild(c),c.setAttribute("data-bind","text: $data.displayName, click: $parent.activateSuggestion, event: { mouseover: $parent.handleMouseover}, css: { active: $data === $parent._selectedSuggestion }"),s.appendChild(a),t.appendChild(s),Ce.applyBindings(n,i),Ce.applyBindings(n,s),this._container=t,this._searchSuggestionsContainer=s,this._viewModel=n,this._form=i,this._onInputBegin=function(u){let f=u.target;typeof u.composedPath=="function"&&(f=u.composedPath()[0]),t.contains(f)||(n._focusTextbox=!1,n.hideSuggestions())},this._onInputEnd=function(u){n._focusTextbox=!0,n.showSuggestions()},Mt.supportsPointerEvents()?(document.addEventListener("pointerdown",this._onInputBegin,!0),t.addEventListener("pointerup",this._onInputEnd,!0),t.addEventListener("pointercancel",this._onInputEnd,!0)):(document.addEventListener("mousedown",this._onInputBegin,!0),t.addEventListener("mouseup",this._onInputEnd,!0),document.addEventListener("touchstart",this._onInputBegin,!0),t.addEventListener("touchend",this._onInputEnd,!0),t.addEventListener("touchcancel",this._onInputEnd,!0))}Object.defineProperties(uz.prototype,{container:{get:function(){return this._container}},searchSuggestionsContainer:{get:function(){return this._searchSuggestionsContainer}},viewModel:{get:function(){return this._viewModel}}});uz.prototype.isDestroyed=function(){return!1};uz.prototype.destroy=function(){let e=this._container;return Mt.supportsPointerEvents()?(document.removeEventListener("pointerdown",this._onInputBegin,!0),e.removeEventListener("pointerup",this._onInputEnd,!0)):(document.removeEventListener("mousedown",this._onInputBegin,!0),e.removeEventListener("mouseup",this._onInputEnd,!0),document.removeEventListener("touchstart",this._onInputBegin,!0),e.removeEventListener("touchend",this._onInputEnd,!0)),this._viewModel.destroy(),Ce.cleanNode(this._form),Ce.cleanNode(this._searchSuggestionsContainer),e.removeChild(this._form),e.removeChild(this._searchSuggestionsContainer),this._textBox.removeEventListener("focus",this._onTextBoxFocus,!1),fe(this)};var fz=uz;function sye(e,t){this._scene=e,this._duration=t;let n=this;this._command=yn(function(){n._scene.camera.flyHome(n._duration)}),this.tooltip="View Home",Ce.track(this,["tooltip"])}Object.defineProperties(sye.prototype,{scene:{get:function(){return this._scene}},command:{get:function(){return this._command}},duration:{get:function(){return this._duration},set:function(e){this._duration=e}}});var dz=sye;function hz(e,t,n){e=wn(e);let i=new dz(t,n);i._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";let o=document.createElement("button");o.type="button",o.className="cesium-button cesium-toolbar-button cesium-home-button",o.setAttribute("data-bind","attr: { title: tooltip },click: command,cesiumSvgPath: { path: _svgPath, width: 28, height: 28 }"),e.appendChild(o),Ce.applyBindings(i,o),this._container=e,this._viewModel=i,this._element=o}Object.defineProperties(hz.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});hz.prototype.isDestroyed=function(){return!1};hz.prototype.destroy=function(){return Ce.cleanNode(this._element),this._container.removeChild(this._element),fe(this)};var mz=hz;var Apt="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",Tpt="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";function tY(){this._cameraClicked=new ge,this._closeClicked=new ge,this.maxHeight=500,this.enableCamera=!1,this.isCameraTracking=!1,this.showInfo=!1,this.titleText="",this.description="",Ce.track(this,["showInfo","titleText","description","maxHeight","enableCamera","isCameraTracking"]),this._loadingIndicatorHtml='<div class="cesium-infoBox-loadingContainer"><span class="cesium-infoBox-loading"></span></div>',this.cameraIconPath=void 0,Ce.defineProperty(this,"cameraIconPath",{get:function(){return!this.enableCamera||this.isCameraTracking?Tpt:Apt}}),Ce.defineProperty(this,"_bodyless",{get:function(){return!l(this.description)||this.description.length===0}})}tY.prototype.maxHeightOffset=function(e){return`${this.maxHeight-e}px`};Object.defineProperties(tY.prototype,{cameraClicked:{get:function(){return this._cameraClicked}},closeClicked:{get:function(){return this._closeClicked}}});var pz=tY;function _z(e){e=wn(e);let t=document.createElement("div");t.className="cesium-infoBox",t.setAttribute("data-bind",'css: { "cesium-infoBox-visible" : showInfo, "cesium-infoBox-bodyless" : _bodyless }'),e.appendChild(t);let n=document.createElement("div");n.className="cesium-infoBox-title",n.setAttribute("data-bind","text: titleText"),t.appendChild(n);let 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(this); },enable: enableCamera,cesiumSvgPath: { path: cameraIconPath, width: 32, height: 32 }'),t.appendChild(i);let o=document.createElement("button");o.type="button",o.className="cesium-infoBox-close",o.setAttribute("data-bind","click: function () { closeClicked.raiseEvent(this); }"),o.innerHTML="&times;",t.appendChild(o);let r=document.createElement("iframe");r.className="cesium-infoBox-iframe",r.setAttribute("sandbox","allow-same-origin allow-popups allow-forms"),r.setAttribute("data-bind","style : { maxHeight : maxHeightOffset(40) }"),r.setAttribute("allowfullscreen",!0),t.appendChild(r);let s=new pz;Ce.applyBindings(s,t),this._container=e,this._element=t,this._frame=r,this._viewModel=s,this._descriptionSubscription=void 0;let a=this;r.addEventListener("load",function(){let c=r.contentDocument,u=c.createElement("link");u.href=Zt("Widgets/InfoBox/InfoBoxDescription.css"),u.rel="stylesheet",u.type="text/css";let f=c.createElement("div");f.className="cesium-infoBox-description",c.head.appendChild(u),c.body.appendChild(f),a._descriptionSubscription=ra(s,"description",function(d){r.style.height="5px",f.innerHTML=d;let p=null,g=f.firstElementChild;if(g!==null&&f.childNodes.length===1){let C=window.getComputedStyle(g);if(C!==null){let x=C["background-color"],A=U.fromCssColorString(x);l(A)&&A.alpha!==0&&(p=C["background-color"])}}t.style["background-color"]=p;let m=f.getBoundingClientRect().height;r.style.height=`${m}px`})}),r.setAttribute("src","about:blank")}Object.defineProperties(_z.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}},frame:{get:function(){return this._frame}}});_z.prototype.isDestroyed=function(){return!1};_z.prototype.destroy=function(){let e=this._container;return Ce.cleanNode(this._element),e.removeChild(this._element),l(this._descriptionSubscription)&&this._descriptionSubscription.dispose(),fe(this)};var gz=_z;function aye(){this.showInstructions=!1;let e=this;this._command=yn(function(){e.showInstructions=!e.showInstructions}),this._showClick=yn(function(){e._touch=!1}),this._showTouch=yn(function(){e._touch=!0}),this._touch=!1,this.tooltip="Navigation Instructions",Ce.track(this,["tooltip","showInstructions","_touch"])}Object.defineProperties(aye.prototype,{command:{get:function(){return this._command}},showClick:{get:function(){return this._showClick}},showTouch:{get:function(){return this._showTouch}}});var yz=aye;function Cz(e){let t=wn(e.container),n=new yz,i=y(e.instructionsInitiallyVisible,!1);n.showInstructions=i,n._svgPath="M16,1.466C7.973,1.466,1.466,7.973,1.466,16c0,8.027,6.507,14.534,14.534,14.534c8.027,0,14.534-6.507,14.534-14.534C30.534,7.973,24.027,1.466,16,1.466z M17.328,24.371h-2.707v-2.596h2.707V24.371zM17.328,19.003v0.858h-2.707v-1.057c0-3.19,3.63-3.696,3.63-5.963c0-1.034-0.924-1.826-2.134-1.826c-1.254,0-2.354,0.924-2.354,0.924l-1.541-1.915c0,0,1.519-1.584,4.137-1.584c2.487,0,4.796,1.54,4.796,4.136C21.156,16.208,17.328,16.627,17.328,19.003z";let o=document.createElement("span");o.className="cesium-navigationHelpButton-wrapper",t.appendChild(o);let r=document.createElement("button");r.type="button",r.className="cesium-button cesium-toolbar-button cesium-navigation-help-button",r.setAttribute("data-bind","attr: { title: tooltip },click: command,cesiumSvgPath: { path: _svgPath, width: 32, height: 32 }"),o.appendChild(r);let s=document.createElement("div");s.className="cesium-navigation-help",s.setAttribute("data-bind",'css: { "cesium-navigation-help-visible" : showInstructions}'),o.appendChild(s);let a=document.createElement("button");a.type="button",a.className="cesium-navigation-button cesium-navigation-button-left",a.setAttribute("data-bind",'click: showClick, css: {"cesium-navigation-button-selected": !_touch, "cesium-navigation-button-unselected": _touch}');let c=document.createElement("img");c.src=Zt("Widgets/Images/NavigationHelp/Mouse.svg"),c.className="cesium-navigation-button-icon",c.style.width="25px",c.style.height="25px",a.appendChild(c),a.appendChild(document.createTextNode("Mouse"));let u=document.createElement("button");u.type="button",u.className="cesium-navigation-button cesium-navigation-button-right",u.setAttribute("data-bind",'click: showTouch, css: {"cesium-navigation-button-selected": _touch, "cesium-navigation-button-unselected": !_touch}');let f=document.createElement("img");f.src=Zt("Widgets/Images/NavigationHelp/Touch.svg"),f.className="cesium-navigation-button-icon",f.style.width="25px",f.style.height="25px",u.appendChild(f),u.appendChild(document.createTextNode("Touch")),s.appendChild(a),s.appendChild(u);let d=document.createElement("div");d.className="cesium-click-navigation-help cesium-navigation-help-instructions",d.setAttribute("data-bind",'css: { "cesium-click-navigation-help-visible" : !_touch}'),d.innerHTML=` <table> <tr> <td><img src="${Zt("Widgets/Images/NavigationHelp/MouseLeft.svg")}" width="48" height="48" /></td> <td> <div class="cesium-navigation-help-pan">Pan view</div> <div class="cesium-navigation-help-details">Left click + drag</div> </td> </tr> <tr> <td><img src="${Zt("Widgets/Images/NavigationHelp/MouseRight.svg")}" width="48" height="48" /></td> <td> <div class="cesium-navigation-help-zoom">Zoom view</div> <div class="cesium-navigation-help-details">Right click + drag, or</div> <div class="cesium-navigation-help-details">Mouse wheel scroll</div> </td> </tr> <tr> <td><img src="${Zt("Widgets/Images/NavigationHelp/MouseMiddle.svg")}" width="48" height="48" /></td> <td> <div class="cesium-navigation-help-rotate">Rotate view</div> <div class="cesium-navigation-help-details">Middle click + drag, or</div> <div class="cesium-navigation-help-details">CTRL + Left/Right click + drag</div> </td> </tr> </table>`,s.appendChild(d);let p=document.createElement("div");p.className="cesium-touch-navigation-help cesium-navigation-help-instructions",p.setAttribute("data-bind",'css: { "cesium-touch-navigation-help-visible" : _touch}'),p.innerHTML=` <table> <tr> <td><img src="${Zt("Widgets/Images/NavigationHelp/TouchDrag.svg")}" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-pan">Pan view</div> <div class="cesium-navigation-help-details">One finger drag</div> </td> </tr> <tr> <td><img src="${Zt("Widgets/Images/NavigationHelp/TouchZoom.svg")}" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-zoom">Zoom view</div> <div class="cesium-navigation-help-details">Two finger pinch</div> </td> </tr> <tr> <td><img src="${Zt("Widgets/Images/NavigationHelp/TouchTilt.svg")}" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-rotate">Tilt view</div> <div class="cesium-navigation-help-details">Two finger drag, same direction</div> </td> </tr> <tr> <td><img src="${Zt("Widgets/Images/NavigationHelp/TouchRotate.svg")}" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-tilt">Rotate view</div> <div class="cesium-navigation-help-details">Two finger drag, opposite direction</div> </td> </tr> </table>`,s.appendChild(p),Ce.applyBindings(n,o),this._container=t,this._viewModel=n,this._wrapper=o,this._closeInstructions=function(g){o.contains(g.target)||(n.showInstructions=!1)},Mt.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeInstructions,!0):(document.addEventListener("mousedown",this._closeInstructions,!0),document.addEventListener("touchstart",this._closeInstructions,!0))}Object.defineProperties(Cz.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});Cz.prototype.isDestroyed=function(){return!1};Cz.prototype.destroy=function(){return Mt.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeInstructions,!0):(document.removeEventListener("mousedown",this._closeInstructions,!0),document.removeEventListener("touchstart",this._closeInstructions,!0)),Ce.cleanNode(this._wrapper),this._container.removeChild(this._wrapper),fe(this)};var xz=Cz;function nY(e){this._scene=e.scene,this.lowFrameRateMessage=y(e.lowFrameRateMessage,"This application appears to be performing poorly on your system. Please try using a different web browser or updating your video drivers."),this.lowFrameRateMessageDismissed=!1,this.showingLowFrameRateMessage=!1,Ce.track(this,["lowFrameRateMessage","lowFrameRateMessageDismissed","showingLowFrameRateMessage"]);let t=this;this._dismissMessage=yn(function(){t.showingLowFrameRateMessage=!1,t.lowFrameRateMessageDismissed=!0});let n=Ak.fromScene(e.scene);this._unsubscribeLowFrameRate=n.lowFrameRate.addEventListener(function(){t.lowFrameRateMessageDismissed||(t.showingLowFrameRateMessage=!0)}),this._unsubscribeNominalFrameRate=n.nominalFrameRate.addEventListener(function(){t.showingLowFrameRateMessage=!1})}Object.defineProperties(nY.prototype,{scene:{get:function(){return this._scene}},dismissMessage:{get:function(){return this._dismissMessage}}});nY.prototype.destroy=function(){return this._unsubscribeLowFrameRate(),this._unsubscribeNominalFrameRate(),fe(this)};var Az=nY;function Tz(e){let t=wn(e.container),n=new Az(e),i=document.createElement("div");i.className="cesium-performance-watchdog-message-area",i.setAttribute("data-bind","visible: showingLowFrameRateMessage");let o=document.createElement("button");o.setAttribute("type","button"),o.className="cesium-performance-watchdog-message-dismiss",o.innerHTML="&times;",o.setAttribute("data-bind","click: dismissMessage"),i.appendChild(o);let r=document.createElement("div");r.className="cesium-performance-watchdog-message",r.setAttribute("data-bind","html: lowFrameRateMessage"),i.appendChild(r),t.appendChild(i),Ce.applyBindings(n,i),this._container=t,this._viewModel=n,this._element=i}Object.defineProperties(Tz.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});Tz.prototype.isDestroyed=function(){return!1};Tz.prototype.destroy=function(){return this._viewModel.destroy(),Ce.cleanNode(this._element),this._container.removeChild(this._element),fe(this)};var Ez=Tz;function bz(e){this._scene=e,this._orthographic=e.camera.frustum instanceof $t,this._flightInProgress=!1,this.dropDownVisible=!1,this.tooltipPerspective="Perspective Projection",this.tooltipOrthographic="Orthographic Projection",this.selectedTooltip=void 0,this.sceneMode=e.mode,Ce.track(this,["_orthographic","_flightInProgress","sceneMode","dropDownVisible","tooltipPerspective","tooltipOrthographic"]);let t=this;Ce.defineProperty(this,"selectedTooltip",function(){return t._orthographic?t.tooltipOrthographic:t.tooltipPerspective}),this._toggleDropDown=yn(function(){t.sceneMode===ee.SCENE2D||t._flightInProgress||(t.dropDownVisible=!t.dropDownVisible)}),this._eventHelper=new Pr,this._eventHelper.add(e.morphComplete,function(n,i,o,r){t.sceneMode=o,t._orthographic=o===ee.SCENE2D||t._scene.camera.frustum instanceof $t}),this._eventHelper.add(e.preRender,function(){t._flightInProgress=l(e.camera._currentFlight)}),this._switchToPerspective=yn(function(){t.sceneMode!==ee.SCENE2D&&(t._scene.camera.switchToPerspectiveFrustum(),t._orthographic=!1,t.dropDownVisible=!1)}),this._switchToOrthographic=yn(function(){t.sceneMode!==ee.SCENE2D&&(t._scene.camera.switchToOrthographicFrustum(),t._orthographic=!0,t.dropDownVisible=!1)}),this._sceneMode=ee}Object.defineProperties(bz.prototype,{scene:{get:function(){return this._scene}},toggleDropDown:{get:function(){return this._toggleDropDown}},switchToPerspective:{get:function(){return this._switchToPerspective}},switchToOrthographic:{get:function(){return this._switchToOrthographic}},isOrthographicProjection:{get:function(){return this._orthographic}}});bz.prototype.isDestroyed=function(){return!1};bz.prototype.destroy=function(){this._eventHelper.removeAll(),fe(this)};var Sz=bz;var Ept="M 28.15625,10.4375 9.125,13.21875 13.75,43.25 41.75,55.09375 50.8125,37 54.5,11.9375 z m 0.125,3 19.976451,0.394265 L 43.03125,16.875 22.6875,14.28125 z M 50.971746,15.705477 47.90625,36.03125 42.53125,46 44.84375,19.3125 z M 12.625,16.03125 l 29.15625,3.6875 -2.65625,31 L 16.4375,41.125 z",bpt="m 31.560594,6.5254438 -20.75,12.4687502 0.1875,24.5625 22.28125,11.8125 19.5,-12 0.65625,-0.375 0,-0.75 0.0312,-23.21875 z m 0.0625,3.125 16.65625,9.5000002 -16.125,10.28125 -17.34375,-9.71875 z m 18.96875,11.1875002 0.15625,20.65625 -17.46875,10.59375 0.15625,-20.28125 z m -37.0625,1.25 17.21875,9.625 -0.15625,19.21875 -16.9375,-9 z";function wz(e,t){e=wn(e);let n=new Sz(t);n._perspectivePath=Ept,n._orthographicPath=bpt;let i=document.createElement("span");i.className="cesium-projectionPicker-wrapper cesium-toolbar-button",e.appendChild(i);let o=document.createElement("button");o.type="button",o.className="cesium-button cesium-toolbar-button",o.setAttribute("data-bind",'css: { "cesium-projectionPicker-buttonPerspective": !_orthographic, "cesium-projectionPicker-buttonOrthographic": _orthographic, "cesium-button-disabled" : sceneMode === _sceneMode.SCENE2D || _flightInProgress, "cesium-projectionPicker-selected": dropDownVisible },attr: { title: selectedTooltip },click: toggleDropDown'),o.innerHTML='<!-- ko cesiumSvgPath: { path: _perspectivePath, width: 64, height: 64, css: "cesium-projectionPicker-iconPerspective" } --><!-- /ko --><!-- ko cesiumSvgPath: { path: _orthographicPath, width: 64, height: 64, css: "cesium-projectionPicker-iconOrthographic" } --><!-- /ko -->',i.appendChild(o);let r=document.createElement("button");r.type="button",r.className="cesium-button cesium-toolbar-button cesium-projectionPicker-dropDown-icon",r.setAttribute("data-bind",'css: { "cesium-projectionPicker-visible" : (dropDownVisible && _orthographic), "cesium-projectionPicker-none" : !_orthographic, "cesium-projectionPicker-hidden" : !dropDownVisible },attr: { title: tooltipPerspective },click: switchToPerspective,cesiumSvgPath: { path: _perspectivePath, width: 64, height: 64 }'),i.appendChild(r);let s=document.createElement("button");s.type="button",s.className="cesium-button cesium-toolbar-button cesium-projectionPicker-dropDown-icon",s.setAttribute("data-bind",'css: { "cesium-projectionPicker-visible" : (dropDownVisible && !_orthographic), "cesium-projectionPicker-none" : _orthographic, "cesium-projectionPicker-hidden" : !dropDownVisible},attr: { title: tooltipOrthographic },click: switchToOrthographic,cesiumSvgPath: { path: _orthographicPath, width: 64, height: 64 }'),i.appendChild(s),Ce.applyBindings(n,i),this._viewModel=n,this._container=e,this._wrapper=i,this._closeDropDown=function(a){i.contains(a.target)||(n.dropDownVisible=!1)},Mt.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeDropDown,!0):(document.addEventListener("mousedown",this._closeDropDown,!0),document.addEventListener("touchstart",this._closeDropDown,!0))}Object.defineProperties(wz.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});wz.prototype.isDestroyed=function(){return!1};wz.prototype.destroy=function(){return this._viewModel.destroy(),Mt.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeDropDown,!0):(document.removeEventListener("mousedown",this._closeDropDown,!0),document.removeEventListener("touchstart",this._closeDropDown,!0)),Ce.cleanNode(this._wrapper),this._container.removeChild(this._wrapper),fe(this)};var vz=wz;function Dz(e,t){this._scene=e;let n=this,i=function(o,r,s,a){n.sceneMode=s,n.dropDownVisible=!1};this._eventHelper=new Pr,this._eventHelper.add(e.morphStart,i),this._duration=y(t,2),this.sceneMode=e.mode,this.dropDownVisible=!1,this.tooltip2D="2D",this.tooltip3D="3D",this.tooltipColumbusView="Columbus View",Ce.track(this,["sceneMode","dropDownVisible","tooltip2D","tooltip3D","tooltipColumbusView"]),this.selectedTooltip=void 0,Ce.defineProperty(this,"selectedTooltip",function(){let o=n.sceneMode;return o===ee.SCENE2D?n.tooltip2D:o===ee.SCENE3D?n.tooltip3D:n.tooltipColumbusView}),this._toggleDropDown=yn(function(){n.dropDownVisible=!n.dropDownVisible}),this._morphTo2D=yn(function(){e.morphTo2D(n._duration)}),this._morphTo3D=yn(function(){e.morphTo3D(n._duration)}),this._morphToColumbusView=yn(function(){e.morphToColumbusView(n._duration)}),this._sceneMode=ee}Object.defineProperties(Dz.prototype,{scene:{get:function(){return this._scene}},duration:{get:function(){return this._duration},set:function(e){this._duration=e}},toggleDropDown:{get:function(){return this._toggleDropDown}},morphTo2D:{get:function(){return this._morphTo2D}},morphTo3D:{get:function(){return this._morphTo3D}},morphToColumbusView:{get:function(){return this._morphToColumbusView}}});Dz.prototype.isDestroyed=function(){return!1};Dz.prototype.destroy=function(){this._eventHelper.removeAll(),fe(this)};var Pz=Dz;var Spt="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",wpt="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",vpt="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";function Iz(e,t,n){e=wn(e);let i=new Pz(t,n);i._globePath=Spt,i._flatMapPath=wpt,i._columbusViewPath=vpt;let o=document.createElement("span");o.className="cesium-sceneModePicker-wrapper cesium-toolbar-button",e.appendChild(o);let r=document.createElement("button");r.type="button",r.className="cesium-button cesium-toolbar-button",r.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'),r.innerHTML='<!-- ko cesiumSvgPath: { path: _globePath, width: 64, height: 64, css: "cesium-sceneModePicker-slide-svg cesium-sceneModePicker-icon3D" } --><!-- /ko --><!-- ko cesiumSvgPath: { path: _flatMapPath, width: 64, height: 64, css: "cesium-sceneModePicker-slide-svg cesium-sceneModePicker-icon2D" } --><!-- /ko --><!-- ko cesiumSvgPath: { path: _columbusViewPath, width: 64, height: 64, css: "cesium-sceneModePicker-slide-svg cesium-sceneModePicker-iconColumbusView" } --><!-- /ko -->',o.appendChild(r);let s=document.createElement("button");s.type="button",s.className="cesium-button cesium-toolbar-button cesium-sceneModePicker-dropDown-icon",s.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 }'),o.appendChild(s);let a=document.createElement("button");a.type="button",a.className="cesium-button cesium-toolbar-button cesium-sceneModePicker-dropDown-icon",a.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 }'),o.appendChild(a);let c=document.createElement("button");c.type="button",c.className="cesium-button cesium-toolbar-button cesium-sceneModePicker-dropDown-icon",c.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 }'),o.appendChild(c),Ce.applyBindings(i,o),this._viewModel=i,this._container=e,this._wrapper=o,this._closeDropDown=function(u){o.contains(u.target)||(i.dropDownVisible=!1)},Mt.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeDropDown,!0):(document.addEventListener("mousedown",this._closeDropDown,!0),document.addEventListener("touchstart",this._closeDropDown,!0))}Object.defineProperties(Iz.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});Iz.prototype.isDestroyed=function(){return!1};Iz.prototype.destroy=function(){return this._viewModel.destroy(),Mt.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeDropDown,!0):(document.removeEventListener("mousedown",this._closeDropDown,!0),document.removeEventListener("touchstart",this._closeDropDown,!0)),Ce.cleanNode(this._wrapper),this._container.removeChild(this._wrapper),fe(this)};var Oz=Iz;var Dpt=new G,Rz="-1000px";function QD(e,t,n){this._scene=e,this._screenPositionX=Rz,this._screenPositionY=Rz,this._tweens=e.tweens,this._container=y(n,document.body),this._selectionIndicatorElement=t,this._scale=1,this.position=void 0,this.showSelection=!1,Ce.track(this,["position","_screenPositionX","_screenPositionY","_scale","showSelection"]),this.isVisible=void 0,Ce.defineProperty(this,"isVisible",{get:function(){return this.showSelection&&l(this.position)}}),Ce.defineProperty(this,"_transform",{get:function(){return`scale(${this._scale})`}}),this.computeScreenSpacePosition=function(i,o){return qi.wgs84ToWindowCoordinates(e,i,o)}}QD.prototype.update=function(){if(this.showSelection&&l(this.position)){let e=this.computeScreenSpacePosition(this.position,Dpt);if(!l(e))this._screenPositionX=Rz,this._screenPositionY=Rz;else{let t=this._container,n=t.parentNode.clientWidth,i=t.parentNode.clientHeight,o=this._selectionIndicatorElement.clientWidth,r=o*.5;e.x=Math.min(Math.max(e.x,-o),n+o)-r,e.y=Math.min(Math.max(e.y,-o),i+o)-r,this._screenPositionX=`${Math.floor(e.x+.25)}px`,this._screenPositionY=`${Math.floor(e.y+.25)}px`}}};QD.prototype.animateAppear=function(){this._tweens.addProperty({object:this,property:"_scale",startValue:2,stopValue:1,duration:.8,easingFunction:Dr.EXPONENTIAL_OUT})};QD.prototype.animateDepart=function(){this._tweens.addProperty({object:this,property:"_scale",startValue:this._scale,stopValue:1.5,duration:.8,easingFunction:Dr.EXPONENTIAL_OUT})};Object.defineProperties(QD.prototype,{container:{get:function(){return this._container}},selectionIndicatorElement:{get:function(){return this._selectionIndicatorElement}},scene:{get:function(){return this._scene}}});var Mz=QD;function Bz(e,t){e=wn(e),this._container=e;let n=document.createElement("div");n.className="cesium-selection-wrapper",n.setAttribute("data-bind",'style: { "top" : _screenPositionY, "left" : _screenPositionX },css: { "cesium-selection-wrapper-visible" : isVisible }'),e.appendChild(n),this._element=n;let i="http://www.w3.org/2000/svg",o="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",r=document.createElementNS(i,"svg:svg");r.setAttribute("width",160),r.setAttribute("height",160),r.setAttribute("viewBox","0 0 160 160");let s=document.createElementNS(i,"g");s.setAttribute("transform","translate(80,80)"),r.appendChild(s);let a=document.createElementNS(i,"path");a.setAttribute("data-bind","attr: { transform: _transform }"),a.setAttribute("d",o),s.appendChild(a),n.appendChild(r);let c=new Mz(t,this._element,this._container);this._viewModel=c,Ce.applyBindings(this._viewModel,this._element)}Object.defineProperties(Bz.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});Bz.prototype.isDestroyed=function(){return!1};Bz.prototype.destroy=function(){let e=this._container;return Ce.cleanNode(this._element),e.removeChild(this._element),fe(this)};var Lz=Bz;function VC(e,t,n){this._color=e,this._height=t,this._base=y(n,0)}VC.prototype.getHeight=function(){return this._height};VC.prototype.getBase=function(){return this._base};VC.prototype.getStartTime=function(){return this._start};VC.prototype.getStopTime=function(){return this._stop};VC.prototype.setRange=function(e,t){this._start=e,this._stop=t};VC.prototype.render=function(e){let t="";if(this._start&&this._stop&&this._color){let n=Q.secondsDifference(this._start,e.epochJulian),i=Math.round(e.timeBarWidth*e.getAlpha(n)),o=Q.secondsDifference(this._stop,e.epochJulian),r=Math.round(e.timeBarWidth*e.getAlpha(o))-i;i<0&&(r+=i,i=0),i+r>e.timeBarWidth&&(r=e.timeBarWidth-i),r>0&&(t=`<span class="cesium-timeline-highlight" style="left: ${i.toString()}px; width: ${r.toString()}px; bottom: ${this._base.toString()}px; height: ${this._height}px; background-color: ${this._color};"></span>`)}return t};var Nz=VC;function cye(e,t,n,i){this.interval=e,this.height=t,this.color=n||new U(.5,.5,.5,1),this.backgroundColor=i||new U(0,0,0,0)}cye.prototype.render=function(e,t){let n=this.interval.start,i=this.interval.stop,o=t.startJulian,r=Q.addSeconds(t.startJulian,t.duration,new Q);if(Q.lessThan(n,o)&&Q.greaterThan(i,r))e.fillStyle=this.color.toCssColorString(),e.fillRect(0,t.y,t.timeBarWidth,this.height);else if(Q.lessThanOrEquals(n,r)&&Q.greaterThanOrEquals(i,o)){let s,a,c;for(s=0;s<t.timeBarWidth;++s){let u=Q.addSeconds(t.startJulian,s/t.timeBarWidth*t.duration,new Q);!l(a)&&Q.greaterThanOrEquals(u,n)?a=s:!l(c)&&Q.greaterThanOrEquals(u,i)&&(c=s)}e.fillStyle=this.backgroundColor.toCssColorString(),e.fillRect(0,t.y,t.timeBarWidth,this.height),l(a)&&(l(c)||(c=t.timeBarWidth),e.fillStyle=this.color.toCssColorString(),e.fillRect(a,t.y,Math.max(c-a,1),this.height))}};var Fz=cye;var iY=1e12,of={none:0,scrub:1,slide:2,zoom:3,touchOnly:4},wc={none:0,scrub:1,slideZoom:2,singleTap:3,ignore:4},h0=[.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],Ppt=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function vc(e,t){e=wn(e);let n=e.ownerDocument;this.container=e;let i=n.createElement("div");i.className="cesium-timeline-main",e.appendChild(i),this._topDiv=i,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=of.none,this._touchMode=wc.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='<div class="cesium-timeline-bar"></div><div class="cesium-timeline-trackContainer"><canvas class="cesium-timeline-tracks" width="10" height="1"></canvas></div><div class="cesium-timeline-needle"></div><span class="cesium-timeline-ruler"></span>',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=Ipt(this),this._onMouseUp=Opt(this),this._onMouseMove=Rpt(this),this._onMouseWheel=Mpt(this),this._onTouchStart=Bpt(this),this._onTouchMove=Npt(this),this._onTouchEnd=Lpt(this);let o=this._timeBarEle;n.addEventListener("mouseup",this._onMouseUp,!1),n.addEventListener("mousemove",this._onMouseMove,!1),o.addEventListener("mousedown",this._onMouseDown,!1),o.addEventListener("DOMMouseScroll",this._onMouseWheel,!1),o.addEventListener("mousewheel",this._onMouseWheel,!1),o.addEventListener("touchstart",this._onTouchStart,!1),o.addEventListener("touchmove",this._onTouchMove,!1),o.addEventListener("touchend",this._onTouchEnd,!1),o.addEventListener("touchcancel",this._onTouchEnd,!1),this._topDiv.oncontextmenu=function(){return!1},t.onTick.addEventListener(this.updateFromClock,this),this.updateFromClock()}vc.prototype.addEventListener=function(e,t,n){this._topDiv.addEventListener(e,t,n)};vc.prototype.removeEventListener=function(e,t,n){this._topDiv.removeEventListener(e,t,n)};vc.prototype.isDestroyed=function(){return!1};vc.prototype.destroy=function(){this._clock.onTick.removeEventListener(this.updateFromClock,this);let e=this.container.ownerDocument;e.removeEventListener("mouseup",this._onMouseUp,!1),e.removeEventListener("mousemove",this._onMouseMove,!1);let t=this._timeBarEle;t.removeEventListener("mousedown",this._onMouseDown,!1),t.removeEventListener("DOMMouseScroll",this._onMouseWheel,!1),t.removeEventListener("mousewheel",this._onMouseWheel,!1),t.removeEventListener("touchstart",this._onTouchStart,!1),t.removeEventListener("touchmove",this._onTouchMove,!1),t.removeEventListener("touchend",this._onTouchEnd,!1),t.removeEventListener("touchcancel",this._onTouchEnd,!1),this.container.removeChild(this._topDiv),fe(this)};vc.prototype.addHighlightRange=function(e,t,n){let i=new Nz(e,t,n);return this._highlightRanges.push(i),this.resize(),i};vc.prototype.addTrack=function(e,t,n,i){let o=new Fz(e,t,n,i);return this._trackList.push(o),this._lastHeight=void 0,this.resize(),o};vc.prototype.zoomTo=function(e,t){if(this._startJulian=e,this._endJulian=t,this._timeBarSecondsSpan=Q.secondsDifference(t,e),this._clock&&this._clock.clockRange!==vr.UNBOUNDED){let i=this._clock.startTime,o=this._clock.stopTime,r=Q.secondsDifference(o,i),s=Q.secondsDifference(i,this._startJulian),a=Q.secondsDifference(o,this._endJulian);this._timeBarSecondsSpan>=r?(this._timeBarSecondsSpan=r,this._startJulian=this._clock.startTime,this._endJulian=this._clock.stopTime):s>0?(this._endJulian=Q.addSeconds(this._endJulian,s,new Q),this._startJulian=i,this._timeBarSecondsSpan=Q.secondsDifference(this._endJulian,this._startJulian)):a<0&&(this._startJulian=Q.addSeconds(this._startJulian,a,new Q),this._endJulian=o,this._timeBarSecondsSpan=Q.secondsDifference(this._endJulian,this._startJulian))}this._makeTics();let n=document.createEvent("Event");n.initEvent("setzoom",!0,!0),n.startJulian=this._startJulian,n.endJulian=this._endJulian,n.epochJulian=this._epochJulian,n.totalSpan=this._timeBarSecondsSpan,n.mainTicSpan=this._mainTicSpan,this._topDiv.dispatchEvent(n)};vc.prototype.zoomFrom=function(e){let t=Q.secondsDifference(this._scrubJulian,this._startJulian);e>1||t<0||t>this._timeBarSecondsSpan?t=this._timeBarSecondsSpan*.5:t+=t-this._timeBarSecondsSpan*.5;let n=this._timeBarSecondsSpan-t;this.zoomTo(Q.addSeconds(this._startJulian,t-t*e,new Q),Q.addSeconds(this._endJulian,n*e-n,new Q))};function oY(e){return e<10?`0${e.toString()}`:e.toString()}vc.prototype.makeLabel=function(e){let t=Q.toGregorianDate(e),n=t.millisecond,i=" UTC";if(n>0&&this._timeBarSecondsSpan<3600){for(i=Math.floor(n).toString();i.length<3;)i=`0${i}`;i=`.${i}`}return`${Ppt[t.month-1]} ${t.day} ${t.year} ${oY(t.hour)}:${oY(t.minute)}:${oY(t.second)}${i}`};vc.prototype.smallestTicInPixels=7;vc.prototype._makeTics=function(){let e=this._timeBarEle,t=Q.secondsDifference(this._scrubJulian,this._startJulian),n=Math.round(t*this._topDiv.clientWidth/this._timeBarSecondsSpan),i=n-8,o,r=this;this._needleEle.style.left=`${n.toString()}px`;let s="",a=.01,c=31536e6,u=1e-10,f=0,d=this._timeBarSecondsSpan;d<a?(d=a,this._timeBarSecondsSpan=a,this._endJulian=Q.addSeconds(this._startJulian,a,new Q)):d>c&&(d=c,this._timeBarSecondsSpan=c,this._endJulian=Q.addSeconds(this._startJulian,c,new Q));let p=this._timeBarEle.clientWidth;p<10&&(p=10);let g=this._startJulian,m=Math.min(d/p*1e-5,.4),C,x=Q.toGregorianDate(g);d>31536e4?C=Q.fromDate(new Date(Date.UTC(Math.floor(x.year/100)*100,0))):d>31536e3?C=Q.fromDate(new Date(Date.UTC(Math.floor(x.year/10)*10,0))):d>86400?C=Q.fromDate(new Date(Date.UTC(x.year,0))):C=Q.fromDate(new Date(Date.UTC(x.year,x.month,x.day)));let A=Q.secondsDifference(this._startJulian,Q.addSeconds(C,m,new Q)),b=A+d;this._epochJulian=C;function E(V){return Math.floor(A/V)*V}function S(V,Y){return Math.ceil(V/Y+.5)*Y}function v(V){return(V-A)/d}function P(V,Y){return V-Y*Math.round(V/Y)}this._rulerEle.innerHTML=this.makeLabel(Q.addSeconds(this._endJulian,-a,new Q));let O=this._rulerEle.offsetWidth+20;O<30&&(O=180);let M=f;f-=u;let B={startTime:A,startJulian:g,epochJulian:C,duration:d,timeBarWidth:p,getAlpha:v};this._highlightRanges.forEach(function(V){s+=V.render(B)});let L=0,_=0,T=0,w=O/p;w>1&&(w=1),w*=this._timeBarSecondsSpan;let D=-1,R=-1,F=h0.length,z;for(z=0;z<F;++z){let V=h0[z];if(++D,L=V,V>w&&V>f)break;R<0&&p*(V/this._timeBarSecondsSpan)>=this.smallestTicInPixels&&(R=D)}if(D>0){for(;D>0;)if(--D,Math.abs(P(L,h0[D]))<1e-5){h0[D]>=f&&(_=h0[D]);break}if(R>=0)for(;R<D;){if(Math.abs(P(_,h0[R]))<1e-5&&h0[R]>=f){T=h0[R];break}++R}}f=M,f>u&&T<1e-5&&Math.abs(f-L)>u&&(T=f,f<=L+u&&(_=0));let k=-999999,H;if(p*(T/this._timeBarSecondsSpan)>=3)for(o=E(T);o<=b;o=S(o,T))s+=`<span class="cesium-timeline-ticTiny" style="left: ${Math.round(p*v(o)).toString()}px;"></span>`;if(p*(_/this._timeBarSecondsSpan)>=3)for(o=E(_);o<=b;o=S(o,_))s+=`<span class="cesium-timeline-ticSub" style="left: ${Math.round(p*v(o)).toString()}px;"></span>`;if(p*(L/this._timeBarSecondsSpan)>=2){this._mainTicSpan=L,b+=L,o=E(L);let V=Q.computeTaiMinusUtc(C);for(;o<=b;){let Y=Q.addSeconds(g,o-A,new Q);if(L>2.1){let K=Q.computeTaiMinusUtc(Y);Math.abs(K-V)>.1&&(o+=K-V,Y=Q.addSeconds(g,o-A,new Q))}let q=Math.round(p*v(o)),X=this.makeLabel(Y);this._rulerEle.innerHTML=X,H=this._rulerEle.offsetWidth,H<10&&(H=O);let W=q-(H/2-1);W>k?(k=W+H+5,s+=`<span class="cesium-timeline-ticMain" style="left: ${q.toString()}px;"></span><span class="cesium-timeline-ticLabel" style="left: ${W.toString()}px;">${X}</span>`):s+=`<span class="cesium-timeline-ticSub" style="left: ${q.toString()}px;"></span>`,o=S(o,L)}}else this._mainTicSpan=-1;s+=`<span class="cesium-timeline-icon16" style="left:${i}px;bottom:0;background-position: 0 0;"></span>`,e.innerHTML=s,this._scrubElement=e.lastChild,this._context.clearRect(0,0,this._trackListEle.width,this._trackListEle.height),B.y=0,this._trackList.forEach(function(V){V.render(r._context,B),B.y+=V.height})};vc.prototype.updateFromClock=function(){this._scrubJulian=this._clock.currentTime;let e=this._scrubElement;if(l(this._scrubElement)){let t=Q.secondsDifference(this._scrubJulian,this._startJulian),n=Math.round(t*this._topDiv.clientWidth/this._timeBarSecondsSpan);this._lastXPos!==n&&(this._lastXPos=n,e.style.left=`${n-8}px`,this._needleEle.style.left=`${n}px`)}l(this._timelineDragLocation)&&(this._setTimeBarTime(this._timelineDragLocation,this._timelineDragLocation*this._timeBarSecondsSpan/this._topDiv.clientWidth),this.zoomTo(Q.addSeconds(this._startJulian,this._timelineDrag,new Q),Q.addSeconds(this._endJulian,this._timelineDrag,new Q)))};vc.prototype._setTimeBarTime=function(e,t){if(e=Math.round(e),this._scrubJulian=Q.addSeconds(this._startJulian,t,new Q),this._scrubElement){let i=e-8;this._scrubElement.style.left=`${i.toString()}px`,this._needleEle.style.left=`${e.toString()}px`}let n=document.createEvent("Event");n.initEvent("settime",!0,!0),n.clientX=e,n.timeSeconds=t,n.timeJulian=this._scrubJulian,n.clock=this._clock,this._topDiv.dispatchEvent(n)};function Ipt(e){return function(t){e._mouseMode!==of.touchOnly&&(t.button===0?(e._mouseMode=of.scrub,e._scrubElement&&(e._scrubElement.style.backgroundPosition="-16px 0"),e._onMouseMove(t)):(e._mouseX=t.clientX,t.button===2?e._mouseMode=of.zoom:e._mouseMode=of.slide)),t.preventDefault()}}function Opt(e){return function(t){e._mouseMode=of.none,e._scrubElement&&(e._scrubElement.style.backgroundPosition="0 0"),e._timelineDrag=0,e._timelineDragLocation=void 0}}function Rpt(e){return function(t){let n;if(e._mouseMode===of.scrub){t.preventDefault();let i=t.clientX-e._topDiv.getBoundingClientRect().left;i<0?(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===of.slide){if(n=e._mouseX-t.clientX,e._mouseX=t.clientX,n!==0){let i=n*e._timeBarSecondsSpan/e._topDiv.clientWidth;e.zoomTo(Q.addSeconds(e._startJulian,i,new Q),Q.addSeconds(e._endJulian,i,new Q))}}else e._mouseMode===of.zoom&&(n=e._mouseX-t.clientX,e._mouseX=t.clientX,n!==0&&e.zoomFrom(Math.pow(1.01,n)))}}function Mpt(e){return function(t){let n=t.wheelDeltaY||t.wheelDelta||-t.detail;iY=Math.max(Math.min(Math.abs(n),iY),1),n/=iY,e.zoomFrom(Math.pow(1.05,-n))}}function Bpt(e){return function(t){let n=t.touches.length,i,o,r=e._topDiv.getBoundingClientRect().left;t.preventDefault(),e._mouseMode=of.touchOnly,n===1?(i=Q.secondsDifference(e._scrubJulian,e._startJulian),o=Math.round(i*e._topDiv.clientWidth/e._timeBarSecondsSpan+r),Math.abs(t.touches[0].clientX-o)<50?(e._touchMode=wc.scrub,e._scrubElement&&(e._scrubElement.style.backgroundPosition=n===1?"-16px 0":"0 0")):(e._touchMode=wc.singleTap,e._touchState.centerX=t.touches[0].clientX-r)):n===2?(e._touchMode=wc.slideZoom,e._touchState.centerX=(t.touches[0].clientX+t.touches[1].clientX)*.5-r,e._touchState.spanX=Math.abs(t.touches[0].clientX-t.touches[1].clientX)):e._touchMode=wc.ignore}}function Lpt(e){return function(t){let n=t.touches.length,i=e._topDiv.getBoundingClientRect().left;e._touchMode===wc.singleTap?(e._touchMode=wc.scrub,e._onTouchMove(t)):e._touchMode===wc.scrub&&e._onTouchMove(t),e._mouseMode=of.touchOnly,n!==1?e._touchMode=n>0?wc.ignore:wc.none:e._touchMode===wc.slideZoom&&(e._touchState.centerX=t.touches[0].clientX-i),e._scrubElement&&(e._scrubElement.style.backgroundPosition="0 0")}}function Npt(e){return function(t){let n,i,o,r,s,a,c=1,u=e._topDiv.getBoundingClientRect().left;e._touchMode===wc.singleTap&&(e._touchMode=wc.slideZoom),e._mouseMode=of.touchOnly,e._touchMode===wc.scrub?(t.preventDefault(),t.changedTouches.length===1&&(i=t.changedTouches[0].clientX-u,i>=0&&i<=e._topDiv.clientWidth&&e._setTimeBarTime(i,i*e._timeBarSecondsSpan/e._topDiv.clientWidth))):e._touchMode===wc.slideZoom&&(o=t.touches.length,o===2?(r=(t.touches[0].clientX+t.touches[1].clientX)*.5-u,s=Math.abs(t.touches[0].clientX-t.touches[1].clientX)):o===1&&(r=t.touches[0].clientX-u,s=0),l(r)&&(s>0&&e._touchState.spanX>0?(c=e._touchState.spanX/s,a=Q.addSeconds(e._startJulian,(e._touchState.centerX*e._timeBarSecondsSpan-r*e._timeBarSecondsSpan*c)/e._topDiv.clientWidth,new Q)):(n=e._touchState.centerX-r,a=Q.addSeconds(e._startJulian,n*e._timeBarSecondsSpan/e._topDiv.clientWidth,new Q)),e.zoomTo(a,Q.addSeconds(a,e._timeBarSecondsSpan*c,new Q)),e._touchState.centerX=r,e._touchState.spanX=s))}}vc.prototype.resize=function(){let e=this.container.clientWidth,t=this.container.clientHeight;if(e===this._lastWidth&&t===this._lastHeight)return;this._trackContainer.style.height=`${t}px`;let n=1;this._trackList.forEach(function(i){n+=i.height}),this._trackListEle.style.height=`${n.toString()}px`,this._trackListEle.width=this._trackListEle.clientWidth,this._trackListEle.height=n,this._makeTics(),this._lastXPos=void 0,this._lastWidth=e,this._lastHeight=t};var Vz=vc;var uye=Ri(lye(),1);function Fpt(e){let t=!1,n=window.screen;return l(n)&&(l(n.lockOrientation)?t=n.lockOrientation(e):l(n.mozLockOrientation)?t=n.mozLockOrientation(e):l(n.msLockOrientation)?t=n.msLockOrientation(e):l(n.orientation&&n.orientation.lock)&&(t=n.orientation.lock(e))),t}function fye(){let e=window.screen;l(e)&&(l(e.unlockOrientation)?e.unlockOrientation():l(e.mozUnlockOrientation)?e.mozUnlockOrientation():l(e.msUnlockOrientation)?e.msUnlockOrientation():l(e.orientation&&e.orientation.unlock)&&e.orientation.unlock())}function Vpt(e,t,n,i){i()||(n()?(t.useWebVR=!1,e._locked&&(fye(),e._locked=!1),e._noSleep.disable(),dr.exitFullscreen(),n(!1)):(dr.fullscreen||dr.requestFullscreen(e._vrElement),e._noSleep.enable(),e._locked||(e._locked=Fpt("landscape")),t.useWebVR=!0,n(!0)))}function kz(e,t){let n=this,i=Ce.observable(dr.enabled),o=Ce.observable(!1);this.isVRMode=void 0,Ce.defineProperty(this,"isVRMode",{get:function(){return o()}}),this.isVREnabled=void 0,Ce.defineProperty(this,"isVREnabled",{get:function(){return i()},set:function(s){i(s&&dr.enabled)}}),this.tooltip=void 0,Ce.defineProperty(this,"tooltip",function(){return i()?o()?"Exit VR mode":"Enter VR mode":"VR mode is unavailable"});let r=Ce.observable(!1);this._isOrthographic=void 0,Ce.defineProperty(this,"_isOrthographic",{get:function(){return r()}}),this._eventHelper=new Pr,this._eventHelper.add(e.preRender,function(){r(e.camera.frustum instanceof $t)}),this._locked=!1,this._noSleep=new uye.default,this._command=yn(function(){Vpt(n,e,o,r)},Ce.getObservable(this,"isVREnabled")),this._vrElement=y(wn(t),document.body),this._callback=function(){!dr.fullscreen&&o()&&(e.useWebVR=!1,n._locked&&(fye(),n._locked=!1),n._noSleep.disable(),o(!1))},document.addEventListener(dr.changeEventName,this._callback)}Object.defineProperties(kz.prototype,{vrElement:{get:function(){return this._vrElement},set:function(e){this._vrElement=e}},command:{get:function(){return this._command}}});kz.prototype.isDestroyed=function(){return!1};kz.prototype.destroy=function(){this._eventHelper.removeAll(),document.removeEventListener(dr.changeEventName,this._callback),fe(this)};var Uz=kz;var kpt="M 5.3125 6.375 C 4.008126 6.375 2.96875 7.4141499 2.96875 8.71875 L 2.96875 19.5 C 2.96875 20.8043 4.008126 21.875 5.3125 21.875 L 13.65625 21.875 C 13.71832 20.0547 14.845166 18.59375 16.21875 18.59375 C 17.592088 18.59375 18.71881 20.0552 18.78125 21.875 L 27.09375 21.875 C 28.398125 21.875 29.4375 20.8043 29.4375 19.5 L 29.4375 8.71875 C 29.4375 7.4141499 28.398125 6.375 27.09375 6.375 L 5.3125 6.375 z M 9.625 10.4375 C 11.55989 10.4375 13.125 12.03385 13.125 13.96875 C 13.125 15.90365 11.55989 17.46875 9.625 17.46875 C 7.69011 17.46875 6.125 15.90365 6.125 13.96875 C 6.125 12.03385 7.69011 10.4375 9.625 10.4375 z M 22.46875 10.4375 C 24.40364 10.4375 25.96875 12.03385 25.96875 13.96875 C 25.96875 15.90365 24.40364 17.46875 22.46875 17.46875 C 20.53386 17.46875 18.96875 15.90365 18.96875 13.96875 C 18.96875 12.03385 20.53386 10.4375 22.46875 10.4375 z",Upt="M 25.770585,2.4552065 C 15.72282,13.962707 10.699956,19.704407 8.1768352,22.580207 c -1.261561,1.4379 -1.902282,2.1427 -2.21875,2.5 -0.141624,0.1599 -0.208984,0.2355 -0.25,0.2813 l 0.6875,0.75 c 10e-5,-10e-5 0.679191,0.727 0.6875,0.7187 0.01662,-0.016 0.02451,-0.024 0.03125,-0.031 0.01348,-0.014 0.04013,-0.038 0.0625,-0.062 0.04474,-0.05 0.120921,-0.1315 0.28125,-0.3126 0.320657,-0.3619 0.956139,-1.0921 2.2187499,-2.5312 2.5252219,-2.8781 7.5454589,-8.6169 17.5937499,-20.1250005 l -1.5,-1.3125 z m -20.5624998,3.9063 c -1.304375,0 -2.34375,1.0391 -2.34375,2.3437 l 0,10.8125005 c 0,1.3043 1.039375,2.375 2.34375,2.375 l 2.25,0 c 1.9518039,-2.2246 7.4710958,-8.5584 13.5624998,-15.5312005 l -15.8124998,0 z m 21.1249998,0 c -1.855467,2.1245 -2.114296,2.4005 -3.59375,4.0936995 1.767282,0.1815 3.15625,1.685301 3.15625,3.500001 0,1.9349 -1.56511,3.5 -3.5,3.5 -1.658043,0 -3.043426,-1.1411 -3.40625,-2.6875 -1.089617,1.2461 -2.647139,2.9988 -3.46875,3.9375 0.191501,-0.062 0.388502,-0.094 0.59375,-0.094 1.373338,0 2.50006,1.4614 2.5625,3.2812 l 8.3125,0 c 1.304375,0 2.34375,-1.0707 2.34375,-2.375 l 0,-10.8125005 c 0,-1.3046 -1.039375,-2.3437 -2.34375,-2.3437 l -0.65625,0 z M 9.5518351,10.423906 c 1.9348899,0 3.4999999,1.596401 3.4999999,3.531301 0,1.9349 -1.56511,3.5 -3.4999999,3.5 -1.9348899,0 -3.4999999,-1.5651 -3.4999999,-3.5 0,-1.9349 1.56511,-3.531301 3.4999999,-3.531301 z m 4.2187499,10.312601 c -0.206517,0.2356 -0.844218,0.9428 -1.03125,1.1562 l 0.8125,0 c 0.01392,-0.4081 0.107026,-0.7968 0.21875,-1.1562 z";function zz(e,t,n){e=wn(e);let i=new Uz(t,n);i._exitVRPath=Upt,i._enterVRPath=kpt;let o=document.createElement("button");o.type="button",o.className="cesium-button cesium-vrButton",o.setAttribute("data-bind",'css: { "cesium-button-disabled" : _isOrthographic }, attr: { title: tooltip },click: command,enable: isVREnabled,cesiumSvgPath: { path: isVRMode ? _exitVRPath : _enterVRPath, width: 32, height: 32 }'),e.appendChild(o),Ce.applyBindings(i,o),this._container=e,this._viewModel=i,this._element=o}Object.defineProperties(zz.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});zz.prototype.isDestroyed=function(){return!1};zz.prototype.destroy=function(){return this._viewModel.destroy(),Ce.cleanNode(this._element),this._container.removeChild(this._element),fe(this)};var Hz=zz;var m0=new re;function mye(e){let t=e.clock;t.currentTime=e.timeJulian,t.shouldAnimate=!1}function zpt(e){let t=e.getPropertyIds(),n="";return t.forEach(function(i){let o=e.getProperty(i);l(o)&&(n+=`<tr><th>${i}</th><td>${o}</td></tr>`)}),n.length>0&&(n=`<table class="cesium-infoBox-defaultTable"><tbody>${n}</tbody></table>`),n}function Hpt(e){let t,n=[],i=e.getPropertyIds();for(t=0;t<i.length;t++){let r=i[t];/^name$/i.test(r)?n[0]=e.getProperty(r):/name/i.test(r)?n[1]=e.getProperty(r):/^title$/i.test(r)?n[2]=e.getProperty(r):/^(id|identifier)$/i.test(r)?n[3]=e.getProperty(r):/element/i.test(r)?n[4]=e.getProperty(r):/(id|identifier)$/i.test(r)&&(n[5]=e.getProperty(r))}let o=n.length;for(t=0;t<o;t++){let r=n[t];if(l(r)&&r!=="")return r}return"Unnamed Feature"}function dye(e,t){let n=e.scene.pick(t.position);if(l(n)){let i=y(n.id,n.primitive.id);if(i instanceof $o)return i;if(n instanceof bs)return new $o({name:Hpt(n),description:zpt(n),feature:n})}if(l(e.scene.globe))return jpt(e,t.position)}var Gpt=new Q;function pye(e,t,n){if(l(n)){let i=n.clock;if(l(i)&&(i.getValue(t),l(e))){let o=i.startTime,r=i.stopTime;Q.equals(o,r)&&(r=Q.addSeconds(o,I.EPSILON2,Gpt)),e.updateFromClock(),e.zoomTo(o,r)}}}var Wpt=new h;function jpt(e,t){let n=e.scene,i=n.camera.getPickRay(t),o=n.imageryLayers.pickImageryLayerFeatures(i,n);if(!l(o))return;let r=new $o({id:"Loading...",description:"Loading feature information..."});return o.then(function(s){if(e.selectedEntity!==r)return;if(!l(s)||s.length===0){e.selectedEntity=hye();return}let a=s[0],c=new $o({id:a.name,description:a.description});if(l(a.position)){let u=e.scene.globe.ellipsoid.cartographicToCartesian(a.position,Wpt);c.position=new Wc(u)}e.selectedEntity=c},function(){e.selectedEntity===r&&(e.selectedEntity=hye())}),r}function hye(){return new $o({id:"None",description:"No features found."})}function qpt(e,t){let n=e._geocoder,i=e._homeButton,o=e._sceneModePicker,r=e._projectionPicker,s=e._baseLayerPicker,a=e._animation,c=e._timeline,u=e._fullscreenButton,f=e._infoBox,d=e._selectionIndicator,p=t?"hidden":"visible";if(l(n)&&(n.container.style.visibility=p),l(i)&&(i.container.style.visibility=p),l(o)&&(o.container.style.visibility=p),l(r)&&(r.container.style.visibility=p),l(s)&&(s.container.style.visibility=p),l(a)&&(a.container.style.visibility=p),l(c)&&(c.container.style.visibility=p),l(u)&&u.viewModel.isFullscreenEnabled&&(u.container.style.visibility=p),l(f)&&(f.container.style.visibility=p),l(d)&&(d.container.style.visibility=p),e._container){let g=t||!l(u)?0:u.container.clientWidth;e._vrButton.container.style.right=`${g}px`,e.forceResize()}}function Ci(e,t){e=wn(e),t=y(t,y.EMPTY_OBJECT);let n=(!l(t.globe)||t.globe!==!1)&&(!l(t.baseLayerPicker)||t.baseLayerPicker!==!1),i=this,o=document.createElement("div");o.className="cesium-viewer",e.appendChild(o);let r=document.createElement("div");r.className="cesium-viewer-cesiumWidgetContainer",o.appendChild(r);let s=document.createElement("div");s.className="cesium-viewer-bottom",o.appendChild(s);let a=y(t.scene3DOnly,!1),c,u,f=!1;l(t.clockViewModel)?(u=t.clockViewModel,c=u.clock):(c=new Vd,u=new F4(c),f=!0),l(t.shouldAnimate)&&(c.shouldAnimate=t.shouldAnimate);let d=new oz(r,{imageryProvider:n||l(t.imageryProvider)?!1:void 0,clock:c,skyBox:t.skyBox,skyAtmosphere:t.skyAtmosphere,sceneMode:t.sceneMode,mapProjection:t.mapProjection,globe:t.globe,orderIndependentTranslucency:t.orderIndependentTranslucency,contextOptions:t.contextOptions,useDefaultRenderLoop:t.useDefaultRenderLoop,targetFrameRate:t.targetFrameRate,showRenderLoopErrors:t.showRenderLoopErrors,useBrowserRecommendedResolution:t.useBrowserRecommendedResolution,creditContainer:l(t.creditContainer)?t.creditContainer:s,creditViewport:t.creditViewport,scene3DOnly:a,shadows:t.shadows,terrainShadows:t.terrainShadows,mapMode2D:t.mapMode2D,blurActiveElementOnCanvasFocus:t.blurActiveElementOnCanvasFocus,requestRenderMode:t.requestRenderMode,maximumRenderTimeChange:t.maximumRenderTimeChange,depthPlaneEllipsoidOffset:t.depthPlaneEllipsoidOffset,msaaSamples:t.msaaSamples}),p=t.dataSources,g=!1;l(p)||(p=new h2,g=!0);let m=d.scene,C=new B2({scene:m,dataSourceCollection:p}),x=new Pr;x.add(c.onTick,Ci.prototype._onTick,this),x.add(m.morphStart,Ci.prototype._clearTrackedObject,this);let A;if(!l(t.selectionIndicator)||t.selectionIndicator!==!1){let q=document.createElement("div");q.className="cesium-viewer-selectionIndicatorContainer",o.appendChild(q),A=new Lz(q,m)}let b;if(!l(t.infoBox)||t.infoBox!==!1){let q=document.createElement("div");q.className="cesium-viewer-infoBoxContainer",o.appendChild(q),b=new gz(q);let X=b.viewModel;x.add(X.cameraClicked,Ci.prototype._onInfoBoxCameraClicked,this),x.add(X.closeClicked,Ci.prototype._onInfoBoxClockClicked,this)}let E=document.createElement("div");E.className="cesium-viewer-toolbar",o.appendChild(E);let S;if(!l(t.geocoder)||t.geocoder!==!1){let q=document.createElement("div");q.className="cesium-viewer-geocoderContainer",E.appendChild(q);let X;l(t.geocoder)&&typeof t.geocoder!="boolean"&&(X=Array.isArray(t.geocoder)?t.geocoder:[t.geocoder]),S=new fz({container:q,geocoderServices:X,scene:m}),x.add(S.viewModel.search.beforeExecute,Ci.prototype._clearObjects,this)}let v;(!l(t.homeButton)||t.homeButton!==!1)&&(v=new mz(E,m),l(S)&&x.add(v.viewModel.command.afterExecute,function(){let q=S.viewModel;q.searchText="",q.isSearchInProgress&&q.search()}),x.add(v.viewModel.command.beforeExecute,Ci.prototype._clearTrackedObject,this));let P;!a&&(!l(t.sceneModePicker)||t.sceneModePicker!==!1)&&(P=new Oz(E,m));let O;t.projectionPicker&&(O=new vz(E,m));let M,B;if(n){let q=y(t.imageryProviderViewModels,K4()),X=y(t.terrainProviderViewModels,Z4());M=new X4(E,{globe:m.globe,imageryProviderViewModels:q,selectedImageryProviderViewModel:t.selectedImageryProviderViewModel,terrainProviderViewModels:X,selectedTerrainProviderViewModel:t.selectedTerrainProviderViewModel}),B=E.getElementsByClassName("cesium-baseLayerPicker-dropDown")[0]}l(t.imageryProvider)&&t.imageryProvider!==!1&&(n&&(M.viewModel.selectedImagery=void 0),m.imageryLayers.removeAll(),m.imageryLayers.addImageryProvider(t.imageryProvider)),l(t.terrainProvider)&&(n&&(M.viewModel.selectedTerrain=void 0),m.terrainProvider=t.terrainProvider);let L;if(!l(t.navigationHelpButton)||t.navigationHelpButton!==!1){let q=!0;try{if(l(window.localStorage)){let X=window.localStorage.getItem("cesium-hasSeenNavHelp");l(X)&&Boolean(X)?q=!1:window.localStorage.setItem("cesium-hasSeenNavHelp","true")}}catch{}L=new xz({container:E,instructionsInitiallyVisible:y(t.navigationInstructionsInitiallyVisible,q)})}let _;if(!l(t.animation)||t.animation!==!1){let q=document.createElement("div");q.className="cesium-viewer-animationContainer",o.appendChild(q),_=new W4(q,new j4(u))}let T;if(!l(t.timeline)||t.timeline!==!1){let q=document.createElement("div");q.className="cesium-viewer-timelineContainer",o.appendChild(q),T=new Vz(q,c),T.addEventListener("settime",mye,!1),T.zoomTo(c.startTime,c.stopTime)}let w,D,R;(!l(t.fullscreenButton)||t.fullscreenButton!==!1)&&(R=document.createElement("div"),R.className="cesium-viewer-fullscreenContainer",o.appendChild(R),w=new cz(R,t.fullscreenElement),D=ra(w.viewModel,"isFullscreenEnabled",function(q){R.style.display=q?"block":"none",l(T)&&(T.container.style.right=`${R.clientWidth}px`,T.resize())}));let F,z,k;if(t.vrButton){let q=document.createElement("div");q.className="cesium-viewer-vrContainer",o.appendChild(q),F=new Hz(q,m,t.fullScreenElement),z=ra(F.viewModel,"isVREnabled",function(X){q.style.display=X?"block":"none",l(w)&&(q.style.right=`${R.clientWidth}px`),l(T)&&(T.container.style.right=`${q.clientWidth}px`,T.resize())}),k=ra(F.viewModel,"isVRMode",function(X){qpt(i,X)})}this._baseLayerPickerDropDown=B,this._fullscreenSubscription=D,this._vrSubscription=z,this._vrModeSubscription=k,this._dataSourceChangedListeners={},this._automaticallyTrackDataSourceClocks=y(t.automaticallyTrackDataSourceClocks,!0),this._container=e,this._bottomContainer=s,this._element=o,this._cesiumWidget=d,this._selectionIndicator=A,this._infoBox=b,this._dataSourceCollection=p,this._destroyDataSourceCollection=g,this._dataSourceDisplay=C,this._clockViewModel=u,this._destroyClockViewModel=f,this._toolbar=E,this._homeButton=v,this._sceneModePicker=P,this._projectionPicker=O,this._baseLayerPicker=M,this._navigationHelpButton=L,this._animation=_,this._timeline=T,this._fullscreenButton=w,this._vrButton=F,this._geocoder=S,this._eventHelper=x,this._lastWidth=0,this._lastHeight=0,this._allowDataSourcesToSuspendAnimation=!0,this._entityView=void 0,this._enableInfoOrSelection=l(b)||l(A),this._clockTrackedDataSource=void 0,this._trackedEntity=void 0,this._needTrackedEntityUpdate=!1,this._selectedEntity=void 0,this._zoomIsFlight=!1,this._zoomTarget=void 0,this._zoomPromise=void 0,this._zoomOptions=void 0,this._selectedEntityChanged=new ge,this._trackedEntityChanged=new ge,Ce.track(this,["_trackedEntity","_selectedEntity","_clockTrackedDataSource"]),x.add(p.dataSourceAdded,Ci.prototype._onDataSourceAdded,this),x.add(p.dataSourceRemoved,Ci.prototype._onDataSourceRemoved,this),x.add(m.postUpdate,Ci.prototype.resize,this),x.add(m.postRender,Ci.prototype._postRender,this);let H=p.length;for(let q=0;q<H;q++)this._dataSourceAdded(p,p.get(q));this._dataSourceAdded(void 0,C.defaultDataSource),x.add(p.dataSourceAdded,Ci.prototype._dataSourceAdded,this),x.add(p.dataSourceRemoved,Ci.prototype._dataSourceRemoved,this);function V(q){let X=dye(i,q);l(X)?j.getValueOrUndefined(X.position,i.clock.currentTime)?i.trackedEntity=X:i.zoomTo(X):l(i.trackedEntity)&&(i.trackedEntity=void 0)}function Y(q){i.selectedEntity=dye(i,q)}d.screenSpaceEventHandler.setInputAction(Y,fn.LEFT_CLICK),d.screenSpaceEventHandler.setInputAction(V,fn.LEFT_DOUBLE_CLICK)}Object.defineProperties(Ci.prototype,{container:{get:function(){return this._container}},bottomContainer:{get:function(){return this._bottomContainer}},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}},projectionPicker:{get:function(){return this._projectionPicker}},baseLayerPicker:{get:function(){return this._baseLayerPicker}},navigationHelpButton:{get:function(){return this._navigationHelpButton}},animation:{get:function(){return this._animation}},timeline:{get:function(){return this._timeline}},fullscreenButton:{get:function(){return this._fullscreenButton}},vrButton:{get:function(){return this._vrButton}},dataSourceDisplay:{get:function(){return this._dataSourceDisplay}},entities:{get:function(){return this._dataSourceDisplay.defaultDataSource.entities}},dataSources:{get:function(){return this._dataSourceCollection}},canvas:{get:function(){return this._cesiumWidget.canvas}},scene:{get:function(){return this._cesiumWidget.scene}},shadows:{get:function(){return this.scene.shadowMap.enabled},set:function(e){this.scene.shadowMap.enabled=e}},terrainShadows:{get:function(){return this.scene.globe.shadows},set:function(e){this.scene.globe.shadows=e}},shadowMap:{get:function(){return this.scene.shadowMap}},imageryLayers:{get:function(){return this.scene.imageryLayers}},terrainProvider:{get:function(){return this.scene.terrainProvider},set:function(e){this.scene.terrainProvider=e}},camera:{get:function(){return this.scene.camera}},postProcessStages:{get:function(){return this.scene.postProcessStages}},clock:{get:function(){return this._clockViewModel.clock}},clockViewModel:{get:function(){return this._clockViewModel}},screenSpaceEventHandler:{get:function(){return this._cesiumWidget.screenSpaceEventHandler}},targetFrameRate:{get:function(){return this._cesiumWidget.targetFrameRate},set:function(e){this._cesiumWidget.targetFrameRate=e}},useDefaultRenderLoop:{get:function(){return this._cesiumWidget.useDefaultRenderLoop},set:function(e){this._cesiumWidget.useDefaultRenderLoop=e}},resolutionScale:{get:function(){return this._cesiumWidget.resolutionScale},set:function(e){this._cesiumWidget.resolutionScale=e}},useBrowserRecommendedResolution:{get:function(){return this._cesiumWidget.useBrowserRecommendedResolution},set:function(e){this._cesiumWidget.useBrowserRecommendedResolution=e}},allowDataSourcesToSuspendAnimation:{get:function(){return this._allowDataSourcesToSuspendAnimation},set:function(e){this._allowDataSourcesToSuspendAnimation=e}},trackedEntity:{get:function(){return this._trackedEntity},set:function(e){if(this._trackedEntity!==e){this._trackedEntity=e,Gz(this);let t=this.scene,n=t.mode;!l(e)||!l(e.position)?(this._needTrackedEntityUpdate=!1,(n===ee.COLUMBUS_VIEW||n===ee.SCENE2D)&&(t.screenSpaceCameraController.enableTranslate=!0),(n===ee.COLUMBUS_VIEW||n===ee.SCENE3D)&&(t.screenSpaceCameraController.enableTilt=!0),this._entityView=void 0,this.camera.lookAtTransform(N.IDENTITY)):this._needTrackedEntityUpdate=!0,this._trackedEntityChanged.raiseEvent(e),this.scene.requestRender()}}},selectedEntity:{get:function(){return this._selectedEntity},set:function(e){if(this._selectedEntity!==e){this._selectedEntity=e;let t=l(this._selectionIndicator)?this._selectionIndicator.viewModel:void 0;l(e)?l(t)&&t.animateAppear():l(t)&&t.animateDepart(),this._selectedEntityChanged.raiseEvent(e)}}},selectedEntityChanged:{get:function(){return this._selectedEntityChanged}},trackedEntityChanged:{get:function(){return this._trackedEntityChanged}},clockTrackedDataSource:{get:function(){return this._clockTrackedDataSource},set:function(e){this._clockTrackedDataSource!==e&&(this._clockTrackedDataSource=e,pye(this._timeline,this.clock,e))}}});Ci.prototype.extend=function(e,t){e(this,t)};Ci.prototype.resize=function(){let e=this._cesiumWidget,t=this._container,n=t.clientWidth,i=t.clientHeight,o=l(this._animation),r=l(this._timeline);if(e.resize(),n===this._lastWidth&&i===this._lastHeight)return;let s=i-125,a=this._baseLayerPickerDropDown;if(l(a)&&(a.style.maxHeight=`${s}px`),l(this._geocoder)){let g=this._geocoder.searchSuggestionsContainer;g.style.maxHeight=`${s}px`}l(this._infoBox)&&(this._infoBox.viewModel.maxHeight=s);let c=this._timeline,u,f=0,d=0,p=0;if(o&&window.getComputedStyle(this._animation.container).visibility!=="hidden"){let g=this._lastWidth;u=this._animation.container,n>900?(f=169,g<=900&&(u.style.width="169px",u.style.height="112px",this._animation.resize())):n>=600?(f=136,(g<600||g>900)&&(u.style.width="136px",u.style.height="90px",this._animation.resize())):(f=106,(g>600||g===0)&&(u.style.width="106px",u.style.height="70px",this._animation.resize())),d=f+5}if(r&&window.getComputedStyle(this._timeline.container).visibility!=="hidden"){let g=this._fullscreenButton,m=this._vrButton,C=c.container,x=C.style;p=C.clientHeight+3,x.left=`${f}px`;let A=0;l(g)&&(A+=g.container.clientWidth),l(m)&&(A+=m.container.clientWidth),x.right=`${A}px`,c.resize()}this._bottomContainer.style.left=`${d}px`,this._bottomContainer.style.bottom=`${p}px`,this._lastWidth=n,this._lastHeight=i};Ci.prototype.forceResize=function(){this._lastWidth=0,this.resize()};Ci.prototype.render=function(){this._cesiumWidget.render()};Ci.prototype.isDestroyed=function(){return!1};Ci.prototype.destroy=function(){let e;this.screenSpaceEventHandler.removeInputAction(fn.LEFT_CLICK),this.screenSpaceEventHandler.removeInputAction(fn.LEFT_DOUBLE_CLICK);let t=this.dataSources,n=t.length;for(e=0;e<n;e++)this._dataSourceRemoved(t,t.get(e));return this._dataSourceRemoved(void 0,this._dataSourceDisplay.defaultDataSource),this._container.removeChild(this._element),this._element.removeChild(this._toolbar),this._eventHelper.removeAll(),l(this._geocoder)&&(this._geocoder=this._geocoder.destroy()),l(this._homeButton)&&(this._homeButton=this._homeButton.destroy()),l(this._sceneModePicker)&&(this._sceneModePicker=this._sceneModePicker.destroy()),l(this._projectionPicker)&&(this._projectionPicker=this._projectionPicker.destroy()),l(this._baseLayerPicker)&&(this._baseLayerPicker=this._baseLayerPicker.destroy()),l(this._animation)&&(this._element.removeChild(this._animation.container),this._animation=this._animation.destroy()),l(this._timeline)&&(this._timeline.removeEventListener("settime",mye,!1),this._element.removeChild(this._timeline.container),this._timeline=this._timeline.destroy()),l(this._fullscreenButton)&&(this._fullscreenSubscription.dispose(),this._element.removeChild(this._fullscreenButton.container),this._fullscreenButton=this._fullscreenButton.destroy()),l(this._vrButton)&&(this._vrSubscription.dispose(),this._vrModeSubscription.dispose(),this._element.removeChild(this._vrButton.container),this._vrButton=this._vrButton.destroy()),l(this._infoBox)&&(this._element.removeChild(this._infoBox.container),this._infoBox=this._infoBox.destroy()),l(this._selectionIndicator)&&(this._element.removeChild(this._selectionIndicator.container),this._selectionIndicator=this._selectionIndicator.destroy()),this._destroyClockViewModel&&(this._clockViewModel=this._clockViewModel.destroy()),this._dataSourceDisplay=this._dataSourceDisplay.destroy(),this._cesiumWidget=this._cesiumWidget.destroy(),this._destroyDataSourceCollection&&(this._dataSourceCollection=this._dataSourceCollection.destroy()),fe(this)};Ci.prototype._dataSourceAdded=function(e,t){t.entities.collectionChanged.addEventListener(Ci.prototype._onEntityCollectionChanged,this)};Ci.prototype._dataSourceRemoved=function(e,t){let n=t.entities;n.collectionChanged.removeEventListener(Ci.prototype._onEntityCollectionChanged,this),l(this.trackedEntity)&&n.getById(this.trackedEntity.id)===this.trackedEntity&&(this.trackedEntity=void 0),l(this.selectedEntity)&&n.getById(this.selectedEntity.id)===this.selectedEntity&&(this.selectedEntity=void 0)};Ci.prototype._onTick=function(e){let t=e.currentTime,n=this._dataSourceDisplay.update(t);this._allowDataSourcesToSuspendAnimation&&(this._clockViewModel.canAnimate=n);let i=this._entityView;if(l(i)){let f=this._trackedEntity;this._dataSourceDisplay.getBoundingSphere(f,!1,m0)===it.DONE&&i.update(t,m0)}let o,r=!1,s=this.selectedEntity,a=l(s)&&this._enableInfoOrSelection;a&&s.isShowing&&s.isAvailable(t)&&(this._dataSourceDisplay.getBoundingSphere(s,!0,m0)!==it.FAILED?o=m0.center:l(s.position)&&(o=s.position.getValue(t,o)),r=l(o));let c=l(this._selectionIndicator)?this._selectionIndicator.viewModel:void 0;l(c)&&(c.position=h.clone(o,c.position),c.showSelection=a&&r,c.update());let u=l(this._infoBox)?this._infoBox.viewModel:void 0;l(u)&&(u.showInfo=a,u.enableCamera=r,u.isCameraTracking=this.trackedEntity===this.selectedEntity,a?(u.titleText=y(s.name,s.id),u.description=j.getValueOrDefault(s.description,t,"")):(u.titleText="",u.description=""))};Ci.prototype._onEntityCollectionChanged=function(e,t,n){let i=n.length;for(let o=0;o<i;o++){let r=n[o];this.trackedEntity===r&&(this.trackedEntity=void 0),this.selectedEntity===r&&(this.selectedEntity=void 0)}};Ci.prototype._onInfoBoxCameraClicked=function(e){if(e.isCameraTracking&&this.trackedEntity===this.selectedEntity)this.trackedEntity=void 0;else{let n=this.selectedEntity.position;l(n)?this.trackedEntity=this.selectedEntity:this.zoomTo(this.selectedEntity)}};Ci.prototype._clearTrackedObject=function(){this.trackedEntity=void 0};Ci.prototype._onInfoBoxClockClicked=function(e){this.selectedEntity=void 0};Ci.prototype._clearObjects=function(){this.trackedEntity=void 0,this.selectedEntity=void 0};Ci.prototype._onDataSourceChanged=function(e){this.clockTrackedDataSource===e&&pye(this.timeline,this.clock,e)};Ci.prototype._onDataSourceAdded=function(e,t){this._automaticallyTrackDataSourceClocks&&(this.clockTrackedDataSource=t);let n=t.entities.id,i=this._eventHelper.add(t.changedEvent,Ci.prototype._onDataSourceChanged,this);this._dataSourceChangedListeners[n]=i};Ci.prototype._onDataSourceRemoved=function(e,t){let n=this.clockTrackedDataSource===t,i=t.entities.id;if(this._dataSourceChangedListeners[i](),this._dataSourceChangedListeners[i]=void 0,n){let o=e.length;this._automaticallyTrackDataSourceClocks&&o>0?this.clockTrackedDataSource=e.get(o-1):this.clockTrackedDataSource=void 0}};Ci.prototype.zoomTo=function(e,t){return _ye(this,e,{offset:t},!1)};Ci.prototype.flyTo=function(e,t){return _ye(this,e,t,!0)};function _ye(e,t,n,i){Gz(e);let o=new Promise(r=>{e._completeZoom=function(s){r(s)}});return e._zoomPromise=o,e._zoomIsFlight=i,e._zoomOptions=n,Promise.resolve(t).then(function(r){if(e._zoomPromise===o){if(r instanceof Zu){r.getViewableRectangle().then(function(s){return eb(s,e.scene)}).then(function(s){e._zoomPromise===o&&(e._zoomTarget=s)});return}if(r instanceof Lu){e._zoomTarget=r;return}if(r instanceof HD){e._zoomTarget=r;return}if(r.isLoading&&l(r.loadingEvent)){let s=r.loadingEvent.addEventListener(function(){s(),e._zoomPromise===o&&(e._zoomTarget=r.entities.values.slice(0))});return}if(Array.isArray(r)){e._zoomTarget=r.slice(0);return}r=y(r.values,r),l(r.entities)&&(r=r.entities.values),Array.isArray(r)?e._zoomTarget=r.slice(0):e._zoomTarget=[r]}}),e.scene.requestRender(),o}function sb(e){e._zoomPromise=void 0,e._zoomTarget=void 0,e._zoomOptions=void 0}function Gz(e){let t=e._zoomPromise;l(t)&&(sb(e),e._completeZoom(!1))}Ci.prototype._postRender=function(){Ypt(this),Xpt(this)};function Ypt(e){let t=e._zoomTarget;if(!l(t)||e.scene.mode===ee.MORPHING)return;let n=e.scene,i=n.camera,o=y(e._zoomOptions,{}),r;if(t instanceof Lu)return t.readyPromise.then(function(){let u=t.boundingSphere;l(o.offset)||(o.offset=new du(0,-.5,u.radius)),r={offset:o.offset,duration:o.duration,maximumHeight:o.maximumHeight,complete:function(){e._completeZoom(!0)},cancel:function(){e._completeZoom(!1)}},e._zoomIsFlight?i.flyToBoundingSphere(t.boundingSphere,r):(i.viewBoundingSphere(u,o.offset),i.lookAtTransform(N.IDENTITY),e._completeZoom(!0)),sb(e)}).catch(()=>{Gz(e)});if(t instanceof HD)return t.readyPromise.then(function(){let u=t.boundingSphere;l(o.offset)||(o.offset=new du(0,-.5,u.radius)),r={offset:o.offset,duration:o.duration,maximumHeight:o.maximumHeight,complete:function(){e._completeZoom(!0)},cancel:function(){e._completeZoom(!1)}},e._zoomIsFlight?i.flyToBoundingSphere(u,r):(i.viewBoundingSphere(u,o.offset),i.lookAtTransform(N.IDENTITY),e._completeZoom(!0)),sb(e)});if(t instanceof he){r={destination:n.mapProjection.ellipsoid.cartographicToCartesian(t),duration:o.duration,maximumHeight:o.maximumHeight,complete:function(){e._completeZoom(!0)},cancel:function(){e._completeZoom(!1)}},e._zoomIsFlight?i.flyTo(r):(i.setView(r),e._completeZoom(!0)),sb(e);return}let s=t,a=[];for(let u=0,f=s.length;u<f;u++){let d=e._dataSourceDisplay.getBoundingSphere(s[u],!1,m0);if(d===it.PENDING)return;d!==it.FAILED&&a.push(re.clone(m0))}if(a.length===0){Gz(e);return}e.trackedEntity=void 0;let c=re.fromBoundingSpheres(a);e._zoomIsFlight?(sb(e),i.flyToBoundingSphere(c,{duration:o.duration,maximumHeight:o.maximumHeight,complete:function(){e._completeZoom(!0)},cancel:function(){e._completeZoom(!1)},offset:o.offset})):(i.viewBoundingSphere(c,o.offset),i.lookAtTransform(N.IDENTITY),sb(e),e._completeZoom(!0))}function Xpt(e){if(!e._needTrackedEntityUpdate)return;let t=e._trackedEntity,n=e.clock.currentTime,i=j.getValueOrUndefined(t.position,n);if(!l(i))return;let o=e.scene,r=e._dataSourceDisplay.getBoundingSphere(t,!1,m0);if(r===it.PENDING)return;let s=o.mode;(s===ee.COLUMBUS_VIEW||s===ee.SCENE2D)&&(o.screenSpaceCameraController.enableTranslate=!1),(s===ee.COLUMBUS_VIEW||s===ee.SCENE3D)&&(o.screenSpaceCameraController.enableTilt=!1);let a=r!==it.FAILED?m0:void 0;e._entityView=new F2(t,o,o.mapProjection.ellipsoid),e._entityView.update(n,a),e._needTrackedEntityUpdate=!1}var gye=Ci;function Kpt(e){let t=document.createElement("div");t.className="cesium-viewer-cesium3DTilesInspectorContainer",e.container.appendChild(t);let n=new ez(t,e.scene);Object.defineProperties(e,{cesium3DTilesInspector:{get:function(){return n}}})}var yye=Kpt;function Zpt(e){let t=document.createElement("div");t.className="cesium-viewer-cesiumInspectorContainer",e.container.appendChild(t);let n=new iz(t,e.scene);Object.defineProperties(e,{cesiumInspector:{get:function(){return n}}})}var Cye=Zpt;function $pt(e,t){t=y(t,y.EMPTY_OBJECT);let n=!0,i=y(t.flyToOnDrop,!0),o=new ge,r=y(t.clearOnDrop,!0),s=y(t.dropTarget,e.container),a=y(t.clampToGround,!0),c=t.proxy;s=wn(s),Object.defineProperties(e,{dropTarget:{get:function(){return s},set:function(f){xye(s,u),s=f,sY(s,u)}},dropEnabled:{get:function(){return n},set:function(f){f!==n&&(f?sY(s,u):xye(s,u),n=f)}},dropError:{get:function(){return o}},clearOnDrop:{get:function(){return r},set:function(f){r=f}},flyToOnDrop:{get:function(){return i},set:function(f){i=f}},proxy:{get:function(){return c},set:function(f){c=f}},clampToGround:{get:function(){return a},set:function(f){a=f}}});function u(f){kC(f),r&&(e.entities.removeAll(),e.dataSources.removeAll());let d=f.dataTransfer.files,p=d.length;for(let g=0;g<p;g++){let m=d[g],C=new FileReader;C.onload=Jpt(e,m,c,a),C.onerror=Qpt(e,m),C.readAsText(m)}}sY(s,u),e.destroy=JI(e,e.destroy,function(){e.dropEnabled=!1}),e._handleDrop=u}function kC(e){e.stopPropagation(),e.preventDefault()}function xye(e,t){let n=e;l(n)&&(n.removeEventListener("drop",t,!1),n.removeEventListener("dragenter",kC,!1),n.removeEventListener("dragover",kC,!1),n.removeEventListener("dragexit",kC,!1))}function sY(e,t){e.addEventListener("drop",t,!1),e.addEventListener("dragenter",kC,!1),e.addEventListener("dragover",kC,!1),e.addEventListener("dragexit",kC,!1)}function Jpt(e,t,n,i){let o=e.scene;return function(r){let s=t.name;try{let a;if(/\.czml$/i.test(s))a=f2.load(JSON.parse(r.target.result),{sourceUri:s});else if(/\.geojson$/i.test(s)||/\.json$/i.test(s)||/\.topojson$/i.test(s))a=z2.load(JSON.parse(r.target.result),{sourceUri:s,clampToGround:i});else if(/\.(kml|kmz)$/i.test(s))a=bV.load(t,{sourceUri:s,proxy:n,camera:o.camera,canvas:o.canvas,clampToGround:i,screenOverlayContainer:e.container});else if(/\.gpx$/i.test(s))a=A3.load(t,{sourceUri:s,proxy:n});else{e.dropError.raiseEvent(e,s,`Unrecognized file: ${s}`);return}l(a)&&e.dataSources.add(a).then(function(c){e.flyToOnDrop&&e.flyTo(c)}).catch(function(c){e.dropError.raiseEvent(e,s,c)})}catch(a){e.dropError.raiseEvent(e,s,a)}}}function Qpt(e,t){return function(n){e.dropError.raiseEvent(e,t.name,n.target.error)}}var Aye=$pt;function e_t(e,t){t=y(t,y.EMPTY_OBJECT);let n=new Ez({scene:e.scene,container:e.bottomContainer,lowFrameRateMessage:t.lowFrameRateMessage});Object.defineProperties(e,{performanceWatchdog:{get:function(){return n}}})}var Tye=e_t;function t_t(e,t,n){let i;try{return i=e(t,n),i}catch(o){return Promise.reject(o)}}function n_t(e){let t;return function(n){let i=n.data,o=[],r={id:i.id,result:void 0,error:void 0};return Promise.resolve(t_t(e,i.parameters,o)).then(function(s){r.result=s}).catch(function(s){s instanceof Error?r.error={name:s.name,message:s.message,stack:s.stack}:r.error=s}).finally(function(){l(t)||(t=y(self.webkitPostMessage,self.postMessage)),i.canTransferArrayBuffer||(o.length=0);try{t(r,o)}catch(s){r.result=void 0,r.error=`postMessage failed with error: ${im(s)}
  8696. with responseMessage: ${JSON.stringify(r)}`,t(r)}})}}var Eye=n_t;var i_t="1.97";0&&(module.exports={AlphaMode,AlphaPipelineStage,Animation,AnimationViewModel,Appearance,ApproximateTerrainHeights,ArcGISTiledElevationTerrainProvider,ArcGisMapServerImageryProvider,ArcType,ArticulationStageType,AssociativeArray,AttributeCompression,AttributeType,AutoExposure,AutomaticUniforms,Axis,AxisAlignedBoundingBox,B3dmLoader,B3dmParser,BaseLayerPicker,BaseLayerPickerViewModel,BatchTable,BatchTableHierarchy,BatchTexture,BatchTexturePipelineStage,Billboard,BillboardCollection,BillboardGraphics,BillboardVisualizer,BingMapsGeocoderService,BingMapsImageryProvider,BingMapsStyle,BlendEquation,BlendFunction,BlendOption,BlendingState,BoundingRectangle,BoundingSphere,BoundingSphereState,BoxEmitter,BoxGeometry,BoxGeometryUpdater,BoxGraphics,BoxOutlineGeometry,BrdfLutGenerator,Buffer,BufferLoader,BufferUsage,CPUStylingPipelineStage,CallbackProperty,Camera,CameraEventAggregator,CameraEventType,CameraFlightPath,Cartesian2,Cartesian3,Cartesian4,Cartographic,CartographicGeocoderService,CatmullRomSpline,Cesium3DContentGroup,Cesium3DTile,Cesium3DTileBatchTable,Cesium3DTileColorBlendMode,Cesium3DTileContent,Cesium3DTileContentFactory,Cesium3DTileContentState,Cesium3DTileContentType,Cesium3DTileFeature,Cesium3DTileFeatureTable,Cesium3DTileOptimizationHint,Cesium3DTileOptimizations,Cesium3DTilePass,Cesium3DTilePassState,Cesium3DTilePointFeature,Cesium3DTileRefine,Cesium3DTileStyle,Cesium3DTileStyleEngine,Cesium3DTilesInspector,Cesium3DTilesInspectorViewModel,Cesium3DTileset,Cesium3DTilesetCache,Cesium3DTilesetGraphics,Cesium3DTilesetHeatmap,Cesium3DTilesetMetadata,Cesium3DTilesetMostDetailedTraversal,Cesium3DTilesetStatistics,Cesium3DTilesetTraversal,Cesium3DTilesetVisualizer,CesiumInspector,CesiumInspectorViewModel,CesiumTerrainProvider,CesiumWidget,Check,CheckerboardMaterialProperty,CircleEmitter,CircleGeometry,CircleOutlineGeometry,ClassificationModelDrawCommand,ClassificationPipelineStage,ClassificationPrimitive,ClassificationType,ClearCommand,ClippingPlane,ClippingPlaneCollection,Clock,ClockRange,ClockStep,ClockViewModel,CloudCollection,CloudType,Color,ColorBlendMode,ColorGeometryInstanceAttribute,ColorMaterialProperty,Command,ComponentDatatype,Composite3DTileContent,CompositeEntityCollection,CompositeMaterialProperty,CompositePositionProperty,CompositeProperty,CompressedTextureBuffer,ComputeCommand,ComputeEngine,ConditionsExpression,ConeEmitter,ConstantPositionProperty,ConstantProperty,ConstantSpline,ContentMetadata,Context,ContextLimits,CoplanarPolygonGeometry,CoplanarPolygonGeometryLibrary,CoplanarPolygonOutlineGeometry,CornerType,CorridorGeometry,CorridorGeometryLibrary,CorridorGeometryUpdater,CorridorGraphics,CorridorOutlineGeometry,Credit,CreditDisplay,CubeMap,CubeMapFace,CubicRealPolynomial,CullFace,CullingVolume,CumulusCloud,CustomDataSource,CustomHeightmapTerrainProvider,CustomShader,CustomShaderMode,CustomShaderPipelineStage,CustomShaderTranslucencyMode,CylinderGeometry,CylinderGeometryLibrary,CylinderGeometryUpdater,CylinderGraphics,CylinderOutlineGeometry,CzmlDataSource,DataSource,DataSourceClock,DataSourceCollection,DataSourceDisplay,DebugAppearance,DebugCameraPrimitive,DebugInspector,DebugModelMatrixPrimitive,DefaultProxy,DepthFunction,DepthPlane,DequantizationPipelineStage,DerivedCommand,DeveloperError,DeviceOrientationCameraController,DirectionalLight,DiscardEmptyTileImagePolicy,DiscardMissingTileImagePolicy,DistanceDisplayCondition,DistanceDisplayConditionGeometryInstanceAttribute,DoubleEndedPriorityQueue,DoublyLinkedList,DracoLoader,DrawCommand,DynamicGeometryBatch,DynamicGeometryUpdater,EarthOrientationParameters,EarthOrientationParametersSample,EasingFunction,EllipseGeometry,EllipseGeometryLibrary,EllipseGeometryUpdater,EllipseGraphics,EllipseOutlineGeometry,Ellipsoid,EllipsoidGeodesic,EllipsoidGeometry,EllipsoidGeometryUpdater,EllipsoidGraphics,EllipsoidOutlineGeometry,EllipsoidPrimitive,EllipsoidRhumbLine,EllipsoidSurfaceAppearance,EllipsoidTangentPlane,EllipsoidTerrainProvider,EllipsoidalOccluder,Empty3DTileContent,EncodedCartesian3,Entity,EntityCluster,EntityCollection,EntityView,Event,EventHelper,Expression,ExpressionNodeType,ExtrapolationType,FeatureDetection,FeatureIdPipelineStage,Fog,ForEach,FrameRateMonitor,FrameState,Framebuffer,FramebufferManager,FrustumCommands,FrustumGeometry,FrustumOutlineGeometry,Fullscreen,FullscreenButton,FullscreenButtonViewModel,GeoJsonDataSource,GeoJsonLoader,GeocodeType,Geocoder,GeocoderService,GeocoderViewModel,GeographicProjection,GeographicTilingScheme,Geometry,Geometry3DTileContent,GeometryAttribute,GeometryAttributes,GeometryFactory,GeometryInstance,GeometryInstanceAttribute,GeometryOffsetAttribute,GeometryPipeline,GeometryPipelineStage,GeometryType,GeometryUpdater,GeometryVisualizer,GetFeatureInfoFormat,Globe,GlobeDepth,GlobeSurfaceShaderSet,GlobeSurfaceTile,GlobeSurfaceTileProvider,GlobeTranslucency,GlobeTranslucencyFramebuffer,GlobeTranslucencyState,GltfBufferViewLoader,GltfDracoLoader,GltfImageLoader,GltfIndexBufferLoader,GltfJsonLoader,GltfLoader,GltfLoaderUtil,GltfStructuralMetadataLoader,GltfTextureLoader,GltfVertexBufferLoader,GoogleEarthEnterpriseImageryProvider,GoogleEarthEnterpriseMapsProvider,GoogleEarthEnterpriseMetadata,GoogleEarthEnterpriseTerrainData,GoogleEarthEnterpriseTerrainProvider,GoogleEarthEnterpriseTileInformation,GpxDataSource,GregorianDate,GridImageryProvider,GridMaterialProperty,GroundGeometryUpdater,GroundPolylineGeometry,GroundPolylinePrimitive,GroundPrimitive,GroupMetadata,HeadingPitchRange,HeadingPitchRoll,Heap,HeightReference,HeightmapEncoding,HeightmapTerrainData,HeightmapTessellator,HermitePolynomialApproximation,HermiteSpline,HilbertOrder,HomeButton,HomeButtonViewModel,HorizontalOrigin,I3dmLoader,I3dmParser,Iau2000Orientation,Iau2006XysData,Iau2006XysSample,IauOrientationAxes,IauOrientationParameters,ImageBasedLighting,ImageBasedLightingPipelineStage,ImageMaterialProperty,Imagery,ImageryLayer,ImageryLayerCollection,ImageryLayerFeatureInfo,ImageryProvider,ImageryState,Implicit3DTileContent,ImplicitAvailabilityBitstream,ImplicitMetadataView,ImplicitSubdivisionScheme,ImplicitSubtree,ImplicitSubtreeMetadata,ImplicitTileCoordinates,ImplicitTileset,IndexDatatype,InfoBox,InfoBoxViewModel,InspectorShared,InstanceAttributeSemantic,InstancingPipelineStage,InterpolationAlgorithm,InterpolationType,Intersect,IntersectionTests,Intersections2D,Interval,InvertClassification,Ion,IonGeocoderService,IonImageryProvider,IonResource,IonWorldImageryStyle,Iso8601,JobScheduler,JobType,JsonMetadataTable,JulianDate,KTX2Transcoder,KeyboardEventModifier,KmlCamera,KmlDataSource,KmlLookAt,KmlTour,KmlTourFlyTo,KmlTourWait,Label,LabelCollection,LabelGraphics,LabelStyle,LabelVisualizer,LagrangePolynomialApproximation,LeapSecond,Light,LightingModel,LightingPipelineStage,LinearApproximation,LinearSpline,ManagedArray,MapMode2D,MapProjection,MapboxImageryProvider,MapboxStyleImageryProvider,Material,MaterialAppearance,MaterialPipelineStage,MaterialProperty,Math,Matrix2,Matrix3,Matrix4,MetadataClass,MetadataClassProperty,MetadataComponentType,MetadataEntity,MetadataEnum,MetadataEnumValue,MetadataPipelineStage,MetadataSchema,MetadataSchemaLoader,MetadataSemantic,MetadataTable,MetadataTableProperty,MetadataType,MipmapHint,Model,Model3DTileContent,ModelAlphaOptions,ModelAnimation,ModelAnimationChannel,ModelAnimationCollection,ModelAnimationLoop,ModelAnimationState,ModelArticulation,ModelArticulationStage,ModelClippingPlanesPipelineStage,ModelColorPipelineStage,ModelComponents,ModelDrawCommand,ModelFeature,ModelFeatureTable,ModelGraphics,ModelLightingOptions,ModelMatrixUpdateStage,ModelNode,ModelRenderResources,ModelRuntimeNode,ModelRuntimePrimitive,ModelSceneGraph,ModelSilhouettePipelineStage,ModelSkin,ModelSplitterPipelineStage,ModelStatistics,ModelType,ModelUtility,ModelVisualizer,Moon,MorphTargetsPipelineStage,MorphWeightSpline,MortonOrder,Multiple3DTileContent,MultisampleFramebuffer,NavigationHelpButton,NavigationHelpButtonViewModel,NearFarScalar,NeverTileDiscardPolicy,NodeRenderResources,NodeStatisticsPipelineStage,NodeTransformationProperty,OIT,Occluder,OctahedralProjectedCubeMap,OffsetGeometryInstanceAttribute,OpenCageGeocoderService,OpenStreetMapImageryProvider,OrderedGroundPrimitiveCollection,OrientedBoundingBox,OrthographicFrustum,OrthographicOffCenterFrustum,Packable,PackableForInterpolation,Particle,ParticleBurst,ParticleEmitter,ParticleSystem,Pass,PassState,PathGraphics,PathVisualizer,PeliasGeocoderService,PerInstanceColorAppearance,PerformanceDisplay,PerformanceWatchdog,PerformanceWatchdogViewModel,PerspectiveFrustum,PerspectiveOffCenterFrustum,PickDepth,PickDepthFramebuffer,PickFramebuffer,Picking,PickingPipelineStage,PinBuilder,PixelDatatype,PixelFormat,Plane,PlaneGeometry,PlaneGeometryUpdater,PlaneGraphics,PlaneOutlineGeometry,PntsLoader,PntsParser,PointCloud,PointCloudEyeDomeLighting,PointCloudShading,PointCloudStylingPipelineStage,PointGraphics,PointPrimitive,PointPrimitiveCollection,PointVisualizer,PolygonGeometry,PolygonGeometryLibrary,PolygonGeometryUpdater,PolygonGraphics,PolygonHierarchy,PolygonOutlineGeometry,PolygonPipeline,Polyline,PolylineArrowMaterialProperty,PolylineCollection,PolylineColorAppearance,PolylineDashMaterialProperty,PolylineGeometry,PolylineGeometryUpdater,PolylineGlowMaterialProperty,PolylineGraphics,PolylineMaterialAppearance,PolylineOutlineMaterialProperty,PolylinePipeline,PolylineVisualizer,PolylineVolumeGeometry,PolylineVolumeGeometryLibrary,PolylineVolumeGeometryUpdater,PolylineVolumeGraphics,PolylineVolumeOutlineGeometry,PositionProperty,PositionPropertyArray,PostProcessStage,PostProcessStageCollection,PostProcessStageComposite,PostProcessStageLibrary,PostProcessStageSampleMode,PostProcessStageTextureCache,Primitive,PrimitiveCollection,PrimitiveLoadPlan,PrimitiveOutlineGenerator,PrimitiveOutlinePipelineStage,PrimitivePipeline,PrimitiveRenderResources,PrimitiveState,PrimitiveStatisticsPipelineStage,PrimitiveType,ProjectionPicker,ProjectionPickerViewModel,Property,PropertyArray,PropertyAttribute,PropertyAttributeProperty,PropertyBag,PropertyTable,PropertyTexture,PropertyTextureProperty,ProviderViewModel,Proxy,QuadraticRealPolynomial,QuadtreeOccluders,QuadtreePrimitive,QuadtreeTile,QuadtreeTileLoadState,QuadtreeTileProvider,QuantizedMeshTerrainData,QuarticRealPolynomial,Quaternion,QuaternionSpline,Queue,Ray,Rectangle,RectangleCollisionChecker,RectangleGeometry,RectangleGeometryLibrary,RectangleGeometryUpdater,RectangleGraphics,RectangleOutlineGeometry,ReferenceFrame,ReferenceProperty,RenderState,Renderbuffer,RenderbufferFormat,Request,RequestErrorEvent,RequestScheduler,RequestState,RequestType,Resource,ResourceCache,ResourceCacheKey,ResourceCacheStatistics,ResourceLoader,ResourceLoaderState,Rotation,RuntimeError,S2Cell,SDFSettings,SampledPositionProperty,SampledProperty,Sampler,ScaledPositionProperty,Scene,SceneFramebuffer,SceneMode,SceneMode2DPipelineStage,SceneModePicker,SceneModePickerViewModel,SceneTransforms,SceneTransitioner,ScreenSpaceCameraController,ScreenSpaceEventHandler,ScreenSpaceEventType,SelectedFeatureIdPipelineStage,SelectionIndicator,SelectionIndicatorViewModel,ShaderBuilder,ShaderCache,ShaderDestination,ShaderFunction,ShaderProgram,ShaderSource,ShaderStruct,ShadowMap,ShadowMapShader,ShadowMode,ShadowVolumeAppearance,ShowGeometryInstanceAttribute,Simon1994PlanetaryPositions,SimplePolylineGeometry,SingleTileImageryProvider,SkinningPipelineStage,SkyAtmosphere,SkyBox,SphereEmitter,SphereGeometry,SphereOutlineGeometry,Spherical,Spline,SplitDirection,Splitter,StaticGeometryColorBatch,StaticGeometryPerMaterialBatch,StaticGroundGeometryColorBatch,StaticGroundGeometryPerMaterialBatch,StaticGroundPolylinePerMaterialBatch,StaticOutlineGeometryBatch,StencilConstants,StencilFunction,StencilOperation,SteppedSpline,StripeMaterialProperty,StripeOrientation,StructuralMetadata,StyleCommandsNeeded,StyleExpression,Sun,SunLight,SunPostProcess,SupportedImageFormats,SvgPathBindingHandler,TaskProcessor,TerrainData,TerrainEncoding,TerrainExaggeration,TerrainFillMesh,TerrainMesh,TerrainOffsetProperty,TerrainProvider,TerrainQuantization,TerrainState,Texture,TextureAtlas,TextureCache,TextureMagnificationFilter,TextureManager,TextureMinificationFilter,TextureUniform,TextureWrap,TileAvailability,TileBoundingRegion,TileBoundingS2Cell,TileBoundingSphere,TileBoundingVolume,TileCoordinatesImageryProvider,TileDiscardPolicy,TileEdge,TileImagery,TileMapServiceImageryProvider,TileMetadata,TileOrientedBoundingBox,TileProviderError,TileReplacementQueue,TileSelectionResult,TileState,Tileset3DTileContent,TilesetMetadata,TilesetPipelineStage,TilingScheme,TimeConstants,TimeDynamicImagery,TimeDynamicPointCloud,TimeInterval,TimeIntervalCollection,TimeIntervalCollectionPositionProperty,TimeIntervalCollectionProperty,TimeStandard,Timeline,TimelineHighlightRange,TimelineTrack,Tipsify,ToggleButtonViewModel,Tonemapper,Transforms,TranslationRotationScale,TranslucentTileClassification,TridiagonalSystemSolver,TrustedServers,TweenCollection,UniformState,UniformType,UrlTemplateImageryProvider,VERSION,VRButton,VRButtonViewModel,VRTheWorldTerrainProvider,VaryingType,Vector3DTileBatch,Vector3DTileClampedPolylines,Vector3DTileContent,Vector3DTileGeometry,Vector3DTilePoints,Vector3DTilePolygons,Vector3DTilePolylines,Vector3DTilePrimitive,VelocityOrientationProperty,VelocityVectorProperty,VertexArray,VertexArrayFacade,VertexAttributeSemantic,VertexFormat,VerticalOrigin,VideoSynchronizer,View,Viewer,ViewportQuad,Visibility,Visualizer,VulkanConstants,WallGeometry,WallGeometryLibrary,WallGeometryUpdater,WallGraphics,WallOutlineGeometry,WebGLConstants,WebMapServiceImageryProvider,WebMapTileServiceImageryProvider,WebMercatorProjection,WebMercatorTilingScheme,WindingOrder,WireframeIndexGenerator,WireframePipelineStage,_shadersAcesTonemappingStage,_shadersAdditiveBlend,_shadersAdjustTranslucentFS,_shadersAllMaterialAppearanceFS,_shadersAllMaterialAppearanceVS,_shadersAmbientOcclusionGenerate,_shadersAmbientOcclusionModulate,_shadersAspectRampMaterial,_shadersAtmosphereCommon,_shadersBasicMaterialAppearanceFS,_shadersBasicMaterialAppearanceVS,_shadersBillboardCollectionFS,_shadersBillboardCollectionVS,_shadersBlackAndWhite,_shadersBloomComposite,_shadersBrdfLutGeneratorFS,_shadersBrightPass,_shadersBrightness,_shadersBumpMapMaterial,_shadersCPUStylingStageFS,_shadersCPUStylingStageVS,_shadersCheckerboardMaterial,_shadersCloudCollectionFS,_shadersCloudCollectionVS,_shadersCloudNoiseFS,_shadersCloudNoiseVS,_shadersCompareAndPackTranslucentDepth,_shadersCompositeOITFS,_shadersCompositeTranslucentClassification,_shadersContrastBias,_shadersCustomShaderStageFS,_shadersCustomShaderStageVS,_shadersCzmBuiltins,_shadersDepthOfField,_shadersDepthPlaneFS,_shadersDepthPlaneVS,_shadersDepthView,_shadersDepthViewPacked,_shadersDotMaterial,_shadersEdgeDetection,_shadersElevationBandMaterial,_shadersElevationContourMaterial,_shadersElevationRampMaterial,_shadersEllipsoidFS,_shadersEllipsoidSurfaceAppearanceFS,_shadersEllipsoidSurfaceAppearanceVS,_shadersEllipsoidVS,_shadersFXAA,_shadersFXAA3_11,_shadersFadeMaterial,_shadersFeatureIdStageFS,_shadersFeatureIdStageVS,_shadersFilmicTonemapping,_shadersGaussianBlur1D,_shadersGeometryStageFS,_shadersGeometryStageVS,_shadersGlobeFS,_shadersGlobeVS,_shadersGridMaterial,_shadersGroundAtmosphere,_shadersHSBToRGB,_shadersHSLToRGB,_shadersImageBasedLightingStageFS,_shadersInstancingStageCommon,_shadersInstancingStageVS,_shadersLegacyInstancingStageVS,_shadersLensFlare,_shadersLightingStageFS,_shadersMaterialStageFS,_shadersMetadataStageFS,_shadersMetadataStageVS,_shadersModelClippingPlanesStageFS,_shadersModelColorStageFS,_shadersModelFS,_shadersModelSilhouetteStageFS,_shadersModelSilhouetteStageVS,_shadersModelSplitterStageFS,_shadersModelVS,_shadersModifiedReinhardTonemapping,_shadersMorphTargetsStageVS,_shadersNightVision,_shadersNormalMapMaterial,_shadersOctahedralProjectionAtlasFS,_shadersOctahedralProjectionFS,_shadersOctahedralProjectionVS,_shadersPassThrough,_shadersPassThroughDepth,_shadersPerInstanceColorAppearanceFS,_shadersPerInstanceColorAppearanceVS,_shadersPerInstanceFlatColorAppearanceFS,_shadersPerInstanceFlatColorAppearanceVS,_shadersPointCloudEyeDomeLighting,_shadersPointCloudStylingStageVS,_shadersPointPrimitiveCollectionFS,_shadersPointPrimitiveCollectionVS,_shadersPolylineArrowMaterial,_shadersPolylineColorAppearanceVS,_shadersPolylineCommon,_shadersPolylineDashMaterial,_shadersPolylineFS,_shadersPolylineGlowMaterial,_shadersPolylineMaterialAppearanceVS,_shadersPolylineOutlineMaterial,_shadersPolylineShadowVolumeFS,_shadersPolylineShadowVolumeMorphFS,_shadersPolylineShadowVolumeMorphVS,_shadersPolylineShadowVolumeVS,_shadersPolylineVS,_shadersPrimitiveOutlineStageFS,_shadersPrimitiveOutlineStageVS,_shadersRGBToHSB,_shadersRGBToHSL,_shadersRGBToXYZ,_shadersReinhardTonemapping,_shadersReprojectWebMercatorFS,_shadersReprojectWebMercatorVS,_shadersRimLightingMaterial,_shadersSelectedFeatureIdStageCommon,_shadersShadowVolumeAppearanceFS,_shadersShadowVolumeAppearanceVS,_shadersShadowVolumeFS,_shadersSilhouette,_shadersSkinningStageVS,_shadersSkyAtmosphereCommon,_shadersSkyAtmosphereFS,_shadersSkyAtmosphereVS,_shadersSkyBoxFS,_shadersSkyBoxVS,_shadersSlopeRampMaterial,_shadersStripeMaterial,_shadersSunFS,_shadersSunTextureFS,_shadersSunVS,_shadersTexturedMaterialAppearanceFS,_shadersTexturedMaterialAppearanceVS,_shadersVector3DTileClampedPolylinesFS,_shadersVector3DTileClampedPolylinesVS,_shadersVector3DTilePolylinesVS,_shadersVectorTileVS,_shadersViewportQuadFS,_shadersViewportQuadVS,_shadersWater,_shadersXYZToRGB,_shadersacesTonemapping,_shadersalphaWeight,_shadersantialias,_shadersapproximateSphericalCoordinates,_shadersbackFacing,_shadersbranchFreeTernary,_shaderscascadeColor,_shaderscascadeDistance,_shaderscascadeMatrix,_shaderscascadeWeights,_shaderscolumbusViewMorph,_shaderscomputePosition,_shaderscosineAndSine,_shadersdecompressTextureCoordinates,_shadersdefaultPbrMaterial,_shadersdegreesPerRadian,_shadersdepthClamp,_shadersdepthRange,_shadersdepthRangeStruct,_shaderseastNorthUpToEyeCoordinates,_shadersellipsoidContainsPoint,_shadersellipsoidWgs84TextureCoordinates,_shadersepsilon1,_shadersepsilon2,_shadersepsilon3,_shadersepsilon4,_shadersepsilon5,_shadersepsilon6,_shadersepsilon7,_shadersequalsEpsilon,_shaderseyeOffset,_shaderseyeToWindowCoordinates,_shadersfastApproximateAtan,_shadersfog,_shadersgammaCorrect,_shadersgeodeticSurfaceNormal,_shadersgetDefaultMaterial,_shadersgetLambertDiffuse,_shadersgetSpecular,_shadersgetWaterNoise,_shadershue,_shadersinfinity,_shadersinverseGamma,_shadersisEmpty,_shadersisFull,_shaderslatitudeToWebMercatorFraction,_shaderslineDistance,_shaderslinearToSrgb,_shadersluminance,_shadersmaterial,_shadersmaterialInput,_shadersmetersPerPixel,_shadersmodelMaterial,_shadersmodelToWindowCoordinates,_shadersmodelVertexOutput,_shadersmultiplyWithColorBalance,_shadersnearFarScalar,_shadersoctDecode,_shadersoneOverPi,_shadersoneOverTwoPi,_shaderspackDepth,_shaderspassCesium3DTile,_shaderspassCesium3DTileClassification,_shaderspassCesium3DTileClassificationIgnoreShow,_shaderspassClassification,_shaderspassCompute,_shaderspassEnvironment,_shaderspassGlobe,_shaderspassOpaque,_shaderspassOverlay,_shaderspassTerrainClassification,_shaderspassTranslucent,_shaderspbrLighting,_shaderspbrMetallicRoughnessMaterial,_shaderspbrParameters,_shaderspbrSpecularGlossinessMaterial,_shadersphong,_shaderspi,_shaderspiOverFour,_shaderspiOverSix,_shaderspiOverThree,_shaderspiOverTwo,_shadersplaneDistance,_shaderspointAlongRay,_shadersradiansPerDegree,_shadersray,_shadersrayEllipsoidIntersectionInterval,_shadersraySegment,_shadersraySphereIntersectionInterval,_shadersreadDepth,_shadersreadNonPerspective,_shadersreverseLogDepth,_shadersround,_shaderssampleOctahedralProjection,_shaderssaturation,_shaderssceneMode2D,_shaderssceneMode3D,_shaderssceneModeColumbusView,_shaderssceneModeMorphing,_shadersshadowDepthCompare,_shadersshadowParameters,_shadersshadowVisibility,_shaderssignNotZero,_shaderssolarRadius,_shaderssphericalHarmonics,_shaderssrgbToLinear,_shaderstangentToEyeSpaceMatrix,_shadersthreePiOver2,_shaderstransformPlane,_shaderstranslateRelativeToEye,_shaderstranslucentPhong,_shaderstranspose,_shaderstwoPi,_shadersunpackDepth,_shadersunpackFloat,_shadersunpackUint,_shadersvalueTransform,_shadersvertexLogDepth,_shaderswebMercatorMaxLatitude,_shaderswindowToEyeCoordinates,_shaderswriteDepthClamp,_shaderswriteLogDepth,_shaderswriteNonPerspective,addBuffer,addDefaults,addExtensionsRequired,addExtensionsUsed,addPipelineExtras,addToArray,appendForwardSlash,arrayRemoveDuplicates,barycentricCoordinates,binarySearch,buildDrawCommand,buildModuleUrl,cancelAnimationFrame,clone,combine,computeFlyToLocationForRectangle,createBillboardPointCallback,createCommand,createDefaultImageryProviderViewModels,createDefaultTerrainProviderViewModels,createElevationBandMaterial,createGuid,createMaterialPropertyDescriptor,createOsmBuildings,createPropertyDescriptor,createRawPropertyDescriptor,createTangentSpaceDebugPrimitive,createTaskProcessorWorker,createUniform,createUniformArray,createWorldImagery,createWorldTerrain,decodeGoogleEarthEnterpriseData,decodeVectorPolylinePositions,defaultValue,defer,defined,deprecationWarning,destroyObject,exportKml,findAccessorMinMax,findContentMetadata,findGroupMetadata,findTileMetadata,forEachTextureInMaterial,formatError,freezeRenderState,getAbsoluteUri,getAccessorByteStride,getBaseUri,getBinaryAccessor,getClipAndStyleCode,getClippingFunction,getComponentReader,getElement,getExtensionFromUri,getFilenameFromUri,getImageFromTypedArray,getImagePixels,getJsonFromTypedArray,getMagic,getStringFromTypedArray,getTimestamp,hasExtension,heightReferenceOnEntityPropertyChanged,isBitSet,isBlobUri,isCrossOriginUrl,isDataUri,isLeapYear,knockout,knockout_3_5_1,knockout_es5,loadAndExecuteScript,loadCubeMap,loadImageFromTypedArray,loadKTX2,mergeSort,modernizeShader,moveTechniqueRenderStates,moveTechniquesToExtension,numberOfComponentsForType,objectToQuery,oneTimeWarning,parseBatchTable,parseBoundingVolumeSemantics,parseFeatureMetadataLegacy,parseGlb,parseResponseHeaders,parseStructuralMetadata,pointInsideTriangle,preprocess3DTileContent,queryToObject,readAccessorPacked,removeExtension,removeExtensionsRequired,removeExtensionsUsed,removePipelineExtras,removeUnusedElements,requestAnimationFrame,resizeImageToNextPowerOfTwo,sampleTerrain,sampleTerrainMostDetailed,scaleToGeodeticSurface,subdivideArray,subscribeAndEvaluate,updateAccessorComponentTypes,updateVersion,usesExtension,viewerCesium3DTilesInspectorMixin,viewerCesiumInspectorMixin,viewerDragDropMixin,viewerPerformanceWatchdogMixin,webGLConstantToGlslType,wrapFunction,writeTextToCanvas});