page-script.js 445 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574
  1. /******/ (() => { // webpackBootstrap
  2. /******/ var __webpack_modules__ = ({
  3. /***/ 3737:
  4. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  5. "use strict";
  6. var GetIntrinsic = __webpack_require__(55050);
  7. var callBind = __webpack_require__(68375);
  8. var $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));
  9. module.exports = function callBoundIntrinsic(name, allowMissing) {
  10. var intrinsic = GetIntrinsic(name, !!allowMissing);
  11. if (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {
  12. return callBind(intrinsic);
  13. }
  14. return intrinsic;
  15. };
  16. /***/ }),
  17. /***/ 68375:
  18. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  19. "use strict";
  20. var bind = __webpack_require__(36046);
  21. var GetIntrinsic = __webpack_require__(55050);
  22. var setFunctionLength = __webpack_require__(23954);
  23. var $TypeError = GetIntrinsic('%TypeError%');
  24. var $apply = GetIntrinsic('%Function.prototype.apply%');
  25. var $call = GetIntrinsic('%Function.prototype.call%');
  26. var $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);
  27. var $defineProperty = GetIntrinsic('%Object.defineProperty%', true);
  28. var $max = GetIntrinsic('%Math.max%');
  29. if ($defineProperty) {
  30. try {
  31. $defineProperty({}, 'a', {
  32. value: 1
  33. });
  34. } catch (e) {
  35. // IE 8 has a broken defineProperty
  36. $defineProperty = null;
  37. }
  38. }
  39. module.exports = function callBind(originalFunction) {
  40. if (typeof originalFunction !== 'function') {
  41. throw new $TypeError('a function is required');
  42. }
  43. var func = $reflectApply(bind, $call, arguments);
  44. return setFunctionLength(func, 1 + $max(0, originalFunction.length - (arguments.length - 1)), true);
  45. };
  46. var applyBind = function applyBind() {
  47. return $reflectApply(bind, $apply, arguments);
  48. };
  49. if ($defineProperty) {
  50. $defineProperty(module.exports, 'apply', {
  51. value: applyBind
  52. });
  53. } else {
  54. module.exports.apply = applyBind;
  55. }
  56. /***/ }),
  57. /***/ 91037:
  58. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  59. "use strict";
  60. var hasPropertyDescriptors = __webpack_require__(96757)();
  61. var GetIntrinsic = __webpack_require__(55050);
  62. var $defineProperty = hasPropertyDescriptors && GetIntrinsic('%Object.defineProperty%', true);
  63. if ($defineProperty) {
  64. try {
  65. $defineProperty({}, 'a', {
  66. value: 1
  67. });
  68. } catch (e) {
  69. // IE 8 has a broken defineProperty
  70. $defineProperty = false;
  71. }
  72. }
  73. var $SyntaxError = GetIntrinsic('%SyntaxError%');
  74. var $TypeError = GetIntrinsic('%TypeError%');
  75. var gopd = __webpack_require__(12319);
  76. /** @type {(obj: Record<PropertyKey, unknown>, property: PropertyKey, value: unknown, nonEnumerable?: boolean | null, nonWritable?: boolean | null, nonConfigurable?: boolean | null, loose?: boolean) => void} */
  77. module.exports = function defineDataProperty(obj, property, value) {
  78. if (!obj || typeof obj !== 'object' && typeof obj !== 'function') {
  79. throw new $TypeError('`obj` must be an object or a function`');
  80. }
  81. if (typeof property !== 'string' && typeof property !== 'symbol') {
  82. throw new $TypeError('`property` must be a string or a symbol`');
  83. }
  84. if (arguments.length > 3 && typeof arguments[3] !== 'boolean' && arguments[3] !== null) {
  85. throw new $TypeError('`nonEnumerable`, if provided, must be a boolean or null');
  86. }
  87. if (arguments.length > 4 && typeof arguments[4] !== 'boolean' && arguments[4] !== null) {
  88. throw new $TypeError('`nonWritable`, if provided, must be a boolean or null');
  89. }
  90. if (arguments.length > 5 && typeof arguments[5] !== 'boolean' && arguments[5] !== null) {
  91. throw new $TypeError('`nonConfigurable`, if provided, must be a boolean or null');
  92. }
  93. if (arguments.length > 6 && typeof arguments[6] !== 'boolean') {
  94. throw new $TypeError('`loose`, if provided, must be a boolean');
  95. }
  96. var nonEnumerable = arguments.length > 3 ? arguments[3] : null;
  97. var nonWritable = arguments.length > 4 ? arguments[4] : null;
  98. var nonConfigurable = arguments.length > 5 ? arguments[5] : null;
  99. var loose = arguments.length > 6 ? arguments[6] : false;
  100. /* @type {false | TypedPropertyDescriptor<unknown>} */
  101. var desc = !!gopd && gopd(obj, property);
  102. if ($defineProperty) {
  103. $defineProperty(obj, property, {
  104. configurable: nonConfigurable === null && desc ? desc.configurable : !nonConfigurable,
  105. enumerable: nonEnumerable === null && desc ? desc.enumerable : !nonEnumerable,
  106. value: value,
  107. writable: nonWritable === null && desc ? desc.writable : !nonWritable
  108. });
  109. } else if (loose || !nonEnumerable && !nonWritable && !nonConfigurable) {
  110. // must fall back to [[Set]], and was not explicitly asked to make non-enumerable, non-writable, or non-configurable
  111. obj[property] = value; // eslint-disable-line no-param-reassign
  112. } else {
  113. throw new $SyntaxError('This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.');
  114. }
  115. };
  116. /***/ }),
  117. /***/ 51820:
  118. /***/ ((module) => {
  119. "use strict";
  120. /* eslint no-invalid-this: 1 */
  121. var ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';
  122. var toStr = Object.prototype.toString;
  123. var max = Math.max;
  124. var funcType = '[object Function]';
  125. var concatty = function concatty(a, b) {
  126. var arr = [];
  127. for (var i = 0; i < a.length; i += 1) {
  128. arr[i] = a[i];
  129. }
  130. for (var j = 0; j < b.length; j += 1) {
  131. arr[j + a.length] = b[j];
  132. }
  133. return arr;
  134. };
  135. var slicy = function slicy(arrLike, offset) {
  136. var arr = [];
  137. for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {
  138. arr[j] = arrLike[i];
  139. }
  140. return arr;
  141. };
  142. var joiny = function (arr, joiner) {
  143. var str = '';
  144. for (var i = 0; i < arr.length; i += 1) {
  145. str += arr[i];
  146. if (i + 1 < arr.length) {
  147. str += joiner;
  148. }
  149. }
  150. return str;
  151. };
  152. module.exports = function bind(that) {
  153. var target = this;
  154. if (typeof target !== 'function' || toStr.apply(target) !== funcType) {
  155. throw new TypeError(ERROR_MESSAGE + target);
  156. }
  157. var args = slicy(arguments, 1);
  158. var bound;
  159. var binder = function () {
  160. if (this instanceof bound) {
  161. var result = target.apply(this, concatty(args, arguments));
  162. if (Object(result) === result) {
  163. return result;
  164. }
  165. return this;
  166. }
  167. return target.apply(that, concatty(args, arguments));
  168. };
  169. var boundLength = max(0, target.length - args.length);
  170. var boundArgs = [];
  171. for (var i = 0; i < boundLength; i++) {
  172. boundArgs[i] = '$' + i;
  173. }
  174. bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);
  175. if (target.prototype) {
  176. var Empty = function Empty() {};
  177. Empty.prototype = target.prototype;
  178. bound.prototype = new Empty();
  179. Empty.prototype = null;
  180. }
  181. return bound;
  182. };
  183. /***/ }),
  184. /***/ 36046:
  185. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  186. "use strict";
  187. var implementation = __webpack_require__(51820);
  188. module.exports = Function.prototype.bind || implementation;
  189. /***/ }),
  190. /***/ 55050:
  191. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  192. "use strict";
  193. var undefined;
  194. var $SyntaxError = SyntaxError;
  195. var $Function = Function;
  196. var $TypeError = TypeError;
  197. // eslint-disable-next-line consistent-return
  198. var getEvalledConstructor = function (expressionSyntax) {
  199. try {
  200. return $Function('"use strict"; return (' + expressionSyntax + ').constructor;')();
  201. } catch (e) {}
  202. };
  203. var $gOPD = Object.getOwnPropertyDescriptor;
  204. if ($gOPD) {
  205. try {
  206. $gOPD({}, '');
  207. } catch (e) {
  208. $gOPD = null; // this is IE 8, which has a broken gOPD
  209. }
  210. }
  211. var throwTypeError = function () {
  212. throw new $TypeError();
  213. };
  214. var ThrowTypeError = $gOPD ? function () {
  215. try {
  216. // eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties
  217. arguments.callee; // IE 8 does not throw here
  218. return throwTypeError;
  219. } catch (calleeThrows) {
  220. try {
  221. // IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')
  222. return $gOPD(arguments, 'callee').get;
  223. } catch (gOPDthrows) {
  224. return throwTypeError;
  225. }
  226. }
  227. }() : throwTypeError;
  228. var hasSymbols = __webpack_require__(8269)();
  229. var hasProto = __webpack_require__(1886)();
  230. var getProto = Object.getPrototypeOf || (hasProto ? function (x) {
  231. return x.__proto__;
  232. } // eslint-disable-line no-proto
  233. : null);
  234. var needsEval = {};
  235. var TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);
  236. var INTRINSICS = {
  237. '%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,
  238. '%Array%': Array,
  239. '%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,
  240. '%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,
  241. '%AsyncFromSyncIteratorPrototype%': undefined,
  242. '%AsyncFunction%': needsEval,
  243. '%AsyncGenerator%': needsEval,
  244. '%AsyncGeneratorFunction%': needsEval,
  245. '%AsyncIteratorPrototype%': needsEval,
  246. '%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,
  247. '%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,
  248. '%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,
  249. '%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,
  250. '%Boolean%': Boolean,
  251. '%DataView%': typeof DataView === 'undefined' ? undefined : DataView,
  252. '%Date%': Date,
  253. '%decodeURI%': decodeURI,
  254. '%decodeURIComponent%': decodeURIComponent,
  255. '%encodeURI%': encodeURI,
  256. '%encodeURIComponent%': encodeURIComponent,
  257. '%Error%': Error,
  258. '%eval%': eval,
  259. // eslint-disable-line no-eval
  260. '%EvalError%': EvalError,
  261. '%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,
  262. '%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,
  263. '%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,
  264. '%Function%': $Function,
  265. '%GeneratorFunction%': needsEval,
  266. '%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,
  267. '%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,
  268. '%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,
  269. '%isFinite%': isFinite,
  270. '%isNaN%': isNaN,
  271. '%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,
  272. '%JSON%': typeof JSON === 'object' ? JSON : undefined,
  273. '%Map%': typeof Map === 'undefined' ? undefined : Map,
  274. '%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),
  275. '%Math%': Math,
  276. '%Number%': Number,
  277. '%Object%': Object,
  278. '%parseFloat%': parseFloat,
  279. '%parseInt%': parseInt,
  280. '%Promise%': typeof Promise === 'undefined' ? undefined : Promise,
  281. '%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,
  282. '%RangeError%': RangeError,
  283. '%ReferenceError%': ReferenceError,
  284. '%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,
  285. '%RegExp%': RegExp,
  286. '%Set%': typeof Set === 'undefined' ? undefined : Set,
  287. '%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),
  288. '%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,
  289. '%String%': String,
  290. '%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,
  291. '%Symbol%': hasSymbols ? Symbol : undefined,
  292. '%SyntaxError%': $SyntaxError,
  293. '%ThrowTypeError%': ThrowTypeError,
  294. '%TypedArray%': TypedArray,
  295. '%TypeError%': $TypeError,
  296. '%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,
  297. '%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,
  298. '%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,
  299. '%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,
  300. '%URIError%': URIError,
  301. '%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,
  302. '%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,
  303. '%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet
  304. };
  305. if (getProto) {
  306. try {
  307. null.error; // eslint-disable-line no-unused-expressions
  308. } catch (e) {
  309. // https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229
  310. var errorProto = getProto(getProto(e));
  311. INTRINSICS['%Error.prototype%'] = errorProto;
  312. }
  313. }
  314. var doEval = function doEval(name) {
  315. var value;
  316. if (name === '%AsyncFunction%') {
  317. value = getEvalledConstructor('async function () {}');
  318. } else if (name === '%GeneratorFunction%') {
  319. value = getEvalledConstructor('function* () {}');
  320. } else if (name === '%AsyncGeneratorFunction%') {
  321. value = getEvalledConstructor('async function* () {}');
  322. } else if (name === '%AsyncGenerator%') {
  323. var fn = doEval('%AsyncGeneratorFunction%');
  324. if (fn) {
  325. value = fn.prototype;
  326. }
  327. } else if (name === '%AsyncIteratorPrototype%') {
  328. var gen = doEval('%AsyncGenerator%');
  329. if (gen && getProto) {
  330. value = getProto(gen.prototype);
  331. }
  332. }
  333. INTRINSICS[name] = value;
  334. return value;
  335. };
  336. var LEGACY_ALIASES = {
  337. '%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],
  338. '%ArrayPrototype%': ['Array', 'prototype'],
  339. '%ArrayProto_entries%': ['Array', 'prototype', 'entries'],
  340. '%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],
  341. '%ArrayProto_keys%': ['Array', 'prototype', 'keys'],
  342. '%ArrayProto_values%': ['Array', 'prototype', 'values'],
  343. '%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],
  344. '%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],
  345. '%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],
  346. '%BooleanPrototype%': ['Boolean', 'prototype'],
  347. '%DataViewPrototype%': ['DataView', 'prototype'],
  348. '%DatePrototype%': ['Date', 'prototype'],
  349. '%ErrorPrototype%': ['Error', 'prototype'],
  350. '%EvalErrorPrototype%': ['EvalError', 'prototype'],
  351. '%Float32ArrayPrototype%': ['Float32Array', 'prototype'],
  352. '%Float64ArrayPrototype%': ['Float64Array', 'prototype'],
  353. '%FunctionPrototype%': ['Function', 'prototype'],
  354. '%Generator%': ['GeneratorFunction', 'prototype'],
  355. '%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],
  356. '%Int8ArrayPrototype%': ['Int8Array', 'prototype'],
  357. '%Int16ArrayPrototype%': ['Int16Array', 'prototype'],
  358. '%Int32ArrayPrototype%': ['Int32Array', 'prototype'],
  359. '%JSONParse%': ['JSON', 'parse'],
  360. '%JSONStringify%': ['JSON', 'stringify'],
  361. '%MapPrototype%': ['Map', 'prototype'],
  362. '%NumberPrototype%': ['Number', 'prototype'],
  363. '%ObjectPrototype%': ['Object', 'prototype'],
  364. '%ObjProto_toString%': ['Object', 'prototype', 'toString'],
  365. '%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],
  366. '%PromisePrototype%': ['Promise', 'prototype'],
  367. '%PromiseProto_then%': ['Promise', 'prototype', 'then'],
  368. '%Promise_all%': ['Promise', 'all'],
  369. '%Promise_reject%': ['Promise', 'reject'],
  370. '%Promise_resolve%': ['Promise', 'resolve'],
  371. '%RangeErrorPrototype%': ['RangeError', 'prototype'],
  372. '%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],
  373. '%RegExpPrototype%': ['RegExp', 'prototype'],
  374. '%SetPrototype%': ['Set', 'prototype'],
  375. '%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],
  376. '%StringPrototype%': ['String', 'prototype'],
  377. '%SymbolPrototype%': ['Symbol', 'prototype'],
  378. '%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],
  379. '%TypedArrayPrototype%': ['TypedArray', 'prototype'],
  380. '%TypeErrorPrototype%': ['TypeError', 'prototype'],
  381. '%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],
  382. '%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],
  383. '%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],
  384. '%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],
  385. '%URIErrorPrototype%': ['URIError', 'prototype'],
  386. '%WeakMapPrototype%': ['WeakMap', 'prototype'],
  387. '%WeakSetPrototype%': ['WeakSet', 'prototype']
  388. };
  389. var bind = __webpack_require__(36046);
  390. var hasOwn = __webpack_require__(1261);
  391. var $concat = bind.call(Function.call, Array.prototype.concat);
  392. var $spliceApply = bind.call(Function.apply, Array.prototype.splice);
  393. var $replace = bind.call(Function.call, String.prototype.replace);
  394. var $strSlice = bind.call(Function.call, String.prototype.slice);
  395. var $exec = bind.call(Function.call, RegExp.prototype.exec);
  396. /* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */
  397. var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g;
  398. var reEscapeChar = /\\(\\)?/g; /** Used to match backslashes in property paths. */
  399. var stringToPath = function stringToPath(string) {
  400. var first = $strSlice(string, 0, 1);
  401. var last = $strSlice(string, -1);
  402. if (first === '%' && last !== '%') {
  403. throw new $SyntaxError('invalid intrinsic syntax, expected closing `%`');
  404. } else if (last === '%' && first !== '%') {
  405. throw new $SyntaxError('invalid intrinsic syntax, expected opening `%`');
  406. }
  407. var result = [];
  408. $replace(string, rePropName, function (match, number, quote, subString) {
  409. result[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;
  410. });
  411. return result;
  412. };
  413. /* end adaptation */
  414. var getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {
  415. var intrinsicName = name;
  416. var alias;
  417. if (hasOwn(LEGACY_ALIASES, intrinsicName)) {
  418. alias = LEGACY_ALIASES[intrinsicName];
  419. intrinsicName = '%' + alias[0] + '%';
  420. }
  421. if (hasOwn(INTRINSICS, intrinsicName)) {
  422. var value = INTRINSICS[intrinsicName];
  423. if (value === needsEval) {
  424. value = doEval(intrinsicName);
  425. }
  426. if (typeof value === 'undefined' && !allowMissing) {
  427. throw new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');
  428. }
  429. return {
  430. alias: alias,
  431. name: intrinsicName,
  432. value: value
  433. };
  434. }
  435. throw new $SyntaxError('intrinsic ' + name + ' does not exist!');
  436. };
  437. module.exports = function GetIntrinsic(name, allowMissing) {
  438. if (typeof name !== 'string' || name.length === 0) {
  439. throw new $TypeError('intrinsic name must be a non-empty string');
  440. }
  441. if (arguments.length > 1 && typeof allowMissing !== 'boolean') {
  442. throw new $TypeError('"allowMissing" argument must be a boolean');
  443. }
  444. if ($exec(/^%?[^%]*%?$/, name) === null) {
  445. throw new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');
  446. }
  447. var parts = stringToPath(name);
  448. var intrinsicBaseName = parts.length > 0 ? parts[0] : '';
  449. var intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);
  450. var intrinsicRealName = intrinsic.name;
  451. var value = intrinsic.value;
  452. var skipFurtherCaching = false;
  453. var alias = intrinsic.alias;
  454. if (alias) {
  455. intrinsicBaseName = alias[0];
  456. $spliceApply(parts, $concat([0, 1], alias));
  457. }
  458. for (var i = 1, isOwn = true; i < parts.length; i += 1) {
  459. var part = parts[i];
  460. var first = $strSlice(part, 0, 1);
  461. var last = $strSlice(part, -1);
  462. if ((first === '"' || first === "'" || first === '`' || last === '"' || last === "'" || last === '`') && first !== last) {
  463. throw new $SyntaxError('property names with quotes must have matching quotes');
  464. }
  465. if (part === 'constructor' || !isOwn) {
  466. skipFurtherCaching = true;
  467. }
  468. intrinsicBaseName += '.' + part;
  469. intrinsicRealName = '%' + intrinsicBaseName + '%';
  470. if (hasOwn(INTRINSICS, intrinsicRealName)) {
  471. value = INTRINSICS[intrinsicRealName];
  472. } else if (value != null) {
  473. if (!(part in value)) {
  474. if (!allowMissing) {
  475. throw new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');
  476. }
  477. return void undefined;
  478. }
  479. if ($gOPD && i + 1 >= parts.length) {
  480. var desc = $gOPD(value, part);
  481. isOwn = !!desc;
  482. // By convention, when a data property is converted to an accessor
  483. // property to emulate a data property that does not suffer from
  484. // the override mistake, that accessor's getter is marked with
  485. // an `originalValue` property. Here, when we detect this, we
  486. // uphold the illusion by pretending to see that original data
  487. // property, i.e., returning the value rather than the getter
  488. // itself.
  489. if (isOwn && 'get' in desc && !('originalValue' in desc.get)) {
  490. value = desc.get;
  491. } else {
  492. value = value[part];
  493. }
  494. } else {
  495. isOwn = hasOwn(value, part);
  496. value = value[part];
  497. }
  498. if (isOwn && !skipFurtherCaching) {
  499. INTRINSICS[intrinsicRealName] = value;
  500. }
  501. }
  502. }
  503. return value;
  504. };
  505. /***/ }),
  506. /***/ 12319:
  507. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  508. "use strict";
  509. var GetIntrinsic = __webpack_require__(55050);
  510. var $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);
  511. if ($gOPD) {
  512. try {
  513. $gOPD([], 'length');
  514. } catch (e) {
  515. // IE 8 has a broken gOPD
  516. $gOPD = null;
  517. }
  518. }
  519. module.exports = $gOPD;
  520. /***/ }),
  521. /***/ 96757:
  522. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  523. "use strict";
  524. var GetIntrinsic = __webpack_require__(55050);
  525. var $defineProperty = GetIntrinsic('%Object.defineProperty%', true);
  526. var hasPropertyDescriptors = function hasPropertyDescriptors() {
  527. if ($defineProperty) {
  528. try {
  529. $defineProperty({}, 'a', {
  530. value: 1
  531. });
  532. return true;
  533. } catch (e) {
  534. // IE 8 has a broken defineProperty
  535. return false;
  536. }
  537. }
  538. return false;
  539. };
  540. hasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {
  541. // node v0.6 has a bug where array lengths can be Set but not Defined
  542. if (!hasPropertyDescriptors()) {
  543. return null;
  544. }
  545. try {
  546. return $defineProperty([], 'length', {
  547. value: 1
  548. }).length !== 1;
  549. } catch (e) {
  550. // In Firefox 4-22, defining length on an array throws an exception.
  551. return true;
  552. }
  553. };
  554. module.exports = hasPropertyDescriptors;
  555. /***/ }),
  556. /***/ 1886:
  557. /***/ ((module) => {
  558. "use strict";
  559. var test = {
  560. foo: {}
  561. };
  562. var $Object = Object;
  563. module.exports = function hasProto() {
  564. return {
  565. __proto__: test
  566. }.foo === test.foo && !({
  567. __proto__: null
  568. } instanceof $Object);
  569. };
  570. /***/ }),
  571. /***/ 8269:
  572. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  573. "use strict";
  574. var origSymbol = typeof Symbol !== 'undefined' && Symbol;
  575. var hasSymbolSham = __webpack_require__(88928);
  576. module.exports = function hasNativeSymbols() {
  577. if (typeof origSymbol !== 'function') {
  578. return false;
  579. }
  580. if (typeof Symbol !== 'function') {
  581. return false;
  582. }
  583. if (typeof origSymbol('foo') !== 'symbol') {
  584. return false;
  585. }
  586. if (typeof Symbol('bar') !== 'symbol') {
  587. return false;
  588. }
  589. return hasSymbolSham();
  590. };
  591. /***/ }),
  592. /***/ 88928:
  593. /***/ ((module) => {
  594. "use strict";
  595. /* eslint complexity: [2, 18], max-statements: [2, 33] */
  596. module.exports = function hasSymbols() {
  597. if (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') {
  598. return false;
  599. }
  600. if (typeof Symbol.iterator === 'symbol') {
  601. return true;
  602. }
  603. var obj = {};
  604. var sym = Symbol('test');
  605. var symObj = Object(sym);
  606. if (typeof sym === 'string') {
  607. return false;
  608. }
  609. if (Object.prototype.toString.call(sym) !== '[object Symbol]') {
  610. return false;
  611. }
  612. if (Object.prototype.toString.call(symObj) !== '[object Symbol]') {
  613. return false;
  614. }
  615. // temp disabled per https://github.com/ljharb/object.assign/issues/17
  616. // if (sym instanceof Symbol) { return false; }
  617. // temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4
  618. // if (!(symObj instanceof Symbol)) { return false; }
  619. // if (typeof Symbol.prototype.toString !== 'function') { return false; }
  620. // if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }
  621. var symVal = 42;
  622. obj[sym] = symVal;
  623. for (sym in obj) {
  624. return false;
  625. } // eslint-disable-line no-restricted-syntax, no-unreachable-loop
  626. if (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) {
  627. return false;
  628. }
  629. if (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) {
  630. return false;
  631. }
  632. var syms = Object.getOwnPropertySymbols(obj);
  633. if (syms.length !== 1 || syms[0] !== sym) {
  634. return false;
  635. }
  636. if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) {
  637. return false;
  638. }
  639. if (typeof Object.getOwnPropertyDescriptor === 'function') {
  640. var descriptor = Object.getOwnPropertyDescriptor(obj, sym);
  641. if (descriptor.value !== symVal || descriptor.enumerable !== true) {
  642. return false;
  643. }
  644. }
  645. return true;
  646. };
  647. /***/ }),
  648. /***/ 1261:
  649. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  650. "use strict";
  651. var call = Function.prototype.call;
  652. var $hasOwn = Object.prototype.hasOwnProperty;
  653. var bind = __webpack_require__(36046);
  654. /** @type {(o: {}, p: PropertyKey) => p is keyof o} */
  655. module.exports = bind.call(call, $hasOwn);
  656. /***/ }),
  657. /***/ 87676:
  658. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  659. var hasMap = typeof Map === 'function' && Map.prototype;
  660. var mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, 'size') : null;
  661. var mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === 'function' ? mapSizeDescriptor.get : null;
  662. var mapForEach = hasMap && Map.prototype.forEach;
  663. var hasSet = typeof Set === 'function' && Set.prototype;
  664. var setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, 'size') : null;
  665. var setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === 'function' ? setSizeDescriptor.get : null;
  666. var setForEach = hasSet && Set.prototype.forEach;
  667. var hasWeakMap = typeof WeakMap === 'function' && WeakMap.prototype;
  668. var weakMapHas = hasWeakMap ? WeakMap.prototype.has : null;
  669. var hasWeakSet = typeof WeakSet === 'function' && WeakSet.prototype;
  670. var weakSetHas = hasWeakSet ? WeakSet.prototype.has : null;
  671. var hasWeakRef = typeof WeakRef === 'function' && WeakRef.prototype;
  672. var weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null;
  673. var booleanValueOf = Boolean.prototype.valueOf;
  674. var objectToString = Object.prototype.toString;
  675. var functionToString = Function.prototype.toString;
  676. var $match = String.prototype.match;
  677. var $slice = String.prototype.slice;
  678. var $replace = String.prototype.replace;
  679. var $toUpperCase = String.prototype.toUpperCase;
  680. var $toLowerCase = String.prototype.toLowerCase;
  681. var $test = RegExp.prototype.test;
  682. var $concat = Array.prototype.concat;
  683. var $join = Array.prototype.join;
  684. var $arrSlice = Array.prototype.slice;
  685. var $floor = Math.floor;
  686. var bigIntValueOf = typeof BigInt === 'function' ? BigInt.prototype.valueOf : null;
  687. var gOPS = Object.getOwnPropertySymbols;
  688. var symToString = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol.prototype.toString : null;
  689. var hasShammedSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'object';
  690. // ie, `has-tostringtag/shams
  691. var toStringTag = typeof Symbol === 'function' && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? 'object' : 'symbol') ? Symbol.toStringTag : null;
  692. var isEnumerable = Object.prototype.propertyIsEnumerable;
  693. var gPO = (typeof Reflect === 'function' ? Reflect.getPrototypeOf : Object.getPrototypeOf) || ([].__proto__ === Array.prototype // eslint-disable-line no-proto
  694. ? function (O) {
  695. return O.__proto__; // eslint-disable-line no-proto
  696. } : null);
  697. function addNumericSeparator(num, str) {
  698. if (num === Infinity || num === -Infinity || num !== num || num && num > -1000 && num < 1000 || $test.call(/e/, str)) {
  699. return str;
  700. }
  701. var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;
  702. if (typeof num === 'number') {
  703. var int = num < 0 ? -$floor(-num) : $floor(num); // trunc(num)
  704. if (int !== num) {
  705. var intStr = String(int);
  706. var dec = $slice.call(str, intStr.length + 1);
  707. return $replace.call(intStr, sepRegex, '$&_') + '.' + $replace.call($replace.call(dec, /([0-9]{3})/g, '$&_'), /_$/, '');
  708. }
  709. }
  710. return $replace.call(str, sepRegex, '$&_');
  711. }
  712. var utilInspect = __webpack_require__(53260);
  713. var inspectCustom = utilInspect.custom;
  714. var inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null;
  715. module.exports = function inspect_(obj, options, depth, seen) {
  716. var opts = options || {};
  717. if (has(opts, 'quoteStyle') && opts.quoteStyle !== 'single' && opts.quoteStyle !== 'double') {
  718. throw new TypeError('option "quoteStyle" must be "single" or "double"');
  719. }
  720. if (has(opts, 'maxStringLength') && (typeof opts.maxStringLength === 'number' ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity : opts.maxStringLength !== null)) {
  721. throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');
  722. }
  723. var customInspect = has(opts, 'customInspect') ? opts.customInspect : true;
  724. if (typeof customInspect !== 'boolean' && customInspect !== 'symbol') {
  725. throw new TypeError('option "customInspect", if provided, must be `true`, `false`, or `\'symbol\'`');
  726. }
  727. if (has(opts, 'indent') && opts.indent !== null && opts.indent !== '\t' && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)) {
  728. throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');
  729. }
  730. if (has(opts, 'numericSeparator') && typeof opts.numericSeparator !== 'boolean') {
  731. throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');
  732. }
  733. var numericSeparator = opts.numericSeparator;
  734. if (typeof obj === 'undefined') {
  735. return 'undefined';
  736. }
  737. if (obj === null) {
  738. return 'null';
  739. }
  740. if (typeof obj === 'boolean') {
  741. return obj ? 'true' : 'false';
  742. }
  743. if (typeof obj === 'string') {
  744. return inspectString(obj, opts);
  745. }
  746. if (typeof obj === 'number') {
  747. if (obj === 0) {
  748. return Infinity / obj > 0 ? '0' : '-0';
  749. }
  750. var str = String(obj);
  751. return numericSeparator ? addNumericSeparator(obj, str) : str;
  752. }
  753. if (typeof obj === 'bigint') {
  754. var bigIntStr = String(obj) + 'n';
  755. return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr;
  756. }
  757. var maxDepth = typeof opts.depth === 'undefined' ? 5 : opts.depth;
  758. if (typeof depth === 'undefined') {
  759. depth = 0;
  760. }
  761. if (depth >= maxDepth && maxDepth > 0 && typeof obj === 'object') {
  762. return isArray(obj) ? '[Array]' : '[Object]';
  763. }
  764. var indent = getIndent(opts, depth);
  765. if (typeof seen === 'undefined') {
  766. seen = [];
  767. } else if (indexOf(seen, obj) >= 0) {
  768. return '[Circular]';
  769. }
  770. function inspect(value, from, noIndent) {
  771. if (from) {
  772. seen = $arrSlice.call(seen);
  773. seen.push(from);
  774. }
  775. if (noIndent) {
  776. var newOpts = {
  777. depth: opts.depth
  778. };
  779. if (has(opts, 'quoteStyle')) {
  780. newOpts.quoteStyle = opts.quoteStyle;
  781. }
  782. return inspect_(value, newOpts, depth + 1, seen);
  783. }
  784. return inspect_(value, opts, depth + 1, seen);
  785. }
  786. if (typeof obj === 'function' && !isRegExp(obj)) {
  787. // in older engines, regexes are callable
  788. var name = nameOf(obj);
  789. var keys = arrObjKeys(obj, inspect);
  790. return '[Function' + (name ? ': ' + name : ' (anonymous)') + ']' + (keys.length > 0 ? ' { ' + $join.call(keys, ', ') + ' }' : '');
  791. }
  792. if (isSymbol(obj)) {
  793. var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\(.*\))_[^)]*$/, '$1') : symToString.call(obj);
  794. return typeof obj === 'object' && !hasShammedSymbols ? markBoxed(symString) : symString;
  795. }
  796. if (isElement(obj)) {
  797. var s = '<' + $toLowerCase.call(String(obj.nodeName));
  798. var attrs = obj.attributes || [];
  799. for (var i = 0; i < attrs.length; i++) {
  800. s += ' ' + attrs[i].name + '=' + wrapQuotes(quote(attrs[i].value), 'double', opts);
  801. }
  802. s += '>';
  803. if (obj.childNodes && obj.childNodes.length) {
  804. s += '...';
  805. }
  806. s += '</' + $toLowerCase.call(String(obj.nodeName)) + '>';
  807. return s;
  808. }
  809. if (isArray(obj)) {
  810. if (obj.length === 0) {
  811. return '[]';
  812. }
  813. var xs = arrObjKeys(obj, inspect);
  814. if (indent && !singleLineValues(xs)) {
  815. return '[' + indentedJoin(xs, indent) + ']';
  816. }
  817. return '[ ' + $join.call(xs, ', ') + ' ]';
  818. }
  819. if (isError(obj)) {
  820. var parts = arrObjKeys(obj, inspect);
  821. if (!('cause' in Error.prototype) && 'cause' in obj && !isEnumerable.call(obj, 'cause')) {
  822. return '{ [' + String(obj) + '] ' + $join.call($concat.call('[cause]: ' + inspect(obj.cause), parts), ', ') + ' }';
  823. }
  824. if (parts.length === 0) {
  825. return '[' + String(obj) + ']';
  826. }
  827. return '{ [' + String(obj) + '] ' + $join.call(parts, ', ') + ' }';
  828. }
  829. if (typeof obj === 'object' && customInspect) {
  830. if (inspectSymbol && typeof obj[inspectSymbol] === 'function' && utilInspect) {
  831. return utilInspect(obj, {
  832. depth: maxDepth - depth
  833. });
  834. } else if (customInspect !== 'symbol' && typeof obj.inspect === 'function') {
  835. return obj.inspect();
  836. }
  837. }
  838. if (isMap(obj)) {
  839. var mapParts = [];
  840. if (mapForEach) {
  841. mapForEach.call(obj, function (value, key) {
  842. mapParts.push(inspect(key, obj, true) + ' => ' + inspect(value, obj));
  843. });
  844. }
  845. return collectionOf('Map', mapSize.call(obj), mapParts, indent);
  846. }
  847. if (isSet(obj)) {
  848. var setParts = [];
  849. if (setForEach) {
  850. setForEach.call(obj, function (value) {
  851. setParts.push(inspect(value, obj));
  852. });
  853. }
  854. return collectionOf('Set', setSize.call(obj), setParts, indent);
  855. }
  856. if (isWeakMap(obj)) {
  857. return weakCollectionOf('WeakMap');
  858. }
  859. if (isWeakSet(obj)) {
  860. return weakCollectionOf('WeakSet');
  861. }
  862. if (isWeakRef(obj)) {
  863. return weakCollectionOf('WeakRef');
  864. }
  865. if (isNumber(obj)) {
  866. return markBoxed(inspect(Number(obj)));
  867. }
  868. if (isBigInt(obj)) {
  869. return markBoxed(inspect(bigIntValueOf.call(obj)));
  870. }
  871. if (isBoolean(obj)) {
  872. return markBoxed(booleanValueOf.call(obj));
  873. }
  874. if (isString(obj)) {
  875. return markBoxed(inspect(String(obj)));
  876. }
  877. // note: in IE 8, sometimes `global !== window` but both are the prototypes of each other
  878. /* eslint-env browser */
  879. if (typeof window !== 'undefined' && obj === window) {
  880. return '{ [object Window] }';
  881. }
  882. if (obj === __webpack_require__.g) {
  883. return '{ [object globalThis] }';
  884. }
  885. if (!isDate(obj) && !isRegExp(obj)) {
  886. var ys = arrObjKeys(obj, inspect);
  887. var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object;
  888. var protoTag = obj instanceof Object ? '' : 'null prototype';
  889. var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? 'Object' : '';
  890. var constructorTag = isPlainObject || typeof obj.constructor !== 'function' ? '' : obj.constructor.name ? obj.constructor.name + ' ' : '';
  891. var tag = constructorTag + (stringTag || protoTag ? '[' + $join.call($concat.call([], stringTag || [], protoTag || []), ': ') + '] ' : '');
  892. if (ys.length === 0) {
  893. return tag + '{}';
  894. }
  895. if (indent) {
  896. return tag + '{' + indentedJoin(ys, indent) + '}';
  897. }
  898. return tag + '{ ' + $join.call(ys, ', ') + ' }';
  899. }
  900. return String(obj);
  901. };
  902. function wrapQuotes(s, defaultStyle, opts) {
  903. var quoteChar = (opts.quoteStyle || defaultStyle) === 'double' ? '"' : "'";
  904. return quoteChar + s + quoteChar;
  905. }
  906. function quote(s) {
  907. return $replace.call(String(s), /"/g, '&quot;');
  908. }
  909. function isArray(obj) {
  910. return toStr(obj) === '[object Array]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj));
  911. }
  912. function isDate(obj) {
  913. return toStr(obj) === '[object Date]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj));
  914. }
  915. function isRegExp(obj) {
  916. return toStr(obj) === '[object RegExp]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj));
  917. }
  918. function isError(obj) {
  919. return toStr(obj) === '[object Error]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj));
  920. }
  921. function isString(obj) {
  922. return toStr(obj) === '[object String]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj));
  923. }
  924. function isNumber(obj) {
  925. return toStr(obj) === '[object Number]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj));
  926. }
  927. function isBoolean(obj) {
  928. return toStr(obj) === '[object Boolean]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj));
  929. }
  930. // Symbol and BigInt do have Symbol.toStringTag by spec, so that can't be used to eliminate false positives
  931. function isSymbol(obj) {
  932. if (hasShammedSymbols) {
  933. return obj && typeof obj === 'object' && obj instanceof Symbol;
  934. }
  935. if (typeof obj === 'symbol') {
  936. return true;
  937. }
  938. if (!obj || typeof obj !== 'object' || !symToString) {
  939. return false;
  940. }
  941. try {
  942. symToString.call(obj);
  943. return true;
  944. } catch (e) {}
  945. return false;
  946. }
  947. function isBigInt(obj) {
  948. if (!obj || typeof obj !== 'object' || !bigIntValueOf) {
  949. return false;
  950. }
  951. try {
  952. bigIntValueOf.call(obj);
  953. return true;
  954. } catch (e) {}
  955. return false;
  956. }
  957. var hasOwn = Object.prototype.hasOwnProperty || function (key) {
  958. return key in this;
  959. };
  960. function has(obj, key) {
  961. return hasOwn.call(obj, key);
  962. }
  963. function toStr(obj) {
  964. return objectToString.call(obj);
  965. }
  966. function nameOf(f) {
  967. if (f.name) {
  968. return f.name;
  969. }
  970. var m = $match.call(functionToString.call(f), /^function\s*([\w$]+)/);
  971. if (m) {
  972. return m[1];
  973. }
  974. return null;
  975. }
  976. function indexOf(xs, x) {
  977. if (xs.indexOf) {
  978. return xs.indexOf(x);
  979. }
  980. for (var i = 0, l = xs.length; i < l; i++) {
  981. if (xs[i] === x) {
  982. return i;
  983. }
  984. }
  985. return -1;
  986. }
  987. function isMap(x) {
  988. if (!mapSize || !x || typeof x !== 'object') {
  989. return false;
  990. }
  991. try {
  992. mapSize.call(x);
  993. try {
  994. setSize.call(x);
  995. } catch (s) {
  996. return true;
  997. }
  998. return x instanceof Map; // core-js workaround, pre-v2.5.0
  999. } catch (e) {}
  1000. return false;
  1001. }
  1002. function isWeakMap(x) {
  1003. if (!weakMapHas || !x || typeof x !== 'object') {
  1004. return false;
  1005. }
  1006. try {
  1007. weakMapHas.call(x, weakMapHas);
  1008. try {
  1009. weakSetHas.call(x, weakSetHas);
  1010. } catch (s) {
  1011. return true;
  1012. }
  1013. return x instanceof WeakMap; // core-js workaround, pre-v2.5.0
  1014. } catch (e) {}
  1015. return false;
  1016. }
  1017. function isWeakRef(x) {
  1018. if (!weakRefDeref || !x || typeof x !== 'object') {
  1019. return false;
  1020. }
  1021. try {
  1022. weakRefDeref.call(x);
  1023. return true;
  1024. } catch (e) {}
  1025. return false;
  1026. }
  1027. function isSet(x) {
  1028. if (!setSize || !x || typeof x !== 'object') {
  1029. return false;
  1030. }
  1031. try {
  1032. setSize.call(x);
  1033. try {
  1034. mapSize.call(x);
  1035. } catch (m) {
  1036. return true;
  1037. }
  1038. return x instanceof Set; // core-js workaround, pre-v2.5.0
  1039. } catch (e) {}
  1040. return false;
  1041. }
  1042. function isWeakSet(x) {
  1043. if (!weakSetHas || !x || typeof x !== 'object') {
  1044. return false;
  1045. }
  1046. try {
  1047. weakSetHas.call(x, weakSetHas);
  1048. try {
  1049. weakMapHas.call(x, weakMapHas);
  1050. } catch (s) {
  1051. return true;
  1052. }
  1053. return x instanceof WeakSet; // core-js workaround, pre-v2.5.0
  1054. } catch (e) {}
  1055. return false;
  1056. }
  1057. function isElement(x) {
  1058. if (!x || typeof x !== 'object') {
  1059. return false;
  1060. }
  1061. if (typeof HTMLElement !== 'undefined' && x instanceof HTMLElement) {
  1062. return true;
  1063. }
  1064. return typeof x.nodeName === 'string' && typeof x.getAttribute === 'function';
  1065. }
  1066. function inspectString(str, opts) {
  1067. if (str.length > opts.maxStringLength) {
  1068. var remaining = str.length - opts.maxStringLength;
  1069. var trailer = '... ' + remaining + ' more character' + (remaining > 1 ? 's' : '');
  1070. return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer;
  1071. }
  1072. // eslint-disable-next-line no-control-regex
  1073. var s = $replace.call($replace.call(str, /(['\\])/g, '\\$1'), /[\x00-\x1f]/g, lowbyte);
  1074. return wrapQuotes(s, 'single', opts);
  1075. }
  1076. function lowbyte(c) {
  1077. var n = c.charCodeAt(0);
  1078. var x = {
  1079. 8: 'b',
  1080. 9: 't',
  1081. 10: 'n',
  1082. 12: 'f',
  1083. 13: 'r'
  1084. }[n];
  1085. if (x) {
  1086. return '\\' + x;
  1087. }
  1088. return '\\x' + (n < 0x10 ? '0' : '') + $toUpperCase.call(n.toString(16));
  1089. }
  1090. function markBoxed(str) {
  1091. return 'Object(' + str + ')';
  1092. }
  1093. function weakCollectionOf(type) {
  1094. return type + ' { ? }';
  1095. }
  1096. function collectionOf(type, size, entries, indent) {
  1097. var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ', ');
  1098. return type + ' (' + size + ') {' + joinedEntries + '}';
  1099. }
  1100. function singleLineValues(xs) {
  1101. for (var i = 0; i < xs.length; i++) {
  1102. if (indexOf(xs[i], '\n') >= 0) {
  1103. return false;
  1104. }
  1105. }
  1106. return true;
  1107. }
  1108. function getIndent(opts, depth) {
  1109. var baseIndent;
  1110. if (opts.indent === '\t') {
  1111. baseIndent = '\t';
  1112. } else if (typeof opts.indent === 'number' && opts.indent > 0) {
  1113. baseIndent = $join.call(Array(opts.indent + 1), ' ');
  1114. } else {
  1115. return null;
  1116. }
  1117. return {
  1118. base: baseIndent,
  1119. prev: $join.call(Array(depth + 1), baseIndent)
  1120. };
  1121. }
  1122. function indentedJoin(xs, indent) {
  1123. if (xs.length === 0) {
  1124. return '';
  1125. }
  1126. var lineJoiner = '\n' + indent.prev + indent.base;
  1127. return lineJoiner + $join.call(xs, ',' + lineJoiner) + '\n' + indent.prev;
  1128. }
  1129. function arrObjKeys(obj, inspect) {
  1130. var isArr = isArray(obj);
  1131. var xs = [];
  1132. if (isArr) {
  1133. xs.length = obj.length;
  1134. for (var i = 0; i < obj.length; i++) {
  1135. xs[i] = has(obj, i) ? inspect(obj[i], obj) : '';
  1136. }
  1137. }
  1138. var syms = typeof gOPS === 'function' ? gOPS(obj) : [];
  1139. var symMap;
  1140. if (hasShammedSymbols) {
  1141. symMap = {};
  1142. for (var k = 0; k < syms.length; k++) {
  1143. symMap['$' + syms[k]] = syms[k];
  1144. }
  1145. }
  1146. for (var key in obj) {
  1147. // eslint-disable-line no-restricted-syntax
  1148. if (!has(obj, key)) {
  1149. continue;
  1150. } // eslint-disable-line no-restricted-syntax, no-continue
  1151. if (isArr && String(Number(key)) === key && key < obj.length) {
  1152. continue;
  1153. } // eslint-disable-line no-restricted-syntax, no-continue
  1154. if (hasShammedSymbols && symMap['$' + key] instanceof Symbol) {
  1155. // this is to prevent shammed Symbols, which are stored as strings, from being included in the string key section
  1156. continue; // eslint-disable-line no-restricted-syntax, no-continue
  1157. } else if ($test.call(/[^\w$]/, key)) {
  1158. xs.push(inspect(key, obj) + ': ' + inspect(obj[key], obj));
  1159. } else {
  1160. xs.push(key + ': ' + inspect(obj[key], obj));
  1161. }
  1162. }
  1163. if (typeof gOPS === 'function') {
  1164. for (var j = 0; j < syms.length; j++) {
  1165. if (isEnumerable.call(obj, syms[j])) {
  1166. xs.push('[' + inspect(syms[j]) + ']: ' + inspect(obj[syms[j]], obj));
  1167. }
  1168. }
  1169. }
  1170. return xs;
  1171. }
  1172. /***/ }),
  1173. /***/ 14375:
  1174. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  1175. "use strict";
  1176. /* provided dependency */ var process = __webpack_require__(71624);
  1177. // 'path' module extracted from Node.js v8.11.1 (only the posix part)
  1178. // transplited with Babel
  1179. // Copyright Joyent, Inc. and other Node contributors.
  1180. //
  1181. // Permission is hereby granted, free of charge, to any person obtaining a
  1182. // copy of this software and associated documentation files (the
  1183. // "Software"), to deal in the Software without restriction, including
  1184. // without limitation the rights to use, copy, modify, merge, publish,
  1185. // distribute, sublicense, and/or sell copies of the Software, and to permit
  1186. // persons to whom the Software is furnished to do so, subject to the
  1187. // following conditions:
  1188. //
  1189. // The above copyright notice and this permission notice shall be included
  1190. // in all copies or substantial portions of the Software.
  1191. //
  1192. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  1193. // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  1194. // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
  1195. // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
  1196. // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
  1197. // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
  1198. // USE OR OTHER DEALINGS IN THE SOFTWARE.
  1199. function assertPath(path) {
  1200. if (typeof path !== 'string') {
  1201. throw new TypeError('Path must be a string. Received ' + JSON.stringify(path));
  1202. }
  1203. }
  1204. // Resolves . and .. elements in a path with directory names
  1205. function normalizeStringPosix(path, allowAboveRoot) {
  1206. var res = '';
  1207. var lastSegmentLength = 0;
  1208. var lastSlash = -1;
  1209. var dots = 0;
  1210. var code;
  1211. for (var i = 0; i <= path.length; ++i) {
  1212. if (i < path.length) code = path.charCodeAt(i);else if (code === 47 /*/*/) break;else code = 47 /*/*/;
  1213. if (code === 47 /*/*/) {
  1214. if (lastSlash === i - 1 || dots === 1) {
  1215. // NOOP
  1216. } else if (lastSlash !== i - 1 && dots === 2) {
  1217. if (res.length < 2 || lastSegmentLength !== 2 || res.charCodeAt(res.length - 1) !== 46 /*.*/ || res.charCodeAt(res.length - 2) !== 46 /*.*/) {
  1218. if (res.length > 2) {
  1219. var lastSlashIndex = res.lastIndexOf('/');
  1220. if (lastSlashIndex !== res.length - 1) {
  1221. if (lastSlashIndex === -1) {
  1222. res = '';
  1223. lastSegmentLength = 0;
  1224. } else {
  1225. res = res.slice(0, lastSlashIndex);
  1226. lastSegmentLength = res.length - 1 - res.lastIndexOf('/');
  1227. }
  1228. lastSlash = i;
  1229. dots = 0;
  1230. continue;
  1231. }
  1232. } else if (res.length === 2 || res.length === 1) {
  1233. res = '';
  1234. lastSegmentLength = 0;
  1235. lastSlash = i;
  1236. dots = 0;
  1237. continue;
  1238. }
  1239. }
  1240. if (allowAboveRoot) {
  1241. if (res.length > 0) res += '/..';else res = '..';
  1242. lastSegmentLength = 2;
  1243. }
  1244. } else {
  1245. if (res.length > 0) res += '/' + path.slice(lastSlash + 1, i);else res = path.slice(lastSlash + 1, i);
  1246. lastSegmentLength = i - lastSlash - 1;
  1247. }
  1248. lastSlash = i;
  1249. dots = 0;
  1250. } else if (code === 46 /*.*/ && dots !== -1) {
  1251. ++dots;
  1252. } else {
  1253. dots = -1;
  1254. }
  1255. }
  1256. return res;
  1257. }
  1258. function _format(sep, pathObject) {
  1259. var dir = pathObject.dir || pathObject.root;
  1260. var base = pathObject.base || (pathObject.name || '') + (pathObject.ext || '');
  1261. if (!dir) {
  1262. return base;
  1263. }
  1264. if (dir === pathObject.root) {
  1265. return dir + base;
  1266. }
  1267. return dir + sep + base;
  1268. }
  1269. var posix = {
  1270. // path.resolve([from ...], to)
  1271. resolve: function resolve() {
  1272. var resolvedPath = '';
  1273. var resolvedAbsolute = false;
  1274. var cwd;
  1275. for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {
  1276. var path;
  1277. if (i >= 0) path = arguments[i];else {
  1278. if (cwd === undefined) cwd = process.cwd();
  1279. path = cwd;
  1280. }
  1281. assertPath(path);
  1282. // Skip empty entries
  1283. if (path.length === 0) {
  1284. continue;
  1285. }
  1286. resolvedPath = path + '/' + resolvedPath;
  1287. resolvedAbsolute = path.charCodeAt(0) === 47 /*/*/;
  1288. }
  1289. // At this point the path should be resolved to a full absolute path, but
  1290. // handle relative paths to be safe (might happen when process.cwd() fails)
  1291. // Normalize the path
  1292. resolvedPath = normalizeStringPosix(resolvedPath, !resolvedAbsolute);
  1293. if (resolvedAbsolute) {
  1294. if (resolvedPath.length > 0) return '/' + resolvedPath;else return '/';
  1295. } else if (resolvedPath.length > 0) {
  1296. return resolvedPath;
  1297. } else {
  1298. return '.';
  1299. }
  1300. },
  1301. normalize: function normalize(path) {
  1302. assertPath(path);
  1303. if (path.length === 0) return '.';
  1304. var isAbsolute = path.charCodeAt(0) === 47 /*/*/;
  1305. var trailingSeparator = path.charCodeAt(path.length - 1) === 47 /*/*/;
  1306. // Normalize the path
  1307. path = normalizeStringPosix(path, !isAbsolute);
  1308. if (path.length === 0 && !isAbsolute) path = '.';
  1309. if (path.length > 0 && trailingSeparator) path += '/';
  1310. if (isAbsolute) return '/' + path;
  1311. return path;
  1312. },
  1313. isAbsolute: function isAbsolute(path) {
  1314. assertPath(path);
  1315. return path.length > 0 && path.charCodeAt(0) === 47 /*/*/;
  1316. },
  1317. join: function join() {
  1318. if (arguments.length === 0) return '.';
  1319. var joined;
  1320. for (var i = 0; i < arguments.length; ++i) {
  1321. var arg = arguments[i];
  1322. assertPath(arg);
  1323. if (arg.length > 0) {
  1324. if (joined === undefined) joined = arg;else joined += '/' + arg;
  1325. }
  1326. }
  1327. if (joined === undefined) return '.';
  1328. return posix.normalize(joined);
  1329. },
  1330. relative: function relative(from, to) {
  1331. assertPath(from);
  1332. assertPath(to);
  1333. if (from === to) return '';
  1334. from = posix.resolve(from);
  1335. to = posix.resolve(to);
  1336. if (from === to) return '';
  1337. // Trim any leading backslashes
  1338. var fromStart = 1;
  1339. for (; fromStart < from.length; ++fromStart) {
  1340. if (from.charCodeAt(fromStart) !== 47 /*/*/) break;
  1341. }
  1342. var fromEnd = from.length;
  1343. var fromLen = fromEnd - fromStart;
  1344. // Trim any leading backslashes
  1345. var toStart = 1;
  1346. for (; toStart < to.length; ++toStart) {
  1347. if (to.charCodeAt(toStart) !== 47 /*/*/) break;
  1348. }
  1349. var toEnd = to.length;
  1350. var toLen = toEnd - toStart;
  1351. // Compare paths to find the longest common path from root
  1352. var length = fromLen < toLen ? fromLen : toLen;
  1353. var lastCommonSep = -1;
  1354. var i = 0;
  1355. for (; i <= length; ++i) {
  1356. if (i === length) {
  1357. if (toLen > length) {
  1358. if (to.charCodeAt(toStart + i) === 47 /*/*/) {
  1359. // We get here if `from` is the exact base path for `to`.
  1360. // For example: from='/foo/bar'; to='/foo/bar/baz'
  1361. return to.slice(toStart + i + 1);
  1362. } else if (i === 0) {
  1363. // We get here if `from` is the root
  1364. // For example: from='/'; to='/foo'
  1365. return to.slice(toStart + i);
  1366. }
  1367. } else if (fromLen > length) {
  1368. if (from.charCodeAt(fromStart + i) === 47 /*/*/) {
  1369. // We get here if `to` is the exact base path for `from`.
  1370. // For example: from='/foo/bar/baz'; to='/foo/bar'
  1371. lastCommonSep = i;
  1372. } else if (i === 0) {
  1373. // We get here if `to` is the root.
  1374. // For example: from='/foo'; to='/'
  1375. lastCommonSep = 0;
  1376. }
  1377. }
  1378. break;
  1379. }
  1380. var fromCode = from.charCodeAt(fromStart + i);
  1381. var toCode = to.charCodeAt(toStart + i);
  1382. if (fromCode !== toCode) break;else if (fromCode === 47 /*/*/) lastCommonSep = i;
  1383. }
  1384. var out = '';
  1385. // Generate the relative path based on the path difference between `to`
  1386. // and `from`
  1387. for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) {
  1388. if (i === fromEnd || from.charCodeAt(i) === 47 /*/*/) {
  1389. if (out.length === 0) out += '..';else out += '/..';
  1390. }
  1391. }
  1392. // Lastly, append the rest of the destination (`to`) path that comes after
  1393. // the common path parts
  1394. if (out.length > 0) return out + to.slice(toStart + lastCommonSep);else {
  1395. toStart += lastCommonSep;
  1396. if (to.charCodeAt(toStart) === 47 /*/*/) ++toStart;
  1397. return to.slice(toStart);
  1398. }
  1399. },
  1400. _makeLong: function _makeLong(path) {
  1401. return path;
  1402. },
  1403. dirname: function dirname(path) {
  1404. assertPath(path);
  1405. if (path.length === 0) return '.';
  1406. var code = path.charCodeAt(0);
  1407. var hasRoot = code === 47 /*/*/;
  1408. var end = -1;
  1409. var matchedSlash = true;
  1410. for (var i = path.length - 1; i >= 1; --i) {
  1411. code = path.charCodeAt(i);
  1412. if (code === 47 /*/*/) {
  1413. if (!matchedSlash) {
  1414. end = i;
  1415. break;
  1416. }
  1417. } else {
  1418. // We saw the first non-path separator
  1419. matchedSlash = false;
  1420. }
  1421. }
  1422. if (end === -1) return hasRoot ? '/' : '.';
  1423. if (hasRoot && end === 1) return '//';
  1424. return path.slice(0, end);
  1425. },
  1426. basename: function basename(path, ext) {
  1427. if (ext !== undefined && typeof ext !== 'string') throw new TypeError('"ext" argument must be a string');
  1428. assertPath(path);
  1429. var start = 0;
  1430. var end = -1;
  1431. var matchedSlash = true;
  1432. var i;
  1433. if (ext !== undefined && ext.length > 0 && ext.length <= path.length) {
  1434. if (ext.length === path.length && ext === path) return '';
  1435. var extIdx = ext.length - 1;
  1436. var firstNonSlashEnd = -1;
  1437. for (i = path.length - 1; i >= 0; --i) {
  1438. var code = path.charCodeAt(i);
  1439. if (code === 47 /*/*/) {
  1440. // If we reached a path separator that was not part of a set of path
  1441. // separators at the end of the string, stop now
  1442. if (!matchedSlash) {
  1443. start = i + 1;
  1444. break;
  1445. }
  1446. } else {
  1447. if (firstNonSlashEnd === -1) {
  1448. // We saw the first non-path separator, remember this index in case
  1449. // we need it if the extension ends up not matching
  1450. matchedSlash = false;
  1451. firstNonSlashEnd = i + 1;
  1452. }
  1453. if (extIdx >= 0) {
  1454. // Try to match the explicit extension
  1455. if (code === ext.charCodeAt(extIdx)) {
  1456. if (--extIdx === -1) {
  1457. // We matched the extension, so mark this as the end of our path
  1458. // component
  1459. end = i;
  1460. }
  1461. } else {
  1462. // Extension does not match, so our result is the entire path
  1463. // component
  1464. extIdx = -1;
  1465. end = firstNonSlashEnd;
  1466. }
  1467. }
  1468. }
  1469. }
  1470. if (start === end) end = firstNonSlashEnd;else if (end === -1) end = path.length;
  1471. return path.slice(start, end);
  1472. } else {
  1473. for (i = path.length - 1; i >= 0; --i) {
  1474. if (path.charCodeAt(i) === 47 /*/*/) {
  1475. // If we reached a path separator that was not part of a set of path
  1476. // separators at the end of the string, stop now
  1477. if (!matchedSlash) {
  1478. start = i + 1;
  1479. break;
  1480. }
  1481. } else if (end === -1) {
  1482. // We saw the first non-path separator, mark this as the end of our
  1483. // path component
  1484. matchedSlash = false;
  1485. end = i + 1;
  1486. }
  1487. }
  1488. if (end === -1) return '';
  1489. return path.slice(start, end);
  1490. }
  1491. },
  1492. extname: function extname(path) {
  1493. assertPath(path);
  1494. var startDot = -1;
  1495. var startPart = 0;
  1496. var end = -1;
  1497. var matchedSlash = true;
  1498. // Track the state of characters (if any) we see before our first dot and
  1499. // after any path separator we find
  1500. var preDotState = 0;
  1501. for (var i = path.length - 1; i >= 0; --i) {
  1502. var code = path.charCodeAt(i);
  1503. if (code === 47 /*/*/) {
  1504. // If we reached a path separator that was not part of a set of path
  1505. // separators at the end of the string, stop now
  1506. if (!matchedSlash) {
  1507. startPart = i + 1;
  1508. break;
  1509. }
  1510. continue;
  1511. }
  1512. if (end === -1) {
  1513. // We saw the first non-path separator, mark this as the end of our
  1514. // extension
  1515. matchedSlash = false;
  1516. end = i + 1;
  1517. }
  1518. if (code === 46 /*.*/) {
  1519. // If this is our first dot, mark it as the start of our extension
  1520. if (startDot === -1) startDot = i;else if (preDotState !== 1) preDotState = 1;
  1521. } else if (startDot !== -1) {
  1522. // We saw a non-dot and non-path separator before our dot, so we should
  1523. // have a good chance at having a non-empty extension
  1524. preDotState = -1;
  1525. }
  1526. }
  1527. if (startDot === -1 || end === -1 ||
  1528. // We saw a non-dot character immediately before the dot
  1529. preDotState === 0 ||
  1530. // The (right-most) trimmed path component is exactly '..'
  1531. preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {
  1532. return '';
  1533. }
  1534. return path.slice(startDot, end);
  1535. },
  1536. format: function format(pathObject) {
  1537. if (pathObject === null || typeof pathObject !== 'object') {
  1538. throw new TypeError('The "pathObject" argument must be of type Object. Received type ' + typeof pathObject);
  1539. }
  1540. return _format('/', pathObject);
  1541. },
  1542. parse: function parse(path) {
  1543. assertPath(path);
  1544. var ret = {
  1545. root: '',
  1546. dir: '',
  1547. base: '',
  1548. ext: '',
  1549. name: ''
  1550. };
  1551. if (path.length === 0) return ret;
  1552. var code = path.charCodeAt(0);
  1553. var isAbsolute = code === 47 /*/*/;
  1554. var start;
  1555. if (isAbsolute) {
  1556. ret.root = '/';
  1557. start = 1;
  1558. } else {
  1559. start = 0;
  1560. }
  1561. var startDot = -1;
  1562. var startPart = 0;
  1563. var end = -1;
  1564. var matchedSlash = true;
  1565. var i = path.length - 1;
  1566. // Track the state of characters (if any) we see before our first dot and
  1567. // after any path separator we find
  1568. var preDotState = 0;
  1569. // Get non-dir info
  1570. for (; i >= start; --i) {
  1571. code = path.charCodeAt(i);
  1572. if (code === 47 /*/*/) {
  1573. // If we reached a path separator that was not part of a set of path
  1574. // separators at the end of the string, stop now
  1575. if (!matchedSlash) {
  1576. startPart = i + 1;
  1577. break;
  1578. }
  1579. continue;
  1580. }
  1581. if (end === -1) {
  1582. // We saw the first non-path separator, mark this as the end of our
  1583. // extension
  1584. matchedSlash = false;
  1585. end = i + 1;
  1586. }
  1587. if (code === 46 /*.*/) {
  1588. // If this is our first dot, mark it as the start of our extension
  1589. if (startDot === -1) startDot = i;else if (preDotState !== 1) preDotState = 1;
  1590. } else if (startDot !== -1) {
  1591. // We saw a non-dot and non-path separator before our dot, so we should
  1592. // have a good chance at having a non-empty extension
  1593. preDotState = -1;
  1594. }
  1595. }
  1596. if (startDot === -1 || end === -1 ||
  1597. // We saw a non-dot character immediately before the dot
  1598. preDotState === 0 ||
  1599. // The (right-most) trimmed path component is exactly '..'
  1600. preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {
  1601. if (end !== -1) {
  1602. if (startPart === 0 && isAbsolute) ret.base = ret.name = path.slice(1, end);else ret.base = ret.name = path.slice(startPart, end);
  1603. }
  1604. } else {
  1605. if (startPart === 0 && isAbsolute) {
  1606. ret.name = path.slice(1, startDot);
  1607. ret.base = path.slice(1, end);
  1608. } else {
  1609. ret.name = path.slice(startPart, startDot);
  1610. ret.base = path.slice(startPart, end);
  1611. }
  1612. ret.ext = path.slice(startDot, end);
  1613. }
  1614. if (startPart > 0) ret.dir = path.slice(0, startPart - 1);else if (isAbsolute) ret.dir = '/';
  1615. return ret;
  1616. },
  1617. sep: '/',
  1618. delimiter: ':',
  1619. win32: null,
  1620. posix: null
  1621. };
  1622. posix.posix = posix;
  1623. module.exports = posix;
  1624. /***/ }),
  1625. /***/ 71624:
  1626. /***/ ((module) => {
  1627. // shim for using process in browser
  1628. var process = module.exports = {};
  1629. // cached from whatever global is present so that test runners that stub it
  1630. // don't break things. But we need to wrap it in a try catch in case it is
  1631. // wrapped in strict mode code which doesn't define any globals. It's inside a
  1632. // function because try/catches deoptimize in certain engines.
  1633. var cachedSetTimeout;
  1634. var cachedClearTimeout;
  1635. function defaultSetTimout() {
  1636. throw new Error('setTimeout has not been defined');
  1637. }
  1638. function defaultClearTimeout() {
  1639. throw new Error('clearTimeout has not been defined');
  1640. }
  1641. (function () {
  1642. try {
  1643. if (typeof setTimeout === 'function') {
  1644. cachedSetTimeout = setTimeout;
  1645. } else {
  1646. cachedSetTimeout = defaultSetTimout;
  1647. }
  1648. } catch (e) {
  1649. cachedSetTimeout = defaultSetTimout;
  1650. }
  1651. try {
  1652. if (typeof clearTimeout === 'function') {
  1653. cachedClearTimeout = clearTimeout;
  1654. } else {
  1655. cachedClearTimeout = defaultClearTimeout;
  1656. }
  1657. } catch (e) {
  1658. cachedClearTimeout = defaultClearTimeout;
  1659. }
  1660. })();
  1661. function runTimeout(fun) {
  1662. if (cachedSetTimeout === setTimeout) {
  1663. //normal enviroments in sane situations
  1664. return setTimeout(fun, 0);
  1665. }
  1666. // if setTimeout wasn't available but was latter defined
  1667. if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
  1668. cachedSetTimeout = setTimeout;
  1669. return setTimeout(fun, 0);
  1670. }
  1671. try {
  1672. // when when somebody has screwed with setTimeout but no I.E. maddness
  1673. return cachedSetTimeout(fun, 0);
  1674. } catch (e) {
  1675. try {
  1676. // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
  1677. return cachedSetTimeout.call(null, fun, 0);
  1678. } catch (e) {
  1679. // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
  1680. return cachedSetTimeout.call(this, fun, 0);
  1681. }
  1682. }
  1683. }
  1684. function runClearTimeout(marker) {
  1685. if (cachedClearTimeout === clearTimeout) {
  1686. //normal enviroments in sane situations
  1687. return clearTimeout(marker);
  1688. }
  1689. // if clearTimeout wasn't available but was latter defined
  1690. if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
  1691. cachedClearTimeout = clearTimeout;
  1692. return clearTimeout(marker);
  1693. }
  1694. try {
  1695. // when when somebody has screwed with setTimeout but no I.E. maddness
  1696. return cachedClearTimeout(marker);
  1697. } catch (e) {
  1698. try {
  1699. // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
  1700. return cachedClearTimeout.call(null, marker);
  1701. } catch (e) {
  1702. // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
  1703. // Some versions of I.E. have different rules for clearTimeout vs setTimeout
  1704. return cachedClearTimeout.call(this, marker);
  1705. }
  1706. }
  1707. }
  1708. var queue = [];
  1709. var draining = false;
  1710. var currentQueue;
  1711. var queueIndex = -1;
  1712. function cleanUpNextTick() {
  1713. if (!draining || !currentQueue) {
  1714. return;
  1715. }
  1716. draining = false;
  1717. if (currentQueue.length) {
  1718. queue = currentQueue.concat(queue);
  1719. } else {
  1720. queueIndex = -1;
  1721. }
  1722. if (queue.length) {
  1723. drainQueue();
  1724. }
  1725. }
  1726. function drainQueue() {
  1727. if (draining) {
  1728. return;
  1729. }
  1730. var timeout = runTimeout(cleanUpNextTick);
  1731. draining = true;
  1732. var len = queue.length;
  1733. while (len) {
  1734. currentQueue = queue;
  1735. queue = [];
  1736. while (++queueIndex < len) {
  1737. if (currentQueue) {
  1738. currentQueue[queueIndex].run();
  1739. }
  1740. }
  1741. queueIndex = -1;
  1742. len = queue.length;
  1743. }
  1744. currentQueue = null;
  1745. draining = false;
  1746. runClearTimeout(timeout);
  1747. }
  1748. process.nextTick = function (fun) {
  1749. var args = new Array(arguments.length - 1);
  1750. if (arguments.length > 1) {
  1751. for (var i = 1; i < arguments.length; i++) {
  1752. args[i - 1] = arguments[i];
  1753. }
  1754. }
  1755. queue.push(new Item(fun, args));
  1756. if (queue.length === 1 && !draining) {
  1757. runTimeout(drainQueue);
  1758. }
  1759. };
  1760. // v8 likes predictible objects
  1761. function Item(fun, array) {
  1762. this.fun = fun;
  1763. this.array = array;
  1764. }
  1765. Item.prototype.run = function () {
  1766. this.fun.apply(null, this.array);
  1767. };
  1768. process.title = 'browser';
  1769. process.browser = true;
  1770. process.env = {};
  1771. process.argv = [];
  1772. process.version = ''; // empty string to avoid regexp issues
  1773. process.versions = {};
  1774. function noop() {}
  1775. process.on = noop;
  1776. process.addListener = noop;
  1777. process.once = noop;
  1778. process.off = noop;
  1779. process.removeListener = noop;
  1780. process.removeAllListeners = noop;
  1781. process.emit = noop;
  1782. process.prependListener = noop;
  1783. process.prependOnceListener = noop;
  1784. process.listeners = function (name) {
  1785. return [];
  1786. };
  1787. process.binding = function (name) {
  1788. throw new Error('process.binding is not supported');
  1789. };
  1790. process.cwd = function () {
  1791. return '/';
  1792. };
  1793. process.chdir = function (dir) {
  1794. throw new Error('process.chdir is not supported');
  1795. };
  1796. process.umask = function () {
  1797. return 0;
  1798. };
  1799. /***/ }),
  1800. /***/ 43277:
  1801. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  1802. "use strict";
  1803. __webpack_require__.r(__webpack_exports__);
  1804. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  1805. /* harmony export */ decode: () => (/* binding */ decode),
  1806. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
  1807. /* harmony export */ encode: () => (/* binding */ encode),
  1808. /* harmony export */ toASCII: () => (/* binding */ toASCII),
  1809. /* harmony export */ toUnicode: () => (/* binding */ toUnicode),
  1810. /* harmony export */ ucs2decode: () => (/* binding */ ucs2decode),
  1811. /* harmony export */ ucs2encode: () => (/* binding */ ucs2encode)
  1812. /* harmony export */ });
  1813. /** Highest positive signed 32-bit float value */
  1814. const maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1
  1815. /** Bootstring parameters */
  1816. const base = 36;
  1817. const tMin = 1;
  1818. const tMax = 26;
  1819. const skew = 38;
  1820. const damp = 700;
  1821. const initialBias = 72;
  1822. const initialN = 128; // 0x80
  1823. const delimiter = '-'; // '\x2D'
  1824. /** Regular expressions */
  1825. const regexPunycode = /^xn--/;
  1826. const regexNonASCII = /[^\0-\x7F]/; // Note: U+007F DEL is excluded too.
  1827. const regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g; // RFC 3490 separators
  1828. /** Error messages */
  1829. const errors = {
  1830. 'overflow': 'Overflow: input needs wider integers to process',
  1831. 'not-basic': 'Illegal input >= 0x80 (not a basic code point)',
  1832. 'invalid-input': 'Invalid input'
  1833. };
  1834. /** Convenience shortcuts */
  1835. const baseMinusTMin = base - tMin;
  1836. const floor = Math.floor;
  1837. const stringFromCharCode = String.fromCharCode;
  1838. /*--------------------------------------------------------------------------*/
  1839. /**
  1840. * A generic error utility function.
  1841. * @private
  1842. * @param {String} type The error type.
  1843. * @returns {Error} Throws a `RangeError` with the applicable error message.
  1844. */
  1845. function error(type) {
  1846. throw new RangeError(errors[type]);
  1847. }
  1848. /**
  1849. * A generic `Array#map` utility function.
  1850. * @private
  1851. * @param {Array} array The array to iterate over.
  1852. * @param {Function} callback The function that gets called for every array
  1853. * item.
  1854. * @returns {Array} A new array of values returned by the callback function.
  1855. */
  1856. function map(array, callback) {
  1857. const result = [];
  1858. let length = array.length;
  1859. while (length--) {
  1860. result[length] = callback(array[length]);
  1861. }
  1862. return result;
  1863. }
  1864. /**
  1865. * A simple `Array#map`-like wrapper to work with domain name strings or email
  1866. * addresses.
  1867. * @private
  1868. * @param {String} domain The domain name or email address.
  1869. * @param {Function} callback The function that gets called for every
  1870. * character.
  1871. * @returns {String} A new string of characters returned by the callback
  1872. * function.
  1873. */
  1874. function mapDomain(domain, callback) {
  1875. const parts = domain.split('@');
  1876. let result = '';
  1877. if (parts.length > 1) {
  1878. // In email addresses, only the domain name should be punycoded. Leave
  1879. // the local part (i.e. everything up to `@`) intact.
  1880. result = parts[0] + '@';
  1881. domain = parts[1];
  1882. }
  1883. // Avoid `split(regex)` for IE8 compatibility. See #17.
  1884. domain = domain.replace(regexSeparators, '\x2E');
  1885. const labels = domain.split('.');
  1886. const encoded = map(labels, callback).join('.');
  1887. return result + encoded;
  1888. }
  1889. /**
  1890. * Creates an array containing the numeric code points of each Unicode
  1891. * character in the string. While JavaScript uses UCS-2 internally,
  1892. * this function will convert a pair of surrogate halves (each of which
  1893. * UCS-2 exposes as separate characters) into a single code point,
  1894. * matching UTF-16.
  1895. * @see `punycode.ucs2.encode`
  1896. * @see <https://mathiasbynens.be/notes/javascript-encoding>
  1897. * @memberOf punycode.ucs2
  1898. * @name decode
  1899. * @param {String} string The Unicode input string (UCS-2).
  1900. * @returns {Array} The new array of code points.
  1901. */
  1902. function ucs2decode(string) {
  1903. const output = [];
  1904. let counter = 0;
  1905. const length = string.length;
  1906. while (counter < length) {
  1907. const value = string.charCodeAt(counter++);
  1908. if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
  1909. // It's a high surrogate, and there is a next character.
  1910. const extra = string.charCodeAt(counter++);
  1911. if ((extra & 0xFC00) == 0xDC00) {
  1912. // Low surrogate.
  1913. output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
  1914. } else {
  1915. // It's an unmatched surrogate; only append this code unit, in case the
  1916. // next code unit is the high surrogate of a surrogate pair.
  1917. output.push(value);
  1918. counter--;
  1919. }
  1920. } else {
  1921. output.push(value);
  1922. }
  1923. }
  1924. return output;
  1925. }
  1926. /**
  1927. * Creates a string based on an array of numeric code points.
  1928. * @see `punycode.ucs2.decode`
  1929. * @memberOf punycode.ucs2
  1930. * @name encode
  1931. * @param {Array} codePoints The array of numeric code points.
  1932. * @returns {String} The new Unicode string (UCS-2).
  1933. */
  1934. const ucs2encode = codePoints => String.fromCodePoint(...codePoints);
  1935. /**
  1936. * Converts a basic code point into a digit/integer.
  1937. * @see `digitToBasic()`
  1938. * @private
  1939. * @param {Number} codePoint The basic numeric code point value.
  1940. * @returns {Number} The numeric value of a basic code point (for use in
  1941. * representing integers) in the range `0` to `base - 1`, or `base` if
  1942. * the code point does not represent a value.
  1943. */
  1944. const basicToDigit = function (codePoint) {
  1945. if (codePoint >= 0x30 && codePoint < 0x3A) {
  1946. return 26 + (codePoint - 0x30);
  1947. }
  1948. if (codePoint >= 0x41 && codePoint < 0x5B) {
  1949. return codePoint - 0x41;
  1950. }
  1951. if (codePoint >= 0x61 && codePoint < 0x7B) {
  1952. return codePoint - 0x61;
  1953. }
  1954. return base;
  1955. };
  1956. /**
  1957. * Converts a digit/integer into a basic code point.
  1958. * @see `basicToDigit()`
  1959. * @private
  1960. * @param {Number} digit The numeric value of a basic code point.
  1961. * @returns {Number} The basic code point whose value (when used for
  1962. * representing integers) is `digit`, which needs to be in the range
  1963. * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is
  1964. * used; else, the lowercase form is used. The behavior is undefined
  1965. * if `flag` is non-zero and `digit` has no uppercase form.
  1966. */
  1967. const digitToBasic = function (digit, flag) {
  1968. // 0..25 map to ASCII a..z or A..Z
  1969. // 26..35 map to ASCII 0..9
  1970. return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);
  1971. };
  1972. /**
  1973. * Bias adaptation function as per section 3.4 of RFC 3492.
  1974. * https://tools.ietf.org/html/rfc3492#section-3.4
  1975. * @private
  1976. */
  1977. const adapt = function (delta, numPoints, firstTime) {
  1978. let k = 0;
  1979. delta = firstTime ? floor(delta / damp) : delta >> 1;
  1980. delta += floor(delta / numPoints);
  1981. for /* no initialization */
  1982. (; delta > baseMinusTMin * tMax >> 1; k += base) {
  1983. delta = floor(delta / baseMinusTMin);
  1984. }
  1985. return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));
  1986. };
  1987. /**
  1988. * Converts a Punycode string of ASCII-only symbols to a string of Unicode
  1989. * symbols.
  1990. * @memberOf punycode
  1991. * @param {String} input The Punycode string of ASCII-only symbols.
  1992. * @returns {String} The resulting string of Unicode symbols.
  1993. */
  1994. const decode = function (input) {
  1995. // Don't use UCS-2.
  1996. const output = [];
  1997. const inputLength = input.length;
  1998. let i = 0;
  1999. let n = initialN;
  2000. let bias = initialBias;
  2001. // Handle the basic code points: let `basic` be the number of input code
  2002. // points before the last delimiter, or `0` if there is none, then copy
  2003. // the first basic code points to the output.
  2004. let basic = input.lastIndexOf(delimiter);
  2005. if (basic < 0) {
  2006. basic = 0;
  2007. }
  2008. for (let j = 0; j < basic; ++j) {
  2009. // if it's not a basic code point
  2010. if (input.charCodeAt(j) >= 0x80) {
  2011. error('not-basic');
  2012. }
  2013. output.push(input.charCodeAt(j));
  2014. }
  2015. // Main decoding loop: start just after the last delimiter if any basic code
  2016. // points were copied; start at the beginning otherwise.
  2017. for /* no final expression */
  2018. (let index = basic > 0 ? basic + 1 : 0; index < inputLength;) {
  2019. // `index` is the index of the next character to be consumed.
  2020. // Decode a generalized variable-length integer into `delta`,
  2021. // which gets added to `i`. The overflow checking is easier
  2022. // if we increase `i` as we go, then subtract off its starting
  2023. // value at the end to obtain `delta`.
  2024. const oldi = i;
  2025. for /* no condition */
  2026. (let w = 1, k = base;; k += base) {
  2027. if (index >= inputLength) {
  2028. error('invalid-input');
  2029. }
  2030. const digit = basicToDigit(input.charCodeAt(index++));
  2031. if (digit >= base) {
  2032. error('invalid-input');
  2033. }
  2034. if (digit > floor((maxInt - i) / w)) {
  2035. error('overflow');
  2036. }
  2037. i += digit * w;
  2038. const t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;
  2039. if (digit < t) {
  2040. break;
  2041. }
  2042. const baseMinusT = base - t;
  2043. if (w > floor(maxInt / baseMinusT)) {
  2044. error('overflow');
  2045. }
  2046. w *= baseMinusT;
  2047. }
  2048. const out = output.length + 1;
  2049. bias = adapt(i - oldi, out, oldi == 0);
  2050. // `i` was supposed to wrap around from `out` to `0`,
  2051. // incrementing `n` each time, so we'll fix that now:
  2052. if (floor(i / out) > maxInt - n) {
  2053. error('overflow');
  2054. }
  2055. n += floor(i / out);
  2056. i %= out;
  2057. // Insert `n` at position `i` of the output.
  2058. output.splice(i++, 0, n);
  2059. }
  2060. return String.fromCodePoint(...output);
  2061. };
  2062. /**
  2063. * Converts a string of Unicode symbols (e.g. a domain name label) to a
  2064. * Punycode string of ASCII-only symbols.
  2065. * @memberOf punycode
  2066. * @param {String} input The string of Unicode symbols.
  2067. * @returns {String} The resulting Punycode string of ASCII-only symbols.
  2068. */
  2069. const encode = function (input) {
  2070. const output = [];
  2071. // Convert the input in UCS-2 to an array of Unicode code points.
  2072. input = ucs2decode(input);
  2073. // Cache the length.
  2074. const inputLength = input.length;
  2075. // Initialize the state.
  2076. let n = initialN;
  2077. let delta = 0;
  2078. let bias = initialBias;
  2079. // Handle the basic code points.
  2080. for (const currentValue of input) {
  2081. if (currentValue < 0x80) {
  2082. output.push(stringFromCharCode(currentValue));
  2083. }
  2084. }
  2085. const basicLength = output.length;
  2086. let handledCPCount = basicLength;
  2087. // `handledCPCount` is the number of code points that have been handled;
  2088. // `basicLength` is the number of basic code points.
  2089. // Finish the basic string with a delimiter unless it's empty.
  2090. if (basicLength) {
  2091. output.push(delimiter);
  2092. }
  2093. // Main encoding loop:
  2094. while (handledCPCount < inputLength) {
  2095. // All non-basic code points < n have been handled already. Find the next
  2096. // larger one:
  2097. let m = maxInt;
  2098. for (const currentValue of input) {
  2099. if (currentValue >= n && currentValue < m) {
  2100. m = currentValue;
  2101. }
  2102. }
  2103. // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,
  2104. // but guard against overflow.
  2105. const handledCPCountPlusOne = handledCPCount + 1;
  2106. if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {
  2107. error('overflow');
  2108. }
  2109. delta += (m - n) * handledCPCountPlusOne;
  2110. n = m;
  2111. for (const currentValue of input) {
  2112. if (currentValue < n && ++delta > maxInt) {
  2113. error('overflow');
  2114. }
  2115. if (currentValue === n) {
  2116. // Represent delta as a generalized variable-length integer.
  2117. let q = delta;
  2118. for /* no condition */
  2119. (let k = base;; k += base) {
  2120. const t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;
  2121. if (q < t) {
  2122. break;
  2123. }
  2124. const qMinusT = q - t;
  2125. const baseMinusT = base - t;
  2126. output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0)));
  2127. q = floor(qMinusT / baseMinusT);
  2128. }
  2129. output.push(stringFromCharCode(digitToBasic(q, 0)));
  2130. bias = adapt(delta, handledCPCountPlusOne, handledCPCount === basicLength);
  2131. delta = 0;
  2132. ++handledCPCount;
  2133. }
  2134. }
  2135. ++delta;
  2136. ++n;
  2137. }
  2138. return output.join('');
  2139. };
  2140. /**
  2141. * Converts a Punycode string representing a domain name or an email address
  2142. * to Unicode. Only the Punycoded parts of the input will be converted, i.e.
  2143. * it doesn't matter if you call it on a string that has already been
  2144. * converted to Unicode.
  2145. * @memberOf punycode
  2146. * @param {String} input The Punycoded domain name or email address to
  2147. * convert to Unicode.
  2148. * @returns {String} The Unicode representation of the given Punycode
  2149. * string.
  2150. */
  2151. const toUnicode = function (input) {
  2152. return mapDomain(input, function (string) {
  2153. return regexPunycode.test(string) ? decode(string.slice(4).toLowerCase()) : string;
  2154. });
  2155. };
  2156. /**
  2157. * Converts a Unicode string representing a domain name or an email address to
  2158. * Punycode. Only the non-ASCII parts of the domain name will be converted,
  2159. * i.e. it doesn't matter if you call it with a domain that's already in
  2160. * ASCII.
  2161. * @memberOf punycode
  2162. * @param {String} input The domain name or email address to convert, as a
  2163. * Unicode string.
  2164. * @returns {String} The Punycode representation of the given domain name or
  2165. * email address.
  2166. */
  2167. const toASCII = function (input) {
  2168. return mapDomain(input, function (string) {
  2169. return regexNonASCII.test(string) ? 'xn--' + encode(string) : string;
  2170. });
  2171. };
  2172. /*--------------------------------------------------------------------------*/
  2173. /** Define the public API */
  2174. const punycode = {
  2175. /**
  2176. * A string representing the current Punycode.js version number.
  2177. * @memberOf punycode
  2178. * @type String
  2179. */
  2180. 'version': '2.3.1',
  2181. /**
  2182. * An object of methods to convert from JavaScript's internal character
  2183. * representation (UCS-2) to Unicode code points, and back.
  2184. * @see <https://mathiasbynens.be/notes/javascript-encoding>
  2185. * @memberOf punycode
  2186. * @type Object
  2187. */
  2188. 'ucs2': {
  2189. 'decode': ucs2decode,
  2190. 'encode': ucs2encode
  2191. },
  2192. 'decode': decode,
  2193. 'encode': encode,
  2194. 'toASCII': toASCII,
  2195. 'toUnicode': toUnicode
  2196. };
  2197. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (punycode);
  2198. /***/ }),
  2199. /***/ 43512:
  2200. /***/ ((module) => {
  2201. "use strict";
  2202. var replace = String.prototype.replace;
  2203. var percentTwenties = /%20/g;
  2204. var Format = {
  2205. RFC1738: 'RFC1738',
  2206. RFC3986: 'RFC3986'
  2207. };
  2208. module.exports = {
  2209. 'default': Format.RFC3986,
  2210. formatters: {
  2211. RFC1738: function (value) {
  2212. return replace.call(value, percentTwenties, '+');
  2213. },
  2214. RFC3986: function (value) {
  2215. return String(value);
  2216. }
  2217. },
  2218. RFC1738: Format.RFC1738,
  2219. RFC3986: Format.RFC3986
  2220. };
  2221. /***/ }),
  2222. /***/ 349:
  2223. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  2224. "use strict";
  2225. var stringify = __webpack_require__(74082);
  2226. var parse = __webpack_require__(48169);
  2227. var formats = __webpack_require__(43512);
  2228. module.exports = {
  2229. formats: formats,
  2230. parse: parse,
  2231. stringify: stringify
  2232. };
  2233. /***/ }),
  2234. /***/ 48169:
  2235. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  2236. "use strict";
  2237. var utils = __webpack_require__(40775);
  2238. var has = Object.prototype.hasOwnProperty;
  2239. var isArray = Array.isArray;
  2240. var defaults = {
  2241. allowDots: false,
  2242. allowPrototypes: false,
  2243. allowSparse: false,
  2244. arrayLimit: 20,
  2245. charset: 'utf-8',
  2246. charsetSentinel: false,
  2247. comma: false,
  2248. decoder: utils.decode,
  2249. delimiter: '&',
  2250. depth: 5,
  2251. ignoreQueryPrefix: false,
  2252. interpretNumericEntities: false,
  2253. parameterLimit: 1000,
  2254. parseArrays: true,
  2255. plainObjects: false,
  2256. strictNullHandling: false
  2257. };
  2258. var interpretNumericEntities = function (str) {
  2259. return str.replace(/&#(\d+);/g, function ($0, numberStr) {
  2260. return String.fromCharCode(parseInt(numberStr, 10));
  2261. });
  2262. };
  2263. var parseArrayValue = function (val, options) {
  2264. if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) {
  2265. return val.split(',');
  2266. }
  2267. return val;
  2268. };
  2269. // This is what browsers will submit when the ✓ character occurs in an
  2270. // application/x-www-form-urlencoded body and the encoding of the page containing
  2271. // the form is iso-8859-1, or when the submitted form has an accept-charset
  2272. // attribute of iso-8859-1. Presumably also with other charsets that do not contain
  2273. // the ✓ character, such as us-ascii.
  2274. var isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('&#10003;')
  2275. // These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.
  2276. var charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('✓')
  2277. var parseValues = function parseQueryStringValues(str, options) {
  2278. var obj = {
  2279. __proto__: null
  2280. };
  2281. var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\?/, '') : str;
  2282. var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;
  2283. var parts = cleanStr.split(options.delimiter, limit);
  2284. var skipIndex = -1; // Keep track of where the utf8 sentinel was found
  2285. var i;
  2286. var charset = options.charset;
  2287. if (options.charsetSentinel) {
  2288. for (i = 0; i < parts.length; ++i) {
  2289. if (parts[i].indexOf('utf8=') === 0) {
  2290. if (parts[i] === charsetSentinel) {
  2291. charset = 'utf-8';
  2292. } else if (parts[i] === isoSentinel) {
  2293. charset = 'iso-8859-1';
  2294. }
  2295. skipIndex = i;
  2296. i = parts.length; // The eslint settings do not allow break;
  2297. }
  2298. }
  2299. }
  2300. for (i = 0; i < parts.length; ++i) {
  2301. if (i === skipIndex) {
  2302. continue;
  2303. }
  2304. var part = parts[i];
  2305. var bracketEqualsPos = part.indexOf(']=');
  2306. var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;
  2307. var key, val;
  2308. if (pos === -1) {
  2309. key = options.decoder(part, defaults.decoder, charset, 'key');
  2310. val = options.strictNullHandling ? null : '';
  2311. } else {
  2312. key = options.decoder(part.slice(0, pos), defaults.decoder, charset, 'key');
  2313. val = utils.maybeMap(parseArrayValue(part.slice(pos + 1), options), function (encodedVal) {
  2314. return options.decoder(encodedVal, defaults.decoder, charset, 'value');
  2315. });
  2316. }
  2317. if (val && options.interpretNumericEntities && charset === 'iso-8859-1') {
  2318. val = interpretNumericEntities(val);
  2319. }
  2320. if (part.indexOf('[]=') > -1) {
  2321. val = isArray(val) ? [val] : val;
  2322. }
  2323. if (has.call(obj, key)) {
  2324. obj[key] = utils.combine(obj[key], val);
  2325. } else {
  2326. obj[key] = val;
  2327. }
  2328. }
  2329. return obj;
  2330. };
  2331. var parseObject = function (chain, val, options, valuesParsed) {
  2332. var leaf = valuesParsed ? val : parseArrayValue(val, options);
  2333. for (var i = chain.length - 1; i >= 0; --i) {
  2334. var obj;
  2335. var root = chain[i];
  2336. if (root === '[]' && options.parseArrays) {
  2337. obj = [].concat(leaf);
  2338. } else {
  2339. obj = options.plainObjects ? Object.create(null) : {};
  2340. var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;
  2341. var index = parseInt(cleanRoot, 10);
  2342. if (!options.parseArrays && cleanRoot === '') {
  2343. obj = {
  2344. 0: leaf
  2345. };
  2346. } else if (!isNaN(index) && root !== cleanRoot && String(index) === cleanRoot && index >= 0 && options.parseArrays && index <= options.arrayLimit) {
  2347. obj = [];
  2348. obj[index] = leaf;
  2349. } else if (cleanRoot !== '__proto__') {
  2350. obj[cleanRoot] = leaf;
  2351. }
  2352. }
  2353. leaf = obj;
  2354. }
  2355. return leaf;
  2356. };
  2357. var parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {
  2358. if (!givenKey) {
  2359. return;
  2360. }
  2361. // Transform dot notation to bracket notation
  2362. var key = options.allowDots ? givenKey.replace(/\.([^.[]+)/g, '[$1]') : givenKey;
  2363. // The regex chunks
  2364. var brackets = /(\[[^[\]]*])/;
  2365. var child = /(\[[^[\]]*])/g;
  2366. // Get the parent
  2367. var segment = options.depth > 0 && brackets.exec(key);
  2368. var parent = segment ? key.slice(0, segment.index) : key;
  2369. // Stash the parent if it exists
  2370. var keys = [];
  2371. if (parent) {
  2372. // If we aren't using plain objects, optionally prefix keys that would overwrite object prototype properties
  2373. if (!options.plainObjects && has.call(Object.prototype, parent)) {
  2374. if (!options.allowPrototypes) {
  2375. return;
  2376. }
  2377. }
  2378. keys.push(parent);
  2379. }
  2380. // Loop through children appending to the array until we hit depth
  2381. var i = 0;
  2382. while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) {
  2383. i += 1;
  2384. if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {
  2385. if (!options.allowPrototypes) {
  2386. return;
  2387. }
  2388. }
  2389. keys.push(segment[1]);
  2390. }
  2391. // If there's a remainder, just add whatever is left
  2392. if (segment) {
  2393. keys.push('[' + key.slice(segment.index) + ']');
  2394. }
  2395. return parseObject(keys, val, options, valuesParsed);
  2396. };
  2397. var normalizeParseOptions = function normalizeParseOptions(opts) {
  2398. if (!opts) {
  2399. return defaults;
  2400. }
  2401. if (opts.decoder !== null && opts.decoder !== undefined && typeof opts.decoder !== 'function') {
  2402. throw new TypeError('Decoder has to be a function.');
  2403. }
  2404. if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {
  2405. throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');
  2406. }
  2407. var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset;
  2408. return {
  2409. allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,
  2410. allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,
  2411. allowSparse: typeof opts.allowSparse === 'boolean' ? opts.allowSparse : defaults.allowSparse,
  2412. arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,
  2413. charset: charset,
  2414. charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,
  2415. comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,
  2416. decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,
  2417. delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,
  2418. // eslint-disable-next-line no-implicit-coercion, no-extra-parens
  2419. depth: typeof opts.depth === 'number' || opts.depth === false ? +opts.depth : defaults.depth,
  2420. ignoreQueryPrefix: opts.ignoreQueryPrefix === true,
  2421. interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,
  2422. parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit,
  2423. parseArrays: opts.parseArrays !== false,
  2424. plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,
  2425. strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling
  2426. };
  2427. };
  2428. module.exports = function (str, opts) {
  2429. var options = normalizeParseOptions(opts);
  2430. if (str === '' || str === null || typeof str === 'undefined') {
  2431. return options.plainObjects ? Object.create(null) : {};
  2432. }
  2433. var tempObj = typeof str === 'string' ? parseValues(str, options) : str;
  2434. var obj = options.plainObjects ? Object.create(null) : {};
  2435. // Iterate over the keys and setup the new object
  2436. var keys = Object.keys(tempObj);
  2437. for (var i = 0; i < keys.length; ++i) {
  2438. var key = keys[i];
  2439. var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string');
  2440. obj = utils.merge(obj, newObj, options);
  2441. }
  2442. if (options.allowSparse === true) {
  2443. return obj;
  2444. }
  2445. return utils.compact(obj);
  2446. };
  2447. /***/ }),
  2448. /***/ 74082:
  2449. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  2450. "use strict";
  2451. var getSideChannel = __webpack_require__(67546);
  2452. var utils = __webpack_require__(40775);
  2453. var formats = __webpack_require__(43512);
  2454. var has = Object.prototype.hasOwnProperty;
  2455. var arrayPrefixGenerators = {
  2456. brackets: function brackets(prefix) {
  2457. return prefix + '[]';
  2458. },
  2459. comma: 'comma',
  2460. indices: function indices(prefix, key) {
  2461. return prefix + '[' + key + ']';
  2462. },
  2463. repeat: function repeat(prefix) {
  2464. return prefix;
  2465. }
  2466. };
  2467. var isArray = Array.isArray;
  2468. var push = Array.prototype.push;
  2469. var pushToArray = function (arr, valueOrArray) {
  2470. push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);
  2471. };
  2472. var toISO = Date.prototype.toISOString;
  2473. var defaultFormat = formats['default'];
  2474. var defaults = {
  2475. addQueryPrefix: false,
  2476. allowDots: false,
  2477. charset: 'utf-8',
  2478. charsetSentinel: false,
  2479. delimiter: '&',
  2480. encode: true,
  2481. encoder: utils.encode,
  2482. encodeValuesOnly: false,
  2483. format: defaultFormat,
  2484. formatter: formats.formatters[defaultFormat],
  2485. // deprecated
  2486. indices: false,
  2487. serializeDate: function serializeDate(date) {
  2488. return toISO.call(date);
  2489. },
  2490. skipNulls: false,
  2491. strictNullHandling: false
  2492. };
  2493. var isNonNullishPrimitive = function isNonNullishPrimitive(v) {
  2494. return typeof v === 'string' || typeof v === 'number' || typeof v === 'boolean' || typeof v === 'symbol' || typeof v === 'bigint';
  2495. };
  2496. var sentinel = {};
  2497. var stringify = function stringify(object, prefix, generateArrayPrefix, commaRoundTrip, strictNullHandling, skipNulls, encoder, filter, sort, allowDots, serializeDate, format, formatter, encodeValuesOnly, charset, sideChannel) {
  2498. var obj = object;
  2499. var tmpSc = sideChannel;
  2500. var step = 0;
  2501. var findFlag = false;
  2502. while ((tmpSc = tmpSc.get(sentinel)) !== void undefined && !findFlag) {
  2503. // Where object last appeared in the ref tree
  2504. var pos = tmpSc.get(object);
  2505. step += 1;
  2506. if (typeof pos !== 'undefined') {
  2507. if (pos === step) {
  2508. throw new RangeError('Cyclic object value');
  2509. } else {
  2510. findFlag = true; // Break while
  2511. }
  2512. }
  2513. if (typeof tmpSc.get(sentinel) === 'undefined') {
  2514. step = 0;
  2515. }
  2516. }
  2517. if (typeof filter === 'function') {
  2518. obj = filter(prefix, obj);
  2519. } else if (obj instanceof Date) {
  2520. obj = serializeDate(obj);
  2521. } else if (generateArrayPrefix === 'comma' && isArray(obj)) {
  2522. obj = utils.maybeMap(obj, function (value) {
  2523. if (value instanceof Date) {
  2524. return serializeDate(value);
  2525. }
  2526. return value;
  2527. });
  2528. }
  2529. if (obj === null) {
  2530. if (strictNullHandling) {
  2531. return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key', format) : prefix;
  2532. }
  2533. obj = '';
  2534. }
  2535. if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {
  2536. if (encoder) {
  2537. var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key', format);
  2538. return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value', format))];
  2539. }
  2540. return [formatter(prefix) + '=' + formatter(String(obj))];
  2541. }
  2542. var values = [];
  2543. if (typeof obj === 'undefined') {
  2544. return values;
  2545. }
  2546. var objKeys;
  2547. if (generateArrayPrefix === 'comma' && isArray(obj)) {
  2548. // we need to join elements in
  2549. if (encodeValuesOnly && encoder) {
  2550. obj = utils.maybeMap(obj, encoder);
  2551. }
  2552. objKeys = [{
  2553. value: obj.length > 0 ? obj.join(',') || null : void undefined
  2554. }];
  2555. } else if (isArray(filter)) {
  2556. objKeys = filter;
  2557. } else {
  2558. var keys = Object.keys(obj);
  2559. objKeys = sort ? keys.sort(sort) : keys;
  2560. }
  2561. var adjustedPrefix = commaRoundTrip && isArray(obj) && obj.length === 1 ? prefix + '[]' : prefix;
  2562. for (var j = 0; j < objKeys.length; ++j) {
  2563. var key = objKeys[j];
  2564. var value = typeof key === 'object' && typeof key.value !== 'undefined' ? key.value : obj[key];
  2565. if (skipNulls && value === null) {
  2566. continue;
  2567. }
  2568. var keyPrefix = isArray(obj) ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(adjustedPrefix, key) : adjustedPrefix : adjustedPrefix + (allowDots ? '.' + key : '[' + key + ']');
  2569. sideChannel.set(object, step);
  2570. var valueSideChannel = getSideChannel();
  2571. valueSideChannel.set(sentinel, sideChannel);
  2572. pushToArray(values, stringify(value, keyPrefix, generateArrayPrefix, commaRoundTrip, strictNullHandling, skipNulls, generateArrayPrefix === 'comma' && encodeValuesOnly && isArray(obj) ? null : encoder, filter, sort, allowDots, serializeDate, format, formatter, encodeValuesOnly, charset, valueSideChannel));
  2573. }
  2574. return values;
  2575. };
  2576. var normalizeStringifyOptions = function normalizeStringifyOptions(opts) {
  2577. if (!opts) {
  2578. return defaults;
  2579. }
  2580. if (opts.encoder !== null && typeof opts.encoder !== 'undefined' && typeof opts.encoder !== 'function') {
  2581. throw new TypeError('Encoder has to be a function.');
  2582. }
  2583. var charset = opts.charset || defaults.charset;
  2584. if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {
  2585. throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');
  2586. }
  2587. var format = formats['default'];
  2588. if (typeof opts.format !== 'undefined') {
  2589. if (!has.call(formats.formatters, opts.format)) {
  2590. throw new TypeError('Unknown format option provided.');
  2591. }
  2592. format = opts.format;
  2593. }
  2594. var formatter = formats.formatters[format];
  2595. var filter = defaults.filter;
  2596. if (typeof opts.filter === 'function' || isArray(opts.filter)) {
  2597. filter = opts.filter;
  2598. }
  2599. return {
  2600. addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,
  2601. allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,
  2602. charset: charset,
  2603. charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,
  2604. delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,
  2605. encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,
  2606. encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,
  2607. encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,
  2608. filter: filter,
  2609. format: format,
  2610. formatter: formatter,
  2611. serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,
  2612. skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,
  2613. sort: typeof opts.sort === 'function' ? opts.sort : null,
  2614. strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling
  2615. };
  2616. };
  2617. module.exports = function (object, opts) {
  2618. var obj = object;
  2619. var options = normalizeStringifyOptions(opts);
  2620. var objKeys;
  2621. var filter;
  2622. if (typeof options.filter === 'function') {
  2623. filter = options.filter;
  2624. obj = filter('', obj);
  2625. } else if (isArray(options.filter)) {
  2626. filter = options.filter;
  2627. objKeys = filter;
  2628. }
  2629. var keys = [];
  2630. if (typeof obj !== 'object' || obj === null) {
  2631. return '';
  2632. }
  2633. var arrayFormat;
  2634. if (opts && opts.arrayFormat in arrayPrefixGenerators) {
  2635. arrayFormat = opts.arrayFormat;
  2636. } else if (opts && 'indices' in opts) {
  2637. arrayFormat = opts.indices ? 'indices' : 'repeat';
  2638. } else {
  2639. arrayFormat = 'indices';
  2640. }
  2641. var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];
  2642. if (opts && 'commaRoundTrip' in opts && typeof opts.commaRoundTrip !== 'boolean') {
  2643. throw new TypeError('`commaRoundTrip` must be a boolean, or absent');
  2644. }
  2645. var commaRoundTrip = generateArrayPrefix === 'comma' && opts && opts.commaRoundTrip;
  2646. if (!objKeys) {
  2647. objKeys = Object.keys(obj);
  2648. }
  2649. if (options.sort) {
  2650. objKeys.sort(options.sort);
  2651. }
  2652. var sideChannel = getSideChannel();
  2653. for (var i = 0; i < objKeys.length; ++i) {
  2654. var key = objKeys[i];
  2655. if (options.skipNulls && obj[key] === null) {
  2656. continue;
  2657. }
  2658. pushToArray(keys, stringify(obj[key], key, generateArrayPrefix, commaRoundTrip, options.strictNullHandling, options.skipNulls, options.encode ? options.encoder : null, options.filter, options.sort, options.allowDots, options.serializeDate, options.format, options.formatter, options.encodeValuesOnly, options.charset, sideChannel));
  2659. }
  2660. var joined = keys.join(options.delimiter);
  2661. var prefix = options.addQueryPrefix === true ? '?' : '';
  2662. if (options.charsetSentinel) {
  2663. if (options.charset === 'iso-8859-1') {
  2664. // encodeURIComponent('&#10003;'), the "numeric entity" representation of a checkmark
  2665. prefix += 'utf8=%26%2310003%3B&';
  2666. } else {
  2667. // encodeURIComponent('✓')
  2668. prefix += 'utf8=%E2%9C%93&';
  2669. }
  2670. }
  2671. return joined.length > 0 ? prefix + joined : '';
  2672. };
  2673. /***/ }),
  2674. /***/ 40775:
  2675. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  2676. "use strict";
  2677. var formats = __webpack_require__(43512);
  2678. var has = Object.prototype.hasOwnProperty;
  2679. var isArray = Array.isArray;
  2680. var hexTable = function () {
  2681. var array = [];
  2682. for (var i = 0; i < 256; ++i) {
  2683. array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());
  2684. }
  2685. return array;
  2686. }();
  2687. var compactQueue = function compactQueue(queue) {
  2688. while (queue.length > 1) {
  2689. var item = queue.pop();
  2690. var obj = item.obj[item.prop];
  2691. if (isArray(obj)) {
  2692. var compacted = [];
  2693. for (var j = 0; j < obj.length; ++j) {
  2694. if (typeof obj[j] !== 'undefined') {
  2695. compacted.push(obj[j]);
  2696. }
  2697. }
  2698. item.obj[item.prop] = compacted;
  2699. }
  2700. }
  2701. };
  2702. var arrayToObject = function arrayToObject(source, options) {
  2703. var obj = options && options.plainObjects ? Object.create(null) : {};
  2704. for (var i = 0; i < source.length; ++i) {
  2705. if (typeof source[i] !== 'undefined') {
  2706. obj[i] = source[i];
  2707. }
  2708. }
  2709. return obj;
  2710. };
  2711. var merge = function merge(target, source, options) {
  2712. /* eslint no-param-reassign: 0 */
  2713. if (!source) {
  2714. return target;
  2715. }
  2716. if (typeof source !== 'object') {
  2717. if (isArray(target)) {
  2718. target.push(source);
  2719. } else if (target && typeof target === 'object') {
  2720. if (options && (options.plainObjects || options.allowPrototypes) || !has.call(Object.prototype, source)) {
  2721. target[source] = true;
  2722. }
  2723. } else {
  2724. return [target, source];
  2725. }
  2726. return target;
  2727. }
  2728. if (!target || typeof target !== 'object') {
  2729. return [target].concat(source);
  2730. }
  2731. var mergeTarget = target;
  2732. if (isArray(target) && !isArray(source)) {
  2733. mergeTarget = arrayToObject(target, options);
  2734. }
  2735. if (isArray(target) && isArray(source)) {
  2736. source.forEach(function (item, i) {
  2737. if (has.call(target, i)) {
  2738. var targetItem = target[i];
  2739. if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {
  2740. target[i] = merge(targetItem, item, options);
  2741. } else {
  2742. target.push(item);
  2743. }
  2744. } else {
  2745. target[i] = item;
  2746. }
  2747. });
  2748. return target;
  2749. }
  2750. return Object.keys(source).reduce(function (acc, key) {
  2751. var value = source[key];
  2752. if (has.call(acc, key)) {
  2753. acc[key] = merge(acc[key], value, options);
  2754. } else {
  2755. acc[key] = value;
  2756. }
  2757. return acc;
  2758. }, mergeTarget);
  2759. };
  2760. var assign = function assignSingleSource(target, source) {
  2761. return Object.keys(source).reduce(function (acc, key) {
  2762. acc[key] = source[key];
  2763. return acc;
  2764. }, target);
  2765. };
  2766. var decode = function (str, decoder, charset) {
  2767. var strWithoutPlus = str.replace(/\+/g, ' ');
  2768. if (charset === 'iso-8859-1') {
  2769. // unescape never throws, no try...catch needed:
  2770. return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);
  2771. }
  2772. // utf-8
  2773. try {
  2774. return decodeURIComponent(strWithoutPlus);
  2775. } catch (e) {
  2776. return strWithoutPlus;
  2777. }
  2778. };
  2779. var encode = function encode(str, defaultEncoder, charset, kind, format) {
  2780. // This code was originally written by Brian White (mscdex) for the io.js core querystring library.
  2781. // It has been adapted here for stricter adherence to RFC 3986
  2782. if (str.length === 0) {
  2783. return str;
  2784. }
  2785. var string = str;
  2786. if (typeof str === 'symbol') {
  2787. string = Symbol.prototype.toString.call(str);
  2788. } else if (typeof str !== 'string') {
  2789. string = String(str);
  2790. }
  2791. if (charset === 'iso-8859-1') {
  2792. return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {
  2793. return '%26%23' + parseInt($0.slice(2), 16) + '%3B';
  2794. });
  2795. }
  2796. var out = '';
  2797. for (var i = 0; i < string.length; ++i) {
  2798. var c = string.charCodeAt(i);
  2799. if (c === 0x2D // -
  2800. || c === 0x2E // .
  2801. || c === 0x5F // _
  2802. || c === 0x7E // ~
  2803. || c >= 0x30 && c <= 0x39 // 0-9
  2804. || c >= 0x41 && c <= 0x5A // a-z
  2805. || c >= 0x61 && c <= 0x7A // A-Z
  2806. || format === formats.RFC1738 && (c === 0x28 || c === 0x29) // ( )
  2807. ) {
  2808. out += string.charAt(i);
  2809. continue;
  2810. }
  2811. if (c < 0x80) {
  2812. out = out + hexTable[c];
  2813. continue;
  2814. }
  2815. if (c < 0x800) {
  2816. out = out + (hexTable[0xC0 | c >> 6] + hexTable[0x80 | c & 0x3F]);
  2817. continue;
  2818. }
  2819. if (c < 0xD800 || c >= 0xE000) {
  2820. out = out + (hexTable[0xE0 | c >> 12] + hexTable[0x80 | c >> 6 & 0x3F] + hexTable[0x80 | c & 0x3F]);
  2821. continue;
  2822. }
  2823. i += 1;
  2824. c = 0x10000 + ((c & 0x3FF) << 10 | string.charCodeAt(i) & 0x3FF);
  2825. /* eslint operator-linebreak: [2, "before"] */
  2826. out += hexTable[0xF0 | c >> 18] + hexTable[0x80 | c >> 12 & 0x3F] + hexTable[0x80 | c >> 6 & 0x3F] + hexTable[0x80 | c & 0x3F];
  2827. }
  2828. return out;
  2829. };
  2830. var compact = function compact(value) {
  2831. var queue = [{
  2832. obj: {
  2833. o: value
  2834. },
  2835. prop: 'o'
  2836. }];
  2837. var refs = [];
  2838. for (var i = 0; i < queue.length; ++i) {
  2839. var item = queue[i];
  2840. var obj = item.obj[item.prop];
  2841. var keys = Object.keys(obj);
  2842. for (var j = 0; j < keys.length; ++j) {
  2843. var key = keys[j];
  2844. var val = obj[key];
  2845. if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {
  2846. queue.push({
  2847. obj: obj,
  2848. prop: key
  2849. });
  2850. refs.push(val);
  2851. }
  2852. }
  2853. }
  2854. compactQueue(queue);
  2855. return value;
  2856. };
  2857. var isRegExp = function isRegExp(obj) {
  2858. return Object.prototype.toString.call(obj) === '[object RegExp]';
  2859. };
  2860. var isBuffer = function isBuffer(obj) {
  2861. if (!obj || typeof obj !== 'object') {
  2862. return false;
  2863. }
  2864. return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));
  2865. };
  2866. var combine = function combine(a, b) {
  2867. return [].concat(a, b);
  2868. };
  2869. var maybeMap = function maybeMap(val, fn) {
  2870. if (isArray(val)) {
  2871. var mapped = [];
  2872. for (var i = 0; i < val.length; i += 1) {
  2873. mapped.push(fn(val[i]));
  2874. }
  2875. return mapped;
  2876. }
  2877. return fn(val);
  2878. };
  2879. module.exports = {
  2880. arrayToObject: arrayToObject,
  2881. assign: assign,
  2882. combine: combine,
  2883. compact: compact,
  2884. decode: decode,
  2885. encode: encode,
  2886. isBuffer: isBuffer,
  2887. isRegExp: isRegExp,
  2888. maybeMap: maybeMap,
  2889. merge: merge
  2890. };
  2891. /***/ }),
  2892. /***/ 23954:
  2893. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  2894. "use strict";
  2895. var GetIntrinsic = __webpack_require__(55050);
  2896. var define = __webpack_require__(91037);
  2897. var hasDescriptors = __webpack_require__(96757)();
  2898. var gOPD = __webpack_require__(12319);
  2899. var $TypeError = GetIntrinsic('%TypeError%');
  2900. var $floor = GetIntrinsic('%Math.floor%');
  2901. module.exports = function setFunctionLength(fn, length) {
  2902. if (typeof fn !== 'function') {
  2903. throw new $TypeError('`fn` is not a function');
  2904. }
  2905. if (typeof length !== 'number' || length < 0 || length > 0xFFFFFFFF || $floor(length) !== length) {
  2906. throw new $TypeError('`length` must be a positive 32-bit integer');
  2907. }
  2908. var loose = arguments.length > 2 && !!arguments[2];
  2909. var functionLengthIsConfigurable = true;
  2910. var functionLengthIsWritable = true;
  2911. if ('length' in fn && gOPD) {
  2912. var desc = gOPD(fn, 'length');
  2913. if (desc && !desc.configurable) {
  2914. functionLengthIsConfigurable = false;
  2915. }
  2916. if (desc && !desc.writable) {
  2917. functionLengthIsWritable = false;
  2918. }
  2919. }
  2920. if (functionLengthIsConfigurable || functionLengthIsWritable || !loose) {
  2921. if (hasDescriptors) {
  2922. define(fn, 'length', length, true, true);
  2923. } else {
  2924. define(fn, 'length', length);
  2925. }
  2926. }
  2927. return fn;
  2928. };
  2929. /***/ }),
  2930. /***/ 67546:
  2931. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  2932. "use strict";
  2933. var GetIntrinsic = __webpack_require__(55050);
  2934. var callBound = __webpack_require__(3737);
  2935. var inspect = __webpack_require__(87676);
  2936. var $TypeError = GetIntrinsic('%TypeError%');
  2937. var $WeakMap = GetIntrinsic('%WeakMap%', true);
  2938. var $Map = GetIntrinsic('%Map%', true);
  2939. var $weakMapGet = callBound('WeakMap.prototype.get', true);
  2940. var $weakMapSet = callBound('WeakMap.prototype.set', true);
  2941. var $weakMapHas = callBound('WeakMap.prototype.has', true);
  2942. var $mapGet = callBound('Map.prototype.get', true);
  2943. var $mapSet = callBound('Map.prototype.set', true);
  2944. var $mapHas = callBound('Map.prototype.has', true);
  2945. /*
  2946. * This function traverses the list returning the node corresponding to the
  2947. * given key.
  2948. *
  2949. * That node is also moved to the head of the list, so that if it's accessed
  2950. * again we don't need to traverse the whole list. By doing so, all the recently
  2951. * used nodes can be accessed relatively quickly.
  2952. */
  2953. var listGetNode = function (list, key) {
  2954. // eslint-disable-line consistent-return
  2955. for (var prev = list, curr; (curr = prev.next) !== null; prev = curr) {
  2956. if (curr.key === key) {
  2957. prev.next = curr.next;
  2958. curr.next = list.next;
  2959. list.next = curr; // eslint-disable-line no-param-reassign
  2960. return curr;
  2961. }
  2962. }
  2963. };
  2964. var listGet = function (objects, key) {
  2965. var node = listGetNode(objects, key);
  2966. return node && node.value;
  2967. };
  2968. var listSet = function (objects, key, value) {
  2969. var node = listGetNode(objects, key);
  2970. if (node) {
  2971. node.value = value;
  2972. } else {
  2973. // Prepend the new node to the beginning of the list
  2974. objects.next = {
  2975. // eslint-disable-line no-param-reassign
  2976. key: key,
  2977. next: objects.next,
  2978. value: value
  2979. };
  2980. }
  2981. };
  2982. var listHas = function (objects, key) {
  2983. return !!listGetNode(objects, key);
  2984. };
  2985. module.exports = function getSideChannel() {
  2986. var $wm;
  2987. var $m;
  2988. var $o;
  2989. var channel = {
  2990. assert: function (key) {
  2991. if (!channel.has(key)) {
  2992. throw new $TypeError('Side channel does not contain ' + inspect(key));
  2993. }
  2994. },
  2995. get: function (key) {
  2996. // eslint-disable-line consistent-return
  2997. if ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {
  2998. if ($wm) {
  2999. return $weakMapGet($wm, key);
  3000. }
  3001. } else if ($Map) {
  3002. if ($m) {
  3003. return $mapGet($m, key);
  3004. }
  3005. } else {
  3006. if ($o) {
  3007. // eslint-disable-line no-lonely-if
  3008. return listGet($o, key);
  3009. }
  3010. }
  3011. },
  3012. has: function (key) {
  3013. if ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {
  3014. if ($wm) {
  3015. return $weakMapHas($wm, key);
  3016. }
  3017. } else if ($Map) {
  3018. if ($m) {
  3019. return $mapHas($m, key);
  3020. }
  3021. } else {
  3022. if ($o) {
  3023. // eslint-disable-line no-lonely-if
  3024. return listHas($o, key);
  3025. }
  3026. }
  3027. return false;
  3028. },
  3029. set: function (key, value) {
  3030. if ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {
  3031. if (!$wm) {
  3032. $wm = new $WeakMap();
  3033. }
  3034. $weakMapSet($wm, key, value);
  3035. } else if ($Map) {
  3036. if (!$m) {
  3037. $m = new $Map();
  3038. }
  3039. $mapSet($m, key, value);
  3040. } else {
  3041. if (!$o) {
  3042. /*
  3043. * Initialize the linked list as an empty node, so that we don't have
  3044. * to special-case handling of the first node: we can always refer to
  3045. * it as (previous node).next, instead of something like (list).head
  3046. */
  3047. $o = {
  3048. key: {},
  3049. next: null
  3050. };
  3051. }
  3052. listSet($o, key, value);
  3053. }
  3054. }
  3055. };
  3056. return channel;
  3057. };
  3058. /***/ }),
  3059. /***/ 69573:
  3060. /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
  3061. "use strict";
  3062. /*
  3063. * Copyright Joyent, Inc. and other Node contributors.
  3064. *
  3065. * Permission is hereby granted, free of charge, to any person obtaining a
  3066. * copy of this software and associated documentation files (the
  3067. * "Software"), to deal in the Software without restriction, including
  3068. * without limitation the rights to use, copy, modify, merge, publish,
  3069. * distribute, sublicense, and/or sell copies of the Software, and to permit
  3070. * persons to whom the Software is furnished to do so, subject to the
  3071. * following conditions:
  3072. *
  3073. * The above copyright notice and this permission notice shall be included
  3074. * in all copies or substantial portions of the Software.
  3075. *
  3076. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  3077. * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  3078. * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
  3079. * NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
  3080. * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
  3081. * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
  3082. * USE OR OTHER DEALINGS IN THE SOFTWARE.
  3083. */
  3084. var punycode = __webpack_require__(43277);
  3085. function Url() {
  3086. this.protocol = null;
  3087. this.slashes = null;
  3088. this.auth = null;
  3089. this.host = null;
  3090. this.port = null;
  3091. this.hostname = null;
  3092. this.hash = null;
  3093. this.search = null;
  3094. this.query = null;
  3095. this.pathname = null;
  3096. this.path = null;
  3097. this.href = null;
  3098. }
  3099. // Reference: RFC 3986, RFC 1808, RFC 2396
  3100. /*
  3101. * define these here so at least they only have to be
  3102. * compiled once on the first module load.
  3103. */
  3104. var protocolPattern = /^([a-z0-9.+-]+:)/i,
  3105. portPattern = /:[0-9]*$/,
  3106. // Special case for a simple path URL
  3107. simplePathPattern = /^(\/\/?(?!\/)[^?\s]*)(\?[^\s]*)?$/,
  3108. /*
  3109. * RFC 2396: characters reserved for delimiting URLs.
  3110. * We actually just auto-escape these.
  3111. */
  3112. delims = ['<', '>', '"', '`', ' ', '\r', '\n', '\t'],
  3113. // RFC 2396: characters not allowed for various reasons.
  3114. unwise = ['{', '}', '|', '\\', '^', '`'].concat(delims),
  3115. // Allowed by RFCs, but cause of XSS attacks. Always escape these.
  3116. autoEscape = ['\''].concat(unwise),
  3117. /*
  3118. * Characters that are never ever allowed in a hostname.
  3119. * Note that any invalid chars are also handled, but these
  3120. * are the ones that are *expected* to be seen, so we fast-path
  3121. * them.
  3122. */
  3123. nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape),
  3124. hostEndingChars = ['/', '?', '#'],
  3125. hostnameMaxLen = 255,
  3126. hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,
  3127. hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,
  3128. // protocols that can allow "unsafe" and "unwise" chars.
  3129. unsafeProtocol = {
  3130. javascript: true,
  3131. 'javascript:': true
  3132. },
  3133. // protocols that never have a hostname.
  3134. hostlessProtocol = {
  3135. javascript: true,
  3136. 'javascript:': true
  3137. },
  3138. // protocols that always contain a // bit.
  3139. slashedProtocol = {
  3140. http: true,
  3141. https: true,
  3142. ftp: true,
  3143. gopher: true,
  3144. file: true,
  3145. 'http:': true,
  3146. 'https:': true,
  3147. 'ftp:': true,
  3148. 'gopher:': true,
  3149. 'file:': true
  3150. },
  3151. querystring = __webpack_require__(349);
  3152. function urlParse(url, parseQueryString, slashesDenoteHost) {
  3153. if (url && typeof url === 'object' && url instanceof Url) {
  3154. return url;
  3155. }
  3156. var u = new Url();
  3157. u.parse(url, parseQueryString, slashesDenoteHost);
  3158. return u;
  3159. }
  3160. Url.prototype.parse = function (url, parseQueryString, slashesDenoteHost) {
  3161. if (typeof url !== 'string') {
  3162. throw new TypeError("Parameter 'url' must be a string, not " + typeof url);
  3163. }
  3164. /*
  3165. * Copy chrome, IE, opera backslash-handling behavior.
  3166. * Back slashes before the query string get converted to forward slashes
  3167. * See: https://code.google.com/p/chromium/issues/detail?id=25916
  3168. */
  3169. var queryIndex = url.indexOf('?'),
  3170. splitter = queryIndex !== -1 && queryIndex < url.indexOf('#') ? '?' : '#',
  3171. uSplit = url.split(splitter),
  3172. slashRegex = /\\/g;
  3173. uSplit[0] = uSplit[0].replace(slashRegex, '/');
  3174. url = uSplit.join(splitter);
  3175. var rest = url;
  3176. /*
  3177. * trim before proceeding.
  3178. * This is to support parse stuff like " http://foo.com \n"
  3179. */
  3180. rest = rest.trim();
  3181. if (!slashesDenoteHost && url.split('#').length === 1) {
  3182. // Try fast path regexp
  3183. var simplePath = simplePathPattern.exec(rest);
  3184. if (simplePath) {
  3185. this.path = rest;
  3186. this.href = rest;
  3187. this.pathname = simplePath[1];
  3188. if (simplePath[2]) {
  3189. this.search = simplePath[2];
  3190. if (parseQueryString) {
  3191. this.query = querystring.parse(this.search.substr(1));
  3192. } else {
  3193. this.query = this.search.substr(1);
  3194. }
  3195. } else if (parseQueryString) {
  3196. this.search = '';
  3197. this.query = {};
  3198. }
  3199. return this;
  3200. }
  3201. }
  3202. var proto = protocolPattern.exec(rest);
  3203. if (proto) {
  3204. proto = proto[0];
  3205. var lowerProto = proto.toLowerCase();
  3206. this.protocol = lowerProto;
  3207. rest = rest.substr(proto.length);
  3208. }
  3209. /*
  3210. * figure out if it's got a host
  3211. * user@server is *always* interpreted as a hostname, and url
  3212. * resolution will treat //foo/bar as host=foo,path=bar because that's
  3213. * how the browser resolves relative URLs.
  3214. */
  3215. if (slashesDenoteHost || proto || rest.match(/^\/\/[^@/]+@[^@/]+/)) {
  3216. var slashes = rest.substr(0, 2) === '//';
  3217. if (slashes && !(proto && hostlessProtocol[proto])) {
  3218. rest = rest.substr(2);
  3219. this.slashes = true;
  3220. }
  3221. }
  3222. if (!hostlessProtocol[proto] && (slashes || proto && !slashedProtocol[proto])) {
  3223. /*
  3224. * there's a hostname.
  3225. * the first instance of /, ?, ;, or # ends the host.
  3226. *
  3227. * If there is an @ in the hostname, then non-host chars *are* allowed
  3228. * to the left of the last @ sign, unless some host-ending character
  3229. * comes *before* the @-sign.
  3230. * URLs are obnoxious.
  3231. *
  3232. * ex:
  3233. * http://a@b@c/ => user:a@b host:c
  3234. * http://a@b?@c => user:a host:c path:/?@c
  3235. */
  3236. /*
  3237. * v0.12 TODO(isaacs): This is not quite how Chrome does things.
  3238. * Review our test case against browsers more comprehensively.
  3239. */
  3240. // find the first instance of any hostEndingChars
  3241. var hostEnd = -1;
  3242. for (var i = 0; i < hostEndingChars.length; i++) {
  3243. var hec = rest.indexOf(hostEndingChars[i]);
  3244. if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) {
  3245. hostEnd = hec;
  3246. }
  3247. }
  3248. /*
  3249. * at this point, either we have an explicit point where the
  3250. * auth portion cannot go past, or the last @ char is the decider.
  3251. */
  3252. var auth, atSign;
  3253. if (hostEnd === -1) {
  3254. // atSign can be anywhere.
  3255. atSign = rest.lastIndexOf('@');
  3256. } else {
  3257. /*
  3258. * atSign must be in auth portion.
  3259. * http://a@b/c@d => host:b auth:a path:/c@d
  3260. */
  3261. atSign = rest.lastIndexOf('@', hostEnd);
  3262. }
  3263. /*
  3264. * Now we have a portion which is definitely the auth.
  3265. * Pull that off.
  3266. */
  3267. if (atSign !== -1) {
  3268. auth = rest.slice(0, atSign);
  3269. rest = rest.slice(atSign + 1);
  3270. this.auth = decodeURIComponent(auth);
  3271. }
  3272. // the host is the remaining to the left of the first non-host char
  3273. hostEnd = -1;
  3274. for (var i = 0; i < nonHostChars.length; i++) {
  3275. var hec = rest.indexOf(nonHostChars[i]);
  3276. if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) {
  3277. hostEnd = hec;
  3278. }
  3279. }
  3280. // if we still have not hit it, then the entire thing is a host.
  3281. if (hostEnd === -1) {
  3282. hostEnd = rest.length;
  3283. }
  3284. this.host = rest.slice(0, hostEnd);
  3285. rest = rest.slice(hostEnd);
  3286. // pull out port.
  3287. this.parseHost();
  3288. /*
  3289. * we've indicated that there is a hostname,
  3290. * so even if it's empty, it has to be present.
  3291. */
  3292. this.hostname = this.hostname || '';
  3293. /*
  3294. * if hostname begins with [ and ends with ]
  3295. * assume that it's an IPv6 address.
  3296. */
  3297. var ipv6Hostname = this.hostname[0] === '[' && this.hostname[this.hostname.length - 1] === ']';
  3298. // validate a little.
  3299. if (!ipv6Hostname) {
  3300. var hostparts = this.hostname.split(/\./);
  3301. for (var i = 0, l = hostparts.length; i < l; i++) {
  3302. var part = hostparts[i];
  3303. if (!part) {
  3304. continue;
  3305. }
  3306. if (!part.match(hostnamePartPattern)) {
  3307. var newpart = '';
  3308. for (var j = 0, k = part.length; j < k; j++) {
  3309. if (part.charCodeAt(j) > 127) {
  3310. /*
  3311. * we replace non-ASCII char with a temporary placeholder
  3312. * we need this to make sure size of hostname is not
  3313. * broken by replacing non-ASCII by nothing
  3314. */
  3315. newpart += 'x';
  3316. } else {
  3317. newpart += part[j];
  3318. }
  3319. }
  3320. // we test again with ASCII char only
  3321. if (!newpart.match(hostnamePartPattern)) {
  3322. var validParts = hostparts.slice(0, i);
  3323. var notHost = hostparts.slice(i + 1);
  3324. var bit = part.match(hostnamePartStart);
  3325. if (bit) {
  3326. validParts.push(bit[1]);
  3327. notHost.unshift(bit[2]);
  3328. }
  3329. if (notHost.length) {
  3330. rest = '/' + notHost.join('.') + rest;
  3331. }
  3332. this.hostname = validParts.join('.');
  3333. break;
  3334. }
  3335. }
  3336. }
  3337. }
  3338. if (this.hostname.length > hostnameMaxLen) {
  3339. this.hostname = '';
  3340. } else {
  3341. // hostnames are always lower case.
  3342. this.hostname = this.hostname.toLowerCase();
  3343. }
  3344. if (!ipv6Hostname) {
  3345. /*
  3346. * IDNA Support: Returns a punycoded representation of "domain".
  3347. * It only converts parts of the domain name that
  3348. * have non-ASCII characters, i.e. it doesn't matter if
  3349. * you call it with a domain that already is ASCII-only.
  3350. */
  3351. this.hostname = punycode.toASCII(this.hostname);
  3352. }
  3353. var p = this.port ? ':' + this.port : '';
  3354. var h = this.hostname || '';
  3355. this.host = h + p;
  3356. this.href += this.host;
  3357. /*
  3358. * strip [ and ] from the hostname
  3359. * the host field still retains them, though
  3360. */
  3361. if (ipv6Hostname) {
  3362. this.hostname = this.hostname.substr(1, this.hostname.length - 2);
  3363. if (rest[0] !== '/') {
  3364. rest = '/' + rest;
  3365. }
  3366. }
  3367. }
  3368. /*
  3369. * now rest is set to the post-host stuff.
  3370. * chop off any delim chars.
  3371. */
  3372. if (!unsafeProtocol[lowerProto]) {
  3373. /*
  3374. * First, make 100% sure that any "autoEscape" chars get
  3375. * escaped, even if encodeURIComponent doesn't think they
  3376. * need to be.
  3377. */
  3378. for (var i = 0, l = autoEscape.length; i < l; i++) {
  3379. var ae = autoEscape[i];
  3380. if (rest.indexOf(ae) === -1) {
  3381. continue;
  3382. }
  3383. var esc = encodeURIComponent(ae);
  3384. if (esc === ae) {
  3385. esc = escape(ae);
  3386. }
  3387. rest = rest.split(ae).join(esc);
  3388. }
  3389. }
  3390. // chop off from the tail first.
  3391. var hash = rest.indexOf('#');
  3392. if (hash !== -1) {
  3393. // got a fragment string.
  3394. this.hash = rest.substr(hash);
  3395. rest = rest.slice(0, hash);
  3396. }
  3397. var qm = rest.indexOf('?');
  3398. if (qm !== -1) {
  3399. this.search = rest.substr(qm);
  3400. this.query = rest.substr(qm + 1);
  3401. if (parseQueryString) {
  3402. this.query = querystring.parse(this.query);
  3403. }
  3404. rest = rest.slice(0, qm);
  3405. } else if (parseQueryString) {
  3406. // no query string, but parseQueryString still requested
  3407. this.search = '';
  3408. this.query = {};
  3409. }
  3410. if (rest) {
  3411. this.pathname = rest;
  3412. }
  3413. if (slashedProtocol[lowerProto] && this.hostname && !this.pathname) {
  3414. this.pathname = '/';
  3415. }
  3416. // to support http.request
  3417. if (this.pathname || this.search) {
  3418. var p = this.pathname || '';
  3419. var s = this.search || '';
  3420. this.path = p + s;
  3421. }
  3422. // finally, reconstruct the href based on what has been validated.
  3423. this.href = this.format();
  3424. return this;
  3425. };
  3426. // format a parsed object into a url string
  3427. function urlFormat(obj) {
  3428. /*
  3429. * ensure it's an object, and not a string url.
  3430. * If it's an obj, this is a no-op.
  3431. * this way, you can call url_format() on strings
  3432. * to clean up potentially wonky urls.
  3433. */
  3434. if (typeof obj === 'string') {
  3435. obj = urlParse(obj);
  3436. }
  3437. if (!(obj instanceof Url)) {
  3438. return Url.prototype.format.call(obj);
  3439. }
  3440. return obj.format();
  3441. }
  3442. Url.prototype.format = function () {
  3443. var auth = this.auth || '';
  3444. if (auth) {
  3445. auth = encodeURIComponent(auth);
  3446. auth = auth.replace(/%3A/i, ':');
  3447. auth += '@';
  3448. }
  3449. var protocol = this.protocol || '',
  3450. pathname = this.pathname || '',
  3451. hash = this.hash || '',
  3452. host = false,
  3453. query = '';
  3454. if (this.host) {
  3455. host = auth + this.host;
  3456. } else if (this.hostname) {
  3457. host = auth + (this.hostname.indexOf(':') === -1 ? this.hostname : '[' + this.hostname + ']');
  3458. if (this.port) {
  3459. host += ':' + this.port;
  3460. }
  3461. }
  3462. if (this.query && typeof this.query === 'object' && Object.keys(this.query).length) {
  3463. query = querystring.stringify(this.query, {
  3464. arrayFormat: 'repeat',
  3465. addQueryPrefix: false
  3466. });
  3467. }
  3468. var search = this.search || query && '?' + query || '';
  3469. if (protocol && protocol.substr(-1) !== ':') {
  3470. protocol += ':';
  3471. }
  3472. /*
  3473. * only the slashedProtocols get the //. Not mailto:, xmpp:, etc.
  3474. * unless they had them to begin with.
  3475. */
  3476. if (this.slashes || (!protocol || slashedProtocol[protocol]) && host !== false) {
  3477. host = '//' + (host || '');
  3478. if (pathname && pathname.charAt(0) !== '/') {
  3479. pathname = '/' + pathname;
  3480. }
  3481. } else if (!host) {
  3482. host = '';
  3483. }
  3484. if (hash && hash.charAt(0) !== '#') {
  3485. hash = '#' + hash;
  3486. }
  3487. if (search && search.charAt(0) !== '?') {
  3488. search = '?' + search;
  3489. }
  3490. pathname = pathname.replace(/[?#]/g, function (match) {
  3491. return encodeURIComponent(match);
  3492. });
  3493. search = search.replace('#', '%23');
  3494. return protocol + host + pathname + search + hash;
  3495. };
  3496. function urlResolve(source, relative) {
  3497. return urlParse(source, false, true).resolve(relative);
  3498. }
  3499. Url.prototype.resolve = function (relative) {
  3500. return this.resolveObject(urlParse(relative, false, true)).format();
  3501. };
  3502. function urlResolveObject(source, relative) {
  3503. if (!source) {
  3504. return relative;
  3505. }
  3506. return urlParse(source, false, true).resolveObject(relative);
  3507. }
  3508. Url.prototype.resolveObject = function (relative) {
  3509. if (typeof relative === 'string') {
  3510. var rel = new Url();
  3511. rel.parse(relative, false, true);
  3512. relative = rel;
  3513. }
  3514. var result = new Url();
  3515. var tkeys = Object.keys(this);
  3516. for (var tk = 0; tk < tkeys.length; tk++) {
  3517. var tkey = tkeys[tk];
  3518. result[tkey] = this[tkey];
  3519. }
  3520. /*
  3521. * hash is always overridden, no matter what.
  3522. * even href="" will remove it.
  3523. */
  3524. result.hash = relative.hash;
  3525. // if the relative url is empty, then there's nothing left to do here.
  3526. if (relative.href === '') {
  3527. result.href = result.format();
  3528. return result;
  3529. }
  3530. // hrefs like //foo/bar always cut to the protocol.
  3531. if (relative.slashes && !relative.protocol) {
  3532. // take everything except the protocol from relative
  3533. var rkeys = Object.keys(relative);
  3534. for (var rk = 0; rk < rkeys.length; rk++) {
  3535. var rkey = rkeys[rk];
  3536. if (rkey !== 'protocol') {
  3537. result[rkey] = relative[rkey];
  3538. }
  3539. }
  3540. // urlParse appends trailing / to urls like http://www.example.com
  3541. if (slashedProtocol[result.protocol] && result.hostname && !result.pathname) {
  3542. result.pathname = '/';
  3543. result.path = result.pathname;
  3544. }
  3545. result.href = result.format();
  3546. return result;
  3547. }
  3548. if (relative.protocol && relative.protocol !== result.protocol) {
  3549. /*
  3550. * if it's a known url protocol, then changing
  3551. * the protocol does weird things
  3552. * first, if it's not file:, then we MUST have a host,
  3553. * and if there was a path
  3554. * to begin with, then we MUST have a path.
  3555. * if it is file:, then the host is dropped,
  3556. * because that's known to be hostless.
  3557. * anything else is assumed to be absolute.
  3558. */
  3559. if (!slashedProtocol[relative.protocol]) {
  3560. var keys = Object.keys(relative);
  3561. for (var v = 0; v < keys.length; v++) {
  3562. var k = keys[v];
  3563. result[k] = relative[k];
  3564. }
  3565. result.href = result.format();
  3566. return result;
  3567. }
  3568. result.protocol = relative.protocol;
  3569. if (!relative.host && !hostlessProtocol[relative.protocol]) {
  3570. var relPath = (relative.pathname || '').split('/');
  3571. while (relPath.length && !(relative.host = relPath.shift())) {}
  3572. if (!relative.host) {
  3573. relative.host = '';
  3574. }
  3575. if (!relative.hostname) {
  3576. relative.hostname = '';
  3577. }
  3578. if (relPath[0] !== '') {
  3579. relPath.unshift('');
  3580. }
  3581. if (relPath.length < 2) {
  3582. relPath.unshift('');
  3583. }
  3584. result.pathname = relPath.join('/');
  3585. } else {
  3586. result.pathname = relative.pathname;
  3587. }
  3588. result.search = relative.search;
  3589. result.query = relative.query;
  3590. result.host = relative.host || '';
  3591. result.auth = relative.auth;
  3592. result.hostname = relative.hostname || relative.host;
  3593. result.port = relative.port;
  3594. // to support http.request
  3595. if (result.pathname || result.search) {
  3596. var p = result.pathname || '';
  3597. var s = result.search || '';
  3598. result.path = p + s;
  3599. }
  3600. result.slashes = result.slashes || relative.slashes;
  3601. result.href = result.format();
  3602. return result;
  3603. }
  3604. var isSourceAbs = result.pathname && result.pathname.charAt(0) === '/',
  3605. isRelAbs = relative.host || relative.pathname && relative.pathname.charAt(0) === '/',
  3606. mustEndAbs = isRelAbs || isSourceAbs || result.host && relative.pathname,
  3607. removeAllDots = mustEndAbs,
  3608. srcPath = result.pathname && result.pathname.split('/') || [],
  3609. relPath = relative.pathname && relative.pathname.split('/') || [],
  3610. psychotic = result.protocol && !slashedProtocol[result.protocol];
  3611. /*
  3612. * if the url is a non-slashed url, then relative
  3613. * links like ../.. should be able
  3614. * to crawl up to the hostname, as well. This is strange.
  3615. * result.protocol has already been set by now.
  3616. * Later on, put the first path part into the host field.
  3617. */
  3618. if (psychotic) {
  3619. result.hostname = '';
  3620. result.port = null;
  3621. if (result.host) {
  3622. if (srcPath[0] === '') {
  3623. srcPath[0] = result.host;
  3624. } else {
  3625. srcPath.unshift(result.host);
  3626. }
  3627. }
  3628. result.host = '';
  3629. if (relative.protocol) {
  3630. relative.hostname = null;
  3631. relative.port = null;
  3632. if (relative.host) {
  3633. if (relPath[0] === '') {
  3634. relPath[0] = relative.host;
  3635. } else {
  3636. relPath.unshift(relative.host);
  3637. }
  3638. }
  3639. relative.host = null;
  3640. }
  3641. mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');
  3642. }
  3643. if (isRelAbs) {
  3644. // it's absolute.
  3645. result.host = relative.host || relative.host === '' ? relative.host : result.host;
  3646. result.hostname = relative.hostname || relative.hostname === '' ? relative.hostname : result.hostname;
  3647. result.search = relative.search;
  3648. result.query = relative.query;
  3649. srcPath = relPath;
  3650. // fall through to the dot-handling below.
  3651. } else if (relPath.length) {
  3652. /*
  3653. * it's relative
  3654. * throw away the existing file, and take the new path instead.
  3655. */
  3656. if (!srcPath) {
  3657. srcPath = [];
  3658. }
  3659. srcPath.pop();
  3660. srcPath = srcPath.concat(relPath);
  3661. result.search = relative.search;
  3662. result.query = relative.query;
  3663. } else if (relative.search != null) {
  3664. /*
  3665. * just pull out the search.
  3666. * like href='?foo'.
  3667. * Put this after the other two cases because it simplifies the booleans
  3668. */
  3669. if (psychotic) {
  3670. result.host = srcPath.shift();
  3671. result.hostname = result.host;
  3672. /*
  3673. * occationaly the auth can get stuck only in host
  3674. * this especially happens in cases like
  3675. * url.resolveObject('mailto:local1@domain1', 'local2@domain2')
  3676. */
  3677. var authInHost = result.host && result.host.indexOf('@') > 0 ? result.host.split('@') : false;
  3678. if (authInHost) {
  3679. result.auth = authInHost.shift();
  3680. result.hostname = authInHost.shift();
  3681. result.host = result.hostname;
  3682. }
  3683. }
  3684. result.search = relative.search;
  3685. result.query = relative.query;
  3686. // to support http.request
  3687. if (result.pathname !== null || result.search !== null) {
  3688. result.path = (result.pathname ? result.pathname : '') + (result.search ? result.search : '');
  3689. }
  3690. result.href = result.format();
  3691. return result;
  3692. }
  3693. if (!srcPath.length) {
  3694. /*
  3695. * no path at all. easy.
  3696. * we've already handled the other stuff above.
  3697. */
  3698. result.pathname = null;
  3699. // to support http.request
  3700. if (result.search) {
  3701. result.path = '/' + result.search;
  3702. } else {
  3703. result.path = null;
  3704. }
  3705. result.href = result.format();
  3706. return result;
  3707. }
  3708. /*
  3709. * if a url ENDs in . or .., then it must get a trailing slash.
  3710. * however, if it ends in anything else non-slashy,
  3711. * then it must NOT get a trailing slash.
  3712. */
  3713. var last = srcPath.slice(-1)[0];
  3714. var hasTrailingSlash = (result.host || relative.host || srcPath.length > 1) && (last === '.' || last === '..') || last === '';
  3715. /*
  3716. * strip single dots, resolve double dots to parent dir
  3717. * if the path tries to go above the root, `up` ends up > 0
  3718. */
  3719. var up = 0;
  3720. for (var i = srcPath.length; i >= 0; i--) {
  3721. last = srcPath[i];
  3722. if (last === '.') {
  3723. srcPath.splice(i, 1);
  3724. } else if (last === '..') {
  3725. srcPath.splice(i, 1);
  3726. up++;
  3727. } else if (up) {
  3728. srcPath.splice(i, 1);
  3729. up--;
  3730. }
  3731. }
  3732. // if the path is allowed to go above the root, restore leading ..s
  3733. if (!mustEndAbs && !removeAllDots) {
  3734. for (; up--; up) {
  3735. srcPath.unshift('..');
  3736. }
  3737. }
  3738. if (mustEndAbs && srcPath[0] !== '' && (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {
  3739. srcPath.unshift('');
  3740. }
  3741. if (hasTrailingSlash && srcPath.join('/').substr(-1) !== '/') {
  3742. srcPath.push('');
  3743. }
  3744. var isAbsolute = srcPath[0] === '' || srcPath[0] && srcPath[0].charAt(0) === '/';
  3745. // put the host back
  3746. if (psychotic) {
  3747. result.hostname = isAbsolute ? '' : srcPath.length ? srcPath.shift() : '';
  3748. result.host = result.hostname;
  3749. /*
  3750. * occationaly the auth can get stuck only in host
  3751. * this especially happens in cases like
  3752. * url.resolveObject('mailto:local1@domain1', 'local2@domain2')
  3753. */
  3754. var authInHost = result.host && result.host.indexOf('@') > 0 ? result.host.split('@') : false;
  3755. if (authInHost) {
  3756. result.auth = authInHost.shift();
  3757. result.hostname = authInHost.shift();
  3758. result.host = result.hostname;
  3759. }
  3760. }
  3761. mustEndAbs = mustEndAbs || result.host && srcPath.length;
  3762. if (mustEndAbs && !isAbsolute) {
  3763. srcPath.unshift('');
  3764. }
  3765. if (srcPath.length > 0) {
  3766. result.pathname = srcPath.join('/');
  3767. } else {
  3768. result.pathname = null;
  3769. result.path = null;
  3770. }
  3771. // to support request.http
  3772. if (result.pathname !== null || result.search !== null) {
  3773. result.path = (result.pathname ? result.pathname : '') + (result.search ? result.search : '');
  3774. }
  3775. result.auth = relative.auth || result.auth;
  3776. result.slashes = result.slashes || relative.slashes;
  3777. result.href = result.format();
  3778. return result;
  3779. };
  3780. Url.prototype.parseHost = function () {
  3781. var host = this.host;
  3782. var port = portPattern.exec(host);
  3783. if (port) {
  3784. port = port[0];
  3785. if (port !== ':') {
  3786. this.port = port.substr(1);
  3787. }
  3788. host = host.substr(0, host.length - port.length);
  3789. }
  3790. if (host) {
  3791. this.hostname = host;
  3792. }
  3793. };
  3794. exports.parse = urlParse;
  3795. exports.resolve = urlResolve;
  3796. exports.resolveObject = urlResolveObject;
  3797. exports.format = urlFormat;
  3798. exports.Url = Url;
  3799. /***/ }),
  3800. /***/ 53260:
  3801. /***/ (() => {
  3802. /* (ignored) */
  3803. /***/ })
  3804. /******/ });
  3805. /************************************************************************/
  3806. /******/ // The module cache
  3807. /******/ var __webpack_module_cache__ = {};
  3808. /******/
  3809. /******/ // The require function
  3810. /******/ function __webpack_require__(moduleId) {
  3811. /******/ // Check if module is in cache
  3812. /******/ var cachedModule = __webpack_module_cache__[moduleId];
  3813. /******/ if (cachedModule !== undefined) {
  3814. /******/ return cachedModule.exports;
  3815. /******/ }
  3816. /******/ // Create a new module (and put it into the cache)
  3817. /******/ var module = __webpack_module_cache__[moduleId] = {
  3818. /******/ // no module.id needed
  3819. /******/ // no module.loaded needed
  3820. /******/ exports: {}
  3821. /******/ };
  3822. /******/
  3823. /******/ // Execute the module function
  3824. /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
  3825. /******/
  3826. /******/ // Return the exports of the module
  3827. /******/ return module.exports;
  3828. /******/ }
  3829. /******/
  3830. /************************************************************************/
  3831. /******/ /* webpack/runtime/define property getters */
  3832. /******/ (() => {
  3833. /******/ // define getter functions for harmony exports
  3834. /******/ __webpack_require__.d = (exports, definition) => {
  3835. /******/ for(var key in definition) {
  3836. /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
  3837. /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
  3838. /******/ }
  3839. /******/ }
  3840. /******/ };
  3841. /******/ })();
  3842. /******/
  3843. /******/ /* webpack/runtime/global */
  3844. /******/ (() => {
  3845. /******/ __webpack_require__.g = (function() {
  3846. /******/ if (typeof globalThis === 'object') return globalThis;
  3847. /******/ try {
  3848. /******/ return this || new Function('return this')();
  3849. /******/ } catch (e) {
  3850. /******/ if (typeof window === 'object') return window;
  3851. /******/ }
  3852. /******/ })();
  3853. /******/ })();
  3854. /******/
  3855. /******/ /* webpack/runtime/hasOwnProperty shorthand */
  3856. /******/ (() => {
  3857. /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
  3858. /******/ })();
  3859. /******/
  3860. /******/ /* webpack/runtime/make namespace object */
  3861. /******/ (() => {
  3862. /******/ // define __esModule on exports
  3863. /******/ __webpack_require__.r = (exports) => {
  3864. /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
  3865. /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
  3866. /******/ }
  3867. /******/ Object.defineProperty(exports, '__esModule', { value: true });
  3868. /******/ };
  3869. /******/ })();
  3870. /******/
  3871. /************************************************************************/
  3872. var __webpack_exports__ = {};
  3873. // This entry need to be wrapped in an IIFE because it need to be in strict mode.
  3874. (() => {
  3875. "use strict";
  3876. ;// CONCATENATED MODULE: ../../libs/common/src/vault/abstractions/fido2/fido2-client.service.abstraction.ts
  3877. const UserRequestedFallbackAbortReason = "UserRequestedFallback";
  3878. /**
  3879. * This class represents an abstraction of the WebAuthn Client as described by W3C:
  3880. * https://www.w3.org/TR/webauthn-3/#webauthn-client
  3881. *
  3882. * The WebAuthn Client is an intermediary entity typically implemented in the user agent
  3883. * (in whole, or in part). Conceptually, it underlies the Web Authentication API and embodies
  3884. * the implementation of the Web Authentication API's operations.
  3885. *
  3886. * It is responsible for both marshalling the inputs for the underlying authenticator operations,
  3887. * and for returning the results of the latter operations to the Web Authentication API's callers.
  3888. */
  3889. class Fido2ClientService {
  3890. }
  3891. /**
  3892. * Error thrown when the user requests a fallback to the browser's built-in WebAuthn implementation.
  3893. */
  3894. class FallbackRequestedError extends Error {
  3895. constructor() {
  3896. super("FallbackRequested");
  3897. this.fallbackRequested = true;
  3898. }
  3899. }
  3900. // EXTERNAL MODULE: ../../node_modules/path-browserify/index.js
  3901. var path_browserify = __webpack_require__(14375);
  3902. ;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/util/isFunction.js
  3903. function isFunction_isFunction(value) {
  3904. return typeof value === 'function';
  3905. }
  3906. ;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/util/isScheduler.js
  3907. function isScheduler(value) {
  3908. return value && isFunction_isFunction(value.schedule);
  3909. }
  3910. ;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/util/args.js
  3911. function last(arr) {
  3912. return arr[arr.length - 1];
  3913. }
  3914. function popResultSelector(args) {
  3915. return isFunction(last(args)) ? args.pop() : undefined;
  3916. }
  3917. function popScheduler(args) {
  3918. return isScheduler(last(args)) ? args.pop() : undefined;
  3919. }
  3920. function popNumber(args, defaultValue) {
  3921. return typeof last(args) === 'number' ? args.pop() : defaultValue;
  3922. }
  3923. ;// CONCATENATED MODULE: ../../node_modules/tslib/tslib.es6.js
  3924. /******************************************************************************
  3925. Copyright (c) Microsoft Corporation.
  3926. Permission to use, copy, modify, and/or distribute this software for any
  3927. purpose with or without fee is hereby granted.
  3928. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
  3929. REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
  3930. AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
  3931. INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
  3932. LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
  3933. OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  3934. PERFORMANCE OF THIS SOFTWARE.
  3935. ***************************************************************************** */
  3936. /* global Reflect, Promise */
  3937. var extendStatics = function (d, b) {
  3938. extendStatics = Object.setPrototypeOf || {
  3939. __proto__: []
  3940. } instanceof Array && function (d, b) {
  3941. d.__proto__ = b;
  3942. } || function (d, b) {
  3943. for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];
  3944. };
  3945. return extendStatics(d, b);
  3946. };
  3947. function __extends(d, b) {
  3948. if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
  3949. extendStatics(d, b);
  3950. function __() {
  3951. this.constructor = d;
  3952. }
  3953. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  3954. }
  3955. var __assign = function () {
  3956. __assign = Object.assign || function __assign(t) {
  3957. for (var s, i = 1, n = arguments.length; i < n; i++) {
  3958. s = arguments[i];
  3959. for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
  3960. }
  3961. return t;
  3962. };
  3963. return __assign.apply(this, arguments);
  3964. };
  3965. function __rest(s, e) {
  3966. var t = {};
  3967. for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
  3968. if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
  3969. if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
  3970. }
  3971. return t;
  3972. }
  3973. function __decorate(decorators, target, key, desc) {
  3974. var c = arguments.length,
  3975. r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
  3976. d;
  3977. if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
  3978. return c > 3 && r && Object.defineProperty(target, key, r), r;
  3979. }
  3980. function __param(paramIndex, decorator) {
  3981. return function (target, key) {
  3982. decorator(target, key, paramIndex);
  3983. };
  3984. }
  3985. function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
  3986. function accept(f) {
  3987. if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected");
  3988. return f;
  3989. }
  3990. var kind = contextIn.kind,
  3991. key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
  3992. var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
  3993. var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
  3994. var _,
  3995. done = false;
  3996. for (var i = decorators.length - 1; i >= 0; i--) {
  3997. var context = {};
  3998. for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
  3999. for (var p in contextIn.access) context.access[p] = contextIn.access[p];
  4000. context.addInitializer = function (f) {
  4001. if (done) throw new TypeError("Cannot add initializers after decoration has completed");
  4002. extraInitializers.push(accept(f || null));
  4003. };
  4004. var result = (0, decorators[i])(kind === "accessor" ? {
  4005. get: descriptor.get,
  4006. set: descriptor.set
  4007. } : descriptor[key], context);
  4008. if (kind === "accessor") {
  4009. if (result === void 0) continue;
  4010. if (result === null || typeof result !== "object") throw new TypeError("Object expected");
  4011. if (_ = accept(result.get)) descriptor.get = _;
  4012. if (_ = accept(result.set)) descriptor.set = _;
  4013. if (_ = accept(result.init)) initializers.push(_);
  4014. } else if (_ = accept(result)) {
  4015. if (kind === "field") initializers.push(_);else descriptor[key] = _;
  4016. }
  4017. }
  4018. if (target) Object.defineProperty(target, contextIn.name, descriptor);
  4019. done = true;
  4020. }
  4021. ;
  4022. function __runInitializers(thisArg, initializers, value) {
  4023. var useValue = arguments.length > 2;
  4024. for (var i = 0; i < initializers.length; i++) {
  4025. value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
  4026. }
  4027. return useValue ? value : void 0;
  4028. }
  4029. ;
  4030. function __propKey(x) {
  4031. return typeof x === "symbol" ? x : "".concat(x);
  4032. }
  4033. ;
  4034. function __setFunctionName(f, name, prefix) {
  4035. if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
  4036. return Object.defineProperty(f, "name", {
  4037. configurable: true,
  4038. value: prefix ? "".concat(prefix, " ", name) : name
  4039. });
  4040. }
  4041. ;
  4042. function __metadata(metadataKey, metadataValue) {
  4043. if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
  4044. }
  4045. function __awaiter(thisArg, _arguments, P, generator) {
  4046. function adopt(value) {
  4047. return value instanceof P ? value : new P(function (resolve) {
  4048. resolve(value);
  4049. });
  4050. }
  4051. return new (P || (P = Promise))(function (resolve, reject) {
  4052. function fulfilled(value) {
  4053. try {
  4054. step(generator.next(value));
  4055. } catch (e) {
  4056. reject(e);
  4057. }
  4058. }
  4059. function rejected(value) {
  4060. try {
  4061. step(generator["throw"](value));
  4062. } catch (e) {
  4063. reject(e);
  4064. }
  4065. }
  4066. function step(result) {
  4067. result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
  4068. }
  4069. step((generator = generator.apply(thisArg, _arguments || [])).next());
  4070. });
  4071. }
  4072. function __generator(thisArg, body) {
  4073. var _ = {
  4074. label: 0,
  4075. sent: function () {
  4076. if (t[0] & 1) throw t[1];
  4077. return t[1];
  4078. },
  4079. trys: [],
  4080. ops: []
  4081. },
  4082. f,
  4083. y,
  4084. t,
  4085. g;
  4086. return g = {
  4087. next: verb(0),
  4088. "throw": verb(1),
  4089. "return": verb(2)
  4090. }, typeof Symbol === "function" && (g[Symbol.iterator] = function () {
  4091. return this;
  4092. }), g;
  4093. function verb(n) {
  4094. return function (v) {
  4095. return step([n, v]);
  4096. };
  4097. }
  4098. function step(op) {
  4099. if (f) throw new TypeError("Generator is already executing.");
  4100. while (g && (g = 0, op[0] && (_ = 0)), _) try {
  4101. if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
  4102. if (y = 0, t) op = [op[0] & 2, t.value];
  4103. switch (op[0]) {
  4104. case 0:
  4105. case 1:
  4106. t = op;
  4107. break;
  4108. case 4:
  4109. _.label++;
  4110. return {
  4111. value: op[1],
  4112. done: false
  4113. };
  4114. case 5:
  4115. _.label++;
  4116. y = op[1];
  4117. op = [0];
  4118. continue;
  4119. case 7:
  4120. op = _.ops.pop();
  4121. _.trys.pop();
  4122. continue;
  4123. default:
  4124. if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
  4125. _ = 0;
  4126. continue;
  4127. }
  4128. if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
  4129. _.label = op[1];
  4130. break;
  4131. }
  4132. if (op[0] === 6 && _.label < t[1]) {
  4133. _.label = t[1];
  4134. t = op;
  4135. break;
  4136. }
  4137. if (t && _.label < t[2]) {
  4138. _.label = t[2];
  4139. _.ops.push(op);
  4140. break;
  4141. }
  4142. if (t[2]) _.ops.pop();
  4143. _.trys.pop();
  4144. continue;
  4145. }
  4146. op = body.call(thisArg, _);
  4147. } catch (e) {
  4148. op = [6, e];
  4149. y = 0;
  4150. } finally {
  4151. f = t = 0;
  4152. }
  4153. if (op[0] & 5) throw op[1];
  4154. return {
  4155. value: op[0] ? op[1] : void 0,
  4156. done: true
  4157. };
  4158. }
  4159. }
  4160. var __createBinding = Object.create ? function (o, m, k, k2) {
  4161. if (k2 === undefined) k2 = k;
  4162. var desc = Object.getOwnPropertyDescriptor(m, k);
  4163. if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
  4164. desc = {
  4165. enumerable: true,
  4166. get: function () {
  4167. return m[k];
  4168. }
  4169. };
  4170. }
  4171. Object.defineProperty(o, k2, desc);
  4172. } : function (o, m, k, k2) {
  4173. if (k2 === undefined) k2 = k;
  4174. o[k2] = m[k];
  4175. };
  4176. function __exportStar(m, o) {
  4177. for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
  4178. }
  4179. function __values(o) {
  4180. var s = typeof Symbol === "function" && Symbol.iterator,
  4181. m = s && o[s],
  4182. i = 0;
  4183. if (m) return m.call(o);
  4184. if (o && typeof o.length === "number") return {
  4185. next: function () {
  4186. if (o && i >= o.length) o = void 0;
  4187. return {
  4188. value: o && o[i++],
  4189. done: !o
  4190. };
  4191. }
  4192. };
  4193. throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
  4194. }
  4195. function __read(o, n) {
  4196. var m = typeof Symbol === "function" && o[Symbol.iterator];
  4197. if (!m) return o;
  4198. var i = m.call(o),
  4199. r,
  4200. ar = [],
  4201. e;
  4202. try {
  4203. while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
  4204. } catch (error) {
  4205. e = {
  4206. error: error
  4207. };
  4208. } finally {
  4209. try {
  4210. if (r && !r.done && (m = i["return"])) m.call(i);
  4211. } finally {
  4212. if (e) throw e.error;
  4213. }
  4214. }
  4215. return ar;
  4216. }
  4217. /** @deprecated */
  4218. function __spread() {
  4219. for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));
  4220. return ar;
  4221. }
  4222. /** @deprecated */
  4223. function __spreadArrays() {
  4224. for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
  4225. for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) r[k] = a[j];
  4226. return r;
  4227. }
  4228. function __spreadArray(to, from, pack) {
  4229. if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
  4230. if (ar || !(i in from)) {
  4231. if (!ar) ar = Array.prototype.slice.call(from, 0, i);
  4232. ar[i] = from[i];
  4233. }
  4234. }
  4235. return to.concat(ar || Array.prototype.slice.call(from));
  4236. }
  4237. function __await(v) {
  4238. return this instanceof __await ? (this.v = v, this) : new __await(v);
  4239. }
  4240. function __asyncGenerator(thisArg, _arguments, generator) {
  4241. if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
  4242. var g = generator.apply(thisArg, _arguments || []),
  4243. i,
  4244. q = [];
  4245. return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () {
  4246. return this;
  4247. }, i;
  4248. function verb(n) {
  4249. if (g[n]) i[n] = function (v) {
  4250. return new Promise(function (a, b) {
  4251. q.push([n, v, a, b]) > 1 || resume(n, v);
  4252. });
  4253. };
  4254. }
  4255. function resume(n, v) {
  4256. try {
  4257. step(g[n](v));
  4258. } catch (e) {
  4259. settle(q[0][3], e);
  4260. }
  4261. }
  4262. function step(r) {
  4263. r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);
  4264. }
  4265. function fulfill(value) {
  4266. resume("next", value);
  4267. }
  4268. function reject(value) {
  4269. resume("throw", value);
  4270. }
  4271. function settle(f, v) {
  4272. if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);
  4273. }
  4274. }
  4275. function __asyncDelegator(o) {
  4276. var i, p;
  4277. return i = {}, verb("next"), verb("throw", function (e) {
  4278. throw e;
  4279. }), verb("return"), i[Symbol.iterator] = function () {
  4280. return this;
  4281. }, i;
  4282. function verb(n, f) {
  4283. i[n] = o[n] ? function (v) {
  4284. return (p = !p) ? {
  4285. value: __await(o[n](v)),
  4286. done: false
  4287. } : f ? f(v) : v;
  4288. } : f;
  4289. }
  4290. }
  4291. function __asyncValues(o) {
  4292. if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
  4293. var m = o[Symbol.asyncIterator],
  4294. i;
  4295. return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () {
  4296. return this;
  4297. }, i);
  4298. function verb(n) {
  4299. i[n] = o[n] && function (v) {
  4300. return new Promise(function (resolve, reject) {
  4301. v = o[n](v), settle(resolve, reject, v.done, v.value);
  4302. });
  4303. };
  4304. }
  4305. function settle(resolve, reject, d, v) {
  4306. Promise.resolve(v).then(function (v) {
  4307. resolve({
  4308. value: v,
  4309. done: d
  4310. });
  4311. }, reject);
  4312. }
  4313. }
  4314. function __makeTemplateObject(cooked, raw) {
  4315. if (Object.defineProperty) {
  4316. Object.defineProperty(cooked, "raw", {
  4317. value: raw
  4318. });
  4319. } else {
  4320. cooked.raw = raw;
  4321. }
  4322. return cooked;
  4323. }
  4324. ;
  4325. var __setModuleDefault = Object.create ? function (o, v) {
  4326. Object.defineProperty(o, "default", {
  4327. enumerable: true,
  4328. value: v
  4329. });
  4330. } : function (o, v) {
  4331. o["default"] = v;
  4332. };
  4333. function __importStar(mod) {
  4334. if (mod && mod.__esModule) return mod;
  4335. var result = {};
  4336. if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
  4337. __setModuleDefault(result, mod);
  4338. return result;
  4339. }
  4340. function __importDefault(mod) {
  4341. return mod && mod.__esModule ? mod : {
  4342. default: mod
  4343. };
  4344. }
  4345. function __classPrivateFieldGet(receiver, state, kind, f) {
  4346. if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
  4347. if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
  4348. return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
  4349. }
  4350. function __classPrivateFieldSet(receiver, state, value, kind, f) {
  4351. if (kind === "m") throw new TypeError("Private method is not writable");
  4352. if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
  4353. if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
  4354. return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;
  4355. }
  4356. function __classPrivateFieldIn(state, receiver) {
  4357. if (receiver === null || typeof receiver !== "object" && typeof receiver !== "function") throw new TypeError("Cannot use 'in' operator on non-object");
  4358. return typeof state === "function" ? receiver === state : state.has(receiver);
  4359. }
  4360. ;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/util/isArrayLike.js
  4361. var isArrayLike = function (x) {
  4362. return x && typeof x.length === 'number' && typeof x !== 'function';
  4363. };
  4364. ;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/util/isPromise.js
  4365. function isPromise(value) {
  4366. return isFunction_isFunction(value === null || value === void 0 ? void 0 : value.then);
  4367. }
  4368. ;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js
  4369. function createErrorClass(createImpl) {
  4370. var _super = function (instance) {
  4371. Error.call(instance);
  4372. instance.stack = new Error().stack;
  4373. };
  4374. var ctorFunc = createImpl(_super);
  4375. ctorFunc.prototype = Object.create(Error.prototype);
  4376. ctorFunc.prototype.constructor = ctorFunc;
  4377. return ctorFunc;
  4378. }
  4379. ;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js
  4380. var UnsubscriptionError = createErrorClass(function (_super) {
  4381. return function UnsubscriptionErrorImpl(errors) {
  4382. _super(this);
  4383. this.message = errors ? errors.length + " errors occurred during unsubscription:\n" + errors.map(function (err, i) {
  4384. return i + 1 + ") " + err.toString();
  4385. }).join('\n ') : '';
  4386. this.name = 'UnsubscriptionError';
  4387. this.errors = errors;
  4388. };
  4389. });
  4390. ;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/util/arrRemove.js
  4391. function arrRemove(arr, item) {
  4392. if (arr) {
  4393. var index = arr.indexOf(item);
  4394. 0 <= index && arr.splice(index, 1);
  4395. }
  4396. }
  4397. ;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/Subscription.js
  4398. var Subscription = function () {
  4399. function Subscription(initialTeardown) {
  4400. this.initialTeardown = initialTeardown;
  4401. this.closed = false;
  4402. this._parentage = null;
  4403. this._finalizers = null;
  4404. }
  4405. Subscription.prototype.unsubscribe = function () {
  4406. var e_1, _a, e_2, _b;
  4407. var errors;
  4408. if (!this.closed) {
  4409. this.closed = true;
  4410. var _parentage = this._parentage;
  4411. if (_parentage) {
  4412. this._parentage = null;
  4413. if (Array.isArray(_parentage)) {
  4414. try {
  4415. for (var _parentage_1 = __values(_parentage), _parentage_1_1 = _parentage_1.next(); !_parentage_1_1.done; _parentage_1_1 = _parentage_1.next()) {
  4416. var parent_1 = _parentage_1_1.value;
  4417. parent_1.remove(this);
  4418. }
  4419. } catch (e_1_1) {
  4420. e_1 = {
  4421. error: e_1_1
  4422. };
  4423. } finally {
  4424. try {
  4425. if (_parentage_1_1 && !_parentage_1_1.done && (_a = _parentage_1.return)) _a.call(_parentage_1);
  4426. } finally {
  4427. if (e_1) throw e_1.error;
  4428. }
  4429. }
  4430. } else {
  4431. _parentage.remove(this);
  4432. }
  4433. }
  4434. var initialFinalizer = this.initialTeardown;
  4435. if (isFunction_isFunction(initialFinalizer)) {
  4436. try {
  4437. initialFinalizer();
  4438. } catch (e) {
  4439. errors = e instanceof UnsubscriptionError ? e.errors : [e];
  4440. }
  4441. }
  4442. var _finalizers = this._finalizers;
  4443. if (_finalizers) {
  4444. this._finalizers = null;
  4445. try {
  4446. for (var _finalizers_1 = __values(_finalizers), _finalizers_1_1 = _finalizers_1.next(); !_finalizers_1_1.done; _finalizers_1_1 = _finalizers_1.next()) {
  4447. var finalizer = _finalizers_1_1.value;
  4448. try {
  4449. execFinalizer(finalizer);
  4450. } catch (err) {
  4451. errors = errors !== null && errors !== void 0 ? errors : [];
  4452. if (err instanceof UnsubscriptionError) {
  4453. errors = __spreadArray(__spreadArray([], __read(errors)), __read(err.errors));
  4454. } else {
  4455. errors.push(err);
  4456. }
  4457. }
  4458. }
  4459. } catch (e_2_1) {
  4460. e_2 = {
  4461. error: e_2_1
  4462. };
  4463. } finally {
  4464. try {
  4465. if (_finalizers_1_1 && !_finalizers_1_1.done && (_b = _finalizers_1.return)) _b.call(_finalizers_1);
  4466. } finally {
  4467. if (e_2) throw e_2.error;
  4468. }
  4469. }
  4470. }
  4471. if (errors) {
  4472. throw new UnsubscriptionError(errors);
  4473. }
  4474. }
  4475. };
  4476. Subscription.prototype.add = function (teardown) {
  4477. var _a;
  4478. if (teardown && teardown !== this) {
  4479. if (this.closed) {
  4480. execFinalizer(teardown);
  4481. } else {
  4482. if (teardown instanceof Subscription) {
  4483. if (teardown.closed || teardown._hasParent(this)) {
  4484. return;
  4485. }
  4486. teardown._addParent(this);
  4487. }
  4488. (this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);
  4489. }
  4490. }
  4491. };
  4492. Subscription.prototype._hasParent = function (parent) {
  4493. var _parentage = this._parentage;
  4494. return _parentage === parent || Array.isArray(_parentage) && _parentage.includes(parent);
  4495. };
  4496. Subscription.prototype._addParent = function (parent) {
  4497. var _parentage = this._parentage;
  4498. this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;
  4499. };
  4500. Subscription.prototype._removeParent = function (parent) {
  4501. var _parentage = this._parentage;
  4502. if (_parentage === parent) {
  4503. this._parentage = null;
  4504. } else if (Array.isArray(_parentage)) {
  4505. arrRemove(_parentage, parent);
  4506. }
  4507. };
  4508. Subscription.prototype.remove = function (teardown) {
  4509. var _finalizers = this._finalizers;
  4510. _finalizers && arrRemove(_finalizers, teardown);
  4511. if (teardown instanceof Subscription) {
  4512. teardown._removeParent(this);
  4513. }
  4514. };
  4515. Subscription.EMPTY = function () {
  4516. var empty = new Subscription();
  4517. empty.closed = true;
  4518. return empty;
  4519. }();
  4520. return Subscription;
  4521. }();
  4522. var EMPTY_SUBSCRIPTION = Subscription.EMPTY;
  4523. function isSubscription(value) {
  4524. return value instanceof Subscription || value && 'closed' in value && isFunction_isFunction(value.remove) && isFunction_isFunction(value.add) && isFunction_isFunction(value.unsubscribe);
  4525. }
  4526. function execFinalizer(finalizer) {
  4527. if (isFunction_isFunction(finalizer)) {
  4528. finalizer();
  4529. } else {
  4530. finalizer.unsubscribe();
  4531. }
  4532. }
  4533. ;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/config.js
  4534. var config = {
  4535. onUnhandledError: null,
  4536. onStoppedNotification: null,
  4537. Promise: undefined,
  4538. useDeprecatedSynchronousErrorHandling: false,
  4539. useDeprecatedNextContext: false
  4540. };
  4541. ;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js
  4542. var timeoutProvider = {
  4543. setTimeout: function (handler, timeout) {
  4544. var args = [];
  4545. for (var _i = 2; _i < arguments.length; _i++) {
  4546. args[_i - 2] = arguments[_i];
  4547. }
  4548. var delegate = timeoutProvider.delegate;
  4549. if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) {
  4550. return delegate.setTimeout.apply(delegate, __spreadArray([handler, timeout], __read(args)));
  4551. }
  4552. return setTimeout.apply(void 0, __spreadArray([handler, timeout], __read(args)));
  4553. },
  4554. clearTimeout: function (handle) {
  4555. var delegate = timeoutProvider.delegate;
  4556. return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);
  4557. },
  4558. delegate: undefined
  4559. };
  4560. ;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js
  4561. function reportUnhandledError(err) {
  4562. timeoutProvider.setTimeout(function () {
  4563. var onUnhandledError = config.onUnhandledError;
  4564. if (onUnhandledError) {
  4565. onUnhandledError(err);
  4566. } else {
  4567. throw err;
  4568. }
  4569. });
  4570. }
  4571. ;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/util/noop.js
  4572. function noop() {}
  4573. ;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/NotificationFactories.js
  4574. var COMPLETE_NOTIFICATION = function () {
  4575. return createNotification('C', undefined, undefined);
  4576. }();
  4577. function errorNotification(error) {
  4578. return createNotification('E', undefined, error);
  4579. }
  4580. function nextNotification(value) {
  4581. return createNotification('N', value, undefined);
  4582. }
  4583. function createNotification(kind, value, error) {
  4584. return {
  4585. kind: kind,
  4586. value: value,
  4587. error: error
  4588. };
  4589. }
  4590. ;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/util/errorContext.js
  4591. var context = null;
  4592. function errorContext(cb) {
  4593. if (config.useDeprecatedSynchronousErrorHandling) {
  4594. var isRoot = !context;
  4595. if (isRoot) {
  4596. context = {
  4597. errorThrown: false,
  4598. error: null
  4599. };
  4600. }
  4601. cb();
  4602. if (isRoot) {
  4603. var _a = context,
  4604. errorThrown = _a.errorThrown,
  4605. error = _a.error;
  4606. context = null;
  4607. if (errorThrown) {
  4608. throw error;
  4609. }
  4610. }
  4611. } else {
  4612. cb();
  4613. }
  4614. }
  4615. function captureError(err) {
  4616. if (config.useDeprecatedSynchronousErrorHandling && context) {
  4617. context.errorThrown = true;
  4618. context.error = err;
  4619. }
  4620. }
  4621. ;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/Subscriber.js
  4622. var Subscriber = function (_super) {
  4623. __extends(Subscriber, _super);
  4624. function Subscriber(destination) {
  4625. var _this = _super.call(this) || this;
  4626. _this.isStopped = false;
  4627. if (destination) {
  4628. _this.destination = destination;
  4629. if (isSubscription(destination)) {
  4630. destination.add(_this);
  4631. }
  4632. } else {
  4633. _this.destination = EMPTY_OBSERVER;
  4634. }
  4635. return _this;
  4636. }
  4637. Subscriber.create = function (next, error, complete) {
  4638. return new SafeSubscriber(next, error, complete);
  4639. };
  4640. Subscriber.prototype.next = function (value) {
  4641. if (this.isStopped) {
  4642. handleStoppedNotification(nextNotification(value), this);
  4643. } else {
  4644. this._next(value);
  4645. }
  4646. };
  4647. Subscriber.prototype.error = function (err) {
  4648. if (this.isStopped) {
  4649. handleStoppedNotification(errorNotification(err), this);
  4650. } else {
  4651. this.isStopped = true;
  4652. this._error(err);
  4653. }
  4654. };
  4655. Subscriber.prototype.complete = function () {
  4656. if (this.isStopped) {
  4657. handleStoppedNotification(COMPLETE_NOTIFICATION, this);
  4658. } else {
  4659. this.isStopped = true;
  4660. this._complete();
  4661. }
  4662. };
  4663. Subscriber.prototype.unsubscribe = function () {
  4664. if (!this.closed) {
  4665. this.isStopped = true;
  4666. _super.prototype.unsubscribe.call(this);
  4667. this.destination = null;
  4668. }
  4669. };
  4670. Subscriber.prototype._next = function (value) {
  4671. this.destination.next(value);
  4672. };
  4673. Subscriber.prototype._error = function (err) {
  4674. try {
  4675. this.destination.error(err);
  4676. } finally {
  4677. this.unsubscribe();
  4678. }
  4679. };
  4680. Subscriber.prototype._complete = function () {
  4681. try {
  4682. this.destination.complete();
  4683. } finally {
  4684. this.unsubscribe();
  4685. }
  4686. };
  4687. return Subscriber;
  4688. }(Subscription);
  4689. var _bind = Function.prototype.bind;
  4690. function bind(fn, thisArg) {
  4691. return _bind.call(fn, thisArg);
  4692. }
  4693. var ConsumerObserver = function () {
  4694. function ConsumerObserver(partialObserver) {
  4695. this.partialObserver = partialObserver;
  4696. }
  4697. ConsumerObserver.prototype.next = function (value) {
  4698. var partialObserver = this.partialObserver;
  4699. if (partialObserver.next) {
  4700. try {
  4701. partialObserver.next(value);
  4702. } catch (error) {
  4703. handleUnhandledError(error);
  4704. }
  4705. }
  4706. };
  4707. ConsumerObserver.prototype.error = function (err) {
  4708. var partialObserver = this.partialObserver;
  4709. if (partialObserver.error) {
  4710. try {
  4711. partialObserver.error(err);
  4712. } catch (error) {
  4713. handleUnhandledError(error);
  4714. }
  4715. } else {
  4716. handleUnhandledError(err);
  4717. }
  4718. };
  4719. ConsumerObserver.prototype.complete = function () {
  4720. var partialObserver = this.partialObserver;
  4721. if (partialObserver.complete) {
  4722. try {
  4723. partialObserver.complete();
  4724. } catch (error) {
  4725. handleUnhandledError(error);
  4726. }
  4727. }
  4728. };
  4729. return ConsumerObserver;
  4730. }();
  4731. var SafeSubscriber = function (_super) {
  4732. __extends(SafeSubscriber, _super);
  4733. function SafeSubscriber(observerOrNext, error, complete) {
  4734. var _this = _super.call(this) || this;
  4735. var partialObserver;
  4736. if (isFunction_isFunction(observerOrNext) || !observerOrNext) {
  4737. partialObserver = {
  4738. next: observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : undefined,
  4739. error: error !== null && error !== void 0 ? error : undefined,
  4740. complete: complete !== null && complete !== void 0 ? complete : undefined
  4741. };
  4742. } else {
  4743. var context_1;
  4744. if (_this && config.useDeprecatedNextContext) {
  4745. context_1 = Object.create(observerOrNext);
  4746. context_1.unsubscribe = function () {
  4747. return _this.unsubscribe();
  4748. };
  4749. partialObserver = {
  4750. next: observerOrNext.next && bind(observerOrNext.next, context_1),
  4751. error: observerOrNext.error && bind(observerOrNext.error, context_1),
  4752. complete: observerOrNext.complete && bind(observerOrNext.complete, context_1)
  4753. };
  4754. } else {
  4755. partialObserver = observerOrNext;
  4756. }
  4757. }
  4758. _this.destination = new ConsumerObserver(partialObserver);
  4759. return _this;
  4760. }
  4761. return SafeSubscriber;
  4762. }(Subscriber);
  4763. function handleUnhandledError(error) {
  4764. if (config.useDeprecatedSynchronousErrorHandling) {
  4765. captureError(error);
  4766. } else {
  4767. reportUnhandledError(error);
  4768. }
  4769. }
  4770. function defaultErrorHandler(err) {
  4771. throw err;
  4772. }
  4773. function handleStoppedNotification(notification, subscriber) {
  4774. var onStoppedNotification = config.onStoppedNotification;
  4775. onStoppedNotification && timeoutProvider.setTimeout(function () {
  4776. return onStoppedNotification(notification, subscriber);
  4777. });
  4778. }
  4779. var EMPTY_OBSERVER = {
  4780. closed: true,
  4781. next: noop,
  4782. error: defaultErrorHandler,
  4783. complete: noop
  4784. };
  4785. ;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/symbol/observable.js
  4786. var observable = function () {
  4787. return typeof Symbol === 'function' && Symbol.observable || '@@observable';
  4788. }();
  4789. ;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/util/identity.js
  4790. function identity(x) {
  4791. return x;
  4792. }
  4793. ;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/util/pipe.js
  4794. function pipe() {
  4795. var fns = [];
  4796. for (var _i = 0; _i < arguments.length; _i++) {
  4797. fns[_i] = arguments[_i];
  4798. }
  4799. return pipeFromArray(fns);
  4800. }
  4801. function pipeFromArray(fns) {
  4802. if (fns.length === 0) {
  4803. return identity;
  4804. }
  4805. if (fns.length === 1) {
  4806. return fns[0];
  4807. }
  4808. return function piped(input) {
  4809. return fns.reduce(function (prev, fn) {
  4810. return fn(prev);
  4811. }, input);
  4812. };
  4813. }
  4814. ;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/Observable.js
  4815. var Observable = function () {
  4816. function Observable(subscribe) {
  4817. if (subscribe) {
  4818. this._subscribe = subscribe;
  4819. }
  4820. }
  4821. Observable.prototype.lift = function (operator) {
  4822. var observable = new Observable();
  4823. observable.source = this;
  4824. observable.operator = operator;
  4825. return observable;
  4826. };
  4827. Observable.prototype.subscribe = function (observerOrNext, error, complete) {
  4828. var _this = this;
  4829. var subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);
  4830. errorContext(function () {
  4831. var _a = _this,
  4832. operator = _a.operator,
  4833. source = _a.source;
  4834. subscriber.add(operator ? operator.call(subscriber, source) : source ? _this._subscribe(subscriber) : _this._trySubscribe(subscriber));
  4835. });
  4836. return subscriber;
  4837. };
  4838. Observable.prototype._trySubscribe = function (sink) {
  4839. try {
  4840. return this._subscribe(sink);
  4841. } catch (err) {
  4842. sink.error(err);
  4843. }
  4844. };
  4845. Observable.prototype.forEach = function (next, promiseCtor) {
  4846. var _this = this;
  4847. promiseCtor = getPromiseCtor(promiseCtor);
  4848. return new promiseCtor(function (resolve, reject) {
  4849. var subscriber = new SafeSubscriber({
  4850. next: function (value) {
  4851. try {
  4852. next(value);
  4853. } catch (err) {
  4854. reject(err);
  4855. subscriber.unsubscribe();
  4856. }
  4857. },
  4858. error: reject,
  4859. complete: resolve
  4860. });
  4861. _this.subscribe(subscriber);
  4862. });
  4863. };
  4864. Observable.prototype._subscribe = function (subscriber) {
  4865. var _a;
  4866. return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);
  4867. };
  4868. Observable.prototype[observable] = function () {
  4869. return this;
  4870. };
  4871. Observable.prototype.pipe = function () {
  4872. var operations = [];
  4873. for (var _i = 0; _i < arguments.length; _i++) {
  4874. operations[_i] = arguments[_i];
  4875. }
  4876. return pipeFromArray(operations)(this);
  4877. };
  4878. Observable.prototype.toPromise = function (promiseCtor) {
  4879. var _this = this;
  4880. promiseCtor = getPromiseCtor(promiseCtor);
  4881. return new promiseCtor(function (resolve, reject) {
  4882. var value;
  4883. _this.subscribe(function (x) {
  4884. return value = x;
  4885. }, function (err) {
  4886. return reject(err);
  4887. }, function () {
  4888. return resolve(value);
  4889. });
  4890. });
  4891. };
  4892. Observable.create = function (subscribe) {
  4893. return new Observable(subscribe);
  4894. };
  4895. return Observable;
  4896. }();
  4897. function getPromiseCtor(promiseCtor) {
  4898. var _a;
  4899. return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a !== void 0 ? _a : Promise;
  4900. }
  4901. function isObserver(value) {
  4902. return value && isFunction_isFunction(value.next) && isFunction_isFunction(value.error) && isFunction_isFunction(value.complete);
  4903. }
  4904. function isSubscriber(value) {
  4905. return value && value instanceof Subscriber || isObserver(value) && isSubscription(value);
  4906. }
  4907. ;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/util/isInteropObservable.js
  4908. function isInteropObservable(input) {
  4909. return isFunction_isFunction(input[observable]);
  4910. }
  4911. ;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/util/isAsyncIterable.js
  4912. function isAsyncIterable(obj) {
  4913. return Symbol.asyncIterator && isFunction_isFunction(obj === null || obj === void 0 ? void 0 : obj[Symbol.asyncIterator]);
  4914. }
  4915. ;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/util/throwUnobservableError.js
  4916. function createInvalidObservableTypeError(input) {
  4917. return new TypeError("You provided " + (input !== null && typeof input === 'object' ? 'an invalid object' : "'" + input + "'") + " where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.");
  4918. }
  4919. ;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/symbol/iterator.js
  4920. function getSymbolIterator() {
  4921. if (typeof Symbol !== 'function' || !Symbol.iterator) {
  4922. return '@@iterator';
  4923. }
  4924. return Symbol.iterator;
  4925. }
  4926. var iterator_iterator = getSymbolIterator();
  4927. ;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/util/isIterable.js
  4928. function isIterable(input) {
  4929. return isFunction_isFunction(input === null || input === void 0 ? void 0 : input[iterator_iterator]);
  4930. }
  4931. ;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/util/isReadableStreamLike.js
  4932. function readableStreamLikeToAsyncGenerator(readableStream) {
  4933. return __asyncGenerator(this, arguments, function readableStreamLikeToAsyncGenerator_1() {
  4934. var reader, _a, value, done;
  4935. return __generator(this, function (_b) {
  4936. switch (_b.label) {
  4937. case 0:
  4938. reader = readableStream.getReader();
  4939. _b.label = 1;
  4940. case 1:
  4941. _b.trys.push([1,, 9, 10]);
  4942. _b.label = 2;
  4943. case 2:
  4944. if (false) {}
  4945. return [4, __await(reader.read())];
  4946. case 3:
  4947. _a = _b.sent(), value = _a.value, done = _a.done;
  4948. if (!done) return [3, 5];
  4949. return [4, __await(void 0)];
  4950. case 4:
  4951. return [2, _b.sent()];
  4952. case 5:
  4953. return [4, __await(value)];
  4954. case 6:
  4955. return [4, _b.sent()];
  4956. case 7:
  4957. _b.sent();
  4958. return [3, 2];
  4959. case 8:
  4960. return [3, 10];
  4961. case 9:
  4962. reader.releaseLock();
  4963. return [7];
  4964. case 10:
  4965. return [2];
  4966. }
  4967. });
  4968. });
  4969. }
  4970. function isReadableStreamLike(obj) {
  4971. return isFunction_isFunction(obj === null || obj === void 0 ? void 0 : obj.getReader);
  4972. }
  4973. ;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js
  4974. function innerFrom(input) {
  4975. if (input instanceof Observable) {
  4976. return input;
  4977. }
  4978. if (input != null) {
  4979. if (isInteropObservable(input)) {
  4980. return fromInteropObservable(input);
  4981. }
  4982. if (isArrayLike(input)) {
  4983. return fromArrayLike(input);
  4984. }
  4985. if (isPromise(input)) {
  4986. return fromPromise(input);
  4987. }
  4988. if (isAsyncIterable(input)) {
  4989. return fromAsyncIterable(input);
  4990. }
  4991. if (isIterable(input)) {
  4992. return fromIterable(input);
  4993. }
  4994. if (isReadableStreamLike(input)) {
  4995. return fromReadableStreamLike(input);
  4996. }
  4997. }
  4998. throw createInvalidObservableTypeError(input);
  4999. }
  5000. function fromInteropObservable(obj) {
  5001. return new Observable(function (subscriber) {
  5002. var obs = obj[observable]();
  5003. if (isFunction_isFunction(obs.subscribe)) {
  5004. return obs.subscribe(subscriber);
  5005. }
  5006. throw new TypeError('Provided object does not correctly implement Symbol.observable');
  5007. });
  5008. }
  5009. function fromArrayLike(array) {
  5010. return new Observable(function (subscriber) {
  5011. for (var i = 0; i < array.length && !subscriber.closed; i++) {
  5012. subscriber.next(array[i]);
  5013. }
  5014. subscriber.complete();
  5015. });
  5016. }
  5017. function fromPromise(promise) {
  5018. return new Observable(function (subscriber) {
  5019. promise.then(function (value) {
  5020. if (!subscriber.closed) {
  5021. subscriber.next(value);
  5022. subscriber.complete();
  5023. }
  5024. }, function (err) {
  5025. return subscriber.error(err);
  5026. }).then(null, reportUnhandledError);
  5027. });
  5028. }
  5029. function fromIterable(iterable) {
  5030. return new Observable(function (subscriber) {
  5031. var e_1, _a;
  5032. try {
  5033. for (var iterable_1 = __values(iterable), iterable_1_1 = iterable_1.next(); !iterable_1_1.done; iterable_1_1 = iterable_1.next()) {
  5034. var value = iterable_1_1.value;
  5035. subscriber.next(value);
  5036. if (subscriber.closed) {
  5037. return;
  5038. }
  5039. }
  5040. } catch (e_1_1) {
  5041. e_1 = {
  5042. error: e_1_1
  5043. };
  5044. } finally {
  5045. try {
  5046. if (iterable_1_1 && !iterable_1_1.done && (_a = iterable_1.return)) _a.call(iterable_1);
  5047. } finally {
  5048. if (e_1) throw e_1.error;
  5049. }
  5050. }
  5051. subscriber.complete();
  5052. });
  5053. }
  5054. function fromAsyncIterable(asyncIterable) {
  5055. return new Observable(function (subscriber) {
  5056. process(asyncIterable, subscriber).catch(function (err) {
  5057. return subscriber.error(err);
  5058. });
  5059. });
  5060. }
  5061. function fromReadableStreamLike(readableStream) {
  5062. return fromAsyncIterable(readableStreamLikeToAsyncGenerator(readableStream));
  5063. }
  5064. function process(asyncIterable, subscriber) {
  5065. var asyncIterable_1, asyncIterable_1_1;
  5066. var e_2, _a;
  5067. return __awaiter(this, void 0, void 0, function () {
  5068. var value, e_2_1;
  5069. return __generator(this, function (_b) {
  5070. switch (_b.label) {
  5071. case 0:
  5072. _b.trys.push([0, 5, 6, 11]);
  5073. asyncIterable_1 = __asyncValues(asyncIterable);
  5074. _b.label = 1;
  5075. case 1:
  5076. return [4, asyncIterable_1.next()];
  5077. case 2:
  5078. if (!(asyncIterable_1_1 = _b.sent(), !asyncIterable_1_1.done)) return [3, 4];
  5079. value = asyncIterable_1_1.value;
  5080. subscriber.next(value);
  5081. if (subscriber.closed) {
  5082. return [2];
  5083. }
  5084. _b.label = 3;
  5085. case 3:
  5086. return [3, 1];
  5087. case 4:
  5088. return [3, 11];
  5089. case 5:
  5090. e_2_1 = _b.sent();
  5091. e_2 = {
  5092. error: e_2_1
  5093. };
  5094. return [3, 11];
  5095. case 6:
  5096. _b.trys.push([6,, 9, 10]);
  5097. if (!(asyncIterable_1_1 && !asyncIterable_1_1.done && (_a = asyncIterable_1.return))) return [3, 8];
  5098. return [4, _a.call(asyncIterable_1)];
  5099. case 7:
  5100. _b.sent();
  5101. _b.label = 8;
  5102. case 8:
  5103. return [3, 10];
  5104. case 9:
  5105. if (e_2) throw e_2.error;
  5106. return [7];
  5107. case 10:
  5108. return [7];
  5109. case 11:
  5110. subscriber.complete();
  5111. return [2];
  5112. }
  5113. });
  5114. });
  5115. }
  5116. ;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/util/executeSchedule.js
  5117. function executeSchedule(parentSubscription, scheduler, work, delay, repeat) {
  5118. if (delay === void 0) {
  5119. delay = 0;
  5120. }
  5121. if (repeat === void 0) {
  5122. repeat = false;
  5123. }
  5124. var scheduleSubscription = scheduler.schedule(function () {
  5125. work();
  5126. if (repeat) {
  5127. parentSubscription.add(this.schedule(null, delay));
  5128. } else {
  5129. this.unsubscribe();
  5130. }
  5131. }, delay);
  5132. parentSubscription.add(scheduleSubscription);
  5133. if (!repeat) {
  5134. return scheduleSubscription;
  5135. }
  5136. }
  5137. ;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/util/lift.js
  5138. function hasLift(source) {
  5139. return isFunction_isFunction(source === null || source === void 0 ? void 0 : source.lift);
  5140. }
  5141. function operate(init) {
  5142. return function (source) {
  5143. if (hasLift(source)) {
  5144. return source.lift(function (liftedSource) {
  5145. try {
  5146. return init(liftedSource, this);
  5147. } catch (err) {
  5148. this.error(err);
  5149. }
  5150. });
  5151. }
  5152. throw new TypeError('Unable to lift unknown Observable type');
  5153. };
  5154. }
  5155. ;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js
  5156. function createOperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) {
  5157. return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);
  5158. }
  5159. var OperatorSubscriber = function (_super) {
  5160. __extends(OperatorSubscriber, _super);
  5161. function OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize, shouldUnsubscribe) {
  5162. var _this = _super.call(this, destination) || this;
  5163. _this.onFinalize = onFinalize;
  5164. _this.shouldUnsubscribe = shouldUnsubscribe;
  5165. _this._next = onNext ? function (value) {
  5166. try {
  5167. onNext(value);
  5168. } catch (err) {
  5169. destination.error(err);
  5170. }
  5171. } : _super.prototype._next;
  5172. _this._error = onError ? function (err) {
  5173. try {
  5174. onError(err);
  5175. } catch (err) {
  5176. destination.error(err);
  5177. } finally {
  5178. this.unsubscribe();
  5179. }
  5180. } : _super.prototype._error;
  5181. _this._complete = onComplete ? function () {
  5182. try {
  5183. onComplete();
  5184. } catch (err) {
  5185. destination.error(err);
  5186. } finally {
  5187. this.unsubscribe();
  5188. }
  5189. } : _super.prototype._complete;
  5190. return _this;
  5191. }
  5192. OperatorSubscriber.prototype.unsubscribe = function () {
  5193. var _a;
  5194. if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {
  5195. var closed_1 = this.closed;
  5196. _super.prototype.unsubscribe.call(this);
  5197. !closed_1 && ((_a = this.onFinalize) === null || _a === void 0 ? void 0 : _a.call(this));
  5198. }
  5199. };
  5200. return OperatorSubscriber;
  5201. }(Subscriber);
  5202. ;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/operators/observeOn.js
  5203. function observeOn(scheduler, delay) {
  5204. if (delay === void 0) {
  5205. delay = 0;
  5206. }
  5207. return operate(function (source, subscriber) {
  5208. source.subscribe(createOperatorSubscriber(subscriber, function (value) {
  5209. return executeSchedule(subscriber, scheduler, function () {
  5210. return subscriber.next(value);
  5211. }, delay);
  5212. }, function () {
  5213. return executeSchedule(subscriber, scheduler, function () {
  5214. return subscriber.complete();
  5215. }, delay);
  5216. }, function (err) {
  5217. return executeSchedule(subscriber, scheduler, function () {
  5218. return subscriber.error(err);
  5219. }, delay);
  5220. }));
  5221. });
  5222. }
  5223. ;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/operators/subscribeOn.js
  5224. function subscribeOn(scheduler, delay) {
  5225. if (delay === void 0) {
  5226. delay = 0;
  5227. }
  5228. return operate(function (source, subscriber) {
  5229. subscriber.add(scheduler.schedule(function () {
  5230. return source.subscribe(subscriber);
  5231. }, delay));
  5232. });
  5233. }
  5234. ;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/scheduled/scheduleObservable.js
  5235. function scheduleObservable(input, scheduler) {
  5236. return innerFrom(input).pipe(subscribeOn(scheduler), observeOn(scheduler));
  5237. }
  5238. ;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/scheduled/schedulePromise.js
  5239. function schedulePromise(input, scheduler) {
  5240. return innerFrom(input).pipe(subscribeOn(scheduler), observeOn(scheduler));
  5241. }
  5242. ;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/scheduled/scheduleArray.js
  5243. function scheduleArray(input, scheduler) {
  5244. return new Observable(function (subscriber) {
  5245. var i = 0;
  5246. return scheduler.schedule(function () {
  5247. if (i === input.length) {
  5248. subscriber.complete();
  5249. } else {
  5250. subscriber.next(input[i++]);
  5251. if (!subscriber.closed) {
  5252. this.schedule();
  5253. }
  5254. }
  5255. });
  5256. });
  5257. }
  5258. ;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/scheduled/scheduleIterable.js
  5259. function scheduleIterable(input, scheduler) {
  5260. return new Observable(function (subscriber) {
  5261. var iterator;
  5262. executeSchedule(subscriber, scheduler, function () {
  5263. iterator = input[iterator_iterator]();
  5264. executeSchedule(subscriber, scheduler, function () {
  5265. var _a;
  5266. var value;
  5267. var done;
  5268. try {
  5269. _a = iterator.next(), value = _a.value, done = _a.done;
  5270. } catch (err) {
  5271. subscriber.error(err);
  5272. return;
  5273. }
  5274. if (done) {
  5275. subscriber.complete();
  5276. } else {
  5277. subscriber.next(value);
  5278. }
  5279. }, 0, true);
  5280. });
  5281. return function () {
  5282. return isFunction_isFunction(iterator === null || iterator === void 0 ? void 0 : iterator.return) && iterator.return();
  5283. };
  5284. });
  5285. }
  5286. ;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/scheduled/scheduleAsyncIterable.js
  5287. function scheduleAsyncIterable(input, scheduler) {
  5288. if (!input) {
  5289. throw new Error('Iterable cannot be null');
  5290. }
  5291. return new Observable(function (subscriber) {
  5292. executeSchedule(subscriber, scheduler, function () {
  5293. var iterator = input[Symbol.asyncIterator]();
  5294. executeSchedule(subscriber, scheduler, function () {
  5295. iterator.next().then(function (result) {
  5296. if (result.done) {
  5297. subscriber.complete();
  5298. } else {
  5299. subscriber.next(result.value);
  5300. }
  5301. });
  5302. }, 0, true);
  5303. });
  5304. });
  5305. }
  5306. ;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/scheduled/scheduleReadableStreamLike.js
  5307. function scheduleReadableStreamLike(input, scheduler) {
  5308. return scheduleAsyncIterable(readableStreamLikeToAsyncGenerator(input), scheduler);
  5309. }
  5310. ;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/scheduled/scheduled.js
  5311. function scheduled(input, scheduler) {
  5312. if (input != null) {
  5313. if (isInteropObservable(input)) {
  5314. return scheduleObservable(input, scheduler);
  5315. }
  5316. if (isArrayLike(input)) {
  5317. return scheduleArray(input, scheduler);
  5318. }
  5319. if (isPromise(input)) {
  5320. return schedulePromise(input, scheduler);
  5321. }
  5322. if (isAsyncIterable(input)) {
  5323. return scheduleAsyncIterable(input, scheduler);
  5324. }
  5325. if (isIterable(input)) {
  5326. return scheduleIterable(input, scheduler);
  5327. }
  5328. if (isReadableStreamLike(input)) {
  5329. return scheduleReadableStreamLike(input, scheduler);
  5330. }
  5331. }
  5332. throw createInvalidObservableTypeError(input);
  5333. }
  5334. ;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/observable/from.js
  5335. function from(input, scheduler) {
  5336. return scheduler ? scheduled(input, scheduler) : innerFrom(input);
  5337. }
  5338. ;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/observable/of.js
  5339. function of() {
  5340. var args = [];
  5341. for (var _i = 0; _i < arguments.length; _i++) {
  5342. args[_i] = arguments[_i];
  5343. }
  5344. var scheduler = popScheduler(args);
  5345. return from(args, scheduler);
  5346. }
  5347. ;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/operators/switchMap.js
  5348. function switchMap(project, resultSelector) {
  5349. return operate(function (source, subscriber) {
  5350. var innerSubscriber = null;
  5351. var index = 0;
  5352. var isComplete = false;
  5353. var checkComplete = function () {
  5354. return isComplete && !innerSubscriber && subscriber.complete();
  5355. };
  5356. source.subscribe(createOperatorSubscriber(subscriber, function (value) {
  5357. innerSubscriber === null || innerSubscriber === void 0 ? void 0 : innerSubscriber.unsubscribe();
  5358. var innerIndex = 0;
  5359. var outerIndex = index++;
  5360. innerFrom(project(value, outerIndex)).subscribe(innerSubscriber = createOperatorSubscriber(subscriber, function (innerValue) {
  5361. return subscriber.next(resultSelector ? resultSelector(value, innerValue, outerIndex, innerIndex++) : innerValue);
  5362. }, function () {
  5363. innerSubscriber = null;
  5364. checkComplete();
  5365. }));
  5366. }, function () {
  5367. isComplete = true;
  5368. checkComplete();
  5369. }));
  5370. });
  5371. }
  5372. ;// CONCATENATED MODULE: ../../node_modules/tldts-core/dist/es6/src/domain.js
  5373. /**
  5374. * Check if `vhost` is a valid suffix of `hostname` (top-domain)
  5375. *
  5376. * It means that `vhost` needs to be a suffix of `hostname` and we then need to
  5377. * make sure that: either they are equal, or the character preceding `vhost` in
  5378. * `hostname` is a '.' (it should not be a partial label).
  5379. *
  5380. * * hostname = 'not.evil.com' and vhost = 'vil.com' => not ok
  5381. * * hostname = 'not.evil.com' and vhost = 'evil.com' => ok
  5382. * * hostname = 'not.evil.com' and vhost = 'not.evil.com' => ok
  5383. */
  5384. function shareSameDomainSuffix(hostname, vhost) {
  5385. if (hostname.endsWith(vhost)) {
  5386. return hostname.length === vhost.length || hostname[hostname.length - vhost.length - 1] === '.';
  5387. }
  5388. return false;
  5389. }
  5390. /**
  5391. * Given a hostname and its public suffix, extract the general domain.
  5392. */
  5393. function extractDomainWithSuffix(hostname, publicSuffix) {
  5394. // Locate the index of the last '.' in the part of the `hostname` preceding
  5395. // the public suffix.
  5396. //
  5397. // examples:
  5398. // 1. not.evil.co.uk => evil.co.uk
  5399. // ^ ^
  5400. // | | start of public suffix
  5401. // | index of the last dot
  5402. //
  5403. // 2. example.co.uk => example.co.uk
  5404. // ^ ^
  5405. // | | start of public suffix
  5406. // |
  5407. // | (-1) no dot found before the public suffix
  5408. const publicSuffixIndex = hostname.length - publicSuffix.length - 2;
  5409. const lastDotBeforeSuffixIndex = hostname.lastIndexOf('.', publicSuffixIndex);
  5410. // No '.' found, then `hostname` is the general domain (no sub-domain)
  5411. if (lastDotBeforeSuffixIndex === -1) {
  5412. return hostname;
  5413. }
  5414. // Extract the part between the last '.'
  5415. return hostname.slice(lastDotBeforeSuffixIndex + 1);
  5416. }
  5417. /**
  5418. * Detects the domain based on rules and upon and a host string
  5419. */
  5420. function getDomain(suffix, hostname, options) {
  5421. // Check if `hostname` ends with a member of `validHosts`.
  5422. if (options.validHosts !== null) {
  5423. const validHosts = options.validHosts;
  5424. for (const vhost of validHosts) {
  5425. if ( /*@__INLINE__*/shareSameDomainSuffix(hostname, vhost)) {
  5426. return vhost;
  5427. }
  5428. }
  5429. }
  5430. let numberOfLeadingDots = 0;
  5431. if (hostname.startsWith('.')) {
  5432. while (numberOfLeadingDots < hostname.length && hostname[numberOfLeadingDots] === '.') {
  5433. numberOfLeadingDots += 1;
  5434. }
  5435. }
  5436. // If `hostname` is a valid public suffix, then there is no domain to return.
  5437. // Since we already know that `getPublicSuffix` returns a suffix of `hostname`
  5438. // there is no need to perform a string comparison and we only compare the
  5439. // size.
  5440. if (suffix.length === hostname.length - numberOfLeadingDots) {
  5441. return null;
  5442. }
  5443. // To extract the general domain, we start by identifying the public suffix
  5444. // (if any), then consider the domain to be the public suffix with one added
  5445. // level of depth. (e.g.: if hostname is `not.evil.co.uk` and public suffix:
  5446. // `co.uk`, then we take one more level: `evil`, giving the final result:
  5447. // `evil.co.uk`).
  5448. return /*@__INLINE__*/extractDomainWithSuffix(hostname, suffix);
  5449. }
  5450. ;// CONCATENATED MODULE: ../../node_modules/tldts-core/dist/es6/src/domain-without-suffix.js
  5451. /**
  5452. * Return the part of domain without suffix.
  5453. *
  5454. * Example: for domain 'foo.com', the result would be 'foo'.
  5455. */
  5456. function getDomainWithoutSuffix(domain, suffix) {
  5457. // Note: here `domain` and `suffix` cannot have the same length because in
  5458. // this case we set `domain` to `null` instead. It is thus safe to assume
  5459. // that `suffix` is shorter than `domain`.
  5460. return domain.slice(0, -suffix.length - 1);
  5461. }
  5462. ;// CONCATENATED MODULE: ../../node_modules/tldts-core/dist/es6/src/extract-hostname.js
  5463. /**
  5464. * @param url - URL we want to extract a hostname from.
  5465. * @param urlIsValidHostname - hint from caller; true if `url` is already a valid hostname.
  5466. */
  5467. function extractHostname(url, urlIsValidHostname) {
  5468. let start = 0;
  5469. let end = url.length;
  5470. let hasUpper = false;
  5471. // If url is not already a valid hostname, then try to extract hostname.
  5472. if (!urlIsValidHostname) {
  5473. // Special handling of data URLs
  5474. if (url.startsWith('data:')) {
  5475. return null;
  5476. }
  5477. // Trim leading spaces
  5478. while (start < url.length && url.charCodeAt(start) <= 32) {
  5479. start += 1;
  5480. }
  5481. // Trim trailing spaces
  5482. while (end > start + 1 && url.charCodeAt(end - 1) <= 32) {
  5483. end -= 1;
  5484. }
  5485. // Skip scheme.
  5486. if (url.charCodeAt(start) === 47 /* '/' */ && url.charCodeAt(start + 1) === 47 /* '/' */) {
  5487. start += 2;
  5488. } else {
  5489. const indexOfProtocol = url.indexOf(':/', start);
  5490. if (indexOfProtocol !== -1) {
  5491. // Implement fast-path for common protocols. We expect most protocols
  5492. // should be one of these 4 and thus we will not need to perform the
  5493. // more expansive validity check most of the time.
  5494. const protocolSize = indexOfProtocol - start;
  5495. const c0 = url.charCodeAt(start);
  5496. const c1 = url.charCodeAt(start + 1);
  5497. const c2 = url.charCodeAt(start + 2);
  5498. const c3 = url.charCodeAt(start + 3);
  5499. const c4 = url.charCodeAt(start + 4);
  5500. if (protocolSize === 5 && c0 === 104 /* 'h' */ && c1 === 116 /* 't' */ && c2 === 116 /* 't' */ && c3 === 112 /* 'p' */ && c4 === 115 /* 's' */) {
  5501. // https
  5502. } else if (protocolSize === 4 && c0 === 104 /* 'h' */ && c1 === 116 /* 't' */ && c2 === 116 /* 't' */ && c3 === 112 /* 'p' */) {
  5503. // http
  5504. } else if (protocolSize === 3 && c0 === 119 /* 'w' */ && c1 === 115 /* 's' */ && c2 === 115 /* 's' */) {
  5505. // wss
  5506. } else if (protocolSize === 2 && c0 === 119 /* 'w' */ && c1 === 115 /* 's' */) {
  5507. // ws
  5508. } else {
  5509. // Check that scheme is valid
  5510. for (let i = start; i < indexOfProtocol; i += 1) {
  5511. const lowerCaseCode = url.charCodeAt(i) | 32;
  5512. if (!(lowerCaseCode >= 97 && lowerCaseCode <= 122 ||
  5513. // [a, z]
  5514. lowerCaseCode >= 48 && lowerCaseCode <= 57 ||
  5515. // [0, 9]
  5516. lowerCaseCode === 46 ||
  5517. // '.'
  5518. lowerCaseCode === 45 ||
  5519. // '-'
  5520. lowerCaseCode === 43 // '+'
  5521. )) {
  5522. return null;
  5523. }
  5524. }
  5525. }
  5526. // Skip 0, 1 or more '/' after ':/'
  5527. start = indexOfProtocol + 2;
  5528. while (url.charCodeAt(start) === 47 /* '/' */) {
  5529. start += 1;
  5530. }
  5531. }
  5532. }
  5533. // Detect first occurrence of '/', '?' or '#'. We also keep track of the
  5534. // last occurrence of '@', ']' or ':' to speed-up subsequent parsing of
  5535. // (respectively), identifier, ipv6 or port.
  5536. let indexOfIdentifier = -1;
  5537. let indexOfClosingBracket = -1;
  5538. let indexOfPort = -1;
  5539. for (let i = start; i < end; i += 1) {
  5540. const code = url.charCodeAt(i);
  5541. if (code === 35 ||
  5542. // '#'
  5543. code === 47 ||
  5544. // '/'
  5545. code === 63 // '?'
  5546. ) {
  5547. end = i;
  5548. break;
  5549. } else if (code === 64) {
  5550. // '@'
  5551. indexOfIdentifier = i;
  5552. } else if (code === 93) {
  5553. // ']'
  5554. indexOfClosingBracket = i;
  5555. } else if (code === 58) {
  5556. // ':'
  5557. indexOfPort = i;
  5558. } else if (code >= 65 && code <= 90) {
  5559. hasUpper = true;
  5560. }
  5561. }
  5562. // Detect identifier: '@'
  5563. if (indexOfIdentifier !== -1 && indexOfIdentifier > start && indexOfIdentifier < end) {
  5564. start = indexOfIdentifier + 1;
  5565. }
  5566. // Handle ipv6 addresses
  5567. if (url.charCodeAt(start) === 91 /* '[' */) {
  5568. if (indexOfClosingBracket !== -1) {
  5569. return url.slice(start + 1, indexOfClosingBracket).toLowerCase();
  5570. }
  5571. return null;
  5572. } else if (indexOfPort !== -1 && indexOfPort > start && indexOfPort < end) {
  5573. // Detect port: ':'
  5574. end = indexOfPort;
  5575. }
  5576. }
  5577. // Trim trailing dots
  5578. while (end > start + 1 && url.charCodeAt(end - 1) === 46 /* '.' */) {
  5579. end -= 1;
  5580. }
  5581. const hostname = start !== 0 || end !== url.length ? url.slice(start, end) : url;
  5582. if (hasUpper) {
  5583. return hostname.toLowerCase();
  5584. }
  5585. return hostname;
  5586. }
  5587. ;// CONCATENATED MODULE: ../../node_modules/tldts-core/dist/es6/src/is-ip.js
  5588. /**
  5589. * Check if a hostname is an IP. You should be aware that this only works
  5590. * because `hostname` is already garanteed to be a valid hostname!
  5591. */
  5592. function isProbablyIpv4(hostname) {
  5593. // Cannot be shorted than 1.1.1.1
  5594. if (hostname.length < 7) {
  5595. return false;
  5596. }
  5597. // Cannot be longer than: 255.255.255.255
  5598. if (hostname.length > 15) {
  5599. return false;
  5600. }
  5601. let numberOfDots = 0;
  5602. for (let i = 0; i < hostname.length; i += 1) {
  5603. const code = hostname.charCodeAt(i);
  5604. if (code === 46 /* '.' */) {
  5605. numberOfDots += 1;
  5606. } else if (code < 48 /* '0' */ || code > 57 /* '9' */) {
  5607. return false;
  5608. }
  5609. }
  5610. return numberOfDots === 3 && hostname.charCodeAt(0) !== 46 /* '.' */ && hostname.charCodeAt(hostname.length - 1) !== 46 /* '.' */;
  5611. }
  5612. /**
  5613. * Similar to isProbablyIpv4.
  5614. */
  5615. function isProbablyIpv6(hostname) {
  5616. if (hostname.length < 3) {
  5617. return false;
  5618. }
  5619. let start = hostname.startsWith('[') ? 1 : 0;
  5620. let end = hostname.length;
  5621. if (hostname[end - 1] === ']') {
  5622. end -= 1;
  5623. }
  5624. // We only consider the maximum size of a normal IPV6. Note that this will
  5625. // fail on so-called "IPv4 mapped IPv6 addresses" but this is a corner-case
  5626. // and a proper validation library should be used for these.
  5627. if (end - start > 39) {
  5628. return false;
  5629. }
  5630. let hasColon = false;
  5631. for (; start < end; start += 1) {
  5632. const code = hostname.charCodeAt(start);
  5633. if (code === 58 /* ':' */) {
  5634. hasColon = true;
  5635. } else if (!(code >= 48 && code <= 57 ||
  5636. // 0-9
  5637. code >= 97 && code <= 102 ||
  5638. // a-f
  5639. code >= 65 && code <= 90 // A-F
  5640. )) {
  5641. return false;
  5642. }
  5643. }
  5644. return hasColon;
  5645. }
  5646. /**
  5647. * Check if `hostname` is *probably* a valid ip addr (either ipv6 or ipv4).
  5648. * This *will not* work on any string. We need `hostname` to be a valid
  5649. * hostname.
  5650. */
  5651. function isIp(hostname) {
  5652. return isProbablyIpv6(hostname) || isProbablyIpv4(hostname);
  5653. }
  5654. ;// CONCATENATED MODULE: ../../node_modules/tldts-core/dist/es6/src/is-valid.js
  5655. /**
  5656. * Implements fast shallow verification of hostnames. This does not perform a
  5657. * struct check on the content of labels (classes of Unicode characters, etc.)
  5658. * but instead check that the structure is valid (number of labels, length of
  5659. * labels, etc.).
  5660. *
  5661. * If you need stricter validation, consider using an external library.
  5662. */
  5663. function isValidAscii(code) {
  5664. return code >= 97 && code <= 122 || code >= 48 && code <= 57 || code > 127;
  5665. }
  5666. /**
  5667. * Check if a hostname string is valid. It's usually a preliminary check before
  5668. * trying to use getDomain or anything else.
  5669. *
  5670. * Beware: it does not check if the TLD exists.
  5671. */
  5672. /* harmony default export */ function is_valid(hostname) {
  5673. if (hostname.length > 255) {
  5674. return false;
  5675. }
  5676. if (hostname.length === 0) {
  5677. return false;
  5678. }
  5679. if ( /*@__INLINE__*/!isValidAscii(hostname.charCodeAt(0)) && hostname.charCodeAt(0) !== 46 &&
  5680. // '.' (dot)
  5681. hostname.charCodeAt(0) !== 95 // '_' (underscore)
  5682. ) {
  5683. return false;
  5684. }
  5685. // Validate hostname according to RFC
  5686. let lastDotIndex = -1;
  5687. let lastCharCode = -1;
  5688. const len = hostname.length;
  5689. for (let i = 0; i < len; i += 1) {
  5690. const code = hostname.charCodeAt(i);
  5691. if (code === 46 /* '.' */) {
  5692. if (
  5693. // Check that previous label is < 63 bytes long (64 = 63 + '.')
  5694. i - lastDotIndex > 64 ||
  5695. // Check that previous character was not already a '.'
  5696. lastCharCode === 46 ||
  5697. // Check that the previous label does not end with a '-' (dash)
  5698. lastCharCode === 45 ||
  5699. // Check that the previous label does not end with a '_' (underscore)
  5700. lastCharCode === 95) {
  5701. return false;
  5702. }
  5703. lastDotIndex = i;
  5704. } else if (!( /*@__INLINE__*/isValidAscii(code) || code === 45 || code === 95)) {
  5705. // Check if there is a forbidden character in the label
  5706. return false;
  5707. }
  5708. lastCharCode = code;
  5709. }
  5710. return (
  5711. // Check that last label is shorter than 63 chars
  5712. len - lastDotIndex - 1 <= 63 &&
  5713. // Check that the last character is an allowed trailing label character.
  5714. // Since we already checked that the char is a valid hostname character,
  5715. // we only need to check that it's different from '-'.
  5716. lastCharCode !== 45
  5717. );
  5718. }
  5719. ;// CONCATENATED MODULE: ../../node_modules/tldts-core/dist/es6/src/options.js
  5720. function setDefaultsImpl({
  5721. allowIcannDomains = true,
  5722. allowPrivateDomains = false,
  5723. detectIp = true,
  5724. extractHostname = true,
  5725. mixedInputs = true,
  5726. validHosts = null,
  5727. validateHostname = true
  5728. }) {
  5729. return {
  5730. allowIcannDomains,
  5731. allowPrivateDomains,
  5732. detectIp,
  5733. extractHostname,
  5734. mixedInputs,
  5735. validHosts,
  5736. validateHostname
  5737. };
  5738. }
  5739. const DEFAULT_OPTIONS = /*@__INLINE__*/setDefaultsImpl({});
  5740. function setDefaults(options) {
  5741. if (options === undefined) {
  5742. return DEFAULT_OPTIONS;
  5743. }
  5744. return /*@__INLINE__*/setDefaultsImpl(options);
  5745. }
  5746. ;// CONCATENATED MODULE: ../../node_modules/tldts-core/dist/es6/src/subdomain.js
  5747. /**
  5748. * Returns the subdomain of a hostname string
  5749. */
  5750. function getSubdomain(hostname, domain) {
  5751. // If `hostname` and `domain` are the same, then there is no sub-domain
  5752. if (domain.length === hostname.length) {
  5753. return '';
  5754. }
  5755. return hostname.slice(0, -domain.length - 1);
  5756. }
  5757. ;// CONCATENATED MODULE: ../../node_modules/tldts-core/dist/es6/src/factory.js
  5758. /**
  5759. * Implement a factory allowing to plug different implementations of suffix
  5760. * lookup (e.g.: using a trie or the packed hashes datastructures). This is used
  5761. * and exposed in `tldts.ts` and `tldts-experimental.ts` bundle entrypoints.
  5762. */
  5763. function getEmptyResult() {
  5764. return {
  5765. domain: null,
  5766. domainWithoutSuffix: null,
  5767. hostname: null,
  5768. isIcann: null,
  5769. isIp: null,
  5770. isPrivate: null,
  5771. publicSuffix: null,
  5772. subdomain: null
  5773. };
  5774. }
  5775. function factory_resetResult(result) {
  5776. result.domain = null;
  5777. result.domainWithoutSuffix = null;
  5778. result.hostname = null;
  5779. result.isIcann = null;
  5780. result.isIp = null;
  5781. result.isPrivate = null;
  5782. result.publicSuffix = null;
  5783. result.subdomain = null;
  5784. }
  5785. function factory_parseImpl(url, step, suffixLookup, partialOptions, result) {
  5786. const options = /*@__INLINE__*/setDefaults(partialOptions);
  5787. // Very fast approximate check to make sure `url` is a string. This is needed
  5788. // because the library will not necessarily be used in a typed setup and
  5789. // values of arbitrary types might be given as argument.
  5790. if (typeof url !== 'string') {
  5791. return result;
  5792. }
  5793. // Extract hostname from `url` only if needed. This can be made optional
  5794. // using `options.extractHostname`. This option will typically be used
  5795. // whenever we are sure the inputs to `parse` are already hostnames and not
  5796. // arbitrary URLs.
  5797. //
  5798. // `mixedInput` allows to specify if we expect a mix of URLs and hostnames
  5799. // as input. If only hostnames are expected then `extractHostname` can be
  5800. // set to `false` to speed-up parsing. If only URLs are expected then
  5801. // `mixedInputs` can be set to `false`. The `mixedInputs` is only a hint
  5802. // and will not change the behavior of the library.
  5803. if (!options.extractHostname) {
  5804. result.hostname = url;
  5805. } else if (options.mixedInputs) {
  5806. result.hostname = extractHostname(url, is_valid(url));
  5807. } else {
  5808. result.hostname = extractHostname(url, false);
  5809. }
  5810. if (step === 0 /* FLAG.HOSTNAME */ || result.hostname === null) {
  5811. return result;
  5812. }
  5813. // Check if `hostname` is a valid ip address
  5814. if (options.detectIp) {
  5815. result.isIp = isIp(result.hostname);
  5816. if (result.isIp) {
  5817. return result;
  5818. }
  5819. }
  5820. // Perform optional hostname validation. If hostname is not valid, no need to
  5821. // go further as there will be no valid domain or sub-domain.
  5822. if (options.validateHostname && options.extractHostname && !is_valid(result.hostname)) {
  5823. result.hostname = null;
  5824. return result;
  5825. }
  5826. // Extract public suffix
  5827. suffixLookup(result.hostname, options, result);
  5828. if (step === 2 /* FLAG.PUBLIC_SUFFIX */ || result.publicSuffix === null) {
  5829. return result;
  5830. }
  5831. // Extract domain
  5832. result.domain = getDomain(result.publicSuffix, result.hostname, options);
  5833. if (step === 3 /* FLAG.DOMAIN */ || result.domain === null) {
  5834. return result;
  5835. }
  5836. // Extract subdomain
  5837. result.subdomain = getSubdomain(result.hostname, result.domain);
  5838. if (step === 4 /* FLAG.SUB_DOMAIN */) {
  5839. return result;
  5840. }
  5841. // Extract domain without suffix
  5842. result.domainWithoutSuffix = getDomainWithoutSuffix(result.domain, result.publicSuffix);
  5843. return result;
  5844. }
  5845. ;// CONCATENATED MODULE: ../../node_modules/tldts-core/dist/es6/src/lookup/fast-path.js
  5846. /* harmony default export */ function fast_path(hostname, options, out) {
  5847. // Fast path for very popular suffixes; this allows to by-pass lookup
  5848. // completely as well as any extra allocation or string manipulation.
  5849. if (!options.allowPrivateDomains && hostname.length > 3) {
  5850. const last = hostname.length - 1;
  5851. const c3 = hostname.charCodeAt(last);
  5852. const c2 = hostname.charCodeAt(last - 1);
  5853. const c1 = hostname.charCodeAt(last - 2);
  5854. const c0 = hostname.charCodeAt(last - 3);
  5855. if (c3 === 109 /* 'm' */ && c2 === 111 /* 'o' */ && c1 === 99 /* 'c' */ && c0 === 46 /* '.' */) {
  5856. out.isIcann = true;
  5857. out.isPrivate = false;
  5858. out.publicSuffix = 'com';
  5859. return true;
  5860. } else if (c3 === 103 /* 'g' */ && c2 === 114 /* 'r' */ && c1 === 111 /* 'o' */ && c0 === 46 /* '.' */) {
  5861. out.isIcann = true;
  5862. out.isPrivate = false;
  5863. out.publicSuffix = 'org';
  5864. return true;
  5865. } else if (c3 === 117 /* 'u' */ && c2 === 100 /* 'd' */ && c1 === 101 /* 'e' */ && c0 === 46 /* '.' */) {
  5866. out.isIcann = true;
  5867. out.isPrivate = false;
  5868. out.publicSuffix = 'edu';
  5869. return true;
  5870. } else if (c3 === 118 /* 'v' */ && c2 === 111 /* 'o' */ && c1 === 103 /* 'g' */ && c0 === 46 /* '.' */) {
  5871. out.isIcann = true;
  5872. out.isPrivate = false;
  5873. out.publicSuffix = 'gov';
  5874. return true;
  5875. } else if (c3 === 116 /* 't' */ && c2 === 101 /* 'e' */ && c1 === 110 /* 'n' */ && c0 === 46 /* '.' */) {
  5876. out.isIcann = true;
  5877. out.isPrivate = false;
  5878. out.publicSuffix = 'net';
  5879. return true;
  5880. } else if (c3 === 101 /* 'e' */ && c2 === 100 /* 'd' */ && c1 === 46 /* '.' */) {
  5881. out.isIcann = true;
  5882. out.isPrivate = false;
  5883. out.publicSuffix = 'de';
  5884. return true;
  5885. }
  5886. }
  5887. return false;
  5888. }
  5889. ;// CONCATENATED MODULE: ../../node_modules/tldts-core/dist/es6/index.js
  5890. ;// CONCATENATED MODULE: ../../node_modules/tldts/dist/es6/src/data/trie.js
  5891. const exceptions = function () {
  5892. const _0 = [1, {}],
  5893. _1 = [0, {
  5894. "city": _0
  5895. }];
  5896. const exceptions = [0, {
  5897. "ck": [0, {
  5898. "www": _0
  5899. }],
  5900. "jp": [0, {
  5901. "kawasaki": _1,
  5902. "kitakyushu": _1,
  5903. "kobe": _1,
  5904. "nagoya": _1,
  5905. "sapporo": _1,
  5906. "sendai": _1,
  5907. "yokohama": _1
  5908. }]
  5909. }];
  5910. return exceptions;
  5911. }();
  5912. const rules = function () {
  5913. const _2 = [1, {}],
  5914. _3 = [2, {}],
  5915. _4 = [1, {
  5916. "gov": _2,
  5917. "com": _2,
  5918. "org": _2,
  5919. "net": _2,
  5920. "edu": _2
  5921. }],
  5922. _5 = [0, {
  5923. "*": _3
  5924. }],
  5925. _6 = [1, {
  5926. "blogspot": _3
  5927. }],
  5928. _7 = [1, {
  5929. "gov": _2
  5930. }],
  5931. _8 = [0, {
  5932. "notebook": _3,
  5933. "studio": _3
  5934. }],
  5935. _9 = [0, {
  5936. "notebook": _3
  5937. }],
  5938. _10 = [0, {
  5939. "notebook": _3,
  5940. "notebook-fips": _3,
  5941. "studio": _3
  5942. }],
  5943. _11 = [0, {
  5944. "notebook": _3,
  5945. "notebook-fips": _3,
  5946. "studio": _3,
  5947. "studio-fips": _3
  5948. }],
  5949. _12 = [0, {
  5950. "*": _2
  5951. }],
  5952. _13 = [0, {
  5953. "cloud": _3
  5954. }],
  5955. _14 = [1, {
  5956. "co": _3
  5957. }],
  5958. _15 = [2, {
  5959. "nodes": _3
  5960. }],
  5961. _16 = [0, {
  5962. "s3": _3,
  5963. "s3-accesspoint": _3,
  5964. "s3-website": _3
  5965. }],
  5966. _17 = [0, {
  5967. "s3": _3,
  5968. "s3-accesspoint": _3
  5969. }],
  5970. _18 = [0, {
  5971. "execute-api": _3,
  5972. "emrappui-prod": _3,
  5973. "emrnotebooks-prod": _3,
  5974. "emrstudio-prod": _3,
  5975. "dualstack": _17,
  5976. "s3": _3,
  5977. "s3-accesspoint": _3,
  5978. "s3-object-lambda": _3,
  5979. "s3-website": _3
  5980. }],
  5981. _19 = [0, {
  5982. "direct": _3
  5983. }],
  5984. _20 = [2, {
  5985. "id": _3
  5986. }],
  5987. _21 = [0, {
  5988. "webview-assets": _3
  5989. }],
  5990. _22 = [0, {
  5991. "vfs": _3,
  5992. "webview-assets": _3
  5993. }],
  5994. _23 = [0, {
  5995. "execute-api": _3,
  5996. "emrappui-prod": _3,
  5997. "emrnotebooks-prod": _3,
  5998. "emrstudio-prod": _3,
  5999. "dualstack": _16,
  6000. "s3": _3,
  6001. "s3-accesspoint": _3,
  6002. "s3-object-lambda": _3,
  6003. "s3-website": _3,
  6004. "aws-cloud9": _21,
  6005. "cloud9": _22
  6006. }],
  6007. _24 = [0, {
  6008. "execute-api": _3,
  6009. "emrappui-prod": _3,
  6010. "emrnotebooks-prod": _3,
  6011. "emrstudio-prod": _3,
  6012. "dualstack": _17,
  6013. "s3": _3,
  6014. "s3-accesspoint": _3,
  6015. "s3-object-lambda": _3,
  6016. "s3-website": _3,
  6017. "aws-cloud9": _21,
  6018. "cloud9": _22
  6019. }],
  6020. _25 = [0, {
  6021. "execute-api": _3,
  6022. "emrappui-prod": _3,
  6023. "emrnotebooks-prod": _3,
  6024. "emrstudio-prod": _3,
  6025. "dualstack": _16,
  6026. "s3": _3,
  6027. "s3-accesspoint": _3,
  6028. "s3-object-lambda": _3,
  6029. "s3-website": _3,
  6030. "analytics-gateway": _3,
  6031. "aws-cloud9": _21,
  6032. "cloud9": _22
  6033. }],
  6034. _26 = [0, {
  6035. "execute-api": _3,
  6036. "dualstack": _17,
  6037. "s3": _3,
  6038. "s3-accesspoint": _3,
  6039. "s3-object-lambda": _3,
  6040. "s3-website": _3
  6041. }],
  6042. _27 = [0, {
  6043. "s3": _3,
  6044. "s3-accesspoint": _3,
  6045. "s3-accesspoint-fips": _3,
  6046. "s3-fips": _3,
  6047. "s3-website": _3
  6048. }],
  6049. _28 = [0, {
  6050. "execute-api": _3,
  6051. "emrappui-prod": _3,
  6052. "emrnotebooks-prod": _3,
  6053. "emrstudio-prod": _3,
  6054. "dualstack": _27,
  6055. "s3": _3,
  6056. "s3-accesspoint": _3,
  6057. "s3-accesspoint-fips": _3,
  6058. "s3-fips": _3,
  6059. "s3-object-lambda": _3,
  6060. "s3-website": _3,
  6061. "aws-cloud9": _21,
  6062. "cloud9": _22
  6063. }],
  6064. _29 = [0, {
  6065. "s3": _3,
  6066. "s3-accesspoint": _3,
  6067. "s3-accesspoint-fips": _3,
  6068. "s3-fips": _3
  6069. }],
  6070. _30 = [0, {
  6071. "execute-api": _3,
  6072. "emrappui-prod": _3,
  6073. "emrnotebooks-prod": _3,
  6074. "emrstudio-prod": _3,
  6075. "dualstack": _29,
  6076. "s3": _3,
  6077. "s3-accesspoint": _3,
  6078. "s3-accesspoint-fips": _3,
  6079. "s3-fips": _3,
  6080. "s3-object-lambda": _3,
  6081. "s3-website": _3
  6082. }],
  6083. _31 = [0, {
  6084. "auth": _3
  6085. }],
  6086. _32 = [0, {
  6087. "auth": _3,
  6088. "auth-fips": _3
  6089. }],
  6090. _33 = [0, {
  6091. "apps": _3
  6092. }],
  6093. _34 = [0, {
  6094. "paas": _3
  6095. }],
  6096. _35 = [0, {
  6097. "app": _3
  6098. }],
  6099. _36 = [2, {
  6100. "eu": _3
  6101. }],
  6102. _37 = [0, {
  6103. "site": _3
  6104. }],
  6105. _38 = [0, {
  6106. "pages": _3
  6107. }],
  6108. _39 = [1, {
  6109. "com": _2,
  6110. "edu": _2,
  6111. "net": _2,
  6112. "org": _2
  6113. }],
  6114. _40 = [0, {
  6115. "j": _3
  6116. }],
  6117. _41 = [0, {
  6118. "jelastic": _3
  6119. }],
  6120. _42 = [0, {
  6121. "user": _3
  6122. }],
  6123. _43 = [1, {
  6124. "ybo": _3
  6125. }],
  6126. _44 = [0, {
  6127. "cust": _3,
  6128. "reservd": _3
  6129. }],
  6130. _45 = [0, {
  6131. "cust": _3
  6132. }],
  6133. _46 = [1, {
  6134. "gov": _2,
  6135. "edu": _2,
  6136. "mil": _2,
  6137. "com": _2,
  6138. "org": _2,
  6139. "net": _2
  6140. }],
  6141. _47 = [0, {
  6142. "s3": _3
  6143. }],
  6144. _48 = [1, {
  6145. "edu": _2,
  6146. "biz": _2,
  6147. "net": _2,
  6148. "org": _2,
  6149. "gov": _2,
  6150. "info": _2,
  6151. "com": _2
  6152. }],
  6153. _49 = [1, {
  6154. "gov": _2,
  6155. "blogspot": _3
  6156. }],
  6157. _50 = [1, {
  6158. "framer": _3
  6159. }],
  6160. _51 = [1, {
  6161. "barsy": _3
  6162. }],
  6163. _52 = [0, {
  6164. "forgot": _3
  6165. }],
  6166. _53 = [1, {
  6167. "gs": _2
  6168. }],
  6169. _54 = [0, {
  6170. "nes": _2
  6171. }],
  6172. _55 = [1, {
  6173. "k12": _2,
  6174. "cc": _2,
  6175. "lib": _2
  6176. }],
  6177. _56 = [1, {
  6178. "cc": _2,
  6179. "lib": _2
  6180. }];
  6181. const rules = [0, {
  6182. "ac": [1, {
  6183. "com": _2,
  6184. "edu": _2,
  6185. "gov": _2,
  6186. "net": _2,
  6187. "mil": _2,
  6188. "org": _2,
  6189. "drr": _3
  6190. }],
  6191. "ad": [1, {
  6192. "nom": _2
  6193. }],
  6194. "ae": [1, {
  6195. "co": _2,
  6196. "net": _2,
  6197. "org": _2,
  6198. "sch": _2,
  6199. "ac": _2,
  6200. "gov": _2,
  6201. "mil": _2,
  6202. "blogspot": _3
  6203. }],
  6204. "aero": [1, {
  6205. "accident-investigation": _2,
  6206. "accident-prevention": _2,
  6207. "aerobatic": _2,
  6208. "aeroclub": _2,
  6209. "aerodrome": _2,
  6210. "agents": _2,
  6211. "aircraft": _2,
  6212. "airline": _2,
  6213. "airport": _2,
  6214. "air-surveillance": _2,
  6215. "airtraffic": _2,
  6216. "air-traffic-control": _2,
  6217. "ambulance": _2,
  6218. "amusement": _2,
  6219. "association": _2,
  6220. "author": _2,
  6221. "ballooning": _2,
  6222. "broker": _2,
  6223. "caa": _2,
  6224. "cargo": _2,
  6225. "catering": _2,
  6226. "certification": _2,
  6227. "championship": _2,
  6228. "charter": _2,
  6229. "civilaviation": _2,
  6230. "club": _2,
  6231. "conference": _2,
  6232. "consultant": _2,
  6233. "consulting": _2,
  6234. "control": _2,
  6235. "council": _2,
  6236. "crew": _2,
  6237. "design": _2,
  6238. "dgca": _2,
  6239. "educator": _2,
  6240. "emergency": _2,
  6241. "engine": _2,
  6242. "engineer": _2,
  6243. "entertainment": _2,
  6244. "equipment": _2,
  6245. "exchange": _2,
  6246. "express": _2,
  6247. "federation": _2,
  6248. "flight": _2,
  6249. "fuel": _2,
  6250. "gliding": _2,
  6251. "government": _2,
  6252. "groundhandling": _2,
  6253. "group": _2,
  6254. "hanggliding": _2,
  6255. "homebuilt": _2,
  6256. "insurance": _2,
  6257. "journal": _2,
  6258. "journalist": _2,
  6259. "leasing": _2,
  6260. "logistics": _2,
  6261. "magazine": _2,
  6262. "maintenance": _2,
  6263. "media": _2,
  6264. "microlight": _2,
  6265. "modelling": _2,
  6266. "navigation": _2,
  6267. "parachuting": _2,
  6268. "paragliding": _2,
  6269. "passenger-association": _2,
  6270. "pilot": _2,
  6271. "press": _2,
  6272. "production": _2,
  6273. "recreation": _2,
  6274. "repbody": _2,
  6275. "res": _2,
  6276. "research": _2,
  6277. "rotorcraft": _2,
  6278. "safety": _2,
  6279. "scientist": _2,
  6280. "services": _2,
  6281. "show": _2,
  6282. "skydiving": _2,
  6283. "software": _2,
  6284. "student": _2,
  6285. "trader": _2,
  6286. "trading": _2,
  6287. "trainer": _2,
  6288. "union": _2,
  6289. "workinggroup": _2,
  6290. "works": _2
  6291. }],
  6292. "af": _4,
  6293. "ag": [1, {
  6294. "com": _2,
  6295. "org": _2,
  6296. "net": _2,
  6297. "co": _2,
  6298. "nom": _2
  6299. }],
  6300. "ai": [1, {
  6301. "off": _2,
  6302. "com": _2,
  6303. "net": _2,
  6304. "org": _2,
  6305. "uwu": _3
  6306. }],
  6307. "al": [1, {
  6308. "com": _2,
  6309. "edu": _2,
  6310. "gov": _2,
  6311. "mil": _2,
  6312. "net": _2,
  6313. "org": _2,
  6314. "blogspot": _3
  6315. }],
  6316. "am": [1, {
  6317. "co": _2,
  6318. "com": _2,
  6319. "commune": _2,
  6320. "net": _2,
  6321. "org": _2,
  6322. "radio": _3,
  6323. "blogspot": _3,
  6324. "neko": _3,
  6325. "nyaa": _3
  6326. }],
  6327. "ao": [1, {
  6328. "ed": _2,
  6329. "gv": _2,
  6330. "og": _2,
  6331. "co": _2,
  6332. "pb": _2,
  6333. "it": _2
  6334. }],
  6335. "aq": _2,
  6336. "ar": [1, {
  6337. "bet": _2,
  6338. "com": _6,
  6339. "coop": _2,
  6340. "edu": _2,
  6341. "gob": _2,
  6342. "gov": _2,
  6343. "int": _2,
  6344. "mil": _2,
  6345. "musica": _2,
  6346. "mutual": _2,
  6347. "net": _2,
  6348. "org": _2,
  6349. "senasa": _2,
  6350. "tur": _2
  6351. }],
  6352. "arpa": [1, {
  6353. "e164": _2,
  6354. "in-addr": _2,
  6355. "ip6": _2,
  6356. "iris": _2,
  6357. "uri": _2,
  6358. "urn": _2
  6359. }],
  6360. "as": _7,
  6361. "asia": [1, {
  6362. "cloudns": _3
  6363. }],
  6364. "at": [1, {
  6365. "ac": [1, {
  6366. "sth": _2
  6367. }],
  6368. "co": _6,
  6369. "gv": _2,
  6370. "or": _2,
  6371. "funkfeuer": [0, {
  6372. "wien": _3
  6373. }],
  6374. "futurecms": [0, {
  6375. "*": _3,
  6376. "ex": _5,
  6377. "in": _5
  6378. }],
  6379. "futurehosting": _3,
  6380. "futuremailing": _3,
  6381. "ortsinfo": [0, {
  6382. "ex": _5,
  6383. "kunden": _5
  6384. }],
  6385. "biz": _3,
  6386. "info": _3,
  6387. "123webseite": _3,
  6388. "priv": _3,
  6389. "myspreadshop": _3,
  6390. "12hp": _3,
  6391. "2ix": _3,
  6392. "4lima": _3,
  6393. "lima-city": _3
  6394. }],
  6395. "au": [1, {
  6396. "com": [1, {
  6397. "blogspot": _3,
  6398. "cloudlets": [0, {
  6399. "mel": _3
  6400. }],
  6401. "myspreadshop": _3
  6402. }],
  6403. "net": _2,
  6404. "org": _2,
  6405. "edu": [1, {
  6406. "act": _2,
  6407. "catholic": _2,
  6408. "nsw": [1, {
  6409. "schools": _2
  6410. }],
  6411. "nt": _2,
  6412. "qld": _2,
  6413. "sa": _2,
  6414. "tas": _2,
  6415. "vic": _2,
  6416. "wa": _2
  6417. }],
  6418. "gov": [1, {
  6419. "qld": _2,
  6420. "sa": _2,
  6421. "tas": _2,
  6422. "vic": _2,
  6423. "wa": _2
  6424. }],
  6425. "asn": _2,
  6426. "id": _2,
  6427. "info": _2,
  6428. "conf": _2,
  6429. "oz": _2,
  6430. "act": _2,
  6431. "nsw": _2,
  6432. "nt": _2,
  6433. "qld": _2,
  6434. "sa": _2,
  6435. "tas": _2,
  6436. "vic": _2,
  6437. "wa": _2
  6438. }],
  6439. "aw": [1, {
  6440. "com": _2
  6441. }],
  6442. "ax": [1, {
  6443. "be": _3,
  6444. "cat": _3,
  6445. "es": _3,
  6446. "eu": _3,
  6447. "gg": _3,
  6448. "mc": _3,
  6449. "us": _3,
  6450. "xy": _3
  6451. }],
  6452. "az": [1, {
  6453. "com": _2,
  6454. "net": _2,
  6455. "int": _2,
  6456. "gov": _2,
  6457. "org": _2,
  6458. "edu": _2,
  6459. "info": _2,
  6460. "pp": _2,
  6461. "mil": _2,
  6462. "name": _2,
  6463. "pro": _2,
  6464. "biz": _2
  6465. }],
  6466. "ba": [1, {
  6467. "com": _2,
  6468. "edu": _2,
  6469. "gov": _2,
  6470. "mil": _2,
  6471. "net": _2,
  6472. "org": _2,
  6473. "rs": _3,
  6474. "blogspot": _3
  6475. }],
  6476. "bb": [1, {
  6477. "biz": _2,
  6478. "co": _2,
  6479. "com": _2,
  6480. "edu": _2,
  6481. "gov": _2,
  6482. "info": _2,
  6483. "net": _2,
  6484. "org": _2,
  6485. "store": _2,
  6486. "tv": _2
  6487. }],
  6488. "bd": _12,
  6489. "be": [1, {
  6490. "ac": _2,
  6491. "webhosting": _3,
  6492. "blogspot": _3,
  6493. "interhostsolutions": _13,
  6494. "kuleuven": [0, {
  6495. "ezproxy": _3
  6496. }],
  6497. "123website": _3,
  6498. "myspreadshop": _3,
  6499. "transurl": _5
  6500. }],
  6501. "bf": _7,
  6502. "bg": [1, {
  6503. "0": _2,
  6504. "1": _2,
  6505. "2": _2,
  6506. "3": _2,
  6507. "4": _2,
  6508. "5": _2,
  6509. "6": _2,
  6510. "7": _2,
  6511. "8": _2,
  6512. "9": _2,
  6513. "a": _2,
  6514. "b": _2,
  6515. "c": _2,
  6516. "d": _2,
  6517. "e": _2,
  6518. "f": _2,
  6519. "g": _2,
  6520. "h": _2,
  6521. "i": _2,
  6522. "j": _2,
  6523. "k": _2,
  6524. "l": _2,
  6525. "m": _2,
  6526. "n": _2,
  6527. "o": _2,
  6528. "p": _2,
  6529. "q": _2,
  6530. "r": _2,
  6531. "s": _2,
  6532. "t": _2,
  6533. "u": _2,
  6534. "v": _2,
  6535. "w": _2,
  6536. "x": _2,
  6537. "y": _2,
  6538. "z": _2,
  6539. "blogspot": _3,
  6540. "barsy": _3
  6541. }],
  6542. "bh": _4,
  6543. "bi": [1, {
  6544. "co": _2,
  6545. "com": _2,
  6546. "edu": _2,
  6547. "or": _2,
  6548. "org": _2
  6549. }],
  6550. "biz": [1, {
  6551. "activetrail": _3,
  6552. "cloudns": _3,
  6553. "jozi": _3,
  6554. "dyndns": _3,
  6555. "for-better": _3,
  6556. "for-more": _3,
  6557. "for-some": _3,
  6558. "for-the": _3,
  6559. "selfip": _3,
  6560. "webhop": _3,
  6561. "orx": _3,
  6562. "mmafan": _3,
  6563. "myftp": _3,
  6564. "no-ip": _3,
  6565. "dscloud": _3
  6566. }],
  6567. "bj": [1, {
  6568. "africa": _2,
  6569. "agro": _2,
  6570. "architectes": _2,
  6571. "assur": _2,
  6572. "avocats": _2,
  6573. "co": _2,
  6574. "com": _2,
  6575. "eco": _2,
  6576. "econo": _2,
  6577. "edu": _2,
  6578. "info": _2,
  6579. "loisirs": _2,
  6580. "money": _2,
  6581. "net": _2,
  6582. "org": _2,
  6583. "ote": _2,
  6584. "resto": _2,
  6585. "restaurant": _2,
  6586. "tourism": _2,
  6587. "univ": _2,
  6588. "blogspot": _3
  6589. }],
  6590. "bm": _4,
  6591. "bn": [1, {
  6592. "com": _2,
  6593. "edu": _2,
  6594. "gov": _2,
  6595. "net": _2,
  6596. "org": _2,
  6597. "co": _3
  6598. }],
  6599. "bo": [1, {
  6600. "com": _2,
  6601. "edu": _2,
  6602. "gob": _2,
  6603. "int": _2,
  6604. "org": _2,
  6605. "net": _2,
  6606. "mil": _2,
  6607. "tv": _2,
  6608. "web": _2,
  6609. "academia": _2,
  6610. "agro": _2,
  6611. "arte": _2,
  6612. "blog": _2,
  6613. "bolivia": _2,
  6614. "ciencia": _2,
  6615. "cooperativa": _2,
  6616. "democracia": _2,
  6617. "deporte": _2,
  6618. "ecologia": _2,
  6619. "economia": _2,
  6620. "empresa": _2,
  6621. "indigena": _2,
  6622. "industria": _2,
  6623. "info": _2,
  6624. "medicina": _2,
  6625. "movimiento": _2,
  6626. "musica": _2,
  6627. "natural": _2,
  6628. "nombre": _2,
  6629. "noticias": _2,
  6630. "patria": _2,
  6631. "politica": _2,
  6632. "profesional": _2,
  6633. "plurinacional": _2,
  6634. "pueblo": _2,
  6635. "revista": _2,
  6636. "salud": _2,
  6637. "tecnologia": _2,
  6638. "tksat": _2,
  6639. "transporte": _2,
  6640. "wiki": _2
  6641. }],
  6642. "br": [1, {
  6643. "9guacu": _2,
  6644. "abc": _2,
  6645. "adm": _2,
  6646. "adv": _2,
  6647. "agr": _2,
  6648. "aju": _2,
  6649. "am": _2,
  6650. "anani": _2,
  6651. "aparecida": _2,
  6652. "app": _2,
  6653. "arq": _2,
  6654. "art": _2,
  6655. "ato": _2,
  6656. "b": _2,
  6657. "barueri": _2,
  6658. "belem": _2,
  6659. "bhz": _2,
  6660. "bib": _2,
  6661. "bio": _2,
  6662. "blog": _2,
  6663. "bmd": _2,
  6664. "boavista": _2,
  6665. "bsb": _2,
  6666. "campinagrande": _2,
  6667. "campinas": _2,
  6668. "caxias": _2,
  6669. "cim": _2,
  6670. "cng": _2,
  6671. "cnt": _2,
  6672. "com": [1, {
  6673. "blogspot": _3,
  6674. "simplesite": _3
  6675. }],
  6676. "contagem": _2,
  6677. "coop": _2,
  6678. "coz": _2,
  6679. "cri": _2,
  6680. "cuiaba": _2,
  6681. "curitiba": _2,
  6682. "def": _2,
  6683. "des": _2,
  6684. "det": _2,
  6685. "dev": _2,
  6686. "ecn": _2,
  6687. "eco": _2,
  6688. "edu": _2,
  6689. "emp": _2,
  6690. "enf": _2,
  6691. "eng": _2,
  6692. "esp": _2,
  6693. "etc": _2,
  6694. "eti": _2,
  6695. "far": _2,
  6696. "feira": _2,
  6697. "flog": _2,
  6698. "floripa": _2,
  6699. "fm": _2,
  6700. "fnd": _2,
  6701. "fortal": _2,
  6702. "fot": _2,
  6703. "foz": _2,
  6704. "fst": _2,
  6705. "g12": _2,
  6706. "geo": _2,
  6707. "ggf": _2,
  6708. "goiania": _2,
  6709. "gov": [1, {
  6710. "ac": _2,
  6711. "al": _2,
  6712. "am": _2,
  6713. "ap": _2,
  6714. "ba": _2,
  6715. "ce": _2,
  6716. "df": _2,
  6717. "es": _2,
  6718. "go": _2,
  6719. "ma": _2,
  6720. "mg": _2,
  6721. "ms": _2,
  6722. "mt": _2,
  6723. "pa": _2,
  6724. "pb": _2,
  6725. "pe": _2,
  6726. "pi": _2,
  6727. "pr": _2,
  6728. "rj": _2,
  6729. "rn": _2,
  6730. "ro": _2,
  6731. "rr": _2,
  6732. "rs": _2,
  6733. "sc": _2,
  6734. "se": _2,
  6735. "sp": _2,
  6736. "to": _2
  6737. }],
  6738. "gru": _2,
  6739. "imb": _2,
  6740. "ind": _2,
  6741. "inf": _2,
  6742. "jab": _2,
  6743. "jampa": _2,
  6744. "jdf": _2,
  6745. "joinville": _2,
  6746. "jor": _2,
  6747. "jus": _2,
  6748. "leg": [1, {
  6749. "ac": _3,
  6750. "al": _3,
  6751. "am": _3,
  6752. "ap": _3,
  6753. "ba": _3,
  6754. "ce": _3,
  6755. "df": _3,
  6756. "es": _3,
  6757. "go": _3,
  6758. "ma": _3,
  6759. "mg": _3,
  6760. "ms": _3,
  6761. "mt": _3,
  6762. "pa": _3,
  6763. "pb": _3,
  6764. "pe": _3,
  6765. "pi": _3,
  6766. "pr": _3,
  6767. "rj": _3,
  6768. "rn": _3,
  6769. "ro": _3,
  6770. "rr": _3,
  6771. "rs": _3,
  6772. "sc": _3,
  6773. "se": _3,
  6774. "sp": _3,
  6775. "to": _3
  6776. }],
  6777. "lel": _2,
  6778. "log": _2,
  6779. "londrina": _2,
  6780. "macapa": _2,
  6781. "maceio": _2,
  6782. "manaus": _2,
  6783. "maringa": _2,
  6784. "mat": _2,
  6785. "med": _2,
  6786. "mil": _2,
  6787. "morena": _2,
  6788. "mp": _2,
  6789. "mus": _2,
  6790. "natal": _2,
  6791. "net": _2,
  6792. "niteroi": _2,
  6793. "nom": _12,
  6794. "not": _2,
  6795. "ntr": _2,
  6796. "odo": _2,
  6797. "ong": _2,
  6798. "org": _2,
  6799. "osasco": _2,
  6800. "palmas": _2,
  6801. "poa": _2,
  6802. "ppg": _2,
  6803. "pro": _2,
  6804. "psc": _2,
  6805. "psi": _2,
  6806. "pvh": _2,
  6807. "qsl": _2,
  6808. "radio": _2,
  6809. "rec": _2,
  6810. "recife": _2,
  6811. "rep": _2,
  6812. "ribeirao": _2,
  6813. "rio": _2,
  6814. "riobranco": _2,
  6815. "riopreto": _2,
  6816. "salvador": _2,
  6817. "sampa": _2,
  6818. "santamaria": _2,
  6819. "santoandre": _2,
  6820. "saobernardo": _2,
  6821. "saogonca": _2,
  6822. "seg": _2,
  6823. "sjc": _2,
  6824. "slg": _2,
  6825. "slz": _2,
  6826. "sorocaba": _2,
  6827. "srv": _2,
  6828. "taxi": _2,
  6829. "tc": _2,
  6830. "tec": _2,
  6831. "teo": _2,
  6832. "the": _2,
  6833. "tmp": _2,
  6834. "trd": _2,
  6835. "tur": _2,
  6836. "tv": _2,
  6837. "udi": _2,
  6838. "vet": _2,
  6839. "vix": _2,
  6840. "vlog": _2,
  6841. "wiki": _2,
  6842. "zlg": _2
  6843. }],
  6844. "bs": [1, {
  6845. "com": _2,
  6846. "net": _2,
  6847. "org": _2,
  6848. "edu": _2,
  6849. "gov": _2,
  6850. "we": _3
  6851. }],
  6852. "bt": _4,
  6853. "bv": _2,
  6854. "bw": [1, {
  6855. "co": _2,
  6856. "org": _2
  6857. }],
  6858. "by": [1, {
  6859. "gov": _2,
  6860. "mil": _2,
  6861. "com": _6,
  6862. "of": _2,
  6863. "mycloud": _3,
  6864. "mediatech": _3
  6865. }],
  6866. "bz": [1, {
  6867. "com": _2,
  6868. "net": _2,
  6869. "org": _2,
  6870. "edu": _2,
  6871. "gov": _2,
  6872. "za": _3,
  6873. "gsj": _3
  6874. }],
  6875. "ca": [1, {
  6876. "ab": _2,
  6877. "bc": _2,
  6878. "mb": _2,
  6879. "nb": _2,
  6880. "nf": _2,
  6881. "nl": _2,
  6882. "ns": _2,
  6883. "nt": _2,
  6884. "nu": _2,
  6885. "on": _2,
  6886. "pe": _2,
  6887. "qc": _2,
  6888. "sk": _2,
  6889. "yk": _2,
  6890. "gc": _2,
  6891. "barsy": _3,
  6892. "awdev": _5,
  6893. "co": _3,
  6894. "blogspot": _3,
  6895. "no-ip": _3,
  6896. "myspreadshop": _3
  6897. }],
  6898. "cat": _2,
  6899. "cc": [1, {
  6900. "cloudns": _3,
  6901. "ftpaccess": _3,
  6902. "game-server": _3,
  6903. "myphotos": _3,
  6904. "scrapping": _3,
  6905. "twmail": _3,
  6906. "csx": _3,
  6907. "fantasyleague": _3,
  6908. "spawn": [0, {
  6909. "instances": _3
  6910. }]
  6911. }],
  6912. "cd": _7,
  6913. "cf": _6,
  6914. "cg": _2,
  6915. "ch": [1, {
  6916. "square7": _3,
  6917. "blogspot": _3,
  6918. "flow": [0, {
  6919. "ae": [0, {
  6920. "alp1": _3
  6921. }],
  6922. "appengine": _3
  6923. }],
  6924. "linkyard-cloud": _3,
  6925. "dnsking": _3,
  6926. "gotdns": _3,
  6927. "123website": _3,
  6928. "myspreadshop": _3,
  6929. "firenet": [0, {
  6930. "*": _3,
  6931. "svc": _5
  6932. }],
  6933. "12hp": _3,
  6934. "2ix": _3,
  6935. "4lima": _3,
  6936. "lima-city": _3
  6937. }],
  6938. "ci": [1, {
  6939. "org": _2,
  6940. "or": _2,
  6941. "com": _2,
  6942. "co": _2,
  6943. "edu": _2,
  6944. "ed": _2,
  6945. "ac": _2,
  6946. "net": _2,
  6947. "go": _2,
  6948. "asso": _2,
  6949. "xn--aroport-bya": _2,
  6950. "aéroport": _2,
  6951. "int": _2,
  6952. "presse": _2,
  6953. "md": _2,
  6954. "gouv": _2,
  6955. "fin": _3,
  6956. "nl": _3
  6957. }],
  6958. "ck": _12,
  6959. "cl": [1, {
  6960. "co": _2,
  6961. "gob": _2,
  6962. "gov": _2,
  6963. "mil": _2,
  6964. "blogspot": _3
  6965. }],
  6966. "cm": [1, {
  6967. "co": _2,
  6968. "com": _2,
  6969. "gov": _2,
  6970. "net": _2
  6971. }],
  6972. "cn": [1, {
  6973. "ac": _2,
  6974. "com": [1, {
  6975. "amazonaws": [0, {
  6976. "cn-north-1": [0, {
  6977. "execute-api": _3,
  6978. "emrappui-prod": _3,
  6979. "emrnotebooks-prod": _3,
  6980. "emrstudio-prod": _3,
  6981. "dualstack": _16,
  6982. "s3": _3,
  6983. "s3-accesspoint": _3,
  6984. "s3-deprecated": _3,
  6985. "s3-object-lambda": _3,
  6986. "s3-website": _3
  6987. }],
  6988. "cn-northwest-1": _18,
  6989. "compute": _5,
  6990. "airflow": [0, {
  6991. "cn-north-1": _5,
  6992. "cn-northwest-1": _5
  6993. }],
  6994. "eb": [0, {
  6995. "cn-north-1": _3,
  6996. "cn-northwest-1": _3
  6997. }],
  6998. "elb": _5
  6999. }],
  7000. "sagemaker": [0, {
  7001. "cn-north-1": _8,
  7002. "cn-northwest-1": _8
  7003. }]
  7004. }],
  7005. "edu": _2,
  7006. "gov": _2,
  7007. "net": _2,
  7008. "org": _2,
  7009. "mil": _2,
  7010. "xn--55qx5d": _2,
  7011. "公司": _2,
  7012. "xn--io0a7i": _2,
  7013. "网络": _2,
  7014. "xn--od0alg": _2,
  7015. "網絡": _2,
  7016. "ah": _2,
  7017. "bj": _2,
  7018. "cq": _2,
  7019. "fj": _2,
  7020. "gd": _2,
  7021. "gs": _2,
  7022. "gz": _2,
  7023. "gx": _2,
  7024. "ha": _2,
  7025. "hb": _2,
  7026. "he": _2,
  7027. "hi": _2,
  7028. "hl": _2,
  7029. "hn": _2,
  7030. "jl": _2,
  7031. "js": _2,
  7032. "jx": _2,
  7033. "ln": _2,
  7034. "nm": _2,
  7035. "nx": _2,
  7036. "qh": _2,
  7037. "sc": _2,
  7038. "sd": _2,
  7039. "sh": _2,
  7040. "sn": _2,
  7041. "sx": _2,
  7042. "tj": _2,
  7043. "xj": _2,
  7044. "xz": _2,
  7045. "yn": _2,
  7046. "zj": _2,
  7047. "hk": _2,
  7048. "mo": _2,
  7049. "tw": _2,
  7050. "canva-apps": _3,
  7051. "instantcloud": _3,
  7052. "quickconnect": _19
  7053. }],
  7054. "co": [1, {
  7055. "arts": _2,
  7056. "com": _6,
  7057. "edu": _2,
  7058. "firm": _2,
  7059. "gov": _2,
  7060. "info": _2,
  7061. "int": _2,
  7062. "mil": _2,
  7063. "net": _2,
  7064. "nom": _2,
  7065. "org": _2,
  7066. "rec": _2,
  7067. "web": _2,
  7068. "carrd": _3,
  7069. "crd": _3,
  7070. "otap": _5,
  7071. "leadpages": _3,
  7072. "lpages": _3,
  7073. "mypi": _3,
  7074. "n4t": _3,
  7075. "firewalledreplit": _20,
  7076. "repl": _20,
  7077. "supabase": _3
  7078. }],
  7079. "com": [1, {
  7080. "devcdnaccesso": _5,
  7081. "adobeaemcloud": [2, {
  7082. "dev": _5
  7083. }],
  7084. "airkitapps": _3,
  7085. "airkitapps-au": _3,
  7086. "aivencloud": _3,
  7087. "kasserver": _3,
  7088. "amazonaws": [0, {
  7089. "af-south-1": _23,
  7090. "ap-east-1": _24,
  7091. "ap-northeast-1": _25,
  7092. "ap-northeast-2": _25,
  7093. "ap-northeast-3": _23,
  7094. "ap-south-1": _25,
  7095. "ap-south-2": _26,
  7096. "ap-southeast-1": _25,
  7097. "ap-southeast-2": _25,
  7098. "ap-southeast-3": _18,
  7099. "ap-southeast-4": _26,
  7100. "ca-central-1": _28,
  7101. "eu-central-1": _25,
  7102. "eu-central-2": _26,
  7103. "eu-north-1": _24,
  7104. "eu-south-1": _23,
  7105. "eu-south-2": _26,
  7106. "eu-west-1": [0, {
  7107. "execute-api": _3,
  7108. "emrappui-prod": _3,
  7109. "emrnotebooks-prod": _3,
  7110. "emrstudio-prod": _3,
  7111. "dualstack": _16,
  7112. "s3": _3,
  7113. "s3-accesspoint": _3,
  7114. "s3-deprecated": _3,
  7115. "s3-object-lambda": _3,
  7116. "s3-website": _3,
  7117. "analytics-gateway": _3,
  7118. "aws-cloud9": _21,
  7119. "cloud9": _22
  7120. }],
  7121. "eu-west-2": _24,
  7122. "eu-west-3": _23,
  7123. "il-central-1": _26,
  7124. "me-central-1": _18,
  7125. "me-south-1": _24,
  7126. "sa-east-1": _23,
  7127. "us-east-1": [2, {
  7128. "execute-api": _3,
  7129. "emrappui-prod": _3,
  7130. "emrnotebooks-prod": _3,
  7131. "emrstudio-prod": _3,
  7132. "dualstack": _27,
  7133. "s3": _3,
  7134. "s3-accesspoint": _3,
  7135. "s3-accesspoint-fips": _3,
  7136. "s3-deprecated": _3,
  7137. "s3-fips": _3,
  7138. "s3-object-lambda": _3,
  7139. "s3-website": _3,
  7140. "analytics-gateway": _3,
  7141. "aws-cloud9": _21,
  7142. "cloud9": _22
  7143. }],
  7144. "us-east-2": [0, {
  7145. "execute-api": _3,
  7146. "emrappui-prod": _3,
  7147. "emrnotebooks-prod": _3,
  7148. "emrstudio-prod": _3,
  7149. "dualstack": _29,
  7150. "s3": _3,
  7151. "s3-accesspoint": _3,
  7152. "s3-accesspoint-fips": _3,
  7153. "s3-deprecated": _3,
  7154. "s3-fips": _3,
  7155. "s3-object-lambda": _3,
  7156. "s3-website": _3,
  7157. "analytics-gateway": _3,
  7158. "aws-cloud9": _21,
  7159. "cloud9": _22
  7160. }],
  7161. "us-gov-east-1": _30,
  7162. "us-gov-west-1": _30,
  7163. "us-west-1": _28,
  7164. "us-west-2": [0, {
  7165. "execute-api": _3,
  7166. "emrappui-prod": _3,
  7167. "emrnotebooks-prod": _3,
  7168. "emrstudio-prod": _3,
  7169. "dualstack": _27,
  7170. "s3": _3,
  7171. "s3-accesspoint": _3,
  7172. "s3-accesspoint-fips": _3,
  7173. "s3-deprecated": _3,
  7174. "s3-fips": _3,
  7175. "s3-object-lambda": _3,
  7176. "s3-website": _3,
  7177. "analytics-gateway": _3,
  7178. "aws-cloud9": _21,
  7179. "cloud9": _22
  7180. }],
  7181. "compute": _5,
  7182. "compute-1": _5,
  7183. "airflow": [0, {
  7184. "ap-northeast-1": _5,
  7185. "ap-northeast-2": _5,
  7186. "ap-south-1": _5,
  7187. "ap-southeast-1": _5,
  7188. "ap-southeast-2": _5,
  7189. "ca-central-1": _5,
  7190. "eu-central-1": _5,
  7191. "eu-north-1": _5,
  7192. "eu-west-1": _5,
  7193. "eu-west-2": _5,
  7194. "eu-west-3": _5,
  7195. "sa-east-1": _5,
  7196. "us-east-1": _5,
  7197. "us-east-2": _5,
  7198. "us-west-2": _5
  7199. }],
  7200. "s3": _3,
  7201. "s3-1": _3,
  7202. "s3-ap-east-1": _3,
  7203. "s3-ap-northeast-1": _3,
  7204. "s3-ap-northeast-2": _3,
  7205. "s3-ap-northeast-3": _3,
  7206. "s3-ap-south-1": _3,
  7207. "s3-ap-southeast-1": _3,
  7208. "s3-ap-southeast-2": _3,
  7209. "s3-ca-central-1": _3,
  7210. "s3-eu-central-1": _3,
  7211. "s3-eu-north-1": _3,
  7212. "s3-eu-west-1": _3,
  7213. "s3-eu-west-2": _3,
  7214. "s3-eu-west-3": _3,
  7215. "s3-external-1": _3,
  7216. "s3-fips-us-gov-east-1": _3,
  7217. "s3-fips-us-gov-west-1": _3,
  7218. "s3-global": [0, {
  7219. "accesspoint": [0, {
  7220. "mrap": _3
  7221. }]
  7222. }],
  7223. "s3-me-south-1": _3,
  7224. "s3-sa-east-1": _3,
  7225. "s3-us-east-2": _3,
  7226. "s3-us-gov-east-1": _3,
  7227. "s3-us-gov-west-1": _3,
  7228. "s3-us-west-1": _3,
  7229. "s3-us-west-2": _3,
  7230. "s3-website-ap-northeast-1": _3,
  7231. "s3-website-ap-southeast-1": _3,
  7232. "s3-website-ap-southeast-2": _3,
  7233. "s3-website-eu-west-1": _3,
  7234. "s3-website-sa-east-1": _3,
  7235. "s3-website-us-east-1": _3,
  7236. "s3-website-us-gov-west-1": _3,
  7237. "s3-website-us-west-1": _3,
  7238. "s3-website-us-west-2": _3,
  7239. "elb": _5
  7240. }],
  7241. "amazoncognito": [0, {
  7242. "af-south-1": _31,
  7243. "ap-northeast-1": _31,
  7244. "ap-northeast-2": _31,
  7245. "ap-northeast-3": _31,
  7246. "ap-south-1": _31,
  7247. "ap-southeast-1": _31,
  7248. "ap-southeast-2": _31,
  7249. "ap-southeast-3": _31,
  7250. "ca-central-1": _31,
  7251. "eu-central-1": _31,
  7252. "eu-north-1": _31,
  7253. "eu-south-1": _31,
  7254. "eu-west-1": _31,
  7255. "eu-west-2": _31,
  7256. "eu-west-3": _31,
  7257. "il-central-1": _31,
  7258. "me-south-1": _31,
  7259. "sa-east-1": _31,
  7260. "us-east-1": _32,
  7261. "us-east-2": _32,
  7262. "us-gov-west-1": [0, {
  7263. "auth-fips": _3
  7264. }],
  7265. "us-west-1": _32,
  7266. "us-west-2": _32
  7267. }],
  7268. "amplifyapp": _5,
  7269. "awsapprunner": _5,
  7270. "elasticbeanstalk": [2, {
  7271. "af-south-1": _3,
  7272. "ap-east-1": _3,
  7273. "ap-northeast-1": _3,
  7274. "ap-northeast-2": _3,
  7275. "ap-northeast-3": _3,
  7276. "ap-south-1": _3,
  7277. "ap-southeast-1": _3,
  7278. "ap-southeast-2": _3,
  7279. "ap-southeast-3": _3,
  7280. "ca-central-1": _3,
  7281. "eu-central-1": _3,
  7282. "eu-north-1": _3,
  7283. "eu-south-1": _3,
  7284. "eu-west-1": _3,
  7285. "eu-west-2": _3,
  7286. "eu-west-3": _3,
  7287. "il-central-1": _3,
  7288. "me-south-1": _3,
  7289. "sa-east-1": _3,
  7290. "us-east-1": _3,
  7291. "us-east-2": _3,
  7292. "us-gov-east-1": _3,
  7293. "us-gov-west-1": _3,
  7294. "us-west-1": _3,
  7295. "us-west-2": _3
  7296. }],
  7297. "awsglobalaccelerator": _3,
  7298. "siiites": _3,
  7299. "appspacehosted": _3,
  7300. "appspaceusercontent": _3,
  7301. "on-aptible": _3,
  7302. "myasustor": _3,
  7303. "balena-devices": _3,
  7304. "betainabox": _3,
  7305. "boutir": _3,
  7306. "bplaced": _3,
  7307. "cafjs": _3,
  7308. "canva-apps": _3,
  7309. "br": _3,
  7310. "cn": _3,
  7311. "de": _3,
  7312. "eu": _3,
  7313. "jpn": _3,
  7314. "mex": _3,
  7315. "ru": _3,
  7316. "sa": _3,
  7317. "uk": _3,
  7318. "us": _3,
  7319. "za": _3,
  7320. "ar": _3,
  7321. "hu": _3,
  7322. "kr": _3,
  7323. "no": _3,
  7324. "qc": _3,
  7325. "uy": _3,
  7326. "africa": _3,
  7327. "gr": _3,
  7328. "co": _3,
  7329. "jdevcloud": _3,
  7330. "wpdevcloud": _3,
  7331. "cloudcontrolled": _3,
  7332. "cloudcontrolapp": _3,
  7333. "cf-ipfs": _3,
  7334. "cloudflare-ipfs": _3,
  7335. "trycloudflare": _3,
  7336. "customer-oci": [0, {
  7337. "*": _3,
  7338. "oci": _5,
  7339. "ocp": _5,
  7340. "ocs": _5
  7341. }],
  7342. "dattolocal": _3,
  7343. "dattorelay": _3,
  7344. "dattoweb": _3,
  7345. "mydatto": _3,
  7346. "builtwithdark": _3,
  7347. "datadetect": [0, {
  7348. "demo": _3,
  7349. "instance": _3
  7350. }],
  7351. "ddns5": _3,
  7352. "discordsays": _3,
  7353. "discordsez": _3,
  7354. "drayddns": _3,
  7355. "dreamhosters": _3,
  7356. "mydrobo": _3,
  7357. "dyndns-at-home": _3,
  7358. "dyndns-at-work": _3,
  7359. "dyndns-blog": _3,
  7360. "dyndns-free": _3,
  7361. "dyndns-home": _3,
  7362. "dyndns-ip": _3,
  7363. "dyndns-mail": _3,
  7364. "dyndns-office": _3,
  7365. "dyndns-pics": _3,
  7366. "dyndns-remote": _3,
  7367. "dyndns-server": _3,
  7368. "dyndns-web": _3,
  7369. "dyndns-wiki": _3,
  7370. "dyndns-work": _3,
  7371. "blogdns": _3,
  7372. "cechire": _3,
  7373. "dnsalias": _3,
  7374. "dnsdojo": _3,
  7375. "doesntexist": _3,
  7376. "dontexist": _3,
  7377. "doomdns": _3,
  7378. "dyn-o-saur": _3,
  7379. "dynalias": _3,
  7380. "est-a-la-maison": _3,
  7381. "est-a-la-masion": _3,
  7382. "est-le-patron": _3,
  7383. "est-mon-blogueur": _3,
  7384. "from-ak": _3,
  7385. "from-al": _3,
  7386. "from-ar": _3,
  7387. "from-ca": _3,
  7388. "from-ct": _3,
  7389. "from-dc": _3,
  7390. "from-de": _3,
  7391. "from-fl": _3,
  7392. "from-ga": _3,
  7393. "from-hi": _3,
  7394. "from-ia": _3,
  7395. "from-id": _3,
  7396. "from-il": _3,
  7397. "from-in": _3,
  7398. "from-ks": _3,
  7399. "from-ky": _3,
  7400. "from-ma": _3,
  7401. "from-md": _3,
  7402. "from-mi": _3,
  7403. "from-mn": _3,
  7404. "from-mo": _3,
  7405. "from-ms": _3,
  7406. "from-mt": _3,
  7407. "from-nc": _3,
  7408. "from-nd": _3,
  7409. "from-ne": _3,
  7410. "from-nh": _3,
  7411. "from-nj": _3,
  7412. "from-nm": _3,
  7413. "from-nv": _3,
  7414. "from-oh": _3,
  7415. "from-ok": _3,
  7416. "from-or": _3,
  7417. "from-pa": _3,
  7418. "from-pr": _3,
  7419. "from-ri": _3,
  7420. "from-sc": _3,
  7421. "from-sd": _3,
  7422. "from-tn": _3,
  7423. "from-tx": _3,
  7424. "from-ut": _3,
  7425. "from-va": _3,
  7426. "from-vt": _3,
  7427. "from-wa": _3,
  7428. "from-wi": _3,
  7429. "from-wv": _3,
  7430. "from-wy": _3,
  7431. "getmyip": _3,
  7432. "gotdns": _3,
  7433. "hobby-site": _3,
  7434. "homelinux": _3,
  7435. "homeunix": _3,
  7436. "iamallama": _3,
  7437. "is-a-anarchist": _3,
  7438. "is-a-blogger": _3,
  7439. "is-a-bookkeeper": _3,
  7440. "is-a-bulls-fan": _3,
  7441. "is-a-caterer": _3,
  7442. "is-a-chef": _3,
  7443. "is-a-conservative": _3,
  7444. "is-a-cpa": _3,
  7445. "is-a-cubicle-slave": _3,
  7446. "is-a-democrat": _3,
  7447. "is-a-designer": _3,
  7448. "is-a-doctor": _3,
  7449. "is-a-financialadvisor": _3,
  7450. "is-a-geek": _3,
  7451. "is-a-green": _3,
  7452. "is-a-guru": _3,
  7453. "is-a-hard-worker": _3,
  7454. "is-a-hunter": _3,
  7455. "is-a-landscaper": _3,
  7456. "is-a-lawyer": _3,
  7457. "is-a-liberal": _3,
  7458. "is-a-libertarian": _3,
  7459. "is-a-llama": _3,
  7460. "is-a-musician": _3,
  7461. "is-a-nascarfan": _3,
  7462. "is-a-nurse": _3,
  7463. "is-a-painter": _3,
  7464. "is-a-personaltrainer": _3,
  7465. "is-a-photographer": _3,
  7466. "is-a-player": _3,
  7467. "is-a-republican": _3,
  7468. "is-a-rockstar": _3,
  7469. "is-a-socialist": _3,
  7470. "is-a-student": _3,
  7471. "is-a-teacher": _3,
  7472. "is-a-techie": _3,
  7473. "is-a-therapist": _3,
  7474. "is-an-accountant": _3,
  7475. "is-an-actor": _3,
  7476. "is-an-actress": _3,
  7477. "is-an-anarchist": _3,
  7478. "is-an-artist": _3,
  7479. "is-an-engineer": _3,
  7480. "is-an-entertainer": _3,
  7481. "is-certified": _3,
  7482. "is-gone": _3,
  7483. "is-into-anime": _3,
  7484. "is-into-cars": _3,
  7485. "is-into-cartoons": _3,
  7486. "is-into-games": _3,
  7487. "is-leet": _3,
  7488. "is-not-certified": _3,
  7489. "is-slick": _3,
  7490. "is-uberleet": _3,
  7491. "is-with-theband": _3,
  7492. "isa-geek": _3,
  7493. "isa-hockeynut": _3,
  7494. "issmarterthanyou": _3,
  7495. "likes-pie": _3,
  7496. "likescandy": _3,
  7497. "neat-url": _3,
  7498. "saves-the-whales": _3,
  7499. "selfip": _3,
  7500. "sells-for-less": _3,
  7501. "sells-for-u": _3,
  7502. "servebbs": _3,
  7503. "simple-url": _3,
  7504. "space-to-rent": _3,
  7505. "teaches-yoga": _3,
  7506. "writesthisblog": _3,
  7507. "digitaloceanspaces": _5,
  7508. "ddnsfree": _3,
  7509. "ddnsgeek": _3,
  7510. "giize": _3,
  7511. "gleeze": _3,
  7512. "kozow": _3,
  7513. "loseyourip": _3,
  7514. "ooguy": _3,
  7515. "theworkpc": _3,
  7516. "mytuleap": _3,
  7517. "tuleap-partners": _3,
  7518. "encoreapi": _3,
  7519. "evennode": [0, {
  7520. "eu-1": _3,
  7521. "eu-2": _3,
  7522. "eu-3": _3,
  7523. "eu-4": _3,
  7524. "us-1": _3,
  7525. "us-2": _3,
  7526. "us-3": _3,
  7527. "us-4": _3
  7528. }],
  7529. "onfabrica": _3,
  7530. "fbsbx": _33,
  7531. "fastly-edge": _3,
  7532. "fastly-terrarium": _3,
  7533. "fastvps-server": _3,
  7534. "mydobiss": _3,
  7535. "firebaseapp": _3,
  7536. "fldrv": _3,
  7537. "forgeblocks": _3,
  7538. "framercanvas": _3,
  7539. "freebox-os": _3,
  7540. "freeboxos": _3,
  7541. "freemyip": _3,
  7542. "gentapps": _3,
  7543. "gentlentapis": _3,
  7544. "githubusercontent": _3,
  7545. "0emm": _5,
  7546. "appspot": [2, {
  7547. "r": _5
  7548. }],
  7549. "codespot": _3,
  7550. "googleapis": _3,
  7551. "googlecode": _3,
  7552. "pagespeedmobilizer": _3,
  7553. "publishproxy": _3,
  7554. "withgoogle": _3,
  7555. "withyoutube": _3,
  7556. "blogspot": _3,
  7557. "awsmppl": _3,
  7558. "herokuapp": _3,
  7559. "herokussl": _3,
  7560. "impertrixcdn": _3,
  7561. "impertrix": _3,
  7562. "smushcdn": _3,
  7563. "wphostedmail": _3,
  7564. "wpmucdn": _3,
  7565. "pixolino": _3,
  7566. "amscompute": _3,
  7567. "dopaas": _3,
  7568. "hosted-by-previder": _34,
  7569. "hosteur": [0, {
  7570. "rag-cloud": _3,
  7571. "rag-cloud-ch": _3
  7572. }],
  7573. "ik-server": [0, {
  7574. "jcloud": _3,
  7575. "jcloud-ver-jpc": _3
  7576. }],
  7577. "jelastic": [0, {
  7578. "demo": _3
  7579. }],
  7580. "kilatiron": _3,
  7581. "massivegrid": _34,
  7582. "wafaicloud": [0, {
  7583. "jed": _3,
  7584. "lon": _3,
  7585. "ryd": _3
  7586. }],
  7587. "joyent": [0, {
  7588. "cns": _5
  7589. }],
  7590. "ktistory": _3,
  7591. "lpusercontent": _3,
  7592. "lmpm": _35,
  7593. "linode": [0, {
  7594. "members": _3,
  7595. "nodebalancer": _5
  7596. }],
  7597. "linodeobjects": _5,
  7598. "linodeusercontent": [0, {
  7599. "ip": _3
  7600. }],
  7601. "barsycenter": _3,
  7602. "barsyonline": _3,
  7603. "mazeplay": _3,
  7604. "miniserver": _3,
  7605. "meteorapp": _36,
  7606. "hostedpi": _3,
  7607. "mythic-beasts": [0, {
  7608. "customer": _3,
  7609. "caracal": _3,
  7610. "fentiger": _3,
  7611. "lynx": _3,
  7612. "ocelot": _3,
  7613. "oncilla": _3,
  7614. "onza": _3,
  7615. "sphinx": _3,
  7616. "vs": _3,
  7617. "x": _3,
  7618. "yali": _3
  7619. }],
  7620. "nospamproxy": _13,
  7621. "4u": _3,
  7622. "nfshost": _3,
  7623. "001www": _3,
  7624. "ddnslive": _3,
  7625. "myiphost": _3,
  7626. "blogsyte": _3,
  7627. "ciscofreak": _3,
  7628. "damnserver": _3,
  7629. "ditchyourip": _3,
  7630. "dnsiskinky": _3,
  7631. "dynns": _3,
  7632. "geekgalaxy": _3,
  7633. "health-carereform": _3,
  7634. "homesecuritymac": _3,
  7635. "homesecuritypc": _3,
  7636. "myactivedirectory": _3,
  7637. "mysecuritycamera": _3,
  7638. "net-freaks": _3,
  7639. "onthewifi": _3,
  7640. "point2this": _3,
  7641. "quicksytes": _3,
  7642. "securitytactics": _3,
  7643. "serveexchange": _3,
  7644. "servehumour": _3,
  7645. "servep2p": _3,
  7646. "servesarcasm": _3,
  7647. "stufftoread": _3,
  7648. "unusualperson": _3,
  7649. "workisboring": _3,
  7650. "3utilities": _3,
  7651. "ddnsking": _3,
  7652. "myvnc": _3,
  7653. "servebeer": _3,
  7654. "servecounterstrike": _3,
  7655. "serveftp": _3,
  7656. "servegame": _3,
  7657. "servehalflife": _3,
  7658. "servehttp": _3,
  7659. "serveirc": _3,
  7660. "servemp3": _3,
  7661. "servepics": _3,
  7662. "servequake": _3,
  7663. "observableusercontent": [0, {
  7664. "static": _3
  7665. }],
  7666. "simplesite": _3,
  7667. "orsites": _3,
  7668. "operaunite": _3,
  7669. "authgear-staging": _3,
  7670. "authgearapps": _3,
  7671. "skygearapp": _3,
  7672. "outsystemscloud": _3,
  7673. "ownprovider": _3,
  7674. "pgfog": _3,
  7675. "pagefrontapp": _3,
  7676. "pagexl": _3,
  7677. "paywhirl": _5,
  7678. "gotpantheon": _3,
  7679. "platter-app": _3,
  7680. "pleskns": _3,
  7681. "postman-echo": _3,
  7682. "prgmr": [0, {
  7683. "xen": _3
  7684. }],
  7685. "pythonanywhere": _36,
  7686. "qualifioapp": _3,
  7687. "ladesk": _3,
  7688. "qbuser": _3,
  7689. "qa2": _3,
  7690. "dev-myqnapcloud": _3,
  7691. "alpha-myqnapcloud": _3,
  7692. "myqnapcloud": _3,
  7693. "quipelements": _5,
  7694. "rackmaze": _3,
  7695. "rhcloud": _3,
  7696. "render": _35,
  7697. "onrender": _3,
  7698. "180r": _3,
  7699. "dojin": _3,
  7700. "sakuratan": _3,
  7701. "sakuraweb": _3,
  7702. "x0": _3,
  7703. "code": [0, {
  7704. "builder": _5,
  7705. "dev-builder": _5,
  7706. "stg-builder": _5
  7707. }],
  7708. "logoip": _3,
  7709. "scrysec": _3,
  7710. "firewall-gateway": _3,
  7711. "myshopblocks": _3,
  7712. "myshopify": _3,
  7713. "shopitsite": _3,
  7714. "1kapp": _3,
  7715. "appchizi": _3,
  7716. "applinzi": _3,
  7717. "sinaapp": _3,
  7718. "vipsinaapp": _3,
  7719. "bounty-full": [2, {
  7720. "alpha": _3,
  7721. "beta": _3
  7722. }],
  7723. "streamlitapp": _3,
  7724. "try-snowplow": _3,
  7725. "stackhero-network": _3,
  7726. "playstation-cloud": _3,
  7727. "myspreadshop": _3,
  7728. "stdlib": [0, {
  7729. "api": _3
  7730. }],
  7731. "temp-dns": _3,
  7732. "dsmynas": _3,
  7733. "familyds": _3,
  7734. "mytabit": _3,
  7735. "tb-hosting": _37,
  7736. "reservd": _3,
  7737. "thingdustdata": _3,
  7738. "bloxcms": _3,
  7739. "townnews-staging": _3,
  7740. "typeform": [0, {
  7741. "pro": _3
  7742. }],
  7743. "hk": _3,
  7744. "it": _3,
  7745. "vultrobjects": _5,
  7746. "wafflecell": _3,
  7747. "reserve-online": _3,
  7748. "hotelwithflight": _3,
  7749. "remotewd": _3,
  7750. "wiardweb": _38,
  7751. "messwithdns": _3,
  7752. "woltlab-demo": _3,
  7753. "wpenginepowered": [2, {
  7754. "js": _3
  7755. }],
  7756. "wixsite": _3,
  7757. "xnbay": [2, {
  7758. "u2": _3,
  7759. "u2-local": _3
  7760. }],
  7761. "yolasite": _3
  7762. }],
  7763. "coop": _2,
  7764. "cr": [1, {
  7765. "ac": _2,
  7766. "co": _2,
  7767. "ed": _2,
  7768. "fi": _2,
  7769. "go": _2,
  7770. "or": _2,
  7771. "sa": _2
  7772. }],
  7773. "cu": [1, {
  7774. "com": _2,
  7775. "edu": _2,
  7776. "org": _2,
  7777. "net": _2,
  7778. "gov": _2,
  7779. "inf": _2
  7780. }],
  7781. "cv": [1, {
  7782. "com": _2,
  7783. "edu": _2,
  7784. "int": _2,
  7785. "nome": _2,
  7786. "org": _2,
  7787. "blogspot": _3
  7788. }],
  7789. "cw": _39,
  7790. "cx": [1, {
  7791. "gov": _2,
  7792. "ath": _3,
  7793. "info": _3
  7794. }],
  7795. "cy": [1, {
  7796. "ac": _2,
  7797. "biz": _2,
  7798. "com": [1, {
  7799. "blogspot": _3,
  7800. "scaleforce": _40
  7801. }],
  7802. "ekloges": _2,
  7803. "gov": _2,
  7804. "ltd": _2,
  7805. "mil": _2,
  7806. "net": _2,
  7807. "org": _2,
  7808. "press": _2,
  7809. "pro": _2,
  7810. "tm": _2
  7811. }],
  7812. "cz": [1, {
  7813. "co": _3,
  7814. "realm": _3,
  7815. "e4": _3,
  7816. "blogspot": _3,
  7817. "metacentrum": [0, {
  7818. "cloud": _5,
  7819. "custom": _3
  7820. }],
  7821. "muni": [0, {
  7822. "cloud": [0, {
  7823. "flt": _3,
  7824. "usr": _3
  7825. }]
  7826. }]
  7827. }],
  7828. "de": [1, {
  7829. "bplaced": _3,
  7830. "square7": _3,
  7831. "com": _3,
  7832. "cosidns": [0, {
  7833. "dyn": _3
  7834. }],
  7835. "dynamisches-dns": _3,
  7836. "dnsupdater": _3,
  7837. "internet-dns": _3,
  7838. "l-o-g-i-n": _3,
  7839. "dnshome": _3,
  7840. "fuettertdasnetz": _3,
  7841. "isteingeek": _3,
  7842. "istmein": _3,
  7843. "lebtimnetz": _3,
  7844. "leitungsen": _3,
  7845. "traeumtgerade": _3,
  7846. "ddnss": [2, {
  7847. "dyn": _3,
  7848. "dyndns": _3
  7849. }],
  7850. "dyndns1": _3,
  7851. "dyn-ip24": _3,
  7852. "home-webserver": [2, {
  7853. "dyn": _3
  7854. }],
  7855. "myhome-server": _3,
  7856. "frusky": _5,
  7857. "goip": _3,
  7858. "blogspot": _3,
  7859. "xn--gnstigbestellen-zvb": _3,
  7860. "günstigbestellen": _3,
  7861. "xn--gnstigliefern-wob": _3,
  7862. "günstigliefern": _3,
  7863. "hs-heilbronn": [0, {
  7864. "it": _38
  7865. }],
  7866. "dyn-berlin": _3,
  7867. "in-berlin": _3,
  7868. "in-brb": _3,
  7869. "in-butter": _3,
  7870. "in-dsl": _3,
  7871. "in-vpn": _3,
  7872. "iservschule": _3,
  7873. "mein-iserv": _3,
  7874. "schulplattform": _3,
  7875. "schulserver": _3,
  7876. "test-iserv": _3,
  7877. "keymachine": _3,
  7878. "git-repos": _3,
  7879. "lcube-server": _3,
  7880. "svn-repos": _3,
  7881. "barsy": _3,
  7882. "123webseite": _3,
  7883. "logoip": _3,
  7884. "firewall-gateway": _3,
  7885. "my-gateway": _3,
  7886. "my-router": _3,
  7887. "spdns": _3,
  7888. "speedpartner": [0, {
  7889. "customer": _3
  7890. }],
  7891. "myspreadshop": _3,
  7892. "taifun-dns": _3,
  7893. "12hp": _3,
  7894. "2ix": _3,
  7895. "4lima": _3,
  7896. "lima-city": _3,
  7897. "dd-dns": _3,
  7898. "dray-dns": _3,
  7899. "draydns": _3,
  7900. "dyn-vpn": _3,
  7901. "dynvpn": _3,
  7902. "mein-vigor": _3,
  7903. "my-vigor": _3,
  7904. "my-wan": _3,
  7905. "syno-ds": _3,
  7906. "synology-diskstation": _3,
  7907. "synology-ds": _3,
  7908. "uberspace": _5,
  7909. "virtualuser": _3,
  7910. "virtual-user": _3,
  7911. "community-pro": _3,
  7912. "diskussionsbereich": _3
  7913. }],
  7914. "dj": _2,
  7915. "dk": [1, {
  7916. "biz": _3,
  7917. "co": _3,
  7918. "firm": _3,
  7919. "reg": _3,
  7920. "store": _3,
  7921. "blogspot": _3,
  7922. "123hjemmeside": _3,
  7923. "myspreadshop": _3
  7924. }],
  7925. "dm": _4,
  7926. "do": [1, {
  7927. "art": _2,
  7928. "com": _2,
  7929. "edu": _2,
  7930. "gob": _2,
  7931. "gov": _2,
  7932. "mil": _2,
  7933. "net": _2,
  7934. "org": _2,
  7935. "sld": _2,
  7936. "web": _2
  7937. }],
  7938. "dz": [1, {
  7939. "art": _2,
  7940. "asso": _2,
  7941. "com": _2,
  7942. "edu": _2,
  7943. "gov": _2,
  7944. "org": _2,
  7945. "net": _2,
  7946. "pol": _2,
  7947. "soc": _2,
  7948. "tm": _2
  7949. }],
  7950. "ec": [1, {
  7951. "com": _2,
  7952. "info": _2,
  7953. "net": _2,
  7954. "fin": _2,
  7955. "k12": _2,
  7956. "med": _2,
  7957. "pro": _2,
  7958. "org": _2,
  7959. "edu": _2,
  7960. "gov": _2,
  7961. "gob": _2,
  7962. "mil": _2,
  7963. "base": _3,
  7964. "official": _3
  7965. }],
  7966. "edu": [1, {
  7967. "rit": [0, {
  7968. "git-pages": _3
  7969. }]
  7970. }],
  7971. "ee": [1, {
  7972. "edu": _2,
  7973. "gov": _2,
  7974. "riik": _2,
  7975. "lib": _2,
  7976. "med": _2,
  7977. "com": _6,
  7978. "pri": _2,
  7979. "aip": _2,
  7980. "org": _2,
  7981. "fie": _2
  7982. }],
  7983. "eg": [1, {
  7984. "com": _6,
  7985. "edu": _2,
  7986. "eun": _2,
  7987. "gov": _2,
  7988. "mil": _2,
  7989. "name": _2,
  7990. "net": _2,
  7991. "org": _2,
  7992. "sci": _2
  7993. }],
  7994. "er": _12,
  7995. "es": [1, {
  7996. "com": _6,
  7997. "nom": _2,
  7998. "org": _2,
  7999. "gob": _2,
  8000. "edu": _2,
  8001. "123miweb": _3,
  8002. "myspreadshop": _3
  8003. }],
  8004. "et": [1, {
  8005. "com": _2,
  8006. "gov": _2,
  8007. "org": _2,
  8008. "edu": _2,
  8009. "biz": _2,
  8010. "name": _2,
  8011. "info": _2,
  8012. "net": _2
  8013. }],
  8014. "eu": [1, {
  8015. "airkitapps": _3,
  8016. "mycd": _3,
  8017. "cloudns": _3,
  8018. "dogado": _41,
  8019. "barsy": _3,
  8020. "wellbeingzone": _3,
  8021. "spdns": _3,
  8022. "transurl": _5,
  8023. "diskstation": _3
  8024. }],
  8025. "fi": [1, {
  8026. "aland": _2,
  8027. "dy": _3,
  8028. "blogspot": _3,
  8029. "xn--hkkinen-5wa": _3,
  8030. "häkkinen": _3,
  8031. "iki": _3,
  8032. "cloudplatform": [0, {
  8033. "fi": _3
  8034. }],
  8035. "datacenter": [0, {
  8036. "demo": _3,
  8037. "paas": _3
  8038. }],
  8039. "kapsi": _3,
  8040. "123kotisivu": _3,
  8041. "myspreadshop": _3
  8042. }],
  8043. "fj": [1, {
  8044. "ac": _2,
  8045. "biz": _2,
  8046. "com": _2,
  8047. "gov": _2,
  8048. "info": _2,
  8049. "mil": _2,
  8050. "name": _2,
  8051. "net": _2,
  8052. "org": _2,
  8053. "pro": _2
  8054. }],
  8055. "fk": _12,
  8056. "fm": [1, {
  8057. "com": _2,
  8058. "edu": _2,
  8059. "net": _2,
  8060. "org": _2,
  8061. "radio": _3,
  8062. "user": _5
  8063. }],
  8064. "fo": _2,
  8065. "fr": [1, {
  8066. "asso": _2,
  8067. "com": _2,
  8068. "gouv": _2,
  8069. "nom": _2,
  8070. "prd": _2,
  8071. "tm": _2,
  8072. "avoues": _2,
  8073. "cci": _2,
  8074. "greta": _2,
  8075. "huissier-justice": _2,
  8076. "en-root": _3,
  8077. "fbx-os": _3,
  8078. "fbxos": _3,
  8079. "freebox-os": _3,
  8080. "freeboxos": _3,
  8081. "blogspot": _3,
  8082. "goupile": _3,
  8083. "123siteweb": _3,
  8084. "on-web": _3,
  8085. "chirurgiens-dentistes-en-france": _3,
  8086. "dedibox": _3,
  8087. "aeroport": _3,
  8088. "avocat": _3,
  8089. "chambagri": _3,
  8090. "chirurgiens-dentistes": _3,
  8091. "experts-comptables": _3,
  8092. "medecin": _3,
  8093. "notaires": _3,
  8094. "pharmacien": _3,
  8095. "port": _3,
  8096. "veterinaire": _3,
  8097. "myspreadshop": _3,
  8098. "ynh": _3
  8099. }],
  8100. "ga": _2,
  8101. "gb": _2,
  8102. "gd": [1, {
  8103. "edu": _2,
  8104. "gov": _2
  8105. }],
  8106. "ge": [1, {
  8107. "com": _2,
  8108. "edu": _2,
  8109. "gov": _2,
  8110. "org": _2,
  8111. "mil": _2,
  8112. "net": _2,
  8113. "pvt": _2
  8114. }],
  8115. "gf": _2,
  8116. "gg": [1, {
  8117. "co": _2,
  8118. "net": _2,
  8119. "org": _2,
  8120. "kaas": _3,
  8121. "cya": _3,
  8122. "panel": [2, {
  8123. "daemon": _3
  8124. }]
  8125. }],
  8126. "gh": [1, {
  8127. "com": _2,
  8128. "edu": _2,
  8129. "gov": _2,
  8130. "org": _2,
  8131. "mil": _2
  8132. }],
  8133. "gi": [1, {
  8134. "com": _2,
  8135. "ltd": _2,
  8136. "gov": _2,
  8137. "mod": _2,
  8138. "edu": _2,
  8139. "org": _2
  8140. }],
  8141. "gl": [1, {
  8142. "co": _2,
  8143. "com": _2,
  8144. "edu": _2,
  8145. "net": _2,
  8146. "org": _2,
  8147. "biz": _3,
  8148. "xx": _3
  8149. }],
  8150. "gm": _2,
  8151. "gn": [1, {
  8152. "ac": _2,
  8153. "com": _2,
  8154. "edu": _2,
  8155. "gov": _2,
  8156. "org": _2,
  8157. "net": _2
  8158. }],
  8159. "gov": _2,
  8160. "gp": [1, {
  8161. "com": _2,
  8162. "net": _2,
  8163. "mobi": _2,
  8164. "edu": _2,
  8165. "org": _2,
  8166. "asso": _2,
  8167. "app": _3
  8168. }],
  8169. "gq": _2,
  8170. "gr": [1, {
  8171. "com": _2,
  8172. "edu": _2,
  8173. "net": _2,
  8174. "org": _2,
  8175. "gov": _2,
  8176. "blogspot": _3,
  8177. "simplesite": _3
  8178. }],
  8179. "gs": _2,
  8180. "gt": [1, {
  8181. "com": _2,
  8182. "edu": _2,
  8183. "gob": _2,
  8184. "ind": _2,
  8185. "mil": _2,
  8186. "net": _2,
  8187. "org": _2,
  8188. "blog": _3,
  8189. "de": _3,
  8190. "to": _3
  8191. }],
  8192. "gu": [1, {
  8193. "com": _2,
  8194. "edu": _2,
  8195. "gov": _2,
  8196. "guam": _2,
  8197. "info": _2,
  8198. "net": _2,
  8199. "org": _2,
  8200. "web": _2
  8201. }],
  8202. "gw": _2,
  8203. "gy": [1, {
  8204. "co": _2,
  8205. "com": _2,
  8206. "edu": _2,
  8207. "gov": _2,
  8208. "net": _2,
  8209. "org": _2,
  8210. "be": _3
  8211. }],
  8212. "hk": [1, {
  8213. "com": _2,
  8214. "edu": _2,
  8215. "gov": _2,
  8216. "idv": _2,
  8217. "net": _2,
  8218. "org": _2,
  8219. "xn--55qx5d": _2,
  8220. "公司": _2,
  8221. "xn--wcvs22d": _2,
  8222. "教育": _2,
  8223. "xn--lcvr32d": _2,
  8224. "敎育": _2,
  8225. "xn--mxtq1m": _2,
  8226. "政府": _2,
  8227. "xn--gmqw5a": _2,
  8228. "個人": _2,
  8229. "xn--ciqpn": _2,
  8230. "个人": _2,
  8231. "xn--gmq050i": _2,
  8232. "箇人": _2,
  8233. "xn--zf0avx": _2,
  8234. "網络": _2,
  8235. "xn--io0a7i": _2,
  8236. "网络": _2,
  8237. "xn--mk0axi": _2,
  8238. "组織": _2,
  8239. "xn--od0alg": _2,
  8240. "網絡": _2,
  8241. "xn--od0aq3b": _2,
  8242. "网絡": _2,
  8243. "xn--tn0ag": _2,
  8244. "组织": _2,
  8245. "xn--uc0atv": _2,
  8246. "組織": _2,
  8247. "xn--uc0ay4a": _2,
  8248. "組织": _2,
  8249. "blogspot": _3,
  8250. "secaas": _3,
  8251. "ltd": _3,
  8252. "inc": _3
  8253. }],
  8254. "hm": _2,
  8255. "hn": [1, {
  8256. "com": _2,
  8257. "edu": _2,
  8258. "org": _2,
  8259. "net": _2,
  8260. "mil": _2,
  8261. "gob": _2,
  8262. "cc": _3
  8263. }],
  8264. "hr": [1, {
  8265. "iz": _2,
  8266. "from": _2,
  8267. "name": _2,
  8268. "com": _2,
  8269. "blogspot": _3,
  8270. "free": _3
  8271. }],
  8272. "ht": [1, {
  8273. "com": _2,
  8274. "shop": _2,
  8275. "firm": _2,
  8276. "info": _2,
  8277. "adult": _2,
  8278. "net": _2,
  8279. "pro": _2,
  8280. "org": _2,
  8281. "med": _2,
  8282. "art": _2,
  8283. "coop": _2,
  8284. "pol": _2,
  8285. "asso": _2,
  8286. "edu": _2,
  8287. "rel": _2,
  8288. "gouv": _2,
  8289. "perso": _2
  8290. }],
  8291. "hu": [1, {
  8292. "2000": _2,
  8293. "co": _2,
  8294. "info": _2,
  8295. "org": _2,
  8296. "priv": _2,
  8297. "sport": _2,
  8298. "tm": _2,
  8299. "agrar": _2,
  8300. "bolt": _2,
  8301. "casino": _2,
  8302. "city": _2,
  8303. "erotica": _2,
  8304. "erotika": _2,
  8305. "film": _2,
  8306. "forum": _2,
  8307. "games": _2,
  8308. "hotel": _2,
  8309. "ingatlan": _2,
  8310. "jogasz": _2,
  8311. "konyvelo": _2,
  8312. "lakas": _2,
  8313. "media": _2,
  8314. "news": _2,
  8315. "reklam": _2,
  8316. "sex": _2,
  8317. "shop": _2,
  8318. "suli": _2,
  8319. "szex": _2,
  8320. "tozsde": _2,
  8321. "utazas": _2,
  8322. "video": _2,
  8323. "blogspot": _3
  8324. }],
  8325. "id": [1, {
  8326. "ac": _2,
  8327. "biz": _2,
  8328. "co": _6,
  8329. "desa": _2,
  8330. "go": _2,
  8331. "mil": _2,
  8332. "my": [1, {
  8333. "rss": _5
  8334. }],
  8335. "net": _2,
  8336. "or": _2,
  8337. "ponpes": _2,
  8338. "sch": _2,
  8339. "web": _2,
  8340. "flap": _3,
  8341. "forte": _3
  8342. }],
  8343. "ie": [1, {
  8344. "gov": _2,
  8345. "blogspot": _3,
  8346. "myspreadshop": _3
  8347. }],
  8348. "il": [1, {
  8349. "ac": _2,
  8350. "co": [1, {
  8351. "ravpage": _3,
  8352. "blogspot": _3,
  8353. "tabitorder": _3,
  8354. "mytabit": _3
  8355. }],
  8356. "gov": _2,
  8357. "idf": _2,
  8358. "k12": _2,
  8359. "muni": _2,
  8360. "net": _2,
  8361. "org": _2
  8362. }],
  8363. "xn--4dbrk0ce": [1, {
  8364. "xn--4dbgdty6c": _2,
  8365. "xn--5dbhl8d": _2,
  8366. "xn--8dbq2a": _2,
  8367. "xn--hebda8b": _2
  8368. }],
  8369. "ישראל": [1, {
  8370. "אקדמיה": _2,
  8371. "ישוב": _2,
  8372. "צהל": _2,
  8373. "ממשל": _2
  8374. }],
  8375. "im": [1, {
  8376. "ac": _2,
  8377. "co": [1, {
  8378. "ltd": _2,
  8379. "plc": _2
  8380. }],
  8381. "com": _2,
  8382. "net": _2,
  8383. "org": _2,
  8384. "tt": _2,
  8385. "tv": _2,
  8386. "ro": _3
  8387. }],
  8388. "in": [1, {
  8389. "5g": _2,
  8390. "6g": _2,
  8391. "ac": _2,
  8392. "ai": _2,
  8393. "am": _2,
  8394. "bihar": _2,
  8395. "biz": _2,
  8396. "business": _2,
  8397. "ca": _2,
  8398. "cn": _2,
  8399. "co": _2,
  8400. "com": _2,
  8401. "coop": _2,
  8402. "cs": _2,
  8403. "delhi": _2,
  8404. "dr": _2,
  8405. "edu": _2,
  8406. "er": _2,
  8407. "firm": _2,
  8408. "gen": _2,
  8409. "gov": _2,
  8410. "gujarat": _2,
  8411. "ind": _2,
  8412. "info": _2,
  8413. "int": _2,
  8414. "internet": _2,
  8415. "io": _2,
  8416. "me": _2,
  8417. "mil": _2,
  8418. "net": _2,
  8419. "nic": _2,
  8420. "org": _2,
  8421. "pg": _2,
  8422. "post": _2,
  8423. "pro": _2,
  8424. "res": _2,
  8425. "travel": _2,
  8426. "tv": _2,
  8427. "uk": _2,
  8428. "up": _2,
  8429. "us": _2,
  8430. "web": _3,
  8431. "cloudns": _3,
  8432. "blogspot": _3,
  8433. "barsy": _3,
  8434. "supabase": _3
  8435. }],
  8436. "info": [1, {
  8437. "cloudns": _3,
  8438. "dynamic-dns": _3,
  8439. "dyndns": _3,
  8440. "barrel-of-knowledge": _3,
  8441. "barrell-of-knowledge": _3,
  8442. "for-our": _3,
  8443. "groks-the": _3,
  8444. "groks-this": _3,
  8445. "here-for-more": _3,
  8446. "knowsitall": _3,
  8447. "selfip": _3,
  8448. "webhop": _3,
  8449. "barsy": _3,
  8450. "mayfirst": _3,
  8451. "forumz": _3,
  8452. "nsupdate": _3,
  8453. "dvrcam": _3,
  8454. "ilovecollege": _3,
  8455. "no-ip": _3,
  8456. "dnsupdate": _3,
  8457. "v-info": _3
  8458. }],
  8459. "int": [1, {
  8460. "eu": _2
  8461. }],
  8462. "io": [1, {
  8463. "2038": _3,
  8464. "com": _2,
  8465. "on-acorn": _5,
  8466. "apigee": _3,
  8467. "b-data": _3,
  8468. "backplaneapp": _3,
  8469. "banzaicloud": [0, {
  8470. "app": _3,
  8471. "backyards": _5
  8472. }],
  8473. "beagleboard": _3,
  8474. "bitbucket": _3,
  8475. "bluebite": _3,
  8476. "boxfuse": _3,
  8477. "browsersafetymark": _3,
  8478. "bigv": [0, {
  8479. "uk0": _3
  8480. }],
  8481. "cleverapps": _3,
  8482. "dappnode": [0, {
  8483. "dyndns": _3
  8484. }],
  8485. "dedyn": _3,
  8486. "drud": _3,
  8487. "definima": _3,
  8488. "fh-muenster": _3,
  8489. "shw": _3,
  8490. "forgerock": [0, {
  8491. "id": _3
  8492. }],
  8493. "ghost": _3,
  8494. "github": _3,
  8495. "gitlab": _3,
  8496. "lolipop": _3,
  8497. "hasura-app": _3,
  8498. "hostyhosting": _3,
  8499. "moonscale": _5,
  8500. "beebyte": _34,
  8501. "beebyteapp": [0, {
  8502. "sekd1": _3
  8503. }],
  8504. "jele": _3,
  8505. "unispace": [0, {
  8506. "cloud-fr1": _3
  8507. }],
  8508. "webthings": _3,
  8509. "loginline": _3,
  8510. "barsy": _3,
  8511. "azurecontainer": _5,
  8512. "ngrok": [2, {
  8513. "ap": _3,
  8514. "au": _3,
  8515. "eu": _3,
  8516. "in": _3,
  8517. "jp": _3,
  8518. "sa": _3,
  8519. "us": _3
  8520. }],
  8521. "nodeart": [0, {
  8522. "stage": _3
  8523. }],
  8524. "nid": _3,
  8525. "pantheonsite": _3,
  8526. "dyn53": _3,
  8527. "pstmn": [2, {
  8528. "mock": _3
  8529. }],
  8530. "protonet": _3,
  8531. "qoto": _3,
  8532. "qcx": [2, {
  8533. "sys": _5
  8534. }],
  8535. "vaporcloud": _3,
  8536. "vbrplsbx": [0, {
  8537. "g": _3
  8538. }],
  8539. "on-k3s": _5,
  8540. "on-rio": _5,
  8541. "readthedocs": _3,
  8542. "resindevice": _3,
  8543. "resinstaging": [0, {
  8544. "devices": _3
  8545. }],
  8546. "hzc": _3,
  8547. "sandcats": _3,
  8548. "shiftcrypto": _3,
  8549. "shiftedit": _3,
  8550. "mo-siemens": _3,
  8551. "musician": _3,
  8552. "lair": _33,
  8553. "stolos": _5,
  8554. "spacekit": _3,
  8555. "utwente": _3,
  8556. "s5y": _5,
  8557. "edugit": _3,
  8558. "telebit": _3,
  8559. "thingdust": [0, {
  8560. "dev": _44,
  8561. "disrec": _44,
  8562. "prod": _45,
  8563. "testing": _44
  8564. }],
  8565. "tickets": _3,
  8566. "upli": _3,
  8567. "wedeploy": _3,
  8568. "editorx": _3,
  8569. "wixstudio": _3,
  8570. "basicserver": _3,
  8571. "virtualserver": _3
  8572. }],
  8573. "iq": _46,
  8574. "ir": [1, {
  8575. "ac": _2,
  8576. "co": _2,
  8577. "gov": _2,
  8578. "id": _2,
  8579. "net": _2,
  8580. "org": _2,
  8581. "sch": _2,
  8582. "xn--mgba3a4f16a": _2,
  8583. "ایران": _2,
  8584. "xn--mgba3a4fra": _2,
  8585. "ايران": _2
  8586. }],
  8587. "is": [1, {
  8588. "net": _2,
  8589. "com": _2,
  8590. "edu": _2,
  8591. "gov": _2,
  8592. "org": _2,
  8593. "int": _2,
  8594. "cupcake": _3,
  8595. "blogspot": _3
  8596. }],
  8597. "it": [1, {
  8598. "gov": _2,
  8599. "edu": _2,
  8600. "abr": _2,
  8601. "abruzzo": _2,
  8602. "aosta-valley": _2,
  8603. "aostavalley": _2,
  8604. "bas": _2,
  8605. "basilicata": _2,
  8606. "cal": _2,
  8607. "calabria": _2,
  8608. "cam": _2,
  8609. "campania": _2,
  8610. "emilia-romagna": _2,
  8611. "emiliaromagna": _2,
  8612. "emr": _2,
  8613. "friuli-v-giulia": _2,
  8614. "friuli-ve-giulia": _2,
  8615. "friuli-vegiulia": _2,
  8616. "friuli-venezia-giulia": _2,
  8617. "friuli-veneziagiulia": _2,
  8618. "friuli-vgiulia": _2,
  8619. "friuliv-giulia": _2,
  8620. "friulive-giulia": _2,
  8621. "friulivegiulia": _2,
  8622. "friulivenezia-giulia": _2,
  8623. "friuliveneziagiulia": _2,
  8624. "friulivgiulia": _2,
  8625. "fvg": _2,
  8626. "laz": _2,
  8627. "lazio": _2,
  8628. "lig": _2,
  8629. "liguria": _2,
  8630. "lom": _2,
  8631. "lombardia": _2,
  8632. "lombardy": _2,
  8633. "lucania": _2,
  8634. "mar": _2,
  8635. "marche": _2,
  8636. "mol": _2,
  8637. "molise": _2,
  8638. "piedmont": _2,
  8639. "piemonte": _2,
  8640. "pmn": _2,
  8641. "pug": _2,
  8642. "puglia": _2,
  8643. "sar": _2,
  8644. "sardegna": _2,
  8645. "sardinia": _2,
  8646. "sic": _2,
  8647. "sicilia": _2,
  8648. "sicily": _2,
  8649. "taa": _2,
  8650. "tos": _2,
  8651. "toscana": _2,
  8652. "trentin-sud-tirol": _2,
  8653. "xn--trentin-sd-tirol-rzb": _2,
  8654. "trentin-süd-tirol": _2,
  8655. "trentin-sudtirol": _2,
  8656. "xn--trentin-sdtirol-7vb": _2,
  8657. "trentin-südtirol": _2,
  8658. "trentin-sued-tirol": _2,
  8659. "trentin-suedtirol": _2,
  8660. "trentino-a-adige": _2,
  8661. "trentino-aadige": _2,
  8662. "trentino-alto-adige": _2,
  8663. "trentino-altoadige": _2,
  8664. "trentino-s-tirol": _2,
  8665. "trentino-stirol": _2,
  8666. "trentino-sud-tirol": _2,
  8667. "xn--trentino-sd-tirol-c3b": _2,
  8668. "trentino-süd-tirol": _2,
  8669. "trentino-sudtirol": _2,
  8670. "xn--trentino-sdtirol-szb": _2,
  8671. "trentino-südtirol": _2,
  8672. "trentino-sued-tirol": _2,
  8673. "trentino-suedtirol": _2,
  8674. "trentino": _2,
  8675. "trentinoa-adige": _2,
  8676. "trentinoaadige": _2,
  8677. "trentinoalto-adige": _2,
  8678. "trentinoaltoadige": _2,
  8679. "trentinos-tirol": _2,
  8680. "trentinostirol": _2,
  8681. "trentinosud-tirol": _2,
  8682. "xn--trentinosd-tirol-rzb": _2,
  8683. "trentinosüd-tirol": _2,
  8684. "trentinosudtirol": _2,
  8685. "xn--trentinosdtirol-7vb": _2,
  8686. "trentinosüdtirol": _2,
  8687. "trentinosued-tirol": _2,
  8688. "trentinosuedtirol": _2,
  8689. "trentinsud-tirol": _2,
  8690. "xn--trentinsd-tirol-6vb": _2,
  8691. "trentinsüd-tirol": _2,
  8692. "trentinsudtirol": _2,
  8693. "xn--trentinsdtirol-nsb": _2,
  8694. "trentinsüdtirol": _2,
  8695. "trentinsued-tirol": _2,
  8696. "trentinsuedtirol": _2,
  8697. "tuscany": _2,
  8698. "umb": _2,
  8699. "umbria": _2,
  8700. "val-d-aosta": _2,
  8701. "val-daosta": _2,
  8702. "vald-aosta": _2,
  8703. "valdaosta": _2,
  8704. "valle-aosta": _2,
  8705. "valle-d-aosta": _2,
  8706. "valle-daosta": _2,
  8707. "valleaosta": _2,
  8708. "valled-aosta": _2,
  8709. "valledaosta": _2,
  8710. "vallee-aoste": _2,
  8711. "xn--valle-aoste-ebb": _2,
  8712. "vallée-aoste": _2,
  8713. "vallee-d-aoste": _2,
  8714. "xn--valle-d-aoste-ehb": _2,
  8715. "vallée-d-aoste": _2,
  8716. "valleeaoste": _2,
  8717. "xn--valleaoste-e7a": _2,
  8718. "valléeaoste": _2,
  8719. "valleedaoste": _2,
  8720. "xn--valledaoste-ebb": _2,
  8721. "valléedaoste": _2,
  8722. "vao": _2,
  8723. "vda": _2,
  8724. "ven": _2,
  8725. "veneto": _2,
  8726. "ag": _2,
  8727. "agrigento": _2,
  8728. "al": _2,
  8729. "alessandria": _2,
  8730. "alto-adige": _2,
  8731. "altoadige": _2,
  8732. "an": _2,
  8733. "ancona": _2,
  8734. "andria-barletta-trani": _2,
  8735. "andria-trani-barletta": _2,
  8736. "andriabarlettatrani": _2,
  8737. "andriatranibarletta": _2,
  8738. "ao": _2,
  8739. "aosta": _2,
  8740. "aoste": _2,
  8741. "ap": _2,
  8742. "aq": _2,
  8743. "aquila": _2,
  8744. "ar": _2,
  8745. "arezzo": _2,
  8746. "ascoli-piceno": _2,
  8747. "ascolipiceno": _2,
  8748. "asti": _2,
  8749. "at": _2,
  8750. "av": _2,
  8751. "avellino": _2,
  8752. "ba": _2,
  8753. "balsan-sudtirol": _2,
  8754. "xn--balsan-sdtirol-nsb": _2,
  8755. "balsan-südtirol": _2,
  8756. "balsan-suedtirol": _2,
  8757. "balsan": _2,
  8758. "bari": _2,
  8759. "barletta-trani-andria": _2,
  8760. "barlettatraniandria": _2,
  8761. "belluno": _2,
  8762. "benevento": _2,
  8763. "bergamo": _2,
  8764. "bg": _2,
  8765. "bi": _2,
  8766. "biella": _2,
  8767. "bl": _2,
  8768. "bn": _2,
  8769. "bo": _2,
  8770. "bologna": _2,
  8771. "bolzano-altoadige": _2,
  8772. "bolzano": _2,
  8773. "bozen-sudtirol": _2,
  8774. "xn--bozen-sdtirol-2ob": _2,
  8775. "bozen-südtirol": _2,
  8776. "bozen-suedtirol": _2,
  8777. "bozen": _2,
  8778. "br": _2,
  8779. "brescia": _2,
  8780. "brindisi": _2,
  8781. "bs": _2,
  8782. "bt": _2,
  8783. "bulsan-sudtirol": _2,
  8784. "xn--bulsan-sdtirol-nsb": _2,
  8785. "bulsan-südtirol": _2,
  8786. "bulsan-suedtirol": _2,
  8787. "bulsan": _2,
  8788. "bz": _2,
  8789. "ca": _2,
  8790. "cagliari": _2,
  8791. "caltanissetta": _2,
  8792. "campidano-medio": _2,
  8793. "campidanomedio": _2,
  8794. "campobasso": _2,
  8795. "carbonia-iglesias": _2,
  8796. "carboniaiglesias": _2,
  8797. "carrara-massa": _2,
  8798. "carraramassa": _2,
  8799. "caserta": _2,
  8800. "catania": _2,
  8801. "catanzaro": _2,
  8802. "cb": _2,
  8803. "ce": _2,
  8804. "cesena-forli": _2,
  8805. "xn--cesena-forl-mcb": _2,
  8806. "cesena-forlì": _2,
  8807. "cesenaforli": _2,
  8808. "xn--cesenaforl-i8a": _2,
  8809. "cesenaforlì": _2,
  8810. "ch": _2,
  8811. "chieti": _2,
  8812. "ci": _2,
  8813. "cl": _2,
  8814. "cn": _2,
  8815. "co": _2,
  8816. "como": _2,
  8817. "cosenza": _2,
  8818. "cr": _2,
  8819. "cremona": _2,
  8820. "crotone": _2,
  8821. "cs": _2,
  8822. "ct": _2,
  8823. "cuneo": _2,
  8824. "cz": _2,
  8825. "dell-ogliastra": _2,
  8826. "dellogliastra": _2,
  8827. "en": _2,
  8828. "enna": _2,
  8829. "fc": _2,
  8830. "fe": _2,
  8831. "fermo": _2,
  8832. "ferrara": _2,
  8833. "fg": _2,
  8834. "fi": _2,
  8835. "firenze": _2,
  8836. "florence": _2,
  8837. "fm": _2,
  8838. "foggia": _2,
  8839. "forli-cesena": _2,
  8840. "xn--forl-cesena-fcb": _2,
  8841. "forlì-cesena": _2,
  8842. "forlicesena": _2,
  8843. "xn--forlcesena-c8a": _2,
  8844. "forlìcesena": _2,
  8845. "fr": _2,
  8846. "frosinone": _2,
  8847. "ge": _2,
  8848. "genoa": _2,
  8849. "genova": _2,
  8850. "go": _2,
  8851. "gorizia": _2,
  8852. "gr": _2,
  8853. "grosseto": _2,
  8854. "iglesias-carbonia": _2,
  8855. "iglesiascarbonia": _2,
  8856. "im": _2,
  8857. "imperia": _2,
  8858. "is": _2,
  8859. "isernia": _2,
  8860. "kr": _2,
  8861. "la-spezia": _2,
  8862. "laquila": _2,
  8863. "laspezia": _2,
  8864. "latina": _2,
  8865. "lc": _2,
  8866. "le": _2,
  8867. "lecce": _2,
  8868. "lecco": _2,
  8869. "li": _2,
  8870. "livorno": _2,
  8871. "lo": _2,
  8872. "lodi": _2,
  8873. "lt": _2,
  8874. "lu": _2,
  8875. "lucca": _2,
  8876. "macerata": _2,
  8877. "mantova": _2,
  8878. "massa-carrara": _2,
  8879. "massacarrara": _2,
  8880. "matera": _2,
  8881. "mb": _2,
  8882. "mc": _2,
  8883. "me": _2,
  8884. "medio-campidano": _2,
  8885. "mediocampidano": _2,
  8886. "messina": _2,
  8887. "mi": _2,
  8888. "milan": _2,
  8889. "milano": _2,
  8890. "mn": _2,
  8891. "mo": _2,
  8892. "modena": _2,
  8893. "monza-brianza": _2,
  8894. "monza-e-della-brianza": _2,
  8895. "monza": _2,
  8896. "monzabrianza": _2,
  8897. "monzaebrianza": _2,
  8898. "monzaedellabrianza": _2,
  8899. "ms": _2,
  8900. "mt": _2,
  8901. "na": _2,
  8902. "naples": _2,
  8903. "napoli": _2,
  8904. "no": _2,
  8905. "novara": _2,
  8906. "nu": _2,
  8907. "nuoro": _2,
  8908. "og": _2,
  8909. "ogliastra": _2,
  8910. "olbia-tempio": _2,
  8911. "olbiatempio": _2,
  8912. "or": _2,
  8913. "oristano": _2,
  8914. "ot": _2,
  8915. "pa": _2,
  8916. "padova": _2,
  8917. "padua": _2,
  8918. "palermo": _2,
  8919. "parma": _2,
  8920. "pavia": _2,
  8921. "pc": _2,
  8922. "pd": _2,
  8923. "pe": _2,
  8924. "perugia": _2,
  8925. "pesaro-urbino": _2,
  8926. "pesarourbino": _2,
  8927. "pescara": _2,
  8928. "pg": _2,
  8929. "pi": _2,
  8930. "piacenza": _2,
  8931. "pisa": _2,
  8932. "pistoia": _2,
  8933. "pn": _2,
  8934. "po": _2,
  8935. "pordenone": _2,
  8936. "potenza": _2,
  8937. "pr": _2,
  8938. "prato": _2,
  8939. "pt": _2,
  8940. "pu": _2,
  8941. "pv": _2,
  8942. "pz": _2,
  8943. "ra": _2,
  8944. "ragusa": _2,
  8945. "ravenna": _2,
  8946. "rc": _2,
  8947. "re": _2,
  8948. "reggio-calabria": _2,
  8949. "reggio-emilia": _2,
  8950. "reggiocalabria": _2,
  8951. "reggioemilia": _2,
  8952. "rg": _2,
  8953. "ri": _2,
  8954. "rieti": _2,
  8955. "rimini": _2,
  8956. "rm": _2,
  8957. "rn": _2,
  8958. "ro": _2,
  8959. "roma": _2,
  8960. "rome": _2,
  8961. "rovigo": _2,
  8962. "sa": _2,
  8963. "salerno": _2,
  8964. "sassari": _2,
  8965. "savona": _2,
  8966. "si": _2,
  8967. "siena": _2,
  8968. "siracusa": _2,
  8969. "so": _2,
  8970. "sondrio": _2,
  8971. "sp": _2,
  8972. "sr": _2,
  8973. "ss": _2,
  8974. "suedtirol": _2,
  8975. "xn--sdtirol-n2a": _2,
  8976. "südtirol": _2,
  8977. "sv": _2,
  8978. "ta": _2,
  8979. "taranto": _2,
  8980. "te": _2,
  8981. "tempio-olbia": _2,
  8982. "tempioolbia": _2,
  8983. "teramo": _2,
  8984. "terni": _2,
  8985. "tn": _2,
  8986. "to": _2,
  8987. "torino": _2,
  8988. "tp": _2,
  8989. "tr": _2,
  8990. "trani-andria-barletta": _2,
  8991. "trani-barletta-andria": _2,
  8992. "traniandriabarletta": _2,
  8993. "tranibarlettaandria": _2,
  8994. "trapani": _2,
  8995. "trento": _2,
  8996. "treviso": _2,
  8997. "trieste": _2,
  8998. "ts": _2,
  8999. "turin": _2,
  9000. "tv": _2,
  9001. "ud": _2,
  9002. "udine": _2,
  9003. "urbino-pesaro": _2,
  9004. "urbinopesaro": _2,
  9005. "va": _2,
  9006. "varese": _2,
  9007. "vb": _2,
  9008. "vc": _2,
  9009. "ve": _2,
  9010. "venezia": _2,
  9011. "venice": _2,
  9012. "verbania": _2,
  9013. "vercelli": _2,
  9014. "verona": _2,
  9015. "vi": _2,
  9016. "vibo-valentia": _2,
  9017. "vibovalentia": _2,
  9018. "vicenza": _2,
  9019. "viterbo": _2,
  9020. "vr": _2,
  9021. "vs": _2,
  9022. "vt": _2,
  9023. "vv": _2,
  9024. "blogspot": _3,
  9025. "ibxos": _3,
  9026. "iliadboxos": _3,
  9027. "neen": [0, {
  9028. "jc": _3
  9029. }],
  9030. "tim": [0, {
  9031. "open": [0, {
  9032. "jelastic": _13
  9033. }]
  9034. }],
  9035. "16-b": _3,
  9036. "32-b": _3,
  9037. "64-b": _3,
  9038. "123homepage": _3,
  9039. "myspreadshop": _3,
  9040. "syncloud": _3
  9041. }],
  9042. "je": [1, {
  9043. "co": _2,
  9044. "net": _2,
  9045. "org": _2,
  9046. "of": _3
  9047. }],
  9048. "jm": _12,
  9049. "jo": [1, {
  9050. "com": _2,
  9051. "org": _2,
  9052. "net": _2,
  9053. "edu": _2,
  9054. "sch": _2,
  9055. "gov": _2,
  9056. "mil": _2,
  9057. "name": _2
  9058. }],
  9059. "jobs": _2,
  9060. "jp": [1, {
  9061. "ac": _2,
  9062. "ad": _2,
  9063. "co": _2,
  9064. "ed": _2,
  9065. "go": _2,
  9066. "gr": _2,
  9067. "lg": _2,
  9068. "ne": [1, {
  9069. "aseinet": _42,
  9070. "gehirn": _3,
  9071. "ivory": _3,
  9072. "mail-box": _3,
  9073. "mints": _3,
  9074. "mokuren": _3,
  9075. "opal": _3,
  9076. "sakura": _3,
  9077. "sumomo": _3,
  9078. "topaz": _3
  9079. }],
  9080. "or": _2,
  9081. "aichi": [1, {
  9082. "aisai": _2,
  9083. "ama": _2,
  9084. "anjo": _2,
  9085. "asuke": _2,
  9086. "chiryu": _2,
  9087. "chita": _2,
  9088. "fuso": _2,
  9089. "gamagori": _2,
  9090. "handa": _2,
  9091. "hazu": _2,
  9092. "hekinan": _2,
  9093. "higashiura": _2,
  9094. "ichinomiya": _2,
  9095. "inazawa": _2,
  9096. "inuyama": _2,
  9097. "isshiki": _2,
  9098. "iwakura": _2,
  9099. "kanie": _2,
  9100. "kariya": _2,
  9101. "kasugai": _2,
  9102. "kira": _2,
  9103. "kiyosu": _2,
  9104. "komaki": _2,
  9105. "konan": _2,
  9106. "kota": _2,
  9107. "mihama": _2,
  9108. "miyoshi": _2,
  9109. "nishio": _2,
  9110. "nisshin": _2,
  9111. "obu": _2,
  9112. "oguchi": _2,
  9113. "oharu": _2,
  9114. "okazaki": _2,
  9115. "owariasahi": _2,
  9116. "seto": _2,
  9117. "shikatsu": _2,
  9118. "shinshiro": _2,
  9119. "shitara": _2,
  9120. "tahara": _2,
  9121. "takahama": _2,
  9122. "tobishima": _2,
  9123. "toei": _2,
  9124. "togo": _2,
  9125. "tokai": _2,
  9126. "tokoname": _2,
  9127. "toyoake": _2,
  9128. "toyohashi": _2,
  9129. "toyokawa": _2,
  9130. "toyone": _2,
  9131. "toyota": _2,
  9132. "tsushima": _2,
  9133. "yatomi": _2
  9134. }],
  9135. "akita": [1, {
  9136. "akita": _2,
  9137. "daisen": _2,
  9138. "fujisato": _2,
  9139. "gojome": _2,
  9140. "hachirogata": _2,
  9141. "happou": _2,
  9142. "higashinaruse": _2,
  9143. "honjo": _2,
  9144. "honjyo": _2,
  9145. "ikawa": _2,
  9146. "kamikoani": _2,
  9147. "kamioka": _2,
  9148. "katagami": _2,
  9149. "kazuno": _2,
  9150. "kitaakita": _2,
  9151. "kosaka": _2,
  9152. "kyowa": _2,
  9153. "misato": _2,
  9154. "mitane": _2,
  9155. "moriyoshi": _2,
  9156. "nikaho": _2,
  9157. "noshiro": _2,
  9158. "odate": _2,
  9159. "oga": _2,
  9160. "ogata": _2,
  9161. "semboku": _2,
  9162. "yokote": _2,
  9163. "yurihonjo": _2
  9164. }],
  9165. "aomori": [1, {
  9166. "aomori": _2,
  9167. "gonohe": _2,
  9168. "hachinohe": _2,
  9169. "hashikami": _2,
  9170. "hiranai": _2,
  9171. "hirosaki": _2,
  9172. "itayanagi": _2,
  9173. "kuroishi": _2,
  9174. "misawa": _2,
  9175. "mutsu": _2,
  9176. "nakadomari": _2,
  9177. "noheji": _2,
  9178. "oirase": _2,
  9179. "owani": _2,
  9180. "rokunohe": _2,
  9181. "sannohe": _2,
  9182. "shichinohe": _2,
  9183. "shingo": _2,
  9184. "takko": _2,
  9185. "towada": _2,
  9186. "tsugaru": _2,
  9187. "tsuruta": _2
  9188. }],
  9189. "chiba": [1, {
  9190. "abiko": _2,
  9191. "asahi": _2,
  9192. "chonan": _2,
  9193. "chosei": _2,
  9194. "choshi": _2,
  9195. "chuo": _2,
  9196. "funabashi": _2,
  9197. "futtsu": _2,
  9198. "hanamigawa": _2,
  9199. "ichihara": _2,
  9200. "ichikawa": _2,
  9201. "ichinomiya": _2,
  9202. "inzai": _2,
  9203. "isumi": _2,
  9204. "kamagaya": _2,
  9205. "kamogawa": _2,
  9206. "kashiwa": _2,
  9207. "katori": _2,
  9208. "katsuura": _2,
  9209. "kimitsu": _2,
  9210. "kisarazu": _2,
  9211. "kozaki": _2,
  9212. "kujukuri": _2,
  9213. "kyonan": _2,
  9214. "matsudo": _2,
  9215. "midori": _2,
  9216. "mihama": _2,
  9217. "minamiboso": _2,
  9218. "mobara": _2,
  9219. "mutsuzawa": _2,
  9220. "nagara": _2,
  9221. "nagareyama": _2,
  9222. "narashino": _2,
  9223. "narita": _2,
  9224. "noda": _2,
  9225. "oamishirasato": _2,
  9226. "omigawa": _2,
  9227. "onjuku": _2,
  9228. "otaki": _2,
  9229. "sakae": _2,
  9230. "sakura": _2,
  9231. "shimofusa": _2,
  9232. "shirako": _2,
  9233. "shiroi": _2,
  9234. "shisui": _2,
  9235. "sodegaura": _2,
  9236. "sosa": _2,
  9237. "tako": _2,
  9238. "tateyama": _2,
  9239. "togane": _2,
  9240. "tohnosho": _2,
  9241. "tomisato": _2,
  9242. "urayasu": _2,
  9243. "yachimata": _2,
  9244. "yachiyo": _2,
  9245. "yokaichiba": _2,
  9246. "yokoshibahikari": _2,
  9247. "yotsukaido": _2
  9248. }],
  9249. "ehime": [1, {
  9250. "ainan": _2,
  9251. "honai": _2,
  9252. "ikata": _2,
  9253. "imabari": _2,
  9254. "iyo": _2,
  9255. "kamijima": _2,
  9256. "kihoku": _2,
  9257. "kumakogen": _2,
  9258. "masaki": _2,
  9259. "matsuno": _2,
  9260. "matsuyama": _2,
  9261. "namikata": _2,
  9262. "niihama": _2,
  9263. "ozu": _2,
  9264. "saijo": _2,
  9265. "seiyo": _2,
  9266. "shikokuchuo": _2,
  9267. "tobe": _2,
  9268. "toon": _2,
  9269. "uchiko": _2,
  9270. "uwajima": _2,
  9271. "yawatahama": _2
  9272. }],
  9273. "fukui": [1, {
  9274. "echizen": _2,
  9275. "eiheiji": _2,
  9276. "fukui": _2,
  9277. "ikeda": _2,
  9278. "katsuyama": _2,
  9279. "mihama": _2,
  9280. "minamiechizen": _2,
  9281. "obama": _2,
  9282. "ohi": _2,
  9283. "ono": _2,
  9284. "sabae": _2,
  9285. "sakai": _2,
  9286. "takahama": _2,
  9287. "tsuruga": _2,
  9288. "wakasa": _2
  9289. }],
  9290. "fukuoka": [1, {
  9291. "ashiya": _2,
  9292. "buzen": _2,
  9293. "chikugo": _2,
  9294. "chikuho": _2,
  9295. "chikujo": _2,
  9296. "chikushino": _2,
  9297. "chikuzen": _2,
  9298. "chuo": _2,
  9299. "dazaifu": _2,
  9300. "fukuchi": _2,
  9301. "hakata": _2,
  9302. "higashi": _2,
  9303. "hirokawa": _2,
  9304. "hisayama": _2,
  9305. "iizuka": _2,
  9306. "inatsuki": _2,
  9307. "kaho": _2,
  9308. "kasuga": _2,
  9309. "kasuya": _2,
  9310. "kawara": _2,
  9311. "keisen": _2,
  9312. "koga": _2,
  9313. "kurate": _2,
  9314. "kurogi": _2,
  9315. "kurume": _2,
  9316. "minami": _2,
  9317. "miyako": _2,
  9318. "miyama": _2,
  9319. "miyawaka": _2,
  9320. "mizumaki": _2,
  9321. "munakata": _2,
  9322. "nakagawa": _2,
  9323. "nakama": _2,
  9324. "nishi": _2,
  9325. "nogata": _2,
  9326. "ogori": _2,
  9327. "okagaki": _2,
  9328. "okawa": _2,
  9329. "oki": _2,
  9330. "omuta": _2,
  9331. "onga": _2,
  9332. "onojo": _2,
  9333. "oto": _2,
  9334. "saigawa": _2,
  9335. "sasaguri": _2,
  9336. "shingu": _2,
  9337. "shinyoshitomi": _2,
  9338. "shonai": _2,
  9339. "soeda": _2,
  9340. "sue": _2,
  9341. "tachiarai": _2,
  9342. "tagawa": _2,
  9343. "takata": _2,
  9344. "toho": _2,
  9345. "toyotsu": _2,
  9346. "tsuiki": _2,
  9347. "ukiha": _2,
  9348. "umi": _2,
  9349. "usui": _2,
  9350. "yamada": _2,
  9351. "yame": _2,
  9352. "yanagawa": _2,
  9353. "yukuhashi": _2
  9354. }],
  9355. "fukushima": [1, {
  9356. "aizubange": _2,
  9357. "aizumisato": _2,
  9358. "aizuwakamatsu": _2,
  9359. "asakawa": _2,
  9360. "bandai": _2,
  9361. "date": _2,
  9362. "fukushima": _2,
  9363. "furudono": _2,
  9364. "futaba": _2,
  9365. "hanawa": _2,
  9366. "higashi": _2,
  9367. "hirata": _2,
  9368. "hirono": _2,
  9369. "iitate": _2,
  9370. "inawashiro": _2,
  9371. "ishikawa": _2,
  9372. "iwaki": _2,
  9373. "izumizaki": _2,
  9374. "kagamiishi": _2,
  9375. "kaneyama": _2,
  9376. "kawamata": _2,
  9377. "kitakata": _2,
  9378. "kitashiobara": _2,
  9379. "koori": _2,
  9380. "koriyama": _2,
  9381. "kunimi": _2,
  9382. "miharu": _2,
  9383. "mishima": _2,
  9384. "namie": _2,
  9385. "nango": _2,
  9386. "nishiaizu": _2,
  9387. "nishigo": _2,
  9388. "okuma": _2,
  9389. "omotego": _2,
  9390. "ono": _2,
  9391. "otama": _2,
  9392. "samegawa": _2,
  9393. "shimogo": _2,
  9394. "shirakawa": _2,
  9395. "showa": _2,
  9396. "soma": _2,
  9397. "sukagawa": _2,
  9398. "taishin": _2,
  9399. "tamakawa": _2,
  9400. "tanagura": _2,
  9401. "tenei": _2,
  9402. "yabuki": _2,
  9403. "yamato": _2,
  9404. "yamatsuri": _2,
  9405. "yanaizu": _2,
  9406. "yugawa": _2
  9407. }],
  9408. "gifu": [1, {
  9409. "anpachi": _2,
  9410. "ena": _2,
  9411. "gifu": _2,
  9412. "ginan": _2,
  9413. "godo": _2,
  9414. "gujo": _2,
  9415. "hashima": _2,
  9416. "hichiso": _2,
  9417. "hida": _2,
  9418. "higashishirakawa": _2,
  9419. "ibigawa": _2,
  9420. "ikeda": _2,
  9421. "kakamigahara": _2,
  9422. "kani": _2,
  9423. "kasahara": _2,
  9424. "kasamatsu": _2,
  9425. "kawaue": _2,
  9426. "kitagata": _2,
  9427. "mino": _2,
  9428. "minokamo": _2,
  9429. "mitake": _2,
  9430. "mizunami": _2,
  9431. "motosu": _2,
  9432. "nakatsugawa": _2,
  9433. "ogaki": _2,
  9434. "sakahogi": _2,
  9435. "seki": _2,
  9436. "sekigahara": _2,
  9437. "shirakawa": _2,
  9438. "tajimi": _2,
  9439. "takayama": _2,
  9440. "tarui": _2,
  9441. "toki": _2,
  9442. "tomika": _2,
  9443. "wanouchi": _2,
  9444. "yamagata": _2,
  9445. "yaotsu": _2,
  9446. "yoro": _2
  9447. }],
  9448. "gunma": [1, {
  9449. "annaka": _2,
  9450. "chiyoda": _2,
  9451. "fujioka": _2,
  9452. "higashiagatsuma": _2,
  9453. "isesaki": _2,
  9454. "itakura": _2,
  9455. "kanna": _2,
  9456. "kanra": _2,
  9457. "katashina": _2,
  9458. "kawaba": _2,
  9459. "kiryu": _2,
  9460. "kusatsu": _2,
  9461. "maebashi": _2,
  9462. "meiwa": _2,
  9463. "midori": _2,
  9464. "minakami": _2,
  9465. "naganohara": _2,
  9466. "nakanojo": _2,
  9467. "nanmoku": _2,
  9468. "numata": _2,
  9469. "oizumi": _2,
  9470. "ora": _2,
  9471. "ota": _2,
  9472. "shibukawa": _2,
  9473. "shimonita": _2,
  9474. "shinto": _2,
  9475. "showa": _2,
  9476. "takasaki": _2,
  9477. "takayama": _2,
  9478. "tamamura": _2,
  9479. "tatebayashi": _2,
  9480. "tomioka": _2,
  9481. "tsukiyono": _2,
  9482. "tsumagoi": _2,
  9483. "ueno": _2,
  9484. "yoshioka": _2
  9485. }],
  9486. "hiroshima": [1, {
  9487. "asaminami": _2,
  9488. "daiwa": _2,
  9489. "etajima": _2,
  9490. "fuchu": _2,
  9491. "fukuyama": _2,
  9492. "hatsukaichi": _2,
  9493. "higashihiroshima": _2,
  9494. "hongo": _2,
  9495. "jinsekikogen": _2,
  9496. "kaita": _2,
  9497. "kui": _2,
  9498. "kumano": _2,
  9499. "kure": _2,
  9500. "mihara": _2,
  9501. "miyoshi": _2,
  9502. "naka": _2,
  9503. "onomichi": _2,
  9504. "osakikamijima": _2,
  9505. "otake": _2,
  9506. "saka": _2,
  9507. "sera": _2,
  9508. "seranishi": _2,
  9509. "shinichi": _2,
  9510. "shobara": _2,
  9511. "takehara": _2
  9512. }],
  9513. "hokkaido": [1, {
  9514. "abashiri": _2,
  9515. "abira": _2,
  9516. "aibetsu": _2,
  9517. "akabira": _2,
  9518. "akkeshi": _2,
  9519. "asahikawa": _2,
  9520. "ashibetsu": _2,
  9521. "ashoro": _2,
  9522. "assabu": _2,
  9523. "atsuma": _2,
  9524. "bibai": _2,
  9525. "biei": _2,
  9526. "bifuka": _2,
  9527. "bihoro": _2,
  9528. "biratori": _2,
  9529. "chippubetsu": _2,
  9530. "chitose": _2,
  9531. "date": _2,
  9532. "ebetsu": _2,
  9533. "embetsu": _2,
  9534. "eniwa": _2,
  9535. "erimo": _2,
  9536. "esan": _2,
  9537. "esashi": _2,
  9538. "fukagawa": _2,
  9539. "fukushima": _2,
  9540. "furano": _2,
  9541. "furubira": _2,
  9542. "haboro": _2,
  9543. "hakodate": _2,
  9544. "hamatonbetsu": _2,
  9545. "hidaka": _2,
  9546. "higashikagura": _2,
  9547. "higashikawa": _2,
  9548. "hiroo": _2,
  9549. "hokuryu": _2,
  9550. "hokuto": _2,
  9551. "honbetsu": _2,
  9552. "horokanai": _2,
  9553. "horonobe": _2,
  9554. "ikeda": _2,
  9555. "imakane": _2,
  9556. "ishikari": _2,
  9557. "iwamizawa": _2,
  9558. "iwanai": _2,
  9559. "kamifurano": _2,
  9560. "kamikawa": _2,
  9561. "kamishihoro": _2,
  9562. "kamisunagawa": _2,
  9563. "kamoenai": _2,
  9564. "kayabe": _2,
  9565. "kembuchi": _2,
  9566. "kikonai": _2,
  9567. "kimobetsu": _2,
  9568. "kitahiroshima": _2,
  9569. "kitami": _2,
  9570. "kiyosato": _2,
  9571. "koshimizu": _2,
  9572. "kunneppu": _2,
  9573. "kuriyama": _2,
  9574. "kuromatsunai": _2,
  9575. "kushiro": _2,
  9576. "kutchan": _2,
  9577. "kyowa": _2,
  9578. "mashike": _2,
  9579. "matsumae": _2,
  9580. "mikasa": _2,
  9581. "minamifurano": _2,
  9582. "mombetsu": _2,
  9583. "moseushi": _2,
  9584. "mukawa": _2,
  9585. "muroran": _2,
  9586. "naie": _2,
  9587. "nakagawa": _2,
  9588. "nakasatsunai": _2,
  9589. "nakatombetsu": _2,
  9590. "nanae": _2,
  9591. "nanporo": _2,
  9592. "nayoro": _2,
  9593. "nemuro": _2,
  9594. "niikappu": _2,
  9595. "niki": _2,
  9596. "nishiokoppe": _2,
  9597. "noboribetsu": _2,
  9598. "numata": _2,
  9599. "obihiro": _2,
  9600. "obira": _2,
  9601. "oketo": _2,
  9602. "okoppe": _2,
  9603. "otaru": _2,
  9604. "otobe": _2,
  9605. "otofuke": _2,
  9606. "otoineppu": _2,
  9607. "oumu": _2,
  9608. "ozora": _2,
  9609. "pippu": _2,
  9610. "rankoshi": _2,
  9611. "rebun": _2,
  9612. "rikubetsu": _2,
  9613. "rishiri": _2,
  9614. "rishirifuji": _2,
  9615. "saroma": _2,
  9616. "sarufutsu": _2,
  9617. "shakotan": _2,
  9618. "shari": _2,
  9619. "shibecha": _2,
  9620. "shibetsu": _2,
  9621. "shikabe": _2,
  9622. "shikaoi": _2,
  9623. "shimamaki": _2,
  9624. "shimizu": _2,
  9625. "shimokawa": _2,
  9626. "shinshinotsu": _2,
  9627. "shintoku": _2,
  9628. "shiranuka": _2,
  9629. "shiraoi": _2,
  9630. "shiriuchi": _2,
  9631. "sobetsu": _2,
  9632. "sunagawa": _2,
  9633. "taiki": _2,
  9634. "takasu": _2,
  9635. "takikawa": _2,
  9636. "takinoue": _2,
  9637. "teshikaga": _2,
  9638. "tobetsu": _2,
  9639. "tohma": _2,
  9640. "tomakomai": _2,
  9641. "tomari": _2,
  9642. "toya": _2,
  9643. "toyako": _2,
  9644. "toyotomi": _2,
  9645. "toyoura": _2,
  9646. "tsubetsu": _2,
  9647. "tsukigata": _2,
  9648. "urakawa": _2,
  9649. "urausu": _2,
  9650. "uryu": _2,
  9651. "utashinai": _2,
  9652. "wakkanai": _2,
  9653. "wassamu": _2,
  9654. "yakumo": _2,
  9655. "yoichi": _2
  9656. }],
  9657. "hyogo": [1, {
  9658. "aioi": _2,
  9659. "akashi": _2,
  9660. "ako": _2,
  9661. "amagasaki": _2,
  9662. "aogaki": _2,
  9663. "asago": _2,
  9664. "ashiya": _2,
  9665. "awaji": _2,
  9666. "fukusaki": _2,
  9667. "goshiki": _2,
  9668. "harima": _2,
  9669. "himeji": _2,
  9670. "ichikawa": _2,
  9671. "inagawa": _2,
  9672. "itami": _2,
  9673. "kakogawa": _2,
  9674. "kamigori": _2,
  9675. "kamikawa": _2,
  9676. "kasai": _2,
  9677. "kasuga": _2,
  9678. "kawanishi": _2,
  9679. "miki": _2,
  9680. "minamiawaji": _2,
  9681. "nishinomiya": _2,
  9682. "nishiwaki": _2,
  9683. "ono": _2,
  9684. "sanda": _2,
  9685. "sannan": _2,
  9686. "sasayama": _2,
  9687. "sayo": _2,
  9688. "shingu": _2,
  9689. "shinonsen": _2,
  9690. "shiso": _2,
  9691. "sumoto": _2,
  9692. "taishi": _2,
  9693. "taka": _2,
  9694. "takarazuka": _2,
  9695. "takasago": _2,
  9696. "takino": _2,
  9697. "tamba": _2,
  9698. "tatsuno": _2,
  9699. "toyooka": _2,
  9700. "yabu": _2,
  9701. "yashiro": _2,
  9702. "yoka": _2,
  9703. "yokawa": _2
  9704. }],
  9705. "ibaraki": [1, {
  9706. "ami": _2,
  9707. "asahi": _2,
  9708. "bando": _2,
  9709. "chikusei": _2,
  9710. "daigo": _2,
  9711. "fujishiro": _2,
  9712. "hitachi": _2,
  9713. "hitachinaka": _2,
  9714. "hitachiomiya": _2,
  9715. "hitachiota": _2,
  9716. "ibaraki": _2,
  9717. "ina": _2,
  9718. "inashiki": _2,
  9719. "itako": _2,
  9720. "iwama": _2,
  9721. "joso": _2,
  9722. "kamisu": _2,
  9723. "kasama": _2,
  9724. "kashima": _2,
  9725. "kasumigaura": _2,
  9726. "koga": _2,
  9727. "miho": _2,
  9728. "mito": _2,
  9729. "moriya": _2,
  9730. "naka": _2,
  9731. "namegata": _2,
  9732. "oarai": _2,
  9733. "ogawa": _2,
  9734. "omitama": _2,
  9735. "ryugasaki": _2,
  9736. "sakai": _2,
  9737. "sakuragawa": _2,
  9738. "shimodate": _2,
  9739. "shimotsuma": _2,
  9740. "shirosato": _2,
  9741. "sowa": _2,
  9742. "suifu": _2,
  9743. "takahagi": _2,
  9744. "tamatsukuri": _2,
  9745. "tokai": _2,
  9746. "tomobe": _2,
  9747. "tone": _2,
  9748. "toride": _2,
  9749. "tsuchiura": _2,
  9750. "tsukuba": _2,
  9751. "uchihara": _2,
  9752. "ushiku": _2,
  9753. "yachiyo": _2,
  9754. "yamagata": _2,
  9755. "yawara": _2,
  9756. "yuki": _2
  9757. }],
  9758. "ishikawa": [1, {
  9759. "anamizu": _2,
  9760. "hakui": _2,
  9761. "hakusan": _2,
  9762. "kaga": _2,
  9763. "kahoku": _2,
  9764. "kanazawa": _2,
  9765. "kawakita": _2,
  9766. "komatsu": _2,
  9767. "nakanoto": _2,
  9768. "nanao": _2,
  9769. "nomi": _2,
  9770. "nonoichi": _2,
  9771. "noto": _2,
  9772. "shika": _2,
  9773. "suzu": _2,
  9774. "tsubata": _2,
  9775. "tsurugi": _2,
  9776. "uchinada": _2,
  9777. "wajima": _2
  9778. }],
  9779. "iwate": [1, {
  9780. "fudai": _2,
  9781. "fujisawa": _2,
  9782. "hanamaki": _2,
  9783. "hiraizumi": _2,
  9784. "hirono": _2,
  9785. "ichinohe": _2,
  9786. "ichinoseki": _2,
  9787. "iwaizumi": _2,
  9788. "iwate": _2,
  9789. "joboji": _2,
  9790. "kamaishi": _2,
  9791. "kanegasaki": _2,
  9792. "karumai": _2,
  9793. "kawai": _2,
  9794. "kitakami": _2,
  9795. "kuji": _2,
  9796. "kunohe": _2,
  9797. "kuzumaki": _2,
  9798. "miyako": _2,
  9799. "mizusawa": _2,
  9800. "morioka": _2,
  9801. "ninohe": _2,
  9802. "noda": _2,
  9803. "ofunato": _2,
  9804. "oshu": _2,
  9805. "otsuchi": _2,
  9806. "rikuzentakata": _2,
  9807. "shiwa": _2,
  9808. "shizukuishi": _2,
  9809. "sumita": _2,
  9810. "tanohata": _2,
  9811. "tono": _2,
  9812. "yahaba": _2,
  9813. "yamada": _2
  9814. }],
  9815. "kagawa": [1, {
  9816. "ayagawa": _2,
  9817. "higashikagawa": _2,
  9818. "kanonji": _2,
  9819. "kotohira": _2,
  9820. "manno": _2,
  9821. "marugame": _2,
  9822. "mitoyo": _2,
  9823. "naoshima": _2,
  9824. "sanuki": _2,
  9825. "tadotsu": _2,
  9826. "takamatsu": _2,
  9827. "tonosho": _2,
  9828. "uchinomi": _2,
  9829. "utazu": _2,
  9830. "zentsuji": _2
  9831. }],
  9832. "kagoshima": [1, {
  9833. "akune": _2,
  9834. "amami": _2,
  9835. "hioki": _2,
  9836. "isa": _2,
  9837. "isen": _2,
  9838. "izumi": _2,
  9839. "kagoshima": _2,
  9840. "kanoya": _2,
  9841. "kawanabe": _2,
  9842. "kinko": _2,
  9843. "kouyama": _2,
  9844. "makurazaki": _2,
  9845. "matsumoto": _2,
  9846. "minamitane": _2,
  9847. "nakatane": _2,
  9848. "nishinoomote": _2,
  9849. "satsumasendai": _2,
  9850. "soo": _2,
  9851. "tarumizu": _2,
  9852. "yusui": _2
  9853. }],
  9854. "kanagawa": [1, {
  9855. "aikawa": _2,
  9856. "atsugi": _2,
  9857. "ayase": _2,
  9858. "chigasaki": _2,
  9859. "ebina": _2,
  9860. "fujisawa": _2,
  9861. "hadano": _2,
  9862. "hakone": _2,
  9863. "hiratsuka": _2,
  9864. "isehara": _2,
  9865. "kaisei": _2,
  9866. "kamakura": _2,
  9867. "kiyokawa": _2,
  9868. "matsuda": _2,
  9869. "minamiashigara": _2,
  9870. "miura": _2,
  9871. "nakai": _2,
  9872. "ninomiya": _2,
  9873. "odawara": _2,
  9874. "oi": _2,
  9875. "oiso": _2,
  9876. "sagamihara": _2,
  9877. "samukawa": _2,
  9878. "tsukui": _2,
  9879. "yamakita": _2,
  9880. "yamato": _2,
  9881. "yokosuka": _2,
  9882. "yugawara": _2,
  9883. "zama": _2,
  9884. "zushi": _2
  9885. }],
  9886. "kochi": [1, {
  9887. "aki": _2,
  9888. "geisei": _2,
  9889. "hidaka": _2,
  9890. "higashitsuno": _2,
  9891. "ino": _2,
  9892. "kagami": _2,
  9893. "kami": _2,
  9894. "kitagawa": _2,
  9895. "kochi": _2,
  9896. "mihara": _2,
  9897. "motoyama": _2,
  9898. "muroto": _2,
  9899. "nahari": _2,
  9900. "nakamura": _2,
  9901. "nankoku": _2,
  9902. "nishitosa": _2,
  9903. "niyodogawa": _2,
  9904. "ochi": _2,
  9905. "okawa": _2,
  9906. "otoyo": _2,
  9907. "otsuki": _2,
  9908. "sakawa": _2,
  9909. "sukumo": _2,
  9910. "susaki": _2,
  9911. "tosa": _2,
  9912. "tosashimizu": _2,
  9913. "toyo": _2,
  9914. "tsuno": _2,
  9915. "umaji": _2,
  9916. "yasuda": _2,
  9917. "yusuhara": _2
  9918. }],
  9919. "kumamoto": [1, {
  9920. "amakusa": _2,
  9921. "arao": _2,
  9922. "aso": _2,
  9923. "choyo": _2,
  9924. "gyokuto": _2,
  9925. "kamiamakusa": _2,
  9926. "kikuchi": _2,
  9927. "kumamoto": _2,
  9928. "mashiki": _2,
  9929. "mifune": _2,
  9930. "minamata": _2,
  9931. "minamioguni": _2,
  9932. "nagasu": _2,
  9933. "nishihara": _2,
  9934. "oguni": _2,
  9935. "ozu": _2,
  9936. "sumoto": _2,
  9937. "takamori": _2,
  9938. "uki": _2,
  9939. "uto": _2,
  9940. "yamaga": _2,
  9941. "yamato": _2,
  9942. "yatsushiro": _2
  9943. }],
  9944. "kyoto": [1, {
  9945. "ayabe": _2,
  9946. "fukuchiyama": _2,
  9947. "higashiyama": _2,
  9948. "ide": _2,
  9949. "ine": _2,
  9950. "joyo": _2,
  9951. "kameoka": _2,
  9952. "kamo": _2,
  9953. "kita": _2,
  9954. "kizu": _2,
  9955. "kumiyama": _2,
  9956. "kyotamba": _2,
  9957. "kyotanabe": _2,
  9958. "kyotango": _2,
  9959. "maizuru": _2,
  9960. "minami": _2,
  9961. "minamiyamashiro": _2,
  9962. "miyazu": _2,
  9963. "muko": _2,
  9964. "nagaokakyo": _2,
  9965. "nakagyo": _2,
  9966. "nantan": _2,
  9967. "oyamazaki": _2,
  9968. "sakyo": _2,
  9969. "seika": _2,
  9970. "tanabe": _2,
  9971. "uji": _2,
  9972. "ujitawara": _2,
  9973. "wazuka": _2,
  9974. "yamashina": _2,
  9975. "yawata": _2
  9976. }],
  9977. "mie": [1, {
  9978. "asahi": _2,
  9979. "inabe": _2,
  9980. "ise": _2,
  9981. "kameyama": _2,
  9982. "kawagoe": _2,
  9983. "kiho": _2,
  9984. "kisosaki": _2,
  9985. "kiwa": _2,
  9986. "komono": _2,
  9987. "kumano": _2,
  9988. "kuwana": _2,
  9989. "matsusaka": _2,
  9990. "meiwa": _2,
  9991. "mihama": _2,
  9992. "minamiise": _2,
  9993. "misugi": _2,
  9994. "miyama": _2,
  9995. "nabari": _2,
  9996. "shima": _2,
  9997. "suzuka": _2,
  9998. "tado": _2,
  9999. "taiki": _2,
  10000. "taki": _2,
  10001. "tamaki": _2,
  10002. "toba": _2,
  10003. "tsu": _2,
  10004. "udono": _2,
  10005. "ureshino": _2,
  10006. "watarai": _2,
  10007. "yokkaichi": _2
  10008. }],
  10009. "miyagi": [1, {
  10010. "furukawa": _2,
  10011. "higashimatsushima": _2,
  10012. "ishinomaki": _2,
  10013. "iwanuma": _2,
  10014. "kakuda": _2,
  10015. "kami": _2,
  10016. "kawasaki": _2,
  10017. "marumori": _2,
  10018. "matsushima": _2,
  10019. "minamisanriku": _2,
  10020. "misato": _2,
  10021. "murata": _2,
  10022. "natori": _2,
  10023. "ogawara": _2,
  10024. "ohira": _2,
  10025. "onagawa": _2,
  10026. "osaki": _2,
  10027. "rifu": _2,
  10028. "semine": _2,
  10029. "shibata": _2,
  10030. "shichikashuku": _2,
  10031. "shikama": _2,
  10032. "shiogama": _2,
  10033. "shiroishi": _2,
  10034. "tagajo": _2,
  10035. "taiwa": _2,
  10036. "tome": _2,
  10037. "tomiya": _2,
  10038. "wakuya": _2,
  10039. "watari": _2,
  10040. "yamamoto": _2,
  10041. "zao": _2
  10042. }],
  10043. "miyazaki": [1, {
  10044. "aya": _2,
  10045. "ebino": _2,
  10046. "gokase": _2,
  10047. "hyuga": _2,
  10048. "kadogawa": _2,
  10049. "kawaminami": _2,
  10050. "kijo": _2,
  10051. "kitagawa": _2,
  10052. "kitakata": _2,
  10053. "kitaura": _2,
  10054. "kobayashi": _2,
  10055. "kunitomi": _2,
  10056. "kushima": _2,
  10057. "mimata": _2,
  10058. "miyakonojo": _2,
  10059. "miyazaki": _2,
  10060. "morotsuka": _2,
  10061. "nichinan": _2,
  10062. "nishimera": _2,
  10063. "nobeoka": _2,
  10064. "saito": _2,
  10065. "shiiba": _2,
  10066. "shintomi": _2,
  10067. "takaharu": _2,
  10068. "takanabe": _2,
  10069. "takazaki": _2,
  10070. "tsuno": _2
  10071. }],
  10072. "nagano": [1, {
  10073. "achi": _2,
  10074. "agematsu": _2,
  10075. "anan": _2,
  10076. "aoki": _2,
  10077. "asahi": _2,
  10078. "azumino": _2,
  10079. "chikuhoku": _2,
  10080. "chikuma": _2,
  10081. "chino": _2,
  10082. "fujimi": _2,
  10083. "hakuba": _2,
  10084. "hara": _2,
  10085. "hiraya": _2,
  10086. "iida": _2,
  10087. "iijima": _2,
  10088. "iiyama": _2,
  10089. "iizuna": _2,
  10090. "ikeda": _2,
  10091. "ikusaka": _2,
  10092. "ina": _2,
  10093. "karuizawa": _2,
  10094. "kawakami": _2,
  10095. "kiso": _2,
  10096. "kisofukushima": _2,
  10097. "kitaaiki": _2,
  10098. "komagane": _2,
  10099. "komoro": _2,
  10100. "matsukawa": _2,
  10101. "matsumoto": _2,
  10102. "miasa": _2,
  10103. "minamiaiki": _2,
  10104. "minamimaki": _2,
  10105. "minamiminowa": _2,
  10106. "minowa": _2,
  10107. "miyada": _2,
  10108. "miyota": _2,
  10109. "mochizuki": _2,
  10110. "nagano": _2,
  10111. "nagawa": _2,
  10112. "nagiso": _2,
  10113. "nakagawa": _2,
  10114. "nakano": _2,
  10115. "nozawaonsen": _2,
  10116. "obuse": _2,
  10117. "ogawa": _2,
  10118. "okaya": _2,
  10119. "omachi": _2,
  10120. "omi": _2,
  10121. "ookuwa": _2,
  10122. "ooshika": _2,
  10123. "otaki": _2,
  10124. "otari": _2,
  10125. "sakae": _2,
  10126. "sakaki": _2,
  10127. "saku": _2,
  10128. "sakuho": _2,
  10129. "shimosuwa": _2,
  10130. "shinanomachi": _2,
  10131. "shiojiri": _2,
  10132. "suwa": _2,
  10133. "suzaka": _2,
  10134. "takagi": _2,
  10135. "takamori": _2,
  10136. "takayama": _2,
  10137. "tateshina": _2,
  10138. "tatsuno": _2,
  10139. "togakushi": _2,
  10140. "togura": _2,
  10141. "tomi": _2,
  10142. "ueda": _2,
  10143. "wada": _2,
  10144. "yamagata": _2,
  10145. "yamanouchi": _2,
  10146. "yasaka": _2,
  10147. "yasuoka": _2
  10148. }],
  10149. "nagasaki": [1, {
  10150. "chijiwa": _2,
  10151. "futsu": _2,
  10152. "goto": _2,
  10153. "hasami": _2,
  10154. "hirado": _2,
  10155. "iki": _2,
  10156. "isahaya": _2,
  10157. "kawatana": _2,
  10158. "kuchinotsu": _2,
  10159. "matsuura": _2,
  10160. "nagasaki": _2,
  10161. "obama": _2,
  10162. "omura": _2,
  10163. "oseto": _2,
  10164. "saikai": _2,
  10165. "sasebo": _2,
  10166. "seihi": _2,
  10167. "shimabara": _2,
  10168. "shinkamigoto": _2,
  10169. "togitsu": _2,
  10170. "tsushima": _2,
  10171. "unzen": _2
  10172. }],
  10173. "nara": [1, {
  10174. "ando": _2,
  10175. "gose": _2,
  10176. "heguri": _2,
  10177. "higashiyoshino": _2,
  10178. "ikaruga": _2,
  10179. "ikoma": _2,
  10180. "kamikitayama": _2,
  10181. "kanmaki": _2,
  10182. "kashiba": _2,
  10183. "kashihara": _2,
  10184. "katsuragi": _2,
  10185. "kawai": _2,
  10186. "kawakami": _2,
  10187. "kawanishi": _2,
  10188. "koryo": _2,
  10189. "kurotaki": _2,
  10190. "mitsue": _2,
  10191. "miyake": _2,
  10192. "nara": _2,
  10193. "nosegawa": _2,
  10194. "oji": _2,
  10195. "ouda": _2,
  10196. "oyodo": _2,
  10197. "sakurai": _2,
  10198. "sango": _2,
  10199. "shimoichi": _2,
  10200. "shimokitayama": _2,
  10201. "shinjo": _2,
  10202. "soni": _2,
  10203. "takatori": _2,
  10204. "tawaramoto": _2,
  10205. "tenkawa": _2,
  10206. "tenri": _2,
  10207. "uda": _2,
  10208. "yamatokoriyama": _2,
  10209. "yamatotakada": _2,
  10210. "yamazoe": _2,
  10211. "yoshino": _2
  10212. }],
  10213. "niigata": [1, {
  10214. "aga": _2,
  10215. "agano": _2,
  10216. "gosen": _2,
  10217. "itoigawa": _2,
  10218. "izumozaki": _2,
  10219. "joetsu": _2,
  10220. "kamo": _2,
  10221. "kariwa": _2,
  10222. "kashiwazaki": _2,
  10223. "minamiuonuma": _2,
  10224. "mitsuke": _2,
  10225. "muika": _2,
  10226. "murakami": _2,
  10227. "myoko": _2,
  10228. "nagaoka": _2,
  10229. "niigata": _2,
  10230. "ojiya": _2,
  10231. "omi": _2,
  10232. "sado": _2,
  10233. "sanjo": _2,
  10234. "seiro": _2,
  10235. "seirou": _2,
  10236. "sekikawa": _2,
  10237. "shibata": _2,
  10238. "tagami": _2,
  10239. "tainai": _2,
  10240. "tochio": _2,
  10241. "tokamachi": _2,
  10242. "tsubame": _2,
  10243. "tsunan": _2,
  10244. "uonuma": _2,
  10245. "yahiko": _2,
  10246. "yoita": _2,
  10247. "yuzawa": _2
  10248. }],
  10249. "oita": [1, {
  10250. "beppu": _2,
  10251. "bungoono": _2,
  10252. "bungotakada": _2,
  10253. "hasama": _2,
  10254. "hiji": _2,
  10255. "himeshima": _2,
  10256. "hita": _2,
  10257. "kamitsue": _2,
  10258. "kokonoe": _2,
  10259. "kuju": _2,
  10260. "kunisaki": _2,
  10261. "kusu": _2,
  10262. "oita": _2,
  10263. "saiki": _2,
  10264. "taketa": _2,
  10265. "tsukumi": _2,
  10266. "usa": _2,
  10267. "usuki": _2,
  10268. "yufu": _2
  10269. }],
  10270. "okayama": [1, {
  10271. "akaiwa": _2,
  10272. "asakuchi": _2,
  10273. "bizen": _2,
  10274. "hayashima": _2,
  10275. "ibara": _2,
  10276. "kagamino": _2,
  10277. "kasaoka": _2,
  10278. "kibichuo": _2,
  10279. "kumenan": _2,
  10280. "kurashiki": _2,
  10281. "maniwa": _2,
  10282. "misaki": _2,
  10283. "nagi": _2,
  10284. "niimi": _2,
  10285. "nishiawakura": _2,
  10286. "okayama": _2,
  10287. "satosho": _2,
  10288. "setouchi": _2,
  10289. "shinjo": _2,
  10290. "shoo": _2,
  10291. "soja": _2,
  10292. "takahashi": _2,
  10293. "tamano": _2,
  10294. "tsuyama": _2,
  10295. "wake": _2,
  10296. "yakage": _2
  10297. }],
  10298. "okinawa": [1, {
  10299. "aguni": _2,
  10300. "ginowan": _2,
  10301. "ginoza": _2,
  10302. "gushikami": _2,
  10303. "haebaru": _2,
  10304. "higashi": _2,
  10305. "hirara": _2,
  10306. "iheya": _2,
  10307. "ishigaki": _2,
  10308. "ishikawa": _2,
  10309. "itoman": _2,
  10310. "izena": _2,
  10311. "kadena": _2,
  10312. "kin": _2,
  10313. "kitadaito": _2,
  10314. "kitanakagusuku": _2,
  10315. "kumejima": _2,
  10316. "kunigami": _2,
  10317. "minamidaito": _2,
  10318. "motobu": _2,
  10319. "nago": _2,
  10320. "naha": _2,
  10321. "nakagusuku": _2,
  10322. "nakijin": _2,
  10323. "nanjo": _2,
  10324. "nishihara": _2,
  10325. "ogimi": _2,
  10326. "okinawa": _2,
  10327. "onna": _2,
  10328. "shimoji": _2,
  10329. "taketomi": _2,
  10330. "tarama": _2,
  10331. "tokashiki": _2,
  10332. "tomigusuku": _2,
  10333. "tonaki": _2,
  10334. "urasoe": _2,
  10335. "uruma": _2,
  10336. "yaese": _2,
  10337. "yomitan": _2,
  10338. "yonabaru": _2,
  10339. "yonaguni": _2,
  10340. "zamami": _2
  10341. }],
  10342. "osaka": [1, {
  10343. "abeno": _2,
  10344. "chihayaakasaka": _2,
  10345. "chuo": _2,
  10346. "daito": _2,
  10347. "fujiidera": _2,
  10348. "habikino": _2,
  10349. "hannan": _2,
  10350. "higashiosaka": _2,
  10351. "higashisumiyoshi": _2,
  10352. "higashiyodogawa": _2,
  10353. "hirakata": _2,
  10354. "ibaraki": _2,
  10355. "ikeda": _2,
  10356. "izumi": _2,
  10357. "izumiotsu": _2,
  10358. "izumisano": _2,
  10359. "kadoma": _2,
  10360. "kaizuka": _2,
  10361. "kanan": _2,
  10362. "kashiwara": _2,
  10363. "katano": _2,
  10364. "kawachinagano": _2,
  10365. "kishiwada": _2,
  10366. "kita": _2,
  10367. "kumatori": _2,
  10368. "matsubara": _2,
  10369. "minato": _2,
  10370. "minoh": _2,
  10371. "misaki": _2,
  10372. "moriguchi": _2,
  10373. "neyagawa": _2,
  10374. "nishi": _2,
  10375. "nose": _2,
  10376. "osakasayama": _2,
  10377. "sakai": _2,
  10378. "sayama": _2,
  10379. "sennan": _2,
  10380. "settsu": _2,
  10381. "shijonawate": _2,
  10382. "shimamoto": _2,
  10383. "suita": _2,
  10384. "tadaoka": _2,
  10385. "taishi": _2,
  10386. "tajiri": _2,
  10387. "takaishi": _2,
  10388. "takatsuki": _2,
  10389. "tondabayashi": _2,
  10390. "toyonaka": _2,
  10391. "toyono": _2,
  10392. "yao": _2
  10393. }],
  10394. "saga": [1, {
  10395. "ariake": _2,
  10396. "arita": _2,
  10397. "fukudomi": _2,
  10398. "genkai": _2,
  10399. "hamatama": _2,
  10400. "hizen": _2,
  10401. "imari": _2,
  10402. "kamimine": _2,
  10403. "kanzaki": _2,
  10404. "karatsu": _2,
  10405. "kashima": _2,
  10406. "kitagata": _2,
  10407. "kitahata": _2,
  10408. "kiyama": _2,
  10409. "kouhoku": _2,
  10410. "kyuragi": _2,
  10411. "nishiarita": _2,
  10412. "ogi": _2,
  10413. "omachi": _2,
  10414. "ouchi": _2,
  10415. "saga": _2,
  10416. "shiroishi": _2,
  10417. "taku": _2,
  10418. "tara": _2,
  10419. "tosu": _2,
  10420. "yoshinogari": _2
  10421. }],
  10422. "saitama": [1, {
  10423. "arakawa": _2,
  10424. "asaka": _2,
  10425. "chichibu": _2,
  10426. "fujimi": _2,
  10427. "fujimino": _2,
  10428. "fukaya": _2,
  10429. "hanno": _2,
  10430. "hanyu": _2,
  10431. "hasuda": _2,
  10432. "hatogaya": _2,
  10433. "hatoyama": _2,
  10434. "hidaka": _2,
  10435. "higashichichibu": _2,
  10436. "higashimatsuyama": _2,
  10437. "honjo": _2,
  10438. "ina": _2,
  10439. "iruma": _2,
  10440. "iwatsuki": _2,
  10441. "kamiizumi": _2,
  10442. "kamikawa": _2,
  10443. "kamisato": _2,
  10444. "kasukabe": _2,
  10445. "kawagoe": _2,
  10446. "kawaguchi": _2,
  10447. "kawajima": _2,
  10448. "kazo": _2,
  10449. "kitamoto": _2,
  10450. "koshigaya": _2,
  10451. "kounosu": _2,
  10452. "kuki": _2,
  10453. "kumagaya": _2,
  10454. "matsubushi": _2,
  10455. "minano": _2,
  10456. "misato": _2,
  10457. "miyashiro": _2,
  10458. "miyoshi": _2,
  10459. "moroyama": _2,
  10460. "nagatoro": _2,
  10461. "namegawa": _2,
  10462. "niiza": _2,
  10463. "ogano": _2,
  10464. "ogawa": _2,
  10465. "ogose": _2,
  10466. "okegawa": _2,
  10467. "omiya": _2,
  10468. "otaki": _2,
  10469. "ranzan": _2,
  10470. "ryokami": _2,
  10471. "saitama": _2,
  10472. "sakado": _2,
  10473. "satte": _2,
  10474. "sayama": _2,
  10475. "shiki": _2,
  10476. "shiraoka": _2,
  10477. "soka": _2,
  10478. "sugito": _2,
  10479. "toda": _2,
  10480. "tokigawa": _2,
  10481. "tokorozawa": _2,
  10482. "tsurugashima": _2,
  10483. "urawa": _2,
  10484. "warabi": _2,
  10485. "yashio": _2,
  10486. "yokoze": _2,
  10487. "yono": _2,
  10488. "yorii": _2,
  10489. "yoshida": _2,
  10490. "yoshikawa": _2,
  10491. "yoshimi": _2
  10492. }],
  10493. "shiga": [1, {
  10494. "aisho": _2,
  10495. "gamo": _2,
  10496. "higashiomi": _2,
  10497. "hikone": _2,
  10498. "koka": _2,
  10499. "konan": _2,
  10500. "kosei": _2,
  10501. "koto": _2,
  10502. "kusatsu": _2,
  10503. "maibara": _2,
  10504. "moriyama": _2,
  10505. "nagahama": _2,
  10506. "nishiazai": _2,
  10507. "notogawa": _2,
  10508. "omihachiman": _2,
  10509. "otsu": _2,
  10510. "ritto": _2,
  10511. "ryuoh": _2,
  10512. "takashima": _2,
  10513. "takatsuki": _2,
  10514. "torahime": _2,
  10515. "toyosato": _2,
  10516. "yasu": _2
  10517. }],
  10518. "shimane": [1, {
  10519. "akagi": _2,
  10520. "ama": _2,
  10521. "gotsu": _2,
  10522. "hamada": _2,
  10523. "higashiizumo": _2,
  10524. "hikawa": _2,
  10525. "hikimi": _2,
  10526. "izumo": _2,
  10527. "kakinoki": _2,
  10528. "masuda": _2,
  10529. "matsue": _2,
  10530. "misato": _2,
  10531. "nishinoshima": _2,
  10532. "ohda": _2,
  10533. "okinoshima": _2,
  10534. "okuizumo": _2,
  10535. "shimane": _2,
  10536. "tamayu": _2,
  10537. "tsuwano": _2,
  10538. "unnan": _2,
  10539. "yakumo": _2,
  10540. "yasugi": _2,
  10541. "yatsuka": _2
  10542. }],
  10543. "shizuoka": [1, {
  10544. "arai": _2,
  10545. "atami": _2,
  10546. "fuji": _2,
  10547. "fujieda": _2,
  10548. "fujikawa": _2,
  10549. "fujinomiya": _2,
  10550. "fukuroi": _2,
  10551. "gotemba": _2,
  10552. "haibara": _2,
  10553. "hamamatsu": _2,
  10554. "higashiizu": _2,
  10555. "ito": _2,
  10556. "iwata": _2,
  10557. "izu": _2,
  10558. "izunokuni": _2,
  10559. "kakegawa": _2,
  10560. "kannami": _2,
  10561. "kawanehon": _2,
  10562. "kawazu": _2,
  10563. "kikugawa": _2,
  10564. "kosai": _2,
  10565. "makinohara": _2,
  10566. "matsuzaki": _2,
  10567. "minamiizu": _2,
  10568. "mishima": _2,
  10569. "morimachi": _2,
  10570. "nishiizu": _2,
  10571. "numazu": _2,
  10572. "omaezaki": _2,
  10573. "shimada": _2,
  10574. "shimizu": _2,
  10575. "shimoda": _2,
  10576. "shizuoka": _2,
  10577. "susono": _2,
  10578. "yaizu": _2,
  10579. "yoshida": _2
  10580. }],
  10581. "tochigi": [1, {
  10582. "ashikaga": _2,
  10583. "bato": _2,
  10584. "haga": _2,
  10585. "ichikai": _2,
  10586. "iwafune": _2,
  10587. "kaminokawa": _2,
  10588. "kanuma": _2,
  10589. "karasuyama": _2,
  10590. "kuroiso": _2,
  10591. "mashiko": _2,
  10592. "mibu": _2,
  10593. "moka": _2,
  10594. "motegi": _2,
  10595. "nasu": _2,
  10596. "nasushiobara": _2,
  10597. "nikko": _2,
  10598. "nishikata": _2,
  10599. "nogi": _2,
  10600. "ohira": _2,
  10601. "ohtawara": _2,
  10602. "oyama": _2,
  10603. "sakura": _2,
  10604. "sano": _2,
  10605. "shimotsuke": _2,
  10606. "shioya": _2,
  10607. "takanezawa": _2,
  10608. "tochigi": _2,
  10609. "tsuga": _2,
  10610. "ujiie": _2,
  10611. "utsunomiya": _2,
  10612. "yaita": _2
  10613. }],
  10614. "tokushima": [1, {
  10615. "aizumi": _2,
  10616. "anan": _2,
  10617. "ichiba": _2,
  10618. "itano": _2,
  10619. "kainan": _2,
  10620. "komatsushima": _2,
  10621. "matsushige": _2,
  10622. "mima": _2,
  10623. "minami": _2,
  10624. "miyoshi": _2,
  10625. "mugi": _2,
  10626. "nakagawa": _2,
  10627. "naruto": _2,
  10628. "sanagochi": _2,
  10629. "shishikui": _2,
  10630. "tokushima": _2,
  10631. "wajiki": _2
  10632. }],
  10633. "tokyo": [1, {
  10634. "adachi": _2,
  10635. "akiruno": _2,
  10636. "akishima": _2,
  10637. "aogashima": _2,
  10638. "arakawa": _2,
  10639. "bunkyo": _2,
  10640. "chiyoda": _2,
  10641. "chofu": _2,
  10642. "chuo": _2,
  10643. "edogawa": _2,
  10644. "fuchu": _2,
  10645. "fussa": _2,
  10646. "hachijo": _2,
  10647. "hachioji": _2,
  10648. "hamura": _2,
  10649. "higashikurume": _2,
  10650. "higashimurayama": _2,
  10651. "higashiyamato": _2,
  10652. "hino": _2,
  10653. "hinode": _2,
  10654. "hinohara": _2,
  10655. "inagi": _2,
  10656. "itabashi": _2,
  10657. "katsushika": _2,
  10658. "kita": _2,
  10659. "kiyose": _2,
  10660. "kodaira": _2,
  10661. "koganei": _2,
  10662. "kokubunji": _2,
  10663. "komae": _2,
  10664. "koto": _2,
  10665. "kouzushima": _2,
  10666. "kunitachi": _2,
  10667. "machida": _2,
  10668. "meguro": _2,
  10669. "minato": _2,
  10670. "mitaka": _2,
  10671. "mizuho": _2,
  10672. "musashimurayama": _2,
  10673. "musashino": _2,
  10674. "nakano": _2,
  10675. "nerima": _2,
  10676. "ogasawara": _2,
  10677. "okutama": _2,
  10678. "ome": _2,
  10679. "oshima": _2,
  10680. "ota": _2,
  10681. "setagaya": _2,
  10682. "shibuya": _2,
  10683. "shinagawa": _2,
  10684. "shinjuku": _2,
  10685. "suginami": _2,
  10686. "sumida": _2,
  10687. "tachikawa": _2,
  10688. "taito": _2,
  10689. "tama": _2,
  10690. "toshima": _2
  10691. }],
  10692. "tottori": [1, {
  10693. "chizu": _2,
  10694. "hino": _2,
  10695. "kawahara": _2,
  10696. "koge": _2,
  10697. "kotoura": _2,
  10698. "misasa": _2,
  10699. "nanbu": _2,
  10700. "nichinan": _2,
  10701. "sakaiminato": _2,
  10702. "tottori": _2,
  10703. "wakasa": _2,
  10704. "yazu": _2,
  10705. "yonago": _2
  10706. }],
  10707. "toyama": [1, {
  10708. "asahi": _2,
  10709. "fuchu": _2,
  10710. "fukumitsu": _2,
  10711. "funahashi": _2,
  10712. "himi": _2,
  10713. "imizu": _2,
  10714. "inami": _2,
  10715. "johana": _2,
  10716. "kamiichi": _2,
  10717. "kurobe": _2,
  10718. "nakaniikawa": _2,
  10719. "namerikawa": _2,
  10720. "nanto": _2,
  10721. "nyuzen": _2,
  10722. "oyabe": _2,
  10723. "taira": _2,
  10724. "takaoka": _2,
  10725. "tateyama": _2,
  10726. "toga": _2,
  10727. "tonami": _2,
  10728. "toyama": _2,
  10729. "unazuki": _2,
  10730. "uozu": _2,
  10731. "yamada": _2
  10732. }],
  10733. "wakayama": [1, {
  10734. "arida": _2,
  10735. "aridagawa": _2,
  10736. "gobo": _2,
  10737. "hashimoto": _2,
  10738. "hidaka": _2,
  10739. "hirogawa": _2,
  10740. "inami": _2,
  10741. "iwade": _2,
  10742. "kainan": _2,
  10743. "kamitonda": _2,
  10744. "katsuragi": _2,
  10745. "kimino": _2,
  10746. "kinokawa": _2,
  10747. "kitayama": _2,
  10748. "koya": _2,
  10749. "koza": _2,
  10750. "kozagawa": _2,
  10751. "kudoyama": _2,
  10752. "kushimoto": _2,
  10753. "mihama": _2,
  10754. "misato": _2,
  10755. "nachikatsuura": _2,
  10756. "shingu": _2,
  10757. "shirahama": _2,
  10758. "taiji": _2,
  10759. "tanabe": _2,
  10760. "wakayama": _2,
  10761. "yuasa": _2,
  10762. "yura": _2
  10763. }],
  10764. "yamagata": [1, {
  10765. "asahi": _2,
  10766. "funagata": _2,
  10767. "higashine": _2,
  10768. "iide": _2,
  10769. "kahoku": _2,
  10770. "kaminoyama": _2,
  10771. "kaneyama": _2,
  10772. "kawanishi": _2,
  10773. "mamurogawa": _2,
  10774. "mikawa": _2,
  10775. "murayama": _2,
  10776. "nagai": _2,
  10777. "nakayama": _2,
  10778. "nanyo": _2,
  10779. "nishikawa": _2,
  10780. "obanazawa": _2,
  10781. "oe": _2,
  10782. "oguni": _2,
  10783. "ohkura": _2,
  10784. "oishida": _2,
  10785. "sagae": _2,
  10786. "sakata": _2,
  10787. "sakegawa": _2,
  10788. "shinjo": _2,
  10789. "shirataka": _2,
  10790. "shonai": _2,
  10791. "takahata": _2,
  10792. "tendo": _2,
  10793. "tozawa": _2,
  10794. "tsuruoka": _2,
  10795. "yamagata": _2,
  10796. "yamanobe": _2,
  10797. "yonezawa": _2,
  10798. "yuza": _2
  10799. }],
  10800. "yamaguchi": [1, {
  10801. "abu": _2,
  10802. "hagi": _2,
  10803. "hikari": _2,
  10804. "hofu": _2,
  10805. "iwakuni": _2,
  10806. "kudamatsu": _2,
  10807. "mitou": _2,
  10808. "nagato": _2,
  10809. "oshima": _2,
  10810. "shimonoseki": _2,
  10811. "shunan": _2,
  10812. "tabuse": _2,
  10813. "tokuyama": _2,
  10814. "toyota": _2,
  10815. "ube": _2,
  10816. "yuu": _2
  10817. }],
  10818. "yamanashi": [1, {
  10819. "chuo": _2,
  10820. "doshi": _2,
  10821. "fuefuki": _2,
  10822. "fujikawa": _2,
  10823. "fujikawaguchiko": _2,
  10824. "fujiyoshida": _2,
  10825. "hayakawa": _2,
  10826. "hokuto": _2,
  10827. "ichikawamisato": _2,
  10828. "kai": _2,
  10829. "kofu": _2,
  10830. "koshu": _2,
  10831. "kosuge": _2,
  10832. "minami-alps": _2,
  10833. "minobu": _2,
  10834. "nakamichi": _2,
  10835. "nanbu": _2,
  10836. "narusawa": _2,
  10837. "nirasaki": _2,
  10838. "nishikatsura": _2,
  10839. "oshino": _2,
  10840. "otsuki": _2,
  10841. "showa": _2,
  10842. "tabayama": _2,
  10843. "tsuru": _2,
  10844. "uenohara": _2,
  10845. "yamanakako": _2,
  10846. "yamanashi": _2
  10847. }],
  10848. "xn--4pvxs": _2,
  10849. "栃木": _2,
  10850. "xn--vgu402c": _2,
  10851. "愛知": _2,
  10852. "xn--c3s14m": _2,
  10853. "愛媛": _2,
  10854. "xn--f6qx53a": _2,
  10855. "兵庫": _2,
  10856. "xn--8pvr4u": _2,
  10857. "熊本": _2,
  10858. "xn--uist22h": _2,
  10859. "茨城": _2,
  10860. "xn--djrs72d6uy": _2,
  10861. "北海道": _2,
  10862. "xn--mkru45i": _2,
  10863. "千葉": _2,
  10864. "xn--0trq7p7nn": _2,
  10865. "和歌山": _2,
  10866. "xn--8ltr62k": _2,
  10867. "長崎": _2,
  10868. "xn--2m4a15e": _2,
  10869. "長野": _2,
  10870. "xn--efvn9s": _2,
  10871. "新潟": _2,
  10872. "xn--32vp30h": _2,
  10873. "青森": _2,
  10874. "xn--4it797k": _2,
  10875. "静岡": _2,
  10876. "xn--1lqs71d": _2,
  10877. "東京": _2,
  10878. "xn--5rtp49c": _2,
  10879. "石川": _2,
  10880. "xn--5js045d": _2,
  10881. "埼玉": _2,
  10882. "xn--ehqz56n": _2,
  10883. "三重": _2,
  10884. "xn--1lqs03n": _2,
  10885. "京都": _2,
  10886. "xn--qqqt11m": _2,
  10887. "佐賀": _2,
  10888. "xn--kbrq7o": _2,
  10889. "大分": _2,
  10890. "xn--pssu33l": _2,
  10891. "大阪": _2,
  10892. "xn--ntsq17g": _2,
  10893. "奈良": _2,
  10894. "xn--uisz3g": _2,
  10895. "宮城": _2,
  10896. "xn--6btw5a": _2,
  10897. "宮崎": _2,
  10898. "xn--1ctwo": _2,
  10899. "富山": _2,
  10900. "xn--6orx2r": _2,
  10901. "山口": _2,
  10902. "xn--rht61e": _2,
  10903. "山形": _2,
  10904. "xn--rht27z": _2,
  10905. "山梨": _2,
  10906. "xn--djty4k": _2,
  10907. "岩手": _2,
  10908. "xn--nit225k": _2,
  10909. "岐阜": _2,
  10910. "xn--rht3d": _2,
  10911. "岡山": _2,
  10912. "xn--klty5x": _2,
  10913. "島根": _2,
  10914. "xn--kltx9a": _2,
  10915. "広島": _2,
  10916. "xn--kltp7d": _2,
  10917. "徳島": _2,
  10918. "xn--uuwu58a": _2,
  10919. "沖縄": _2,
  10920. "xn--zbx025d": _2,
  10921. "滋賀": _2,
  10922. "xn--ntso0iqx3a": _2,
  10923. "神奈川": _2,
  10924. "xn--elqq16h": _2,
  10925. "福井": _2,
  10926. "xn--4it168d": _2,
  10927. "福岡": _2,
  10928. "xn--klt787d": _2,
  10929. "福島": _2,
  10930. "xn--rny31h": _2,
  10931. "秋田": _2,
  10932. "xn--7t0a264c": _2,
  10933. "群馬": _2,
  10934. "xn--5rtq34k": _2,
  10935. "香川": _2,
  10936. "xn--k7yn95e": _2,
  10937. "高知": _2,
  10938. "xn--tor131o": _2,
  10939. "鳥取": _2,
  10940. "xn--d5qv7z876c": _2,
  10941. "鹿児島": _2,
  10942. "kawasaki": _12,
  10943. "kitakyushu": _12,
  10944. "kobe": _12,
  10945. "nagoya": _12,
  10946. "sapporo": _12,
  10947. "sendai": _12,
  10948. "yokohama": _12,
  10949. "buyshop": _3,
  10950. "fashionstore": _3,
  10951. "handcrafted": _3,
  10952. "kawaiishop": _3,
  10953. "supersale": _3,
  10954. "theshop": _3,
  10955. "usercontent": _3,
  10956. "angry": _3,
  10957. "babyblue": _3,
  10958. "babymilk": _3,
  10959. "backdrop": _3,
  10960. "bambina": _3,
  10961. "bitter": _3,
  10962. "blush": _3,
  10963. "boo": _3,
  10964. "boy": _3,
  10965. "boyfriend": _3,
  10966. "but": _3,
  10967. "candypop": _3,
  10968. "capoo": _3,
  10969. "catfood": _3,
  10970. "cheap": _3,
  10971. "chicappa": _3,
  10972. "chillout": _3,
  10973. "chips": _3,
  10974. "chowder": _3,
  10975. "chu": _3,
  10976. "ciao": _3,
  10977. "cocotte": _3,
  10978. "coolblog": _3,
  10979. "cranky": _3,
  10980. "cutegirl": _3,
  10981. "daa": _3,
  10982. "deca": _3,
  10983. "deci": _3,
  10984. "digick": _3,
  10985. "egoism": _3,
  10986. "fakefur": _3,
  10987. "fem": _3,
  10988. "flier": _3,
  10989. "floppy": _3,
  10990. "fool": _3,
  10991. "frenchkiss": _3,
  10992. "girlfriend": _3,
  10993. "girly": _3,
  10994. "gloomy": _3,
  10995. "gonna": _3,
  10996. "greater": _3,
  10997. "hacca": _3,
  10998. "heavy": _3,
  10999. "her": _3,
  11000. "hiho": _3,
  11001. "hippy": _3,
  11002. "holy": _3,
  11003. "hungry": _3,
  11004. "icurus": _3,
  11005. "itigo": _3,
  11006. "jellybean": _3,
  11007. "kikirara": _3,
  11008. "kill": _3,
  11009. "kilo": _3,
  11010. "kuron": _3,
  11011. "littlestar": _3,
  11012. "lolipopmc": _3,
  11013. "lolitapunk": _3,
  11014. "lomo": _3,
  11015. "lovepop": _3,
  11016. "lovesick": _3,
  11017. "main": _3,
  11018. "mods": _3,
  11019. "mond": _3,
  11020. "mongolian": _3,
  11021. "moo": _3,
  11022. "namaste": _3,
  11023. "nikita": _3,
  11024. "nobushi": _3,
  11025. "noor": _3,
  11026. "oops": _3,
  11027. "parallel": _3,
  11028. "parasite": _3,
  11029. "pecori": _3,
  11030. "peewee": _3,
  11031. "penne": _3,
  11032. "pepper": _3,
  11033. "perma": _3,
  11034. "pigboat": _3,
  11035. "pinoko": _3,
  11036. "punyu": _3,
  11037. "pupu": _3,
  11038. "pussycat": _3,
  11039. "pya": _3,
  11040. "raindrop": _3,
  11041. "readymade": _3,
  11042. "sadist": _3,
  11043. "schoolbus": _3,
  11044. "secret": _3,
  11045. "staba": _3,
  11046. "stripper": _3,
  11047. "sub": _3,
  11048. "sunnyday": _3,
  11049. "thick": _3,
  11050. "tonkotsu": _3,
  11051. "under": _3,
  11052. "upper": _3,
  11053. "velvet": _3,
  11054. "verse": _3,
  11055. "versus": _3,
  11056. "vivian": _3,
  11057. "watson": _3,
  11058. "weblike": _3,
  11059. "whitesnow": _3,
  11060. "zombie": _3,
  11061. "blogspot": _3,
  11062. "2-d": _3,
  11063. "bona": _3,
  11064. "crap": _3,
  11065. "daynight": _3,
  11066. "eek": _3,
  11067. "flop": _3,
  11068. "halfmoon": _3,
  11069. "jeez": _3,
  11070. "matrix": _3,
  11071. "mimoza": _3,
  11072. "netgamers": _3,
  11073. "nyanta": _3,
  11074. "o0o0": _3,
  11075. "rdy": _3,
  11076. "rgr": _3,
  11077. "rulez": _3,
  11078. "sakurastorage": [0, {
  11079. "isk01": _47,
  11080. "isk02": _47
  11081. }],
  11082. "saloon": _3,
  11083. "sblo": _3,
  11084. "skr": _3,
  11085. "tank": _3,
  11086. "uh-oh": _3,
  11087. "undo": _3,
  11088. "webaccel": [0, {
  11089. "rs": _3,
  11090. "user": _3
  11091. }],
  11092. "websozai": _3,
  11093. "xii": _3
  11094. }],
  11095. "ke": [1, {
  11096. "ac": _2,
  11097. "co": _6,
  11098. "go": _2,
  11099. "info": _2,
  11100. "me": _2,
  11101. "mobi": _2,
  11102. "ne": _2,
  11103. "or": _2,
  11104. "sc": _2
  11105. }],
  11106. "kg": [1, {
  11107. "org": _2,
  11108. "net": _2,
  11109. "com": _2,
  11110. "edu": _2,
  11111. "gov": _2,
  11112. "mil": _2,
  11113. "blog": _3,
  11114. "io": _3,
  11115. "jp": _3,
  11116. "tv": _3,
  11117. "uk": _3,
  11118. "us": _3
  11119. }],
  11120. "kh": _12,
  11121. "ki": _48,
  11122. "km": [1, {
  11123. "org": _2,
  11124. "nom": _2,
  11125. "gov": _2,
  11126. "prd": _2,
  11127. "tm": _2,
  11128. "edu": _2,
  11129. "mil": _2,
  11130. "ass": _2,
  11131. "com": _2,
  11132. "coop": _2,
  11133. "asso": _2,
  11134. "presse": _2,
  11135. "medecin": _2,
  11136. "notaires": _2,
  11137. "pharmaciens": _2,
  11138. "veterinaire": _2,
  11139. "gouv": _2
  11140. }],
  11141. "kn": [1, {
  11142. "net": _2,
  11143. "org": _2,
  11144. "edu": _2,
  11145. "gov": _2
  11146. }],
  11147. "kp": [1, {
  11148. "com": _2,
  11149. "edu": _2,
  11150. "gov": _2,
  11151. "org": _2,
  11152. "rep": _2,
  11153. "tra": _2
  11154. }],
  11155. "kr": [1, {
  11156. "ac": _2,
  11157. "co": _2,
  11158. "es": _2,
  11159. "go": _2,
  11160. "hs": _2,
  11161. "kg": _2,
  11162. "mil": _2,
  11163. "ms": _2,
  11164. "ne": _2,
  11165. "or": _2,
  11166. "pe": _2,
  11167. "re": _2,
  11168. "sc": _2,
  11169. "busan": _2,
  11170. "chungbuk": _2,
  11171. "chungnam": _2,
  11172. "daegu": _2,
  11173. "daejeon": _2,
  11174. "gangwon": _2,
  11175. "gwangju": _2,
  11176. "gyeongbuk": _2,
  11177. "gyeonggi": _2,
  11178. "gyeongnam": _2,
  11179. "incheon": _2,
  11180. "jeju": _2,
  11181. "jeonbuk": _2,
  11182. "jeonnam": _2,
  11183. "seoul": _2,
  11184. "ulsan": _2,
  11185. "blogspot": _3
  11186. }],
  11187. "kw": [1, {
  11188. "com": _2,
  11189. "edu": _2,
  11190. "emb": _2,
  11191. "gov": _2,
  11192. "ind": _2,
  11193. "net": _2,
  11194. "org": _2
  11195. }],
  11196. "ky": _39,
  11197. "kz": [1, {
  11198. "org": _2,
  11199. "edu": _2,
  11200. "net": _2,
  11201. "gov": _2,
  11202. "mil": _2,
  11203. "com": _2,
  11204. "jcloud": _3,
  11205. "kazteleport": [0, {
  11206. "upaas": _3
  11207. }]
  11208. }],
  11209. "la": [1, {
  11210. "int": _2,
  11211. "net": _2,
  11212. "info": _2,
  11213. "edu": _2,
  11214. "gov": _2,
  11215. "per": _2,
  11216. "com": _2,
  11217. "org": _2,
  11218. "bnr": _3,
  11219. "c": _3
  11220. }],
  11221. "lb": _4,
  11222. "lc": [1, {
  11223. "com": _2,
  11224. "net": _2,
  11225. "co": _2,
  11226. "org": _2,
  11227. "edu": _2,
  11228. "gov": _2,
  11229. "oy": _3
  11230. }],
  11231. "li": [1, {
  11232. "blogspot": _3,
  11233. "caa": _3
  11234. }],
  11235. "lk": [1, {
  11236. "gov": _2,
  11237. "sch": _2,
  11238. "net": _2,
  11239. "int": _2,
  11240. "com": _2,
  11241. "org": _2,
  11242. "edu": _2,
  11243. "ngo": _2,
  11244. "soc": _2,
  11245. "web": _2,
  11246. "ltd": _2,
  11247. "assn": _2,
  11248. "grp": _2,
  11249. "hotel": _2,
  11250. "ac": _2
  11251. }],
  11252. "lr": _4,
  11253. "ls": [1, {
  11254. "ac": _2,
  11255. "biz": _2,
  11256. "co": _2,
  11257. "edu": _2,
  11258. "gov": _2,
  11259. "info": _2,
  11260. "net": _2,
  11261. "org": _2,
  11262. "sc": _2,
  11263. "de": _3
  11264. }],
  11265. "lt": _49,
  11266. "lu": [1, {
  11267. "blogspot": _3,
  11268. "123website": _3
  11269. }],
  11270. "lv": [1, {
  11271. "com": _2,
  11272. "edu": _2,
  11273. "gov": _2,
  11274. "org": _2,
  11275. "mil": _2,
  11276. "id": _2,
  11277. "net": _2,
  11278. "asn": _2,
  11279. "conf": _2
  11280. }],
  11281. "ly": [1, {
  11282. "com": _2,
  11283. "net": _2,
  11284. "gov": _2,
  11285. "plc": _2,
  11286. "edu": _2,
  11287. "sch": _2,
  11288. "med": _2,
  11289. "org": _2,
  11290. "id": _2
  11291. }],
  11292. "ma": [1, {
  11293. "co": _2,
  11294. "net": _2,
  11295. "gov": _2,
  11296. "org": _2,
  11297. "ac": _2,
  11298. "press": _2
  11299. }],
  11300. "mc": [1, {
  11301. "tm": _2,
  11302. "asso": _2
  11303. }],
  11304. "md": [1, {
  11305. "blogspot": _3,
  11306. "at": _3,
  11307. "de": _3,
  11308. "jp": _3,
  11309. "to": _3
  11310. }],
  11311. "me": [1, {
  11312. "co": _2,
  11313. "net": _2,
  11314. "org": _2,
  11315. "edu": _2,
  11316. "ac": _2,
  11317. "gov": _2,
  11318. "its": _2,
  11319. "priv": _2,
  11320. "c66": _3,
  11321. "daplie": [2, {
  11322. "localhost": _3
  11323. }],
  11324. "edgestack": _3,
  11325. "filegear": _3,
  11326. "filegear-au": _3,
  11327. "filegear-de": _3,
  11328. "filegear-gb": _3,
  11329. "filegear-ie": _3,
  11330. "filegear-jp": _3,
  11331. "filegear-sg": _3,
  11332. "glitch": _3,
  11333. "ravendb": _3,
  11334. "lohmus": _3,
  11335. "barsy": _3,
  11336. "mcpe": _3,
  11337. "mcdir": _3,
  11338. "soundcast": _3,
  11339. "tcp4": _3,
  11340. "brasilia": _3,
  11341. "ddns": _3,
  11342. "dnsfor": _3,
  11343. "hopto": _3,
  11344. "loginto": _3,
  11345. "noip": _3,
  11346. "webhop": _3,
  11347. "vp4": _3,
  11348. "diskstation": _3,
  11349. "dscloud": _3,
  11350. "i234": _3,
  11351. "myds": _3,
  11352. "synology": _3,
  11353. "transip": _37,
  11354. "wedeploy": _3,
  11355. "yombo": _3,
  11356. "nohost": _3
  11357. }],
  11358. "mg": [1, {
  11359. "org": _2,
  11360. "nom": _2,
  11361. "gov": _2,
  11362. "prd": _2,
  11363. "tm": _2,
  11364. "edu": _2,
  11365. "mil": _2,
  11366. "com": _2,
  11367. "co": _2
  11368. }],
  11369. "mh": _2,
  11370. "mil": _2,
  11371. "mk": [1, {
  11372. "com": _2,
  11373. "org": _2,
  11374. "net": _2,
  11375. "edu": _2,
  11376. "gov": _2,
  11377. "inf": _2,
  11378. "name": _2,
  11379. "blogspot": _3
  11380. }],
  11381. "ml": [1, {
  11382. "com": _2,
  11383. "edu": _2,
  11384. "gouv": _2,
  11385. "gov": _2,
  11386. "net": _2,
  11387. "org": _2,
  11388. "presse": _2
  11389. }],
  11390. "mm": _12,
  11391. "mn": [1, {
  11392. "gov": _2,
  11393. "edu": _2,
  11394. "org": _2,
  11395. "nyc": _3
  11396. }],
  11397. "mo": _4,
  11398. "mobi": [1, {
  11399. "barsy": _3,
  11400. "dscloud": _3
  11401. }],
  11402. "mp": [1, {
  11403. "ju": _3
  11404. }],
  11405. "mq": _2,
  11406. "mr": _49,
  11407. "ms": [1, {
  11408. "com": _2,
  11409. "edu": _2,
  11410. "gov": _2,
  11411. "net": _2,
  11412. "org": _2,
  11413. "lab": _3,
  11414. "minisite": _3
  11415. }],
  11416. "mt": [1, {
  11417. "com": _6,
  11418. "edu": _2,
  11419. "net": _2,
  11420. "org": _2
  11421. }],
  11422. "mu": [1, {
  11423. "com": _2,
  11424. "net": _2,
  11425. "org": _2,
  11426. "gov": _2,
  11427. "ac": _2,
  11428. "co": _2,
  11429. "or": _2
  11430. }],
  11431. "museum": _2,
  11432. "mv": [1, {
  11433. "aero": _2,
  11434. "biz": _2,
  11435. "com": _2,
  11436. "coop": _2,
  11437. "edu": _2,
  11438. "gov": _2,
  11439. "info": _2,
  11440. "int": _2,
  11441. "mil": _2,
  11442. "museum": _2,
  11443. "name": _2,
  11444. "net": _2,
  11445. "org": _2,
  11446. "pro": _2
  11447. }],
  11448. "mw": [1, {
  11449. "ac": _2,
  11450. "biz": _2,
  11451. "co": _2,
  11452. "com": _2,
  11453. "coop": _2,
  11454. "edu": _2,
  11455. "gov": _2,
  11456. "int": _2,
  11457. "museum": _2,
  11458. "net": _2,
  11459. "org": _2
  11460. }],
  11461. "mx": [1, {
  11462. "com": _2,
  11463. "org": _2,
  11464. "gob": _2,
  11465. "edu": _2,
  11466. "net": _2,
  11467. "blogspot": _3
  11468. }],
  11469. "my": [1, {
  11470. "biz": _2,
  11471. "com": _2,
  11472. "edu": _2,
  11473. "gov": _2,
  11474. "mil": _2,
  11475. "name": _2,
  11476. "net": _2,
  11477. "org": _2,
  11478. "blogspot": _3
  11479. }],
  11480. "mz": [1, {
  11481. "ac": _2,
  11482. "adv": _2,
  11483. "co": _2,
  11484. "edu": _2,
  11485. "gov": _2,
  11486. "mil": _2,
  11487. "net": _2,
  11488. "org": _2
  11489. }],
  11490. "na": [1, {
  11491. "info": _2,
  11492. "pro": _2,
  11493. "name": _2,
  11494. "school": _2,
  11495. "or": _2,
  11496. "dr": _2,
  11497. "us": _2,
  11498. "mx": _2,
  11499. "ca": _2,
  11500. "in": _2,
  11501. "cc": _2,
  11502. "tv": _2,
  11503. "ws": _2,
  11504. "mobi": _2,
  11505. "co": _2,
  11506. "com": _2,
  11507. "org": _2
  11508. }],
  11509. "name": [1, {
  11510. "her": _52,
  11511. "his": _52
  11512. }],
  11513. "nc": [1, {
  11514. "asso": _2,
  11515. "nom": _2
  11516. }],
  11517. "ne": _2,
  11518. "net": [1, {
  11519. "adobeaemcloud": _3,
  11520. "adobeio-static": _3,
  11521. "adobeioruntime": _3,
  11522. "akadns": _3,
  11523. "akamai": _3,
  11524. "akamai-staging": _3,
  11525. "akamaiedge": _3,
  11526. "akamaiedge-staging": _3,
  11527. "akamaihd": _3,
  11528. "akamaihd-staging": _3,
  11529. "akamaiorigin": _3,
  11530. "akamaiorigin-staging": _3,
  11531. "akamaized": _3,
  11532. "akamaized-staging": _3,
  11533. "edgekey": _3,
  11534. "edgekey-staging": _3,
  11535. "edgesuite": _3,
  11536. "edgesuite-staging": _3,
  11537. "alwaysdata": _3,
  11538. "myamaze": _3,
  11539. "cloudfront": _3,
  11540. "t3l3p0rt": _3,
  11541. "appudo": _3,
  11542. "atlassian-dev": [0, {
  11543. "prod": [0, {
  11544. "cdn": _3
  11545. }]
  11546. }],
  11547. "myfritz": _3,
  11548. "onavstack": _3,
  11549. "shopselect": _3,
  11550. "blackbaudcdn": _3,
  11551. "boomla": _3,
  11552. "bplaced": _3,
  11553. "square7": _3,
  11554. "gb": _3,
  11555. "hu": _3,
  11556. "jp": _3,
  11557. "se": _3,
  11558. "uk": _3,
  11559. "in": _3,
  11560. "clickrising": _3,
  11561. "cloudaccess": _3,
  11562. "cdn77-ssl": _3,
  11563. "cdn77": [0, {
  11564. "r": _3
  11565. }],
  11566. "feste-ip": _3,
  11567. "knx-server": _3,
  11568. "static-access": _3,
  11569. "cryptonomic": _5,
  11570. "dattolocal": _3,
  11571. "mydatto": _3,
  11572. "debian": _3,
  11573. "bitbridge": _3,
  11574. "at-band-camp": _3,
  11575. "blogdns": _3,
  11576. "broke-it": _3,
  11577. "buyshouses": _3,
  11578. "dnsalias": _3,
  11579. "dnsdojo": _3,
  11580. "does-it": _3,
  11581. "dontexist": _3,
  11582. "dynalias": _3,
  11583. "dynathome": _3,
  11584. "endofinternet": _3,
  11585. "from-az": _3,
  11586. "from-co": _3,
  11587. "from-la": _3,
  11588. "from-ny": _3,
  11589. "gets-it": _3,
  11590. "ham-radio-op": _3,
  11591. "homeftp": _3,
  11592. "homeip": _3,
  11593. "homelinux": _3,
  11594. "homeunix": _3,
  11595. "in-the-band": _3,
  11596. "is-a-chef": _3,
  11597. "is-a-geek": _3,
  11598. "isa-geek": _3,
  11599. "kicks-ass": _3,
  11600. "office-on-the": _3,
  11601. "podzone": _3,
  11602. "scrapper-site": _3,
  11603. "selfip": _3,
  11604. "sells-it": _3,
  11605. "servebbs": _3,
  11606. "serveftp": _3,
  11607. "thruhere": _3,
  11608. "webhop": _3,
  11609. "definima": _3,
  11610. "casacam": _3,
  11611. "dynu": _3,
  11612. "dynv6": _3,
  11613. "twmail": _3,
  11614. "ru": _3,
  11615. "channelsdvr": [2, {
  11616. "u": _3
  11617. }],
  11618. "fastlylb": [2, {
  11619. "map": _3
  11620. }],
  11621. "fastly": [0, {
  11622. "freetls": _3,
  11623. "map": _3,
  11624. "prod": [0, {
  11625. "a": _3,
  11626. "global": _3
  11627. }],
  11628. "ssl": [0, {
  11629. "a": _3,
  11630. "b": _3,
  11631. "global": _3
  11632. }]
  11633. }],
  11634. "edgeapp": _3,
  11635. "flynnhosting": _3,
  11636. "cdn-edges": _3,
  11637. "heteml": _3,
  11638. "cloudfunctions": _3,
  11639. "moonscale": _3,
  11640. "in-dsl": _3,
  11641. "in-vpn": _3,
  11642. "ipifony": _3,
  11643. "iobb": _3,
  11644. "cloudjiffy": [2, {
  11645. "fra1-de": _3,
  11646. "west1-us": _3
  11647. }],
  11648. "elastx": [0, {
  11649. "jls-sto1": _3,
  11650. "jls-sto2": _3,
  11651. "jls-sto3": _3
  11652. }],
  11653. "faststacks": _3,
  11654. "massivegrid": [0, {
  11655. "paas": [0, {
  11656. "fr-1": _3,
  11657. "lon-1": _3,
  11658. "lon-2": _3,
  11659. "ny-1": _3,
  11660. "ny-2": _3,
  11661. "sg-1": _3
  11662. }]
  11663. }],
  11664. "saveincloud": [0, {
  11665. "jelastic": _3,
  11666. "nordeste-idc": _3
  11667. }],
  11668. "scaleforce": _40,
  11669. "tsukaeru": _41,
  11670. "kinghost": _3,
  11671. "uni5": _3,
  11672. "krellian": _3,
  11673. "barsy": _3,
  11674. "memset": _3,
  11675. "azurewebsites": _3,
  11676. "azure-mobile": _3,
  11677. "cloudapp": _3,
  11678. "azurestaticapps": [2, {
  11679. "1": _3,
  11680. "2": _3,
  11681. "3": _3,
  11682. "4": _3,
  11683. "5": _3,
  11684. "6": _3,
  11685. "7": _3,
  11686. "centralus": _3,
  11687. "eastasia": _3,
  11688. "eastus2": _3,
  11689. "westeurope": _3,
  11690. "westus2": _3
  11691. }],
  11692. "dnsup": _3,
  11693. "hicam": _3,
  11694. "now-dns": _3,
  11695. "ownip": _3,
  11696. "vpndns": _3,
  11697. "eating-organic": _3,
  11698. "mydissent": _3,
  11699. "myeffect": _3,
  11700. "mymediapc": _3,
  11701. "mypsx": _3,
  11702. "mysecuritycamera": _3,
  11703. "nhlfan": _3,
  11704. "no-ip": _3,
  11705. "pgafan": _3,
  11706. "privatizehealthinsurance": _3,
  11707. "bounceme": _3,
  11708. "ddns": _3,
  11709. "redirectme": _3,
  11710. "serveblog": _3,
  11711. "serveminecraft": _3,
  11712. "sytes": _3,
  11713. "cloudycluster": _3,
  11714. "ovh": [0, {
  11715. "webpaas": _5,
  11716. "hosting": _5
  11717. }],
  11718. "bar0": _3,
  11719. "bar1": _3,
  11720. "bar2": _3,
  11721. "rackmaze": _3,
  11722. "squares": _3,
  11723. "schokokeks": _3,
  11724. "firewall-gateway": _3,
  11725. "seidat": _3,
  11726. "senseering": _3,
  11727. "siteleaf": _3,
  11728. "vps-host": [2, {
  11729. "jelastic": [0, {
  11730. "atl": _3,
  11731. "njs": _3,
  11732. "ric": _3
  11733. }]
  11734. }],
  11735. "myspreadshop": _3,
  11736. "srcf": [0, {
  11737. "soc": _3,
  11738. "user": _3
  11739. }],
  11740. "supabase": _3,
  11741. "dsmynas": _3,
  11742. "familyds": _3,
  11743. "tailscale": [0, {
  11744. "beta": _3
  11745. }],
  11746. "ts": _3,
  11747. "torproject": [2, {
  11748. "pages": _3
  11749. }],
  11750. "reserve-online": _3,
  11751. "community-pro": _3,
  11752. "meinforum": _3,
  11753. "yandexcloud": [2, {
  11754. "storage": _3,
  11755. "website": _3
  11756. }],
  11757. "za": _3
  11758. }],
  11759. "nf": [1, {
  11760. "com": _2,
  11761. "net": _2,
  11762. "per": _2,
  11763. "rec": _2,
  11764. "web": _2,
  11765. "arts": _2,
  11766. "firm": _2,
  11767. "info": _2,
  11768. "other": _2,
  11769. "store": _2
  11770. }],
  11771. "ng": [1, {
  11772. "com": _6,
  11773. "edu": _2,
  11774. "gov": _2,
  11775. "i": _2,
  11776. "mil": _2,
  11777. "mobi": _2,
  11778. "name": _2,
  11779. "net": _2,
  11780. "org": _2,
  11781. "sch": _2,
  11782. "col": _3,
  11783. "firm": _3,
  11784. "gen": _3,
  11785. "ltd": _3,
  11786. "ngo": _3
  11787. }],
  11788. "ni": [1, {
  11789. "ac": _2,
  11790. "biz": _2,
  11791. "co": _2,
  11792. "com": _2,
  11793. "edu": _2,
  11794. "gob": _2,
  11795. "in": _2,
  11796. "info": _2,
  11797. "int": _2,
  11798. "mil": _2,
  11799. "net": _2,
  11800. "nom": _2,
  11801. "org": _2,
  11802. "web": _2
  11803. }],
  11804. "nl": [1, {
  11805. "co": _3,
  11806. "hosting-cluster": _3,
  11807. "blogspot": _3,
  11808. "gov": _3,
  11809. "khplay": _3,
  11810. "123website": _3,
  11811. "myspreadshop": _3,
  11812. "transurl": _5,
  11813. "cistron": _3,
  11814. "demon": _3
  11815. }],
  11816. "no": [1, {
  11817. "fhs": _2,
  11818. "vgs": _2,
  11819. "fylkesbibl": _2,
  11820. "folkebibl": _2,
  11821. "museum": _2,
  11822. "idrett": _2,
  11823. "priv": _2,
  11824. "mil": _2,
  11825. "stat": _2,
  11826. "dep": _2,
  11827. "kommune": _2,
  11828. "herad": _2,
  11829. "aa": _53,
  11830. "ah": _53,
  11831. "bu": _53,
  11832. "fm": _53,
  11833. "hl": _53,
  11834. "hm": _53,
  11835. "jan-mayen": _53,
  11836. "mr": _53,
  11837. "nl": _53,
  11838. "nt": _53,
  11839. "of": _53,
  11840. "ol": _53,
  11841. "oslo": _53,
  11842. "rl": _53,
  11843. "sf": _53,
  11844. "st": _53,
  11845. "svalbard": _53,
  11846. "tm": _53,
  11847. "tr": _53,
  11848. "va": _53,
  11849. "vf": _53,
  11850. "akrehamn": _2,
  11851. "xn--krehamn-dxa": _2,
  11852. "åkrehamn": _2,
  11853. "algard": _2,
  11854. "xn--lgrd-poac": _2,
  11855. "ålgård": _2,
  11856. "arna": _2,
  11857. "brumunddal": _2,
  11858. "bryne": _2,
  11859. "bronnoysund": _2,
  11860. "xn--brnnysund-m8ac": _2,
  11861. "brønnøysund": _2,
  11862. "drobak": _2,
  11863. "xn--drbak-wua": _2,
  11864. "drøbak": _2,
  11865. "egersund": _2,
  11866. "fetsund": _2,
  11867. "floro": _2,
  11868. "xn--flor-jra": _2,
  11869. "florø": _2,
  11870. "fredrikstad": _2,
  11871. "hokksund": _2,
  11872. "honefoss": _2,
  11873. "xn--hnefoss-q1a": _2,
  11874. "hønefoss": _2,
  11875. "jessheim": _2,
  11876. "jorpeland": _2,
  11877. "xn--jrpeland-54a": _2,
  11878. "jørpeland": _2,
  11879. "kirkenes": _2,
  11880. "kopervik": _2,
  11881. "krokstadelva": _2,
  11882. "langevag": _2,
  11883. "xn--langevg-jxa": _2,
  11884. "langevåg": _2,
  11885. "leirvik": _2,
  11886. "mjondalen": _2,
  11887. "xn--mjndalen-64a": _2,
  11888. "mjøndalen": _2,
  11889. "mo-i-rana": _2,
  11890. "mosjoen": _2,
  11891. "xn--mosjen-eya": _2,
  11892. "mosjøen": _2,
  11893. "nesoddtangen": _2,
  11894. "orkanger": _2,
  11895. "osoyro": _2,
  11896. "xn--osyro-wua": _2,
  11897. "osøyro": _2,
  11898. "raholt": _2,
  11899. "xn--rholt-mra": _2,
  11900. "råholt": _2,
  11901. "sandnessjoen": _2,
  11902. "xn--sandnessjen-ogb": _2,
  11903. "sandnessjøen": _2,
  11904. "skedsmokorset": _2,
  11905. "slattum": _2,
  11906. "spjelkavik": _2,
  11907. "stathelle": _2,
  11908. "stavern": _2,
  11909. "stjordalshalsen": _2,
  11910. "xn--stjrdalshalsen-sqb": _2,
  11911. "stjørdalshalsen": _2,
  11912. "tananger": _2,
  11913. "tranby": _2,
  11914. "vossevangen": _2,
  11915. "afjord": _2,
  11916. "xn--fjord-lra": _2,
  11917. "åfjord": _2,
  11918. "agdenes": _2,
  11919. "al": _2,
  11920. "xn--l-1fa": _2,
  11921. "ål": _2,
  11922. "alesund": _2,
  11923. "xn--lesund-hua": _2,
  11924. "ålesund": _2,
  11925. "alstahaug": _2,
  11926. "alta": _2,
  11927. "xn--lt-liac": _2,
  11928. "áltá": _2,
  11929. "alaheadju": _2,
  11930. "xn--laheadju-7ya": _2,
  11931. "álaheadju": _2,
  11932. "alvdal": _2,
  11933. "amli": _2,
  11934. "xn--mli-tla": _2,
  11935. "åmli": _2,
  11936. "amot": _2,
  11937. "xn--mot-tla": _2,
  11938. "åmot": _2,
  11939. "andebu": _2,
  11940. "andoy": _2,
  11941. "xn--andy-ira": _2,
  11942. "andøy": _2,
  11943. "andasuolo": _2,
  11944. "ardal": _2,
  11945. "xn--rdal-poa": _2,
  11946. "årdal": _2,
  11947. "aremark": _2,
  11948. "arendal": _2,
  11949. "xn--s-1fa": _2,
  11950. "ås": _2,
  11951. "aseral": _2,
  11952. "xn--seral-lra": _2,
  11953. "åseral": _2,
  11954. "asker": _2,
  11955. "askim": _2,
  11956. "askvoll": _2,
  11957. "askoy": _2,
  11958. "xn--asky-ira": _2,
  11959. "askøy": _2,
  11960. "asnes": _2,
  11961. "xn--snes-poa": _2,
  11962. "åsnes": _2,
  11963. "audnedaln": _2,
  11964. "aukra": _2,
  11965. "aure": _2,
  11966. "aurland": _2,
  11967. "aurskog-holand": _2,
  11968. "xn--aurskog-hland-jnb": _2,
  11969. "aurskog-høland": _2,
  11970. "austevoll": _2,
  11971. "austrheim": _2,
  11972. "averoy": _2,
  11973. "xn--avery-yua": _2,
  11974. "averøy": _2,
  11975. "balestrand": _2,
  11976. "ballangen": _2,
  11977. "balat": _2,
  11978. "xn--blt-elab": _2,
  11979. "bálát": _2,
  11980. "balsfjord": _2,
  11981. "bahccavuotna": _2,
  11982. "xn--bhccavuotna-k7a": _2,
  11983. "báhccavuotna": _2,
  11984. "bamble": _2,
  11985. "bardu": _2,
  11986. "beardu": _2,
  11987. "beiarn": _2,
  11988. "bajddar": _2,
  11989. "xn--bjddar-pta": _2,
  11990. "bájddar": _2,
  11991. "baidar": _2,
  11992. "xn--bidr-5nac": _2,
  11993. "báidár": _2,
  11994. "berg": _2,
  11995. "bergen": _2,
  11996. "berlevag": _2,
  11997. "xn--berlevg-jxa": _2,
  11998. "berlevåg": _2,
  11999. "bearalvahki": _2,
  12000. "xn--bearalvhki-y4a": _2,
  12001. "bearalváhki": _2,
  12002. "bindal": _2,
  12003. "birkenes": _2,
  12004. "bjarkoy": _2,
  12005. "xn--bjarky-fya": _2,
  12006. "bjarkøy": _2,
  12007. "bjerkreim": _2,
  12008. "bjugn": _2,
  12009. "bodo": _2,
  12010. "xn--bod-2na": _2,
  12011. "bodø": _2,
  12012. "badaddja": _2,
  12013. "xn--bdddj-mrabd": _2,
  12014. "bådåddjå": _2,
  12015. "budejju": _2,
  12016. "bokn": _2,
  12017. "bremanger": _2,
  12018. "bronnoy": _2,
  12019. "xn--brnny-wuac": _2,
  12020. "brønnøy": _2,
  12021. "bygland": _2,
  12022. "bykle": _2,
  12023. "barum": _2,
  12024. "xn--brum-voa": _2,
  12025. "bærum": _2,
  12026. "telemark": [0, {
  12027. "bo": _2,
  12028. "xn--b-5ga": _2,
  12029. "bø": _2
  12030. }],
  12031. "nordland": [0, {
  12032. "bo": _2,
  12033. "xn--b-5ga": _2,
  12034. "bø": _2,
  12035. "heroy": _2,
  12036. "xn--hery-ira": _2,
  12037. "herøy": _2
  12038. }],
  12039. "bievat": _2,
  12040. "xn--bievt-0qa": _2,
  12041. "bievát": _2,
  12042. "bomlo": _2,
  12043. "xn--bmlo-gra": _2,
  12044. "bømlo": _2,
  12045. "batsfjord": _2,
  12046. "xn--btsfjord-9za": _2,
  12047. "båtsfjord": _2,
  12048. "bahcavuotna": _2,
  12049. "xn--bhcavuotna-s4a": _2,
  12050. "báhcavuotna": _2,
  12051. "dovre": _2,
  12052. "drammen": _2,
  12053. "drangedal": _2,
  12054. "dyroy": _2,
  12055. "xn--dyry-ira": _2,
  12056. "dyrøy": _2,
  12057. "donna": _2,
  12058. "xn--dnna-gra": _2,
  12059. "dønna": _2,
  12060. "eid": _2,
  12061. "eidfjord": _2,
  12062. "eidsberg": _2,
  12063. "eidskog": _2,
  12064. "eidsvoll": _2,
  12065. "eigersund": _2,
  12066. "elverum": _2,
  12067. "enebakk": _2,
  12068. "engerdal": _2,
  12069. "etne": _2,
  12070. "etnedal": _2,
  12071. "evenes": _2,
  12072. "evenassi": _2,
  12073. "xn--eveni-0qa01ga": _2,
  12074. "evenášši": _2,
  12075. "evje-og-hornnes": _2,
  12076. "farsund": _2,
  12077. "fauske": _2,
  12078. "fuossko": _2,
  12079. "fuoisku": _2,
  12080. "fedje": _2,
  12081. "fet": _2,
  12082. "finnoy": _2,
  12083. "xn--finny-yua": _2,
  12084. "finnøy": _2,
  12085. "fitjar": _2,
  12086. "fjaler": _2,
  12087. "fjell": _2,
  12088. "flakstad": _2,
  12089. "flatanger": _2,
  12090. "flekkefjord": _2,
  12091. "flesberg": _2,
  12092. "flora": _2,
  12093. "fla": _2,
  12094. "xn--fl-zia": _2,
  12095. "flå": _2,
  12096. "folldal": _2,
  12097. "forsand": _2,
  12098. "fosnes": _2,
  12099. "frei": _2,
  12100. "frogn": _2,
  12101. "froland": _2,
  12102. "frosta": _2,
  12103. "frana": _2,
  12104. "xn--frna-woa": _2,
  12105. "fræna": _2,
  12106. "froya": _2,
  12107. "xn--frya-hra": _2,
  12108. "frøya": _2,
  12109. "fusa": _2,
  12110. "fyresdal": _2,
  12111. "forde": _2,
  12112. "xn--frde-gra": _2,
  12113. "førde": _2,
  12114. "gamvik": _2,
  12115. "gangaviika": _2,
  12116. "xn--ggaviika-8ya47h": _2,
  12117. "gáŋgaviika": _2,
  12118. "gaular": _2,
  12119. "gausdal": _2,
  12120. "gildeskal": _2,
  12121. "xn--gildeskl-g0a": _2,
  12122. "gildeskål": _2,
  12123. "giske": _2,
  12124. "gjemnes": _2,
  12125. "gjerdrum": _2,
  12126. "gjerstad": _2,
  12127. "gjesdal": _2,
  12128. "gjovik": _2,
  12129. "xn--gjvik-wua": _2,
  12130. "gjøvik": _2,
  12131. "gloppen": _2,
  12132. "gol": _2,
  12133. "gran": _2,
  12134. "grane": _2,
  12135. "granvin": _2,
  12136. "gratangen": _2,
  12137. "grimstad": _2,
  12138. "grong": _2,
  12139. "kraanghke": _2,
  12140. "xn--kranghke-b0a": _2,
  12141. "kråanghke": _2,
  12142. "grue": _2,
  12143. "gulen": _2,
  12144. "hadsel": _2,
  12145. "halden": _2,
  12146. "halsa": _2,
  12147. "hamar": _2,
  12148. "hamaroy": _2,
  12149. "habmer": _2,
  12150. "xn--hbmer-xqa": _2,
  12151. "hábmer": _2,
  12152. "hapmir": _2,
  12153. "xn--hpmir-xqa": _2,
  12154. "hápmir": _2,
  12155. "hammerfest": _2,
  12156. "hammarfeasta": _2,
  12157. "xn--hmmrfeasta-s4ac": _2,
  12158. "hámmárfeasta": _2,
  12159. "haram": _2,
  12160. "hareid": _2,
  12161. "harstad": _2,
  12162. "hasvik": _2,
  12163. "aknoluokta": _2,
  12164. "xn--koluokta-7ya57h": _2,
  12165. "ákŋoluokta": _2,
  12166. "hattfjelldal": _2,
  12167. "aarborte": _2,
  12168. "haugesund": _2,
  12169. "hemne": _2,
  12170. "hemnes": _2,
  12171. "hemsedal": _2,
  12172. "more-og-romsdal": [0, {
  12173. "heroy": _2,
  12174. "sande": _2
  12175. }],
  12176. "xn--mre-og-romsdal-qqb": [0, {
  12177. "xn--hery-ira": _2,
  12178. "sande": _2
  12179. }],
  12180. "møre-og-romsdal": [0, {
  12181. "herøy": _2,
  12182. "sande": _2
  12183. }],
  12184. "hitra": _2,
  12185. "hjartdal": _2,
  12186. "hjelmeland": _2,
  12187. "hobol": _2,
  12188. "xn--hobl-ira": _2,
  12189. "hobøl": _2,
  12190. "hof": _2,
  12191. "hol": _2,
  12192. "hole": _2,
  12193. "holmestrand": _2,
  12194. "holtalen": _2,
  12195. "xn--holtlen-hxa": _2,
  12196. "holtålen": _2,
  12197. "hornindal": _2,
  12198. "horten": _2,
  12199. "hurdal": _2,
  12200. "hurum": _2,
  12201. "hvaler": _2,
  12202. "hyllestad": _2,
  12203. "hagebostad": _2,
  12204. "xn--hgebostad-g3a": _2,
  12205. "hægebostad": _2,
  12206. "hoyanger": _2,
  12207. "xn--hyanger-q1a": _2,
  12208. "høyanger": _2,
  12209. "hoylandet": _2,
  12210. "xn--hylandet-54a": _2,
  12211. "høylandet": _2,
  12212. "ha": _2,
  12213. "xn--h-2fa": _2,
  12214. "hå": _2,
  12215. "ibestad": _2,
  12216. "inderoy": _2,
  12217. "xn--indery-fya": _2,
  12218. "inderøy": _2,
  12219. "iveland": _2,
  12220. "jevnaker": _2,
  12221. "jondal": _2,
  12222. "jolster": _2,
  12223. "xn--jlster-bya": _2,
  12224. "jølster": _2,
  12225. "karasjok": _2,
  12226. "karasjohka": _2,
  12227. "xn--krjohka-hwab49j": _2,
  12228. "kárášjohka": _2,
  12229. "karlsoy": _2,
  12230. "galsa": _2,
  12231. "xn--gls-elac": _2,
  12232. "gálsá": _2,
  12233. "karmoy": _2,
  12234. "xn--karmy-yua": _2,
  12235. "karmøy": _2,
  12236. "kautokeino": _2,
  12237. "guovdageaidnu": _2,
  12238. "klepp": _2,
  12239. "klabu": _2,
  12240. "xn--klbu-woa": _2,
  12241. "klæbu": _2,
  12242. "kongsberg": _2,
  12243. "kongsvinger": _2,
  12244. "kragero": _2,
  12245. "xn--krager-gya": _2,
  12246. "kragerø": _2,
  12247. "kristiansand": _2,
  12248. "kristiansund": _2,
  12249. "krodsherad": _2,
  12250. "xn--krdsherad-m8a": _2,
  12251. "krødsherad": _2,
  12252. "kvalsund": _2,
  12253. "rahkkeravju": _2,
  12254. "xn--rhkkervju-01af": _2,
  12255. "ráhkkerávju": _2,
  12256. "kvam": _2,
  12257. "kvinesdal": _2,
  12258. "kvinnherad": _2,
  12259. "kviteseid": _2,
  12260. "kvitsoy": _2,
  12261. "xn--kvitsy-fya": _2,
  12262. "kvitsøy": _2,
  12263. "kvafjord": _2,
  12264. "xn--kvfjord-nxa": _2,
  12265. "kvæfjord": _2,
  12266. "giehtavuoatna": _2,
  12267. "kvanangen": _2,
  12268. "xn--kvnangen-k0a": _2,
  12269. "kvænangen": _2,
  12270. "navuotna": _2,
  12271. "xn--nvuotna-hwa": _2,
  12272. "návuotna": _2,
  12273. "kafjord": _2,
  12274. "xn--kfjord-iua": _2,
  12275. "kåfjord": _2,
  12276. "gaivuotna": _2,
  12277. "xn--givuotna-8ya": _2,
  12278. "gáivuotna": _2,
  12279. "larvik": _2,
  12280. "lavangen": _2,
  12281. "lavagis": _2,
  12282. "loabat": _2,
  12283. "xn--loabt-0qa": _2,
  12284. "loabát": _2,
  12285. "lebesby": _2,
  12286. "davvesiida": _2,
  12287. "leikanger": _2,
  12288. "leirfjord": _2,
  12289. "leka": _2,
  12290. "leksvik": _2,
  12291. "lenvik": _2,
  12292. "leangaviika": _2,
  12293. "xn--leagaviika-52b": _2,
  12294. "leaŋgaviika": _2,
  12295. "lesja": _2,
  12296. "levanger": _2,
  12297. "lier": _2,
  12298. "lierne": _2,
  12299. "lillehammer": _2,
  12300. "lillesand": _2,
  12301. "lindesnes": _2,
  12302. "lindas": _2,
  12303. "xn--linds-pra": _2,
  12304. "lindås": _2,
  12305. "lom": _2,
  12306. "loppa": _2,
  12307. "lahppi": _2,
  12308. "xn--lhppi-xqa": _2,
  12309. "láhppi": _2,
  12310. "lund": _2,
  12311. "lunner": _2,
  12312. "luroy": _2,
  12313. "xn--lury-ira": _2,
  12314. "lurøy": _2,
  12315. "luster": _2,
  12316. "lyngdal": _2,
  12317. "lyngen": _2,
  12318. "ivgu": _2,
  12319. "lardal": _2,
  12320. "lerdal": _2,
  12321. "xn--lrdal-sra": _2,
  12322. "lærdal": _2,
  12323. "lodingen": _2,
  12324. "xn--ldingen-q1a": _2,
  12325. "lødingen": _2,
  12326. "lorenskog": _2,
  12327. "xn--lrenskog-54a": _2,
  12328. "lørenskog": _2,
  12329. "loten": _2,
  12330. "xn--lten-gra": _2,
  12331. "løten": _2,
  12332. "malvik": _2,
  12333. "masoy": _2,
  12334. "xn--msy-ula0h": _2,
  12335. "måsøy": _2,
  12336. "muosat": _2,
  12337. "xn--muost-0qa": _2,
  12338. "muosát": _2,
  12339. "mandal": _2,
  12340. "marker": _2,
  12341. "marnardal": _2,
  12342. "masfjorden": _2,
  12343. "meland": _2,
  12344. "meldal": _2,
  12345. "melhus": _2,
  12346. "meloy": _2,
  12347. "xn--mely-ira": _2,
  12348. "meløy": _2,
  12349. "meraker": _2,
  12350. "xn--merker-kua": _2,
  12351. "meråker": _2,
  12352. "moareke": _2,
  12353. "xn--moreke-jua": _2,
  12354. "moåreke": _2,
  12355. "midsund": _2,
  12356. "midtre-gauldal": _2,
  12357. "modalen": _2,
  12358. "modum": _2,
  12359. "molde": _2,
  12360. "moskenes": _2,
  12361. "moss": _2,
  12362. "mosvik": _2,
  12363. "malselv": _2,
  12364. "xn--mlselv-iua": _2,
  12365. "målselv": _2,
  12366. "malatvuopmi": _2,
  12367. "xn--mlatvuopmi-s4a": _2,
  12368. "málatvuopmi": _2,
  12369. "namdalseid": _2,
  12370. "aejrie": _2,
  12371. "namsos": _2,
  12372. "namsskogan": _2,
  12373. "naamesjevuemie": _2,
  12374. "xn--nmesjevuemie-tcba": _2,
  12375. "nååmesjevuemie": _2,
  12376. "laakesvuemie": _2,
  12377. "nannestad": _2,
  12378. "narvik": _2,
  12379. "narviika": _2,
  12380. "naustdal": _2,
  12381. "nedre-eiker": _2,
  12382. "akershus": _54,
  12383. "buskerud": _54,
  12384. "nesna": _2,
  12385. "nesodden": _2,
  12386. "nesseby": _2,
  12387. "unjarga": _2,
  12388. "xn--unjrga-rta": _2,
  12389. "unjárga": _2,
  12390. "nesset": _2,
  12391. "nissedal": _2,
  12392. "nittedal": _2,
  12393. "nord-aurdal": _2,
  12394. "nord-fron": _2,
  12395. "nord-odal": _2,
  12396. "norddal": _2,
  12397. "nordkapp": _2,
  12398. "davvenjarga": _2,
  12399. "xn--davvenjrga-y4a": _2,
  12400. "davvenjárga": _2,
  12401. "nordre-land": _2,
  12402. "nordreisa": _2,
  12403. "raisa": _2,
  12404. "xn--risa-5na": _2,
  12405. "ráisa": _2,
  12406. "nore-og-uvdal": _2,
  12407. "notodden": _2,
  12408. "naroy": _2,
  12409. "xn--nry-yla5g": _2,
  12410. "nærøy": _2,
  12411. "notteroy": _2,
  12412. "xn--nttery-byae": _2,
  12413. "nøtterøy": _2,
  12414. "odda": _2,
  12415. "oksnes": _2,
  12416. "xn--ksnes-uua": _2,
  12417. "øksnes": _2,
  12418. "oppdal": _2,
  12419. "oppegard": _2,
  12420. "xn--oppegrd-ixa": _2,
  12421. "oppegård": _2,
  12422. "orkdal": _2,
  12423. "orland": _2,
  12424. "xn--rland-uua": _2,
  12425. "ørland": _2,
  12426. "orskog": _2,
  12427. "xn--rskog-uua": _2,
  12428. "ørskog": _2,
  12429. "orsta": _2,
  12430. "xn--rsta-fra": _2,
  12431. "ørsta": _2,
  12432. "hedmark": [0, {
  12433. "os": _2,
  12434. "valer": _2,
  12435. "xn--vler-qoa": _2,
  12436. "våler": _2
  12437. }],
  12438. "hordaland": [0, {
  12439. "os": _2
  12440. }],
  12441. "osen": _2,
  12442. "osteroy": _2,
  12443. "xn--ostery-fya": _2,
  12444. "osterøy": _2,
  12445. "ostre-toten": _2,
  12446. "xn--stre-toten-zcb": _2,
  12447. "østre-toten": _2,
  12448. "overhalla": _2,
  12449. "ovre-eiker": _2,
  12450. "xn--vre-eiker-k8a": _2,
  12451. "øvre-eiker": _2,
  12452. "oyer": _2,
  12453. "xn--yer-zna": _2,
  12454. "øyer": _2,
  12455. "oygarden": _2,
  12456. "xn--ygarden-p1a": _2,
  12457. "øygarden": _2,
  12458. "oystre-slidre": _2,
  12459. "xn--ystre-slidre-ujb": _2,
  12460. "øystre-slidre": _2,
  12461. "porsanger": _2,
  12462. "porsangu": _2,
  12463. "xn--porsgu-sta26f": _2,
  12464. "porsáŋgu": _2,
  12465. "porsgrunn": _2,
  12466. "radoy": _2,
  12467. "xn--rady-ira": _2,
  12468. "radøy": _2,
  12469. "rakkestad": _2,
  12470. "rana": _2,
  12471. "ruovat": _2,
  12472. "randaberg": _2,
  12473. "rauma": _2,
  12474. "rendalen": _2,
  12475. "rennebu": _2,
  12476. "rennesoy": _2,
  12477. "xn--rennesy-v1a": _2,
  12478. "rennesøy": _2,
  12479. "rindal": _2,
  12480. "ringebu": _2,
  12481. "ringerike": _2,
  12482. "ringsaker": _2,
  12483. "rissa": _2,
  12484. "risor": _2,
  12485. "xn--risr-ira": _2,
  12486. "risør": _2,
  12487. "roan": _2,
  12488. "rollag": _2,
  12489. "rygge": _2,
  12490. "ralingen": _2,
  12491. "xn--rlingen-mxa": _2,
  12492. "rælingen": _2,
  12493. "rodoy": _2,
  12494. "xn--rdy-0nab": _2,
  12495. "rødøy": _2,
  12496. "romskog": _2,
  12497. "xn--rmskog-bya": _2,
  12498. "rømskog": _2,
  12499. "roros": _2,
  12500. "xn--rros-gra": _2,
  12501. "røros": _2,
  12502. "rost": _2,
  12503. "xn--rst-0na": _2,
  12504. "røst": _2,
  12505. "royken": _2,
  12506. "xn--ryken-vua": _2,
  12507. "røyken": _2,
  12508. "royrvik": _2,
  12509. "xn--ryrvik-bya": _2,
  12510. "røyrvik": _2,
  12511. "rade": _2,
  12512. "xn--rde-ula": _2,
  12513. "råde": _2,
  12514. "salangen": _2,
  12515. "siellak": _2,
  12516. "saltdal": _2,
  12517. "salat": _2,
  12518. "xn--slt-elab": _2,
  12519. "sálát": _2,
  12520. "xn--slat-5na": _2,
  12521. "sálat": _2,
  12522. "samnanger": _2,
  12523. "vestfold": [0, {
  12524. "sande": _2
  12525. }],
  12526. "sandefjord": _2,
  12527. "sandnes": _2,
  12528. "sandoy": _2,
  12529. "xn--sandy-yua": _2,
  12530. "sandøy": _2,
  12531. "sarpsborg": _2,
  12532. "sauda": _2,
  12533. "sauherad": _2,
  12534. "sel": _2,
  12535. "selbu": _2,
  12536. "selje": _2,
  12537. "seljord": _2,
  12538. "sigdal": _2,
  12539. "siljan": _2,
  12540. "sirdal": _2,
  12541. "skaun": _2,
  12542. "skedsmo": _2,
  12543. "ski": _2,
  12544. "skien": _2,
  12545. "skiptvet": _2,
  12546. "skjervoy": _2,
  12547. "xn--skjervy-v1a": _2,
  12548. "skjervøy": _2,
  12549. "skierva": _2,
  12550. "xn--skierv-uta": _2,
  12551. "skiervá": _2,
  12552. "skjak": _2,
  12553. "xn--skjk-soa": _2,
  12554. "skjåk": _2,
  12555. "skodje": _2,
  12556. "skanland": _2,
  12557. "xn--sknland-fxa": _2,
  12558. "skånland": _2,
  12559. "skanit": _2,
  12560. "xn--sknit-yqa": _2,
  12561. "skánit": _2,
  12562. "smola": _2,
  12563. "xn--smla-hra": _2,
  12564. "smøla": _2,
  12565. "snillfjord": _2,
  12566. "snasa": _2,
  12567. "xn--snsa-roa": _2,
  12568. "snåsa": _2,
  12569. "snoasa": _2,
  12570. "snaase": _2,
  12571. "xn--snase-nra": _2,
  12572. "snåase": _2,
  12573. "sogndal": _2,
  12574. "sokndal": _2,
  12575. "sola": _2,
  12576. "solund": _2,
  12577. "songdalen": _2,
  12578. "sortland": _2,
  12579. "spydeberg": _2,
  12580. "stange": _2,
  12581. "stavanger": _2,
  12582. "steigen": _2,
  12583. "steinkjer": _2,
  12584. "stjordal": _2,
  12585. "xn--stjrdal-s1a": _2,
  12586. "stjørdal": _2,
  12587. "stokke": _2,
  12588. "stor-elvdal": _2,
  12589. "stord": _2,
  12590. "stordal": _2,
  12591. "storfjord": _2,
  12592. "omasvuotna": _2,
  12593. "strand": _2,
  12594. "stranda": _2,
  12595. "stryn": _2,
  12596. "sula": _2,
  12597. "suldal": _2,
  12598. "sund": _2,
  12599. "sunndal": _2,
  12600. "surnadal": _2,
  12601. "sveio": _2,
  12602. "svelvik": _2,
  12603. "sykkylven": _2,
  12604. "sogne": _2,
  12605. "xn--sgne-gra": _2,
  12606. "søgne": _2,
  12607. "somna": _2,
  12608. "xn--smna-gra": _2,
  12609. "sømna": _2,
  12610. "sondre-land": _2,
  12611. "xn--sndre-land-0cb": _2,
  12612. "søndre-land": _2,
  12613. "sor-aurdal": _2,
  12614. "xn--sr-aurdal-l8a": _2,
  12615. "sør-aurdal": _2,
  12616. "sor-fron": _2,
  12617. "xn--sr-fron-q1a": _2,
  12618. "sør-fron": _2,
  12619. "sor-odal": _2,
  12620. "xn--sr-odal-q1a": _2,
  12621. "sør-odal": _2,
  12622. "sor-varanger": _2,
  12623. "xn--sr-varanger-ggb": _2,
  12624. "sør-varanger": _2,
  12625. "matta-varjjat": _2,
  12626. "xn--mtta-vrjjat-k7af": _2,
  12627. "mátta-várjjat": _2,
  12628. "sorfold": _2,
  12629. "xn--srfold-bya": _2,
  12630. "sørfold": _2,
  12631. "sorreisa": _2,
  12632. "xn--srreisa-q1a": _2,
  12633. "sørreisa": _2,
  12634. "sorum": _2,
  12635. "xn--srum-gra": _2,
  12636. "sørum": _2,
  12637. "tana": _2,
  12638. "deatnu": _2,
  12639. "time": _2,
  12640. "tingvoll": _2,
  12641. "tinn": _2,
  12642. "tjeldsund": _2,
  12643. "dielddanuorri": _2,
  12644. "tjome": _2,
  12645. "xn--tjme-hra": _2,
  12646. "tjøme": _2,
  12647. "tokke": _2,
  12648. "tolga": _2,
  12649. "torsken": _2,
  12650. "tranoy": _2,
  12651. "xn--trany-yua": _2,
  12652. "tranøy": _2,
  12653. "tromso": _2,
  12654. "xn--troms-zua": _2,
  12655. "tromsø": _2,
  12656. "tromsa": _2,
  12657. "romsa": _2,
  12658. "trondheim": _2,
  12659. "troandin": _2,
  12660. "trysil": _2,
  12661. "trana": _2,
  12662. "xn--trna-woa": _2,
  12663. "træna": _2,
  12664. "trogstad": _2,
  12665. "xn--trgstad-r1a": _2,
  12666. "trøgstad": _2,
  12667. "tvedestrand": _2,
  12668. "tydal": _2,
  12669. "tynset": _2,
  12670. "tysfjord": _2,
  12671. "divtasvuodna": _2,
  12672. "divttasvuotna": _2,
  12673. "tysnes": _2,
  12674. "tysvar": _2,
  12675. "xn--tysvr-vra": _2,
  12676. "tysvær": _2,
  12677. "tonsberg": _2,
  12678. "xn--tnsberg-q1a": _2,
  12679. "tønsberg": _2,
  12680. "ullensaker": _2,
  12681. "ullensvang": _2,
  12682. "ulvik": _2,
  12683. "utsira": _2,
  12684. "vadso": _2,
  12685. "xn--vads-jra": _2,
  12686. "vadsø": _2,
  12687. "cahcesuolo": _2,
  12688. "xn--hcesuolo-7ya35b": _2,
  12689. "čáhcesuolo": _2,
  12690. "vaksdal": _2,
  12691. "valle": _2,
  12692. "vang": _2,
  12693. "vanylven": _2,
  12694. "vardo": _2,
  12695. "xn--vard-jra": _2,
  12696. "vardø": _2,
  12697. "varggat": _2,
  12698. "xn--vrggt-xqad": _2,
  12699. "várggát": _2,
  12700. "vefsn": _2,
  12701. "vaapste": _2,
  12702. "vega": _2,
  12703. "vegarshei": _2,
  12704. "xn--vegrshei-c0a": _2,
  12705. "vegårshei": _2,
  12706. "vennesla": _2,
  12707. "verdal": _2,
  12708. "verran": _2,
  12709. "vestby": _2,
  12710. "vestnes": _2,
  12711. "vestre-slidre": _2,
  12712. "vestre-toten": _2,
  12713. "vestvagoy": _2,
  12714. "xn--vestvgy-ixa6o": _2,
  12715. "vestvågøy": _2,
  12716. "vevelstad": _2,
  12717. "vik": _2,
  12718. "vikna": _2,
  12719. "vindafjord": _2,
  12720. "volda": _2,
  12721. "voss": _2,
  12722. "varoy": _2,
  12723. "xn--vry-yla5g": _2,
  12724. "værøy": _2,
  12725. "vagan": _2,
  12726. "xn--vgan-qoa": _2,
  12727. "vågan": _2,
  12728. "voagat": _2,
  12729. "vagsoy": _2,
  12730. "xn--vgsy-qoa0j": _2,
  12731. "vågsøy": _2,
  12732. "vaga": _2,
  12733. "xn--vg-yiab": _2,
  12734. "vågå": _2,
  12735. "ostfold": [0, {
  12736. "valer": _2
  12737. }],
  12738. "xn--stfold-9xa": [0, {
  12739. "xn--vler-qoa": _2
  12740. }],
  12741. "østfold": [0, {
  12742. "våler": _2
  12743. }],
  12744. "co": _3,
  12745. "blogspot": _3,
  12746. "123hjemmeside": _3,
  12747. "myspreadshop": _3
  12748. }],
  12749. "np": _12,
  12750. "nr": _48,
  12751. "nu": [1, {
  12752. "merseine": _3,
  12753. "mine": _3,
  12754. "shacknet": _3,
  12755. "enterprisecloud": _3
  12756. }],
  12757. "nz": [1, {
  12758. "ac": _2,
  12759. "co": _6,
  12760. "cri": _2,
  12761. "geek": _2,
  12762. "gen": _2,
  12763. "govt": _2,
  12764. "health": _2,
  12765. "iwi": _2,
  12766. "kiwi": _2,
  12767. "maori": _2,
  12768. "mil": _2,
  12769. "xn--mori-qsa": _2,
  12770. "māori": _2,
  12771. "net": _2,
  12772. "org": _2,
  12773. "parliament": _2,
  12774. "school": _2
  12775. }],
  12776. "om": [1, {
  12777. "co": _2,
  12778. "com": _2,
  12779. "edu": _2,
  12780. "gov": _2,
  12781. "med": _2,
  12782. "museum": _2,
  12783. "net": _2,
  12784. "org": _2,
  12785. "pro": _2
  12786. }],
  12787. "onion": _2,
  12788. "org": [1, {
  12789. "altervista": _3,
  12790. "amune": [0, {
  12791. "tele": _3
  12792. }],
  12793. "pimienta": _3,
  12794. "poivron": _3,
  12795. "potager": _3,
  12796. "sweetpepper": _3,
  12797. "ae": _3,
  12798. "us": _3,
  12799. "certmgr": _3,
  12800. "cdn77": [0, {
  12801. "c": _3,
  12802. "rsc": _3
  12803. }],
  12804. "cdn77-secure": [0, {
  12805. "origin": [0, {
  12806. "ssl": _3
  12807. }]
  12808. }],
  12809. "cloudns": _3,
  12810. "duckdns": _3,
  12811. "tunk": _3,
  12812. "dyndns": [2, {
  12813. "go": _3,
  12814. "home": _3
  12815. }],
  12816. "blogdns": _3,
  12817. "blogsite": _3,
  12818. "boldlygoingnowhere": _3,
  12819. "dnsalias": _3,
  12820. "dnsdojo": _3,
  12821. "doesntexist": _3,
  12822. "dontexist": _3,
  12823. "doomdns": _3,
  12824. "dvrdns": _3,
  12825. "dynalias": _3,
  12826. "endofinternet": _3,
  12827. "endoftheinternet": _3,
  12828. "from-me": _3,
  12829. "game-host": _3,
  12830. "gotdns": _3,
  12831. "hobby-site": _3,
  12832. "homedns": _3,
  12833. "homeftp": _3,
  12834. "homelinux": _3,
  12835. "homeunix": _3,
  12836. "is-a-bruinsfan": _3,
  12837. "is-a-candidate": _3,
  12838. "is-a-celticsfan": _3,
  12839. "is-a-chef": _3,
  12840. "is-a-geek": _3,
  12841. "is-a-knight": _3,
  12842. "is-a-linux-user": _3,
  12843. "is-a-patsfan": _3,
  12844. "is-a-soxfan": _3,
  12845. "is-found": _3,
  12846. "is-lost": _3,
  12847. "is-saved": _3,
  12848. "is-very-bad": _3,
  12849. "is-very-evil": _3,
  12850. "is-very-good": _3,
  12851. "is-very-nice": _3,
  12852. "is-very-sweet": _3,
  12853. "isa-geek": _3,
  12854. "kicks-ass": _3,
  12855. "misconfused": _3,
  12856. "podzone": _3,
  12857. "readmyblog": _3,
  12858. "selfip": _3,
  12859. "sellsyourhome": _3,
  12860. "servebbs": _3,
  12861. "serveftp": _3,
  12862. "servegame": _3,
  12863. "stuff-4-sale": _3,
  12864. "webhop": _3,
  12865. "ddnss": _3,
  12866. "accesscam": _3,
  12867. "camdvr": _3,
  12868. "freeddns": _3,
  12869. "mywire": _3,
  12870. "webredirect": _3,
  12871. "eu": [2, {
  12872. "al": _3,
  12873. "asso": _3,
  12874. "at": _3,
  12875. "au": _3,
  12876. "be": _3,
  12877. "bg": _3,
  12878. "ca": _3,
  12879. "cd": _3,
  12880. "ch": _3,
  12881. "cn": _3,
  12882. "cy": _3,
  12883. "cz": _3,
  12884. "de": _3,
  12885. "dk": _3,
  12886. "edu": _3,
  12887. "ee": _3,
  12888. "es": _3,
  12889. "fi": _3,
  12890. "fr": _3,
  12891. "gr": _3,
  12892. "hr": _3,
  12893. "hu": _3,
  12894. "ie": _3,
  12895. "il": _3,
  12896. "in": _3,
  12897. "int": _3,
  12898. "is": _3,
  12899. "it": _3,
  12900. "jp": _3,
  12901. "kr": _3,
  12902. "lt": _3,
  12903. "lu": _3,
  12904. "lv": _3,
  12905. "mc": _3,
  12906. "me": _3,
  12907. "mk": _3,
  12908. "mt": _3,
  12909. "my": _3,
  12910. "net": _3,
  12911. "ng": _3,
  12912. "nl": _3,
  12913. "no": _3,
  12914. "nz": _3,
  12915. "paris": _3,
  12916. "pl": _3,
  12917. "pt": _3,
  12918. "q-a": _3,
  12919. "ro": _3,
  12920. "ru": _3,
  12921. "se": _3,
  12922. "si": _3,
  12923. "sk": _3,
  12924. "tr": _3,
  12925. "uk": _3,
  12926. "us": _3
  12927. }],
  12928. "twmail": _3,
  12929. "fedorainfracloud": _3,
  12930. "fedorapeople": _3,
  12931. "fedoraproject": [0, {
  12932. "cloud": _3,
  12933. "os": _35,
  12934. "stg": [0, {
  12935. "os": _35
  12936. }]
  12937. }],
  12938. "freedesktop": _3,
  12939. "hepforge": _3,
  12940. "in-dsl": _3,
  12941. "in-vpn": _3,
  12942. "js": _3,
  12943. "barsy": _3,
  12944. "mayfirst": _3,
  12945. "mozilla-iot": _3,
  12946. "bmoattachments": _3,
  12947. "dynserv": _3,
  12948. "now-dns": _3,
  12949. "cable-modem": _3,
  12950. "collegefan": _3,
  12951. "couchpotatofries": _3,
  12952. "mlbfan": _3,
  12953. "mysecuritycamera": _3,
  12954. "nflfan": _3,
  12955. "read-books": _3,
  12956. "ufcfan": _3,
  12957. "hopto": _3,
  12958. "myftp": _3,
  12959. "no-ip": _3,
  12960. "zapto": _3,
  12961. "httpbin": _3,
  12962. "pubtls": _3,
  12963. "jpn": _3,
  12964. "my-firewall": _3,
  12965. "myfirewall": _3,
  12966. "spdns": _3,
  12967. "small-web": _3,
  12968. "dsmynas": _3,
  12969. "familyds": _3,
  12970. "teckids": _47,
  12971. "tuxfamily": _3,
  12972. "diskstation": _3,
  12973. "hk": _3,
  12974. "wmflabs": _3,
  12975. "toolforge": _3,
  12976. "wmcloud": _3,
  12977. "za": _3
  12978. }],
  12979. "pa": [1, {
  12980. "ac": _2,
  12981. "gob": _2,
  12982. "com": _2,
  12983. "org": _2,
  12984. "sld": _2,
  12985. "edu": _2,
  12986. "net": _2,
  12987. "ing": _2,
  12988. "abo": _2,
  12989. "med": _2,
  12990. "nom": _2
  12991. }],
  12992. "pe": [1, {
  12993. "edu": _2,
  12994. "gob": _2,
  12995. "nom": _2,
  12996. "mil": _2,
  12997. "org": _2,
  12998. "com": _2,
  12999. "net": _2,
  13000. "blogspot": _3
  13001. }],
  13002. "pf": [1, {
  13003. "com": _2,
  13004. "org": _2,
  13005. "edu": _2
  13006. }],
  13007. "pg": _12,
  13008. "ph": [1, {
  13009. "com": _2,
  13010. "net": _2,
  13011. "org": _2,
  13012. "gov": _2,
  13013. "edu": _2,
  13014. "ngo": _2,
  13015. "mil": _2,
  13016. "i": _2
  13017. }],
  13018. "pk": [1, {
  13019. "com": _2,
  13020. "net": _2,
  13021. "edu": _2,
  13022. "org": _2,
  13023. "fam": _2,
  13024. "biz": _2,
  13025. "web": _2,
  13026. "gov": _2,
  13027. "gob": _2,
  13028. "gok": _2,
  13029. "gon": _2,
  13030. "gop": _2,
  13031. "gos": _2,
  13032. "info": _2
  13033. }],
  13034. "pl": [1, {
  13035. "com": _2,
  13036. "net": _2,
  13037. "org": _2,
  13038. "aid": _2,
  13039. "agro": _2,
  13040. "atm": _2,
  13041. "auto": _2,
  13042. "biz": _2,
  13043. "edu": _2,
  13044. "gmina": _2,
  13045. "gsm": _2,
  13046. "info": _2,
  13047. "mail": _2,
  13048. "miasta": _2,
  13049. "media": _2,
  13050. "mil": _2,
  13051. "nieruchomosci": _2,
  13052. "nom": _2,
  13053. "pc": _2,
  13054. "powiat": _2,
  13055. "priv": _2,
  13056. "realestate": _2,
  13057. "rel": _2,
  13058. "sex": _2,
  13059. "shop": _2,
  13060. "sklep": _2,
  13061. "sos": _2,
  13062. "szkola": _2,
  13063. "targi": _2,
  13064. "tm": _2,
  13065. "tourism": _2,
  13066. "travel": _2,
  13067. "turystyka": _2,
  13068. "gov": [1, {
  13069. "ap": _2,
  13070. "griw": _2,
  13071. "ic": _2,
  13072. "is": _2,
  13073. "kmpsp": _2,
  13074. "konsulat": _2,
  13075. "kppsp": _2,
  13076. "kwp": _2,
  13077. "kwpsp": _2,
  13078. "mup": _2,
  13079. "mw": _2,
  13080. "oia": _2,
  13081. "oirm": _2,
  13082. "oke": _2,
  13083. "oow": _2,
  13084. "oschr": _2,
  13085. "oum": _2,
  13086. "pa": _2,
  13087. "pinb": _2,
  13088. "piw": _2,
  13089. "po": _2,
  13090. "pr": _2,
  13091. "psp": _2,
  13092. "psse": _2,
  13093. "pup": _2,
  13094. "rzgw": _2,
  13095. "sa": _2,
  13096. "sdn": _2,
  13097. "sko": _2,
  13098. "so": _2,
  13099. "sr": _2,
  13100. "starostwo": _2,
  13101. "ug": _2,
  13102. "ugim": _2,
  13103. "um": _2,
  13104. "umig": _2,
  13105. "upow": _2,
  13106. "uppo": _2,
  13107. "us": _2,
  13108. "uw": _2,
  13109. "uzs": _2,
  13110. "wif": _2,
  13111. "wiih": _2,
  13112. "winb": _2,
  13113. "wios": _2,
  13114. "witd": _2,
  13115. "wiw": _2,
  13116. "wkz": _2,
  13117. "wsa": _2,
  13118. "wskr": _2,
  13119. "wsse": _2,
  13120. "wuoz": _2,
  13121. "wzmiuw": _2,
  13122. "zp": _2,
  13123. "zpisdn": _2
  13124. }],
  13125. "augustow": _2,
  13126. "babia-gora": _2,
  13127. "bedzin": _2,
  13128. "beskidy": _2,
  13129. "bialowieza": _2,
  13130. "bialystok": _2,
  13131. "bielawa": _2,
  13132. "bieszczady": _2,
  13133. "boleslawiec": _2,
  13134. "bydgoszcz": _2,
  13135. "bytom": _2,
  13136. "cieszyn": _2,
  13137. "czeladz": _2,
  13138. "czest": _2,
  13139. "dlugoleka": _2,
  13140. "elblag": _2,
  13141. "elk": _2,
  13142. "glogow": _2,
  13143. "gniezno": _2,
  13144. "gorlice": _2,
  13145. "grajewo": _2,
  13146. "ilawa": _2,
  13147. "jaworzno": _2,
  13148. "jelenia-gora": _2,
  13149. "jgora": _2,
  13150. "kalisz": _2,
  13151. "kazimierz-dolny": _2,
  13152. "karpacz": _2,
  13153. "kartuzy": _2,
  13154. "kaszuby": _2,
  13155. "katowice": _2,
  13156. "kepno": _2,
  13157. "ketrzyn": _2,
  13158. "klodzko": _2,
  13159. "kobierzyce": _2,
  13160. "kolobrzeg": _2,
  13161. "konin": _2,
  13162. "konskowola": _2,
  13163. "kutno": _2,
  13164. "lapy": _2,
  13165. "lebork": _2,
  13166. "legnica": _2,
  13167. "lezajsk": _2,
  13168. "limanowa": _2,
  13169. "lomza": _2,
  13170. "lowicz": _2,
  13171. "lubin": _2,
  13172. "lukow": _2,
  13173. "malbork": _2,
  13174. "malopolska": _2,
  13175. "mazowsze": _2,
  13176. "mazury": _2,
  13177. "mielec": _2,
  13178. "mielno": _2,
  13179. "mragowo": _2,
  13180. "naklo": _2,
  13181. "nowaruda": _2,
  13182. "nysa": _2,
  13183. "olawa": _2,
  13184. "olecko": _2,
  13185. "olkusz": _2,
  13186. "olsztyn": _2,
  13187. "opoczno": _2,
  13188. "opole": _2,
  13189. "ostroda": _2,
  13190. "ostroleka": _2,
  13191. "ostrowiec": _2,
  13192. "ostrowwlkp": _2,
  13193. "pila": _2,
  13194. "pisz": _2,
  13195. "podhale": _2,
  13196. "podlasie": _2,
  13197. "polkowice": _2,
  13198. "pomorze": _2,
  13199. "pomorskie": _2,
  13200. "prochowice": _2,
  13201. "pruszkow": _2,
  13202. "przeworsk": _2,
  13203. "pulawy": _2,
  13204. "radom": _2,
  13205. "rawa-maz": _2,
  13206. "rybnik": _2,
  13207. "rzeszow": _2,
  13208. "sanok": _2,
  13209. "sejny": _2,
  13210. "slask": _2,
  13211. "slupsk": _2,
  13212. "sosnowiec": _2,
  13213. "stalowa-wola": _2,
  13214. "skoczow": _2,
  13215. "starachowice": _2,
  13216. "stargard": _2,
  13217. "suwalki": _2,
  13218. "swidnica": _2,
  13219. "swiebodzin": _2,
  13220. "swinoujscie": _2,
  13221. "szczecin": _2,
  13222. "szczytno": _2,
  13223. "tarnobrzeg": _2,
  13224. "tgory": _2,
  13225. "turek": _2,
  13226. "tychy": _2,
  13227. "ustka": _2,
  13228. "walbrzych": _2,
  13229. "warmia": _2,
  13230. "warszawa": _2,
  13231. "waw": _2,
  13232. "wegrow": _2,
  13233. "wielun": _2,
  13234. "wlocl": _2,
  13235. "wloclawek": _2,
  13236. "wodzislaw": _2,
  13237. "wolomin": _2,
  13238. "wroclaw": _2,
  13239. "zachpomor": _2,
  13240. "zagan": _2,
  13241. "zarow": _2,
  13242. "zgora": _2,
  13243. "zgorzelec": _2,
  13244. "beep": _3,
  13245. "ecommerce-shop": _3,
  13246. "shoparena": _3,
  13247. "homesklep": _3,
  13248. "sdscloud": _3,
  13249. "unicloud": _3,
  13250. "krasnik": _3,
  13251. "leczna": _3,
  13252. "lubartow": _3,
  13253. "lublin": _3,
  13254. "poniatowa": _3,
  13255. "swidnik": _3,
  13256. "co": _3,
  13257. "torun": _3,
  13258. "simplesite": _3,
  13259. "art": _3,
  13260. "gliwice": _3,
  13261. "krakow": _3,
  13262. "poznan": _3,
  13263. "wroc": _3,
  13264. "zakopane": _3,
  13265. "myspreadshop": _3,
  13266. "gda": _3,
  13267. "gdansk": _3,
  13268. "gdynia": _3,
  13269. "med": _3,
  13270. "sopot": _3
  13271. }],
  13272. "pm": [1, {
  13273. "own": _3,
  13274. "name": _3
  13275. }],
  13276. "pn": [1, {
  13277. "gov": _2,
  13278. "co": _2,
  13279. "org": _2,
  13280. "edu": _2,
  13281. "net": _2
  13282. }],
  13283. "post": _2,
  13284. "pr": [1, {
  13285. "com": _2,
  13286. "net": _2,
  13287. "org": _2,
  13288. "gov": _2,
  13289. "edu": _2,
  13290. "isla": _2,
  13291. "pro": _2,
  13292. "biz": _2,
  13293. "info": _2,
  13294. "name": _2,
  13295. "est": _2,
  13296. "prof": _2,
  13297. "ac": _2
  13298. }],
  13299. "pro": [1, {
  13300. "aaa": _2,
  13301. "aca": _2,
  13302. "acct": _2,
  13303. "avocat": _2,
  13304. "bar": _2,
  13305. "cpa": _2,
  13306. "eng": _2,
  13307. "jur": _2,
  13308. "law": _2,
  13309. "med": _2,
  13310. "recht": _2,
  13311. "cloudns": _3,
  13312. "dnstrace": [0, {
  13313. "bci": _3
  13314. }],
  13315. "barsy": _3
  13316. }],
  13317. "ps": [1, {
  13318. "edu": _2,
  13319. "gov": _2,
  13320. "sec": _2,
  13321. "plo": _2,
  13322. "com": _2,
  13323. "org": _2,
  13324. "net": _2
  13325. }],
  13326. "pt": [1, {
  13327. "net": _2,
  13328. "gov": _2,
  13329. "org": _2,
  13330. "edu": _2,
  13331. "int": _2,
  13332. "publ": _2,
  13333. "com": _2,
  13334. "nome": _2,
  13335. "blogspot": _3,
  13336. "123paginaweb": _3
  13337. }],
  13338. "pw": [1, {
  13339. "co": _2,
  13340. "ne": _2,
  13341. "or": _2,
  13342. "ed": _2,
  13343. "go": _2,
  13344. "belau": _2,
  13345. "cloudns": _3,
  13346. "x443": _3
  13347. }],
  13348. "py": [1, {
  13349. "com": _2,
  13350. "coop": _2,
  13351. "edu": _2,
  13352. "gov": _2,
  13353. "mil": _2,
  13354. "net": _2,
  13355. "org": _2
  13356. }],
  13357. "qa": [1, {
  13358. "com": _2,
  13359. "edu": _2,
  13360. "gov": _2,
  13361. "mil": _2,
  13362. "name": _2,
  13363. "net": _2,
  13364. "org": _2,
  13365. "sch": _2,
  13366. "blogspot": _3
  13367. }],
  13368. "re": [1, {
  13369. "asso": _2,
  13370. "com": _2,
  13371. "nom": _2,
  13372. "blogspot": _3
  13373. }],
  13374. "ro": [1, {
  13375. "arts": _2,
  13376. "com": _2,
  13377. "firm": _2,
  13378. "info": _2,
  13379. "nom": _2,
  13380. "nt": _2,
  13381. "org": _2,
  13382. "rec": _2,
  13383. "store": _2,
  13384. "tm": _2,
  13385. "www": _2,
  13386. "co": _3,
  13387. "shop": _3,
  13388. "blogspot": _3,
  13389. "barsy": _3
  13390. }],
  13391. "rs": [1, {
  13392. "ac": _2,
  13393. "co": _2,
  13394. "edu": _2,
  13395. "gov": _2,
  13396. "in": _2,
  13397. "org": _2,
  13398. "brendly": [0, {
  13399. "shop": _3
  13400. }],
  13401. "blogspot": _3,
  13402. "ua": _3,
  13403. "ox": _3
  13404. }],
  13405. "ru": [1, {
  13406. "ac": _3,
  13407. "edu": _3,
  13408. "gov": _3,
  13409. "int": _3,
  13410. "mil": _3,
  13411. "test": _3,
  13412. "eurodir": _3,
  13413. "adygeya": _3,
  13414. "bashkiria": _3,
  13415. "bir": _3,
  13416. "cbg": _3,
  13417. "com": _3,
  13418. "dagestan": _3,
  13419. "grozny": _3,
  13420. "kalmykia": _3,
  13421. "kustanai": _3,
  13422. "marine": _3,
  13423. "mordovia": _3,
  13424. "msk": _3,
  13425. "mytis": _3,
  13426. "nalchik": _3,
  13427. "nov": _3,
  13428. "pyatigorsk": _3,
  13429. "spb": _3,
  13430. "vladikavkaz": _3,
  13431. "vladimir": _3,
  13432. "blogspot": _3,
  13433. "na4u": _3,
  13434. "mircloud": _3,
  13435. "regruhosting": _41,
  13436. "myjino": [2, {
  13437. "hosting": _5,
  13438. "landing": _5,
  13439. "spectrum": _5,
  13440. "vps": _5
  13441. }],
  13442. "cldmail": [0, {
  13443. "hb": _3
  13444. }],
  13445. "mcdir": [2, {
  13446. "vps": _3
  13447. }],
  13448. "mcpre": _3,
  13449. "net": _3,
  13450. "org": _3,
  13451. "pp": _3,
  13452. "123sait": _3,
  13453. "lk3": _3,
  13454. "ras": _3
  13455. }],
  13456. "rw": [1, {
  13457. "ac": _2,
  13458. "co": _2,
  13459. "coop": _2,
  13460. "gov": _2,
  13461. "mil": _2,
  13462. "net": _2,
  13463. "org": _2
  13464. }],
  13465. "sa": [1, {
  13466. "com": _2,
  13467. "net": _2,
  13468. "org": _2,
  13469. "gov": _2,
  13470. "med": _2,
  13471. "pub": _2,
  13472. "edu": _2,
  13473. "sch": _2
  13474. }],
  13475. "sb": _4,
  13476. "sc": _4,
  13477. "sd": [1, {
  13478. "com": _2,
  13479. "net": _2,
  13480. "org": _2,
  13481. "edu": _2,
  13482. "med": _2,
  13483. "tv": _2,
  13484. "gov": _2,
  13485. "info": _2
  13486. }],
  13487. "se": [1, {
  13488. "a": _2,
  13489. "ac": _2,
  13490. "b": _2,
  13491. "bd": _2,
  13492. "brand": _2,
  13493. "c": _2,
  13494. "d": _2,
  13495. "e": _2,
  13496. "f": _2,
  13497. "fh": _2,
  13498. "fhsk": _2,
  13499. "fhv": _2,
  13500. "g": _2,
  13501. "h": _2,
  13502. "i": _2,
  13503. "k": _2,
  13504. "komforb": _2,
  13505. "kommunalforbund": _2,
  13506. "komvux": _2,
  13507. "l": _2,
  13508. "lanbib": _2,
  13509. "m": _2,
  13510. "n": _2,
  13511. "naturbruksgymn": _2,
  13512. "o": _2,
  13513. "org": _2,
  13514. "p": _2,
  13515. "parti": _2,
  13516. "pp": _2,
  13517. "press": _2,
  13518. "r": _2,
  13519. "s": _2,
  13520. "t": _2,
  13521. "tm": _2,
  13522. "u": _2,
  13523. "w": _2,
  13524. "x": _2,
  13525. "y": _2,
  13526. "z": _2,
  13527. "com": _3,
  13528. "blogspot": _3,
  13529. "conf": _3,
  13530. "iopsys": _3,
  13531. "123minsida": _3,
  13532. "itcouldbewor": _3,
  13533. "myspreadshop": _3,
  13534. "paba": [0, {
  13535. "su": _3
  13536. }]
  13537. }],
  13538. "sg": [1, {
  13539. "com": _2,
  13540. "net": _2,
  13541. "org": _2,
  13542. "gov": _2,
  13543. "edu": _2,
  13544. "per": _2,
  13545. "blogspot": _3,
  13546. "enscaled": _3
  13547. }],
  13548. "sh": [1, {
  13549. "com": _2,
  13550. "net": _2,
  13551. "gov": _2,
  13552. "org": _2,
  13553. "mil": _2,
  13554. "bip": _3,
  13555. "hashbang": _3,
  13556. "platform": [0, {
  13557. "bc": _3,
  13558. "ent": _3,
  13559. "eu": _3,
  13560. "us": _3
  13561. }],
  13562. "now": _3,
  13563. "vxl": _3,
  13564. "wedeploy": _3
  13565. }],
  13566. "si": [1, {
  13567. "gitapp": _3,
  13568. "gitpage": _3,
  13569. "blogspot": _3
  13570. }],
  13571. "sj": _2,
  13572. "sk": _6,
  13573. "sl": _4,
  13574. "sm": _2,
  13575. "sn": [1, {
  13576. "art": _2,
  13577. "com": _2,
  13578. "edu": _2,
  13579. "gouv": _2,
  13580. "org": _2,
  13581. "perso": _2,
  13582. "univ": _2,
  13583. "blogspot": _3
  13584. }],
  13585. "so": [1, {
  13586. "com": _2,
  13587. "edu": _2,
  13588. "gov": _2,
  13589. "me": _2,
  13590. "net": _2,
  13591. "org": _2,
  13592. "sch": _3
  13593. }],
  13594. "sr": _2,
  13595. "ss": [1, {
  13596. "biz": _2,
  13597. "com": _2,
  13598. "edu": _2,
  13599. "gov": _2,
  13600. "me": _2,
  13601. "net": _2,
  13602. "org": _2,
  13603. "sch": _2
  13604. }],
  13605. "st": [1, {
  13606. "co": _2,
  13607. "com": _2,
  13608. "consulado": _2,
  13609. "edu": _2,
  13610. "embaixada": _2,
  13611. "mil": _2,
  13612. "net": _2,
  13613. "org": _2,
  13614. "principe": _2,
  13615. "saotome": _2,
  13616. "store": _2,
  13617. "kirara": _3,
  13618. "noho": _3
  13619. }],
  13620. "su": [1, {
  13621. "abkhazia": _3,
  13622. "adygeya": _3,
  13623. "aktyubinsk": _3,
  13624. "arkhangelsk": _3,
  13625. "armenia": _3,
  13626. "ashgabad": _3,
  13627. "azerbaijan": _3,
  13628. "balashov": _3,
  13629. "bashkiria": _3,
  13630. "bryansk": _3,
  13631. "bukhara": _3,
  13632. "chimkent": _3,
  13633. "dagestan": _3,
  13634. "east-kazakhstan": _3,
  13635. "exnet": _3,
  13636. "georgia": _3,
  13637. "grozny": _3,
  13638. "ivanovo": _3,
  13639. "jambyl": _3,
  13640. "kalmykia": _3,
  13641. "kaluga": _3,
  13642. "karacol": _3,
  13643. "karaganda": _3,
  13644. "karelia": _3,
  13645. "khakassia": _3,
  13646. "krasnodar": _3,
  13647. "kurgan": _3,
  13648. "kustanai": _3,
  13649. "lenug": _3,
  13650. "mangyshlak": _3,
  13651. "mordovia": _3,
  13652. "msk": _3,
  13653. "murmansk": _3,
  13654. "nalchik": _3,
  13655. "navoi": _3,
  13656. "north-kazakhstan": _3,
  13657. "nov": _3,
  13658. "obninsk": _3,
  13659. "penza": _3,
  13660. "pokrovsk": _3,
  13661. "sochi": _3,
  13662. "spb": _3,
  13663. "tashkent": _3,
  13664. "termez": _3,
  13665. "togliatti": _3,
  13666. "troitsk": _3,
  13667. "tselinograd": _3,
  13668. "tula": _3,
  13669. "tuva": _3,
  13670. "vladikavkaz": _3,
  13671. "vladimir": _3,
  13672. "vologda": _3
  13673. }],
  13674. "sv": [1, {
  13675. "com": _2,
  13676. "edu": _2,
  13677. "gob": _2,
  13678. "org": _2,
  13679. "red": _2
  13680. }],
  13681. "sx": _7,
  13682. "sy": _46,
  13683. "sz": [1, {
  13684. "co": _2,
  13685. "ac": _2,
  13686. "org": _2
  13687. }],
  13688. "tc": [1, {
  13689. "ch": _3,
  13690. "me": _3,
  13691. "we": _3
  13692. }],
  13693. "td": _6,
  13694. "tel": _2,
  13695. "tf": [1, {
  13696. "sch": _3
  13697. }],
  13698. "tg": _2,
  13699. "th": [1, {
  13700. "ac": _2,
  13701. "co": _2,
  13702. "go": _2,
  13703. "in": _2,
  13704. "mi": _2,
  13705. "net": _2,
  13706. "or": _2,
  13707. "online": _3,
  13708. "shop": _3
  13709. }],
  13710. "tj": [1, {
  13711. "ac": _2,
  13712. "biz": _2,
  13713. "co": _2,
  13714. "com": _2,
  13715. "edu": _2,
  13716. "go": _2,
  13717. "gov": _2,
  13718. "int": _2,
  13719. "mil": _2,
  13720. "name": _2,
  13721. "net": _2,
  13722. "nic": _2,
  13723. "org": _2,
  13724. "test": _2,
  13725. "web": _2
  13726. }],
  13727. "tk": _2,
  13728. "tl": _7,
  13729. "tm": [1, {
  13730. "com": _2,
  13731. "co": _2,
  13732. "org": _2,
  13733. "net": _2,
  13734. "nom": _2,
  13735. "gov": _2,
  13736. "mil": _2,
  13737. "edu": _2
  13738. }],
  13739. "tn": [1, {
  13740. "com": _2,
  13741. "ens": _2,
  13742. "fin": _2,
  13743. "gov": _2,
  13744. "ind": _2,
  13745. "info": _2,
  13746. "intl": _2,
  13747. "mincom": _2,
  13748. "nat": _2,
  13749. "net": _2,
  13750. "org": _2,
  13751. "perso": _2,
  13752. "tourism": _2,
  13753. "orangecloud": _3
  13754. }],
  13755. "to": [1, {
  13756. "611": _3,
  13757. "com": _2,
  13758. "gov": _2,
  13759. "net": _2,
  13760. "org": _2,
  13761. "edu": _2,
  13762. "mil": _2,
  13763. "oya": _3,
  13764. "rdv": _3,
  13765. "x0": _3,
  13766. "vpnplus": _3,
  13767. "quickconnect": _19,
  13768. "nyan": _3
  13769. }],
  13770. "tr": [1, {
  13771. "av": _2,
  13772. "bbs": _2,
  13773. "bel": _2,
  13774. "biz": _2,
  13775. "com": _6,
  13776. "dr": _2,
  13777. "edu": _2,
  13778. "gen": _2,
  13779. "gov": _2,
  13780. "info": _2,
  13781. "mil": _2,
  13782. "k12": _2,
  13783. "kep": _2,
  13784. "name": _2,
  13785. "net": _2,
  13786. "org": _2,
  13787. "pol": _2,
  13788. "tel": _2,
  13789. "tsk": _2,
  13790. "tv": _2,
  13791. "web": _2,
  13792. "nc": _7
  13793. }],
  13794. "tt": [1, {
  13795. "co": _2,
  13796. "com": _2,
  13797. "org": _2,
  13798. "net": _2,
  13799. "biz": _2,
  13800. "info": _2,
  13801. "pro": _2,
  13802. "int": _2,
  13803. "coop": _2,
  13804. "jobs": _2,
  13805. "mobi": _2,
  13806. "travel": _2,
  13807. "museum": _2,
  13808. "aero": _2,
  13809. "name": _2,
  13810. "gov": _2,
  13811. "edu": _2
  13812. }],
  13813. "tv": [1, {
  13814. "dyndns": _3,
  13815. "better-than": _3,
  13816. "on-the-web": _3,
  13817. "worse-than": _3,
  13818. "from": _3,
  13819. "sakura": _3
  13820. }],
  13821. "tw": [1, {
  13822. "edu": _2,
  13823. "gov": _2,
  13824. "mil": _2,
  13825. "com": [1, {
  13826. "mymailer": _3
  13827. }],
  13828. "net": _2,
  13829. "org": _2,
  13830. "idv": _2,
  13831. "game": _2,
  13832. "ebiz": _2,
  13833. "club": _2,
  13834. "xn--zf0ao64a": _2,
  13835. "網路": _2,
  13836. "xn--uc0atv": _2,
  13837. "組織": _2,
  13838. "xn--czrw28b": _2,
  13839. "商業": _2,
  13840. "url": _3,
  13841. "blogspot": _3
  13842. }],
  13843. "tz": [1, {
  13844. "ac": _2,
  13845. "co": _2,
  13846. "go": _2,
  13847. "hotel": _2,
  13848. "info": _2,
  13849. "me": _2,
  13850. "mil": _2,
  13851. "mobi": _2,
  13852. "ne": _2,
  13853. "or": _2,
  13854. "sc": _2,
  13855. "tv": _2
  13856. }],
  13857. "ua": [1, {
  13858. "com": _2,
  13859. "edu": _2,
  13860. "gov": _2,
  13861. "in": _2,
  13862. "net": _2,
  13863. "org": _2,
  13864. "cherkassy": _2,
  13865. "cherkasy": _2,
  13866. "chernigov": _2,
  13867. "chernihiv": _2,
  13868. "chernivtsi": _2,
  13869. "chernovtsy": _2,
  13870. "ck": _2,
  13871. "cn": _2,
  13872. "cr": _2,
  13873. "crimea": _2,
  13874. "cv": _2,
  13875. "dn": _2,
  13876. "dnepropetrovsk": _2,
  13877. "dnipropetrovsk": _2,
  13878. "donetsk": _2,
  13879. "dp": _2,
  13880. "if": _2,
  13881. "ivano-frankivsk": _2,
  13882. "kh": _2,
  13883. "kharkiv": _2,
  13884. "kharkov": _2,
  13885. "kherson": _2,
  13886. "khmelnitskiy": _2,
  13887. "khmelnytskyi": _2,
  13888. "kiev": _2,
  13889. "kirovograd": _2,
  13890. "km": _2,
  13891. "kr": _2,
  13892. "kropyvnytskyi": _2,
  13893. "krym": _2,
  13894. "ks": _2,
  13895. "kv": _2,
  13896. "kyiv": _2,
  13897. "lg": _2,
  13898. "lt": _2,
  13899. "lugansk": _2,
  13900. "luhansk": _2,
  13901. "lutsk": _2,
  13902. "lv": _2,
  13903. "lviv": _2,
  13904. "mk": _2,
  13905. "mykolaiv": _2,
  13906. "nikolaev": _2,
  13907. "od": _2,
  13908. "odesa": _2,
  13909. "odessa": _2,
  13910. "pl": _2,
  13911. "poltava": _2,
  13912. "rivne": _2,
  13913. "rovno": _2,
  13914. "rv": _2,
  13915. "sb": _2,
  13916. "sebastopol": _2,
  13917. "sevastopol": _2,
  13918. "sm": _2,
  13919. "sumy": _2,
  13920. "te": _2,
  13921. "ternopil": _2,
  13922. "uz": _2,
  13923. "uzhgorod": _2,
  13924. "uzhhorod": _2,
  13925. "vinnica": _2,
  13926. "vinnytsia": _2,
  13927. "vn": _2,
  13928. "volyn": _2,
  13929. "yalta": _2,
  13930. "zakarpattia": _2,
  13931. "zaporizhzhe": _2,
  13932. "zaporizhzhia": _2,
  13933. "zhitomir": _2,
  13934. "zhytomyr": _2,
  13935. "zp": _2,
  13936. "zt": _2,
  13937. "cc": _3,
  13938. "inf": _3,
  13939. "ltd": _3,
  13940. "cx": _3,
  13941. "ie": _3,
  13942. "biz": _3,
  13943. "co": _3,
  13944. "pp": _3,
  13945. "v": _3
  13946. }],
  13947. "ug": [1, {
  13948. "co": _2,
  13949. "or": _2,
  13950. "ac": _2,
  13951. "sc": _2,
  13952. "go": _2,
  13953. "ne": _2,
  13954. "com": _2,
  13955. "org": _2,
  13956. "blogspot": _3
  13957. }],
  13958. "uk": [1, {
  13959. "ac": _2,
  13960. "co": [1, {
  13961. "bytemark": [0, {
  13962. "dh": _3,
  13963. "vm": _3
  13964. }],
  13965. "blogspot": _3,
  13966. "layershift": _40,
  13967. "barsy": _3,
  13968. "barsyonline": _3,
  13969. "retrosnub": _45,
  13970. "nh-serv": _3,
  13971. "no-ip": _3,
  13972. "wellbeingzone": _3,
  13973. "adimo": _3,
  13974. "myspreadshop": _3
  13975. }],
  13976. "gov": [1, {
  13977. "campaign": _3,
  13978. "service": _3,
  13979. "api": _3
  13980. }],
  13981. "ltd": _2,
  13982. "me": _2,
  13983. "net": _2,
  13984. "nhs": _2,
  13985. "org": [1, {
  13986. "glug": _3,
  13987. "lug": _3,
  13988. "lugs": _3,
  13989. "affinitylottery": _3,
  13990. "raffleentry": _3,
  13991. "weeklylottery": _3
  13992. }],
  13993. "plc": _2,
  13994. "police": _2,
  13995. "sch": _12,
  13996. "conn": _3,
  13997. "copro": _3,
  13998. "hosp": _3,
  13999. "independent-commission": _3,
  14000. "independent-inquest": _3,
  14001. "independent-inquiry": _3,
  14002. "independent-panel": _3,
  14003. "independent-review": _3,
  14004. "public-inquiry": _3,
  14005. "royal-commission": _3,
  14006. "pymnt": _3,
  14007. "barsy": _3
  14008. }],
  14009. "us": [1, {
  14010. "dni": _2,
  14011. "fed": _2,
  14012. "isa": _2,
  14013. "kids": _2,
  14014. "nsn": _2,
  14015. "ak": _55,
  14016. "al": _55,
  14017. "ar": _55,
  14018. "as": _55,
  14019. "az": _55,
  14020. "ca": _55,
  14021. "co": _55,
  14022. "ct": _55,
  14023. "dc": _55,
  14024. "de": [1, {
  14025. "cc": _2,
  14026. "lib": _3
  14027. }],
  14028. "fl": _55,
  14029. "ga": _55,
  14030. "gu": _55,
  14031. "hi": _56,
  14032. "ia": _55,
  14033. "id": _55,
  14034. "il": _55,
  14035. "in": _55,
  14036. "ks": _55,
  14037. "ky": _55,
  14038. "la": _55,
  14039. "ma": [1, {
  14040. "k12": [1, {
  14041. "pvt": _2,
  14042. "chtr": _2,
  14043. "paroch": _2
  14044. }],
  14045. "cc": _2,
  14046. "lib": _2
  14047. }],
  14048. "md": _55,
  14049. "me": _55,
  14050. "mi": [1, {
  14051. "k12": _2,
  14052. "cc": _2,
  14053. "lib": _2,
  14054. "ann-arbor": _2,
  14055. "cog": _2,
  14056. "dst": _2,
  14057. "eaton": _2,
  14058. "gen": _2,
  14059. "mus": _2,
  14060. "tec": _2,
  14061. "washtenaw": _2
  14062. }],
  14063. "mn": _55,
  14064. "mo": _55,
  14065. "ms": _55,
  14066. "mt": _55,
  14067. "nc": _55,
  14068. "nd": _56,
  14069. "ne": _55,
  14070. "nh": _55,
  14071. "nj": _55,
  14072. "nm": _55,
  14073. "nv": _55,
  14074. "ny": _55,
  14075. "oh": _55,
  14076. "ok": _55,
  14077. "or": _55,
  14078. "pa": _55,
  14079. "pr": _55,
  14080. "ri": _56,
  14081. "sc": _55,
  14082. "sd": _56,
  14083. "tn": _55,
  14084. "tx": _55,
  14085. "ut": _55,
  14086. "vi": _55,
  14087. "vt": _55,
  14088. "va": _55,
  14089. "wa": _55,
  14090. "wi": _55,
  14091. "wv": [1, {
  14092. "cc": _2
  14093. }],
  14094. "wy": _55,
  14095. "graphox": _3,
  14096. "cloudns": _3,
  14097. "drud": _3,
  14098. "is-by": _3,
  14099. "land-4-sale": _3,
  14100. "stuff-4-sale": _3,
  14101. "enscaled": [0, {
  14102. "phx": _3
  14103. }],
  14104. "mircloud": _3,
  14105. "freeddns": _3,
  14106. "golffan": _3,
  14107. "noip": _3,
  14108. "pointto": _3,
  14109. "platterp": _3
  14110. }],
  14111. "uy": [1, {
  14112. "com": _6,
  14113. "edu": _2,
  14114. "gub": _2,
  14115. "mil": _2,
  14116. "net": _2,
  14117. "org": _2
  14118. }],
  14119. "uz": [1, {
  14120. "co": _2,
  14121. "com": _2,
  14122. "net": _2,
  14123. "org": _2
  14124. }],
  14125. "va": _2,
  14126. "vc": [1, {
  14127. "com": _2,
  14128. "net": _2,
  14129. "org": _2,
  14130. "gov": _2,
  14131. "mil": _2,
  14132. "edu": _2,
  14133. "gv": [2, {
  14134. "d": _3
  14135. }],
  14136. "0e": _3
  14137. }],
  14138. "ve": [1, {
  14139. "arts": _2,
  14140. "bib": _2,
  14141. "co": _2,
  14142. "com": _2,
  14143. "e12": _2,
  14144. "edu": _2,
  14145. "firm": _2,
  14146. "gob": _2,
  14147. "gov": _2,
  14148. "info": _2,
  14149. "int": _2,
  14150. "mil": _2,
  14151. "net": _2,
  14152. "nom": _2,
  14153. "org": _2,
  14154. "rar": _2,
  14155. "rec": _2,
  14156. "store": _2,
  14157. "tec": _2,
  14158. "web": _2
  14159. }],
  14160. "vg": [1, {
  14161. "at": _3
  14162. }],
  14163. "vi": [1, {
  14164. "co": _2,
  14165. "com": _2,
  14166. "k12": _2,
  14167. "net": _2,
  14168. "org": _2
  14169. }],
  14170. "vn": [1, {
  14171. "ac": _2,
  14172. "ai": _2,
  14173. "biz": _2,
  14174. "com": _2,
  14175. "edu": _2,
  14176. "gov": _2,
  14177. "health": _2,
  14178. "id": _2,
  14179. "info": _2,
  14180. "int": _2,
  14181. "io": _2,
  14182. "name": _2,
  14183. "net": _2,
  14184. "org": _2,
  14185. "pro": _2,
  14186. "angiang": _2,
  14187. "bacgiang": _2,
  14188. "backan": _2,
  14189. "baclieu": _2,
  14190. "bacninh": _2,
  14191. "baria-vungtau": _2,
  14192. "bentre": _2,
  14193. "binhdinh": _2,
  14194. "binhduong": _2,
  14195. "binhphuoc": _2,
  14196. "binhthuan": _2,
  14197. "camau": _2,
  14198. "cantho": _2,
  14199. "caobang": _2,
  14200. "daklak": _2,
  14201. "daknong": _2,
  14202. "danang": _2,
  14203. "dienbien": _2,
  14204. "dongnai": _2,
  14205. "dongthap": _2,
  14206. "gialai": _2,
  14207. "hagiang": _2,
  14208. "haiduong": _2,
  14209. "haiphong": _2,
  14210. "hanam": _2,
  14211. "hanoi": _2,
  14212. "hatinh": _2,
  14213. "haugiang": _2,
  14214. "hoabinh": _2,
  14215. "hungyen": _2,
  14216. "khanhhoa": _2,
  14217. "kiengiang": _2,
  14218. "kontum": _2,
  14219. "laichau": _2,
  14220. "lamdong": _2,
  14221. "langson": _2,
  14222. "laocai": _2,
  14223. "longan": _2,
  14224. "namdinh": _2,
  14225. "nghean": _2,
  14226. "ninhbinh": _2,
  14227. "ninhthuan": _2,
  14228. "phutho": _2,
  14229. "phuyen": _2,
  14230. "quangbinh": _2,
  14231. "quangnam": _2,
  14232. "quangngai": _2,
  14233. "quangninh": _2,
  14234. "quangtri": _2,
  14235. "soctrang": _2,
  14236. "sonla": _2,
  14237. "tayninh": _2,
  14238. "thaibinh": _2,
  14239. "thainguyen": _2,
  14240. "thanhhoa": _2,
  14241. "thanhphohochiminh": _2,
  14242. "thuathienhue": _2,
  14243. "tiengiang": _2,
  14244. "travinh": _2,
  14245. "tuyenquang": _2,
  14246. "vinhlong": _2,
  14247. "vinhphuc": _2,
  14248. "yenbai": _2,
  14249. "blogspot": _3
  14250. }],
  14251. "vu": [1, {
  14252. "com": _2,
  14253. "edu": _2,
  14254. "net": _2,
  14255. "org": _2,
  14256. "cn": _3,
  14257. "blog": _3,
  14258. "dev": _3,
  14259. "me": _3
  14260. }],
  14261. "wf": [1, {
  14262. "biz": _3,
  14263. "sch": _3
  14264. }],
  14265. "ws": [1, {
  14266. "com": _2,
  14267. "net": _2,
  14268. "org": _2,
  14269. "gov": _2,
  14270. "edu": _2,
  14271. "advisor": _5,
  14272. "cloud66": _3,
  14273. "dyndns": _3,
  14274. "mypets": _3
  14275. }],
  14276. "yt": [1, {
  14277. "org": _3
  14278. }],
  14279. "xn--mgbaam7a8h": _2,
  14280. "امارات": _2,
  14281. "xn--y9a3aq": _2,
  14282. "հայ": _2,
  14283. "xn--54b7fta0cc": _2,
  14284. "বাংলা": _2,
  14285. "xn--90ae": _2,
  14286. "бг": _2,
  14287. "xn--mgbcpq6gpa1a": _2,
  14288. "البحرين": _2,
  14289. "xn--90ais": _2,
  14290. "бел": _2,
  14291. "xn--fiqs8s": _2,
  14292. "中国": _2,
  14293. "xn--fiqz9s": _2,
  14294. "中國": _2,
  14295. "xn--lgbbat1ad8j": _2,
  14296. "الجزائر": _2,
  14297. "xn--wgbh1c": _2,
  14298. "مصر": _2,
  14299. "xn--e1a4c": _2,
  14300. "ею": _2,
  14301. "xn--qxa6a": _2,
  14302. "ευ": _2,
  14303. "xn--mgbah1a3hjkrd": _2,
  14304. "موريتانيا": _2,
  14305. "xn--node": _2,
  14306. "გე": _2,
  14307. "xn--qxam": _2,
  14308. "ελ": _2,
  14309. "xn--j6w193g": [1, {
  14310. "xn--55qx5d": _2,
  14311. "xn--wcvs22d": _2,
  14312. "xn--mxtq1m": _2,
  14313. "xn--gmqw5a": _2,
  14314. "xn--od0alg": _2,
  14315. "xn--uc0atv": _2
  14316. }],
  14317. "香港": [1, {
  14318. "公司": _2,
  14319. "教育": _2,
  14320. "政府": _2,
  14321. "個人": _2,
  14322. "網絡": _2,
  14323. "組織": _2
  14324. }],
  14325. "xn--2scrj9c": _2,
  14326. "ಭಾರತ": _2,
  14327. "xn--3hcrj9c": _2,
  14328. "ଭାରତ": _2,
  14329. "xn--45br5cyl": _2,
  14330. "ভাৰত": _2,
  14331. "xn--h2breg3eve": _2,
  14332. "भारतम्": _2,
  14333. "xn--h2brj9c8c": _2,
  14334. "भारोत": _2,
  14335. "xn--mgbgu82a": _2,
  14336. "ڀارت": _2,
  14337. "xn--rvc1e0am3e": _2,
  14338. "ഭാരതം": _2,
  14339. "xn--h2brj9c": _2,
  14340. "भारत": _2,
  14341. "xn--mgbbh1a": _2,
  14342. "بارت": _2,
  14343. "xn--mgbbh1a71e": _2,
  14344. "بھارت": _2,
  14345. "xn--fpcrj9c3d": _2,
  14346. "భారత్": _2,
  14347. "xn--gecrj9c": _2,
  14348. "ભારત": _2,
  14349. "xn--s9brj9c": _2,
  14350. "ਭਾਰਤ": _2,
  14351. "xn--45brj9c": _2,
  14352. "ভারত": _2,
  14353. "xn--xkc2dl3a5ee0h": _2,
  14354. "இந்தியா": _2,
  14355. "xn--mgba3a4f16a": _2,
  14356. "ایران": _2,
  14357. "xn--mgba3a4fra": _2,
  14358. "ايران": _2,
  14359. "xn--mgbtx2b": _2,
  14360. "عراق": _2,
  14361. "xn--mgbayh7gpa": _2,
  14362. "الاردن": _2,
  14363. "xn--3e0b707e": _2,
  14364. "한국": _2,
  14365. "xn--80ao21a": _2,
  14366. "қаз": _2,
  14367. "xn--q7ce6a": _2,
  14368. "ລາວ": _2,
  14369. "xn--fzc2c9e2c": _2,
  14370. "ලංකා": _2,
  14371. "xn--xkc2al3hye2a": _2,
  14372. "இலங்கை": _2,
  14373. "xn--mgbc0a9azcg": _2,
  14374. "المغرب": _2,
  14375. "xn--d1alf": _2,
  14376. "мкд": _2,
  14377. "xn--l1acc": _2,
  14378. "мон": _2,
  14379. "xn--mix891f": _2,
  14380. "澳門": _2,
  14381. "xn--mix082f": _2,
  14382. "澳门": _2,
  14383. "xn--mgbx4cd0ab": _2,
  14384. "مليسيا": _2,
  14385. "xn--mgb9awbf": _2,
  14386. "عمان": _2,
  14387. "xn--mgbai9azgqp6j": _2,
  14388. "پاکستان": _2,
  14389. "xn--mgbai9a5eva00b": _2,
  14390. "پاكستان": _2,
  14391. "xn--ygbi2ammx": _2,
  14392. "فلسطين": _2,
  14393. "xn--90a3ac": [1, {
  14394. "xn--o1ac": _2,
  14395. "xn--c1avg": _2,
  14396. "xn--90azh": _2,
  14397. "xn--d1at": _2,
  14398. "xn--o1ach": _2,
  14399. "xn--80au": _2
  14400. }],
  14401. "срб": [1, {
  14402. "пр": _2,
  14403. "орг": _2,
  14404. "обр": _2,
  14405. "од": _2,
  14406. "упр": _2,
  14407. "ак": _2
  14408. }],
  14409. "xn--p1ai": _2,
  14410. "рф": _2,
  14411. "xn--wgbl6a": _2,
  14412. "قطر": _2,
  14413. "xn--mgberp4a5d4ar": _2,
  14414. "السعودية": _2,
  14415. "xn--mgberp4a5d4a87g": _2,
  14416. "السعودیة": _2,
  14417. "xn--mgbqly7c0a67fbc": _2,
  14418. "السعودیۃ": _2,
  14419. "xn--mgbqly7cvafr": _2,
  14420. "السعوديه": _2,
  14421. "xn--mgbpl2fh": _2,
  14422. "سودان": _2,
  14423. "xn--yfro4i67o": _2,
  14424. "新加坡": _2,
  14425. "xn--clchc0ea0b2g2a9gcd": _2,
  14426. "சிங்கப்பூர்": _2,
  14427. "xn--ogbpf8fl": _2,
  14428. "سورية": _2,
  14429. "xn--mgbtf8fl": _2,
  14430. "سوريا": _2,
  14431. "xn--o3cw4h": [1, {
  14432. "xn--12c1fe0br": _2,
  14433. "xn--12co0c3b4eva": _2,
  14434. "xn--h3cuzk1di": _2,
  14435. "xn--o3cyx2a": _2,
  14436. "xn--m3ch0j3a": _2,
  14437. "xn--12cfi8ixb8l": _2
  14438. }],
  14439. "ไทย": [1, {
  14440. "ศึกษา": _2,
  14441. "ธุรกิจ": _2,
  14442. "รัฐบาล": _2,
  14443. "ทหาร": _2,
  14444. "เน็ต": _2,
  14445. "องค์กร": _2
  14446. }],
  14447. "xn--pgbs0dh": _2,
  14448. "تونس": _2,
  14449. "xn--kpry57d": _2,
  14450. "台灣": _2,
  14451. "xn--kprw13d": _2,
  14452. "台湾": _2,
  14453. "xn--nnx388a": _2,
  14454. "臺灣": _2,
  14455. "xn--j1amh": _2,
  14456. "укр": _2,
  14457. "xn--mgb2ddes": _2,
  14458. "اليمن": _2,
  14459. "xxx": _2,
  14460. "ye": _46,
  14461. "za": [0, {
  14462. "ac": _2,
  14463. "agric": _2,
  14464. "alt": _2,
  14465. "co": _6,
  14466. "edu": _2,
  14467. "gov": _2,
  14468. "grondar": _2,
  14469. "law": _2,
  14470. "mil": _2,
  14471. "net": _2,
  14472. "ngo": _2,
  14473. "nic": _2,
  14474. "nis": _2,
  14475. "nom": _2,
  14476. "org": _2,
  14477. "school": _2,
  14478. "tm": _2,
  14479. "web": _2
  14480. }],
  14481. "zm": [1, {
  14482. "ac": _2,
  14483. "biz": _2,
  14484. "co": _2,
  14485. "com": _2,
  14486. "edu": _2,
  14487. "gov": _2,
  14488. "info": _2,
  14489. "mil": _2,
  14490. "net": _2,
  14491. "org": _2,
  14492. "sch": _2
  14493. }],
  14494. "zw": [1, {
  14495. "ac": _2,
  14496. "co": _2,
  14497. "gov": _2,
  14498. "mil": _2,
  14499. "org": _2
  14500. }],
  14501. "aaa": _2,
  14502. "aarp": _2,
  14503. "abb": _2,
  14504. "abbott": _2,
  14505. "abbvie": _2,
  14506. "abc": _2,
  14507. "able": _2,
  14508. "abogado": _2,
  14509. "abudhabi": _2,
  14510. "academy": [1, {
  14511. "official": _3
  14512. }],
  14513. "accenture": _2,
  14514. "accountant": _2,
  14515. "accountants": _2,
  14516. "aco": _2,
  14517. "actor": _2,
  14518. "ads": _2,
  14519. "adult": _2,
  14520. "aeg": _2,
  14521. "aetna": _2,
  14522. "afl": _2,
  14523. "africa": _2,
  14524. "agakhan": _2,
  14525. "agency": _2,
  14526. "aig": _2,
  14527. "airbus": _2,
  14528. "airforce": _2,
  14529. "airtel": _2,
  14530. "akdn": _2,
  14531. "alibaba": _2,
  14532. "alipay": _2,
  14533. "allfinanz": _2,
  14534. "allstate": _2,
  14535. "ally": _2,
  14536. "alsace": _2,
  14537. "alstom": _2,
  14538. "amazon": _2,
  14539. "americanexpress": _2,
  14540. "americanfamily": _2,
  14541. "amex": _2,
  14542. "amfam": _2,
  14543. "amica": _2,
  14544. "amsterdam": _2,
  14545. "analytics": _2,
  14546. "android": _2,
  14547. "anquan": _2,
  14548. "anz": _2,
  14549. "aol": _2,
  14550. "apartments": _2,
  14551. "app": [1, {
  14552. "beget": _5,
  14553. "clerk": _3,
  14554. "clerkstage": _3,
  14555. "wnext": _3,
  14556. "platform0": _3,
  14557. "deta": _3,
  14558. "ondigitalocean": _3,
  14559. "easypanel": _3,
  14560. "encr": _3,
  14561. "edgecompute": _3,
  14562. "fireweb": _3,
  14563. "onflashdrive": _3,
  14564. "framer": _3,
  14565. "run": [2, {
  14566. "a": _3
  14567. }],
  14568. "web": _3,
  14569. "hasura": _3,
  14570. "loginline": _3,
  14571. "messerli": _3,
  14572. "netlify": _3,
  14573. "ngrok": _3,
  14574. "ngrok-free": _3,
  14575. "developer": _5,
  14576. "noop": _3,
  14577. "northflank": _5,
  14578. "snowflake": [2, {
  14579. "privatelink": _3
  14580. }],
  14581. "streamlit": _3,
  14582. "storipress": _3,
  14583. "telebit": _3,
  14584. "typedream": _3,
  14585. "vercel": _3,
  14586. "bookonline": _3
  14587. }],
  14588. "apple": _2,
  14589. "aquarelle": _2,
  14590. "arab": _2,
  14591. "aramco": _2,
  14592. "archi": _2,
  14593. "army": _2,
  14594. "art": _2,
  14595. "arte": _2,
  14596. "asda": _2,
  14597. "associates": _2,
  14598. "athleta": _2,
  14599. "attorney": _2,
  14600. "auction": _2,
  14601. "audi": _2,
  14602. "audible": _2,
  14603. "audio": _2,
  14604. "auspost": _2,
  14605. "author": _2,
  14606. "auto": _2,
  14607. "autos": _2,
  14608. "avianca": _2,
  14609. "aws": [1, {
  14610. "sagemaker": [0, {
  14611. "af-south-1": _8,
  14612. "ap-east-1": _8,
  14613. "ap-northeast-1": _8,
  14614. "ap-northeast-2": _8,
  14615. "ap-northeast-3": _8,
  14616. "ap-south-1": _8,
  14617. "ap-south-2": _9,
  14618. "ap-southeast-1": _8,
  14619. "ap-southeast-2": _8,
  14620. "ap-southeast-3": _8,
  14621. "ap-southeast-4": _9,
  14622. "ca-central-1": _8,
  14623. "eu-central-1": _8,
  14624. "eu-central-2": _9,
  14625. "eu-north-1": _8,
  14626. "eu-south-1": _8,
  14627. "eu-south-2": _9,
  14628. "eu-west-1": _8,
  14629. "eu-west-2": _8,
  14630. "eu-west-3": _8,
  14631. "il-central-1": _8,
  14632. "me-central-1": _8,
  14633. "me-south-1": _8,
  14634. "sa-east-1": _8,
  14635. "us-east-1": _10,
  14636. "us-east-2": _10,
  14637. "us-gov-east-1": _11,
  14638. "us-gov-west-1": _11,
  14639. "us-west-1": _8,
  14640. "us-west-2": _10
  14641. }]
  14642. }],
  14643. "axa": _2,
  14644. "azure": _2,
  14645. "baby": _2,
  14646. "baidu": _2,
  14647. "banamex": _2,
  14648. "bananarepublic": _2,
  14649. "band": _2,
  14650. "bank": _2,
  14651. "bar": _2,
  14652. "barcelona": _2,
  14653. "barclaycard": _2,
  14654. "barclays": _2,
  14655. "barefoot": _2,
  14656. "bargains": _2,
  14657. "baseball": _2,
  14658. "basketball": [1, {
  14659. "aus": _3,
  14660. "nz": _3
  14661. }],
  14662. "bauhaus": _2,
  14663. "bayern": _2,
  14664. "bbc": _2,
  14665. "bbt": _2,
  14666. "bbva": _2,
  14667. "bcg": _2,
  14668. "bcn": _2,
  14669. "beats": _2,
  14670. "beauty": _2,
  14671. "beer": _2,
  14672. "bentley": _2,
  14673. "berlin": _2,
  14674. "best": _2,
  14675. "bestbuy": _2,
  14676. "bet": _2,
  14677. "bharti": _2,
  14678. "bible": _2,
  14679. "bid": _2,
  14680. "bike": _2,
  14681. "bing": _2,
  14682. "bingo": _2,
  14683. "bio": _2,
  14684. "black": _2,
  14685. "blackfriday": _2,
  14686. "blockbuster": _2,
  14687. "blog": _2,
  14688. "bloomberg": _2,
  14689. "blue": _2,
  14690. "bms": _2,
  14691. "bmw": _2,
  14692. "bnpparibas": _2,
  14693. "boats": _2,
  14694. "boehringer": _2,
  14695. "bofa": _2,
  14696. "bom": _2,
  14697. "bond": _2,
  14698. "boo": _2,
  14699. "book": _2,
  14700. "booking": _2,
  14701. "bosch": _2,
  14702. "bostik": _2,
  14703. "boston": _2,
  14704. "bot": _2,
  14705. "boutique": _2,
  14706. "box": _2,
  14707. "bradesco": _2,
  14708. "bridgestone": _2,
  14709. "broadway": _2,
  14710. "broker": _2,
  14711. "brother": _2,
  14712. "brussels": _2,
  14713. "build": _2,
  14714. "builders": [1, {
  14715. "cloudsite": _3
  14716. }],
  14717. "business": _14,
  14718. "buy": _2,
  14719. "buzz": _2,
  14720. "bzh": _2,
  14721. "cab": _2,
  14722. "cafe": _2,
  14723. "cal": _2,
  14724. "call": _2,
  14725. "calvinklein": _2,
  14726. "cam": _2,
  14727. "camera": _2,
  14728. "camp": _2,
  14729. "canon": _2,
  14730. "capetown": _2,
  14731. "capital": _2,
  14732. "capitalone": _2,
  14733. "car": _2,
  14734. "caravan": _2,
  14735. "cards": _2,
  14736. "care": _2,
  14737. "career": _2,
  14738. "careers": _2,
  14739. "cars": _2,
  14740. "casa": [1, {
  14741. "nabu": [0, {
  14742. "ui": _3
  14743. }]
  14744. }],
  14745. "case": _2,
  14746. "cash": _2,
  14747. "casino": _2,
  14748. "catering": _2,
  14749. "catholic": _2,
  14750. "cba": _2,
  14751. "cbn": _2,
  14752. "cbre": _2,
  14753. "center": _2,
  14754. "ceo": _2,
  14755. "cern": _2,
  14756. "cfa": _2,
  14757. "cfd": _2,
  14758. "chanel": _2,
  14759. "channel": _2,
  14760. "charity": _2,
  14761. "chase": _2,
  14762. "chat": _2,
  14763. "cheap": _2,
  14764. "chintai": _2,
  14765. "christmas": _2,
  14766. "chrome": _2,
  14767. "church": _2,
  14768. "cipriani": _2,
  14769. "circle": _2,
  14770. "cisco": _2,
  14771. "citadel": _2,
  14772. "citi": _2,
  14773. "citic": _2,
  14774. "city": _2,
  14775. "claims": _2,
  14776. "cleaning": _2,
  14777. "click": _2,
  14778. "clinic": _2,
  14779. "clinique": _2,
  14780. "clothing": _2,
  14781. "cloud": [1, {
  14782. "banzai": _5,
  14783. "elementor": _3,
  14784. "encoway": [0, {
  14785. "eu": _3
  14786. }],
  14787. "statics": _5,
  14788. "ravendb": _3,
  14789. "axarnet": [0, {
  14790. "es-1": _3
  14791. }],
  14792. "diadem": _3,
  14793. "jelastic": [0, {
  14794. "vip": _3
  14795. }],
  14796. "jele": _3,
  14797. "jenv-aruba": [0, {
  14798. "aruba": [0, {
  14799. "eur": [0, {
  14800. "it1": _3
  14801. }]
  14802. }],
  14803. "it1": _3
  14804. }],
  14805. "keliweb": [2, {
  14806. "cs": _3
  14807. }],
  14808. "oxa": [2, {
  14809. "tn": _3,
  14810. "uk": _3
  14811. }],
  14812. "primetel": [2, {
  14813. "uk": _3
  14814. }],
  14815. "reclaim": [0, {
  14816. "ca": _3,
  14817. "uk": _3,
  14818. "us": _3
  14819. }],
  14820. "trendhosting": [0, {
  14821. "ch": _3,
  14822. "de": _3
  14823. }],
  14824. "jotelulu": _3,
  14825. "kuleuven": _3,
  14826. "linkyard": _3,
  14827. "magentosite": _5,
  14828. "perspecta": _3,
  14829. "vapor": _3,
  14830. "on-rancher": _5,
  14831. "scw": [0, {
  14832. "baremetal": [0, {
  14833. "fr-par-1": _3,
  14834. "fr-par-2": _3,
  14835. "nl-ams-1": _3
  14836. }],
  14837. "fr-par": [0, {
  14838. "fnc": [2, {
  14839. "functions": _3
  14840. }],
  14841. "k8s": _15,
  14842. "s3": _3,
  14843. "s3-website": _3,
  14844. "whm": _3
  14845. }],
  14846. "instances": [0, {
  14847. "priv": _3,
  14848. "pub": _3
  14849. }],
  14850. "k8s": _3,
  14851. "nl-ams": [0, {
  14852. "k8s": _15,
  14853. "s3": _3,
  14854. "s3-website": _3,
  14855. "whm": _3
  14856. }],
  14857. "pl-waw": [0, {
  14858. "k8s": _15,
  14859. "s3": _3,
  14860. "s3-website": _3
  14861. }],
  14862. "scalebook": _3,
  14863. "smartlabeling": _3
  14864. }],
  14865. "sensiosite": _5,
  14866. "trafficplex": _3,
  14867. "urown": _3,
  14868. "voorloper": _3
  14869. }],
  14870. "club": [1, {
  14871. "cloudns": _3,
  14872. "jele": _3,
  14873. "barsy": _3
  14874. }],
  14875. "clubmed": _2,
  14876. "coach": _2,
  14877. "codes": [1, {
  14878. "owo": _5
  14879. }],
  14880. "coffee": _2,
  14881. "college": _2,
  14882. "cologne": _2,
  14883. "comcast": _2,
  14884. "commbank": _2,
  14885. "community": [1, {
  14886. "nog": _3,
  14887. "ravendb": _3,
  14888. "myforum": _3
  14889. }],
  14890. "company": _2,
  14891. "compare": _2,
  14892. "computer": _2,
  14893. "comsec": _2,
  14894. "condos": _2,
  14895. "construction": _2,
  14896. "consulting": _2,
  14897. "contact": _2,
  14898. "contractors": _2,
  14899. "cooking": _2,
  14900. "cool": [1, {
  14901. "elementor": _3,
  14902. "de": _3
  14903. }],
  14904. "corsica": _2,
  14905. "country": _2,
  14906. "coupon": _2,
  14907. "coupons": _2,
  14908. "courses": _2,
  14909. "cpa": _2,
  14910. "credit": _2,
  14911. "creditcard": _2,
  14912. "creditunion": _2,
  14913. "cricket": _2,
  14914. "crown": _2,
  14915. "crs": _2,
  14916. "cruise": _2,
  14917. "cruises": _2,
  14918. "cuisinella": _2,
  14919. "cymru": _2,
  14920. "cyou": _2,
  14921. "dabur": _2,
  14922. "dad": _2,
  14923. "dance": _2,
  14924. "data": _2,
  14925. "date": _2,
  14926. "dating": _2,
  14927. "datsun": _2,
  14928. "day": _2,
  14929. "dclk": _2,
  14930. "dds": _2,
  14931. "deal": _2,
  14932. "dealer": _2,
  14933. "deals": _2,
  14934. "degree": _2,
  14935. "delivery": _2,
  14936. "dell": _2,
  14937. "deloitte": _2,
  14938. "delta": _2,
  14939. "democrat": _2,
  14940. "dental": _2,
  14941. "dentist": _2,
  14942. "desi": _2,
  14943. "design": [1, {
  14944. "bss": _3
  14945. }],
  14946. "dev": [1, {
  14947. "autocode": _3,
  14948. "lcl": _5,
  14949. "lclstage": _5,
  14950. "stg": _5,
  14951. "stgstage": _5,
  14952. "pages": _3,
  14953. "r2": _3,
  14954. "workers": _3,
  14955. "curv": _3,
  14956. "deno": _3,
  14957. "deno-staging": _3,
  14958. "deta": _3,
  14959. "fly": _3,
  14960. "githubpreview": _3,
  14961. "gateway": _5,
  14962. "iserv": _3,
  14963. "localcert": [0, {
  14964. "user": _5
  14965. }],
  14966. "loginline": _3,
  14967. "mediatech": _3,
  14968. "ngrok": _3,
  14969. "ngrok-free": _3,
  14970. "platter-app": _3,
  14971. "shiftcrypto": _3,
  14972. "vercel": _3,
  14973. "webhare": _5
  14974. }],
  14975. "dhl": _2,
  14976. "diamonds": _2,
  14977. "diet": _2,
  14978. "digital": [1, {
  14979. "cloudapps": [2, {
  14980. "london": _3
  14981. }]
  14982. }],
  14983. "direct": _2,
  14984. "directory": _2,
  14985. "discount": _2,
  14986. "discover": _2,
  14987. "dish": _2,
  14988. "diy": _2,
  14989. "dnp": _2,
  14990. "docs": _2,
  14991. "doctor": _2,
  14992. "dog": _2,
  14993. "domains": _2,
  14994. "dot": _2,
  14995. "download": _2,
  14996. "drive": _2,
  14997. "dtv": _2,
  14998. "dubai": _2,
  14999. "dunlop": _2,
  15000. "dupont": _2,
  15001. "durban": _2,
  15002. "dvag": _2,
  15003. "dvr": _2,
  15004. "earth": [1, {
  15005. "dapps": [0, {
  15006. "*": _3,
  15007. "bzz": _5
  15008. }]
  15009. }],
  15010. "eat": _2,
  15011. "eco": _2,
  15012. "edeka": _2,
  15013. "education": _14,
  15014. "email": _2,
  15015. "emerck": _2,
  15016. "energy": _2,
  15017. "engineer": _2,
  15018. "engineering": _2,
  15019. "enterprises": _2,
  15020. "epson": _2,
  15021. "equipment": _2,
  15022. "ericsson": _2,
  15023. "erni": _2,
  15024. "esq": _2,
  15025. "estate": [1, {
  15026. "compute": _5
  15027. }],
  15028. "eurovision": _2,
  15029. "eus": [1, {
  15030. "party": _42
  15031. }],
  15032. "events": [1, {
  15033. "koobin": _3,
  15034. "co": _3
  15035. }],
  15036. "exchange": _2,
  15037. "expert": _2,
  15038. "exposed": _2,
  15039. "express": _2,
  15040. "extraspace": _2,
  15041. "fage": _2,
  15042. "fail": _2,
  15043. "fairwinds": _2,
  15044. "faith": _43,
  15045. "family": _2,
  15046. "fan": _2,
  15047. "fans": _2,
  15048. "farm": [1, {
  15049. "storj": _3
  15050. }],
  15051. "farmers": _2,
  15052. "fashion": _2,
  15053. "fast": _2,
  15054. "fedex": _2,
  15055. "feedback": _2,
  15056. "ferrari": _2,
  15057. "ferrero": _2,
  15058. "fidelity": _2,
  15059. "fido": _2,
  15060. "film": _2,
  15061. "final": _2,
  15062. "finance": _2,
  15063. "financial": _14,
  15064. "fire": _2,
  15065. "firestone": _2,
  15066. "firmdale": _2,
  15067. "fish": _2,
  15068. "fishing": _2,
  15069. "fit": _2,
  15070. "fitness": _2,
  15071. "flickr": _2,
  15072. "flights": _2,
  15073. "flir": _2,
  15074. "florist": _2,
  15075. "flowers": _2,
  15076. "fly": _2,
  15077. "foo": _2,
  15078. "food": _2,
  15079. "football": _2,
  15080. "ford": _2,
  15081. "forex": _2,
  15082. "forsale": _2,
  15083. "forum": _2,
  15084. "foundation": _2,
  15085. "fox": _2,
  15086. "free": _2,
  15087. "fresenius": _2,
  15088. "frl": _2,
  15089. "frogans": _2,
  15090. "frontier": _2,
  15091. "ftr": _2,
  15092. "fujitsu": _2,
  15093. "fun": _2,
  15094. "fund": _2,
  15095. "furniture": _2,
  15096. "futbol": _2,
  15097. "fyi": _2,
  15098. "gal": _2,
  15099. "gallery": _2,
  15100. "gallo": _2,
  15101. "gallup": _2,
  15102. "game": _2,
  15103. "games": _2,
  15104. "gap": _2,
  15105. "garden": _2,
  15106. "gay": _2,
  15107. "gbiz": _2,
  15108. "gdn": [1, {
  15109. "cnpy": _3
  15110. }],
  15111. "gea": _2,
  15112. "gent": _2,
  15113. "genting": _2,
  15114. "george": _2,
  15115. "ggee": _2,
  15116. "gift": _2,
  15117. "gifts": _2,
  15118. "gives": _2,
  15119. "giving": _2,
  15120. "glass": _2,
  15121. "gle": _2,
  15122. "global": _2,
  15123. "globo": _2,
  15124. "gmail": _2,
  15125. "gmbh": _2,
  15126. "gmo": _2,
  15127. "gmx": _2,
  15128. "godaddy": _2,
  15129. "gold": _2,
  15130. "goldpoint": _2,
  15131. "golf": _2,
  15132. "goo": _2,
  15133. "goodyear": _2,
  15134. "goog": [1, {
  15135. "cloud": _3,
  15136. "translate": _3,
  15137. "usercontent": _5
  15138. }],
  15139. "google": _2,
  15140. "gop": _2,
  15141. "got": _2,
  15142. "grainger": _2,
  15143. "graphics": _2,
  15144. "gratis": _2,
  15145. "green": _2,
  15146. "gripe": _2,
  15147. "grocery": _2,
  15148. "group": [1, {
  15149. "discourse": _3
  15150. }],
  15151. "guardian": _2,
  15152. "gucci": _2,
  15153. "guge": _2,
  15154. "guide": _2,
  15155. "guitars": _2,
  15156. "guru": _2,
  15157. "hair": _2,
  15158. "hamburg": _2,
  15159. "hangout": _2,
  15160. "haus": _2,
  15161. "hbo": _2,
  15162. "hdfc": _2,
  15163. "hdfcbank": _2,
  15164. "health": [1, {
  15165. "hra": _3
  15166. }],
  15167. "healthcare": _2,
  15168. "help": _2,
  15169. "helsinki": _2,
  15170. "here": _2,
  15171. "hermes": _2,
  15172. "hiphop": _2,
  15173. "hisamitsu": _2,
  15174. "hitachi": _2,
  15175. "hiv": _2,
  15176. "hkt": _2,
  15177. "hockey": _2,
  15178. "holdings": _2,
  15179. "holiday": _2,
  15180. "homedepot": _2,
  15181. "homegoods": _2,
  15182. "homes": _2,
  15183. "homesense": _2,
  15184. "honda": _2,
  15185. "horse": _2,
  15186. "hospital": _2,
  15187. "host": [1, {
  15188. "cloudaccess": _3,
  15189. "freesite": _3,
  15190. "easypanel": _3,
  15191. "fastvps": _3,
  15192. "myfast": _3,
  15193. "tempurl": _3,
  15194. "wpmudev": _3,
  15195. "jele": _3,
  15196. "mircloud": _3,
  15197. "pcloud": _3,
  15198. "half": _3
  15199. }],
  15200. "hosting": [1, {
  15201. "opencraft": _3
  15202. }],
  15203. "hot": _2,
  15204. "hotels": _2,
  15205. "hotmail": _2,
  15206. "house": _2,
  15207. "how": _2,
  15208. "hsbc": _2,
  15209. "hughes": _2,
  15210. "hyatt": _2,
  15211. "hyundai": _2,
  15212. "ibm": _2,
  15213. "icbc": _2,
  15214. "ice": _2,
  15215. "icu": _2,
  15216. "ieee": _2,
  15217. "ifm": _2,
  15218. "ikano": _2,
  15219. "imamat": _2,
  15220. "imdb": _2,
  15221. "immo": _2,
  15222. "immobilien": _2,
  15223. "inc": _2,
  15224. "industries": _2,
  15225. "infiniti": _2,
  15226. "ing": _2,
  15227. "ink": _2,
  15228. "institute": _2,
  15229. "insurance": _2,
  15230. "insure": _2,
  15231. "international": _2,
  15232. "intuit": _2,
  15233. "investments": _2,
  15234. "ipiranga": _2,
  15235. "irish": _2,
  15236. "ismaili": _2,
  15237. "ist": _2,
  15238. "istanbul": _2,
  15239. "itau": _2,
  15240. "itv": _2,
  15241. "jaguar": _2,
  15242. "java": _2,
  15243. "jcb": _2,
  15244. "jeep": _2,
  15245. "jetzt": _2,
  15246. "jewelry": _2,
  15247. "jio": _2,
  15248. "jll": _2,
  15249. "jmp": _2,
  15250. "jnj": _2,
  15251. "joburg": _2,
  15252. "jot": _2,
  15253. "joy": _2,
  15254. "jpmorgan": _2,
  15255. "jprs": _2,
  15256. "juegos": _2,
  15257. "juniper": _2,
  15258. "kaufen": _2,
  15259. "kddi": _2,
  15260. "kerryhotels": _2,
  15261. "kerrylogistics": _2,
  15262. "kerryproperties": _2,
  15263. "kfh": _2,
  15264. "kia": _2,
  15265. "kids": _2,
  15266. "kim": _2,
  15267. "kindle": _2,
  15268. "kitchen": _2,
  15269. "kiwi": _2,
  15270. "koeln": _2,
  15271. "komatsu": _2,
  15272. "kosher": _2,
  15273. "kpmg": _2,
  15274. "kpn": _2,
  15275. "krd": [1, {
  15276. "co": _3,
  15277. "edu": _3
  15278. }],
  15279. "kred": _2,
  15280. "kuokgroup": _2,
  15281. "kyoto": _2,
  15282. "lacaixa": _2,
  15283. "lamborghini": _2,
  15284. "lamer": _2,
  15285. "lancaster": _2,
  15286. "land": [1, {
  15287. "static": [2, {
  15288. "dev": _3,
  15289. "sites": _3
  15290. }]
  15291. }],
  15292. "landrover": _2,
  15293. "lanxess": _2,
  15294. "lasalle": _2,
  15295. "lat": _2,
  15296. "latino": _2,
  15297. "latrobe": _2,
  15298. "law": _2,
  15299. "lawyer": _2,
  15300. "lds": _2,
  15301. "lease": _2,
  15302. "leclerc": _2,
  15303. "lefrak": _2,
  15304. "legal": _2,
  15305. "lego": _2,
  15306. "lexus": _2,
  15307. "lgbt": _2,
  15308. "lidl": _2,
  15309. "life": _2,
  15310. "lifeinsurance": _2,
  15311. "lifestyle": _2,
  15312. "lighting": _2,
  15313. "like": _2,
  15314. "lilly": _2,
  15315. "limited": _2,
  15316. "limo": _2,
  15317. "lincoln": _2,
  15318. "link": [1, {
  15319. "cyon": _3,
  15320. "mypep": _3,
  15321. "dweb": _5
  15322. }],
  15323. "lipsy": _2,
  15324. "live": [1, {
  15325. "hlx": _3
  15326. }],
  15327. "living": _2,
  15328. "llc": _2,
  15329. "llp": _2,
  15330. "loan": _2,
  15331. "loans": _2,
  15332. "locker": _2,
  15333. "locus": _2,
  15334. "lol": [1, {
  15335. "omg": _3
  15336. }],
  15337. "london": _2,
  15338. "lotte": _2,
  15339. "lotto": _2,
  15340. "love": _2,
  15341. "lpl": _2,
  15342. "lplfinancial": _2,
  15343. "ltd": _2,
  15344. "ltda": _2,
  15345. "lundbeck": _2,
  15346. "luxe": _2,
  15347. "luxury": _2,
  15348. "madrid": _2,
  15349. "maif": _2,
  15350. "maison": _2,
  15351. "makeup": _2,
  15352. "man": _2,
  15353. "management": [1, {
  15354. "router": _3
  15355. }],
  15356. "mango": _2,
  15357. "map": _2,
  15358. "market": _2,
  15359. "marketing": _2,
  15360. "markets": _2,
  15361. "marriott": _2,
  15362. "marshalls": _2,
  15363. "mattel": _2,
  15364. "mba": _2,
  15365. "mckinsey": _2,
  15366. "med": _2,
  15367. "media": _50,
  15368. "meet": _2,
  15369. "melbourne": _2,
  15370. "meme": _2,
  15371. "memorial": _2,
  15372. "men": _2,
  15373. "menu": _51,
  15374. "merckmsd": _2,
  15375. "miami": _2,
  15376. "microsoft": _2,
  15377. "mini": _2,
  15378. "mint": _2,
  15379. "mit": _2,
  15380. "mitsubishi": _2,
  15381. "mlb": _2,
  15382. "mls": _2,
  15383. "mma": _2,
  15384. "mobile": _2,
  15385. "moda": _2,
  15386. "moe": _2,
  15387. "moi": _2,
  15388. "mom": _2,
  15389. "monash": _2,
  15390. "money": _2,
  15391. "monster": _2,
  15392. "mormon": _2,
  15393. "mortgage": _2,
  15394. "moscow": _2,
  15395. "moto": _2,
  15396. "motorcycles": _2,
  15397. "mov": _2,
  15398. "movie": _2,
  15399. "msd": _2,
  15400. "mtn": _2,
  15401. "mtr": _2,
  15402. "music": _2,
  15403. "nab": _2,
  15404. "nagoya": _2,
  15405. "natura": _2,
  15406. "navy": _2,
  15407. "nba": _2,
  15408. "nec": _2,
  15409. "netbank": _2,
  15410. "netflix": _2,
  15411. "network": [1, {
  15412. "alces": _5,
  15413. "co": _3,
  15414. "arvo": _3,
  15415. "azimuth": _3,
  15416. "tlon": _3
  15417. }],
  15418. "neustar": _2,
  15419. "new": _2,
  15420. "news": [1, {
  15421. "noticeable": _3
  15422. }],
  15423. "next": _2,
  15424. "nextdirect": _2,
  15425. "nexus": _2,
  15426. "nfl": _2,
  15427. "ngo": _2,
  15428. "nhk": _2,
  15429. "nico": _2,
  15430. "nike": _2,
  15431. "nikon": _2,
  15432. "ninja": _2,
  15433. "nissan": _2,
  15434. "nissay": _2,
  15435. "nokia": _2,
  15436. "norton": _2,
  15437. "now": _2,
  15438. "nowruz": _2,
  15439. "nowtv": _2,
  15440. "nra": _2,
  15441. "nrw": _2,
  15442. "ntt": _2,
  15443. "nyc": _2,
  15444. "obi": _2,
  15445. "observer": _2,
  15446. "office": _2,
  15447. "okinawa": _2,
  15448. "olayan": _2,
  15449. "olayangroup": _2,
  15450. "oldnavy": _2,
  15451. "ollo": _2,
  15452. "omega": _2,
  15453. "one": [1, {
  15454. "onred": [2, {
  15455. "staging": _3
  15456. }],
  15457. "service": _3,
  15458. "homelink": _3
  15459. }],
  15460. "ong": _2,
  15461. "onl": _2,
  15462. "online": [1, {
  15463. "eero": _3,
  15464. "eero-stage": _3,
  15465. "barsy": _3
  15466. }],
  15467. "ooo": _2,
  15468. "open": _2,
  15469. "oracle": _2,
  15470. "orange": [1, {
  15471. "tech": _3
  15472. }],
  15473. "organic": _2,
  15474. "origins": _2,
  15475. "osaka": _2,
  15476. "otsuka": _2,
  15477. "ott": _2,
  15478. "ovh": [1, {
  15479. "nerdpol": _3
  15480. }],
  15481. "page": [1, {
  15482. "hlx": _3,
  15483. "hlx3": _3,
  15484. "translated": _3,
  15485. "codeberg": _3,
  15486. "pdns": _3,
  15487. "plesk": _3,
  15488. "prvcy": _3,
  15489. "rocky": _3,
  15490. "magnet": _3
  15491. }],
  15492. "panasonic": _2,
  15493. "paris": _2,
  15494. "pars": _2,
  15495. "partners": _2,
  15496. "parts": _2,
  15497. "party": _43,
  15498. "pay": _2,
  15499. "pccw": _2,
  15500. "pet": _2,
  15501. "pfizer": _2,
  15502. "pharmacy": _2,
  15503. "phd": _2,
  15504. "philips": _2,
  15505. "phone": _2,
  15506. "photo": _2,
  15507. "photography": _2,
  15508. "photos": _50,
  15509. "physio": _2,
  15510. "pics": _2,
  15511. "pictet": _2,
  15512. "pictures": [1, {
  15513. "1337": _3
  15514. }],
  15515. "pid": _2,
  15516. "pin": _2,
  15517. "ping": _2,
  15518. "pink": _2,
  15519. "pioneer": _2,
  15520. "pizza": [1, {
  15521. "ngrok": _3
  15522. }],
  15523. "place": _14,
  15524. "play": _2,
  15525. "playstation": _2,
  15526. "plumbing": _2,
  15527. "plus": _2,
  15528. "pnc": _2,
  15529. "pohl": _2,
  15530. "poker": _2,
  15531. "politie": _2,
  15532. "porn": [1, {
  15533. "indie": _3
  15534. }],
  15535. "pramerica": _2,
  15536. "praxi": _2,
  15537. "press": _2,
  15538. "prime": _2,
  15539. "prod": _2,
  15540. "productions": _2,
  15541. "prof": _2,
  15542. "progressive": _2,
  15543. "promo": _2,
  15544. "properties": _2,
  15545. "property": _2,
  15546. "protection": _2,
  15547. "pru": _2,
  15548. "prudential": _2,
  15549. "pub": _51,
  15550. "pwc": _2,
  15551. "qpon": _2,
  15552. "quebec": _2,
  15553. "quest": _2,
  15554. "racing": _2,
  15555. "radio": _2,
  15556. "read": _2,
  15557. "realestate": _2,
  15558. "realtor": _2,
  15559. "realty": _2,
  15560. "recipes": _2,
  15561. "red": _2,
  15562. "redstone": _2,
  15563. "redumbrella": _2,
  15564. "rehab": _2,
  15565. "reise": _2,
  15566. "reisen": _2,
  15567. "reit": _2,
  15568. "reliance": _2,
  15569. "ren": _2,
  15570. "rent": _2,
  15571. "rentals": _2,
  15572. "repair": _2,
  15573. "report": _2,
  15574. "republican": _2,
  15575. "rest": _2,
  15576. "restaurant": _2,
  15577. "review": _43,
  15578. "reviews": _2,
  15579. "rexroth": _2,
  15580. "rich": _2,
  15581. "richardli": _2,
  15582. "ricoh": _2,
  15583. "ril": _2,
  15584. "rio": _2,
  15585. "rip": [1, {
  15586. "clan": _3
  15587. }],
  15588. "rocks": [1, {
  15589. "myddns": _3,
  15590. "lima-city": _3,
  15591. "webspace": _3
  15592. }],
  15593. "rodeo": _2,
  15594. "rogers": _2,
  15595. "room": _2,
  15596. "rsvp": _2,
  15597. "rugby": _2,
  15598. "ruhr": _2,
  15599. "run": [1, {
  15600. "hs": _3,
  15601. "development": _3,
  15602. "ravendb": _3,
  15603. "servers": _3,
  15604. "build": _5,
  15605. "code": _5,
  15606. "database": _5,
  15607. "migration": _5,
  15608. "onporter": _3,
  15609. "repl": _3,
  15610. "wix": _3
  15611. }],
  15612. "rwe": _2,
  15613. "ryukyu": _2,
  15614. "saarland": _2,
  15615. "safe": _2,
  15616. "safety": _2,
  15617. "sakura": _2,
  15618. "sale": _2,
  15619. "salon": _2,
  15620. "samsclub": _2,
  15621. "samsung": _2,
  15622. "sandvik": _2,
  15623. "sandvikcoromant": _2,
  15624. "sanofi": _2,
  15625. "sap": _2,
  15626. "sarl": _2,
  15627. "sas": _2,
  15628. "save": _2,
  15629. "saxo": _2,
  15630. "sbi": _2,
  15631. "sbs": _2,
  15632. "scb": _2,
  15633. "schaeffler": _2,
  15634. "schmidt": _2,
  15635. "scholarships": _2,
  15636. "school": _2,
  15637. "schule": _2,
  15638. "schwarz": _2,
  15639. "science": _43,
  15640. "scot": [1, {
  15641. "edu": _3,
  15642. "gov": [2, {
  15643. "service": _3
  15644. }]
  15645. }],
  15646. "search": _2,
  15647. "seat": _2,
  15648. "secure": _2,
  15649. "security": _2,
  15650. "seek": _2,
  15651. "select": _2,
  15652. "sener": _2,
  15653. "services": [1, {
  15654. "loginline": _3
  15655. }],
  15656. "seven": _2,
  15657. "sew": _2,
  15658. "sex": _2,
  15659. "sexy": _2,
  15660. "sfr": _2,
  15661. "shangrila": _2,
  15662. "sharp": _2,
  15663. "shaw": _2,
  15664. "shell": _2,
  15665. "shia": _2,
  15666. "shiksha": _2,
  15667. "shoes": _2,
  15668. "shop": [1, {
  15669. "base": _3,
  15670. "hoplix": _3,
  15671. "barsy": _3
  15672. }],
  15673. "shopping": _2,
  15674. "shouji": _2,
  15675. "show": _2,
  15676. "silk": _2,
  15677. "sina": _2,
  15678. "singles": _2,
  15679. "site": [1, {
  15680. "cloudera": _5,
  15681. "cyon": _3,
  15682. "fnwk": _3,
  15683. "folionetwork": _3,
  15684. "fastvps": _3,
  15685. "jele": _3,
  15686. "lelux": _3,
  15687. "loginline": _3,
  15688. "barsy": _3,
  15689. "mintere": _3,
  15690. "omniwe": _3,
  15691. "opensocial": _3,
  15692. "platformsh": _5,
  15693. "tst": _5,
  15694. "byen": _3,
  15695. "srht": _3,
  15696. "novecore": _3
  15697. }],
  15698. "ski": _2,
  15699. "skin": _2,
  15700. "sky": _2,
  15701. "skype": _2,
  15702. "sling": _2,
  15703. "smart": _2,
  15704. "smile": _2,
  15705. "sncf": _2,
  15706. "soccer": _2,
  15707. "social": _2,
  15708. "softbank": _2,
  15709. "software": _2,
  15710. "sohu": _2,
  15711. "solar": _2,
  15712. "solutions": [1, {
  15713. "diher": _5
  15714. }],
  15715. "song": _2,
  15716. "sony": _2,
  15717. "soy": _2,
  15718. "spa": _2,
  15719. "space": [1, {
  15720. "myfast": _3,
  15721. "uber": _3,
  15722. "xs4all": _3
  15723. }],
  15724. "sport": _2,
  15725. "spot": _2,
  15726. "srl": _2,
  15727. "stada": _2,
  15728. "staples": _2,
  15729. "star": _2,
  15730. "statebank": _2,
  15731. "statefarm": _2,
  15732. "stc": _2,
  15733. "stcgroup": _2,
  15734. "stockholm": _2,
  15735. "storage": _2,
  15736. "store": [1, {
  15737. "sellfy": _3,
  15738. "shopware": _3,
  15739. "storebase": _3
  15740. }],
  15741. "stream": _2,
  15742. "studio": _2,
  15743. "study": _2,
  15744. "style": _2,
  15745. "sucks": _2,
  15746. "supplies": _2,
  15747. "supply": _2,
  15748. "support": _51,
  15749. "surf": _2,
  15750. "surgery": _2,
  15751. "suzuki": _2,
  15752. "swatch": _2,
  15753. "swiss": _2,
  15754. "sydney": _2,
  15755. "systems": [1, {
  15756. "knightpoint": _3
  15757. }],
  15758. "tab": _2,
  15759. "taipei": _2,
  15760. "talk": _2,
  15761. "taobao": _2,
  15762. "target": _2,
  15763. "tatamotors": _2,
  15764. "tatar": _2,
  15765. "tattoo": _2,
  15766. "tax": _2,
  15767. "taxi": _2,
  15768. "tci": _2,
  15769. "tdk": _2,
  15770. "team": [1, {
  15771. "discourse": _3,
  15772. "jelastic": _3
  15773. }],
  15774. "tech": _2,
  15775. "technology": _14,
  15776. "temasek": _2,
  15777. "tennis": _2,
  15778. "teva": _2,
  15779. "thd": _2,
  15780. "theater": _2,
  15781. "theatre": _2,
  15782. "tiaa": _2,
  15783. "tickets": _2,
  15784. "tienda": _2,
  15785. "tips": _2,
  15786. "tires": _2,
  15787. "tirol": _2,
  15788. "tjmaxx": _2,
  15789. "tjx": _2,
  15790. "tkmaxx": _2,
  15791. "tmall": _2,
  15792. "today": [1, {
  15793. "prequalifyme": _3
  15794. }],
  15795. "tokyo": _2,
  15796. "tools": _2,
  15797. "top": [1, {
  15798. "now-dns": _3,
  15799. "ntdll": _3
  15800. }],
  15801. "toray": _2,
  15802. "toshiba": _2,
  15803. "total": _2,
  15804. "tours": _2,
  15805. "town": _2,
  15806. "toyota": _2,
  15807. "toys": _2,
  15808. "trade": _43,
  15809. "trading": _2,
  15810. "training": _2,
  15811. "travel": _2,
  15812. "travelers": _2,
  15813. "travelersinsurance": _2,
  15814. "trust": _2,
  15815. "trv": _2,
  15816. "tube": _2,
  15817. "tui": _2,
  15818. "tunes": _2,
  15819. "tushu": _2,
  15820. "tvs": _2,
  15821. "ubank": _2,
  15822. "ubs": _2,
  15823. "unicom": _2,
  15824. "university": _2,
  15825. "uno": _2,
  15826. "uol": _2,
  15827. "ups": _2,
  15828. "vacations": _2,
  15829. "vana": _2,
  15830. "vanguard": _2,
  15831. "vegas": _2,
  15832. "ventures": _2,
  15833. "verisign": _2,
  15834. "versicherung": _2,
  15835. "vet": _2,
  15836. "viajes": _2,
  15837. "video": _2,
  15838. "vig": _2,
  15839. "viking": _2,
  15840. "villas": _2,
  15841. "vin": _2,
  15842. "vip": _2,
  15843. "virgin": _2,
  15844. "visa": _2,
  15845. "vision": _2,
  15846. "viva": _2,
  15847. "vivo": _2,
  15848. "vlaanderen": _2,
  15849. "vodka": _2,
  15850. "volvo": _2,
  15851. "vote": _2,
  15852. "voting": _2,
  15853. "voto": _2,
  15854. "voyage": _2,
  15855. "wales": _2,
  15856. "walmart": _2,
  15857. "walter": _2,
  15858. "wang": _2,
  15859. "wanggou": _2,
  15860. "watch": _2,
  15861. "watches": _2,
  15862. "weather": _2,
  15863. "weatherchannel": _2,
  15864. "webcam": _2,
  15865. "weber": _2,
  15866. "website": _50,
  15867. "wed": _2,
  15868. "wedding": _2,
  15869. "weibo": _2,
  15870. "weir": _2,
  15871. "whoswho": _2,
  15872. "wien": _2,
  15873. "wiki": _50,
  15874. "williamhill": _2,
  15875. "win": _2,
  15876. "windows": _2,
  15877. "wine": _2,
  15878. "winners": _2,
  15879. "wme": _2,
  15880. "wolterskluwer": _2,
  15881. "woodside": _2,
  15882. "work": _2,
  15883. "works": _2,
  15884. "world": _2,
  15885. "wow": _2,
  15886. "wtc": _2,
  15887. "wtf": _2,
  15888. "xbox": _2,
  15889. "xerox": _2,
  15890. "xfinity": _2,
  15891. "xihuan": _2,
  15892. "xin": _2,
  15893. "xn--11b4c3d": _2,
  15894. "कॉम": _2,
  15895. "xn--1ck2e1b": _2,
  15896. "セール": _2,
  15897. "xn--1qqw23a": _2,
  15898. "佛山": _2,
  15899. "xn--30rr7y": _2,
  15900. "慈善": _2,
  15901. "xn--3bst00m": _2,
  15902. "集团": _2,
  15903. "xn--3ds443g": _2,
  15904. "在线": _2,
  15905. "xn--3pxu8k": _2,
  15906. "点看": _2,
  15907. "xn--42c2d9a": _2,
  15908. "คอม": _2,
  15909. "xn--45q11c": _2,
  15910. "八卦": _2,
  15911. "xn--4gbrim": _2,
  15912. "موقع": _2,
  15913. "xn--55qw42g": _2,
  15914. "公益": _2,
  15915. "xn--55qx5d": _2,
  15916. "公司": _2,
  15917. "xn--5su34j936bgsg": _2,
  15918. "香格里拉": _2,
  15919. "xn--5tzm5g": _2,
  15920. "网站": _2,
  15921. "xn--6frz82g": _2,
  15922. "移动": _2,
  15923. "xn--6qq986b3xl": _2,
  15924. "我爱你": _2,
  15925. "xn--80adxhks": _2,
  15926. "москва": _2,
  15927. "xn--80aqecdr1a": _2,
  15928. "католик": _2,
  15929. "xn--80asehdb": _2,
  15930. "онлайн": _2,
  15931. "xn--80aswg": _2,
  15932. "сайт": _2,
  15933. "xn--8y0a063a": _2,
  15934. "联通": _2,
  15935. "xn--9dbq2a": _2,
  15936. "קום": _2,
  15937. "xn--9et52u": _2,
  15938. "时尚": _2,
  15939. "xn--9krt00a": _2,
  15940. "微博": _2,
  15941. "xn--b4w605ferd": _2,
  15942. "淡马锡": _2,
  15943. "xn--bck1b9a5dre4c": _2,
  15944. "ファッション": _2,
  15945. "xn--c1avg": _2,
  15946. "орг": _2,
  15947. "xn--c2br7g": _2,
  15948. "नेट": _2,
  15949. "xn--cck2b3b": _2,
  15950. "ストア": _2,
  15951. "xn--cckwcxetd": _2,
  15952. "アマゾン": _2,
  15953. "xn--cg4bki": _2,
  15954. "삼성": _2,
  15955. "xn--czr694b": _2,
  15956. "商标": _2,
  15957. "xn--czrs0t": _2,
  15958. "商店": _2,
  15959. "xn--czru2d": _2,
  15960. "商城": _2,
  15961. "xn--d1acj3b": _2,
  15962. "дети": _2,
  15963. "xn--eckvdtc9d": _2,
  15964. "ポイント": _2,
  15965. "xn--efvy88h": _2,
  15966. "新闻": _2,
  15967. "xn--fct429k": _2,
  15968. "家電": _2,
  15969. "xn--fhbei": _2,
  15970. "كوم": _2,
  15971. "xn--fiq228c5hs": _2,
  15972. "中文网": _2,
  15973. "xn--fiq64b": _2,
  15974. "中信": _2,
  15975. "xn--fjq720a": _2,
  15976. "娱乐": _2,
  15977. "xn--flw351e": _2,
  15978. "谷歌": _2,
  15979. "xn--fzys8d69uvgm": _2,
  15980. "電訊盈科": _2,
  15981. "xn--g2xx48c": _2,
  15982. "购物": _2,
  15983. "xn--gckr3f0f": _2,
  15984. "クラウド": _2,
  15985. "xn--gk3at1e": _2,
  15986. "通販": _2,
  15987. "xn--hxt814e": _2,
  15988. "网店": _2,
  15989. "xn--i1b6b1a6a2e": _2,
  15990. "संगठन": _2,
  15991. "xn--imr513n": _2,
  15992. "餐厅": _2,
  15993. "xn--io0a7i": _2,
  15994. "网络": _2,
  15995. "xn--j1aef": _2,
  15996. "ком": _2,
  15997. "xn--jlq480n2rg": _2,
  15998. "亚马逊": _2,
  15999. "xn--jvr189m": _2,
  16000. "食品": _2,
  16001. "xn--kcrx77d1x4a": _2,
  16002. "飞利浦": _2,
  16003. "xn--kput3i": _2,
  16004. "手机": _2,
  16005. "xn--mgba3a3ejt": _2,
  16006. "ارامكو": _2,
  16007. "xn--mgba7c0bbn0a": _2,
  16008. "العليان": _2,
  16009. "xn--mgbab2bd": _2,
  16010. "بازار": _2,
  16011. "xn--mgbca7dzdo": _2,
  16012. "ابوظبي": _2,
  16013. "xn--mgbi4ecexp": _2,
  16014. "كاثوليك": _2,
  16015. "xn--mgbt3dhd": _2,
  16016. "همراه": _2,
  16017. "xn--mk1bu44c": _2,
  16018. "닷컴": _2,
  16019. "xn--mxtq1m": _2,
  16020. "政府": _2,
  16021. "xn--ngbc5azd": _2,
  16022. "شبكة": _2,
  16023. "xn--ngbe9e0a": _2,
  16024. "بيتك": _2,
  16025. "xn--ngbrx": _2,
  16026. "عرب": _2,
  16027. "xn--nqv7f": _2,
  16028. "机构": _2,
  16029. "xn--nqv7fs00ema": _2,
  16030. "组织机构": _2,
  16031. "xn--nyqy26a": _2,
  16032. "健康": _2,
  16033. "xn--otu796d": _2,
  16034. "招聘": _2,
  16035. "xn--p1acf": [1, {
  16036. "xn--90amc": _3,
  16037. "xn--j1aef": _3,
  16038. "xn--j1ael8b": _3,
  16039. "xn--h1ahn": _3,
  16040. "xn--j1adp": _3,
  16041. "xn--c1avg": _3,
  16042. "xn--80aaa0cvac": _3,
  16043. "xn--h1aliz": _3,
  16044. "xn--90a1af": _3,
  16045. "xn--41a": _3
  16046. }],
  16047. "рус": [1, {
  16048. "биз": _3,
  16049. "ком": _3,
  16050. "крым": _3,
  16051. "мир": _3,
  16052. "мск": _3,
  16053. "орг": _3,
  16054. "самара": _3,
  16055. "сочи": _3,
  16056. "спб": _3,
  16057. "я": _3
  16058. }],
  16059. "xn--pssy2u": _2,
  16060. "大拿": _2,
  16061. "xn--q9jyb4c": _2,
  16062. "みんな": _2,
  16063. "xn--qcka1pmc": _2,
  16064. "グーグル": _2,
  16065. "xn--rhqv96g": _2,
  16066. "世界": _2,
  16067. "xn--rovu88b": _2,
  16068. "書籍": _2,
  16069. "xn--ses554g": _2,
  16070. "网址": _2,
  16071. "xn--t60b56a": _2,
  16072. "닷넷": _2,
  16073. "xn--tckwe": _2,
  16074. "コム": _2,
  16075. "xn--tiq49xqyj": _2,
  16076. "天主教": _2,
  16077. "xn--unup4y": _2,
  16078. "游戏": _2,
  16079. "xn--vermgensberater-ctb": _2,
  16080. "vermögensberater": _2,
  16081. "xn--vermgensberatung-pwb": _2,
  16082. "vermögensberatung": _2,
  16083. "xn--vhquv": _2,
  16084. "企业": _2,
  16085. "xn--vuq861b": _2,
  16086. "信息": _2,
  16087. "xn--w4r85el8fhu5dnra": _2,
  16088. "嘉里大酒店": _2,
  16089. "xn--w4rs40l": _2,
  16090. "嘉里": _2,
  16091. "xn--xhq521b": _2,
  16092. "广东": _2,
  16093. "xn--zfr164b": _2,
  16094. "政务": _2,
  16095. "xyz": [1, {
  16096. "blogsite": _3,
  16097. "localzone": _3,
  16098. "crafting": _3,
  16099. "zapto": _3,
  16100. "telebit": _5
  16101. }],
  16102. "yachts": _2,
  16103. "yahoo": _2,
  16104. "yamaxun": _2,
  16105. "yandex": _2,
  16106. "yodobashi": _2,
  16107. "yoga": _2,
  16108. "yokohama": _2,
  16109. "you": _2,
  16110. "youtube": _2,
  16111. "yun": _2,
  16112. "zappos": _2,
  16113. "zara": _2,
  16114. "zero": _2,
  16115. "zip": _2,
  16116. "zone": [1, {
  16117. "cloud66": _3,
  16118. "hs": _3,
  16119. "triton": _5,
  16120. "lima": _3
  16121. }],
  16122. "zuerich": _2
  16123. }];
  16124. return rules;
  16125. }();
  16126. ;// CONCATENATED MODULE: ../../node_modules/tldts/dist/es6/src/suffix-trie.js
  16127. /**
  16128. * Lookup parts of domain in Trie
  16129. */
  16130. function lookupInTrie(parts, trie, index, allowedMask) {
  16131. let result = null;
  16132. let node = trie;
  16133. while (node !== undefined) {
  16134. // We have a match!
  16135. if ((node[0] & allowedMask) !== 0) {
  16136. result = {
  16137. index: index + 1,
  16138. isIcann: node[0] === 1 /* RULE_TYPE.ICANN */,
  16139. isPrivate: node[0] === 2 /* RULE_TYPE.PRIVATE */
  16140. };
  16141. }
  16142. // No more `parts` to look for
  16143. if (index === -1) {
  16144. break;
  16145. }
  16146. const succ = node[1];
  16147. node = Object.prototype.hasOwnProperty.call(succ, parts[index]) ? succ[parts[index]] : succ['*'];
  16148. index -= 1;
  16149. }
  16150. return result;
  16151. }
  16152. /**
  16153. * Check if `hostname` has a valid public suffix in `trie`.
  16154. */
  16155. function suffix_trie_suffixLookup(hostname, options, out) {
  16156. var _a;
  16157. if (fast_path(hostname, options, out)) {
  16158. return;
  16159. }
  16160. const hostnameParts = hostname.split('.');
  16161. const allowedMask = (options.allowPrivateDomains ? 2 /* RULE_TYPE.PRIVATE */ : 0) | (options.allowIcannDomains ? 1 /* RULE_TYPE.ICANN */ : 0);
  16162. // Look for exceptions
  16163. const exceptionMatch = lookupInTrie(hostnameParts, exceptions, hostnameParts.length - 1, allowedMask);
  16164. if (exceptionMatch !== null) {
  16165. out.isIcann = exceptionMatch.isIcann;
  16166. out.isPrivate = exceptionMatch.isPrivate;
  16167. out.publicSuffix = hostnameParts.slice(exceptionMatch.index + 1).join('.');
  16168. return;
  16169. }
  16170. // Look for a match in rules
  16171. const rulesMatch = lookupInTrie(hostnameParts, rules, hostnameParts.length - 1, allowedMask);
  16172. if (rulesMatch !== null) {
  16173. out.isIcann = rulesMatch.isIcann;
  16174. out.isPrivate = rulesMatch.isPrivate;
  16175. out.publicSuffix = hostnameParts.slice(rulesMatch.index).join('.');
  16176. return;
  16177. }
  16178. // No match found...
  16179. // Prevailing rule is '*' so we consider the top-level domain to be the
  16180. // public suffix of `hostname` (e.g.: 'example.org' => 'org').
  16181. out.isIcann = false;
  16182. out.isPrivate = false;
  16183. out.publicSuffix = (_a = hostnameParts[hostnameParts.length - 1]) !== null && _a !== void 0 ? _a : null;
  16184. }
  16185. ;// CONCATENATED MODULE: ../../node_modules/tldts/dist/es6/index.js
  16186. // For all methods but 'parse', it does not make sense to allocate an object
  16187. // every single time to only return the value of a specific attribute. To avoid
  16188. // this un-necessary allocation, we use a global object which is re-used.
  16189. const RESULT = getEmptyResult();
  16190. function parse(url, options = {}) {
  16191. return factory_parseImpl(url, 5 /* FLAG.ALL */, suffix_trie_suffixLookup, options, getEmptyResult());
  16192. }
  16193. function getHostname(url, options = {}) {
  16194. /*@__INLINE__*/factory_resetResult(RESULT);
  16195. return factory_parseImpl(url, 0 /* FLAG.HOSTNAME */, suffix_trie_suffixLookup, options, RESULT).hostname;
  16196. }
  16197. function getPublicSuffix(url, options = {}) {
  16198. /*@__INLINE__*/resetResult(RESULT);
  16199. return parseImpl(url, 2 /* FLAG.PUBLIC_SUFFIX */, suffixLookup, options, RESULT).publicSuffix;
  16200. }
  16201. function es6_getDomain(url, options = {}) {
  16202. /*@__INLINE__*/resetResult(RESULT);
  16203. return parseImpl(url, 3 /* FLAG.DOMAIN */, suffixLookup, options, RESULT).domain;
  16204. }
  16205. function es6_getSubdomain(url, options = {}) {
  16206. /*@__INLINE__*/resetResult(RESULT);
  16207. return parseImpl(url, 4 /* FLAG.SUB_DOMAIN */, suffixLookup, options, RESULT).subdomain;
  16208. }
  16209. function es6_getDomainWithoutSuffix(url, options = {}) {
  16210. /*@__INLINE__*/resetResult(RESULT);
  16211. return parseImpl(url, 5 /* FLAG.ALL */, suffixLookup, options, RESULT).domainWithoutSuffix;
  16212. }
  16213. ;// CONCATENATED MODULE: ../../libs/common/src/platform/misc/utils.ts
  16214. /* provided dependency */ var utils_process = __webpack_require__(71624);
  16215. /* eslint-disable no-useless-escape */
  16216. const nodeURL = typeof window === "undefined" ? __webpack_require__(69573) : null;
  16217. class Utils {
  16218. static init() {
  16219. if (Utils.inited) {
  16220. return;
  16221. }
  16222. Utils.inited = true;
  16223. Utils.isNode =
  16224. typeof utils_process !== "undefined" &&
  16225. utils_process.release != null &&
  16226. utils_process.release.name === "node";
  16227. Utils.isBrowser = typeof window !== "undefined";
  16228. Utils.isMobileBrowser = Utils.isBrowser && this.isMobile(window);
  16229. Utils.isAppleMobileBrowser = Utils.isBrowser && this.isAppleMobile(window);
  16230. if (Utils.isNode) {
  16231. Utils.global = __webpack_require__.g;
  16232. }
  16233. else if (Utils.isBrowser) {
  16234. Utils.global = window;
  16235. }
  16236. else {
  16237. // If it's not browser or node then it must be a service worker
  16238. Utils.global = self;
  16239. }
  16240. }
  16241. static fromB64ToArray(str) {
  16242. if (str == null) {
  16243. return null;
  16244. }
  16245. if (Utils.isNode) {
  16246. return new Uint8Array(Buffer.from(str, "base64"));
  16247. }
  16248. else {
  16249. const binaryString = Utils.global.atob(str);
  16250. const bytes = new Uint8Array(binaryString.length);
  16251. for (let i = 0; i < binaryString.length; i++) {
  16252. bytes[i] = binaryString.charCodeAt(i);
  16253. }
  16254. return bytes;
  16255. }
  16256. }
  16257. static fromUrlB64ToArray(str) {
  16258. return Utils.fromB64ToArray(Utils.fromUrlB64ToB64(str));
  16259. }
  16260. static fromHexToArray(str) {
  16261. if (Utils.isNode) {
  16262. return new Uint8Array(Buffer.from(str, "hex"));
  16263. }
  16264. else {
  16265. const bytes = new Uint8Array(str.length / 2);
  16266. for (let i = 0; i < str.length; i += 2) {
  16267. bytes[i / 2] = parseInt(str.substr(i, 2), 16);
  16268. }
  16269. return bytes;
  16270. }
  16271. }
  16272. static fromUtf8ToArray(str) {
  16273. if (Utils.isNode) {
  16274. return new Uint8Array(Buffer.from(str, "utf8"));
  16275. }
  16276. else {
  16277. const strUtf8 = unescape(encodeURIComponent(str));
  16278. const arr = new Uint8Array(strUtf8.length);
  16279. for (let i = 0; i < strUtf8.length; i++) {
  16280. arr[i] = strUtf8.charCodeAt(i);
  16281. }
  16282. return arr;
  16283. }
  16284. }
  16285. static fromByteStringToArray(str) {
  16286. if (str == null) {
  16287. return null;
  16288. }
  16289. const arr = new Uint8Array(str.length);
  16290. for (let i = 0; i < str.length; i++) {
  16291. arr[i] = str.charCodeAt(i);
  16292. }
  16293. return arr;
  16294. }
  16295. static fromBufferToB64(buffer) {
  16296. if (buffer == null) {
  16297. return null;
  16298. }
  16299. if (Utils.isNode) {
  16300. return Buffer.from(buffer).toString("base64");
  16301. }
  16302. else {
  16303. let binary = "";
  16304. const bytes = new Uint8Array(buffer);
  16305. for (let i = 0; i < bytes.byteLength; i++) {
  16306. binary += String.fromCharCode(bytes[i]);
  16307. }
  16308. return Utils.global.btoa(binary);
  16309. }
  16310. }
  16311. static fromBufferToUrlB64(buffer) {
  16312. return Utils.fromB64toUrlB64(Utils.fromBufferToB64(buffer));
  16313. }
  16314. static fromB64toUrlB64(b64Str) {
  16315. return b64Str.replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, "");
  16316. }
  16317. static fromBufferToUtf8(buffer) {
  16318. if (Utils.isNode) {
  16319. return Buffer.from(buffer).toString("utf8");
  16320. }
  16321. else {
  16322. const bytes = new Uint8Array(buffer);
  16323. const encodedString = String.fromCharCode.apply(null, bytes);
  16324. return decodeURIComponent(escape(encodedString));
  16325. }
  16326. }
  16327. static fromBufferToByteString(buffer) {
  16328. return String.fromCharCode.apply(null, new Uint8Array(buffer));
  16329. }
  16330. // ref: https://stackoverflow.com/a/40031979/1090359
  16331. static fromBufferToHex(buffer) {
  16332. if (Utils.isNode) {
  16333. return Buffer.from(buffer).toString("hex");
  16334. }
  16335. else {
  16336. const bytes = new Uint8Array(buffer);
  16337. return Array.prototype.map
  16338. .call(bytes, (x) => ("00" + x.toString(16)).slice(-2))
  16339. .join("");
  16340. }
  16341. }
  16342. /**
  16343. * Converts a hex string to an ArrayBuffer.
  16344. * Note: this doesn't need any Node specific code as parseInt() / ArrayBuffer / Uint8Array
  16345. * work the same in Node and the browser.
  16346. * @param {string} hexString - A string of hexadecimal characters.
  16347. * @returns {ArrayBuffer} The ArrayBuffer representation of the hex string.
  16348. */
  16349. static hexStringToArrayBuffer(hexString) {
  16350. // Check if the hexString has an even length, as each hex digit represents half a byte (4 bits),
  16351. // and it takes two hex digits to represent a full byte (8 bits).
  16352. if (hexString.length % 2 !== 0) {
  16353. throw "HexString has to be an even length";
  16354. }
  16355. // Create an ArrayBuffer with a length that is half the length of the hex string,
  16356. // because each pair of hex digits will become a single byte.
  16357. const arrayBuffer = new ArrayBuffer(hexString.length / 2);
  16358. // Create a Uint8Array view on top of the ArrayBuffer (each position represents a byte)
  16359. // as ArrayBuffers cannot be edited directly.
  16360. const uint8Array = new Uint8Array(arrayBuffer);
  16361. // Loop through the bytes
  16362. for (let i = 0; i < uint8Array.length; i++) {
  16363. // Extract two hex characters (1 byte)
  16364. const hexByte = hexString.substr(i * 2, 2);
  16365. // Convert hexByte into a decimal value from base 16. (ex: ff --> 255)
  16366. const byteValue = parseInt(hexByte, 16);
  16367. // Place the byte value into the uint8Array
  16368. uint8Array[i] = byteValue;
  16369. }
  16370. return arrayBuffer;
  16371. }
  16372. static fromUrlB64ToB64(urlB64Str) {
  16373. let output = urlB64Str.replace(/-/g, "+").replace(/_/g, "/");
  16374. switch (output.length % 4) {
  16375. case 0:
  16376. break;
  16377. case 2:
  16378. output += "==";
  16379. break;
  16380. case 3:
  16381. output += "=";
  16382. break;
  16383. default:
  16384. throw new Error("Illegal base64url string!");
  16385. }
  16386. return output;
  16387. }
  16388. static fromUrlB64ToUtf8(urlB64Str) {
  16389. return Utils.fromB64ToUtf8(Utils.fromUrlB64ToB64(urlB64Str));
  16390. }
  16391. static fromUtf8ToB64(utfStr) {
  16392. if (Utils.isNode) {
  16393. return Buffer.from(utfStr, "utf8").toString("base64");
  16394. }
  16395. else {
  16396. return decodeURIComponent(escape(Utils.global.btoa(utfStr)));
  16397. }
  16398. }
  16399. static fromUtf8ToUrlB64(utfStr) {
  16400. return Utils.fromBufferToUrlB64(Utils.fromUtf8ToArray(utfStr));
  16401. }
  16402. static fromB64ToUtf8(b64Str) {
  16403. if (Utils.isNode) {
  16404. return Buffer.from(b64Str, "base64").toString("utf8");
  16405. }
  16406. else {
  16407. return decodeURIComponent(escape(Utils.global.atob(b64Str)));
  16408. }
  16409. }
  16410. // ref: http://stackoverflow.com/a/2117523/1090359
  16411. static newGuid() {
  16412. return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c) => {
  16413. const r = (Math.random() * 16) | 0;
  16414. const v = c === "x" ? r : (r & 0x3) | 0x8;
  16415. return v.toString(16);
  16416. });
  16417. }
  16418. static isGuid(id) {
  16419. return RegExp(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/, "i").test(id);
  16420. }
  16421. static getHostname(uriString) {
  16422. if (Utils.isNullOrWhitespace(uriString)) {
  16423. return null;
  16424. }
  16425. uriString = uriString.trim();
  16426. if (uriString.startsWith("data:")) {
  16427. return null;
  16428. }
  16429. if (uriString.startsWith("about:")) {
  16430. return null;
  16431. }
  16432. if (uriString.startsWith("file:")) {
  16433. return null;
  16434. }
  16435. // Does uriString contain invalid characters
  16436. // TODO Needs to possibly be extended, although '!' is a reserved character
  16437. if (uriString.indexOf("!") > 0) {
  16438. return null;
  16439. }
  16440. try {
  16441. const hostname = getHostname(uriString, { validHosts: this.validHosts });
  16442. if (hostname != null) {
  16443. return hostname;
  16444. }
  16445. }
  16446. catch (_a) {
  16447. return null;
  16448. }
  16449. return null;
  16450. }
  16451. static getHost(uriString) {
  16452. const url = Utils.getUrl(uriString);
  16453. try {
  16454. return url != null && url.host !== "" ? url.host : null;
  16455. }
  16456. catch (_a) {
  16457. return null;
  16458. }
  16459. }
  16460. static getDomain(uriString) {
  16461. if (Utils.isNullOrWhitespace(uriString)) {
  16462. return null;
  16463. }
  16464. uriString = uriString.trim();
  16465. if (uriString.startsWith("data:")) {
  16466. return null;
  16467. }
  16468. if (uriString.startsWith("about:")) {
  16469. return null;
  16470. }
  16471. try {
  16472. const parseResult = parse(uriString, {
  16473. validHosts: this.validHosts,
  16474. allowPrivateDomains: true,
  16475. });
  16476. if (parseResult != null && parseResult.hostname != null) {
  16477. if (parseResult.hostname === "localhost" || parseResult.isIp) {
  16478. return parseResult.hostname;
  16479. }
  16480. if (parseResult.domain != null) {
  16481. return parseResult.domain;
  16482. }
  16483. return null;
  16484. }
  16485. }
  16486. catch (_a) {
  16487. return null;
  16488. }
  16489. return null;
  16490. }
  16491. static getQueryParams(uriString) {
  16492. const url = Utils.getUrl(uriString);
  16493. if (url == null || url.search == null || url.search === "") {
  16494. return null;
  16495. }
  16496. const map = new Map();
  16497. const pairs = (url.search[0] === "?" ? url.search.substr(1) : url.search).split("&");
  16498. pairs.forEach((pair) => {
  16499. const parts = pair.split("=");
  16500. if (parts.length < 1) {
  16501. return;
  16502. }
  16503. map.set(decodeURIComponent(parts[0]).toLowerCase(), parts[1] == null ? "" : decodeURIComponent(parts[1]));
  16504. });
  16505. return map;
  16506. }
  16507. static getSortFunction(i18nService, prop) {
  16508. return (a, b) => {
  16509. if (a[prop] == null && b[prop] != null) {
  16510. return -1;
  16511. }
  16512. if (a[prop] != null && b[prop] == null) {
  16513. return 1;
  16514. }
  16515. if (a[prop] == null && b[prop] == null) {
  16516. return 0;
  16517. }
  16518. // The `as unknown as string` here is unfortunate because typescript doesn't property understand that the return of T[prop] will be a string
  16519. return i18nService.collator
  16520. ? i18nService.collator.compare(a[prop], b[prop])
  16521. : a[prop].localeCompare(b[prop]);
  16522. };
  16523. }
  16524. static isNullOrWhitespace(str) {
  16525. return str == null || typeof str !== "string" || str.trim() === "";
  16526. }
  16527. static isNullOrEmpty(str) {
  16528. return str == null || typeof str !== "string" || str == "";
  16529. }
  16530. static isPromise(obj) {
  16531. return (obj != undefined && typeof obj["then"] === "function" && typeof obj["catch"] === "function");
  16532. }
  16533. static nameOf(name) {
  16534. return name;
  16535. }
  16536. static assign(target, source) {
  16537. return Object.assign(target, source);
  16538. }
  16539. static iterateEnum(obj) {
  16540. return Object.keys(obj).filter((k) => Number.isNaN(+k)).map((k) => obj[k]);
  16541. }
  16542. static getUrl(uriString) {
  16543. if (this.isNullOrWhitespace(uriString)) {
  16544. return null;
  16545. }
  16546. uriString = uriString.trim();
  16547. return Utils.getUrlObject(uriString);
  16548. }
  16549. static camelToPascalCase(s) {
  16550. return s.charAt(0).toUpperCase() + s.slice(1);
  16551. }
  16552. /**
  16553. * There are a few ways to calculate text color for contrast, this one seems to fit accessibility guidelines best.
  16554. * https://stackoverflow.com/a/3943023/6869691
  16555. *
  16556. * @param {string} bgColor
  16557. * @param {number} [threshold] see stackoverflow link above
  16558. * @param {boolean} [svgTextFill]
  16559. * Indicates if this method is performed on an SVG <text> 'fill' attribute (e.g. <text fill="black"></text>).
  16560. * This check is necessary because the '!important' tag cannot be used in a 'fill' attribute.
  16561. */
  16562. static pickTextColorBasedOnBgColor(bgColor, threshold = 186, svgTextFill = false) {
  16563. const bgColorHexNums = bgColor.charAt(0) === "#" ? bgColor.substring(1, 7) : bgColor;
  16564. const r = parseInt(bgColorHexNums.substring(0, 2), 16); // hexToR
  16565. const g = parseInt(bgColorHexNums.substring(2, 4), 16); // hexToG
  16566. const b = parseInt(bgColorHexNums.substring(4, 6), 16); // hexToB
  16567. const blackColor = svgTextFill ? "black" : "black !important";
  16568. const whiteColor = svgTextFill ? "white" : "white !important";
  16569. return r * 0.299 + g * 0.587 + b * 0.114 > threshold ? blackColor : whiteColor;
  16570. }
  16571. static stringToColor(str) {
  16572. let hash = 0;
  16573. for (let i = 0; i < str.length; i++) {
  16574. hash = str.charCodeAt(i) + ((hash << 5) - hash);
  16575. }
  16576. let color = "#";
  16577. for (let i = 0; i < 3; i++) {
  16578. const value = (hash >> (i * 8)) & 0xff;
  16579. color += ("00" + value.toString(16)).substr(-2);
  16580. }
  16581. return color;
  16582. }
  16583. /**
  16584. * @throws Will throw an error if the ContainerService has not been attached to the window object
  16585. */
  16586. static getContainerService() {
  16587. if (this.global.bitwardenContainerService == null) {
  16588. throw new Error("global bitwardenContainerService not initialized.");
  16589. }
  16590. return this.global.bitwardenContainerService;
  16591. }
  16592. static validateHexColor(color) {
  16593. return /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/.test(color);
  16594. }
  16595. /**
  16596. * Converts map to a Record<string, V> with the same data. Inverse of recordToMap
  16597. * Useful in toJSON methods, since Maps are not serializable
  16598. * @param map
  16599. * @returns
  16600. */
  16601. static mapToRecord(map) {
  16602. if (map == null) {
  16603. return null;
  16604. }
  16605. if (!(map instanceof Map)) {
  16606. return map;
  16607. }
  16608. return Object.fromEntries(map);
  16609. }
  16610. /**
  16611. * Converts record to a Map<string, V> with the same data. Inverse of mapToRecord
  16612. * Useful in fromJSON methods, since Maps are not serializable
  16613. *
  16614. * Warning: If the record has string keys that are numbers, they will be converted to numbers in the map
  16615. * @param record
  16616. * @returns
  16617. */
  16618. static recordToMap(record) {
  16619. if (record == null) {
  16620. return null;
  16621. }
  16622. else if (record instanceof Map) {
  16623. return record;
  16624. }
  16625. const entries = Object.entries(record);
  16626. if (entries.length === 0) {
  16627. return new Map();
  16628. }
  16629. if (isNaN(Number(entries[0][0]))) {
  16630. return new Map(entries);
  16631. }
  16632. else {
  16633. return new Map(entries.map((e) => [Number(e[0]), e[1]]));
  16634. }
  16635. }
  16636. /** Applies Object.assign, but converts the type nicely using Type-Fest Merge<Destination, Source> */
  16637. static merge(destination, source) {
  16638. return Object.assign(destination, source);
  16639. }
  16640. /**
  16641. * encodeURIComponent escapes all characters except the following:
  16642. * alphabetic, decimal digits, - _ . ! ~ * ' ( )
  16643. * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent#encoding_for_rfc3986
  16644. */
  16645. static encodeRFC3986URIComponent(str) {
  16646. return encodeURIComponent(str).replace(/[!'()*]/g, (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`);
  16647. }
  16648. /**
  16649. * Normalizes a path for defense against attacks like traversals
  16650. * @param denormalizedPath
  16651. * @returns
  16652. */
  16653. static normalizePath(denormalizedPath) {
  16654. return path_browserify.normalize(decodeURIComponent(denormalizedPath)).replace(/^(\.\.(\/|\\|$))+/, "");
  16655. }
  16656. static isMobile(win) {
  16657. let mobile = false;
  16658. ((a) => {
  16659. if (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a) ||
  16660. /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0, 4))) {
  16661. mobile = true;
  16662. }
  16663. })(win.navigator.userAgent || win.navigator.vendor || win.opera);
  16664. return mobile || win.navigator.userAgent.match(/iPad/i) != null;
  16665. }
  16666. static delay(ms) {
  16667. return new Promise((resolve) => setTimeout(resolve, ms));
  16668. }
  16669. /**
  16670. * Generate an observable from a function that returns a promise.
  16671. * Similar to the rxjs function {@link from} with one big exception:
  16672. * {@link from} will not re-execute the function when observers resubscribe.
  16673. * {@link Util.asyncToObservable} will execute `generator` for every
  16674. * subscribe, making it ideal if the value ever needs to be refreshed.
  16675. * */
  16676. static asyncToObservable(generator) {
  16677. return of(undefined).pipe(switchMap(() => generator()));
  16678. }
  16679. /**
  16680. * Return the number of days remaining before a target date arrives.
  16681. * Returns 0 if the day has already passed.
  16682. */
  16683. static daysRemaining(targetDate) {
  16684. const diffTime = targetDate.getTime() - Date.now();
  16685. const msPerDay = 86400000;
  16686. return Math.max(0, Math.floor(diffTime / msPerDay));
  16687. }
  16688. static isAppleMobile(win) {
  16689. return (win.navigator.userAgent.match(/iPhone/i) != null ||
  16690. win.navigator.userAgent.match(/iPad/i) != null);
  16691. }
  16692. static getUrlObject(uriString) {
  16693. // All the methods below require a protocol to properly parse a URL string
  16694. // Assume http if no other protocol is present
  16695. const hasProtocol = uriString.indexOf("://") > -1;
  16696. if (!hasProtocol && uriString.indexOf(".") > -1) {
  16697. uriString = "http://" + uriString;
  16698. }
  16699. else if (!hasProtocol) {
  16700. return null;
  16701. }
  16702. try {
  16703. if (nodeURL != null) {
  16704. return new nodeURL.URL(uriString);
  16705. }
  16706. return new URL(uriString);
  16707. }
  16708. catch (e) {
  16709. // Ignore error
  16710. }
  16711. return null;
  16712. }
  16713. }
  16714. Utils.inited = false;
  16715. Utils.isNode = false;
  16716. Utils.isBrowser = true;
  16717. Utils.isMobileBrowser = false;
  16718. Utils.isAppleMobileBrowser = false;
  16719. Utils.global = null;
  16720. // Transpiled version of /\p{Emoji_Presentation}/gu using https://mothereff.in/regexpu. Used for compatability in older browsers.
  16721. Utils.regexpEmojiPresentation = /(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])/g;
  16722. Utils.validHosts = ["localhost"];
  16723. Utils.originalMinimumPasswordLength = 8;
  16724. Utils.minimumPasswordLength = 12;
  16725. Utils.DomainMatchBlacklist = new Map([
  16726. ["google.com", new Set(["script.google.com"])],
  16727. ]);
  16728. Utils.init();
  16729. ;// CONCATENATED MODULE: ../../libs/common/src/vault/services/fido2/fido2-utils.ts
  16730. class Fido2Utils {
  16731. static bufferToString(bufferSource) {
  16732. const buffer = Fido2Utils.bufferSourceToUint8Array(bufferSource);
  16733. return Utils.fromBufferToUrlB64(buffer);
  16734. }
  16735. static stringToBuffer(str) {
  16736. return Utils.fromUrlB64ToArray(str);
  16737. }
  16738. static bufferSourceToUint8Array(bufferSource) {
  16739. if (Fido2Utils.isArrayBuffer(bufferSource)) {
  16740. return new Uint8Array(bufferSource);
  16741. }
  16742. else {
  16743. return new Uint8Array(bufferSource.buffer);
  16744. }
  16745. }
  16746. /** Utility function to identify type of bufferSource. Necessary because of differences between runtimes */
  16747. static isArrayBuffer(bufferSource) {
  16748. return bufferSource instanceof ArrayBuffer || bufferSource.buffer === undefined;
  16749. }
  16750. }
  16751. ;// CONCATENATED MODULE: ./src/vault/fido2/webauthn-utils.ts
  16752. class WebauthnUtils {
  16753. static mapCredentialCreationOptions(options, fallbackSupported) {
  16754. var _a, _b, _c, _d;
  16755. const keyOptions = options.publicKey;
  16756. if (keyOptions == undefined) {
  16757. throw new Error("Public-key options not found");
  16758. }
  16759. return {
  16760. attestation: keyOptions.attestation,
  16761. authenticatorSelection: {
  16762. requireResidentKey: (_a = keyOptions.authenticatorSelection) === null || _a === void 0 ? void 0 : _a.requireResidentKey,
  16763. residentKey: (_b = keyOptions.authenticatorSelection) === null || _b === void 0 ? void 0 : _b.residentKey,
  16764. userVerification: (_c = keyOptions.authenticatorSelection) === null || _c === void 0 ? void 0 : _c.userVerification,
  16765. },
  16766. challenge: Fido2Utils.bufferToString(keyOptions.challenge),
  16767. excludeCredentials: (_d = keyOptions.excludeCredentials) === null || _d === void 0 ? void 0 : _d.map((credential) => ({
  16768. id: Fido2Utils.bufferToString(credential.id),
  16769. transports: credential.transports,
  16770. type: credential.type,
  16771. })),
  16772. extensions: undefined,
  16773. pubKeyCredParams: keyOptions.pubKeyCredParams.map((params) => ({
  16774. alg: params.alg,
  16775. type: params.type,
  16776. })),
  16777. rp: {
  16778. id: keyOptions.rp.id,
  16779. name: keyOptions.rp.name,
  16780. },
  16781. user: {
  16782. id: Fido2Utils.bufferToString(keyOptions.user.id),
  16783. displayName: keyOptions.user.displayName,
  16784. name: keyOptions.user.name,
  16785. },
  16786. timeout: keyOptions.timeout,
  16787. fallbackSupported,
  16788. };
  16789. }
  16790. static mapCredentialRegistrationResult(result) {
  16791. const credential = {
  16792. id: result.credentialId,
  16793. rawId: Fido2Utils.stringToBuffer(result.credentialId),
  16794. type: "public-key",
  16795. authenticatorAttachment: "cross-platform",
  16796. response: {
  16797. clientDataJSON: Fido2Utils.stringToBuffer(result.clientDataJSON),
  16798. attestationObject: Fido2Utils.stringToBuffer(result.attestationObject),
  16799. getAuthenticatorData() {
  16800. return Fido2Utils.stringToBuffer(result.authData);
  16801. },
  16802. getPublicKey() {
  16803. return Fido2Utils.stringToBuffer(result.publicKey);
  16804. },
  16805. getPublicKeyAlgorithm() {
  16806. return result.publicKeyAlgorithm;
  16807. },
  16808. getTransports() {
  16809. return result.transports;
  16810. },
  16811. },
  16812. getClientExtensionResults: () => ({}),
  16813. };
  16814. // Modify prototype chains to fix `instanceof` calls.
  16815. // This makes these objects indistinguishable from the native classes.
  16816. // Unfortunately PublicKeyCredential does not have a javascript constructor so `extends` does not work here.
  16817. Object.setPrototypeOf(credential.response, AuthenticatorAttestationResponse.prototype);
  16818. Object.setPrototypeOf(credential, PublicKeyCredential.prototype);
  16819. return credential;
  16820. }
  16821. static mapCredentialRequestOptions(options, fallbackSupported) {
  16822. var _a, _b;
  16823. const keyOptions = options.publicKey;
  16824. if (keyOptions == undefined) {
  16825. throw new Error("Public-key options not found");
  16826. }
  16827. return {
  16828. allowedCredentialIds: (_b = (_a = keyOptions.allowCredentials) === null || _a === void 0 ? void 0 : _a.map((c) => Fido2Utils.bufferToString(c.id))) !== null && _b !== void 0 ? _b : [],
  16829. challenge: Fido2Utils.bufferToString(keyOptions.challenge),
  16830. rpId: keyOptions.rpId,
  16831. userVerification: keyOptions.userVerification,
  16832. timeout: keyOptions.timeout,
  16833. fallbackSupported,
  16834. };
  16835. }
  16836. static mapCredentialAssertResult(result) {
  16837. const credential = {
  16838. id: result.credentialId,
  16839. rawId: Fido2Utils.stringToBuffer(result.credentialId),
  16840. type: "public-key",
  16841. response: {
  16842. authenticatorData: Fido2Utils.stringToBuffer(result.authenticatorData),
  16843. clientDataJSON: Fido2Utils.stringToBuffer(result.clientDataJSON),
  16844. signature: Fido2Utils.stringToBuffer(result.signature),
  16845. userHandle: Fido2Utils.stringToBuffer(result.userHandle),
  16846. },
  16847. getClientExtensionResults: () => ({}),
  16848. authenticatorAttachment: "cross-platform",
  16849. };
  16850. // Modify prototype chains to fix `instanceof` calls.
  16851. // This makes these objects indistinguishable from the native classes.
  16852. // Unfortunately PublicKeyCredential does not have a javascript constructor so `extends` does not work here.
  16853. Object.setPrototypeOf(credential.response, AuthenticatorAssertionResponse.prototype);
  16854. Object.setPrototypeOf(credential, PublicKeyCredential.prototype);
  16855. return credential;
  16856. }
  16857. }
  16858. ;// CONCATENATED MODULE: ./src/vault/fido2/content/messaging/message.ts
  16859. var MessageType;
  16860. (function (MessageType) {
  16861. MessageType[MessageType["CredentialCreationRequest"] = 0] = "CredentialCreationRequest";
  16862. MessageType[MessageType["CredentialCreationResponse"] = 1] = "CredentialCreationResponse";
  16863. MessageType[MessageType["CredentialGetRequest"] = 2] = "CredentialGetRequest";
  16864. MessageType[MessageType["CredentialGetResponse"] = 3] = "CredentialGetResponse";
  16865. MessageType[MessageType["AbortRequest"] = 4] = "AbortRequest";
  16866. MessageType[MessageType["DisconnectRequest"] = 5] = "DisconnectRequest";
  16867. MessageType[MessageType["ReconnectRequest"] = 6] = "ReconnectRequest";
  16868. MessageType[MessageType["AbortResponse"] = 7] = "AbortResponse";
  16869. MessageType[MessageType["ErrorResponse"] = 8] = "ErrorResponse";
  16870. })(MessageType || (MessageType = {}));
  16871. ;// CONCATENATED MODULE: ./src/vault/fido2/content/messaging/messenger.ts
  16872. var messenger_awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
  16873. function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
  16874. return new (P || (P = Promise))(function (resolve, reject) {
  16875. function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
  16876. function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
  16877. function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
  16878. step((generator = generator.apply(thisArg, _arguments || [])).next());
  16879. });
  16880. };
  16881. const SENDER = "bitwarden-webauthn";
  16882. /**
  16883. * A class that handles communication between the page and content script. It converts
  16884. * the browser's broadcasting API into a request/response API with support for seamlessly
  16885. * handling aborts and exceptions across separate execution contexts.
  16886. */
  16887. class Messenger {
  16888. /**
  16889. * Creates a messenger that uses the browser's `window.postMessage` API to initiate
  16890. * requests in the content script. Every request will then create it's own
  16891. * `MessageChannel` through which all subsequent communication will be sent through.
  16892. *
  16893. * @param window the window object to use for communication
  16894. * @returns a `Messenger` instance
  16895. */
  16896. static forDOMCommunication(window) {
  16897. const windowOrigin = window.location.origin;
  16898. return new Messenger({
  16899. postMessage: (message, port) => window.postMessage(message, windowOrigin, [port]),
  16900. addEventListener: (listener) => window.addEventListener("message", listener),
  16901. removeEventListener: (listener) => window.removeEventListener("message", listener),
  16902. });
  16903. }
  16904. constructor(broadcastChannel) {
  16905. this.broadcastChannel = broadcastChannel;
  16906. this.messageEventListener = null;
  16907. this.onDestroy = new EventTarget();
  16908. this.messengerId = this.generateUniqueId();
  16909. this.messageEventListener = this.createMessageEventListener();
  16910. this.broadcastChannel.addEventListener(this.messageEventListener);
  16911. }
  16912. /**
  16913. * Sends a request to the content script and returns the response.
  16914. * AbortController signals will be forwarded to the content script.
  16915. *
  16916. * @param request data to send to the content script
  16917. * @param abortController the abort controller that might be used to abort the request
  16918. * @returns the response from the content script
  16919. */
  16920. request(request, abortController) {
  16921. return messenger_awaiter(this, void 0, void 0, function* () {
  16922. const requestChannel = new MessageChannel();
  16923. const { port1: localPort, port2: remotePort } = requestChannel;
  16924. try {
  16925. const promise = new Promise((resolve) => {
  16926. localPort.onmessage = (event) => resolve(event.data);
  16927. });
  16928. const abortListener = () => localPort.postMessage({
  16929. metadata: { SENDER },
  16930. type: MessageType.AbortRequest,
  16931. });
  16932. abortController === null || abortController === void 0 ? void 0 : abortController.signal.addEventListener("abort", abortListener);
  16933. this.broadcastChannel.postMessage(Object.assign(Object.assign({}, request), { SENDER, senderId: this.messengerId }), remotePort);
  16934. const response = yield promise;
  16935. abortController === null || abortController === void 0 ? void 0 : abortController.signal.removeEventListener("abort", abortListener);
  16936. if (response.type === MessageType.ErrorResponse) {
  16937. const error = new Error();
  16938. Object.assign(error, JSON.parse(response.error));
  16939. throw error;
  16940. }
  16941. return response;
  16942. }
  16943. finally {
  16944. localPort.close();
  16945. }
  16946. });
  16947. }
  16948. createMessageEventListener() {
  16949. return (event) => messenger_awaiter(this, void 0, void 0, function* () {
  16950. var _a;
  16951. const windowOrigin = window.location.origin;
  16952. if (event.origin !== windowOrigin || !this.handler) {
  16953. return;
  16954. }
  16955. const message = event.data;
  16956. const port = (_a = event.ports) === null || _a === void 0 ? void 0 : _a[0];
  16957. if ((message === null || message === void 0 ? void 0 : message.SENDER) !== SENDER ||
  16958. message.senderId == this.messengerId ||
  16959. message == null ||
  16960. port == null) {
  16961. return;
  16962. }
  16963. const abortController = new AbortController();
  16964. port.onmessage = (event) => {
  16965. if (event.data.type === MessageType.AbortRequest) {
  16966. abortController.abort();
  16967. }
  16968. };
  16969. let onDestroyListener;
  16970. const destroyPromise = new Promise((_, reject) => {
  16971. onDestroyListener = () => reject(new FallbackRequestedError());
  16972. this.onDestroy.addEventListener("destroy", onDestroyListener);
  16973. });
  16974. try {
  16975. const handlerResponse = yield Promise.race([
  16976. this.handler(message, abortController),
  16977. destroyPromise,
  16978. ]);
  16979. port.postMessage(Object.assign(Object.assign({}, handlerResponse), { SENDER }));
  16980. }
  16981. catch (error) {
  16982. port.postMessage({
  16983. SENDER,
  16984. type: MessageType.ErrorResponse,
  16985. error: JSON.stringify(error, Object.getOwnPropertyNames(error)),
  16986. });
  16987. }
  16988. finally {
  16989. this.onDestroy.removeEventListener("destroy", onDestroyListener);
  16990. port.close();
  16991. }
  16992. });
  16993. }
  16994. /**
  16995. * Cleans up the messenger by removing the message event listener
  16996. */
  16997. destroy() {
  16998. return messenger_awaiter(this, void 0, void 0, function* () {
  16999. this.onDestroy.dispatchEvent(new Event("destroy"));
  17000. if (this.messageEventListener) {
  17001. yield this.sendDisconnectCommand();
  17002. this.broadcastChannel.removeEventListener(this.messageEventListener);
  17003. this.messageEventListener = null;
  17004. }
  17005. });
  17006. }
  17007. sendReconnectCommand() {
  17008. return messenger_awaiter(this, void 0, void 0, function* () {
  17009. yield this.request({ type: MessageType.ReconnectRequest });
  17010. });
  17011. }
  17012. sendDisconnectCommand() {
  17013. return messenger_awaiter(this, void 0, void 0, function* () {
  17014. yield this.request({ type: MessageType.DisconnectRequest });
  17015. });
  17016. }
  17017. generateUniqueId() {
  17018. return Date.now().toString(36) + Math.random().toString(36).substring(2);
  17019. }
  17020. }
  17021. ;// CONCATENATED MODULE: ./src/vault/fido2/content/page-script.ts
  17022. var page_script_awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
  17023. function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
  17024. return new (P || (P = Promise))(function (resolve, reject) {
  17025. function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
  17026. function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
  17027. function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
  17028. step((generator = generator.apply(thisArg, _arguments || [])).next());
  17029. });
  17030. };
  17031. const BrowserPublicKeyCredential = window.PublicKeyCredential;
  17032. const browserNativeWebauthnSupport = window.PublicKeyCredential != undefined;
  17033. let browserNativeWebauthnPlatformAuthenticatorSupport = false;
  17034. if (!browserNativeWebauthnSupport) {
  17035. // Polyfill webauthn support
  17036. try {
  17037. // credentials is read-only if supported, use type-casting to force assignment
  17038. navigator.credentials = {
  17039. create() {
  17040. return page_script_awaiter(this, void 0, void 0, function* () {
  17041. throw new Error("Webauthn not supported in this browser.");
  17042. });
  17043. },
  17044. get() {
  17045. return page_script_awaiter(this, void 0, void 0, function* () {
  17046. throw new Error("Webauthn not supported in this browser.");
  17047. });
  17048. },
  17049. };
  17050. window.PublicKeyCredential = class PolyfillPublicKeyCredential {
  17051. static isUserVerifyingPlatformAuthenticatorAvailable() {
  17052. return Promise.resolve(true);
  17053. }
  17054. };
  17055. window.AuthenticatorAttestationResponse =
  17056. class PolyfillAuthenticatorAttestationResponse {
  17057. };
  17058. }
  17059. catch (_a) {
  17060. /* empty */
  17061. }
  17062. }
  17063. if (browserNativeWebauthnSupport) {
  17064. BrowserPublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable().then((available) => {
  17065. browserNativeWebauthnPlatformAuthenticatorSupport = available;
  17066. if (!available) {
  17067. // Polyfill platform authenticator support
  17068. window.PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable = () => Promise.resolve(true);
  17069. }
  17070. });
  17071. }
  17072. const browserCredentials = {
  17073. create: navigator.credentials.create.bind(navigator.credentials),
  17074. get: navigator.credentials.get.bind(navigator.credentials),
  17075. };
  17076. const messenger = (window.messenger = Messenger.forDOMCommunication(window));
  17077. navigator.credentials.create = createWebAuthnCredential;
  17078. navigator.credentials.get = getWebAuthnCredential;
  17079. /**
  17080. * Creates a new webauthn credential.
  17081. *
  17082. * @param options Options for creating new credentials.
  17083. * @param abortController Abort controller to abort the request if needed.
  17084. * @returns Promise that resolves to the new credential object.
  17085. */
  17086. function createWebAuthnCredential(options, abortController) {
  17087. var _a, _b, _c, _d;
  17088. return page_script_awaiter(this, void 0, void 0, function* () {
  17089. if (!isWebauthnCall(options)) {
  17090. return yield browserCredentials.create(options);
  17091. }
  17092. const fallbackSupported = (((_b = (_a = options === null || options === void 0 ? void 0 : options.publicKey) === null || _a === void 0 ? void 0 : _a.authenticatorSelection) === null || _b === void 0 ? void 0 : _b.authenticatorAttachment) === "platform" &&
  17093. browserNativeWebauthnPlatformAuthenticatorSupport) ||
  17094. (((_d = (_c = options === null || options === void 0 ? void 0 : options.publicKey) === null || _c === void 0 ? void 0 : _c.authenticatorSelection) === null || _d === void 0 ? void 0 : _d.authenticatorAttachment) !== "platform" &&
  17095. browserNativeWebauthnSupport);
  17096. try {
  17097. const response = yield messenger.request({
  17098. type: MessageType.CredentialCreationRequest,
  17099. data: WebauthnUtils.mapCredentialCreationOptions(options, fallbackSupported),
  17100. }, abortController);
  17101. if (response.type !== MessageType.CredentialCreationResponse) {
  17102. throw new Error("Something went wrong.");
  17103. }
  17104. return WebauthnUtils.mapCredentialRegistrationResult(response.result);
  17105. }
  17106. catch (error) {
  17107. if (error && error.fallbackRequested && fallbackSupported) {
  17108. yield waitForFocus();
  17109. return yield browserCredentials.create(options);
  17110. }
  17111. throw error;
  17112. }
  17113. });
  17114. }
  17115. /**
  17116. * Retrieves a webauthn credential.
  17117. *
  17118. * @param options Options for creating new credentials.
  17119. * @param abortController Abort controller to abort the request if needed.
  17120. * @returns Promise that resolves to the new credential object.
  17121. */
  17122. function getWebAuthnCredential(options, abortController) {
  17123. return page_script_awaiter(this, void 0, void 0, function* () {
  17124. if (!isWebauthnCall(options)) {
  17125. return yield browserCredentials.get(options);
  17126. }
  17127. const fallbackSupported = browserNativeWebauthnSupport;
  17128. try {
  17129. if ((options === null || options === void 0 ? void 0 : options.mediation) && options.mediation !== "optional") {
  17130. throw new FallbackRequestedError();
  17131. }
  17132. const response = yield messenger.request({
  17133. type: MessageType.CredentialGetRequest,
  17134. data: WebauthnUtils.mapCredentialRequestOptions(options, fallbackSupported),
  17135. }, abortController);
  17136. if (response.type !== MessageType.CredentialGetResponse) {
  17137. throw new Error("Something went wrong.");
  17138. }
  17139. return WebauthnUtils.mapCredentialAssertResult(response.result);
  17140. }
  17141. catch (error) {
  17142. if (error && error.fallbackRequested && fallbackSupported) {
  17143. yield waitForFocus();
  17144. return yield browserCredentials.get(options);
  17145. }
  17146. throw error;
  17147. }
  17148. });
  17149. }
  17150. function isWebauthnCall(options) {
  17151. return options && "publicKey" in options;
  17152. }
  17153. /**
  17154. * Wait for window to be focused.
  17155. * Safari doesn't allow scripts to trigger webauthn when window is not focused.
  17156. *
  17157. * @param fallbackWait How long to wait when the script is not able to add event listeners to `window.top`. Defaults to 500ms.
  17158. * @param timeout Maximum time to wait for focus in milliseconds. Defaults to 5 minutes.
  17159. * @returns Promise that resolves when window is focused, or rejects if timeout is reached.
  17160. */
  17161. function waitForFocus(fallbackWait = 500, timeout = 5 * 60 * 1000) {
  17162. return page_script_awaiter(this, void 0, void 0, function* () {
  17163. try {
  17164. if (window.top.document.hasFocus()) {
  17165. return;
  17166. }
  17167. }
  17168. catch (_a) {
  17169. // Cannot access window.top due to cross-origin frame, fallback to waiting
  17170. return yield new Promise((resolve) => window.setTimeout(resolve, fallbackWait));
  17171. }
  17172. let focusListener;
  17173. const focusPromise = new Promise((resolve) => {
  17174. focusListener = () => resolve();
  17175. window.top.addEventListener("focus", focusListener);
  17176. });
  17177. let timeoutId;
  17178. const timeoutPromise = new Promise((_, reject) => {
  17179. timeoutId = window.setTimeout(() => reject(new DOMException("The operation either timed out or was not allowed.", "AbortError")), timeout);
  17180. });
  17181. try {
  17182. yield Promise.race([focusPromise, timeoutPromise]);
  17183. }
  17184. finally {
  17185. window.top.removeEventListener("focus", focusListener);
  17186. window.clearTimeout(timeoutId);
  17187. }
  17188. });
  17189. }
  17190. /**
  17191. * Sets up a listener to handle cleanup or reconnection when the extension's
  17192. * context changes due to being reloaded or unloaded.
  17193. */
  17194. messenger.handler = (message, abortController) => {
  17195. const type = message.type;
  17196. // Handle cleanup for disconnect request
  17197. if (type === MessageType.DisconnectRequest && browserNativeWebauthnSupport) {
  17198. navigator.credentials.create = browserCredentials.create;
  17199. navigator.credentials.get = browserCredentials.get;
  17200. }
  17201. // Handle reinitialization for reconnect request
  17202. if (type === MessageType.ReconnectRequest && browserNativeWebauthnSupport) {
  17203. navigator.credentials.create = createWebAuthnCredential;
  17204. navigator.credentials.get = getWebAuthnCredential;
  17205. }
  17206. };
  17207. })();
  17208. /******/ })()
  17209. ;