sass.dart.js 2.1 MB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367163681636916370163711637216373163741637516376163771637816379163801638116382163831638416385163861638716388163891639016391163921639316394163951639616397163981639916400164011640216403164041640516406164071640816409164101641116412164131641416415164161641716418164191642016421164221642316424164251642616427164281642916430164311643216433164341643516436164371643816439164401644116442164431644416445164461644716448164491645016451164521645316454164551645616457164581645916460164611646216463164641646516466164671646816469164701647116472164731647416475164761647716478164791648016481164821648316484164851648616487164881648916490164911649216493164941649516496164971649816499165001650116502165031650416505165061650716508165091651016511165121651316514165151651616517165181651916520165211652216523165241652516526165271652816529165301653116532165331653416535165361653716538165391654016541165421654316544165451654616547165481654916550165511655216553165541655516556165571655816559165601656116562165631656416565165661656716568165691657016571165721657316574165751657616577165781657916580165811658216583165841658516586165871658816589165901659116592165931659416595165961659716598165991660016601166021660316604166051660616607166081660916610166111661216613166141661516616166171661816619166201662116622166231662416625166261662716628166291663016631166321663316634166351663616637166381663916640166411664216643166441664516646166471664816649166501665116652166531665416655166561665716658166591666016661166621666316664166651666616667166681666916670166711667216673166741667516676166771667816679166801668116682166831668416685166861668716688166891669016691166921669316694166951669616697166981669916700167011670216703167041670516706167071670816709167101671116712167131671416715167161671716718167191672016721167221672316724167251672616727167281672916730167311673216733167341673516736167371673816739167401674116742167431674416745167461674716748167491675016751167521675316754167551675616757167581675916760167611676216763167641676516766167671676816769167701677116772167731677416775167761677716778167791678016781167821678316784167851678616787167881678916790167911679216793167941679516796167971679816799168001680116802168031680416805168061680716808168091681016811168121681316814168151681616817168181681916820168211682216823168241682516826168271682816829168301683116832168331683416835168361683716838168391684016841168421684316844168451684616847168481684916850168511685216853168541685516856168571685816859168601686116862168631686416865168661686716868168691687016871168721687316874168751687616877168781687916880168811688216883168841688516886168871688816889168901689116892168931689416895168961689716898168991690016901169021690316904169051690616907169081690916910169111691216913169141691516916169171691816919169201692116922169231692416925169261692716928169291693016931169321693316934169351693616937169381693916940169411694216943169441694516946169471694816949169501695116952169531695416955169561695716958169591696016961169621696316964169651696616967169681696916970169711697216973169741697516976169771697816979169801698116982169831698416985169861698716988169891699016991169921699316994169951699616997169981699917000170011700217003170041700517006170071700817009170101701117012170131701417015170161701717018170191702017021170221702317024170251702617027170281702917030170311703217033170341703517036170371703817039170401704117042170431704417045170461704717048170491705017051170521705317054170551705617057170581705917060170611706217063170641706517066170671706817069170701707117072170731707417075170761707717078170791708017081170821708317084170851708617087170881708917090170911709217093170941709517096170971709817099171001710117102171031710417105171061710717108171091711017111171121711317114171151711617117171181711917120171211712217123171241712517126171271712817129171301713117132171331713417135171361713717138171391714017141171421714317144171451714617147171481714917150171511715217153171541715517156171571715817159171601716117162171631716417165171661716717168171691717017171171721717317174171751717617177171781717917180171811718217183171841718517186171871718817189171901719117192171931719417195171961719717198171991720017201172021720317204172051720617207172081720917210172111721217213172141721517216172171721817219172201722117222172231722417225172261722717228172291723017231172321723317234172351723617237172381723917240172411724217243172441724517246172471724817249172501725117252172531725417255172561725717258172591726017261172621726317264172651726617267172681726917270172711727217273172741727517276172771727817279172801728117282172831728417285172861728717288172891729017291172921729317294172951729617297172981729917300173011730217303173041730517306173071730817309173101731117312173131731417315173161731717318173191732017321173221732317324173251732617327173281732917330173311733217333173341733517336173371733817339173401734117342173431734417345173461734717348173491735017351173521735317354173551735617357173581735917360173611736217363173641736517366173671736817369173701737117372173731737417375173761737717378173791738017381173821738317384173851738617387173881738917390173911739217393173941739517396173971739817399174001740117402174031740417405174061740717408174091741017411174121741317414174151741617417174181741917420174211742217423174241742517426174271742817429174301743117432174331743417435174361743717438174391744017441174421744317444174451744617447174481744917450174511745217453174541745517456174571745817459174601746117462174631746417465174661746717468174691747017471174721747317474174751747617477174781747917480174811748217483174841748517486174871748817489174901749117492174931749417495174961749717498174991750017501175021750317504175051750617507175081750917510175111751217513175141751517516175171751817519175201752117522175231752417525175261752717528175291753017531175321753317534175351753617537175381753917540175411754217543175441754517546175471754817549175501755117552175531755417555175561755717558175591756017561175621756317564175651756617567175681756917570175711757217573175741757517576175771757817579175801758117582175831758417585175861758717588175891759017591175921759317594175951759617597175981759917600176011760217603176041760517606176071760817609176101761117612176131761417615176161761717618176191762017621176221762317624176251762617627176281762917630176311763217633176341763517636176371763817639176401764117642176431764417645176461764717648176491765017651176521765317654176551765617657176581765917660176611766217663176641766517666176671766817669176701767117672176731767417675176761767717678176791768017681176821768317684176851768617687176881768917690176911769217693176941769517696176971769817699177001770117702177031770417705177061770717708177091771017711177121771317714177151771617717177181771917720177211772217723177241772517726177271772817729177301773117732177331773417735177361773717738177391774017741177421774317744177451774617747177481774917750177511775217753177541775517756177571775817759177601776117762177631776417765177661776717768177691777017771177721777317774177751777617777177781777917780177811778217783177841778517786177871778817789177901779117792177931779417795177961779717798177991780017801178021780317804178051780617807178081780917810178111781217813178141781517816178171781817819178201782117822178231782417825178261782717828178291783017831178321783317834178351783617837178381783917840178411784217843178441784517846178471784817849178501785117852178531785417855178561785717858178591786017861178621786317864178651786617867178681786917870178711787217873178741787517876178771787817879178801788117882178831788417885178861788717888178891789017891178921789317894178951789617897178981789917900179011790217903179041790517906179071790817909179101791117912179131791417915179161791717918179191792017921179221792317924179251792617927179281792917930179311793217933179341793517936179371793817939179401794117942179431794417945179461794717948179491795017951179521795317954179551795617957179581795917960179611796217963179641796517966179671796817969179701797117972179731797417975179761797717978179791798017981179821798317984179851798617987179881798917990179911799217993179941799517996179971799817999180001800118002180031800418005180061800718008180091801018011180121801318014180151801618017180181801918020180211802218023180241802518026180271802818029180301803118032180331803418035180361803718038180391804018041180421804318044180451804618047180481804918050180511805218053180541805518056180571805818059180601806118062180631806418065180661806718068180691807018071180721807318074180751807618077180781807918080180811808218083180841808518086180871808818089180901809118092180931809418095180961809718098180991810018101181021810318104181051810618107181081810918110181111811218113181141811518116181171811818119181201812118122181231812418125181261812718128181291813018131181321813318134181351813618137181381813918140181411814218143181441814518146181471814818149181501815118152181531815418155181561815718158181591816018161181621816318164181651816618167181681816918170181711817218173181741817518176181771817818179181801818118182181831818418185181861818718188181891819018191181921819318194181951819618197181981819918200182011820218203182041820518206182071820818209182101821118212182131821418215182161821718218182191822018221182221822318224182251822618227182281822918230182311823218233182341823518236182371823818239182401824118242182431824418245182461824718248182491825018251182521825318254182551825618257182581825918260182611826218263182641826518266182671826818269182701827118272182731827418275182761827718278182791828018281182821828318284182851828618287182881828918290182911829218293182941829518296182971829818299183001830118302183031830418305183061830718308183091831018311183121831318314183151831618317183181831918320183211832218323183241832518326183271832818329183301833118332183331833418335183361833718338183391834018341183421834318344183451834618347183481834918350183511835218353183541835518356183571835818359183601836118362183631836418365183661836718368183691837018371183721837318374183751837618377183781837918380183811838218383183841838518386183871838818389183901839118392183931839418395183961839718398183991840018401184021840318404184051840618407184081840918410184111841218413184141841518416184171841818419184201842118422184231842418425184261842718428184291843018431184321843318434184351843618437184381843918440184411844218443184441844518446184471844818449184501845118452184531845418455184561845718458184591846018461184621846318464184651846618467184681846918470184711847218473184741847518476184771847818479184801848118482184831848418485184861848718488184891849018491184921849318494184951849618497184981849918500185011850218503185041850518506185071850818509185101851118512185131851418515185161851718518185191852018521185221852318524185251852618527185281852918530185311853218533185341853518536185371853818539185401854118542185431854418545185461854718548185491855018551185521855318554185551855618557185581855918560185611856218563185641856518566185671856818569185701857118572185731857418575185761857718578185791858018581185821858318584185851858618587185881858918590185911859218593185941859518596185971859818599186001860118602186031860418605186061860718608186091861018611186121861318614186151861618617186181861918620186211862218623186241862518626186271862818629186301863118632186331863418635186361863718638186391864018641186421864318644186451864618647186481864918650186511865218653186541865518656186571865818659186601866118662186631866418665186661866718668186691867018671186721867318674186751867618677186781867918680186811868218683186841868518686186871868818689186901869118692186931869418695186961869718698186991870018701187021870318704187051870618707187081870918710187111871218713187141871518716187171871818719187201872118722187231872418725187261872718728187291873018731187321873318734187351873618737187381873918740187411874218743187441874518746187471874818749187501875118752187531875418755187561875718758187591876018761187621876318764187651876618767187681876918770187711877218773187741877518776187771877818779187801878118782187831878418785187861878718788187891879018791187921879318794187951879618797187981879918800188011880218803188041880518806188071880818809188101881118812188131881418815188161881718818188191882018821188221882318824188251882618827188281882918830188311883218833188341883518836188371883818839188401884118842188431884418845188461884718848188491885018851188521885318854188551885618857188581885918860188611886218863188641886518866188671886818869188701887118872188731887418875188761887718878188791888018881188821888318884188851888618887188881888918890188911889218893188941889518896188971889818899189001890118902189031890418905189061890718908189091891018911189121891318914189151891618917189181891918920189211892218923189241892518926189271892818929189301893118932189331893418935189361893718938189391894018941189421894318944189451894618947189481894918950189511895218953189541895518956189571895818959189601896118962189631896418965189661896718968189691897018971189721897318974189751897618977189781897918980189811898218983189841898518986189871898818989189901899118992189931899418995189961899718998189991900019001190021900319004190051900619007190081900919010190111901219013190141901519016190171901819019190201902119022190231902419025190261902719028190291903019031190321903319034190351903619037190381903919040190411904219043190441904519046190471904819049190501905119052190531905419055190561905719058190591906019061190621906319064190651906619067190681906919070190711907219073190741907519076190771907819079190801908119082190831908419085190861908719088190891909019091190921909319094190951909619097190981909919100191011910219103191041910519106191071910819109191101911119112191131911419115191161911719118191191912019121191221912319124191251912619127191281912919130191311913219133191341913519136191371913819139191401914119142191431914419145191461914719148191491915019151191521915319154191551915619157191581915919160191611916219163191641916519166191671916819169191701917119172191731917419175191761917719178191791918019181191821918319184191851918619187191881918919190191911919219193191941919519196191971919819199192001920119202192031920419205192061920719208192091921019211192121921319214192151921619217192181921919220192211922219223192241922519226192271922819229192301923119232192331923419235192361923719238192391924019241192421924319244192451924619247192481924919250192511925219253192541925519256192571925819259192601926119262192631926419265192661926719268192691927019271192721927319274192751927619277192781927919280192811928219283192841928519286192871928819289192901929119292192931929419295192961929719298192991930019301193021930319304193051930619307193081930919310193111931219313193141931519316193171931819319193201932119322193231932419325193261932719328193291933019331193321933319334193351933619337193381933919340193411934219343193441934519346193471934819349193501935119352193531935419355193561935719358193591936019361193621936319364193651936619367193681936919370193711937219373193741937519376193771937819379193801938119382193831938419385193861938719388193891939019391193921939319394193951939619397193981939919400194011940219403194041940519406194071940819409194101941119412194131941419415194161941719418194191942019421194221942319424194251942619427194281942919430194311943219433194341943519436194371943819439194401944119442194431944419445194461944719448194491945019451194521945319454194551945619457194581945919460194611946219463194641946519466194671946819469194701947119472194731947419475194761947719478194791948019481194821948319484194851948619487194881948919490194911949219493194941949519496194971949819499195001950119502195031950419505195061950719508195091951019511195121951319514195151951619517195181951919520195211952219523195241952519526195271952819529195301953119532195331953419535195361953719538195391954019541195421954319544195451954619547195481954919550195511955219553195541955519556195571955819559195601956119562195631956419565195661956719568195691957019571195721957319574195751957619577195781957919580195811958219583195841958519586195871958819589195901959119592195931959419595195961959719598195991960019601196021960319604196051960619607196081960919610196111961219613196141961519616196171961819619196201962119622196231962419625196261962719628196291963019631196321963319634196351963619637196381963919640196411964219643196441964519646196471964819649196501965119652196531965419655196561965719658196591966019661196621966319664196651966619667196681966919670196711967219673196741967519676196771967819679196801968119682196831968419685196861968719688196891969019691196921969319694196951969619697196981969919700197011970219703197041970519706197071970819709197101971119712197131971419715197161971719718197191972019721197221972319724197251972619727197281972919730197311973219733197341973519736197371973819739197401974119742197431974419745197461974719748197491975019751197521975319754197551975619757197581975919760197611976219763197641976519766197671976819769197701977119772197731977419775197761977719778197791978019781197821978319784197851978619787197881978919790197911979219793197941979519796197971979819799198001980119802198031980419805198061980719808198091981019811198121981319814198151981619817198181981919820198211982219823198241982519826198271982819829198301983119832198331983419835198361983719838198391984019841198421984319844198451984619847198481984919850198511985219853198541985519856198571985819859198601986119862198631986419865198661986719868198691987019871198721987319874198751987619877198781987919880198811988219883198841988519886198871988819889198901989119892198931989419895198961989719898198991990019901199021990319904199051990619907199081990919910199111991219913199141991519916199171991819919199201992119922199231992419925199261992719928199291993019931199321993319934199351993619937199381993919940199411994219943199441994519946199471994819949199501995119952199531995419955199561995719958199591996019961199621996319964199651996619967199681996919970199711997219973199741997519976199771997819979199801998119982199831998419985199861998719988199891999019991199921999319994199951999619997199981999920000200012000220003200042000520006200072000820009200102001120012200132001420015200162001720018200192002020021200222002320024200252002620027200282002920030200312003220033200342003520036200372003820039200402004120042200432004420045200462004720048200492005020051200522005320054200552005620057200582005920060200612006220063200642006520066200672006820069200702007120072200732007420075200762007720078200792008020081200822008320084200852008620087200882008920090200912009220093200942009520096200972009820099201002010120102201032010420105201062010720108201092011020111201122011320114201152011620117201182011920120201212012220123201242012520126201272012820129201302013120132201332013420135201362013720138201392014020141201422014320144201452014620147201482014920150201512015220153201542015520156201572015820159201602016120162201632016420165201662016720168201692017020171201722017320174201752017620177201782017920180201812018220183201842018520186201872018820189201902019120192201932019420195201962019720198201992020020201202022020320204202052020620207202082020920210202112021220213202142021520216202172021820219202202022120222202232022420225202262022720228202292023020231202322023320234202352023620237202382023920240202412024220243202442024520246202472024820249202502025120252202532025420255202562025720258202592026020261202622026320264202652026620267202682026920270202712027220273202742027520276202772027820279202802028120282202832028420285202862028720288202892029020291202922029320294202952029620297202982029920300203012030220303203042030520306203072030820309203102031120312203132031420315203162031720318203192032020321203222032320324203252032620327203282032920330203312033220333203342033520336203372033820339203402034120342203432034420345203462034720348203492035020351203522035320354203552035620357203582035920360203612036220363203642036520366203672036820369203702037120372203732037420375203762037720378203792038020381203822038320384203852038620387203882038920390203912039220393203942039520396203972039820399204002040120402204032040420405204062040720408204092041020411204122041320414204152041620417204182041920420204212042220423204242042520426204272042820429204302043120432204332043420435204362043720438204392044020441204422044320444204452044620447204482044920450204512045220453204542045520456204572045820459204602046120462204632046420465204662046720468204692047020471204722047320474204752047620477204782047920480204812048220483204842048520486204872048820489204902049120492204932049420495204962049720498204992050020501205022050320504205052050620507205082050920510205112051220513205142051520516205172051820519205202052120522205232052420525205262052720528205292053020531205322053320534205352053620537205382053920540205412054220543205442054520546205472054820549205502055120552205532055420555205562055720558205592056020561205622056320564205652056620567205682056920570205712057220573205742057520576205772057820579205802058120582205832058420585205862058720588205892059020591205922059320594205952059620597205982059920600206012060220603206042060520606206072060820609206102061120612206132061420615206162061720618206192062020621206222062320624206252062620627206282062920630206312063220633206342063520636206372063820639206402064120642206432064420645206462064720648206492065020651206522065320654206552065620657206582065920660206612066220663206642066520666206672066820669206702067120672206732067420675206762067720678206792068020681206822068320684206852068620687206882068920690206912069220693206942069520696206972069820699207002070120702207032070420705207062070720708207092071020711207122071320714207152071620717207182071920720207212072220723207242072520726207272072820729207302073120732207332073420735207362073720738207392074020741207422074320744207452074620747207482074920750207512075220753207542075520756207572075820759207602076120762207632076420765207662076720768207692077020771207722077320774207752077620777207782077920780207812078220783207842078520786207872078820789207902079120792207932079420795207962079720798207992080020801208022080320804208052080620807208082080920810208112081220813208142081520816208172081820819208202082120822208232082420825208262082720828208292083020831208322083320834208352083620837208382083920840208412084220843208442084520846208472084820849208502085120852208532085420855208562085720858208592086020861208622086320864208652086620867208682086920870208712087220873208742087520876208772087820879208802088120882208832088420885208862088720888208892089020891208922089320894208952089620897208982089920900209012090220903209042090520906209072090820909209102091120912209132091420915209162091720918209192092020921209222092320924209252092620927209282092920930209312093220933209342093520936209372093820939209402094120942209432094420945209462094720948209492095020951209522095320954209552095620957209582095920960209612096220963209642096520966209672096820969209702097120972209732097420975209762097720978209792098020981209822098320984209852098620987209882098920990209912099220993209942099520996209972099820999210002100121002210032100421005210062100721008210092101021011210122101321014210152101621017210182101921020210212102221023210242102521026210272102821029210302103121032210332103421035210362103721038210392104021041210422104321044210452104621047210482104921050210512105221053210542105521056210572105821059210602106121062210632106421065210662106721068210692107021071210722107321074210752107621077210782107921080210812108221083210842108521086210872108821089210902109121092210932109421095210962109721098210992110021101211022110321104211052110621107211082110921110211112111221113211142111521116211172111821119211202112121122211232112421125211262112721128211292113021131211322113321134211352113621137211382113921140211412114221143211442114521146211472114821149211502115121152211532115421155211562115721158211592116021161211622116321164211652116621167211682116921170211712117221173211742117521176211772117821179211802118121182211832118421185211862118721188211892119021191211922119321194211952119621197211982119921200212012120221203212042120521206212072120821209212102121121212212132121421215212162121721218212192122021221212222122321224212252122621227212282122921230212312123221233212342123521236212372123821239212402124121242212432124421245212462124721248212492125021251212522125321254212552125621257212582125921260212612126221263212642126521266212672126821269212702127121272212732127421275212762127721278212792128021281212822128321284212852128621287212882128921290212912129221293212942129521296212972129821299213002130121302213032130421305213062130721308213092131021311213122131321314213152131621317213182131921320213212132221323213242132521326213272132821329213302133121332213332133421335213362133721338213392134021341213422134321344213452134621347213482134921350213512135221353213542135521356213572135821359213602136121362213632136421365213662136721368213692137021371213722137321374213752137621377213782137921380213812138221383213842138521386213872138821389213902139121392213932139421395213962139721398213992140021401214022140321404214052140621407214082140921410214112141221413214142141521416214172141821419214202142121422214232142421425214262142721428214292143021431214322143321434214352143621437214382143921440214412144221443214442144521446214472144821449214502145121452214532145421455214562145721458214592146021461214622146321464214652146621467214682146921470214712147221473214742147521476214772147821479214802148121482214832148421485214862148721488214892149021491214922149321494214952149621497214982149921500215012150221503215042150521506215072150821509215102151121512215132151421515215162151721518215192152021521215222152321524215252152621527215282152921530215312153221533215342153521536215372153821539215402154121542215432154421545215462154721548215492155021551215522155321554215552155621557215582155921560215612156221563215642156521566215672156821569215702157121572215732157421575215762157721578215792158021581215822158321584215852158621587215882158921590215912159221593215942159521596215972159821599216002160121602216032160421605216062160721608216092161021611216122161321614216152161621617216182161921620216212162221623216242162521626216272162821629216302163121632216332163421635216362163721638216392164021641216422164321644216452164621647216482164921650216512165221653216542165521656216572165821659216602166121662216632166421665216662166721668216692167021671216722167321674216752167621677216782167921680216812168221683216842168521686216872168821689216902169121692216932169421695216962169721698216992170021701217022170321704217052170621707217082170921710217112171221713217142171521716217172171821719217202172121722217232172421725217262172721728217292173021731217322173321734217352173621737217382173921740217412174221743217442174521746217472174821749217502175121752217532175421755217562175721758217592176021761217622176321764217652176621767217682176921770217712177221773217742177521776217772177821779217802178121782217832178421785217862178721788217892179021791217922179321794217952179621797217982179921800218012180221803218042180521806218072180821809218102181121812218132181421815218162181721818218192182021821218222182321824218252182621827218282182921830218312183221833218342183521836218372183821839218402184121842218432184421845218462184721848218492185021851218522185321854218552185621857218582185921860218612186221863218642186521866218672186821869218702187121872218732187421875218762187721878218792188021881218822188321884218852188621887218882188921890218912189221893218942189521896218972189821899219002190121902219032190421905219062190721908219092191021911219122191321914219152191621917219182191921920219212192221923219242192521926219272192821929219302193121932219332193421935219362193721938219392194021941219422194321944219452194621947219482194921950219512195221953219542195521956219572195821959219602196121962219632196421965219662196721968219692197021971219722197321974219752197621977219782197921980219812198221983219842198521986219872198821989219902199121992219932199421995219962199721998219992200022001220022200322004220052200622007220082200922010220112201222013220142201522016220172201822019220202202122022220232202422025220262202722028220292203022031220322203322034220352203622037220382203922040220412204222043220442204522046220472204822049220502205122052220532205422055220562205722058220592206022061220622206322064220652206622067220682206922070220712207222073220742207522076220772207822079220802208122082220832208422085220862208722088220892209022091220922209322094220952209622097220982209922100221012210222103221042210522106221072210822109221102211122112221132211422115221162211722118221192212022121221222212322124221252212622127221282212922130221312213222133221342213522136221372213822139221402214122142221432214422145221462214722148221492215022151221522215322154221552215622157221582215922160221612216222163221642216522166221672216822169221702217122172221732217422175221762217722178221792218022181221822218322184221852218622187221882218922190221912219222193221942219522196221972219822199222002220122202222032220422205222062220722208222092221022211222122221322214222152221622217222182221922220222212222222223222242222522226222272222822229222302223122232222332223422235222362223722238222392224022241222422224322244222452224622247222482224922250222512225222253222542225522256222572225822259222602226122262222632226422265222662226722268222692227022271222722227322274222752227622277222782227922280222812228222283222842228522286222872228822289222902229122292222932229422295222962229722298222992230022301223022230322304223052230622307223082230922310223112231222313223142231522316223172231822319223202232122322223232232422325223262232722328223292233022331223322233322334223352233622337223382233922340223412234222343223442234522346223472234822349223502235122352223532235422355223562235722358223592236022361223622236322364223652236622367223682236922370223712237222373223742237522376223772237822379223802238122382223832238422385223862238722388223892239022391223922239322394223952239622397223982239922400224012240222403224042240522406224072240822409224102241122412224132241422415224162241722418224192242022421224222242322424224252242622427224282242922430224312243222433224342243522436224372243822439224402244122442224432244422445224462244722448224492245022451224522245322454224552245622457224582245922460224612246222463224642246522466224672246822469224702247122472224732247422475224762247722478224792248022481224822248322484224852248622487224882248922490224912249222493224942249522496224972249822499225002250122502225032250422505225062250722508225092251022511225122251322514225152251622517225182251922520225212252222523225242252522526225272252822529225302253122532225332253422535225362253722538225392254022541225422254322544225452254622547225482254922550225512255222553225542255522556225572255822559225602256122562225632256422565225662256722568225692257022571225722257322574225752257622577225782257922580225812258222583225842258522586225872258822589225902259122592225932259422595225962259722598225992260022601226022260322604226052260622607226082260922610226112261222613226142261522616226172261822619226202262122622226232262422625226262262722628226292263022631226322263322634226352263622637226382263922640226412264222643226442264522646226472264822649226502265122652226532265422655226562265722658226592266022661226622266322664226652266622667226682266922670226712267222673226742267522676226772267822679226802268122682226832268422685226862268722688226892269022691226922269322694226952269622697226982269922700227012270222703227042270522706227072270822709227102271122712227132271422715227162271722718227192272022721227222272322724227252272622727227282272922730227312273222733227342273522736227372273822739227402274122742227432274422745227462274722748227492275022751227522275322754227552275622757227582275922760227612276222763227642276522766227672276822769227702277122772227732277422775227762277722778227792278022781227822278322784227852278622787227882278922790227912279222793227942279522796227972279822799228002280122802228032280422805228062280722808228092281022811228122281322814228152281622817228182281922820228212282222823228242282522826228272282822829228302283122832228332283422835228362283722838228392284022841228422284322844228452284622847228482284922850228512285222853228542285522856228572285822859228602286122862228632286422865228662286722868228692287022871228722287322874228752287622877228782287922880228812288222883228842288522886228872288822889228902289122892228932289422895228962289722898228992290022901229022290322904229052290622907229082290922910229112291222913229142291522916229172291822919229202292122922229232292422925229262292722928229292293022931229322293322934229352293622937229382293922940229412294222943229442294522946229472294822949229502295122952229532295422955229562295722958229592296022961229622296322964229652296622967229682296922970229712297222973229742297522976229772297822979229802298122982229832298422985229862298722988229892299022991229922299322994229952299622997229982299923000230012300223003230042300523006230072300823009230102301123012230132301423015230162301723018230192302023021230222302323024230252302623027230282302923030230312303223033230342303523036230372303823039230402304123042230432304423045230462304723048230492305023051230522305323054230552305623057230582305923060230612306223063230642306523066230672306823069230702307123072230732307423075230762307723078230792308023081230822308323084230852308623087230882308923090230912309223093230942309523096230972309823099231002310123102231032310423105231062310723108231092311023111231122311323114231152311623117231182311923120231212312223123231242312523126231272312823129231302313123132231332313423135231362313723138231392314023141231422314323144231452314623147231482314923150231512315223153231542315523156231572315823159231602316123162231632316423165231662316723168231692317023171231722317323174231752317623177231782317923180231812318223183231842318523186231872318823189231902319123192231932319423195231962319723198231992320023201232022320323204232052320623207232082320923210232112321223213232142321523216232172321823219232202322123222232232322423225232262322723228232292323023231232322323323234232352323623237232382323923240232412324223243232442324523246232472324823249232502325123252232532325423255232562325723258232592326023261232622326323264232652326623267232682326923270232712327223273232742327523276232772327823279232802328123282232832328423285232862328723288232892329023291232922329323294232952329623297232982329923300233012330223303233042330523306233072330823309233102331123312233132331423315233162331723318233192332023321233222332323324233252332623327233282332923330233312333223333233342333523336233372333823339233402334123342233432334423345233462334723348233492335023351233522335323354233552335623357233582335923360233612336223363233642336523366233672336823369233702337123372233732337423375233762337723378233792338023381233822338323384233852338623387233882338923390233912339223393233942339523396233972339823399234002340123402234032340423405234062340723408234092341023411234122341323414234152341623417234182341923420234212342223423234242342523426234272342823429234302343123432234332343423435234362343723438234392344023441234422344323444234452344623447234482344923450234512345223453234542345523456234572345823459234602346123462234632346423465234662346723468234692347023471234722347323474234752347623477234782347923480234812348223483234842348523486234872348823489234902349123492234932349423495234962349723498234992350023501235022350323504235052350623507235082350923510235112351223513235142351523516235172351823519235202352123522235232352423525235262352723528235292353023531235322353323534235352353623537235382353923540235412354223543235442354523546235472354823549235502355123552235532355423555235562355723558235592356023561235622356323564235652356623567235682356923570235712357223573235742357523576235772357823579235802358123582235832358423585235862358723588235892359023591235922359323594235952359623597235982359923600236012360223603236042360523606236072360823609236102361123612236132361423615236162361723618236192362023621236222362323624236252362623627236282362923630236312363223633236342363523636236372363823639236402364123642236432364423645236462364723648236492365023651236522365323654236552365623657236582365923660236612366223663236642366523666236672366823669236702367123672236732367423675236762367723678236792368023681236822368323684236852368623687236882368923690236912369223693236942369523696236972369823699237002370123702237032370423705237062370723708237092371023711237122371323714237152371623717237182371923720237212372223723237242372523726237272372823729237302373123732237332373423735237362373723738237392374023741237422374323744237452374623747237482374923750237512375223753237542375523756237572375823759237602376123762237632376423765237662376723768237692377023771237722377323774237752377623777237782377923780237812378223783237842378523786237872378823789237902379123792237932379423795237962379723798237992380023801238022380323804238052380623807238082380923810238112381223813238142381523816238172381823819238202382123822238232382423825238262382723828238292383023831238322383323834238352383623837238382383923840238412384223843238442384523846238472384823849238502385123852238532385423855238562385723858238592386023861238622386323864238652386623867238682386923870238712387223873238742387523876238772387823879238802388123882238832388423885238862388723888238892389023891238922389323894238952389623897238982389923900239012390223903239042390523906239072390823909239102391123912239132391423915239162391723918239192392023921239222392323924239252392623927239282392923930239312393223933239342393523936239372393823939239402394123942239432394423945239462394723948239492395023951239522395323954239552395623957239582395923960239612396223963239642396523966239672396823969239702397123972239732397423975239762397723978239792398023981239822398323984239852398623987239882398923990239912399223993239942399523996239972399823999240002400124002240032400424005240062400724008240092401024011240122401324014240152401624017240182401924020240212402224023240242402524026240272402824029240302403124032240332403424035240362403724038240392404024041240422404324044240452404624047240482404924050240512405224053240542405524056240572405824059240602406124062240632406424065240662406724068240692407024071240722407324074240752407624077240782407924080240812408224083240842408524086240872408824089240902409124092240932409424095240962409724098240992410024101241022410324104241052410624107241082410924110241112411224113241142411524116241172411824119241202412124122241232412424125241262412724128241292413024131241322413324134241352413624137241382413924140241412414224143241442414524146241472414824149241502415124152241532415424155241562415724158241592416024161241622416324164241652416624167241682416924170241712417224173241742417524176241772417824179241802418124182241832418424185241862418724188241892419024191241922419324194241952419624197241982419924200242012420224203242042420524206242072420824209242102421124212242132421424215242162421724218242192422024221242222422324224242252422624227242282422924230242312423224233242342423524236242372423824239242402424124242242432424424245242462424724248242492425024251242522425324254242552425624257242582425924260242612426224263242642426524266242672426824269242702427124272242732427424275242762427724278242792428024281242822428324284242852428624287242882428924290242912429224293242942429524296242972429824299243002430124302243032430424305243062430724308243092431024311243122431324314243152431624317243182431924320243212432224323243242432524326243272432824329243302433124332243332433424335243362433724338243392434024341243422434324344243452434624347243482434924350243512435224353243542435524356243572435824359243602436124362243632436424365243662436724368243692437024371243722437324374243752437624377243782437924380243812438224383243842438524386243872438824389243902439124392243932439424395243962439724398243992440024401244022440324404244052440624407244082440924410244112441224413244142441524416244172441824419244202442124422244232442424425244262442724428244292443024431244322443324434244352443624437244382443924440244412444224443244442444524446244472444824449244502445124452244532445424455244562445724458244592446024461244622446324464244652446624467244682446924470244712447224473244742447524476244772447824479244802448124482244832448424485244862448724488244892449024491244922449324494244952449624497244982449924500245012450224503245042450524506245072450824509245102451124512245132451424515245162451724518245192452024521245222452324524245252452624527245282452924530245312453224533245342453524536245372453824539245402454124542245432454424545245462454724548245492455024551245522455324554245552455624557245582455924560245612456224563245642456524566245672456824569245702457124572245732457424575245762457724578245792458024581245822458324584245852458624587245882458924590245912459224593245942459524596245972459824599246002460124602246032460424605246062460724608246092461024611246122461324614246152461624617246182461924620246212462224623246242462524626246272462824629246302463124632246332463424635246362463724638246392464024641246422464324644246452464624647246482464924650246512465224653246542465524656246572465824659246602466124662246632466424665246662466724668246692467024671246722467324674246752467624677246782467924680246812468224683246842468524686246872468824689246902469124692246932469424695246962469724698246992470024701247022470324704247052470624707247082470924710247112471224713247142471524716247172471824719247202472124722247232472424725247262472724728247292473024731247322473324734247352473624737247382473924740247412474224743247442474524746247472474824749247502475124752247532475424755247562475724758247592476024761247622476324764247652476624767247682476924770247712477224773247742477524776247772477824779247802478124782247832478424785247862478724788247892479024791247922479324794247952479624797247982479924800248012480224803248042480524806248072480824809248102481124812248132481424815248162481724818248192482024821248222482324824248252482624827248282482924830248312483224833248342483524836248372483824839248402484124842248432484424845248462484724848248492485024851248522485324854248552485624857248582485924860248612486224863248642486524866248672486824869248702487124872248732487424875248762487724878248792488024881248822488324884248852488624887248882488924890248912489224893248942489524896248972489824899249002490124902249032490424905249062490724908249092491024911249122491324914249152491624917249182491924920249212492224923249242492524926249272492824929249302493124932249332493424935249362493724938249392494024941249422494324944249452494624947249482494924950249512495224953249542495524956249572495824959249602496124962249632496424965249662496724968249692497024971249722497324974249752497624977249782497924980249812498224983249842498524986249872498824989249902499124992249932499424995249962499724998249992500025001250022500325004250052500625007250082500925010250112501225013250142501525016250172501825019250202502125022250232502425025250262502725028250292503025031250322503325034250352503625037250382503925040250412504225043250442504525046250472504825049250502505125052250532505425055250562505725058250592506025061250622506325064250652506625067250682506925070250712507225073250742507525076250772507825079250802508125082250832508425085250862508725088250892509025091250922509325094250952509625097250982509925100251012510225103251042510525106251072510825109251102511125112251132511425115251162511725118251192512025121251222512325124251252512625127251282512925130251312513225133251342513525136251372513825139251402514125142251432514425145251462514725148251492515025151251522515325154251552515625157251582515925160251612516225163251642516525166251672516825169251702517125172251732517425175251762517725178251792518025181251822518325184251852518625187251882518925190251912519225193251942519525196251972519825199252002520125202252032520425205252062520725208252092521025211252122521325214252152521625217252182521925220252212522225223252242522525226252272522825229252302523125232252332523425235252362523725238252392524025241252422524325244252452524625247252482524925250252512525225253252542525525256252572525825259252602526125262252632526425265252662526725268252692527025271252722527325274252752527625277252782527925280252812528225283252842528525286252872528825289252902529125292252932529425295252962529725298252992530025301253022530325304253052530625307253082530925310253112531225313253142531525316253172531825319253202532125322253232532425325253262532725328253292533025331253322533325334253352533625337253382533925340253412534225343253442534525346253472534825349253502535125352253532535425355253562535725358253592536025361253622536325364253652536625367253682536925370253712537225373253742537525376253772537825379253802538125382253832538425385253862538725388253892539025391253922539325394253952539625397253982539925400254012540225403254042540525406254072540825409254102541125412254132541425415254162541725418254192542025421254222542325424254252542625427254282542925430254312543225433254342543525436254372543825439254402544125442254432544425445254462544725448254492545025451254522545325454254552545625457254582545925460254612546225463254642546525466254672546825469254702547125472254732547425475254762547725478254792548025481254822548325484254852548625487254882548925490254912549225493254942549525496254972549825499255002550125502255032550425505255062550725508255092551025511255122551325514255152551625517255182551925520255212552225523255242552525526255272552825529255302553125532255332553425535255362553725538255392554025541255422554325544255452554625547255482554925550255512555225553255542555525556255572555825559255602556125562255632556425565255662556725568255692557025571255722557325574255752557625577255782557925580255812558225583255842558525586255872558825589255902559125592255932559425595255962559725598255992560025601256022560325604256052560625607256082560925610256112561225613256142561525616256172561825619256202562125622256232562425625256262562725628256292563025631256322563325634256352563625637256382563925640256412564225643256442564525646256472564825649256502565125652256532565425655256562565725658256592566025661256622566325664256652566625667256682566925670256712567225673256742567525676256772567825679256802568125682256832568425685256862568725688256892569025691256922569325694256952569625697256982569925700257012570225703257042570525706257072570825709257102571125712257132571425715257162571725718257192572025721257222572325724257252572625727257282572925730257312573225733257342573525736257372573825739257402574125742257432574425745257462574725748257492575025751257522575325754257552575625757257582575925760257612576225763257642576525766257672576825769257702577125772257732577425775257762577725778257792578025781257822578325784257852578625787257882578925790257912579225793257942579525796257972579825799258002580125802258032580425805258062580725808258092581025811258122581325814258152581625817258182581925820258212582225823258242582525826258272582825829258302583125832258332583425835258362583725838258392584025841258422584325844258452584625847258482584925850258512585225853258542585525856258572585825859258602586125862258632586425865258662586725868258692587025871258722587325874258752587625877258782587925880258812588225883258842588525886258872588825889258902589125892258932589425895258962589725898258992590025901259022590325904259052590625907259082590925910259112591225913259142591525916259172591825919259202592125922259232592425925259262592725928259292593025931259322593325934259352593625937259382593925940259412594225943259442594525946259472594825949259502595125952259532595425955259562595725958259592596025961259622596325964259652596625967259682596925970259712597225973259742597525976259772597825979259802598125982259832598425985259862598725988259892599025991259922599325994259952599625997259982599926000260012600226003260042600526006260072600826009260102601126012260132601426015260162601726018260192602026021260222602326024260252602626027260282602926030260312603226033260342603526036260372603826039260402604126042260432604426045260462604726048260492605026051260522605326054260552605626057260582605926060260612606226063260642606526066260672606826069260702607126072260732607426075260762607726078260792608026081260822608326084260852608626087260882608926090260912609226093260942609526096260972609826099261002610126102261032610426105261062610726108261092611026111261122611326114261152611626117261182611926120261212612226123261242612526126261272612826129261302613126132261332613426135261362613726138261392614026141261422614326144261452614626147261482614926150261512615226153261542615526156261572615826159261602616126162261632616426165261662616726168261692617026171261722617326174261752617626177261782617926180261812618226183261842618526186261872618826189261902619126192261932619426195261962619726198261992620026201262022620326204262052620626207262082620926210262112621226213262142621526216262172621826219262202622126222262232622426225262262622726228262292623026231262322623326234262352623626237262382623926240262412624226243262442624526246262472624826249262502625126252262532625426255262562625726258262592626026261262622626326264262652626626267262682626926270262712627226273262742627526276262772627826279262802628126282262832628426285262862628726288262892629026291262922629326294262952629626297262982629926300263012630226303263042630526306263072630826309263102631126312263132631426315263162631726318263192632026321263222632326324263252632626327263282632926330263312633226333263342633526336263372633826339263402634126342263432634426345263462634726348263492635026351263522635326354263552635626357263582635926360263612636226363263642636526366263672636826369263702637126372263732637426375263762637726378263792638026381263822638326384263852638626387263882638926390263912639226393263942639526396263972639826399264002640126402264032640426405264062640726408264092641026411264122641326414264152641626417264182641926420264212642226423264242642526426264272642826429264302643126432264332643426435264362643726438264392644026441264422644326444264452644626447264482644926450264512645226453264542645526456264572645826459264602646126462264632646426465264662646726468264692647026471264722647326474264752647626477264782647926480264812648226483264842648526486264872648826489264902649126492264932649426495264962649726498264992650026501265022650326504265052650626507265082650926510265112651226513265142651526516265172651826519265202652126522265232652426525265262652726528265292653026531265322653326534265352653626537265382653926540265412654226543265442654526546265472654826549265502655126552265532655426555265562655726558265592656026561265622656326564265652656626567265682656926570265712657226573265742657526576265772657826579265802658126582265832658426585265862658726588265892659026591265922659326594265952659626597265982659926600266012660226603266042660526606266072660826609266102661126612266132661426615266162661726618266192662026621266222662326624266252662626627266282662926630266312663226633266342663526636266372663826639266402664126642266432664426645266462664726648266492665026651266522665326654266552665626657266582665926660266612666226663266642666526666266672666826669266702667126672266732667426675266762667726678266792668026681266822668326684266852668626687266882668926690266912669226693266942669526696266972669826699267002670126702267032670426705267062670726708267092671026711267122671326714267152671626717267182671926720267212672226723267242672526726267272672826729267302673126732267332673426735267362673726738267392674026741267422674326744267452674626747267482674926750267512675226753267542675526756267572675826759267602676126762267632676426765267662676726768267692677026771267722677326774267752677626777267782677926780267812678226783267842678526786267872678826789267902679126792267932679426795267962679726798267992680026801268022680326804268052680626807268082680926810268112681226813268142681526816268172681826819268202682126822268232682426825268262682726828268292683026831268322683326834268352683626837268382683926840268412684226843268442684526846268472684826849268502685126852268532685426855268562685726858268592686026861268622686326864268652686626867268682686926870268712687226873268742687526876268772687826879268802688126882268832688426885268862688726888268892689026891268922689326894268952689626897268982689926900269012690226903269042690526906269072690826909269102691126912269132691426915269162691726918269192692026921269222692326924269252692626927269282692926930269312693226933269342693526936269372693826939269402694126942269432694426945269462694726948269492695026951269522695326954269552695626957269582695926960269612696226963269642696526966269672696826969269702697126972269732697426975269762697726978269792698026981269822698326984269852698626987269882698926990269912699226993269942699526996269972699826999270002700127002270032700427005270062700727008270092701027011270122701327014270152701627017270182701927020270212702227023270242702527026270272702827029270302703127032270332703427035270362703727038270392704027041270422704327044270452704627047270482704927050270512705227053270542705527056270572705827059270602706127062270632706427065270662706727068270692707027071270722707327074270752707627077270782707927080270812708227083270842708527086270872708827089270902709127092270932709427095270962709727098270992710027101271022710327104271052710627107271082710927110271112711227113271142711527116271172711827119271202712127122271232712427125271262712727128271292713027131271322713327134271352713627137271382713927140271412714227143271442714527146271472714827149271502715127152271532715427155271562715727158271592716027161271622716327164271652716627167271682716927170271712717227173271742717527176271772717827179271802718127182271832718427185271862718727188271892719027191271922719327194271952719627197271982719927200272012720227203272042720527206272072720827209272102721127212272132721427215272162721727218272192722027221272222722327224272252722627227272282722927230272312723227233272342723527236272372723827239272402724127242272432724427245272462724727248272492725027251272522725327254272552725627257272582725927260272612726227263272642726527266272672726827269272702727127272272732727427275272762727727278272792728027281272822728327284272852728627287272882728927290272912729227293272942729527296272972729827299273002730127302273032730427305273062730727308273092731027311273122731327314273152731627317273182731927320273212732227323273242732527326273272732827329273302733127332273332733427335273362733727338273392734027341273422734327344273452734627347273482734927350273512735227353273542735527356273572735827359273602736127362273632736427365273662736727368273692737027371273722737327374273752737627377273782737927380273812738227383273842738527386273872738827389273902739127392273932739427395273962739727398273992740027401274022740327404274052740627407274082740927410274112741227413274142741527416274172741827419274202742127422274232742427425274262742727428274292743027431274322743327434274352743627437274382743927440274412744227443274442744527446274472744827449274502745127452274532745427455274562745727458274592746027461274622746327464274652746627467274682746927470274712747227473274742747527476274772747827479274802748127482274832748427485274862748727488274892749027491274922749327494274952749627497274982749927500275012750227503275042750527506275072750827509275102751127512275132751427515275162751727518275192752027521275222752327524275252752627527275282752927530275312753227533275342753527536275372753827539275402754127542275432754427545275462754727548275492755027551275522755327554275552755627557275582755927560275612756227563275642756527566275672756827569275702757127572275732757427575275762757727578275792758027581275822758327584275852758627587275882758927590275912759227593275942759527596275972759827599276002760127602276032760427605276062760727608276092761027611276122761327614276152761627617276182761927620276212762227623276242762527626276272762827629276302763127632276332763427635276362763727638276392764027641276422764327644276452764627647276482764927650276512765227653276542765527656276572765827659276602766127662276632766427665276662766727668276692767027671276722767327674276752767627677276782767927680276812768227683276842768527686276872768827689276902769127692276932769427695276962769727698276992770027701277022770327704277052770627707277082770927710277112771227713277142771527716277172771827719277202772127722277232772427725277262772727728277292773027731277322773327734277352773627737277382773927740277412774227743277442774527746277472774827749277502775127752277532775427755277562775727758277592776027761277622776327764277652776627767277682776927770277712777227773277742777527776277772777827779277802778127782277832778427785277862778727788277892779027791277922779327794277952779627797277982779927800278012780227803278042780527806278072780827809278102781127812278132781427815278162781727818278192782027821278222782327824278252782627827278282782927830278312783227833278342783527836278372783827839278402784127842278432784427845278462784727848278492785027851278522785327854278552785627857278582785927860278612786227863278642786527866278672786827869278702787127872278732787427875278762787727878278792788027881278822788327884278852788627887278882788927890278912789227893278942789527896278972789827899279002790127902279032790427905279062790727908279092791027911279122791327914279152791627917279182791927920279212792227923279242792527926279272792827929279302793127932279332793427935279362793727938279392794027941279422794327944279452794627947279482794927950279512795227953279542795527956279572795827959279602796127962279632796427965279662796727968279692797027971279722797327974279752797627977279782797927980279812798227983279842798527986279872798827989279902799127992279932799427995279962799727998279992800028001280022800328004280052800628007280082800928010280112801228013280142801528016280172801828019280202802128022280232802428025280262802728028280292803028031280322803328034280352803628037280382803928040280412804228043280442804528046280472804828049280502805128052280532805428055280562805728058280592806028061280622806328064280652806628067280682806928070280712807228073280742807528076280772807828079280802808128082280832808428085280862808728088280892809028091280922809328094280952809628097280982809928100281012810228103281042810528106281072810828109281102811128112281132811428115281162811728118281192812028121281222812328124281252812628127281282812928130281312813228133281342813528136281372813828139281402814128142281432814428145281462814728148281492815028151281522815328154281552815628157281582815928160281612816228163281642816528166281672816828169281702817128172281732817428175281762817728178281792818028181281822818328184281852818628187281882818928190281912819228193281942819528196281972819828199282002820128202282032820428205282062820728208282092821028211282122821328214282152821628217282182821928220282212822228223282242822528226282272822828229282302823128232282332823428235282362823728238282392824028241282422824328244282452824628247282482824928250282512825228253282542825528256282572825828259282602826128262282632826428265282662826728268282692827028271282722827328274282752827628277282782827928280282812828228283282842828528286282872828828289282902829128292282932829428295282962829728298282992830028301283022830328304283052830628307283082830928310283112831228313283142831528316283172831828319283202832128322283232832428325283262832728328283292833028331283322833328334283352833628337283382833928340283412834228343283442834528346283472834828349283502835128352283532835428355283562835728358283592836028361283622836328364283652836628367283682836928370283712837228373283742837528376283772837828379283802838128382283832838428385283862838728388283892839028391283922839328394283952839628397283982839928400284012840228403284042840528406284072840828409284102841128412284132841428415284162841728418284192842028421284222842328424284252842628427284282842928430284312843228433284342843528436284372843828439284402844128442284432844428445284462844728448284492845028451284522845328454284552845628457284582845928460284612846228463284642846528466284672846828469284702847128472284732847428475284762847728478284792848028481284822848328484284852848628487284882848928490284912849228493284942849528496284972849828499285002850128502285032850428505285062850728508285092851028511285122851328514285152851628517285182851928520285212852228523285242852528526285272852828529285302853128532285332853428535285362853728538285392854028541285422854328544285452854628547285482854928550285512855228553285542855528556285572855828559285602856128562285632856428565285662856728568285692857028571285722857328574285752857628577285782857928580285812858228583285842858528586285872858828589285902859128592285932859428595285962859728598285992860028601286022860328604286052860628607286082860928610286112861228613286142861528616286172861828619286202862128622286232862428625286262862728628286292863028631286322863328634286352863628637286382863928640286412864228643286442864528646286472864828649286502865128652286532865428655286562865728658286592866028661286622866328664286652866628667286682866928670286712867228673286742867528676286772867828679286802868128682286832868428685286862868728688286892869028691286922869328694286952869628697286982869928700287012870228703287042870528706287072870828709287102871128712287132871428715287162871728718287192872028721287222872328724287252872628727287282872928730287312873228733287342873528736287372873828739287402874128742287432874428745287462874728748287492875028751287522875328754287552875628757287582875928760287612876228763287642876528766287672876828769287702877128772287732877428775287762877728778287792878028781287822878328784287852878628787287882878928790287912879228793287942879528796287972879828799288002880128802288032880428805288062880728808288092881028811288122881328814288152881628817288182881928820288212882228823288242882528826288272882828829288302883128832288332883428835288362883728838288392884028841288422884328844288452884628847288482884928850288512885228853288542885528856288572885828859288602886128862288632886428865288662886728868288692887028871288722887328874288752887628877288782887928880288812888228883288842888528886288872888828889288902889128892288932889428895288962889728898288992890028901289022890328904289052890628907289082890928910289112891228913289142891528916289172891828919289202892128922289232892428925289262892728928289292893028931289322893328934289352893628937289382893928940289412894228943289442894528946289472894828949289502895128952289532895428955289562895728958289592896028961289622896328964289652896628967289682896928970289712897228973289742897528976289772897828979289802898128982289832898428985289862898728988289892899028991289922899328994289952899628997289982899929000290012900229003290042900529006290072900829009290102901129012290132901429015290162901729018290192902029021290222902329024290252902629027290282902929030290312903229033290342903529036290372903829039290402904129042290432904429045290462904729048290492905029051290522905329054290552905629057290582905929060290612906229063290642906529066290672906829069290702907129072290732907429075290762907729078290792908029081290822908329084290852908629087290882908929090290912909229093290942909529096290972909829099291002910129102291032910429105291062910729108291092911029111291122911329114291152911629117291182911929120291212912229123291242912529126291272912829129291302913129132291332913429135291362913729138291392914029141291422914329144291452914629147291482914929150291512915229153291542915529156291572915829159291602916129162291632916429165291662916729168291692917029171291722917329174291752917629177291782917929180291812918229183291842918529186291872918829189291902919129192291932919429195291962919729198291992920029201292022920329204292052920629207292082920929210292112921229213292142921529216292172921829219292202922129222292232922429225292262922729228292292923029231292322923329234292352923629237292382923929240292412924229243292442924529246292472924829249292502925129252292532925429255292562925729258292592926029261292622926329264292652926629267292682926929270292712927229273292742927529276292772927829279292802928129282292832928429285292862928729288292892929029291292922929329294292952929629297292982929929300293012930229303293042930529306293072930829309293102931129312293132931429315293162931729318293192932029321293222932329324293252932629327293282932929330293312933229333293342933529336293372933829339293402934129342293432934429345293462934729348293492935029351293522935329354293552935629357293582935929360293612936229363293642936529366293672936829369293702937129372293732937429375293762937729378293792938029381293822938329384293852938629387293882938929390293912939229393293942939529396293972939829399294002940129402294032940429405294062940729408294092941029411294122941329414294152941629417294182941929420294212942229423294242942529426294272942829429294302943129432294332943429435294362943729438294392944029441294422944329444294452944629447294482944929450294512945229453294542945529456294572945829459294602946129462294632946429465294662946729468294692947029471294722947329474294752947629477294782947929480294812948229483294842948529486294872948829489294902949129492294932949429495294962949729498294992950029501295022950329504295052950629507295082950929510295112951229513295142951529516295172951829519295202952129522295232952429525295262952729528295292953029531295322953329534295352953629537295382953929540295412954229543295442954529546295472954829549295502955129552295532955429555295562955729558295592956029561295622956329564295652956629567295682956929570295712957229573295742957529576295772957829579295802958129582295832958429585295862958729588295892959029591295922959329594295952959629597295982959929600296012960229603296042960529606296072960829609296102961129612296132961429615296162961729618296192962029621296222962329624296252962629627296282962929630296312963229633296342963529636296372963829639296402964129642296432964429645296462964729648296492965029651296522965329654296552965629657296582965929660296612966229663296642966529666296672966829669296702967129672296732967429675296762967729678296792968029681296822968329684296852968629687296882968929690296912969229693296942969529696296972969829699297002970129702297032970429705297062970729708297092971029711297122971329714297152971629717297182971929720297212972229723297242972529726297272972829729297302973129732297332973429735297362973729738297392974029741297422974329744297452974629747297482974929750297512975229753297542975529756297572975829759297602976129762297632976429765297662976729768297692977029771297722977329774297752977629777297782977929780297812978229783297842978529786297872978829789297902979129792297932979429795297962979729798297992980029801298022980329804298052980629807298082980929810298112981229813298142981529816298172981829819298202982129822298232982429825298262982729828298292983029831298322983329834298352983629837298382983929840298412984229843298442984529846298472984829849298502985129852298532985429855298562985729858298592986029861298622986329864298652986629867298682986929870298712987229873298742987529876298772987829879298802988129882298832988429885298862988729888298892989029891298922989329894298952989629897298982989929900299012990229903299042990529906299072990829909299102991129912299132991429915299162991729918299192992029921299222992329924299252992629927299282992929930299312993229933299342993529936299372993829939299402994129942299432994429945299462994729948299492995029951299522995329954299552995629957299582995929960299612996229963299642996529966299672996829969299702997129972299732997429975299762997729978299792998029981299822998329984299852998629987299882998929990299912999229993299942999529996299972999829999300003000130002300033000430005300063000730008300093001030011300123001330014300153001630017300183001930020300213002230023300243002530026300273002830029300303003130032300333003430035300363003730038300393004030041300423004330044300453004630047300483004930050300513005230053300543005530056300573005830059300603006130062300633006430065300663006730068300693007030071300723007330074300753007630077300783007930080300813008230083300843008530086300873008830089300903009130092300933009430095300963009730098300993010030101301023010330104301053010630107301083010930110301113011230113301143011530116301173011830119301203012130122301233012430125301263012730128301293013030131301323013330134301353013630137301383013930140301413014230143301443014530146301473014830149301503015130152301533015430155301563015730158301593016030161301623016330164301653016630167301683016930170301713017230173301743017530176301773017830179301803018130182301833018430185301863018730188301893019030191301923019330194301953019630197301983019930200302013020230203302043020530206302073020830209302103021130212302133021430215302163021730218302193022030221302223022330224302253022630227302283022930230302313023230233302343023530236302373023830239302403024130242302433024430245302463024730248302493025030251302523025330254302553025630257302583025930260302613026230263302643026530266302673026830269302703027130272302733027430275302763027730278302793028030281302823028330284302853028630287302883028930290302913029230293302943029530296302973029830299303003030130302303033030430305303063030730308303093031030311303123031330314303153031630317303183031930320303213032230323303243032530326303273032830329303303033130332303333033430335303363033730338303393034030341303423034330344303453034630347303483034930350303513035230353303543035530356303573035830359303603036130362303633036430365303663036730368303693037030371303723037330374303753037630377303783037930380303813038230383303843038530386303873038830389303903039130392303933039430395303963039730398303993040030401304023040330404304053040630407304083040930410304113041230413304143041530416304173041830419304203042130422304233042430425304263042730428304293043030431304323043330434304353043630437304383043930440304413044230443304443044530446304473044830449304503045130452304533045430455304563045730458304593046030461304623046330464304653046630467304683046930470304713047230473304743047530476304773047830479304803048130482304833048430485304863048730488304893049030491304923049330494304953049630497304983049930500305013050230503305043050530506305073050830509305103051130512305133051430515305163051730518305193052030521305223052330524305253052630527305283052930530305313053230533305343053530536305373053830539305403054130542305433054430545305463054730548305493055030551305523055330554305553055630557305583055930560305613056230563305643056530566305673056830569305703057130572305733057430575305763057730578305793058030581305823058330584305853058630587305883058930590305913059230593305943059530596305973059830599306003060130602306033060430605306063060730608306093061030611306123061330614306153061630617306183061930620306213062230623306243062530626306273062830629306303063130632306333063430635306363063730638306393064030641306423064330644306453064630647306483064930650306513065230653306543065530656306573065830659306603066130662306633066430665306663066730668306693067030671306723067330674306753067630677306783067930680306813068230683306843068530686306873068830689306903069130692306933069430695306963069730698306993070030701307023070330704307053070630707307083070930710307113071230713307143071530716307173071830719307203072130722307233072430725307263072730728307293073030731307323073330734307353073630737307383073930740307413074230743307443074530746307473074830749307503075130752307533075430755307563075730758307593076030761307623076330764307653076630767307683076930770307713077230773307743077530776307773077830779307803078130782307833078430785307863078730788307893079030791307923079330794307953079630797307983079930800308013080230803308043080530806308073080830809308103081130812308133081430815308163081730818308193082030821308223082330824308253082630827308283082930830308313083230833308343083530836308373083830839308403084130842308433084430845308463084730848308493085030851308523085330854308553085630857308583085930860308613086230863308643086530866308673086830869308703087130872308733087430875308763087730878308793088030881308823088330884308853088630887308883088930890308913089230893308943089530896308973089830899309003090130902309033090430905309063090730908309093091030911309123091330914309153091630917309183091930920309213092230923309243092530926309273092830929309303093130932309333093430935309363093730938309393094030941309423094330944309453094630947309483094930950309513095230953309543095530956309573095830959309603096130962309633096430965309663096730968309693097030971309723097330974309753097630977309783097930980309813098230983309843098530986309873098830989309903099130992309933099430995309963099730998309993100031001310023100331004310053100631007310083100931010310113101231013310143101531016310173101831019310203102131022310233102431025310263102731028310293103031031310323103331034310353103631037310383103931040310413104231043310443104531046310473104831049310503105131052310533105431055310563105731058310593106031061310623106331064310653106631067310683106931070310713107231073310743107531076310773107831079310803108131082310833108431085310863108731088310893109031091310923109331094310953109631097310983109931100311013110231103311043110531106311073110831109311103111131112311133111431115311163111731118311193112031121311223112331124311253112631127311283112931130311313113231133311343113531136311373113831139311403114131142311433114431145311463114731148311493115031151311523115331154311553115631157311583115931160311613116231163311643116531166311673116831169311703117131172311733117431175311763117731178311793118031181311823118331184311853118631187311883118931190311913119231193311943119531196311973119831199312003120131202312033120431205312063120731208312093121031211312123121331214312153121631217312183121931220312213122231223312243122531226312273122831229312303123131232312333123431235312363123731238312393124031241312423124331244312453124631247312483124931250312513125231253312543125531256312573125831259312603126131262312633126431265312663126731268312693127031271312723127331274312753127631277312783127931280312813128231283312843128531286312873128831289312903129131292312933129431295312963129731298312993130031301313023130331304313053130631307313083130931310313113131231313313143131531316313173131831319313203132131322313233132431325313263132731328313293133031331313323133331334313353133631337313383133931340313413134231343313443134531346313473134831349313503135131352313533135431355313563135731358313593136031361313623136331364313653136631367313683136931370313713137231373313743137531376313773137831379313803138131382313833138431385313863138731388313893139031391313923139331394313953139631397313983139931400314013140231403314043140531406314073140831409314103141131412314133141431415314163141731418314193142031421314223142331424314253142631427314283142931430314313143231433314343143531436314373143831439314403144131442314433144431445314463144731448314493145031451314523145331454314553145631457314583145931460314613146231463314643146531466314673146831469314703147131472314733147431475314763147731478314793148031481314823148331484314853148631487314883148931490314913149231493314943149531496314973149831499315003150131502315033150431505315063150731508315093151031511315123151331514315153151631517315183151931520315213152231523315243152531526315273152831529315303153131532315333153431535315363153731538315393154031541315423154331544315453154631547315483154931550315513155231553315543155531556315573155831559315603156131562315633156431565315663156731568315693157031571315723157331574315753157631577315783157931580315813158231583315843158531586315873158831589315903159131592315933159431595315963159731598315993160031601316023160331604316053160631607316083160931610316113161231613316143161531616316173161831619316203162131622316233162431625316263162731628316293163031631316323163331634316353163631637316383163931640316413164231643316443164531646316473164831649316503165131652316533165431655316563165731658316593166031661316623166331664316653166631667316683166931670316713167231673316743167531676316773167831679316803168131682316833168431685316863168731688316893169031691316923169331694316953169631697316983169931700317013170231703317043170531706317073170831709317103171131712317133171431715317163171731718317193172031721317223172331724317253172631727317283172931730317313173231733317343173531736317373173831739317403174131742317433174431745317463174731748317493175031751317523175331754317553175631757317583175931760317613176231763317643176531766317673176831769317703177131772317733177431775317763177731778317793178031781317823178331784317853178631787317883178931790317913179231793317943179531796317973179831799318003180131802318033180431805318063180731808318093181031811318123181331814318153181631817318183181931820318213182231823318243182531826318273182831829318303183131832318333183431835318363183731838318393184031841318423184331844318453184631847318483184931850318513185231853318543185531856318573185831859318603186131862318633186431865318663186731868318693187031871318723187331874318753187631877318783187931880318813188231883318843188531886318873188831889318903189131892318933189431895318963189731898318993190031901319023190331904319053190631907319083190931910319113191231913319143191531916319173191831919319203192131922319233192431925319263192731928319293193031931319323193331934319353193631937319383193931940319413194231943319443194531946319473194831949319503195131952319533195431955319563195731958319593196031961319623196331964319653196631967319683196931970319713197231973319743197531976319773197831979319803198131982319833198431985319863198731988319893199031991319923199331994319953199631997319983199932000320013200232003320043200532006320073200832009320103201132012320133201432015320163201732018320193202032021320223202332024320253202632027320283202932030320313203232033320343203532036320373203832039320403204132042320433204432045320463204732048320493205032051320523205332054320553205632057320583205932060320613206232063320643206532066320673206832069320703207132072320733207432075320763207732078320793208032081320823208332084320853208632087320883208932090320913209232093320943209532096320973209832099321003210132102321033210432105321063210732108321093211032111321123211332114321153211632117321183211932120321213212232123321243212532126321273212832129321303213132132321333213432135321363213732138321393214032141321423214332144321453214632147321483214932150321513215232153321543215532156321573215832159321603216132162321633216432165321663216732168321693217032171321723217332174321753217632177321783217932180321813218232183321843218532186321873218832189321903219132192321933219432195321963219732198321993220032201322023220332204322053220632207322083220932210322113221232213322143221532216322173221832219322203222132222322233222432225322263222732228322293223032231322323223332234322353223632237322383223932240322413224232243322443224532246322473224832249322503225132252322533225432255322563225732258322593226032261322623226332264322653226632267322683226932270322713227232273322743227532276322773227832279322803228132282322833228432285322863228732288322893229032291322923229332294322953229632297322983229932300323013230232303323043230532306323073230832309323103231132312323133231432315323163231732318323193232032321323223232332324323253232632327323283232932330323313233232333323343233532336323373233832339323403234132342323433234432345323463234732348323493235032351323523235332354323553235632357323583235932360323613236232363323643236532366323673236832369323703237132372323733237432375323763237732378323793238032381323823238332384323853238632387323883238932390323913239232393323943239532396323973239832399324003240132402324033240432405324063240732408324093241032411324123241332414324153241632417324183241932420324213242232423324243242532426324273242832429324303243132432324333243432435324363243732438324393244032441324423244332444324453244632447324483244932450324513245232453324543245532456324573245832459324603246132462324633246432465324663246732468324693247032471324723247332474324753247632477324783247932480324813248232483324843248532486324873248832489324903249132492324933249432495324963249732498324993250032501325023250332504325053250632507325083250932510325113251232513325143251532516325173251832519325203252132522325233252432525325263252732528325293253032531325323253332534325353253632537325383253932540325413254232543325443254532546325473254832549325503255132552325533255432555325563255732558325593256032561325623256332564325653256632567325683256932570325713257232573325743257532576325773257832579325803258132582325833258432585325863258732588325893259032591325923259332594325953259632597325983259932600326013260232603326043260532606326073260832609326103261132612326133261432615326163261732618326193262032621326223262332624326253262632627326283262932630326313263232633326343263532636326373263832639326403264132642326433264432645326463264732648326493265032651326523265332654326553265632657326583265932660326613266232663326643266532666326673266832669326703267132672326733267432675326763267732678326793268032681326823268332684326853268632687326883268932690326913269232693326943269532696326973269832699327003270132702327033270432705327063270732708327093271032711327123271332714327153271632717327183271932720327213272232723327243272532726327273272832729327303273132732327333273432735327363273732738327393274032741327423274332744327453274632747327483274932750327513275232753327543275532756327573275832759327603276132762327633276432765327663276732768327693277032771327723277332774327753277632777327783277932780327813278232783327843278532786327873278832789327903279132792327933279432795327963279732798327993280032801328023280332804328053280632807328083280932810328113281232813328143281532816328173281832819328203282132822328233282432825328263282732828328293283032831328323283332834328353283632837328383283932840328413284232843328443284532846328473284832849328503285132852328533285432855328563285732858328593286032861328623286332864328653286632867328683286932870328713287232873328743287532876328773287832879328803288132882328833288432885328863288732888328893289032891328923289332894328953289632897328983289932900329013290232903329043290532906329073290832909329103291132912329133291432915329163291732918329193292032921329223292332924329253292632927329283292932930329313293232933329343293532936329373293832939329403294132942329433294432945329463294732948329493295032951329523295332954329553295632957329583295932960329613296232963329643296532966329673296832969329703297132972329733297432975329763297732978329793298032981329823298332984329853298632987329883298932990329913299232993329943299532996329973299832999330003300133002330033300433005330063300733008330093301033011330123301333014330153301633017330183301933020330213302233023330243302533026330273302833029330303303133032330333303433035330363303733038330393304033041330423304333044330453304633047330483304933050330513305233053330543305533056330573305833059330603306133062330633306433065330663306733068330693307033071330723307333074330753307633077330783307933080330813308233083330843308533086330873308833089330903309133092330933309433095330963309733098330993310033101331023310333104331053310633107331083310933110331113311233113331143311533116331173311833119331203312133122331233312433125331263312733128331293313033131331323313333134331353313633137331383313933140331413314233143331443314533146331473314833149331503315133152331533315433155331563315733158331593316033161331623316333164331653316633167331683316933170331713317233173331743317533176331773317833179331803318133182331833318433185331863318733188331893319033191331923319333194331953319633197331983319933200332013320233203332043320533206332073320833209332103321133212332133321433215332163321733218332193322033221332223322333224332253322633227332283322933230332313323233233332343323533236332373323833239332403324133242332433324433245332463324733248332493325033251332523325333254332553325633257332583325933260332613326233263332643326533266332673326833269332703327133272332733327433275332763327733278332793328033281332823328333284332853328633287332883328933290332913329233293332943329533296332973329833299333003330133302333033330433305333063330733308333093331033311333123331333314333153331633317333183331933320333213332233323333243332533326333273332833329333303333133332333333333433335333363333733338333393334033341333423334333344333453334633347333483334933350333513335233353333543335533356333573335833359333603336133362333633336433365333663336733368333693337033371333723337333374333753337633377333783337933380333813338233383333843338533386333873338833389333903339133392333933339433395333963339733398333993340033401334023340333404334053340633407334083340933410334113341233413334143341533416334173341833419334203342133422334233342433425334263342733428334293343033431334323343333434334353343633437334383343933440334413344233443334443344533446334473344833449334503345133452334533345433455334563345733458334593346033461334623346333464334653346633467334683346933470334713347233473334743347533476334773347833479334803348133482334833348433485334863348733488334893349033491334923349333494334953349633497334983349933500335013350233503335043350533506335073350833509335103351133512335133351433515335163351733518335193352033521335223352333524335253352633527335283352933530335313353233533335343353533536335373353833539335403354133542335433354433545335463354733548335493355033551335523355333554335553355633557335583355933560335613356233563335643356533566335673356833569335703357133572335733357433575335763357733578335793358033581335823358333584335853358633587335883358933590335913359233593335943359533596335973359833599336003360133602336033360433605336063360733608336093361033611336123361333614336153361633617336183361933620336213362233623336243362533626336273362833629336303363133632336333363433635336363363733638336393364033641336423364333644336453364633647336483364933650336513365233653336543365533656336573365833659336603366133662336633366433665336663366733668336693367033671336723367333674336753367633677336783367933680336813368233683336843368533686336873368833689336903369133692336933369433695336963369733698336993370033701337023370333704337053370633707337083370933710337113371233713337143371533716337173371833719337203372133722337233372433725337263372733728337293373033731337323373333734337353373633737337383373933740337413374233743337443374533746337473374833749337503375133752337533375433755337563375733758337593376033761337623376333764337653376633767337683376933770337713377233773337743377533776337773377833779337803378133782337833378433785337863378733788337893379033791337923379333794337953379633797337983379933800338013380233803338043380533806338073380833809338103381133812338133381433815338163381733818338193382033821338223382333824338253382633827338283382933830338313383233833338343383533836338373383833839338403384133842338433384433845338463384733848338493385033851338523385333854338553385633857338583385933860338613386233863338643386533866338673386833869338703387133872338733387433875338763387733878338793388033881338823388333884338853388633887338883388933890338913389233893338943389533896338973389833899339003390133902339033390433905339063390733908339093391033911339123391333914339153391633917339183391933920339213392233923339243392533926339273392833929339303393133932339333393433935339363393733938339393394033941339423394333944339453394633947339483394933950339513395233953339543395533956339573395833959339603396133962339633396433965339663396733968339693397033971339723397333974339753397633977339783397933980339813398233983339843398533986339873398833989339903399133992339933399433995339963399733998339993400034001340023400334004340053400634007340083400934010340113401234013340143401534016340173401834019340203402134022340233402434025340263402734028340293403034031340323403334034340353403634037340383403934040340413404234043340443404534046340473404834049340503405134052340533405434055340563405734058340593406034061340623406334064340653406634067340683406934070340713407234073340743407534076340773407834079340803408134082340833408434085340863408734088340893409034091340923409334094340953409634097340983409934100341013410234103341043410534106341073410834109341103411134112341133411434115341163411734118341193412034121341223412334124341253412634127341283412934130341313413234133341343413534136341373413834139341403414134142341433414434145341463414734148341493415034151341523415334154341553415634157341583415934160341613416234163341643416534166341673416834169341703417134172341733417434175341763417734178341793418034181341823418334184341853418634187341883418934190341913419234193341943419534196341973419834199342003420134202342033420434205342063420734208342093421034211342123421334214342153421634217342183421934220342213422234223342243422534226342273422834229342303423134232342333423434235342363423734238342393424034241342423424334244342453424634247342483424934250342513425234253342543425534256342573425834259342603426134262342633426434265342663426734268342693427034271342723427334274342753427634277342783427934280342813428234283342843428534286342873428834289342903429134292342933429434295342963429734298342993430034301343023430334304343053430634307343083430934310343113431234313343143431534316343173431834319343203432134322343233432434325343263432734328343293433034331343323433334334343353433634337343383433934340343413434234343343443434534346343473434834349343503435134352343533435434355343563435734358343593436034361343623436334364343653436634367343683436934370343713437234373343743437534376343773437834379343803438134382343833438434385343863438734388343893439034391343923439334394343953439634397343983439934400344013440234403344043440534406344073440834409344103441134412344133441434415344163441734418344193442034421344223442334424344253442634427344283442934430344313443234433344343443534436344373443834439344403444134442344433444434445344463444734448344493445034451344523445334454344553445634457344583445934460344613446234463344643446534466344673446834469344703447134472344733447434475344763447734478344793448034481344823448334484344853448634487344883448934490344913449234493344943449534496344973449834499345003450134502345033450434505345063450734508345093451034511345123451334514345153451634517345183451934520345213452234523345243452534526345273452834529345303453134532345333453434535345363453734538345393454034541345423454334544345453454634547345483454934550345513455234553345543455534556345573455834559345603456134562345633456434565345663456734568345693457034571345723457334574345753457634577345783457934580345813458234583345843458534586345873458834589345903459134592345933459434595345963459734598345993460034601346023460334604346053460634607346083460934610346113461234613346143461534616346173461834619346203462134622346233462434625346263462734628346293463034631346323463334634346353463634637346383463934640346413464234643346443464534646346473464834649346503465134652346533465434655346563465734658346593466034661346623466334664346653466634667346683466934670346713467234673346743467534676346773467834679346803468134682346833468434685346863468734688346893469034691346923469334694346953469634697346983469934700347013470234703347043470534706347073470834709347103471134712347133471434715347163471734718347193472034721347223472334724347253472634727347283472934730347313473234733347343473534736347373473834739347403474134742347433474434745347463474734748347493475034751347523475334754347553475634757347583475934760347613476234763347643476534766347673476834769347703477134772347733477434775347763477734778347793478034781347823478334784347853478634787347883478934790347913479234793347943479534796347973479834799348003480134802348033480434805348063480734808348093481034811348123481334814348153481634817348183481934820348213482234823348243482534826348273482834829348303483134832348333483434835348363483734838348393484034841348423484334844348453484634847348483484934850348513485234853348543485534856348573485834859348603486134862348633486434865348663486734868348693487034871348723487334874348753487634877348783487934880348813488234883348843488534886348873488834889348903489134892348933489434895348963489734898348993490034901349023490334904349053490634907349083490934910349113491234913349143491534916349173491834919349203492134922349233492434925349263492734928349293493034931349323493334934349353493634937349383493934940349413494234943349443494534946349473494834949349503495134952349533495434955349563495734958349593496034961349623496334964349653496634967349683496934970349713497234973349743497534976349773497834979349803498134982349833498434985349863498734988349893499034991349923499334994349953499634997349983499935000350013500235003350043500535006350073500835009350103501135012350133501435015350163501735018350193502035021350223502335024350253502635027350283502935030350313503235033350343503535036350373503835039350403504135042350433504435045350463504735048350493505035051350523505335054350553505635057350583505935060350613506235063350643506535066350673506835069350703507135072350733507435075350763507735078350793508035081350823508335084350853508635087350883508935090350913509235093350943509535096350973509835099351003510135102351033510435105351063510735108351093511035111351123511335114351153511635117351183511935120351213512235123351243512535126351273512835129351303513135132351333513435135351363513735138351393514035141351423514335144351453514635147351483514935150351513515235153351543515535156351573515835159351603516135162351633516435165351663516735168351693517035171351723517335174351753517635177351783517935180351813518235183351843518535186351873518835189351903519135192351933519435195351963519735198351993520035201352023520335204352053520635207352083520935210352113521235213352143521535216352173521835219352203522135222352233522435225352263522735228352293523035231352323523335234352353523635237352383523935240352413524235243352443524535246352473524835249352503525135252352533525435255352563525735258352593526035261352623526335264352653526635267352683526935270352713527235273352743527535276352773527835279352803528135282352833528435285352863528735288352893529035291352923529335294352953529635297352983529935300353013530235303353043530535306353073530835309353103531135312353133531435315353163531735318353193532035321353223532335324353253532635327353283532935330353313533235333353343533535336353373533835339353403534135342353433534435345353463534735348353493535035351353523535335354353553535635357353583535935360353613536235363353643536535366353673536835369353703537135372353733537435375353763537735378353793538035381353823538335384353853538635387353883538935390353913539235393353943539535396353973539835399354003540135402354033540435405354063540735408354093541035411354123541335414354153541635417354183541935420354213542235423354243542535426354273542835429354303543135432354333543435435354363543735438354393544035441354423544335444354453544635447354483544935450354513545235453354543545535456354573545835459354603546135462354633546435465354663546735468354693547035471354723547335474354753547635477354783547935480354813548235483354843548535486354873548835489354903549135492354933549435495354963549735498354993550035501355023550335504355053550635507355083550935510355113551235513355143551535516355173551835519355203552135522355233552435525355263552735528355293553035531355323553335534355353553635537355383553935540355413554235543355443554535546355473554835549355503555135552355533555435555355563555735558355593556035561355623556335564355653556635567355683556935570355713557235573355743557535576355773557835579355803558135582355833558435585355863558735588355893559035591355923559335594355953559635597355983559935600356013560235603356043560535606356073560835609356103561135612356133561435615356163561735618356193562035621356223562335624356253562635627356283562935630356313563235633356343563535636356373563835639356403564135642356433564435645356463564735648356493565035651356523565335654356553565635657356583565935660356613566235663356643566535666356673566835669356703567135672356733567435675356763567735678356793568035681356823568335684356853568635687356883568935690356913569235693356943569535696356973569835699357003570135702357033570435705357063570735708357093571035711357123571335714357153571635717357183571935720357213572235723357243572535726357273572835729357303573135732357333573435735357363573735738357393574035741357423574335744357453574635747357483574935750357513575235753357543575535756357573575835759357603576135762357633576435765357663576735768357693577035771357723577335774357753577635777357783577935780357813578235783357843578535786357873578835789357903579135792357933579435795357963579735798357993580035801358023580335804358053580635807358083580935810358113581235813358143581535816358173581835819358203582135822358233582435825358263582735828358293583035831358323583335834358353583635837358383583935840358413584235843358443584535846358473584835849358503585135852358533585435855358563585735858358593586035861358623586335864358653586635867358683586935870358713587235873358743587535876358773587835879358803588135882358833588435885358863588735888358893589035891358923589335894358953589635897358983589935900359013590235903359043590535906359073590835909359103591135912359133591435915359163591735918359193592035921359223592335924359253592635927359283592935930359313593235933359343593535936359373593835939359403594135942359433594435945359463594735948359493595035951359523595335954359553595635957359583595935960359613596235963359643596535966359673596835969359703597135972359733597435975359763597735978359793598035981359823598335984359853598635987359883598935990359913599235993359943599535996359973599835999360003600136002360033600436005360063600736008360093601036011360123601336014360153601636017360183601936020360213602236023360243602536026360273602836029360303603136032360333603436035360363603736038360393604036041360423604336044360453604636047360483604936050360513605236053360543605536056360573605836059360603606136062360633606436065360663606736068360693607036071360723607336074360753607636077360783607936080360813608236083360843608536086360873608836089360903609136092360933609436095360963609736098360993610036101361023610336104361053610636107361083610936110361113611236113361143611536116361173611836119361203612136122361233612436125361263612736128361293613036131361323613336134361353613636137361383613936140361413614236143361443614536146361473614836149361503615136152361533615436155361563615736158361593616036161361623616336164361653616636167361683616936170361713617236173361743617536176361773617836179361803618136182361833618436185361863618736188361893619036191361923619336194361953619636197361983619936200362013620236203362043620536206362073620836209362103621136212362133621436215362163621736218362193622036221362223622336224362253622636227362283622936230362313623236233362343623536236362373623836239362403624136242362433624436245362463624736248362493625036251362523625336254362553625636257362583625936260362613626236263362643626536266362673626836269362703627136272362733627436275362763627736278362793628036281362823628336284362853628636287362883628936290362913629236293362943629536296362973629836299363003630136302363033630436305363063630736308363093631036311363123631336314363153631636317363183631936320363213632236323363243632536326363273632836329363303633136332363333633436335363363633736338363393634036341363423634336344363453634636347363483634936350363513635236353363543635536356363573635836359363603636136362363633636436365363663636736368363693637036371363723637336374363753637636377363783637936380363813638236383363843638536386363873638836389363903639136392363933639436395363963639736398363993640036401364023640336404364053640636407364083640936410364113641236413364143641536416364173641836419364203642136422364233642436425364263642736428364293643036431364323643336434364353643636437364383643936440364413644236443364443644536446364473644836449364503645136452364533645436455364563645736458364593646036461364623646336464364653646636467364683646936470364713647236473364743647536476364773647836479364803648136482364833648436485364863648736488364893649036491364923649336494364953649636497364983649936500365013650236503365043650536506365073650836509365103651136512365133651436515365163651736518365193652036521365223652336524365253652636527365283652936530365313653236533365343653536536365373653836539365403654136542365433654436545365463654736548365493655036551365523655336554365553655636557365583655936560365613656236563365643656536566365673656836569365703657136572365733657436575365763657736578365793658036581365823658336584365853658636587365883658936590365913659236593365943659536596365973659836599366003660136602366033660436605366063660736608366093661036611366123661336614366153661636617366183661936620366213662236623366243662536626366273662836629366303663136632366333663436635366363663736638366393664036641366423664336644366453664636647366483664936650366513665236653366543665536656366573665836659366603666136662366633666436665366663666736668366693667036671366723667336674366753667636677366783667936680366813668236683366843668536686366873668836689366903669136692366933669436695366963669736698366993670036701367023670336704367053670636707367083670936710367113671236713367143671536716367173671836719367203672136722367233672436725367263672736728367293673036731367323673336734367353673636737367383673936740367413674236743367443674536746367473674836749367503675136752367533675436755367563675736758367593676036761367623676336764367653676636767367683676936770367713677236773367743677536776367773677836779367803678136782367833678436785367863678736788367893679036791367923679336794367953679636797367983679936800368013680236803368043680536806368073680836809368103681136812368133681436815368163681736818368193682036821368223682336824368253682636827368283682936830368313683236833368343683536836368373683836839368403684136842368433684436845368463684736848368493685036851368523685336854368553685636857368583685936860368613686236863368643686536866368673686836869368703687136872368733687436875368763687736878368793688036881368823688336884368853688636887368883688936890368913689236893368943689536896368973689836899369003690136902369033690436905369063690736908369093691036911369123691336914369153691636917369183691936920369213692236923369243692536926369273692836929369303693136932369333693436935369363693736938369393694036941369423694336944369453694636947369483694936950369513695236953369543695536956369573695836959369603696136962369633696436965369663696736968369693697036971369723697336974369753697636977369783697936980369813698236983369843698536986369873698836989369903699136992369933699436995369963699736998369993700037001370023700337004370053700637007370083700937010370113701237013370143701537016370173701837019370203702137022370233702437025370263702737028370293703037031370323703337034370353703637037370383703937040370413704237043370443704537046370473704837049370503705137052370533705437055370563705737058370593706037061370623706337064370653706637067370683706937070370713707237073370743707537076370773707837079370803708137082370833708437085370863708737088370893709037091370923709337094370953709637097370983709937100371013710237103371043710537106371073710837109371103711137112371133711437115371163711737118371193712037121371223712337124371253712637127371283712937130371313713237133371343713537136371373713837139371403714137142371433714437145371463714737148371493715037151371523715337154371553715637157371583715937160371613716237163371643716537166371673716837169371703717137172371733717437175371763717737178371793718037181371823718337184371853718637187371883718937190371913719237193371943719537196371973719837199372003720137202372033720437205372063720737208372093721037211372123721337214372153721637217372183721937220372213722237223372243722537226372273722837229372303723137232372333723437235372363723737238372393724037241372423724337244372453724637247372483724937250372513725237253372543725537256372573725837259372603726137262372633726437265372663726737268372693727037271372723727337274372753727637277372783727937280372813728237283372843728537286372873728837289372903729137292372933729437295372963729737298372993730037301373023730337304373053730637307373083730937310373113731237313373143731537316373173731837319373203732137322373233732437325373263732737328373293733037331373323733337334373353733637337373383733937340373413734237343373443734537346373473734837349373503735137352373533735437355373563735737358373593736037361373623736337364373653736637367373683736937370373713737237373373743737537376373773737837379373803738137382373833738437385373863738737388373893739037391373923739337394373953739637397373983739937400374013740237403374043740537406374073740837409374103741137412374133741437415374163741737418374193742037421374223742337424374253742637427374283742937430374313743237433374343743537436374373743837439374403744137442374433744437445374463744737448374493745037451374523745337454374553745637457374583745937460374613746237463374643746537466374673746837469374703747137472374733747437475374763747737478374793748037481374823748337484374853748637487374883748937490374913749237493374943749537496374973749837499375003750137502375033750437505375063750737508375093751037511375123751337514375153751637517375183751937520375213752237523375243752537526375273752837529375303753137532375333753437535375363753737538375393754037541375423754337544375453754637547375483754937550375513755237553375543755537556375573755837559375603756137562375633756437565375663756737568375693757037571375723757337574375753757637577375783757937580375813758237583375843758537586375873758837589375903759137592375933759437595375963759737598375993760037601376023760337604376053760637607376083760937610376113761237613376143761537616376173761837619376203762137622376233762437625376263762737628376293763037631376323763337634376353763637637376383763937640376413764237643376443764537646376473764837649376503765137652376533765437655376563765737658376593766037661376623766337664376653766637667376683766937670376713767237673376743767537676376773767837679376803768137682376833768437685376863768737688376893769037691376923769337694376953769637697376983769937700377013770237703377043770537706377073770837709377103771137712377133771437715377163771737718377193772037721377223772337724377253772637727377283772937730377313773237733377343773537736377373773837739377403774137742377433774437745377463774737748377493775037751377523775337754377553775637757377583775937760377613776237763377643776537766377673776837769377703777137772377733777437775377763777737778377793778037781377823778337784377853778637787377883778937790377913779237793377943779537796377973779837799378003780137802378033780437805378063780737808378093781037811378123781337814378153781637817378183781937820378213782237823378243782537826378273782837829378303783137832378333783437835378363783737838378393784037841378423784337844378453784637847378483784937850378513785237853378543785537856378573785837859378603786137862378633786437865378663786737868378693787037871378723787337874378753787637877378783787937880378813788237883378843788537886378873788837889378903789137892378933789437895378963789737898378993790037901379023790337904379053790637907379083790937910379113791237913379143791537916379173791837919379203792137922379233792437925379263792737928379293793037931379323793337934379353793637937379383793937940379413794237943379443794537946379473794837949379503795137952379533795437955379563795737958379593796037961379623796337964379653796637967379683796937970379713797237973379743797537976379773797837979379803798137982379833798437985379863798737988379893799037991379923799337994379953799637997379983799938000380013800238003380043800538006380073800838009380103801138012380133801438015380163801738018380193802038021380223802338024380253802638027380283802938030380313803238033380343803538036380373803838039380403804138042380433804438045380463804738048380493805038051380523805338054380553805638057380583805938060380613806238063380643806538066380673806838069380703807138072380733807438075380763807738078380793808038081380823808338084380853808638087380883808938090380913809238093380943809538096380973809838099381003810138102381033810438105381063810738108381093811038111381123811338114381153811638117381183811938120381213812238123381243812538126381273812838129381303813138132381333813438135381363813738138381393814038141381423814338144381453814638147381483814938150381513815238153381543815538156381573815838159381603816138162381633816438165381663816738168381693817038171381723817338174381753817638177381783817938180381813818238183381843818538186381873818838189381903819138192381933819438195381963819738198381993820038201382023820338204382053820638207382083820938210382113821238213382143821538216382173821838219382203822138222382233822438225382263822738228382293823038231382323823338234382353823638237382383823938240382413824238243382443824538246382473824838249382503825138252382533825438255382563825738258382593826038261382623826338264382653826638267382683826938270382713827238273382743827538276382773827838279382803828138282382833828438285382863828738288382893829038291382923829338294382953829638297382983829938300383013830238303383043830538306383073830838309383103831138312383133831438315383163831738318383193832038321383223832338324383253832638327383283832938330383313833238333383343833538336383373833838339383403834138342383433834438345383463834738348383493835038351383523835338354383553835638357383583835938360383613836238363383643836538366383673836838369383703837138372383733837438375383763837738378383793838038381383823838338384383853838638387383883838938390383913839238393383943839538396383973839838399384003840138402384033840438405384063840738408384093841038411384123841338414384153841638417384183841938420384213842238423384243842538426384273842838429384303843138432384333843438435384363843738438384393844038441384423844338444384453844638447384483844938450384513845238453384543845538456384573845838459384603846138462384633846438465384663846738468384693847038471384723847338474384753847638477384783847938480384813848238483384843848538486384873848838489384903849138492384933849438495384963849738498384993850038501385023850338504385053850638507385083850938510385113851238513385143851538516385173851838519385203852138522385233852438525385263852738528385293853038531385323853338534385353853638537385383853938540385413854238543385443854538546385473854838549385503855138552385533855438555385563855738558385593856038561385623856338564385653856638567385683856938570385713857238573385743857538576385773857838579385803858138582385833858438585385863858738588385893859038591385923859338594385953859638597385983859938600386013860238603386043860538606386073860838609386103861138612386133861438615386163861738618386193862038621386223862338624386253862638627386283862938630386313863238633386343863538636386373863838639386403864138642386433864438645386463864738648386493865038651386523865338654386553865638657386583865938660386613866238663386643866538666386673866838669386703867138672386733867438675386763867738678386793868038681386823868338684386853868638687386883868938690386913869238693386943869538696386973869838699387003870138702387033870438705387063870738708387093871038711387123871338714387153871638717387183871938720387213872238723387243872538726387273872838729387303873138732387333873438735387363873738738387393874038741387423874338744387453874638747387483874938750387513875238753387543875538756387573875838759387603876138762387633876438765387663876738768387693877038771387723877338774387753877638777387783877938780387813878238783387843878538786387873878838789387903879138792387933879438795387963879738798387993880038801388023880338804388053880638807388083880938810388113881238813388143881538816388173881838819388203882138822388233882438825388263882738828388293883038831388323883338834388353883638837388383883938840388413884238843388443884538846388473884838849388503885138852388533885438855388563885738858388593886038861388623886338864388653886638867388683886938870388713887238873388743887538876388773887838879388803888138882388833888438885388863888738888388893889038891388923889338894388953889638897388983889938900389013890238903389043890538906389073890838909389103891138912389133891438915389163891738918389193892038921389223892338924389253892638927389283892938930389313893238933389343893538936389373893838939389403894138942389433894438945389463894738948389493895038951389523895338954389553895638957389583895938960389613896238963389643896538966389673896838969389703897138972389733897438975389763897738978389793898038981389823898338984389853898638987389883898938990389913899238993389943899538996389973899838999390003900139002390033900439005390063900739008390093901039011390123901339014390153901639017390183901939020390213902239023390243902539026390273902839029390303903139032390333903439035390363903739038390393904039041390423904339044390453904639047390483904939050390513905239053390543905539056390573905839059390603906139062390633906439065390663906739068390693907039071390723907339074390753907639077390783907939080390813908239083390843908539086390873908839089390903909139092390933909439095390963909739098390993910039101391023910339104391053910639107391083910939110391113911239113391143911539116391173911839119391203912139122391233912439125391263912739128391293913039131391323913339134391353913639137391383913939140391413914239143391443914539146391473914839149391503915139152391533915439155391563915739158391593916039161391623916339164391653916639167391683916939170391713917239173391743917539176391773917839179391803918139182391833918439185391863918739188391893919039191391923919339194391953919639197391983919939200392013920239203392043920539206392073920839209392103921139212392133921439215392163921739218392193922039221392223922339224392253922639227392283922939230392313923239233392343923539236392373923839239392403924139242392433924439245392463924739248392493925039251392523925339254392553925639257392583925939260392613926239263392643926539266392673926839269392703927139272392733927439275392763927739278392793928039281392823928339284392853928639287392883928939290392913929239293392943929539296392973929839299393003930139302393033930439305393063930739308393093931039311393123931339314393153931639317393183931939320393213932239323393243932539326393273932839329393303933139332393333933439335393363933739338393393934039341393423934339344393453934639347393483934939350393513935239353393543935539356393573935839359393603936139362393633936439365393663936739368393693937039371393723937339374393753937639377393783937939380393813938239383393843938539386393873938839389393903939139392393933939439395393963939739398393993940039401394023940339404394053940639407394083940939410394113941239413394143941539416394173941839419394203942139422394233942439425394263942739428394293943039431394323943339434394353943639437394383943939440394413944239443394443944539446394473944839449394503945139452394533945439455394563945739458394593946039461394623946339464394653946639467394683946939470394713947239473394743947539476394773947839479394803948139482394833948439485394863948739488394893949039491394923949339494394953949639497394983949939500395013950239503395043950539506395073950839509395103951139512395133951439515395163951739518395193952039521395223952339524395253952639527395283952939530395313953239533395343953539536395373953839539395403954139542395433954439545395463954739548395493955039551395523955339554395553955639557395583955939560395613956239563395643956539566395673956839569395703957139572395733957439575395763957739578395793958039581395823958339584395853958639587395883958939590395913959239593395943959539596395973959839599396003960139602396033960439605396063960739608396093961039611396123961339614396153961639617396183961939620396213962239623396243962539626396273962839629396303963139632396333963439635396363963739638396393964039641396423964339644396453964639647396483964939650396513965239653396543965539656396573965839659396603966139662396633966439665396663966739668396693967039671396723967339674396753967639677396783967939680396813968239683396843968539686396873968839689396903969139692396933969439695396963969739698396993970039701397023970339704397053970639707397083970939710397113971239713397143971539716397173971839719397203972139722397233972439725397263972739728397293973039731397323973339734397353973639737397383973939740397413974239743397443974539746397473974839749397503975139752397533975439755397563975739758397593976039761397623976339764397653976639767397683976939770397713977239773397743977539776397773977839779397803978139782397833978439785397863978739788397893979039791397923979339794397953979639797397983979939800398013980239803398043980539806398073980839809398103981139812398133981439815398163981739818398193982039821398223982339824398253982639827398283982939830398313983239833398343983539836398373983839839398403984139842398433984439845398463984739848398493985039851398523985339854398553985639857398583985939860398613986239863398643986539866398673986839869398703987139872398733987439875398763987739878398793988039881398823988339884398853988639887398883988939890398913989239893398943989539896398973989839899399003990139902399033990439905399063990739908399093991039911399123991339914399153991639917399183991939920399213992239923399243992539926399273992839929399303993139932399333993439935399363993739938399393994039941399423994339944399453994639947399483994939950399513995239953399543995539956399573995839959399603996139962399633996439965399663996739968399693997039971399723997339974399753997639977399783997939980399813998239983399843998539986399873998839989399903999139992399933999439995399963999739998399994000040001400024000340004400054000640007400084000940010400114001240013400144001540016400174001840019400204002140022400234002440025400264002740028400294003040031400324003340034400354003640037400384003940040400414004240043400444004540046400474004840049400504005140052400534005440055400564005740058400594006040061400624006340064400654006640067400684006940070400714007240073400744007540076400774007840079400804008140082400834008440085400864008740088400894009040091400924009340094400954009640097400984009940100401014010240103401044010540106401074010840109401104011140112401134011440115401164011740118401194012040121401224012340124401254012640127401284012940130401314013240133401344013540136401374013840139401404014140142401434014440145401464014740148401494015040151401524015340154401554015640157401584015940160401614016240163401644016540166401674016840169401704017140172401734017440175401764017740178401794018040181401824018340184401854018640187401884018940190401914019240193401944019540196401974019840199402004020140202402034020440205402064020740208402094021040211402124021340214402154021640217402184021940220402214022240223402244022540226402274022840229402304023140232402334023440235402364023740238402394024040241402424024340244402454024640247402484024940250402514025240253402544025540256402574025840259402604026140262402634026440265402664026740268402694027040271402724027340274402754027640277402784027940280402814028240283402844028540286402874028840289402904029140292402934029440295402964029740298402994030040301403024030340304403054030640307403084030940310403114031240313403144031540316403174031840319403204032140322403234032440325403264032740328403294033040331403324033340334403354033640337403384033940340403414034240343403444034540346403474034840349403504035140352403534035440355403564035740358403594036040361403624036340364403654036640367403684036940370403714037240373403744037540376403774037840379403804038140382403834038440385403864038740388403894039040391403924039340394403954039640397403984039940400404014040240403404044040540406404074040840409404104041140412404134041440415404164041740418404194042040421404224042340424404254042640427404284042940430404314043240433404344043540436404374043840439404404044140442404434044440445404464044740448404494045040451404524045340454404554045640457404584045940460404614046240463404644046540466404674046840469404704047140472404734047440475404764047740478404794048040481404824048340484404854048640487404884048940490404914049240493404944049540496404974049840499405004050140502405034050440505405064050740508405094051040511405124051340514405154051640517405184051940520405214052240523405244052540526405274052840529405304053140532405334053440535405364053740538405394054040541405424054340544405454054640547405484054940550405514055240553405544055540556405574055840559405604056140562405634056440565405664056740568405694057040571405724057340574405754057640577405784057940580405814058240583405844058540586405874058840589405904059140592405934059440595405964059740598405994060040601406024060340604406054060640607406084060940610406114061240613406144061540616406174061840619406204062140622406234062440625406264062740628406294063040631406324063340634406354063640637406384063940640406414064240643406444064540646406474064840649406504065140652406534065440655406564065740658406594066040661406624066340664406654066640667406684066940670406714067240673406744067540676406774067840679406804068140682406834068440685406864068740688406894069040691406924069340694406954069640697406984069940700407014070240703407044070540706407074070840709407104071140712407134071440715407164071740718407194072040721407224072340724407254072640727407284072940730407314073240733407344073540736407374073840739407404074140742407434074440745407464074740748407494075040751407524075340754407554075640757407584075940760407614076240763407644076540766407674076840769407704077140772407734077440775407764077740778407794078040781407824078340784407854078640787407884078940790407914079240793407944079540796407974079840799408004080140802408034080440805408064080740808408094081040811408124081340814408154081640817408184081940820408214082240823408244082540826408274082840829408304083140832408334083440835408364083740838408394084040841408424084340844408454084640847408484084940850408514085240853408544085540856408574085840859408604086140862408634086440865408664086740868408694087040871408724087340874408754087640877408784087940880408814088240883408844088540886408874088840889408904089140892408934089440895408964089740898408994090040901409024090340904409054090640907409084090940910409114091240913409144091540916409174091840919409204092140922409234092440925409264092740928409294093040931409324093340934409354093640937409384093940940409414094240943409444094540946409474094840949409504095140952409534095440955409564095740958409594096040961409624096340964409654096640967409684096940970409714097240973409744097540976409774097840979409804098140982409834098440985409864098740988409894099040991409924099340994409954099640997409984099941000410014100241003410044100541006410074100841009410104101141012410134101441015410164101741018410194102041021410224102341024410254102641027410284102941030410314103241033410344103541036410374103841039410404104141042410434104441045410464104741048410494105041051410524105341054410554105641057410584105941060410614106241063410644106541066410674106841069410704107141072410734107441075410764107741078410794108041081410824108341084410854108641087410884108941090410914109241093410944109541096410974109841099411004110141102411034110441105411064110741108411094111041111411124111341114411154111641117411184111941120411214112241123411244112541126411274112841129411304113141132411334113441135411364113741138411394114041141411424114341144411454114641147411484114941150411514115241153411544115541156411574115841159411604116141162411634116441165411664116741168411694117041171411724117341174411754117641177411784117941180411814118241183411844118541186411874118841189411904119141192411934119441195411964119741198411994120041201412024120341204412054120641207412084120941210412114121241213412144121541216412174121841219412204122141222412234122441225412264122741228412294123041231412324123341234412354123641237412384123941240412414124241243412444124541246412474124841249412504125141252412534125441255412564125741258412594126041261412624126341264412654126641267412684126941270412714127241273412744127541276412774127841279412804128141282412834128441285412864128741288412894129041291412924129341294412954129641297412984129941300413014130241303413044130541306413074130841309413104131141312413134131441315413164131741318413194132041321413224132341324413254132641327413284132941330413314133241333413344133541336413374133841339413404134141342413434134441345413464134741348413494135041351413524135341354413554135641357413584135941360413614136241363413644136541366413674136841369413704137141372413734137441375413764137741378413794138041381413824138341384413854138641387413884138941390413914139241393413944139541396413974139841399414004140141402414034140441405414064140741408414094141041411414124141341414414154141641417414184141941420414214142241423414244142541426414274142841429414304143141432414334143441435414364143741438414394144041441414424144341444414454144641447414484144941450414514145241453414544145541456414574145841459414604146141462414634146441465414664146741468414694147041471414724147341474414754147641477414784147941480414814148241483414844148541486414874148841489414904149141492414934149441495414964149741498414994150041501415024150341504415054150641507415084150941510415114151241513415144151541516415174151841519415204152141522415234152441525415264152741528415294153041531415324153341534415354153641537415384153941540415414154241543415444154541546415474154841549415504155141552415534155441555415564155741558415594156041561415624156341564415654156641567415684156941570415714157241573415744157541576415774157841579415804158141582415834158441585415864158741588415894159041591415924159341594415954159641597415984159941600416014160241603416044160541606416074160841609416104161141612416134161441615416164161741618416194162041621416224162341624416254162641627416284162941630416314163241633416344163541636416374163841639416404164141642416434164441645416464164741648416494165041651416524165341654416554165641657416584165941660416614166241663416644166541666416674166841669416704167141672416734167441675416764167741678416794168041681416824168341684416854168641687416884168941690416914169241693416944169541696416974169841699417004170141702417034170441705417064170741708417094171041711417124171341714417154171641717417184171941720417214172241723417244172541726417274172841729417304173141732417334173441735417364173741738417394174041741417424174341744417454174641747417484174941750417514175241753417544175541756417574175841759417604176141762417634176441765417664176741768417694177041771417724177341774417754177641777417784177941780417814178241783417844178541786417874178841789417904179141792417934179441795417964179741798417994180041801418024180341804418054180641807418084180941810418114181241813418144181541816418174181841819418204182141822418234182441825418264182741828418294183041831418324183341834418354183641837418384183941840418414184241843418444184541846418474184841849418504185141852418534185441855418564185741858418594186041861418624186341864418654186641867418684186941870418714187241873418744187541876418774187841879418804188141882418834188441885418864188741888418894189041891418924189341894418954189641897418984189941900419014190241903419044190541906419074190841909419104191141912419134191441915419164191741918419194192041921419224192341924419254192641927419284192941930419314193241933419344193541936419374193841939419404194141942419434194441945419464194741948419494195041951419524195341954419554195641957419584195941960419614196241963419644196541966419674196841969419704197141972419734197441975419764197741978419794198041981419824198341984419854198641987419884198941990419914199241993419944199541996419974199841999420004200142002420034200442005420064200742008420094201042011420124201342014420154201642017420184201942020420214202242023420244202542026420274202842029420304203142032420334203442035420364203742038420394204042041420424204342044420454204642047420484204942050420514205242053420544205542056420574205842059420604206142062420634206442065420664206742068420694207042071420724207342074420754207642077420784207942080420814208242083420844208542086420874208842089420904209142092420934209442095420964209742098420994210042101421024210342104421054210642107421084210942110421114211242113421144211542116421174211842119421204212142122421234212442125421264212742128421294213042131421324213342134421354213642137421384213942140421414214242143421444214542146421474214842149421504215142152421534215442155421564215742158421594216042161421624216342164421654216642167421684216942170421714217242173421744217542176421774217842179421804218142182421834218442185421864218742188421894219042191421924219342194421954219642197421984219942200422014220242203422044220542206422074220842209422104221142212422134221442215422164221742218422194222042221422224222342224422254222642227422284222942230422314223242233422344223542236422374223842239422404224142242422434224442245422464224742248422494225042251422524225342254422554225642257422584225942260422614226242263422644226542266422674226842269422704227142272422734227442275422764227742278422794228042281422824228342284422854228642287422884228942290422914229242293422944229542296422974229842299423004230142302423034230442305423064230742308423094231042311423124231342314423154231642317423184231942320423214232242323423244232542326423274232842329423304233142332423334233442335423364233742338423394234042341423424234342344423454234642347423484234942350423514235242353423544235542356423574235842359423604236142362423634236442365423664236742368423694237042371423724237342374423754237642377423784237942380423814238242383423844238542386423874238842389423904239142392423934239442395423964239742398423994240042401424024240342404424054240642407424084240942410424114241242413424144241542416424174241842419424204242142422424234242442425424264242742428424294243042431424324243342434424354243642437424384243942440424414244242443424444244542446424474244842449424504245142452424534245442455424564245742458424594246042461424624246342464424654246642467424684246942470424714247242473424744247542476424774247842479424804248142482424834248442485424864248742488424894249042491424924249342494424954249642497424984249942500425014250242503425044250542506425074250842509425104251142512425134251442515425164251742518425194252042521425224252342524425254252642527425284252942530425314253242533425344253542536425374253842539425404254142542425434254442545425464254742548425494255042551425524255342554425554255642557425584255942560425614256242563425644256542566425674256842569425704257142572425734257442575425764257742578425794258042581425824258342584425854258642587425884258942590425914259242593425944259542596425974259842599426004260142602426034260442605426064260742608426094261042611426124261342614426154261642617426184261942620426214262242623426244262542626426274262842629426304263142632426334263442635426364263742638426394264042641426424264342644426454264642647426484264942650426514265242653426544265542656426574265842659426604266142662426634266442665426664266742668426694267042671426724267342674426754267642677426784267942680426814268242683426844268542686426874268842689426904269142692426934269442695426964269742698426994270042701427024270342704427054270642707427084270942710427114271242713427144271542716427174271842719427204272142722427234272442725427264272742728427294273042731427324273342734427354273642737427384273942740427414274242743427444274542746427474274842749427504275142752427534275442755427564275742758427594276042761427624276342764427654276642767427684276942770427714277242773427744277542776427774277842779427804278142782427834278442785427864278742788427894279042791427924279342794427954279642797427984279942800428014280242803428044280542806428074280842809428104281142812428134281442815428164281742818428194282042821428224282342824428254282642827428284282942830428314283242833428344283542836428374283842839428404284142842428434284442845428464284742848428494285042851428524285342854428554285642857428584285942860428614286242863428644286542866428674286842869428704287142872428734287442875428764287742878428794288042881428824288342884428854288642887428884288942890428914289242893428944289542896428974289842899429004290142902429034290442905429064290742908429094291042911429124291342914429154291642917429184291942920429214292242923429244292542926429274292842929429304293142932429334293442935429364293742938429394294042941429424294342944429454294642947429484294942950429514295242953429544295542956429574295842959429604296142962429634296442965429664296742968429694297042971429724297342974429754297642977429784297942980429814298242983429844298542986429874298842989429904299142992429934299442995429964299742998429994300043001430024300343004430054300643007430084300943010430114301243013430144301543016430174301843019430204302143022430234302443025430264302743028430294303043031430324303343034430354303643037430384303943040430414304243043430444304543046430474304843049430504305143052430534305443055430564305743058430594306043061430624306343064430654306643067430684306943070430714307243073430744307543076430774307843079430804308143082430834308443085430864308743088430894309043091430924309343094430954309643097430984309943100431014310243103431044310543106431074310843109431104311143112431134311443115431164311743118431194312043121431224312343124431254312643127431284312943130431314313243133431344313543136431374313843139431404314143142431434314443145431464314743148431494315043151431524315343154431554315643157431584315943160431614316243163431644316543166431674316843169431704317143172431734317443175431764317743178431794318043181431824318343184431854318643187431884318943190431914319243193431944319543196431974319843199432004320143202432034320443205432064320743208432094321043211432124321343214432154321643217432184321943220432214322243223432244322543226432274322843229432304323143232432334323443235432364323743238432394324043241432424324343244432454324643247432484324943250432514325243253432544325543256432574325843259432604326143262432634326443265432664326743268432694327043271432724327343274432754327643277432784327943280432814328243283432844328543286432874328843289432904329143292432934329443295432964329743298432994330043301433024330343304433054330643307433084330943310433114331243313433144331543316433174331843319433204332143322433234332443325433264332743328433294333043331433324333343334433354333643337433384333943340433414334243343433444334543346433474334843349433504335143352433534335443355433564335743358433594336043361433624336343364433654336643367433684336943370433714337243373433744337543376433774337843379433804338143382433834338443385433864338743388433894339043391433924339343394433954339643397433984339943400434014340243403434044340543406434074340843409434104341143412434134341443415434164341743418434194342043421434224342343424434254342643427434284342943430434314343243433434344343543436434374343843439434404344143442434434344443445434464344743448434494345043451434524345343454434554345643457434584345943460434614346243463434644346543466434674346843469434704347143472434734347443475434764347743478434794348043481434824348343484434854348643487434884348943490434914349243493434944349543496434974349843499435004350143502435034350443505435064350743508435094351043511435124351343514435154351643517435184351943520435214352243523435244352543526435274352843529435304353143532435334353443535435364353743538435394354043541435424354343544435454354643547435484354943550435514355243553435544355543556435574355843559435604356143562435634356443565435664356743568435694357043571435724357343574435754357643577435784357943580435814358243583435844358543586435874358843589435904359143592435934359443595435964359743598435994360043601436024360343604436054360643607436084360943610436114361243613436144361543616436174361843619436204362143622436234362443625436264362743628436294363043631436324363343634436354363643637436384363943640436414364243643436444364543646436474364843649436504365143652436534365443655436564365743658436594366043661436624366343664436654366643667436684366943670436714367243673436744367543676436774367843679436804368143682436834368443685436864368743688436894369043691436924369343694436954369643697436984369943700437014370243703437044370543706437074370843709437104371143712437134371443715437164371743718437194372043721437224372343724437254372643727437284372943730437314373243733437344373543736437374373843739437404374143742437434374443745437464374743748437494375043751437524375343754437554375643757437584375943760437614376243763437644376543766437674376843769437704377143772437734377443775437764377743778437794378043781437824378343784437854378643787437884378943790437914379243793437944379543796437974379843799438004380143802438034380443805438064380743808438094381043811438124381343814438154381643817438184381943820438214382243823438244382543826438274382843829438304383143832438334383443835438364383743838438394384043841438424384343844438454384643847438484384943850438514385243853438544385543856438574385843859438604386143862438634386443865438664386743868438694387043871438724387343874438754387643877438784387943880438814388243883438844388543886438874388843889438904389143892438934389443895438964389743898438994390043901439024390343904439054390643907439084390943910439114391243913439144391543916439174391843919439204392143922439234392443925439264392743928439294393043931439324393343934439354393643937439384393943940439414394243943439444394543946439474394843949439504395143952439534395443955439564395743958439594396043961439624396343964439654396643967439684396943970439714397243973439744397543976439774397843979439804398143982439834398443985439864398743988439894399043991439924399343994439954399643997439984399944000440014400244003440044400544006440074400844009440104401144012440134401444015440164401744018440194402044021440224402344024440254402644027440284402944030440314403244033440344403544036440374403844039440404404144042440434404444045440464404744048440494405044051440524405344054440554405644057440584405944060440614406244063440644406544066440674406844069440704407144072440734407444075440764407744078440794408044081440824408344084440854408644087440884408944090440914409244093440944409544096440974409844099441004410144102441034410444105441064410744108441094411044111441124411344114441154411644117441184411944120441214412244123441244412544126441274412844129441304413144132441334413444135441364413744138441394414044141441424414344144441454414644147441484414944150441514415244153441544415544156441574415844159441604416144162441634416444165441664416744168441694417044171441724417344174441754417644177441784417944180441814418244183441844418544186441874418844189441904419144192441934419444195441964419744198441994420044201442024420344204442054420644207442084420944210442114421244213442144421544216442174421844219442204422144222442234422444225442264422744228442294423044231442324423344234442354423644237442384423944240442414424244243442444424544246442474424844249442504425144252442534425444255442564425744258442594426044261442624426344264442654426644267442684426944270442714427244273442744427544276442774427844279442804428144282442834428444285442864428744288442894429044291442924429344294442954429644297442984429944300443014430244303443044430544306443074430844309443104431144312443134431444315443164431744318443194432044321443224432344324443254432644327443284432944330443314433244333443344433544336443374433844339443404434144342443434434444345443464434744348443494435044351443524435344354443554435644357443584435944360443614436244363443644436544366443674436844369443704437144372443734437444375443764437744378443794438044381443824438344384443854438644387443884438944390443914439244393443944439544396443974439844399444004440144402444034440444405444064440744408444094441044411444124441344414444154441644417444184441944420444214442244423444244442544426444274442844429444304443144432444334443444435444364443744438444394444044441444424444344444444454444644447444484444944450444514445244453444544445544456444574445844459444604446144462444634446444465444664446744468444694447044471444724447344474444754447644477444784447944480444814448244483444844448544486444874448844489444904449144492444934449444495444964449744498444994450044501445024450344504445054450644507445084450944510445114451244513445144451544516445174451844519445204452144522445234452444525445264452744528445294453044531445324453344534445354453644537445384453944540445414454244543445444454544546445474454844549445504455144552445534455444555445564455744558445594456044561445624456344564445654456644567445684456944570445714457244573445744457544576445774457844579445804458144582445834458444585445864458744588445894459044591445924459344594445954459644597445984459944600446014460244603446044460544606446074460844609446104461144612446134461444615446164461744618446194462044621446224462344624446254462644627446284462944630446314463244633446344463544636446374463844639446404464144642446434464444645446464464744648446494465044651446524465344654446554465644657446584465944660446614466244663446644466544666446674466844669446704467144672446734467444675446764467744678446794468044681446824468344684446854468644687446884468944690446914469244693446944469544696446974469844699447004470144702447034470444705447064470744708447094471044711447124471344714447154471644717447184471944720447214472244723447244472544726447274472844729447304473144732447334473444735447364473744738447394474044741447424474344744447454474644747447484474944750447514475244753447544475544756447574475844759447604476144762447634476444765447664476744768447694477044771447724477344774447754477644777447784477944780447814478244783447844478544786447874478844789447904479144792447934479444795447964479744798447994480044801448024480344804448054480644807448084480944810448114481244813448144481544816448174481844819448204482144822448234482444825448264482744828448294483044831448324483344834448354483644837448384483944840448414484244843448444484544846448474484844849448504485144852448534485444855448564485744858448594486044861448624486344864448654486644867448684486944870448714487244873448744487544876448774487844879448804488144882448834488444885448864488744888448894489044891448924489344894448954489644897448984489944900449014490244903449044490544906449074490844909449104491144912449134491444915449164491744918449194492044921449224492344924449254492644927449284492944930449314493244933449344493544936449374493844939449404494144942449434494444945449464494744948449494495044951449524495344954449554495644957449584495944960449614496244963449644496544966449674496844969449704497144972449734497444975449764497744978449794498044981449824498344984449854498644987449884498944990449914499244993449944499544996449974499844999450004500145002450034500445005450064500745008450094501045011450124501345014450154501645017450184501945020450214502245023450244502545026450274502845029450304503145032450334503445035450364503745038450394504045041450424504345044450454504645047450484504945050450514505245053450544505545056450574505845059450604506145062450634506445065450664506745068450694507045071450724507345074450754507645077450784507945080450814508245083450844508545086450874508845089450904509145092450934509445095450964509745098450994510045101451024510345104451054510645107451084510945110451114511245113451144511545116451174511845119451204512145122451234512445125451264512745128451294513045131451324513345134451354513645137451384513945140451414514245143451444514545146451474514845149451504515145152451534515445155451564515745158451594516045161451624516345164451654516645167451684516945170451714517245173451744517545176451774517845179451804518145182451834518445185451864518745188451894519045191451924519345194451954519645197451984519945200452014520245203452044520545206452074520845209452104521145212452134521445215452164521745218452194522045221452224522345224452254522645227452284522945230452314523245233452344523545236452374523845239452404524145242452434524445245452464524745248452494525045251452524525345254452554525645257452584525945260452614526245263452644526545266452674526845269452704527145272452734527445275452764527745278452794528045281452824528345284452854528645287452884528945290452914529245293452944529545296452974529845299453004530145302453034530445305453064530745308453094531045311453124531345314453154531645317453184531945320453214532245323453244532545326453274532845329453304533145332453334533445335453364533745338453394534045341453424534345344453454534645347453484534945350453514535245353453544535545356453574535845359453604536145362453634536445365453664536745368453694537045371453724537345374453754537645377453784537945380453814538245383453844538545386453874538845389453904539145392453934539445395453964539745398453994540045401454024540345404454054540645407454084540945410454114541245413454144541545416454174541845419454204542145422454234542445425454264542745428454294543045431454324543345434454354543645437454384543945440454414544245443454444544545446454474544845449454504545145452454534545445455454564545745458454594546045461454624546345464454654546645467454684546945470454714547245473454744547545476454774547845479454804548145482454834548445485454864548745488454894549045491454924549345494454954549645497454984549945500455014550245503455044550545506455074550845509455104551145512455134551445515455164551745518455194552045521455224552345524455254552645527455284552945530455314553245533455344553545536455374553845539455404554145542455434554445545455464554745548455494555045551455524555345554455554555645557455584555945560455614556245563455644556545566455674556845569455704557145572455734557445575455764557745578455794558045581455824558345584455854558645587455884558945590455914559245593455944559545596455974559845599456004560145602456034560445605456064560745608456094561045611456124561345614456154561645617456184561945620456214562245623456244562545626456274562845629456304563145632456334563445635456364563745638456394564045641456424564345644456454564645647456484564945650456514565245653456544565545656456574565845659456604566145662456634566445665456664566745668456694567045671456724567345674456754567645677456784567945680456814568245683456844568545686456874568845689456904569145692456934569445695456964569745698456994570045701457024570345704457054570645707457084570945710457114571245713457144571545716457174571845719457204572145722457234572445725457264572745728457294573045731457324573345734457354573645737457384573945740457414574245743457444574545746457474574845749457504575145752457534575445755457564575745758457594576045761457624576345764457654576645767457684576945770457714577245773457744577545776457774577845779457804578145782457834578445785457864578745788457894579045791457924579345794457954579645797457984579945800458014580245803458044580545806458074580845809458104581145812458134581445815458164581745818458194582045821458224582345824458254582645827458284582945830458314583245833458344583545836458374583845839458404584145842458434584445845458464584745848458494585045851458524585345854458554585645857458584585945860458614586245863458644586545866458674586845869458704587145872458734587445875458764587745878458794588045881458824588345884458854588645887458884588945890458914589245893458944589545896458974589845899459004590145902459034590445905459064590745908459094591045911459124591345914459154591645917459184591945920459214592245923459244592545926459274592845929459304593145932459334593445935459364593745938459394594045941459424594345944459454594645947459484594945950459514595245953459544595545956459574595845959459604596145962459634596445965459664596745968459694597045971459724597345974459754597645977459784597945980459814598245983459844598545986459874598845989459904599145992459934599445995459964599745998459994600046001460024600346004460054600646007460084600946010460114601246013460144601546016460174601846019460204602146022460234602446025460264602746028460294603046031460324603346034460354603646037460384603946040460414604246043460444604546046460474604846049460504605146052460534605446055460564605746058460594606046061460624606346064460654606646067460684606946070460714607246073460744607546076460774607846079460804608146082460834608446085460864608746088460894609046091460924609346094460954609646097460984609946100461014610246103461044610546106461074610846109461104611146112461134611446115461164611746118461194612046121461224612346124461254612646127461284612946130461314613246133461344613546136461374613846139461404614146142461434614446145461464614746148461494615046151461524615346154461554615646157461584615946160461614616246163461644616546166461674616846169461704617146172461734617446175461764617746178461794618046181461824618346184461854618646187461884618946190461914619246193461944619546196461974619846199462004620146202462034620446205462064620746208462094621046211462124621346214462154621646217462184621946220462214622246223462244622546226462274622846229462304623146232462334623446235462364623746238462394624046241462424624346244462454624646247462484624946250462514625246253462544625546256462574625846259462604626146262462634626446265462664626746268462694627046271462724627346274462754627646277462784627946280462814628246283462844628546286462874628846289462904629146292462934629446295462964629746298462994630046301463024630346304463054630646307463084630946310463114631246313463144631546316463174631846319463204632146322463234632446325463264632746328463294633046331463324633346334463354633646337463384633946340463414634246343463444634546346463474634846349463504635146352463534635446355463564635746358463594636046361463624636346364463654636646367463684636946370463714637246373463744637546376463774637846379463804638146382463834638446385463864638746388463894639046391463924639346394463954639646397463984639946400464014640246403464044640546406464074640846409464104641146412464134641446415464164641746418464194642046421464224642346424464254642646427464284642946430464314643246433464344643546436464374643846439464404644146442464434644446445464464644746448464494645046451464524645346454464554645646457464584645946460464614646246463464644646546466464674646846469464704647146472464734647446475464764647746478464794648046481464824648346484464854648646487464884648946490464914649246493464944649546496464974649846499465004650146502465034650446505465064650746508465094651046511465124651346514465154651646517465184651946520465214652246523465244652546526465274652846529465304653146532465334653446535465364653746538465394654046541465424654346544465454654646547465484654946550465514655246553465544655546556465574655846559465604656146562465634656446565465664656746568465694657046571465724657346574465754657646577465784657946580465814658246583465844658546586465874658846589465904659146592465934659446595465964659746598465994660046601466024660346604466054660646607466084660946610466114661246613466144661546616466174661846619466204662146622466234662446625466264662746628466294663046631466324663346634466354663646637466384663946640466414664246643466444664546646466474664846649466504665146652466534665446655466564665746658466594666046661466624666346664466654666646667466684666946670466714667246673466744667546676466774667846679466804668146682466834668446685466864668746688466894669046691466924669346694466954669646697466984669946700467014670246703467044670546706467074670846709467104671146712467134671446715467164671746718467194672046721467224672346724467254672646727467284672946730467314673246733467344673546736467374673846739467404674146742467434674446745467464674746748467494675046751467524675346754467554675646757467584675946760467614676246763467644676546766467674676846769467704677146772467734677446775467764677746778467794678046781467824678346784467854678646787467884678946790467914679246793467944679546796467974679846799468004680146802468034680446805468064680746808468094681046811468124681346814468154681646817468184681946820468214682246823468244682546826468274682846829468304683146832468334683446835468364683746838468394684046841468424684346844468454684646847468484684946850468514685246853468544685546856468574685846859468604686146862468634686446865468664686746868468694687046871468724687346874468754687646877468784687946880468814688246883468844688546886468874688846889468904689146892468934689446895468964689746898468994690046901469024690346904469054690646907469084690946910469114691246913469144691546916469174691846919469204692146922469234692446925469264692746928469294693046931469324693346934469354693646937469384693946940469414694246943469444694546946469474694846949469504695146952469534695446955469564695746958469594696046961469624696346964469654696646967469684696946970469714697246973469744697546976469774697846979469804698146982469834698446985469864698746988469894699046991469924699346994469954699646997469984699947000470014700247003470044700547006470074700847009470104701147012470134701447015470164701747018470194702047021470224702347024470254702647027470284702947030470314703247033470344703547036470374703847039470404704147042470434704447045470464704747048470494705047051470524705347054470554705647057470584705947060470614706247063470644706547066470674706847069470704707147072470734707447075470764707747078470794708047081470824708347084470854708647087470884708947090470914709247093470944709547096470974709847099471004710147102471034710447105471064710747108471094711047111471124711347114471154711647117471184711947120471214712247123471244712547126471274712847129471304713147132471334713447135471364713747138471394714047141471424714347144471454714647147471484714947150471514715247153471544715547156471574715847159471604716147162471634716447165471664716747168471694717047171471724717347174471754717647177471784717947180471814718247183471844718547186471874718847189471904719147192471934719447195471964719747198471994720047201472024720347204472054720647207472084720947210472114721247213472144721547216472174721847219472204722147222472234722447225472264722747228472294723047231472324723347234472354723647237472384723947240472414724247243472444724547246472474724847249472504725147252472534725447255472564725747258472594726047261472624726347264472654726647267472684726947270472714727247273472744727547276472774727847279472804728147282472834728447285472864728747288472894729047291472924729347294472954729647297472984729947300473014730247303473044730547306473074730847309473104731147312473134731447315473164731747318473194732047321473224732347324473254732647327473284732947330473314733247333473344733547336473374733847339473404734147342473434734447345473464734747348473494735047351473524735347354473554735647357473584735947360473614736247363473644736547366473674736847369473704737147372473734737447375473764737747378473794738047381473824738347384473854738647387473884738947390473914739247393473944739547396473974739847399474004740147402474034740447405474064740747408474094741047411474124741347414474154741647417474184741947420474214742247423474244742547426474274742847429474304743147432474334743447435474364743747438474394744047441474424744347444474454744647447474484744947450474514745247453474544745547456474574745847459474604746147462474634746447465474664746747468474694747047471474724747347474474754747647477474784747947480474814748247483474844748547486474874748847489474904749147492474934749447495474964749747498474994750047501475024750347504475054750647507475084750947510475114751247513475144751547516475174751847519475204752147522475234752447525475264752747528475294753047531475324753347534475354753647537475384753947540475414754247543475444754547546475474754847549475504755147552475534755447555475564755747558475594756047561475624756347564475654756647567475684756947570475714757247573475744757547576475774757847579475804758147582475834758447585475864758747588475894759047591475924759347594475954759647597475984759947600476014760247603476044760547606476074760847609476104761147612476134761447615476164761747618476194762047621476224762347624476254762647627476284762947630476314763247633476344763547636476374763847639476404764147642476434764447645476464764747648476494765047651476524765347654476554765647657476584765947660476614766247663476644766547666476674766847669476704767147672476734767447675476764767747678476794768047681476824768347684476854768647687476884768947690476914769247693476944769547696476974769847699477004770147702477034770447705477064770747708477094771047711477124771347714477154771647717477184771947720477214772247723477244772547726477274772847729477304773147732477334773447735477364773747738477394774047741477424774347744477454774647747477484774947750477514775247753477544775547756477574775847759477604776147762477634776447765477664776747768477694777047771477724777347774477754777647777477784777947780477814778247783477844778547786477874778847789477904779147792477934779447795477964779747798477994780047801478024780347804478054780647807478084780947810478114781247813478144781547816478174781847819478204782147822478234782447825478264782747828478294783047831478324783347834478354783647837478384783947840478414784247843478444784547846478474784847849478504785147852478534785447855478564785747858478594786047861478624786347864478654786647867478684786947870478714787247873478744787547876478774787847879478804788147882478834788447885478864788747888478894789047891478924789347894478954789647897478984789947900479014790247903479044790547906479074790847909479104791147912479134791447915479164791747918479194792047921479224792347924479254792647927479284792947930479314793247933479344793547936479374793847939479404794147942479434794447945479464794747948479494795047951479524795347954479554795647957479584795947960479614796247963479644796547966479674796847969479704797147972479734797447975479764797747978479794798047981479824798347984479854798647987479884798947990479914799247993479944799547996479974799847999480004800148002480034800448005480064800748008480094801048011480124801348014480154801648017480184801948020480214802248023480244802548026480274802848029480304803148032480334803448035480364803748038480394804048041480424804348044480454804648047480484804948050480514805248053480544805548056480574805848059480604806148062480634806448065480664806748068480694807048071480724807348074480754807648077480784807948080480814808248083480844808548086480874808848089480904809148092480934809448095480964809748098480994810048101481024810348104481054810648107481084810948110481114811248113481144811548116481174811848119481204812148122481234812448125481264812748128481294813048131481324813348134481354813648137481384813948140481414814248143481444814548146481474814848149481504815148152481534815448155481564815748158481594816048161481624816348164481654816648167481684816948170481714817248173481744817548176481774817848179481804818148182481834818448185481864818748188481894819048191481924819348194481954819648197481984819948200482014820248203482044820548206482074820848209482104821148212482134821448215482164821748218482194822048221482224822348224482254822648227482284822948230482314823248233482344823548236482374823848239482404824148242482434824448245482464824748248482494825048251482524825348254482554825648257482584825948260482614826248263482644826548266482674826848269482704827148272482734827448275482764827748278482794828048281482824828348284482854828648287482884828948290482914829248293482944829548296482974829848299483004830148302483034830448305483064830748308483094831048311483124831348314483154831648317483184831948320483214832248323483244832548326483274832848329483304833148332483334833448335483364833748338483394834048341483424834348344483454834648347483484834948350483514835248353483544835548356483574835848359483604836148362483634836448365483664836748368483694837048371483724837348374483754837648377483784837948380483814838248383483844838548386483874838848389483904839148392483934839448395483964839748398483994840048401484024840348404484054840648407484084840948410484114841248413484144841548416484174841848419484204842148422484234842448425484264842748428484294843048431484324843348434484354843648437484384843948440484414844248443484444844548446484474844848449484504845148452484534845448455484564845748458484594846048461484624846348464484654846648467484684846948470484714847248473484744847548476484774847848479484804848148482484834848448485484864848748488484894849048491484924849348494484954849648497484984849948500485014850248503485044850548506485074850848509485104851148512485134851448515485164851748518485194852048521485224852348524485254852648527485284852948530485314853248533485344853548536485374853848539485404854148542485434854448545485464854748548485494855048551485524855348554485554855648557485584855948560485614856248563485644856548566485674856848569485704857148572485734857448575485764857748578485794858048581485824858348584485854858648587485884858948590485914859248593485944859548596485974859848599486004860148602486034860448605486064860748608486094861048611486124861348614486154861648617486184861948620486214862248623486244862548626486274862848629486304863148632486334863448635486364863748638486394864048641486424864348644486454864648647486484864948650486514865248653486544865548656486574865848659486604866148662486634866448665486664866748668486694867048671486724867348674486754867648677486784867948680486814868248683486844868548686486874868848689486904869148692486934869448695486964869748698486994870048701487024870348704487054870648707487084870948710487114871248713487144871548716487174871848719487204872148722487234872448725487264872748728487294873048731487324873348734487354873648737487384873948740487414874248743487444874548746487474874848749487504875148752487534875448755487564875748758487594876048761487624876348764487654876648767487684876948770487714877248773487744877548776487774877848779487804878148782487834878448785487864878748788487894879048791487924879348794487954879648797487984879948800488014880248803488044880548806488074880848809488104881148812488134881448815488164881748818488194882048821488224882348824488254882648827488284882948830488314883248833488344883548836488374883848839488404884148842488434884448845488464884748848488494885048851488524885348854488554885648857488584885948860488614886248863488644886548866488674886848869488704887148872488734887448875488764887748878488794888048881488824888348884488854888648887488884888948890488914889248893488944889548896488974889848899489004890148902489034890448905489064890748908489094891048911489124891348914489154891648917489184891948920489214892248923489244892548926489274892848929489304893148932489334893448935489364893748938489394894048941489424894348944489454894648947489484894948950489514895248953489544895548956489574895848959489604896148962489634896448965489664896748968489694897048971489724897348974489754897648977489784897948980489814898248983489844898548986489874898848989489904899148992489934899448995489964899748998489994900049001490024900349004490054900649007490084900949010490114901249013490144901549016490174901849019490204902149022490234902449025490264902749028490294903049031490324903349034490354903649037490384903949040490414904249043490444904549046490474904849049490504905149052490534905449055490564905749058490594906049061490624906349064490654906649067490684906949070490714907249073490744907549076490774907849079490804908149082490834908449085490864908749088490894909049091490924909349094490954909649097490984909949100491014910249103491044910549106491074910849109491104911149112491134911449115491164911749118491194912049121491224912349124491254912649127491284912949130491314913249133491344913549136491374913849139491404914149142491434914449145491464914749148491494915049151491524915349154491554915649157491584915949160491614916249163491644916549166491674916849169491704917149172491734917449175491764917749178491794918049181491824918349184491854918649187491884918949190491914919249193491944919549196491974919849199492004920149202492034920449205492064920749208492094921049211492124921349214492154921649217492184921949220492214922249223492244922549226492274922849229492304923149232492334923449235492364923749238492394924049241492424924349244492454924649247492484924949250492514925249253492544925549256492574925849259492604926149262492634926449265492664926749268492694927049271492724927349274492754927649277492784927949280492814928249283492844928549286492874928849289492904929149292492934929449295492964929749298492994930049301493024930349304493054930649307493084930949310493114931249313493144931549316493174931849319493204932149322493234932449325493264932749328493294933049331493324933349334493354933649337493384933949340493414934249343493444934549346493474934849349493504935149352493534935449355493564935749358493594936049361493624936349364493654936649367493684936949370493714937249373493744937549376493774937849379493804938149382493834938449385493864938749388493894939049391493924939349394493954939649397493984939949400494014940249403494044940549406494074940849409494104941149412494134941449415494164941749418494194942049421494224942349424494254942649427494284942949430494314943249433494344943549436494374943849439494404944149442494434944449445494464944749448494494945049451494524945349454494554945649457494584945949460494614946249463494644946549466494674946849469494704947149472494734947449475494764947749478494794948049481494824948349484494854948649487494884948949490494914949249493494944949549496494974949849499495004950149502495034950449505495064950749508495094951049511495124951349514495154951649517495184951949520495214952249523495244952549526495274952849529495304953149532495334953449535495364953749538495394954049541495424954349544495454954649547495484954949550495514955249553495544955549556495574955849559495604956149562495634956449565495664956749568495694957049571495724957349574495754957649577495784957949580495814958249583495844958549586495874958849589495904959149592495934959449595495964959749598495994960049601496024960349604496054960649607496084960949610496114961249613496144961549616496174961849619496204962149622496234962449625496264962749628496294963049631496324963349634496354963649637496384963949640496414964249643496444964549646496474964849649496504965149652496534965449655496564965749658496594966049661496624966349664496654966649667496684966949670496714967249673496744967549676496774967849679496804968149682496834968449685496864968749688496894969049691496924969349694496954969649697496984969949700497014970249703497044970549706497074970849709497104971149712497134971449715497164971749718497194972049721497224972349724497254972649727497284972949730497314973249733497344973549736497374973849739497404974149742497434974449745497464974749748497494975049751497524975349754497554975649757497584975949760497614976249763497644976549766497674976849769497704977149772497734977449775497764977749778497794978049781497824978349784497854978649787497884978949790497914979249793497944979549796497974979849799498004980149802498034980449805498064980749808498094981049811498124981349814498154981649817498184981949820498214982249823498244982549826498274982849829498304983149832498334983449835498364983749838498394984049841498424984349844498454984649847498484984949850498514985249853498544985549856498574985849859498604986149862498634986449865498664986749868498694987049871498724987349874498754987649877498784987949880498814988249883498844988549886498874988849889498904989149892498934989449895498964989749898498994990049901499024990349904499054990649907499084990949910499114991249913499144991549916499174991849919499204992149922499234992449925499264992749928499294993049931499324993349934499354993649937499384993949940499414994249943499444994549946499474994849949499504995149952499534995449955499564995749958499594996049961499624996349964499654996649967499684996949970499714997249973499744997549976499774997849979499804998149982499834998449985499864998749988499894999049991499924999349994499954999649997499984999950000500015000250003500045000550006500075000850009500105001150012500135001450015500165001750018500195002050021500225002350024500255002650027500285002950030500315003250033500345003550036500375003850039500405004150042500435004450045500465004750048500495005050051500525005350054500555005650057500585005950060500615006250063500645006550066500675006850069500705007150072500735007450075500765007750078500795008050081500825008350084500855008650087500885008950090500915009250093500945009550096500975009850099501005010150102501035010450105501065010750108501095011050111501125011350114501155011650117501185011950120501215012250123501245012550126501275012850129501305013150132501335013450135501365013750138501395014050141501425014350144501455014650147501485014950150501515015250153501545015550156501575015850159501605016150162501635016450165501665016750168501695017050171501725017350174501755017650177501785017950180501815018250183501845018550186501875018850189501905019150192501935019450195501965019750198501995020050201502025020350204502055020650207502085020950210502115021250213502145021550216502175021850219502205022150222502235022450225502265022750228502295023050231502325023350234502355023650237502385023950240502415024250243502445024550246502475024850249502505025150252502535025450255502565025750258502595026050261502625026350264502655026650267502685026950270502715027250273502745027550276502775027850279502805028150282502835028450285502865028750288502895029050291502925029350294502955029650297502985029950300503015030250303503045030550306503075030850309503105031150312503135031450315503165031750318503195032050321503225032350324503255032650327503285032950330503315033250333503345033550336503375033850339503405034150342503435034450345503465034750348503495035050351503525035350354503555035650357503585035950360503615036250363503645036550366503675036850369503705037150372503735037450375503765037750378503795038050381503825038350384503855038650387503885038950390503915039250393503945039550396503975039850399504005040150402504035040450405504065040750408504095041050411504125041350414504155041650417504185041950420504215042250423504245042550426504275042850429504305043150432504335043450435504365043750438504395044050441504425044350444504455044650447504485044950450504515045250453504545045550456504575045850459504605046150462504635046450465504665046750468504695047050471504725047350474504755047650477504785047950480504815048250483504845048550486504875048850489504905049150492504935049450495504965049750498504995050050501505025050350504505055050650507505085050950510505115051250513505145051550516505175051850519505205052150522505235052450525505265052750528505295053050531505325053350534505355053650537505385053950540505415054250543505445054550546505475054850549505505055150552505535055450555505565055750558505595056050561505625056350564505655056650567505685056950570505715057250573505745057550576505775057850579505805058150582505835058450585505865058750588505895059050591505925059350594505955059650597505985059950600506015060250603506045060550606506075060850609506105061150612506135061450615506165061750618506195062050621506225062350624506255062650627506285062950630506315063250633506345063550636506375063850639506405064150642506435064450645506465064750648506495065050651506525065350654506555065650657506585065950660506615066250663506645066550666506675066850669506705067150672506735067450675506765067750678506795068050681506825068350684506855068650687506885068950690506915069250693506945069550696506975069850699507005070150702507035070450705507065070750708507095071050711507125071350714507155071650717507185071950720507215072250723507245072550726507275072850729507305073150732507335073450735507365073750738507395074050741507425074350744507455074650747507485074950750507515075250753507545075550756507575075850759507605076150762507635076450765507665076750768507695077050771507725077350774507755077650777507785077950780507815078250783507845078550786507875078850789507905079150792507935079450795507965079750798507995080050801508025080350804508055080650807508085080950810508115081250813508145081550816508175081850819508205082150822508235082450825508265082750828508295083050831508325083350834508355083650837508385083950840508415084250843508445084550846508475084850849508505085150852508535085450855508565085750858508595086050861508625086350864508655086650867508685086950870508715087250873508745087550876508775087850879508805088150882508835088450885508865088750888508895089050891508925089350894508955089650897508985089950900509015090250903509045090550906509075090850909509105091150912509135091450915509165091750918509195092050921509225092350924509255092650927509285092950930509315093250933509345093550936509375093850939509405094150942509435094450945509465094750948509495095050951509525095350954509555095650957509585095950960509615096250963509645096550966509675096850969509705097150972509735097450975509765097750978509795098050981509825098350984509855098650987509885098950990509915099250993509945099550996509975099850999510005100151002510035100451005510065100751008510095101051011510125101351014510155101651017510185101951020510215102251023510245102551026510275102851029510305103151032510335103451035510365103751038510395104051041510425104351044510455104651047510485104951050510515105251053510545105551056510575105851059510605106151062510635106451065510665106751068510695107051071510725107351074510755107651077510785107951080510815108251083510845108551086510875108851089510905109151092510935109451095510965109751098510995110051101511025110351104511055110651107511085110951110511115111251113511145111551116511175111851119511205112151122511235112451125511265112751128511295113051131511325113351134511355113651137511385113951140511415114251143511445114551146511475114851149511505115151152511535115451155511565115751158511595116051161511625116351164511655116651167511685116951170511715117251173511745117551176511775117851179511805118151182511835118451185511865118751188511895119051191511925119351194511955119651197511985119951200512015120251203512045120551206512075120851209512105121151212512135121451215512165121751218512195122051221512225122351224512255122651227512285122951230512315123251233512345123551236512375123851239512405124151242512435124451245512465124751248512495125051251512525125351254512555125651257512585125951260512615126251263512645126551266512675126851269512705127151272512735127451275512765127751278512795128051281512825128351284512855128651287512885128951290512915129251293512945129551296512975129851299513005130151302513035130451305513065130751308513095131051311513125131351314513155131651317513185131951320513215132251323513245132551326513275132851329513305133151332513335133451335513365133751338513395134051341513425134351344513455134651347513485134951350513515135251353513545135551356513575135851359513605136151362513635136451365513665136751368513695137051371513725137351374513755137651377513785137951380513815138251383513845138551386513875138851389513905139151392513935139451395513965139751398513995140051401514025140351404514055140651407514085140951410514115141251413514145141551416514175141851419514205142151422514235142451425514265142751428514295143051431514325143351434514355143651437514385143951440514415144251443514445144551446514475144851449514505145151452514535145451455514565145751458514595146051461514625146351464514655146651467514685146951470514715147251473514745147551476514775147851479514805148151482514835148451485514865148751488514895149051491514925149351494514955149651497514985149951500515015150251503515045150551506515075150851509515105151151512515135151451515515165151751518515195152051521515225152351524515255152651527515285152951530515315153251533515345153551536515375153851539515405154151542515435154451545515465154751548515495155051551515525155351554515555155651557515585155951560515615156251563515645156551566515675156851569515705157151572515735157451575515765157751578515795158051581515825158351584515855158651587515885158951590515915159251593515945159551596515975159851599516005160151602516035160451605516065160751608516095161051611516125161351614516155161651617516185161951620516215162251623516245162551626516275162851629516305163151632516335163451635516365163751638516395164051641516425164351644516455164651647516485164951650516515165251653516545165551656516575165851659516605166151662516635166451665516665166751668516695167051671516725167351674516755167651677516785167951680516815168251683516845168551686516875168851689516905169151692516935169451695516965169751698516995170051701517025170351704517055170651707517085170951710517115171251713517145171551716517175171851719517205172151722517235172451725517265172751728517295173051731517325173351734517355173651737517385173951740517415174251743517445174551746517475174851749517505175151752517535175451755517565175751758517595176051761517625176351764517655176651767517685176951770517715177251773517745177551776517775177851779517805178151782517835178451785517865178751788517895179051791517925179351794517955179651797517985179951800518015180251803518045180551806518075180851809518105181151812518135181451815518165181751818518195182051821518225182351824518255182651827518285182951830518315183251833518345183551836518375183851839518405184151842518435184451845518465184751848518495185051851518525185351854518555185651857518585185951860518615186251863518645186551866518675186851869518705187151872518735187451875518765187751878518795188051881518825188351884518855188651887518885188951890518915189251893518945189551896518975189851899519005190151902519035190451905519065190751908519095191051911519125191351914519155191651917519185191951920519215192251923519245192551926519275192851929519305193151932519335193451935519365193751938519395194051941519425194351944519455194651947519485194951950519515195251953519545195551956519575195851959519605196151962519635196451965519665196751968519695197051971519725197351974519755197651977519785197951980519815198251983519845198551986519875198851989519905199151992519935199451995519965199751998519995200052001520025200352004520055200652007520085200952010520115201252013520145201552016520175201852019520205202152022520235202452025520265202752028520295203052031520325203352034520355203652037520385203952040520415204252043520445204552046520475204852049520505205152052520535205452055520565205752058520595206052061520625206352064520655206652067520685206952070520715207252073520745207552076520775207852079520805208152082520835208452085520865208752088520895209052091520925209352094520955209652097520985209952100521015210252103521045210552106521075210852109521105211152112521135211452115521165211752118521195212052121521225212352124521255212652127521285212952130521315213252133521345213552136521375213852139521405214152142521435214452145521465214752148521495215052151521525215352154521555215652157521585215952160521615216252163521645216552166521675216852169521705217152172521735217452175521765217752178521795218052181521825218352184521855218652187521885218952190521915219252193521945219552196521975219852199522005220152202522035220452205522065220752208522095221052211522125221352214522155221652217522185221952220522215222252223522245222552226522275222852229522305223152232522335223452235522365223752238522395224052241522425224352244522455224652247522485224952250522515225252253522545225552256522575225852259522605226152262522635226452265522665226752268522695227052271522725227352274522755227652277522785227952280522815228252283522845228552286522875228852289522905229152292522935229452295522965229752298522995230052301523025230352304523055230652307523085230952310523115231252313523145231552316523175231852319523205232152322523235232452325523265232752328523295233052331523325233352334523355233652337523385233952340523415234252343523445234552346523475234852349523505235152352523535235452355523565235752358523595236052361523625236352364523655236652367523685236952370523715237252373523745237552376523775237852379523805238152382523835238452385523865238752388523895239052391523925239352394523955239652397523985239952400524015240252403524045240552406524075240852409524105241152412524135241452415524165241752418524195242052421524225242352424524255242652427524285242952430524315243252433524345243552436524375243852439524405244152442524435244452445524465244752448524495245052451524525245352454524555245652457524585245952460524615246252463524645246552466524675246852469524705247152472524735247452475524765247752478524795248052481524825248352484524855248652487524885248952490524915249252493524945249552496524975249852499525005250152502525035250452505525065250752508525095251052511525125251352514525155251652517525185251952520525215252252523525245252552526525275252852529525305253152532525335253452535525365253752538525395254052541525425254352544525455254652547525485254952550525515255252553525545255552556525575255852559525605256152562525635256452565525665256752568525695257052571525725257352574525755257652577525785257952580525815258252583525845258552586525875258852589525905259152592525935259452595525965259752598525995260052601526025260352604526055260652607526085260952610526115261252613526145261552616526175261852619526205262152622526235262452625526265262752628526295263052631526325263352634526355263652637526385263952640526415264252643526445264552646526475264852649526505265152652526535265452655526565265752658526595266052661526625266352664526655266652667526685266952670526715267252673526745267552676526775267852679526805268152682526835268452685526865268752688526895269052691526925269352694526955269652697526985269952700527015270252703527045270552706527075270852709527105271152712527135271452715527165271752718527195272052721527225272352724527255272652727527285272952730527315273252733527345273552736527375273852739527405274152742527435274452745527465274752748527495275052751527525275352754527555275652757527585275952760527615276252763527645276552766527675276852769527705277152772527735277452775527765277752778527795278052781527825278352784527855278652787527885278952790527915279252793527945279552796527975279852799528005280152802528035280452805528065280752808528095281052811528125281352814528155281652817528185281952820528215282252823528245282552826528275282852829528305283152832528335283452835528365283752838528395284052841528425284352844528455284652847528485284952850528515285252853528545285552856528575285852859528605286152862528635286452865528665286752868528695287052871528725287352874528755287652877528785287952880528815288252883528845288552886528875288852889528905289152892528935289452895528965289752898528995290052901529025290352904529055290652907529085290952910529115291252913529145291552916529175291852919529205292152922529235292452925529265292752928529295293052931529325293352934529355293652937529385293952940529415294252943529445294552946529475294852949529505295152952529535295452955529565295752958529595296052961529625296352964529655296652967529685296952970529715297252973529745297552976529775297852979529805298152982529835298452985529865298752988529895299052991529925299352994529955299652997529985299953000530015300253003530045300553006530075300853009530105301153012530135301453015530165301753018530195302053021530225302353024530255302653027530285302953030530315303253033530345303553036530375303853039530405304153042530435304453045530465304753048530495305053051530525305353054530555305653057530585305953060530615306253063530645306553066530675306853069530705307153072530735307453075530765307753078530795308053081530825308353084530855308653087530885308953090530915309253093530945309553096530975309853099531005310153102531035310453105531065310753108531095311053111531125311353114531155311653117531185311953120531215312253123531245312553126531275312853129531305313153132531335313453135531365313753138531395314053141531425314353144531455314653147531485314953150531515315253153531545315553156531575315853159531605316153162531635316453165531665316753168531695317053171531725317353174531755317653177531785317953180531815318253183531845318553186531875318853189531905319153192531935319453195531965319753198531995320053201532025320353204532055320653207532085320953210532115321253213532145321553216532175321853219532205322153222532235322453225532265322753228532295323053231532325323353234532355323653237532385323953240532415324253243532445324553246532475324853249532505325153252532535325453255532565325753258532595326053261532625326353264532655326653267532685326953270532715327253273532745327553276532775327853279532805328153282532835328453285532865328753288532895329053291532925329353294532955329653297532985329953300533015330253303533045330553306533075330853309533105331153312533135331453315533165331753318533195332053321533225332353324533255332653327533285332953330533315333253333533345333553336533375333853339533405334153342533435334453345533465334753348533495335053351533525335353354533555335653357533585335953360533615336253363533645336553366533675336853369533705337153372533735337453375533765337753378533795338053381533825338353384533855338653387533885338953390533915339253393533945339553396533975339853399534005340153402534035340453405534065340753408534095341053411534125341353414534155341653417534185341953420534215342253423534245342553426534275342853429534305343153432534335343453435534365343753438534395344053441534425344353444534455344653447534485344953450534515345253453534545345553456534575345853459534605346153462534635346453465534665346753468534695347053471534725347353474534755347653477534785347953480534815348253483534845348553486534875348853489534905349153492534935349453495534965349753498
  1. // make sure to keep this as 'var'
  2. // we don't want block scoping
  3. var url = require("url");
  4. var dartNodePreambleSelf = typeof global !== "undefined" ? global : window;
  5. var self = Object.create(dartNodePreambleSelf);
  6. self.scheduleImmediate = self.setImmediate
  7. ? function (cb) {
  8. dartNodePreambleSelf.setImmediate(cb);
  9. }
  10. : function(cb) {
  11. setTimeout(cb, 0);
  12. };
  13. // CommonJS globals.
  14. self.exports = exports;
  15. // Node.js specific exports, check to see if they exist & or polyfilled
  16. if (typeof process !== "undefined") {
  17. self.process = process;
  18. }
  19. if (typeof __dirname !== "undefined") {
  20. self.__dirname = __dirname;
  21. }
  22. if (typeof __filename !== "undefined") {
  23. self.__filename = __filename;
  24. }
  25. // if we're running in a browser, Dart supports most of this out of box
  26. // make sure we only run these in Node.js environment
  27. if (!dartNodePreambleSelf.window) {
  28. self.location = {
  29. get href() {
  30. if (url.pathToFileURL) {
  31. return url.pathToFileURL(process.cwd()).href + "/";
  32. } else {
  33. // This isn't really a correct transformation, but it's the best we have
  34. // for versions of Node <10.12.0 which introduced `url.pathToFileURL()`.
  35. // For example, it will fail for paths that contain characters that need
  36. // to be escaped in URLs.
  37. return "file://" + (function() {
  38. var cwd = process.cwd();
  39. if (process.platform != "win32") return cwd;
  40. return "/" + cwd.replace(/\\/g, "/");
  41. })() + "/"
  42. }
  43. }
  44. };
  45. (function() {
  46. function computeCurrentScript() {
  47. try {
  48. throw new Error();
  49. } catch(e) {
  50. var stack = e.stack;
  51. var re = new RegExp("^ *at [^(]*\\((.*):[0-9]*:[0-9]*\\)$", "mg");
  52. var lastMatch = null;
  53. do {
  54. var match = re.exec(stack);
  55. if (match != null) lastMatch = match;
  56. } while (match != null);
  57. return lastMatch[1];
  58. }
  59. }
  60. var cachedCurrentScript = null;
  61. self.document = {
  62. get currentScript() {
  63. if (cachedCurrentScript == null) {
  64. cachedCurrentScript = {src: computeCurrentScript()};
  65. }
  66. return cachedCurrentScript;
  67. }
  68. };
  69. })();
  70. self.dartDeferredLibraryLoader = function(uri, successCallback, errorCallback) {
  71. try {
  72. load(uri);
  73. successCallback();
  74. } catch (error) {
  75. errorCallback(error);
  76. }
  77. };
  78. }
  79. self.fs = require("fs");
  80. self.chokidar = require("chokidar");
  81. self.readline = require("readline");
  82. // Generated by dart2js (fast startup emitter, strong, trust primitives, omit checks, lax runtime type), the Dart to JavaScript compiler version: 2.4.0.
  83. // The code supports the following hooks:
  84. // dartPrint(message):
  85. // if this function is defined it is called instead of the Dart [print]
  86. // method.
  87. //
  88. // dartMainRunner(main, args):
  89. // if this function is defined, the Dart [main] method will not be invoked
  90. // directly. Instead, a closure that will invoke [main], and its arguments
  91. // [args] is passed to [dartMainRunner].
  92. //
  93. // dartDeferredLibraryLoader(uri, successCallback, errorCallback):
  94. // if this function is defined, it will be called when a deferred library
  95. // is loaded. It should load and eval the javascript of `uri`, and call
  96. // successCallback. If it fails to do so, it should call errorCallback with
  97. // an error.
  98. //
  99. // dartCallInstrumentation(id, qualifiedName):
  100. // if this function is defined, it will be called at each entry of a
  101. // method or constructor. Used only when compiling programs with
  102. // --experiment-call-instrumentation.
  103. {
  104. }
  105. (function dartProgram() {
  106. function copyProperties(from, to) {
  107. var keys = Object.keys(from);
  108. for (var i = 0; i < keys.length; i++) {
  109. var key = keys[i];
  110. to[key] = from[key];
  111. }
  112. }
  113. var supportsDirectProtoAccess = function() {
  114. var cls = function() {
  115. };
  116. cls.prototype = {p: {}};
  117. var object = new cls();
  118. if (!(object.__proto__ && object.__proto__.p === cls.prototype.p))
  119. return false;
  120. try {
  121. if (typeof navigator != "undefined" && typeof navigator.userAgent == "string" && navigator.userAgent.indexOf("Chrome/") >= 0)
  122. return true;
  123. if (typeof version == "function" && version.length == 0) {
  124. var v = version();
  125. if (/^\d+\.\d+\.\d+\.\d+$/.test(v))
  126. return true;
  127. }
  128. } catch (_) {
  129. }
  130. return false;
  131. }();
  132. function setFunctionNamesIfNecessary(holders) {
  133. function t() {
  134. }
  135. ;
  136. if (typeof t.name == "string")
  137. return;
  138. for (var i = 0; i < holders.length; i++) {
  139. var holder = holders[i];
  140. var keys = Object.keys(holder);
  141. for (var j = 0; j < keys.length; j++) {
  142. var key = keys[j];
  143. var f = holder[key];
  144. if (typeof f == 'function')
  145. f.name = key;
  146. }
  147. }
  148. }
  149. function inherit(cls, sup) {
  150. cls.prototype.constructor = cls;
  151. cls.prototype["$is" + cls.name] = cls;
  152. if (sup != null) {
  153. if (supportsDirectProtoAccess) {
  154. cls.prototype.__proto__ = sup.prototype;
  155. return;
  156. }
  157. var clsPrototype = Object.create(sup.prototype);
  158. copyProperties(cls.prototype, clsPrototype);
  159. cls.prototype = clsPrototype;
  160. }
  161. }
  162. function inheritMany(sup, classes) {
  163. for (var i = 0; i < classes.length; i++)
  164. inherit(classes[i], sup);
  165. }
  166. function mixin(cls, mixin) {
  167. copyProperties(mixin.prototype, cls.prototype);
  168. cls.prototype.constructor = cls;
  169. }
  170. function lazy(holder, name, getterName, initializer) {
  171. var uninitializedSentinel = holder;
  172. holder[name] = uninitializedSentinel;
  173. holder[getterName] = function() {
  174. holder[getterName] = function() {
  175. H.throwCyclicInit(name);
  176. };
  177. var result;
  178. var sentinelInProgress = initializer;
  179. try {
  180. if (holder[name] === uninitializedSentinel) {
  181. result = holder[name] = sentinelInProgress;
  182. result = holder[name] = initializer();
  183. } else
  184. result = holder[name];
  185. } finally {
  186. if (result === sentinelInProgress)
  187. holder[name] = null;
  188. holder[getterName] = function() {
  189. return this[name];
  190. };
  191. }
  192. return result;
  193. };
  194. }
  195. function makeConstList(list) {
  196. list.immutable$list = Array;
  197. list.fixed$length = Array;
  198. return list;
  199. }
  200. function convertToFastObject(properties) {
  201. function t() {
  202. }
  203. t.prototype = properties;
  204. new t();
  205. return properties;
  206. }
  207. function convertAllToFastObject(arrayOfObjects) {
  208. for (var i = 0; i < arrayOfObjects.length; ++i)
  209. convertToFastObject(arrayOfObjects[i]);
  210. }
  211. var functionCounter = 0;
  212. function tearOffGetter(funcs, applyTrampolineIndex, reflectionInfo, name, isIntercepted) {
  213. return isIntercepted ? new Function("funcs", "applyTrampolineIndex", "reflectionInfo", "name", "H", "c", "return function tearOff_" + name + functionCounter++ + "(receiver) {" + "if (c === null) c = " + "H.closureFromTearOff" + "(" + "this, funcs, applyTrampolineIndex, reflectionInfo, false, true, name);" + "return new c(this, funcs[0], receiver, name);" + "}")(funcs, applyTrampolineIndex, reflectionInfo, name, H, null) : new Function("funcs", "applyTrampolineIndex", "reflectionInfo", "name", "H", "c", "return function tearOff_" + name + functionCounter++ + "() {" + "if (c === null) c = " + "H.closureFromTearOff" + "(" + "this, funcs, applyTrampolineIndex, reflectionInfo, false, false, name);" + "return new c(this, funcs[0], null, name);" + "}")(funcs, applyTrampolineIndex, reflectionInfo, name, H, null);
  214. }
  215. function tearOff(funcs, applyTrampolineIndex, reflectionInfo, isStatic, name, isIntercepted) {
  216. var cache = null;
  217. return isStatic ? function() {
  218. if (cache === null)
  219. cache = H.closureFromTearOff(this, funcs, applyTrampolineIndex, reflectionInfo, true, false, name).prototype;
  220. return cache;
  221. } : tearOffGetter(funcs, applyTrampolineIndex, reflectionInfo, name, isIntercepted);
  222. }
  223. var typesOffset = 0;
  224. function installTearOff(container, getterName, isStatic, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex) {
  225. var funs = [];
  226. for (var i = 0; i < funsOrNames.length; i++) {
  227. var fun = funsOrNames[i];
  228. if (typeof fun == 'string')
  229. fun = container[fun];
  230. fun.$callName = callNames[i];
  231. funs.push(fun);
  232. }
  233. var fun = funs[0];
  234. fun.$requiredArgCount = requiredParameterCount;
  235. fun.$defaultValues = optionalParameterDefaultValues;
  236. var reflectionInfo = funType;
  237. if (typeof reflectionInfo == "number")
  238. reflectionInfo += typesOffset;
  239. var name = funsOrNames[0];
  240. fun.$stubName = name;
  241. var getterFunction = tearOff(funs, applyIndex || 0, reflectionInfo, isStatic, name, isIntercepted);
  242. container[getterName] = getterFunction;
  243. if (isStatic)
  244. fun.$tearOff = getterFunction;
  245. }
  246. function installStaticTearOff(container, getterName, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex) {
  247. return installTearOff(container, getterName, true, false, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex);
  248. }
  249. function installInstanceTearOff(container, getterName, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex) {
  250. return installTearOff(container, getterName, false, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex);
  251. }
  252. function setOrUpdateInterceptorsByTag(newTags) {
  253. var tags = init.interceptorsByTag;
  254. if (!tags) {
  255. init.interceptorsByTag = newTags;
  256. return;
  257. }
  258. copyProperties(newTags, tags);
  259. }
  260. function setOrUpdateLeafTags(newTags) {
  261. var tags = init.leafTags;
  262. if (!tags) {
  263. init.leafTags = newTags;
  264. return;
  265. }
  266. copyProperties(newTags, tags);
  267. }
  268. function updateTypes(newTypes) {
  269. var types = init.types;
  270. var length = types.length;
  271. types.push.apply(types, newTypes);
  272. return length;
  273. }
  274. function updateHolder(holder, newHolder) {
  275. copyProperties(newHolder, holder);
  276. return holder;
  277. }
  278. var hunkHelpers = function() {
  279. var mkInstance = function(isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, applyIndex) {
  280. return function(container, getterName, name, funType) {
  281. return installInstanceTearOff(container, getterName, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, [name], funType, applyIndex);
  282. };
  283. },
  284. mkStatic = function(requiredParameterCount, optionalParameterDefaultValues, callNames, applyIndex) {
  285. return function(container, getterName, name, funType) {
  286. return installStaticTearOff(container, getterName, requiredParameterCount, optionalParameterDefaultValues, callNames, [name], funType, applyIndex);
  287. };
  288. };
  289. return {inherit: inherit, inheritMany: inheritMany, mixin: mixin, installStaticTearOff: installStaticTearOff, installInstanceTearOff: installInstanceTearOff, _instance_0u: mkInstance(0, 0, null, ["call$0"], 0), _instance_1u: mkInstance(0, 1, null, ["call$1"], 0), _instance_2u: mkInstance(0, 2, null, ["call$2"], 0), _instance_0i: mkInstance(1, 0, null, ["call$0"], 0), _instance_1i: mkInstance(1, 1, null, ["call$1"], 0), _instance_2i: mkInstance(1, 2, null, ["call$2"], 0), _static_0: mkStatic(0, null, ["call$0"], 0), _static_1: mkStatic(1, null, ["call$1"], 0), _static_2: mkStatic(2, null, ["call$2"], 0), makeConstList: makeConstList, lazy: lazy, updateHolder: updateHolder, convertToFastObject: convertToFastObject, setFunctionNamesIfNecessary: setFunctionNamesIfNecessary, updateTypes: updateTypes, setOrUpdateInterceptorsByTag: setOrUpdateInterceptorsByTag, setOrUpdateLeafTags: setOrUpdateLeafTags};
  290. }();
  291. function initializeDeferredHunk(hunk) {
  292. typesOffset = init.types.length;
  293. hunk(hunkHelpers, init, holders, $);
  294. }
  295. function getGlobalFromName(name) {
  296. for (var i = 0; i < holders.length; i++) {
  297. if (holders[i] == C)
  298. continue;
  299. if (holders[i][name])
  300. return holders[i][name];
  301. }
  302. }
  303. var C = {},
  304. H = {JS_CONST: function JS_CONST() {
  305. },
  306. CastIterable_CastIterable: function(source, $S, $T) {
  307. if (H.checkSubtype(source, "$isEfficientLengthIterable", [$S], "$asEfficientLengthIterable"))
  308. return new H._EfficientLengthCastIterable(source, [$S, $T]);
  309. return new H.CastIterable(source, [$S, $T]);
  310. },
  311. hexDigitValue: function(char) {
  312. var letter,
  313. digit = char ^ 48;
  314. if (digit <= 9)
  315. return digit;
  316. letter = char | 32;
  317. if (97 <= letter && letter <= 102)
  318. return letter - 87;
  319. return -1;
  320. },
  321. SubListIterable$: function(_iterable, _start, _endOrLength, $E) {
  322. P.RangeError_checkNotNegative(_start, "start");
  323. if (_endOrLength != null) {
  324. P.RangeError_checkNotNegative(_endOrLength, "end");
  325. if (_start > _endOrLength)
  326. H.throwExpression(P.RangeError$range(_start, 0, _endOrLength, "start", null));
  327. }
  328. return new H.SubListIterable(_iterable, _start, _endOrLength, [$E]);
  329. },
  330. MappedIterable_MappedIterable: function(iterable, $function, $S, $T) {
  331. if (!!J.getInterceptor$(iterable).$isEfficientLengthIterable)
  332. return new H.EfficientLengthMappedIterable(iterable, $function, [$S, $T]);
  333. return new H.MappedIterable(iterable, $function, [$S, $T]);
  334. },
  335. TakeIterable_TakeIterable: function(iterable, takeCount, $E) {
  336. P.RangeError_checkNotNegative(takeCount, "takeCount");
  337. if (!!J.getInterceptor$(iterable).$isEfficientLengthIterable)
  338. return new H.EfficientLengthTakeIterable(iterable, takeCount, [$E]);
  339. return new H.TakeIterable(iterable, takeCount, [$E]);
  340. },
  341. SkipIterable_SkipIterable: function(iterable, count, $E) {
  342. var _s5_ = "count";
  343. if (!!J.getInterceptor$(iterable).$isEfficientLengthIterable) {
  344. if (count == null)
  345. H.throwExpression(P.ArgumentError$notNull(_s5_));
  346. P.RangeError_checkNotNegative(count, _s5_);
  347. return new H.EfficientLengthSkipIterable(iterable, count, [$E]);
  348. }
  349. if (count == null)
  350. H.throwExpression(P.ArgumentError$notNull(_s5_));
  351. P.RangeError_checkNotNegative(count, _s5_);
  352. return new H.SkipIterable(iterable, count, [$E]);
  353. },
  354. FollowedByIterable_FollowedByIterable$firstEfficient: function(first, second, $E) {
  355. if (H.checkSubtype(second, "$isEfficientLengthIterable", [$E], "$asEfficientLengthIterable"))
  356. return new H.EfficientLengthFollowedByIterable(first, second, [$E]);
  357. return new H.FollowedByIterable(first, second, [$E]);
  358. },
  359. IterableElementError_noElement: function() {
  360. return new P.StateError("No element");
  361. },
  362. IterableElementError_tooMany: function() {
  363. return new P.StateError("Too many elements");
  364. },
  365. IterableElementError_tooFew: function() {
  366. return new P.StateError("Too few elements");
  367. },
  368. Sort_sort: function(a, compare) {
  369. H.Sort__doSort(a, 0, J.get$length$asx(a) - 1, compare);
  370. },
  371. Sort__doSort: function(a, left, right, compare) {
  372. if (right - left <= 32)
  373. H.Sort__insertionSort(a, left, right, compare);
  374. else
  375. H.Sort__dualPivotQuicksort(a, left, right, compare);
  376. },
  377. Sort__insertionSort: function(a, left, right, compare) {
  378. var i, t1, el, j, j0;
  379. for (i = left + 1, t1 = J.getInterceptor$asx(a); i <= right; ++i) {
  380. el = t1.$index(a, i);
  381. j = i;
  382. while (true) {
  383. if (!(j > left && compare.call$2(t1.$index(a, j - 1), el) > 0))
  384. break;
  385. j0 = j - 1;
  386. t1.$indexSet(a, j, t1.$index(a, j0));
  387. j = j0;
  388. }
  389. t1.$indexSet(a, j, el);
  390. }
  391. },
  392. Sort__dualPivotQuicksort: function(a, left, right, compare) {
  393. var t0, less, great, k, ak, comp, great0, less0, pivots_are_equal, t2,
  394. sixth = C.JSInt_methods._tdivFast$1(right - left + 1, 6),
  395. index1 = left + sixth,
  396. index5 = right - sixth,
  397. index3 = C.JSInt_methods._tdivFast$1(left + right, 2),
  398. index2 = index3 - sixth,
  399. index4 = index3 + sixth,
  400. t1 = J.getInterceptor$asx(a),
  401. el1 = t1.$index(a, index1),
  402. el2 = t1.$index(a, index2),
  403. el3 = t1.$index(a, index3),
  404. el4 = t1.$index(a, index4),
  405. el5 = t1.$index(a, index5);
  406. if (compare.call$2(el1, el2) > 0) {
  407. t0 = el2;
  408. el2 = el1;
  409. el1 = t0;
  410. }
  411. if (compare.call$2(el4, el5) > 0) {
  412. t0 = el5;
  413. el5 = el4;
  414. el4 = t0;
  415. }
  416. if (compare.call$2(el1, el3) > 0) {
  417. t0 = el3;
  418. el3 = el1;
  419. el1 = t0;
  420. }
  421. if (compare.call$2(el2, el3) > 0) {
  422. t0 = el3;
  423. el3 = el2;
  424. el2 = t0;
  425. }
  426. if (compare.call$2(el1, el4) > 0) {
  427. t0 = el4;
  428. el4 = el1;
  429. el1 = t0;
  430. }
  431. if (compare.call$2(el3, el4) > 0) {
  432. t0 = el4;
  433. el4 = el3;
  434. el3 = t0;
  435. }
  436. if (compare.call$2(el2, el5) > 0) {
  437. t0 = el5;
  438. el5 = el2;
  439. el2 = t0;
  440. }
  441. if (compare.call$2(el2, el3) > 0) {
  442. t0 = el3;
  443. el3 = el2;
  444. el2 = t0;
  445. }
  446. if (compare.call$2(el4, el5) > 0) {
  447. t0 = el5;
  448. el5 = el4;
  449. el4 = t0;
  450. }
  451. t1.$indexSet(a, index1, el1);
  452. t1.$indexSet(a, index3, el3);
  453. t1.$indexSet(a, index5, el5);
  454. t1.$indexSet(a, index2, t1.$index(a, left));
  455. t1.$indexSet(a, index4, t1.$index(a, right));
  456. less = left + 1;
  457. great = right - 1;
  458. if (J.$eq$(compare.call$2(el2, el4), 0)) {
  459. for (k = less; k <= great; ++k) {
  460. ak = t1.$index(a, k);
  461. comp = compare.call$2(ak, el2);
  462. if (comp === 0)
  463. continue;
  464. if (comp < 0) {
  465. if (k !== less) {
  466. t1.$indexSet(a, k, t1.$index(a, less));
  467. t1.$indexSet(a, less, ak);
  468. }
  469. ++less;
  470. } else
  471. for (; true;) {
  472. comp = compare.call$2(t1.$index(a, great), el2);
  473. if (comp > 0) {
  474. --great;
  475. continue;
  476. } else {
  477. great0 = great - 1;
  478. if (comp < 0) {
  479. t1.$indexSet(a, k, t1.$index(a, less));
  480. less0 = less + 1;
  481. t1.$indexSet(a, less, t1.$index(a, great));
  482. t1.$indexSet(a, great, ak);
  483. great = great0;
  484. less = less0;
  485. break;
  486. } else {
  487. t1.$indexSet(a, k, t1.$index(a, great));
  488. t1.$indexSet(a, great, ak);
  489. great = great0;
  490. break;
  491. }
  492. }
  493. }
  494. }
  495. pivots_are_equal = true;
  496. } else {
  497. for (k = less; k <= great; ++k) {
  498. ak = t1.$index(a, k);
  499. if (compare.call$2(ak, el2) < 0) {
  500. if (k !== less) {
  501. t1.$indexSet(a, k, t1.$index(a, less));
  502. t1.$indexSet(a, less, ak);
  503. }
  504. ++less;
  505. } else if (compare.call$2(ak, el4) > 0)
  506. for (; true;)
  507. if (compare.call$2(t1.$index(a, great), el4) > 0) {
  508. --great;
  509. if (great < k)
  510. break;
  511. continue;
  512. } else {
  513. great0 = great - 1;
  514. if (compare.call$2(t1.$index(a, great), el2) < 0) {
  515. t1.$indexSet(a, k, t1.$index(a, less));
  516. less0 = less + 1;
  517. t1.$indexSet(a, less, t1.$index(a, great));
  518. t1.$indexSet(a, great, ak);
  519. less = less0;
  520. } else {
  521. t1.$indexSet(a, k, t1.$index(a, great));
  522. t1.$indexSet(a, great, ak);
  523. }
  524. great = great0;
  525. break;
  526. }
  527. }
  528. pivots_are_equal = false;
  529. }
  530. t2 = less - 1;
  531. t1.$indexSet(a, left, t1.$index(a, t2));
  532. t1.$indexSet(a, t2, el2);
  533. t2 = great + 1;
  534. t1.$indexSet(a, right, t1.$index(a, t2));
  535. t1.$indexSet(a, t2, el4);
  536. H.Sort__doSort(a, left, less - 2, compare);
  537. H.Sort__doSort(a, great + 2, right, compare);
  538. if (pivots_are_equal)
  539. return;
  540. if (less < index1 && great > index5) {
  541. for (; J.$eq$(compare.call$2(t1.$index(a, less), el2), 0);)
  542. ++less;
  543. for (; J.$eq$(compare.call$2(t1.$index(a, great), el4), 0);)
  544. --great;
  545. for (k = less; k <= great; ++k) {
  546. ak = t1.$index(a, k);
  547. if (compare.call$2(ak, el2) === 0) {
  548. if (k !== less) {
  549. t1.$indexSet(a, k, t1.$index(a, less));
  550. t1.$indexSet(a, less, ak);
  551. }
  552. ++less;
  553. } else if (compare.call$2(ak, el4) === 0)
  554. for (; true;)
  555. if (compare.call$2(t1.$index(a, great), el4) === 0) {
  556. --great;
  557. if (great < k)
  558. break;
  559. continue;
  560. } else {
  561. great0 = great - 1;
  562. if (compare.call$2(t1.$index(a, great), el2) < 0) {
  563. t1.$indexSet(a, k, t1.$index(a, less));
  564. less0 = less + 1;
  565. t1.$indexSet(a, less, t1.$index(a, great));
  566. t1.$indexSet(a, great, ak);
  567. less = less0;
  568. } else {
  569. t1.$indexSet(a, k, t1.$index(a, great));
  570. t1.$indexSet(a, great, ak);
  571. }
  572. great = great0;
  573. break;
  574. }
  575. }
  576. H.Sort__doSort(a, less, great, compare);
  577. } else
  578. H.Sort__doSort(a, less, great, compare);
  579. },
  580. _CastIterableBase: function _CastIterableBase() {
  581. },
  582. CastIterator: function CastIterator(t0, t1) {
  583. this._source = t0;
  584. this.$ti = t1;
  585. },
  586. CastIterable: function CastIterable(t0, t1) {
  587. this._source = t0;
  588. this.$ti = t1;
  589. },
  590. _EfficientLengthCastIterable: function _EfficientLengthCastIterable(t0, t1) {
  591. this._source = t0;
  592. this.$ti = t1;
  593. },
  594. _CastListBase: function _CastListBase() {
  595. },
  596. CastList: function CastList(t0, t1) {
  597. this._source = t0;
  598. this.$ti = t1;
  599. },
  600. CastSet: function CastSet(t0, t1, t2) {
  601. this._source = t0;
  602. this._emptySet = t1;
  603. this.$ti = t2;
  604. },
  605. CastQueue: function CastQueue(t0, t1) {
  606. this._source = t0;
  607. this.$ti = t1;
  608. },
  609. CodeUnits: function CodeUnits(t0) {
  610. this.__internal$_string = t0;
  611. },
  612. EfficientLengthIterable: function EfficientLengthIterable() {
  613. },
  614. ListIterable: function ListIterable() {
  615. },
  616. SubListIterable: function SubListIterable(t0, t1, t2, t3) {
  617. var _ = this;
  618. _.__internal$_iterable = t0;
  619. _.__internal$_start = t1;
  620. _._endOrLength = t2;
  621. _.$ti = t3;
  622. },
  623. ListIterator: function ListIterator(t0, t1) {
  624. var _ = this;
  625. _.__internal$_iterable = t0;
  626. _.__internal$_length = t1;
  627. _.__internal$_index = 0;
  628. _.__internal$_current = null;
  629. },
  630. MappedIterable: function MappedIterable(t0, t1, t2) {
  631. this.__internal$_iterable = t0;
  632. this._f = t1;
  633. this.$ti = t2;
  634. },
  635. EfficientLengthMappedIterable: function EfficientLengthMappedIterable(t0, t1, t2) {
  636. this.__internal$_iterable = t0;
  637. this._f = t1;
  638. this.$ti = t2;
  639. },
  640. MappedIterator: function MappedIterator(t0, t1) {
  641. this.__internal$_current = null;
  642. this._iterator = t0;
  643. this._f = t1;
  644. },
  645. MappedListIterable: function MappedListIterable(t0, t1, t2) {
  646. this._source = t0;
  647. this._f = t1;
  648. this.$ti = t2;
  649. },
  650. WhereIterable: function WhereIterable(t0, t1, t2) {
  651. this.__internal$_iterable = t0;
  652. this._f = t1;
  653. this.$ti = t2;
  654. },
  655. WhereIterator: function WhereIterator(t0, t1) {
  656. this._iterator = t0;
  657. this._f = t1;
  658. },
  659. ExpandIterable: function ExpandIterable(t0, t1, t2) {
  660. this.__internal$_iterable = t0;
  661. this._f = t1;
  662. this.$ti = t2;
  663. },
  664. ExpandIterator: function ExpandIterator(t0, t1, t2) {
  665. var _ = this;
  666. _._iterator = t0;
  667. _._f = t1;
  668. _._currentExpansion = t2;
  669. _.__internal$_current = null;
  670. },
  671. TakeIterable: function TakeIterable(t0, t1, t2) {
  672. this.__internal$_iterable = t0;
  673. this._takeCount = t1;
  674. this.$ti = t2;
  675. },
  676. EfficientLengthTakeIterable: function EfficientLengthTakeIterable(t0, t1, t2) {
  677. this.__internal$_iterable = t0;
  678. this._takeCount = t1;
  679. this.$ti = t2;
  680. },
  681. TakeIterator: function TakeIterator(t0, t1) {
  682. this._iterator = t0;
  683. this._remaining = t1;
  684. },
  685. SkipIterable: function SkipIterable(t0, t1, t2) {
  686. this.__internal$_iterable = t0;
  687. this._skipCount = t1;
  688. this.$ti = t2;
  689. },
  690. EfficientLengthSkipIterable: function EfficientLengthSkipIterable(t0, t1, t2) {
  691. this.__internal$_iterable = t0;
  692. this._skipCount = t1;
  693. this.$ti = t2;
  694. },
  695. SkipIterator: function SkipIterator(t0, t1) {
  696. this._iterator = t0;
  697. this._skipCount = t1;
  698. },
  699. SkipWhileIterable: function SkipWhileIterable(t0, t1, t2) {
  700. this.__internal$_iterable = t0;
  701. this._f = t1;
  702. this.$ti = t2;
  703. },
  704. SkipWhileIterator: function SkipWhileIterator(t0, t1) {
  705. this._iterator = t0;
  706. this._f = t1;
  707. this._hasSkipped = false;
  708. },
  709. EmptyIterable: function EmptyIterable(t0) {
  710. this.$ti = t0;
  711. },
  712. EmptyIterator: function EmptyIterator() {
  713. },
  714. FollowedByIterable: function FollowedByIterable(t0, t1, t2) {
  715. this.__internal$_first = t0;
  716. this._second = t1;
  717. this.$ti = t2;
  718. },
  719. EfficientLengthFollowedByIterable: function EfficientLengthFollowedByIterable(t0, t1, t2) {
  720. this.__internal$_first = t0;
  721. this._second = t1;
  722. this.$ti = t2;
  723. },
  724. FollowedByIterator: function FollowedByIterator(t0, t1) {
  725. this._currentIterator = t0;
  726. this._nextIterable = t1;
  727. },
  728. WhereTypeIterable: function WhereTypeIterable(t0, t1) {
  729. this._source = t0;
  730. this.$ti = t1;
  731. },
  732. WhereTypeIterator: function WhereTypeIterator(t0, t1) {
  733. this._source = t0;
  734. this.$ti = t1;
  735. },
  736. FixedLengthListMixin: function FixedLengthListMixin() {
  737. },
  738. UnmodifiableListMixin: function UnmodifiableListMixin() {
  739. },
  740. UnmodifiableListBase: function UnmodifiableListBase() {
  741. },
  742. ReversedListIterable: function ReversedListIterable(t0, t1) {
  743. this._source = t0;
  744. this.$ti = t1;
  745. },
  746. Symbol0: function Symbol0(t0) {
  747. this._name = t0;
  748. },
  749. __CastListBase__CastIterableBase_ListMixin: function __CastListBase__CastIterableBase_ListMixin() {
  750. },
  751. ConstantMap_ConstantMap$from: function(other, $K, $V) {
  752. var allStrings, k, object, containsProto, protoValue, $length, v,
  753. keys = P.List_List$from(other.get$keys(), true, $K),
  754. t1 = keys.length,
  755. _i = 0;
  756. while (true) {
  757. if (!(_i < t1)) {
  758. allStrings = true;
  759. break;
  760. }
  761. k = keys[_i];
  762. if (typeof k !== "string") {
  763. allStrings = false;
  764. break;
  765. }
  766. ++_i;
  767. }
  768. if (allStrings) {
  769. object = {};
  770. for (containsProto = false, protoValue = null, $length = 0, _i = 0; _i < keys.length; keys.length === t1 || (0, H.throwConcurrentModificationError)(keys), ++_i) {
  771. k = keys[_i];
  772. v = other.$index(0, k);
  773. if (!J.$eq$(k, "__proto__")) {
  774. if (!object.hasOwnProperty(k))
  775. ++$length;
  776. object[k] = v;
  777. } else {
  778. protoValue = v;
  779. containsProto = true;
  780. }
  781. }
  782. if (containsProto)
  783. return new H.ConstantProtoMap(protoValue, $length + 1, object, keys, [$K, $V]);
  784. return new H.ConstantStringMap($length, object, keys, [$K, $V]);
  785. }
  786. return new H.ConstantMapView(P.LinkedHashMap_LinkedHashMap$from(other, $K, $V), [$K, $V]);
  787. },
  788. ConstantMap__throwUnmodifiable: function() {
  789. throw H.wrapException(P.UnsupportedError$("Cannot modify unmodifiable Map"));
  790. },
  791. instantiate1: function(f, T1) {
  792. var t1 = new H.Instantiation1(f, [T1]);
  793. t1.Instantiation$1(f);
  794. return t1;
  795. },
  796. unminifyOrTag: function(rawClassName) {
  797. var t1 = init.mangledGlobalNames[rawClassName];
  798. if (typeof t1 === "string")
  799. return t1;
  800. return rawClassName;
  801. },
  802. getType: function(index) {
  803. return init.types[index];
  804. },
  805. isJsIndexable: function(object, record) {
  806. var result;
  807. if (record != null) {
  808. result = record.x;
  809. if (result != null)
  810. return result;
  811. }
  812. return !!J.getInterceptor$(object).$isJavaScriptIndexingBehavior;
  813. },
  814. S: function(value) {
  815. var res;
  816. if (typeof value === "string")
  817. return value;
  818. if (typeof value === "number") {
  819. if (value !== 0)
  820. return "" + value;
  821. } else if (true === value)
  822. return "true";
  823. else if (false === value)
  824. return "false";
  825. else if (value == null)
  826. return "null";
  827. res = J.toString$0$(value);
  828. if (typeof res !== "string")
  829. throw H.wrapException(H.argumentErrorValue(value));
  830. return res;
  831. },
  832. Primitives_objectHashCode: function(object) {
  833. var hash = object.$identityHash;
  834. if (hash == null) {
  835. hash = Math.random() * 0x3fffffff | 0;
  836. object.$identityHash = hash;
  837. }
  838. return hash;
  839. },
  840. Primitives_parseInt: function(source, radix) {
  841. var match, decimalMatch, maxCharCode, digitsPart, t1, i;
  842. if (typeof source !== "string")
  843. H.throwExpression(H.argumentErrorValue(source));
  844. match = /^\s*[+-]?((0x[a-f0-9]+)|(\d+)|([a-z0-9]+))\s*$/i.exec(source);
  845. if (match == null)
  846. return;
  847. decimalMatch = match[3];
  848. if (radix == null) {
  849. if (decimalMatch != null)
  850. return parseInt(source, 10);
  851. if (match[2] != null)
  852. return parseInt(source, 16);
  853. return;
  854. }
  855. if (radix < 2 || radix > 36)
  856. throw H.wrapException(P.RangeError$range(radix, 2, 36, "radix", null));
  857. if (radix === 10 && decimalMatch != null)
  858. return parseInt(source, 10);
  859. if (radix < 10 || decimalMatch == null) {
  860. maxCharCode = radix <= 10 ? 47 + radix : 86 + radix;
  861. digitsPart = match[1];
  862. for (t1 = digitsPart.length, i = 0; i < t1; ++i)
  863. if ((C.JSString_methods._codeUnitAt$1(digitsPart, i) | 32) > maxCharCode)
  864. return;
  865. }
  866. return parseInt(source, radix);
  867. },
  868. Primitives_parseDouble: function(source) {
  869. var result, trimmed;
  870. if (!/^\s*[+-]?(?:Infinity|NaN|(?:\.\d+|\d+(?:\.\d*)?)(?:[eE][+-]?\d+)?)\s*$/.test(source))
  871. return;
  872. result = parseFloat(source);
  873. if (isNaN(result)) {
  874. trimmed = C.JSString_methods.trim$0(source);
  875. if (trimmed === "NaN" || trimmed === "+NaN" || trimmed === "-NaN")
  876. return result;
  877. return;
  878. }
  879. return result;
  880. },
  881. Primitives_objectTypeName: function(object) {
  882. return H.Primitives__objectClassName(object) + H._joinArguments(H.getRuntimeTypeInfo(object), 0, null);
  883. },
  884. Primitives__objectClassName: function(object) {
  885. var interceptorConstructorName, $name, t1, dispatchName, objectConstructor, match, decompiledName,
  886. interceptor = J.getInterceptor$(object),
  887. interceptorConstructor = interceptor.constructor;
  888. if (typeof interceptorConstructor == "function") {
  889. interceptorConstructorName = interceptorConstructor.name;
  890. $name = typeof interceptorConstructorName === "string" ? interceptorConstructorName : null;
  891. } else
  892. $name = null;
  893. t1 = $name == null;
  894. if (t1 || interceptor === C.Interceptor_methods || !!interceptor.$isUnknownJavaScriptObject) {
  895. dispatchName = C.C_JS_CONST(object);
  896. if (t1)
  897. $name = dispatchName;
  898. if (dispatchName === "Object") {
  899. objectConstructor = object.constructor;
  900. if (typeof objectConstructor == "function") {
  901. match = String(objectConstructor).match(/^\s*function\s*([\w$]*)\s*\(/);
  902. decompiledName = match == null ? null : match[1];
  903. if (typeof decompiledName === "string" && /^\w+$/.test(decompiledName))
  904. $name = decompiledName;
  905. }
  906. }
  907. return $name;
  908. }
  909. $name = $name;
  910. return H.unminifyOrTag($name.length > 1 && C.JSString_methods._codeUnitAt$1($name, 0) === 36 ? C.JSString_methods.substring$1($name, 1) : $name);
  911. },
  912. Primitives_currentUri: function() {
  913. if (!!self.location)
  914. return self.location.href;
  915. return;
  916. },
  917. Primitives__fromCharCodeApply: function(array) {
  918. var result, i, i0, chunkEnd,
  919. end = J.get$length$asx(array);
  920. if (end <= 500)
  921. return String.fromCharCode.apply(null, array);
  922. for (result = "", i = 0; i < end; i = i0) {
  923. i0 = i + 500;
  924. chunkEnd = i0 < end ? i0 : end;
  925. result += String.fromCharCode.apply(null, array.slice(i, chunkEnd));
  926. }
  927. return result;
  928. },
  929. Primitives_stringFromCodePoints: function(codePoints) {
  930. var t1, i,
  931. a = H.setRuntimeTypeInfo([], [P.int]);
  932. for (t1 = J.get$iterator$ax(codePoints); t1.moveNext$0();) {
  933. i = t1.get$current(t1);
  934. if (typeof i !== "number" || Math.floor(i) !== i)
  935. throw H.wrapException(H.argumentErrorValue(i));
  936. if (i <= 65535)
  937. a.push(i);
  938. else if (i <= 1114111) {
  939. a.push(55296 + (C.JSInt_methods._shrOtherPositive$1(i - 65536, 10) & 1023));
  940. a.push(56320 + (i & 1023));
  941. } else
  942. throw H.wrapException(H.argumentErrorValue(i));
  943. }
  944. return H.Primitives__fromCharCodeApply(a);
  945. },
  946. Primitives_stringFromCharCodes: function(charCodes) {
  947. var t1, i;
  948. for (t1 = J.get$iterator$ax(charCodes); t1.moveNext$0();) {
  949. i = t1.get$current(t1);
  950. if (typeof i !== "number" || Math.floor(i) !== i)
  951. throw H.wrapException(H.argumentErrorValue(i));
  952. if (i < 0)
  953. throw H.wrapException(H.argumentErrorValue(i));
  954. if (i > 65535)
  955. return H.Primitives_stringFromCodePoints(charCodes);
  956. }
  957. return H.Primitives__fromCharCodeApply(charCodes);
  958. },
  959. Primitives_stringFromNativeUint8List: function(charCodes, start, end) {
  960. var i, result, i0, chunkEnd;
  961. if (end <= 500 && start === 0 && end === charCodes.length)
  962. return String.fromCharCode.apply(null, charCodes);
  963. for (i = start, result = ""; i < end; i = i0) {
  964. i0 = i + 500;
  965. chunkEnd = i0 < end ? i0 : end;
  966. result += String.fromCharCode.apply(null, charCodes.subarray(i, chunkEnd));
  967. }
  968. return result;
  969. },
  970. Primitives_stringFromCharCode: function(charCode) {
  971. var bits;
  972. if (0 <= charCode) {
  973. if (charCode <= 65535)
  974. return String.fromCharCode(charCode);
  975. if (charCode <= 1114111) {
  976. bits = charCode - 65536;
  977. return String.fromCharCode((55296 | C.JSInt_methods._shrOtherPositive$1(bits, 10)) >>> 0, 56320 | bits & 1023);
  978. }
  979. }
  980. throw H.wrapException(P.RangeError$range(charCode, 0, 1114111, null, null));
  981. },
  982. Primitives_lazyAsJsDate: function(receiver) {
  983. if (receiver.date === void 0)
  984. receiver.date = new Date(receiver._value);
  985. return receiver.date;
  986. },
  987. Primitives_getYear: function(receiver) {
  988. var t1 = H.Primitives_lazyAsJsDate(receiver).getFullYear() + 0;
  989. return t1;
  990. },
  991. Primitives_getMonth: function(receiver) {
  992. var t1 = H.Primitives_lazyAsJsDate(receiver).getMonth() + 1;
  993. return t1;
  994. },
  995. Primitives_getDay: function(receiver) {
  996. var t1 = H.Primitives_lazyAsJsDate(receiver).getDate() + 0;
  997. return t1;
  998. },
  999. Primitives_getHours: function(receiver) {
  1000. var t1 = H.Primitives_lazyAsJsDate(receiver).getHours() + 0;
  1001. return t1;
  1002. },
  1003. Primitives_getMinutes: function(receiver) {
  1004. var t1 = H.Primitives_lazyAsJsDate(receiver).getMinutes() + 0;
  1005. return t1;
  1006. },
  1007. Primitives_getSeconds: function(receiver) {
  1008. var t1 = H.Primitives_lazyAsJsDate(receiver).getSeconds() + 0;
  1009. return t1;
  1010. },
  1011. Primitives_getMilliseconds: function(receiver) {
  1012. var t1 = H.Primitives_lazyAsJsDate(receiver).getMilliseconds() + 0;
  1013. return t1;
  1014. },
  1015. Primitives_functionNoSuchMethod: function($function, positionalArguments, namedArguments) {
  1016. var $arguments, namedArgumentList, t1 = {};
  1017. t1.argumentCount = 0;
  1018. $arguments = [];
  1019. namedArgumentList = [];
  1020. t1.argumentCount = positionalArguments.length;
  1021. C.JSArray_methods.addAll$1($arguments, positionalArguments);
  1022. t1.names = "";
  1023. if (namedArguments != null && !namedArguments.get$isEmpty(namedArguments))
  1024. namedArguments.forEach$1(0, new H.Primitives_functionNoSuchMethod_closure(t1, namedArgumentList, $arguments));
  1025. "" + t1.argumentCount;
  1026. return J.noSuchMethod$1$($function, new H.JSInvocationMirror(C.Symbol_call, 0, $arguments, namedArgumentList, 0));
  1027. },
  1028. Primitives_applyFunction: function($function, positionalArguments, namedArguments) {
  1029. var t1, $arguments, argumentCount, jsStub;
  1030. if (positionalArguments instanceof Array)
  1031. t1 = namedArguments == null || namedArguments.get$isEmpty(namedArguments);
  1032. else
  1033. t1 = false;
  1034. if (t1) {
  1035. $arguments = positionalArguments;
  1036. argumentCount = $arguments.length;
  1037. if (argumentCount === 0) {
  1038. if (!!$function.call$0)
  1039. return $function.call$0();
  1040. } else if (argumentCount === 1) {
  1041. if (!!$function.call$1)
  1042. return $function.call$1($arguments[0]);
  1043. } else if (argumentCount === 2) {
  1044. if (!!$function.call$2)
  1045. return $function.call$2($arguments[0], $arguments[1]);
  1046. } else if (argumentCount === 3) {
  1047. if (!!$function.call$3)
  1048. return $function.call$3($arguments[0], $arguments[1], $arguments[2]);
  1049. } else if (argumentCount === 4) {
  1050. if (!!$function.call$4)
  1051. return $function.call$4($arguments[0], $arguments[1], $arguments[2], $arguments[3]);
  1052. } else if (argumentCount === 5)
  1053. if (!!$function.call$5)
  1054. return $function.call$5($arguments[0], $arguments[1], $arguments[2], $arguments[3], $arguments[4]);
  1055. jsStub = $function["call" + "$" + argumentCount];
  1056. if (jsStub != null)
  1057. return jsStub.apply($function, $arguments);
  1058. }
  1059. return H.Primitives__genericApplyFunction2($function, positionalArguments, namedArguments);
  1060. },
  1061. Primitives__genericApplyFunction2: function($function, positionalArguments, namedArguments) {
  1062. var $arguments, argumentCount, requiredParameterCount, defaultValuesClosure, t1, defaultValues, interceptor, jsFunction, keys, _i, used, t2;
  1063. if (positionalArguments != null)
  1064. $arguments = positionalArguments instanceof Array ? positionalArguments : P.List_List$from(positionalArguments, true, null);
  1065. else
  1066. $arguments = [];
  1067. argumentCount = $arguments.length;
  1068. requiredParameterCount = $function.$requiredArgCount;
  1069. if (argumentCount < requiredParameterCount)
  1070. return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
  1071. defaultValuesClosure = $function.$defaultValues;
  1072. t1 = defaultValuesClosure == null;
  1073. defaultValues = !t1 ? defaultValuesClosure() : null;
  1074. interceptor = J.getInterceptor$($function);
  1075. jsFunction = interceptor["call*"];
  1076. if (typeof jsFunction === "string")
  1077. jsFunction = interceptor[jsFunction];
  1078. if (t1) {
  1079. if (namedArguments != null && namedArguments.get$isNotEmpty(namedArguments))
  1080. return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
  1081. if (argumentCount === requiredParameterCount)
  1082. return jsFunction.apply($function, $arguments);
  1083. return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
  1084. }
  1085. if (defaultValues instanceof Array) {
  1086. if (namedArguments != null && namedArguments.get$isNotEmpty(namedArguments))
  1087. return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
  1088. if (argumentCount > requiredParameterCount + defaultValues.length)
  1089. return H.Primitives_functionNoSuchMethod($function, $arguments, null);
  1090. C.JSArray_methods.addAll$1($arguments, defaultValues.slice(argumentCount - requiredParameterCount));
  1091. return jsFunction.apply($function, $arguments);
  1092. } else {
  1093. if (argumentCount > requiredParameterCount)
  1094. return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
  1095. keys = Object.keys(defaultValues);
  1096. if (namedArguments == null)
  1097. for (t1 = keys.length, _i = 0; _i < keys.length; keys.length === t1 || (0, H.throwConcurrentModificationError)(keys), ++_i)
  1098. C.JSArray_methods.add$1($arguments, defaultValues[keys[_i]]);
  1099. else {
  1100. for (t1 = keys.length, used = 0, _i = 0; _i < keys.length; keys.length === t1 || (0, H.throwConcurrentModificationError)(keys), ++_i) {
  1101. t2 = keys[_i];
  1102. if (namedArguments.containsKey$1(t2)) {
  1103. ++used;
  1104. C.JSArray_methods.add$1($arguments, namedArguments.$index(0, t2));
  1105. } else
  1106. C.JSArray_methods.add$1($arguments, defaultValues[t2]);
  1107. }
  1108. if (used !== namedArguments.get$length(namedArguments))
  1109. return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
  1110. }
  1111. return jsFunction.apply($function, $arguments);
  1112. }
  1113. },
  1114. diagnoseIndexError: function(indexable, index) {
  1115. var $length, _s5_ = "index";
  1116. if (typeof index !== "number" || Math.floor(index) !== index)
  1117. return new P.ArgumentError(true, index, _s5_, null);
  1118. $length = J.get$length$asx(indexable);
  1119. if (index < 0 || index >= $length)
  1120. return P.IndexError$(index, indexable, _s5_, null, $length);
  1121. return P.RangeError$value(index, _s5_, null);
  1122. },
  1123. diagnoseRangeError: function(start, end, $length) {
  1124. var _s13_ = "Invalid value";
  1125. if (typeof start !== "number" || Math.floor(start) !== start)
  1126. return new P.ArgumentError(true, start, "start", null);
  1127. if (start < 0 || start > $length)
  1128. return new P.RangeError(0, $length, true, start, "start", _s13_);
  1129. if (end != null)
  1130. if (end < start || end > $length)
  1131. return new P.RangeError(start, $length, true, end, "end", _s13_);
  1132. return new P.ArgumentError(true, end, "end", null);
  1133. },
  1134. argumentErrorValue: function(object) {
  1135. return new P.ArgumentError(true, object, null, null);
  1136. },
  1137. checkNum: function(value) {
  1138. if (typeof value !== "number")
  1139. throw H.wrapException(H.argumentErrorValue(value));
  1140. return value;
  1141. },
  1142. wrapException: function(ex) {
  1143. var wrapper;
  1144. if (ex == null)
  1145. ex = new P.NullThrownError();
  1146. wrapper = new Error();
  1147. wrapper.dartException = ex;
  1148. if ("defineProperty" in Object) {
  1149. Object.defineProperty(wrapper, "message", {get: H.toStringWrapper});
  1150. wrapper.name = "";
  1151. } else
  1152. wrapper.toString = H.toStringWrapper;
  1153. return wrapper;
  1154. },
  1155. toStringWrapper: function() {
  1156. return J.toString$0$(this.dartException);
  1157. },
  1158. throwExpression: function(ex) {
  1159. throw H.wrapException(ex);
  1160. },
  1161. throwConcurrentModificationError: function(collection) {
  1162. throw H.wrapException(P.ConcurrentModificationError$(collection));
  1163. },
  1164. TypeErrorDecoder_extractPattern: function(message) {
  1165. var match, $arguments, argumentsExpr, expr, method, receiver;
  1166. message = H.quoteStringForRegExp(message.replace(String({}), '$receiver$'));
  1167. match = message.match(/\\\$[a-zA-Z]+\\\$/g);
  1168. if (match == null)
  1169. match = H.setRuntimeTypeInfo([], [P.String]);
  1170. $arguments = match.indexOf("\\$arguments\\$");
  1171. argumentsExpr = match.indexOf("\\$argumentsExpr\\$");
  1172. expr = match.indexOf("\\$expr\\$");
  1173. method = match.indexOf("\\$method\\$");
  1174. receiver = match.indexOf("\\$receiver\\$");
  1175. return new H.TypeErrorDecoder(message.replace(new RegExp('\\\\\\$arguments\\\\\\$', 'g'), '((?:x|[^x])*)').replace(new RegExp('\\\\\\$argumentsExpr\\\\\\$', 'g'), '((?:x|[^x])*)').replace(new RegExp('\\\\\\$expr\\\\\\$', 'g'), '((?:x|[^x])*)').replace(new RegExp('\\\\\\$method\\\\\\$', 'g'), '((?:x|[^x])*)').replace(new RegExp('\\\\\\$receiver\\\\\\$', 'g'), '((?:x|[^x])*)'), $arguments, argumentsExpr, expr, method, receiver);
  1176. },
  1177. TypeErrorDecoder_provokeCallErrorOn: function(expression) {
  1178. return function($expr$) {
  1179. var $argumentsExpr$ = '$arguments$';
  1180. try {
  1181. $expr$.$method$($argumentsExpr$);
  1182. } catch (e) {
  1183. return e.message;
  1184. }
  1185. }(expression);
  1186. },
  1187. TypeErrorDecoder_provokePropertyErrorOn: function(expression) {
  1188. return function($expr$) {
  1189. try {
  1190. $expr$.$method$;
  1191. } catch (e) {
  1192. return e.message;
  1193. }
  1194. }(expression);
  1195. },
  1196. NullError$: function(_message, match) {
  1197. return new H.NullError(_message, match == null ? null : match.method);
  1198. },
  1199. JsNoSuchMethodError$: function(_message, match) {
  1200. var t1 = match == null,
  1201. t2 = t1 ? null : match.method;
  1202. return new H.JsNoSuchMethodError(_message, t2, t1 ? null : match.receiver);
  1203. },
  1204. unwrapException: function(ex) {
  1205. var message, number, ieErrorCode, nsme, notClosure, nullCall, nullLiteralCall, undefCall, undefLiteralCall, nullProperty, undefProperty, undefLiteralProperty, match, t2, _null = null,
  1206. t1 = new H.unwrapException_saveStackTrace(ex);
  1207. if (ex == null)
  1208. return;
  1209. if (ex instanceof H.ExceptionAndStackTrace)
  1210. return t1.call$1(ex.dartException);
  1211. if (typeof ex !== "object")
  1212. return ex;
  1213. if ("dartException" in ex)
  1214. return t1.call$1(ex.dartException);
  1215. else if (!("message" in ex))
  1216. return ex;
  1217. message = ex.message;
  1218. if ("number" in ex && typeof ex.number == "number") {
  1219. number = ex.number;
  1220. ieErrorCode = number & 65535;
  1221. if ((C.JSInt_methods._shrOtherPositive$1(number, 16) & 8191) === 10)
  1222. switch (ieErrorCode) {
  1223. case 438:
  1224. return t1.call$1(H.JsNoSuchMethodError$(H.S(message) + " (Error " + ieErrorCode + ")", _null));
  1225. case 445:
  1226. case 5007:
  1227. return t1.call$1(H.NullError$(H.S(message) + " (Error " + ieErrorCode + ")", _null));
  1228. }
  1229. }
  1230. if (ex instanceof TypeError) {
  1231. nsme = $.$get$TypeErrorDecoder_noSuchMethodPattern();
  1232. notClosure = $.$get$TypeErrorDecoder_notClosurePattern();
  1233. nullCall = $.$get$TypeErrorDecoder_nullCallPattern();
  1234. nullLiteralCall = $.$get$TypeErrorDecoder_nullLiteralCallPattern();
  1235. undefCall = $.$get$TypeErrorDecoder_undefinedCallPattern();
  1236. undefLiteralCall = $.$get$TypeErrorDecoder_undefinedLiteralCallPattern();
  1237. nullProperty = $.$get$TypeErrorDecoder_nullPropertyPattern();
  1238. $.$get$TypeErrorDecoder_nullLiteralPropertyPattern();
  1239. undefProperty = $.$get$TypeErrorDecoder_undefinedPropertyPattern();
  1240. undefLiteralProperty = $.$get$TypeErrorDecoder_undefinedLiteralPropertyPattern();
  1241. match = nsme.matchTypeError$1(message);
  1242. if (match != null)
  1243. return t1.call$1(H.JsNoSuchMethodError$(message, match));
  1244. else {
  1245. match = notClosure.matchTypeError$1(message);
  1246. if (match != null) {
  1247. match.method = "call";
  1248. return t1.call$1(H.JsNoSuchMethodError$(message, match));
  1249. } else {
  1250. match = nullCall.matchTypeError$1(message);
  1251. if (match == null) {
  1252. match = nullLiteralCall.matchTypeError$1(message);
  1253. if (match == null) {
  1254. match = undefCall.matchTypeError$1(message);
  1255. if (match == null) {
  1256. match = undefLiteralCall.matchTypeError$1(message);
  1257. if (match == null) {
  1258. match = nullProperty.matchTypeError$1(message);
  1259. if (match == null) {
  1260. match = nullLiteralCall.matchTypeError$1(message);
  1261. if (match == null) {
  1262. match = undefProperty.matchTypeError$1(message);
  1263. if (match == null) {
  1264. match = undefLiteralProperty.matchTypeError$1(message);
  1265. t2 = match != null;
  1266. } else
  1267. t2 = true;
  1268. } else
  1269. t2 = true;
  1270. } else
  1271. t2 = true;
  1272. } else
  1273. t2 = true;
  1274. } else
  1275. t2 = true;
  1276. } else
  1277. t2 = true;
  1278. } else
  1279. t2 = true;
  1280. if (t2)
  1281. return t1.call$1(H.NullError$(message, match));
  1282. }
  1283. }
  1284. return t1.call$1(new H.UnknownJsTypeError(typeof message === "string" ? message : ""));
  1285. }
  1286. if (ex instanceof RangeError) {
  1287. if (typeof message === "string" && message.indexOf("call stack") !== -1)
  1288. return new P.StackOverflowError();
  1289. message = function(ex) {
  1290. try {
  1291. return String(ex);
  1292. } catch (e) {
  1293. }
  1294. return null;
  1295. }(ex);
  1296. return t1.call$1(new P.ArgumentError(false, _null, _null, typeof message === "string" ? message.replace(/^RangeError:\s*/, "") : message));
  1297. }
  1298. if (typeof InternalError == "function" && ex instanceof InternalError)
  1299. if (typeof message === "string" && message === "too much recursion")
  1300. return new P.StackOverflowError();
  1301. return ex;
  1302. },
  1303. getTraceFromException: function(exception) {
  1304. var trace;
  1305. if (exception instanceof H.ExceptionAndStackTrace)
  1306. return exception.stackTrace;
  1307. if (exception == null)
  1308. return new H._StackTrace(exception);
  1309. trace = exception.$cachedTrace;
  1310. if (trace != null)
  1311. return trace;
  1312. return exception.$cachedTrace = new H._StackTrace(exception);
  1313. },
  1314. objectHashCode: function(object) {
  1315. if (object == null || typeof object != 'object')
  1316. return J.get$hashCode$(object);
  1317. else
  1318. return H.Primitives_objectHashCode(object);
  1319. },
  1320. fillLiteralMap: function(keyValuePairs, result) {
  1321. var index, index0, index1,
  1322. $length = keyValuePairs.length;
  1323. for (index = 0; index < $length; index = index1) {
  1324. index0 = index + 1;
  1325. index1 = index0 + 1;
  1326. result.$indexSet(0, keyValuePairs[index], keyValuePairs[index0]);
  1327. }
  1328. return result;
  1329. },
  1330. fillLiteralSet: function(values, result) {
  1331. var index,
  1332. $length = values.length;
  1333. for (index = 0; index < $length; ++index)
  1334. result.add$1(0, values[index]);
  1335. return result;
  1336. },
  1337. invokeClosure: function(closure, numberOfArguments, arg1, arg2, arg3, arg4) {
  1338. switch (numberOfArguments) {
  1339. case 0:
  1340. return closure.call$0();
  1341. case 1:
  1342. return closure.call$1(arg1);
  1343. case 2:
  1344. return closure.call$2(arg1, arg2);
  1345. case 3:
  1346. return closure.call$3(arg1, arg2, arg3);
  1347. case 4:
  1348. return closure.call$4(arg1, arg2, arg3, arg4);
  1349. }
  1350. throw H.wrapException(new P._Exception("Unsupported number of arguments for wrapped closure"));
  1351. },
  1352. convertDartClosureToJS: function(closure, arity) {
  1353. var $function;
  1354. if (closure == null)
  1355. return;
  1356. $function = closure.$identity;
  1357. if (!!$function)
  1358. return $function;
  1359. $function = function(closure, arity, invoke) {
  1360. return function(a1, a2, a3, a4) {
  1361. return invoke(closure, arity, a1, a2, a3, a4);
  1362. };
  1363. }(closure, arity, H.invokeClosure);
  1364. closure.$identity = $function;
  1365. return $function;
  1366. },
  1367. Closure_fromTearOff: function(receiver, functions, applyTrampolineIndex, reflectionInfo, isStatic, isIntercepted, propertyName) {
  1368. var $constructor, t1, trampoline, signatureFunction, getReceiver, applyTrampoline, i, stub, stubCallName, _null = null,
  1369. $function = functions[0],
  1370. callName = $function.$callName,
  1371. $prototype = isStatic ? Object.create(new H.StaticClosure().constructor.prototype) : Object.create(new H.BoundClosure(_null, _null, _null, _null).constructor.prototype);
  1372. $prototype.$initialize = $prototype.constructor;
  1373. if (isStatic)
  1374. $constructor = function static_tear_off() {
  1375. this.$initialize();
  1376. };
  1377. else {
  1378. t1 = $.Closure_functionCounter;
  1379. $.Closure_functionCounter = t1 + 1;
  1380. t1 = new Function("a,b,c,d" + t1, "this.$initialize(a,b,c,d" + t1 + ")");
  1381. $constructor = t1;
  1382. }
  1383. $prototype.constructor = $constructor;
  1384. $constructor.prototype = $prototype;
  1385. if (!isStatic) {
  1386. trampoline = H.Closure_forwardCallTo(receiver, $function, isIntercepted);
  1387. trampoline.$reflectionInfo = reflectionInfo;
  1388. } else {
  1389. $prototype.$static_name = propertyName;
  1390. trampoline = $function;
  1391. }
  1392. if (typeof reflectionInfo == "number")
  1393. signatureFunction = function(getType, t) {
  1394. return function() {
  1395. return getType(t);
  1396. };
  1397. }(H.getType, reflectionInfo);
  1398. else if (typeof reflectionInfo == "function")
  1399. if (isStatic)
  1400. signatureFunction = reflectionInfo;
  1401. else {
  1402. getReceiver = isIntercepted ? H.BoundClosure_receiverOf : H.BoundClosure_selfOf;
  1403. signatureFunction = function(f, r) {
  1404. return function() {
  1405. return f.apply({$receiver: r(this)}, arguments);
  1406. };
  1407. }(reflectionInfo, getReceiver);
  1408. }
  1409. else
  1410. throw H.wrapException("Error in reflectionInfo.");
  1411. $prototype.$signature = signatureFunction;
  1412. $prototype[callName] = trampoline;
  1413. for (applyTrampoline = trampoline, i = 1; i < functions.length; ++i) {
  1414. stub = functions[i];
  1415. stubCallName = stub.$callName;
  1416. if (stubCallName != null) {
  1417. stub = isStatic ? stub : H.Closure_forwardCallTo(receiver, stub, isIntercepted);
  1418. $prototype[stubCallName] = stub;
  1419. }
  1420. if (i === applyTrampolineIndex) {
  1421. stub.$reflectionInfo = reflectionInfo;
  1422. applyTrampoline = stub;
  1423. }
  1424. }
  1425. $prototype["call*"] = applyTrampoline;
  1426. $prototype.$requiredArgCount = $function.$requiredArgCount;
  1427. $prototype.$defaultValues = $function.$defaultValues;
  1428. return $constructor;
  1429. },
  1430. Closure_cspForwardCall: function(arity, isSuperCall, stubName, $function) {
  1431. var getSelf = H.BoundClosure_selfOf;
  1432. switch (isSuperCall ? -1 : arity) {
  1433. case 0:
  1434. return function(n, S) {
  1435. return function() {
  1436. return S(this)[n]();
  1437. };
  1438. }(stubName, getSelf);
  1439. case 1:
  1440. return function(n, S) {
  1441. return function(a) {
  1442. return S(this)[n](a);
  1443. };
  1444. }(stubName, getSelf);
  1445. case 2:
  1446. return function(n, S) {
  1447. return function(a, b) {
  1448. return S(this)[n](a, b);
  1449. };
  1450. }(stubName, getSelf);
  1451. case 3:
  1452. return function(n, S) {
  1453. return function(a, b, c) {
  1454. return S(this)[n](a, b, c);
  1455. };
  1456. }(stubName, getSelf);
  1457. case 4:
  1458. return function(n, S) {
  1459. return function(a, b, c, d) {
  1460. return S(this)[n](a, b, c, d);
  1461. };
  1462. }(stubName, getSelf);
  1463. case 5:
  1464. return function(n, S) {
  1465. return function(a, b, c, d, e) {
  1466. return S(this)[n](a, b, c, d, e);
  1467. };
  1468. }(stubName, getSelf);
  1469. default:
  1470. return function(f, s) {
  1471. return function() {
  1472. return f.apply(s(this), arguments);
  1473. };
  1474. }($function, getSelf);
  1475. }
  1476. },
  1477. Closure_forwardCallTo: function(receiver, $function, isIntercepted) {
  1478. var stubName, arity, lookedUpFunction, t1, t2, selfName, $arguments;
  1479. if (isIntercepted)
  1480. return H.Closure_forwardInterceptedCallTo(receiver, $function);
  1481. stubName = $function.$stubName;
  1482. arity = $function.length;
  1483. lookedUpFunction = receiver[stubName];
  1484. t1 = $function == null ? lookedUpFunction == null : $function === lookedUpFunction;
  1485. t2 = !t1 || arity >= 27;
  1486. if (t2)
  1487. return H.Closure_cspForwardCall(arity, !t1, stubName, $function);
  1488. if (arity === 0) {
  1489. t1 = $.Closure_functionCounter;
  1490. $.Closure_functionCounter = t1 + 1;
  1491. selfName = "self" + H.S(t1);
  1492. t1 = "return function(){var " + selfName + " = this.";
  1493. t2 = $.BoundClosure_selfFieldNameCache;
  1494. return new Function(t1 + H.S(t2 == null ? $.BoundClosure_selfFieldNameCache = H.BoundClosure_computeFieldNamed("self") : t2) + ";return " + selfName + "." + H.S(stubName) + "();}")();
  1495. }
  1496. $arguments = "abcdefghijklmnopqrstuvwxyz".split("").splice(0, arity).join(",");
  1497. t1 = $.Closure_functionCounter;
  1498. $.Closure_functionCounter = t1 + 1;
  1499. $arguments += H.S(t1);
  1500. t1 = "return function(" + $arguments + "){return this.";
  1501. t2 = $.BoundClosure_selfFieldNameCache;
  1502. return new Function(t1 + H.S(t2 == null ? $.BoundClosure_selfFieldNameCache = H.BoundClosure_computeFieldNamed("self") : t2) + "." + H.S(stubName) + "(" + $arguments + ");}")();
  1503. },
  1504. Closure_cspForwardInterceptedCall: function(arity, isSuperCall, $name, $function) {
  1505. var getSelf = H.BoundClosure_selfOf,
  1506. getReceiver = H.BoundClosure_receiverOf;
  1507. switch (isSuperCall ? -1 : arity) {
  1508. case 0:
  1509. throw H.wrapException(H.RuntimeError$("Intercepted function with no arguments."));
  1510. case 1:
  1511. return function(n, s, r) {
  1512. return function() {
  1513. return s(this)[n](r(this));
  1514. };
  1515. }($name, getSelf, getReceiver);
  1516. case 2:
  1517. return function(n, s, r) {
  1518. return function(a) {
  1519. return s(this)[n](r(this), a);
  1520. };
  1521. }($name, getSelf, getReceiver);
  1522. case 3:
  1523. return function(n, s, r) {
  1524. return function(a, b) {
  1525. return s(this)[n](r(this), a, b);
  1526. };
  1527. }($name, getSelf, getReceiver);
  1528. case 4:
  1529. return function(n, s, r) {
  1530. return function(a, b, c) {
  1531. return s(this)[n](r(this), a, b, c);
  1532. };
  1533. }($name, getSelf, getReceiver);
  1534. case 5:
  1535. return function(n, s, r) {
  1536. return function(a, b, c, d) {
  1537. return s(this)[n](r(this), a, b, c, d);
  1538. };
  1539. }($name, getSelf, getReceiver);
  1540. case 6:
  1541. return function(n, s, r) {
  1542. return function(a, b, c, d, e) {
  1543. return s(this)[n](r(this), a, b, c, d, e);
  1544. };
  1545. }($name, getSelf, getReceiver);
  1546. default:
  1547. return function(f, s, r, a) {
  1548. return function() {
  1549. a = [r(this)];
  1550. Array.prototype.push.apply(a, arguments);
  1551. return f.apply(s(this), a);
  1552. };
  1553. }($function, getSelf, getReceiver);
  1554. }
  1555. },
  1556. Closure_forwardInterceptedCallTo: function(receiver, $function) {
  1557. var t2, stubName, arity, lookedUpFunction, t3, t4, $arguments,
  1558. t1 = $.BoundClosure_selfFieldNameCache;
  1559. if (t1 == null)
  1560. t1 = $.BoundClosure_selfFieldNameCache = H.BoundClosure_computeFieldNamed("self");
  1561. t2 = $.BoundClosure_receiverFieldNameCache;
  1562. if (t2 == null)
  1563. t2 = $.BoundClosure_receiverFieldNameCache = H.BoundClosure_computeFieldNamed("receiver");
  1564. stubName = $function.$stubName;
  1565. arity = $function.length;
  1566. lookedUpFunction = receiver[stubName];
  1567. t3 = $function == null ? lookedUpFunction == null : $function === lookedUpFunction;
  1568. t4 = !t3 || arity >= 28;
  1569. if (t4)
  1570. return H.Closure_cspForwardInterceptedCall(arity, !t3, stubName, $function);
  1571. if (arity === 1) {
  1572. t1 = "return function(){return this." + H.S(t1) + "." + H.S(stubName) + "(this." + H.S(t2) + ");";
  1573. t2 = $.Closure_functionCounter;
  1574. $.Closure_functionCounter = t2 + 1;
  1575. return new Function(t1 + H.S(t2) + "}")();
  1576. }
  1577. $arguments = "abcdefghijklmnopqrstuvwxyz".split("").splice(0, arity - 1).join(",");
  1578. t1 = "return function(" + $arguments + "){return this." + H.S(t1) + "." + H.S(stubName) + "(this." + H.S(t2) + ", " + $arguments + ");";
  1579. t2 = $.Closure_functionCounter;
  1580. $.Closure_functionCounter = t2 + 1;
  1581. return new Function(t1 + H.S(t2) + "}")();
  1582. },
  1583. closureFromTearOff: function(receiver, functions, applyTrampolineIndex, reflectionInfo, isStatic, isIntercepted, $name) {
  1584. return H.Closure_fromTearOff(receiver, functions, applyTrampolineIndex, reflectionInfo, !!isStatic, !!isIntercepted, $name);
  1585. },
  1586. BoundClosure_selfOf: function(closure) {
  1587. return closure._self;
  1588. },
  1589. BoundClosure_receiverOf: function(closure) {
  1590. return closure.__js_helper$_receiver;
  1591. },
  1592. BoundClosure_computeFieldNamed: function(fieldName) {
  1593. var t1, i, $name,
  1594. template = new H.BoundClosure("self", "target", "receiver", "name"),
  1595. names = J.JSArray_markFixedList(Object.getOwnPropertyNames(template));
  1596. for (t1 = names.length, i = 0; i < t1; ++i) {
  1597. $name = names[i];
  1598. if (template[$name] === fieldName)
  1599. return $name;
  1600. }
  1601. },
  1602. stringTypeCast: function(value) {
  1603. if (typeof value === "string" || value == null)
  1604. return value;
  1605. throw H.wrapException(H.CastErrorImplementation$(value, "String"));
  1606. },
  1607. boolTypeCast: function(value) {
  1608. if (typeof value === "boolean" || value == null)
  1609. return value;
  1610. throw H.wrapException(H.CastErrorImplementation$(value, "bool"));
  1611. },
  1612. intTypeCast: function(value) {
  1613. if (typeof value === "number" && Math.floor(value) === value || value == null)
  1614. return value;
  1615. throw H.wrapException(H.CastErrorImplementation$(value, "int"));
  1616. },
  1617. propertyTypeCastError: function(value, property) {
  1618. throw H.wrapException(H.CastErrorImplementation$(value, H.unminifyOrTag(property.substring(3))));
  1619. },
  1620. interceptedTypeCast: function(value, property) {
  1621. var t1;
  1622. if (value != null)
  1623. t1 = (typeof value === "object" || typeof value === "function") && J.getInterceptor$(value)[property];
  1624. else
  1625. t1 = true;
  1626. if (t1)
  1627. return value;
  1628. H.propertyTypeCastError(value, property);
  1629. },
  1630. numberOrStringSuperNativeTypeCast: function(value, property) {
  1631. if (value == null)
  1632. return value;
  1633. if (typeof value === "string")
  1634. return value;
  1635. if (typeof value === "number")
  1636. return value;
  1637. if (J.getInterceptor$(value)[property])
  1638. return value;
  1639. H.propertyTypeCastError(value, property);
  1640. },
  1641. extractFunctionTypeObjectFromInternal: function(o) {
  1642. var signature;
  1643. if ("$signature" in o) {
  1644. signature = o.$signature;
  1645. if (typeof signature == "number")
  1646. return init.types[signature];
  1647. else
  1648. return o.$signature();
  1649. }
  1650. return;
  1651. },
  1652. functionTypeTest: function(value, functionTypeRti) {
  1653. var functionTypeObject;
  1654. if (typeof value == "function")
  1655. return true;
  1656. functionTypeObject = H.extractFunctionTypeObjectFromInternal(J.getInterceptor$(value));
  1657. if (functionTypeObject == null)
  1658. return false;
  1659. return H._isFunctionSubtype(functionTypeObject, null, functionTypeRti, null);
  1660. },
  1661. CastErrorImplementation$: function(value, type) {
  1662. return new H.CastErrorImplementation("CastError: " + P.Error_safeToString(value) + ": type '" + H._typeDescription(value) + "' is not a subtype of type '" + type + "'");
  1663. },
  1664. _typeDescription: function(value) {
  1665. var functionTypeObject,
  1666. t1 = J.getInterceptor$(value);
  1667. if (!!t1.$isClosure) {
  1668. functionTypeObject = H.extractFunctionTypeObjectFromInternal(t1);
  1669. if (functionTypeObject != null)
  1670. return H.runtimeTypeToString(functionTypeObject);
  1671. return "Closure";
  1672. }
  1673. return H.Primitives_objectTypeName(value);
  1674. },
  1675. throwCyclicInit: function(staticName) {
  1676. throw H.wrapException(new P.CyclicInitializationError(staticName));
  1677. },
  1678. RuntimeError$: function(message) {
  1679. return new H.RuntimeError(message);
  1680. },
  1681. getIsolateAffinityTag: function($name) {
  1682. return init.getIsolateTag($name);
  1683. },
  1684. setRuntimeTypeInfo: function(target, rti) {
  1685. target.$ti = rti;
  1686. return target;
  1687. },
  1688. getRuntimeTypeInfo: function(target) {
  1689. if (target == null)
  1690. return;
  1691. return target.$ti;
  1692. },
  1693. getRuntimeTypeArguments: function(interceptor, object, substitutionName) {
  1694. return H.substitute(interceptor["$as" + H.S(substitutionName)], H.getRuntimeTypeInfo(object));
  1695. },
  1696. getRuntimeTypeArgumentIntercepted: function(interceptor, target, substitutionName, index) {
  1697. var $arguments = H.substitute(interceptor["$as" + H.S(substitutionName)], H.getRuntimeTypeInfo(target));
  1698. return $arguments == null ? null : $arguments[index];
  1699. },
  1700. getRuntimeTypeArgument: function(target, substitutionName, index) {
  1701. var $arguments = H.substitute(target["$as" + H.S(substitutionName)], H.getRuntimeTypeInfo(target));
  1702. return $arguments == null ? null : $arguments[index];
  1703. },
  1704. getTypeArgumentByIndex: function(target, index) {
  1705. var rti = H.getRuntimeTypeInfo(target);
  1706. return rti == null ? null : rti[index];
  1707. },
  1708. runtimeTypeToString: function(rti) {
  1709. return H._runtimeTypeToString(rti, null);
  1710. },
  1711. _runtimeTypeToString: function(rti, genericContext) {
  1712. if (rti == null)
  1713. return "dynamic";
  1714. if (rti === -1)
  1715. return "void";
  1716. if (typeof rti === "object" && rti !== null && rti.constructor === Array)
  1717. return H.unminifyOrTag(rti[0].name) + H._joinArguments(rti, 1, genericContext);
  1718. if (typeof rti == "function")
  1719. return H.unminifyOrTag(rti.name);
  1720. if (rti === -2)
  1721. return "dynamic";
  1722. if (typeof rti === "number") {
  1723. if (genericContext == null || rti < 0 || rti >= genericContext.length)
  1724. return "unexpected-generic-index:" + H.S(rti);
  1725. return H.S(genericContext[genericContext.length - rti - 1]);
  1726. }
  1727. if ('func' in rti)
  1728. return H._functionRtiToString(rti, genericContext);
  1729. if ('futureOr' in rti)
  1730. return "FutureOr<" + H._runtimeTypeToString("type" in rti ? rti.type : null, genericContext) + ">";
  1731. return "unknown-reified-type";
  1732. },
  1733. _functionRtiToString: function(rti, genericContext) {
  1734. var boundsRti, outerContextLength, offset, i, i0, typeParameters, typeSep, boundRti, returnTypeText, $arguments, t1, argumentsText, sep, _i, argument, optionalArguments, namedArguments, t2, t3, _s2_ = ", ";
  1735. if ("bounds" in rti) {
  1736. boundsRti = rti.bounds;
  1737. if (genericContext == null) {
  1738. genericContext = H.setRuntimeTypeInfo([], [P.String]);
  1739. outerContextLength = null;
  1740. } else
  1741. outerContextLength = genericContext.length;
  1742. offset = genericContext.length;
  1743. for (i = boundsRti.length, i0 = i; i0 > 0; --i0)
  1744. genericContext.push("T" + (offset + i0));
  1745. for (typeParameters = "<", typeSep = "", i0 = 0; i0 < i; ++i0, typeSep = _s2_) {
  1746. typeParameters = C.JSString_methods.$add(typeParameters + typeSep, genericContext[genericContext.length - i0 - 1]);
  1747. boundRti = boundsRti[i0];
  1748. if (boundRti != null && boundRti !== P.Object)
  1749. typeParameters += " extends " + H._runtimeTypeToString(boundRti, genericContext);
  1750. }
  1751. typeParameters += ">";
  1752. } else {
  1753. typeParameters = "";
  1754. outerContextLength = null;
  1755. }
  1756. returnTypeText = !!rti.v ? "void" : H._runtimeTypeToString(rti.ret, genericContext);
  1757. if ("args" in rti) {
  1758. $arguments = rti.args;
  1759. for (t1 = $arguments.length, argumentsText = "", sep = "", _i = 0; _i < t1; ++_i, sep = _s2_) {
  1760. argument = $arguments[_i];
  1761. argumentsText = argumentsText + sep + H._runtimeTypeToString(argument, genericContext);
  1762. }
  1763. } else {
  1764. argumentsText = "";
  1765. sep = "";
  1766. }
  1767. if ("opt" in rti) {
  1768. optionalArguments = rti.opt;
  1769. argumentsText += sep + "[";
  1770. for (t1 = optionalArguments.length, sep = "", _i = 0; _i < t1; ++_i, sep = _s2_) {
  1771. argument = optionalArguments[_i];
  1772. argumentsText = argumentsText + sep + H._runtimeTypeToString(argument, genericContext);
  1773. }
  1774. argumentsText += "]";
  1775. }
  1776. if ("named" in rti) {
  1777. namedArguments = rti.named;
  1778. argumentsText += sep + "{";
  1779. for (t1 = H.extractKeys(namedArguments), t2 = t1.length, sep = "", _i = 0; _i < t2; ++_i, sep = _s2_) {
  1780. t3 = t1[_i];
  1781. argumentsText = argumentsText + sep + H._runtimeTypeToString(namedArguments[t3], genericContext) + (" " + H.S(t3));
  1782. }
  1783. argumentsText += "}";
  1784. }
  1785. if (outerContextLength != null)
  1786. genericContext.length = outerContextLength;
  1787. return typeParameters + "(" + argumentsText + ") => " + returnTypeText;
  1788. },
  1789. _joinArguments: function(types, startIndex, genericContext) {
  1790. var buffer, index, separator, allDynamic, t1, argument;
  1791. if (types == null)
  1792. return "";
  1793. buffer = new P.StringBuffer("");
  1794. for (index = startIndex, separator = "", allDynamic = true, t1 = ""; index < types.length; ++index, separator = ", ") {
  1795. buffer._contents = t1 + separator;
  1796. argument = types[index];
  1797. if (argument != null)
  1798. allDynamic = false;
  1799. t1 = buffer._contents += H._runtimeTypeToString(argument, genericContext);
  1800. }
  1801. return "<" + buffer.toString$0(0) + ">";
  1802. },
  1803. getRti: function(o) {
  1804. var functionRti, type, rti,
  1805. t1 = J.getInterceptor$(o);
  1806. if (!!t1.$isClosure) {
  1807. functionRti = H.extractFunctionTypeObjectFromInternal(t1);
  1808. if (functionRti != null)
  1809. return functionRti;
  1810. }
  1811. type = t1.constructor;
  1812. if (typeof o != "object")
  1813. return type;
  1814. rti = H.getRuntimeTypeInfo(o);
  1815. if (rti != null) {
  1816. rti = rti.slice();
  1817. rti.splice(0, 0, type);
  1818. type = rti;
  1819. }
  1820. return type;
  1821. },
  1822. getRuntimeType: function(object) {
  1823. return new H.TypeImpl(H.getRti(object));
  1824. },
  1825. substitute: function(substitution, $arguments) {
  1826. if (substitution == null)
  1827. return $arguments;
  1828. substitution = substitution.apply(null, $arguments);
  1829. if (substitution == null)
  1830. return;
  1831. if (typeof substitution === "object" && substitution !== null && substitution.constructor === Array)
  1832. return substitution;
  1833. if (typeof substitution == "function")
  1834. return substitution.apply(null, $arguments);
  1835. return $arguments;
  1836. },
  1837. checkSubtype: function(object, isField, checks, asField) {
  1838. var $arguments, interceptor;
  1839. if (object == null)
  1840. return false;
  1841. $arguments = H.getRuntimeTypeInfo(object);
  1842. interceptor = J.getInterceptor$(object);
  1843. if (interceptor[isField] == null)
  1844. return false;
  1845. return H.areSubtypes(H.substitute(interceptor[asField], $arguments), null, checks, null);
  1846. },
  1847. subtypeCast: function(object, isField, checks, asField) {
  1848. if (object == null)
  1849. return object;
  1850. if (H.checkSubtype(object, isField, checks, asField))
  1851. return object;
  1852. throw H.wrapException(H.CastErrorImplementation$(object, function(str, names) {
  1853. return str.replace(/[^<,> ]+/g, function(m) {
  1854. return names[m] || m;
  1855. });
  1856. }(H.unminifyOrTag(isField.substring(3)) + H._joinArguments(checks, 0, null), init.mangledGlobalNames)));
  1857. },
  1858. areSubtypes: function(s, sEnv, t, tEnv) {
  1859. var len, i;
  1860. if (t == null)
  1861. return true;
  1862. if (s == null) {
  1863. len = t.length;
  1864. for (i = 0; i < len; ++i)
  1865. if (!H._isSubtype(null, null, t[i], tEnv))
  1866. return false;
  1867. return true;
  1868. }
  1869. len = s.length;
  1870. for (i = 0; i < len; ++i)
  1871. if (!H._isSubtype(s[i], sEnv, t[i], tEnv))
  1872. return false;
  1873. return true;
  1874. },
  1875. computeSignature: function(signature, context, contextName) {
  1876. return signature.apply(context, H.substitute(J.getInterceptor$(context)["$as" + H.S(contextName)], H.getRuntimeTypeInfo(context)));
  1877. },
  1878. isSupertypeOfNullRecursive: function(type) {
  1879. var typeArgument;
  1880. if (typeof type === "number")
  1881. return false;
  1882. if ('futureOr' in type) {
  1883. typeArgument = "type" in type ? type.type : null;
  1884. return type == null || type.name === "Object" || type.name === "Null" || type === -1 || type === -2 || H.isSupertypeOfNullRecursive(typeArgument);
  1885. }
  1886. return false;
  1887. },
  1888. checkSubtypeOfRuntimeType: function(o, t) {
  1889. var type, rti;
  1890. if (o == null)
  1891. return t == null || t.name === "Object" || t.name === "Null" || t === -1 || t === -2 || H.isSupertypeOfNullRecursive(t);
  1892. if (t == null || t === -1 || t.name === "Object" || t === -2)
  1893. return true;
  1894. if (typeof t == "object") {
  1895. if ('futureOr' in t)
  1896. if (H.checkSubtypeOfRuntimeType(o, "type" in t ? t.type : null))
  1897. return true;
  1898. if ('func' in t)
  1899. return H.functionTypeTest(o, t);
  1900. }
  1901. type = J.getInterceptor$(o).constructor;
  1902. rti = H.getRuntimeTypeInfo(o);
  1903. if (rti != null) {
  1904. rti = rti.slice();
  1905. rti.splice(0, 0, type);
  1906. type = rti;
  1907. }
  1908. return H._isSubtype(type, null, t, null);
  1909. },
  1910. subtypeOfRuntimeTypeCast: function(object, type) {
  1911. if (object != null && !H.checkSubtypeOfRuntimeType(object, type))
  1912. throw H.wrapException(H.CastErrorImplementation$(object, H.runtimeTypeToString(type)));
  1913. return object;
  1914. },
  1915. _isSubtype: function(s, sEnv, t, tEnv) {
  1916. var t1, typeOfS, tTypeArgument, futureSubstitution, futureArguments, t2, typeOfT, typeOfTString, substitution, _null = null;
  1917. if (s === t)
  1918. return true;
  1919. if (t == null || t === -1 || t.name === "Object" || t === -2)
  1920. return true;
  1921. if (s === -2)
  1922. return true;
  1923. if (s == null || s === -1 || s.name === "Object" || s === -2) {
  1924. if (typeof t === "number")
  1925. return false;
  1926. if ('futureOr' in t)
  1927. return H._isSubtype(s, sEnv, "type" in t ? t.type : _null, tEnv);
  1928. return false;
  1929. }
  1930. if (typeof s === "number")
  1931. return false;
  1932. if (typeof t === "number")
  1933. return false;
  1934. if (s.name === "Null")
  1935. return true;
  1936. if ('func' in t)
  1937. return H._isFunctionSubtype(s, sEnv, t, tEnv);
  1938. if ('func' in s)
  1939. return t.name === "Function";
  1940. t1 = typeof s === "object" && s !== null && s.constructor === Array;
  1941. typeOfS = t1 ? s[0] : s;
  1942. if ('futureOr' in t) {
  1943. tTypeArgument = "type" in t ? t.type : _null;
  1944. if ('futureOr' in s)
  1945. return H._isSubtype("type" in s ? s.type : _null, sEnv, tTypeArgument, tEnv);
  1946. else if (H._isSubtype(s, sEnv, tTypeArgument, tEnv))
  1947. return true;
  1948. else {
  1949. if (!('$is' + "Future" in typeOfS.prototype))
  1950. return false;
  1951. futureSubstitution = typeOfS.prototype["$as" + "Future"];
  1952. futureArguments = H.substitute(futureSubstitution, t1 ? s.slice(1) : _null);
  1953. return H._isSubtype(typeof futureArguments === "object" && futureArguments !== null && futureArguments.constructor === Array ? futureArguments[0] : _null, sEnv, tTypeArgument, tEnv);
  1954. }
  1955. }
  1956. t2 = typeof t === "object" && t !== null && t.constructor === Array;
  1957. typeOfT = t2 ? t[0] : t;
  1958. if (typeOfT !== typeOfS) {
  1959. typeOfTString = typeOfT.name;
  1960. if (!('$is' + typeOfTString in typeOfS.prototype))
  1961. return false;
  1962. substitution = typeOfS.prototype["$as" + typeOfTString];
  1963. } else
  1964. substitution = _null;
  1965. if (!t2)
  1966. return true;
  1967. t1 = t1 ? s.slice(1) : _null;
  1968. t2 = t.slice(1);
  1969. return H.areSubtypes(H.substitute(substitution, t1), sEnv, t2, tEnv);
  1970. },
  1971. _isFunctionSubtype: function(s, sEnv, t, tEnv) {
  1972. var sBounds, tBounds, sParameterTypes, tParameterTypes, sOptionalParameterTypes, tOptionalParameterTypes, sParametersLen, tParametersLen, sOptionalParametersLen, tOptionalParametersLen, pos, tPos, sPos, sNamedParameters, tNamedParameters;
  1973. if (!('func' in s))
  1974. return false;
  1975. if ("bounds" in s) {
  1976. if (!("bounds" in t))
  1977. return false;
  1978. sBounds = s.bounds;
  1979. tBounds = t.bounds;
  1980. if (sBounds.length !== tBounds.length)
  1981. return false;
  1982. } else if ("bounds" in t)
  1983. return false;
  1984. if (!H._isSubtype(s.ret, sEnv, t.ret, tEnv))
  1985. return false;
  1986. sParameterTypes = s.args;
  1987. tParameterTypes = t.args;
  1988. sOptionalParameterTypes = s.opt;
  1989. tOptionalParameterTypes = t.opt;
  1990. sParametersLen = sParameterTypes != null ? sParameterTypes.length : 0;
  1991. tParametersLen = tParameterTypes != null ? tParameterTypes.length : 0;
  1992. sOptionalParametersLen = sOptionalParameterTypes != null ? sOptionalParameterTypes.length : 0;
  1993. tOptionalParametersLen = tOptionalParameterTypes != null ? tOptionalParameterTypes.length : 0;
  1994. if (sParametersLen > tParametersLen)
  1995. return false;
  1996. if (sParametersLen + sOptionalParametersLen < tParametersLen + tOptionalParametersLen)
  1997. return false;
  1998. for (pos = 0; pos < sParametersLen; ++pos)
  1999. if (!H._isSubtype(tParameterTypes[pos], tEnv, sParameterTypes[pos], sEnv))
  2000. return false;
  2001. for (tPos = pos, sPos = 0; tPos < tParametersLen; ++sPos, ++tPos)
  2002. if (!H._isSubtype(tParameterTypes[tPos], tEnv, sOptionalParameterTypes[sPos], sEnv))
  2003. return false;
  2004. for (tPos = 0; tPos < tOptionalParametersLen; ++sPos, ++tPos)
  2005. if (!H._isSubtype(tOptionalParameterTypes[tPos], tEnv, sOptionalParameterTypes[sPos], sEnv))
  2006. return false;
  2007. sNamedParameters = s.named;
  2008. tNamedParameters = t.named;
  2009. if (tNamedParameters == null)
  2010. return true;
  2011. if (sNamedParameters == null)
  2012. return false;
  2013. return H.namedParametersSubtypeCheck(sNamedParameters, sEnv, tNamedParameters, tEnv);
  2014. },
  2015. namedParametersSubtypeCheck: function(s, sEnv, t, tEnv) {
  2016. var t1, i, $name,
  2017. names = Object.getOwnPropertyNames(t);
  2018. for (t1 = names.length, i = 0; i < t1; ++i) {
  2019. $name = names[i];
  2020. if (!Object.hasOwnProperty.call(s, $name))
  2021. return false;
  2022. if (!H._isSubtype(t[$name], tEnv, s[$name], sEnv))
  2023. return false;
  2024. }
  2025. return true;
  2026. },
  2027. instantiatedGenericFunctionType: function(genericFunctionRti, parameters) {
  2028. if (genericFunctionRti == null)
  2029. return;
  2030. return H.finishBindInstantiatedFunctionType(genericFunctionRti, {func: 1}, parameters, 0);
  2031. },
  2032. finishBindInstantiatedFunctionType: function(rti, result, parameters, depth) {
  2033. var namedParameters, boundNamed, names, t1, _i, $name;
  2034. if ("v" in rti)
  2035. result.v = rti.v;
  2036. else if ("ret" in rti)
  2037. result.ret = H.bindInstantiatedType(rti.ret, parameters, depth);
  2038. if ("args" in rti)
  2039. result.args = H.bindInstantiatedTypes(rti.args, parameters, depth);
  2040. if ("opt" in rti)
  2041. result.opt = H.bindInstantiatedTypes(rti.opt, parameters, depth);
  2042. if ("named" in rti) {
  2043. namedParameters = rti.named;
  2044. boundNamed = {};
  2045. names = Object.keys(namedParameters);
  2046. for (t1 = names.length, _i = 0; _i < t1; ++_i) {
  2047. $name = names[_i];
  2048. boundNamed[$name] = H.bindInstantiatedType(namedParameters[$name], parameters, depth);
  2049. }
  2050. result.named = boundNamed;
  2051. }
  2052. return result;
  2053. },
  2054. bindInstantiatedType: function(rti, parameters, depth) {
  2055. var result, bounds;
  2056. if (rti == null)
  2057. return rti;
  2058. if (rti === -1)
  2059. return rti;
  2060. if (typeof rti == "function")
  2061. return rti;
  2062. if (typeof rti === "number") {
  2063. if (rti < depth)
  2064. return rti;
  2065. return parameters[rti - depth];
  2066. }
  2067. if (typeof rti === "object" && rti !== null && rti.constructor === Array)
  2068. return H.bindInstantiatedTypes(rti, parameters, depth);
  2069. if ('func' in rti) {
  2070. result = {func: 1};
  2071. if ("bounds" in rti) {
  2072. bounds = rti.bounds;
  2073. depth += bounds.length;
  2074. result.bounds = H.bindInstantiatedTypes(bounds, parameters, depth);
  2075. }
  2076. return H.finishBindInstantiatedFunctionType(rti, result, parameters, depth);
  2077. }
  2078. throw H.wrapException(P.ArgumentError$("Unknown RTI format in bindInstantiatedType."));
  2079. },
  2080. bindInstantiatedTypes: function(rti, parameters, depth) {
  2081. var t1, i,
  2082. array = rti.slice();
  2083. for (t1 = array.length, i = 0; i < t1; ++i)
  2084. array[i] = H.bindInstantiatedType(array[i], parameters, depth);
  2085. return array;
  2086. },
  2087. defineProperty: function(obj, property, value) {
  2088. Object.defineProperty(obj, property, {value: value, enumerable: false, writable: true, configurable: true});
  2089. },
  2090. lookupAndCacheInterceptor: function(obj) {
  2091. var interceptor, interceptorClass, mark, t1,
  2092. tag = $.getTagFunction.call$1(obj),
  2093. record = $.dispatchRecordsForInstanceTags[tag];
  2094. if (record != null) {
  2095. Object.defineProperty(obj, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true});
  2096. return record.i;
  2097. }
  2098. interceptor = $.interceptorsForUncacheableTags[tag];
  2099. if (interceptor != null)
  2100. return interceptor;
  2101. interceptorClass = init.interceptorsByTag[tag];
  2102. if (interceptorClass == null) {
  2103. tag = $.alternateTagFunction.call$2(obj, tag);
  2104. if (tag != null) {
  2105. record = $.dispatchRecordsForInstanceTags[tag];
  2106. if (record != null) {
  2107. Object.defineProperty(obj, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true});
  2108. return record.i;
  2109. }
  2110. interceptor = $.interceptorsForUncacheableTags[tag];
  2111. if (interceptor != null)
  2112. return interceptor;
  2113. interceptorClass = init.interceptorsByTag[tag];
  2114. }
  2115. }
  2116. if (interceptorClass == null)
  2117. return;
  2118. interceptor = interceptorClass.prototype;
  2119. mark = tag[0];
  2120. if (mark === "!") {
  2121. record = H.makeLeafDispatchRecord(interceptor);
  2122. $.dispatchRecordsForInstanceTags[tag] = record;
  2123. Object.defineProperty(obj, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true});
  2124. return record.i;
  2125. }
  2126. if (mark === "~") {
  2127. $.interceptorsForUncacheableTags[tag] = interceptor;
  2128. return interceptor;
  2129. }
  2130. if (mark === "-") {
  2131. t1 = H.makeLeafDispatchRecord(interceptor);
  2132. Object.defineProperty(Object.getPrototypeOf(obj), init.dispatchPropertyName, {value: t1, enumerable: false, writable: true, configurable: true});
  2133. return t1.i;
  2134. }
  2135. if (mark === "+")
  2136. return H.patchInteriorProto(obj, interceptor);
  2137. if (mark === "*")
  2138. throw H.wrapException(P.UnimplementedError$(tag));
  2139. if (init.leafTags[tag] === true) {
  2140. t1 = H.makeLeafDispatchRecord(interceptor);
  2141. Object.defineProperty(Object.getPrototypeOf(obj), init.dispatchPropertyName, {value: t1, enumerable: false, writable: true, configurable: true});
  2142. return t1.i;
  2143. } else
  2144. return H.patchInteriorProto(obj, interceptor);
  2145. },
  2146. patchInteriorProto: function(obj, interceptor) {
  2147. var proto = Object.getPrototypeOf(obj);
  2148. Object.defineProperty(proto, init.dispatchPropertyName, {value: J.makeDispatchRecord(interceptor, proto, null, null), enumerable: false, writable: true, configurable: true});
  2149. return interceptor;
  2150. },
  2151. makeLeafDispatchRecord: function(interceptor) {
  2152. return J.makeDispatchRecord(interceptor, false, null, !!interceptor.$isJavaScriptIndexingBehavior);
  2153. },
  2154. makeDefaultDispatchRecord: function(tag, interceptorClass, proto) {
  2155. var interceptor = interceptorClass.prototype;
  2156. if (init.leafTags[tag] === true)
  2157. return H.makeLeafDispatchRecord(interceptor);
  2158. else
  2159. return J.makeDispatchRecord(interceptor, proto, null, null);
  2160. },
  2161. initNativeDispatch: function() {
  2162. if (true === $.initNativeDispatchFlag)
  2163. return;
  2164. $.initNativeDispatchFlag = true;
  2165. H.initNativeDispatchContinue();
  2166. },
  2167. initNativeDispatchContinue: function() {
  2168. var map, tags, fun, i, tag, proto, record, interceptorClass;
  2169. $.dispatchRecordsForInstanceTags = Object.create(null);
  2170. $.interceptorsForUncacheableTags = Object.create(null);
  2171. H.initHooks();
  2172. map = init.interceptorsByTag;
  2173. tags = Object.getOwnPropertyNames(map);
  2174. if (typeof window != "undefined") {
  2175. window;
  2176. fun = function() {
  2177. };
  2178. for (i = 0; i < tags.length; ++i) {
  2179. tag = tags[i];
  2180. proto = $.prototypeForTagFunction.call$1(tag);
  2181. if (proto != null) {
  2182. record = H.makeDefaultDispatchRecord(tag, map[tag], proto);
  2183. if (record != null) {
  2184. Object.defineProperty(proto, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true});
  2185. fun.prototype = proto;
  2186. }
  2187. }
  2188. }
  2189. }
  2190. for (i = 0; i < tags.length; ++i) {
  2191. tag = tags[i];
  2192. if (/^[A-Za-z_]/.test(tag)) {
  2193. interceptorClass = map[tag];
  2194. map["!" + tag] = interceptorClass;
  2195. map["~" + tag] = interceptorClass;
  2196. map["-" + tag] = interceptorClass;
  2197. map["+" + tag] = interceptorClass;
  2198. map["*" + tag] = interceptorClass;
  2199. }
  2200. }
  2201. },
  2202. initHooks: function() {
  2203. var transformers, i, transformer, getTag, getUnknownTag, prototypeForTag,
  2204. hooks = C.C_JS_CONST0();
  2205. hooks = H.applyHooksTransformer(C.C_JS_CONST1, H.applyHooksTransformer(C.C_JS_CONST2, H.applyHooksTransformer(C.C_JS_CONST3, H.applyHooksTransformer(C.C_JS_CONST3, H.applyHooksTransformer(C.C_JS_CONST4, H.applyHooksTransformer(C.C_JS_CONST5, H.applyHooksTransformer(C.C_JS_CONST6(C.C_JS_CONST), hooks)))))));
  2206. if (typeof dartNativeDispatchHooksTransformer != "undefined") {
  2207. transformers = dartNativeDispatchHooksTransformer;
  2208. if (typeof transformers == "function")
  2209. transformers = [transformers];
  2210. if (transformers.constructor == Array)
  2211. for (i = 0; i < transformers.length; ++i) {
  2212. transformer = transformers[i];
  2213. if (typeof transformer == "function")
  2214. hooks = transformer(hooks) || hooks;
  2215. }
  2216. }
  2217. getTag = hooks.getTag;
  2218. getUnknownTag = hooks.getUnknownTag;
  2219. prototypeForTag = hooks.prototypeForTag;
  2220. $.getTagFunction = new H.initHooks_closure(getTag);
  2221. $.alternateTagFunction = new H.initHooks_closure0(getUnknownTag);
  2222. $.prototypeForTagFunction = new H.initHooks_closure1(prototypeForTag);
  2223. },
  2224. applyHooksTransformer: function(transformer, hooks) {
  2225. return transformer(hooks) || hooks;
  2226. },
  2227. JSSyntaxRegExp_makeNative: function(source, multiLine, caseSensitive, unicode, dotAll, global) {
  2228. var m = multiLine ? "m" : "",
  2229. i = caseSensitive ? "" : "i",
  2230. u = unicode ? "u" : "",
  2231. s = dotAll ? "s" : "",
  2232. g = global ? "g" : "",
  2233. regexp = function(source, modifiers) {
  2234. try {
  2235. return new RegExp(source, modifiers);
  2236. } catch (e) {
  2237. return e;
  2238. }
  2239. }(source, m + i + u + s + g);
  2240. if (regexp instanceof RegExp)
  2241. return regexp;
  2242. throw H.wrapException(P.FormatException$("Illegal RegExp pattern (" + String(regexp) + ")", source, null));
  2243. },
  2244. stringContainsUnchecked: function(receiver, other, startIndex) {
  2245. var t1, t2;
  2246. if (typeof other === "string")
  2247. return receiver.indexOf(other, startIndex) >= 0;
  2248. else {
  2249. t1 = J.getInterceptor$(other);
  2250. if (!!t1.$isJSSyntaxRegExp) {
  2251. t1 = C.JSString_methods.substring$1(receiver, startIndex);
  2252. t2 = other._nativeRegExp;
  2253. return t2.test(t1);
  2254. } else {
  2255. t1 = t1.allMatches$1(other, C.JSString_methods.substring$1(receiver, startIndex));
  2256. return !t1.get$isEmpty(t1);
  2257. }
  2258. }
  2259. },
  2260. escapeReplacement: function(replacement) {
  2261. if (replacement.indexOf("$", 0) >= 0)
  2262. return replacement.replace(/\$/g, "$$$$");
  2263. return replacement;
  2264. },
  2265. stringReplaceFirstRE: function(receiver, regexp, replacement, startIndex) {
  2266. var match = regexp._execGlobal$2(receiver, startIndex);
  2267. if (match == null)
  2268. return receiver;
  2269. return H.stringReplaceRangeUnchecked(receiver, match._match.index, match.get$end(match), replacement);
  2270. },
  2271. quoteStringForRegExp: function(string) {
  2272. if (/[[\]{}()*+?.\\^$|]/.test(string))
  2273. return string.replace(/[[\]{}()*+?.\\^$|]/g, "\\$&");
  2274. return string;
  2275. },
  2276. stringReplaceAllUnchecked: function(receiver, pattern, replacement) {
  2277. var nativeRegexp;
  2278. if (typeof pattern === "string")
  2279. return H.stringReplaceAllUncheckedString(receiver, pattern, replacement);
  2280. if (pattern instanceof H.JSSyntaxRegExp) {
  2281. nativeRegexp = pattern.get$_nativeGlobalVersion();
  2282. nativeRegexp.lastIndex = 0;
  2283. return receiver.replace(nativeRegexp, H.escapeReplacement(replacement));
  2284. }
  2285. if (pattern == null)
  2286. H.throwExpression(H.argumentErrorValue(pattern));
  2287. throw H.wrapException("String.replaceAll(Pattern) UNIMPLEMENTED");
  2288. },
  2289. stringReplaceAllUncheckedString: function(receiver, pattern, replacement) {
  2290. var $length, t1, i, index;
  2291. if (pattern === "") {
  2292. if (receiver === "")
  2293. return replacement;
  2294. $length = receiver.length;
  2295. for (t1 = replacement, i = 0; i < $length; ++i)
  2296. t1 = t1 + receiver[i] + replacement;
  2297. return t1.charCodeAt(0) == 0 ? t1 : t1;
  2298. }
  2299. index = receiver.indexOf(pattern, 0);
  2300. if (index < 0)
  2301. return receiver;
  2302. if (receiver.length < 500 || replacement.indexOf("$", 0) >= 0)
  2303. return receiver.split(pattern).join(replacement);
  2304. return receiver.replace(new RegExp(H.quoteStringForRegExp(pattern), 'g'), H.escapeReplacement(replacement));
  2305. },
  2306. stringReplaceFirstUnchecked: function(receiver, pattern, replacement, startIndex) {
  2307. var index, t1, matches, match;
  2308. if (typeof pattern === "string") {
  2309. index = receiver.indexOf(pattern, startIndex);
  2310. if (index < 0)
  2311. return receiver;
  2312. return H.stringReplaceRangeUnchecked(receiver, index, index + pattern.length, replacement);
  2313. }
  2314. t1 = J.getInterceptor$(pattern);
  2315. if (!!t1.$isJSSyntaxRegExp)
  2316. return startIndex === 0 ? receiver.replace(pattern._nativeRegExp, H.escapeReplacement(replacement)) : H.stringReplaceFirstRE(receiver, pattern, replacement, startIndex);
  2317. if (pattern == null)
  2318. H.throwExpression(H.argumentErrorValue(pattern));
  2319. t1 = t1.allMatches$2(pattern, receiver, startIndex);
  2320. matches = t1.get$iterator(t1);
  2321. if (!matches.moveNext$0())
  2322. return receiver;
  2323. match = matches.get$current(matches);
  2324. return C.JSString_methods.replaceRange$3(receiver, match.get$start(match), match.get$end(match), replacement);
  2325. },
  2326. stringReplaceRangeUnchecked: function(receiver, start, end, replacement) {
  2327. var prefix = receiver.substring(0, start),
  2328. suffix = receiver.substring(end);
  2329. return prefix + H.S(replacement) + suffix;
  2330. },
  2331. ConstantMapView: function ConstantMapView(t0, t1) {
  2332. this._collection$_map = t0;
  2333. this.$ti = t1;
  2334. },
  2335. ConstantMap: function ConstantMap() {
  2336. },
  2337. ConstantStringMap: function ConstantStringMap(t0, t1, t2, t3) {
  2338. var _ = this;
  2339. _.__js_helper$_length = t0;
  2340. _._jsObject = t1;
  2341. _._keys = t2;
  2342. _.$ti = t3;
  2343. },
  2344. ConstantStringMap_values_closure: function ConstantStringMap_values_closure(t0) {
  2345. this.$this = t0;
  2346. },
  2347. ConstantProtoMap: function ConstantProtoMap(t0, t1, t2, t3, t4) {
  2348. var _ = this;
  2349. _._protoValue = t0;
  2350. _.__js_helper$_length = t1;
  2351. _._jsObject = t2;
  2352. _._keys = t3;
  2353. _.$ti = t4;
  2354. },
  2355. _ConstantMapKeyIterable: function _ConstantMapKeyIterable(t0, t1) {
  2356. this._map = t0;
  2357. this.$ti = t1;
  2358. },
  2359. Instantiation: function Instantiation() {
  2360. },
  2361. Instantiation1: function Instantiation1(t0, t1) {
  2362. this._genericClosure = t0;
  2363. this.$ti = t1;
  2364. },
  2365. JSInvocationMirror: function JSInvocationMirror(t0, t1, t2, t3, t4) {
  2366. var _ = this;
  2367. _.__js_helper$_memberName = t0;
  2368. _._kind = t1;
  2369. _.__js_helper$_arguments = t2;
  2370. _._namedArgumentNames = t3;
  2371. _._typeArgumentCount = t4;
  2372. },
  2373. Primitives_functionNoSuchMethod_closure: function Primitives_functionNoSuchMethod_closure(t0, t1, t2) {
  2374. this._box_0 = t0;
  2375. this.namedArgumentList = t1;
  2376. this.$arguments = t2;
  2377. },
  2378. TypeErrorDecoder: function TypeErrorDecoder(t0, t1, t2, t3, t4, t5) {
  2379. var _ = this;
  2380. _._pattern = t0;
  2381. _.__js_helper$_arguments = t1;
  2382. _._argumentsExpr = t2;
  2383. _._expr = t3;
  2384. _._method = t4;
  2385. _.__js_helper$_receiver = t5;
  2386. },
  2387. NullError: function NullError(t0, t1) {
  2388. this._message = t0;
  2389. this._method = t1;
  2390. },
  2391. JsNoSuchMethodError: function JsNoSuchMethodError(t0, t1, t2) {
  2392. this._message = t0;
  2393. this._method = t1;
  2394. this.__js_helper$_receiver = t2;
  2395. },
  2396. UnknownJsTypeError: function UnknownJsTypeError(t0) {
  2397. this._message = t0;
  2398. },
  2399. ExceptionAndStackTrace: function ExceptionAndStackTrace(t0, t1) {
  2400. this.dartException = t0;
  2401. this.stackTrace = t1;
  2402. },
  2403. unwrapException_saveStackTrace: function unwrapException_saveStackTrace(t0) {
  2404. this.ex = t0;
  2405. },
  2406. _StackTrace: function _StackTrace(t0) {
  2407. this._exception = t0;
  2408. this._trace = null;
  2409. },
  2410. Closure: function Closure() {
  2411. },
  2412. TearOffClosure: function TearOffClosure() {
  2413. },
  2414. StaticClosure: function StaticClosure() {
  2415. },
  2416. BoundClosure: function BoundClosure(t0, t1, t2, t3) {
  2417. var _ = this;
  2418. _._self = t0;
  2419. _._target = t1;
  2420. _.__js_helper$_receiver = t2;
  2421. _.__js_helper$_name = t3;
  2422. },
  2423. CastErrorImplementation: function CastErrorImplementation(t0) {
  2424. this.message = t0;
  2425. },
  2426. RuntimeError: function RuntimeError(t0) {
  2427. this.message = t0;
  2428. },
  2429. TypeImpl: function TypeImpl(t0) {
  2430. this._rti = t0;
  2431. this._hashCode = this.__typeName = null;
  2432. },
  2433. JsLinkedHashMap: function JsLinkedHashMap(t0) {
  2434. var _ = this;
  2435. _.__js_helper$_length = 0;
  2436. _._last = _._first = _._rest = _._nums = _._strings = null;
  2437. _._modifications = 0;
  2438. _.$ti = t0;
  2439. },
  2440. JsLinkedHashMap_values_closure: function JsLinkedHashMap_values_closure(t0) {
  2441. this.$this = t0;
  2442. },
  2443. JsLinkedHashMap_addAll_closure: function JsLinkedHashMap_addAll_closure(t0) {
  2444. this.$this = t0;
  2445. },
  2446. LinkedHashMapCell: function LinkedHashMapCell(t0, t1) {
  2447. var _ = this;
  2448. _.hashMapCellKey = t0;
  2449. _.hashMapCellValue = t1;
  2450. _._previous = _._next = null;
  2451. },
  2452. LinkedHashMapKeyIterable: function LinkedHashMapKeyIterable(t0, t1) {
  2453. this._map = t0;
  2454. this.$ti = t1;
  2455. },
  2456. LinkedHashMapKeyIterator: function LinkedHashMapKeyIterator(t0, t1) {
  2457. var _ = this;
  2458. _._map = t0;
  2459. _._modifications = t1;
  2460. _.__js_helper$_current = _._cell = null;
  2461. },
  2462. initHooks_closure: function initHooks_closure(t0) {
  2463. this.getTag = t0;
  2464. },
  2465. initHooks_closure0: function initHooks_closure0(t0) {
  2466. this.getUnknownTag = t0;
  2467. },
  2468. initHooks_closure1: function initHooks_closure1(t0) {
  2469. this.prototypeForTag = t0;
  2470. },
  2471. JSSyntaxRegExp: function JSSyntaxRegExp(t0, t1) {
  2472. var _ = this;
  2473. _.pattern = t0;
  2474. _._nativeRegExp = t1;
  2475. _._nativeAnchoredRegExp = _._nativeGlobalRegExp = null;
  2476. },
  2477. _MatchImplementation: function _MatchImplementation(t0) {
  2478. this._match = t0;
  2479. },
  2480. _AllMatchesIterable: function _AllMatchesIterable(t0, t1, t2) {
  2481. this._re = t0;
  2482. this._string = t1;
  2483. this.__js_helper$_start = t2;
  2484. },
  2485. _AllMatchesIterator: function _AllMatchesIterator(t0, t1, t2) {
  2486. var _ = this;
  2487. _._regExp = t0;
  2488. _._string = t1;
  2489. _._nextIndex = t2;
  2490. _.__js_helper$_current = null;
  2491. },
  2492. StringMatch: function StringMatch(t0, t1) {
  2493. this.start = t0;
  2494. this.pattern = t1;
  2495. },
  2496. _StringAllMatchesIterable: function _StringAllMatchesIterable(t0, t1, t2) {
  2497. this._input = t0;
  2498. this._pattern = t1;
  2499. this.__js_helper$_index = t2;
  2500. },
  2501. _StringAllMatchesIterator: function _StringAllMatchesIterator(t0, t1, t2) {
  2502. var _ = this;
  2503. _._input = t0;
  2504. _._pattern = t1;
  2505. _.__js_helper$_index = t2;
  2506. _.__js_helper$_current = null;
  2507. },
  2508. _ensureNativeList: function(list) {
  2509. return list;
  2510. },
  2511. NativeInt8List__create1: function(arg) {
  2512. return new Int8Array(arg);
  2513. },
  2514. NativeUint8List_NativeUint8List$view: function(buffer, offsetInBytes, $length) {
  2515. var t1 = new Uint8Array(buffer, offsetInBytes, $length);
  2516. return t1;
  2517. },
  2518. _checkValidIndex: function(index, list, $length) {
  2519. if (index >>> 0 !== index || index >= $length)
  2520. throw H.wrapException(H.diagnoseIndexError(list, index));
  2521. },
  2522. _checkValidRange: function(start, end, $length) {
  2523. var t1;
  2524. if (!(start >>> 0 !== start))
  2525. if (end == null)
  2526. t1 = start > $length;
  2527. else
  2528. t1 = end >>> 0 !== end || start > end || end > $length;
  2529. else
  2530. t1 = true;
  2531. if (t1)
  2532. throw H.wrapException(H.diagnoseRangeError(start, end, $length));
  2533. if (end == null)
  2534. return $length;
  2535. return end;
  2536. },
  2537. NativeTypedData: function NativeTypedData() {
  2538. },
  2539. NativeTypedArray: function NativeTypedArray() {
  2540. },
  2541. NativeTypedArrayOfDouble: function NativeTypedArrayOfDouble() {
  2542. },
  2543. NativeTypedArrayOfInt: function NativeTypedArrayOfInt() {
  2544. },
  2545. NativeFloat32List: function NativeFloat32List() {
  2546. },
  2547. NativeFloat64List: function NativeFloat64List() {
  2548. },
  2549. NativeInt16List: function NativeInt16List() {
  2550. },
  2551. NativeInt32List: function NativeInt32List() {
  2552. },
  2553. NativeInt8List: function NativeInt8List() {
  2554. },
  2555. NativeUint16List: function NativeUint16List() {
  2556. },
  2557. NativeUint32List: function NativeUint32List() {
  2558. },
  2559. NativeUint8ClampedList: function NativeUint8ClampedList() {
  2560. },
  2561. NativeUint8List: function NativeUint8List() {
  2562. },
  2563. _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin: function _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin() {
  2564. },
  2565. _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin: function _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin() {
  2566. },
  2567. _NativeTypedArrayOfInt_NativeTypedArray_ListMixin: function _NativeTypedArrayOfInt_NativeTypedArray_ListMixin() {
  2568. },
  2569. _NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin: function _NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin() {
  2570. },
  2571. extractKeys: function(victim) {
  2572. return J.JSArray_JSArray$markFixed(victim ? Object.keys(victim) : [], null);
  2573. },
  2574. printString: function(string) {
  2575. if (typeof dartPrint == "function") {
  2576. dartPrint(string);
  2577. return;
  2578. }
  2579. if (typeof console == "object" && typeof console.log != "undefined") {
  2580. console.log(string);
  2581. return;
  2582. }
  2583. if (typeof window == "object")
  2584. return;
  2585. if (typeof print == "function") {
  2586. print(string);
  2587. return;
  2588. }
  2589. throw "Unable to print message: " + String(string);
  2590. }
  2591. },
  2592. J = {
  2593. makeDispatchRecord: function(interceptor, proto, extension, indexability) {
  2594. return {i: interceptor, p: proto, e: extension, x: indexability};
  2595. },
  2596. getNativeInterceptor: function(object) {
  2597. var proto, objectProto, $constructor, interceptor,
  2598. record = object[init.dispatchPropertyName];
  2599. if (record == null)
  2600. if ($.initNativeDispatchFlag == null) {
  2601. H.initNativeDispatch();
  2602. record = object[init.dispatchPropertyName];
  2603. }
  2604. if (record != null) {
  2605. proto = record.p;
  2606. if (false === proto)
  2607. return record.i;
  2608. if (true === proto)
  2609. return object;
  2610. objectProto = Object.getPrototypeOf(object);
  2611. if (proto === objectProto)
  2612. return record.i;
  2613. if (record.e === objectProto)
  2614. throw H.wrapException(P.UnimplementedError$("Return interceptor for " + H.S(proto(object, record))));
  2615. }
  2616. $constructor = object.constructor;
  2617. interceptor = $constructor == null ? null : $constructor[$.$get$JS_INTEROP_INTERCEPTOR_TAG()];
  2618. if (interceptor != null)
  2619. return interceptor;
  2620. interceptor = H.lookupAndCacheInterceptor(object);
  2621. if (interceptor != null)
  2622. return interceptor;
  2623. if (typeof object == "function")
  2624. return C.JavaScriptFunction_methods;
  2625. proto = Object.getPrototypeOf(object);
  2626. if (proto == null)
  2627. return C.PlainJavaScriptObject_methods;
  2628. if (proto === Object.prototype)
  2629. return C.PlainJavaScriptObject_methods;
  2630. if (typeof $constructor == "function") {
  2631. Object.defineProperty($constructor, $.$get$JS_INTEROP_INTERCEPTOR_TAG(), {value: C.UnknownJavaScriptObject_methods, enumerable: false, writable: true, configurable: true});
  2632. return C.UnknownJavaScriptObject_methods;
  2633. }
  2634. return C.UnknownJavaScriptObject_methods;
  2635. },
  2636. JSArray_JSArray$fixed: function($length, $E) {
  2637. if (typeof $length !== "number" || Math.floor($length) !== $length)
  2638. throw H.wrapException(P.ArgumentError$value($length, "length", "is not an integer"));
  2639. if ($length < 0 || $length > 4294967295)
  2640. throw H.wrapException(P.RangeError$range($length, 0, 4294967295, "length", null));
  2641. return J.JSArray_JSArray$markFixed(new Array($length), $E);
  2642. },
  2643. JSArray_JSArray$markFixed: function(allocation, $E) {
  2644. return J.JSArray_markFixedList(H.setRuntimeTypeInfo(allocation, [$E]));
  2645. },
  2646. JSArray_markFixedList: function(list) {
  2647. list.fixed$length = Array;
  2648. return list;
  2649. },
  2650. JSArray_markUnmodifiableList: function(list) {
  2651. list.fixed$length = Array;
  2652. list.immutable$list = Array;
  2653. return list;
  2654. },
  2655. JSArray__compareAny: function(a, b) {
  2656. return J.compareTo$1$ns(a, b);
  2657. },
  2658. JSString__isWhitespace: function(codeUnit) {
  2659. if (codeUnit < 256)
  2660. switch (codeUnit) {
  2661. case 9:
  2662. case 10:
  2663. case 11:
  2664. case 12:
  2665. case 13:
  2666. case 32:
  2667. case 133:
  2668. case 160:
  2669. return true;
  2670. default:
  2671. return false;
  2672. }
  2673. switch (codeUnit) {
  2674. case 5760:
  2675. case 8192:
  2676. case 8193:
  2677. case 8194:
  2678. case 8195:
  2679. case 8196:
  2680. case 8197:
  2681. case 8198:
  2682. case 8199:
  2683. case 8200:
  2684. case 8201:
  2685. case 8202:
  2686. case 8232:
  2687. case 8233:
  2688. case 8239:
  2689. case 8287:
  2690. case 12288:
  2691. case 65279:
  2692. return true;
  2693. default:
  2694. return false;
  2695. }
  2696. },
  2697. JSString__skipLeadingWhitespace: function(string, index) {
  2698. var t1, codeUnit;
  2699. for (t1 = string.length; index < t1;) {
  2700. codeUnit = C.JSString_methods._codeUnitAt$1(string, index);
  2701. if (codeUnit !== 32 && codeUnit !== 13 && !J.JSString__isWhitespace(codeUnit))
  2702. break;
  2703. ++index;
  2704. }
  2705. return index;
  2706. },
  2707. JSString__skipTrailingWhitespace: function(string, index) {
  2708. var index0, codeUnit;
  2709. for (; index > 0; index = index0) {
  2710. index0 = index - 1;
  2711. codeUnit = C.JSString_methods.codeUnitAt$1(string, index0);
  2712. if (codeUnit !== 32 && codeUnit !== 13 && !J.JSString__isWhitespace(codeUnit))
  2713. break;
  2714. }
  2715. return index;
  2716. },
  2717. getInterceptor$: function(receiver) {
  2718. if (typeof receiver == "number") {
  2719. if (Math.floor(receiver) == receiver)
  2720. return J.JSInt.prototype;
  2721. return J.JSDouble.prototype;
  2722. }
  2723. if (typeof receiver == "string")
  2724. return J.JSString.prototype;
  2725. if (receiver == null)
  2726. return J.JSNull.prototype;
  2727. if (typeof receiver == "boolean")
  2728. return J.JSBool.prototype;
  2729. if (receiver.constructor == Array)
  2730. return J.JSArray.prototype;
  2731. if (typeof receiver != "object") {
  2732. if (typeof receiver == "function")
  2733. return J.JavaScriptFunction.prototype;
  2734. return receiver;
  2735. }
  2736. if (receiver instanceof P.Object)
  2737. return receiver;
  2738. return J.getNativeInterceptor(receiver);
  2739. },
  2740. getInterceptor$ansx: function(receiver) {
  2741. if (typeof receiver == "number")
  2742. return J.JSNumber.prototype;
  2743. if (typeof receiver == "string")
  2744. return J.JSString.prototype;
  2745. if (receiver == null)
  2746. return receiver;
  2747. if (receiver.constructor == Array)
  2748. return J.JSArray.prototype;
  2749. if (typeof receiver != "object") {
  2750. if (typeof receiver == "function")
  2751. return J.JavaScriptFunction.prototype;
  2752. return receiver;
  2753. }
  2754. if (receiver instanceof P.Object)
  2755. return receiver;
  2756. return J.getNativeInterceptor(receiver);
  2757. },
  2758. getInterceptor$asx: function(receiver) {
  2759. if (typeof receiver == "string")
  2760. return J.JSString.prototype;
  2761. if (receiver == null)
  2762. return receiver;
  2763. if (receiver.constructor == Array)
  2764. return J.JSArray.prototype;
  2765. if (typeof receiver != "object") {
  2766. if (typeof receiver == "function")
  2767. return J.JavaScriptFunction.prototype;
  2768. return receiver;
  2769. }
  2770. if (receiver instanceof P.Object)
  2771. return receiver;
  2772. return J.getNativeInterceptor(receiver);
  2773. },
  2774. getInterceptor$ax: function(receiver) {
  2775. if (receiver == null)
  2776. return receiver;
  2777. if (receiver.constructor == Array)
  2778. return J.JSArray.prototype;
  2779. if (typeof receiver != "object") {
  2780. if (typeof receiver == "function")
  2781. return J.JavaScriptFunction.prototype;
  2782. return receiver;
  2783. }
  2784. if (receiver instanceof P.Object)
  2785. return receiver;
  2786. return J.getNativeInterceptor(receiver);
  2787. },
  2788. getInterceptor$n: function(receiver) {
  2789. if (typeof receiver == "number")
  2790. return J.JSNumber.prototype;
  2791. if (receiver == null)
  2792. return receiver;
  2793. if (!(receiver instanceof P.Object))
  2794. return J.UnknownJavaScriptObject.prototype;
  2795. return receiver;
  2796. },
  2797. getInterceptor$ns: function(receiver) {
  2798. if (typeof receiver == "number")
  2799. return J.JSNumber.prototype;
  2800. if (typeof receiver == "string")
  2801. return J.JSString.prototype;
  2802. if (receiver == null)
  2803. return receiver;
  2804. if (!(receiver instanceof P.Object))
  2805. return J.UnknownJavaScriptObject.prototype;
  2806. return receiver;
  2807. },
  2808. getInterceptor$s: function(receiver) {
  2809. if (typeof receiver == "string")
  2810. return J.JSString.prototype;
  2811. if (receiver == null)
  2812. return receiver;
  2813. if (!(receiver instanceof P.Object))
  2814. return J.UnknownJavaScriptObject.prototype;
  2815. return receiver;
  2816. },
  2817. getInterceptor$x: function(receiver) {
  2818. if (receiver == null)
  2819. return receiver;
  2820. if (typeof receiver != "object") {
  2821. if (typeof receiver == "function")
  2822. return J.JavaScriptFunction.prototype;
  2823. return receiver;
  2824. }
  2825. if (receiver instanceof P.Object)
  2826. return receiver;
  2827. return J.getNativeInterceptor(receiver);
  2828. },
  2829. set$context$x: function(receiver, value) {
  2830. return J.getInterceptor$x(receiver).set$context(receiver, value);
  2831. },
  2832. set$dartValue$x: function(receiver, value) {
  2833. return J.getInterceptor$x(receiver).set$dartValue(receiver, value);
  2834. },
  2835. set$info$x: function(receiver, value) {
  2836. return J.getInterceptor$x(receiver).set$info(receiver, value);
  2837. },
  2838. set$length$asx: function(receiver, value) {
  2839. return J.getInterceptor$asx(receiver).set$length(receiver, value);
  2840. },
  2841. set$render$x: function(receiver, value) {
  2842. return J.getInterceptor$x(receiver).set$render(receiver, value);
  2843. },
  2844. set$renderSync$x: function(receiver, value) {
  2845. return J.getInterceptor$x(receiver).set$renderSync(receiver, value);
  2846. },
  2847. set$run_$x: function(receiver, value) {
  2848. return J.getInterceptor$x(receiver).set$run_(receiver, value);
  2849. },
  2850. set$types$x: function(receiver, value) {
  2851. return J.getInterceptor$x(receiver).set$types(receiver, value);
  2852. },
  2853. get$code$x: function(receiver) {
  2854. return J.getInterceptor$x(receiver).get$code(receiver);
  2855. },
  2856. get$current$x: function(receiver) {
  2857. return J.getInterceptor$x(receiver).get$current(receiver);
  2858. },
  2859. get$dartValue$x: function(receiver) {
  2860. return J.getInterceptor$x(receiver).get$dartValue(receiver);
  2861. },
  2862. get$end$x: function(receiver) {
  2863. return J.getInterceptor$x(receiver).get$end(receiver);
  2864. },
  2865. get$env$x: function(receiver) {
  2866. return J.getInterceptor$x(receiver).get$env(receiver);
  2867. },
  2868. get$fiber$x: function(receiver) {
  2869. return J.getInterceptor$x(receiver).get$fiber(receiver);
  2870. },
  2871. get$file$x: function(receiver) {
  2872. return J.getInterceptor$x(receiver).get$file(receiver);
  2873. },
  2874. get$first$ax: function(receiver) {
  2875. return J.getInterceptor$ax(receiver).get$first(receiver);
  2876. },
  2877. get$hashCode$: function(receiver) {
  2878. return J.getInterceptor$(receiver).get$hashCode(receiver);
  2879. },
  2880. get$isEmpty$asx: function(receiver) {
  2881. return J.getInterceptor$asx(receiver).get$isEmpty(receiver);
  2882. },
  2883. get$isNotEmpty$asx: function(receiver) {
  2884. return J.getInterceptor$asx(receiver).get$isNotEmpty(receiver);
  2885. },
  2886. get$isTTY$x: function(receiver) {
  2887. return J.getInterceptor$x(receiver).get$isTTY(receiver);
  2888. },
  2889. get$iterator$ax: function(receiver) {
  2890. return J.getInterceptor$ax(receiver).get$iterator(receiver);
  2891. },
  2892. get$last$ax: function(receiver) {
  2893. return J.getInterceptor$ax(receiver).get$last(receiver);
  2894. },
  2895. get$length$asx: function(receiver) {
  2896. return J.getInterceptor$asx(receiver).get$length(receiver);
  2897. },
  2898. get$message$x: function(receiver) {
  2899. return J.getInterceptor$x(receiver).get$message(receiver);
  2900. },
  2901. get$mtime$x: function(receiver) {
  2902. return J.getInterceptor$x(receiver).get$mtime(receiver);
  2903. },
  2904. get$options$x: function(receiver) {
  2905. return J.getInterceptor$x(receiver).get$options(receiver);
  2906. },
  2907. get$path$x: function(receiver) {
  2908. return J.getInterceptor$x(receiver).get$path(receiver);
  2909. },
  2910. get$platform$x: function(receiver) {
  2911. return J.getInterceptor$x(receiver).get$platform(receiver);
  2912. },
  2913. get$reversed$ax: function(receiver) {
  2914. return J.getInterceptor$ax(receiver).get$reversed(receiver);
  2915. },
  2916. get$single$ax: function(receiver) {
  2917. return J.getInterceptor$ax(receiver).get$single(receiver);
  2918. },
  2919. $add$ansx: function(receiver, a0) {
  2920. if (typeof receiver == "number" && typeof a0 == "number")
  2921. return receiver + a0;
  2922. return J.getInterceptor$ansx(receiver).$add(receiver, a0);
  2923. },
  2924. $eq$: function(receiver, a0) {
  2925. if (receiver == null)
  2926. return a0 == null;
  2927. if (typeof receiver != "object")
  2928. return a0 != null && receiver === a0;
  2929. return J.getInterceptor$(receiver).$eq(receiver, a0);
  2930. },
  2931. $index$asx: function(receiver, a0) {
  2932. if (typeof a0 === "number")
  2933. if (receiver.constructor == Array || typeof receiver == "string" || H.isJsIndexable(receiver, receiver[init.dispatchPropertyName]))
  2934. if (a0 >>> 0 === a0 && a0 < receiver.length)
  2935. return receiver[a0];
  2936. return J.getInterceptor$asx(receiver).$index(receiver, a0);
  2937. },
  2938. $indexSet$ax: function(receiver, a0, a1) {
  2939. if (typeof a0 === "number")
  2940. if ((receiver.constructor == Array || H.isJsIndexable(receiver, receiver[init.dispatchPropertyName])) && !receiver.immutable$list && a0 >>> 0 === a0 && a0 < receiver.length)
  2941. return receiver[a0] = a1;
  2942. return J.getInterceptor$ax(receiver).$indexSet(receiver, a0, a1);
  2943. },
  2944. _codeUnitAt$1$s: function(receiver, a0) {
  2945. return J.getInterceptor$s(receiver)._codeUnitAt$1(receiver, a0);
  2946. },
  2947. add$1$ax: function(receiver, a0) {
  2948. return J.getInterceptor$ax(receiver).add$1(receiver, a0);
  2949. },
  2950. any$1$ax: function(receiver, a0) {
  2951. return J.getInterceptor$ax(receiver).any$1(receiver, a0);
  2952. },
  2953. apply$2$x: function(receiver, a0, a1) {
  2954. return J.getInterceptor$x(receiver).apply$2(receiver, a0, a1);
  2955. },
  2956. cast$1$0$ax: function(receiver, $T1) {
  2957. return J.getInterceptor$ax(receiver).cast$1$0(receiver, $T1);
  2958. },
  2959. ceil$0$n: function(receiver) {
  2960. return J.getInterceptor$n(receiver).ceil$0(receiver);
  2961. },
  2962. clamp$2$n: function(receiver, a0, a1) {
  2963. return J.getInterceptor$n(receiver).clamp$2(receiver, a0, a1);
  2964. },
  2965. close$0$x: function(receiver) {
  2966. return J.getInterceptor$x(receiver).close$0(receiver);
  2967. },
  2968. codeUnitAt$1$s: function(receiver, a0) {
  2969. return J.getInterceptor$s(receiver).codeUnitAt$1(receiver, a0);
  2970. },
  2971. compareTo$1$ns: function(receiver, a0) {
  2972. return J.getInterceptor$ns(receiver).compareTo$1(receiver, a0);
  2973. },
  2974. contains$1$asx: function(receiver, a0) {
  2975. return J.getInterceptor$asx(receiver).contains$1(receiver, a0);
  2976. },
  2977. createInterface$1$x: function(receiver, a0) {
  2978. return J.getInterceptor$x(receiver).createInterface$1(receiver, a0);
  2979. },
  2980. elementAt$1$ax: function(receiver, a0) {
  2981. return J.getInterceptor$ax(receiver).elementAt$1(receiver, a0);
  2982. },
  2983. endsWith$1$s: function(receiver, a0) {
  2984. return J.getInterceptor$s(receiver).endsWith$1(receiver, a0);
  2985. },
  2986. every$1$ax: function(receiver, a0) {
  2987. return J.getInterceptor$ax(receiver).every$1(receiver, a0);
  2988. },
  2989. expand$1$1$ax: function(receiver, a0, $T1) {
  2990. return J.getInterceptor$ax(receiver).expand$1$1(receiver, a0, $T1);
  2991. },
  2992. fillRange$3$ax: function(receiver, a0, a1, a2) {
  2993. return J.getInterceptor$ax(receiver).fillRange$3(receiver, a0, a1, a2);
  2994. },
  2995. floor$0$n: function(receiver) {
  2996. return J.getInterceptor$n(receiver).floor$0(receiver);
  2997. },
  2998. fold$2$ax: function(receiver, a0, a1) {
  2999. return J.getInterceptor$ax(receiver).fold$2(receiver, a0, a1);
  3000. },
  3001. getTime$0$x: function(receiver) {
  3002. return J.getInterceptor$x(receiver).getTime$0(receiver);
  3003. },
  3004. indexOf$1$asx: function(receiver, a0) {
  3005. return J.getInterceptor$asx(receiver).indexOf$1(receiver, a0);
  3006. },
  3007. isDirectory$0$x: function(receiver) {
  3008. return J.getInterceptor$x(receiver).isDirectory$0(receiver);
  3009. },
  3010. isFile$0$x: function(receiver) {
  3011. return J.getInterceptor$x(receiver).isFile$0(receiver);
  3012. },
  3013. join$0$ax: function(receiver) {
  3014. return J.getInterceptor$ax(receiver).join$0(receiver);
  3015. },
  3016. join$1$ax: function(receiver, a0) {
  3017. return J.getInterceptor$ax(receiver).join$1(receiver, a0);
  3018. },
  3019. map$1$ax: function(receiver, a0) {
  3020. return J.getInterceptor$ax(receiver).map$1(receiver, a0);
  3021. },
  3022. map$1$1$ax: function(receiver, a0, $T1) {
  3023. return J.getInterceptor$ax(receiver).map$1$1(receiver, a0, $T1);
  3024. },
  3025. matchAsPrefix$2$s: function(receiver, a0, a1) {
  3026. return J.getInterceptor$s(receiver).matchAsPrefix$2(receiver, a0, a1);
  3027. },
  3028. mkdirSync$1$x: function(receiver, a0) {
  3029. return J.getInterceptor$x(receiver).mkdirSync$1(receiver, a0);
  3030. },
  3031. noSuchMethod$1$: function(receiver, a0) {
  3032. return J.getInterceptor$(receiver).noSuchMethod$1(receiver, a0);
  3033. },
  3034. on$2$x: function(receiver, a0, a1) {
  3035. return J.getInterceptor$x(receiver).on$2(receiver, a0, a1);
  3036. },
  3037. padRight$1$s: function(receiver, a0) {
  3038. return J.getInterceptor$s(receiver).padRight$1(receiver, a0);
  3039. },
  3040. readFileSync$2$x: function(receiver, a0, a1) {
  3041. return J.getInterceptor$x(receiver).readFileSync$2(receiver, a0, a1);
  3042. },
  3043. readdirSync$1$x: function(receiver, a0) {
  3044. return J.getInterceptor$x(receiver).readdirSync$1(receiver, a0);
  3045. },
  3046. remove$1$ax: function(receiver, a0) {
  3047. return J.getInterceptor$ax(receiver).remove$1(receiver, a0);
  3048. },
  3049. replaceRange$3$asx: function(receiver, a0, a1, a2) {
  3050. return J.getInterceptor$asx(receiver).replaceRange$3(receiver, a0, a1, a2);
  3051. },
  3052. round$0$n: function(receiver) {
  3053. return J.getInterceptor$n(receiver).round$0(receiver);
  3054. },
  3055. run$0$x: function(receiver) {
  3056. return J.getInterceptor$x(receiver).run$0(receiver);
  3057. },
  3058. run$1$x: function(receiver, a0) {
  3059. return J.getInterceptor$x(receiver).run$1(receiver, a0);
  3060. },
  3061. setPrompt$1$x: function(receiver, a0) {
  3062. return J.getInterceptor$x(receiver).setPrompt$1(receiver, a0);
  3063. },
  3064. setRange$4$ax: function(receiver, a0, a1, a2, a3) {
  3065. return J.getInterceptor$ax(receiver).setRange$4(receiver, a0, a1, a2, a3);
  3066. },
  3067. skip$1$ax: function(receiver, a0) {
  3068. return J.getInterceptor$ax(receiver).skip$1(receiver, a0);
  3069. },
  3070. startsWith$1$s: function(receiver, a0) {
  3071. return J.getInterceptor$s(receiver).startsWith$1(receiver, a0);
  3072. },
  3073. startsWith$2$s: function(receiver, a0, a1) {
  3074. return J.getInterceptor$s(receiver).startsWith$2(receiver, a0, a1);
  3075. },
  3076. statSync$1$x: function(receiver, a0) {
  3077. return J.getInterceptor$x(receiver).statSync$1(receiver, a0);
  3078. },
  3079. substring$1$s: function(receiver, a0) {
  3080. return J.getInterceptor$s(receiver).substring$1(receiver, a0);
  3081. },
  3082. substring$2$s: function(receiver, a0, a1) {
  3083. return J.getInterceptor$s(receiver).substring$2(receiver, a0, a1);
  3084. },
  3085. take$1$ax: function(receiver, a0) {
  3086. return J.getInterceptor$ax(receiver).take$1(receiver, a0);
  3087. },
  3088. toList$0$ax: function(receiver) {
  3089. return J.getInterceptor$ax(receiver).toList$0(receiver);
  3090. },
  3091. toRadixString$1$n: function(receiver, a0) {
  3092. return J.getInterceptor$n(receiver).toRadixString$1(receiver, a0);
  3093. },
  3094. toSet$0$ax: function(receiver) {
  3095. return J.getInterceptor$ax(receiver).toSet$0(receiver);
  3096. },
  3097. toString$0$: function(receiver) {
  3098. return J.getInterceptor$(receiver).toString$0(receiver);
  3099. },
  3100. toString$1$color$: function(receiver, a0) {
  3101. return J.getInterceptor$(receiver).toString$1$color(receiver, a0);
  3102. },
  3103. trim$0$s: function(receiver) {
  3104. return J.getInterceptor$s(receiver).trim$0(receiver);
  3105. },
  3106. unlinkSync$1$x: function(receiver, a0) {
  3107. return J.getInterceptor$x(receiver).unlinkSync$1(receiver, a0);
  3108. },
  3109. watch$2$x: function(receiver, a0, a1) {
  3110. return J.getInterceptor$x(receiver).watch$2(receiver, a0, a1);
  3111. },
  3112. where$1$ax: function(receiver, a0) {
  3113. return J.getInterceptor$ax(receiver).where$1(receiver, a0);
  3114. },
  3115. write$1$x: function(receiver, a0) {
  3116. return J.getInterceptor$x(receiver).write$1(receiver, a0);
  3117. },
  3118. writeFileSync$2$x: function(receiver, a0, a1) {
  3119. return J.getInterceptor$x(receiver).writeFileSync$2(receiver, a0, a1);
  3120. },
  3121. yield$0$x: function(receiver) {
  3122. return J.getInterceptor$x(receiver).yield$0(receiver);
  3123. },
  3124. Interceptor: function Interceptor() {
  3125. },
  3126. JSBool: function JSBool() {
  3127. },
  3128. JSNull: function JSNull() {
  3129. },
  3130. JavaScriptObject: function JavaScriptObject() {
  3131. },
  3132. PlainJavaScriptObject: function PlainJavaScriptObject() {
  3133. },
  3134. UnknownJavaScriptObject: function UnknownJavaScriptObject() {
  3135. },
  3136. JavaScriptFunction: function JavaScriptFunction() {
  3137. },
  3138. JSArray: function JSArray(t0) {
  3139. this.$ti = t0;
  3140. },
  3141. JSUnmodifiableArray: function JSUnmodifiableArray(t0) {
  3142. this.$ti = t0;
  3143. },
  3144. ArrayIterator: function ArrayIterator(t0, t1) {
  3145. var _ = this;
  3146. _._iterable = t0;
  3147. _._length = t1;
  3148. _._index = 0;
  3149. _._current = null;
  3150. },
  3151. JSNumber: function JSNumber() {
  3152. },
  3153. JSInt: function JSInt() {
  3154. },
  3155. JSDouble: function JSDouble() {
  3156. },
  3157. JSString: function JSString() {
  3158. }
  3159. },
  3160. P = {
  3161. _AsyncRun__initializeScheduleImmediate: function() {
  3162. var div, span, t1 = {};
  3163. if (self.scheduleImmediate != null)
  3164. return P.async__AsyncRun__scheduleImmediateJsOverride$closure();
  3165. if (self.MutationObserver != null && self.document != null) {
  3166. div = self.document.createElement("div");
  3167. span = self.document.createElement("span");
  3168. t1.storedCallback = null;
  3169. new self.MutationObserver(H.convertDartClosureToJS(new P._AsyncRun__initializeScheduleImmediate_internalCallback(t1), 1)).observe(div, {childList: true});
  3170. return new P._AsyncRun__initializeScheduleImmediate_closure(t1, div, span);
  3171. } else if (self.setImmediate != null)
  3172. return P.async__AsyncRun__scheduleImmediateWithSetImmediate$closure();
  3173. return P.async__AsyncRun__scheduleImmediateWithTimer$closure();
  3174. },
  3175. _AsyncRun__scheduleImmediateJsOverride: function(callback) {
  3176. self.scheduleImmediate(H.convertDartClosureToJS(new P._AsyncRun__scheduleImmediateJsOverride_internalCallback(callback), 0));
  3177. },
  3178. _AsyncRun__scheduleImmediateWithSetImmediate: function(callback) {
  3179. self.setImmediate(H.convertDartClosureToJS(new P._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback(callback), 0));
  3180. },
  3181. _AsyncRun__scheduleImmediateWithTimer: function(callback) {
  3182. P.Timer__createTimer(C.Duration_0, callback);
  3183. },
  3184. Timer__createTimer: function(duration, callback) {
  3185. var milliseconds = C.JSInt_methods._tdivFast$1(duration._duration, 1000);
  3186. return P._TimerImpl$(milliseconds < 0 ? 0 : milliseconds, callback);
  3187. },
  3188. _TimerImpl$: function(milliseconds, callback) {
  3189. var t1 = new P._TimerImpl(true);
  3190. t1._TimerImpl$2(milliseconds, callback);
  3191. return t1;
  3192. },
  3193. _TimerImpl$periodic: function(milliseconds, callback) {
  3194. var t1 = new P._TimerImpl(false);
  3195. t1._TimerImpl$periodic$2(milliseconds, callback);
  3196. return t1;
  3197. },
  3198. _makeAsyncAwaitCompleter: function($T) {
  3199. return new P._AsyncAwaitCompleter(new P._SyncCompleter(new P._Future($.Zone__current, [$T]), [$T]), [$T]);
  3200. },
  3201. _asyncStartSync: function(bodyFunction, completer) {
  3202. bodyFunction.call$2(0, null);
  3203. completer.isSync = true;
  3204. return completer._completer.future;
  3205. },
  3206. _asyncAwait: function(object, bodyFunction) {
  3207. P._awaitOnObject(object, bodyFunction);
  3208. },
  3209. _asyncReturn: function(object, completer) {
  3210. completer.complete$1(object);
  3211. },
  3212. _asyncRethrow: function(object, completer) {
  3213. completer.completeError$2(H.unwrapException(object), H.getTraceFromException(object));
  3214. },
  3215. _awaitOnObject: function(object, bodyFunction) {
  3216. var future, _null = null,
  3217. thenCallback = new P._awaitOnObject_closure(bodyFunction),
  3218. errorCallback = new P._awaitOnObject_closure0(bodyFunction),
  3219. t1 = J.getInterceptor$(object);
  3220. if (!!t1.$is_Future)
  3221. object._thenNoZoneRegistration$1$2(thenCallback, errorCallback, _null);
  3222. else if (!!t1.$isFuture)
  3223. object.then$1$2$onError(thenCallback, errorCallback, _null);
  3224. else {
  3225. future = new P._Future($.Zone__current, [null]);
  3226. future._async$_state = 4;
  3227. future._resultOrListeners = object;
  3228. future._thenNoZoneRegistration$1$2(thenCallback, _null, _null);
  3229. }
  3230. },
  3231. _wrapJsFunctionForAsync: function($function) {
  3232. var $protected = function(fn, ERROR) {
  3233. return function(errorCode, result) {
  3234. while (true)
  3235. try {
  3236. fn(errorCode, result);
  3237. break;
  3238. } catch (error) {
  3239. result = error;
  3240. errorCode = ERROR;
  3241. }
  3242. };
  3243. }($function, 1);
  3244. return $.Zone__current.registerBinaryCallback$1(new P._wrapJsFunctionForAsync_closure($protected));
  3245. },
  3246. _asyncStarHelper: function(object, bodyFunctionOrErrorCode, controller) {
  3247. var t1, t2, stream;
  3248. if (bodyFunctionOrErrorCode === 0) {
  3249. t1 = controller.cancelationCompleter;
  3250. if (t1 != null)
  3251. t1.complete$0();
  3252. else
  3253. controller.controller.close$0(0);
  3254. return;
  3255. } else if (bodyFunctionOrErrorCode === 1) {
  3256. t1 = controller.cancelationCompleter;
  3257. if (t1 != null)
  3258. t1.completeError$2(H.unwrapException(object), H.getTraceFromException(object));
  3259. else {
  3260. t1 = H.unwrapException(object);
  3261. t2 = H.getTraceFromException(object);
  3262. controller.controller.addError$2(t1, t2);
  3263. controller.controller.close$0(0);
  3264. }
  3265. return;
  3266. }
  3267. if (object instanceof P._IterationMarker) {
  3268. if (controller.cancelationCompleter != null) {
  3269. bodyFunctionOrErrorCode.call$2(2, null);
  3270. return;
  3271. }
  3272. t1 = object.state;
  3273. if (t1 === 0) {
  3274. t1 = object.value;
  3275. controller.controller.add$1(0, t1);
  3276. P.scheduleMicrotask(new P._asyncStarHelper_closure(controller, bodyFunctionOrErrorCode));
  3277. return;
  3278. } else if (t1 === 1) {
  3279. stream = object.value;
  3280. controller.controller.addStream$2$cancelOnError(stream, false).then$1(new P._asyncStarHelper_closure0(controller, bodyFunctionOrErrorCode));
  3281. return;
  3282. }
  3283. }
  3284. P._awaitOnObject(object, bodyFunctionOrErrorCode);
  3285. },
  3286. _streamOfController: function(controller) {
  3287. var t1 = controller.controller;
  3288. t1.toString;
  3289. return new P._ControllerStream(t1, [H.getTypeArgumentByIndex(t1, 0)]);
  3290. },
  3291. _AsyncStarStreamController$: function(body, $T) {
  3292. var t1 = new P._AsyncStarStreamController([$T]);
  3293. t1._AsyncStarStreamController$1(body, $T);
  3294. return t1;
  3295. },
  3296. _makeAsyncStarStreamController: function(body, $T) {
  3297. return P._AsyncStarStreamController$(body, $T);
  3298. },
  3299. _IterationMarker_yieldStar: function(values) {
  3300. return new P._IterationMarker(values, 1);
  3301. },
  3302. _IterationMarker_endOfIteration: function() {
  3303. return C._IterationMarker_null_2;
  3304. },
  3305. _IterationMarker_yieldSingle: function(value) {
  3306. return new P._IterationMarker(value, 0);
  3307. },
  3308. _IterationMarker_uncaughtError: function(error) {
  3309. return new P._IterationMarker(error, 3);
  3310. },
  3311. _makeSyncStarIterable: function(body, $T) {
  3312. return new P._SyncStarIterable(body, [$T]);
  3313. },
  3314. Future_Future$error: function(error, stackTrace, $T) {
  3315. var t1, replacement;
  3316. if (error == null)
  3317. error = new P.NullThrownError();
  3318. t1 = $.Zone__current;
  3319. if (t1 !== C.C__RootZone) {
  3320. replacement = t1.errorCallback$2(error, stackTrace);
  3321. if (replacement != null) {
  3322. error = replacement.error;
  3323. if (error == null)
  3324. error = new P.NullThrownError();
  3325. stackTrace = replacement.stackTrace;
  3326. }
  3327. }
  3328. t1 = new P._Future($.Zone__current, [$T]);
  3329. t1._asyncCompleteError$2(error, stackTrace);
  3330. return t1;
  3331. },
  3332. Future_wait: function(futures, $T) {
  3333. var handleError, future, pos, e, st, t3, exception, _box_0 = {}, cleanUp = null,
  3334. eagerError = false,
  3335. t1 = [P.List, $T],
  3336. t2 = [t1],
  3337. result = new P._Future($.Zone__current, t2);
  3338. _box_0.values = null;
  3339. _box_0.remaining = 0;
  3340. _box_0.stackTrace = _box_0.error = null;
  3341. handleError = new P.Future_wait_handleError(_box_0, cleanUp, eagerError, result);
  3342. try {
  3343. for (t3 = J.get$iterator$ax(futures); t3.moveNext$0();) {
  3344. future = t3.get$current(t3);
  3345. pos = _box_0.remaining;
  3346. future.then$1$2$onError(new P.Future_wait_closure(_box_0, pos, result, cleanUp, eagerError, $T), handleError, null);
  3347. ++_box_0.remaining;
  3348. }
  3349. t3 = _box_0.remaining;
  3350. if (t3 === 0) {
  3351. t2 = new P._Future($.Zone__current, t2);
  3352. t2._asyncComplete$1(C.List_empty14);
  3353. return t2;
  3354. }
  3355. t2 = new Array(t3);
  3356. t2.fixed$length = Array;
  3357. _box_0.values = H.setRuntimeTypeInfo(t2, [$T]);
  3358. } catch (exception) {
  3359. e = H.unwrapException(exception);
  3360. st = H.getTraceFromException(exception);
  3361. if (_box_0.remaining === 0 || eagerError)
  3362. return P.Future_Future$error(e, st, t1);
  3363. else {
  3364. _box_0.error = e;
  3365. _box_0.stackTrace = st;
  3366. }
  3367. }
  3368. return result;
  3369. },
  3370. _Future$zoneValue: function(value, _zone, $T) {
  3371. var t1 = new P._Future(_zone, [$T]);
  3372. t1._async$_state = 4;
  3373. t1._resultOrListeners = value;
  3374. return t1;
  3375. },
  3376. _Future__chainForeignFuture: function(source, target) {
  3377. var e, s, exception;
  3378. target._async$_state = 1;
  3379. try {
  3380. source.then$1$2$onError(new P._Future__chainForeignFuture_closure(target), new P._Future__chainForeignFuture_closure0(target), null);
  3381. } catch (exception) {
  3382. e = H.unwrapException(exception);
  3383. s = H.getTraceFromException(exception);
  3384. P.scheduleMicrotask(new P._Future__chainForeignFuture_closure1(target, e, s));
  3385. }
  3386. },
  3387. _Future__chainCoreFuture: function(source, target) {
  3388. var t1, listeners;
  3389. for (; t1 = source._async$_state, t1 === 2;)
  3390. source = source._resultOrListeners;
  3391. if (t1 >= 4) {
  3392. listeners = target._removeListeners$0();
  3393. target._async$_state = source._async$_state;
  3394. target._resultOrListeners = source._resultOrListeners;
  3395. P._Future__propagateToListeners(target, listeners);
  3396. } else {
  3397. listeners = target._resultOrListeners;
  3398. target._async$_state = 2;
  3399. target._resultOrListeners = source;
  3400. source._prependListeners$1(listeners);
  3401. }
  3402. },
  3403. _Future__propagateToListeners: function(source, listeners) {
  3404. var _box_0, hasError, t2, listeners0, sourceResult, t3, zone, oldZone, current, result, _box_1 = {},
  3405. t1 = _box_1.source = source;
  3406. for (; true;) {
  3407. _box_0 = {};
  3408. hasError = t1._async$_state === 8;
  3409. if (listeners == null) {
  3410. if (hasError) {
  3411. t2 = t1._resultOrListeners;
  3412. t1._zone.handleUncaughtError$2(t2.error, t2.stackTrace);
  3413. }
  3414. return;
  3415. }
  3416. for (; listeners0 = listeners._nextListener, listeners0 != null; listeners = listeners0) {
  3417. listeners._nextListener = null;
  3418. P._Future__propagateToListeners(_box_1.source, listeners);
  3419. }
  3420. t1 = _box_1.source;
  3421. sourceResult = t1._resultOrListeners;
  3422. _box_0.listenerHasError = hasError;
  3423. _box_0.listenerValueOrError = sourceResult;
  3424. t2 = !hasError;
  3425. if (t2) {
  3426. t3 = listeners.state;
  3427. t3 = (t3 & 1) !== 0 || t3 === 8;
  3428. } else
  3429. t3 = true;
  3430. if (t3) {
  3431. t3 = listeners.result;
  3432. zone = t3._zone;
  3433. if (hasError) {
  3434. t1 = t1._zone;
  3435. t1.toString;
  3436. t1 = !(t1 == zone || t1.get$errorZone() === zone.get$errorZone());
  3437. } else
  3438. t1 = false;
  3439. if (t1) {
  3440. t1 = _box_1.source;
  3441. t2 = t1._resultOrListeners;
  3442. t1._zone.handleUncaughtError$2(t2.error, t2.stackTrace);
  3443. return;
  3444. }
  3445. oldZone = $.Zone__current;
  3446. if (oldZone != zone)
  3447. $.Zone__current = zone;
  3448. else
  3449. oldZone = null;
  3450. t1 = listeners.state;
  3451. if (t1 === 8)
  3452. new P._Future__propagateToListeners_handleWhenCompleteCallback(_box_1, _box_0, listeners, hasError).call$0();
  3453. else if (t2) {
  3454. if ((t1 & 1) !== 0)
  3455. new P._Future__propagateToListeners_handleValueCallback(_box_0, listeners, sourceResult).call$0();
  3456. } else if ((t1 & 2) !== 0)
  3457. new P._Future__propagateToListeners_handleError(_box_1, _box_0, listeners).call$0();
  3458. if (oldZone != null)
  3459. $.Zone__current = oldZone;
  3460. t1 = _box_0.listenerValueOrError;
  3461. if (!!J.getInterceptor$(t1).$isFuture) {
  3462. if (t1._async$_state >= 4) {
  3463. current = t3._resultOrListeners;
  3464. t3._resultOrListeners = null;
  3465. listeners = t3._reverseListeners$1(current);
  3466. t3._async$_state = t1._async$_state;
  3467. t3._resultOrListeners = t1._resultOrListeners;
  3468. _box_1.source = t1;
  3469. continue;
  3470. } else
  3471. P._Future__chainCoreFuture(t1, t3);
  3472. return;
  3473. }
  3474. }
  3475. result = listeners.result;
  3476. current = result._resultOrListeners;
  3477. result._resultOrListeners = null;
  3478. listeners = result._reverseListeners$1(current);
  3479. t1 = _box_0.listenerHasError;
  3480. t2 = _box_0.listenerValueOrError;
  3481. if (!t1) {
  3482. result._async$_state = 4;
  3483. result._resultOrListeners = t2;
  3484. } else {
  3485. result._async$_state = 8;
  3486. result._resultOrListeners = t2;
  3487. }
  3488. _box_1.source = result;
  3489. t1 = result;
  3490. }
  3491. },
  3492. _registerErrorHandler: function(errorHandler, zone) {
  3493. if (H.functionTypeTest(errorHandler, {func: 1, args: [P.Object, P.StackTrace]}))
  3494. return zone.registerBinaryCallback$1(errorHandler);
  3495. if (H.functionTypeTest(errorHandler, {func: 1, args: [P.Object]}))
  3496. return zone.registerUnaryCallback$1(errorHandler);
  3497. throw H.wrapException(P.ArgumentError$value(errorHandler, "onError", "Error handler must accept one Object or one Object and a StackTrace as arguments, and return a a valid result"));
  3498. },
  3499. _microtaskLoop: function() {
  3500. var t1, t2;
  3501. for (; t1 = $._nextCallback, t1 != null;) {
  3502. $._lastPriorityCallback = null;
  3503. t2 = t1.next;
  3504. $._nextCallback = t2;
  3505. if (t2 == null)
  3506. $._lastCallback = null;
  3507. t1.callback.call$0();
  3508. }
  3509. },
  3510. _startMicrotaskLoop: function() {
  3511. $._isInCallbackLoop = true;
  3512. try {
  3513. P._microtaskLoop();
  3514. } finally {
  3515. $._lastPriorityCallback = null;
  3516. $._isInCallbackLoop = false;
  3517. if ($._nextCallback != null)
  3518. $.$get$_AsyncRun__scheduleImmediateClosure().call$1(P.async___startMicrotaskLoop$closure());
  3519. }
  3520. },
  3521. _scheduleAsyncCallback: function(callback) {
  3522. var newEntry = new P._AsyncCallbackEntry(callback);
  3523. if ($._nextCallback == null) {
  3524. $._nextCallback = $._lastCallback = newEntry;
  3525. if (!$._isInCallbackLoop)
  3526. $.$get$_AsyncRun__scheduleImmediateClosure().call$1(P.async___startMicrotaskLoop$closure());
  3527. } else
  3528. $._lastCallback = $._lastCallback.next = newEntry;
  3529. },
  3530. _schedulePriorityAsyncCallback: function(callback) {
  3531. var entry, t2,
  3532. t1 = $._nextCallback;
  3533. if (t1 == null) {
  3534. P._scheduleAsyncCallback(callback);
  3535. $._lastPriorityCallback = $._lastCallback;
  3536. return;
  3537. }
  3538. entry = new P._AsyncCallbackEntry(callback);
  3539. t2 = $._lastPriorityCallback;
  3540. if (t2 == null) {
  3541. entry.next = t1;
  3542. $._nextCallback = $._lastPriorityCallback = entry;
  3543. } else {
  3544. entry.next = t2.next;
  3545. $._lastPriorityCallback = t2.next = entry;
  3546. if (entry.next == null)
  3547. $._lastCallback = entry;
  3548. }
  3549. },
  3550. scheduleMicrotask: function(callback) {
  3551. var t1, _null = null,
  3552. currentZone = $.Zone__current;
  3553. if (C.C__RootZone === currentZone) {
  3554. P._rootScheduleMicrotask(_null, _null, C.C__RootZone, callback);
  3555. return;
  3556. }
  3557. if (C.C__RootZone === currentZone.get$_scheduleMicrotask().zone)
  3558. t1 = C.C__RootZone.get$errorZone() === currentZone.get$errorZone();
  3559. else
  3560. t1 = false;
  3561. if (t1) {
  3562. P._rootScheduleMicrotask(_null, _null, currentZone, currentZone.registerCallback$1(callback));
  3563. return;
  3564. }
  3565. t1 = $.Zone__current;
  3566. t1.scheduleMicrotask$1(t1.bindCallbackGuarded$1(callback));
  3567. },
  3568. Stream_Stream$fromFuture: function(future, $T) {
  3569. var _null = null,
  3570. controller = P.StreamController_StreamController(_null, _null, _null, _null, true, $T);
  3571. future.then$1$2$onError(new P.Stream_Stream$fromFuture_closure(controller, $T), new P.Stream_Stream$fromFuture_closure0(controller), _null);
  3572. return new P._ControllerStream(controller, [H.getTypeArgumentByIndex(controller, 0)]);
  3573. },
  3574. StreamIterator_StreamIterator: function(stream) {
  3575. return new P._StreamIterator(stream == null ? H.throwExpression(P.ArgumentError$notNull("stream")) : stream);
  3576. },
  3577. StreamController_StreamController: function(onCancel, onListen, onPause, onResume, sync, $T) {
  3578. return sync ? new P._SyncStreamController(onListen, onPause, onResume, onCancel, [$T]) : new P._AsyncStreamController(onListen, onPause, onResume, onCancel, [$T]);
  3579. },
  3580. _runGuarded: function(notificationHandler) {
  3581. var e, s, exception;
  3582. if (notificationHandler == null)
  3583. return;
  3584. try {
  3585. notificationHandler.call$0();
  3586. } catch (exception) {
  3587. e = H.unwrapException(exception);
  3588. s = H.getTraceFromException(exception);
  3589. $.Zone__current.handleUncaughtError$2(e, s);
  3590. }
  3591. },
  3592. _nullDataHandler: function(value) {
  3593. },
  3594. _nullErrorHandler: function(error, stackTrace) {
  3595. $.Zone__current.handleUncaughtError$2(error, stackTrace);
  3596. },
  3597. _nullDoneHandler: function() {
  3598. },
  3599. _StreamIterator$: function(stream) {
  3600. return new P._StreamIterator(stream == null ? H.throwExpression(P.ArgumentError$notNull("stream")) : stream);
  3601. },
  3602. _addErrorWithReplacement: function(sink, error, stackTrace) {
  3603. var replacement = $.Zone__current.errorCallback$2(error, stackTrace);
  3604. if (replacement != null) {
  3605. error = replacement.error;
  3606. if (error == null)
  3607. error = new P.NullThrownError();
  3608. stackTrace = replacement.stackTrace;
  3609. }
  3610. sink._addError$2(error, stackTrace);
  3611. },
  3612. Timer_Timer: function(duration, callback) {
  3613. var t1 = $.Zone__current;
  3614. if (t1 === C.C__RootZone)
  3615. return t1.createTimer$2(duration, callback);
  3616. return t1.createTimer$2(duration, t1.bindCallbackGuarded$1(callback));
  3617. },
  3618. _parentDelegate: function(zone) {
  3619. if (zone.get$parent() == null)
  3620. return;
  3621. return zone.get$parent().get$_delegate();
  3622. },
  3623. _rootHandleUncaughtError: function($self, $parent, zone, error, stackTrace) {
  3624. var t1 = {};
  3625. t1.error = error;
  3626. P._schedulePriorityAsyncCallback(new P._rootHandleUncaughtError_closure(t1, stackTrace));
  3627. },
  3628. _rootRun: function($self, $parent, zone, f) {
  3629. var old,
  3630. t1 = $.Zone__current;
  3631. if (t1 == zone)
  3632. return f.call$0();
  3633. $.Zone__current = zone;
  3634. old = t1;
  3635. try {
  3636. t1 = f.call$0();
  3637. return t1;
  3638. } finally {
  3639. $.Zone__current = old;
  3640. }
  3641. },
  3642. _rootRunUnary: function($self, $parent, zone, f, arg) {
  3643. var old,
  3644. t1 = $.Zone__current;
  3645. if (t1 == zone)
  3646. return f.call$1(arg);
  3647. $.Zone__current = zone;
  3648. old = t1;
  3649. try {
  3650. t1 = f.call$1(arg);
  3651. return t1;
  3652. } finally {
  3653. $.Zone__current = old;
  3654. }
  3655. },
  3656. _rootRunBinary: function($self, $parent, zone, f, arg1, arg2) {
  3657. var old,
  3658. t1 = $.Zone__current;
  3659. if (t1 == zone)
  3660. return f.call$2(arg1, arg2);
  3661. $.Zone__current = zone;
  3662. old = t1;
  3663. try {
  3664. t1 = f.call$2(arg1, arg2);
  3665. return t1;
  3666. } finally {
  3667. $.Zone__current = old;
  3668. }
  3669. },
  3670. _rootRegisterCallback: function($self, $parent, zone, f) {
  3671. return f;
  3672. },
  3673. _rootRegisterUnaryCallback: function($self, $parent, zone, f) {
  3674. return f;
  3675. },
  3676. _rootRegisterBinaryCallback: function($self, $parent, zone, f) {
  3677. return f;
  3678. },
  3679. _rootErrorCallback: function($self, $parent, zone, error, stackTrace) {
  3680. return;
  3681. },
  3682. _rootScheduleMicrotask: function($self, $parent, zone, f) {
  3683. var t1 = C.C__RootZone !== zone;
  3684. if (t1)
  3685. f = !(!t1 || C.C__RootZone.get$errorZone() === zone.get$errorZone()) ? zone.bindCallbackGuarded$1(f) : zone.bindCallback$1(f);
  3686. P._scheduleAsyncCallback(f);
  3687. },
  3688. _rootCreateTimer: function($self, $parent, zone, duration, callback) {
  3689. callback = zone.bindCallback$1(callback);
  3690. return P.Timer__createTimer(duration, callback);
  3691. },
  3692. _rootCreatePeriodicTimer: function($self, $parent, zone, duration, callback) {
  3693. var milliseconds;
  3694. callback = zone.bindUnaryCallback$2$1(callback, null, P.Timer);
  3695. milliseconds = C.JSInt_methods._tdivFast$1(duration._duration, 1000);
  3696. return P._TimerImpl$periodic(milliseconds < 0 ? 0 : milliseconds, callback);
  3697. },
  3698. _rootPrint: function($self, $parent, zone, line) {
  3699. H.printString(line);
  3700. },
  3701. _printToZone: function(line) {
  3702. $.Zone__current.print$1(line);
  3703. },
  3704. _rootFork: function($self, $parent, zone, specification, zoneValues) {
  3705. var valueMap, t1, t2;
  3706. $.printToZone = P.async___printToZone$closure();
  3707. if (specification == null)
  3708. specification = C._ZoneSpecification_ALf;
  3709. if (zoneValues == null)
  3710. valueMap = zone.get$_async$_map();
  3711. else
  3712. valueMap = P.HashMap_HashMap$from(zoneValues, null, null);
  3713. t1 = new P._CustomZone(zone, valueMap);
  3714. t2 = zone.get$_run();
  3715. t1._run = t2;
  3716. t2 = zone.get$_runUnary();
  3717. t1._runUnary = t2;
  3718. t2 = zone.get$_runBinary();
  3719. t1._runBinary = t2;
  3720. t2 = zone.get$_registerCallback();
  3721. t1._registerCallback = t2;
  3722. t2 = zone.get$_registerUnaryCallback();
  3723. t1._registerUnaryCallback = t2;
  3724. t2 = zone.get$_registerBinaryCallback();
  3725. t1._registerBinaryCallback = t2;
  3726. t2 = zone.get$_errorCallback();
  3727. t1._errorCallback = t2;
  3728. t2 = zone.get$_scheduleMicrotask();
  3729. t1._scheduleMicrotask = t2;
  3730. t2 = zone.get$_createTimer();
  3731. t1._createTimer = t2;
  3732. t2 = zone.get$_createPeriodicTimer();
  3733. t1._createPeriodicTimer = t2;
  3734. t2 = zone.get$_print();
  3735. t1._print = t2;
  3736. t2 = zone.get$_fork();
  3737. t1._fork = t2;
  3738. t2 = specification.handleUncaughtError;
  3739. t1._handleUncaughtError = t2 != null ? new P._ZoneFunction(t1, t2) : zone.get$_handleUncaughtError();
  3740. return t1;
  3741. },
  3742. runZoned: function(body, zoneValues) {
  3743. var zoneSpecification = null,
  3744. t1 = P._runZoned(body, zoneValues, zoneSpecification);
  3745. return t1;
  3746. },
  3747. _runZoned: function(body, zoneValues, specification) {
  3748. return $.Zone__current.fork$2$specification$zoneValues(specification, zoneValues).run$1(0, body);
  3749. },
  3750. _AsyncRun__initializeScheduleImmediate_internalCallback: function _AsyncRun__initializeScheduleImmediate_internalCallback(t0) {
  3751. this._box_0 = t0;
  3752. },
  3753. _AsyncRun__initializeScheduleImmediate_closure: function _AsyncRun__initializeScheduleImmediate_closure(t0, t1, t2) {
  3754. this._box_0 = t0;
  3755. this.div = t1;
  3756. this.span = t2;
  3757. },
  3758. _AsyncRun__scheduleImmediateJsOverride_internalCallback: function _AsyncRun__scheduleImmediateJsOverride_internalCallback(t0) {
  3759. this.callback = t0;
  3760. },
  3761. _AsyncRun__scheduleImmediateWithSetImmediate_internalCallback: function _AsyncRun__scheduleImmediateWithSetImmediate_internalCallback(t0) {
  3762. this.callback = t0;
  3763. },
  3764. _TimerImpl: function _TimerImpl(t0) {
  3765. this._once = t0;
  3766. this._handle = null;
  3767. this._tick = 0;
  3768. },
  3769. _TimerImpl_internalCallback: function _TimerImpl_internalCallback(t0, t1) {
  3770. this.$this = t0;
  3771. this.callback = t1;
  3772. },
  3773. _TimerImpl$periodic_closure: function _TimerImpl$periodic_closure(t0, t1, t2, t3) {
  3774. var _ = this;
  3775. _.$this = t0;
  3776. _.milliseconds = t1;
  3777. _.start = t2;
  3778. _.callback = t3;
  3779. },
  3780. _AsyncAwaitCompleter: function _AsyncAwaitCompleter(t0, t1) {
  3781. this._completer = t0;
  3782. this.isSync = false;
  3783. this.$ti = t1;
  3784. },
  3785. _AsyncAwaitCompleter_complete_closure: function _AsyncAwaitCompleter_complete_closure(t0, t1) {
  3786. this.$this = t0;
  3787. this.value = t1;
  3788. },
  3789. _AsyncAwaitCompleter_completeError_closure: function _AsyncAwaitCompleter_completeError_closure(t0, t1, t2) {
  3790. this.$this = t0;
  3791. this.e = t1;
  3792. this.st = t2;
  3793. },
  3794. _awaitOnObject_closure: function _awaitOnObject_closure(t0) {
  3795. this.bodyFunction = t0;
  3796. },
  3797. _awaitOnObject_closure0: function _awaitOnObject_closure0(t0) {
  3798. this.bodyFunction = t0;
  3799. },
  3800. _wrapJsFunctionForAsync_closure: function _wrapJsFunctionForAsync_closure(t0) {
  3801. this.$protected = t0;
  3802. },
  3803. _asyncStarHelper_closure: function _asyncStarHelper_closure(t0, t1) {
  3804. this.controller = t0;
  3805. this.bodyFunctionOrErrorCode = t1;
  3806. },
  3807. _asyncStarHelper_closure0: function _asyncStarHelper_closure0(t0, t1) {
  3808. this.controller = t0;
  3809. this.bodyFunctionOrErrorCode = t1;
  3810. },
  3811. _AsyncStarStreamController: function _AsyncStarStreamController(t0) {
  3812. var _ = this;
  3813. _.controller = null;
  3814. _.isSuspended = false;
  3815. _.cancelationCompleter = null;
  3816. _.$ti = t0;
  3817. },
  3818. _AsyncStarStreamController__resumeBody: function _AsyncStarStreamController__resumeBody(t0) {
  3819. this.body = t0;
  3820. },
  3821. _AsyncStarStreamController__resumeBody_closure: function _AsyncStarStreamController__resumeBody_closure(t0) {
  3822. this.body = t0;
  3823. },
  3824. _AsyncStarStreamController_closure0: function _AsyncStarStreamController_closure0(t0) {
  3825. this._resumeBody = t0;
  3826. },
  3827. _AsyncStarStreamController_closure1: function _AsyncStarStreamController_closure1(t0, t1) {
  3828. this.$this = t0;
  3829. this._resumeBody = t1;
  3830. },
  3831. _AsyncStarStreamController_closure: function _AsyncStarStreamController_closure(t0, t1) {
  3832. this.$this = t0;
  3833. this.body = t1;
  3834. },
  3835. _AsyncStarStreamController__closure: function _AsyncStarStreamController__closure(t0) {
  3836. this.body = t0;
  3837. },
  3838. _IterationMarker: function _IterationMarker(t0, t1) {
  3839. this.value = t0;
  3840. this.state = t1;
  3841. },
  3842. _SyncStarIterator: function _SyncStarIterator(t0) {
  3843. var _ = this;
  3844. _._body = t0;
  3845. _._suspendedBodies = _._nestedIterator = _._async$_current = null;
  3846. },
  3847. _SyncStarIterable: function _SyncStarIterable(t0, t1) {
  3848. this._outerHelper = t0;
  3849. this.$ti = t1;
  3850. },
  3851. _BroadcastStream: function _BroadcastStream(t0, t1) {
  3852. this._async$_controller = t0;
  3853. this.$ti = t1;
  3854. },
  3855. _BroadcastSubscription: function _BroadcastSubscription(t0, t1, t2, t3) {
  3856. var _ = this;
  3857. _._eventState = 0;
  3858. _._async$_previous = _._async$_next = null;
  3859. _._async$_controller = t0;
  3860. _._onDone = _._onError = _._onData = null;
  3861. _._zone = t1;
  3862. _._async$_state = t2;
  3863. _._pending = _._cancelFuture = null;
  3864. _.$ti = t3;
  3865. },
  3866. _BroadcastStreamController: function _BroadcastStreamController() {
  3867. },
  3868. _SyncBroadcastStreamController: function _SyncBroadcastStreamController(t0, t1, t2) {
  3869. var _ = this;
  3870. _.onListen = t0;
  3871. _.onCancel = t1;
  3872. _._async$_state = 0;
  3873. _._doneFuture = _._addStreamState = _._lastSubscription = _._firstSubscription = null;
  3874. _.$ti = t2;
  3875. },
  3876. _SyncBroadcastStreamController__sendData_closure: function _SyncBroadcastStreamController__sendData_closure(t0) {
  3877. this.data = t0;
  3878. },
  3879. _SyncBroadcastStreamController__sendError_closure: function _SyncBroadcastStreamController__sendError_closure(t0, t1) {
  3880. this.error = t0;
  3881. this.stackTrace = t1;
  3882. },
  3883. _SyncBroadcastStreamController__sendDone_closure: function _SyncBroadcastStreamController__sendDone_closure() {
  3884. },
  3885. Future: function Future() {
  3886. },
  3887. Future_wait_handleError: function Future_wait_handleError(t0, t1, t2, t3) {
  3888. var _ = this;
  3889. _._box_0 = t0;
  3890. _.cleanUp = t1;
  3891. _.eagerError = t2;
  3892. _.result = t3;
  3893. },
  3894. Future_wait_closure: function Future_wait_closure(t0, t1, t2, t3, t4, t5) {
  3895. var _ = this;
  3896. _._box_0 = t0;
  3897. _.pos = t1;
  3898. _.result = t2;
  3899. _.cleanUp = t3;
  3900. _.eagerError = t4;
  3901. _.T = t5;
  3902. },
  3903. _Completer: function _Completer() {
  3904. },
  3905. _AsyncCompleter: function _AsyncCompleter(t0, t1) {
  3906. this.future = t0;
  3907. this.$ti = t1;
  3908. },
  3909. _SyncCompleter: function _SyncCompleter(t0, t1) {
  3910. this.future = t0;
  3911. this.$ti = t1;
  3912. },
  3913. _FutureListener: function _FutureListener(t0, t1, t2, t3) {
  3914. var _ = this;
  3915. _._nextListener = null;
  3916. _.result = t0;
  3917. _.state = t1;
  3918. _.callback = t2;
  3919. _.errorCallback = t3;
  3920. },
  3921. _Future: function _Future(t0, t1) {
  3922. var _ = this;
  3923. _._async$_state = 0;
  3924. _._zone = t0;
  3925. _._resultOrListeners = null;
  3926. _.$ti = t1;
  3927. },
  3928. _Future__addListener_closure: function _Future__addListener_closure(t0, t1) {
  3929. this.$this = t0;
  3930. this.listener = t1;
  3931. },
  3932. _Future__prependListeners_closure: function _Future__prependListeners_closure(t0, t1) {
  3933. this._box_0 = t0;
  3934. this.$this = t1;
  3935. },
  3936. _Future__chainForeignFuture_closure: function _Future__chainForeignFuture_closure(t0) {
  3937. this.target = t0;
  3938. },
  3939. _Future__chainForeignFuture_closure0: function _Future__chainForeignFuture_closure0(t0) {
  3940. this.target = t0;
  3941. },
  3942. _Future__chainForeignFuture_closure1: function _Future__chainForeignFuture_closure1(t0, t1, t2) {
  3943. this.target = t0;
  3944. this.e = t1;
  3945. this.s = t2;
  3946. },
  3947. _Future__asyncComplete_closure: function _Future__asyncComplete_closure(t0, t1) {
  3948. this.$this = t0;
  3949. this.value = t1;
  3950. },
  3951. _Future__chainFuture_closure: function _Future__chainFuture_closure(t0, t1) {
  3952. this.$this = t0;
  3953. this.value = t1;
  3954. },
  3955. _Future__asyncCompleteError_closure: function _Future__asyncCompleteError_closure(t0, t1, t2) {
  3956. this.$this = t0;
  3957. this.error = t1;
  3958. this.stackTrace = t2;
  3959. },
  3960. _Future__propagateToListeners_handleWhenCompleteCallback: function _Future__propagateToListeners_handleWhenCompleteCallback(t0, t1, t2, t3) {
  3961. var _ = this;
  3962. _._box_1 = t0;
  3963. _._box_0 = t1;
  3964. _.listener = t2;
  3965. _.hasError = t3;
  3966. },
  3967. _Future__propagateToListeners_handleWhenCompleteCallback_closure: function _Future__propagateToListeners_handleWhenCompleteCallback_closure(t0) {
  3968. this.originalSource = t0;
  3969. },
  3970. _Future__propagateToListeners_handleValueCallback: function _Future__propagateToListeners_handleValueCallback(t0, t1, t2) {
  3971. this._box_0 = t0;
  3972. this.listener = t1;
  3973. this.sourceResult = t2;
  3974. },
  3975. _Future__propagateToListeners_handleError: function _Future__propagateToListeners_handleError(t0, t1, t2) {
  3976. this._box_1 = t0;
  3977. this._box_0 = t1;
  3978. this.listener = t2;
  3979. },
  3980. _AsyncCallbackEntry: function _AsyncCallbackEntry(t0) {
  3981. this.callback = t0;
  3982. this.next = null;
  3983. },
  3984. Stream: function Stream() {
  3985. },
  3986. Stream_Stream$fromFuture_closure: function Stream_Stream$fromFuture_closure(t0, t1) {
  3987. this.controller = t0;
  3988. this.T = t1;
  3989. },
  3990. Stream_Stream$fromFuture_closure0: function Stream_Stream$fromFuture_closure0(t0) {
  3991. this.controller = t0;
  3992. },
  3993. Stream_length_closure: function Stream_length_closure(t0, t1) {
  3994. this._box_0 = t0;
  3995. this.$this = t1;
  3996. },
  3997. Stream_length_closure0: function Stream_length_closure0(t0, t1) {
  3998. this._box_0 = t0;
  3999. this.future = t1;
  4000. },
  4001. StreamSubscription: function StreamSubscription() {
  4002. },
  4003. EventSink: function EventSink() {
  4004. },
  4005. StreamTransformerBase: function StreamTransformerBase() {
  4006. },
  4007. _StreamController: function _StreamController() {
  4008. },
  4009. _StreamController__subscribe_closure: function _StreamController__subscribe_closure(t0) {
  4010. this.$this = t0;
  4011. },
  4012. _StreamController__recordCancel_complete: function _StreamController__recordCancel_complete(t0) {
  4013. this.$this = t0;
  4014. },
  4015. _SyncStreamControllerDispatch: function _SyncStreamControllerDispatch() {
  4016. },
  4017. _AsyncStreamControllerDispatch: function _AsyncStreamControllerDispatch() {
  4018. },
  4019. _AsyncStreamController: function _AsyncStreamController(t0, t1, t2, t3, t4) {
  4020. var _ = this;
  4021. _._varData = null;
  4022. _._async$_state = 0;
  4023. _._doneFuture = null;
  4024. _.onListen = t0;
  4025. _.onPause = t1;
  4026. _.onResume = t2;
  4027. _.onCancel = t3;
  4028. _.$ti = t4;
  4029. },
  4030. _SyncStreamController: function _SyncStreamController(t0, t1, t2, t3, t4) {
  4031. var _ = this;
  4032. _._varData = null;
  4033. _._async$_state = 0;
  4034. _._doneFuture = null;
  4035. _.onListen = t0;
  4036. _.onPause = t1;
  4037. _.onResume = t2;
  4038. _.onCancel = t3;
  4039. _.$ti = t4;
  4040. },
  4041. _ControllerStream: function _ControllerStream(t0, t1) {
  4042. this._async$_controller = t0;
  4043. this.$ti = t1;
  4044. },
  4045. _ControllerSubscription: function _ControllerSubscription(t0, t1, t2, t3) {
  4046. var _ = this;
  4047. _._async$_controller = t0;
  4048. _._onDone = _._onError = _._onData = null;
  4049. _._zone = t1;
  4050. _._async$_state = t2;
  4051. _._pending = _._cancelFuture = null;
  4052. _.$ti = t3;
  4053. },
  4054. _AddStreamState: function _AddStreamState() {
  4055. },
  4056. _AddStreamState_cancel_closure: function _AddStreamState_cancel_closure(t0) {
  4057. this.$this = t0;
  4058. },
  4059. _StreamControllerAddStreamState: function _StreamControllerAddStreamState(t0, t1, t2) {
  4060. this.varData = t0;
  4061. this.addStreamFuture = t1;
  4062. this.addSubscription = t2;
  4063. },
  4064. _BufferingStreamSubscription: function _BufferingStreamSubscription() {
  4065. },
  4066. _BufferingStreamSubscription__sendError_sendError: function _BufferingStreamSubscription__sendError_sendError(t0, t1, t2) {
  4067. this.$this = t0;
  4068. this.error = t1;
  4069. this.stackTrace = t2;
  4070. },
  4071. _BufferingStreamSubscription__sendDone_sendDone: function _BufferingStreamSubscription__sendDone_sendDone(t0) {
  4072. this.$this = t0;
  4073. },
  4074. _StreamImpl: function _StreamImpl() {
  4075. },
  4076. _DelayedEvent: function _DelayedEvent() {
  4077. },
  4078. _DelayedData: function _DelayedData(t0) {
  4079. this.value = t0;
  4080. this.next = null;
  4081. },
  4082. _DelayedError: function _DelayedError(t0, t1) {
  4083. this.error = t0;
  4084. this.stackTrace = t1;
  4085. this.next = null;
  4086. },
  4087. _DelayedDone: function _DelayedDone() {
  4088. },
  4089. _PendingEvents: function _PendingEvents() {
  4090. },
  4091. _PendingEvents_schedule_closure: function _PendingEvents_schedule_closure(t0, t1) {
  4092. this.$this = t0;
  4093. this.dispatch = t1;
  4094. },
  4095. _StreamImplEvents: function _StreamImplEvents() {
  4096. this.lastPendingEvent = this.firstPendingEvent = null;
  4097. this._async$_state = 0;
  4098. },
  4099. _DoneStreamSubscription: function _DoneStreamSubscription(t0, t1, t2) {
  4100. var _ = this;
  4101. _._zone = t0;
  4102. _._async$_state = 0;
  4103. _._onDone = t1;
  4104. _.$ti = t2;
  4105. },
  4106. _StreamIterator: function _StreamIterator(t0) {
  4107. this._subscription = null;
  4108. this._stateData = t0;
  4109. this._isPaused = false;
  4110. },
  4111. _ForwardingStream: function _ForwardingStream() {
  4112. },
  4113. _ForwardingStreamSubscription: function _ForwardingStreamSubscription(t0, t1, t2, t3) {
  4114. var _ = this;
  4115. _._stream = t0;
  4116. _._onDone = _._onError = _._onData = _._subscription = null;
  4117. _._zone = t1;
  4118. _._async$_state = t2;
  4119. _._pending = _._cancelFuture = null;
  4120. _.$ti = t3;
  4121. },
  4122. _ExpandStream: function _ExpandStream(t0, t1, t2) {
  4123. this._expand = t0;
  4124. this._async$_source = t1;
  4125. this.$ti = t2;
  4126. },
  4127. Timer: function Timer() {
  4128. },
  4129. AsyncError: function AsyncError(t0, t1) {
  4130. this.error = t0;
  4131. this.stackTrace = t1;
  4132. },
  4133. _ZoneFunction: function _ZoneFunction(t0, t1) {
  4134. this.zone = t0;
  4135. this.$function = t1;
  4136. },
  4137. ZoneSpecification: function ZoneSpecification() {
  4138. },
  4139. _ZoneSpecification: function _ZoneSpecification(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) {
  4140. var _ = this;
  4141. _.handleUncaughtError = t0;
  4142. _.run = t1;
  4143. _.runUnary = t2;
  4144. _.runBinary = t3;
  4145. _.registerCallback = t4;
  4146. _.registerUnaryCallback = t5;
  4147. _.registerBinaryCallback = t6;
  4148. _.errorCallback = t7;
  4149. _.scheduleMicrotask = t8;
  4150. _.createTimer = t9;
  4151. _.createPeriodicTimer = t10;
  4152. _.print = t11;
  4153. _.fork = t12;
  4154. },
  4155. ZoneDelegate: function ZoneDelegate() {
  4156. },
  4157. Zone: function Zone() {
  4158. },
  4159. _ZoneDelegate: function _ZoneDelegate(t0) {
  4160. this._delegationTarget = t0;
  4161. },
  4162. _Zone: function _Zone() {
  4163. },
  4164. _CustomZone: function _CustomZone(t0, t1) {
  4165. var _ = this;
  4166. _._delegateCache = _._handleUncaughtError = _._fork = _._print = _._createPeriodicTimer = _._createTimer = _._scheduleMicrotask = _._errorCallback = _._registerBinaryCallback = _._registerUnaryCallback = _._registerCallback = _._runBinary = _._runUnary = _._run = null;
  4167. _.parent = t0;
  4168. _._async$_map = t1;
  4169. },
  4170. _CustomZone_bindCallback_closure: function _CustomZone_bindCallback_closure(t0, t1) {
  4171. this.$this = t0;
  4172. this.registered = t1;
  4173. },
  4174. _CustomZone_bindUnaryCallback_closure: function _CustomZone_bindUnaryCallback_closure(t0, t1, t2, t3) {
  4175. var _ = this;
  4176. _.$this = t0;
  4177. _.registered = t1;
  4178. _.T = t2;
  4179. _.R = t3;
  4180. },
  4181. _CustomZone_bindCallbackGuarded_closure: function _CustomZone_bindCallbackGuarded_closure(t0, t1) {
  4182. this.$this = t0;
  4183. this.registered = t1;
  4184. },
  4185. _rootHandleUncaughtError_closure: function _rootHandleUncaughtError_closure(t0, t1) {
  4186. this._box_0 = t0;
  4187. this.stackTrace = t1;
  4188. },
  4189. _RootZone: function _RootZone() {
  4190. },
  4191. _RootZone_bindCallback_closure: function _RootZone_bindCallback_closure(t0, t1) {
  4192. this.$this = t0;
  4193. this.f = t1;
  4194. },
  4195. _RootZone_bindCallbackGuarded_closure: function _RootZone_bindCallbackGuarded_closure(t0, t1) {
  4196. this.$this = t0;
  4197. this.f = t1;
  4198. },
  4199. HashMap_HashMap: function($K, $V) {
  4200. return new P._HashMap([$K, $V]);
  4201. },
  4202. _HashMap__getTableEntry: function(table, key) {
  4203. var entry = table[key];
  4204. return entry === table ? null : entry;
  4205. },
  4206. _HashMap__setTableEntry: function(table, key, value) {
  4207. if (value == null)
  4208. table[key] = table;
  4209. else
  4210. table[key] = value;
  4211. },
  4212. _HashMap__newHashTable: function() {
  4213. var table = Object.create(null);
  4214. P._HashMap__setTableEntry(table, "<non-identifier-key>", table);
  4215. delete table["<non-identifier-key>"];
  4216. return table;
  4217. },
  4218. LinkedHashMap_LinkedHashMap: function(equals, hashCode, isValidKey, $K, $V) {
  4219. if (isValidKey == null)
  4220. if (hashCode == null) {
  4221. if (equals == null)
  4222. return new H.JsLinkedHashMap([$K, $V]);
  4223. hashCode = P.collection___defaultHashCode$closure();
  4224. } else {
  4225. if (P.core__identityHashCode$closure() === hashCode && P.core__identical$closure() === equals)
  4226. return P._LinkedIdentityHashMap__LinkedIdentityHashMap$es6($K, $V);
  4227. if (equals == null)
  4228. equals = P.collection___defaultEquals$closure();
  4229. }
  4230. else {
  4231. if (hashCode == null)
  4232. hashCode = P.collection___defaultHashCode$closure();
  4233. if (equals == null)
  4234. equals = P.collection___defaultEquals$closure();
  4235. }
  4236. return P._LinkedCustomHashMap$(equals, hashCode, isValidKey, $K, $V);
  4237. },
  4238. LinkedHashMap_LinkedHashMap$_literal: function(keyValuePairs, $K, $V) {
  4239. return H.fillLiteralMap(keyValuePairs, new H.JsLinkedHashMap([$K, $V]));
  4240. },
  4241. LinkedHashMap_LinkedHashMap$_empty: function($K, $V) {
  4242. return new H.JsLinkedHashMap([$K, $V]);
  4243. },
  4244. LinkedHashMap__makeLiteral: function(keyValuePairs) {
  4245. return H.fillLiteralMap(keyValuePairs, new H.JsLinkedHashMap([null, null]));
  4246. },
  4247. _LinkedIdentityHashMap__LinkedIdentityHashMap$es6: function($K, $V) {
  4248. return new P._LinkedIdentityHashMap([$K, $V]);
  4249. },
  4250. _LinkedCustomHashMap$: function(_equals, _hashCode, validKey, $K, $V) {
  4251. var t1 = validKey != null ? validKey : new P._LinkedCustomHashMap_closure($K);
  4252. return new P._LinkedCustomHashMap(_equals, _hashCode, t1, [$K, $V]);
  4253. },
  4254. LinkedHashSet_LinkedHashSet: function($E) {
  4255. return new P._LinkedHashSet([$E]);
  4256. },
  4257. LinkedHashSet_LinkedHashSet$_empty: function($E) {
  4258. return new P._LinkedHashSet([$E]);
  4259. },
  4260. LinkedHashSet_LinkedHashSet$_literal: function(values, $E) {
  4261. return H.fillLiteralSet(values, new P._LinkedHashSet([$E]));
  4262. },
  4263. _LinkedHashSet__newHashTable: function() {
  4264. var table = Object.create(null);
  4265. table["<non-identifier-key>"] = table;
  4266. delete table["<non-identifier-key>"];
  4267. return table;
  4268. },
  4269. _LinkedHashSetIterator$: function(_set, _modifications) {
  4270. var t1 = new P._LinkedHashSetIterator(_set, _modifications);
  4271. t1._collection$_cell = _set._collection$_first;
  4272. return t1;
  4273. },
  4274. UnmodifiableListView$: function(source, $E) {
  4275. return new P.UnmodifiableListView(source, [$E]);
  4276. },
  4277. _defaultEquals: function(a, b) {
  4278. return J.$eq$(a, b);
  4279. },
  4280. _defaultHashCode: function(a) {
  4281. return J.get$hashCode$(a);
  4282. },
  4283. HashMap_HashMap$from: function(other, $K, $V) {
  4284. var result = P.HashMap_HashMap($K, $V);
  4285. other.forEach$1(0, new P.HashMap_HashMap$from_closure(result));
  4286. return result;
  4287. },
  4288. IterableBase_iterableToShortString: function(iterable, leftDelimiter, rightDelimiter) {
  4289. var parts, t1;
  4290. if (P._isToStringVisiting(iterable)) {
  4291. if (leftDelimiter === "(" && rightDelimiter === ")")
  4292. return "(...)";
  4293. return leftDelimiter + "..." + rightDelimiter;
  4294. }
  4295. parts = H.setRuntimeTypeInfo([], [P.String]);
  4296. $._toStringVisiting.push(iterable);
  4297. try {
  4298. P._iterablePartsToStrings(iterable, parts);
  4299. } finally {
  4300. $._toStringVisiting.pop();
  4301. }
  4302. t1 = P.StringBuffer__writeAll(leftDelimiter, parts, ", ") + rightDelimiter;
  4303. return t1.charCodeAt(0) == 0 ? t1 : t1;
  4304. },
  4305. IterableBase_iterableToFullString: function(iterable, leftDelimiter, rightDelimiter) {
  4306. var buffer, t1;
  4307. if (P._isToStringVisiting(iterable))
  4308. return leftDelimiter + "..." + rightDelimiter;
  4309. buffer = new P.StringBuffer(leftDelimiter);
  4310. $._toStringVisiting.push(iterable);
  4311. try {
  4312. t1 = buffer;
  4313. t1._contents = P.StringBuffer__writeAll(t1._contents, iterable, ", ");
  4314. } finally {
  4315. $._toStringVisiting.pop();
  4316. }
  4317. buffer._contents += rightDelimiter;
  4318. t1 = buffer._contents;
  4319. return t1.charCodeAt(0) == 0 ? t1 : t1;
  4320. },
  4321. _isToStringVisiting: function(o) {
  4322. var t1, i;
  4323. for (t1 = $._toStringVisiting.length, i = 0; i < t1; ++i)
  4324. if (o === $._toStringVisiting[i])
  4325. return true;
  4326. return false;
  4327. },
  4328. _iterablePartsToStrings: function(iterable, parts) {
  4329. var next, ultimateString, penultimateString, penultimate, ultimate, ultimate0, elision,
  4330. it = iterable.get$iterator(iterable),
  4331. $length = 0, count = 0;
  4332. while (true) {
  4333. if (!($length < 80 || count < 3))
  4334. break;
  4335. if (!it.moveNext$0())
  4336. return;
  4337. next = H.S(it.get$current(it));
  4338. parts.push(next);
  4339. $length += next.length + 2;
  4340. ++count;
  4341. }
  4342. if (!it.moveNext$0()) {
  4343. if (count <= 5)
  4344. return;
  4345. ultimateString = parts.pop();
  4346. penultimateString = parts.pop();
  4347. } else {
  4348. penultimate = it.get$current(it);
  4349. ++count;
  4350. if (!it.moveNext$0()) {
  4351. if (count <= 4) {
  4352. parts.push(H.S(penultimate));
  4353. return;
  4354. }
  4355. ultimateString = H.S(penultimate);
  4356. penultimateString = parts.pop();
  4357. $length += ultimateString.length + 2;
  4358. } else {
  4359. ultimate = it.get$current(it);
  4360. ++count;
  4361. for (; it.moveNext$0(); penultimate = ultimate, ultimate = ultimate0) {
  4362. ultimate0 = it.get$current(it);
  4363. ++count;
  4364. if (count > 100) {
  4365. while (true) {
  4366. if (!($length > 75 && count > 3))
  4367. break;
  4368. $length -= parts.pop().length + 2;
  4369. --count;
  4370. }
  4371. parts.push("...");
  4372. return;
  4373. }
  4374. }
  4375. penultimateString = H.S(penultimate);
  4376. ultimateString = H.S(ultimate);
  4377. $length += ultimateString.length + penultimateString.length + 4;
  4378. }
  4379. }
  4380. if (count > parts.length + 2) {
  4381. $length += 5;
  4382. elision = "...";
  4383. } else
  4384. elision = null;
  4385. while (true) {
  4386. if (!($length > 80 && parts.length > 3))
  4387. break;
  4388. $length -= parts.pop().length + 2;
  4389. if (elision == null) {
  4390. $length += 5;
  4391. elision = "...";
  4392. }
  4393. }
  4394. if (elision != null)
  4395. parts.push(elision);
  4396. parts.push(penultimateString);
  4397. parts.push(ultimateString);
  4398. },
  4399. LinkedHashMap_LinkedHashMap$from: function(other, $K, $V) {
  4400. var result = P.LinkedHashMap_LinkedHashMap(null, null, null, $K, $V);
  4401. other.forEach$1(0, new P.LinkedHashMap_LinkedHashMap$from_closure(result));
  4402. return result;
  4403. },
  4404. LinkedHashMap_LinkedHashMap$of: function(other, $K, $V) {
  4405. var t1 = P.LinkedHashMap_LinkedHashMap(null, null, null, $K, $V);
  4406. t1.addAll$1(0, other);
  4407. return t1;
  4408. },
  4409. LinkedHashSet_LinkedHashSet$from: function(elements, $E) {
  4410. var t1,
  4411. result = P.LinkedHashSet_LinkedHashSet($E);
  4412. for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();)
  4413. result.add$1(0, t1.get$current(t1));
  4414. return result;
  4415. },
  4416. LinkedHashSet_LinkedHashSet$of: function(elements, $E) {
  4417. var t1 = P.LinkedHashSet_LinkedHashSet($E);
  4418. t1.addAll$1(0, elements);
  4419. return t1;
  4420. },
  4421. MapBase_mapToString: function(m) {
  4422. var result, t1 = {};
  4423. if (P._isToStringVisiting(m))
  4424. return "{...}";
  4425. result = new P.StringBuffer("");
  4426. try {
  4427. $._toStringVisiting.push(m);
  4428. result._contents += "{";
  4429. t1.first = true;
  4430. m.forEach$1(0, new P.MapBase_mapToString_closure(t1, result));
  4431. result._contents += "}";
  4432. } finally {
  4433. $._toStringVisiting.pop();
  4434. }
  4435. t1 = result._contents;
  4436. return t1.charCodeAt(0) == 0 ? t1 : t1;
  4437. },
  4438. MapBase__id: function(x) {
  4439. return x;
  4440. },
  4441. MapBase__fillMapWithMappedIterable: function(map, iterable, key, value) {
  4442. var t1, _i, element;
  4443. for (t1 = iterable.length, _i = 0; _i < t1; ++_i) {
  4444. element = iterable[_i];
  4445. map.$indexSet(0, P.collection_MapBase__id$closure().call$1(element), value.call$1(element));
  4446. }
  4447. },
  4448. MapBase__fillMapWithIterables: function(map, keys, values) {
  4449. var keyIterator = keys.get$iterator(keys),
  4450. valueIterator = values.get$iterator(values),
  4451. hasNextKey = keyIterator.moveNext$0(),
  4452. hasNextValue = valueIterator.moveNext$0();
  4453. while (true) {
  4454. if (!(hasNextKey && hasNextValue))
  4455. break;
  4456. map.$indexSet(0, keyIterator.get$current(keyIterator), valueIterator.get$current(valueIterator));
  4457. hasNextKey = keyIterator.moveNext$0();
  4458. hasNextValue = valueIterator.moveNext$0();
  4459. }
  4460. if (hasNextKey || hasNextValue)
  4461. throw H.wrapException(P.ArgumentError$("Iterables do not have same length."));
  4462. },
  4463. ListQueue$: function($E) {
  4464. var t1 = new P.ListQueue([$E]),
  4465. t2 = new Array(8);
  4466. t2.fixed$length = Array;
  4467. t1._collection$_table = H.setRuntimeTypeInfo(t2, [$E]);
  4468. return t1;
  4469. },
  4470. ListQueue_ListQueue$of: function(elements, $E) {
  4471. var t1 = P.ListQueue$($E);
  4472. t1.addAll$1(0, elements);
  4473. return t1;
  4474. },
  4475. ListQueue__nextPowerOf2: function(number) {
  4476. var nextNumber;
  4477. number = (number << 1 >>> 0) - 1;
  4478. for (; true; number = nextNumber) {
  4479. nextNumber = (number & number - 1) >>> 0;
  4480. if (nextNumber === 0)
  4481. return number;
  4482. }
  4483. },
  4484. _ListQueueIterator$: function(queue) {
  4485. return new P._ListQueueIterator(queue, queue._collection$_tail, queue._modificationCount, queue._collection$_head);
  4486. },
  4487. _HashMap: function _HashMap(t0) {
  4488. var _ = this;
  4489. _._collection$_length = 0;
  4490. _._collection$_keys = _._collection$_rest = _._collection$_nums = _._collection$_strings = null;
  4491. _.$ti = t0;
  4492. },
  4493. _HashMap_values_closure: function _HashMap_values_closure(t0) {
  4494. this.$this = t0;
  4495. },
  4496. _HashMap_addAll_closure: function _HashMap_addAll_closure(t0) {
  4497. this.$this = t0;
  4498. },
  4499. _HashMapKeyIterable: function _HashMapKeyIterable(t0, t1) {
  4500. this._collection$_map = t0;
  4501. this.$ti = t1;
  4502. },
  4503. _HashMapKeyIterator: function _HashMapKeyIterator(t0, t1) {
  4504. var _ = this;
  4505. _._collection$_map = t0;
  4506. _._collection$_keys = t1;
  4507. _._offset = 0;
  4508. _._collection$_current = null;
  4509. },
  4510. _LinkedIdentityHashMap: function _LinkedIdentityHashMap(t0) {
  4511. var _ = this;
  4512. _.__js_helper$_length = 0;
  4513. _._last = _._first = _._rest = _._nums = _._strings = null;
  4514. _._modifications = 0;
  4515. _.$ti = t0;
  4516. },
  4517. _LinkedCustomHashMap: function _LinkedCustomHashMap(t0, t1, t2, t3) {
  4518. var _ = this;
  4519. _._equals = t0;
  4520. _._collection$_hashCode = t1;
  4521. _._validKey = t2;
  4522. _.__js_helper$_length = 0;
  4523. _._last = _._first = _._rest = _._nums = _._strings = null;
  4524. _._modifications = 0;
  4525. _.$ti = t3;
  4526. },
  4527. _LinkedCustomHashMap_closure: function _LinkedCustomHashMap_closure(t0) {
  4528. this.K = t0;
  4529. },
  4530. _LinkedHashSet: function _LinkedHashSet(t0) {
  4531. var _ = this;
  4532. _._collection$_length = 0;
  4533. _._collection$_last = _._collection$_first = _._collection$_rest = _._collection$_nums = _._collection$_strings = null;
  4534. _._collection$_modifications = 0;
  4535. _.$ti = t0;
  4536. },
  4537. _LinkedIdentityHashSet: function _LinkedIdentityHashSet(t0) {
  4538. var _ = this;
  4539. _._collection$_length = 0;
  4540. _._collection$_last = _._collection$_first = _._collection$_rest = _._collection$_nums = _._collection$_strings = null;
  4541. _._collection$_modifications = 0;
  4542. _.$ti = t0;
  4543. },
  4544. _LinkedHashSetCell: function _LinkedHashSetCell(t0) {
  4545. this._element = t0;
  4546. this._collection$_previous = this._collection$_next = null;
  4547. },
  4548. _LinkedHashSetIterator: function _LinkedHashSetIterator(t0, t1) {
  4549. var _ = this;
  4550. _._set = t0;
  4551. _._collection$_modifications = t1;
  4552. _._collection$_current = _._collection$_cell = null;
  4553. },
  4554. UnmodifiableListView: function UnmodifiableListView(t0, t1) {
  4555. this._collection$_source = t0;
  4556. this.$ti = t1;
  4557. },
  4558. HashMap_HashMap$from_closure: function HashMap_HashMap$from_closure(t0) {
  4559. this.result = t0;
  4560. },
  4561. IterableBase: function IterableBase() {
  4562. },
  4563. LinkedHashMap_LinkedHashMap$from_closure: function LinkedHashMap_LinkedHashMap$from_closure(t0) {
  4564. this.result = t0;
  4565. },
  4566. ListBase: function ListBase() {
  4567. },
  4568. ListMixin: function ListMixin() {
  4569. },
  4570. MapBase: function MapBase() {
  4571. },
  4572. MapBase_mapToString_closure: function MapBase_mapToString_closure(t0, t1) {
  4573. this._box_0 = t0;
  4574. this.result = t1;
  4575. },
  4576. MapMixin: function MapMixin() {
  4577. },
  4578. MapMixin_entries_closure: function MapMixin_entries_closure(t0) {
  4579. this.$this = t0;
  4580. },
  4581. UnmodifiableMapBase: function UnmodifiableMapBase() {
  4582. },
  4583. _MapBaseValueIterable: function _MapBaseValueIterable(t0, t1) {
  4584. this._collection$_map = t0;
  4585. this.$ti = t1;
  4586. },
  4587. _MapBaseValueIterator: function _MapBaseValueIterator(t0, t1) {
  4588. this._collection$_keys = t0;
  4589. this._collection$_map = t1;
  4590. this._collection$_current = null;
  4591. },
  4592. _UnmodifiableMapMixin: function _UnmodifiableMapMixin() {
  4593. },
  4594. MapView: function MapView() {
  4595. },
  4596. UnmodifiableMapView: function UnmodifiableMapView(t0, t1) {
  4597. this._collection$_map = t0;
  4598. this.$ti = t1;
  4599. },
  4600. Queue: function Queue() {
  4601. },
  4602. ListQueue: function ListQueue(t0) {
  4603. var _ = this;
  4604. _._collection$_table = null;
  4605. _._modificationCount = _._collection$_tail = _._collection$_head = 0;
  4606. _.$ti = t0;
  4607. },
  4608. _ListQueueIterator: function _ListQueueIterator(t0, t1, t2, t3) {
  4609. var _ = this;
  4610. _._queue = t0;
  4611. _._collection$_end = t1;
  4612. _._modificationCount = t2;
  4613. _._position = t3;
  4614. _._collection$_current = null;
  4615. },
  4616. _SetBase: function _SetBase() {
  4617. },
  4618. _ListBase_Object_ListMixin: function _ListBase_Object_ListMixin() {
  4619. },
  4620. _UnmodifiableMapView_MapView__UnmodifiableMapMixin: function _UnmodifiableMapView_MapView__UnmodifiableMapMixin() {
  4621. },
  4622. Utf8Decoder__convertIntercepted: function(allowMalformed, codeUnits, start, end) {
  4623. if (codeUnits instanceof Uint8Array)
  4624. return P.Utf8Decoder__convertInterceptedUint8List(false, codeUnits, start, end);
  4625. return;
  4626. },
  4627. Utf8Decoder__convertInterceptedUint8List: function(allowMalformed, codeUnits, start, end) {
  4628. var t1, $length,
  4629. decoder = $.$get$Utf8Decoder__decoder();
  4630. if (decoder == null)
  4631. return;
  4632. t1 = 0 === start;
  4633. if (t1 && true)
  4634. return P.Utf8Decoder__useTextDecoderChecked(decoder, codeUnits);
  4635. $length = codeUnits.length;
  4636. end = P.RangeError_checkValidRange(start, end, $length);
  4637. if (t1 && end === $length)
  4638. return P.Utf8Decoder__useTextDecoderChecked(decoder, codeUnits);
  4639. return P.Utf8Decoder__useTextDecoderChecked(decoder, codeUnits.subarray(start, end));
  4640. },
  4641. Utf8Decoder__useTextDecoderChecked: function(decoder, codeUnits) {
  4642. if (P.Utf8Decoder__unsafe(codeUnits))
  4643. return;
  4644. return P.Utf8Decoder__useTextDecoderUnchecked(decoder, codeUnits);
  4645. },
  4646. Utf8Decoder__useTextDecoderUnchecked: function(decoder, codeUnits) {
  4647. var t1, exception;
  4648. try {
  4649. t1 = decoder.decode(codeUnits);
  4650. return t1;
  4651. } catch (exception) {
  4652. H.unwrapException(exception);
  4653. }
  4654. return;
  4655. },
  4656. Utf8Decoder__unsafe: function(codeUnits) {
  4657. var i,
  4658. limit = codeUnits.length - 2;
  4659. for (i = 0; i < limit; ++i)
  4660. if (codeUnits[i] === 237)
  4661. if ((codeUnits[i + 1] & 224) === 160)
  4662. return true;
  4663. return false;
  4664. },
  4665. Utf8Decoder__makeDecoder: function() {
  4666. var t1, exception;
  4667. try {
  4668. t1 = new TextDecoder("utf-8", {fatal: true});
  4669. return t1;
  4670. } catch (exception) {
  4671. H.unwrapException(exception);
  4672. }
  4673. return;
  4674. },
  4675. _scanOneByteCharacters: function(units, from, endIndex) {
  4676. var t1, i, unit;
  4677. for (t1 = J.getInterceptor$asx(units), i = from; i < endIndex; ++i) {
  4678. unit = t1.$index(units, i);
  4679. if ((unit & 127) !== unit)
  4680. return i - from;
  4681. }
  4682. return endIndex - from;
  4683. },
  4684. Base64Codec__checkPadding: function(source, sourceIndex, sourceEnd, firstPadding, paddingCount, $length) {
  4685. if (C.JSInt_methods.$mod($length, 4) !== 0)
  4686. throw H.wrapException(P.FormatException$("Invalid base64 padding, padded length must be multiple of four, is " + $length, source, sourceEnd));
  4687. if (firstPadding + paddingCount !== $length)
  4688. throw H.wrapException(P.FormatException$("Invalid base64 padding, '=' not at the end", source, sourceIndex));
  4689. if (paddingCount > 2)
  4690. throw H.wrapException(P.FormatException$("Invalid base64 padding, more than two '=' characters", source, sourceIndex));
  4691. },
  4692. _Base64Encoder_encodeChunk: function(alphabet, bytes, start, end, isLast, output, outputIndex, state) {
  4693. var t1, i, byteOr, byte, outputIndex0, outputIndex1,
  4694. bits = state >>> 2,
  4695. expectedChars = 3 - (state & 3);
  4696. for (t1 = J.getInterceptor$asx(bytes), i = start, byteOr = 0; i < end; ++i) {
  4697. byte = t1.$index(bytes, i);
  4698. byteOr = (byteOr | byte) >>> 0;
  4699. bits = (bits << 8 | byte) & 16777215;
  4700. --expectedChars;
  4701. if (expectedChars === 0) {
  4702. outputIndex0 = outputIndex + 1;
  4703. output[outputIndex] = C.JSString_methods._codeUnitAt$1(alphabet, bits >>> 18 & 63);
  4704. outputIndex = outputIndex0 + 1;
  4705. output[outputIndex0] = C.JSString_methods._codeUnitAt$1(alphabet, bits >>> 12 & 63);
  4706. outputIndex0 = outputIndex + 1;
  4707. output[outputIndex] = C.JSString_methods._codeUnitAt$1(alphabet, bits >>> 6 & 63);
  4708. outputIndex = outputIndex0 + 1;
  4709. output[outputIndex0] = C.JSString_methods._codeUnitAt$1(alphabet, bits & 63);
  4710. bits = 0;
  4711. expectedChars = 3;
  4712. }
  4713. }
  4714. if (byteOr >= 0 && byteOr <= 255) {
  4715. if (isLast && expectedChars < 3) {
  4716. outputIndex0 = outputIndex + 1;
  4717. outputIndex1 = outputIndex0 + 1;
  4718. if (3 - expectedChars === 1) {
  4719. output[outputIndex] = C.JSString_methods._codeUnitAt$1(alphabet, bits >>> 2 & 63);
  4720. output[outputIndex0] = C.JSString_methods._codeUnitAt$1(alphabet, bits << 4 & 63);
  4721. output[outputIndex1] = 61;
  4722. output[outputIndex1 + 1] = 61;
  4723. } else {
  4724. output[outputIndex] = C.JSString_methods._codeUnitAt$1(alphabet, bits >>> 10 & 63);
  4725. output[outputIndex0] = C.JSString_methods._codeUnitAt$1(alphabet, bits >>> 4 & 63);
  4726. output[outputIndex1] = C.JSString_methods._codeUnitAt$1(alphabet, bits << 2 & 63);
  4727. output[outputIndex1 + 1] = 61;
  4728. }
  4729. return 0;
  4730. }
  4731. return (bits << 2 | 3 - expectedChars) >>> 0;
  4732. }
  4733. for (i = start; i < end;) {
  4734. byte = t1.$index(bytes, i);
  4735. if (byte < 0 || byte > 255)
  4736. break;
  4737. ++i;
  4738. }
  4739. throw H.wrapException(P.ArgumentError$value(bytes, "Not a byte value at index " + i + ": 0x" + J.toRadixString$1$n(t1.$index(bytes, i), 16), null));
  4740. },
  4741. JsonUnsupportedObjectError$: function(unsupportedObject, cause, partialResult) {
  4742. return new P.JsonUnsupportedObjectError(unsupportedObject, cause);
  4743. },
  4744. _defaultToEncodable: function(object) {
  4745. return object.toJson$0();
  4746. },
  4747. _JsonStringStringifier_stringify: function(object, toEncodable, indent) {
  4748. var t1,
  4749. output = new P.StringBuffer("");
  4750. P._JsonStringStringifier_printOn(object, output, toEncodable, indent);
  4751. t1 = output._contents;
  4752. return t1.charCodeAt(0) == 0 ? t1 : t1;
  4753. },
  4754. _JsonStringStringifier_printOn: function(object, output, toEncodable, indent) {
  4755. var stringifier = new P._JsonStringStringifier(output, [], P.convert___defaultToEncodable$closure());
  4756. stringifier.writeObject$1(object);
  4757. },
  4758. AsciiCodec: function AsciiCodec() {
  4759. },
  4760. _UnicodeSubsetEncoder: function _UnicodeSubsetEncoder() {
  4761. },
  4762. AsciiEncoder: function AsciiEncoder(t0) {
  4763. this._subsetMask = t0;
  4764. },
  4765. Base64Codec: function Base64Codec() {
  4766. },
  4767. Base64Encoder: function Base64Encoder() {
  4768. },
  4769. _Base64Encoder: function _Base64Encoder(t0) {
  4770. this._state = 0;
  4771. this._alphabet = t0;
  4772. },
  4773. _BufferCachingBase64Encoder: function _BufferCachingBase64Encoder(t0) {
  4774. this.bufferCache = null;
  4775. this._state = 0;
  4776. this._alphabet = t0;
  4777. },
  4778. _Base64EncoderSink: function _Base64EncoderSink() {
  4779. },
  4780. _AsciiBase64EncoderSink: function _AsciiBase64EncoderSink(t0, t1) {
  4781. this._sink = t0;
  4782. this._encoder = t1;
  4783. },
  4784. _Utf8Base64EncoderSink: function _Utf8Base64EncoderSink(t0, t1) {
  4785. this._sink = t0;
  4786. this._encoder = t1;
  4787. },
  4788. ByteConversionSink: function ByteConversionSink() {
  4789. },
  4790. ByteConversionSinkBase: function ByteConversionSinkBase() {
  4791. },
  4792. ChunkedConversionSink: function ChunkedConversionSink() {
  4793. },
  4794. Codec: function Codec() {
  4795. },
  4796. Converter: function Converter() {
  4797. },
  4798. Encoding: function Encoding() {
  4799. },
  4800. JsonUnsupportedObjectError: function JsonUnsupportedObjectError(t0, t1) {
  4801. this.unsupportedObject = t0;
  4802. this.cause = t1;
  4803. },
  4804. JsonCyclicError: function JsonCyclicError(t0, t1) {
  4805. this.unsupportedObject = t0;
  4806. this.cause = t1;
  4807. },
  4808. JsonCodec: function JsonCodec() {
  4809. },
  4810. JsonEncoder: function JsonEncoder(t0) {
  4811. this._toEncodable = t0;
  4812. },
  4813. _JsonStringifier: function _JsonStringifier() {
  4814. },
  4815. _JsonStringifier_writeMap_closure: function _JsonStringifier_writeMap_closure(t0, t1) {
  4816. this._box_0 = t0;
  4817. this.keyValueList = t1;
  4818. },
  4819. _JsonStringStringifier: function _JsonStringStringifier(t0, t1, t2) {
  4820. this._sink = t0;
  4821. this._seen = t1;
  4822. this._toEncodable = t2;
  4823. },
  4824. StringConversionSinkBase: function StringConversionSinkBase() {
  4825. },
  4826. StringConversionSinkMixin: function StringConversionSinkMixin() {
  4827. },
  4828. _StringSinkConversionSink: function _StringSinkConversionSink(t0) {
  4829. this._stringSink = t0;
  4830. },
  4831. _StringCallbackSink: function _StringCallbackSink(t0, t1) {
  4832. this._callback = t0;
  4833. this._stringSink = t1;
  4834. },
  4835. _StringAdapterSink: function _StringAdapterSink(t0) {
  4836. this._sink = t0;
  4837. },
  4838. _Utf8StringSinkAdapter: function _Utf8StringSinkAdapter(t0, t1) {
  4839. this._decoder = t0;
  4840. this._sink = t1;
  4841. },
  4842. _Utf8ConversionSink: function _Utf8ConversionSink(t0, t1, t2) {
  4843. this._decoder = t0;
  4844. this._chunkedSink = t1;
  4845. this._convert$_buffer = t2;
  4846. },
  4847. Utf8Codec: function Utf8Codec() {
  4848. },
  4849. Utf8Encoder: function Utf8Encoder() {
  4850. },
  4851. _Utf8Encoder: function _Utf8Encoder(t0) {
  4852. this._bufferIndex = this._carry = 0;
  4853. this._convert$_buffer = t0;
  4854. },
  4855. Utf8Decoder: function Utf8Decoder(t0) {
  4856. this._allowMalformed = t0;
  4857. },
  4858. _Utf8Decoder: function _Utf8Decoder(t0, t1) {
  4859. var _ = this;
  4860. _._allowMalformed = t0;
  4861. _._stringSink = t1;
  4862. _._isFirstCharacter = true;
  4863. _._extraUnits = _._expectedUnits = _._convert$_value = 0;
  4864. },
  4865. identityHashCode: function(object) {
  4866. return H.objectHashCode(object);
  4867. },
  4868. Function_apply: function($function, positionalArguments) {
  4869. return H.Primitives_applyFunction($function, positionalArguments, null);
  4870. },
  4871. int_parse: function(source, onError, radix) {
  4872. var value = H.Primitives_parseInt(source, radix);
  4873. if (value != null)
  4874. return value;
  4875. if (onError != null)
  4876. return onError.call$1(source);
  4877. throw H.wrapException(P.FormatException$(source, null, null));
  4878. },
  4879. double_parse: function(source) {
  4880. var value = H.Primitives_parseDouble(source);
  4881. if (value != null)
  4882. return value;
  4883. throw H.wrapException(P.FormatException$("Invalid double", source, null));
  4884. },
  4885. Error__objectToString: function(object) {
  4886. if (object instanceof H.Closure)
  4887. return object.toString$0(0);
  4888. return "Instance of '" + H.Primitives_objectTypeName(object) + "'";
  4889. },
  4890. List_List$filled: function($length, fill, $E) {
  4891. var t1, i,
  4892. result = J.JSArray_JSArray$fixed($length, $E);
  4893. if ($length !== 0 && fill != null)
  4894. for (t1 = result.length, i = 0; i < t1; ++i)
  4895. result[i] = fill;
  4896. return result;
  4897. },
  4898. List_List$from: function(elements, growable, $E) {
  4899. var t1,
  4900. list = H.setRuntimeTypeInfo([], [$E]);
  4901. for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();)
  4902. list.push(t1.get$current(t1));
  4903. if (growable)
  4904. return list;
  4905. return J.JSArray_markFixedList(list);
  4906. },
  4907. List_List$unmodifiable: function(elements, $E) {
  4908. return J.JSArray_markUnmodifiableList(P.List_List$from(elements, false, $E));
  4909. },
  4910. String_String$fromCharCodes: function(charCodes, start, end) {
  4911. var len;
  4912. if (typeof charCodes === "object" && charCodes !== null && charCodes.constructor === Array) {
  4913. len = charCodes.length;
  4914. end = P.RangeError_checkValidRange(start, end, len);
  4915. return H.Primitives_stringFromCharCodes(start > 0 || end < len ? C.JSArray_methods.sublist$2(charCodes, start, end) : charCodes);
  4916. }
  4917. if (!!J.getInterceptor$(charCodes).$isNativeUint8List)
  4918. return H.Primitives_stringFromNativeUint8List(charCodes, start, P.RangeError_checkValidRange(start, end, charCodes.length));
  4919. return P.String__stringFromIterable(charCodes, start, end);
  4920. },
  4921. String_String$fromCharCode: function(charCode) {
  4922. return H.Primitives_stringFromCharCode(charCode);
  4923. },
  4924. String__stringFromIterable: function(charCodes, start, end) {
  4925. var t1, it, i, list, _null = null;
  4926. if (start < 0)
  4927. throw H.wrapException(P.RangeError$range(start, 0, J.get$length$asx(charCodes), _null, _null));
  4928. t1 = end == null;
  4929. if (!t1 && end < start)
  4930. throw H.wrapException(P.RangeError$range(end, start, J.get$length$asx(charCodes), _null, _null));
  4931. it = J.get$iterator$ax(charCodes);
  4932. for (i = 0; i < start; ++i)
  4933. if (!it.moveNext$0())
  4934. throw H.wrapException(P.RangeError$range(start, 0, i, _null, _null));
  4935. list = [];
  4936. if (t1)
  4937. for (; it.moveNext$0();)
  4938. list.push(it.get$current(it));
  4939. else
  4940. for (i = start; i < end; ++i) {
  4941. if (!it.moveNext$0())
  4942. throw H.wrapException(P.RangeError$range(end, start, i, _null, _null));
  4943. list.push(it.get$current(it));
  4944. }
  4945. return H.Primitives_stringFromCharCodes(list);
  4946. },
  4947. RegExp_RegExp: function(source, multiLine) {
  4948. return new H.JSSyntaxRegExp(source, H.JSSyntaxRegExp_makeNative(source, multiLine, true, false, false, false));
  4949. },
  4950. identical: function(a, b) {
  4951. return a == null ? b == null : a === b;
  4952. },
  4953. StringBuffer__writeAll: function(string, objects, separator) {
  4954. var iterator = J.get$iterator$ax(objects);
  4955. if (!iterator.moveNext$0())
  4956. return string;
  4957. if (separator.length === 0) {
  4958. do
  4959. string += H.S(iterator.get$current(iterator));
  4960. while (iterator.moveNext$0());
  4961. } else {
  4962. string += H.S(iterator.get$current(iterator));
  4963. for (; iterator.moveNext$0();)
  4964. string = string + separator + H.S(iterator.get$current(iterator));
  4965. }
  4966. return string;
  4967. },
  4968. NoSuchMethodError$: function(receiver, memberName, positionalArguments, namedArguments) {
  4969. return new P.NoSuchMethodError(receiver, memberName, positionalArguments, namedArguments);
  4970. },
  4971. Uri_base: function() {
  4972. var uri = H.Primitives_currentUri();
  4973. if (uri != null)
  4974. return P.Uri_parse(uri);
  4975. throw H.wrapException(P.UnsupportedError$("'Uri.base' is not supported"));
  4976. },
  4977. _Uri__uriEncode: function(canonicalTable, text, encoding, spaceToPlus) {
  4978. var t1, bytes, i, t2, byte,
  4979. _s16_ = "0123456789ABCDEF";
  4980. if (encoding === C.C_Utf8Codec) {
  4981. t1 = $.$get$_Uri__needsNoEncoding()._nativeRegExp;
  4982. if (typeof text !== "string")
  4983. H.throwExpression(H.argumentErrorValue(text));
  4984. t1 = t1.test(text);
  4985. } else
  4986. t1 = false;
  4987. if (t1)
  4988. return text;
  4989. bytes = encoding.get$encoder().convert$1(text);
  4990. for (t1 = bytes.length, i = 0, t2 = ""; i < t1; ++i) {
  4991. byte = bytes[i];
  4992. if (byte < 128 && (canonicalTable[byte >>> 4] & 1 << (byte & 15)) !== 0)
  4993. t2 += H.Primitives_stringFromCharCode(byte);
  4994. else
  4995. t2 = spaceToPlus && byte === 32 ? t2 + "+" : t2 + "%" + _s16_[byte >>> 4 & 15] + _s16_[byte & 15];
  4996. }
  4997. return t2.charCodeAt(0) == 0 ? t2 : t2;
  4998. },
  4999. StackTrace_current: function() {
  5000. var stackTrace, exception;
  5001. if ($.$get$_hasErrorStackProperty())
  5002. return H.getTraceFromException(new Error());
  5003. try {
  5004. throw H.wrapException("");
  5005. } catch (exception) {
  5006. H.unwrapException(exception);
  5007. stackTrace = H.getTraceFromException(exception);
  5008. return stackTrace;
  5009. }
  5010. },
  5011. DateTime$_withValue: function(_value, isUtc) {
  5012. var t1;
  5013. if (Math.abs(_value) <= 864e13)
  5014. t1 = false;
  5015. else
  5016. t1 = true;
  5017. if (t1)
  5018. H.throwExpression(P.ArgumentError$("DateTime is outside valid range: " + _value));
  5019. return new P.DateTime(_value, false);
  5020. },
  5021. DateTime__fourDigits: function(n) {
  5022. var absN = Math.abs(n),
  5023. sign = n < 0 ? "-" : "";
  5024. if (absN >= 1000)
  5025. return "" + n;
  5026. if (absN >= 100)
  5027. return sign + "0" + absN;
  5028. if (absN >= 10)
  5029. return sign + "00" + absN;
  5030. return sign + "000" + absN;
  5031. },
  5032. DateTime__threeDigits: function(n) {
  5033. if (n >= 100)
  5034. return "" + n;
  5035. if (n >= 10)
  5036. return "0" + n;
  5037. return "00" + n;
  5038. },
  5039. DateTime__twoDigits: function(n) {
  5040. if (n >= 10)
  5041. return "" + n;
  5042. return "0" + n;
  5043. },
  5044. Duration$: function(milliseconds, seconds) {
  5045. return new P.Duration(1000000 * seconds + 1000 * milliseconds);
  5046. },
  5047. Error_safeToString: function(object) {
  5048. if (typeof object === "number" || typeof object === "boolean" || null == object)
  5049. return J.toString$0$(object);
  5050. if (typeof object === "string")
  5051. return JSON.stringify(object);
  5052. return P.Error__objectToString(object);
  5053. },
  5054. ArgumentError$: function(message) {
  5055. return new P.ArgumentError(false, null, null, message);
  5056. },
  5057. ArgumentError$value: function(value, $name, message) {
  5058. return new P.ArgumentError(true, value, $name, message);
  5059. },
  5060. ArgumentError$notNull: function($name) {
  5061. return new P.ArgumentError(false, null, $name, "Must not be null");
  5062. },
  5063. RangeError$: function(message) {
  5064. var _null = null;
  5065. return new P.RangeError(_null, _null, false, _null, _null, message);
  5066. },
  5067. RangeError$value: function(value, $name, message) {
  5068. return new P.RangeError(null, null, true, value, $name, message != null ? message : "Value not in range");
  5069. },
  5070. RangeError$range: function(invalidValue, minValue, maxValue, $name, message) {
  5071. return new P.RangeError(minValue, maxValue, true, invalidValue, $name, "Invalid value");
  5072. },
  5073. RangeError_checkValueInInterval: function(value, minValue, maxValue, $name) {
  5074. if (value < minValue || value > maxValue)
  5075. throw H.wrapException(P.RangeError$range(value, minValue, maxValue, $name, null));
  5076. },
  5077. RangeError_checkValidIndex: function(index, indexable, $name) {
  5078. var $length = indexable.get$length(indexable);
  5079. if (0 > index || index >= $length)
  5080. throw H.wrapException(P.IndexError$(index, indexable, $name == null ? "index" : $name, null, $length));
  5081. },
  5082. RangeError_checkValidRange: function(start, end, $length) {
  5083. if (0 > start || start > $length)
  5084. throw H.wrapException(P.RangeError$range(start, 0, $length, "start", null));
  5085. if (end != null) {
  5086. if (start > end || end > $length)
  5087. throw H.wrapException(P.RangeError$range(end, start, $length, "end", null));
  5088. return end;
  5089. }
  5090. return $length;
  5091. },
  5092. RangeError_checkNotNegative: function(value, $name) {
  5093. if (value < 0)
  5094. throw H.wrapException(P.RangeError$range(value, 0, null, $name, null));
  5095. },
  5096. IndexError$: function(invalidValue, indexable, $name, message, $length) {
  5097. var t1 = $length == null ? J.get$length$asx(indexable) : $length;
  5098. return new P.IndexError(t1, true, invalidValue, $name, "Index out of range");
  5099. },
  5100. UnsupportedError$: function(message) {
  5101. return new P.UnsupportedError(message);
  5102. },
  5103. UnimplementedError$: function(message) {
  5104. return new P.UnimplementedError(message);
  5105. },
  5106. StateError$: function(message) {
  5107. return new P.StateError(message);
  5108. },
  5109. ConcurrentModificationError$: function(modifiedObject) {
  5110. return new P.ConcurrentModificationError(modifiedObject);
  5111. },
  5112. FormatException$: function(message, source, offset) {
  5113. return new P.FormatException(message, source, offset);
  5114. },
  5115. Iterable_Iterable$generate: function(count, generator, $E) {
  5116. if (count <= 0)
  5117. return new H.EmptyIterable([$E]);
  5118. return new P._GeneratorIterable(count, generator, [$E]);
  5119. },
  5120. List_List$generate: function($length, generator, growable, $E) {
  5121. var result, t1, i;
  5122. if (growable) {
  5123. result = H.setRuntimeTypeInfo([], [$E]);
  5124. C.JSArray_methods.set$length(result, $length);
  5125. } else {
  5126. t1 = new Array($length);
  5127. t1.fixed$length = Array;
  5128. result = H.setRuntimeTypeInfo(t1, [$E]);
  5129. }
  5130. for (i = 0; i < $length; ++i)
  5131. result[i] = generator.call$1(i);
  5132. return result;
  5133. },
  5134. print: function(object) {
  5135. var line = H.S(object),
  5136. t1 = $.printToZone;
  5137. if (t1 == null)
  5138. H.printString(line);
  5139. else
  5140. t1.call$1(line);
  5141. },
  5142. Set_castFrom: function(source, newSet, $S, $T) {
  5143. return new H.CastSet(source, newSet, [$S, $T]);
  5144. },
  5145. _combineSurrogatePair: function(start, end) {
  5146. return 65536 + ((start & 1023) << 10) + (end & 1023);
  5147. },
  5148. Uri_Uri$dataFromString: function($content, encoding, mimeType) {
  5149. var encodingName, t1,
  5150. buffer = new P.StringBuffer(""),
  5151. indices = H.setRuntimeTypeInfo([-1], [P.int]);
  5152. if (encoding == null)
  5153. encodingName = null;
  5154. else
  5155. encodingName = "utf-8";
  5156. if (encoding == null)
  5157. encoding = C.C_AsciiCodec;
  5158. P.UriData__writeUri(mimeType, encodingName, null, buffer, indices);
  5159. indices.push(buffer._contents.length);
  5160. buffer._contents += ",";
  5161. P.UriData__uriEncodeBytes(C.List_CVk, encoding.encode$1($content), buffer);
  5162. t1 = buffer._contents;
  5163. return new P.UriData(t1.charCodeAt(0) == 0 ? t1 : t1, indices, null).get$uri();
  5164. },
  5165. Uri_parse: function(uri) {
  5166. var delta, t1, indices, schemeEnd, hostStart, portStart, pathStart, queryStart, fragmentStart, isSimple, scheme, t2, schemeAuth, queryStart0, pathStart0, _null = null,
  5167. end = uri.length;
  5168. if (end >= 5) {
  5169. delta = ((J._codeUnitAt$1$s(uri, 4) ^ 58) * 3 | C.JSString_methods._codeUnitAt$1(uri, 0) ^ 100 | C.JSString_methods._codeUnitAt$1(uri, 1) ^ 97 | C.JSString_methods._codeUnitAt$1(uri, 2) ^ 116 | C.JSString_methods._codeUnitAt$1(uri, 3) ^ 97) >>> 0;
  5170. if (delta === 0)
  5171. return P.UriData__parse(end < end ? C.JSString_methods.substring$2(uri, 0, end) : uri, 5, _null).get$uri();
  5172. else if (delta === 32)
  5173. return P.UriData__parse(C.JSString_methods.substring$2(uri, 5, end), 0, _null).get$uri();
  5174. }
  5175. t1 = new Array(8);
  5176. t1.fixed$length = Array;
  5177. indices = H.setRuntimeTypeInfo(t1, [P.int]);
  5178. indices[0] = 0;
  5179. indices[1] = -1;
  5180. indices[2] = -1;
  5181. indices[7] = -1;
  5182. indices[3] = 0;
  5183. indices[4] = 0;
  5184. indices[5] = end;
  5185. indices[6] = end;
  5186. if (P._scan(uri, 0, end, 0, indices) >= 14)
  5187. indices[7] = end;
  5188. schemeEnd = indices[1];
  5189. if (schemeEnd >= 0)
  5190. if (P._scan(uri, 0, schemeEnd, 20, indices) === 20)
  5191. indices[7] = schemeEnd;
  5192. hostStart = indices[2] + 1;
  5193. portStart = indices[3];
  5194. pathStart = indices[4];
  5195. queryStart = indices[5];
  5196. fragmentStart = indices[6];
  5197. if (fragmentStart < queryStart)
  5198. queryStart = fragmentStart;
  5199. if (pathStart < hostStart)
  5200. pathStart = queryStart;
  5201. else if (pathStart <= schemeEnd)
  5202. pathStart = schemeEnd + 1;
  5203. if (portStart < hostStart)
  5204. portStart = pathStart;
  5205. isSimple = indices[7] < 0;
  5206. if (isSimple)
  5207. if (hostStart > schemeEnd + 3) {
  5208. scheme = _null;
  5209. isSimple = false;
  5210. } else {
  5211. t1 = portStart > 0;
  5212. if (t1 && portStart + 1 === pathStart) {
  5213. scheme = _null;
  5214. isSimple = false;
  5215. } else {
  5216. if (!(queryStart < end && queryStart === pathStart + 2 && J.startsWith$2$s(uri, "..", pathStart)))
  5217. t2 = queryStart > pathStart + 2 && J.startsWith$2$s(uri, "/..", queryStart - 3);
  5218. else
  5219. t2 = true;
  5220. if (t2) {
  5221. scheme = _null;
  5222. isSimple = false;
  5223. } else {
  5224. if (schemeEnd === 4)
  5225. if (J.startsWith$2$s(uri, "file", 0)) {
  5226. if (hostStart <= 0) {
  5227. if (!C.JSString_methods.startsWith$2(uri, "/", pathStart)) {
  5228. schemeAuth = "file:///";
  5229. delta = 3;
  5230. } else {
  5231. schemeAuth = "file://";
  5232. delta = 2;
  5233. }
  5234. uri = schemeAuth + C.JSString_methods.substring$2(uri, pathStart, end);
  5235. schemeEnd -= 0;
  5236. t1 = delta - 0;
  5237. queryStart += t1;
  5238. fragmentStart += t1;
  5239. end = uri.length;
  5240. hostStart = 7;
  5241. portStart = 7;
  5242. pathStart = 7;
  5243. } else if (pathStart === queryStart) {
  5244. queryStart0 = queryStart + 1;
  5245. ++fragmentStart;
  5246. uri = C.JSString_methods.replaceRange$3(uri, pathStart, queryStart, "/");
  5247. ++end;
  5248. queryStart = queryStart0;
  5249. }
  5250. scheme = "file";
  5251. } else if (C.JSString_methods.startsWith$2(uri, "http", 0)) {
  5252. if (t1 && portStart + 3 === pathStart && C.JSString_methods.startsWith$2(uri, "80", portStart + 1)) {
  5253. pathStart0 = pathStart - 3;
  5254. queryStart -= 3;
  5255. fragmentStart -= 3;
  5256. uri = C.JSString_methods.replaceRange$3(uri, portStart, pathStart, "");
  5257. end -= 3;
  5258. pathStart = pathStart0;
  5259. }
  5260. scheme = "http";
  5261. } else
  5262. scheme = _null;
  5263. else if (schemeEnd === 5 && J.startsWith$2$s(uri, "https", 0)) {
  5264. if (t1 && portStart + 4 === pathStart && J.startsWith$2$s(uri, "443", portStart + 1)) {
  5265. pathStart0 = pathStart - 4;
  5266. queryStart -= 4;
  5267. fragmentStart -= 4;
  5268. uri = J.replaceRange$3$asx(uri, portStart, pathStart, "");
  5269. end -= 3;
  5270. pathStart = pathStart0;
  5271. }
  5272. scheme = "https";
  5273. } else
  5274. scheme = _null;
  5275. isSimple = true;
  5276. }
  5277. }
  5278. }
  5279. else
  5280. scheme = _null;
  5281. if (isSimple) {
  5282. t1 = uri.length;
  5283. if (end < t1) {
  5284. uri = J.substring$2$s(uri, 0, end);
  5285. schemeEnd -= 0;
  5286. hostStart -= 0;
  5287. portStart -= 0;
  5288. pathStart -= 0;
  5289. queryStart -= 0;
  5290. fragmentStart -= 0;
  5291. }
  5292. return new P._SimpleUri(uri, schemeEnd, hostStart, portStart, pathStart, queryStart, fragmentStart, scheme);
  5293. }
  5294. return P._Uri__Uri$notSimple(uri, 0, end, schemeEnd, hostStart, portStart, pathStart, queryStart, fragmentStart, scheme);
  5295. },
  5296. Uri_decodeComponent: function(encodedComponent) {
  5297. return P._Uri__uriDecode(encodedComponent, 0, encodedComponent.length, C.C_Utf8Codec, false);
  5298. },
  5299. Uri__parseIPv4Address: function(host, start, end) {
  5300. var i, partStart, partIndex, char, part, partIndex0, _null = null,
  5301. _s43_ = "IPv4 address should contain exactly 4 parts",
  5302. _s37_ = "each part must be in the range 0..255",
  5303. error = new P.Uri__parseIPv4Address_error(host),
  5304. result = new Uint8Array(4);
  5305. for (i = start, partStart = i, partIndex = 0; i < end; ++i) {
  5306. char = C.JSString_methods.codeUnitAt$1(host, i);
  5307. if (char !== 46) {
  5308. if ((char ^ 48) > 9)
  5309. error.call$2("invalid character", i);
  5310. } else {
  5311. if (partIndex === 3)
  5312. error.call$2(_s43_, i);
  5313. part = P.int_parse(C.JSString_methods.substring$2(host, partStart, i), _null, _null);
  5314. if (part > 255)
  5315. error.call$2(_s37_, partStart);
  5316. partIndex0 = partIndex + 1;
  5317. result[partIndex] = part;
  5318. partStart = i + 1;
  5319. partIndex = partIndex0;
  5320. }
  5321. }
  5322. if (partIndex !== 3)
  5323. error.call$2(_s43_, end);
  5324. part = P.int_parse(C.JSString_methods.substring$2(host, partStart, end), _null, _null);
  5325. if (part > 255)
  5326. error.call$2(_s37_, partStart);
  5327. result[partIndex] = part;
  5328. return result;
  5329. },
  5330. Uri_parseIPv6Address: function(host, start, end) {
  5331. var error, parseHex, parts, i, partStart, wildcardSeen, seenDot, char, atEnd, t1, last, bytes, wildCardLength, index, value, j;
  5332. if (end == null)
  5333. end = host.length;
  5334. error = new P.Uri_parseIPv6Address_error(host);
  5335. parseHex = new P.Uri_parseIPv6Address_parseHex(error, host);
  5336. if (host.length < 2)
  5337. error.call$1("address is too short");
  5338. parts = H.setRuntimeTypeInfo([], [P.int]);
  5339. for (i = start, partStart = i, wildcardSeen = false, seenDot = false; i < end; ++i) {
  5340. char = C.JSString_methods.codeUnitAt$1(host, i);
  5341. if (char === 58) {
  5342. if (i === start) {
  5343. ++i;
  5344. if (C.JSString_methods.codeUnitAt$1(host, i) !== 58)
  5345. error.call$2("invalid start colon.", i);
  5346. partStart = i;
  5347. }
  5348. if (i === partStart) {
  5349. if (wildcardSeen)
  5350. error.call$2("only one wildcard `::` is allowed", i);
  5351. parts.push(-1);
  5352. wildcardSeen = true;
  5353. } else
  5354. parts.push(parseHex.call$2(partStart, i));
  5355. partStart = i + 1;
  5356. } else if (char === 46)
  5357. seenDot = true;
  5358. }
  5359. if (parts.length === 0)
  5360. error.call$1("too few parts");
  5361. atEnd = partStart === end;
  5362. t1 = C.JSArray_methods.get$last(parts);
  5363. if (atEnd && t1 !== -1)
  5364. error.call$2("expected a part after last `:`", end);
  5365. if (!atEnd)
  5366. if (!seenDot)
  5367. parts.push(parseHex.call$2(partStart, end));
  5368. else {
  5369. last = P.Uri__parseIPv4Address(host, partStart, end);
  5370. parts.push((last[0] << 8 | last[1]) >>> 0);
  5371. parts.push((last[2] << 8 | last[3]) >>> 0);
  5372. }
  5373. if (wildcardSeen) {
  5374. if (parts.length > 7)
  5375. error.call$1("an address with a wildcard must have less than 7 parts");
  5376. } else if (parts.length !== 8)
  5377. error.call$1("an address without a wildcard must contain exactly 8 parts");
  5378. bytes = new Uint8Array(16);
  5379. for (t1 = parts.length, wildCardLength = 9 - t1, i = 0, index = 0; i < t1; ++i) {
  5380. value = parts[i];
  5381. if (value === -1)
  5382. for (j = 0; j < wildCardLength; ++j) {
  5383. bytes[index] = 0;
  5384. bytes[index + 1] = 0;
  5385. index += 2;
  5386. }
  5387. else {
  5388. bytes[index] = C.JSInt_methods._shrOtherPositive$1(value, 8);
  5389. bytes[index + 1] = value & 255;
  5390. index += 2;
  5391. }
  5392. }
  5393. return bytes;
  5394. },
  5395. _Uri__Uri$notSimple: function(uri, start, end, schemeEnd, hostStart, portStart, pathStart, queryStart, fragmentStart, scheme) {
  5396. var userInfoStart, userInfo, host, t1, port, path, query, _null = null;
  5397. if (scheme == null)
  5398. if (schemeEnd > start)
  5399. scheme = P._Uri__makeScheme(uri, start, schemeEnd);
  5400. else {
  5401. if (schemeEnd === start)
  5402. P._Uri__fail(uri, start, "Invalid empty scheme");
  5403. scheme = "";
  5404. }
  5405. if (hostStart > start) {
  5406. userInfoStart = schemeEnd + 3;
  5407. userInfo = userInfoStart < hostStart ? P._Uri__makeUserInfo(uri, userInfoStart, hostStart - 1) : "";
  5408. host = P._Uri__makeHost(uri, hostStart, portStart, false);
  5409. t1 = portStart + 1;
  5410. port = t1 < pathStart ? P._Uri__makePort(P.int_parse(J.substring$2$s(uri, t1, pathStart), new P._Uri__Uri$notSimple_closure(uri, portStart), _null), scheme) : _null;
  5411. } else {
  5412. port = _null;
  5413. host = port;
  5414. userInfo = "";
  5415. }
  5416. path = P._Uri__makePath(uri, pathStart, queryStart, _null, scheme, host != null);
  5417. query = queryStart < fragmentStart ? P._Uri__makeQuery(uri, queryStart + 1, fragmentStart, _null) : _null;
  5418. return new P._Uri(scheme, userInfo, host, port, path, query, fragmentStart < end ? P._Uri__makeFragment(uri, fragmentStart + 1, end) : _null);
  5419. },
  5420. _Uri__Uri: function(host, path, pathSegments, scheme) {
  5421. var userInfo, query, fragment, port, isFile, t1, hasAuthority, t2, _null = null;
  5422. scheme = P._Uri__makeScheme(scheme, 0, scheme == null ? 0 : scheme.length);
  5423. userInfo = P._Uri__makeUserInfo(_null, 0, 0);
  5424. host = P._Uri__makeHost(host, 0, host == null ? 0 : host.length, false);
  5425. query = P._Uri__makeQuery(_null, 0, 0, _null);
  5426. fragment = P._Uri__makeFragment(_null, 0, 0);
  5427. port = P._Uri__makePort(_null, scheme);
  5428. isFile = scheme === "file";
  5429. if (host == null)
  5430. t1 = userInfo.length !== 0 || port != null || isFile;
  5431. else
  5432. t1 = false;
  5433. if (t1)
  5434. host = "";
  5435. t1 = host == null;
  5436. hasAuthority = !t1;
  5437. path = P._Uri__makePath(path, 0, path == null ? 0 : path.length, pathSegments, scheme, hasAuthority);
  5438. t2 = scheme.length === 0;
  5439. if (t2 && t1 && !C.JSString_methods.startsWith$1(path, "/"))
  5440. path = P._Uri__normalizeRelativePath(path, !t2 || hasAuthority);
  5441. else
  5442. path = P._Uri__removeDotSegments(path);
  5443. return new P._Uri(scheme, userInfo, t1 && C.JSString_methods.startsWith$1(path, "//") ? "" : host, port, path, query, fragment);
  5444. },
  5445. _Uri__defaultPort: function(scheme) {
  5446. if (scheme === "http")
  5447. return 80;
  5448. if (scheme === "https")
  5449. return 443;
  5450. return 0;
  5451. },
  5452. _Uri__fail: function(uri, index, message) {
  5453. throw H.wrapException(P.FormatException$(message, uri, index));
  5454. },
  5455. _Uri__Uri$file: function(path, windows) {
  5456. return windows ? P._Uri__makeWindowsFileUrl(path, false) : P._Uri__makeFileUri(path, false);
  5457. },
  5458. _Uri__checkNonWindowsPathReservedCharacters: function(segments, argumentError) {
  5459. C.JSArray_methods.forEach$1(segments, new P._Uri__checkNonWindowsPathReservedCharacters_closure(false));
  5460. },
  5461. _Uri__checkWindowsPathReservedCharacters: function(segments, argumentError, firstSegment) {
  5462. var t1, t2, t3;
  5463. for (t1 = H.SubListIterable$(segments, firstSegment, null, H.getTypeArgumentByIndex(segments, 0)), t1 = new H.ListIterator(t1, t1.get$length(t1)); t1.moveNext$0();) {
  5464. t2 = t1.__internal$_current;
  5465. t3 = P.RegExp_RegExp('["*/:<>?\\\\|]', false);
  5466. t2.length;
  5467. if (H.stringContainsUnchecked(t2, t3, 0))
  5468. if (argumentError)
  5469. throw H.wrapException(P.ArgumentError$("Illegal character in path"));
  5470. else
  5471. throw H.wrapException(P.UnsupportedError$("Illegal character in path: " + H.S(t2)));
  5472. }
  5473. },
  5474. _Uri__checkWindowsDriveLetter: function(charCode, argumentError) {
  5475. var t1,
  5476. _s21_ = "Illegal drive letter ";
  5477. if (!(65 <= charCode && charCode <= 90))
  5478. t1 = 97 <= charCode && charCode <= 122;
  5479. else
  5480. t1 = true;
  5481. if (t1)
  5482. return;
  5483. if (argumentError)
  5484. throw H.wrapException(P.ArgumentError$(_s21_ + P.String_String$fromCharCode(charCode)));
  5485. else
  5486. throw H.wrapException(P.UnsupportedError$(_s21_ + P.String_String$fromCharCode(charCode)));
  5487. },
  5488. _Uri__makeFileUri: function(path, slashTerminated) {
  5489. var _null = null,
  5490. segments = H.setRuntimeTypeInfo(path.split("/"), [P.String]);
  5491. if (C.JSString_methods.startsWith$1(path, "/"))
  5492. return P._Uri__Uri(_null, _null, segments, "file");
  5493. else
  5494. return P._Uri__Uri(_null, _null, segments, _null);
  5495. },
  5496. _Uri__makeWindowsFileUrl: function(path, slashTerminated) {
  5497. var t1, pathSegments, pathStart, hostPart, _s1_ = "\\", _null = null, _s4_ = "file";
  5498. if (C.JSString_methods.startsWith$1(path, "\\\\?\\"))
  5499. if (C.JSString_methods.startsWith$2(path, "UNC\\", 4))
  5500. path = C.JSString_methods.replaceRange$3(path, 0, 7, _s1_);
  5501. else {
  5502. path = C.JSString_methods.substring$1(path, 4);
  5503. if (path.length < 3 || C.JSString_methods._codeUnitAt$1(path, 1) !== 58 || C.JSString_methods._codeUnitAt$1(path, 2) !== 92)
  5504. throw H.wrapException(P.ArgumentError$("Windows paths with \\\\?\\ prefix must be absolute"));
  5505. }
  5506. else
  5507. path = H.stringReplaceAllUnchecked(path, "/", _s1_);
  5508. t1 = path.length;
  5509. if (t1 > 1 && C.JSString_methods._codeUnitAt$1(path, 1) === 58) {
  5510. P._Uri__checkWindowsDriveLetter(C.JSString_methods._codeUnitAt$1(path, 0), true);
  5511. if (t1 === 2 || C.JSString_methods._codeUnitAt$1(path, 2) !== 92)
  5512. throw H.wrapException(P.ArgumentError$("Windows paths with drive letter must be absolute"));
  5513. pathSegments = H.setRuntimeTypeInfo(path.split(_s1_), [P.String]);
  5514. P._Uri__checkWindowsPathReservedCharacters(pathSegments, true, 1);
  5515. return P._Uri__Uri(_null, _null, pathSegments, _s4_);
  5516. }
  5517. if (C.JSString_methods.startsWith$1(path, _s1_))
  5518. if (C.JSString_methods.startsWith$2(path, _s1_, 1)) {
  5519. pathStart = C.JSString_methods.indexOf$2(path, _s1_, 2);
  5520. t1 = pathStart < 0;
  5521. hostPart = t1 ? C.JSString_methods.substring$1(path, 2) : C.JSString_methods.substring$2(path, 2, pathStart);
  5522. pathSegments = H.setRuntimeTypeInfo((t1 ? "" : C.JSString_methods.substring$1(path, pathStart + 1)).split(_s1_), [P.String]);
  5523. P._Uri__checkWindowsPathReservedCharacters(pathSegments, true, 0);
  5524. return P._Uri__Uri(hostPart, _null, pathSegments, _s4_);
  5525. } else {
  5526. pathSegments = H.setRuntimeTypeInfo(path.split(_s1_), [P.String]);
  5527. P._Uri__checkWindowsPathReservedCharacters(pathSegments, true, 0);
  5528. return P._Uri__Uri(_null, _null, pathSegments, _s4_);
  5529. }
  5530. else {
  5531. pathSegments = H.setRuntimeTypeInfo(path.split(_s1_), [P.String]);
  5532. P._Uri__checkWindowsPathReservedCharacters(pathSegments, true, 0);
  5533. return P._Uri__Uri(_null, _null, pathSegments, _null);
  5534. }
  5535. },
  5536. _Uri__makePort: function(port, scheme) {
  5537. if (port != null && port === P._Uri__defaultPort(scheme))
  5538. return;
  5539. return port;
  5540. },
  5541. _Uri__makeHost: function(host, start, end, strictIPv6) {
  5542. var t1, i;
  5543. if (host == null)
  5544. return;
  5545. if (start === end)
  5546. return "";
  5547. if (C.JSString_methods.codeUnitAt$1(host, start) === 91) {
  5548. t1 = end - 1;
  5549. if (C.JSString_methods.codeUnitAt$1(host, t1) !== 93)
  5550. P._Uri__fail(host, start, "Missing end `]` to match `[` in host");
  5551. P.Uri_parseIPv6Address(host, start + 1, t1);
  5552. return C.JSString_methods.substring$2(host, start, end).toLowerCase();
  5553. }
  5554. for (i = start; i < end; ++i)
  5555. if (C.JSString_methods.codeUnitAt$1(host, i) === 58) {
  5556. P.Uri_parseIPv6Address(host, start, end);
  5557. return "[" + host + "]";
  5558. }
  5559. return P._Uri__normalizeRegName(host, start, end);
  5560. },
  5561. _Uri__normalizeRegName: function(host, start, end) {
  5562. var index, sectionStart, buffer, isNormalized, char, replacement, t1, slice, t2, sourceLength, tail;
  5563. for (index = start, sectionStart = index, buffer = null, isNormalized = true; index < end;) {
  5564. char = C.JSString_methods.codeUnitAt$1(host, index);
  5565. if (char === 37) {
  5566. replacement = P._Uri__normalizeEscape(host, index, true);
  5567. t1 = replacement == null;
  5568. if (t1 && isNormalized) {
  5569. index += 3;
  5570. continue;
  5571. }
  5572. if (buffer == null)
  5573. buffer = new P.StringBuffer("");
  5574. slice = C.JSString_methods.substring$2(host, sectionStart, index);
  5575. t2 = buffer._contents += !isNormalized ? slice.toLowerCase() : slice;
  5576. if (t1) {
  5577. replacement = C.JSString_methods.substring$2(host, index, index + 3);
  5578. sourceLength = 3;
  5579. } else if (replacement === "%") {
  5580. replacement = "%25";
  5581. sourceLength = 1;
  5582. } else
  5583. sourceLength = 3;
  5584. buffer._contents = t2 + replacement;
  5585. index += sourceLength;
  5586. sectionStart = index;
  5587. isNormalized = true;
  5588. } else if (char < 127 && (C.List_qNA[char >>> 4] & 1 << (char & 15)) !== 0) {
  5589. if (isNormalized && 65 <= char && 90 >= char) {
  5590. if (buffer == null)
  5591. buffer = new P.StringBuffer("");
  5592. if (sectionStart < index) {
  5593. buffer._contents += C.JSString_methods.substring$2(host, sectionStart, index);
  5594. sectionStart = index;
  5595. }
  5596. isNormalized = false;
  5597. }
  5598. ++index;
  5599. } else if (char <= 93 && (C.List_2Vk[char >>> 4] & 1 << (char & 15)) !== 0)
  5600. P._Uri__fail(host, index, "Invalid character");
  5601. else {
  5602. if ((char & 64512) === 55296 && index + 1 < end) {
  5603. tail = C.JSString_methods.codeUnitAt$1(host, index + 1);
  5604. if ((tail & 64512) === 56320) {
  5605. char = 65536 | (char & 1023) << 10 | tail & 1023;
  5606. sourceLength = 2;
  5607. } else
  5608. sourceLength = 1;
  5609. } else
  5610. sourceLength = 1;
  5611. if (buffer == null)
  5612. buffer = new P.StringBuffer("");
  5613. slice = C.JSString_methods.substring$2(host, sectionStart, index);
  5614. buffer._contents += !isNormalized ? slice.toLowerCase() : slice;
  5615. buffer._contents += P._Uri__escapeChar(char);
  5616. index += sourceLength;
  5617. sectionStart = index;
  5618. }
  5619. }
  5620. if (buffer == null)
  5621. return C.JSString_methods.substring$2(host, start, end);
  5622. if (sectionStart < end) {
  5623. slice = C.JSString_methods.substring$2(host, sectionStart, end);
  5624. buffer._contents += !isNormalized ? slice.toLowerCase() : slice;
  5625. }
  5626. t1 = buffer._contents;
  5627. return t1.charCodeAt(0) == 0 ? t1 : t1;
  5628. },
  5629. _Uri__makeScheme: function(scheme, start, end) {
  5630. var i, containsUpperCase, codeUnit;
  5631. if (start === end)
  5632. return "";
  5633. if (!P._Uri__isAlphabeticCharacter(J.getInterceptor$s(scheme)._codeUnitAt$1(scheme, start)))
  5634. P._Uri__fail(scheme, start, "Scheme not starting with alphabetic character");
  5635. for (i = start, containsUpperCase = false; i < end; ++i) {
  5636. codeUnit = C.JSString_methods._codeUnitAt$1(scheme, i);
  5637. if (!(codeUnit < 128 && (C.List_JYB[codeUnit >>> 4] & 1 << (codeUnit & 15)) !== 0))
  5638. P._Uri__fail(scheme, i, "Illegal scheme character");
  5639. if (65 <= codeUnit && codeUnit <= 90)
  5640. containsUpperCase = true;
  5641. }
  5642. scheme = C.JSString_methods.substring$2(scheme, start, end);
  5643. return P._Uri__canonicalizeScheme(containsUpperCase ? scheme.toLowerCase() : scheme);
  5644. },
  5645. _Uri__canonicalizeScheme: function(scheme) {
  5646. if (scheme === "http")
  5647. return "http";
  5648. if (scheme === "file")
  5649. return "file";
  5650. if (scheme === "https")
  5651. return "https";
  5652. if (scheme === "package")
  5653. return "package";
  5654. return scheme;
  5655. },
  5656. _Uri__makeUserInfo: function(userInfo, start, end) {
  5657. if (userInfo == null)
  5658. return "";
  5659. return P._Uri__normalizeOrSubstring(userInfo, start, end, C.List_gRj, false);
  5660. },
  5661. _Uri__makePath: function(path, start, end, pathSegments, scheme, hasAuthority) {
  5662. var result,
  5663. isFile = scheme === "file",
  5664. ensureLeadingSlash = isFile || hasAuthority,
  5665. t1 = path == null;
  5666. if (t1 && pathSegments == null)
  5667. return isFile ? "/" : "";
  5668. t1 = !t1;
  5669. if (t1 && pathSegments != null)
  5670. throw H.wrapException(P.ArgumentError$("Both path and pathSegments specified"));
  5671. if (t1)
  5672. result = P._Uri__normalizeOrSubstring(path, start, end, C.List_qg4, true);
  5673. else {
  5674. pathSegments.toString;
  5675. result = new H.MappedListIterable(pathSegments, new P._Uri__makePath_closure(), [H.getTypeArgumentByIndex(pathSegments, 0), P.String]).join$1(0, "/");
  5676. }
  5677. if (result.length === 0) {
  5678. if (isFile)
  5679. return "/";
  5680. } else if (ensureLeadingSlash && !C.JSString_methods.startsWith$1(result, "/"))
  5681. result = "/" + result;
  5682. return P._Uri__normalizePath(result, scheme, hasAuthority);
  5683. },
  5684. _Uri__normalizePath: function(path, scheme, hasAuthority) {
  5685. var t1 = scheme.length === 0;
  5686. if (t1 && !hasAuthority && !C.JSString_methods.startsWith$1(path, "/"))
  5687. return P._Uri__normalizeRelativePath(path, !t1 || hasAuthority);
  5688. return P._Uri__removeDotSegments(path);
  5689. },
  5690. _Uri__makeQuery: function(query, start, end, queryParameters) {
  5691. if (query != null)
  5692. return P._Uri__normalizeOrSubstring(query, start, end, C.List_CVk, true);
  5693. return;
  5694. },
  5695. _Uri__makeFragment: function(fragment, start, end) {
  5696. if (fragment == null)
  5697. return;
  5698. return P._Uri__normalizeOrSubstring(fragment, start, end, C.List_CVk, true);
  5699. },
  5700. _Uri__normalizeEscape: function(source, index, lowerCase) {
  5701. var firstDigit, secondDigit, firstDigitValue, secondDigitValue, value,
  5702. t1 = index + 2;
  5703. if (t1 >= source.length)
  5704. return "%";
  5705. firstDigit = C.JSString_methods.codeUnitAt$1(source, index + 1);
  5706. secondDigit = C.JSString_methods.codeUnitAt$1(source, t1);
  5707. firstDigitValue = H.hexDigitValue(firstDigit);
  5708. secondDigitValue = H.hexDigitValue(secondDigit);
  5709. if (firstDigitValue < 0 || secondDigitValue < 0)
  5710. return "%";
  5711. value = firstDigitValue * 16 + secondDigitValue;
  5712. if (value < 127 && (C.List_nxB[C.JSInt_methods._shrOtherPositive$1(value, 4)] & 1 << (value & 15)) !== 0)
  5713. return H.Primitives_stringFromCharCode(lowerCase && 65 <= value && 90 >= value ? (value | 32) >>> 0 : value);
  5714. if (firstDigit >= 97 || secondDigit >= 97)
  5715. return C.JSString_methods.substring$2(source, index, index + 3).toUpperCase();
  5716. return;
  5717. },
  5718. _Uri__escapeChar: function(char) {
  5719. var t1, codeUnits, flag, encodedBytes, index, byte,
  5720. _s16_ = "0123456789ABCDEF";
  5721. if (char < 128) {
  5722. t1 = new Array(3);
  5723. t1.fixed$length = Array;
  5724. codeUnits = H.setRuntimeTypeInfo(t1, [P.int]);
  5725. codeUnits[0] = 37;
  5726. codeUnits[1] = C.JSString_methods._codeUnitAt$1(_s16_, char >>> 4);
  5727. codeUnits[2] = C.JSString_methods._codeUnitAt$1(_s16_, char & 15);
  5728. } else {
  5729. if (char > 2047)
  5730. if (char > 65535) {
  5731. flag = 240;
  5732. encodedBytes = 4;
  5733. } else {
  5734. flag = 224;
  5735. encodedBytes = 3;
  5736. }
  5737. else {
  5738. flag = 192;
  5739. encodedBytes = 2;
  5740. }
  5741. t1 = new Array(3 * encodedBytes);
  5742. t1.fixed$length = Array;
  5743. codeUnits = H.setRuntimeTypeInfo(t1, [P.int]);
  5744. for (index = 0; --encodedBytes, encodedBytes >= 0; flag = 128) {
  5745. byte = C.JSInt_methods._shrReceiverPositive$1(char, 6 * encodedBytes) & 63 | flag;
  5746. codeUnits[index] = 37;
  5747. codeUnits[index + 1] = C.JSString_methods._codeUnitAt$1(_s16_, byte >>> 4);
  5748. codeUnits[index + 2] = C.JSString_methods._codeUnitAt$1(_s16_, byte & 15);
  5749. index += 3;
  5750. }
  5751. }
  5752. return P.String_String$fromCharCodes(codeUnits, 0, null);
  5753. },
  5754. _Uri__normalizeOrSubstring: function(component, start, end, charTable, escapeDelimiters) {
  5755. var t1 = P._Uri__normalize(component, start, end, charTable, escapeDelimiters);
  5756. return t1 == null ? C.JSString_methods.substring$2(component, start, end) : t1;
  5757. },
  5758. _Uri__normalize: function(component, start, end, charTable, escapeDelimiters) {
  5759. var t1, index, sectionStart, buffer, char, replacement, sourceLength, t2, tail;
  5760. for (t1 = !escapeDelimiters, index = start, sectionStart = index, buffer = null; index < end;) {
  5761. char = C.JSString_methods.codeUnitAt$1(component, index);
  5762. if (char < 127 && (charTable[char >>> 4] & 1 << (char & 15)) !== 0)
  5763. ++index;
  5764. else {
  5765. if (char === 37) {
  5766. replacement = P._Uri__normalizeEscape(component, index, false);
  5767. if (replacement == null) {
  5768. index += 3;
  5769. continue;
  5770. }
  5771. if ("%" === replacement) {
  5772. replacement = "%25";
  5773. sourceLength = 1;
  5774. } else
  5775. sourceLength = 3;
  5776. } else if (t1 && char <= 93 && (C.List_2Vk[char >>> 4] & 1 << (char & 15)) !== 0) {
  5777. P._Uri__fail(component, index, "Invalid character");
  5778. replacement = null;
  5779. sourceLength = null;
  5780. } else {
  5781. if ((char & 64512) === 55296) {
  5782. t2 = index + 1;
  5783. if (t2 < end) {
  5784. tail = C.JSString_methods.codeUnitAt$1(component, t2);
  5785. if ((tail & 64512) === 56320) {
  5786. char = 65536 | (char & 1023) << 10 | tail & 1023;
  5787. sourceLength = 2;
  5788. } else
  5789. sourceLength = 1;
  5790. } else
  5791. sourceLength = 1;
  5792. } else
  5793. sourceLength = 1;
  5794. replacement = P._Uri__escapeChar(char);
  5795. }
  5796. if (buffer == null)
  5797. buffer = new P.StringBuffer("");
  5798. buffer._contents += C.JSString_methods.substring$2(component, sectionStart, index);
  5799. buffer._contents += H.S(replacement);
  5800. index += sourceLength;
  5801. sectionStart = index;
  5802. }
  5803. }
  5804. if (buffer == null)
  5805. return;
  5806. if (sectionStart < end)
  5807. buffer._contents += C.JSString_methods.substring$2(component, sectionStart, end);
  5808. t1 = buffer._contents;
  5809. return t1.charCodeAt(0) == 0 ? t1 : t1;
  5810. },
  5811. _Uri__mayContainDotSegments: function(path) {
  5812. if (C.JSString_methods.startsWith$1(path, "."))
  5813. return true;
  5814. return C.JSString_methods.indexOf$1(path, "/.") !== -1;
  5815. },
  5816. _Uri__removeDotSegments: function(path) {
  5817. var output, t1, t2, appendSlash, _i, segment;
  5818. if (!P._Uri__mayContainDotSegments(path))
  5819. return path;
  5820. output = H.setRuntimeTypeInfo([], [P.String]);
  5821. for (t1 = path.split("/"), t2 = t1.length, appendSlash = false, _i = 0; _i < t2; ++_i) {
  5822. segment = t1[_i];
  5823. if (J.$eq$(segment, "..")) {
  5824. if (output.length !== 0) {
  5825. output.pop();
  5826. if (output.length === 0)
  5827. output.push("");
  5828. }
  5829. appendSlash = true;
  5830. } else if ("." === segment)
  5831. appendSlash = true;
  5832. else {
  5833. output.push(segment);
  5834. appendSlash = false;
  5835. }
  5836. }
  5837. if (appendSlash)
  5838. output.push("");
  5839. return C.JSArray_methods.join$1(output, "/");
  5840. },
  5841. _Uri__normalizeRelativePath: function(path, allowScheme) {
  5842. var output, t1, t2, appendSlash, _i, segment;
  5843. if (!P._Uri__mayContainDotSegments(path))
  5844. return !allowScheme ? P._Uri__escapeScheme(path) : path;
  5845. output = H.setRuntimeTypeInfo([], [P.String]);
  5846. for (t1 = path.split("/"), t2 = t1.length, appendSlash = false, _i = 0; _i < t2; ++_i) {
  5847. segment = t1[_i];
  5848. if (".." === segment)
  5849. if (output.length !== 0 && C.JSArray_methods.get$last(output) !== "..") {
  5850. output.pop();
  5851. appendSlash = true;
  5852. } else {
  5853. output.push("..");
  5854. appendSlash = false;
  5855. }
  5856. else if ("." === segment)
  5857. appendSlash = true;
  5858. else {
  5859. output.push(segment);
  5860. appendSlash = false;
  5861. }
  5862. }
  5863. t1 = output.length;
  5864. if (t1 !== 0)
  5865. t1 = t1 === 1 && output[0].length === 0;
  5866. else
  5867. t1 = true;
  5868. if (t1)
  5869. return "./";
  5870. if (appendSlash || C.JSArray_methods.get$last(output) === "..")
  5871. output.push("");
  5872. if (!allowScheme)
  5873. output[0] = P._Uri__escapeScheme(output[0]);
  5874. return C.JSArray_methods.join$1(output, "/");
  5875. },
  5876. _Uri__escapeScheme: function(path) {
  5877. var i, char,
  5878. t1 = path.length;
  5879. if (t1 >= 2 && P._Uri__isAlphabeticCharacter(J._codeUnitAt$1$s(path, 0)))
  5880. for (i = 1; i < t1; ++i) {
  5881. char = C.JSString_methods._codeUnitAt$1(path, i);
  5882. if (char === 58)
  5883. return C.JSString_methods.substring$2(path, 0, i) + "%3A" + C.JSString_methods.substring$1(path, i + 1);
  5884. if (char > 127 || (C.List_JYB[char >>> 4] & 1 << (char & 15)) === 0)
  5885. break;
  5886. }
  5887. return path;
  5888. },
  5889. _Uri__toWindowsFilePath: function(uri) {
  5890. var hasDriveLetter, t2, host,
  5891. segments = uri.get$pathSegments(),
  5892. t1 = segments.length;
  5893. if (t1 > 0 && J.get$length$asx(segments[0]) === 2 && J.codeUnitAt$1$s(segments[0], 1) === 58) {
  5894. P._Uri__checkWindowsDriveLetter(J.codeUnitAt$1$s(segments[0], 0), false);
  5895. P._Uri__checkWindowsPathReservedCharacters(segments, false, 1);
  5896. hasDriveLetter = true;
  5897. } else {
  5898. P._Uri__checkWindowsPathReservedCharacters(segments, false, 0);
  5899. hasDriveLetter = false;
  5900. }
  5901. t2 = uri.get$hasAbsolutePath() && !hasDriveLetter ? "\\" : "";
  5902. if (uri.get$hasAuthority()) {
  5903. host = uri.get$host();
  5904. if (host.length !== 0)
  5905. t2 = t2 + "\\" + H.S(host) + "\\";
  5906. }
  5907. t2 = P.StringBuffer__writeAll(t2, segments, "\\");
  5908. t1 = hasDriveLetter && t1 === 1 ? t2 + "\\" : t2;
  5909. return t1.charCodeAt(0) == 0 ? t1 : t1;
  5910. },
  5911. _Uri__hexCharPairToByte: function(s, pos) {
  5912. var byte, i, charCode;
  5913. for (byte = 0, i = 0; i < 2; ++i) {
  5914. charCode = C.JSString_methods._codeUnitAt$1(s, pos + i);
  5915. if (48 <= charCode && charCode <= 57)
  5916. byte = byte * 16 + charCode - 48;
  5917. else {
  5918. charCode |= 32;
  5919. if (97 <= charCode && charCode <= 102)
  5920. byte = byte * 16 + charCode - 87;
  5921. else
  5922. throw H.wrapException(P.ArgumentError$("Invalid URL encoding"));
  5923. }
  5924. }
  5925. return byte;
  5926. },
  5927. _Uri__uriDecode: function(text, start, end, encoding, plusToSpace) {
  5928. var simple, codeUnit, t2, bytes,
  5929. t1 = J.getInterceptor$s(text),
  5930. i = start;
  5931. while (true) {
  5932. if (!(i < end)) {
  5933. simple = true;
  5934. break;
  5935. }
  5936. codeUnit = t1._codeUnitAt$1(text, i);
  5937. if (codeUnit <= 127)
  5938. if (codeUnit !== 37)
  5939. t2 = false;
  5940. else
  5941. t2 = true;
  5942. else
  5943. t2 = true;
  5944. if (t2) {
  5945. simple = false;
  5946. break;
  5947. }
  5948. ++i;
  5949. }
  5950. if (simple) {
  5951. if (C.C_Utf8Codec !== encoding)
  5952. t2 = false;
  5953. else
  5954. t2 = true;
  5955. if (t2)
  5956. return t1.substring$2(text, start, end);
  5957. else
  5958. bytes = new H.CodeUnits(t1.substring$2(text, start, end));
  5959. } else {
  5960. bytes = H.setRuntimeTypeInfo([], [P.int]);
  5961. for (i = start; i < end; ++i) {
  5962. codeUnit = t1._codeUnitAt$1(text, i);
  5963. if (codeUnit > 127)
  5964. throw H.wrapException(P.ArgumentError$("Illegal percent encoding in URI"));
  5965. if (codeUnit === 37) {
  5966. if (i + 3 > text.length)
  5967. throw H.wrapException(P.ArgumentError$("Truncated URI"));
  5968. bytes.push(P._Uri__hexCharPairToByte(text, i + 1));
  5969. i += 2;
  5970. } else
  5971. bytes.push(codeUnit);
  5972. }
  5973. }
  5974. return new P.Utf8Decoder(false).convert$1(bytes);
  5975. },
  5976. _Uri__isAlphabeticCharacter: function(codeUnit) {
  5977. var lowerCase = codeUnit | 32;
  5978. return 97 <= lowerCase && lowerCase <= 122;
  5979. },
  5980. UriData__writeUri: function(mimeType, charsetName, parameters, buffer, indices) {
  5981. var t1, slashIndex;
  5982. if (mimeType == null || mimeType === "text/plain")
  5983. mimeType = "";
  5984. if (mimeType.length === 0 || mimeType === "application/octet-stream")
  5985. t1 = buffer._contents += mimeType;
  5986. else {
  5987. slashIndex = P.UriData__validateMimeType(mimeType);
  5988. if (slashIndex < 0)
  5989. throw H.wrapException(P.ArgumentError$value(mimeType, "mimeType", "Invalid MIME type"));
  5990. t1 = buffer._contents += H.S(P._Uri__uriEncode(C.List_qFt, C.JSString_methods.substring$2(mimeType, 0, slashIndex), C.C_Utf8Codec, false));
  5991. buffer._contents = t1 + "/";
  5992. t1 = buffer._contents += H.S(P._Uri__uriEncode(C.List_qFt, C.JSString_methods.substring$1(mimeType, slashIndex + 1), C.C_Utf8Codec, false));
  5993. }
  5994. if (charsetName != null) {
  5995. indices.push(t1.length);
  5996. indices.push(buffer._contents.length + 8);
  5997. buffer._contents += ";charset=";
  5998. buffer._contents += H.S(P._Uri__uriEncode(C.List_qFt, charsetName, C.C_Utf8Codec, false));
  5999. }
  6000. },
  6001. UriData__validateMimeType: function(mimeType) {
  6002. var t1, slashIndex, i;
  6003. for (t1 = mimeType.length, slashIndex = -1, i = 0; i < t1; ++i) {
  6004. if (C.JSString_methods._codeUnitAt$1(mimeType, i) !== 47)
  6005. continue;
  6006. if (slashIndex < 0) {
  6007. slashIndex = i;
  6008. continue;
  6009. }
  6010. return -1;
  6011. }
  6012. return slashIndex;
  6013. },
  6014. UriData__parse: function(text, start, sourceUri) {
  6015. var t1, i, slashIndex, char, equalsIndex, lastSeparator, t2, data,
  6016. _s17_ = "Invalid MIME type",
  6017. indices = H.setRuntimeTypeInfo([start - 1], [P.int]);
  6018. for (t1 = text.length, i = start, slashIndex = -1, char = null; i < t1; ++i) {
  6019. char = C.JSString_methods._codeUnitAt$1(text, i);
  6020. if (char === 44 || char === 59)
  6021. break;
  6022. if (char === 47) {
  6023. if (slashIndex < 0) {
  6024. slashIndex = i;
  6025. continue;
  6026. }
  6027. throw H.wrapException(P.FormatException$(_s17_, text, i));
  6028. }
  6029. }
  6030. if (slashIndex < 0 && i > start)
  6031. throw H.wrapException(P.FormatException$(_s17_, text, i));
  6032. for (; char !== 44;) {
  6033. indices.push(i);
  6034. ++i;
  6035. for (equalsIndex = -1; i < t1; ++i) {
  6036. char = C.JSString_methods._codeUnitAt$1(text, i);
  6037. if (char === 61) {
  6038. if (equalsIndex < 0)
  6039. equalsIndex = i;
  6040. } else if (char === 59 || char === 44)
  6041. break;
  6042. }
  6043. if (equalsIndex >= 0)
  6044. indices.push(equalsIndex);
  6045. else {
  6046. lastSeparator = C.JSArray_methods.get$last(indices);
  6047. if (char !== 44 || i !== lastSeparator + 7 || !C.JSString_methods.startsWith$2(text, "base64", lastSeparator + 1))
  6048. throw H.wrapException(P.FormatException$("Expecting '='", text, i));
  6049. break;
  6050. }
  6051. }
  6052. indices.push(i);
  6053. t2 = i + 1;
  6054. if ((indices.length & 1) === 1)
  6055. text = C.C_Base64Codec.normalize$3(text, t2, t1);
  6056. else {
  6057. data = P._Uri__normalize(text, t2, t1, C.List_CVk, true);
  6058. if (data != null)
  6059. text = C.JSString_methods.replaceRange$3(text, t2, t1, data);
  6060. }
  6061. return new P.UriData(text, indices, sourceUri);
  6062. },
  6063. UriData__uriEncodeBytes: function(canonicalTable, bytes, buffer) {
  6064. var t1, byteOr, i, byte,
  6065. _s16_ = "0123456789ABCDEF";
  6066. for (t1 = J.getInterceptor$asx(bytes), byteOr = 0, i = 0; i < t1.get$length(bytes); ++i) {
  6067. byte = t1.$index(bytes, i);
  6068. byteOr |= byte;
  6069. if (byte < 128 && (canonicalTable[C.JSInt_methods._shrOtherPositive$1(byte, 4)] & 1 << (byte & 15)) !== 0)
  6070. buffer._contents += H.Primitives_stringFromCharCode(byte);
  6071. else {
  6072. buffer._contents += H.Primitives_stringFromCharCode(37);
  6073. buffer._contents += H.Primitives_stringFromCharCode(C.JSString_methods._codeUnitAt$1(_s16_, C.JSInt_methods._shrOtherPositive$1(byte, 4)));
  6074. buffer._contents += H.Primitives_stringFromCharCode(C.JSString_methods._codeUnitAt$1(_s16_, byte & 15));
  6075. }
  6076. }
  6077. if ((byteOr & 4294967040) >>> 0 !== 0)
  6078. for (i = 0; i < t1.get$length(bytes); ++i) {
  6079. byte = t1.$index(bytes, i);
  6080. if (byte < 0 || byte > 255)
  6081. throw H.wrapException(P.ArgumentError$value(byte, "non-byte value", null));
  6082. }
  6083. },
  6084. _createTables: function() {
  6085. var _s77_ = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-._~!$&'()*+,;=",
  6086. _s1_ = ".", _s1_0 = ":", _s1_1 = "/", _s1_2 = "?", _s1_3 = "#",
  6087. tables = P.List_List$generate(22, new P._createTables_closure(), true, P.Uint8List),
  6088. t1 = new P._createTables_build(tables),
  6089. t2 = new P._createTables_setChars(),
  6090. t3 = new P._createTables_setRange(),
  6091. b = t1.call$2(0, 225);
  6092. t2.call$3(b, _s77_, 1);
  6093. t2.call$3(b, _s1_, 14);
  6094. t2.call$3(b, _s1_0, 34);
  6095. t2.call$3(b, _s1_1, 3);
  6096. t2.call$3(b, _s1_2, 172);
  6097. t2.call$3(b, _s1_3, 205);
  6098. b = t1.call$2(14, 225);
  6099. t2.call$3(b, _s77_, 1);
  6100. t2.call$3(b, _s1_, 15);
  6101. t2.call$3(b, _s1_0, 34);
  6102. t2.call$3(b, _s1_1, 234);
  6103. t2.call$3(b, _s1_2, 172);
  6104. t2.call$3(b, _s1_3, 205);
  6105. b = t1.call$2(15, 225);
  6106. t2.call$3(b, _s77_, 1);
  6107. t2.call$3(b, "%", 225);
  6108. t2.call$3(b, _s1_0, 34);
  6109. t2.call$3(b, _s1_1, 9);
  6110. t2.call$3(b, _s1_2, 172);
  6111. t2.call$3(b, _s1_3, 205);
  6112. b = t1.call$2(1, 225);
  6113. t2.call$3(b, _s77_, 1);
  6114. t2.call$3(b, _s1_0, 34);
  6115. t2.call$3(b, _s1_1, 10);
  6116. t2.call$3(b, _s1_2, 172);
  6117. t2.call$3(b, _s1_3, 205);
  6118. b = t1.call$2(2, 235);
  6119. t2.call$3(b, _s77_, 139);
  6120. t2.call$3(b, _s1_1, 131);
  6121. t2.call$3(b, _s1_, 146);
  6122. t2.call$3(b, _s1_2, 172);
  6123. t2.call$3(b, _s1_3, 205);
  6124. b = t1.call$2(3, 235);
  6125. t2.call$3(b, _s77_, 11);
  6126. t2.call$3(b, _s1_1, 68);
  6127. t2.call$3(b, _s1_, 18);
  6128. t2.call$3(b, _s1_2, 172);
  6129. t2.call$3(b, _s1_3, 205);
  6130. b = t1.call$2(4, 229);
  6131. t2.call$3(b, _s77_, 5);
  6132. t3.call$3(b, "AZ", 229);
  6133. t2.call$3(b, _s1_0, 102);
  6134. t2.call$3(b, "@", 68);
  6135. t2.call$3(b, "[", 232);
  6136. t2.call$3(b, _s1_1, 138);
  6137. t2.call$3(b, _s1_2, 172);
  6138. t2.call$3(b, _s1_3, 205);
  6139. b = t1.call$2(5, 229);
  6140. t2.call$3(b, _s77_, 5);
  6141. t3.call$3(b, "AZ", 229);
  6142. t2.call$3(b, _s1_0, 102);
  6143. t2.call$3(b, "@", 68);
  6144. t2.call$3(b, _s1_1, 138);
  6145. t2.call$3(b, _s1_2, 172);
  6146. t2.call$3(b, _s1_3, 205);
  6147. b = t1.call$2(6, 231);
  6148. t3.call$3(b, "19", 7);
  6149. t2.call$3(b, "@", 68);
  6150. t2.call$3(b, _s1_1, 138);
  6151. t2.call$3(b, _s1_2, 172);
  6152. t2.call$3(b, _s1_3, 205);
  6153. b = t1.call$2(7, 231);
  6154. t3.call$3(b, "09", 7);
  6155. t2.call$3(b, "@", 68);
  6156. t2.call$3(b, _s1_1, 138);
  6157. t2.call$3(b, _s1_2, 172);
  6158. t2.call$3(b, _s1_3, 205);
  6159. t2.call$3(t1.call$2(8, 8), "]", 5);
  6160. b = t1.call$2(9, 235);
  6161. t2.call$3(b, _s77_, 11);
  6162. t2.call$3(b, _s1_, 16);
  6163. t2.call$3(b, _s1_1, 234);
  6164. t2.call$3(b, _s1_2, 172);
  6165. t2.call$3(b, _s1_3, 205);
  6166. b = t1.call$2(16, 235);
  6167. t2.call$3(b, _s77_, 11);
  6168. t2.call$3(b, _s1_, 17);
  6169. t2.call$3(b, _s1_1, 234);
  6170. t2.call$3(b, _s1_2, 172);
  6171. t2.call$3(b, _s1_3, 205);
  6172. b = t1.call$2(17, 235);
  6173. t2.call$3(b, _s77_, 11);
  6174. t2.call$3(b, _s1_1, 9);
  6175. t2.call$3(b, _s1_2, 172);
  6176. t2.call$3(b, _s1_3, 205);
  6177. b = t1.call$2(10, 235);
  6178. t2.call$3(b, _s77_, 11);
  6179. t2.call$3(b, _s1_, 18);
  6180. t2.call$3(b, _s1_1, 234);
  6181. t2.call$3(b, _s1_2, 172);
  6182. t2.call$3(b, _s1_3, 205);
  6183. b = t1.call$2(18, 235);
  6184. t2.call$3(b, _s77_, 11);
  6185. t2.call$3(b, _s1_, 19);
  6186. t2.call$3(b, _s1_1, 234);
  6187. t2.call$3(b, _s1_2, 172);
  6188. t2.call$3(b, _s1_3, 205);
  6189. b = t1.call$2(19, 235);
  6190. t2.call$3(b, _s77_, 11);
  6191. t2.call$3(b, _s1_1, 234);
  6192. t2.call$3(b, _s1_2, 172);
  6193. t2.call$3(b, _s1_3, 205);
  6194. b = t1.call$2(11, 235);
  6195. t2.call$3(b, _s77_, 11);
  6196. t2.call$3(b, _s1_1, 10);
  6197. t2.call$3(b, _s1_2, 172);
  6198. t2.call$3(b, _s1_3, 205);
  6199. b = t1.call$2(12, 236);
  6200. t2.call$3(b, _s77_, 12);
  6201. t2.call$3(b, _s1_2, 12);
  6202. t2.call$3(b, _s1_3, 205);
  6203. b = t1.call$2(13, 237);
  6204. t2.call$3(b, _s77_, 13);
  6205. t2.call$3(b, _s1_2, 13);
  6206. t3.call$3(t1.call$2(20, 245), "az", 21);
  6207. b = t1.call$2(21, 245);
  6208. t3.call$3(b, "az", 21);
  6209. t3.call$3(b, "09", 21);
  6210. t2.call$3(b, "+-.", 21);
  6211. return tables;
  6212. },
  6213. _scan: function(uri, start, end, state, indices) {
  6214. var t1, i, table, char, transition,
  6215. tables = $.$get$_scannerTables();
  6216. for (t1 = J.getInterceptor$s(uri), i = start; i < end; ++i) {
  6217. table = tables[state];
  6218. char = t1._codeUnitAt$1(uri, i) ^ 96;
  6219. transition = table[char > 95 ? 31 : char];
  6220. state = transition & 31;
  6221. indices[transition >>> 5] = i;
  6222. }
  6223. return state;
  6224. },
  6225. NoSuchMethodError_toString_closure: function NoSuchMethodError_toString_closure(t0, t1) {
  6226. this._box_0 = t0;
  6227. this.sb = t1;
  6228. },
  6229. bool: function bool() {
  6230. },
  6231. DateTime: function DateTime(t0, t1) {
  6232. this._value = t0;
  6233. this.isUtc = t1;
  6234. },
  6235. double: function double() {
  6236. },
  6237. Duration: function Duration(t0) {
  6238. this._duration = t0;
  6239. },
  6240. Duration_toString_sixDigits: function Duration_toString_sixDigits() {
  6241. },
  6242. Duration_toString_twoDigits: function Duration_toString_twoDigits() {
  6243. },
  6244. Error: function Error() {
  6245. },
  6246. NullThrownError: function NullThrownError() {
  6247. },
  6248. ArgumentError: function ArgumentError(t0, t1, t2, t3) {
  6249. var _ = this;
  6250. _._hasValue = t0;
  6251. _.invalidValue = t1;
  6252. _.name = t2;
  6253. _.message = t3;
  6254. },
  6255. RangeError: function RangeError(t0, t1, t2, t3, t4, t5) {
  6256. var _ = this;
  6257. _.start = t0;
  6258. _.end = t1;
  6259. _._hasValue = t2;
  6260. _.invalidValue = t3;
  6261. _.name = t4;
  6262. _.message = t5;
  6263. },
  6264. IndexError: function IndexError(t0, t1, t2, t3, t4) {
  6265. var _ = this;
  6266. _.length = t0;
  6267. _._hasValue = t1;
  6268. _.invalidValue = t2;
  6269. _.name = t3;
  6270. _.message = t4;
  6271. },
  6272. NoSuchMethodError: function NoSuchMethodError(t0, t1, t2, t3) {
  6273. var _ = this;
  6274. _._receiver = t0;
  6275. _._memberName = t1;
  6276. _._arguments = t2;
  6277. _._namedArguments = t3;
  6278. },
  6279. UnsupportedError: function UnsupportedError(t0) {
  6280. this.message = t0;
  6281. },
  6282. UnimplementedError: function UnimplementedError(t0) {
  6283. this.message = t0;
  6284. },
  6285. StateError: function StateError(t0) {
  6286. this.message = t0;
  6287. },
  6288. ConcurrentModificationError: function ConcurrentModificationError(t0) {
  6289. this.modifiedObject = t0;
  6290. },
  6291. OutOfMemoryError: function OutOfMemoryError() {
  6292. },
  6293. StackOverflowError: function StackOverflowError() {
  6294. },
  6295. CyclicInitializationError: function CyclicInitializationError(t0) {
  6296. this.variableName = t0;
  6297. },
  6298. _Exception: function _Exception(t0) {
  6299. this.message = t0;
  6300. },
  6301. FormatException: function FormatException(t0, t1, t2) {
  6302. this.message = t0;
  6303. this.source = t1;
  6304. this.offset = t2;
  6305. },
  6306. Function: function Function() {
  6307. },
  6308. int: function int() {
  6309. },
  6310. Iterable: function Iterable() {
  6311. },
  6312. _GeneratorIterable: function _GeneratorIterable(t0, t1, t2) {
  6313. this.length = t0;
  6314. this._generator = t1;
  6315. this.$ti = t2;
  6316. },
  6317. Iterator: function Iterator() {
  6318. },
  6319. List: function List() {
  6320. },
  6321. Map: function Map() {
  6322. },
  6323. MapEntry: function MapEntry(t0, t1, t2) {
  6324. this.key = t0;
  6325. this.value = t1;
  6326. this.$ti = t2;
  6327. },
  6328. Null: function Null() {
  6329. },
  6330. num: function num() {
  6331. },
  6332. Object: function Object() {
  6333. },
  6334. Match: function Match() {
  6335. },
  6336. RegExpMatch: function RegExpMatch() {
  6337. },
  6338. Set: function Set() {
  6339. },
  6340. StackTrace: function StackTrace() {
  6341. },
  6342. _StringStackTrace: function _StringStackTrace(t0) {
  6343. this._core$_stackTrace = t0;
  6344. },
  6345. String: function String() {
  6346. },
  6347. Runes: function Runes(t0) {
  6348. this.string = t0;
  6349. },
  6350. RuneIterator: function RuneIterator(t0) {
  6351. var _ = this;
  6352. _.string = t0;
  6353. _._nextPosition = _._core$_position = 0;
  6354. _._currentCodePoint = null;
  6355. },
  6356. StringBuffer: function StringBuffer(t0) {
  6357. this._contents = t0;
  6358. },
  6359. StringSink: function StringSink() {
  6360. },
  6361. Symbol: function Symbol() {
  6362. },
  6363. Uri: function Uri() {
  6364. },
  6365. Uri__parseIPv4Address_error: function Uri__parseIPv4Address_error(t0) {
  6366. this.host = t0;
  6367. },
  6368. Uri_parseIPv6Address_error: function Uri_parseIPv6Address_error(t0) {
  6369. this.host = t0;
  6370. },
  6371. Uri_parseIPv6Address_parseHex: function Uri_parseIPv6Address_parseHex(t0, t1) {
  6372. this.error = t0;
  6373. this.host = t1;
  6374. },
  6375. _Uri: function _Uri(t0, t1, t2, t3, t4, t5, t6) {
  6376. var _ = this;
  6377. _.scheme = t0;
  6378. _._userInfo = t1;
  6379. _._host = t2;
  6380. _._port = t3;
  6381. _.path = t4;
  6382. _._query = t5;
  6383. _._fragment = t6;
  6384. _._hashCodeCache = _._text = _._pathSegments = null;
  6385. },
  6386. _Uri__Uri$notSimple_closure: function _Uri__Uri$notSimple_closure(t0, t1) {
  6387. this.uri = t0;
  6388. this.portStart = t1;
  6389. },
  6390. _Uri__checkNonWindowsPathReservedCharacters_closure: function _Uri__checkNonWindowsPathReservedCharacters_closure(t0) {
  6391. this.argumentError = t0;
  6392. },
  6393. _Uri__makePath_closure: function _Uri__makePath_closure() {
  6394. },
  6395. UriData: function UriData(t0, t1, t2) {
  6396. this._text = t0;
  6397. this._separatorIndices = t1;
  6398. this._uriCache = t2;
  6399. },
  6400. _createTables_closure: function _createTables_closure() {
  6401. },
  6402. _createTables_build: function _createTables_build(t0) {
  6403. this.tables = t0;
  6404. },
  6405. _createTables_setChars: function _createTables_setChars() {
  6406. },
  6407. _createTables_setRange: function _createTables_setRange() {
  6408. },
  6409. _SimpleUri: function _SimpleUri(t0, t1, t2, t3, t4, t5, t6, t7) {
  6410. var _ = this;
  6411. _._uri = t0;
  6412. _._schemeEnd = t1;
  6413. _._hostStart = t2;
  6414. _._portStart = t3;
  6415. _._pathStart = t4;
  6416. _._queryStart = t5;
  6417. _._fragmentStart = t6;
  6418. _._schemeCache = t7;
  6419. _._hashCodeCache = null;
  6420. },
  6421. _DataUri: function _DataUri(t0, t1, t2, t3, t4, t5, t6) {
  6422. var _ = this;
  6423. _.scheme = t0;
  6424. _._userInfo = t1;
  6425. _._host = t2;
  6426. _._port = t3;
  6427. _.path = t4;
  6428. _._query = t5;
  6429. _._fragment = t6;
  6430. _._hashCodeCache = _._text = _._pathSegments = null;
  6431. },
  6432. max: function(a, b) {
  6433. return Math.max(H.checkNum(a), H.checkNum(b));
  6434. },
  6435. pow: function(x, exponent) {
  6436. return Math.pow(x, exponent);
  6437. },
  6438. Random_Random: function() {
  6439. return C.C__JSRandom;
  6440. },
  6441. _JSRandom: function _JSRandom() {
  6442. },
  6443. Uint8List: function Uint8List() {
  6444. },
  6445. _convertDartFunctionFast: function(f) {
  6446. var ret,
  6447. existing = f.$dart_jsFunction;
  6448. if (existing != null)
  6449. return existing;
  6450. ret = function(_call, f) {
  6451. return function() {
  6452. return _call(f, Array.prototype.slice.apply(arguments));
  6453. };
  6454. }(P._callDartFunctionFast, f);
  6455. ret[$.$get$DART_CLOSURE_PROPERTY_NAME()] = f;
  6456. f.$dart_jsFunction = ret;
  6457. return ret;
  6458. },
  6459. _convertDartFunctionFastCaptureThis: function(f) {
  6460. var ret,
  6461. existing = f._$dart_jsFunctionCaptureThis;
  6462. if (existing != null)
  6463. return existing;
  6464. ret = function(_call, f) {
  6465. return function() {
  6466. return _call(f, this, Array.prototype.slice.apply(arguments));
  6467. };
  6468. }(P._callDartFunctionFastCaptureThis, f);
  6469. ret[$.$get$DART_CLOSURE_PROPERTY_NAME()] = f;
  6470. f._$dart_jsFunctionCaptureThis = ret;
  6471. return ret;
  6472. },
  6473. _callDartFunctionFast: function(callback, $arguments) {
  6474. return P.Function_apply(callback, $arguments);
  6475. },
  6476. _callDartFunctionFastCaptureThis: function(callback, $self, $arguments) {
  6477. var t1 = [$self];
  6478. C.JSArray_methods.addAll$1(t1, $arguments);
  6479. return P.Function_apply(callback, t1);
  6480. },
  6481. allowInterop: function(f) {
  6482. if (typeof f == "function")
  6483. return f;
  6484. else
  6485. return P._convertDartFunctionFast(f);
  6486. },
  6487. allowInteropCaptureThis: function(f) {
  6488. if (typeof f == "function")
  6489. throw H.wrapException(P.ArgumentError$("Function is already a JS function so cannot capture this."));
  6490. else
  6491. return P._convertDartFunctionFastCaptureThis(f);
  6492. },
  6493. callConstructor: function(constr, $arguments) {
  6494. var args, factoryFunction;
  6495. if ($arguments instanceof Array)
  6496. switch ($arguments.length) {
  6497. case 0:
  6498. return new constr();
  6499. case 1:
  6500. return new constr($arguments[0]);
  6501. case 2:
  6502. return new constr($arguments[0], $arguments[1]);
  6503. case 3:
  6504. return new constr($arguments[0], $arguments[1], $arguments[2]);
  6505. case 4:
  6506. return new constr($arguments[0], $arguments[1], $arguments[2], $arguments[3]);
  6507. }
  6508. args = [null];
  6509. C.JSArray_methods.addAll$1(args, $arguments);
  6510. factoryFunction = constr.bind.apply(constr, args);
  6511. String(factoryFunction);
  6512. return new factoryFunction();
  6513. }
  6514. },
  6515. N = {ArgParser: function ArgParser(t0, t1, t2, t3, t4, t5) {
  6516. var _ = this;
  6517. _._arg_parser$_options = t0;
  6518. _.options = t1;
  6519. _.commands = t2;
  6520. _._optionsAndSeparators = t3;
  6521. _.allowTrailingOptions = t4;
  6522. _.usageLineLength = t5;
  6523. }, ArgParser_findByAbbreviation_closure: function ArgParser_findByAbbreviation_closure(t0) {
  6524. this.abbr = t0;
  6525. }, ArgParser_findByAbbreviation_closure0: function ArgParser_findByAbbreviation_closure0() {
  6526. }, SupportsCondition: function SupportsCondition() {
  6527. }, AttributeSelector: function AttributeSelector(t0, t1, t2, t3) {
  6528. var _ = this;
  6529. _.name = t0;
  6530. _.op = t1;
  6531. _.value = t2;
  6532. _.modifier = t3;
  6533. }, AttributeOperator: function AttributeOperator(t0) {
  6534. this._attribute$_text = t0;
  6535. }, IDSelector: function IDSelector(t0) {
  6536. this.name = t0;
  6537. }, IDSelector_unify_closure: function IDSelector_unify_closure(t0) {
  6538. this.$this = t0;
  6539. }, PlaceholderSelector: function PlaceholderSelector(t0) {
  6540. this.name = t0;
  6541. }, UniversalSelector: function UniversalSelector(t0) {
  6542. this.namespace = t0;
  6543. }, NoSourceMapBuffer: function NoSourceMapBuffer(t0) {
  6544. this._no_source_map_buffer$_buffer = t0;
  6545. },
  6546. serialize: function(node, charset, indentWidth, inspect, lineFeed, sourceMap, style, useSpaces) {
  6547. var t1, css, t2, prefix, t3,
  6548. visitor = N._SerializeVisitor$(indentWidth == null ? 2 : indentWidth, inspect, lineFeed, true, sourceMap, style, useSpaces);
  6549. node.accept$1(visitor);
  6550. t1 = visitor._buffer;
  6551. css = t1.toString$0(0);
  6552. if (charset) {
  6553. t2 = new H.CodeUnits(css);
  6554. t2 = t2.any$1(t2, new N.serialize_closure());
  6555. } else
  6556. t2 = false;
  6557. if (t2)
  6558. prefix = style === C.OutputStyle_compressed ? "\ufeff" : '@charset "UTF-8";\n';
  6559. else
  6560. prefix = "";
  6561. t2 = prefix + css;
  6562. t3 = sourceMap ? t1.buildSourceMap$1$prefix(prefix) : null;
  6563. if (sourceMap)
  6564. t1.get$sourceFiles();
  6565. return new N.SerializeResult(t2, t3);
  6566. },
  6567. serializeValue: function(value, inspect, quote) {
  6568. var visitor = N._SerializeVisitor$(null, inspect, null, quote, false, null, true);
  6569. value.accept$1(visitor);
  6570. return visitor._buffer.toString$0(0);
  6571. },
  6572. _SerializeVisitor$: function(indentWidth, inspect, lineFeed, quote, sourceMap, style, useSpaces) {
  6573. var t1 = sourceMap ? new D.SourceMapBuffer(new P.StringBuffer(""), H.setRuntimeTypeInfo([], [L.Entry]), P.LinkedHashMap_LinkedHashMap$_empty(P.Uri, Y.SourceFile)) : new N.NoSourceMapBuffer(new P.StringBuffer("")),
  6574. t2 = style == null ? C.OutputStyle_expanded : style,
  6575. t3 = useSpaces ? 32 : 9,
  6576. t4 = indentWidth == null ? 2 : indentWidth,
  6577. t5 = lineFeed == null ? C.LineFeed_D6m : lineFeed;
  6578. P.RangeError_checkValueInInterval(t4, 0, 10, "indentWidth");
  6579. return new N._SerializeVisitor(t1, t2, inspect, quote, t3, t4, t5);
  6580. },
  6581. serialize_closure: function serialize_closure() {
  6582. },
  6583. _SerializeVisitor: function _SerializeVisitor(t0, t1, t2, t3, t4, t5, t6) {
  6584. var _ = this;
  6585. _._buffer = t0;
  6586. _._indentation = 0;
  6587. _._style = t1;
  6588. _._inspect = t2;
  6589. _._quote = t3;
  6590. _._indentCharacter = t4;
  6591. _._indentWidth = t5;
  6592. _._lineFeed = t6;
  6593. },
  6594. _SerializeVisitor_visitCssComment_closure: function _SerializeVisitor_visitCssComment_closure(t0, t1) {
  6595. this.$this = t0;
  6596. this.node = t1;
  6597. },
  6598. _SerializeVisitor_visitCssAtRule_closure: function _SerializeVisitor_visitCssAtRule_closure(t0, t1) {
  6599. this.$this = t0;
  6600. this.node = t1;
  6601. },
  6602. _SerializeVisitor_visitCssMediaRule_closure: function _SerializeVisitor_visitCssMediaRule_closure(t0, t1) {
  6603. this.$this = t0;
  6604. this.node = t1;
  6605. },
  6606. _SerializeVisitor_visitCssImport_closure: function _SerializeVisitor_visitCssImport_closure(t0, t1) {
  6607. this.$this = t0;
  6608. this.node = t1;
  6609. },
  6610. _SerializeVisitor_visitCssImport__closure: function _SerializeVisitor_visitCssImport__closure(t0, t1) {
  6611. this.$this = t0;
  6612. this.node = t1;
  6613. },
  6614. _SerializeVisitor_visitCssKeyframeBlock_closure: function _SerializeVisitor_visitCssKeyframeBlock_closure(t0, t1) {
  6615. this.$this = t0;
  6616. this.node = t1;
  6617. },
  6618. _SerializeVisitor_visitCssStyleRule_closure: function _SerializeVisitor_visitCssStyleRule_closure(t0, t1) {
  6619. this.$this = t0;
  6620. this.node = t1;
  6621. },
  6622. _SerializeVisitor_visitCssSupportsRule_closure: function _SerializeVisitor_visitCssSupportsRule_closure(t0, t1) {
  6623. this.$this = t0;
  6624. this.node = t1;
  6625. },
  6626. _SerializeVisitor_visitCssDeclaration_closure: function _SerializeVisitor_visitCssDeclaration_closure(t0, t1) {
  6627. this.$this = t0;
  6628. this.node = t1;
  6629. },
  6630. _SerializeVisitor_visitCssDeclaration_closure0: function _SerializeVisitor_visitCssDeclaration_closure0(t0, t1) {
  6631. this.$this = t0;
  6632. this.node = t1;
  6633. },
  6634. _SerializeVisitor_visitList_closure: function _SerializeVisitor_visitList_closure() {
  6635. },
  6636. _SerializeVisitor_visitList_closure0: function _SerializeVisitor_visitList_closure0(t0, t1) {
  6637. this.$this = t0;
  6638. this.value = t1;
  6639. },
  6640. _SerializeVisitor_visitList_closure1: function _SerializeVisitor_visitList_closure1(t0) {
  6641. this.$this = t0;
  6642. },
  6643. _SerializeVisitor_visitMap_closure: function _SerializeVisitor_visitMap_closure(t0, t1) {
  6644. this.$this = t0;
  6645. this.map = t1;
  6646. },
  6647. _SerializeVisitor_visitSelectorList_closure: function _SerializeVisitor_visitSelectorList_closure() {
  6648. },
  6649. _SerializeVisitor__write_closure: function _SerializeVisitor__write_closure(t0, t1) {
  6650. this.$this = t0;
  6651. this.value = t1;
  6652. },
  6653. _SerializeVisitor__visitChildren_closure: function _SerializeVisitor__visitChildren_closure(t0, t1, t2) {
  6654. this._box_0 = t0;
  6655. this.$this = t1;
  6656. this.children = t2;
  6657. },
  6658. OutputStyle: function OutputStyle(t0) {
  6659. this._serialize$_name = t0;
  6660. },
  6661. LineFeed: function LineFeed(t0, t1) {
  6662. this.name = t0;
  6663. this.text = t1;
  6664. },
  6665. SerializeResult: function SerializeResult(t0, t1) {
  6666. this.css = t0;
  6667. this.sourceMap = t1;
  6668. },
  6669. warn: function(message, deprecation) {
  6670. var warnDefinition = $.Zone__current.$index(0, C.Symbol__warn);
  6671. if (warnDefinition == null)
  6672. throw H.wrapException(P.ArgumentError$("warn() may only be called within a custom function or importer callback."));
  6673. warnDefinition.call$2(message, deprecation);
  6674. },
  6675. withWarnCallback: function(warn, callback) {
  6676. return P.runZoned(new N.withWarnCallback_closure(callback), P.LinkedHashMap__makeLiteral([C.Symbol__warn, warn]));
  6677. },
  6678. withWarnCallback_closure: function withWarnCallback_closure(t0) {
  6679. this.callback = t0;
  6680. },
  6681. UnparsedFrame: function UnparsedFrame(t0, t1) {
  6682. this.uri = t0;
  6683. this.member = t1;
  6684. }
  6685. },
  6686. Z = {
  6687. ArgParserException$: function(message, commands) {
  6688. return new Z.ArgParserException(commands == null ? C.List_empty0 : P.List_List$unmodifiable(commands, P.String), message, null, null);
  6689. },
  6690. ArgParserException: function ArgParserException(t0, t1, t2, t3) {
  6691. var _ = this;
  6692. _.commands = t0;
  6693. _.message = t1;
  6694. _.source = t2;
  6695. _.offset = t3;
  6696. },
  6697. Argument: function Argument(t0, t1, t2) {
  6698. this.name = t0;
  6699. this.defaultValue = t1;
  6700. this.span = t2;
  6701. },
  6702. BooleanExpression: function BooleanExpression(t0, t1) {
  6703. this.value = t0;
  6704. this.span = t1;
  6705. },
  6706. VariableDeclaration$: function($name, expression, span, comment, global, guarded, namespace) {
  6707. if (namespace != null && global)
  6708. H.throwExpression(P.ArgumentError$("Other modules' members can't be defined with !global."));
  6709. return new Z.VariableDeclaration(namespace, $name, expression, guarded, global, span);
  6710. },
  6711. VariableDeclaration: function VariableDeclaration(t0, t1, t2, t3, t4, t5) {
  6712. var _ = this;
  6713. _.namespace = t0;
  6714. _.name = t1;
  6715. _.expression = t2;
  6716. _.isGuarded = t3;
  6717. _.isGlobal = t4;
  6718. _.span = t5;
  6719. },
  6720. InterpolationBuffer: function InterpolationBuffer(t0, t1) {
  6721. this._interpolation_buffer$_text = t0;
  6722. this._interpolation_buffer$_contents = t1;
  6723. },
  6724. RenderContext: function RenderContext() {
  6725. },
  6726. closure36: function closure36() {
  6727. },
  6728. _closure4: function _closure4() {
  6729. },
  6730. _closure5: function _closure5() {
  6731. },
  6732. MergedMapView$: function(maps, $K, $V) {
  6733. var t1 = new Z.MergedMapView(P.LinkedHashMap_LinkedHashMap$_empty($K, [P.Map, $K, $V]), [$K, $V]);
  6734. t1.MergedMapView$1(maps, $K, $V);
  6735. return t1;
  6736. },
  6737. MergedMapView: function MergedMapView(t0, t1) {
  6738. this._mapsByKey = t0;
  6739. this.$ti = t1;
  6740. },
  6741. SassBoolean: function SassBoolean(t0) {
  6742. this.value = t0;
  6743. },
  6744. LineScanner: function LineScanner(t0, t1) {
  6745. var _ = this;
  6746. _._line_scanner$_column = _._line_scanner$_line = 0;
  6747. _.sourceUrl = t0;
  6748. _.string = t1;
  6749. _._string_scanner$_position = 0;
  6750. _._lastMatchPosition = _._lastMatch = null;
  6751. }
  6752. },
  6753. V = {
  6754. ArgResults$_: function(_parser, _parsed, $name, command, rest, $arguments) {
  6755. return new V.ArgResults(_parser, _parsed, $name, new P.UnmodifiableListView(rest, [P.String]));
  6756. },
  6757. ArgResults: function ArgResults(t0, t1, t2, t3) {
  6758. var _ = this;
  6759. _._parser = t0;
  6760. _._parsed = t1;
  6761. _.name = t2;
  6762. _.rest = t3;
  6763. },
  6764. ErrorResult: function ErrorResult(t0, t1) {
  6765. this.error = t0;
  6766. this.stackTrace = t1;
  6767. },
  6768. ModifiableCssStylesheet: function ModifiableCssStylesheet(t0, t1, t2) {
  6769. var _ = this;
  6770. _.span = t0;
  6771. _.children = t1;
  6772. _._children = t2;
  6773. _._indexInParent = _._parent = null;
  6774. _.isGroupEnd = false;
  6775. },
  6776. CssStylesheet: function CssStylesheet(t0, t1) {
  6777. this.children = t0;
  6778. this.span = t1;
  6779. },
  6780. AtRootQuery: function AtRootQuery(t0, t1, t2, t3) {
  6781. var _ = this;
  6782. _.include = t0;
  6783. _.names = t1;
  6784. _._all = t2;
  6785. _._at_root_query$_rule = t3;
  6786. },
  6787. BinaryOperationExpression: function BinaryOperationExpression(t0, t1, t2, t3) {
  6788. var _ = this;
  6789. _.operator = t0;
  6790. _.left = t1;
  6791. _.right = t2;
  6792. _.allowsSlash = t3;
  6793. },
  6794. BinaryOperator: function BinaryOperator(t0, t1, t2) {
  6795. this.name = t0;
  6796. this.operator = t1;
  6797. this.precedence = t2;
  6798. },
  6799. AtRootRule: function AtRootRule(t0, t1, t2, t3) {
  6800. var _ = this;
  6801. _.query = t0;
  6802. _.span = t1;
  6803. _.children = t2;
  6804. _.hasDeclarations = t3;
  6805. },
  6806. EachRule: function EachRule(t0, t1, t2, t3, t4) {
  6807. var _ = this;
  6808. _.variables = t0;
  6809. _.list = t1;
  6810. _.span = t2;
  6811. _.children = t3;
  6812. _.hasDeclarations = t4;
  6813. },
  6814. EachRule_toString_closure: function EachRule_toString_closure() {
  6815. },
  6816. IfRule: function IfRule(t0, t1, t2) {
  6817. this.clauses = t0;
  6818. this.lastClause = t1;
  6819. this.span = t2;
  6820. },
  6821. IfRule_toString_closure: function IfRule_toString_closure(t0) {
  6822. this._box_0 = t0;
  6823. },
  6824. IfClause: function IfClause(t0, t1, t2) {
  6825. this.expression = t0;
  6826. this.children = t1;
  6827. this.hasDeclarations = t2;
  6828. },
  6829. IfClause$__closure: function IfClause$__closure() {
  6830. },
  6831. Stylesheet$: function(children, span, plainCss) {
  6832. var t1 = H.setRuntimeTypeInfo([], [T.UseRule]),
  6833. t2 = H.setRuntimeTypeInfo([], [L.ForwardRule]),
  6834. t3 = P.List_List$unmodifiable(children, O.Statement),
  6835. t4 = C.JSArray_methods.any$1(t3, new M.ParentStatement_closure());
  6836. t1 = new V.Stylesheet(span, plainCss, t1, t2, t3, t4);
  6837. t1.Stylesheet$3$plainCss(children, span, plainCss);
  6838. return t1;
  6839. },
  6840. Stylesheet_Stylesheet$parse: function(contents, syntax, logger, url) {
  6841. var t1, t2, t3, t4;
  6842. switch (syntax) {
  6843. case C.Syntax_Sass:
  6844. contents.toString;
  6845. t1 = new H.CodeUnits(contents);
  6846. t2 = H.setRuntimeTypeInfo([0], [P.int]);
  6847. t3 = typeof url === "string";
  6848. t4 = t3 ? P.Uri_parse(url) : url;
  6849. t2 = new Y.SourceFile(t4, t2, new Uint32Array(H._ensureNativeList(t1.toList$0(t1))));
  6850. t2.SourceFile$decoded$2$url(t1, url);
  6851. t1 = t3 ? P.Uri_parse(url) : url;
  6852. t3 = logger == null ? C.StderrLogger_false : logger;
  6853. return new U.SassParser(P.LinkedHashMap_LinkedHashMap$_empty(P.String, Z.VariableDeclaration), new S.SpanScanner(t2, t1, contents), t3).parse$0();
  6854. case C.Syntax_SCSS:
  6855. t1 = S.SpanScanner$(contents, url);
  6856. t2 = logger == null ? C.StderrLogger_false : logger;
  6857. return new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(P.String, Z.VariableDeclaration), t1, t2).parse$0();
  6858. case C.Syntax_CSS:
  6859. contents.toString;
  6860. t1 = new H.CodeUnits(contents);
  6861. t2 = H.setRuntimeTypeInfo([0], [P.int]);
  6862. t3 = typeof url === "string";
  6863. t4 = t3 ? P.Uri_parse(url) : url;
  6864. t2 = new Y.SourceFile(t4, t2, new Uint32Array(H._ensureNativeList(t1.toList$0(t1))));
  6865. t2.SourceFile$decoded$2$url(t1, url);
  6866. t1 = t3 ? P.Uri_parse(url) : url;
  6867. t3 = logger == null ? C.StderrLogger_false : logger;
  6868. return new Q.CssParser(P.LinkedHashMap_LinkedHashMap$_empty(P.String, Z.VariableDeclaration), new S.SpanScanner(t2, t1, contents), t3).parse$0();
  6869. default:
  6870. throw H.wrapException(P.ArgumentError$("Unknown syntax " + syntax.toString$0(0) + "."));
  6871. }
  6872. },
  6873. Stylesheet: function Stylesheet(t0, t1, t2, t3, t4, t5) {
  6874. var _ = this;
  6875. _.span = t0;
  6876. _.plainCss = t1;
  6877. _._uses = t2;
  6878. _._forwards = t3;
  6879. _.children = t4;
  6880. _.hasDeclarations = t5;
  6881. },
  6882. JSError: function JSError() {
  6883. },
  6884. AtRootQueryParser: function AtRootQueryParser(t0, t1) {
  6885. this.scanner = t0;
  6886. this.logger = t1;
  6887. },
  6888. AtRootQueryParser_parse_closure: function AtRootQueryParser_parse_closure(t0) {
  6889. this.$this = t0;
  6890. },
  6891. StylesheetParser: function StylesheetParser() {
  6892. },
  6893. StylesheetParser_parse_closure: function StylesheetParser_parse_closure(t0) {
  6894. this.$this = t0;
  6895. },
  6896. StylesheetParser_parse__closure: function StylesheetParser_parse__closure(t0) {
  6897. this.$this = t0;
  6898. },
  6899. StylesheetParser_parse__closure0: function StylesheetParser_parse__closure0() {
  6900. },
  6901. StylesheetParser_parseArgumentDeclaration_closure: function StylesheetParser_parseArgumentDeclaration_closure(t0) {
  6902. this.$this = t0;
  6903. },
  6904. StylesheetParser_parseExpression_closure: function StylesheetParser_parseExpression_closure(t0) {
  6905. this.$this = t0;
  6906. },
  6907. StylesheetParser_parseVariableDeclaration_closure: function StylesheetParser_parseVariableDeclaration_closure(t0) {
  6908. this.$this = t0;
  6909. },
  6910. StylesheetParser_parseSignature_closure: function StylesheetParser_parseSignature_closure(t0) {
  6911. this.$this = t0;
  6912. },
  6913. StylesheetParser__statement_closure: function StylesheetParser__statement_closure(t0) {
  6914. this.$this = t0;
  6915. },
  6916. StylesheetParser_variableDeclaration_closure: function StylesheetParser_variableDeclaration_closure(t0) {
  6917. this.declaration = t0;
  6918. },
  6919. StylesheetParser__styleRule_closure: function StylesheetParser__styleRule_closure(t0) {
  6920. this.selector = t0;
  6921. },
  6922. StylesheetParser__declarationOrStyleRule_closure: function StylesheetParser__declarationOrStyleRule_closure(t0, t1, t2, t3, t4) {
  6923. var _ = this;
  6924. _.$this = t0;
  6925. _.selectorSpan = t1;
  6926. _.wasInStyleRule = t2;
  6927. _.buffer = t3;
  6928. _.start = t4;
  6929. },
  6930. StylesheetParser__declarationOrBuffer_closure: function StylesheetParser__declarationOrBuffer_closure(t0) {
  6931. this.name = t0;
  6932. },
  6933. StylesheetParser__declarationOrBuffer_closure0: function StylesheetParser__declarationOrBuffer_closure0(t0, t1) {
  6934. this._box_0 = t0;
  6935. this.name = t1;
  6936. },
  6937. StylesheetParser__declaration_closure: function StylesheetParser__declaration_closure(t0) {
  6938. this._box_0 = t0;
  6939. },
  6940. StylesheetParser__declaration_closure0: function StylesheetParser__declaration_closure0(t0, t1) {
  6941. this._box_0 = t0;
  6942. this.value = t1;
  6943. },
  6944. StylesheetParser__atRootRule_closure: function StylesheetParser__atRootRule_closure(t0) {
  6945. this.query = t0;
  6946. },
  6947. StylesheetParser__atRootRule_closure0: function StylesheetParser__atRootRule_closure0() {
  6948. },
  6949. StylesheetParser__eachRule_closure: function StylesheetParser__eachRule_closure(t0, t1, t2, t3) {
  6950. var _ = this;
  6951. _.$this = t0;
  6952. _.wasInControlDirective = t1;
  6953. _.variables = t2;
  6954. _.list = t3;
  6955. },
  6956. StylesheetParser__functionRule_closure: function StylesheetParser__functionRule_closure(t0, t1, t2) {
  6957. this.name = t0;
  6958. this.$arguments = t1;
  6959. this.precedingComment = t2;
  6960. },
  6961. StylesheetParser__forRule_closure: function StylesheetParser__forRule_closure(t0, t1) {
  6962. this._box_0 = t0;
  6963. this.$this = t1;
  6964. },
  6965. StylesheetParser__forRule_closure0: function StylesheetParser__forRule_closure0(t0, t1, t2, t3, t4, t5) {
  6966. var _ = this;
  6967. _._box_0 = t0;
  6968. _.$this = t1;
  6969. _.wasInControlDirective = t2;
  6970. _.variable = t3;
  6971. _.from = t4;
  6972. _.to = t5;
  6973. },
  6974. StylesheetParser__memberList_closure: function StylesheetParser__memberList_closure(t0, t1, t2) {
  6975. this.$this = t0;
  6976. this.variables = t1;
  6977. this.identifiers = t2;
  6978. },
  6979. StylesheetParser__includeRule_closure: function StylesheetParser__includeRule_closure(t0, t1) {
  6980. this._box_0 = t0;
  6981. this.$this = t1;
  6982. },
  6983. StylesheetParser_mediaRule_closure: function StylesheetParser_mediaRule_closure(t0) {
  6984. this.query = t0;
  6985. },
  6986. StylesheetParser__mixinRule_closure: function StylesheetParser__mixinRule_closure(t0, t1, t2, t3) {
  6987. var _ = this;
  6988. _.$this = t0;
  6989. _.name = t1;
  6990. _.$arguments = t2;
  6991. _.precedingComment = t3;
  6992. },
  6993. StylesheetParser_mozDocumentRule_closure: function StylesheetParser_mozDocumentRule_closure(t0, t1, t2, t3) {
  6994. var _ = this;
  6995. _._box_0 = t0;
  6996. _.$this = t1;
  6997. _.name = t2;
  6998. _.value = t3;
  6999. },
  7000. StylesheetParser_supportsRule_closure: function StylesheetParser_supportsRule_closure(t0) {
  7001. this.condition = t0;
  7002. },
  7003. StylesheetParser__whileRule_closure: function StylesheetParser__whileRule_closure(t0, t1, t2) {
  7004. this.$this = t0;
  7005. this.wasInControlDirective = t1;
  7006. this.condition = t2;
  7007. },
  7008. StylesheetParser_unknownAtRule_closure: function StylesheetParser_unknownAtRule_closure(t0, t1) {
  7009. this._box_0 = t0;
  7010. this.name = t1;
  7011. },
  7012. StylesheetParser_expression_resetState: function StylesheetParser_expression_resetState(t0, t1, t2) {
  7013. this._box_0 = t0;
  7014. this.$this = t1;
  7015. this.start = t2;
  7016. },
  7017. StylesheetParser_expression_resolveOneOperation: function StylesheetParser_expression_resolveOneOperation(t0, t1) {
  7018. this._box_0 = t0;
  7019. this.$this = t1;
  7020. },
  7021. StylesheetParser_expression_resolveOperations: function StylesheetParser_expression_resolveOperations(t0, t1) {
  7022. this._box_0 = t0;
  7023. this.resolveOneOperation = t1;
  7024. },
  7025. StylesheetParser_expression_addSingleExpression: function StylesheetParser_expression_addSingleExpression(t0, t1, t2, t3) {
  7026. var _ = this;
  7027. _._box_0 = t0;
  7028. _.$this = t1;
  7029. _.resetState = t2;
  7030. _.resolveOperations = t3;
  7031. },
  7032. StylesheetParser_expression_addOperator: function StylesheetParser_expression_addOperator(t0, t1, t2) {
  7033. this._box_0 = t0;
  7034. this.$this = t1;
  7035. this.resolveOneOperation = t2;
  7036. },
  7037. StylesheetParser_expression_resolveSpaceExpressions: function StylesheetParser_expression_resolveSpaceExpressions(t0, t1) {
  7038. this._box_0 = t0;
  7039. this.resolveOperations = t1;
  7040. },
  7041. StylesheetParser__expressionUntilComma_closure: function StylesheetParser__expressionUntilComma_closure(t0) {
  7042. this.$this = t0;
  7043. },
  7044. StylesheetParser__unicodeRange_closure: function StylesheetParser__unicodeRange_closure() {
  7045. },
  7046. StylesheetParser__unicodeRange_closure0: function StylesheetParser__unicodeRange_closure0() {
  7047. },
  7048. StylesheetParser__expressionUntilComparison_closure: function StylesheetParser__expressionUntilComparison_closure(t0) {
  7049. this.$this = t0;
  7050. },
  7051. cloneCssStylesheet: function(stylesheet, extender) {
  7052. var result = extender.clone$0(),
  7053. t1 = stylesheet.get$span(),
  7054. t2 = B.ModifiableCssNode,
  7055. t3 = H.setRuntimeTypeInfo([], [t2]);
  7056. return new S.Tuple2(new V._CloneCssVisitor(result.item2)._visitChildren$2(new V.ModifiableCssStylesheet(t1, new P.UnmodifiableListView(t3, [t2]), t3), stylesheet), result.item1, [V.ModifiableCssStylesheet, F.Extender]);
  7057. },
  7058. _CloneCssVisitor: function _CloneCssVisitor(t0) {
  7059. this._oldToNewRules = t0;
  7060. },
  7061. SourceLocation$: function(offset, column, line, sourceUrl) {
  7062. var t1 = line == null,
  7063. t2 = t1 ? 0 : line,
  7064. t3 = column == null,
  7065. t4 = t3 ? offset : column;
  7066. if (offset < 0)
  7067. H.throwExpression(P.RangeError$("Offset may not be negative, was " + H.S(offset) + "."));
  7068. else if (!t1 && line < 0)
  7069. H.throwExpression(P.RangeError$("Line may not be negative, was " + H.S(line) + "."));
  7070. else if (!t3 && column < 0)
  7071. H.throwExpression(P.RangeError$("Column may not be negative, was " + H.S(column) + "."));
  7072. return new V.SourceLocation(sourceUrl, offset, t2, t4);
  7073. },
  7074. SourceLocation: function SourceLocation(t0, t1, t2, t3) {
  7075. var _ = this;
  7076. _.sourceUrl = t0;
  7077. _.offset = t1;
  7078. _.line = t2;
  7079. _.column = t3;
  7080. },
  7081. SourceSpan: function SourceSpan() {
  7082. },
  7083. SourceSpanBase: function SourceSpanBase() {
  7084. }
  7085. },
  7086. G = {Option: function Option(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
  7087. var _ = this;
  7088. _.name = t0;
  7089. _.abbr = t1;
  7090. _.help = t2;
  7091. _.valueHelp = t3;
  7092. _.allowed = t4;
  7093. _.allowedHelp = t5;
  7094. _.defaultsTo = t6;
  7095. _.negatable = t7;
  7096. _.callback = t8;
  7097. _.type = t9;
  7098. _.splitCommas = t10;
  7099. _.hide = t11;
  7100. }, OptionType: function OptionType(t0) {
  7101. this.name = t0;
  7102. },
  7103. Parser$0: function(commandName, grammar, args, $parent, rest) {
  7104. var t1 = P.String,
  7105. t2 = H.setRuntimeTypeInfo([], [t1]);
  7106. if (rest != null)
  7107. C.JSArray_methods.addAll$1(t2, rest);
  7108. return new G.Parser0(commandName, $parent, grammar, args, t2, P.LinkedHashMap_LinkedHashMap$_empty(t1, null));
  7109. },
  7110. Parser0: function Parser0(t0, t1, t2, t3, t4, t5) {
  7111. var _ = this;
  7112. _.commandName = t0;
  7113. _.parent = t1;
  7114. _.grammar = t2;
  7115. _.args = t3;
  7116. _.rest = t4;
  7117. _.results = t5;
  7118. },
  7119. Parser_parse_closure: function Parser_parse_closure(t0) {
  7120. this.$this = t0;
  7121. },
  7122. Parser_setOption_closure: function Parser_setOption_closure() {
  7123. },
  7124. Usage: function Usage(t0, t1) {
  7125. var _ = this;
  7126. _.optionsAndSeparators = t0;
  7127. _.buffer = null;
  7128. _.currentColumn = 0;
  7129. _.columnWidths = null;
  7130. _.newlinesNeeded = _.numHelpLines = 0;
  7131. _.lineLength = t1;
  7132. },
  7133. Usage_generate_closure: function Usage_generate_closure() {
  7134. },
  7135. Usage_buildAllowedList_closure: function Usage_buildAllowedList_closure(t0) {
  7136. this.option = t0;
  7137. },
  7138. StreamQueue: function StreamQueue(t0, t1, t2, t3) {
  7139. var _ = this;
  7140. _._stream_queue$_source = t0;
  7141. _._stream_queue$_subscription = null;
  7142. _._isDone = false;
  7143. _._eventsReceived = 0;
  7144. _._eventQueue = t1;
  7145. _._requestQueue = t2;
  7146. _.$ti = t3;
  7147. },
  7148. StreamQueue__ensureListening_closure: function StreamQueue__ensureListening_closure(t0) {
  7149. this.$this = t0;
  7150. },
  7151. StreamQueue__ensureListening_closure1: function StreamQueue__ensureListening_closure1(t0) {
  7152. this.$this = t0;
  7153. },
  7154. StreamQueue__ensureListening_closure0: function StreamQueue__ensureListening_closure0(t0) {
  7155. this.$this = t0;
  7156. },
  7157. _EventRequest: function _EventRequest() {
  7158. },
  7159. _NextRequest: function _NextRequest(t0, t1) {
  7160. this._stream_queue$_completer = t0;
  7161. this.$ti = t1;
  7162. },
  7163. ModifiableCssMediaRule$: function(queries, span) {
  7164. var t1 = P.List_List$unmodifiable(queries, F.CssMediaQuery),
  7165. t2 = B.ModifiableCssNode,
  7166. t3 = H.setRuntimeTypeInfo([], [t2]);
  7167. if (J.get$isEmpty$asx(queries))
  7168. H.throwExpression(P.ArgumentError$value(queries, "queries", "may not be empty."));
  7169. return new G.ModifiableCssMediaRule(t1, span, new P.UnmodifiableListView(t3, [t2]), t3);
  7170. },
  7171. ModifiableCssMediaRule: function ModifiableCssMediaRule(t0, t1, t2, t3) {
  7172. var _ = this;
  7173. _.queries = t0;
  7174. _.span = t1;
  7175. _.children = t2;
  7176. _._children = t3;
  7177. _._indexInParent = _._parent = null;
  7178. _.isGroupEnd = false;
  7179. },
  7180. MediaRule: function MediaRule(t0, t1, t2, t3) {
  7181. var _ = this;
  7182. _.query = t0;
  7183. _.span = t1;
  7184. _.children = t2;
  7185. _.hasDeclarations = t3;
  7186. },
  7187. WhileRule: function WhileRule(t0, t1, t2, t3) {
  7188. var _ = this;
  7189. _.condition = t0;
  7190. _.span = t1;
  7191. _.children = t2;
  7192. _.hasDeclarations = t3;
  7193. },
  7194. Module: function Module() {
  7195. },
  7196. Types: function Types() {
  7197. },
  7198. Parser_isIdentifier: function(text) {
  7199. var exception, logger = null;
  7200. try {
  7201. G.Parser$(text, logger, null)._parseIdentifier$0();
  7202. return true;
  7203. } catch (exception) {
  7204. if (H.unwrapException(exception) instanceof E.SassFormatException)
  7205. return false;
  7206. else
  7207. throw exception;
  7208. }
  7209. },
  7210. Parser$: function(contents, logger, url) {
  7211. var t1, t2, t3, t4;
  7212. contents.toString;
  7213. t1 = new H.CodeUnits(contents);
  7214. t2 = H.setRuntimeTypeInfo([0], [P.int]);
  7215. t3 = typeof url === "string";
  7216. t4 = t3 ? P.Uri_parse(url) : url;
  7217. t2 = new Y.SourceFile(t4, t2, new Uint32Array(H._ensureNativeList(t1.toList$0(t1))));
  7218. t2.SourceFile$decoded$2$url(t1, url);
  7219. t1 = t3 ? P.Uri_parse(url) : url;
  7220. t3 = logger == null ? C.StderrLogger_false : logger;
  7221. return new G.Parser(new S.SpanScanner(t2, t1, contents), t3);
  7222. },
  7223. Parser: function Parser(t0, t1) {
  7224. this.scanner = t0;
  7225. this.logger = t1;
  7226. },
  7227. Parser__parseIdentifier_closure: function Parser__parseIdentifier_closure(t0) {
  7228. this.$this = t0;
  7229. },
  7230. FixedLengthListBuilder: function FixedLengthListBuilder(t0, t1) {
  7231. this._list = t0;
  7232. this._fixed_length_list_builder$_index = 0;
  7233. this.$ti = t1;
  7234. },
  7235. SourceSpanFormatException$: function(message, span, _source) {
  7236. return new G.SourceSpanFormatException(_source, message, span);
  7237. },
  7238. SourceSpanException: function SourceSpanException() {
  7239. },
  7240. SourceSpanFormatException: function SourceSpanFormatException(t0, t1, t2) {
  7241. this._span_exception$_source = t0;
  7242. this._span_exception$_message = t1;
  7243. this._span = t2;
  7244. }
  7245. },
  7246. E = {Result: function Result() {
  7247. }, PosixStyle: function PosixStyle(t0, t1, t2) {
  7248. this.separatorPattern = t0;
  7249. this.needsSeparatorPattern = t1;
  7250. this.rootPattern = t2;
  7251. }, UserDefinedCallable: function UserDefinedCallable(t0, t1, t2) {
  7252. this.declaration = t0;
  7253. this.environment = t1;
  7254. this.$ti = t2;
  7255. },
  7256. SassException$: function(message, span) {
  7257. return new E.SassException(message, span);
  7258. },
  7259. SassFormatException$: function(message, span) {
  7260. return new E.SassFormatException(message, span);
  7261. },
  7262. SassScriptException$: function(message) {
  7263. return new E.SassScriptException(message);
  7264. },
  7265. SassException: function SassException(t0, t1) {
  7266. this._span_exception$_message = t0;
  7267. this._span = t1;
  7268. },
  7269. SassRuntimeException: function SassRuntimeException(t0, t1, t2) {
  7270. this.trace = t0;
  7271. this._span_exception$_message = t1;
  7272. this._span = t2;
  7273. },
  7274. SassFormatException: function SassFormatException(t0, t1) {
  7275. this._span_exception$_message = t0;
  7276. this._span = t1;
  7277. },
  7278. SassScriptException: function SassScriptException(t0) {
  7279. this.message = t0;
  7280. },
  7281. ImporterResult: function ImporterResult(t0, t1, t2) {
  7282. this.contents = t0;
  7283. this._sourceMapUrl = t1;
  7284. this.syntax = t2;
  7285. },
  7286. FiberClass: function FiberClass() {
  7287. },
  7288. Fiber: function Fiber() {
  7289. },
  7290. KeyframeSelectorParser: function KeyframeSelectorParser(t0, t1) {
  7291. this.scanner = t0;
  7292. this.logger = t1;
  7293. },
  7294. KeyframeSelectorParser_parse_closure: function KeyframeSelectorParser_parse_closure(t0) {
  7295. this.$this = t0;
  7296. },
  7297. _EvaluateVisitor$0: function(functions, importCache, logger, nodeImporter, sourceMap) {
  7298. var t7, t8,
  7299. t1 = P.String,
  7300. t2 = P.Uri,
  7301. t3 = [G.Module, B.AsyncCallable],
  7302. t4 = P.LinkedHashSet_LinkedHashSet(t1),
  7303. t5 = P.LinkedHashSet_LinkedHashSet(t2),
  7304. t6 = H.setRuntimeTypeInfo([], [[S.Tuple2, P.String, B.AstNode]]);
  7305. if (nodeImporter == null)
  7306. t7 = importCache == null ? O.AsyncImportCache$none(logger) : importCache;
  7307. else
  7308. t7 = null;
  7309. t8 = logger == null ? C.StderrLogger_false : logger;
  7310. t6 = new E._EvaluateVisitor0(t7, nodeImporter, P.LinkedHashMap_LinkedHashMap$_empty(t1, B.AsyncCallable), P.LinkedHashMap_LinkedHashMap$_empty(t2, t3), P.LinkedHashMap_LinkedHashMap$_empty(t2, t3), t8, sourceMap, t4, t5, t6);
  7311. t6._EvaluateVisitor$5$functions$importCache$logger$nodeImporter$sourceMap0(functions, importCache, logger, nodeImporter, sourceMap);
  7312. return t6;
  7313. },
  7314. _ArgumentResults$0: function(positional, named, separator, namedNodes, positionalNodes) {
  7315. return new E._ArgumentResults0(positional, positionalNodes, named, namedNodes, separator);
  7316. },
  7317. _EvaluateVisitor0: function _EvaluateVisitor0(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
  7318. var _ = this;
  7319. _._async_evaluate$_importCache = t0;
  7320. _._async_evaluate$_nodeImporter = t1;
  7321. _._async_evaluate$_builtInFunctions = t2;
  7322. _._async_evaluate$_builtInModules = t3;
  7323. _._async_evaluate$_modules = t4;
  7324. _._async_evaluate$_logger = t5;
  7325. _._async_evaluate$_sourceMap = t6;
  7326. _._async_evaluate$_declarationName = _._async_evaluate$_parent = _._async_evaluate$_mediaQueries = _._async_evaluate$_styleRule = _._async_evaluate$_environment = null;
  7327. _._async_evaluate$_member = "root stylesheet";
  7328. _._async_evaluate$_importSpan = _._async_evaluate$_callableNode = null;
  7329. _._async_evaluate$_inKeyframes = _._async_evaluate$_atRootExcludingStyleRule = _._async_evaluate$_inUnknownAtRule = _._async_evaluate$_inFunction = false;
  7330. _._async_evaluate$_includedFiles = t7;
  7331. _._async_evaluate$_activeModules = t8;
  7332. _._async_evaluate$_stack = t9;
  7333. _._async_evaluate$_extender = _._async_evaluate$_outOfOrderImports = _._async_evaluate$_endOfImports = _._async_evaluate$_root = _._async_evaluate$_stylesheet = _._async_evaluate$_importer = null;
  7334. },
  7335. _EvaluateVisitor_closure8: function _EvaluateVisitor_closure8(t0) {
  7336. this.$this = t0;
  7337. },
  7338. _EvaluateVisitor_closure9: function _EvaluateVisitor_closure9(t0) {
  7339. this.$this = t0;
  7340. },
  7341. _EvaluateVisitor_closure10: function _EvaluateVisitor_closure10(t0) {
  7342. this.$this = t0;
  7343. },
  7344. _EvaluateVisitor_closure11: function _EvaluateVisitor_closure11(t0) {
  7345. this.$this = t0;
  7346. },
  7347. _EvaluateVisitor_closure12: function _EvaluateVisitor_closure12(t0) {
  7348. this.$this = t0;
  7349. },
  7350. _EvaluateVisitor_closure13: function _EvaluateVisitor_closure13(t0) {
  7351. this.$this = t0;
  7352. },
  7353. _EvaluateVisitor_closure14: function _EvaluateVisitor_closure14(t0) {
  7354. this.$this = t0;
  7355. },
  7356. _EvaluateVisitor_closure15: function _EvaluateVisitor_closure15(t0) {
  7357. this.$this = t0;
  7358. },
  7359. _EvaluateVisitor__closure4: function _EvaluateVisitor__closure4(t0, t1, t2) {
  7360. this.$this = t0;
  7361. this.name = t1;
  7362. this.module = t2;
  7363. },
  7364. _EvaluateVisitor_closure16: function _EvaluateVisitor_closure16(t0) {
  7365. this.$this = t0;
  7366. },
  7367. _EvaluateVisitor__closure2: function _EvaluateVisitor__closure2() {
  7368. },
  7369. _EvaluateVisitor__closure3: function _EvaluateVisitor__closure3() {
  7370. },
  7371. _EvaluateVisitor_run_closure0: function _EvaluateVisitor_run_closure0(t0, t1, t2) {
  7372. this.$this = t0;
  7373. this.node = t1;
  7374. this.importer = t2;
  7375. },
  7376. _EvaluateVisitor__withWarnCallback_closure0: function _EvaluateVisitor__withWarnCallback_closure0(t0) {
  7377. this.$this = t0;
  7378. },
  7379. _EvaluateVisitor__loadModule_closure0: function _EvaluateVisitor__loadModule_closure0(t0, t1, t2, t3) {
  7380. var _ = this;
  7381. _.$this = t0;
  7382. _.url = t1;
  7383. _.nodeForSpan = t2;
  7384. _.callback = t3;
  7385. },
  7386. _EvaluateVisitor__loadModule__closure0: function _EvaluateVisitor__loadModule__closure0(t0, t1, t2) {
  7387. this.$this = t0;
  7388. this.url = t1;
  7389. this.nodeForSpan = t2;
  7390. },
  7391. _EvaluateVisitor__execute_closure0: function _EvaluateVisitor__execute_closure0(t0, t1, t2) {
  7392. this.$this = t0;
  7393. this.importer = t1;
  7394. this.stylesheet = t2;
  7395. },
  7396. _EvaluateVisitor__execute__closure0: function _EvaluateVisitor__execute__closure0(t0, t1, t2, t3, t4) {
  7397. var _ = this;
  7398. _._box_0 = t0;
  7399. _.$this = t1;
  7400. _.importer = t2;
  7401. _.stylesheet = t3;
  7402. _.extender = t4;
  7403. },
  7404. _EvaluateVisitor__combineCss_closure2: function _EvaluateVisitor__combineCss_closure2() {
  7405. },
  7406. _EvaluateVisitor__combineCss_closure3: function _EvaluateVisitor__combineCss_closure3(t0) {
  7407. this.selectors = t0;
  7408. },
  7409. _EvaluateVisitor__combineCss_closure4: function _EvaluateVisitor__combineCss_closure4() {
  7410. },
  7411. _EvaluateVisitor__extendModules_closure1: function _EvaluateVisitor__extendModules_closure1(t0) {
  7412. this.originalSelectors = t0;
  7413. },
  7414. _EvaluateVisitor__extendModules_closure2: function _EvaluateVisitor__extendModules_closure2() {
  7415. },
  7416. _EvaluateVisitor__topologicalModules_visitModule0: function _EvaluateVisitor__topologicalModules_visitModule0(t0, t1) {
  7417. this.seen = t0;
  7418. this.sorted = t1;
  7419. },
  7420. _EvaluateVisitor_visitAtRootRule_closure2: function _EvaluateVisitor_visitAtRootRule_closure2(t0, t1) {
  7421. this.$this = t0;
  7422. this.resolved = t1;
  7423. },
  7424. _EvaluateVisitor_visitAtRootRule_closure3: function _EvaluateVisitor_visitAtRootRule_closure3(t0, t1) {
  7425. this.$this = t0;
  7426. this.node = t1;
  7427. },
  7428. _EvaluateVisitor_visitAtRootRule_closure4: function _EvaluateVisitor_visitAtRootRule_closure4(t0, t1) {
  7429. this.$this = t0;
  7430. this.node = t1;
  7431. },
  7432. _EvaluateVisitor__scopeForAtRoot_closure5: function _EvaluateVisitor__scopeForAtRoot_closure5(t0, t1, t2) {
  7433. this.$this = t0;
  7434. this.newParent = t1;
  7435. this.node = t2;
  7436. },
  7437. _EvaluateVisitor__scopeForAtRoot_closure6: function _EvaluateVisitor__scopeForAtRoot_closure6(t0, t1) {
  7438. this.$this = t0;
  7439. this.innerScope = t1;
  7440. },
  7441. _EvaluateVisitor__scopeForAtRoot_closure7: function _EvaluateVisitor__scopeForAtRoot_closure7(t0, t1) {
  7442. this.$this = t0;
  7443. this.innerScope = t1;
  7444. },
  7445. _EvaluateVisitor__scopeForAtRoot__closure0: function _EvaluateVisitor__scopeForAtRoot__closure0(t0, t1) {
  7446. this.innerScope = t0;
  7447. this.callback = t1;
  7448. },
  7449. _EvaluateVisitor__scopeForAtRoot_closure8: function _EvaluateVisitor__scopeForAtRoot_closure8(t0, t1) {
  7450. this.$this = t0;
  7451. this.innerScope = t1;
  7452. },
  7453. _EvaluateVisitor__scopeForAtRoot_closure9: function _EvaluateVisitor__scopeForAtRoot_closure9() {
  7454. },
  7455. _EvaluateVisitor__scopeForAtRoot_closure10: function _EvaluateVisitor__scopeForAtRoot_closure10(t0, t1) {
  7456. this.$this = t0;
  7457. this.innerScope = t1;
  7458. },
  7459. _EvaluateVisitor_visitContentRule_closure0: function _EvaluateVisitor_visitContentRule_closure0(t0, t1) {
  7460. this.$this = t0;
  7461. this.content = t1;
  7462. },
  7463. _EvaluateVisitor_visitDeclaration_closure0: function _EvaluateVisitor_visitDeclaration_closure0(t0, t1) {
  7464. this.$this = t0;
  7465. this.node = t1;
  7466. },
  7467. _EvaluateVisitor_visitEachRule_closure2: function _EvaluateVisitor_visitEachRule_closure2(t0, t1, t2) {
  7468. this.$this = t0;
  7469. this.node = t1;
  7470. this.nodeForSpan = t2;
  7471. },
  7472. _EvaluateVisitor_visitEachRule_closure3: function _EvaluateVisitor_visitEachRule_closure3(t0, t1, t2) {
  7473. this.$this = t0;
  7474. this.node = t1;
  7475. this.nodeForSpan = t2;
  7476. },
  7477. _EvaluateVisitor_visitEachRule_closure4: function _EvaluateVisitor_visitEachRule_closure4(t0, t1, t2, t3) {
  7478. var _ = this;
  7479. _.$this = t0;
  7480. _.list = t1;
  7481. _.setVariables = t2;
  7482. _.node = t3;
  7483. },
  7484. _EvaluateVisitor_visitEachRule__closure0: function _EvaluateVisitor_visitEachRule__closure0(t0, t1, t2) {
  7485. this.$this = t0;
  7486. this.setVariables = t1;
  7487. this.node = t2;
  7488. },
  7489. _EvaluateVisitor_visitEachRule___closure0: function _EvaluateVisitor_visitEachRule___closure0(t0) {
  7490. this.$this = t0;
  7491. },
  7492. _EvaluateVisitor_visitExtendRule_closure0: function _EvaluateVisitor_visitExtendRule_closure0(t0, t1) {
  7493. this.$this = t0;
  7494. this.targetText = t1;
  7495. },
  7496. _EvaluateVisitor_visitAtRule_closure1: function _EvaluateVisitor_visitAtRule_closure1(t0, t1) {
  7497. this.$this = t0;
  7498. this.node = t1;
  7499. },
  7500. _EvaluateVisitor_visitAtRule__closure0: function _EvaluateVisitor_visitAtRule__closure0(t0, t1) {
  7501. this.$this = t0;
  7502. this.node = t1;
  7503. },
  7504. _EvaluateVisitor_visitAtRule_closure2: function _EvaluateVisitor_visitAtRule_closure2() {
  7505. },
  7506. _EvaluateVisitor_visitForRule_closure4: function _EvaluateVisitor_visitForRule_closure4(t0, t1) {
  7507. this.$this = t0;
  7508. this.node = t1;
  7509. },
  7510. _EvaluateVisitor_visitForRule_closure5: function _EvaluateVisitor_visitForRule_closure5(t0, t1) {
  7511. this.$this = t0;
  7512. this.node = t1;
  7513. },
  7514. _EvaluateVisitor_visitForRule_closure6: function _EvaluateVisitor_visitForRule_closure6(t0, t1) {
  7515. this.fromNumber = t0;
  7516. this.toNumber = t1;
  7517. },
  7518. _EvaluateVisitor_visitForRule_closure7: function _EvaluateVisitor_visitForRule_closure7(t0) {
  7519. this.toNumber = t0;
  7520. },
  7521. _EvaluateVisitor_visitForRule_closure8: function _EvaluateVisitor_visitForRule_closure8(t0, t1, t2, t3, t4) {
  7522. var _ = this;
  7523. _._box_0 = t0;
  7524. _.$this = t1;
  7525. _.node = t2;
  7526. _.from = t3;
  7527. _.direction = t4;
  7528. },
  7529. _EvaluateVisitor_visitForRule__closure0: function _EvaluateVisitor_visitForRule__closure0(t0) {
  7530. this.$this = t0;
  7531. },
  7532. _EvaluateVisitor_visitForwardRule_closure0: function _EvaluateVisitor_visitForwardRule_closure0(t0, t1) {
  7533. this.$this = t0;
  7534. this.node = t1;
  7535. },
  7536. _EvaluateVisitor_visitIfRule_closure0: function _EvaluateVisitor_visitIfRule_closure0(t0, t1) {
  7537. this._box_0 = t0;
  7538. this.$this = t1;
  7539. },
  7540. _EvaluateVisitor_visitIfRule__closure0: function _EvaluateVisitor_visitIfRule__closure0(t0) {
  7541. this.$this = t0;
  7542. },
  7543. _EvaluateVisitor__visitDynamicImport_closure0: function _EvaluateVisitor__visitDynamicImport_closure0(t0, t1) {
  7544. this.$this = t0;
  7545. this.$import = t1;
  7546. },
  7547. _EvaluateVisitor__visitDynamicImport__closure1: function _EvaluateVisitor__visitDynamicImport__closure1(t0, t1, t2) {
  7548. this.$this = t0;
  7549. this.importer = t1;
  7550. this.stylesheet = t2;
  7551. },
  7552. _EvaluateVisitor__visitDynamicImport__closure2: function _EvaluateVisitor__visitDynamicImport__closure2(t0, t1, t2, t3) {
  7553. var _ = this;
  7554. _._box_0 = t0;
  7555. _.$this = t1;
  7556. _.importer = t2;
  7557. _.stylesheet = t3;
  7558. },
  7559. _EvaluateVisitor_visitIncludeRule_closure1: function _EvaluateVisitor_visitIncludeRule_closure1(t0, t1) {
  7560. this.$this = t0;
  7561. this.node = t1;
  7562. },
  7563. _EvaluateVisitor_visitIncludeRule_closure2: function _EvaluateVisitor_visitIncludeRule_closure2(t0, t1, t2) {
  7564. this.$this = t0;
  7565. this.contentCallable = t1;
  7566. this.mixin = t2;
  7567. },
  7568. _EvaluateVisitor_visitIncludeRule__closure0: function _EvaluateVisitor_visitIncludeRule__closure0(t0, t1) {
  7569. this.$this = t0;
  7570. this.mixin = t1;
  7571. },
  7572. _EvaluateVisitor_visitIncludeRule___closure0: function _EvaluateVisitor_visitIncludeRule___closure0(t0, t1) {
  7573. this.$this = t0;
  7574. this.mixin = t1;
  7575. },
  7576. _EvaluateVisitor_visitMediaRule_closure1: function _EvaluateVisitor_visitMediaRule_closure1(t0, t1, t2, t3) {
  7577. var _ = this;
  7578. _.$this = t0;
  7579. _.mergedQueries = t1;
  7580. _.queries = t2;
  7581. _.node = t3;
  7582. },
  7583. _EvaluateVisitor_visitMediaRule__closure0: function _EvaluateVisitor_visitMediaRule__closure0(t0, t1) {
  7584. this.$this = t0;
  7585. this.node = t1;
  7586. },
  7587. _EvaluateVisitor_visitMediaRule___closure0: function _EvaluateVisitor_visitMediaRule___closure0(t0, t1) {
  7588. this.$this = t0;
  7589. this.node = t1;
  7590. },
  7591. _EvaluateVisitor_visitMediaRule_closure2: function _EvaluateVisitor_visitMediaRule_closure2(t0) {
  7592. this.mergedQueries = t0;
  7593. },
  7594. _EvaluateVisitor__visitMediaQueries_closure0: function _EvaluateVisitor__visitMediaQueries_closure0(t0, t1) {
  7595. this.$this = t0;
  7596. this.resolved = t1;
  7597. },
  7598. _EvaluateVisitor_visitStyleRule_closure6: function _EvaluateVisitor_visitStyleRule_closure6(t0, t1) {
  7599. this.$this = t0;
  7600. this.selectorText = t1;
  7601. },
  7602. _EvaluateVisitor_visitStyleRule_closure7: function _EvaluateVisitor_visitStyleRule_closure7(t0, t1) {
  7603. this.$this = t0;
  7604. this.node = t1;
  7605. },
  7606. _EvaluateVisitor_visitStyleRule_closure8: function _EvaluateVisitor_visitStyleRule_closure8() {
  7607. },
  7608. _EvaluateVisitor_visitStyleRule_closure9: function _EvaluateVisitor_visitStyleRule_closure9(t0, t1) {
  7609. this.$this = t0;
  7610. this.selectorText = t1;
  7611. },
  7612. _EvaluateVisitor_visitStyleRule_closure10: function _EvaluateVisitor_visitStyleRule_closure10(t0, t1) {
  7613. this._box_0 = t0;
  7614. this.$this = t1;
  7615. },
  7616. _EvaluateVisitor_visitStyleRule_closure11: function _EvaluateVisitor_visitStyleRule_closure11(t0, t1, t2) {
  7617. this.$this = t0;
  7618. this.rule = t1;
  7619. this.node = t2;
  7620. },
  7621. _EvaluateVisitor_visitStyleRule__closure0: function _EvaluateVisitor_visitStyleRule__closure0(t0, t1) {
  7622. this.$this = t0;
  7623. this.node = t1;
  7624. },
  7625. _EvaluateVisitor_visitStyleRule_closure12: function _EvaluateVisitor_visitStyleRule_closure12() {
  7626. },
  7627. _EvaluateVisitor_visitSupportsRule_closure1: function _EvaluateVisitor_visitSupportsRule_closure1(t0, t1) {
  7628. this.$this = t0;
  7629. this.node = t1;
  7630. },
  7631. _EvaluateVisitor_visitSupportsRule__closure0: function _EvaluateVisitor_visitSupportsRule__closure0(t0, t1) {
  7632. this.$this = t0;
  7633. this.node = t1;
  7634. },
  7635. _EvaluateVisitor_visitSupportsRule_closure2: function _EvaluateVisitor_visitSupportsRule_closure2() {
  7636. },
  7637. _EvaluateVisitor_visitVariableDeclaration_closure1: function _EvaluateVisitor_visitVariableDeclaration_closure1(t0, t1) {
  7638. this.$this = t0;
  7639. this.node = t1;
  7640. },
  7641. _EvaluateVisitor_visitVariableDeclaration_closure2: function _EvaluateVisitor_visitVariableDeclaration_closure2(t0, t1, t2) {
  7642. this.$this = t0;
  7643. this.node = t1;
  7644. this.value = t2;
  7645. },
  7646. _EvaluateVisitor_visitUseRule_closure0: function _EvaluateVisitor_visitUseRule_closure0(t0, t1) {
  7647. this.$this = t0;
  7648. this.node = t1;
  7649. },
  7650. _EvaluateVisitor_visitWarnRule_closure0: function _EvaluateVisitor_visitWarnRule_closure0(t0, t1) {
  7651. this.$this = t0;
  7652. this.node = t1;
  7653. },
  7654. _EvaluateVisitor_visitWhileRule_closure0: function _EvaluateVisitor_visitWhileRule_closure0(t0, t1) {
  7655. this.$this = t0;
  7656. this.node = t1;
  7657. },
  7658. _EvaluateVisitor_visitWhileRule__closure0: function _EvaluateVisitor_visitWhileRule__closure0(t0) {
  7659. this.$this = t0;
  7660. },
  7661. _EvaluateVisitor_visitBinaryOperationExpression_closure0: function _EvaluateVisitor_visitBinaryOperationExpression_closure0(t0, t1) {
  7662. this.$this = t0;
  7663. this.node = t1;
  7664. },
  7665. _EvaluateVisitor_visitVariableExpression_closure0: function _EvaluateVisitor_visitVariableExpression_closure0(t0, t1) {
  7666. this.$this = t0;
  7667. this.node = t1;
  7668. },
  7669. _EvaluateVisitor_visitListExpression_closure0: function _EvaluateVisitor_visitListExpression_closure0(t0) {
  7670. this.$this = t0;
  7671. },
  7672. _EvaluateVisitor_visitFunctionExpression_closure0: function _EvaluateVisitor_visitFunctionExpression_closure0(t0, t1, t2) {
  7673. this.$this = t0;
  7674. this.node = t1;
  7675. this.plainName = t2;
  7676. },
  7677. _EvaluateVisitor__runUserDefinedCallable_closure0: function _EvaluateVisitor__runUserDefinedCallable_closure0(t0, t1, t2, t3, t4) {
  7678. var _ = this;
  7679. _.$this = t0;
  7680. _.callable = t1;
  7681. _.evaluated = t2;
  7682. _.nodeWithSpan = t3;
  7683. _.run = t4;
  7684. },
  7685. _EvaluateVisitor__runUserDefinedCallable__closure0: function _EvaluateVisitor__runUserDefinedCallable__closure0(t0, t1, t2, t3, t4) {
  7686. var _ = this;
  7687. _.$this = t0;
  7688. _.evaluated = t1;
  7689. _.callable = t2;
  7690. _.nodeWithSpan = t3;
  7691. _.run = t4;
  7692. },
  7693. _EvaluateVisitor__runUserDefinedCallable___closure0: function _EvaluateVisitor__runUserDefinedCallable___closure0(t0, t1, t2, t3, t4) {
  7694. var _ = this;
  7695. _.$this = t0;
  7696. _.evaluated = t1;
  7697. _.callable = t2;
  7698. _.nodeWithSpan = t3;
  7699. _.run = t4;
  7700. },
  7701. _EvaluateVisitor__runUserDefinedCallable____closure0: function _EvaluateVisitor__runUserDefinedCallable____closure0() {
  7702. },
  7703. _EvaluateVisitor__runFunctionCallable_closure0: function _EvaluateVisitor__runFunctionCallable_closure0(t0, t1) {
  7704. this.$this = t0;
  7705. this.callable = t1;
  7706. },
  7707. _EvaluateVisitor__runBuiltInCallable_closure1: function _EvaluateVisitor__runBuiltInCallable_closure1(t0, t1, t2) {
  7708. this.overload = t0;
  7709. this.evaluated = t1;
  7710. this.namedSet = t2;
  7711. },
  7712. _EvaluateVisitor__runBuiltInCallable_closure2: function _EvaluateVisitor__runBuiltInCallable_closure2() {
  7713. },
  7714. _EvaluateVisitor__evaluateArguments_closure6: function _EvaluateVisitor__evaluateArguments_closure6(t0) {
  7715. this.$this = t0;
  7716. },
  7717. _EvaluateVisitor__evaluateArguments_closure7: function _EvaluateVisitor__evaluateArguments_closure7(t0) {
  7718. this.$this = t0;
  7719. },
  7720. _EvaluateVisitor__evaluateArguments_closure8: function _EvaluateVisitor__evaluateArguments_closure8() {
  7721. },
  7722. _EvaluateVisitor__evaluateArguments_closure9: function _EvaluateVisitor__evaluateArguments_closure9(t0) {
  7723. this.restNodeForSpan = t0;
  7724. },
  7725. _EvaluateVisitor__evaluateArguments_closure10: function _EvaluateVisitor__evaluateArguments_closure10(t0, t1, t2) {
  7726. this.named = t0;
  7727. this.namedNodes = t1;
  7728. this.restNodeForSpan = t2;
  7729. },
  7730. _EvaluateVisitor__evaluateArguments_closure11: function _EvaluateVisitor__evaluateArguments_closure11() {
  7731. },
  7732. _EvaluateVisitor__evaluateArguments_closure12: function _EvaluateVisitor__evaluateArguments_closure12(t0) {
  7733. this.keywordRestNodeForSpan = t0;
  7734. },
  7735. _EvaluateVisitor__evaluateMacroArguments_closure3: function _EvaluateVisitor__evaluateMacroArguments_closure3() {
  7736. },
  7737. _EvaluateVisitor__evaluateMacroArguments_closure4: function _EvaluateVisitor__evaluateMacroArguments_closure4() {
  7738. },
  7739. _EvaluateVisitor__evaluateMacroArguments_closure5: function _EvaluateVisitor__evaluateMacroArguments_closure5(t0) {
  7740. this.named = t0;
  7741. },
  7742. _EvaluateVisitor__evaluateMacroArguments_closure6: function _EvaluateVisitor__evaluateMacroArguments_closure6() {
  7743. },
  7744. _EvaluateVisitor__addRestMap_closure1: function _EvaluateVisitor__addRestMap_closure1(t0) {
  7745. this.T = t0;
  7746. },
  7747. _EvaluateVisitor__addRestMap_closure2: function _EvaluateVisitor__addRestMap_closure2(t0, t1, t2, t3, t4) {
  7748. var _ = this;
  7749. _._box_0 = t0;
  7750. _.$this = t1;
  7751. _.values = t2;
  7752. _.map = t3;
  7753. _.nodeForSpan = t4;
  7754. },
  7755. _EvaluateVisitor__verifyArguments_closure0: function _EvaluateVisitor__verifyArguments_closure0(t0, t1, t2) {
  7756. this.$arguments = t0;
  7757. this.positional = t1;
  7758. this.named = t2;
  7759. },
  7760. _EvaluateVisitor_visitStringExpression_closure0: function _EvaluateVisitor_visitStringExpression_closure0(t0) {
  7761. this.$this = t0;
  7762. },
  7763. _EvaluateVisitor_visitCssAtRule_closure1: function _EvaluateVisitor_visitCssAtRule_closure1(t0, t1) {
  7764. this.$this = t0;
  7765. this.node = t1;
  7766. },
  7767. _EvaluateVisitor_visitCssAtRule_closure2: function _EvaluateVisitor_visitCssAtRule_closure2() {
  7768. },
  7769. _EvaluateVisitor_visitCssKeyframeBlock_closure1: function _EvaluateVisitor_visitCssKeyframeBlock_closure1(t0, t1) {
  7770. this.$this = t0;
  7771. this.node = t1;
  7772. },
  7773. _EvaluateVisitor_visitCssKeyframeBlock_closure2: function _EvaluateVisitor_visitCssKeyframeBlock_closure2() {
  7774. },
  7775. _EvaluateVisitor_visitCssMediaRule_closure1: function _EvaluateVisitor_visitCssMediaRule_closure1(t0, t1, t2) {
  7776. this.$this = t0;
  7777. this.mergedQueries = t1;
  7778. this.node = t2;
  7779. },
  7780. _EvaluateVisitor_visitCssMediaRule__closure0: function _EvaluateVisitor_visitCssMediaRule__closure0(t0, t1) {
  7781. this.$this = t0;
  7782. this.node = t1;
  7783. },
  7784. _EvaluateVisitor_visitCssMediaRule___closure0: function _EvaluateVisitor_visitCssMediaRule___closure0(t0, t1) {
  7785. this.$this = t0;
  7786. this.node = t1;
  7787. },
  7788. _EvaluateVisitor_visitCssMediaRule_closure2: function _EvaluateVisitor_visitCssMediaRule_closure2(t0) {
  7789. this.mergedQueries = t0;
  7790. },
  7791. _EvaluateVisitor_visitCssStyleRule_closure1: function _EvaluateVisitor_visitCssStyleRule_closure1(t0, t1, t2) {
  7792. this.$this = t0;
  7793. this.rule = t1;
  7794. this.node = t2;
  7795. },
  7796. _EvaluateVisitor_visitCssStyleRule__closure0: function _EvaluateVisitor_visitCssStyleRule__closure0(t0, t1) {
  7797. this.$this = t0;
  7798. this.node = t1;
  7799. },
  7800. _EvaluateVisitor_visitCssStyleRule_closure2: function _EvaluateVisitor_visitCssStyleRule_closure2() {
  7801. },
  7802. _EvaluateVisitor_visitCssSupportsRule_closure1: function _EvaluateVisitor_visitCssSupportsRule_closure1(t0, t1) {
  7803. this.$this = t0;
  7804. this.node = t1;
  7805. },
  7806. _EvaluateVisitor_visitCssSupportsRule__closure0: function _EvaluateVisitor_visitCssSupportsRule__closure0(t0, t1) {
  7807. this.$this = t0;
  7808. this.node = t1;
  7809. },
  7810. _EvaluateVisitor_visitCssSupportsRule_closure2: function _EvaluateVisitor_visitCssSupportsRule_closure2() {
  7811. },
  7812. _EvaluateVisitor__performInterpolation_closure0: function _EvaluateVisitor__performInterpolation_closure0(t0, t1) {
  7813. this.$this = t0;
  7814. this.warnForColor = t1;
  7815. },
  7816. _EvaluateVisitor__serialize_closure0: function _EvaluateVisitor__serialize_closure0(t0, t1) {
  7817. this.value = t0;
  7818. this.quote = t1;
  7819. },
  7820. _EvaluateVisitor__stackTrace_closure0: function _EvaluateVisitor__stackTrace_closure0(t0) {
  7821. this.$this = t0;
  7822. },
  7823. _ImportedCssVisitor0: function _ImportedCssVisitor0(t0) {
  7824. this._async_evaluate$_visitor = t0;
  7825. },
  7826. _ImportedCssVisitor_visitCssAtRule_closure0: function _ImportedCssVisitor_visitCssAtRule_closure0() {
  7827. },
  7828. _ImportedCssVisitor_visitCssMediaRule_closure0: function _ImportedCssVisitor_visitCssMediaRule_closure0(t0) {
  7829. this.hasBeenMerged = t0;
  7830. },
  7831. _ImportedCssVisitor_visitCssStyleRule_closure0: function _ImportedCssVisitor_visitCssStyleRule_closure0() {
  7832. },
  7833. _ImportedCssVisitor_visitCssSupportsRule_closure0: function _ImportedCssVisitor_visitCssSupportsRule_closure0() {
  7834. },
  7835. EvaluateResult: function EvaluateResult(t0, t1) {
  7836. this.stylesheet = t0;
  7837. this.includedFiles = t1;
  7838. },
  7839. _ArgumentResults0: function _ArgumentResults0(t0, t1, t2, t3, t4) {
  7840. var _ = this;
  7841. _.positional = t0;
  7842. _.positionalNodes = t1;
  7843. _.named = t2;
  7844. _.namedNodes = t3;
  7845. _.separator = t4;
  7846. },
  7847. StringScannerException$: function(message, span, source) {
  7848. return new E.StringScannerException(source, message, span);
  7849. },
  7850. StringScannerException: function StringScannerException(t0, t1, t2) {
  7851. this._span_exception$_source = t0;
  7852. this._span_exception$_message = t1;
  7853. this._span = t2;
  7854. },
  7855. WatchEvent: function WatchEvent(t0, t1) {
  7856. this.type = t0;
  7857. this.path = t1;
  7858. },
  7859. ChangeType: function ChangeType(t0) {
  7860. this._watch_event$_name = t0;
  7861. }
  7862. },
  7863. F = {ValueResult: function ValueResult(t0, t1) {
  7864. this.value = t0;
  7865. this.$ti = t1;
  7866. }, UrlStyle: function UrlStyle(t0, t1, t2, t3) {
  7867. var _ = this;
  7868. _.separatorPattern = t0;
  7869. _.needsSeparatorPattern = t1;
  7870. _.rootPattern = t2;
  7871. _.relativeRootPattern = t3;
  7872. },
  7873. CssMediaQuery$: function(type, features, modifier) {
  7874. return new F.CssMediaQuery(modifier, type, features == null ? C.List_empty0 : P.List_List$unmodifiable(features, P.String));
  7875. },
  7876. CssMediaQuery: function CssMediaQuery(t0, t1, t2) {
  7877. this.modifier = t0;
  7878. this.type = t1;
  7879. this.features = t2;
  7880. },
  7881. _SingletonCssMediaQueryMergeResult: function _SingletonCssMediaQueryMergeResult(t0) {
  7882. this._media_query$_name = t0;
  7883. },
  7884. MediaQuerySuccessfulMergeResult: function MediaQuerySuccessfulMergeResult(t0) {
  7885. this.query = t0;
  7886. },
  7887. ModifiableCssImport$: function(url, span, media, supports) {
  7888. return new F.ModifiableCssImport(url, supports, media == null ? null : P.List_List$unmodifiable(media, F.CssMediaQuery), span);
  7889. },
  7890. ModifiableCssImport: function ModifiableCssImport(t0, t1, t2, t3) {
  7891. var _ = this;
  7892. _.url = t0;
  7893. _.supports = t1;
  7894. _.media = t2;
  7895. _.span = t3;
  7896. _._indexInParent = _._parent = null;
  7897. _.isGroupEnd = false;
  7898. },
  7899. ModifiableCssValue: function ModifiableCssValue(t0, t1, t2) {
  7900. this.value = t0;
  7901. this.span = t1;
  7902. this.$ti = t2;
  7903. },
  7904. CssValue: function CssValue(t0, t1, t2) {
  7905. this.value = t0;
  7906. this.span = t1;
  7907. this.$ti = t2;
  7908. },
  7909. FunctionExpression: function FunctionExpression(t0, t1, t2, t3) {
  7910. var _ = this;
  7911. _.namespace = t0;
  7912. _.name = t1;
  7913. _.$arguments = t2;
  7914. _.span = t3;
  7915. },
  7916. ValueExpression: function ValueExpression(t0, t1) {
  7917. this.value = t0;
  7918. this.span = t1;
  7919. },
  7920. Import: function Import() {
  7921. },
  7922. TypeSelector: function TypeSelector(t0) {
  7923. this.name = t0;
  7924. },
  7925. main: function(args) {
  7926. return F.main$body(args);
  7927. },
  7928. main$body: function(args) {
  7929. var $async$goto = 0,
  7930. $async$completer = P._makeAsyncAwaitCompleter(null),
  7931. $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], printError, graph, source, destination, error, stackTrace, error0, stackTrace0, error1, error2, stackTrace1, buffer, options, t1, t2, t3, exception, _box_0, $async$exception, $async$exception1, $async$temp1;
  7932. var $async$main = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  7933. if ($async$errorCode === 1) {
  7934. $async$currentError = $async$result;
  7935. $async$goto = $async$handler;
  7936. }
  7937. while (true)
  7938. switch ($async$goto) {
  7939. case 0:
  7940. // Function start
  7941. _box_0 = {};
  7942. _box_0.printedError = false;
  7943. printError = new F.main_printError(_box_0);
  7944. _box_0.options = null;
  7945. $async$handler = 4;
  7946. options = B.ExecutableOptions_ExecutableOptions$parse(args);
  7947. _box_0.options = options;
  7948. t1 = options._options;
  7949. $._glyphs = !(t1.wasParsed$1("unicode") ? H.boolTypeCast(t1.$index(0, "unicode")) : $._glyphs !== C.C_AsciiGlyphSet) ? C.C_AsciiGlyphSet : C.C_UnicodeGlyphSet;
  7950. $async$goto = H.boolTypeCast(_box_0.options._options.$index(0, "version")) ? 7 : 8;
  7951. break;
  7952. case 7:
  7953. // then
  7954. $async$temp1 = P;
  7955. $async$goto = 9;
  7956. return P._asyncAwait(F._loadVersion(), $async$main);
  7957. case 9:
  7958. // returning from await.
  7959. $async$temp1.print($async$result);
  7960. self.process.exitCode = 0;
  7961. // goto return
  7962. $async$goto = 1;
  7963. break;
  7964. case 8:
  7965. // join
  7966. $async$goto = _box_0.options.get$interactive() ? 10 : 11;
  7967. break;
  7968. case 10:
  7969. // then
  7970. $async$goto = 12;
  7971. return P._asyncAwait(Y.repl(_box_0.options), $async$main);
  7972. case 12:
  7973. // returning from await.
  7974. // goto return
  7975. $async$goto = 1;
  7976. break;
  7977. case 11:
  7978. // join
  7979. t1 = H.setRuntimeTypeInfo([], [M.Importer]);
  7980. t2 = H.subtypeCast(_box_0.options._options.$index(0, "load-path"), "$isList", [P.String], "$asList");
  7981. t3 = _box_0.options;
  7982. t3 = H.boolTypeCast(t3._options.$index(0, "quiet")) ? $.$get$Logger_quiet() : new S.StderrLogger(t3.get$color());
  7983. t2 = R.ImportCache__toImporters(t1, t2, null);
  7984. t1 = t3 == null ? C.StderrLogger_false : t3;
  7985. t3 = P.Uri;
  7986. graph = new M.StylesheetGraph(P.LinkedHashMap_LinkedHashMap$_empty(t3, M.StylesheetNode), new R.ImportCache(t2, t1, P.LinkedHashMap_LinkedHashMap$_empty(t3, [S.Tuple3, M.Importer, P.Uri, P.Uri]), P.LinkedHashMap_LinkedHashMap$_empty(t3, V.Stylesheet), P.LinkedHashMap_LinkedHashMap$_empty(t3, E.ImporterResult)), P.LinkedHashMap_LinkedHashMap$_empty(t3, P.DateTime));
  7987. $async$goto = H.boolTypeCast(_box_0.options._options.$index(0, "watch")) ? 13 : 14;
  7988. break;
  7989. case 13:
  7990. // then
  7991. $async$goto = 15;
  7992. return P._asyncAwait(A.watch(_box_0.options, graph), $async$main);
  7993. case 15:
  7994. // returning from await.
  7995. // goto return
  7996. $async$goto = 1;
  7997. break;
  7998. case 14:
  7999. // join
  8000. t1 = _box_0.options, t1._ensureSources$0(), t1 = t1._sourcesToDestinations.get$keys(), t1 = t1.get$iterator(t1);
  8001. case 16:
  8002. // for condition
  8003. if (!t1.moveNext$0()) {
  8004. // goto after for
  8005. $async$goto = 17;
  8006. break;
  8007. }
  8008. source = t1.get$current(t1);
  8009. t2 = _box_0.options;
  8010. t2._ensureSources$0();
  8011. destination = t2._sourcesToDestinations.$index(0, source);
  8012. $async$handler = 19;
  8013. t2 = _box_0.options;
  8014. $async$goto = 22;
  8015. return P._asyncAwait(D.compileStylesheet(t2, graph, source, destination, H.boolTypeCast(t2._options.$index(0, "update"))), $async$main);
  8016. case 22:
  8017. // returning from await.
  8018. $async$handler = 4;
  8019. // goto after finally
  8020. $async$goto = 21;
  8021. break;
  8022. case 19:
  8023. // catch
  8024. $async$handler = 18;
  8025. $async$exception = $async$currentError;
  8026. t2 = H.unwrapException($async$exception);
  8027. t3 = J.getInterceptor$(t2);
  8028. if (!!t3.$isSassException) {
  8029. error = t2;
  8030. stackTrace = H.getTraceFromException($async$exception);
  8031. new F.main_closure0(_box_0, destination).call$0();
  8032. t2 = _box_0.options._options;
  8033. if (t2._parser.options._collection$_map.$index(0, "color") == null)
  8034. H.throwExpression(P.ArgumentError$('Could not find an option named "color".'));
  8035. if (t2._parsed.containsKey$1("color"))
  8036. t2 = H.boolTypeCast(t2.$index(0, "color"));
  8037. else {
  8038. t2 = self.process.stdout.isTTY;
  8039. if (t2 == null)
  8040. t2 = false;
  8041. }
  8042. t2 = J.toString$1$color$(error, t2);
  8043. t3 = H.boolTypeCast(_box_0.options._options.$index(0, "trace")) ? stackTrace : null;
  8044. printError.call$2(t2, t3);
  8045. if (!J.$eq$(self.process.exitCode, 66))
  8046. self.process.exitCode = 65;
  8047. if (H.boolTypeCast(_box_0.options._options.$index(0, "stop-on-error"))) {
  8048. // goto return
  8049. $async$goto = 1;
  8050. break;
  8051. }
  8052. } else if (!!t3.$isFileSystemException) {
  8053. error0 = t2;
  8054. stackTrace0 = H.getTraceFromException($async$exception);
  8055. t2 = error0.path;
  8056. t2 = "Error reading " + H.S($.$get$context().relative$2$from(t2, null)) + ": " + error0.message + ".";
  8057. t3 = H.boolTypeCast(_box_0.options._options.$index(0, "trace")) ? stackTrace0 : null;
  8058. printError.call$2(t2, t3);
  8059. self.process.exitCode = 66;
  8060. if (H.boolTypeCast(_box_0.options._options.$index(0, "stop-on-error"))) {
  8061. // goto return
  8062. $async$goto = 1;
  8063. break;
  8064. }
  8065. } else
  8066. throw $async$exception;
  8067. // goto after finally
  8068. $async$goto = 21;
  8069. break;
  8070. case 18:
  8071. // uncaught
  8072. // goto catch
  8073. $async$goto = 4;
  8074. break;
  8075. case 21:
  8076. // after finally
  8077. // goto for condition
  8078. $async$goto = 16;
  8079. break;
  8080. case 17:
  8081. // after for
  8082. $async$handler = 2;
  8083. // goto after finally
  8084. $async$goto = 6;
  8085. break;
  8086. case 4:
  8087. // catch
  8088. $async$handler = 3;
  8089. $async$exception1 = $async$currentError;
  8090. t1 = H.unwrapException($async$exception1);
  8091. if (t1 instanceof B.UsageException) {
  8092. error1 = t1;
  8093. P.print(H.S(error1.message) + "\n");
  8094. P.print("Usage: sass <input.scss> [output.css]\n sass <input.scss>:<output.css> <input/>:<output/> <dir/>\n");
  8095. t1 = $.$get$ExecutableOptions__parser();
  8096. P.print(new G.Usage(t1._optionsAndSeparators, t1.usageLineLength).generate$0());
  8097. self.process.exitCode = 64;
  8098. } else {
  8099. error2 = t1;
  8100. stackTrace1 = H.getTraceFromException($async$exception1);
  8101. buffer = new P.StringBuffer("");
  8102. t1 = _box_0.options;
  8103. if (t1 != null && t1.get$color())
  8104. buffer._contents += "\x1b[31m\x1b[1m";
  8105. buffer._contents += "Unexpected exception:";
  8106. t1 = _box_0.options;
  8107. if (t1 != null && t1.get$color())
  8108. buffer._contents += "\x1b[0m";
  8109. buffer._contents += "\n";
  8110. buffer._contents += H.S(error2) + "\n";
  8111. t1 = buffer._contents;
  8112. printError.call$2(t1.charCodeAt(0) == 0 ? t1 : t1, stackTrace1);
  8113. self.process.exitCode = 255;
  8114. }
  8115. // goto after finally
  8116. $async$goto = 6;
  8117. break;
  8118. case 3:
  8119. // uncaught
  8120. // goto rethrow
  8121. $async$goto = 2;
  8122. break;
  8123. case 6:
  8124. // after finally
  8125. case 1:
  8126. // return
  8127. return P._asyncReturn($async$returnValue, $async$completer);
  8128. case 2:
  8129. // rethrow
  8130. return P._asyncRethrow($async$currentError, $async$completer);
  8131. }
  8132. });
  8133. return P._asyncStartSync($async$main, $async$completer);
  8134. },
  8135. _loadVersion: function() {
  8136. var $async$goto = 0,
  8137. $async$completer = P._makeAsyncAwaitCompleter(P.String),
  8138. $async$returnValue;
  8139. var $async$_loadVersion = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  8140. if ($async$errorCode === 1)
  8141. return P._asyncRethrow($async$result, $async$completer);
  8142. while (true)
  8143. switch ($async$goto) {
  8144. case 0:
  8145. // Function start
  8146. $async$returnValue = "1.22.9 compiled with dart2js 2.4.0";
  8147. // goto return
  8148. $async$goto = 1;
  8149. break;
  8150. case 1:
  8151. // return
  8152. return P._asyncReturn($async$returnValue, $async$completer);
  8153. }
  8154. });
  8155. return P._asyncStartSync($async$_loadVersion, $async$completer);
  8156. },
  8157. main_printError: function main_printError(t0) {
  8158. this._box_0 = t0;
  8159. },
  8160. main_closure0: function main_closure0(t0, t1) {
  8161. this._box_0 = t0;
  8162. this.destination = t1;
  8163. },
  8164. Extender__extendOrReplace: function(selector, source, targets, mode) {
  8165. var t3, t4, t5, t6, t7, t8, t9, t10, _i, complex, t11, t12, t13, _i0, _null = null,
  8166. t1 = source.components,
  8167. t2 = S.ComplexSelector,
  8168. map = P.LinkedHashMap_LinkedHashMap(_null, _null, _null, t2, S.Extension);
  8169. P.MapBase__fillMapWithMappedIterable(map, t1, _null, new F.Extender__extendOrReplace_closure());
  8170. for (t1 = targets.components, t3 = t1.length, t2 = [t2], t4 = M.SimpleSelector, t5 = [P.Set, X.ModifiableCssStyleRule], t6 = [P.Map, S.ComplexSelector, S.Extension], t7 = [P.List, S.Extension], t8 = X.CssStyleRule, t9 = [P.List, F.CssMediaQuery], t10 = [t4, P.int], _i = 0; _i < t3; ++_i) {
  8171. complex = t1[_i];
  8172. t11 = complex.components;
  8173. if (t11.length !== 1)
  8174. throw H.wrapException(E.SassScriptException$("Can't extend complex selector " + H.S(complex) + "."));
  8175. t12 = P.LinkedHashMap_LinkedHashMap$_empty(t4, t6);
  8176. for (t11 = H.interceptedTypeCast(C.JSArray_methods.get$first(t11), "$isCompoundSelector").components, t13 = t11.length, _i0 = 0; _i0 < t13; ++_i0)
  8177. t12.$indexSet(0, t11[_i0], map);
  8178. t11 = new P._LinkedIdentityHashSet(t2);
  8179. if (!selector.get$isInvisible())
  8180. t11.addAll$1(0, selector.components);
  8181. selector = new F.Extender(P.LinkedHashMap_LinkedHashMap$_empty(t4, t5), P.LinkedHashMap_LinkedHashMap$_empty(t4, t6), P.LinkedHashMap_LinkedHashMap$_empty(t4, t7), P.LinkedHashMap_LinkedHashMap$_empty(t8, t9), new P._LinkedIdentityHashMap(t10), t11, mode)._extendList$3(selector, t12, _null);
  8182. }
  8183. return selector;
  8184. },
  8185. Extender: function Extender(t0, t1, t2, t3, t4, t5, t6) {
  8186. var _ = this;
  8187. _._selectors = t0;
  8188. _._extensions = t1;
  8189. _._extensionsByExtender = t2;
  8190. _._mediaContexts = t3;
  8191. _._sourceSpecificity = t4;
  8192. _._originals = t5;
  8193. _._mode = t6;
  8194. },
  8195. Extender__extendOrReplace_closure: function Extender__extendOrReplace_closure() {
  8196. },
  8197. Extender_extensionsWhereTarget_closure: function Extender_extensionsWhereTarget_closure() {
  8198. },
  8199. Extender__registerSelector_closure: function Extender__registerSelector_closure() {
  8200. },
  8201. Extender_addExtension_closure: function Extender_addExtension_closure() {
  8202. },
  8203. Extender_addExtension_closure0: function Extender_addExtension_closure0() {
  8204. },
  8205. Extender_addExtension_closure1: function Extender_addExtension_closure1(t0) {
  8206. this.complex = t0;
  8207. },
  8208. Extender__extendExistingExtensions_closure: function Extender__extendExistingExtensions_closure() {
  8209. },
  8210. Extender__extendExistingExtensions_closure0: function Extender__extendExistingExtensions_closure0() {
  8211. },
  8212. Extender_addExtensions_closure: function Extender_addExtensions_closure(t0, t1, t2) {
  8213. this._box_0 = t0;
  8214. this.$this = t1;
  8215. this.extender = t2;
  8216. },
  8217. Extender_addExtensions__closure: function Extender_addExtensions__closure(t0, t1, t2, t3, t4) {
  8218. var _ = this;
  8219. _._box_0 = t0;
  8220. _.existingSources = t1;
  8221. _.extensionsForTarget = t2;
  8222. _.rulesForTarget = t3;
  8223. _.target = t4;
  8224. },
  8225. Extender_addExtensions___closure: function Extender_addExtensions___closure() {
  8226. },
  8227. Extender_addExtensions___closure0: function Extender_addExtensions___closure0(t0) {
  8228. this.extension = t0;
  8229. },
  8230. Extender__extendList_closure: function Extender__extendList_closure() {
  8231. },
  8232. Extender__extendComplex_closure: function Extender__extendComplex_closure(t0) {
  8233. this.complex = t0;
  8234. },
  8235. Extender__extendComplex_closure0: function Extender__extendComplex_closure0(t0, t1, t2) {
  8236. this._box_0 = t0;
  8237. this.$this = t1;
  8238. this.complex = t2;
  8239. },
  8240. Extender__extendComplex__closure: function Extender__extendComplex__closure() {
  8241. },
  8242. Extender__extendComplex__closure0: function Extender__extendComplex__closure0(t0, t1, t2, t3) {
  8243. var _ = this;
  8244. _._box_0 = t0;
  8245. _.$this = t1;
  8246. _.complex = t2;
  8247. _.path = t3;
  8248. },
  8249. Extender__extendComplex___closure: function Extender__extendComplex___closure() {
  8250. },
  8251. Extender__extendCompound_closure: function Extender__extendCompound_closure(t0) {
  8252. this.mediaQueryContext = t0;
  8253. },
  8254. Extender__extendCompound_closure0: function Extender__extendCompound_closure0(t0, t1, t2, t3) {
  8255. var _ = this;
  8256. _._box_1 = t0;
  8257. _.$this = t1;
  8258. _.compound = t2;
  8259. _.mediaQueryContext = t3;
  8260. },
  8261. Extender__extendCompound__closure: function Extender__extendCompound__closure() {
  8262. },
  8263. Extender__extendCompound__closure0: function Extender__extendCompound__closure0(t0) {
  8264. this._box_0 = t0;
  8265. },
  8266. Extender__extendCompound_closure1: function Extender__extendCompound_closure1() {
  8267. },
  8268. Extender__extendCompound_closure2: function Extender__extendCompound_closure2() {
  8269. },
  8270. Extender__extendSimple_withoutPseudo: function Extender__extendSimple_withoutPseudo(t0, t1, t2) {
  8271. this.$this = t0;
  8272. this.extensions = t1;
  8273. this.targetsUsed = t2;
  8274. },
  8275. Extender__extendSimple_closure: function Extender__extendSimple_closure(t0, t1) {
  8276. this.$this = t0;
  8277. this.withoutPseudo = t1;
  8278. },
  8279. Extender__extendPseudo_closure: function Extender__extendPseudo_closure() {
  8280. },
  8281. Extender__extendPseudo_closure0: function Extender__extendPseudo_closure0() {
  8282. },
  8283. Extender__extendPseudo_closure1: function Extender__extendPseudo_closure1() {
  8284. },
  8285. Extender__extendPseudo_closure2: function Extender__extendPseudo_closure2(t0) {
  8286. this.pseudo = t0;
  8287. },
  8288. Extender__extendPseudo_closure3: function Extender__extendPseudo_closure3(t0) {
  8289. this.pseudo = t0;
  8290. },
  8291. Extender__trim_closure: function Extender__trim_closure(t0, t1) {
  8292. this._box_0 = t0;
  8293. this.complex1 = t1;
  8294. },
  8295. Extender__trim_closure0: function Extender__trim_closure0(t0, t1) {
  8296. this._box_0 = t0;
  8297. this.complex1 = t1;
  8298. },
  8299. Extender_clone_closure: function Extender_clone_closure(t0, t1, t2, t3) {
  8300. var _ = this;
  8301. _.$this = t0;
  8302. _.newSelectors = t1;
  8303. _.oldToNewRules = t2;
  8304. _.newMediaContexts = t3;
  8305. },
  8306. FilesystemImporter: function FilesystemImporter(t0) {
  8307. this._loadPath = t0;
  8308. },
  8309. NodeImporter__addSassPath: function(includePaths) {
  8310. return F.NodeImporter__addSassPath$body(includePaths);
  8311. },
  8312. NodeImporter__addSassPath$body: function($async$includePaths) {
  8313. return P._makeSyncStarIterable(function() {
  8314. var includePaths = $async$includePaths;
  8315. var $async$goto = 0, $async$handler = 2, $async$currentError, sassPath;
  8316. return function $async$NodeImporter__addSassPath($async$errorCode, $async$result) {
  8317. if ($async$errorCode === 1) {
  8318. $async$currentError = $async$result;
  8319. $async$goto = $async$handler;
  8320. }
  8321. while (true)
  8322. switch ($async$goto) {
  8323. case 0:
  8324. // Function start
  8325. $async$goto = 3;
  8326. return P._IterationMarker_yieldStar(includePaths);
  8327. case 3:
  8328. // after yield
  8329. sassPath = H.stringTypeCast(J.get$env$x(self.process).SASS_PATH);
  8330. if (sassPath == null) {
  8331. // goto return
  8332. $async$goto = 1;
  8333. break;
  8334. }
  8335. $async$goto = 4;
  8336. return P._IterationMarker_yieldStar(H.setRuntimeTypeInfo(sassPath.split(J.$eq$(J.get$platform$x(self.process), "win32") ? ";" : ":"), [P.String]));
  8337. case 4:
  8338. // after yield
  8339. case 1:
  8340. // return
  8341. return P._IterationMarker_endOfIteration();
  8342. case 2:
  8343. // rethrow
  8344. return P._IterationMarker_uncaughtError($async$currentError);
  8345. }
  8346. };
  8347. }, P.String);
  8348. },
  8349. NodeImporter: function NodeImporter(t0, t1, t2) {
  8350. this._implementation$_context = t0;
  8351. this._includePaths = t1;
  8352. this._implementation$_importers = t2;
  8353. },
  8354. realCasePath: function(path) {
  8355. var t1, basename, matches;
  8356. if (!(J.$eq$(J.get$platform$x(self.process), "win32") || J.$eq$(J.get$platform$x(self.process), "darwin")))
  8357. return path;
  8358. t1 = $.$get$context();
  8359. basename = X.ParsedPath_ParsedPath$parse(path, t1.style).get$basename();
  8360. matches = J.where$1$ax(B.listDir(t1.dirname$1(path), false), new F.realCasePath_closure(basename)).toList$0(0);
  8361. if (matches.length !== 1)
  8362. return path;
  8363. return C.JSArray_methods.get$first(matches);
  8364. },
  8365. realCasePath_closure: function realCasePath_closure(t0) {
  8366. this.basename = t0;
  8367. },
  8368. _QuietLogger: function _QuietLogger() {
  8369. },
  8370. JSFunction: function JSFunction() {
  8371. },
  8372. NodeImporterResult: function NodeImporterResult() {
  8373. },
  8374. MediaQueryParser: function MediaQueryParser(t0, t1) {
  8375. this.scanner = t0;
  8376. this.logger = t1;
  8377. },
  8378. MediaQueryParser_parse_closure: function MediaQueryParser_parse_closure(t0) {
  8379. this.$this = t0;
  8380. },
  8381. PrefixedMapView: function PrefixedMapView(t0, t1, t2) {
  8382. this._prefixed_map_view$_map = t0;
  8383. this._prefix = t1;
  8384. this.$ti = t2;
  8385. },
  8386. _PrefixedKeys: function _PrefixedKeys(t0) {
  8387. this._view = t0;
  8388. },
  8389. _PrefixedKeys_iterator_closure: function _PrefixedKeys_iterator_closure(t0) {
  8390. this.$this = t0;
  8391. },
  8392. Value: function Value() {
  8393. },
  8394. SassFunction: function SassFunction(t0) {
  8395. this.callable = t0;
  8396. },
  8397. unwrapValue: function(object) {
  8398. var value;
  8399. if (object != null) {
  8400. if (object instanceof F.Value)
  8401. return object;
  8402. value = object.dartValue;
  8403. if (value != null && value instanceof F.Value)
  8404. return value;
  8405. if (object instanceof self.Error)
  8406. throw H.wrapException(object);
  8407. }
  8408. throw H.wrapException(H.S(object) + " must be a Sass value type.");
  8409. },
  8410. wrapValue: function(value) {
  8411. var t1 = J.getInterceptor$(value);
  8412. if (!!t1.$isSassColor)
  8413. return P.callConstructor($.$get$colorConstructor(), [null, null, null, null, value]);
  8414. if (!!t1.$isSassList)
  8415. return P.callConstructor($.$get$listConstructor(), [null, null, value]);
  8416. if (!!t1.$isSassMap)
  8417. return P.callConstructor($.$get$mapConstructor(), [null, value]);
  8418. if (!!t1.$isSassNumber)
  8419. return P.callConstructor($.$get$numberConstructor(), [null, null, value]);
  8420. if (!!t1.$isSassString)
  8421. return P.callConstructor($.$get$stringConstructor(), [null, value]);
  8422. return value;
  8423. }
  8424. },
  8425. Y = {StreamCompleter: function StreamCompleter(t0, t1) {
  8426. this._stream_completer$_stream = t0;
  8427. this.$ti = t1;
  8428. }, _CompleterStream: function _CompleterStream(t0) {
  8429. this._sourceStream = this._stream_completer$_controller = null;
  8430. this.$ti = t0;
  8431. },
  8432. mapMap: function(map, key, value, K1, V1, K2, V2) {
  8433. var result, t1 = {};
  8434. t1.key = key;
  8435. t1.value = value;
  8436. if (key == null)
  8437. t1.key = new Y.mapMap_closure(K2, K1, V1);
  8438. if (value == null)
  8439. t1.value = new Y.mapMap_closure0(V2, K1, V1);
  8440. result = P.LinkedHashMap_LinkedHashMap$_empty(K2, V2);
  8441. map.forEach$1(0, new Y.mapMap_closure1(t1, result, K1, V1));
  8442. return result;
  8443. },
  8444. minBy: function(values, orderBy, $S, $T) {
  8445. var t1, minValue, minOrderBy, element, elementOrderBy,
  8446. compare = B.defaultCompare($T);
  8447. for (t1 = new H.MappedIterator(J.get$iterator$ax(values.__internal$_iterable), values._f), minValue = null, minOrderBy = null; t1.moveNext$0();) {
  8448. element = t1.__internal$_current;
  8449. elementOrderBy = orderBy.call$1(element);
  8450. if (minOrderBy == null || compare.call$2(elementOrderBy, minOrderBy) < 0) {
  8451. minOrderBy = elementOrderBy;
  8452. minValue = element;
  8453. }
  8454. }
  8455. return minValue;
  8456. },
  8457. mapMap_closure: function mapMap_closure(t0, t1, t2) {
  8458. this.K2 = t0;
  8459. this.K1 = t1;
  8460. this.V1 = t2;
  8461. },
  8462. mapMap_closure0: function mapMap_closure0(t0, t1, t2) {
  8463. this.V2 = t0;
  8464. this.K1 = t1;
  8465. this.V1 = t2;
  8466. },
  8467. mapMap_closure1: function mapMap_closure1(t0, t1, t2, t3) {
  8468. var _ = this;
  8469. _._box_0 = t0;
  8470. _.result = t1;
  8471. _.K1 = t2;
  8472. _.V1 = t3;
  8473. },
  8474. ContentBlock: function ContentBlock(t0, t1, t2, t3, t4) {
  8475. var _ = this;
  8476. _.name = t0;
  8477. _.$arguments = t1;
  8478. _.span = t2;
  8479. _.children = t3;
  8480. _.hasDeclarations = t4;
  8481. },
  8482. WarnRule: function WarnRule(t0, t1) {
  8483. this.expression = t0;
  8484. this.span = t1;
  8485. },
  8486. unifyComplex: function(complexes) {
  8487. var t2, unifiedBase, base, t3, t4, _i, complexesWithoutBases,
  8488. t1 = J.getInterceptor$asx(complexes);
  8489. if (t1.get$length(complexes) === 1)
  8490. return complexes;
  8491. for (t2 = t1.get$iterator(complexes), unifiedBase = null; t2.moveNext$0();) {
  8492. base = J.get$last$ax(t2.get$current(t2));
  8493. if (base instanceof X.CompoundSelector)
  8494. if (unifiedBase == null)
  8495. unifiedBase = base.components;
  8496. else
  8497. for (t3 = base.components, t4 = t3.length, _i = 0; _i < t4; ++_i) {
  8498. unifiedBase = t3[_i].unify$1(unifiedBase);
  8499. if (unifiedBase == null)
  8500. return;
  8501. }
  8502. else
  8503. return;
  8504. }
  8505. complexesWithoutBases = t1.map$1$1(complexes, new Y.unifyComplex_closure(), [P.List, S.ComplexSelectorComponent]).toList$0(0);
  8506. J.add$1$ax(C.JSArray_methods.get$last(complexesWithoutBases), X.CompoundSelector$(unifiedBase));
  8507. return Y.weave(complexesWithoutBases);
  8508. },
  8509. unifyCompound: function(compound1, compound2) {
  8510. var t1, result, _i;
  8511. for (t1 = compound1.length, result = compound2, _i = 0; _i < t1; ++_i) {
  8512. result = compound1[_i].unify$1(result);
  8513. if (result == null)
  8514. return;
  8515. }
  8516. return X.CompoundSelector$(result);
  8517. },
  8518. unifyUniversalAndElement: function(selector1, selector2) {
  8519. var namespace1, name1, t1, namespace2, name2, namespace, $name,
  8520. _s45_ = "must be a UniversalSelector or a TypeSelector";
  8521. if (!!selector1.$isUniversalSelector) {
  8522. namespace1 = selector1.namespace;
  8523. name1 = null;
  8524. } else if (!!selector1.$isTypeSelector) {
  8525. t1 = selector1.name;
  8526. namespace1 = t1.namespace;
  8527. name1 = t1.name;
  8528. } else
  8529. throw H.wrapException(P.ArgumentError$value(selector1, "selector1", _s45_));
  8530. t1 = J.getInterceptor$(selector2);
  8531. if (!!t1.$isUniversalSelector) {
  8532. namespace2 = selector2.namespace;
  8533. name2 = null;
  8534. } else if (!!t1.$isTypeSelector) {
  8535. t1 = selector2.name;
  8536. namespace2 = t1.namespace;
  8537. name2 = t1.name;
  8538. } else
  8539. throw H.wrapException(P.ArgumentError$value(selector2, "selector2", _s45_));
  8540. if (namespace1 == namespace2 || namespace2 === "*")
  8541. namespace = namespace1;
  8542. else {
  8543. if (namespace1 !== "*")
  8544. return;
  8545. namespace = namespace2;
  8546. }
  8547. if (name1 == name2 || name2 == null)
  8548. $name = name1;
  8549. else {
  8550. if (!(name1 == null || name1 === "*"))
  8551. return;
  8552. $name = name2;
  8553. }
  8554. return $name == null ? new N.UniversalSelector(namespace) : new F.TypeSelector(new D.QualifiedName($name, namespace));
  8555. },
  8556. weave: function(complexes) {
  8557. var t2, t3, t4, target, _i, parents, newPrefixes, parentPrefixes, t5,
  8558. t1 = [[P.List, S.ComplexSelectorComponent]],
  8559. prefixes = H.setRuntimeTypeInfo([J.toList$0$ax(C.JSArray_methods.get$first(complexes))], t1);
  8560. for (t2 = H.SubListIterable$(complexes, 1, null, H.getTypeArgumentByIndex(complexes, 0)), t2 = new H.ListIterator(t2, t2.get$length(t2)); t2.moveNext$0();) {
  8561. t3 = t2.__internal$_current;
  8562. t4 = J.getInterceptor$asx(t3);
  8563. if (t4.get$isEmpty(t3))
  8564. continue;
  8565. target = t4.get$last(t3);
  8566. if (t4.get$length(t3) === 1) {
  8567. for (t3 = prefixes.length, _i = 0; _i < prefixes.length; prefixes.length === t3 || (0, H.throwConcurrentModificationError)(prefixes), ++_i)
  8568. J.add$1$ax(prefixes[_i], target);
  8569. continue;
  8570. }
  8571. parents = t4.take$1(t3, t4.get$length(t3) - 1).toList$0(0);
  8572. newPrefixes = H.setRuntimeTypeInfo([], t1);
  8573. for (t3 = prefixes.length, _i = 0; _i < prefixes.length; prefixes.length === t3 || (0, H.throwConcurrentModificationError)(prefixes), ++_i) {
  8574. parentPrefixes = Y._weaveParents(prefixes[_i], parents);
  8575. if (parentPrefixes == null)
  8576. continue;
  8577. for (t4 = parentPrefixes.get$iterator(parentPrefixes); t4.moveNext$0();) {
  8578. t5 = t4.get$current(t4);
  8579. J.add$1$ax(t5, target);
  8580. newPrefixes.push(t5);
  8581. }
  8582. }
  8583. prefixes = newPrefixes;
  8584. }
  8585. return prefixes;
  8586. },
  8587. _weaveParents: function(parents1, parents2) {
  8588. var finalCombinators, root1, root2, root, groups1, groups2, lcs, t2, t3, choices, t4, _i, group, t5,
  8589. t1 = S.ComplexSelectorComponent,
  8590. queue1 = P.ListQueue_ListQueue$of(parents1, t1),
  8591. queue2 = P.ListQueue_ListQueue$of(parents2, t1),
  8592. initialCombinators = Y._mergeInitialCombinators(queue1, queue2);
  8593. if (initialCombinators == null)
  8594. return;
  8595. finalCombinators = Y._mergeFinalCombinators(queue1, queue2, null);
  8596. if (finalCombinators == null)
  8597. return;
  8598. root1 = Y._firstIfRoot(queue1);
  8599. root2 = Y._firstIfRoot(queue2);
  8600. t1 = root1 != null;
  8601. if (t1 && root2 != null) {
  8602. root = Y.unifyCompound(root1.components, root2.components);
  8603. if (root == null)
  8604. return;
  8605. queue1.addFirst$1(root);
  8606. queue2.addFirst$1(root);
  8607. } else if (t1)
  8608. queue2.addFirst$1(root1);
  8609. else if (root2 != null)
  8610. queue1.addFirst$1(root2);
  8611. groups1 = Y._groupSelectors(queue1);
  8612. groups2 = Y._groupSelectors(queue2);
  8613. t1 = [P.List, S.ComplexSelectorComponent];
  8614. lcs = B.longestCommonSubsequence(groups2, groups1, new Y._weaveParents_closure(), t1);
  8615. t2 = [P.Iterable, S.ComplexSelectorComponent];
  8616. t3 = [t2];
  8617. choices = H.setRuntimeTypeInfo([H.setRuntimeTypeInfo([initialCombinators], t3)], [[P.List, [P.Iterable, S.ComplexSelectorComponent]]]);
  8618. for (t4 = lcs.length, _i = 0; _i < lcs.length; lcs.length === t4 || (0, H.throwConcurrentModificationError)(lcs), ++_i) {
  8619. group = lcs[_i];
  8620. t5 = Y._chunks(groups1, groups2, new Y._weaveParents_closure0(group), t1);
  8621. choices.push(new H.MappedListIterable(t5, new Y._weaveParents_closure1(), [H.getTypeArgumentByIndex(t5, 0), t2]).toList$0(0));
  8622. choices.push(H.setRuntimeTypeInfo([group], t3));
  8623. groups1.removeFirst$0();
  8624. groups2.removeFirst$0();
  8625. }
  8626. t3 = Y._chunks(groups1, groups2, new Y._weaveParents_closure2(), t1);
  8627. choices.push(new H.MappedListIterable(t3, new Y._weaveParents_closure3(), [H.getTypeArgumentByIndex(t3, 0), t2]).toList$0(0));
  8628. C.JSArray_methods.addAll$1(choices, finalCombinators);
  8629. return J.map$1$1$ax(Y.paths(new H.WhereIterable(choices, new Y._weaveParents_closure4(), [H.getTypeArgumentByIndex(choices, 0)]), t2), new Y._weaveParents_closure5(), t1);
  8630. },
  8631. _firstIfRoot: function(queue) {
  8632. var first;
  8633. if (queue._collection$_head === queue._collection$_tail)
  8634. return;
  8635. first = queue.get$first(queue);
  8636. if (first instanceof X.CompoundSelector) {
  8637. if (!Y._hasRoot(first))
  8638. return;
  8639. queue.removeFirst$0();
  8640. return first;
  8641. } else
  8642. return;
  8643. },
  8644. _mergeInitialCombinators: function(components1, components2) {
  8645. var t3, combinators2, lcs,
  8646. t1 = S.Combinator,
  8647. t2 = [t1],
  8648. combinators1 = H.setRuntimeTypeInfo([], t2);
  8649. while (true) {
  8650. if (!components1.get$isEmpty(components1)) {
  8651. t3 = components1._collection$_head;
  8652. if (t3 === components1._collection$_tail)
  8653. H.throwExpression(H.IterableElementError_noElement());
  8654. t3 = components1._collection$_table[t3] instanceof S.Combinator;
  8655. } else
  8656. t3 = false;
  8657. if (!t3)
  8658. break;
  8659. combinators1.push(H.interceptedTypeCast(components1.removeFirst$0(), "$isCombinator"));
  8660. }
  8661. combinators2 = H.setRuntimeTypeInfo([], t2);
  8662. while (true) {
  8663. if (!components2.get$isEmpty(components2)) {
  8664. t2 = components2._collection$_head;
  8665. if (t2 === components2._collection$_tail)
  8666. H.throwExpression(H.IterableElementError_noElement());
  8667. t2 = components2._collection$_table[t2] instanceof S.Combinator;
  8668. } else
  8669. t2 = false;
  8670. if (!t2)
  8671. break;
  8672. combinators2.push(H.interceptedTypeCast(components2.removeFirst$0(), "$isCombinator"));
  8673. }
  8674. lcs = B.longestCommonSubsequence(combinators1, combinators2, null, t1);
  8675. if (C.C_ListEquality.equals$2(lcs, combinators1))
  8676. return combinators2;
  8677. if (C.C_ListEquality.equals$2(lcs, combinators2))
  8678. return combinators1;
  8679. return;
  8680. },
  8681. _mergeFinalCombinators: function(components1, components2, result) {
  8682. var t1, t2, combinators1, combinators2, lcs, combinator1, combinator2, compound1, compound2, choices, unified, followingSiblingSelector, nextSiblingSelector, _null = null;
  8683. if (result == null)
  8684. result = Q.QueueList$(_null, [P.List, [P.List, S.ComplexSelectorComponent]]);
  8685. if (components1._collection$_head === components1._collection$_tail || !(components1.get$last(components1) instanceof S.Combinator))
  8686. t1 = components2._collection$_head === components2._collection$_tail || !(components2.get$last(components2) instanceof S.Combinator);
  8687. else
  8688. t1 = false;
  8689. if (t1)
  8690. return result;
  8691. t1 = S.Combinator;
  8692. t2 = [t1];
  8693. combinators1 = H.setRuntimeTypeInfo([], t2);
  8694. while (true) {
  8695. if (!(!components1.get$isEmpty(components1) && components1.get$last(components1) instanceof S.Combinator))
  8696. break;
  8697. combinators1.push(H.interceptedTypeCast(components1.removeLast$0(0), "$isCombinator"));
  8698. }
  8699. combinators2 = H.setRuntimeTypeInfo([], t2);
  8700. while (true) {
  8701. if (!(!components2.get$isEmpty(components2) && components2.get$last(components2) instanceof S.Combinator))
  8702. break;
  8703. combinators2.push(H.interceptedTypeCast(components2.removeLast$0(0), "$isCombinator"));
  8704. }
  8705. t2 = combinators1.length;
  8706. if (t2 > 1 || combinators2.length > 1) {
  8707. lcs = B.longestCommonSubsequence(combinators1, combinators2, _null, t1);
  8708. if (C.C_ListEquality.equals$2(lcs, combinators1))
  8709. result.addFirst$1(H.setRuntimeTypeInfo([P.List_List$from(new H.ReversedListIterable(combinators2, [H.getTypeArgumentByIndex(combinators2, 0)]), true, S.ComplexSelectorComponent)], [[P.List, S.ComplexSelectorComponent]]));
  8710. else if (C.C_ListEquality.equals$2(lcs, combinators2))
  8711. result.addFirst$1(H.setRuntimeTypeInfo([P.List_List$from(new H.ReversedListIterable(combinators1, [H.getTypeArgumentByIndex(combinators1, 0)]), true, S.ComplexSelectorComponent)], [[P.List, S.ComplexSelectorComponent]]));
  8712. else
  8713. return;
  8714. return result;
  8715. }
  8716. combinator1 = t2 === 0 ? _null : C.JSArray_methods.get$first(combinators1);
  8717. combinator2 = combinators2.length === 0 ? _null : C.JSArray_methods.get$first(combinators2);
  8718. t1 = combinator1 != null;
  8719. if (t1 && combinator2 != null) {
  8720. compound1 = H.interceptedTypeCast(components1.removeLast$0(0), "$isCompoundSelector");
  8721. compound2 = H.interceptedTypeCast(components2.removeLast$0(0), "$isCompoundSelector");
  8722. t1 = combinator1 === C.Combinator_CzM;
  8723. if (t1 && combinator2 === C.Combinator_CzM) {
  8724. compound1.toString;
  8725. if (Y.compoundIsSuperselector(compound1, compound2, _null))
  8726. result.addFirst$1(H.setRuntimeTypeInfo([H.setRuntimeTypeInfo([compound2, C.Combinator_CzM], [S.ComplexSelectorComponent])], [[P.List, S.ComplexSelectorComponent]]));
  8727. else {
  8728. compound2.toString;
  8729. t1 = [S.ComplexSelectorComponent];
  8730. t2 = [[P.List, S.ComplexSelectorComponent]];
  8731. if (Y.compoundIsSuperselector(compound2, compound1, _null))
  8732. result.addFirst$1(H.setRuntimeTypeInfo([H.setRuntimeTypeInfo([compound1, C.Combinator_CzM], t1)], t2));
  8733. else {
  8734. choices = H.setRuntimeTypeInfo([H.setRuntimeTypeInfo([compound1, C.Combinator_CzM, compound2, C.Combinator_CzM], t1), H.setRuntimeTypeInfo([compound2, C.Combinator_CzM, compound1, C.Combinator_CzM], t1)], t2);
  8735. unified = Y.unifyCompound(compound1.components, compound2.components);
  8736. if (unified != null)
  8737. choices.push(H.setRuntimeTypeInfo([unified, C.Combinator_CzM], t1));
  8738. result.addFirst$1(choices);
  8739. }
  8740. }
  8741. } else {
  8742. if (!(t1 && combinator2 === C.Combinator_uzg))
  8743. t2 = combinator1 === C.Combinator_uzg && combinator2 === C.Combinator_CzM;
  8744. else
  8745. t2 = true;
  8746. if (t2) {
  8747. followingSiblingSelector = t1 ? compound1 : compound2;
  8748. nextSiblingSelector = t1 ? compound2 : compound1;
  8749. followingSiblingSelector.toString;
  8750. t1 = [S.ComplexSelectorComponent];
  8751. t2 = [[P.List, S.ComplexSelectorComponent]];
  8752. if (Y.compoundIsSuperselector(followingSiblingSelector, nextSiblingSelector, _null))
  8753. result.addFirst$1(H.setRuntimeTypeInfo([H.setRuntimeTypeInfo([nextSiblingSelector, C.Combinator_uzg], t1)], t2));
  8754. else {
  8755. unified = Y.unifyCompound(compound1.components, compound2.components);
  8756. t2 = H.setRuntimeTypeInfo([], t2);
  8757. t2.push(H.setRuntimeTypeInfo([followingSiblingSelector, C.Combinator_CzM, nextSiblingSelector, C.Combinator_uzg], t1));
  8758. if (unified != null)
  8759. t2.push(H.setRuntimeTypeInfo([unified, C.Combinator_uzg], t1));
  8760. result.addFirst$1(t2);
  8761. }
  8762. } else {
  8763. if (combinator1 === C.Combinator_sgq)
  8764. t2 = combinator2 === C.Combinator_uzg || combinator2 === C.Combinator_CzM;
  8765. else
  8766. t2 = false;
  8767. if (t2) {
  8768. result.addFirst$1(H.setRuntimeTypeInfo([H.setRuntimeTypeInfo([compound2, combinator2], [S.ComplexSelectorComponent])], [[P.List, S.ComplexSelectorComponent]]));
  8769. components1._collection$_add$1(compound1);
  8770. components1._collection$_add$1(C.Combinator_sgq);
  8771. } else {
  8772. if (combinator2 === C.Combinator_sgq)
  8773. t1 = combinator1 === C.Combinator_uzg || t1;
  8774. else
  8775. t1 = false;
  8776. if (t1) {
  8777. result.addFirst$1(H.setRuntimeTypeInfo([H.setRuntimeTypeInfo([compound1, combinator1], [S.ComplexSelectorComponent])], [[P.List, S.ComplexSelectorComponent]]));
  8778. components2._collection$_add$1(compound2);
  8779. components2._collection$_add$1(C.Combinator_sgq);
  8780. } else if (combinator1 === combinator2) {
  8781. unified = Y.unifyCompound(compound1.components, compound2.components);
  8782. if (unified == null)
  8783. return;
  8784. result.addFirst$1(H.setRuntimeTypeInfo([H.setRuntimeTypeInfo([unified, combinator1], [S.ComplexSelectorComponent])], [[P.List, S.ComplexSelectorComponent]]));
  8785. } else
  8786. return;
  8787. }
  8788. }
  8789. }
  8790. return Y._mergeFinalCombinators(components1, components2, result);
  8791. } else if (t1) {
  8792. if (combinator1 === C.Combinator_sgq)
  8793. if (!components2.get$isEmpty(components2)) {
  8794. t1 = H.interceptedTypeCast(components2.get$last(components2), "$isCompoundSelector");
  8795. t2 = H.interceptedTypeCast(components1.get$last(components1), "$isCompoundSelector");
  8796. t1.toString;
  8797. t2 = Y.compoundIsSuperselector(t1, t2, _null);
  8798. t1 = t2;
  8799. } else
  8800. t1 = false;
  8801. else
  8802. t1 = false;
  8803. if (t1)
  8804. components2.removeLast$0(0);
  8805. result.addFirst$1(H.setRuntimeTypeInfo([H.setRuntimeTypeInfo([components1.removeLast$0(0), combinator1], [S.ComplexSelectorComponent])], [[P.List, S.ComplexSelectorComponent]]));
  8806. return Y._mergeFinalCombinators(components1, components2, result);
  8807. } else {
  8808. if (combinator2 === C.Combinator_sgq)
  8809. if (!components1.get$isEmpty(components1)) {
  8810. t1 = H.interceptedTypeCast(components1.get$last(components1), "$isCompoundSelector");
  8811. t2 = H.interceptedTypeCast(components2.get$last(components2), "$isCompoundSelector");
  8812. t1.toString;
  8813. t2 = Y.compoundIsSuperselector(t1, t2, _null);
  8814. t1 = t2;
  8815. } else
  8816. t1 = false;
  8817. else
  8818. t1 = false;
  8819. if (t1)
  8820. components1.removeLast$0(0);
  8821. result.addFirst$1(H.setRuntimeTypeInfo([H.setRuntimeTypeInfo([components2.removeLast$0(0), combinator2], [S.ComplexSelectorComponent])], [[P.List, S.ComplexSelectorComponent]]));
  8822. return Y._mergeFinalCombinators(components1, components2, result);
  8823. }
  8824. },
  8825. _mustUnify: function(complex1, complex2) {
  8826. var t2, t3, t4,
  8827. t1 = P.LinkedHashSet_LinkedHashSet(M.SimpleSelector);
  8828. for (t2 = J.get$iterator$ax(complex1); t2.moveNext$0();) {
  8829. t3 = t2.get$current(t2);
  8830. if (t3 instanceof X.CompoundSelector)
  8831. for (t3 = C.JSArray_methods.get$iterator(t3.components), t4 = new H.WhereIterator(t3, Y.functions___isUnique$closure()); t4.moveNext$0();)
  8832. t1.add$1(0, t3.get$current(t3));
  8833. }
  8834. if (t1._collection$_length === 0)
  8835. return false;
  8836. return J.any$1$ax(complex2, new Y._mustUnify_closure(t1));
  8837. },
  8838. _isUnique: function(simple) {
  8839. var t1 = J.getInterceptor$(simple);
  8840. if (!t1.$isIDSelector)
  8841. t1 = !!t1.$isPseudoSelector && !simple.isClass;
  8842. else
  8843. t1 = true;
  8844. return t1;
  8845. },
  8846. _chunks: function(queue1, queue2, done, $T) {
  8847. var chunk2, t2, t3, _i,
  8848. t1 = [$T],
  8849. chunk1 = H.setRuntimeTypeInfo([], t1);
  8850. for (; !done.call$1(queue1);)
  8851. chunk1.push(queue1.removeFirst$0());
  8852. chunk2 = H.setRuntimeTypeInfo([], t1);
  8853. for (; !done.call$1(queue2);)
  8854. chunk2.push(queue2.removeFirst$0());
  8855. t2 = chunk1.length === 0;
  8856. if (t2 && chunk2.length === 0)
  8857. return H.setRuntimeTypeInfo([], [[P.List, $T]]);
  8858. if (t2)
  8859. return H.setRuntimeTypeInfo([chunk2], [[P.List, $T]]);
  8860. if (chunk2.length === 0)
  8861. return H.setRuntimeTypeInfo([chunk1], [[P.List, $T]]);
  8862. t2 = H.setRuntimeTypeInfo([], t1);
  8863. for (t3 = chunk1.length, _i = 0; _i < chunk1.length; chunk1.length === t3 || (0, H.throwConcurrentModificationError)(chunk1), ++_i)
  8864. t2.push(chunk1[_i]);
  8865. for (t3 = chunk2.length, _i = 0; _i < chunk2.length; chunk2.length === t3 || (0, H.throwConcurrentModificationError)(chunk2), ++_i)
  8866. t2.push(chunk2[_i]);
  8867. t1 = H.setRuntimeTypeInfo([], t1);
  8868. for (t3 = chunk2.length, _i = 0; _i < chunk2.length; chunk2.length === t3 || (0, H.throwConcurrentModificationError)(chunk2), ++_i)
  8869. t1.push(chunk2[_i]);
  8870. for (t3 = chunk1.length, _i = 0; _i < chunk1.length; chunk1.length === t3 || (0, H.throwConcurrentModificationError)(chunk1), ++_i)
  8871. t1.push(chunk1[_i]);
  8872. return H.setRuntimeTypeInfo([t2, t1], [[P.List, $T]]);
  8873. },
  8874. paths: function(choices, $T) {
  8875. return J.fold$2$ax(choices, H.setRuntimeTypeInfo([H.setRuntimeTypeInfo([], [$T])], [[P.List, $T]]), new Y.paths_closure($T));
  8876. },
  8877. _groupSelectors: function(complex) {
  8878. var t1, group, t2,
  8879. groups = Q.QueueList$(null, [P.List, S.ComplexSelectorComponent]),
  8880. iterator = P._ListQueueIterator$(complex);
  8881. iterator.moveNext$0();
  8882. for (t1 = [S.ComplexSelectorComponent]; iterator._collection$_current != null;) {
  8883. group = H.setRuntimeTypeInfo([], t1);
  8884. do {
  8885. group.push(iterator._collection$_current);
  8886. if (iterator.moveNext$0())
  8887. t2 = iterator._collection$_current instanceof S.Combinator || C.JSArray_methods.get$last(group) instanceof S.Combinator;
  8888. else
  8889. t2 = false;
  8890. } while (t2);
  8891. groups._queue_list$_add$1(group);
  8892. }
  8893. return groups;
  8894. },
  8895. _hasRoot: function(compound) {
  8896. return C.JSArray_methods.any$1(compound.components, new Y._hasRoot_closure());
  8897. },
  8898. listIsSuperslector: function(list1, list2) {
  8899. return C.JSArray_methods.every$1(list2, new Y.listIsSuperslector_closure(list1));
  8900. },
  8901. complexIsParentSuperselector: function(complex1, complex2) {
  8902. var t2, base, t3, t4,
  8903. t1 = J.getInterceptor$ax(complex1);
  8904. if (t1.get$first(complex1) instanceof S.Combinator)
  8905. return false;
  8906. t2 = J.getInterceptor$ax(complex2);
  8907. if (t2.get$first(complex2) instanceof S.Combinator)
  8908. return false;
  8909. if (t1.get$length(complex1) > t2.get$length(complex2))
  8910. return false;
  8911. base = X.CompoundSelector$(H.setRuntimeTypeInfo([new N.PlaceholderSelector("<temp>")], [M.SimpleSelector]));
  8912. t3 = [S.ComplexSelectorComponent];
  8913. t4 = H.setRuntimeTypeInfo([], t3);
  8914. for (t1 = t1.get$iterator(complex1); t1.moveNext$0();)
  8915. t4.push(t1.get$current(t1));
  8916. t4.push(base);
  8917. t1 = H.setRuntimeTypeInfo([], t3);
  8918. for (t2 = t2.get$iterator(complex2); t2.moveNext$0();)
  8919. t1.push(t2.get$current(t2));
  8920. t1.push(base);
  8921. return Y.complexIsSuperselector(t4, t1);
  8922. },
  8923. complexIsSuperselector: function(complex1, complex2) {
  8924. var t1, i1, i2, remaining1, remaining2, t2, afterSuperselector, afterSuperselector0, t3, compound2, i10, combinator1, combinator2;
  8925. if (C.JSArray_methods.get$last(complex1) instanceof S.Combinator)
  8926. return false;
  8927. if (C.JSArray_methods.get$last(complex2) instanceof S.Combinator)
  8928. return false;
  8929. for (t1 = H.getTypeArgumentByIndex(complex2, 0), i1 = 0, i2 = 0; true;) {
  8930. remaining1 = complex1.length - i1;
  8931. remaining2 = complex2.length - i2;
  8932. if (remaining1 === 0 || remaining2 === 0)
  8933. return false;
  8934. if (remaining1 > remaining2)
  8935. return false;
  8936. t2 = complex1[i1];
  8937. if (t2 instanceof S.Combinator)
  8938. return false;
  8939. if (complex2[i2] instanceof S.Combinator)
  8940. return false;
  8941. H.interceptedTypeCast(t2, "$isCompoundSelector");
  8942. if (remaining1 === 1)
  8943. return Y.compoundIsSuperselector(t2, H.interceptedTypeCast(C.JSArray_methods.get$last(complex2), "$isCompoundSelector"), H.SubListIterable$(complex2, i2 + 1, null, t1));
  8944. afterSuperselector = i2 + 1;
  8945. for (afterSuperselector0 = afterSuperselector; afterSuperselector0 < complex2.length; ++afterSuperselector0) {
  8946. t3 = afterSuperselector0 - 1;
  8947. compound2 = complex2[t3];
  8948. if (compound2 instanceof X.CompoundSelector)
  8949. if (Y.compoundIsSuperselector(t2, compound2, H.SubListIterable$(complex2, 0, t3, t1).skip$1(0, afterSuperselector)))
  8950. break;
  8951. }
  8952. if (afterSuperselector0 === complex2.length)
  8953. return false;
  8954. i10 = i1 + 1;
  8955. combinator1 = complex1[i10];
  8956. combinator2 = complex2[afterSuperselector0];
  8957. if (combinator1 instanceof S.Combinator) {
  8958. if (!(combinator2 instanceof S.Combinator))
  8959. return false;
  8960. if (combinator1 === C.Combinator_CzM) {
  8961. if (combinator2 === C.Combinator_sgq)
  8962. return false;
  8963. } else if (combinator2 !== combinator1)
  8964. return false;
  8965. if (remaining1 === 3 && remaining2 > 3)
  8966. return false;
  8967. i1 += 2;
  8968. i2 = afterSuperselector0 + 1;
  8969. } else {
  8970. if (combinator2 instanceof S.Combinator) {
  8971. if (combinator2 !== C.Combinator_sgq)
  8972. return false;
  8973. i2 = afterSuperselector0 + 1;
  8974. } else
  8975. i2 = afterSuperselector0;
  8976. i1 = i10;
  8977. }
  8978. }
  8979. },
  8980. compoundIsSuperselector: function(compound1, compound2, parents) {
  8981. var t1, t2, _i, simple1, simple2;
  8982. for (t1 = compound1.components, t2 = t1.length, _i = 0; _i < t2; ++_i) {
  8983. simple1 = t1[_i];
  8984. if (simple1 instanceof D.PseudoSelector && simple1.selector != null) {
  8985. if (!Y._selectorPseudoIsSuperselector(simple1, compound2, parents))
  8986. return false;
  8987. } else if (!Y._simpleIsSuperselectorOfCompound(simple1, compound2))
  8988. return false;
  8989. }
  8990. for (t1 = compound2.components, t2 = t1.length, _i = 0; _i < t2; ++_i) {
  8991. simple2 = t1[_i];
  8992. if (simple2 instanceof D.PseudoSelector && !simple2.isClass && !Y._simpleIsSuperselectorOfCompound(simple2, compound1))
  8993. return false;
  8994. }
  8995. return true;
  8996. },
  8997. _simpleIsSuperselectorOfCompound: function(simple, compound) {
  8998. return C.JSArray_methods.any$1(compound.components, new Y._simpleIsSuperselectorOfCompound_closure(simple));
  8999. },
  9000. _selectorPseudoIsSuperselector: function(pseudo1, compound2, parents) {
  9001. switch (pseudo1.normalizedName) {
  9002. case "matches":
  9003. case "any":
  9004. return Y._selectorPseudosNamed(compound2, pseudo1.name).any$1(0, new Y._selectorPseudoIsSuperselector_closure(pseudo1)) || C.JSArray_methods.any$1(pseudo1.selector.components, new Y._selectorPseudoIsSuperselector_closure0(parents, compound2));
  9005. case "has":
  9006. case "host":
  9007. case "host-context":
  9008. case "slotted":
  9009. return Y._selectorPseudosNamed(compound2, pseudo1.name).any$1(0, new Y._selectorPseudoIsSuperselector_closure1(pseudo1));
  9010. case "not":
  9011. return C.JSArray_methods.every$1(pseudo1.selector.components, new Y._selectorPseudoIsSuperselector_closure2(compound2, pseudo1));
  9012. case "current":
  9013. return Y._selectorPseudosNamed(compound2, "current").any$1(0, new Y._selectorPseudoIsSuperselector_closure3(pseudo1));
  9014. case "nth-child":
  9015. case "nth-last-child":
  9016. return C.JSArray_methods.any$1(compound2.components, new Y._selectorPseudoIsSuperselector_closure4(pseudo1));
  9017. default:
  9018. throw H.wrapException("unreachable");
  9019. }
  9020. },
  9021. _selectorPseudosNamed: function(compound, $name) {
  9022. var t1 = D.PseudoSelector;
  9023. return new H.WhereIterable(new H.WhereTypeIterable(compound.components, [t1]), new Y._selectorPseudosNamed_closure($name), [t1]);
  9024. },
  9025. unifyComplex_closure: function unifyComplex_closure() {
  9026. },
  9027. _weaveParents_closure: function _weaveParents_closure() {
  9028. },
  9029. _weaveParents_closure0: function _weaveParents_closure0(t0) {
  9030. this.group = t0;
  9031. },
  9032. _weaveParents_closure1: function _weaveParents_closure1() {
  9033. },
  9034. _weaveParents__closure1: function _weaveParents__closure1() {
  9035. },
  9036. _weaveParents_closure2: function _weaveParents_closure2() {
  9037. },
  9038. _weaveParents_closure3: function _weaveParents_closure3() {
  9039. },
  9040. _weaveParents__closure0: function _weaveParents__closure0() {
  9041. },
  9042. _weaveParents_closure4: function _weaveParents_closure4() {
  9043. },
  9044. _weaveParents_closure5: function _weaveParents_closure5() {
  9045. },
  9046. _weaveParents__closure: function _weaveParents__closure() {
  9047. },
  9048. _mustUnify_closure: function _mustUnify_closure(t0) {
  9049. this.uniqueSelectors = t0;
  9050. },
  9051. _mustUnify__closure: function _mustUnify__closure(t0) {
  9052. this.uniqueSelectors = t0;
  9053. },
  9054. paths_closure: function paths_closure(t0) {
  9055. this.T = t0;
  9056. },
  9057. paths__closure: function paths__closure(t0, t1) {
  9058. this.paths = t0;
  9059. this.T = t1;
  9060. },
  9061. paths___closure: function paths___closure(t0, t1) {
  9062. this.option = t0;
  9063. this.T = t1;
  9064. },
  9065. _hasRoot_closure: function _hasRoot_closure() {
  9066. },
  9067. listIsSuperslector_closure: function listIsSuperslector_closure(t0) {
  9068. this.list1 = t0;
  9069. },
  9070. listIsSuperslector__closure: function listIsSuperslector__closure(t0) {
  9071. this.complex1 = t0;
  9072. },
  9073. _simpleIsSuperselectorOfCompound_closure: function _simpleIsSuperselectorOfCompound_closure(t0) {
  9074. this.simple = t0;
  9075. },
  9076. _simpleIsSuperselectorOfCompound__closure: function _simpleIsSuperselectorOfCompound__closure(t0) {
  9077. this.simple = t0;
  9078. },
  9079. _selectorPseudoIsSuperselector_closure: function _selectorPseudoIsSuperselector_closure(t0) {
  9080. this.pseudo1 = t0;
  9081. },
  9082. _selectorPseudoIsSuperselector_closure0: function _selectorPseudoIsSuperselector_closure0(t0, t1) {
  9083. this.parents = t0;
  9084. this.compound2 = t1;
  9085. },
  9086. _selectorPseudoIsSuperselector_closure1: function _selectorPseudoIsSuperselector_closure1(t0) {
  9087. this.pseudo1 = t0;
  9088. },
  9089. _selectorPseudoIsSuperselector_closure2: function _selectorPseudoIsSuperselector_closure2(t0, t1) {
  9090. this.compound2 = t0;
  9091. this.pseudo1 = t1;
  9092. },
  9093. _selectorPseudoIsSuperselector__closure: function _selectorPseudoIsSuperselector__closure(t0, t1) {
  9094. this.complex = t0;
  9095. this.pseudo1 = t1;
  9096. },
  9097. _selectorPseudoIsSuperselector___closure: function _selectorPseudoIsSuperselector___closure(t0) {
  9098. this.simple2 = t0;
  9099. },
  9100. _selectorPseudoIsSuperselector___closure0: function _selectorPseudoIsSuperselector___closure0(t0) {
  9101. this.simple2 = t0;
  9102. },
  9103. _selectorPseudoIsSuperselector_closure3: function _selectorPseudoIsSuperselector_closure3(t0) {
  9104. this.pseudo1 = t0;
  9105. },
  9106. _selectorPseudoIsSuperselector_closure4: function _selectorPseudoIsSuperselector_closure4(t0) {
  9107. this.pseudo1 = t0;
  9108. },
  9109. _selectorPseudosNamed_closure: function _selectorPseudosNamed_closure(t0) {
  9110. this.name = t0;
  9111. },
  9112. closure37: function closure37() {
  9113. },
  9114. Chokidar: function Chokidar() {
  9115. },
  9116. ChokidarOptions: function ChokidarOptions() {
  9117. },
  9118. ChokidarWatcher: function ChokidarWatcher() {
  9119. },
  9120. SourceFile$decoded: function(decodedChars, url) {
  9121. var t1 = H.setRuntimeTypeInfo([0], [P.int]),
  9122. t2 = typeof url === "string" ? P.Uri_parse(url) : url;
  9123. t1 = new Y.SourceFile(t2, t1, new Uint32Array(H._ensureNativeList(J.toList$0$ax(decodedChars))));
  9124. t1.SourceFile$decoded$2$url(decodedChars, url);
  9125. return t1;
  9126. },
  9127. FileLocation$_: function(file, offset) {
  9128. if (offset < 0)
  9129. H.throwExpression(P.RangeError$("Offset may not be negative, was " + H.S(offset) + "."));
  9130. else if (offset > file._decodedChars.length)
  9131. H.throwExpression(P.RangeError$("Offset " + H.S(offset) + " must not be greater than the number of characters in the file, " + file.get$length(file) + "."));
  9132. return new Y.FileLocation(file, offset);
  9133. },
  9134. _FileSpan$: function(file, _start, _end) {
  9135. if (_end < _start)
  9136. H.throwExpression(P.ArgumentError$("End " + H.S(_end) + " must come after start " + H.S(_start) + "."));
  9137. else if (_end > file._decodedChars.length)
  9138. H.throwExpression(P.RangeError$("End " + H.S(_end) + " must not be greater than the number of characters in the file, " + file.get$length(file) + "."));
  9139. else if (_start < 0)
  9140. H.throwExpression(P.RangeError$("Start may not be negative, was " + H.S(_start) + "."));
  9141. return new Y._FileSpan(file, _start, _end);
  9142. },
  9143. SourceFile: function SourceFile(t0, t1, t2) {
  9144. var _ = this;
  9145. _.url = t0;
  9146. _._lineStarts = t1;
  9147. _._decodedChars = t2;
  9148. _._cachedLine = null;
  9149. },
  9150. FileLocation: function FileLocation(t0, t1) {
  9151. this.file = t0;
  9152. this.offset = t1;
  9153. },
  9154. FileSpan: function FileSpan() {
  9155. },
  9156. _FileSpan: function _FileSpan(t0, t1, t2) {
  9157. this.file = t0;
  9158. this._start = t1;
  9159. this._end = t2;
  9160. },
  9161. SourceSpanMixin: function SourceSpanMixin() {
  9162. },
  9163. Trace_Trace$from: function(trace) {
  9164. if (trace == null)
  9165. throw H.wrapException(P.ArgumentError$("Cannot create a Trace from null."));
  9166. if (!!trace.$isTrace)
  9167. return trace;
  9168. if (!!trace.$isChain)
  9169. return trace.toTrace$0();
  9170. return new T.LazyTrace(new Y.Trace_Trace$from_closure(trace));
  9171. },
  9172. Trace_Trace$parse: function(trace) {
  9173. var error, t1, exception;
  9174. try {
  9175. if (trace.length === 0) {
  9176. t1 = A.Frame;
  9177. t1 = P.List_List$unmodifiable(H.setRuntimeTypeInfo([], [t1]), t1);
  9178. return new Y.Trace(t1, new P._StringStackTrace(null));
  9179. }
  9180. if (J.getInterceptor$asx(trace).contains$1(trace, $.$get$_v8Trace())) {
  9181. t1 = Y.Trace$parseV8(trace);
  9182. return t1;
  9183. }
  9184. if (C.JSString_methods.contains$1(trace, "\tat ")) {
  9185. t1 = Y.Trace$parseJSCore(trace);
  9186. return t1;
  9187. }
  9188. if (C.JSString_methods.contains$1(trace, $.$get$_firefoxSafariTrace())) {
  9189. t1 = Y.Trace$parseFirefox(trace);
  9190. return t1;
  9191. }
  9192. if (C.JSString_methods.contains$1(trace, "===== asynchronous gap ===========================\n")) {
  9193. t1 = U.Chain_Chain$parse(trace).toTrace$0();
  9194. return t1;
  9195. }
  9196. if (C.JSString_methods.contains$1(trace, $.$get$_friendlyTrace())) {
  9197. t1 = Y.Trace$parseFriendly(trace);
  9198. return t1;
  9199. }
  9200. t1 = P.List_List$unmodifiable(Y.Trace__parseVM(trace), A.Frame);
  9201. return new Y.Trace(t1, new P._StringStackTrace(trace));
  9202. } catch (exception) {
  9203. t1 = H.unwrapException(exception);
  9204. if (!!J.getInterceptor$(t1).$isFormatException) {
  9205. error = t1;
  9206. throw H.wrapException(P.FormatException$(H.S(J.get$message$x(error)) + "\nStack trace:\n" + H.S(trace), null, null));
  9207. } else
  9208. throw exception;
  9209. }
  9210. },
  9211. Trace__parseVM: function(trace) {
  9212. var $frames,
  9213. t1 = J.trim$0$s(trace),
  9214. lines = H.setRuntimeTypeInfo(H.stringReplaceAllUnchecked(t1, "<asynchronous suspension>\n", "").split("\n"), [P.String]);
  9215. t1 = H.SubListIterable$(lines, 0, lines.length - 1, H.getTypeArgumentByIndex(lines, 0));
  9216. $frames = new H.MappedListIterable(t1, new Y.Trace__parseVM_closure(), [H.getTypeArgumentByIndex(t1, 0), A.Frame]).toList$0(0);
  9217. if (!J.endsWith$1$s(C.JSArray_methods.get$last(lines), ".da"))
  9218. C.JSArray_methods.add$1($frames, A.Frame_Frame$parseVM(C.JSArray_methods.get$last(lines)));
  9219. return $frames;
  9220. },
  9221. Trace$parseV8: function(trace) {
  9222. var t2,
  9223. t1 = H.setRuntimeTypeInfo(trace.split("\n"), [P.String]);
  9224. t1 = H.SubListIterable$(t1, 1, null, H.getTypeArgumentByIndex(t1, 0)).super$Iterable$skipWhile(0, new Y.Trace$parseV8_closure());
  9225. t2 = A.Frame;
  9226. return new Y.Trace(P.List_List$unmodifiable(H.MappedIterable_MappedIterable(t1, new Y.Trace$parseV8_closure0(), H.getTypeArgumentByIndex(t1, 0), t2), t2), new P._StringStackTrace(trace));
  9227. },
  9228. Trace$parseJSCore: function(trace) {
  9229. var t1 = H.setRuntimeTypeInfo(trace.split("\n"), [P.String]),
  9230. t2 = H.getTypeArgumentByIndex(t1, 0),
  9231. t3 = A.Frame;
  9232. return new Y.Trace(P.List_List$unmodifiable(new H.MappedIterable(new H.WhereIterable(t1, new Y.Trace$parseJSCore_closure(), [t2]), new Y.Trace$parseJSCore_closure0(), [t2, t3]), t3), new P._StringStackTrace(trace));
  9233. },
  9234. Trace$parseFirefox: function(trace) {
  9235. var t1 = H.setRuntimeTypeInfo(C.JSString_methods.trim$0(trace).split("\n"), [P.String]),
  9236. t2 = H.getTypeArgumentByIndex(t1, 0),
  9237. t3 = A.Frame;
  9238. return new Y.Trace(P.List_List$unmodifiable(new H.MappedIterable(new H.WhereIterable(t1, new Y.Trace$parseFirefox_closure(), [t2]), new Y.Trace$parseFirefox_closure0(), [t2, t3]), t3), new P._StringStackTrace(trace));
  9239. },
  9240. Trace$parseFriendly: function(trace) {
  9241. var t2, t3,
  9242. t1 = A.Frame;
  9243. if (trace.length === 0)
  9244. t2 = H.setRuntimeTypeInfo([], [t1]);
  9245. else {
  9246. t2 = H.setRuntimeTypeInfo(J.trim$0$s(trace).split("\n"), [P.String]);
  9247. t3 = H.getTypeArgumentByIndex(t2, 0);
  9248. t3 = new H.MappedIterable(new H.WhereIterable(t2, new Y.Trace$parseFriendly_closure(), [t3]), new Y.Trace$parseFriendly_closure0(), [t3, t1]);
  9249. t2 = t3;
  9250. }
  9251. return new Y.Trace(P.List_List$unmodifiable(t2, t1), new P._StringStackTrace(trace));
  9252. },
  9253. Trace: function Trace(t0, t1) {
  9254. this.frames = t0;
  9255. this.original = t1;
  9256. },
  9257. Trace_Trace$from_closure: function Trace_Trace$from_closure(t0) {
  9258. this.trace = t0;
  9259. },
  9260. Trace__parseVM_closure: function Trace__parseVM_closure() {
  9261. },
  9262. Trace$parseV8_closure: function Trace$parseV8_closure() {
  9263. },
  9264. Trace$parseV8_closure0: function Trace$parseV8_closure0() {
  9265. },
  9266. Trace$parseJSCore_closure: function Trace$parseJSCore_closure() {
  9267. },
  9268. Trace$parseJSCore_closure0: function Trace$parseJSCore_closure0() {
  9269. },
  9270. Trace$parseFirefox_closure: function Trace$parseFirefox_closure() {
  9271. },
  9272. Trace$parseFirefox_closure0: function Trace$parseFirefox_closure0() {
  9273. },
  9274. Trace$parseFriendly_closure: function Trace$parseFriendly_closure() {
  9275. },
  9276. Trace$parseFriendly_closure0: function Trace$parseFriendly_closure0() {
  9277. },
  9278. Trace_terse_closure: function Trace_terse_closure() {
  9279. },
  9280. Trace_foldFrames_closure: function Trace_foldFrames_closure(t0) {
  9281. this.oldPredicate = t0;
  9282. },
  9283. Trace_foldFrames_closure0: function Trace_foldFrames_closure0(t0) {
  9284. this._box_0 = t0;
  9285. },
  9286. Trace_toString_closure0: function Trace_toString_closure0() {
  9287. },
  9288. Trace_toString_closure: function Trace_toString_closure(t0) {
  9289. this.longest = t0;
  9290. },
  9291. repl: function(options) {
  9292. return Y.repl$body(options);
  9293. },
  9294. repl$body: function(options) {
  9295. var $async$goto = 0,
  9296. $async$completer = P._makeAsyncAwaitCompleter(-1),
  9297. $async$handler = 1, $async$currentError, $async$next = [], repl, variables, line, logger, declaration, expression, result, error, stackTrace, t5, t6, t7, t8, line0, exception, t1, t2, t3, t4, repl0;
  9298. var $async$repl = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  9299. if ($async$errorCode === 1) {
  9300. $async$currentError = $async$result;
  9301. $async$goto = $async$handler;
  9302. }
  9303. while (true)
  9304. switch ($async$goto) {
  9305. case 0:
  9306. // Function start
  9307. t1 = P.String;
  9308. t2 = H.setRuntimeTypeInfo([], [t1]);
  9309. t3 = C.JSString_methods.$mul(" ", 3);
  9310. t4 = $.$get$alwaysValid();
  9311. repl0 = new Q.Repl(">> ", t3, t4, t2);
  9312. repl0._adapter = new B.ReplAdapter(repl0);
  9313. repl = repl0;
  9314. variables = P.LinkedHashMap_LinkedHashMap$_empty(t1, F.Value);
  9315. t2 = P._StreamIterator$(repl._adapter.runAsync$0());
  9316. $async$handler = 2;
  9317. t3 = Z.VariableDeclaration, t4 = [P.int];
  9318. case 5:
  9319. // for condition
  9320. $async$goto = 7;
  9321. return P._asyncAwait(t2.moveNext$0(), $async$repl);
  9322. case 7:
  9323. // returning from await.
  9324. if (!$async$result) {
  9325. // goto after for
  9326. $async$goto = 6;
  9327. break;
  9328. }
  9329. line = t2.get$current(t2);
  9330. if (J.trim$0$s(line).length === 0) {
  9331. // goto for condition
  9332. $async$goto = 5;
  9333. break;
  9334. }
  9335. t5 = options._options;
  9336. if (H.boolTypeCast(t5.$index(0, "quiet")))
  9337. t5 = $.$get$Logger_quiet();
  9338. else {
  9339. if (t5._parser.options._collection$_map.$index(0, "color") == null)
  9340. H.throwExpression(P.ArgumentError$('Could not find an option named "color".'));
  9341. if (t5._parsed.containsKey$1("color"))
  9342. t5 = H.boolTypeCast(t5.$index(0, "color"));
  9343. else {
  9344. t5 = self.process.stdout.isTTY;
  9345. if (t5 == null)
  9346. t5 = false;
  9347. }
  9348. t5 = new S.StderrLogger(t5);
  9349. }
  9350. logger = new T.TrackingLogger(t5);
  9351. try {
  9352. declaration = null;
  9353. expression = null;
  9354. t5 = line;
  9355. t5.toString;
  9356. t6 = new H.CodeUnits(t5);
  9357. t7 = H.setRuntimeTypeInfo([0], t4);
  9358. t7 = new Y.SourceFile(null, t7, new Uint32Array(H._ensureNativeList(t6.toList$0(t6))));
  9359. t7.SourceFile$decoded$2$url(t6, null);
  9360. if (new G.Parser(new S.SpanScanner(t7, null, t5), C.StderrLogger_false)._isVariableDeclarationLike$0()) {
  9361. t5 = line;
  9362. t6 = logger;
  9363. t5.toString;
  9364. t7 = new H.CodeUnits(t5);
  9365. t8 = H.setRuntimeTypeInfo([0], t4);
  9366. t8 = new Y.SourceFile(null, t8, new Uint32Array(H._ensureNativeList(t7.toList$0(t7))));
  9367. t8.SourceFile$decoded$2$url(t7, null);
  9368. if (t6 == null)
  9369. t6 = C.StderrLogger_false;
  9370. declaration = new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(t1, t3), new S.SpanScanner(t8, null, t5), t6).parseVariableDeclaration$0();
  9371. expression = declaration.expression;
  9372. } else {
  9373. t5 = line;
  9374. t6 = logger;
  9375. t5.toString;
  9376. t7 = new H.CodeUnits(t5);
  9377. t8 = H.setRuntimeTypeInfo([0], t4);
  9378. t8 = new Y.SourceFile(null, t8, new Uint32Array(H._ensureNativeList(t7.toList$0(t7))));
  9379. t8.SourceFile$decoded$2$url(t7, null);
  9380. if (t6 == null)
  9381. t6 = C.StderrLogger_false;
  9382. expression = new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(t1, t3), new S.SpanScanner(t8, null, t5), t6).parseExpression$0();
  9383. }
  9384. t5 = expression;
  9385. result = R._EvaluateVisitor$(null, null, logger, null, false).runExpression$2$variables(t5, variables);
  9386. if (declaration != null)
  9387. J.$indexSet$ax(variables, declaration.name, result);
  9388. line0 = H.S(result);
  9389. t5 = $.printToZone;
  9390. if (t5 == null)
  9391. H.printString(line0);
  9392. else
  9393. t5.call$1(line0);
  9394. } catch (exception) {
  9395. t5 = H.unwrapException(exception);
  9396. if (t5 instanceof E.SassException) {
  9397. error = t5;
  9398. stackTrace = H.getTraceFromException(exception);
  9399. Y._logError(error, stackTrace, line, repl, options, logger);
  9400. } else
  9401. throw exception;
  9402. }
  9403. // goto for condition
  9404. $async$goto = 5;
  9405. break;
  9406. case 6:
  9407. // after for
  9408. $async$next.push(4);
  9409. // goto finally
  9410. $async$goto = 3;
  9411. break;
  9412. case 2:
  9413. // uncaught
  9414. $async$next = [1];
  9415. case 3:
  9416. // finally
  9417. $async$handler = 1;
  9418. $async$goto = 8;
  9419. return P._asyncAwait(t2.cancel$0(), $async$repl);
  9420. case 8:
  9421. // returning from await.
  9422. // goto the next finally handler
  9423. $async$goto = $async$next.pop();
  9424. break;
  9425. case 4:
  9426. // after finally
  9427. // implicit return
  9428. return P._asyncReturn(null, $async$completer);
  9429. case 1:
  9430. // rethrow
  9431. return P._asyncRethrow($async$currentError, $async$completer);
  9432. }
  9433. });
  9434. return P._asyncStartSync($async$repl, $async$completer);
  9435. },
  9436. _logError: function(error, stackTrace, line, repl, options, logger) {
  9437. var t2, t3, spacesBeforeError,
  9438. t1 = options._options;
  9439. if (!H.boolTypeCast(t1.$index(0, "quiet")))
  9440. t2 = logger._emittedDebug || logger._emittedWarning;
  9441. else
  9442. t2 = false;
  9443. if (t2) {
  9444. P.print("Error: " + H.S(error._span_exception$_message));
  9445. P.print(G.SourceSpanException.prototype.get$span.call(error).highlight$1$color(options.get$color()));
  9446. return;
  9447. }
  9448. t2 = options.get$color() ? "\x1b[31m" : "";
  9449. t3 = G.SourceSpanException.prototype.get$span.call(error);
  9450. t3 = Y.FileLocation$_(t3.file, t3._start);
  9451. spacesBeforeError = repl.prompt.length + t3.file.getColumn$1(t3.offset);
  9452. if (options.get$color()) {
  9453. t3 = G.SourceSpanException.prototype.get$span.call(error);
  9454. t3 = Y.FileLocation$_(t3.file, t3._start);
  9455. t3 = t3.file.getColumn$1(t3.offset) < line.length;
  9456. } else
  9457. t3 = false;
  9458. if (t3) {
  9459. t2 += "\x1b[1F\x1b[" + spacesBeforeError + "C";
  9460. t3 = G.SourceSpanException.prototype.get$span.call(error);
  9461. t3 = t2 + (P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(t3.file._decodedChars, t3._start, t3._end), 0, null) + "\n");
  9462. t2 = t3;
  9463. }
  9464. t2 += C.JSString_methods.$mul(" ", spacesBeforeError);
  9465. t3 = G.SourceSpanException.prototype.get$span.call(error);
  9466. t3 = t2 + (C.JSString_methods.$mul("^", Math.max(1, t3._end - t3._start)) + "\n");
  9467. t2 = options.get$color() ? t3 + "\x1b[0m" : t3;
  9468. t2 += "Error: " + H.S(error._span_exception$_message) + "\n";
  9469. t1 = H.boolTypeCast(t1.$index(0, "trace")) ? t2 + Y.Trace_Trace$from(stackTrace).get$terse().toString$0(0) : t2;
  9470. P.print(C.JSString_methods.trimRight$0(t1.charCodeAt(0) == 0 ? t1 : t1));
  9471. }
  9472. },
  9473. L = {StreamGroup: function StreamGroup(t0, t1, t2) {
  9474. var _ = this;
  9475. _._controller = null;
  9476. _._closed = false;
  9477. _._stream_group$_state = t0;
  9478. _._subscriptions = t1;
  9479. _.$ti = t2;
  9480. }, StreamGroup_add_closure: function StreamGroup_add_closure() {
  9481. }, StreamGroup_add_closure0: function StreamGroup_add_closure0(t0, t1) {
  9482. this.$this = t0;
  9483. this.stream = t1;
  9484. }, StreamGroup__onListen_closure: function StreamGroup__onListen_closure(t0) {
  9485. this.$this = t0;
  9486. }, StreamGroup__onCancel_closure: function StreamGroup__onCancel_closure() {
  9487. }, StreamGroup__onCancel_closure0: function StreamGroup__onCancel_closure0() {
  9488. }, StreamGroup__listenToStream_closure: function StreamGroup__listenToStream_closure(t0, t1) {
  9489. this.$this = t0;
  9490. this.stream = t1;
  9491. }, _StreamGroupState: function _StreamGroupState(t0) {
  9492. this.name = t0;
  9493. },
  9494. UnmodifiableSetMixin__throw: function() {
  9495. throw H.wrapException(P.UnsupportedError$("Cannot modify an unmodifiable Set"));
  9496. },
  9497. UnmodifiableSetView: function UnmodifiableSetView(t0, t1) {
  9498. this._base = t0;
  9499. this.$ti = t1;
  9500. },
  9501. UnmodifiableSetMixin: function UnmodifiableSetMixin() {
  9502. },
  9503. _UnmodifiableSetView_DelegatingSet_UnmodifiableSetMixin: function _UnmodifiableSetView_DelegatingSet_UnmodifiableSetMixin() {
  9504. },
  9505. WindowsStyle: function WindowsStyle(t0, t1, t2, t3) {
  9506. var _ = this;
  9507. _.separatorPattern = t0;
  9508. _.needsSeparatorPattern = t1;
  9509. _.rootPattern = t2;
  9510. _.relativeRootPattern = t3;
  9511. },
  9512. WindowsStyle_absolutePathToUri_closure: function WindowsStyle_absolutePathToUri_closure() {
  9513. },
  9514. ModifiableCssDeclaration$: function($name, value, span, valueSpanForMap) {
  9515. return new L.ModifiableCssDeclaration($name, value, valueSpanForMap == null ? span : valueSpanForMap, span);
  9516. },
  9517. ModifiableCssDeclaration: function ModifiableCssDeclaration(t0, t1, t2, t3) {
  9518. var _ = this;
  9519. _.name = t0;
  9520. _.value = t1;
  9521. _.valueSpanForMap = t2;
  9522. _.span = t3;
  9523. _._indexInParent = _._parent = null;
  9524. _.isGroupEnd = false;
  9525. },
  9526. IfExpression: function IfExpression(t0, t1) {
  9527. this.$arguments = t0;
  9528. this.span = t1;
  9529. },
  9530. Declaration$: function($name, span, children, value) {
  9531. var t1;
  9532. children = children == null ? null : P.List_List$unmodifiable(children, O.Statement);
  9533. t1 = children == null ? null : C.JSArray_methods.any$1(children, new M.ParentStatement_closure());
  9534. return new L.Declaration($name, value, span, children, t1 === true);
  9535. },
  9536. Declaration: function Declaration(t0, t1, t2, t3, t4) {
  9537. var _ = this;
  9538. _.name = t0;
  9539. _.value = t1;
  9540. _.span = t2;
  9541. _.children = t3;
  9542. _.hasDeclarations = t4;
  9543. },
  9544. ForwardRule: function ForwardRule(t0, t1, t2, t3, t4, t5, t6) {
  9545. var _ = this;
  9546. _.url = t0;
  9547. _.shownMixinsAndFunctions = t1;
  9548. _.shownVariables = t2;
  9549. _.hiddenMixinsAndFunctions = t3;
  9550. _.hiddenVariables = t4;
  9551. _.prefix = t5;
  9552. _.span = t6;
  9553. },
  9554. ForwardRule__memberList_closure: function ForwardRule__memberList_closure() {
  9555. },
  9556. LoudComment: function LoudComment(t0) {
  9557. this.text = t0;
  9558. },
  9559. SupportsDeclaration: function SupportsDeclaration(t0, t1, t2) {
  9560. this.name = t0;
  9561. this.value = t1;
  9562. this.span = t2;
  9563. },
  9564. PlainCssCallable: function PlainCssCallable(t0) {
  9565. this.name = t0;
  9566. },
  9567. ExtendMode: function ExtendMode(t0) {
  9568. this.name = t0;
  9569. },
  9570. RenderContextOptions: function RenderContextOptions() {
  9571. },
  9572. ScssParser: function ScssParser(t0, t1, t2) {
  9573. var _ = this;
  9574. _._isUseAllowed = true;
  9575. _._stylesheet$_inMixin = false;
  9576. _._mixinHasContent = null;
  9577. _._inParentheses = _._inStyleRule = _._stylesheet$_inUnknownAtRule = _._inControlDirective = _._inContentBlock = false;
  9578. _._globalVariables = t0;
  9579. _.lastSilentComment = null;
  9580. _.scanner = t1;
  9581. _.logger = t2;
  9582. },
  9583. _FindImportsVisitor: function _FindImportsVisitor(t0) {
  9584. this._imports = t0;
  9585. },
  9586. Entry: function Entry(t0, t1, t2) {
  9587. this.source = t0;
  9588. this.target = t1;
  9589. this.identifierName = t2;
  9590. },
  9591. _StreamTransformer__defaultHandleError: function(error, stackTrace, sink) {
  9592. sink.addError$2(error, stackTrace);
  9593. },
  9594. _StreamTransformer: function _StreamTransformer(t0, t1, t2, t3) {
  9595. var _ = this;
  9596. _._from_handlers$_handleData = t0;
  9597. _._from_handlers$_handleDone = t1;
  9598. _._from_handlers$_handleError = t2;
  9599. _.$ti = t3;
  9600. },
  9601. _StreamTransformer_bind_closure: function _StreamTransformer_bind_closure(t0, t1, t2, t3) {
  9602. var _ = this;
  9603. _._box_1 = t0;
  9604. _.$this = t1;
  9605. _.values = t2;
  9606. _.controller = t3;
  9607. },
  9608. _StreamTransformer_bind__closure: function _StreamTransformer_bind__closure(t0, t1) {
  9609. this.$this = t0;
  9610. this.controller = t1;
  9611. },
  9612. _StreamTransformer_bind__closure1: function _StreamTransformer_bind__closure1(t0, t1) {
  9613. this.$this = t0;
  9614. this.controller = t1;
  9615. },
  9616. _StreamTransformer_bind__closure0: function _StreamTransformer_bind__closure0(t0, t1, t2) {
  9617. this._box_0 = t0;
  9618. this.$this = t1;
  9619. this.controller = t2;
  9620. },
  9621. _StreamTransformer_bind__closure2: function _StreamTransformer_bind__closure2(t0, t1) {
  9622. this._box_1 = t0;
  9623. this._box_0 = t1;
  9624. },
  9625. encodeVlq: function(value) {
  9626. var res, signBit, digit, t1;
  9627. if (value < $.$get$MIN_INT32() || value > $.$get$MAX_INT32())
  9628. throw H.wrapException(P.ArgumentError$("expected 32 bit int, got: " + value));
  9629. res = H.setRuntimeTypeInfo([], [P.String]);
  9630. if (value < 0) {
  9631. value = -value;
  9632. signBit = 1;
  9633. } else
  9634. signBit = 0;
  9635. value = value << 1 | signBit;
  9636. do {
  9637. digit = value & 31;
  9638. value = value >>> 5;
  9639. t1 = value > 0;
  9640. res.push("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[t1 ? digit | 32 : digit]);
  9641. } while (t1);
  9642. return res;
  9643. }
  9644. },
  9645. Q = {Repl: function Repl(t0, t1, t2, t3) {
  9646. var _ = this;
  9647. _.prompt = t0;
  9648. _.continuation = t1;
  9649. _.validator = t2;
  9650. _._adapter = null;
  9651. _.history = t3;
  9652. }, closure130: function closure130() {
  9653. },
  9654. QueueList$: function(initialCapacity, $E) {
  9655. var t1 = new Q.QueueList(0, 0, [$E]);
  9656. t1.QueueList$1(initialCapacity, $E);
  9657. return t1;
  9658. },
  9659. QueueList_QueueList$from: function(source, $E) {
  9660. var $length, queue,
  9661. t1 = J.getInterceptor$(source);
  9662. if (!!t1.$isList) {
  9663. $length = t1.get$length(source);
  9664. queue = Q.QueueList$($length + 1, $E);
  9665. J.setRange$4$ax(queue._table, 0, $length, source, 0);
  9666. queue._tail = $length;
  9667. return queue;
  9668. } else {
  9669. t1 = Q.QueueList$(null, $E);
  9670. t1.addAll$1(0, source);
  9671. return t1;
  9672. }
  9673. },
  9674. QueueList__nextPowerOf2: function(number) {
  9675. var nextNumber;
  9676. number = (number << 1 >>> 0) - 1;
  9677. for (; true; number = nextNumber) {
  9678. nextNumber = (number & number - 1) >>> 0;
  9679. if (nextNumber === 0)
  9680. return number;
  9681. }
  9682. },
  9683. QueueList: function QueueList(t0, t1, t2) {
  9684. var _ = this;
  9685. _._table = null;
  9686. _._head = t0;
  9687. _._tail = t1;
  9688. _.$ti = t2;
  9689. },
  9690. _CastQueueList: function _CastQueueList(t0, t1, t2, t3) {
  9691. var _ = this;
  9692. _._queue_list$_delegate = t0;
  9693. _._table = null;
  9694. _._head = t1;
  9695. _._tail = t2;
  9696. _.$ti = t3;
  9697. },
  9698. _QueueList_Object_ListMixin: function _QueueList_Object_ListMixin() {
  9699. },
  9700. StaticImport: function StaticImport(t0, t1, t2, t3) {
  9701. var _ = this;
  9702. _.url = t0;
  9703. _.supports = t1;
  9704. _.media = t2;
  9705. _.span = t3;
  9706. },
  9707. ContentRule: function ContentRule(t0, t1) {
  9708. this.span = t0;
  9709. this.$arguments = t1;
  9710. },
  9711. DebugRule: function DebugRule(t0, t1) {
  9712. this.expression = t0;
  9713. this.span = t1;
  9714. },
  9715. AsyncEnvironment$_: function(_modules, _globalModules, _forwardedModules, _allModules, _variables, _variableNodes, _functions, _mixins, _content) {
  9716. var t1 = P.String,
  9717. t2 = P.int;
  9718. return new Q.AsyncEnvironment(_modules, _globalModules, _forwardedModules, _allModules, _variables, _variableNodes, P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), _functions, P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), _mixins, P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), _content);
  9719. },
  9720. _EnvironmentModule__EnvironmentModule0: function(environment, css, extender, forwarded) {
  9721. var t1, t2, t3, t4, t5, t6;
  9722. if (forwarded == null)
  9723. forwarded = C.List_empty12;
  9724. t1 = Q._EnvironmentModule__makeModulesByVariable0(forwarded);
  9725. t2 = H.getTypeArgumentByIndex(forwarded, 0);
  9726. t3 = Q._EnvironmentModule__memberMap0(C.JSArray_methods.get$first(environment._async_environment$_variables), new H.MappedListIterable(forwarded, new Q._EnvironmentModule__EnvironmentModule_closure5(), [t2, [P.Map, P.String, F.Value]]), F.Value);
  9727. t4 = environment._async_environment$_variableNodes;
  9728. t4 = t4 == null ? null : Q._EnvironmentModule__memberMap0(C.JSArray_methods.get$first(t4), new H.MappedListIterable(forwarded, new Q._EnvironmentModule__EnvironmentModule_closure6(), [t2, [P.Map, P.String, B.AstNode]]), B.AstNode);
  9729. t2 = [t2, [P.Map, P.String, B.AsyncCallable]];
  9730. t5 = B.AsyncCallable;
  9731. t6 = Q._EnvironmentModule__memberMap0(C.JSArray_methods.get$first(environment._async_environment$_functions), new H.MappedListIterable(forwarded, new Q._EnvironmentModule__EnvironmentModule_closure7(), t2), t5);
  9732. t5 = Q._EnvironmentModule__memberMap0(C.JSArray_methods.get$first(environment._async_environment$_mixins), new H.MappedListIterable(forwarded, new Q._EnvironmentModule__EnvironmentModule_closure8(), t2), t5);
  9733. t2 = J.get$isNotEmpty$asx(css.get$children()) || C.JSArray_methods.any$1(environment._async_environment$_allModules, new Q._EnvironmentModule__EnvironmentModule_closure9());
  9734. return Q._EnvironmentModule$_0(environment, css, extender, t1, t3, t4, t6, t5, t2, !extender.get$isEmpty(extender) || C.JSArray_methods.any$1(environment._async_environment$_allModules, new Q._EnvironmentModule__EnvironmentModule_closure10()));
  9735. },
  9736. _EnvironmentModule__makeModulesByVariable0: function(forwarded) {
  9737. var modulesByVariable, _i, module,
  9738. t1 = forwarded.length;
  9739. if (t1 === 0)
  9740. return C.Map_empty6;
  9741. modulesByVariable = P.LinkedHashMap_LinkedHashMap$_empty(P.String, [G.Module, B.AsyncCallable]);
  9742. for (_i = 0; _i < forwarded.length; forwarded.length === t1 || (0, H.throwConcurrentModificationError)(forwarded), ++_i) {
  9743. module = forwarded[_i];
  9744. B.setAll(modulesByVariable, module.variables.get$keys(), module);
  9745. }
  9746. return modulesByVariable;
  9747. },
  9748. _EnvironmentModule__memberMap0: function(localMap, otherMaps, $V) {
  9749. var t1, t2, t3;
  9750. localMap = new U.PublicMemberMapView(localMap, [$V]);
  9751. if (otherMaps.get$length(otherMaps) === 0)
  9752. return localMap;
  9753. t1 = H.setRuntimeTypeInfo([], [[P.Map, P.String, $V]]);
  9754. for (t2 = new H.ListIterator(otherMaps, otherMaps.get$length(otherMaps)); t2.moveNext$0();) {
  9755. t3 = t2.__internal$_current;
  9756. if (t3.get$isNotEmpty(t3))
  9757. t1.push(t3);
  9758. }
  9759. t1.push(localMap);
  9760. if (t1.length === 1)
  9761. return localMap;
  9762. return Z.MergedMapView$(t1, P.String, $V);
  9763. },
  9764. _EnvironmentModule$_0: function(_environment, css, extender, _modulesByVariable, variables, variableNodes, functions, mixins, transitivelyContainsCss, transitivelyContainsExtensions) {
  9765. return new Q._EnvironmentModule0(_environment._async_environment$_allModules, variables, variableNodes, functions, mixins, extender, css, transitivelyContainsCss, transitivelyContainsExtensions, _environment, _modulesByVariable);
  9766. },
  9767. AsyncEnvironment: function AsyncEnvironment(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
  9768. var _ = this;
  9769. _._async_environment$_modules = t0;
  9770. _._async_environment$_globalModules = t1;
  9771. _._async_environment$_forwardedModules = t2;
  9772. _._async_environment$_allModules = t3;
  9773. _._async_environment$_variables = t4;
  9774. _._async_environment$_variableNodes = t5;
  9775. _._async_environment$_variableIndices = t6;
  9776. _._async_environment$_functions = t7;
  9777. _._async_environment$_functionIndices = t8;
  9778. _._async_environment$_mixins = t9;
  9779. _._async_environment$_mixinIndices = t10;
  9780. _._async_environment$_content = t11;
  9781. _._async_environment$_inMixin = false;
  9782. _._async_environment$_inSemiGlobalScope = true;
  9783. _._async_environment$_lastVariableIndex = _._async_environment$_lastVariableName = null;
  9784. },
  9785. AsyncEnvironment__getVariableFromGlobalModule_closure: function AsyncEnvironment__getVariableFromGlobalModule_closure(t0) {
  9786. this.name = t0;
  9787. },
  9788. AsyncEnvironment_setVariable_closure: function AsyncEnvironment_setVariable_closure(t0, t1) {
  9789. this.$this = t0;
  9790. this.name = t1;
  9791. },
  9792. AsyncEnvironment_setVariable_closure0: function AsyncEnvironment_setVariable_closure0(t0) {
  9793. this.name = t0;
  9794. },
  9795. AsyncEnvironment_setVariable_closure1: function AsyncEnvironment_setVariable_closure1(t0, t1) {
  9796. this.$this = t0;
  9797. this.name = t1;
  9798. },
  9799. AsyncEnvironment__getFunctionFromGlobalModule_closure: function AsyncEnvironment__getFunctionFromGlobalModule_closure(t0) {
  9800. this.name = t0;
  9801. },
  9802. AsyncEnvironment__getMixinFromGlobalModule_closure: function AsyncEnvironment__getMixinFromGlobalModule_closure(t0) {
  9803. this.name = t0;
  9804. },
  9805. _EnvironmentModule0: function _EnvironmentModule0(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
  9806. var _ = this;
  9807. _.upstream = t0;
  9808. _.variables = t1;
  9809. _.variableNodes = t2;
  9810. _.functions = t3;
  9811. _.mixins = t4;
  9812. _.extender = t5;
  9813. _.css = t6;
  9814. _.transitivelyContainsCss = t7;
  9815. _.transitivelyContainsExtensions = t8;
  9816. _._async_environment$_environment = t9;
  9817. _._async_environment$_modulesByVariable = t10;
  9818. },
  9819. _EnvironmentModule__EnvironmentModule_closure5: function _EnvironmentModule__EnvironmentModule_closure5() {
  9820. },
  9821. _EnvironmentModule__EnvironmentModule_closure6: function _EnvironmentModule__EnvironmentModule_closure6() {
  9822. },
  9823. _EnvironmentModule__EnvironmentModule_closure7: function _EnvironmentModule__EnvironmentModule_closure7() {
  9824. },
  9825. _EnvironmentModule__EnvironmentModule_closure8: function _EnvironmentModule__EnvironmentModule_closure8() {
  9826. },
  9827. _EnvironmentModule__EnvironmentModule_closure9: function _EnvironmentModule__EnvironmentModule_closure9() {
  9828. },
  9829. _EnvironmentModule__EnvironmentModule_closure10: function _EnvironmentModule__EnvironmentModule_closure10() {
  9830. },
  9831. BuiltInCallable$: function($name, $arguments, callback) {
  9832. return new Q.BuiltInCallable($name, H.setRuntimeTypeInfo([new S.Tuple2(B.ArgumentDeclaration_ArgumentDeclaration$parse($arguments), callback, [B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}])], [[S.Tuple2, B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}]]));
  9833. },
  9834. BuiltInCallable$parsed: function($name, $arguments, callback) {
  9835. return new Q.BuiltInCallable($name, H.setRuntimeTypeInfo([new S.Tuple2($arguments, callback, [B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}])], [[S.Tuple2, B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}]]));
  9836. },
  9837. BuiltInCallable$overloaded: function($name, overloads) {
  9838. var t2, t3, t4, t5, t6, t7, t8, t9, t10,
  9839. t1 = H.setRuntimeTypeInfo([], [[S.Tuple2, B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}]]);
  9840. for (t2 = overloads.get$entries(), t2 = t2.get$iterator(t2), t3 = [B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}], t4 = P.String, t5 = Z.VariableDeclaration, t6 = [P.int]; t2.moveNext$0();) {
  9841. t7 = t2.get$current(t2);
  9842. t8 = "(" + H.S(t7.key) + ")";
  9843. t9 = new H.CodeUnits(t8);
  9844. t10 = H.setRuntimeTypeInfo([0], t6);
  9845. t10 = new Y.SourceFile(null, t10, new Uint32Array(H._ensureNativeList(t9.toList$0(t9))));
  9846. t10.SourceFile$decoded$2$url(t9, null);
  9847. t1.push(new S.Tuple2(new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(t4, t5), new S.SpanScanner(t10, null, t8), C.StderrLogger_false).parseArgumentDeclaration$0(), t7.value, t3));
  9848. }
  9849. return new Q.BuiltInCallable($name, t1);
  9850. },
  9851. BuiltInCallable: function BuiltInCallable(t0, t1) {
  9852. this.name = t0;
  9853. this._overloads = t1;
  9854. },
  9855. BuiltInCallable_callbackFor_closure: function BuiltInCallable_callbackFor_closure(t0, t1) {
  9856. this.positional = t0;
  9857. this.names = t1;
  9858. },
  9859. BuiltInCallable_callbackFor_closure0: function BuiltInCallable_callbackFor_closure0(t0) {
  9860. this.$this = t0;
  9861. },
  9862. closure125: function closure125() {
  9863. },
  9864. closure126: function closure126() {
  9865. },
  9866. closure127: function closure127() {
  9867. },
  9868. closure128: function closure128() {
  9869. },
  9870. _closure19: function _closure19() {
  9871. },
  9872. BuiltInModule$: function($name, functions, $T) {
  9873. var t4, _i, $function,
  9874. t1 = P._Uri__Uri(null, $name, null, "sass"),
  9875. t2 = P.String,
  9876. t3 = P.LinkedHashMap_LinkedHashMap$_empty(t2, $T);
  9877. for (t4 = functions.length, _i = 0; _i < functions.length; functions.length === t4 || (0, H.throwConcurrentModificationError)(functions), ++_i) {
  9878. $function = functions[_i];
  9879. t3.$indexSet(0, $function.get$name(), $function);
  9880. }
  9881. return new Q.BuiltInModule(t1, new P.UnmodifiableMapView(t3, [t2, $T]), [$T]);
  9882. },
  9883. BuiltInModule: function BuiltInModule(t0, t1, t2) {
  9884. this.url = t0;
  9885. this.functions = t1;
  9886. this.$ti = t2;
  9887. },
  9888. closure129: function closure129() {
  9889. },
  9890. CssParser: function CssParser(t0, t1, t2) {
  9891. var _ = this;
  9892. _._isUseAllowed = true;
  9893. _._stylesheet$_inMixin = false;
  9894. _._mixinHasContent = null;
  9895. _._inParentheses = _._inStyleRule = _._stylesheet$_inUnknownAtRule = _._inControlDirective = _._inContentBlock = false;
  9896. _._globalVariables = t0;
  9897. _.lastSilentComment = null;
  9898. _.scanner = t1;
  9899. _.logger = t2;
  9900. }
  9901. },
  9902. B = {ReplAdapter: function ReplAdapter(t0) {
  9903. this.repl = t0;
  9904. this.rl = null;
  9905. }, ReplAdapter_runAsync_closure: function ReplAdapter_runAsync_closure(t0) {
  9906. this.controller = t0;
  9907. }, Stdin: function Stdin() {
  9908. }, Stdout: function Stdout() {
  9909. }, ReadlineModule: function ReadlineModule() {
  9910. }, ReadlineOptions: function ReadlineOptions() {
  9911. }, ReadlineInterface: function ReadlineInterface() {
  9912. },
  9913. defaultCompare: function($T) {
  9914. return new B.defaultCompare_closure($T);
  9915. },
  9916. defaultCompare_closure: function defaultCompare_closure(t0) {
  9917. this.T = t0;
  9918. },
  9919. InternalStyle: function InternalStyle() {
  9920. },
  9921. ModifiableCssNode: function ModifiableCssNode() {
  9922. },
  9923. ModifiableCssParentNode: function ModifiableCssParentNode() {
  9924. },
  9925. ModifiableCssSupportsRule: function ModifiableCssSupportsRule(t0, t1, t2, t3) {
  9926. var _ = this;
  9927. _.condition = t0;
  9928. _.span = t1;
  9929. _.children = t2;
  9930. _._children = t3;
  9931. _._indexInParent = _._parent = null;
  9932. _.isGroupEnd = false;
  9933. },
  9934. CssNode: function CssNode() {
  9935. },
  9936. CssParentNode: function CssParentNode() {
  9937. },
  9938. AstNode: function AstNode() {
  9939. },
  9940. ArgumentDeclaration_ArgumentDeclaration$parse: function(contents) {
  9941. var t1 = S.SpanScanner$("(" + H.S(contents) + ")", null);
  9942. return new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(P.String, Z.VariableDeclaration), t1, C.StderrLogger_false).parseArgumentDeclaration$0();
  9943. },
  9944. ArgumentDeclaration: function ArgumentDeclaration(t0, t1, t2) {
  9945. this.$arguments = t0;
  9946. this.restArgument = t1;
  9947. this.span = t2;
  9948. },
  9949. ArgumentDeclaration_verify_closure: function ArgumentDeclaration_verify_closure() {
  9950. },
  9951. ArgumentDeclaration_verify_closure0: function ArgumentDeclaration_verify_closure0() {
  9952. },
  9953. DynamicImport: function DynamicImport(t0, t1) {
  9954. this.url = t0;
  9955. this.span = t1;
  9956. },
  9957. SassNode: function SassNode() {
  9958. },
  9959. ForRule: function ForRule(t0, t1, t2, t3, t4, t5, t6) {
  9960. var _ = this;
  9961. _.variable = t0;
  9962. _.from = t1;
  9963. _.to = t2;
  9964. _.isExclusive = t3;
  9965. _.span = t4;
  9966. _.children = t5;
  9967. _.hasDeclarations = t6;
  9968. },
  9969. ImportRule: function ImportRule(t0, t1) {
  9970. this.imports = t0;
  9971. this.span = t1;
  9972. },
  9973. ReturnRule: function ReturnRule(t0, t1) {
  9974. this.expression = t0;
  9975. this.span = t1;
  9976. },
  9977. SilentComment: function SilentComment(t0, t1) {
  9978. this.text = t0;
  9979. this.span = t1;
  9980. },
  9981. SupportsRule: function SupportsRule(t0, t1, t2, t3) {
  9982. var _ = this;
  9983. _.condition = t0;
  9984. _.span = t1;
  9985. _.children = t2;
  9986. _.hasDeclarations = t3;
  9987. },
  9988. AsyncCallable: function AsyncCallable() {
  9989. },
  9990. ExecutableOptions__separator: function(text) {
  9991. var t1 = $.$get$ExecutableOptions__separatorBar(),
  9992. t2 = C.JSString_methods.$mul(t1, 3) + " ",
  9993. t3 = self.process.stdout.isTTY;
  9994. t2 = t2 + ((t3 == null ? false : t3) ? "\x1b[1m" : "") + text;
  9995. t3 = self.process.stdout.isTTY;
  9996. return t2 + ((t3 == null ? false : t3) ? "\x1b[0m" : "") + " " + C.JSString_methods.$mul(t1, 35 - text.length);
  9997. },
  9998. ExecutableOptions__fail: function(message) {
  9999. return H.throwExpression(B.UsageException$(message));
  10000. },
  10001. ExecutableOptions_ExecutableOptions$parse: function(args) {
  10002. var options, error, t1, t2, exception;
  10003. try {
  10004. t1 = $.$get$ExecutableOptions__parser();
  10005. t1.toString;
  10006. t2 = H.setRuntimeTypeInfo(args.slice(0), [H.getTypeArgumentByIndex(args, 0)]);
  10007. t1 = G.Parser$0(null, t1, t2, null, null).parse$0();
  10008. if (t1.wasParsed$1("poll") && !H.boolTypeCast(t1.$index(0, "watch")))
  10009. B.ExecutableOptions__fail("--poll may not be passed without --watch.");
  10010. options = new B.ExecutableOptions(t1);
  10011. if (H.boolTypeCast(options._options.$index(0, "help")))
  10012. B.ExecutableOptions__fail("Compile Sass to CSS.");
  10013. return options;
  10014. } catch (exception) {
  10015. t1 = H.unwrapException(exception);
  10016. if (!!J.getInterceptor$(t1).$isFormatException) {
  10017. error = t1;
  10018. B.ExecutableOptions__fail(J.get$message$x(error));
  10019. } else
  10020. throw exception;
  10021. }
  10022. },
  10023. UsageException$: function(message) {
  10024. return new B.UsageException(message);
  10025. },
  10026. ExecutableOptions: function ExecutableOptions(t0) {
  10027. var _ = this;
  10028. _._options = t0;
  10029. _._sourceDirectoriesToDestinations = _._sourcesToDestinations = _._interactive = null;
  10030. },
  10031. ExecutableOptions_closure: function ExecutableOptions_closure() {
  10032. },
  10033. ExecutableOptions_emitErrorCss_closure: function ExecutableOptions_emitErrorCss_closure() {
  10034. },
  10035. UsageException: function UsageException(t0) {
  10036. this.message = t0;
  10037. },
  10038. AsyncImporter: function AsyncImporter() {
  10039. },
  10040. inUseRule: function(callback) {
  10041. var t1,
  10042. wasInUseRule = $._inUseRule;
  10043. $._inUseRule = true;
  10044. try {
  10045. t1 = callback.call$0();
  10046. return t1;
  10047. } finally {
  10048. $._inUseRule = wasInUseRule;
  10049. }
  10050. },
  10051. inUseRuleAsync: function(callback, $T) {
  10052. return B.inUseRuleAsync$body(callback, $T, $T);
  10053. },
  10054. inUseRuleAsync$body: function(callback, $T, $async$type) {
  10055. var $async$goto = 0,
  10056. $async$completer = P._makeAsyncAwaitCompleter($async$type),
  10057. $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], t1, wasInUseRule;
  10058. var $async$inUseRuleAsync = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  10059. if ($async$errorCode === 1) {
  10060. $async$currentError = $async$result;
  10061. $async$goto = $async$handler;
  10062. }
  10063. while (true)
  10064. switch ($async$goto) {
  10065. case 0:
  10066. // Function start
  10067. wasInUseRule = $._inUseRule;
  10068. $._inUseRule = true;
  10069. $async$handler = 3;
  10070. $async$goto = 6;
  10071. return P._asyncAwait(callback.call$0(), $async$inUseRuleAsync);
  10072. case 6:
  10073. // returning from await.
  10074. t1 = $async$result;
  10075. $async$returnValue = t1;
  10076. $async$next = [1];
  10077. // goto finally
  10078. $async$goto = 4;
  10079. break;
  10080. $async$next.push(5);
  10081. // goto finally
  10082. $async$goto = 4;
  10083. break;
  10084. case 3:
  10085. // uncaught
  10086. $async$next = [2];
  10087. case 4:
  10088. // finally
  10089. $async$handler = 2;
  10090. $._inUseRule = wasInUseRule;
  10091. // goto the next finally handler
  10092. $async$goto = $async$next.pop();
  10093. break;
  10094. case 5:
  10095. // after finally
  10096. case 1:
  10097. // return
  10098. return P._asyncReturn($async$returnValue, $async$completer);
  10099. case 2:
  10100. // rethrow
  10101. return P._asyncRethrow($async$currentError, $async$completer);
  10102. }
  10103. });
  10104. return P._asyncStartSync($async$inUseRuleAsync, $async$completer);
  10105. },
  10106. resolveImportPath: function(path) {
  10107. var t1,
  10108. extension = X.ParsedPath_ParsedPath$parse(path, $.$get$context().style)._splitExtension$0()[1];
  10109. if (extension === ".sass" || extension === ".scss" || extension === ".css") {
  10110. t1 = $._inUseRule ? null : new B.resolveImportPath_closure(path, extension).call$0();
  10111. return t1 == null ? B._exactlyOne(B._tryPath(path)) : t1;
  10112. }
  10113. t1 = $._inUseRule ? null : new B.resolveImportPath_closure0(path).call$0();
  10114. if (t1 == null)
  10115. t1 = B._exactlyOne(B._tryPathWithExtensions(path));
  10116. return t1 == null ? B._tryPathAsDirectory(path) : t1;
  10117. },
  10118. _tryPathWithExtensions: function(path) {
  10119. var result = B._tryPath(J.$add$ansx(path, ".sass"));
  10120. C.JSArray_methods.addAll$1(result, B._tryPath(path + ".scss"));
  10121. return result.length !== 0 ? result : B._tryPath(path + ".css");
  10122. },
  10123. _tryPath: function(path) {
  10124. var t1 = $.$get$context(),
  10125. partial = D.join(t1.dirname$1(path), "_" + H.S(X.ParsedPath_ParsedPath$parse(path, t1.style).get$basename()), null);
  10126. t1 = H.setRuntimeTypeInfo([], [P.String]);
  10127. if (B.fileExists(partial))
  10128. t1.push(partial);
  10129. if (B.fileExists(path))
  10130. t1.push(path);
  10131. return t1;
  10132. },
  10133. _tryPathAsDirectory: function(path) {
  10134. var t1;
  10135. if (!B.dirExists(path))
  10136. return;
  10137. t1 = $._inUseRule ? null : new B._tryPathAsDirectory_closure(path).call$0();
  10138. return t1 == null ? B._exactlyOne(B._tryPathWithExtensions(D.join(path, "index", null))) : t1;
  10139. },
  10140. _exactlyOne: function(paths) {
  10141. var t1 = paths.length;
  10142. if (t1 === 0)
  10143. return;
  10144. if (t1 === 1)
  10145. return C.JSArray_methods.get$first(paths);
  10146. throw H.wrapException("It's not clear which file to import. Found:\n" + C.JSArray_methods.map$1$1(paths, new B._exactlyOne_closure(), P.String).join$1(0, "\n"));
  10147. },
  10148. resolveImportPath_closure: function resolveImportPath_closure(t0, t1) {
  10149. this.path = t0;
  10150. this.extension = t1;
  10151. },
  10152. resolveImportPath_closure0: function resolveImportPath_closure0(t0) {
  10153. this.path = t0;
  10154. },
  10155. _tryPathAsDirectory_closure: function _tryPathAsDirectory_closure(t0) {
  10156. this.path = t0;
  10157. },
  10158. _exactlyOne_closure: function _exactlyOne_closure() {
  10159. },
  10160. readFile: function(path) {
  10161. var t1, t2, t3, sourceFile, i,
  10162. contents = H.stringTypeCast(B._readFile(path, "utf8"));
  10163. if (!J.getInterceptor$asx(contents).contains$1(contents, "\ufffd"))
  10164. return contents;
  10165. t1 = $.$get$context().toUri$1(path);
  10166. t2 = new H.CodeUnits(contents);
  10167. t3 = H.setRuntimeTypeInfo([0], [P.int]);
  10168. sourceFile = new Y.SourceFile(t1, t3, new Uint32Array(H._ensureNativeList(t2.toList$0(t2))));
  10169. sourceFile.SourceFile$decoded$2$url(t2, t1);
  10170. for (t1 = contents.length, i = 0; i < t1; ++i) {
  10171. if (C.JSString_methods._codeUnitAt$1(contents, i) !== 65533)
  10172. continue;
  10173. throw H.wrapException(E.SassException$("Invalid UTF-8.", Y.FileLocation$_(sourceFile, i).pointSpan$0()));
  10174. }
  10175. return contents;
  10176. },
  10177. _readFile: function(path, encoding) {
  10178. return B._systemErrorToFileSystemException(new B._readFile_closure(path, encoding));
  10179. },
  10180. writeFile: function(path, contents) {
  10181. return B._systemErrorToFileSystemException(new B.writeFile_closure(path, contents));
  10182. },
  10183. deleteFile: function(path) {
  10184. return B._systemErrorToFileSystemException(new B.deleteFile_closure(path));
  10185. },
  10186. readStdin: function() {
  10187. return B.readStdin$body();
  10188. },
  10189. readStdin$body: function() {
  10190. var $async$goto = 0,
  10191. $async$completer = P._makeAsyncAwaitCompleter(P.String),
  10192. $async$returnValue, sink, t1, t2, t3, completer;
  10193. var $async$readStdin = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  10194. if ($async$errorCode === 1)
  10195. return P._asyncRethrow($async$result, $async$completer);
  10196. while (true)
  10197. switch ($async$goto) {
  10198. case 0:
  10199. // Function start
  10200. t1 = {};
  10201. t2 = P.String;
  10202. t3 = new P._Future($.Zone__current, [t2]);
  10203. completer = new P._AsyncCompleter(t3, [t2]);
  10204. t1.contents = null;
  10205. sink = new P.Utf8Decoder(false).startChunkedConversion$1(new P._StringCallbackSink(new B.readStdin_closure(t1, completer), new P.StringBuffer("")));
  10206. J.on$2$x(self.process.stdin, "data", P.allowInterop(new B.readStdin_closure0(sink)));
  10207. J.on$2$x(self.process.stdin, "end", P.allowInterop(new B.readStdin_closure1(sink)));
  10208. J.on$2$x(self.process.stdin, "error", P.allowInterop(new B.readStdin_closure2(completer)));
  10209. $async$returnValue = t3;
  10210. // goto return
  10211. $async$goto = 1;
  10212. break;
  10213. case 1:
  10214. // return
  10215. return P._asyncReturn($async$returnValue, $async$completer);
  10216. }
  10217. });
  10218. return P._asyncStartSync($async$readStdin, $async$completer);
  10219. },
  10220. fileExists: function(path) {
  10221. var error, systemError, t1, exception;
  10222. try {
  10223. t1 = J.isFile$0$x(J.statSync$1$x(self.fs, path));
  10224. return t1;
  10225. } catch (exception) {
  10226. error = H.unwrapException(exception);
  10227. systemError = H.interceptedTypeCast(error, "$is_SystemError");
  10228. if (J.$eq$(J.get$code$x(systemError), "ENOENT"))
  10229. return false;
  10230. throw exception;
  10231. }
  10232. },
  10233. dirExists: function(path) {
  10234. var error, systemError, t1, exception;
  10235. try {
  10236. t1 = J.isDirectory$0$x(J.statSync$1$x(self.fs, path));
  10237. return t1;
  10238. } catch (exception) {
  10239. error = H.unwrapException(exception);
  10240. systemError = H.interceptedTypeCast(error, "$is_SystemError");
  10241. if (J.$eq$(J.get$code$x(systemError), "ENOENT"))
  10242. return false;
  10243. throw exception;
  10244. }
  10245. },
  10246. ensureDir: function(path) {
  10247. return B._systemErrorToFileSystemException(new B.ensureDir_closure(path));
  10248. },
  10249. listDir: function(path, recursive) {
  10250. return B._systemErrorToFileSystemException(new B.listDir_closure(recursive, path));
  10251. },
  10252. modificationTime: function(path) {
  10253. return B._systemErrorToFileSystemException(new B.modificationTime_closure(path));
  10254. },
  10255. _systemErrorToFileSystemException: function(callback) {
  10256. var error, systemError, t1, exception, t2;
  10257. try {
  10258. t1 = callback.call$0();
  10259. return t1;
  10260. } catch (exception) {
  10261. error = H.unwrapException(exception);
  10262. systemError = H.interceptedTypeCast(error, "$is_SystemError");
  10263. t1 = systemError;
  10264. t2 = J.getInterceptor$x(t1);
  10265. throw H.wrapException(new B.FileSystemException(J.substring$2$s(t2.get$message(t1), (H.S(t2.get$code(t1)) + ": ").length, J.get$length$asx(t2.get$message(t1)) - (", " + H.S(t2.get$syscall(t1)) + " '" + H.S(t2.get$path(t1)) + "'").length), J.get$path$x(systemError)));
  10266. }
  10267. },
  10268. isWindows: function() {
  10269. return J.$eq$(J.get$platform$x(self.process), "win32");
  10270. },
  10271. watchDir: function(path, poll) {
  10272. var t2, t3, t4, t1 = {},
  10273. watcher = J.watch$2$x(self.chokidar, path, {disableGlobbing: true, usePolling: poll});
  10274. t1.controller = null;
  10275. t2 = J.getInterceptor$x(watcher);
  10276. t2.on$2(watcher, "add", P.allowInterop(new B.watchDir_closure(t1)));
  10277. t2.on$2(watcher, "change", P.allowInterop(new B.watchDir_closure0(t1)));
  10278. t2.on$2(watcher, "unlink", P.allowInterop(new B.watchDir_closure1(t1)));
  10279. t2.on$2(watcher, "error", P.allowInterop(new B.watchDir_closure2(t1)));
  10280. t3 = [P.Stream, E.WatchEvent];
  10281. t4 = new P._Future($.Zone__current, [t3]);
  10282. t2.on$2(watcher, "ready", P.allowInterop(new B.watchDir_closure3(t1, watcher, new P._AsyncCompleter(t4, [t3]))));
  10283. return t4;
  10284. },
  10285. _FS: function _FS() {
  10286. },
  10287. _Stat: function _Stat() {
  10288. },
  10289. _Date: function _Date() {
  10290. },
  10291. _Stderr: function _Stderr() {
  10292. },
  10293. _Stdin: function _Stdin() {
  10294. },
  10295. _SystemError: function _SystemError() {
  10296. },
  10297. _Process: function _Process() {
  10298. },
  10299. FileSystemException: function FileSystemException(t0, t1) {
  10300. this.message = t0;
  10301. this.path = t1;
  10302. },
  10303. Stderr: function Stderr(t0) {
  10304. this._stderr = t0;
  10305. },
  10306. _readFile_closure: function _readFile_closure(t0, t1) {
  10307. this.path = t0;
  10308. this.encoding = t1;
  10309. },
  10310. writeFile_closure: function writeFile_closure(t0, t1) {
  10311. this.path = t0;
  10312. this.contents = t1;
  10313. },
  10314. deleteFile_closure: function deleteFile_closure(t0) {
  10315. this.path = t0;
  10316. },
  10317. readStdin_closure: function readStdin_closure(t0, t1) {
  10318. this._box_0 = t0;
  10319. this.completer = t1;
  10320. },
  10321. readStdin_closure0: function readStdin_closure0(t0) {
  10322. this.sink = t0;
  10323. },
  10324. readStdin_closure1: function readStdin_closure1(t0) {
  10325. this.sink = t0;
  10326. },
  10327. readStdin_closure2: function readStdin_closure2(t0) {
  10328. this.completer = t0;
  10329. },
  10330. ensureDir_closure: function ensureDir_closure(t0) {
  10331. this.path = t0;
  10332. },
  10333. listDir_closure: function listDir_closure(t0, t1) {
  10334. this.recursive = t0;
  10335. this.path = t1;
  10336. },
  10337. listDir__closure: function listDir__closure(t0) {
  10338. this.path = t0;
  10339. },
  10340. listDir__closure0: function listDir__closure0() {
  10341. },
  10342. listDir_closure_list: function listDir_closure_list() {
  10343. },
  10344. listDir__list_closure: function listDir__list_closure(t0, t1) {
  10345. this.parent = t0;
  10346. this.list = t1;
  10347. },
  10348. modificationTime_closure: function modificationTime_closure(t0) {
  10349. this.path = t0;
  10350. },
  10351. watchDir_closure: function watchDir_closure(t0) {
  10352. this._box_0 = t0;
  10353. },
  10354. watchDir_closure0: function watchDir_closure0(t0) {
  10355. this._box_0 = t0;
  10356. },
  10357. watchDir_closure1: function watchDir_closure1(t0) {
  10358. this._box_0 = t0;
  10359. },
  10360. watchDir_closure2: function watchDir_closure2(t0) {
  10361. this._box_0 = t0;
  10362. },
  10363. watchDir_closure3: function watchDir_closure3(t0, t1, t2) {
  10364. this._box_0 = t0;
  10365. this.watcher = t1;
  10366. this.completer = t2;
  10367. },
  10368. watchDir__closure: function watchDir__closure(t0) {
  10369. this.watcher = t0;
  10370. },
  10371. main0: function() {
  10372. J.set$run_$x(self.exports, P.allowInterop(new B.main_closure()));
  10373. J.set$render$x(self.exports, P.allowInterop(B.node___render$closure()));
  10374. J.set$renderSync$x(self.exports, P.allowInterop(B.node___renderSync$closure()));
  10375. J.set$info$x(self.exports, "dart-sass\t1.22.9\t(Sass Compiler)\t[Dart]\ndart2js\t2.4.0\t(Dart Compiler)\t[Dart]");
  10376. J.set$types$x(self.exports, {Boolean: $.$get$booleanConstructor(), Color: $.$get$colorConstructor(), List: $.$get$listConstructor(), Map: $.$get$mapConstructor(), Null: $.$get$nullConstructor(), Number: $.$get$numberConstructor(), String: $.$get$stringConstructor(), Error: self.Error});
  10377. },
  10378. _render: function(options, callback) {
  10379. var t1 = J.getInterceptor$x(options);
  10380. if (t1.get$fiber(options) != null)
  10381. J.run$0$x(t1.get$fiber(options).call$1(P.allowInterop(new B._render_closure(callback, options))));
  10382. else
  10383. B._renderAsync(options).then$1$2$onError(new B._render_closure0(callback), new B._render_closure1(callback), null);
  10384. },
  10385. _renderAsync: function(options) {
  10386. return B._renderAsync$body(options);
  10387. },
  10388. _renderAsync$body: function(options) {
  10389. var $async$goto = 0,
  10390. $async$completer = P._makeAsyncAwaitCompleter(U.RenderResult),
  10391. $async$returnValue, t2, t3, t4, t5, t6, t7, t8, t9, result, start, t1, file;
  10392. var $async$_renderAsync = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  10393. if ($async$errorCode === 1)
  10394. return P._asyncRethrow($async$result, $async$completer);
  10395. while (true)
  10396. switch ($async$goto) {
  10397. case 0:
  10398. // Function start
  10399. start = new P.DateTime(Date.now(), false);
  10400. t1 = J.getInterceptor$x(options);
  10401. file = t1.get$file(options) == null ? null : D.absolute(t1.get$file(options));
  10402. $async$goto = t1.get$data(options) != null ? 3 : 5;
  10403. break;
  10404. case 3:
  10405. // then
  10406. t2 = t1.get$data(options);
  10407. t3 = B._parseImporter(options, start);
  10408. t4 = B._parseFunctions(options, true);
  10409. t5 = t1.get$indentedSyntax(options);
  10410. t5 = !J.$eq$(t5, false) && t5 != null ? C.Syntax_Sass : null;
  10411. t6 = B._parseOutputStyle(t1.get$outputStyle(options));
  10412. t7 = J.$eq$(t1.get$indentType(options), "tab");
  10413. t8 = B._parseIndentWidth(t1.get$indentWidth(options));
  10414. t9 = B._parseLineFeed(t1.get$linefeed(options));
  10415. t1 = t1.get$file(options) == null ? "stdin" : J.toString$0$($.$get$context().toUri$1(file));
  10416. $async$goto = 6;
  10417. return P._asyncAwait(X.compileStringAsync(t2, true, t4, null, null, t8, t9, null, t3, B._enableSourceMaps(options), t6, t5, t1, !t7), $async$_renderAsync);
  10418. case 6:
  10419. // returning from await.
  10420. result = $async$result;
  10421. // goto join
  10422. $async$goto = 4;
  10423. break;
  10424. case 5:
  10425. // else
  10426. $async$goto = t1.get$file(options) != null ? 7 : 9;
  10427. break;
  10428. case 7:
  10429. // then
  10430. t2 = B._parseImporter(options, start);
  10431. t3 = B._parseFunctions(options, true);
  10432. t4 = t1.get$indentedSyntax(options);
  10433. t4 = !J.$eq$(t4, false) && t4 != null ? C.Syntax_Sass : null;
  10434. t5 = B._parseOutputStyle(t1.get$outputStyle(options));
  10435. t6 = J.$eq$(t1.get$indentType(options), "tab");
  10436. $async$goto = 10;
  10437. return P._asyncAwait(X.compileAsync(file, true, t3, null, B._parseIndentWidth(t1.get$indentWidth(options)), B._parseLineFeed(t1.get$linefeed(options)), null, t2, B._enableSourceMaps(options), t5, t4, !t6), $async$_renderAsync);
  10438. case 10:
  10439. // returning from await.
  10440. result = $async$result;
  10441. // goto join
  10442. $async$goto = 8;
  10443. break;
  10444. case 9:
  10445. // else
  10446. throw H.wrapException(P.ArgumentError$("Either options.data or options.file must be set."));
  10447. case 8:
  10448. // join
  10449. case 4:
  10450. // join
  10451. $async$returnValue = B._newRenderResult(options, result, start);
  10452. // goto return
  10453. $async$goto = 1;
  10454. break;
  10455. case 1:
  10456. // return
  10457. return P._asyncReturn($async$returnValue, $async$completer);
  10458. }
  10459. });
  10460. return P._asyncStartSync($async$_renderAsync, $async$completer);
  10461. },
  10462. _renderSync: function(options) {
  10463. var start, file, result, error, error0, t1, t2, t3, t4, t5, t6, t7, t8, t9, exception, _null = null;
  10464. try {
  10465. start = new P.DateTime(Date.now(), false);
  10466. t1 = J.getInterceptor$x(options);
  10467. file = t1.get$file(options) == null ? _null : D.absolute(t1.get$file(options));
  10468. result = null;
  10469. if (t1.get$data(options) != null) {
  10470. t2 = t1.get$data(options);
  10471. t3 = B._parseImporter(options, start);
  10472. t4 = B._parseFunctions(options, false);
  10473. t5 = t1.get$indentedSyntax(options);
  10474. t5 = !J.$eq$(t5, false) && t5 != null ? C.Syntax_Sass : _null;
  10475. t6 = B._parseOutputStyle(t1.get$outputStyle(options));
  10476. t7 = J.$eq$(t1.get$indentType(options), "tab");
  10477. t8 = B._parseIndentWidth(t1.get$indentWidth(options));
  10478. t9 = B._parseLineFeed(t1.get$linefeed(options));
  10479. t1 = t1.get$file(options) == null ? "stdin" : J.toString$0$($.$get$context().toUri$1(file));
  10480. result = U.compileString(t2, true, new H.CastList(t4, [H.getTypeArgumentByIndex(t4, 0), D.Callable]), _null, _null, t8, t9, _null, t3, B._enableSourceMaps(options), t6, t5, t1, !t7);
  10481. } else if (t1.get$file(options) != null) {
  10482. t2 = B._parseImporter(options, start);
  10483. t3 = B._parseFunctions(options, false);
  10484. t4 = t1.get$indentedSyntax(options);
  10485. t4 = !J.$eq$(t4, false) && t4 != null ? C.Syntax_Sass : _null;
  10486. t5 = B._parseOutputStyle(t1.get$outputStyle(options));
  10487. t6 = J.$eq$(t1.get$indentType(options), "tab");
  10488. result = U.compile(file, true, new H.CastList(t3, [H.getTypeArgumentByIndex(t3, 0), D.Callable]), _null, B._parseIndentWidth(t1.get$indentWidth(options)), B._parseLineFeed(t1.get$linefeed(options)), _null, t2, B._enableSourceMaps(options), t5, t4, !t6);
  10489. } else {
  10490. t1 = P.ArgumentError$("Either options.data or options.file must be set.");
  10491. throw H.wrapException(t1);
  10492. }
  10493. t1 = B._newRenderResult(options, result, start);
  10494. return t1;
  10495. } catch (exception) {
  10496. t1 = H.unwrapException(exception);
  10497. if (t1 instanceof E.SassException) {
  10498. error = t1;
  10499. t1 = B._wrapException(error);
  10500. $.$get$_jsThrow().call$1(t1);
  10501. } else {
  10502. error0 = t1;
  10503. t1 = B._newRenderError(J.toString$0$(error0), _null, _null, _null, 3);
  10504. $.$get$_jsThrow().call$1(t1);
  10505. }
  10506. }
  10507. throw H.wrapException("unreachable");
  10508. },
  10509. _wrapException: function(exception) {
  10510. var t3, t4,
  10511. t1 = C.JSString_methods.replaceFirst$2(exception.toString$0(0), "Error: ", ""),
  10512. t2 = G.SourceSpanException.prototype.get$span.call(exception);
  10513. t2 = Y.FileLocation$_(t2.file, t2._start);
  10514. t2 = t2.file.getLine$1(t2.offset);
  10515. t3 = G.SourceSpanException.prototype.get$span.call(exception);
  10516. t3 = Y.FileLocation$_(t3.file, t3._start);
  10517. t3 = t3.file.getColumn$1(t3.offset);
  10518. if (G.SourceSpanException.prototype.get$span.call(exception).file.url == null)
  10519. t4 = "stdin";
  10520. else {
  10521. t4 = G.SourceSpanException.prototype.get$span.call(exception).file;
  10522. t4 = $.$get$context().style.pathFromUri$1(M._parseUri(t4.url));
  10523. }
  10524. return B._newRenderError(t1, t3 + 1, t4, t2 + 1, 1);
  10525. },
  10526. _parseFunctions: function(options, asynch) {
  10527. var result,
  10528. t1 = J.getInterceptor$x(options);
  10529. if (t1.get$functions(options) == null)
  10530. return C.List_empty11;
  10531. result = H.setRuntimeTypeInfo([], [B.AsyncCallable]);
  10532. B.jsForEach(t1.get$functions(options), new B._parseFunctions_closure(options, result, asynch));
  10533. return result;
  10534. },
  10535. _parseImporter: function(options, start) {
  10536. var importers, t2, t3, includePaths, t4, t5, t6, t7, _i, t8, t9, t10, context,
  10537. t1 = J.getInterceptor$x(options);
  10538. if (t1.get$importer(options) == null)
  10539. importers = H.setRuntimeTypeInfo([], [F.JSFunction]);
  10540. else {
  10541. t2 = F.JSFunction;
  10542. importers = !!J.getInterceptor$(t1.get$importer(options)).$isList ? J.cast$1$0$ax(H.subtypeCast(t1.get$importer(options), "$isList", [P.Object], "$asList"), t2) : H.setRuntimeTypeInfo([H.interceptedTypeCast(t1.get$importer(options), "$isJSFunction")], [t2]);
  10543. }
  10544. t2 = t1.get$includePaths(options);
  10545. if (t2 == null)
  10546. t2 = [];
  10547. t3 = P.String;
  10548. includePaths = P.List_List$from(t2, true, t3);
  10549. t2 = J.getInterceptor$asx(importers);
  10550. if (t2.get$isNotEmpty(importers)) {
  10551. t4 = t1.get$file(options);
  10552. t5 = t1.get$data(options);
  10553. t6 = H.setRuntimeTypeInfo([], [t3]);
  10554. t6.push(D.current());
  10555. for (t7 = includePaths.length, _i = 0; _i < includePaths.length; includePaths.length === t7 || (0, H.throwConcurrentModificationError)(includePaths), ++_i)
  10556. t6.push(includePaths[_i]);
  10557. t6 = C.JSArray_methods.join$1(t6, J.$eq$(J.get$platform$x(self.process), "win32") ? ";" : ":");
  10558. t7 = J.$eq$(t1.get$indentType(options), "tab") ? 1 : 0;
  10559. t8 = B._parseIndentWidth(t1.get$indentWidth(options));
  10560. if (t8 == null)
  10561. t8 = 2;
  10562. t9 = B._parseLineFeed(t1.get$linefeed(options));
  10563. t10 = t1.get$file(options);
  10564. if (t10 == null)
  10565. t10 = "data";
  10566. context = {options: {file: t4, data: t5, includePaths: t6, precision: 10, style: 1, indentType: t7, indentWidth: t8, linefeed: t9.text, result: {stats: {entry: t10, start: start._value}}}};
  10567. J.set$context$x(J.get$options$x(context), context);
  10568. } else
  10569. context = null;
  10570. if (t1.get$fiber(options) != null)
  10571. importers = t2.map$1$1(importers, new B._parseImporter_closure(options), F.JSFunction).toList$0(0);
  10572. return new F.NodeImporter(context, P.List_List$unmodifiable(F.NodeImporter__addSassPath(includePaths), t3), P.List_List$unmodifiable(J.cast$1$0$ax(importers, null), F.JSFunction));
  10573. },
  10574. _parseOutputStyle: function(style) {
  10575. if (style == null || style === "expanded")
  10576. return C.OutputStyle_expanded;
  10577. if (style === "compressed")
  10578. return C.OutputStyle_compressed;
  10579. throw H.wrapException(P.ArgumentError$('Unsupported output style "' + H.S(style) + '".'));
  10580. },
  10581. _parseIndentWidth: function(width) {
  10582. if (width == null)
  10583. return;
  10584. return typeof width === "number" && Math.floor(width) === width ? width : P.int_parse(J.toString$0$(width), null, null);
  10585. },
  10586. _parseLineFeed: function(str) {
  10587. switch (str) {
  10588. case "cr":
  10589. return C.LineFeed_kMT;
  10590. case "crlf":
  10591. return C.LineFeed_Mss;
  10592. case "lfcr":
  10593. return C.LineFeed_a1Y;
  10594. default:
  10595. return C.LineFeed_D6m;
  10596. }
  10597. },
  10598. _newRenderResult: function(options, result, start) {
  10599. var t3, t4, sourceMapPath, sourceMapDir, sourceMapDirUrl, i, source, sourceMapBytes, buffer, indices, url, _null = null,
  10600. t1 = Date.now(),
  10601. t2 = result._serialize,
  10602. css = t2.css;
  10603. if (B._enableSourceMaps(options)) {
  10604. t3 = J.getInterceptor$x(options);
  10605. t4 = t3.get$sourceMap(options);
  10606. sourceMapPath = typeof t4 === "string" ? H.stringTypeCast(t3.get$sourceMap(options)) : J.$add$ansx(t3.get$outFile(options), ".map");
  10607. t4 = $.$get$context();
  10608. sourceMapDir = t4.dirname$1(sourceMapPath);
  10609. t2 = t2.sourceMap;
  10610. t2.sourceRoot = t3.get$sourceMapRoot(options);
  10611. if (t3.get$outFile(options) == null)
  10612. if (t3.get$file(options) == null)
  10613. t2.targetUrl = "stdin.css";
  10614. else
  10615. t2.targetUrl = J.toString$0$(t4.toUri$1(t4.withoutExtension$1(t3.get$file(options)) + ".css"));
  10616. else
  10617. t2.targetUrl = J.toString$0$(t4.toUri$1(t4.relative$2$from(t3.get$outFile(options), sourceMapDir)));
  10618. sourceMapDirUrl = J.toString$0$(t4.toUri$1(sourceMapDir));
  10619. for (t4 = t2.urls, i = 0; i < t4.length; ++i) {
  10620. source = t4[i];
  10621. if (source === "stdin")
  10622. continue;
  10623. t4[i] = $.$get$url().relative$2$from(source, sourceMapDirUrl);
  10624. }
  10625. t4 = t3.get$sourceMapContents(options);
  10626. t2 = C.C_JsonCodec.encode$2$toEncodable(t2.toJson$1$includeSourceContents(!J.$eq$(t4, false) && t4 != null), _null);
  10627. sourceMapBytes = self.Buffer.from(t2, "utf8");
  10628. t2 = t3.get$omitSourceMapUrl(options);
  10629. if (!(!J.$eq$(t2, false) && t2 != null)) {
  10630. t2 = t3.get$sourceMapEmbed(options);
  10631. if (!J.$eq$(t2, false) && t2 != null) {
  10632. buffer = new P.StringBuffer("");
  10633. indices = H.setRuntimeTypeInfo([-1], [P.int]);
  10634. P.UriData__writeUri("application/json", _null, _null, buffer, indices);
  10635. indices.push(buffer._contents.length);
  10636. t2 = buffer._contents += ";base64,";
  10637. indices.push(t2.length - 1);
  10638. C.C_Base64Encoder.startChunkedConversion$1(new P._StringSinkConversionSink(buffer)).addSlice$4(sourceMapBytes, 0, sourceMapBytes.length, true);
  10639. t2 = buffer._contents;
  10640. url = new P.UriData(t2.charCodeAt(0) == 0 ? t2 : t2, indices, _null).get$uri();
  10641. } else {
  10642. if (t3.get$outFile(options) == null)
  10643. t2 = sourceMapPath;
  10644. else {
  10645. t2 = t3.get$outFile(options);
  10646. t3 = $.$get$context();
  10647. t2 = t3.relative$2$from(sourceMapPath, t3.dirname$1(t2));
  10648. }
  10649. url = $.$get$context().toUri$1(t2);
  10650. }
  10651. css += "\n\n/*# sourceMappingURL=" + H.S(url) + " */";
  10652. }
  10653. } else
  10654. sourceMapBytes = _null;
  10655. t2 = self.Buffer.from(css, "utf8");
  10656. t3 = J.get$file$x(options);
  10657. if (t3 == null)
  10658. t3 = "data";
  10659. t4 = start._value;
  10660. t1 = new P.DateTime(t1, false)._value;
  10661. return {css: t2, map: sourceMapBytes, stats: {entry: t3, start: t4, end: t1, duration: C.JSInt_methods._tdivFast$1(P.Duration$(t1 - t4, 0)._duration, 1000), includedFiles: result._evaluate.includedFiles.toList$0(0)}};
  10662. },
  10663. _enableSourceMaps: function(options) {
  10664. var t1 = J.getInterceptor$x(options),
  10665. t2 = t1.get$sourceMap(options);
  10666. if (typeof t2 !== "string") {
  10667. t2 = t1.get$sourceMap(options);
  10668. t1 = !J.$eq$(t2, false) && t2 != null && t1.get$outFile(options) != null;
  10669. } else
  10670. t1 = true;
  10671. return t1;
  10672. },
  10673. _newRenderError: function(message, column, file, line, $status) {
  10674. var error = new self.Error(message);
  10675. error.formatted = "Error: " + H.S(message);
  10676. if (line != null)
  10677. error.line = line;
  10678. if (column != null)
  10679. error.column = column;
  10680. if (file != null)
  10681. error.file = file;
  10682. error.status = $status;
  10683. return error;
  10684. },
  10685. main_closure: function main_closure() {
  10686. },
  10687. _render_closure: function _render_closure(t0, t1) {
  10688. this.callback = t0;
  10689. this.options = t1;
  10690. },
  10691. _render_closure0: function _render_closure0(t0) {
  10692. this.callback = t0;
  10693. },
  10694. _render_closure1: function _render_closure1(t0) {
  10695. this.callback = t0;
  10696. },
  10697. _parseFunctions_closure: function _parseFunctions_closure(t0, t1, t2) {
  10698. this.options = t0;
  10699. this.result = t1;
  10700. this.asynch = t2;
  10701. },
  10702. _parseFunctions__closure: function _parseFunctions__closure(t0, t1) {
  10703. this.options = t0;
  10704. this.callback = t1;
  10705. },
  10706. _parseFunctions___closure0: function _parseFunctions___closure0(t0) {
  10707. this.fiber = t0;
  10708. },
  10709. _parseFunctions____closure: function _parseFunctions____closure(t0, t1) {
  10710. this.fiber = t0;
  10711. this.result = t1;
  10712. },
  10713. _parseFunctions__closure0: function _parseFunctions__closure0(t0) {
  10714. this.callback = t0;
  10715. },
  10716. _parseFunctions__closure1: function _parseFunctions__closure1(t0) {
  10717. this.callback = t0;
  10718. },
  10719. _parseFunctions___closure: function _parseFunctions___closure(t0) {
  10720. this.completer = t0;
  10721. },
  10722. _parseImporter_closure: function _parseImporter_closure(t0) {
  10723. this.options = t0;
  10724. },
  10725. _parseImporter__closure: function _parseImporter__closure(t0, t1) {
  10726. this.options = t0;
  10727. this.importer = t1;
  10728. },
  10729. _parseImporter___closure: function _parseImporter___closure(t0) {
  10730. this.fiber = t0;
  10731. },
  10732. _parseImporter____closure: function _parseImporter____closure(t0, t1) {
  10733. this.fiber = t0;
  10734. this.result = t1;
  10735. },
  10736. forwardToString: function(klass) {
  10737. klass.prototype.toString = P.allowInteropCaptureThis(new B.forwardToString_closure());
  10738. },
  10739. jsForEach: function(object, callback) {
  10740. var t1, t2;
  10741. for (t1 = J.get$iterator$ax(self.Object.keys(object)); t1.moveNext$0();) {
  10742. t2 = t1.get$current(t1);
  10743. callback.call$2(t2, object[t2]);
  10744. }
  10745. },
  10746. createClass: function($constructor, methods) {
  10747. var klass = P.allowInteropCaptureThis($constructor);
  10748. methods.forEach$1(0, new B.createClass_closure(klass.prototype));
  10749. return klass;
  10750. },
  10751. injectSuperclass: function(object, $constructor) {
  10752. var t1,
  10753. $prototype = self.Object.getPrototypeOf(object),
  10754. $parent = self.Object.getPrototypeOf($prototype);
  10755. if ($parent != null) {
  10756. t1 = $constructor.prototype;
  10757. self.Object.setPrototypeOf(t1, $parent);
  10758. }
  10759. t1 = $constructor.prototype;
  10760. t1 = self.Object.create(t1);
  10761. self.Object.setPrototypeOf($prototype, t1);
  10762. },
  10763. forwardToString_closure: function forwardToString_closure() {
  10764. },
  10765. createClass_closure: function createClass_closure(t0) {
  10766. this.$prototype = t0;
  10767. },
  10768. toSentence: function(iter, conjunction) {
  10769. if (iter.get$length(iter) === 1)
  10770. return J.toString$0$(iter.get$first(iter));
  10771. return iter.take$1(0, iter.get$length(iter) - 1).join$1(0, ", ") + (" " + conjunction + " " + H.S(iter.get$last(iter)));
  10772. },
  10773. indent: function(string, indentation) {
  10774. var t1 = P.String,
  10775. t2 = H.setRuntimeTypeInfo(string.split("\n"), [t1]);
  10776. return new H.MappedListIterable(t2, new B.indent_closure(indentation), [H.getTypeArgumentByIndex(t2, 0), t1]).join$1(0, "\n");
  10777. },
  10778. pluralize: function($name, number, plural) {
  10779. if (number === 1)
  10780. return $name;
  10781. if (plural != null)
  10782. return plural;
  10783. return $name + "s";
  10784. },
  10785. trimAscii: function(string, excludeEscape) {
  10786. var start = B._firstNonWhitespace(string);
  10787. return start == null ? "" : J.substring$2$s(string, start, B._lastNonWhitespace(string, true) + 1);
  10788. },
  10789. trimAsciiRight: function(string, excludeEscape) {
  10790. var end = B._lastNonWhitespace(string, excludeEscape);
  10791. return end == null ? "" : J.substring$2$s(string, 0, end + 1);
  10792. },
  10793. _firstNonWhitespace: function(string) {
  10794. var t1, i, t2;
  10795. for (t1 = string.length, i = 0; i < t1; ++i) {
  10796. t2 = C.JSString_methods._codeUnitAt$1(string, i);
  10797. if (!(t2 === 32 || t2 === 9 || t2 === 10 || t2 === 13 || t2 === 12))
  10798. return i;
  10799. }
  10800. return;
  10801. },
  10802. _lastNonWhitespace: function(string, excludeEscape) {
  10803. var t1, i, t2, codeUnit;
  10804. for (t1 = string.length, i = t1 - 1, t2 = J.getInterceptor$s(string); i >= 0; --i) {
  10805. codeUnit = t2.codeUnitAt$1(string, i);
  10806. if (!(codeUnit === 32 || codeUnit === 9 || codeUnit === 10 || codeUnit === 13 || codeUnit === 12))
  10807. if (excludeEscape && i !== 0 && i !== t1 && codeUnit === 92)
  10808. return i + 1;
  10809. else
  10810. return i;
  10811. }
  10812. return;
  10813. },
  10814. isPublic: function(member) {
  10815. var start = J._codeUnitAt$1$s(member, 0);
  10816. return start !== 45 && start !== 95;
  10817. },
  10818. flattenVertically: function(iterable, $T) {
  10819. var result, t1,
  10820. queues = new H.MappedListIterable(iterable, new B.flattenVertically_closure($T), [H.getRuntimeTypeArgument(iterable, "ListIterable", 0), [Q.QueueList, $T]]).toList$0(0);
  10821. if (queues.length === 1)
  10822. return C.JSArray_methods.get$first(queues);
  10823. result = H.setRuntimeTypeInfo([], [$T]);
  10824. for (t1 = !!queues.fixed$length; queues.length !== 0;) {
  10825. if (t1)
  10826. H.throwExpression(P.UnsupportedError$("removeWhere"));
  10827. C.JSArray_methods._removeWhere$2(queues, new B.flattenVertically_closure0(result), true);
  10828. }
  10829. return result;
  10830. },
  10831. firstOrNull: function(iterable) {
  10832. var iterator = J.get$iterator$ax(iterable);
  10833. return iterator.moveNext$0() ? iterator.get$current(iterator) : null;
  10834. },
  10835. codepointIndexToCodeUnitIndex: function(string, codepointIndex) {
  10836. var t1, codeUnitIndex, i, codeUnitIndex0, t2;
  10837. for (t1 = J.getInterceptor$s(string), codeUnitIndex = 0, i = 0; i < codepointIndex; ++i) {
  10838. codeUnitIndex0 = codeUnitIndex + 1;
  10839. t2 = t1._codeUnitAt$1(string, codeUnitIndex);
  10840. codeUnitIndex = t2 >= 55296 && t2 <= 56319 ? codeUnitIndex0 + 1 : codeUnitIndex0;
  10841. }
  10842. return codeUnitIndex;
  10843. },
  10844. codeUnitIndexToCodepointIndex: function(string, codeUnitIndex) {
  10845. var t1, codepointIndex, i, t2;
  10846. for (t1 = J.getInterceptor$s(string), codepointIndex = 0, i = 0; i < codeUnitIndex; i = (t2 >= 55296 && t2 <= 56319 ? i + 1 : i) + 1) {
  10847. ++codepointIndex;
  10848. t2 = t1._codeUnitAt$1(string, i);
  10849. }
  10850. return codepointIndex;
  10851. },
  10852. frameForSpan: function(span, member, url) {
  10853. var t2, t3, t4,
  10854. t1 = url == null ? span.file.url : url;
  10855. if (t1 == null)
  10856. t1 = $.$get$_noSourceUrl();
  10857. t2 = span.file;
  10858. t3 = span._start;
  10859. t4 = Y.FileLocation$_(t2, t3);
  10860. t4 = t4.file.getLine$1(t4.offset);
  10861. t3 = Y.FileLocation$_(t2, t3);
  10862. return new A.Frame(t1, t4 + 1, t3.file.getColumn$1(t3.offset) + 1, member);
  10863. },
  10864. spanForList: function(nodes) {
  10865. var left, right;
  10866. if (nodes.length === 0)
  10867. return;
  10868. left = C.JSArray_methods.get$first(nodes).get$span();
  10869. if (left == null)
  10870. return;
  10871. right = C.JSArray_methods.get$last(nodes).get$span();
  10872. if (right == null)
  10873. return;
  10874. return left.expand$1(0, right);
  10875. },
  10876. declarationName: function(span) {
  10877. var text = P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(span.file._decodedChars, span._start, span._end), 0, null);
  10878. return B.trimAsciiRight(C.JSString_methods.substring$2(text, 0, C.JSString_methods.indexOf$1(text, ":")), false);
  10879. },
  10880. unvendor: function($name) {
  10881. var i,
  10882. t1 = $name.length;
  10883. if (t1 < 2)
  10884. return $name;
  10885. if (J.getInterceptor$s($name)._codeUnitAt$1($name, 0) !== 45)
  10886. return $name;
  10887. if (C.JSString_methods._codeUnitAt$1($name, 1) === 45)
  10888. return $name;
  10889. for (i = 2; i < t1; ++i)
  10890. if (C.JSString_methods._codeUnitAt$1($name, i) === 45)
  10891. return C.JSString_methods.substring$1($name, i + 1);
  10892. return $name;
  10893. },
  10894. equalsIgnoreCase: function(string1, string2) {
  10895. var t1, i;
  10896. if (string1 == string2)
  10897. return true;
  10898. if (string1 == null || string2 == null)
  10899. return false;
  10900. t1 = string1.length;
  10901. if (t1 !== string2.length)
  10902. return false;
  10903. for (i = 0; i < t1; ++i)
  10904. if (!T.characterEqualsIgnoreCase(C.JSString_methods._codeUnitAt$1(string1, i), C.JSString_methods._codeUnitAt$1(string2, i)))
  10905. return false;
  10906. return true;
  10907. },
  10908. startsWithIgnoreCase: function(string, prefix) {
  10909. var t2, i,
  10910. t1 = prefix.length;
  10911. if (string.length < t1)
  10912. return false;
  10913. for (t2 = J.getInterceptor$s(string), i = 0; i < t1; ++i)
  10914. if (!T.characterEqualsIgnoreCase(t2._codeUnitAt$1(string, i), C.JSString_methods._codeUnitAt$1(prefix, i)))
  10915. return false;
  10916. return true;
  10917. },
  10918. startsWithIgnoreSeparator: function(string, prefix) {
  10919. var i, stringCodeUnit, prefixCodeUnit,
  10920. t1 = string.length,
  10921. t2 = prefix.length;
  10922. if (t1 < t2)
  10923. return false;
  10924. for (t1 = J.getInterceptor$s(string), i = 0; i < t2; ++i) {
  10925. stringCodeUnit = t1._codeUnitAt$1(string, i);
  10926. prefixCodeUnit = C.JSString_methods._codeUnitAt$1(prefix, i);
  10927. if (stringCodeUnit === prefixCodeUnit)
  10928. continue;
  10929. if (stringCodeUnit === 45) {
  10930. if (prefixCodeUnit !== 95)
  10931. return false;
  10932. } else if (stringCodeUnit === 95) {
  10933. if (prefixCodeUnit !== 45)
  10934. return false;
  10935. } else
  10936. return false;
  10937. }
  10938. return true;
  10939. },
  10940. mapInPlace: function(list, $function) {
  10941. var i;
  10942. for (i = 0; i < list.length; ++i)
  10943. list[i] = $function.call$1(list[i]);
  10944. },
  10945. longestCommonSubsequence: function(list1, list2, select, $T) {
  10946. var t1, lengths, selections, t2, i, i0, j, selection, t3, j0, t4, t5;
  10947. if (select == null)
  10948. select = new B.longestCommonSubsequence_closure($T);
  10949. t1 = J.getInterceptor$asx(list1);
  10950. lengths = P.List_List$generate(t1.get$length(list1) + 1, new B.longestCommonSubsequence_closure0(list2), false, [P.List, P.int]);
  10951. selections = P.List_List$generate(t1.get$length(list1), new B.longestCommonSubsequence_closure1(list2, $T), false, [P.List, $T]);
  10952. for (t2 = J.getInterceptor$asx(list2), i = 0; i < t1.get$length(list1); i = i0)
  10953. for (i0 = i + 1, j = 0; j < t2.get$length(list2); j = j0) {
  10954. selection = select.call$2(t1.$index(list1, i), t2.$index(list2, j));
  10955. J.$indexSet$ax(selections[i], j, selection);
  10956. t3 = lengths[i0];
  10957. j0 = j + 1;
  10958. if (selection == null) {
  10959. t4 = J.$index$asx(t3, j);
  10960. t5 = J.$index$asx(lengths[i], j0);
  10961. t5 = Math.max(H.checkNum(t4), H.checkNum(t5));
  10962. t4 = t5;
  10963. } else
  10964. t4 = J.$index$asx(lengths[i], j) + 1;
  10965. J.$indexSet$ax(t3, j0, t4);
  10966. }
  10967. return new B.longestCommonSubsequence_backtrack(selections, lengths, $T).call$2(t1.get$length(list1) - 1, t2.get$length(list2) - 1);
  10968. },
  10969. removeFirstWhere: function(list, test, orElse) {
  10970. var toRemove, element,
  10971. t1 = list.length,
  10972. _i = 0;
  10973. while (true) {
  10974. if (!(_i < list.length)) {
  10975. toRemove = null;
  10976. break;
  10977. }
  10978. c$0: {
  10979. element = list[_i];
  10980. if (!test.call$1(element))
  10981. break c$0;
  10982. toRemove = element;
  10983. break;
  10984. }
  10985. list.length === t1 || (0, H.throwConcurrentModificationError)(list);
  10986. ++_i;
  10987. }
  10988. if (toRemove == null)
  10989. return orElse.call$0();
  10990. else {
  10991. C.JSArray_methods.remove$1(list, toRemove);
  10992. return toRemove;
  10993. }
  10994. },
  10995. mapAddAll2: function(destination, source) {
  10996. source.forEach$1(0, new B.mapAddAll2_closure(destination));
  10997. },
  10998. setAll: function(map, keys, value) {
  10999. var t1;
  11000. for (t1 = J.get$iterator$ax(keys); t1.moveNext$0();)
  11001. map.$indexSet(0, t1.get$current(t1), value);
  11002. },
  11003. rotateSlice: function(list, start, end) {
  11004. var i, next,
  11005. element = list.$index(0, end - 1);
  11006. for (i = start; i < end; ++i, element = next) {
  11007. next = list.$index(0, i);
  11008. list.$indexSet(0, i, element);
  11009. }
  11010. },
  11011. mapAsync: function(iterable, callback, $E, $F) {
  11012. return B.mapAsync$body(iterable, callback, $E, $F, [P.Iterable, $F]);
  11013. },
  11014. mapAsync$body: function(iterable, callback, $E, $F, $async$type) {
  11015. var $async$goto = 0,
  11016. $async$completer = P._makeAsyncAwaitCompleter($async$type),
  11017. $async$returnValue, t2, _i, t1, $async$temp1;
  11018. var $async$mapAsync = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  11019. if ($async$errorCode === 1)
  11020. return P._asyncRethrow($async$result, $async$completer);
  11021. while (true)
  11022. switch ($async$goto) {
  11023. case 0:
  11024. // Function start
  11025. t1 = H.setRuntimeTypeInfo([], [$F]);
  11026. t2 = iterable.length, _i = 0;
  11027. case 3:
  11028. // for condition
  11029. if (!(_i < t2)) {
  11030. // goto after for
  11031. $async$goto = 5;
  11032. break;
  11033. }
  11034. $async$temp1 = t1;
  11035. $async$goto = 6;
  11036. return P._asyncAwait(callback.call$1(iterable[_i]), $async$mapAsync);
  11037. case 6:
  11038. // returning from await.
  11039. $async$temp1.push($async$result);
  11040. case 4:
  11041. // for update
  11042. ++_i;
  11043. // goto for condition
  11044. $async$goto = 3;
  11045. break;
  11046. case 5:
  11047. // after for
  11048. $async$returnValue = t1;
  11049. // goto return
  11050. $async$goto = 1;
  11051. break;
  11052. case 1:
  11053. // return
  11054. return P._asyncReturn($async$returnValue, $async$completer);
  11055. }
  11056. });
  11057. return P._asyncStartSync($async$mapAsync, $async$completer);
  11058. },
  11059. putIfAbsentAsync: function(map, key, ifAbsent, $K, $V) {
  11060. return B.putIfAbsentAsync$body(map, key, ifAbsent, $K, $V, $V);
  11061. },
  11062. putIfAbsentAsync$body: function(map, key, ifAbsent, $K, $V, $async$type) {
  11063. var $async$goto = 0,
  11064. $async$completer = P._makeAsyncAwaitCompleter($async$type),
  11065. $async$returnValue, value;
  11066. var $async$putIfAbsentAsync = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  11067. if ($async$errorCode === 1)
  11068. return P._asyncRethrow($async$result, $async$completer);
  11069. while (true)
  11070. switch ($async$goto) {
  11071. case 0:
  11072. // Function start
  11073. if (map.containsKey$1(key)) {
  11074. $async$returnValue = map.$index(0, key);
  11075. // goto return
  11076. $async$goto = 1;
  11077. break;
  11078. }
  11079. $async$goto = 3;
  11080. return P._asyncAwait(ifAbsent.call$0(), $async$putIfAbsentAsync);
  11081. case 3:
  11082. // returning from await.
  11083. value = $async$result;
  11084. map.$indexSet(0, key, value);
  11085. $async$returnValue = value;
  11086. // goto return
  11087. $async$goto = 1;
  11088. break;
  11089. case 1:
  11090. // return
  11091. return P._asyncReturn($async$returnValue, $async$completer);
  11092. }
  11093. });
  11094. return P._asyncStartSync($async$putIfAbsentAsync, $async$completer);
  11095. },
  11096. mapMapAsync: function(map, value, K1, V1, K2, V2) {
  11097. return B.mapMapAsync$body(map, value, K1, V1, K2, V2, [P.Map, K2, V2]);
  11098. },
  11099. mapMapAsync$body: function(map, value, K1, V1, K2, V2, $async$type) {
  11100. var $async$goto = 0,
  11101. $async$completer = P._makeAsyncAwaitCompleter($async$type),
  11102. $async$returnValue, t1, mapKey, mapValue, key, result, $async$temp1, $async$temp2;
  11103. var $async$mapMapAsync = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  11104. if ($async$errorCode === 1)
  11105. return P._asyncRethrow($async$result, $async$completer);
  11106. while (true)
  11107. switch ($async$goto) {
  11108. case 0:
  11109. // Function start
  11110. key = new B.mapMapAsync_closure(K2, K1, V1);
  11111. result = P.LinkedHashMap_LinkedHashMap$_empty(K2, V2);
  11112. t1 = map.get$keys(), t1 = t1.get$iterator(t1);
  11113. case 3:
  11114. // for condition
  11115. if (!t1.moveNext$0()) {
  11116. // goto after for
  11117. $async$goto = 4;
  11118. break;
  11119. }
  11120. mapKey = t1.get$current(t1);
  11121. mapValue = map.$index(0, mapKey);
  11122. $async$temp1 = result;
  11123. $async$goto = 5;
  11124. return P._asyncAwait(key.call$2(mapKey, mapValue), $async$mapMapAsync);
  11125. case 5:
  11126. // returning from await.
  11127. $async$temp2 = $async$result;
  11128. $async$goto = 6;
  11129. return P._asyncAwait(value.call$2(mapKey, mapValue), $async$mapMapAsync);
  11130. case 6:
  11131. // returning from await.
  11132. $async$temp1.$indexSet(0, $async$temp2, $async$result);
  11133. // goto for condition
  11134. $async$goto = 3;
  11135. break;
  11136. case 4:
  11137. // after for
  11138. $async$returnValue = result;
  11139. // goto return
  11140. $async$goto = 1;
  11141. break;
  11142. case 1:
  11143. // return
  11144. return P._asyncReturn($async$returnValue, $async$completer);
  11145. }
  11146. });
  11147. return P._asyncStartSync($async$mapMapAsync, $async$completer);
  11148. },
  11149. copyMapOfMap: function(map, K1, K2, $V) {
  11150. var t1 = [P.Map, K2, $V];
  11151. return Y.mapMap(map, null, new B.copyMapOfMap_closure(K2, $V), K1, t1, K1, t1);
  11152. },
  11153. copyMapOfList: function(map, $K, $E) {
  11154. var t1 = [P.List, $E];
  11155. return Y.mapMap(map, null, new B.copyMapOfList_closure(), $K, t1, $K, t1);
  11156. },
  11157. indent_closure: function indent_closure(t0) {
  11158. this.indentation = t0;
  11159. },
  11160. flattenVertically_closure: function flattenVertically_closure(t0) {
  11161. this.T = t0;
  11162. },
  11163. flattenVertically_closure0: function flattenVertically_closure0(t0) {
  11164. this.result = t0;
  11165. },
  11166. longestCommonSubsequence_closure: function longestCommonSubsequence_closure(t0) {
  11167. this.T = t0;
  11168. },
  11169. longestCommonSubsequence_closure0: function longestCommonSubsequence_closure0(t0) {
  11170. this.list2 = t0;
  11171. },
  11172. longestCommonSubsequence_closure1: function longestCommonSubsequence_closure1(t0, t1) {
  11173. this.list2 = t0;
  11174. this.T = t1;
  11175. },
  11176. longestCommonSubsequence_backtrack: function longestCommonSubsequence_backtrack(t0, t1, t2) {
  11177. this.selections = t0;
  11178. this.lengths = t1;
  11179. this.T = t2;
  11180. },
  11181. mapAddAll2_closure: function mapAddAll2_closure(t0) {
  11182. this.destination = t0;
  11183. },
  11184. mapMapAsync_closure: function mapMapAsync_closure(t0, t1, t2) {
  11185. this.K2 = t0;
  11186. this.K1 = t1;
  11187. this.V1 = t2;
  11188. },
  11189. copyMapOfMap_closure: function copyMapOfMap_closure(t0, t1) {
  11190. this.K2 = t0;
  11191. this.V = t1;
  11192. },
  11193. copyMapOfList_closure: function copyMapOfList_closure() {
  11194. },
  11195. isAlphabetic: function(char) {
  11196. var t1;
  11197. if (!(char >= 65 && char <= 90))
  11198. t1 = char >= 97 && char <= 122;
  11199. else
  11200. t1 = true;
  11201. return t1;
  11202. },
  11203. isDriveLetter: function(path, index) {
  11204. var t1 = path.length,
  11205. t2 = index + 2;
  11206. if (t1 < t2)
  11207. return false;
  11208. if (!B.isAlphabetic(C.JSString_methods.codeUnitAt$1(path, index)))
  11209. return false;
  11210. if (C.JSString_methods.codeUnitAt$1(path, index + 1) !== 58)
  11211. return false;
  11212. if (t1 === t2)
  11213. return true;
  11214. return C.JSString_methods.codeUnitAt$1(path, t2) === 47;
  11215. },
  11216. countCodeUnits: function(string, codeUnit) {
  11217. var t1, count;
  11218. for (t1 = new H.CodeUnits(string), t1 = new H.ListIterator(t1, t1.get$length(t1)), count = 0; t1.moveNext$0();)
  11219. if (t1.__internal$_current === codeUnit)
  11220. ++count;
  11221. return count;
  11222. },
  11223. findLineStart: function(context, text, column) {
  11224. var beginningOfLine, index, lineStart;
  11225. if (text.length === 0)
  11226. for (beginningOfLine = 0; true;) {
  11227. index = C.JSString_methods.indexOf$2(context, "\n", beginningOfLine);
  11228. if (index === -1)
  11229. return context.length - beginningOfLine >= column ? beginningOfLine : null;
  11230. if (index - beginningOfLine >= column)
  11231. return beginningOfLine;
  11232. beginningOfLine = index + 1;
  11233. }
  11234. index = C.JSString_methods.indexOf$1(context, text);
  11235. for (; index !== -1;) {
  11236. lineStart = index === 0 ? 0 : C.JSString_methods.lastIndexOf$2(context, "\n", index - 1) + 1;
  11237. if (column === index - lineStart)
  11238. return lineStart;
  11239. index = C.JSString_methods.indexOf$2(context, text, index + 1);
  11240. }
  11241. return;
  11242. },
  11243. validateErrorArgs: function(string, match, position, $length) {
  11244. var t2,
  11245. t1 = position != null;
  11246. if (t1)
  11247. if (position < 0)
  11248. throw H.wrapException(P.RangeError$("position must be greater than or equal to 0."));
  11249. else if (position > string.length)
  11250. throw H.wrapException(P.RangeError$("position must be less than or equal to the string length."));
  11251. t2 = $length != null;
  11252. if (t2 && $length < 0)
  11253. throw H.wrapException(P.RangeError$("length must be greater than or equal to 0."));
  11254. if (t1 && t2 && position + $length > string.length)
  11255. throw H.wrapException(P.RangeError$("position plus length must not go beyond the end of the string."));
  11256. }
  11257. },
  11258. O = {
  11259. EmptyUnmodifiableSet__throw: function() {
  11260. throw H.wrapException(P.UnsupportedError$("Cannot modify an unmodifiable Set"));
  11261. },
  11262. EmptyUnmodifiableSet: function EmptyUnmodifiableSet(t0) {
  11263. this.$ti = t0;
  11264. },
  11265. Style__getPlatformStyle: function() {
  11266. if (P.Uri_base().get$scheme() !== "file")
  11267. return $.$get$Style_url();
  11268. var t1 = P.Uri_base();
  11269. if (!C.JSString_methods.endsWith$1(t1.get$path(t1), "/"))
  11270. return $.$get$Style_url();
  11271. if (P._Uri__Uri(null, "a/b", null, null).toFilePath$0() === "a\\b")
  11272. return $.$get$Style_windows();
  11273. return $.$get$Style_posix();
  11274. },
  11275. Style: function Style() {
  11276. },
  11277. NullExpression: function NullExpression(t0) {
  11278. this.span = t0;
  11279. },
  11280. Statement: function Statement() {
  11281. },
  11282. AsyncImportCache$none: function(logger) {
  11283. var t1 = logger == null ? C.StderrLogger_false : logger,
  11284. t2 = P.Uri;
  11285. return new O.AsyncImportCache(C.List_empty13, t1, P.LinkedHashMap_LinkedHashMap$_empty(t2, [S.Tuple3, B.AsyncImporter, P.Uri, P.Uri]), P.LinkedHashMap_LinkedHashMap$_empty(t2, V.Stylesheet), P.LinkedHashMap_LinkedHashMap$_empty(t2, E.ImporterResult));
  11286. },
  11287. AsyncImportCache__toImporters: function(importers, loadPaths, packageResolver) {
  11288. var _i, t2, t3, path, _null = null,
  11289. sassPath = H.stringTypeCast(J.get$env$x(self.process).SASS_PATH),
  11290. t1 = H.setRuntimeTypeInfo([], [B.AsyncImporter]);
  11291. for (_i = 0; false; ++_i)
  11292. t1.push(importers[_i]);
  11293. if (loadPaths != null)
  11294. for (t2 = J.get$iterator$ax(loadPaths); t2.moveNext$0();) {
  11295. t3 = t2.get$current(t2);
  11296. t1.push(new F.FilesystemImporter($.$get$context().absolute$7(t3, _null, _null, _null, _null, _null, _null)));
  11297. }
  11298. if (sassPath != null) {
  11299. t2 = sassPath.split(J.$eq$(J.get$platform$x(self.process), "win32") ? ";" : ":");
  11300. t3 = t2.length;
  11301. _i = 0;
  11302. for (; _i < t3; ++_i) {
  11303. path = t2[_i];
  11304. t1.push(new F.FilesystemImporter($.$get$context().absolute$7(path, _null, _null, _null, _null, _null, _null)));
  11305. }
  11306. }
  11307. return t1;
  11308. },
  11309. AsyncImportCache: function AsyncImportCache(t0, t1, t2, t3, t4) {
  11310. var _ = this;
  11311. _._async_import_cache$_importers = t0;
  11312. _._async_import_cache$_logger = t1;
  11313. _._async_import_cache$_canonicalizeCache = t2;
  11314. _._async_import_cache$_importCache = t3;
  11315. _._async_import_cache$_resultsCache = t4;
  11316. },
  11317. AsyncImportCache_canonicalize_closure: function AsyncImportCache_canonicalize_closure(t0, t1) {
  11318. this.$this = t0;
  11319. this.url = t1;
  11320. },
  11321. AsyncImportCache_importCanonical_closure: function AsyncImportCache_importCanonical_closure(t0, t1, t2, t3) {
  11322. var _ = this;
  11323. _.$this = t0;
  11324. _.importer = t1;
  11325. _.canonicalUrl = t2;
  11326. _.originalUrl = t3;
  11327. },
  11328. AsyncImportCache_humanize_closure: function AsyncImportCache_humanize_closure(t0) {
  11329. this.canonicalUrl = t0;
  11330. },
  11331. AsyncImportCache_humanize_closure0: function AsyncImportCache_humanize_closure0() {
  11332. },
  11333. AsyncImportCache_humanize_closure1: function AsyncImportCache_humanize_closure1() {
  11334. },
  11335. Environment$: function(sourceMap) {
  11336. var _null = null,
  11337. t1 = P.String,
  11338. t2 = [G.Module, D.Callable],
  11339. t3 = H.setRuntimeTypeInfo([], [t2]),
  11340. t4 = H.setRuntimeTypeInfo([P.LinkedHashMap_LinkedHashMap$_empty(t1, F.Value)], [[P.Map, P.String, F.Value]]),
  11341. t5 = sourceMap ? H.setRuntimeTypeInfo([P.LinkedHashMap_LinkedHashMap$_empty(t1, B.AstNode)], [[P.Map, P.String, B.AstNode]]) : _null,
  11342. t6 = P.int,
  11343. t7 = D.Callable,
  11344. t8 = [[P.Map, P.String, D.Callable]];
  11345. return new O.Environment(P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), _null, _null, t3, t4, t5, P.LinkedHashMap_LinkedHashMap$_empty(t1, t6), H.setRuntimeTypeInfo([P.LinkedHashMap_LinkedHashMap$_empty(t1, t7)], t8), P.LinkedHashMap_LinkedHashMap$_empty(t1, t6), H.setRuntimeTypeInfo([P.LinkedHashMap_LinkedHashMap$_empty(t1, t7)], t8), P.LinkedHashMap_LinkedHashMap$_empty(t1, t6), _null);
  11346. },
  11347. Environment$_: function(_modules, _globalModules, _forwardedModules, _allModules, _variables, _variableNodes, _functions, _mixins, _content) {
  11348. var t1 = P.String,
  11349. t2 = P.int;
  11350. return new O.Environment(_modules, _globalModules, _forwardedModules, _allModules, _variables, _variableNodes, P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), _functions, P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), _mixins, P.LinkedHashMap_LinkedHashMap$_empty(t1, t2), _content);
  11351. },
  11352. _EnvironmentModule__EnvironmentModule: function(environment, css, extender, forwarded) {
  11353. var t1, t2, t3, t4, t5, t6;
  11354. if (forwarded == null)
  11355. forwarded = C.List_empty2;
  11356. t1 = O._EnvironmentModule__makeModulesByVariable(forwarded);
  11357. t2 = H.getTypeArgumentByIndex(forwarded, 0);
  11358. t3 = O._EnvironmentModule__memberMap(C.JSArray_methods.get$first(environment._variables), new H.MappedListIterable(forwarded, new O._EnvironmentModule__EnvironmentModule_closure(), [t2, [P.Map, P.String, F.Value]]), F.Value);
  11359. t4 = environment._variableNodes;
  11360. t4 = t4 == null ? null : O._EnvironmentModule__memberMap(C.JSArray_methods.get$first(t4), new H.MappedListIterable(forwarded, new O._EnvironmentModule__EnvironmentModule_closure0(), [t2, [P.Map, P.String, B.AstNode]]), B.AstNode);
  11361. t2 = [t2, [P.Map, P.String, D.Callable]];
  11362. t5 = D.Callable;
  11363. t6 = O._EnvironmentModule__memberMap(C.JSArray_methods.get$first(environment._functions), new H.MappedListIterable(forwarded, new O._EnvironmentModule__EnvironmentModule_closure1(), t2), t5);
  11364. t5 = O._EnvironmentModule__memberMap(C.JSArray_methods.get$first(environment._mixins), new H.MappedListIterable(forwarded, new O._EnvironmentModule__EnvironmentModule_closure2(), t2), t5);
  11365. t2 = J.get$isNotEmpty$asx(css.get$children()) || C.JSArray_methods.any$1(environment._allModules, new O._EnvironmentModule__EnvironmentModule_closure3());
  11366. return O._EnvironmentModule$_(environment, css, extender, t1, t3, t4, t6, t5, t2, !extender.get$isEmpty(extender) || C.JSArray_methods.any$1(environment._allModules, new O._EnvironmentModule__EnvironmentModule_closure4()));
  11367. },
  11368. _EnvironmentModule__makeModulesByVariable: function(forwarded) {
  11369. var modulesByVariable, _i, module,
  11370. t1 = forwarded.length;
  11371. if (t1 === 0)
  11372. return C.Map_empty1;
  11373. modulesByVariable = P.LinkedHashMap_LinkedHashMap$_empty(P.String, [G.Module, D.Callable]);
  11374. for (_i = 0; _i < forwarded.length; forwarded.length === t1 || (0, H.throwConcurrentModificationError)(forwarded), ++_i) {
  11375. module = forwarded[_i];
  11376. B.setAll(modulesByVariable, module.variables.get$keys(), module);
  11377. }
  11378. return modulesByVariable;
  11379. },
  11380. _EnvironmentModule__memberMap: function(localMap, otherMaps, $V) {
  11381. var t1, t2, t3;
  11382. localMap = new U.PublicMemberMapView(localMap, [$V]);
  11383. if (otherMaps.get$length(otherMaps) === 0)
  11384. return localMap;
  11385. t1 = H.setRuntimeTypeInfo([], [[P.Map, P.String, $V]]);
  11386. for (t2 = new H.ListIterator(otherMaps, otherMaps.get$length(otherMaps)); t2.moveNext$0();) {
  11387. t3 = t2.__internal$_current;
  11388. if (t3.get$isNotEmpty(t3))
  11389. t1.push(t3);
  11390. }
  11391. t1.push(localMap);
  11392. if (t1.length === 1)
  11393. return localMap;
  11394. return Z.MergedMapView$(t1, P.String, $V);
  11395. },
  11396. _EnvironmentModule$_: function(_environment, css, extender, _modulesByVariable, variables, variableNodes, functions, mixins, transitivelyContainsCss, transitivelyContainsExtensions) {
  11397. return new O._EnvironmentModule(_environment._allModules, variables, variableNodes, functions, mixins, extender, css, transitivelyContainsCss, transitivelyContainsExtensions, _environment, _modulesByVariable);
  11398. },
  11399. Environment: function Environment(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
  11400. var _ = this;
  11401. _._environment$_modules = t0;
  11402. _._globalModules = t1;
  11403. _._forwardedModules = t2;
  11404. _._allModules = t3;
  11405. _._variables = t4;
  11406. _._variableNodes = t5;
  11407. _._variableIndices = t6;
  11408. _._functions = t7;
  11409. _._functionIndices = t8;
  11410. _._mixins = t9;
  11411. _._mixinIndices = t10;
  11412. _._content = t11;
  11413. _._inMixin = false;
  11414. _._inSemiGlobalScope = true;
  11415. _._lastVariableIndex = _._lastVariableName = null;
  11416. },
  11417. Environment__getVariableFromGlobalModule_closure: function Environment__getVariableFromGlobalModule_closure(t0) {
  11418. this.name = t0;
  11419. },
  11420. Environment_setVariable_closure: function Environment_setVariable_closure(t0, t1) {
  11421. this.$this = t0;
  11422. this.name = t1;
  11423. },
  11424. Environment_setVariable_closure0: function Environment_setVariable_closure0(t0) {
  11425. this.name = t0;
  11426. },
  11427. Environment_setVariable_closure1: function Environment_setVariable_closure1(t0, t1) {
  11428. this.$this = t0;
  11429. this.name = t1;
  11430. },
  11431. Environment__getFunctionFromGlobalModule_closure: function Environment__getFunctionFromGlobalModule_closure(t0) {
  11432. this.name = t0;
  11433. },
  11434. Environment__getMixinFromGlobalModule_closure: function Environment__getMixinFromGlobalModule_closure(t0) {
  11435. this.name = t0;
  11436. },
  11437. _EnvironmentModule: function _EnvironmentModule(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
  11438. var _ = this;
  11439. _.upstream = t0;
  11440. _.variables = t1;
  11441. _.variableNodes = t2;
  11442. _.functions = t3;
  11443. _.mixins = t4;
  11444. _.extender = t5;
  11445. _.css = t6;
  11446. _.transitivelyContainsCss = t7;
  11447. _.transitivelyContainsExtensions = t8;
  11448. _._environment = t9;
  11449. _._modulesByVariable = t10;
  11450. },
  11451. _EnvironmentModule__EnvironmentModule_closure: function _EnvironmentModule__EnvironmentModule_closure() {
  11452. },
  11453. _EnvironmentModule__EnvironmentModule_closure0: function _EnvironmentModule__EnvironmentModule_closure0() {
  11454. },
  11455. _EnvironmentModule__EnvironmentModule_closure1: function _EnvironmentModule__EnvironmentModule_closure1() {
  11456. },
  11457. _EnvironmentModule__EnvironmentModule_closure2: function _EnvironmentModule__EnvironmentModule_closure2() {
  11458. },
  11459. _EnvironmentModule__EnvironmentModule_closure3: function _EnvironmentModule__EnvironmentModule_closure3() {
  11460. },
  11461. _EnvironmentModule__EnvironmentModule_closure4: function _EnvironmentModule__EnvironmentModule_closure4() {
  11462. },
  11463. closure9: function closure9() {
  11464. },
  11465. _closure: function _closure() {
  11466. },
  11467. _closure0: function _closure0() {
  11468. },
  11469. SassNull: function SassNull() {
  11470. }
  11471. },
  11472. U = {DefaultEquality: function DefaultEquality() {
  11473. }, ListEquality: function ListEquality() {
  11474. }, _MapEntry: function _MapEntry(t0, t1, t2) {
  11475. this.equality = t0;
  11476. this.key = t1;
  11477. this.value = t2;
  11478. }, MapEquality: function MapEquality() {
  11479. }, ModifiableCssAtRule: function ModifiableCssAtRule(t0, t1, t2, t3, t4, t5) {
  11480. var _ = this;
  11481. _.name = t0;
  11482. _.value = t1;
  11483. _.isChildless = t2;
  11484. _.span = t3;
  11485. _.children = t4;
  11486. _._children = t5;
  11487. _._indexInParent = _._parent = null;
  11488. _.isGroupEnd = false;
  11489. }, ModifiableCssKeyframeBlock: function ModifiableCssKeyframeBlock(t0, t1, t2, t3) {
  11490. var _ = this;
  11491. _.selector = t0;
  11492. _.span = t1;
  11493. _.children = t2;
  11494. _._children = t3;
  11495. _._indexInParent = _._parent = null;
  11496. _.isGroupEnd = false;
  11497. },
  11498. AtRule$: function($name, span, children, value) {
  11499. var t1 = children == null ? null : P.List_List$unmodifiable(children, O.Statement),
  11500. t2 = t1 == null ? null : C.JSArray_methods.any$1(t1, new M.ParentStatement_closure());
  11501. return new U.AtRule($name, value, span, t1, t2 === true);
  11502. },
  11503. AtRule: function AtRule(t0, t1, t2, t3, t4) {
  11504. var _ = this;
  11505. _.name = t0;
  11506. _.value = t1;
  11507. _.span = t2;
  11508. _.children = t3;
  11509. _.hasDeclarations = t4;
  11510. },
  11511. SupportsOperation: function SupportsOperation(t0, t1, t2, t3) {
  11512. var _ = this;
  11513. _.left = t0;
  11514. _.right = t1;
  11515. _.operator = t2;
  11516. _.span = t3;
  11517. },
  11518. compile: function(path, charset, functions, importCache, indentWidth, lineFeed, logger, nodeImporter, sourceMap, style, syntax, useSpaces) {
  11519. var t1, t2, stylesheet;
  11520. if (nodeImporter == null)
  11521. t1 = syntax == null || syntax === M.Syntax_forPath(path);
  11522. else
  11523. t1 = false;
  11524. if (t1) {
  11525. if (importCache == null)
  11526. importCache = R.ImportCache$none(logger);
  11527. t1 = D.absolute(".");
  11528. t2 = $.$get$context();
  11529. stylesheet = importCache.importCanonical$3(new F.FilesystemImporter(t1), t2.toUri$1(t2.canonicalize$1(path)), t2.toUri$1(path));
  11530. } else {
  11531. t1 = B.readFile(path);
  11532. t2 = syntax == null ? M.Syntax_forPath(path) : syntax;
  11533. stylesheet = V.Stylesheet_Stylesheet$parse(t1, t2, logger, $.$get$context().toUri$1(path));
  11534. }
  11535. return U._compileStylesheet(stylesheet, logger, importCache, nodeImporter, new F.FilesystemImporter(D.absolute(".")), functions, style, useSpaces, indentWidth, lineFeed, sourceMap, charset);
  11536. },
  11537. compileString: function(source, charset, functions, importCache, importer, indentWidth, lineFeed, logger, nodeImporter, sourceMap, style, syntax, url, useSpaces) {
  11538. var stylesheet = V.Stylesheet_Stylesheet$parse(source, syntax == null ? C.Syntax_SCSS : syntax, logger, url);
  11539. return U._compileStylesheet(stylesheet, logger, importCache, nodeImporter, importer == null ? new F.FilesystemImporter(D.absolute(".")) : importer, functions, style, useSpaces, indentWidth, lineFeed, sourceMap, charset);
  11540. },
  11541. _compileStylesheet: function(stylesheet, logger, importCache, nodeImporter, importer, functions, style, useSpaces, indentWidth, lineFeed, sourceMap, charset) {
  11542. var evaluateResult = R._EvaluateVisitor$(functions, importCache, logger, nodeImporter, sourceMap).run$2(0, importer, stylesheet),
  11543. serializeResult = N.serialize(evaluateResult.stylesheet, charset, indentWidth, false, lineFeed, sourceMap, style, useSpaces),
  11544. t1 = serializeResult.sourceMap;
  11545. if (t1 != null && importCache != null)
  11546. B.mapInPlace(t1.urls, new U._compileStylesheet_closure(stylesheet, importCache));
  11547. return new X.CompileResult(evaluateResult, serializeResult);
  11548. },
  11549. _compileStylesheet_closure: function _compileStylesheet_closure(t0, t1) {
  11550. this.stylesheet = t0;
  11551. this.importCache = t1;
  11552. },
  11553. RenderResult: function RenderResult() {
  11554. },
  11555. RenderResultStats: function RenderResultStats() {
  11556. },
  11557. SassParser: function SassParser(t0, t1, t2) {
  11558. var _ = this;
  11559. _._currentIndentation = 0;
  11560. _._spaces = _._nextIndentationEnd = _._nextIndentation = null;
  11561. _._isUseAllowed = true;
  11562. _._stylesheet$_inMixin = false;
  11563. _._mixinHasContent = null;
  11564. _._inParentheses = _._inStyleRule = _._stylesheet$_inUnknownAtRule = _._inControlDirective = _._inContentBlock = false;
  11565. _._globalVariables = t0;
  11566. _.lastSilentComment = null;
  11567. _.scanner = t1;
  11568. _.logger = t2;
  11569. },
  11570. SassParser_children_closure: function SassParser_children_closure(t0, t1, t2) {
  11571. this.$this = t0;
  11572. this.children = t1;
  11573. this.child = t2;
  11574. },
  11575. MultiDirWatcher: function MultiDirWatcher(t0, t1, t2) {
  11576. this._watchers = t0;
  11577. this._group = t1;
  11578. this._poll = t2;
  11579. },
  11580. PublicMemberMapView: function PublicMemberMapView(t0, t1) {
  11581. this._inner = t0;
  11582. this.$ti = t1;
  11583. },
  11584. Highlighter__normalizeNewlines: function(span) {
  11585. var endOffset, t1, i, t2, t3, t4,
  11586. text = span.get$text();
  11587. if (!C.JSString_methods.contains$1(text, "\r\n"))
  11588. return span;
  11589. endOffset = span.get$end(span).get$offset();
  11590. for (t1 = text.length - 1, i = 0; i < t1; ++i)
  11591. if (C.JSString_methods._codeUnitAt$1(text, i) === 13 && C.JSString_methods._codeUnitAt$1(text, i + 1) === 10)
  11592. --endOffset;
  11593. t1 = span.get$start(span);
  11594. t2 = span.get$sourceUrl();
  11595. t3 = span.get$end(span).get$line();
  11596. t2 = V.SourceLocation$(endOffset, span.get$end(span).get$column(), t3, t2);
  11597. t3 = H.stringReplaceAllUnchecked(text, "\r\n", "\n");
  11598. t4 = span.get$context(span);
  11599. return X.SourceSpanWithContext$(t1, t2, t3, H.stringReplaceAllUnchecked(t4, "\r\n", "\n"));
  11600. },
  11601. Highlighter__normalizeTrailingNewline: function(span) {
  11602. var context, text, start, end, t1, t2, t3;
  11603. if (!C.JSString_methods.endsWith$1(span.get$context(span), "\n"))
  11604. return span;
  11605. if (C.JSString_methods.endsWith$1(span.get$text(), "\n\n"))
  11606. return span;
  11607. context = C.JSString_methods.substring$2(span.get$context(span), 0, span.get$context(span).length - 1);
  11608. text = span.get$text();
  11609. start = span.get$start(span);
  11610. end = span.get$end(span);
  11611. if (C.JSString_methods.endsWith$1(span.get$text(), "\n") && B.findLineStart(span.get$context(span), span.get$text(), span.get$start(span).get$column()) + span.get$start(span).get$column() + span.get$length(span) === span.get$context(span).length) {
  11612. text = C.JSString_methods.substring$2(span.get$text(), 0, span.get$text().length - 1);
  11613. t1 = span.get$end(span).get$offset();
  11614. t2 = span.get$sourceUrl();
  11615. t3 = span.get$end(span).get$line();
  11616. end = V.SourceLocation$(t1 - 1, U.Highlighter__lastLineLength(text), t3 - 1, t2);
  11617. start = span.get$start(span).get$offset() == span.get$end(span).get$offset() ? end : span.get$start(span);
  11618. }
  11619. return X.SourceSpanWithContext$(start, end, text, context);
  11620. },
  11621. Highlighter__normalizeEndOfLine: function(span) {
  11622. var text, t1, t2, t3, t4;
  11623. if (span.get$end(span).get$column() !== 0)
  11624. return span;
  11625. if (span.get$end(span).get$line() == span.get$start(span).get$line())
  11626. return span;
  11627. text = C.JSString_methods.substring$2(span.get$text(), 0, span.get$text().length - 1);
  11628. t1 = span.get$start(span);
  11629. t2 = span.get$end(span).get$offset();
  11630. t3 = span.get$sourceUrl();
  11631. t4 = span.get$end(span).get$line();
  11632. return X.SourceSpanWithContext$(t1, V.SourceLocation$(t2 - 1, U.Highlighter__lastLineLength(text), t4 - 1, t3), text, span.get$context(span));
  11633. },
  11634. Highlighter__lastLineLength: function(text) {
  11635. var t1 = text.length;
  11636. if (t1 === 0)
  11637. return 0;
  11638. if (C.JSString_methods.codeUnitAt$1(text, t1 - 1) === 10)
  11639. return t1 === 1 ? 0 : t1 - C.JSString_methods.lastIndexOf$2(text, "\n", t1 - 2) - 1;
  11640. else
  11641. return t1 - C.JSString_methods.lastIndexOf$1(text, "\n") - 1;
  11642. },
  11643. Highlighter: function Highlighter(t0, t1, t2, t3, t4) {
  11644. var _ = this;
  11645. _._highlighter$_span = t0;
  11646. _._color = t1;
  11647. _._multiline = t2;
  11648. _._paddingBeforeSidebar = t3;
  11649. _._highlighter$_buffer = t4;
  11650. },
  11651. Highlighter__writeFirstLine_closure: function Highlighter__writeFirstLine_closure(t0, t1) {
  11652. this.$this = t0;
  11653. this.line = t1;
  11654. },
  11655. Highlighter__writeFirstLine_closure0: function Highlighter__writeFirstLine_closure0(t0, t1) {
  11656. this.$this = t0;
  11657. this.textInside = t1;
  11658. },
  11659. Highlighter__writeFirstLine_closure1: function Highlighter__writeFirstLine_closure1(t0, t1) {
  11660. this._box_0 = t0;
  11661. this.$this = t1;
  11662. },
  11663. Highlighter__writeFirstLine_closure2: function Highlighter__writeFirstLine_closure2(t0, t1) {
  11664. this._box_0 = t0;
  11665. this.$this = t1;
  11666. },
  11667. Highlighter__writeIntermediateLines_closure: function Highlighter__writeIntermediateLines_closure(t0, t1) {
  11668. this.$this = t0;
  11669. this.line = t1;
  11670. },
  11671. Highlighter__writeLastLine_closure: function Highlighter__writeLastLine_closure(t0, t1) {
  11672. this.$this = t0;
  11673. this.line = t1;
  11674. },
  11675. Highlighter__writeLastLine_closure0: function Highlighter__writeLastLine_closure0(t0, t1) {
  11676. this.$this = t0;
  11677. this.textInside = t1;
  11678. },
  11679. Highlighter__writeLastLine_closure1: function Highlighter__writeLastLine_closure1(t0, t1) {
  11680. this._box_0 = t0;
  11681. this.$this = t1;
  11682. },
  11683. Highlighter__writeSidebar_closure: function Highlighter__writeSidebar_closure(t0, t1, t2) {
  11684. this.$this = t0;
  11685. this.line = t1;
  11686. this.end = t2;
  11687. },
  11688. Chain_Chain$parse: function(chain) {
  11689. var t1, t2,
  11690. _s26_ = "<asynchronous suspension>\n",
  11691. _s51_ = "===== asynchronous gap ===========================\n";
  11692. if (chain.length === 0) {
  11693. t1 = Y.Trace;
  11694. return new U.Chain(P.List_List$unmodifiable(H.setRuntimeTypeInfo([], [t1]), t1));
  11695. }
  11696. if (C.JSString_methods.contains$1(chain, _s26_)) {
  11697. t1 = H.setRuntimeTypeInfo(chain.split(_s26_), [P.String]);
  11698. t2 = Y.Trace;
  11699. return new U.Chain(P.List_List$unmodifiable(new H.MappedListIterable(t1, new U.Chain_Chain$parse_closure(), [H.getTypeArgumentByIndex(t1, 0), t2]), t2));
  11700. }
  11701. if (!C.JSString_methods.contains$1(chain, _s51_)) {
  11702. t1 = Y.Trace;
  11703. return new U.Chain(P.List_List$unmodifiable(H.setRuntimeTypeInfo([Y.Trace_Trace$parse(chain)], [t1]), t1));
  11704. }
  11705. t1 = H.setRuntimeTypeInfo(chain.split(_s51_), [P.String]);
  11706. t2 = Y.Trace;
  11707. return new U.Chain(P.List_List$unmodifiable(new H.MappedListIterable(t1, new U.Chain_Chain$parse_closure0(), [H.getTypeArgumentByIndex(t1, 0), t2]), t2));
  11708. },
  11709. Chain: function Chain(t0) {
  11710. this.traces = t0;
  11711. },
  11712. Chain_Chain$parse_closure: function Chain_Chain$parse_closure() {
  11713. },
  11714. Chain_Chain$parse_closure0: function Chain_Chain$parse_closure0() {
  11715. },
  11716. Chain_toTrace_closure: function Chain_toTrace_closure() {
  11717. },
  11718. Chain_toString_closure0: function Chain_toString_closure0() {
  11719. },
  11720. Chain_toString__closure0: function Chain_toString__closure0() {
  11721. },
  11722. Chain_toString_closure: function Chain_toString_closure(t0) {
  11723. this.longest = t0;
  11724. },
  11725. Chain_toString__closure: function Chain_toString__closure(t0) {
  11726. this.longest = t0;
  11727. }
  11728. },
  11729. M = {_DelegatingIterableBase: function _DelegatingIterableBase() {
  11730. }, DelegatingIterable: function DelegatingIterable() {
  11731. }, DelegatingSet: function DelegatingSet(t0, t1) {
  11732. this._base = t0;
  11733. this.$ti = t1;
  11734. }, MapKeySet: function MapKeySet(t0, t1) {
  11735. this._baseMap = t0;
  11736. this.$ti = t1;
  11737. }, _MapKeySet__DelegatingIterableBase_UnmodifiableSetMixin: function _MapKeySet__DelegatingIterableBase_UnmodifiableSetMixin() {
  11738. },
  11739. Context_Context: function(style) {
  11740. var current = style == null ? D.current() : ".";
  11741. if (style == null)
  11742. style = $.$get$Style_platform();
  11743. return new M.Context(style, current);
  11744. },
  11745. _parseUri: function(uri) {
  11746. if (typeof uri === "string")
  11747. return P.Uri_parse(uri);
  11748. if (!!J.getInterceptor$(uri).$isUri)
  11749. return uri;
  11750. throw H.wrapException(P.ArgumentError$value(uri, "uri", "Value must be a String or a Uri"));
  11751. },
  11752. _validateArgList: function(method, args) {
  11753. var numArgs, i, numArgs0, message, t1, t2;
  11754. for (numArgs = args.length, i = 1; i < numArgs; ++i) {
  11755. if (args[i] == null || args[i - 1] != null)
  11756. continue;
  11757. for (; numArgs >= 1; numArgs = numArgs0) {
  11758. numArgs0 = numArgs - 1;
  11759. if (args[numArgs0] != null)
  11760. break;
  11761. }
  11762. message = new P.StringBuffer("");
  11763. t1 = method + "(";
  11764. message._contents = t1;
  11765. t2 = H.SubListIterable$(args, 0, numArgs, H.getTypeArgumentByIndex(args, 0));
  11766. t2 = t1 + new H.MappedListIterable(t2, new M._validateArgList_closure(), [H.getTypeArgumentByIndex(t2, 0), P.String]).join$1(0, ", ");
  11767. message._contents = t2;
  11768. message._contents = t2 + ("): part " + (i - 1) + " was null, but part " + i + " was not.");
  11769. throw H.wrapException(P.ArgumentError$(message.toString$0(0)));
  11770. }
  11771. },
  11772. Context: function Context(t0, t1) {
  11773. this.style = t0;
  11774. this._context$_current = t1;
  11775. },
  11776. Context_join_closure: function Context_join_closure() {
  11777. },
  11778. Context_joinAll_closure: function Context_joinAll_closure() {
  11779. },
  11780. Context_split_closure: function Context_split_closure() {
  11781. },
  11782. _validateArgList_closure: function _validateArgList_closure() {
  11783. },
  11784. _PathDirection: function _PathDirection(t0) {
  11785. this.name = t0;
  11786. },
  11787. _PathRelation: function _PathRelation(t0) {
  11788. this.name = t0;
  11789. },
  11790. CallableDeclaration: function CallableDeclaration() {
  11791. },
  11792. FunctionRule: function FunctionRule(t0, t1, t2, t3, t4) {
  11793. var _ = this;
  11794. _.name = t0;
  11795. _.$arguments = t1;
  11796. _.span = t2;
  11797. _.children = t3;
  11798. _.hasDeclarations = t4;
  11799. },
  11800. ParentStatement: function ParentStatement() {
  11801. },
  11802. ParentStatement_closure: function ParentStatement_closure() {
  11803. },
  11804. SupportsNegation: function SupportsNegation(t0, t1) {
  11805. this.condition = t0;
  11806. this.span = t1;
  11807. },
  11808. ParentSelector: function ParentSelector(t0) {
  11809. this.suffix = t0;
  11810. },
  11811. SimpleSelector: function SimpleSelector() {
  11812. },
  11813. Importer: function Importer() {
  11814. },
  11815. StylesheetNode$_: function(_stylesheet, importer, canonicalUrl, _upstream) {
  11816. var t1 = new M.StylesheetNode(importer, canonicalUrl, _upstream, P.LinkedHashSet_LinkedHashSet(M.StylesheetNode));
  11817. t1.StylesheetNode$_$4(_stylesheet, importer, canonicalUrl, _upstream);
  11818. return t1;
  11819. },
  11820. StylesheetGraph: function StylesheetGraph(t0, t1, t2) {
  11821. this._nodes = t0;
  11822. this.importCache = t1;
  11823. this._transitiveModificationTimes = t2;
  11824. },
  11825. StylesheetGraph_modifiedSince_transitiveModificationTime: function StylesheetGraph_modifiedSince_transitiveModificationTime(t0) {
  11826. this.$this = t0;
  11827. },
  11828. StylesheetGraph_modifiedSince_transitiveModificationTime_closure: function StylesheetGraph_modifiedSince_transitiveModificationTime_closure(t0, t1) {
  11829. this.node = t0;
  11830. this.transitiveModificationTime = t1;
  11831. },
  11832. StylesheetGraph__add_closure: function StylesheetGraph__add_closure(t0, t1, t2, t3) {
  11833. var _ = this;
  11834. _.$this = t0;
  11835. _.url = t1;
  11836. _.baseImporter = t2;
  11837. _.baseUrl = t3;
  11838. },
  11839. StylesheetGraph_addCanonical_closure: function StylesheetGraph_addCanonical_closure(t0, t1, t2, t3) {
  11840. var _ = this;
  11841. _.$this = t0;
  11842. _.importer = t1;
  11843. _.canonicalUrl = t2;
  11844. _.originalUrl = t3;
  11845. },
  11846. StylesheetGraph_addCanonical_closure0: function StylesheetGraph_addCanonical_closure0(t0, t1, t2, t3) {
  11847. var _ = this;
  11848. _.$this = t0;
  11849. _.stylesheet = t1;
  11850. _.importer = t2;
  11851. _.canonicalUrl = t3;
  11852. },
  11853. StylesheetGraph__upstreamNodes_closure: function StylesheetGraph__upstreamNodes_closure() {
  11854. },
  11855. StylesheetGraph_reload_closure: function StylesheetGraph_reload_closure(t0, t1, t2) {
  11856. this.$this = t0;
  11857. this.node = t1;
  11858. this.canonicalUrl = t2;
  11859. },
  11860. StylesheetGraph__nodeFor_closure: function StylesheetGraph__nodeFor_closure(t0, t1, t2, t3) {
  11861. var _ = this;
  11862. _.$this = t0;
  11863. _.url = t1;
  11864. _.baseImporter = t2;
  11865. _.baseUrl = t3;
  11866. },
  11867. StylesheetGraph__nodeFor_closure0: function StylesheetGraph__nodeFor_closure0(t0, t1, t2, t3) {
  11868. var _ = this;
  11869. _.$this = t0;
  11870. _.importer = t1;
  11871. _.canonicalUrl = t2;
  11872. _.resolvedUrl = t3;
  11873. },
  11874. StylesheetNode: function StylesheetNode(t0, t1, t2, t3) {
  11875. var _ = this;
  11876. _.importer = t0;
  11877. _.canonicalUrl = t1;
  11878. _._upstream = t2;
  11879. _._downstream = t3;
  11880. },
  11881. Syntax_forPath: function(path) {
  11882. switch (X.ParsedPath_ParsedPath$parse(path, $.$get$context().style)._splitExtension$0()[1]) {
  11883. case ".sass":
  11884. return C.Syntax_Sass;
  11885. case ".css":
  11886. return C.Syntax_CSS;
  11887. default:
  11888. return C.Syntax_SCSS;
  11889. }
  11890. },
  11891. Syntax: function Syntax(t0) {
  11892. this._syntax$_name = t0;
  11893. }
  11894. },
  11895. X = {
  11896. ParsedPath_ParsedPath$parse: function(path, style) {
  11897. var t1, parts, separators, start, i,
  11898. root = style.getRoot$1(path),
  11899. isRootRelative = style.isRootRelative$1(path);
  11900. if (root != null)
  11901. path = J.substring$1$s(path, root.length);
  11902. t1 = [P.String];
  11903. parts = H.setRuntimeTypeInfo([], t1);
  11904. separators = H.setRuntimeTypeInfo([], t1);
  11905. t1 = path.length;
  11906. if (t1 !== 0 && style.isSeparator$1(C.JSString_methods._codeUnitAt$1(path, 0))) {
  11907. separators.push(path[0]);
  11908. start = 1;
  11909. } else {
  11910. separators.push("");
  11911. start = 0;
  11912. }
  11913. for (i = start; i < t1; ++i)
  11914. if (style.isSeparator$1(C.JSString_methods._codeUnitAt$1(path, i))) {
  11915. parts.push(C.JSString_methods.substring$2(path, start, i));
  11916. separators.push(path[i]);
  11917. start = i + 1;
  11918. }
  11919. if (start < t1) {
  11920. parts.push(C.JSString_methods.substring$1(path, start));
  11921. separators.push("");
  11922. }
  11923. return new X.ParsedPath(style, root, isRootRelative, parts, separators);
  11924. },
  11925. ParsedPath: function ParsedPath(t0, t1, t2, t3, t4) {
  11926. var _ = this;
  11927. _.style = t0;
  11928. _.root = t1;
  11929. _.isRootRelative = t2;
  11930. _.parts = t3;
  11931. _.separators = t4;
  11932. },
  11933. ParsedPath_normalize_closure: function ParsedPath_normalize_closure(t0) {
  11934. this.$this = t0;
  11935. },
  11936. ParsedPath__splitExtension_closure: function ParsedPath__splitExtension_closure() {
  11937. },
  11938. ParsedPath__splitExtension_closure0: function ParsedPath__splitExtension_closure0() {
  11939. },
  11940. PathException$: function(message) {
  11941. return new X.PathException(message);
  11942. },
  11943. PathException: function PathException(t0) {
  11944. this.message = t0;
  11945. },
  11946. ModifiableCssStyleRule$: function(selector, span, originalSelector) {
  11947. var t1 = originalSelector == null ? selector.value : originalSelector,
  11948. t2 = B.ModifiableCssNode,
  11949. t3 = H.setRuntimeTypeInfo([], [t2]);
  11950. return new X.ModifiableCssStyleRule(selector, t1, span, new P.UnmodifiableListView(t3, [t2]), t3);
  11951. },
  11952. ModifiableCssStyleRule: function ModifiableCssStyleRule(t0, t1, t2, t3, t4) {
  11953. var _ = this;
  11954. _.selector = t0;
  11955. _.originalSelector = t1;
  11956. _.span = t2;
  11957. _.children = t3;
  11958. _._children = t4;
  11959. _._indexInParent = _._parent = null;
  11960. _.isGroupEnd = false;
  11961. },
  11962. CssStyleRule: function CssStyleRule() {
  11963. },
  11964. ArgumentInvocation$: function(positional, named, span, keywordRest, rest) {
  11965. var t1 = T.Expression;
  11966. return new X.ArgumentInvocation(P.List_List$unmodifiable(positional, t1), H.ConstantMap_ConstantMap$from(named, P.String, t1), rest, keywordRest, span);
  11967. },
  11968. ArgumentInvocation: function ArgumentInvocation(t0, t1, t2, t3, t4) {
  11969. var _ = this;
  11970. _.positional = t0;
  11971. _.named = t1;
  11972. _.rest = t2;
  11973. _.keywordRest = t3;
  11974. _.span = t4;
  11975. },
  11976. UnaryOperationExpression: function UnaryOperationExpression(t0, t1, t2) {
  11977. this.operator = t0;
  11978. this.operand = t1;
  11979. this.span = t2;
  11980. },
  11981. UnaryOperator: function UnaryOperator(t0, t1) {
  11982. this.name = t0;
  11983. this.operator = t1;
  11984. },
  11985. Interpolation$: function(contents, span) {
  11986. var t1 = new X.Interpolation(P.List_List$unmodifiable(contents, P.Object), span);
  11987. t1.Interpolation$2(contents, span);
  11988. return t1;
  11989. },
  11990. Interpolation: function Interpolation(t0, t1) {
  11991. this.contents = t0;
  11992. this.span = t1;
  11993. },
  11994. Interpolation_toString_closure: function Interpolation_toString_closure() {
  11995. },
  11996. ExtendRule: function ExtendRule(t0, t1, t2) {
  11997. this.selector = t0;
  11998. this.isOptional = t1;
  11999. this.span = t2;
  12000. },
  12001. StyleRule: function StyleRule(t0, t1, t2, t3) {
  12002. var _ = this;
  12003. _.selector = t0;
  12004. _.span = t1;
  12005. _.children = t2;
  12006. _.hasDeclarations = t3;
  12007. },
  12008. SupportsInterpolation: function SupportsInterpolation(t0, t1) {
  12009. this.expression = t0;
  12010. this.span = t1;
  12011. },
  12012. ClassSelector: function ClassSelector(t0) {
  12013. this.name = t0;
  12014. },
  12015. CompoundSelector$: function(components) {
  12016. var t1 = P.List_List$unmodifiable(components, M.SimpleSelector);
  12017. if (t1.length === 0)
  12018. H.throwExpression(P.ArgumentError$("components may not be empty."));
  12019. return new X.CompoundSelector(t1);
  12020. },
  12021. CompoundSelector: function CompoundSelector(t0) {
  12022. this.components = t0;
  12023. this._compound$_maxSpecificity = this._compound$_minSpecificity = null;
  12024. },
  12025. CompoundSelector_isInvisible_closure: function CompoundSelector_isInvisible_closure() {
  12026. },
  12027. compileAsync: function(path, charset, functions, importCache, indentWidth, lineFeed, logger, nodeImporter, sourceMap, style, syntax, useSpaces) {
  12028. return X.compileAsync$body(path, charset, functions, importCache, indentWidth, lineFeed, logger, nodeImporter, sourceMap, style, syntax, useSpaces);
  12029. },
  12030. compileAsync$body: function(path, charset, functions, importCache, indentWidth, lineFeed, logger, nodeImporter, sourceMap, style, syntax, useSpaces) {
  12031. var $async$goto = 0,
  12032. $async$completer = P._makeAsyncAwaitCompleter(X.CompileResult),
  12033. $async$returnValue, t1, t2, stylesheet;
  12034. var $async$compileAsync = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  12035. if ($async$errorCode === 1)
  12036. return P._asyncRethrow($async$result, $async$completer);
  12037. while (true)
  12038. switch ($async$goto) {
  12039. case 0:
  12040. // Function start
  12041. if (nodeImporter == null)
  12042. t1 = syntax == null || syntax === M.Syntax_forPath(path);
  12043. else
  12044. t1 = false;
  12045. $async$goto = t1 ? 3 : 5;
  12046. break;
  12047. case 3:
  12048. // then
  12049. if (importCache == null)
  12050. importCache = O.AsyncImportCache$none(logger);
  12051. t1 = D.absolute(".");
  12052. t2 = $.$get$context();
  12053. $async$goto = 6;
  12054. return P._asyncAwait(importCache.importCanonical$3(new F.FilesystemImporter(t1), t2.toUri$1(t2.canonicalize$1(path)), t2.toUri$1(path)), $async$compileAsync);
  12055. case 6:
  12056. // returning from await.
  12057. stylesheet = $async$result;
  12058. // goto join
  12059. $async$goto = 4;
  12060. break;
  12061. case 5:
  12062. // else
  12063. t1 = B.readFile(path);
  12064. t2 = syntax == null ? M.Syntax_forPath(path) : syntax;
  12065. stylesheet = V.Stylesheet_Stylesheet$parse(t1, t2, logger, $.$get$context().toUri$1(path));
  12066. case 4:
  12067. // join
  12068. $async$goto = 7;
  12069. return P._asyncAwait(X._compileStylesheet0(stylesheet, logger, importCache, nodeImporter, new F.FilesystemImporter(D.absolute(".")), functions, style, useSpaces, indentWidth, lineFeed, sourceMap, charset), $async$compileAsync);
  12070. case 7:
  12071. // returning from await.
  12072. $async$returnValue = $async$result;
  12073. // goto return
  12074. $async$goto = 1;
  12075. break;
  12076. case 1:
  12077. // return
  12078. return P._asyncReturn($async$returnValue, $async$completer);
  12079. }
  12080. });
  12081. return P._asyncStartSync($async$compileAsync, $async$completer);
  12082. },
  12083. compileStringAsync: function(source, charset, functions, importCache, importer, indentWidth, lineFeed, logger, nodeImporter, sourceMap, style, syntax, url, useSpaces) {
  12084. return X.compileStringAsync$body(source, charset, functions, importCache, importer, indentWidth, lineFeed, logger, nodeImporter, sourceMap, style, syntax, url, useSpaces);
  12085. },
  12086. compileStringAsync$body: function(source, charset, functions, importCache, importer, indentWidth, lineFeed, logger, nodeImporter, sourceMap, style, syntax, url, useSpaces) {
  12087. var $async$goto = 0,
  12088. $async$completer = P._makeAsyncAwaitCompleter(X.CompileResult),
  12089. $async$returnValue, stylesheet;
  12090. var $async$compileStringAsync = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  12091. if ($async$errorCode === 1)
  12092. return P._asyncRethrow($async$result, $async$completer);
  12093. while (true)
  12094. switch ($async$goto) {
  12095. case 0:
  12096. // Function start
  12097. stylesheet = V.Stylesheet_Stylesheet$parse(source, syntax == null ? C.Syntax_SCSS : syntax, logger, url);
  12098. $async$returnValue = X._compileStylesheet0(stylesheet, logger, importCache, nodeImporter, importer == null ? new F.FilesystemImporter(D.absolute(".")) : importer, functions, style, useSpaces, indentWidth, lineFeed, sourceMap, charset);
  12099. // goto return
  12100. $async$goto = 1;
  12101. break;
  12102. case 1:
  12103. // return
  12104. return P._asyncReturn($async$returnValue, $async$completer);
  12105. }
  12106. });
  12107. return P._asyncStartSync($async$compileStringAsync, $async$completer);
  12108. },
  12109. _compileStylesheet0: function(stylesheet, logger, importCache, nodeImporter, importer, functions, style, useSpaces, indentWidth, lineFeed, sourceMap, charset) {
  12110. return X._compileStylesheet$body(stylesheet, logger, importCache, nodeImporter, importer, functions, style, useSpaces, indentWidth, lineFeed, sourceMap, charset);
  12111. },
  12112. _compileStylesheet$body: function(stylesheet, logger, importCache, nodeImporter, importer, functions, style, useSpaces, indentWidth, lineFeed, sourceMap, charset) {
  12113. var $async$goto = 0,
  12114. $async$completer = P._makeAsyncAwaitCompleter(X.CompileResult),
  12115. $async$returnValue, evaluateResult, serializeResult, t1;
  12116. var $async$_compileStylesheet0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  12117. if ($async$errorCode === 1)
  12118. return P._asyncRethrow($async$result, $async$completer);
  12119. while (true)
  12120. switch ($async$goto) {
  12121. case 0:
  12122. // Function start
  12123. $async$goto = 3;
  12124. return P._asyncAwait(E._EvaluateVisitor$0(functions, importCache, logger, nodeImporter, sourceMap).run$2(0, importer, stylesheet), $async$_compileStylesheet0);
  12125. case 3:
  12126. // returning from await.
  12127. evaluateResult = $async$result;
  12128. serializeResult = N.serialize(evaluateResult.stylesheet, charset, indentWidth, false, lineFeed, sourceMap, style, useSpaces);
  12129. t1 = serializeResult.sourceMap;
  12130. if (t1 != null && importCache != null)
  12131. B.mapInPlace(t1.urls, new X._compileStylesheet_closure0(stylesheet, importCache));
  12132. $async$returnValue = new X.CompileResult(evaluateResult, serializeResult);
  12133. // goto return
  12134. $async$goto = 1;
  12135. break;
  12136. case 1:
  12137. // return
  12138. return P._asyncReturn($async$returnValue, $async$completer);
  12139. }
  12140. });
  12141. return P._asyncStartSync($async$_compileStylesheet0, $async$completer);
  12142. },
  12143. _compileStylesheet_closure0: function _compileStylesheet_closure0(t0, t1) {
  12144. this.stylesheet = t0;
  12145. this.importCache = t1;
  12146. },
  12147. CompileResult: function CompileResult(t0, t1) {
  12148. this._evaluate = t0;
  12149. this._serialize = t1;
  12150. },
  12151. closure34: function closure34() {
  12152. },
  12153. closure35: function closure35() {
  12154. },
  12155. SourceSpanWithContext$: function(start, end, text, _context) {
  12156. var t1 = new X.SourceSpanWithContext(_context, start, end, text);
  12157. t1.SourceSpanBase$3(start, end, text);
  12158. if (!C.JSString_methods.contains$1(_context, text))
  12159. H.throwExpression(P.ArgumentError$('The context line "' + _context + '" must contain "' + text + '".'));
  12160. if (B.findLineStart(_context, text, start.get$column()) == null)
  12161. H.throwExpression(P.ArgumentError$('The span text "' + text + '" must start at column ' + (start.get$column() + 1) + ' in a line within "' + _context + '".'));
  12162. return t1;
  12163. },
  12164. SourceSpanWithContext: function SourceSpanWithContext(t0, t1, t2, t3) {
  12165. var _ = this;
  12166. _._context = t0;
  12167. _.start = t1;
  12168. _.end = t2;
  12169. _.text = t3;
  12170. },
  12171. StringScanner$: function(string, position, sourceUrl) {
  12172. var t1 = typeof sourceUrl === "string" ? P.Uri_parse(sourceUrl) : sourceUrl;
  12173. return new X.StringScanner(t1, string);
  12174. },
  12175. StringScanner: function StringScanner(t0, t1) {
  12176. var _ = this;
  12177. _.sourceUrl = t0;
  12178. _.string = t1;
  12179. _._string_scanner$_position = 0;
  12180. _._lastMatchPosition = _._lastMatch = null;
  12181. },
  12182. _combine: function(hash, value) {
  12183. hash = 536870911 & hash + value;
  12184. hash = 536870911 & hash + ((524287 & hash) << 10);
  12185. return hash ^ hash >>> 6;
  12186. },
  12187. _finish: function(hash) {
  12188. hash = 536870911 & hash + ((67108863 & hash) << 3);
  12189. hash ^= hash >>> 11;
  12190. return 536870911 & hash + ((16383 & hash) << 15);
  12191. }
  12192. },
  12193. K = {
  12194. PathMap__create: function(context, $V) {
  12195. var t1 = {};
  12196. t1.context = context;
  12197. t1.context = $.$get$context();
  12198. return P.LinkedHashMap_LinkedHashMap(new K.PathMap__create_closure(t1), new K.PathMap__create_closure0(t1), new K.PathMap__create_closure1(), P.String, $V);
  12199. },
  12200. PathMap: function PathMap(t0, t1) {
  12201. this._collection$_map = t0;
  12202. this.$ti = t1;
  12203. },
  12204. PathMap__create_closure: function PathMap__create_closure(t0) {
  12205. this._box_0 = t0;
  12206. },
  12207. PathMap__create_closure0: function PathMap__create_closure0(t0) {
  12208. this._box_0 = t0;
  12209. },
  12210. PathMap__create_closure1: function PathMap__create_closure1() {
  12211. },
  12212. ColorExpression: function ColorExpression(t0) {
  12213. this.value = t0;
  12214. },
  12215. _functionString: function($name, $arguments) {
  12216. return new D.SassString($name + "(" + J.map$1$1$ax($arguments, new K._functionString_closure(), P.String).join$1(0, ", ") + ")", false);
  12217. },
  12218. _removedColorFunction: function($name, argument, negative) {
  12219. return new Q.BuiltInCallable($name, H.setRuntimeTypeInfo([new S.Tuple2(B.ArgumentDeclaration_ArgumentDeclaration$parse("$color, $amount"), new K._removedColorFunction_closure($name, argument, negative), [B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}])], [[S.Tuple2, B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}]]));
  12220. },
  12221. _rgb: function($name, $arguments) {
  12222. var t2, red, green, blue, t3, _null = null,
  12223. t1 = J.getInterceptor$asx($arguments),
  12224. alpha = t1.get$length($arguments) > 3 ? t1.$index($arguments, 3) : _null;
  12225. if (!t1.$index($arguments, 0).get$isSpecialNumber())
  12226. if (!t1.$index($arguments, 1).get$isSpecialNumber())
  12227. if (!t1.$index($arguments, 2).get$isSpecialNumber()) {
  12228. t2 = alpha == null ? _null : alpha.get$isSpecialNumber();
  12229. t2 = t2 === true;
  12230. } else
  12231. t2 = true;
  12232. else
  12233. t2 = true;
  12234. else
  12235. t2 = true;
  12236. if (t2)
  12237. return K._functionString($name, $arguments);
  12238. red = t1.$index($arguments, 0).assertNumber$1("red");
  12239. green = t1.$index($arguments, 1).assertNumber$1("green");
  12240. blue = t1.$index($arguments, 2).assertNumber$1("blue");
  12241. t1 = T.fuzzyRound(K._percentageOrUnitless(red, 255, "red"));
  12242. t2 = T.fuzzyRound(K._percentageOrUnitless(green, 255, "green"));
  12243. t3 = T.fuzzyRound(K._percentageOrUnitless(blue, 255, "blue"));
  12244. return K.SassColor$rgb(t1, t2, t3, alpha == null ? _null : K._percentageOrUnitless(alpha.assertNumber$1("alpha"), 1, "alpha"), _null);
  12245. },
  12246. _rgbTwoArg: function($name, $arguments) {
  12247. var first, t2, color,
  12248. t1 = J.getInterceptor$asx($arguments);
  12249. if (t1.$index($arguments, 0).get$isVar())
  12250. return K._functionString($name, $arguments);
  12251. else if (t1.$index($arguments, 1).get$isVar()) {
  12252. first = t1.$index($arguments, 0);
  12253. if (first instanceof K.SassColor) {
  12254. t2 = $name + "(" + H.S(first.get$red()) + ", " + H.S(first.get$green()) + ", " + H.S(first.get$blue()) + ", ";
  12255. t1 = t1.$index($arguments, 1);
  12256. t1.toString;
  12257. return new D.SassString(t2 + N.serializeValue(t1, false, true) + ")", false);
  12258. } else
  12259. return K._functionString($name, $arguments);
  12260. } else if (t1.$index($arguments, 1).get$isSpecialNumber()) {
  12261. color = t1.$index($arguments, 0).assertColor$1("color");
  12262. t2 = $name + "(" + H.S(color.get$red()) + ", " + H.S(color.get$green()) + ", " + H.S(color.get$blue()) + ", ";
  12263. t1 = t1.$index($arguments, 1);
  12264. t1.toString;
  12265. return new D.SassString(t2 + N.serializeValue(t1, false, true) + ")", false);
  12266. }
  12267. return t1.$index($arguments, 0).assertColor$1("color").changeAlpha$1(K._percentageOrUnitless(t1.$index($arguments, 1).assertNumber$1("alpha"), 1, "alpha"));
  12268. },
  12269. _hsl: function($name, $arguments) {
  12270. var t2, hue, saturation, lightness, t3,
  12271. t1 = J.getInterceptor$asx($arguments),
  12272. alpha = t1.get$length($arguments) > 3 ? t1.$index($arguments, 3) : null;
  12273. if (!t1.$index($arguments, 0).get$isSpecialNumber())
  12274. if (!t1.$index($arguments, 1).get$isSpecialNumber())
  12275. if (!t1.$index($arguments, 2).get$isSpecialNumber()) {
  12276. t2 = alpha == null ? null : alpha.get$isSpecialNumber();
  12277. t2 = t2 === true;
  12278. } else
  12279. t2 = true;
  12280. else
  12281. t2 = true;
  12282. else
  12283. t2 = true;
  12284. if (t2)
  12285. return K._functionString($name, $arguments);
  12286. hue = t1.$index($arguments, 0).assertNumber$1("hue");
  12287. saturation = t1.$index($arguments, 1).assertNumber$1("saturation");
  12288. lightness = t1.$index($arguments, 2).assertNumber$1("lightness");
  12289. t1 = J.clamp$2$n(saturation.value, 0, 100);
  12290. t2 = J.clamp$2$n(lightness.value, 0, 100);
  12291. t3 = alpha == null ? null : K._percentageOrUnitless(alpha.assertNumber$1("alpha"), 1, "alpha");
  12292. return K.SassColor$hsl(hue.value, t1, t2, t3);
  12293. },
  12294. _parseChannels: function($name, argumentNames, channels) {
  12295. var isCommaSeparated, isBracketed, buffer, t1, list, maybeSlashSeparated, t2, t3,
  12296. _s17_ = "$channels must be",
  12297. _s32_ = "$channels must be an unbracketed";
  12298. if (channels.get$isVar())
  12299. return K._functionString($name, H.setRuntimeTypeInfo([channels], [F.Value]));
  12300. isCommaSeparated = channels.get$separator() === C.ListSeparator_comma;
  12301. isBracketed = channels.get$hasBrackets();
  12302. if (isCommaSeparated || isBracketed) {
  12303. buffer = new P.StringBuffer(_s17_);
  12304. if (isBracketed) {
  12305. buffer._contents = _s32_;
  12306. t1 = _s32_;
  12307. } else
  12308. t1 = _s17_;
  12309. if (isCommaSeparated) {
  12310. t1 += isBracketed ? "," : " a";
  12311. buffer._contents = t1;
  12312. t1 = buffer._contents = t1 + " space-separated";
  12313. }
  12314. buffer._contents = t1 + " list.";
  12315. throw H.wrapException(E.SassScriptException$(buffer.toString$0(0)));
  12316. }
  12317. list = channels.get$asList();
  12318. t1 = list.length;
  12319. if (t1 > 3)
  12320. throw H.wrapException(E.SassScriptException$("Only 3 elements allowed, but " + t1 + " were passed."));
  12321. else if (t1 < 3) {
  12322. if (!C.JSArray_methods.any$1(list, new K._parseChannels_closure()))
  12323. if (list.length !== 0) {
  12324. t1 = C.JSArray_methods.get$last(list);
  12325. if (t1 instanceof D.SassString)
  12326. if (t1.hasQuotes) {
  12327. t1 = t1.text;
  12328. t1 = B.startsWithIgnoreCase(t1, "var(") && J.contains$1$asx(t1, "/");
  12329. } else
  12330. t1 = false;
  12331. else
  12332. t1 = false;
  12333. } else
  12334. t1 = false;
  12335. else
  12336. t1 = true;
  12337. if (t1)
  12338. return K._functionString($name, H.setRuntimeTypeInfo([channels], [F.Value]));
  12339. else
  12340. throw H.wrapException(E.SassScriptException$("Missing element " + argumentNames[list.length] + "."));
  12341. }
  12342. maybeSlashSeparated = list[2];
  12343. t1 = J.getInterceptor$(maybeSlashSeparated);
  12344. if (!!t1.$isSassNumber && maybeSlashSeparated.asSlash != null) {
  12345. t1 = list[0];
  12346. t2 = list[1];
  12347. t3 = maybeSlashSeparated.asSlash;
  12348. return H.setRuntimeTypeInfo([t1, t2, t3.item1, t3.item2], [F.Value]);
  12349. } else if (!!t1.$isSassString && !maybeSlashSeparated.hasQuotes && J.contains$1$asx(maybeSlashSeparated.text, "/"))
  12350. return K._functionString($name, H.setRuntimeTypeInfo([channels], [F.Value]));
  12351. else
  12352. return list;
  12353. },
  12354. _percentageOrUnitless: function(number, max, $name) {
  12355. var value;
  12356. if (!(number.numeratorUnits.length !== 0 || number.denominatorUnits.length !== 0))
  12357. value = number.value;
  12358. else if (number.hasUnit$1("%"))
  12359. value = max * number.value / 100;
  12360. else
  12361. throw H.wrapException(E.SassScriptException$("$" + $name + ": Expected " + number.toString$0(0) + ' to have no units or "%".'));
  12362. return J.clamp$2$n(value, 0, max);
  12363. },
  12364. _mixColors: function(color1, color2, weight) {
  12365. var weightScale = weight.valueInRange$3(0, 100, "weight") / 100,
  12366. normalizedWeight = weightScale * 2 - 1,
  12367. t1 = color1.alpha,
  12368. t2 = color2.alpha,
  12369. alphaDistance = t1 - t2,
  12370. t3 = normalizedWeight * alphaDistance,
  12371. weight1 = ((t3 === -1 ? normalizedWeight : (normalizedWeight + alphaDistance) / (1 + t3)) + 1) / 2,
  12372. weight2 = 1 - weight1;
  12373. return K.SassColor$rgb(T.fuzzyRound(color1.get$red() * weight1 + color2.get$red() * weight2), T.fuzzyRound(color1.get$green() * weight1 + color2.get$green() * weight2), T.fuzzyRound(color1.get$blue() * weight1 + color2.get$blue() * weight2), t1 * weightScale + t2 * (1 - weightScale), null);
  12374. },
  12375. _opacify: function($arguments) {
  12376. var t1 = J.getInterceptor$asx($arguments),
  12377. color = t1.$index($arguments, 0).assertColor$1("color");
  12378. return color.changeAlpha$1(C.JSNumber_methods.clamp$2(color.alpha + t1.$index($arguments, 1).assertNumber$1("amount").valueInRange$3(0, 1, "amount"), 0, 1));
  12379. },
  12380. _transparentize: function($arguments) {
  12381. var t1 = J.getInterceptor$asx($arguments),
  12382. color = t1.$index($arguments, 0).assertColor$1("color");
  12383. return color.changeAlpha$1(C.JSNumber_methods.clamp$2(color.alpha - t1.$index($arguments, 1).assertNumber$1("amount").valueInRange$3(0, 1, "amount"), 0, 1));
  12384. },
  12385. closure81: function closure81() {
  12386. },
  12387. closure82: function closure82() {
  12388. },
  12389. closure83: function closure83() {
  12390. },
  12391. closure84: function closure84() {
  12392. },
  12393. closure85: function closure85() {
  12394. },
  12395. closure86: function closure86() {
  12396. },
  12397. closure87: function closure87() {
  12398. },
  12399. closure88: function closure88() {
  12400. },
  12401. closure89: function closure89() {
  12402. },
  12403. closure90: function closure90() {
  12404. },
  12405. closure91: function closure91() {
  12406. },
  12407. closure92: function closure92() {
  12408. },
  12409. closure93: function closure93() {
  12410. },
  12411. closure94: function closure94() {
  12412. },
  12413. closure95: function closure95() {
  12414. },
  12415. closure96: function closure96() {
  12416. },
  12417. closure97: function closure97() {
  12418. },
  12419. closure98: function closure98() {
  12420. },
  12421. closure99: function closure99() {
  12422. },
  12423. closure100: function closure100() {
  12424. },
  12425. closure101: function closure101() {
  12426. },
  12427. closure102: function closure102() {
  12428. },
  12429. closure103: function closure103() {
  12430. },
  12431. closure104: function closure104() {
  12432. },
  12433. closure105: function closure105() {
  12434. },
  12435. _closure17: function _closure17() {
  12436. },
  12437. closure106: function closure106() {
  12438. },
  12439. closure120: function closure120() {
  12440. },
  12441. closure121: function closure121() {
  12442. },
  12443. closure122: function closure122() {
  12444. },
  12445. closure123: function closure123() {
  12446. },
  12447. _closure18: function _closure18() {
  12448. },
  12449. closure124: function closure124() {
  12450. },
  12451. closure119: function closure119() {
  12452. },
  12453. closure118: function closure118() {
  12454. },
  12455. closure117: function closure117() {
  12456. },
  12457. closure116: function closure116() {
  12458. },
  12459. closure115: function closure115() {
  12460. },
  12461. closure114: function closure114() {
  12462. },
  12463. closure113: function closure113() {
  12464. },
  12465. closure112: function closure112() {
  12466. },
  12467. closure111: function closure111() {
  12468. },
  12469. closure109: function closure109() {
  12470. },
  12471. closure_getInRange0: function closure_getInRange0(t0) {
  12472. this.keywords = t0;
  12473. },
  12474. _closure16: function _closure16() {
  12475. },
  12476. closure108: function closure108() {
  12477. },
  12478. closure_getScale: function closure_getScale(t0) {
  12479. this.keywords = t0;
  12480. },
  12481. closure_scaleValue: function closure_scaleValue() {
  12482. },
  12483. _closure15: function _closure15() {
  12484. },
  12485. closure107: function closure107() {
  12486. },
  12487. closure_getInRange: function closure_getInRange(t0) {
  12488. this.keywords = t0;
  12489. },
  12490. _closure14: function _closure14() {
  12491. },
  12492. closure110: function closure110() {
  12493. },
  12494. closure_hexString: function closure_hexString() {
  12495. },
  12496. _functionString_closure: function _functionString_closure() {
  12497. },
  12498. _removedColorFunction_closure: function _removedColorFunction_closure(t0, t1, t2) {
  12499. this.name = t0;
  12500. this.argument = t1;
  12501. this.negative = t2;
  12502. },
  12503. _parseChannels_closure: function _parseChannels_closure() {
  12504. },
  12505. _numberFunction: function($name, transform) {
  12506. return new Q.BuiltInCallable($name, H.setRuntimeTypeInfo([new S.Tuple2(B.ArgumentDeclaration_ArgumentDeclaration$parse("$number"), new K._numberFunction_closure(transform), [B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}])], [[S.Tuple2, B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}]]));
  12507. },
  12508. closure57: function closure57() {
  12509. },
  12510. closure64: function closure64() {
  12511. },
  12512. closure63: function closure63() {
  12513. },
  12514. closure62: function closure62() {
  12515. },
  12516. closure61: function closure61() {
  12517. },
  12518. closure60: function closure60() {
  12519. },
  12520. closure59: function closure59() {
  12521. },
  12522. closure58: function closure58() {
  12523. },
  12524. closure56: function closure56() {
  12525. },
  12526. closure55: function closure55() {
  12527. },
  12528. _numberFunction_closure: function _numberFunction_closure(t0) {
  12529. this.transform = t0;
  12530. },
  12531. _NodeSassColor: function _NodeSassColor() {
  12532. },
  12533. closure24: function closure24() {
  12534. },
  12535. closure25: function closure25() {
  12536. },
  12537. closure26: function closure26() {
  12538. },
  12539. closure27: function closure27() {
  12540. },
  12541. closure28: function closure28() {
  12542. },
  12543. closure29: function closure29() {
  12544. },
  12545. closure30: function closure30() {
  12546. },
  12547. closure31: function closure31() {
  12548. },
  12549. closure32: function closure32() {
  12550. },
  12551. closure33: function closure33() {
  12552. },
  12553. LimitedMapView$blacklist: function(_map, blacklist, $K, $V) {
  12554. var t2, t3, key,
  12555. t1 = P.LinkedHashSet_LinkedHashSet($K);
  12556. for (t2 = J.get$iterator$ax(_map.get$keys()), t3 = blacklist._base; t2.moveNext$0();) {
  12557. key = t2.get$current(t2);
  12558. if (!t3.contains$1(0, key))
  12559. t1.add$1(0, key);
  12560. }
  12561. return new K.LimitedMapView(_map, t1, [$K, $V]);
  12562. },
  12563. LimitedMapView: function LimitedMapView(t0, t1, t2) {
  12564. this._limited_map_view$_map = t0;
  12565. this._limited_map_view$_keys = t1;
  12566. this.$ti = t2;
  12567. },
  12568. SassColor$rgb: function(_red, _green, _blue, alpha, originalSpan) {
  12569. var t1 = new K.SassColor(_red, _green, _blue, null, null, null, alpha == null ? 1 : T.fuzzyAssertRange(alpha, 0, 1, "alpha"), originalSpan);
  12570. P.RangeError_checkValueInInterval(t1.get$red(), 0, 255, "red");
  12571. P.RangeError_checkValueInInterval(t1.get$green(), 0, 255, "green");
  12572. P.RangeError_checkValueInInterval(t1.get$blue(), 0, 255, "blue");
  12573. return t1;
  12574. },
  12575. SassColor$hsl: function(hue, saturation, lightness, alpha) {
  12576. var _null = null,
  12577. t1 = C.JSNumber_methods.$mod(hue, 360),
  12578. t2 = T.fuzzyAssertRange(saturation, 0, 100, "saturation"),
  12579. t3 = T.fuzzyAssertRange(lightness, 0, 100, "lightness");
  12580. return new K.SassColor(_null, _null, _null, t1, t2, t3, alpha == null ? 1 : T.fuzzyAssertRange(alpha, 0, 1, "alpha"), _null);
  12581. },
  12582. SassColor: function SassColor(t0, t1, t2, t3, t4, t5, t6, t7) {
  12583. var _ = this;
  12584. _._red = t0;
  12585. _._green = t1;
  12586. _._blue = t2;
  12587. _._hue = t3;
  12588. _._saturation = t4;
  12589. _._lightness = t5;
  12590. _.alpha = t6;
  12591. _.originalSpan = t7;
  12592. },
  12593. UnicodeGlyphSet: function UnicodeGlyphSet() {
  12594. }
  12595. },
  12596. R = {ModifiableCssComment: function ModifiableCssComment(t0, t1) {
  12597. var _ = this;
  12598. _.text = t0;
  12599. _.span = t1;
  12600. _._indexInParent = _._parent = null;
  12601. _.isGroupEnd = false;
  12602. },
  12603. ImportCache$none: function(logger) {
  12604. var t1 = logger == null ? C.StderrLogger_false : logger,
  12605. t2 = P.Uri;
  12606. return new R.ImportCache(C.List_empty10, t1, P.LinkedHashMap_LinkedHashMap$_empty(t2, [S.Tuple3, M.Importer, P.Uri, P.Uri]), P.LinkedHashMap_LinkedHashMap$_empty(t2, V.Stylesheet), P.LinkedHashMap_LinkedHashMap$_empty(t2, E.ImporterResult));
  12607. },
  12608. ImportCache__toImporters: function(importers, loadPaths, packageResolver) {
  12609. var _i, t2, t3, path, _null = null,
  12610. sassPath = H.stringTypeCast(J.get$env$x(self.process).SASS_PATH),
  12611. t1 = H.setRuntimeTypeInfo([], [M.Importer]);
  12612. for (_i = 0; false; ++_i)
  12613. t1.push(importers[_i]);
  12614. if (loadPaths != null)
  12615. for (t2 = J.get$iterator$ax(loadPaths); t2.moveNext$0();) {
  12616. t3 = t2.get$current(t2);
  12617. t1.push(new F.FilesystemImporter($.$get$context().absolute$7(t3, _null, _null, _null, _null, _null, _null)));
  12618. }
  12619. if (sassPath != null) {
  12620. t2 = sassPath.split(J.$eq$(J.get$platform$x(self.process), "win32") ? ";" : ":");
  12621. t3 = t2.length;
  12622. _i = 0;
  12623. for (; _i < t3; ++_i) {
  12624. path = t2[_i];
  12625. t1.push(new F.FilesystemImporter($.$get$context().absolute$7(path, _null, _null, _null, _null, _null, _null)));
  12626. }
  12627. }
  12628. return t1;
  12629. },
  12630. ImportCache: function ImportCache(t0, t1, t2, t3, t4) {
  12631. var _ = this;
  12632. _._importers = t0;
  12633. _._import_cache$_logger = t1;
  12634. _._canonicalizeCache = t2;
  12635. _._import_cache$_importCache = t3;
  12636. _._resultsCache = t4;
  12637. },
  12638. ImportCache_canonicalize_closure: function ImportCache_canonicalize_closure(t0, t1) {
  12639. this.$this = t0;
  12640. this.url = t1;
  12641. },
  12642. ImportCache_importCanonical_closure: function ImportCache_importCanonical_closure(t0, t1, t2, t3) {
  12643. var _ = this;
  12644. _.$this = t0;
  12645. _.importer = t1;
  12646. _.canonicalUrl = t2;
  12647. _.originalUrl = t3;
  12648. },
  12649. ImportCache_humanize_closure: function ImportCache_humanize_closure(t0) {
  12650. this.canonicalUrl = t0;
  12651. },
  12652. ImportCache_humanize_closure0: function ImportCache_humanize_closure0() {
  12653. },
  12654. ImportCache_humanize_closure1: function ImportCache_humanize_closure1() {
  12655. },
  12656. ForwardedModuleView$: function(_inner, _rule, $T) {
  12657. var t5,
  12658. t1 = _rule.prefix,
  12659. t2 = _rule.shownVariables,
  12660. t3 = _rule.hiddenVariables,
  12661. t4 = R.ForwardedModuleView__forwardedMap(_inner.get$variables(), t1, t2, t3, F.Value);
  12662. t2 = _inner.get$variableNodes() == null ? null : R.ForwardedModuleView__forwardedMap(_inner.get$variableNodes(), t1, t2, t3, B.AstNode);
  12663. t3 = _rule.shownMixinsAndFunctions;
  12664. t5 = _rule.hiddenMixinsAndFunctions;
  12665. return new R.ForwardedModuleView(_inner, _rule, t4, t2, R.ForwardedModuleView__forwardedMap(_inner.get$functions(_inner), t1, t3, t5, $T), R.ForwardedModuleView__forwardedMap(_inner.get$mixins(), t1, t3, t5, $T), [$T]);
  12666. },
  12667. ForwardedModuleView__forwardedMap: function(map, prefix, whitelist, blacklist, $V) {
  12668. var t2,
  12669. t1 = prefix == null;
  12670. if (t1)
  12671. if (whitelist == null)
  12672. if (blacklist != null) {
  12673. t2 = blacklist._base;
  12674. t2 = t2.get$isEmpty(t2);
  12675. } else
  12676. t2 = true;
  12677. else
  12678. t2 = false;
  12679. else
  12680. t2 = false;
  12681. if (t2)
  12682. return map;
  12683. if (!t1)
  12684. map = new F.PrefixedMapView(map, prefix, [$V]);
  12685. if (whitelist != null)
  12686. map = new K.LimitedMapView(map, whitelist._base.intersection$1(new M.MapKeySet(map, [P.Object])), [P.String, $V]);
  12687. else {
  12688. if (blacklist != null) {
  12689. t1 = blacklist._base;
  12690. t1 = t1.get$isNotEmpty(t1);
  12691. } else
  12692. t1 = false;
  12693. if (t1)
  12694. map = K.LimitedMapView$blacklist(map, blacklist, P.String, $V);
  12695. }
  12696. return map;
  12697. },
  12698. ForwardedModuleView: function ForwardedModuleView(t0, t1, t2, t3, t4, t5, t6) {
  12699. var _ = this;
  12700. _._forwarded_view$_inner = t0;
  12701. _._rule = t1;
  12702. _.variables = t2;
  12703. _.variableNodes = t3;
  12704. _.functions = t4;
  12705. _.mixins = t5;
  12706. _.$ti = t6;
  12707. },
  12708. RenderOptions: function RenderOptions() {
  12709. },
  12710. _EvaluateVisitor$: function(functions, importCache, logger, nodeImporter, sourceMap) {
  12711. var t7, t8,
  12712. t1 = P.String,
  12713. t2 = P.Uri,
  12714. t3 = [G.Module, D.Callable],
  12715. t4 = P.LinkedHashSet_LinkedHashSet(t1),
  12716. t5 = P.LinkedHashSet_LinkedHashSet(t2),
  12717. t6 = H.setRuntimeTypeInfo([], [[S.Tuple2, P.String, B.AstNode]]);
  12718. if (nodeImporter == null)
  12719. t7 = importCache == null ? R.ImportCache$none(logger) : importCache;
  12720. else
  12721. t7 = null;
  12722. t8 = logger == null ? C.StderrLogger_false : logger;
  12723. t6 = new R._EvaluateVisitor(t7, nodeImporter, P.LinkedHashMap_LinkedHashMap$_empty(t1, D.Callable), P.LinkedHashMap_LinkedHashMap$_empty(t2, t3), P.LinkedHashMap_LinkedHashMap$_empty(t2, t3), t8, sourceMap, t4, t5, t6);
  12724. t6._EvaluateVisitor$5$functions$importCache$logger$nodeImporter$sourceMap(functions, importCache, logger, nodeImporter, sourceMap);
  12725. return t6;
  12726. },
  12727. _ArgumentResults$: function(positional, named, separator, namedNodes, positionalNodes) {
  12728. return new R._ArgumentResults(positional, positionalNodes, named, namedNodes, separator);
  12729. },
  12730. _EvaluateVisitor: function _EvaluateVisitor(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
  12731. var _ = this;
  12732. _._importCache = t0;
  12733. _._nodeImporter = t1;
  12734. _._builtInFunctions = t2;
  12735. _._builtInModules = t3;
  12736. _._modules = t4;
  12737. _._logger = t5;
  12738. _._sourceMap = t6;
  12739. _._declarationName = _._evaluate$_parent = _._mediaQueries = _._styleRule = _._evaluate$_environment = null;
  12740. _._member = "root stylesheet";
  12741. _._importSpan = _._callableNode = null;
  12742. _._inKeyframes = _._atRootExcludingStyleRule = _._inUnknownAtRule = _._inFunction = false;
  12743. _._includedFiles = t7;
  12744. _._activeModules = t8;
  12745. _._stack = t9;
  12746. _._extender = _._outOfOrderImports = _._endOfImports = _._root = _._stylesheet = _._importer = null;
  12747. },
  12748. _EvaluateVisitor_closure: function _EvaluateVisitor_closure(t0) {
  12749. this.$this = t0;
  12750. },
  12751. _EvaluateVisitor_closure0: function _EvaluateVisitor_closure0(t0) {
  12752. this.$this = t0;
  12753. },
  12754. _EvaluateVisitor_closure1: function _EvaluateVisitor_closure1(t0) {
  12755. this.$this = t0;
  12756. },
  12757. _EvaluateVisitor_closure2: function _EvaluateVisitor_closure2(t0) {
  12758. this.$this = t0;
  12759. },
  12760. _EvaluateVisitor_closure3: function _EvaluateVisitor_closure3(t0) {
  12761. this.$this = t0;
  12762. },
  12763. _EvaluateVisitor_closure4: function _EvaluateVisitor_closure4(t0) {
  12764. this.$this = t0;
  12765. },
  12766. _EvaluateVisitor_closure5: function _EvaluateVisitor_closure5(t0) {
  12767. this.$this = t0;
  12768. },
  12769. _EvaluateVisitor_closure6: function _EvaluateVisitor_closure6(t0) {
  12770. this.$this = t0;
  12771. },
  12772. _EvaluateVisitor__closure1: function _EvaluateVisitor__closure1(t0, t1, t2) {
  12773. this.$this = t0;
  12774. this.name = t1;
  12775. this.module = t2;
  12776. },
  12777. _EvaluateVisitor_closure7: function _EvaluateVisitor_closure7(t0) {
  12778. this.$this = t0;
  12779. },
  12780. _EvaluateVisitor__closure: function _EvaluateVisitor__closure() {
  12781. },
  12782. _EvaluateVisitor__closure0: function _EvaluateVisitor__closure0() {
  12783. },
  12784. _EvaluateVisitor_run_closure: function _EvaluateVisitor_run_closure(t0, t1, t2) {
  12785. this.$this = t0;
  12786. this.node = t1;
  12787. this.importer = t2;
  12788. },
  12789. _EvaluateVisitor_runExpression_closure: function _EvaluateVisitor_runExpression_closure(t0, t1, t2) {
  12790. this.$this = t0;
  12791. this.variables = t1;
  12792. this.expression = t2;
  12793. },
  12794. _EvaluateVisitor__withWarnCallback_closure: function _EvaluateVisitor__withWarnCallback_closure(t0) {
  12795. this.$this = t0;
  12796. },
  12797. _EvaluateVisitor__loadModule_closure: function _EvaluateVisitor__loadModule_closure(t0, t1, t2, t3) {
  12798. var _ = this;
  12799. _.$this = t0;
  12800. _.url = t1;
  12801. _.nodeForSpan = t2;
  12802. _.callback = t3;
  12803. },
  12804. _EvaluateVisitor__loadModule__closure: function _EvaluateVisitor__loadModule__closure(t0, t1, t2) {
  12805. this.$this = t0;
  12806. this.url = t1;
  12807. this.nodeForSpan = t2;
  12808. },
  12809. _EvaluateVisitor__execute_closure: function _EvaluateVisitor__execute_closure(t0, t1, t2) {
  12810. this.$this = t0;
  12811. this.importer = t1;
  12812. this.stylesheet = t2;
  12813. },
  12814. _EvaluateVisitor__execute__closure: function _EvaluateVisitor__execute__closure(t0, t1, t2, t3, t4) {
  12815. var _ = this;
  12816. _._box_0 = t0;
  12817. _.$this = t1;
  12818. _.importer = t2;
  12819. _.stylesheet = t3;
  12820. _.extender = t4;
  12821. },
  12822. _EvaluateVisitor__combineCss_closure: function _EvaluateVisitor__combineCss_closure() {
  12823. },
  12824. _EvaluateVisitor__combineCss_closure0: function _EvaluateVisitor__combineCss_closure0(t0) {
  12825. this.selectors = t0;
  12826. },
  12827. _EvaluateVisitor__combineCss_closure1: function _EvaluateVisitor__combineCss_closure1() {
  12828. },
  12829. _EvaluateVisitor__extendModules_closure: function _EvaluateVisitor__extendModules_closure(t0) {
  12830. this.originalSelectors = t0;
  12831. },
  12832. _EvaluateVisitor__extendModules_closure0: function _EvaluateVisitor__extendModules_closure0() {
  12833. },
  12834. _EvaluateVisitor__topologicalModules_visitModule: function _EvaluateVisitor__topologicalModules_visitModule(t0, t1) {
  12835. this.seen = t0;
  12836. this.sorted = t1;
  12837. },
  12838. _EvaluateVisitor_visitAtRootRule_closure: function _EvaluateVisitor_visitAtRootRule_closure(t0, t1) {
  12839. this.$this = t0;
  12840. this.resolved = t1;
  12841. },
  12842. _EvaluateVisitor_visitAtRootRule_closure0: function _EvaluateVisitor_visitAtRootRule_closure0(t0, t1) {
  12843. this.$this = t0;
  12844. this.node = t1;
  12845. },
  12846. _EvaluateVisitor_visitAtRootRule_closure1: function _EvaluateVisitor_visitAtRootRule_closure1(t0, t1) {
  12847. this.$this = t0;
  12848. this.node = t1;
  12849. },
  12850. _EvaluateVisitor__scopeForAtRoot_closure: function _EvaluateVisitor__scopeForAtRoot_closure(t0, t1, t2) {
  12851. this.$this = t0;
  12852. this.newParent = t1;
  12853. this.node = t2;
  12854. },
  12855. _EvaluateVisitor__scopeForAtRoot_closure0: function _EvaluateVisitor__scopeForAtRoot_closure0(t0, t1) {
  12856. this.$this = t0;
  12857. this.innerScope = t1;
  12858. },
  12859. _EvaluateVisitor__scopeForAtRoot_closure1: function _EvaluateVisitor__scopeForAtRoot_closure1(t0, t1) {
  12860. this.$this = t0;
  12861. this.innerScope = t1;
  12862. },
  12863. _EvaluateVisitor__scopeForAtRoot__closure: function _EvaluateVisitor__scopeForAtRoot__closure(t0, t1) {
  12864. this.innerScope = t0;
  12865. this.callback = t1;
  12866. },
  12867. _EvaluateVisitor__scopeForAtRoot_closure2: function _EvaluateVisitor__scopeForAtRoot_closure2(t0, t1) {
  12868. this.$this = t0;
  12869. this.innerScope = t1;
  12870. },
  12871. _EvaluateVisitor__scopeForAtRoot_closure3: function _EvaluateVisitor__scopeForAtRoot_closure3() {
  12872. },
  12873. _EvaluateVisitor__scopeForAtRoot_closure4: function _EvaluateVisitor__scopeForAtRoot_closure4(t0, t1) {
  12874. this.$this = t0;
  12875. this.innerScope = t1;
  12876. },
  12877. _EvaluateVisitor_visitContentRule_closure: function _EvaluateVisitor_visitContentRule_closure(t0, t1) {
  12878. this.$this = t0;
  12879. this.content = t1;
  12880. },
  12881. _EvaluateVisitor_visitDeclaration_closure: function _EvaluateVisitor_visitDeclaration_closure(t0, t1) {
  12882. this.$this = t0;
  12883. this.node = t1;
  12884. },
  12885. _EvaluateVisitor_visitEachRule_closure: function _EvaluateVisitor_visitEachRule_closure(t0, t1, t2) {
  12886. this.$this = t0;
  12887. this.node = t1;
  12888. this.nodeForSpan = t2;
  12889. },
  12890. _EvaluateVisitor_visitEachRule_closure0: function _EvaluateVisitor_visitEachRule_closure0(t0, t1, t2) {
  12891. this.$this = t0;
  12892. this.node = t1;
  12893. this.nodeForSpan = t2;
  12894. },
  12895. _EvaluateVisitor_visitEachRule_closure1: function _EvaluateVisitor_visitEachRule_closure1(t0, t1, t2, t3) {
  12896. var _ = this;
  12897. _.$this = t0;
  12898. _.list = t1;
  12899. _.setVariables = t2;
  12900. _.node = t3;
  12901. },
  12902. _EvaluateVisitor_visitEachRule__closure: function _EvaluateVisitor_visitEachRule__closure(t0, t1, t2) {
  12903. this.$this = t0;
  12904. this.setVariables = t1;
  12905. this.node = t2;
  12906. },
  12907. _EvaluateVisitor_visitEachRule___closure: function _EvaluateVisitor_visitEachRule___closure(t0) {
  12908. this.$this = t0;
  12909. },
  12910. _EvaluateVisitor_visitExtendRule_closure: function _EvaluateVisitor_visitExtendRule_closure(t0, t1) {
  12911. this.$this = t0;
  12912. this.targetText = t1;
  12913. },
  12914. _EvaluateVisitor_visitAtRule_closure: function _EvaluateVisitor_visitAtRule_closure(t0, t1) {
  12915. this.$this = t0;
  12916. this.node = t1;
  12917. },
  12918. _EvaluateVisitor_visitAtRule__closure: function _EvaluateVisitor_visitAtRule__closure(t0, t1) {
  12919. this.$this = t0;
  12920. this.node = t1;
  12921. },
  12922. _EvaluateVisitor_visitAtRule_closure0: function _EvaluateVisitor_visitAtRule_closure0() {
  12923. },
  12924. _EvaluateVisitor_visitForRule_closure: function _EvaluateVisitor_visitForRule_closure(t0, t1) {
  12925. this.$this = t0;
  12926. this.node = t1;
  12927. },
  12928. _EvaluateVisitor_visitForRule_closure0: function _EvaluateVisitor_visitForRule_closure0(t0, t1) {
  12929. this.$this = t0;
  12930. this.node = t1;
  12931. },
  12932. _EvaluateVisitor_visitForRule_closure1: function _EvaluateVisitor_visitForRule_closure1(t0, t1) {
  12933. this.fromNumber = t0;
  12934. this.toNumber = t1;
  12935. },
  12936. _EvaluateVisitor_visitForRule_closure2: function _EvaluateVisitor_visitForRule_closure2(t0) {
  12937. this.toNumber = t0;
  12938. },
  12939. _EvaluateVisitor_visitForRule_closure3: function _EvaluateVisitor_visitForRule_closure3(t0, t1, t2, t3, t4) {
  12940. var _ = this;
  12941. _._box_0 = t0;
  12942. _.$this = t1;
  12943. _.node = t2;
  12944. _.from = t3;
  12945. _.direction = t4;
  12946. },
  12947. _EvaluateVisitor_visitForRule__closure: function _EvaluateVisitor_visitForRule__closure(t0) {
  12948. this.$this = t0;
  12949. },
  12950. _EvaluateVisitor_visitForwardRule_closure: function _EvaluateVisitor_visitForwardRule_closure(t0, t1) {
  12951. this.$this = t0;
  12952. this.node = t1;
  12953. },
  12954. _EvaluateVisitor_visitIfRule_closure: function _EvaluateVisitor_visitIfRule_closure(t0, t1) {
  12955. this._box_0 = t0;
  12956. this.$this = t1;
  12957. },
  12958. _EvaluateVisitor_visitIfRule__closure: function _EvaluateVisitor_visitIfRule__closure(t0) {
  12959. this.$this = t0;
  12960. },
  12961. _EvaluateVisitor__visitDynamicImport_closure: function _EvaluateVisitor__visitDynamicImport_closure(t0, t1) {
  12962. this.$this = t0;
  12963. this.$import = t1;
  12964. },
  12965. _EvaluateVisitor__visitDynamicImport__closure: function _EvaluateVisitor__visitDynamicImport__closure(t0, t1, t2) {
  12966. this.$this = t0;
  12967. this.importer = t1;
  12968. this.stylesheet = t2;
  12969. },
  12970. _EvaluateVisitor__visitDynamicImport__closure0: function _EvaluateVisitor__visitDynamicImport__closure0(t0, t1, t2, t3) {
  12971. var _ = this;
  12972. _._box_0 = t0;
  12973. _.$this = t1;
  12974. _.importer = t2;
  12975. _.stylesheet = t3;
  12976. },
  12977. _EvaluateVisitor_visitIncludeRule_closure: function _EvaluateVisitor_visitIncludeRule_closure(t0, t1) {
  12978. this.$this = t0;
  12979. this.node = t1;
  12980. },
  12981. _EvaluateVisitor_visitIncludeRule_closure0: function _EvaluateVisitor_visitIncludeRule_closure0(t0, t1, t2) {
  12982. this.$this = t0;
  12983. this.contentCallable = t1;
  12984. this.mixin = t2;
  12985. },
  12986. _EvaluateVisitor_visitIncludeRule__closure: function _EvaluateVisitor_visitIncludeRule__closure(t0, t1) {
  12987. this.$this = t0;
  12988. this.mixin = t1;
  12989. },
  12990. _EvaluateVisitor_visitIncludeRule___closure: function _EvaluateVisitor_visitIncludeRule___closure(t0, t1) {
  12991. this.$this = t0;
  12992. this.mixin = t1;
  12993. },
  12994. _EvaluateVisitor_visitMediaRule_closure: function _EvaluateVisitor_visitMediaRule_closure(t0, t1, t2, t3) {
  12995. var _ = this;
  12996. _.$this = t0;
  12997. _.mergedQueries = t1;
  12998. _.queries = t2;
  12999. _.node = t3;
  13000. },
  13001. _EvaluateVisitor_visitMediaRule__closure: function _EvaluateVisitor_visitMediaRule__closure(t0, t1) {
  13002. this.$this = t0;
  13003. this.node = t1;
  13004. },
  13005. _EvaluateVisitor_visitMediaRule___closure: function _EvaluateVisitor_visitMediaRule___closure(t0, t1) {
  13006. this.$this = t0;
  13007. this.node = t1;
  13008. },
  13009. _EvaluateVisitor_visitMediaRule_closure0: function _EvaluateVisitor_visitMediaRule_closure0(t0) {
  13010. this.mergedQueries = t0;
  13011. },
  13012. _EvaluateVisitor__visitMediaQueries_closure: function _EvaluateVisitor__visitMediaQueries_closure(t0, t1) {
  13013. this.$this = t0;
  13014. this.resolved = t1;
  13015. },
  13016. _EvaluateVisitor_visitStyleRule_closure: function _EvaluateVisitor_visitStyleRule_closure(t0, t1) {
  13017. this.$this = t0;
  13018. this.selectorText = t1;
  13019. },
  13020. _EvaluateVisitor_visitStyleRule_closure0: function _EvaluateVisitor_visitStyleRule_closure0(t0, t1) {
  13021. this.$this = t0;
  13022. this.node = t1;
  13023. },
  13024. _EvaluateVisitor_visitStyleRule_closure1: function _EvaluateVisitor_visitStyleRule_closure1() {
  13025. },
  13026. _EvaluateVisitor_visitStyleRule_closure2: function _EvaluateVisitor_visitStyleRule_closure2(t0, t1) {
  13027. this.$this = t0;
  13028. this.selectorText = t1;
  13029. },
  13030. _EvaluateVisitor_visitStyleRule_closure3: function _EvaluateVisitor_visitStyleRule_closure3(t0, t1) {
  13031. this._box_0 = t0;
  13032. this.$this = t1;
  13033. },
  13034. _EvaluateVisitor_visitStyleRule_closure4: function _EvaluateVisitor_visitStyleRule_closure4(t0, t1, t2) {
  13035. this.$this = t0;
  13036. this.rule = t1;
  13037. this.node = t2;
  13038. },
  13039. _EvaluateVisitor_visitStyleRule__closure: function _EvaluateVisitor_visitStyleRule__closure(t0, t1) {
  13040. this.$this = t0;
  13041. this.node = t1;
  13042. },
  13043. _EvaluateVisitor_visitStyleRule_closure5: function _EvaluateVisitor_visitStyleRule_closure5() {
  13044. },
  13045. _EvaluateVisitor_visitSupportsRule_closure: function _EvaluateVisitor_visitSupportsRule_closure(t0, t1) {
  13046. this.$this = t0;
  13047. this.node = t1;
  13048. },
  13049. _EvaluateVisitor_visitSupportsRule__closure: function _EvaluateVisitor_visitSupportsRule__closure(t0, t1) {
  13050. this.$this = t0;
  13051. this.node = t1;
  13052. },
  13053. _EvaluateVisitor_visitSupportsRule_closure0: function _EvaluateVisitor_visitSupportsRule_closure0() {
  13054. },
  13055. _EvaluateVisitor_visitVariableDeclaration_closure: function _EvaluateVisitor_visitVariableDeclaration_closure(t0, t1) {
  13056. this.$this = t0;
  13057. this.node = t1;
  13058. },
  13059. _EvaluateVisitor_visitVariableDeclaration_closure0: function _EvaluateVisitor_visitVariableDeclaration_closure0(t0, t1, t2) {
  13060. this.$this = t0;
  13061. this.node = t1;
  13062. this.value = t2;
  13063. },
  13064. _EvaluateVisitor_visitUseRule_closure: function _EvaluateVisitor_visitUseRule_closure(t0, t1) {
  13065. this.$this = t0;
  13066. this.node = t1;
  13067. },
  13068. _EvaluateVisitor_visitWarnRule_closure: function _EvaluateVisitor_visitWarnRule_closure(t0, t1) {
  13069. this.$this = t0;
  13070. this.node = t1;
  13071. },
  13072. _EvaluateVisitor_visitWhileRule_closure: function _EvaluateVisitor_visitWhileRule_closure(t0, t1) {
  13073. this.$this = t0;
  13074. this.node = t1;
  13075. },
  13076. _EvaluateVisitor_visitWhileRule__closure: function _EvaluateVisitor_visitWhileRule__closure(t0) {
  13077. this.$this = t0;
  13078. },
  13079. _EvaluateVisitor_visitBinaryOperationExpression_closure: function _EvaluateVisitor_visitBinaryOperationExpression_closure(t0, t1) {
  13080. this.$this = t0;
  13081. this.node = t1;
  13082. },
  13083. _EvaluateVisitor_visitVariableExpression_closure: function _EvaluateVisitor_visitVariableExpression_closure(t0, t1) {
  13084. this.$this = t0;
  13085. this.node = t1;
  13086. },
  13087. _EvaluateVisitor_visitListExpression_closure: function _EvaluateVisitor_visitListExpression_closure(t0) {
  13088. this.$this = t0;
  13089. },
  13090. _EvaluateVisitor_visitFunctionExpression_closure: function _EvaluateVisitor_visitFunctionExpression_closure(t0, t1, t2) {
  13091. this.$this = t0;
  13092. this.node = t1;
  13093. this.plainName = t2;
  13094. },
  13095. _EvaluateVisitor__runUserDefinedCallable_closure: function _EvaluateVisitor__runUserDefinedCallable_closure(t0, t1, t2, t3, t4) {
  13096. var _ = this;
  13097. _.$this = t0;
  13098. _.callable = t1;
  13099. _.evaluated = t2;
  13100. _.nodeWithSpan = t3;
  13101. _.run = t4;
  13102. },
  13103. _EvaluateVisitor__runUserDefinedCallable__closure: function _EvaluateVisitor__runUserDefinedCallable__closure(t0, t1, t2, t3, t4) {
  13104. var _ = this;
  13105. _.$this = t0;
  13106. _.evaluated = t1;
  13107. _.callable = t2;
  13108. _.nodeWithSpan = t3;
  13109. _.run = t4;
  13110. },
  13111. _EvaluateVisitor__runUserDefinedCallable___closure: function _EvaluateVisitor__runUserDefinedCallable___closure(t0, t1, t2, t3, t4) {
  13112. var _ = this;
  13113. _.$this = t0;
  13114. _.evaluated = t1;
  13115. _.callable = t2;
  13116. _.nodeWithSpan = t3;
  13117. _.run = t4;
  13118. },
  13119. _EvaluateVisitor__runUserDefinedCallable____closure: function _EvaluateVisitor__runUserDefinedCallable____closure() {
  13120. },
  13121. _EvaluateVisitor__runFunctionCallable_closure: function _EvaluateVisitor__runFunctionCallable_closure(t0, t1) {
  13122. this.$this = t0;
  13123. this.callable = t1;
  13124. },
  13125. _EvaluateVisitor__runBuiltInCallable_closure: function _EvaluateVisitor__runBuiltInCallable_closure(t0, t1, t2) {
  13126. this.overload = t0;
  13127. this.evaluated = t1;
  13128. this.namedSet = t2;
  13129. },
  13130. _EvaluateVisitor__runBuiltInCallable_closure0: function _EvaluateVisitor__runBuiltInCallable_closure0() {
  13131. },
  13132. _EvaluateVisitor__evaluateArguments_closure: function _EvaluateVisitor__evaluateArguments_closure(t0) {
  13133. this.$this = t0;
  13134. },
  13135. _EvaluateVisitor__evaluateArguments_closure0: function _EvaluateVisitor__evaluateArguments_closure0(t0) {
  13136. this.$this = t0;
  13137. },
  13138. _EvaluateVisitor__evaluateArguments_closure1: function _EvaluateVisitor__evaluateArguments_closure1() {
  13139. },
  13140. _EvaluateVisitor__evaluateArguments_closure2: function _EvaluateVisitor__evaluateArguments_closure2(t0) {
  13141. this.restNodeForSpan = t0;
  13142. },
  13143. _EvaluateVisitor__evaluateArguments_closure3: function _EvaluateVisitor__evaluateArguments_closure3(t0, t1, t2) {
  13144. this.named = t0;
  13145. this.namedNodes = t1;
  13146. this.restNodeForSpan = t2;
  13147. },
  13148. _EvaluateVisitor__evaluateArguments_closure4: function _EvaluateVisitor__evaluateArguments_closure4() {
  13149. },
  13150. _EvaluateVisitor__evaluateArguments_closure5: function _EvaluateVisitor__evaluateArguments_closure5(t0) {
  13151. this.keywordRestNodeForSpan = t0;
  13152. },
  13153. _EvaluateVisitor__evaluateMacroArguments_closure: function _EvaluateVisitor__evaluateMacroArguments_closure() {
  13154. },
  13155. _EvaluateVisitor__evaluateMacroArguments_closure0: function _EvaluateVisitor__evaluateMacroArguments_closure0() {
  13156. },
  13157. _EvaluateVisitor__evaluateMacroArguments_closure1: function _EvaluateVisitor__evaluateMacroArguments_closure1(t0) {
  13158. this.named = t0;
  13159. },
  13160. _EvaluateVisitor__evaluateMacroArguments_closure2: function _EvaluateVisitor__evaluateMacroArguments_closure2() {
  13161. },
  13162. _EvaluateVisitor__addRestMap_closure: function _EvaluateVisitor__addRestMap_closure(t0) {
  13163. this.T = t0;
  13164. },
  13165. _EvaluateVisitor__addRestMap_closure0: function _EvaluateVisitor__addRestMap_closure0(t0, t1, t2, t3, t4) {
  13166. var _ = this;
  13167. _._box_0 = t0;
  13168. _.$this = t1;
  13169. _.values = t2;
  13170. _.map = t3;
  13171. _.nodeForSpan = t4;
  13172. },
  13173. _EvaluateVisitor__verifyArguments_closure: function _EvaluateVisitor__verifyArguments_closure(t0, t1, t2) {
  13174. this.$arguments = t0;
  13175. this.positional = t1;
  13176. this.named = t2;
  13177. },
  13178. _EvaluateVisitor_visitStringExpression_closure: function _EvaluateVisitor_visitStringExpression_closure(t0) {
  13179. this.$this = t0;
  13180. },
  13181. _EvaluateVisitor_visitCssAtRule_closure: function _EvaluateVisitor_visitCssAtRule_closure(t0, t1) {
  13182. this.$this = t0;
  13183. this.node = t1;
  13184. },
  13185. _EvaluateVisitor_visitCssAtRule_closure0: function _EvaluateVisitor_visitCssAtRule_closure0() {
  13186. },
  13187. _EvaluateVisitor_visitCssKeyframeBlock_closure: function _EvaluateVisitor_visitCssKeyframeBlock_closure(t0, t1) {
  13188. this.$this = t0;
  13189. this.node = t1;
  13190. },
  13191. _EvaluateVisitor_visitCssKeyframeBlock_closure0: function _EvaluateVisitor_visitCssKeyframeBlock_closure0() {
  13192. },
  13193. _EvaluateVisitor_visitCssMediaRule_closure: function _EvaluateVisitor_visitCssMediaRule_closure(t0, t1, t2) {
  13194. this.$this = t0;
  13195. this.mergedQueries = t1;
  13196. this.node = t2;
  13197. },
  13198. _EvaluateVisitor_visitCssMediaRule__closure: function _EvaluateVisitor_visitCssMediaRule__closure(t0, t1) {
  13199. this.$this = t0;
  13200. this.node = t1;
  13201. },
  13202. _EvaluateVisitor_visitCssMediaRule___closure: function _EvaluateVisitor_visitCssMediaRule___closure(t0, t1) {
  13203. this.$this = t0;
  13204. this.node = t1;
  13205. },
  13206. _EvaluateVisitor_visitCssMediaRule_closure0: function _EvaluateVisitor_visitCssMediaRule_closure0(t0) {
  13207. this.mergedQueries = t0;
  13208. },
  13209. _EvaluateVisitor_visitCssStyleRule_closure: function _EvaluateVisitor_visitCssStyleRule_closure(t0, t1, t2) {
  13210. this.$this = t0;
  13211. this.rule = t1;
  13212. this.node = t2;
  13213. },
  13214. _EvaluateVisitor_visitCssStyleRule__closure: function _EvaluateVisitor_visitCssStyleRule__closure(t0, t1) {
  13215. this.$this = t0;
  13216. this.node = t1;
  13217. },
  13218. _EvaluateVisitor_visitCssStyleRule_closure0: function _EvaluateVisitor_visitCssStyleRule_closure0() {
  13219. },
  13220. _EvaluateVisitor_visitCssSupportsRule_closure: function _EvaluateVisitor_visitCssSupportsRule_closure(t0, t1) {
  13221. this.$this = t0;
  13222. this.node = t1;
  13223. },
  13224. _EvaluateVisitor_visitCssSupportsRule__closure: function _EvaluateVisitor_visitCssSupportsRule__closure(t0, t1) {
  13225. this.$this = t0;
  13226. this.node = t1;
  13227. },
  13228. _EvaluateVisitor_visitCssSupportsRule_closure0: function _EvaluateVisitor_visitCssSupportsRule_closure0() {
  13229. },
  13230. _EvaluateVisitor__performInterpolation_closure: function _EvaluateVisitor__performInterpolation_closure(t0, t1) {
  13231. this.$this = t0;
  13232. this.warnForColor = t1;
  13233. },
  13234. _EvaluateVisitor__serialize_closure: function _EvaluateVisitor__serialize_closure(t0, t1) {
  13235. this.value = t0;
  13236. this.quote = t1;
  13237. },
  13238. _EvaluateVisitor__stackTrace_closure: function _EvaluateVisitor__stackTrace_closure(t0) {
  13239. this.$this = t0;
  13240. },
  13241. _ImportedCssVisitor: function _ImportedCssVisitor(t0) {
  13242. this._visitor = t0;
  13243. },
  13244. _ImportedCssVisitor_visitCssAtRule_closure: function _ImportedCssVisitor_visitCssAtRule_closure() {
  13245. },
  13246. _ImportedCssVisitor_visitCssMediaRule_closure: function _ImportedCssVisitor_visitCssMediaRule_closure(t0) {
  13247. this.hasBeenMerged = t0;
  13248. },
  13249. _ImportedCssVisitor_visitCssStyleRule_closure: function _ImportedCssVisitor_visitCssStyleRule_closure() {
  13250. },
  13251. _ImportedCssVisitor_visitCssSupportsRule_closure: function _ImportedCssVisitor_visitCssSupportsRule_closure() {
  13252. },
  13253. _ArgumentResults: function _ArgumentResults(t0, t1, t2, t3, t4) {
  13254. var _ = this;
  13255. _.positional = t0;
  13256. _.positionalNodes = t1;
  13257. _.named = t2;
  13258. _.namedNodes = t3;
  13259. _.separator = t4;
  13260. }
  13261. },
  13262. T = {Expression: function Expression() {
  13263. }, NumberExpression: function NumberExpression(t0, t1, t2) {
  13264. this.value = t0;
  13265. this.unit = t1;
  13266. this.span = t2;
  13267. }, ParenthesizedExpression: function ParenthesizedExpression(t0, t1) {
  13268. this.expression = t0;
  13269. this.span = t1;
  13270. }, SelectorExpression: function SelectorExpression(t0) {
  13271. this.span = t0;
  13272. }, MixinRule: function MixinRule(t0, t1, t2, t3, t4, t5) {
  13273. var _ = this;
  13274. _.hasContent = t0;
  13275. _.name = t1;
  13276. _.$arguments = t2;
  13277. _.span = t3;
  13278. _.children = t4;
  13279. _.hasDeclarations = t5;
  13280. }, UseRule: function UseRule(t0, t1, t2) {
  13281. this.url = t0;
  13282. this.namespace = t1;
  13283. this.span = t2;
  13284. }, Selector: function Selector() {
  13285. }, EmptyExtender: function EmptyExtender() {
  13286. },
  13287. _prependParent: function(compound) {
  13288. var t3, _i,
  13289. t1 = compound.components,
  13290. first = C.JSArray_methods.get$first(t1),
  13291. t2 = J.getInterceptor$(first);
  13292. if (!!t2.$isUniversalSelector)
  13293. return;
  13294. if (!!t2.$isTypeSelector) {
  13295. t2 = first.name;
  13296. if (t2.namespace != null)
  13297. return;
  13298. t3 = H.setRuntimeTypeInfo([], [M.SimpleSelector]);
  13299. t3.push(new M.ParentSelector(t2.name));
  13300. for (t1 = H.SubListIterable$(t1, 1, null, H.getTypeArgumentByIndex(t1, 0)), t1 = new H.ListIterator(t1, t1.get$length(t1)); t1.moveNext$0();)
  13301. t3.push(t1.__internal$_current);
  13302. return X.CompoundSelector$(t3);
  13303. } else {
  13304. t2 = H.setRuntimeTypeInfo([], [M.SimpleSelector]);
  13305. t2.push(new M.ParentSelector(null));
  13306. for (t3 = t1.length, _i = 0; _i < t3; ++_i)
  13307. t2.push(t1[_i]);
  13308. return X.CompoundSelector$(t2);
  13309. }
  13310. },
  13311. closure51: function closure51() {
  13312. },
  13313. _closure8: function _closure8() {
  13314. },
  13315. _closure9: function _closure9() {
  13316. },
  13317. closure50: function closure50() {
  13318. },
  13319. _closure6: function _closure6() {
  13320. },
  13321. _closure7: function _closure7() {
  13322. },
  13323. __closure: function __closure(t0) {
  13324. this.parent = t0;
  13325. },
  13326. closure49: function closure49() {
  13327. },
  13328. closure48: function closure48() {
  13329. },
  13330. closure47: function closure47() {
  13331. },
  13332. closure54: function closure54() {
  13333. },
  13334. closure53: function closure53() {
  13335. },
  13336. _closure10: function _closure10() {
  13337. },
  13338. closure52: function closure52() {
  13339. },
  13340. TrackingLogger: function TrackingLogger(t0) {
  13341. this._tracking$_logger = t0;
  13342. this._emittedDebug = this._emittedWarning = false;
  13343. },
  13344. _parseNumber: function(value, unit) {
  13345. var t1, t2, invalidUnit, operands, numerator, denominator, numeratorUnits, denominatorUnits;
  13346. if (unit == null || unit.length === 0)
  13347. return new T.SassNumber(value, C.List_empty0, C.List_empty0, null);
  13348. if (!J.contains$1$asx(unit, "*") && !C.JSString_methods.contains$1(unit, "/")) {
  13349. t1 = P.String;
  13350. t2 = H.setRuntimeTypeInfo([unit], [t1]);
  13351. t1 = P.List_List$unmodifiable(t2, t1);
  13352. return new T.SassNumber(value, t1, C.List_empty0, null);
  13353. }
  13354. invalidUnit = new P.ArgumentError(true, unit, "unit", "is invalid.");
  13355. operands = unit.split("/");
  13356. t1 = operands.length;
  13357. if (t1 > 2)
  13358. throw H.wrapException(invalidUnit);
  13359. numerator = operands[0];
  13360. denominator = t1 === 1 ? null : operands[1];
  13361. t1 = P.String;
  13362. numeratorUnits = numerator.length === 0 ? H.setRuntimeTypeInfo([], [t1]) : H.setRuntimeTypeInfo(numerator.split("*"), [t1]);
  13363. if (C.JSArray_methods.any$1(numeratorUnits, new T._parseNumber_closure()))
  13364. throw H.wrapException(invalidUnit);
  13365. denominatorUnits = denominator == null ? H.setRuntimeTypeInfo([], [t1]) : H.setRuntimeTypeInfo(denominator.split("*"), [t1]);
  13366. if (C.JSArray_methods.any$1(denominatorUnits, new T._parseNumber_closure0()))
  13367. throw H.wrapException(invalidUnit);
  13368. return T.SassNumber$withUnits(value, denominatorUnits, numeratorUnits);
  13369. },
  13370. _NodeSassNumber: function _NodeSassNumber() {
  13371. },
  13372. closure3: function closure3() {
  13373. },
  13374. closure4: function closure4() {
  13375. },
  13376. closure5: function closure5() {
  13377. },
  13378. closure6: function closure6() {
  13379. },
  13380. closure7: function closure7() {
  13381. },
  13382. closure8: function closure8() {
  13383. },
  13384. _parseNumber_closure: function _parseNumber_closure() {
  13385. },
  13386. _parseNumber_closure0: function _parseNumber_closure0() {
  13387. },
  13388. SelectorParser: function SelectorParser(t0, t1, t2, t3) {
  13389. var _ = this;
  13390. _._allowParent = t0;
  13391. _._allowPlaceholder = t1;
  13392. _.scanner = t2;
  13393. _.logger = t3;
  13394. },
  13395. SelectorParser_parse_closure: function SelectorParser_parse_closure(t0) {
  13396. this.$this = t0;
  13397. },
  13398. SelectorParser_parseCompoundSelector_closure: function SelectorParser_parseCompoundSelector_closure(t0) {
  13399. this.$this = t0;
  13400. },
  13401. SassNumber$withUnits: function(value, denominatorUnits, numeratorUnits) {
  13402. var t1 = numeratorUnits == null ? C.List_empty0 : P.List_List$unmodifiable(numeratorUnits, P.String);
  13403. return new T.SassNumber(value, t1, denominatorUnits == null ? C.List_empty0 : P.List_List$unmodifiable(denominatorUnits, P.String), null);
  13404. },
  13405. SassNumber: function SassNumber(t0, t1, t2, t3) {
  13406. var _ = this;
  13407. _.value = t0;
  13408. _.numeratorUnits = t1;
  13409. _.denominatorUnits = t2;
  13410. _.asSlash = t3;
  13411. },
  13412. SassNumber_valueInUnits_closure: function SassNumber_valueInUnits_closure(t0, t1, t2) {
  13413. this._box_0 = t0;
  13414. this.$this = t1;
  13415. this.newNumerator = t2;
  13416. },
  13417. SassNumber_valueInUnits_closure0: function SassNumber_valueInUnits_closure0(t0, t1, t2) {
  13418. this.$this = t0;
  13419. this.newNumerators = t1;
  13420. this.newDenominators = t2;
  13421. },
  13422. SassNumber_valueInUnits_closure1: function SassNumber_valueInUnits_closure1(t0, t1, t2) {
  13423. this._box_0 = t0;
  13424. this.$this = t1;
  13425. this.newDenominator = t2;
  13426. },
  13427. SassNumber_valueInUnits_closure2: function SassNumber_valueInUnits_closure2(t0, t1, t2) {
  13428. this.$this = t0;
  13429. this.newNumerators = t1;
  13430. this.newDenominators = t2;
  13431. },
  13432. SassNumber_modulo_closure: function SassNumber_modulo_closure() {
  13433. },
  13434. SassNumber_plus_closure: function SassNumber_plus_closure() {
  13435. },
  13436. SassNumber_minus_closure: function SassNumber_minus_closure() {
  13437. },
  13438. SassNumber__multiplyUnits_closure: function SassNumber__multiplyUnits_closure(t0, t1, t2) {
  13439. this._box_0 = t0;
  13440. this.$this = t1;
  13441. this.numerator = t2;
  13442. },
  13443. SassNumber__multiplyUnits_closure0: function SassNumber__multiplyUnits_closure0(t0, t1) {
  13444. this.newNumerators = t0;
  13445. this.numerator = t1;
  13446. },
  13447. SassNumber__multiplyUnits_closure1: function SassNumber__multiplyUnits_closure1(t0, t1, t2) {
  13448. this._box_0 = t0;
  13449. this.$this = t1;
  13450. this.numerator = t2;
  13451. },
  13452. SassNumber__multiplyUnits_closure2: function SassNumber__multiplyUnits_closure2(t0, t1) {
  13453. this.newNumerators = t0;
  13454. this.numerator = t1;
  13455. },
  13456. SassNumber__areAnyConvertible_closure: function SassNumber__areAnyConvertible_closure(t0, t1) {
  13457. this.$this = t0;
  13458. this.units2 = t1;
  13459. },
  13460. SassNumber__canonicalMultiplier_closure: function SassNumber__canonicalMultiplier_closure() {
  13461. },
  13462. SingleMapping_SingleMapping$fromEntries: function(entries) {
  13463. var lines, t1, t2, urls, t3, files, t4, t5, targetEntries, lineNum, _i, sourceEntry, sourceUrl, t6, urlId, _null = null,
  13464. sourceEntries = P.List_List$from(entries, true, _null);
  13465. C.JSArray_methods.sort$0(sourceEntries);
  13466. lines = H.setRuntimeTypeInfo([], [T.TargetLineEntry]);
  13467. t1 = P.String;
  13468. t2 = P.int;
  13469. urls = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
  13470. t3 = Y.SourceFile;
  13471. files = P.LinkedHashMap_LinkedHashMap$_empty(t2, t3);
  13472. for (t4 = sourceEntries.length, t5 = [T.TargetEntry], targetEntries = _null, lineNum = targetEntries, _i = 0; _i < sourceEntries.length; sourceEntries.length === t4 || (0, H.throwConcurrentModificationError)(sourceEntries), ++_i) {
  13473. sourceEntry = sourceEntries[_i];
  13474. if (lineNum == null || sourceEntry.get$target().get$line() > lineNum) {
  13475. lineNum = sourceEntry.get$target().get$line();
  13476. targetEntries = H.setRuntimeTypeInfo([], t5);
  13477. lines.push(new T.TargetLineEntry(lineNum, targetEntries));
  13478. }
  13479. if (sourceEntry.get$source() == null)
  13480. targetEntries.push(new T.TargetEntry(sourceEntry.get$target().get$column(), _null, _null, _null, _null));
  13481. else {
  13482. sourceUrl = sourceEntry.get$source().get$sourceUrl();
  13483. t6 = sourceUrl == null ? "" : sourceUrl.toString$0(0);
  13484. urlId = urls.putIfAbsent$2(t6, new T.SingleMapping_SingleMapping$fromEntries_closure(urls));
  13485. if (sourceEntry.get$source() instanceof Y.FileLocation)
  13486. files.putIfAbsent$2(urlId, new T.SingleMapping_SingleMapping$fromEntries_closure0(sourceEntry));
  13487. sourceEntry.get$identifierName();
  13488. targetEntries.push(new T.TargetEntry(sourceEntry.get$target().get$column(), urlId, sourceEntry.get$source().get$line(), sourceEntry.get$source().get$column(), _null));
  13489. }
  13490. }
  13491. t4 = urls.get$values();
  13492. t3 = H.MappedIterable_MappedIterable(t4, new T.SingleMapping_SingleMapping$fromEntries_closure1(files), H.getRuntimeTypeArgument(t4, "Iterable", 0), t3);
  13493. t3 = P.List_List$from(t3, true, H.getRuntimeTypeArgument(t3, "Iterable", 0));
  13494. t4 = urls.get$keys();
  13495. t4 = P.List_List$from(t4, true, H.getRuntimeTypeArgument(t4, "Iterable", 0));
  13496. t2 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2).get$keys();
  13497. return new T.SingleMapping(t4, P.List_List$from(t2, true, H.getRuntimeTypeArgument(t2, "Iterable", 0)), t3, lines, _null, P.LinkedHashMap_LinkedHashMap$_empty(t1, _null));
  13498. },
  13499. Mapping: function Mapping() {
  13500. },
  13501. SingleMapping: function SingleMapping(t0, t1, t2, t3, t4, t5) {
  13502. var _ = this;
  13503. _.urls = t0;
  13504. _.names = t1;
  13505. _.files = t2;
  13506. _.lines = t3;
  13507. _.targetUrl = t4;
  13508. _.sourceRoot = null;
  13509. _.extensions = t5;
  13510. },
  13511. SingleMapping_SingleMapping$fromEntries_closure: function SingleMapping_SingleMapping$fromEntries_closure(t0) {
  13512. this.urls = t0;
  13513. },
  13514. SingleMapping_SingleMapping$fromEntries_closure0: function SingleMapping_SingleMapping$fromEntries_closure0(t0) {
  13515. this.sourceEntry = t0;
  13516. },
  13517. SingleMapping_SingleMapping$fromEntries_closure1: function SingleMapping_SingleMapping$fromEntries_closure1(t0) {
  13518. this.files = t0;
  13519. },
  13520. SingleMapping_toJson_closure: function SingleMapping_toJson_closure() {
  13521. },
  13522. SingleMapping_toJson_closure0: function SingleMapping_toJson_closure0(t0) {
  13523. this.result = t0;
  13524. },
  13525. TargetLineEntry: function TargetLineEntry(t0, t1) {
  13526. this.line = t0;
  13527. this.entries = t1;
  13528. },
  13529. TargetEntry: function TargetEntry(t0, t1, t2, t3, t4) {
  13530. var _ = this;
  13531. _.column = t0;
  13532. _.sourceUrlId = t1;
  13533. _.sourceLine = t2;
  13534. _.sourceColumn = t3;
  13535. _.sourceNameId = t4;
  13536. },
  13537. LazyTrace: function LazyTrace(t0) {
  13538. this._thunk = t0;
  13539. this._lazy_trace$_inner = null;
  13540. },
  13541. LazyTrace_terse_closure: function LazyTrace_terse_closure(t0) {
  13542. this.$this = t0;
  13543. },
  13544. _collectToList: function(element, soFar, $T) {
  13545. if (soFar == null)
  13546. soFar = H.setRuntimeTypeInfo([], [$T]);
  13547. J.add$1$ax(soFar, element);
  13548. return soFar;
  13549. },
  13550. _debounceAggregate: function(duration, collect, $T, $R) {
  13551. var t1 = {};
  13552. t1.soFar = t1.timer = null;
  13553. t1.shouldClose = false;
  13554. return new L._StreamTransformer(new T._debounceAggregate_closure(t1, duration, collect), new T._debounceAggregate_closure0(t1), H.instantiate1(L.from_handlers__StreamTransformer__defaultHandleError$closure(), $R), [$T, $R]);
  13555. },
  13556. _debounceAggregate_closure: function _debounceAggregate_closure(t0, t1, t2) {
  13557. this._box_0 = t0;
  13558. this.duration = t1;
  13559. this.collect = t2;
  13560. },
  13561. _debounceAggregate__closure: function _debounceAggregate__closure(t0, t1) {
  13562. this._box_0 = t0;
  13563. this.sink = t1;
  13564. },
  13565. _debounceAggregate_closure0: function _debounceAggregate_closure0(t0) {
  13566. this._box_0 = t0;
  13567. },
  13568. isWhitespace: function(character) {
  13569. return character === 32 || character === 9 || T.isNewline(character);
  13570. },
  13571. isNewline: function(character) {
  13572. return character === 10 || character === 13 || character === 12;
  13573. },
  13574. isAlphabetic0: function(character) {
  13575. var t1;
  13576. if (!(character >= 97 && character <= 122))
  13577. t1 = character >= 65 && character <= 90;
  13578. else
  13579. t1 = true;
  13580. return t1;
  13581. },
  13582. isDigit: function(character) {
  13583. return character != null && character >= 48 && character <= 57;
  13584. },
  13585. isHex: function(character) {
  13586. if (character == null)
  13587. return false;
  13588. if (T.isDigit(character))
  13589. return true;
  13590. if (character >= 97 && character <= 102)
  13591. return true;
  13592. if (character >= 65 && character <= 70)
  13593. return true;
  13594. return false;
  13595. },
  13596. asHex: function(character) {
  13597. if (character <= 57)
  13598. return character - 48;
  13599. if (character <= 70)
  13600. return 10 + character - 65;
  13601. return 10 + character - 97;
  13602. },
  13603. hexCharFor: function(number) {
  13604. return number < 10 ? 48 + number : 87 + number;
  13605. },
  13606. opposite: function(character) {
  13607. switch (character) {
  13608. case 40:
  13609. return 41;
  13610. case 123:
  13611. return 125;
  13612. case 91:
  13613. return 93;
  13614. default:
  13615. return;
  13616. }
  13617. },
  13618. characterEqualsIgnoreCase: function(character1, character2) {
  13619. var upperCase1;
  13620. if (character1 === character2)
  13621. return true;
  13622. if ((character1 ^ character2) !== 32)
  13623. return false;
  13624. upperCase1 = character1 & 4294967263;
  13625. return upperCase1 >= 65 && upperCase1 <= 90;
  13626. },
  13627. fuzzyEquals: function(number1, number2) {
  13628. return Math.abs(number1 - number2) < $.$get$epsilon();
  13629. },
  13630. fuzzyLessThan: function(number1, number2) {
  13631. return number1 < number2 && !(Math.abs(number1 - number2) < $.$get$epsilon());
  13632. },
  13633. fuzzyLessThanOrEquals: function(number1, number2) {
  13634. return number1 < number2 || Math.abs(number1 - number2) < $.$get$epsilon();
  13635. },
  13636. fuzzyGreaterThan: function(number1, number2) {
  13637. return number1 > number2 && !(Math.abs(number1 - number2) < $.$get$epsilon());
  13638. },
  13639. fuzzyGreaterThanOrEquals: function(number1, number2) {
  13640. return number1 > number2 || Math.abs(number1 - number2) < $.$get$epsilon();
  13641. },
  13642. fuzzyIsInt: function(number) {
  13643. if (typeof number === "number" && Math.floor(number) === number)
  13644. return true;
  13645. return Math.abs(C.JSNumber_methods.$mod(Math.abs(number - 0.5), 1) - 0.5) < $.$get$epsilon();
  13646. },
  13647. fuzzyRound: function(number) {
  13648. var t1;
  13649. if (number > 0) {
  13650. t1 = C.JSNumber_methods.$mod(number, 1);
  13651. return t1 < 0.5 && !(Math.abs(t1 - 0.5) < $.$get$epsilon()) ? C.JSNumber_methods.floor$0(number) : C.JSNumber_methods.ceil$0(number);
  13652. } else {
  13653. t1 = C.JSNumber_methods.$mod(number, 1);
  13654. return t1 < 0.5 || Math.abs(t1 - 0.5) < $.$get$epsilon() ? C.JSNumber_methods.floor$0(number) : C.JSNumber_methods.ceil$0(number);
  13655. }
  13656. },
  13657. fuzzyCheckRange: function(number, min, max) {
  13658. var t1 = $.$get$epsilon();
  13659. if (Math.abs(number - min) < t1)
  13660. return min;
  13661. if (Math.abs(number - max) < t1)
  13662. return max;
  13663. if (number > min && number < max)
  13664. return number;
  13665. return;
  13666. },
  13667. fuzzyAssertRange: function(number, min, max, $name) {
  13668. var result = T.fuzzyCheckRange(number, min, max);
  13669. if (result != null)
  13670. return result;
  13671. throw H.wrapException(P.RangeError$value(number, $name, "must be between " + min + " and " + max + "."));
  13672. }
  13673. },
  13674. D = {ListExpression: function ListExpression(t0, t1, t2, t3) {
  13675. var _ = this;
  13676. _.contents = t0;
  13677. _.separator = t1;
  13678. _.hasBrackets = t2;
  13679. _.span = t3;
  13680. }, ListExpression_toString_closure: function ListExpression_toString_closure(t0) {
  13681. this.$this = t0;
  13682. }, StringExpression: function StringExpression(t0, t1) {
  13683. this.text = t0;
  13684. this.hasQuotes = t1;
  13685. }, ErrorRule: function ErrorRule(t0, t1) {
  13686. this.expression = t0;
  13687. this.span = t1;
  13688. },
  13689. SelectorList$: function(components) {
  13690. var t1 = P.List_List$unmodifiable(components, S.ComplexSelector);
  13691. if (t1.length === 0)
  13692. H.throwExpression(P.ArgumentError$("components may not be empty."));
  13693. return new D.SelectorList(t1);
  13694. },
  13695. SelectorList_SelectorList$parse: function(contents, allowParent, allowPlaceholder, logger) {
  13696. var t1 = S.SpanScanner$(contents, null);
  13697. return new T.SelectorParser(allowParent, allowPlaceholder, t1, logger == null ? C.StderrLogger_false : logger).parse$0();
  13698. },
  13699. SelectorList: function SelectorList(t0) {
  13700. this.components = t0;
  13701. },
  13702. SelectorList_isInvisible_closure: function SelectorList_isInvisible_closure() {
  13703. },
  13704. SelectorList_asSassList_closure: function SelectorList_asSassList_closure() {
  13705. },
  13706. SelectorList_asSassList__closure: function SelectorList_asSassList__closure() {
  13707. },
  13708. SelectorList_unify_closure: function SelectorList_unify_closure(t0) {
  13709. this.other = t0;
  13710. },
  13711. SelectorList_unify__closure: function SelectorList_unify__closure(t0) {
  13712. this.complex1 = t0;
  13713. },
  13714. SelectorList_unify___closure: function SelectorList_unify___closure() {
  13715. },
  13716. SelectorList_resolveParentSelectors_closure: function SelectorList_resolveParentSelectors_closure(t0, t1, t2) {
  13717. this.$this = t0;
  13718. this.implicitParent = t1;
  13719. this.parent = t2;
  13720. },
  13721. SelectorList_resolveParentSelectors__closure: function SelectorList_resolveParentSelectors__closure(t0) {
  13722. this.complex = t0;
  13723. },
  13724. SelectorList_resolveParentSelectors__closure0: function SelectorList_resolveParentSelectors__closure0(t0) {
  13725. this._box_0 = t0;
  13726. },
  13727. SelectorList__complexContainsParentSelector_closure: function SelectorList__complexContainsParentSelector_closure() {
  13728. },
  13729. SelectorList__complexContainsParentSelector__closure: function SelectorList__complexContainsParentSelector__closure() {
  13730. },
  13731. SelectorList__resolveParentSelectorsCompound_closure: function SelectorList__resolveParentSelectorsCompound_closure() {
  13732. },
  13733. SelectorList__resolveParentSelectorsCompound_closure0: function SelectorList__resolveParentSelectorsCompound_closure0(t0) {
  13734. this.parent = t0;
  13735. },
  13736. SelectorList__resolveParentSelectorsCompound_closure1: function SelectorList__resolveParentSelectorsCompound_closure1(t0, t1) {
  13737. this.compound = t0;
  13738. this.resolvedMembers = t1;
  13739. },
  13740. PseudoSelector$: function($name, argument, element, selector) {
  13741. var t1 = !element,
  13742. t2 = t1 && !D.PseudoSelector__isFakePseudoElement($name);
  13743. return new D.PseudoSelector($name, B.unvendor($name), t2, t1, argument, selector);
  13744. },
  13745. PseudoSelector__isFakePseudoElement: function($name) {
  13746. switch (C.JSString_methods._codeUnitAt$1($name, 0)) {
  13747. case 97:
  13748. case 65:
  13749. return B.equalsIgnoreCase($name, "after");
  13750. case 98:
  13751. case 66:
  13752. return B.equalsIgnoreCase($name, "before");
  13753. case 102:
  13754. case 70:
  13755. return B.equalsIgnoreCase($name, "first-line") || B.equalsIgnoreCase($name, "first-letter");
  13756. default:
  13757. return false;
  13758. }
  13759. },
  13760. PseudoSelector: function PseudoSelector(t0, t1, t2, t3, t4, t5) {
  13761. var _ = this;
  13762. _.name = t0;
  13763. _.normalizedName = t1;
  13764. _.isClass = t2;
  13765. _.isSyntacticClass = t3;
  13766. _.argument = t4;
  13767. _.selector = t5;
  13768. _._pseudo$_maxSpecificity = _._pseudo$_minSpecificity = null;
  13769. },
  13770. QualifiedName: function QualifiedName(t0, t1) {
  13771. this.name = t0;
  13772. this.namespace = t1;
  13773. },
  13774. Callable: function Callable() {
  13775. },
  13776. compileStylesheet: function(options, graph, source, destination, ifModified) {
  13777. return D.compileStylesheet$body(options, graph, source, destination, ifModified);
  13778. },
  13779. compileStylesheet$body: function(options, graph, source, destination, ifModified) {
  13780. var $async$goto = 0,
  13781. $async$completer = P._makeAsyncAwaitCompleter(-1),
  13782. $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], syntax, result, importCache, error, exception, t1, t2, t3, t4, t5, t6, t7, result0, css, buffer, sourceName, destinationName, importer, $async$exception;
  13783. var $async$compileStylesheet = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  13784. if ($async$errorCode === 1) {
  13785. $async$currentError = $async$result;
  13786. $async$goto = $async$handler;
  13787. }
  13788. while (true)
  13789. switch ($async$goto) {
  13790. case 0:
  13791. // Function start
  13792. importer = new F.FilesystemImporter(D.absolute("."));
  13793. if (ifModified)
  13794. try {
  13795. if (source != null && destination != null && !graph.modifiedSince$3($.$get$context().toUri$1(source), B.modificationTime(destination), importer)) {
  13796. // goto return
  13797. $async$goto = 1;
  13798. break;
  13799. }
  13800. } catch (exception) {
  13801. if (!(H.unwrapException(exception) instanceof B.FileSystemException))
  13802. throw exception;
  13803. }
  13804. syntax = null;
  13805. if (H.boolTypeCast(options._ifParsed$1("indented")) === true)
  13806. syntax = C.Syntax_Sass;
  13807. else if (source != null)
  13808. syntax = M.Syntax_forPath(source);
  13809. else
  13810. syntax = C.Syntax_SCSS;
  13811. result = null;
  13812. $async$handler = 4;
  13813. t1 = options._options;
  13814. $async$goto = H.boolTypeCast(t1.$index(0, "async")) ? 7 : 9;
  13815. break;
  13816. case 7:
  13817. // then
  13818. t2 = H.setRuntimeTypeInfo([], [B.AsyncImporter]);
  13819. t3 = H.subtypeCast(t1.$index(0, "load-path"), "$isList", [P.String], "$asList");
  13820. t4 = H.boolTypeCast(t1.$index(0, "quiet")) ? $.$get$Logger_quiet() : new S.StderrLogger(options.get$color());
  13821. t3 = O.AsyncImportCache__toImporters(t2, t3, null);
  13822. t2 = t4 == null ? C.StderrLogger_false : t4;
  13823. t4 = P.Uri;
  13824. importCache = new O.AsyncImportCache(t3, t2, P.LinkedHashMap_LinkedHashMap$_empty(t4, [S.Tuple3, B.AsyncImporter, P.Uri, P.Uri]), P.LinkedHashMap_LinkedHashMap$_empty(t4, V.Stylesheet), P.LinkedHashMap_LinkedHashMap$_empty(t4, E.ImporterResult));
  13825. $async$goto = source == null ? 10 : 12;
  13826. break;
  13827. case 10:
  13828. // then
  13829. $async$goto = 13;
  13830. return P._asyncAwait(B.readStdin(), $async$compileStylesheet);
  13831. case 13:
  13832. // returning from await.
  13833. t2 = $async$result;
  13834. t3 = syntax;
  13835. t4 = H.boolTypeCast(t1.$index(0, "quiet")) ? $.$get$Logger_quiet() : new S.StderrLogger(options.get$color());
  13836. t5 = D.absolute(".");
  13837. t6 = J.$eq$(t1.$index(0, "style"), "compressed") ? C.OutputStyle_compressed : C.OutputStyle_expanded;
  13838. t7 = options.get$emitSourceMap();
  13839. $async$goto = 14;
  13840. return P._asyncAwait(X.compileStringAsync(t2, H.boolTypeCast(t1.$index(0, "charset")), null, importCache, new F.FilesystemImporter(t5), null, null, t4, null, t7, t6, t3, null, true), $async$compileStylesheet);
  13841. case 14:
  13842. // returning from await.
  13843. result0 = $async$result;
  13844. // goto join
  13845. $async$goto = 11;
  13846. break;
  13847. case 12:
  13848. // else
  13849. t2 = syntax;
  13850. t3 = H.boolTypeCast(t1.$index(0, "quiet")) ? $.$get$Logger_quiet() : new S.StderrLogger(options.get$color());
  13851. t4 = J.$eq$(t1.$index(0, "style"), "compressed") ? C.OutputStyle_compressed : C.OutputStyle_expanded;
  13852. t5 = options.get$emitSourceMap();
  13853. $async$goto = 15;
  13854. return P._asyncAwait(X.compileAsync(source, H.boolTypeCast(t1.$index(0, "charset")), null, importCache, null, null, t3, null, t5, t4, t2, true), $async$compileStylesheet);
  13855. case 15:
  13856. // returning from await.
  13857. result0 = $async$result;
  13858. case 11:
  13859. // join
  13860. result = result0;
  13861. // goto join
  13862. $async$goto = 8;
  13863. break;
  13864. case 9:
  13865. // else
  13866. $async$goto = source == null ? 16 : 18;
  13867. break;
  13868. case 16:
  13869. // then
  13870. $async$goto = 19;
  13871. return P._asyncAwait(B.readStdin(), $async$compileStylesheet);
  13872. case 19:
  13873. // returning from await.
  13874. t2 = $async$result;
  13875. t3 = syntax;
  13876. t4 = H.boolTypeCast(t1.$index(0, "quiet")) ? $.$get$Logger_quiet() : new S.StderrLogger(options.get$color());
  13877. t5 = D.absolute(".");
  13878. t6 = J.$eq$(t1.$index(0, "style"), "compressed") ? C.OutputStyle_compressed : C.OutputStyle_expanded;
  13879. t7 = options.get$emitSourceMap();
  13880. result0 = U.compileString(t2, H.boolTypeCast(t1.$index(0, "charset")), null, graph.importCache, new F.FilesystemImporter(t5), null, null, t4, null, t7, t6, t3, null, true);
  13881. // goto join
  13882. $async$goto = 17;
  13883. break;
  13884. case 18:
  13885. // else
  13886. t2 = syntax;
  13887. t3 = H.boolTypeCast(t1.$index(0, "quiet")) ? $.$get$Logger_quiet() : new S.StderrLogger(options.get$color());
  13888. t4 = J.$eq$(t1.$index(0, "style"), "compressed") ? C.OutputStyle_compressed : C.OutputStyle_expanded;
  13889. t5 = options.get$emitSourceMap();
  13890. result0 = U.compile(source, H.boolTypeCast(t1.$index(0, "charset")), null, graph.importCache, null, null, t3, null, t5, t4, t2, true);
  13891. case 17:
  13892. // join
  13893. result = result0;
  13894. case 8:
  13895. // join
  13896. $async$handler = 2;
  13897. // goto after finally
  13898. $async$goto = 6;
  13899. break;
  13900. case 4:
  13901. // catch
  13902. $async$handler = 3;
  13903. $async$exception = $async$currentError;
  13904. t1 = H.unwrapException($async$exception);
  13905. if (t1 instanceof E.SassException) {
  13906. error = t1;
  13907. if (options.get$emitErrorCss())
  13908. if (destination == null)
  13909. P.print(error.toCssString$0());
  13910. else {
  13911. B.ensureDir($.$get$context().dirname$1(destination));
  13912. B.writeFile(destination, error.toCssString$0() + "\n");
  13913. }
  13914. throw $async$exception;
  13915. } else
  13916. throw $async$exception;
  13917. // goto after finally
  13918. $async$goto = 6;
  13919. break;
  13920. case 3:
  13921. // uncaught
  13922. // goto rethrow
  13923. $async$goto = 2;
  13924. break;
  13925. case 6:
  13926. // after finally
  13927. css = result._serialize.css + D._writeSourceMap(options, result._serialize.sourceMap, destination);
  13928. if (destination == null) {
  13929. if (css.length !== 0)
  13930. P.print(css);
  13931. } else {
  13932. B.ensureDir($.$get$context().dirname$1(destination));
  13933. B.writeFile(destination, css + "\n");
  13934. }
  13935. t1 = options._options;
  13936. if (!H.boolTypeCast(t1.$index(0, "quiet")))
  13937. t1 = !H.boolTypeCast(t1.$index(0, "update")) && !H.boolTypeCast(t1.$index(0, "watch"));
  13938. else
  13939. t1 = true;
  13940. if (t1) {
  13941. // goto return
  13942. $async$goto = 1;
  13943. break;
  13944. }
  13945. buffer = new P.StringBuffer("");
  13946. t1 = options.get$color() ? buffer._contents = "\x1b[32m" : "";
  13947. if (source == null)
  13948. sourceName = "stdin";
  13949. else {
  13950. t2 = $.$get$context();
  13951. sourceName = t2.prettyUri$1(t2.toUri$1(source));
  13952. }
  13953. t2 = $.$get$context();
  13954. destinationName = t2.prettyUri$1(t2.toUri$1(destination));
  13955. t1 += "Compiled " + H.S(sourceName) + " to " + H.S(destinationName) + ".";
  13956. buffer._contents = t1;
  13957. if (options.get$color())
  13958. buffer._contents = t1 + "\x1b[0m";
  13959. P.print(buffer);
  13960. case 1:
  13961. // return
  13962. return P._asyncReturn($async$returnValue, $async$completer);
  13963. case 2:
  13964. // rethrow
  13965. return P._asyncRethrow($async$currentError, $async$completer);
  13966. }
  13967. });
  13968. return P._asyncStartSync($async$compileStylesheet, $async$completer);
  13969. },
  13970. _writeSourceMap: function(options, sourceMap, destination) {
  13971. var t1, sourceMapText, url, sourceMapPath, t2;
  13972. if (sourceMap == null)
  13973. return "";
  13974. if (destination != null) {
  13975. t1 = $.$get$context();
  13976. sourceMap.targetUrl = J.toString$0$(t1.toUri$1(X.ParsedPath_ParsedPath$parse(destination, t1.style).get$basename()));
  13977. }
  13978. B.mapInPlace(sourceMap.urls, new D._writeSourceMap_closure(options, destination));
  13979. t1 = options._options;
  13980. sourceMapText = C.C_JsonCodec.encode$2$toEncodable(sourceMap.toJson$1$includeSourceContents(H.boolTypeCast(t1.$index(0, "embed-sources"))), null);
  13981. if (H.boolTypeCast(t1.$index(0, "embed-source-map")))
  13982. url = P.Uri_Uri$dataFromString(sourceMapText, C.C_Utf8Codec, "application/json");
  13983. else {
  13984. sourceMapPath = J.$add$ansx(destination, ".map");
  13985. t2 = $.$get$context();
  13986. B.ensureDir(t2.dirname$1(sourceMapPath));
  13987. B.writeFile(sourceMapPath, sourceMapText);
  13988. url = t2.toUri$1(t2.relative$2$from(sourceMapPath, t2.dirname$1(destination)));
  13989. }
  13990. t1 = (J.$eq$(t1.$index(0, "style"), "compressed") ? C.OutputStyle_compressed : C.OutputStyle_expanded) === C.OutputStyle_compressed ? "" : "\n\n";
  13991. return t1 + ("/*# sourceMappingURL=" + H.S(url) + " */");
  13992. },
  13993. _writeSourceMap_closure: function _writeSourceMap_closure(t0, t1) {
  13994. this.options = t0;
  13995. this.destination = t1;
  13996. },
  13997. closure80: function closure80() {
  13998. },
  13999. closure79: function closure79() {
  14000. },
  14001. closure78: function closure78() {
  14002. },
  14003. closure77: function closure77() {
  14004. },
  14005. closure76: function closure76() {
  14006. },
  14007. closure75: function closure75() {
  14008. },
  14009. _closure11: function _closure11() {
  14010. },
  14011. _closure12: function _closure12(t0) {
  14012. this._box_0 = t0;
  14013. },
  14014. _closure13: function _closure13(t0) {
  14015. this._box_0 = t0;
  14016. },
  14017. closure74: function closure74() {
  14018. },
  14019. closure72: function closure72() {
  14020. },
  14021. closure73: function closure73() {
  14022. },
  14023. _codepointForIndex: function(index, lengthInCodepoints, allowNegative) {
  14024. var result;
  14025. if (index === 0)
  14026. return 0;
  14027. if (index > 0)
  14028. return Math.min(index - 1, H.checkNum(lengthInCodepoints));
  14029. result = lengthInCodepoints + index;
  14030. if (result < 0 && !allowNegative)
  14031. return 0;
  14032. return result;
  14033. },
  14034. closure46: function closure46() {
  14035. },
  14036. closure45: function closure45() {
  14037. },
  14038. closure41: function closure41() {
  14039. },
  14040. closure40: function closure40() {
  14041. },
  14042. closure39: function closure39() {
  14043. },
  14044. closure38: function closure38() {
  14045. },
  14046. closure44: function closure44() {
  14047. },
  14048. closure43: function closure43() {
  14049. },
  14050. closure42: function closure42() {
  14051. },
  14052. Exports: function Exports() {
  14053. },
  14054. _NodeSassList: function _NodeSassList() {
  14055. },
  14056. closure17: function closure17() {
  14057. },
  14058. _closure3: function _closure3() {
  14059. },
  14060. closure18: function closure18() {
  14061. },
  14062. closure19: function closure19() {
  14063. },
  14064. closure20: function closure20() {
  14065. },
  14066. closure21: function closure21() {
  14067. },
  14068. closure22: function closure22() {
  14069. },
  14070. closure23: function closure23() {
  14071. },
  14072. _NodeSassString: function _NodeSassString() {
  14073. },
  14074. closure: function closure() {
  14075. },
  14076. closure0: function closure0() {
  14077. },
  14078. closure1: function closure1() {
  14079. },
  14080. closure2: function closure2() {
  14081. },
  14082. SourceMapBuffer: function SourceMapBuffer(t0, t1, t2) {
  14083. var _ = this;
  14084. _._source_map_buffer$_buffer = t0;
  14085. _._entries = t1;
  14086. _._sourceFiles = t2;
  14087. _._column = _._line = 0;
  14088. _._inSpan = false;
  14089. },
  14090. SourceMapBuffer_sourceFiles_closure: function SourceMapBuffer_sourceFiles_closure() {
  14091. },
  14092. SourceMapBuffer__addEntry_closure: function SourceMapBuffer__addEntry_closure(t0) {
  14093. this.source = t0;
  14094. },
  14095. SourceMapBuffer_buildSourceMap_closure: function SourceMapBuffer_buildSourceMap_closure(t0, t1) {
  14096. this._box_0 = t0;
  14097. this.prefixLength = t1;
  14098. },
  14099. SassArgumentList: function SassArgumentList(t0, t1, t2, t3) {
  14100. var _ = this;
  14101. _._keywords = t0;
  14102. _._wereKeywordsAccessed = false;
  14103. _._list$_contents = t1;
  14104. _.separator = t2;
  14105. _.hasBrackets = t3;
  14106. },
  14107. SassList$: function(contents, separator, brackets) {
  14108. var t1 = new D.SassList(P.List_List$unmodifiable(contents, F.Value), separator, brackets);
  14109. t1.SassList$3$brackets(contents, separator, brackets);
  14110. return t1;
  14111. },
  14112. SassList: function SassList(t0, t1, t2) {
  14113. this._list$_contents = t0;
  14114. this.separator = t1;
  14115. this.hasBrackets = t2;
  14116. },
  14117. SassList_isBlank_closure: function SassList_isBlank_closure() {
  14118. },
  14119. ListSeparator: function ListSeparator(t0) {
  14120. this._list$_name = t0;
  14121. },
  14122. SassString$: function(text, quotes) {
  14123. return new D.SassString(text, quotes);
  14124. },
  14125. SassString: function SassString(t0, t1) {
  14126. this.text = t0;
  14127. this.hasQuotes = t1;
  14128. this._sassLength = null;
  14129. },
  14130. RecursiveStatementVisitor: function RecursiveStatementVisitor() {
  14131. },
  14132. SourceLocationMixin: function SourceLocationMixin() {
  14133. },
  14134. current: function() {
  14135. var exception, t1, path, lastIndex, uri = null;
  14136. try {
  14137. uri = P.Uri_base();
  14138. } catch (exception) {
  14139. if (!!J.getInterceptor$(H.unwrapException(exception)).$isException) {
  14140. t1 = $._current;
  14141. if (t1 != null)
  14142. return t1;
  14143. throw exception;
  14144. } else
  14145. throw exception;
  14146. }
  14147. if (J.$eq$(uri, $._currentUriBase))
  14148. return $._current;
  14149. $._currentUriBase = uri;
  14150. if ($.$get$Style_platform() == $.$get$Style_url())
  14151. return $._current = uri.resolve$1(".").toString$0(0);
  14152. else {
  14153. path = uri.toFilePath$0();
  14154. lastIndex = path.length - 1;
  14155. return $._current = lastIndex === 0 ? path : C.JSString_methods.substring$2(path, 0, lastIndex);
  14156. }
  14157. },
  14158. absolute: function(part1) {
  14159. var _null = null;
  14160. return $.$get$context().absolute$7(part1, _null, _null, _null, _null, _null, _null);
  14161. },
  14162. dirname: function(path) {
  14163. return $.$get$context().dirname$1(path);
  14164. },
  14165. join: function(part1, part2, part3) {
  14166. var _null = null;
  14167. return $.$get$context().join$8(0, part1, part2, part3, _null, _null, _null, _null, _null);
  14168. },
  14169. prettyUri: function(uri) {
  14170. return $.$get$context().prettyUri$1(uri);
  14171. }
  14172. },
  14173. A = {MapExpression: function MapExpression(t0, t1) {
  14174. this.pairs = t0;
  14175. this.span = t1;
  14176. }, MapExpression_toString_closure: function MapExpression_toString_closure() {
  14177. }, IncludeRule: function IncludeRule(t0, t1, t2, t3, t4) {
  14178. var _ = this;
  14179. _.namespace = t0;
  14180. _.name = t1;
  14181. _.$arguments = t2;
  14182. _.content = t3;
  14183. _.span = t4;
  14184. },
  14185. watch: function(options, graph) {
  14186. return A.watch$body(options, graph);
  14187. },
  14188. watch$body: function(options, graph) {
  14189. var $async$goto = 0,
  14190. $async$completer = P._makeAsyncAwaitCompleter(-1),
  14191. $async$returnValue, t4, t5, t6, t7, dirWatcher, watcher, destination, t1, t2, t3;
  14192. var $async$watch = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  14193. if ($async$errorCode === 1)
  14194. return P._asyncRethrow($async$result, $async$completer);
  14195. while (true)
  14196. switch ($async$goto) {
  14197. case 0:
  14198. // Function start
  14199. t1 = P.String;
  14200. t2 = [t1];
  14201. t3 = H.setRuntimeTypeInfo([], t2);
  14202. for (options._ensureSources$0(), t4 = options._sourceDirectoriesToDestinations.get$keys(), t4 = t4.get$iterator(t4); t4.moveNext$0();)
  14203. t3.push(t4.get$current(t4));
  14204. for (options._ensureSources$0(), t4 = options._sourcesToDestinations.get$keys(), t4 = H.MappedIterable_MappedIterable(t4, D.path__dirname$closure(), H.getRuntimeTypeArgument(t4, "Iterable", 0), t1), t4 = new H.MappedIterator(J.get$iterator$ax(t4.__internal$_iterable), t4._f); t4.moveNext$0();)
  14205. t3.push(t4.__internal$_current);
  14206. for (t4 = options._options, t2 = J.get$iterator$ax(H.subtypeCast(t4.$index(0, "load-path"), "$isList", t2, "$asList")); t2.moveNext$0();)
  14207. t3.push(t2.get$current(t2));
  14208. t2 = H.boolTypeCast(t4.$index(0, "poll"));
  14209. t5 = [P.Stream, E.WatchEvent];
  14210. t6 = E.WatchEvent;
  14211. t7 = new L.StreamGroup(C._StreamGroupState_dormant, new H.JsLinkedHashMap([t5, [P.StreamSubscription, E.WatchEvent]]), [t6]);
  14212. t7._controller = P.StreamController_StreamController(t7.get$_onCancel(), t7.get$_onListen(), t7.get$_onPause(), t7.get$_onResume(), true, t6);
  14213. dirWatcher = new U.MultiDirWatcher(P.LinkedHashMap_LinkedHashMap$_empty(t1, t5), t7, t2);
  14214. $async$goto = 3;
  14215. return P._asyncAwait(P.Future_wait(new H.MappedListIterable(t3, new A.watch_closure(dirWatcher), [H.getTypeArgumentByIndex(t3, 0), [P.Future, -1]]), -1), $async$watch);
  14216. case 3:
  14217. // returning from await.
  14218. watcher = new A._Watcher(options, graph);
  14219. options._ensureSources$0(), t1 = options._sourcesToDestinations.get$keys(), t1 = t1.get$iterator(t1);
  14220. case 4:
  14221. // for condition
  14222. if (!t1.moveNext$0()) {
  14223. // goto after for
  14224. $async$goto = 5;
  14225. break;
  14226. }
  14227. t2 = t1.get$current(t1);
  14228. options._ensureSources$0();
  14229. destination = options._sourcesToDestinations.$index(0, t2);
  14230. t3 = $.$get$context();
  14231. graph.addCanonical$3(new F.FilesystemImporter(t3.absolute$7(".", null, null, null, null, null, null)), t3.toUri$1(t3.canonicalize$1(t2)), t3.toUri$1(t2));
  14232. $async$goto = 6;
  14233. return P._asyncAwait(watcher.compile$3$ifModified(t2, destination, true), $async$watch);
  14234. case 6:
  14235. // returning from await.
  14236. if (!$async$result && H.boolTypeCast(t4.$index(0, "stop-on-error"))) {
  14237. dirWatcher._group._controller._subscribe$4(null, null, null, false).cancel$0();
  14238. // goto return
  14239. $async$goto = 1;
  14240. break;
  14241. }
  14242. // goto for condition
  14243. $async$goto = 4;
  14244. break;
  14245. case 5:
  14246. // after for
  14247. P.print("Sass is watching for changes. Press Ctrl-C to stop.\n");
  14248. $async$goto = 7;
  14249. return P._asyncAwait(watcher.watch$1(0, dirWatcher), $async$watch);
  14250. case 7:
  14251. // returning from await.
  14252. case 1:
  14253. // return
  14254. return P._asyncReturn($async$returnValue, $async$completer);
  14255. }
  14256. });
  14257. return P._asyncStartSync($async$watch, $async$completer);
  14258. },
  14259. watch_closure: function watch_closure(t0) {
  14260. this.dirWatcher = t0;
  14261. },
  14262. _Watcher: function _Watcher(t0, t1) {
  14263. this._watch$_options = t0;
  14264. this._graph = t1;
  14265. },
  14266. _Watcher__debounceEvents_closure: function _Watcher__debounceEvents_closure() {
  14267. },
  14268. _Watcher__debounceEvents__closure: function _Watcher__debounceEvents__closure(t0) {
  14269. this.typeForPath = t0;
  14270. },
  14271. MergedExtension_merge: function(left, right) {
  14272. var t2, t3, t4,
  14273. t1 = left.extender;
  14274. if (!J.$eq$(t1, right.extender) || !J.$eq$(left.target, right.target))
  14275. throw H.wrapException(P.ArgumentError$(left.toString$0(0) + " and " + right.toString$0(0) + " aren't the same extension."));
  14276. t2 = left.mediaContext;
  14277. t3 = t2 == null;
  14278. if (!t3) {
  14279. t4 = right.mediaContext;
  14280. t4 = t4 != null && !C.C_ListEquality.equals$2(t2, t4);
  14281. } else
  14282. t4 = false;
  14283. if (t4)
  14284. throw H.wrapException(E.SassException$("From " + left.span.message$1(0, "") + "\nYou may not @extend the same selector from within different media queries.", right.span));
  14285. if (right.isOptional && right.mediaContext == null)
  14286. return left;
  14287. if (left.isOptional && t3)
  14288. return right;
  14289. if (t3)
  14290. t2 = right.mediaContext;
  14291. t3 = left.specificity;
  14292. if (t3 == null)
  14293. t3 = t1.get$maxSpecificity();
  14294. return new A.MergedExtension(left, right, t1, left.target, t3, true, false, t2, left.extenderSpan, left.span);
  14295. },
  14296. MergedExtension: function MergedExtension(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
  14297. var _ = this;
  14298. _.left = t0;
  14299. _.right = t1;
  14300. _.extender = t2;
  14301. _.target = t3;
  14302. _.specificity = t4;
  14303. _.isOptional = t5;
  14304. _.isOriginal = t6;
  14305. _.mediaContext = t7;
  14306. _.extenderSpan = t8;
  14307. _.span = t9;
  14308. },
  14309. closure71: function closure71() {
  14310. },
  14311. closure70: function closure70() {
  14312. },
  14313. closure68: function closure68() {
  14314. },
  14315. closure69: function closure69() {
  14316. },
  14317. closure67: function closure67() {
  14318. },
  14319. closure66: function closure66() {
  14320. },
  14321. closure65: function closure65() {
  14322. },
  14323. _NodeSassMap: function _NodeSassMap() {
  14324. },
  14325. closure10: function closure10() {
  14326. },
  14327. _closure1: function _closure1() {
  14328. },
  14329. _closure2: function _closure2() {
  14330. },
  14331. closure11: function closure11() {
  14332. },
  14333. closure12: function closure12() {
  14334. },
  14335. closure13: function closure13() {
  14336. },
  14337. closure14: function closure14() {
  14338. },
  14339. closure15: function closure15() {
  14340. },
  14341. closure16: function closure16() {
  14342. },
  14343. SassMap: function SassMap(t0) {
  14344. this.contents = t0;
  14345. },
  14346. SassMap_asList_closure: function SassMap_asList_closure(t0) {
  14347. this.result = t0;
  14348. },
  14349. Frame_Frame$parseVM: function(frame) {
  14350. return A.Frame__catchFormatException(frame, new A.Frame_Frame$parseVM_closure(frame));
  14351. },
  14352. Frame_Frame$parseV8: function(frame) {
  14353. return A.Frame__catchFormatException(frame, new A.Frame_Frame$parseV8_closure(frame));
  14354. },
  14355. Frame_Frame$parseFirefox: function(frame) {
  14356. return A.Frame__catchFormatException(frame, new A.Frame_Frame$parseFirefox_closure(frame));
  14357. },
  14358. Frame_Frame$parseFriendly: function(frame) {
  14359. return A.Frame__catchFormatException(frame, new A.Frame_Frame$parseFriendly_closure(frame));
  14360. },
  14361. Frame__uriOrPathToUri: function(uriOrPath) {
  14362. if (J.getInterceptor$asx(uriOrPath).contains$1(uriOrPath, $.$get$Frame__uriRegExp()))
  14363. return P.Uri_parse(uriOrPath);
  14364. else if (C.JSString_methods.contains$1(uriOrPath, $.$get$Frame__windowsRegExp()))
  14365. return P._Uri__Uri$file(uriOrPath, true);
  14366. else if (C.JSString_methods.startsWith$1(uriOrPath, "/"))
  14367. return P._Uri__Uri$file(uriOrPath, false);
  14368. if (C.JSString_methods.contains$1(uriOrPath, "\\"))
  14369. return $.$get$windows().toUri$1(uriOrPath);
  14370. return P.Uri_parse(uriOrPath);
  14371. },
  14372. Frame__catchFormatException: function(text, body) {
  14373. var t1, exception;
  14374. try {
  14375. t1 = body.call$0();
  14376. return t1;
  14377. } catch (exception) {
  14378. if (!!J.getInterceptor$(H.unwrapException(exception)).$isFormatException)
  14379. return new N.UnparsedFrame(P._Uri__Uri(null, "unparsed", null, null), text);
  14380. else
  14381. throw exception;
  14382. }
  14383. },
  14384. Frame: function Frame(t0, t1, t2, t3) {
  14385. var _ = this;
  14386. _.uri = t0;
  14387. _.line = t1;
  14388. _.column = t2;
  14389. _.member = t3;
  14390. },
  14391. Frame_Frame$parseVM_closure: function Frame_Frame$parseVM_closure(t0) {
  14392. this.frame = t0;
  14393. },
  14394. Frame_Frame$parseV8_closure: function Frame_Frame$parseV8_closure(t0) {
  14395. this.frame = t0;
  14396. },
  14397. Frame_Frame$parseV8_closure_parseLocation: function Frame_Frame$parseV8_closure_parseLocation(t0) {
  14398. this.frame = t0;
  14399. },
  14400. Frame_Frame$parseFirefox_closure: function Frame_Frame$parseFirefox_closure(t0) {
  14401. this.frame = t0;
  14402. },
  14403. Frame_Frame$parseFriendly_closure: function Frame_Frame$parseFriendly_closure(t0) {
  14404. this.frame = t0;
  14405. },
  14406. AsciiGlyphSet: function AsciiGlyphSet() {
  14407. }
  14408. },
  14409. S = {VariableExpression: function VariableExpression(t0, t1, t2) {
  14410. this.namespace = t0;
  14411. this.name = t1;
  14412. this.span = t2;
  14413. },
  14414. ComplexSelector$: function(components, lineBreak) {
  14415. var t1 = P.List_List$unmodifiable(components, S.ComplexSelectorComponent);
  14416. if (t1.length === 0)
  14417. H.throwExpression(P.ArgumentError$("components may not be empty."));
  14418. return new S.ComplexSelector(t1, lineBreak);
  14419. },
  14420. ComplexSelector: function ComplexSelector(t0, t1) {
  14421. var _ = this;
  14422. _.components = t0;
  14423. _.lineBreak = t1;
  14424. _._complex$_isInvisible = _._maxSpecificity = _._minSpecificity = null;
  14425. },
  14426. ComplexSelector_isInvisible_closure: function ComplexSelector_isInvisible_closure() {
  14427. },
  14428. ComplexSelectorComponent: function ComplexSelectorComponent() {
  14429. },
  14430. Combinator: function Combinator(t0) {
  14431. this._complex$_text = t0;
  14432. },
  14433. AsyncBuiltInCallable$parsed: function($name, $arguments, callback) {
  14434. var t1 = H.setRuntimeTypeInfo([], [[S.Tuple2, B.ArgumentDeclaration, {func: 1, ret: {futureOr: 1, type: F.Value}, args: [[P.List, F.Value]]}]]);
  14435. t1.push(new S.Tuple2($arguments, callback, [B.ArgumentDeclaration, {func: 1, ret: {futureOr: 1, type: F.Value}, args: [[P.List, F.Value]]}]));
  14436. return new S.AsyncBuiltInCallable($name, t1);
  14437. },
  14438. AsyncBuiltInCallable: function AsyncBuiltInCallable(t0, t1) {
  14439. this.name = t0;
  14440. this._async_built_in$_overloads = t1;
  14441. },
  14442. AsyncBuiltInCallable_callbackFor_closure: function AsyncBuiltInCallable_callbackFor_closure(t0, t1) {
  14443. this.positional = t0;
  14444. this.names = t1;
  14445. },
  14446. AsyncBuiltInCallable_callbackFor_closure0: function AsyncBuiltInCallable_callbackFor_closure0(t0) {
  14447. this.$this = t0;
  14448. },
  14449. Extension$oneOff: function(extender, isOriginal, specificity) {
  14450. var _null = null;
  14451. return new S.Extension(extender, _null, specificity == null ? extender.get$maxSpecificity() : specificity, true, isOriginal, _null, _null, _null);
  14452. },
  14453. Extension: function Extension(t0, t1, t2, t3, t4, t5, t6, t7) {
  14454. var _ = this;
  14455. _.extender = t0;
  14456. _.target = t1;
  14457. _.specificity = t2;
  14458. _.isOptional = t3;
  14459. _.isOriginal = t4;
  14460. _.mediaContext = t5;
  14461. _.extenderSpan = t6;
  14462. _.span = t7;
  14463. },
  14464. StderrLogger: function StderrLogger(t0) {
  14465. this.color = t0;
  14466. },
  14467. SpanScanner$: function(string, sourceUrl) {
  14468. var t1, t2, t3, t4;
  14469. string.toString;
  14470. t1 = new H.CodeUnits(string);
  14471. t2 = H.setRuntimeTypeInfo([0], [P.int]);
  14472. t3 = typeof sourceUrl === "string";
  14473. t4 = t3 ? P.Uri_parse(sourceUrl) : sourceUrl;
  14474. t2 = new Y.SourceFile(t4, t2, new Uint32Array(H._ensureNativeList(t1.toList$0(t1))));
  14475. t2.SourceFile$decoded$2$url(t1, sourceUrl);
  14476. t1 = t3 ? P.Uri_parse(sourceUrl) : sourceUrl;
  14477. return new S.SpanScanner(t2, t1, string);
  14478. },
  14479. SpanScanner: function SpanScanner(t0, t1, t2) {
  14480. var _ = this;
  14481. _._sourceFile = t0;
  14482. _.sourceUrl = t1;
  14483. _.string = t2;
  14484. _._string_scanner$_position = 0;
  14485. _._lastMatchPosition = _._lastMatch = null;
  14486. },
  14487. _SpanScannerState: function _SpanScannerState(t0, t1) {
  14488. this._scanner = t0;
  14489. this.position = t1;
  14490. },
  14491. Tuple2: function Tuple2(t0, t1, t2) {
  14492. this.item1 = t0;
  14493. this.item2 = t1;
  14494. this.$ti = t2;
  14495. },
  14496. Tuple3: function Tuple3(t0, t1, t2, t3) {
  14497. var _ = this;
  14498. _.item1 = t0;
  14499. _.item2 = t1;
  14500. _.item3 = t2;
  14501. _.$ti = t3;
  14502. }
  14503. };
  14504. var holders = [C, H, J, P, N, Z, V, G, E, F, Y, L, Q, B, O, U, M, X, K, R, T, D, A, S];
  14505. hunkHelpers.setFunctionNamesIfNecessary(holders);
  14506. var $ = {};
  14507. H.JS_CONST.prototype = {};
  14508. J.Interceptor.prototype = {
  14509. $eq: function(receiver, other) {
  14510. return receiver === other;
  14511. },
  14512. get$hashCode: function(receiver) {
  14513. return H.Primitives_objectHashCode(receiver);
  14514. },
  14515. toString$0: function(receiver) {
  14516. return "Instance of '" + H.Primitives_objectTypeName(receiver) + "'";
  14517. },
  14518. noSuchMethod$1: function(receiver, invocation) {
  14519. throw H.wrapException(P.NoSuchMethodError$(receiver, invocation.get$memberName(), invocation.get$positionalArguments(), invocation.get$namedArguments()));
  14520. }
  14521. };
  14522. J.JSBool.prototype = {
  14523. toString$0: function(receiver) {
  14524. return String(receiver);
  14525. },
  14526. get$hashCode: function(receiver) {
  14527. return receiver ? 519018 : 218159;
  14528. },
  14529. $isbool: 1
  14530. };
  14531. J.JSNull.prototype = {
  14532. $eq: function(receiver, other) {
  14533. return null == other;
  14534. },
  14535. toString$0: function(receiver) {
  14536. return "null";
  14537. },
  14538. get$hashCode: function(receiver) {
  14539. return 0;
  14540. },
  14541. noSuchMethod$1: function(receiver, invocation) {
  14542. return this.super$Interceptor$noSuchMethod(receiver, invocation);
  14543. },
  14544. $isNull: 1
  14545. };
  14546. J.JavaScriptObject.prototype = {
  14547. get$hashCode: function(receiver) {
  14548. return 0;
  14549. },
  14550. toString$0: function(receiver) {
  14551. return String(receiver);
  14552. },
  14553. $is_SystemError: 1,
  14554. $isJSError: 1,
  14555. $isFunction: 1,
  14556. $isJSFunction: 1,
  14557. $isNodeImporterResult: 1,
  14558. $isRenderOptions: 1,
  14559. $isRenderResult: 1,
  14560. $is_NodeSassColor: 1,
  14561. $is_NodeSassList: 1,
  14562. $is_NodeSassMap: 1,
  14563. $is_NodeSassNumber: 1,
  14564. $is_NodeSassString: 1,
  14565. get$isTTY: function(obj) {
  14566. return obj.isTTY;
  14567. },
  14568. get$write: function(obj) {
  14569. return obj.write;
  14570. },
  14571. write$1: function(receiver, p0) {
  14572. return receiver.write(p0);
  14573. },
  14574. createInterface$1: function(receiver, p0) {
  14575. return receiver.createInterface(p0);
  14576. },
  14577. on$2: function(receiver, p0, p1) {
  14578. return receiver.on(p0, p1);
  14579. },
  14580. get$close: function(obj) {
  14581. return obj.close;
  14582. },
  14583. close$0: function(receiver) {
  14584. return receiver.close();
  14585. },
  14586. setPrompt$1: function(receiver, p0) {
  14587. return receiver.setPrompt(p0);
  14588. },
  14589. readFileSync$2: function(receiver, p0, p1) {
  14590. return receiver.readFileSync(p0, p1);
  14591. },
  14592. writeFileSync$2: function(receiver, p0, p1) {
  14593. return receiver.writeFileSync(p0, p1);
  14594. },
  14595. mkdirSync$1: function(receiver, p0) {
  14596. return receiver.mkdirSync(p0);
  14597. },
  14598. statSync$1: function(receiver, p0) {
  14599. return receiver.statSync(p0);
  14600. },
  14601. unlinkSync$1: function(receiver, p0) {
  14602. return receiver.unlinkSync(p0);
  14603. },
  14604. readdirSync$1: function(receiver, p0) {
  14605. return receiver.readdirSync(p0);
  14606. },
  14607. isFile$0: function(receiver) {
  14608. return receiver.isFile();
  14609. },
  14610. isDirectory$0: function(receiver) {
  14611. return receiver.isDirectory();
  14612. },
  14613. get$mtime: function(obj) {
  14614. return obj.mtime;
  14615. },
  14616. getTime$0: function(receiver) {
  14617. return receiver.getTime();
  14618. },
  14619. get$message: function(obj) {
  14620. return obj.message;
  14621. },
  14622. message$1: function(receiver, p0) {
  14623. return receiver.message(p0);
  14624. },
  14625. get$code: function(obj) {
  14626. return obj.code;
  14627. },
  14628. get$syscall: function(obj) {
  14629. return obj.syscall;
  14630. },
  14631. get$path: function(obj) {
  14632. return obj.path;
  14633. },
  14634. get$platform: function(obj) {
  14635. return obj.platform;
  14636. },
  14637. get$env: function(obj) {
  14638. return obj.env;
  14639. },
  14640. watch$2: function(receiver, p0, p1) {
  14641. return receiver.watch(p0, p1);
  14642. },
  14643. set$run_: function(obj, v) {
  14644. return obj.run_ = v;
  14645. },
  14646. set$render: function(obj, v) {
  14647. return obj.render = v;
  14648. },
  14649. set$renderSync: function(obj, v) {
  14650. return obj.renderSync = v;
  14651. },
  14652. set$info: function(obj, v) {
  14653. return obj.info = v;
  14654. },
  14655. set$types: function(obj, v) {
  14656. return obj.types = v;
  14657. },
  14658. call$1: function(receiver, p0) {
  14659. return receiver.call(p0);
  14660. },
  14661. call$1$1: function(receiver, p0) {
  14662. return receiver.call(p0);
  14663. },
  14664. get$current: function(obj) {
  14665. return obj.current;
  14666. },
  14667. yield$0: function(receiver) {
  14668. return receiver.yield();
  14669. },
  14670. run$1: function(receiver, p0) {
  14671. return receiver.run(p0);
  14672. },
  14673. run$0: function(receiver) {
  14674. return receiver.run();
  14675. },
  14676. call$2: function(receiver, p0, p1) {
  14677. return receiver.call(p0, p1);
  14678. },
  14679. call$0: function(receiver) {
  14680. return receiver.call();
  14681. },
  14682. call$3: function(receiver, p0, p1, p2) {
  14683. return receiver.call(p0, p1, p2);
  14684. },
  14685. call$1$3: function(receiver, p0, p1, p2) {
  14686. return receiver.call(p0, p1, p2);
  14687. },
  14688. call$2$2: function(receiver, p0, p1) {
  14689. return receiver.call(p0, p1);
  14690. },
  14691. call$1$0: function(receiver) {
  14692. return receiver.call();
  14693. },
  14694. apply$2: function(receiver, p0, p1) {
  14695. return receiver.apply(p0, p1);
  14696. },
  14697. get$file: function(obj) {
  14698. return obj.file;
  14699. },
  14700. get$contents: function(obj) {
  14701. return obj.contents;
  14702. },
  14703. get$options: function(obj) {
  14704. return obj.options;
  14705. },
  14706. get$data: function(obj) {
  14707. return obj.data;
  14708. },
  14709. get$includePaths: function(obj) {
  14710. return obj.includePaths;
  14711. },
  14712. get$indentType: function(obj) {
  14713. return obj.indentType;
  14714. },
  14715. get$indentWidth: function(obj) {
  14716. return obj.indentWidth;
  14717. },
  14718. get$linefeed: function(obj) {
  14719. return obj.linefeed;
  14720. },
  14721. set$context: function(obj, v) {
  14722. return obj.context = v;
  14723. },
  14724. get$importer: function(obj) {
  14725. return obj.importer;
  14726. },
  14727. get$functions: function(obj) {
  14728. return obj.functions;
  14729. },
  14730. get$indentedSyntax: function(obj) {
  14731. return obj.indentedSyntax;
  14732. },
  14733. get$omitSourceMapUrl: function(obj) {
  14734. return obj.omitSourceMapUrl;
  14735. },
  14736. get$outFile: function(obj) {
  14737. return obj.outFile;
  14738. },
  14739. get$outputStyle: function(obj) {
  14740. return obj.outputStyle;
  14741. },
  14742. get$fiber: function(obj) {
  14743. return obj.fiber;
  14744. },
  14745. get$sourceMap: function(obj) {
  14746. return obj.sourceMap;
  14747. },
  14748. get$sourceMapContents: function(obj) {
  14749. return obj.sourceMapContents;
  14750. },
  14751. get$sourceMapEmbed: function(obj) {
  14752. return obj.sourceMapEmbed;
  14753. },
  14754. get$sourceMapRoot: function(obj) {
  14755. return obj.sourceMapRoot;
  14756. },
  14757. map$1$1: function(receiver, p0) {
  14758. return receiver.map(p0);
  14759. },
  14760. map$1: function(receiver, p0) {
  14761. return receiver.map(p0);
  14762. },
  14763. get$start: function(obj) {
  14764. return obj.start;
  14765. },
  14766. get$end: function(obj) {
  14767. return obj.end;
  14768. },
  14769. get$dartValue: function(obj) {
  14770. return obj.dartValue;
  14771. },
  14772. set$dartValue: function(obj, v) {
  14773. return obj.dartValue = v;
  14774. }
  14775. };
  14776. J.PlainJavaScriptObject.prototype = {};
  14777. J.UnknownJavaScriptObject.prototype = {};
  14778. J.JavaScriptFunction.prototype = {
  14779. toString$0: function(receiver) {
  14780. var dartClosure = receiver[$.$get$DART_CLOSURE_PROPERTY_NAME()];
  14781. if (dartClosure == null)
  14782. return this.super$JavaScriptObject$toString(receiver);
  14783. return "JavaScript function for " + H.S(J.toString$0$(dartClosure));
  14784. },
  14785. $signature: function() {
  14786. return {func: 1, opt: [,,,,,,,,,,,,,,,,]};
  14787. },
  14788. $isFunction: 1
  14789. };
  14790. J.JSArray.prototype = {
  14791. cast$1$0: function(receiver, $R) {
  14792. return new H.CastList(receiver, [H.getTypeArgumentByIndex(receiver, 0), $R]);
  14793. },
  14794. add$1: function(receiver, value) {
  14795. if (!!receiver.fixed$length)
  14796. H.throwExpression(P.UnsupportedError$("add"));
  14797. receiver.push(value);
  14798. },
  14799. removeAt$1: function(receiver, index) {
  14800. var t1;
  14801. if (!!receiver.fixed$length)
  14802. H.throwExpression(P.UnsupportedError$("removeAt"));
  14803. t1 = receiver.length;
  14804. if (index >= t1)
  14805. throw H.wrapException(P.RangeError$value(index, null, null));
  14806. return receiver.splice(index, 1)[0];
  14807. },
  14808. insert$2: function(receiver, index, value) {
  14809. var t1;
  14810. if (!!receiver.fixed$length)
  14811. H.throwExpression(P.UnsupportedError$("insert"));
  14812. t1 = receiver.length;
  14813. if (index > t1)
  14814. throw H.wrapException(P.RangeError$value(index, null, null));
  14815. receiver.splice(index, 0, value);
  14816. },
  14817. insertAll$2: function(receiver, index, iterable) {
  14818. var t1, insertionLength, end;
  14819. if (!!receiver.fixed$length)
  14820. H.throwExpression(P.UnsupportedError$("insertAll"));
  14821. P.RangeError_checkValueInInterval(index, 0, receiver.length, "index");
  14822. t1 = J.getInterceptor$(iterable);
  14823. if (!t1.$isEfficientLengthIterable)
  14824. iterable = t1.toList$0(iterable);
  14825. insertionLength = J.get$length$asx(iterable);
  14826. this.set$length(receiver, receiver.length + insertionLength);
  14827. end = index + insertionLength;
  14828. this.setRange$4(receiver, end, receiver.length, receiver, index);
  14829. this.setRange$3(receiver, index, end, iterable);
  14830. },
  14831. setAll$2: function(receiver, index, iterable) {
  14832. var t1, index0;
  14833. if (!!receiver.immutable$list)
  14834. H.throwExpression(P.UnsupportedError$("setAll"));
  14835. P.RangeError_checkValueInInterval(index, 0, receiver.length, "index");
  14836. for (t1 = J.get$iterator$ax(iterable); t1.moveNext$0(); index = index0) {
  14837. index0 = index + 1;
  14838. this.$indexSet(receiver, index, t1.get$current(t1));
  14839. }
  14840. },
  14841. removeLast$0: function(receiver) {
  14842. if (!!receiver.fixed$length)
  14843. H.throwExpression(P.UnsupportedError$("removeLast"));
  14844. if (receiver.length === 0)
  14845. throw H.wrapException(H.diagnoseIndexError(receiver, -1));
  14846. return receiver.pop();
  14847. },
  14848. remove$1: function(receiver, element) {
  14849. var i;
  14850. if (!!receiver.fixed$length)
  14851. H.throwExpression(P.UnsupportedError$("remove"));
  14852. for (i = 0; i < receiver.length; ++i)
  14853. if (J.$eq$(receiver[i], element)) {
  14854. receiver.splice(i, 1);
  14855. return true;
  14856. }
  14857. return false;
  14858. },
  14859. _removeWhere$2: function(receiver, test, removeMatching) {
  14860. var i, element, t1, retained = [],
  14861. end = receiver.length;
  14862. for (i = 0; i < end; ++i) {
  14863. element = receiver[i];
  14864. if (!test.call$1(element))
  14865. retained.push(element);
  14866. if (receiver.length !== end)
  14867. throw H.wrapException(P.ConcurrentModificationError$(receiver));
  14868. }
  14869. t1 = retained.length;
  14870. if (t1 === end)
  14871. return;
  14872. this.set$length(receiver, t1);
  14873. for (i = 0; i < retained.length; ++i)
  14874. receiver[i] = retained[i];
  14875. },
  14876. where$1: function(receiver, f) {
  14877. return new H.WhereIterable(receiver, f, [H.getTypeArgumentByIndex(receiver, 0)]);
  14878. },
  14879. expand$1$1: function(receiver, f, $T) {
  14880. return new H.ExpandIterable(receiver, f, [H.getTypeArgumentByIndex(receiver, 0), $T]);
  14881. },
  14882. addAll$1: function(receiver, collection) {
  14883. var t1;
  14884. if (!!receiver.fixed$length)
  14885. H.throwExpression(P.UnsupportedError$("addAll"));
  14886. for (t1 = J.get$iterator$ax(collection); t1.moveNext$0();)
  14887. receiver.push(t1.get$current(t1));
  14888. },
  14889. forEach$1: function(receiver, f) {
  14890. var i,
  14891. end = receiver.length;
  14892. for (i = 0; i < end; ++i) {
  14893. f.call$1(receiver[i]);
  14894. if (receiver.length !== end)
  14895. throw H.wrapException(P.ConcurrentModificationError$(receiver));
  14896. }
  14897. },
  14898. map$1$1: function(receiver, f, $T) {
  14899. return new H.MappedListIterable(receiver, f, [H.getTypeArgumentByIndex(receiver, 0), $T]);
  14900. },
  14901. map$1: function($receiver, f) {
  14902. return this.map$1$1($receiver, f, null);
  14903. },
  14904. join$1: function(receiver, separator) {
  14905. var i,
  14906. list = new Array(receiver.length);
  14907. list.fixed$length = Array;
  14908. for (i = 0; i < receiver.length; ++i)
  14909. list[i] = H.S(receiver[i]);
  14910. return list.join(separator);
  14911. },
  14912. join$0: function($receiver) {
  14913. return this.join$1($receiver, "");
  14914. },
  14915. take$1: function(receiver, n) {
  14916. return H.SubListIterable$(receiver, 0, n, H.getTypeArgumentByIndex(receiver, 0));
  14917. },
  14918. skip$1: function(receiver, n) {
  14919. return H.SubListIterable$(receiver, n, null, H.getTypeArgumentByIndex(receiver, 0));
  14920. },
  14921. fold$1$2: function(receiver, initialValue, combine) {
  14922. var value, i,
  14923. $length = receiver.length;
  14924. for (value = initialValue, i = 0; i < $length; ++i) {
  14925. value = combine.call$2(value, receiver[i]);
  14926. if (receiver.length !== $length)
  14927. throw H.wrapException(P.ConcurrentModificationError$(receiver));
  14928. }
  14929. return value;
  14930. },
  14931. fold$2: function($receiver, initialValue, combine) {
  14932. return this.fold$1$2($receiver, initialValue, combine, null);
  14933. },
  14934. lastWhere$2$orElse: function(receiver, test, orElse) {
  14935. var i, element,
  14936. $length = receiver.length;
  14937. for (i = $length - 1; i >= 0; --i) {
  14938. element = receiver[i];
  14939. if (test.call$1(element))
  14940. return element;
  14941. if ($length !== receiver.length)
  14942. throw H.wrapException(P.ConcurrentModificationError$(receiver));
  14943. }
  14944. if (orElse != null)
  14945. return orElse.call$0();
  14946. throw H.wrapException(H.IterableElementError_noElement());
  14947. },
  14948. elementAt$1: function(receiver, index) {
  14949. return receiver[index];
  14950. },
  14951. sublist$2: function(receiver, start, end) {
  14952. if (start < 0 || start > receiver.length)
  14953. throw H.wrapException(P.RangeError$range(start, 0, receiver.length, "start", null));
  14954. if (end == null)
  14955. end = receiver.length;
  14956. else if (end < start || end > receiver.length)
  14957. throw H.wrapException(P.RangeError$range(end, start, receiver.length, "end", null));
  14958. if (start === end)
  14959. return H.setRuntimeTypeInfo([], [H.getTypeArgumentByIndex(receiver, 0)]);
  14960. return H.setRuntimeTypeInfo(receiver.slice(start, end), [H.getTypeArgumentByIndex(receiver, 0)]);
  14961. },
  14962. sublist$1: function($receiver, start) {
  14963. return this.sublist$2($receiver, start, null);
  14964. },
  14965. getRange$2: function(receiver, start, end) {
  14966. P.RangeError_checkValidRange(start, end, receiver.length);
  14967. return H.SubListIterable$(receiver, start, end, H.getTypeArgumentByIndex(receiver, 0));
  14968. },
  14969. get$first: function(receiver) {
  14970. if (receiver.length > 0)
  14971. return receiver[0];
  14972. throw H.wrapException(H.IterableElementError_noElement());
  14973. },
  14974. get$last: function(receiver) {
  14975. var t1 = receiver.length;
  14976. if (t1 > 0)
  14977. return receiver[t1 - 1];
  14978. throw H.wrapException(H.IterableElementError_noElement());
  14979. },
  14980. get$single: function(receiver) {
  14981. var t1 = receiver.length;
  14982. if (t1 === 1)
  14983. return receiver[0];
  14984. if (t1 === 0)
  14985. throw H.wrapException(H.IterableElementError_noElement());
  14986. throw H.wrapException(H.IterableElementError_tooMany());
  14987. },
  14988. removeRange$2: function(receiver, start, end) {
  14989. if (!!receiver.fixed$length)
  14990. H.throwExpression(P.UnsupportedError$("removeRange"));
  14991. P.RangeError_checkValidRange(start, end, receiver.length);
  14992. receiver.splice(start, end - start);
  14993. },
  14994. setRange$4: function(receiver, start, end, iterable, skipCount) {
  14995. var $length, t1, otherStart, otherList, i;
  14996. if (!!receiver.immutable$list)
  14997. H.throwExpression(P.UnsupportedError$("setRange"));
  14998. P.RangeError_checkValidRange(start, end, receiver.length);
  14999. $length = end - start;
  15000. if ($length === 0)
  15001. return;
  15002. P.RangeError_checkNotNegative(skipCount, "skipCount");
  15003. t1 = J.getInterceptor$(iterable);
  15004. if (!!t1.$isList) {
  15005. otherStart = skipCount;
  15006. otherList = iterable;
  15007. } else {
  15008. otherList = t1.skip$1(iterable, skipCount).toList$1$growable(0, false);
  15009. otherStart = 0;
  15010. }
  15011. t1 = J.getInterceptor$asx(otherList);
  15012. if (otherStart + $length > t1.get$length(otherList))
  15013. throw H.wrapException(H.IterableElementError_tooFew());
  15014. if (otherStart < start)
  15015. for (i = $length - 1; i >= 0; --i)
  15016. receiver[start + i] = t1.$index(otherList, otherStart + i);
  15017. else
  15018. for (i = 0; i < $length; ++i)
  15019. receiver[start + i] = t1.$index(otherList, otherStart + i);
  15020. },
  15021. setRange$3: function($receiver, start, end, iterable) {
  15022. return this.setRange$4($receiver, start, end, iterable, 0);
  15023. },
  15024. fillRange$3: function(receiver, start, end, fillValue) {
  15025. var i;
  15026. if (!!receiver.immutable$list)
  15027. H.throwExpression(P.UnsupportedError$("fill range"));
  15028. P.RangeError_checkValidRange(start, end, receiver.length);
  15029. for (i = start; i < end; ++i)
  15030. receiver[i] = fillValue;
  15031. },
  15032. any$1: function(receiver, test) {
  15033. var i,
  15034. end = receiver.length;
  15035. for (i = 0; i < end; ++i) {
  15036. if (test.call$1(receiver[i]))
  15037. return true;
  15038. if (receiver.length !== end)
  15039. throw H.wrapException(P.ConcurrentModificationError$(receiver));
  15040. }
  15041. return false;
  15042. },
  15043. every$1: function(receiver, test) {
  15044. var i,
  15045. end = receiver.length;
  15046. for (i = 0; i < end; ++i) {
  15047. if (!test.call$1(receiver[i]))
  15048. return false;
  15049. if (receiver.length !== end)
  15050. throw H.wrapException(P.ConcurrentModificationError$(receiver));
  15051. }
  15052. return true;
  15053. },
  15054. get$reversed: function(receiver) {
  15055. return new H.ReversedListIterable(receiver, [H.getTypeArgumentByIndex(receiver, 0)]);
  15056. },
  15057. sort$1: function(receiver, compare) {
  15058. if (!!receiver.immutable$list)
  15059. H.throwExpression(P.UnsupportedError$("sort"));
  15060. H.Sort_sort(receiver, compare == null ? J._interceptors_JSArray__compareAny$closure() : compare);
  15061. },
  15062. sort$0: function($receiver) {
  15063. return this.sort$1($receiver, null);
  15064. },
  15065. indexOf$1: function(receiver, element) {
  15066. var i;
  15067. if (0 >= receiver.length)
  15068. return -1;
  15069. for (i = 0; i < receiver.length; ++i)
  15070. if (J.$eq$(receiver[i], element))
  15071. return i;
  15072. return -1;
  15073. },
  15074. contains$1: function(receiver, other) {
  15075. var i;
  15076. for (i = 0; i < receiver.length; ++i)
  15077. if (J.$eq$(receiver[i], other))
  15078. return true;
  15079. return false;
  15080. },
  15081. get$isEmpty: function(receiver) {
  15082. return receiver.length === 0;
  15083. },
  15084. get$isNotEmpty: function(receiver) {
  15085. return receiver.length !== 0;
  15086. },
  15087. toString$0: function(receiver) {
  15088. return P.IterableBase_iterableToFullString(receiver, "[", "]");
  15089. },
  15090. toList$1$growable: function(receiver, growable) {
  15091. var t1 = H.setRuntimeTypeInfo(receiver.slice(0), [H.getTypeArgumentByIndex(receiver, 0)]);
  15092. return t1;
  15093. },
  15094. toList$0: function($receiver) {
  15095. return this.toList$1$growable($receiver, true);
  15096. },
  15097. toSet$0: function(receiver) {
  15098. return P.LinkedHashSet_LinkedHashSet$from(receiver, H.getTypeArgumentByIndex(receiver, 0));
  15099. },
  15100. get$iterator: function(receiver) {
  15101. return new J.ArrayIterator(receiver, receiver.length);
  15102. },
  15103. get$hashCode: function(receiver) {
  15104. return H.Primitives_objectHashCode(receiver);
  15105. },
  15106. get$length: function(receiver) {
  15107. return receiver.length;
  15108. },
  15109. set$length: function(receiver, newLength) {
  15110. if (!!receiver.fixed$length)
  15111. H.throwExpression(P.UnsupportedError$("set length"));
  15112. if (newLength < 0)
  15113. throw H.wrapException(P.RangeError$range(newLength, 0, null, "newLength", null));
  15114. receiver.length = newLength;
  15115. },
  15116. $index: function(receiver, index) {
  15117. if (typeof index !== "number" || Math.floor(index) !== index)
  15118. throw H.wrapException(H.diagnoseIndexError(receiver, index));
  15119. if (index >= receiver.length || index < 0)
  15120. throw H.wrapException(H.diagnoseIndexError(receiver, index));
  15121. return receiver[index];
  15122. },
  15123. $indexSet: function(receiver, index, value) {
  15124. if (!!receiver.immutable$list)
  15125. H.throwExpression(P.UnsupportedError$("indexed set"));
  15126. if (typeof index !== "number" || Math.floor(index) !== index)
  15127. throw H.wrapException(H.diagnoseIndexError(receiver, index));
  15128. if (index >= receiver.length || index < 0)
  15129. throw H.wrapException(H.diagnoseIndexError(receiver, index));
  15130. receiver[index] = value;
  15131. },
  15132. $add: function(receiver, other) {
  15133. var totalLength = receiver.length + other.length,
  15134. t1 = H.setRuntimeTypeInfo([], [H.getTypeArgumentByIndex(receiver, 0)]);
  15135. this.set$length(t1, totalLength);
  15136. this.setRange$3(t1, 0, receiver.length, receiver);
  15137. this.setRange$3(t1, receiver.length, totalLength, other);
  15138. return t1;
  15139. },
  15140. $isEfficientLengthIterable: 1,
  15141. $isIterable: 1,
  15142. $isList: 1
  15143. };
  15144. J.JSUnmodifiableArray.prototype = {};
  15145. J.ArrayIterator.prototype = {
  15146. get$current: function(_) {
  15147. return this._current;
  15148. },
  15149. moveNext$0: function() {
  15150. var t2, _this = this,
  15151. t1 = _this._iterable,
  15152. $length = t1.length;
  15153. if (_this._length !== $length)
  15154. throw H.wrapException(H.throwConcurrentModificationError(t1));
  15155. t2 = _this._index;
  15156. if (t2 >= $length) {
  15157. _this._current = null;
  15158. return false;
  15159. }
  15160. _this._current = t1[t2];
  15161. _this._index = t2 + 1;
  15162. return true;
  15163. }
  15164. };
  15165. J.JSNumber.prototype = {
  15166. compareTo$1: function(receiver, b) {
  15167. var bIsNegative;
  15168. if (typeof b !== "number")
  15169. throw H.wrapException(H.argumentErrorValue(b));
  15170. if (receiver < b)
  15171. return -1;
  15172. else if (receiver > b)
  15173. return 1;
  15174. else if (receiver === b) {
  15175. if (receiver === 0) {
  15176. bIsNegative = this.get$isNegative(b);
  15177. if (this.get$isNegative(receiver) === bIsNegative)
  15178. return 0;
  15179. if (this.get$isNegative(receiver))
  15180. return -1;
  15181. return 1;
  15182. }
  15183. return 0;
  15184. } else if (isNaN(receiver)) {
  15185. if (isNaN(b))
  15186. return 0;
  15187. return 1;
  15188. } else
  15189. return -1;
  15190. },
  15191. get$isNegative: function(receiver) {
  15192. return receiver === 0 ? 1 / receiver < 0 : receiver < 0;
  15193. },
  15194. ceil$0: function(receiver) {
  15195. var truncated, d;
  15196. if (receiver >= 0) {
  15197. if (receiver <= 2147483647) {
  15198. truncated = receiver | 0;
  15199. return receiver === truncated ? truncated : truncated + 1;
  15200. }
  15201. } else if (receiver >= -2147483648)
  15202. return receiver | 0;
  15203. d = Math.ceil(receiver);
  15204. if (isFinite(d))
  15205. return d;
  15206. throw H.wrapException(P.UnsupportedError$("" + receiver + ".ceil()"));
  15207. },
  15208. floor$0: function(receiver) {
  15209. var truncated, d;
  15210. if (receiver >= 0) {
  15211. if (receiver <= 2147483647)
  15212. return receiver | 0;
  15213. } else if (receiver >= -2147483648) {
  15214. truncated = receiver | 0;
  15215. return receiver === truncated ? truncated : truncated - 1;
  15216. }
  15217. d = Math.floor(receiver);
  15218. if (isFinite(d))
  15219. return d;
  15220. throw H.wrapException(P.UnsupportedError$("" + receiver + ".floor()"));
  15221. },
  15222. round$0: function(receiver) {
  15223. if (receiver > 0) {
  15224. if (receiver !== 1 / 0)
  15225. return Math.round(receiver);
  15226. } else if (receiver > -1 / 0)
  15227. return 0 - Math.round(0 - receiver);
  15228. throw H.wrapException(P.UnsupportedError$("" + receiver + ".round()"));
  15229. },
  15230. clamp$2: function(receiver, lowerLimit, upperLimit) {
  15231. if (C.JSInt_methods.compareTo$1(lowerLimit, upperLimit) > 0)
  15232. throw H.wrapException(H.argumentErrorValue(lowerLimit));
  15233. if (this.compareTo$1(receiver, lowerLimit) < 0)
  15234. return lowerLimit;
  15235. if (this.compareTo$1(receiver, upperLimit) > 0)
  15236. return upperLimit;
  15237. return receiver;
  15238. },
  15239. toRadixString$1: function(receiver, radix) {
  15240. var result, match, exponent, t1;
  15241. if (radix < 2 || radix > 36)
  15242. throw H.wrapException(P.RangeError$range(radix, 2, 36, "radix", null));
  15243. result = receiver.toString(radix);
  15244. if (C.JSString_methods.codeUnitAt$1(result, result.length - 1) !== 41)
  15245. return result;
  15246. match = /^([\da-z]+)(?:\.([\da-z]+))?\(e\+(\d+)\)$/.exec(result);
  15247. if (match == null)
  15248. H.throwExpression(P.UnsupportedError$("Unexpected toString result: " + result));
  15249. result = match[1];
  15250. exponent = +match[3];
  15251. t1 = match[2];
  15252. if (t1 != null) {
  15253. result += t1;
  15254. exponent -= t1.length;
  15255. }
  15256. return result + C.JSString_methods.$mul("0", exponent);
  15257. },
  15258. toString$0: function(receiver) {
  15259. if (receiver === 0 && 1 / receiver < 0)
  15260. return "-0.0";
  15261. else
  15262. return "" + receiver;
  15263. },
  15264. get$hashCode: function(receiver) {
  15265. var absolute, floorLog2, factor, scaled,
  15266. intValue = receiver | 0;
  15267. if (receiver === intValue)
  15268. return 536870911 & intValue;
  15269. absolute = Math.abs(receiver);
  15270. floorLog2 = Math.log(absolute) / 0.6931471805599453 | 0;
  15271. factor = Math.pow(2, floorLog2);
  15272. scaled = absolute < 1 ? absolute / factor : factor / absolute;
  15273. return 536870911 & ((scaled * 9007199254740992 | 0) + (scaled * 3542243181176521 | 0)) * 599197 + floorLog2 * 1259;
  15274. },
  15275. $add: function(receiver, other) {
  15276. if (typeof other !== "number")
  15277. throw H.wrapException(H.argumentErrorValue(other));
  15278. return receiver + other;
  15279. },
  15280. $mod: function(receiver, other) {
  15281. var result = receiver % other;
  15282. if (result === 0)
  15283. return 0;
  15284. if (result > 0)
  15285. return result;
  15286. if (other < 0)
  15287. return result - other;
  15288. else
  15289. return result + other;
  15290. },
  15291. $tdiv: function(receiver, other) {
  15292. if ((receiver | 0) === receiver)
  15293. if (other >= 1 || other < -1)
  15294. return receiver / other | 0;
  15295. return this._tdivSlow$1(receiver, other);
  15296. },
  15297. _tdivFast$1: function(receiver, other) {
  15298. return (receiver | 0) === receiver ? receiver / other | 0 : this._tdivSlow$1(receiver, other);
  15299. },
  15300. _tdivSlow$1: function(receiver, other) {
  15301. var quotient = receiver / other;
  15302. if (quotient >= -2147483648 && quotient <= 2147483647)
  15303. return quotient | 0;
  15304. if (quotient > 0) {
  15305. if (quotient !== 1 / 0)
  15306. return Math.floor(quotient);
  15307. } else if (quotient > -1 / 0)
  15308. return Math.ceil(quotient);
  15309. throw H.wrapException(P.UnsupportedError$("Result of truncating division is " + H.S(quotient) + ": " + H.S(receiver) + " ~/ " + other));
  15310. },
  15311. _shrOtherPositive$1: function(receiver, other) {
  15312. var t1;
  15313. if (receiver > 0)
  15314. t1 = this._shrBothPositive$1(receiver, other);
  15315. else {
  15316. t1 = other > 31 ? 31 : other;
  15317. t1 = receiver >> t1 >>> 0;
  15318. }
  15319. return t1;
  15320. },
  15321. _shrReceiverPositive$1: function(receiver, other) {
  15322. if (other < 0)
  15323. throw H.wrapException(H.argumentErrorValue(other));
  15324. return this._shrBothPositive$1(receiver, other);
  15325. },
  15326. _shrBothPositive$1: function(receiver, other) {
  15327. return other > 31 ? 0 : receiver >>> other;
  15328. },
  15329. $isComparable: 1,
  15330. $asComparable: function() {
  15331. return [P.num];
  15332. },
  15333. $isdouble: 1,
  15334. $isnum: 1
  15335. };
  15336. J.JSInt.prototype = {$isint: 1};
  15337. J.JSDouble.prototype = {};
  15338. J.JSString.prototype = {
  15339. codeUnitAt$1: function(receiver, index) {
  15340. if (typeof index !== "number" || Math.floor(index) !== index)
  15341. throw H.wrapException(H.diagnoseIndexError(receiver, index));
  15342. if (index < 0)
  15343. throw H.wrapException(H.diagnoseIndexError(receiver, index));
  15344. if (index >= receiver.length)
  15345. H.throwExpression(H.diagnoseIndexError(receiver, index));
  15346. return receiver.charCodeAt(index);
  15347. },
  15348. _codeUnitAt$1: function(receiver, index) {
  15349. if (index >= receiver.length)
  15350. throw H.wrapException(H.diagnoseIndexError(receiver, index));
  15351. return receiver.charCodeAt(index);
  15352. },
  15353. allMatches$2: function(receiver, string, start) {
  15354. var t1;
  15355. if (typeof string !== "string")
  15356. H.throwExpression(H.argumentErrorValue(string));
  15357. t1 = string.length;
  15358. if (start > t1)
  15359. throw H.wrapException(P.RangeError$range(start, 0, string.length, null, null));
  15360. return new H._StringAllMatchesIterable(string, receiver, start);
  15361. },
  15362. allMatches$1: function($receiver, string) {
  15363. return this.allMatches$2($receiver, string, 0);
  15364. },
  15365. matchAsPrefix$2: function(receiver, string, start) {
  15366. var t1, t2, i;
  15367. if (start < 0 || start > string.length)
  15368. throw H.wrapException(P.RangeError$range(start, 0, string.length, null, null));
  15369. t1 = receiver.length;
  15370. if (start + t1 > string.length)
  15371. return;
  15372. for (t2 = J.getInterceptor$s(string), i = 0; i < t1; ++i)
  15373. if (t2.codeUnitAt$1(string, start + i) !== this._codeUnitAt$1(receiver, i))
  15374. return;
  15375. return new H.StringMatch(start, receiver);
  15376. },
  15377. $add: function(receiver, other) {
  15378. if (typeof other !== "string")
  15379. throw H.wrapException(P.ArgumentError$value(other, null, null));
  15380. return receiver + other;
  15381. },
  15382. endsWith$1: function(receiver, other) {
  15383. var otherLength = other.length,
  15384. t1 = receiver.length;
  15385. if (otherLength > t1)
  15386. return false;
  15387. return other === this.substring$1(receiver, t1 - otherLength);
  15388. },
  15389. replaceFirst$2: function(receiver, from, to) {
  15390. P.RangeError_checkValueInInterval(0, 0, receiver.length, "startIndex");
  15391. return H.stringReplaceFirstUnchecked(receiver, from, to, 0);
  15392. },
  15393. replaceRange$3: function(receiver, start, end, replacement) {
  15394. if (typeof replacement !== "string")
  15395. H.throwExpression(H.argumentErrorValue(replacement));
  15396. if (typeof start !== "number" || Math.floor(start) !== start)
  15397. H.throwExpression(H.argumentErrorValue(start));
  15398. end = P.RangeError_checkValidRange(start, end, receiver.length);
  15399. return H.stringReplaceRangeUnchecked(receiver, start, end, replacement);
  15400. },
  15401. startsWith$2: function(receiver, pattern, index) {
  15402. var endIndex;
  15403. if (typeof index !== "number" || Math.floor(index) !== index)
  15404. H.throwExpression(H.argumentErrorValue(index));
  15405. if (index < 0 || index > receiver.length)
  15406. throw H.wrapException(P.RangeError$range(index, 0, receiver.length, null, null));
  15407. if (typeof pattern === "string") {
  15408. endIndex = index + pattern.length;
  15409. if (endIndex > receiver.length)
  15410. return false;
  15411. return pattern === receiver.substring(index, endIndex);
  15412. }
  15413. return J.matchAsPrefix$2$s(pattern, receiver, index) != null;
  15414. },
  15415. startsWith$1: function($receiver, pattern) {
  15416. return this.startsWith$2($receiver, pattern, 0);
  15417. },
  15418. substring$2: function(receiver, startIndex, endIndex) {
  15419. var _null = null;
  15420. if (typeof startIndex !== "number" || Math.floor(startIndex) !== startIndex)
  15421. H.throwExpression(H.argumentErrorValue(startIndex));
  15422. if (endIndex == null)
  15423. endIndex = receiver.length;
  15424. if (startIndex < 0)
  15425. throw H.wrapException(P.RangeError$value(startIndex, _null, _null));
  15426. if (startIndex > endIndex)
  15427. throw H.wrapException(P.RangeError$value(startIndex, _null, _null));
  15428. if (endIndex > receiver.length)
  15429. throw H.wrapException(P.RangeError$value(endIndex, _null, _null));
  15430. return receiver.substring(startIndex, endIndex);
  15431. },
  15432. substring$1: function($receiver, startIndex) {
  15433. return this.substring$2($receiver, startIndex, null);
  15434. },
  15435. trim$0: function(receiver) {
  15436. var startIndex, t1, endIndex0,
  15437. result = receiver.trim(),
  15438. endIndex = result.length;
  15439. if (endIndex === 0)
  15440. return result;
  15441. if (this._codeUnitAt$1(result, 0) === 133) {
  15442. startIndex = J.JSString__skipLeadingWhitespace(result, 1);
  15443. if (startIndex === endIndex)
  15444. return "";
  15445. } else
  15446. startIndex = 0;
  15447. t1 = endIndex - 1;
  15448. endIndex0 = this.codeUnitAt$1(result, t1) === 133 ? J.JSString__skipTrailingWhitespace(result, t1) : endIndex;
  15449. if (startIndex === 0 && endIndex0 === endIndex)
  15450. return result;
  15451. return result.substring(startIndex, endIndex0);
  15452. },
  15453. trimRight$0: function(receiver) {
  15454. var result, endIndex, t1;
  15455. if (typeof receiver.trimRight != "undefined") {
  15456. result = receiver.trimRight();
  15457. endIndex = result.length;
  15458. if (endIndex === 0)
  15459. return result;
  15460. t1 = endIndex - 1;
  15461. if (this.codeUnitAt$1(result, t1) === 133)
  15462. endIndex = J.JSString__skipTrailingWhitespace(result, t1);
  15463. } else {
  15464. endIndex = J.JSString__skipTrailingWhitespace(receiver, receiver.length);
  15465. result = receiver;
  15466. }
  15467. if (endIndex === result.length)
  15468. return result;
  15469. if (endIndex === 0)
  15470. return "";
  15471. return result.substring(0, endIndex);
  15472. },
  15473. $mul: function(receiver, times) {
  15474. var s, result;
  15475. if (0 >= times)
  15476. return "";
  15477. if (times === 1 || receiver.length === 0)
  15478. return receiver;
  15479. if (times !== times >>> 0)
  15480. throw H.wrapException(C.C_OutOfMemoryError);
  15481. for (s = receiver, result = ""; true;) {
  15482. if ((times & 1) === 1)
  15483. result = s + result;
  15484. times = times >>> 1;
  15485. if (times === 0)
  15486. break;
  15487. s += s;
  15488. }
  15489. return result;
  15490. },
  15491. padLeft$2: function(receiver, width, padding) {
  15492. var delta = width - receiver.length;
  15493. if (delta <= 0)
  15494. return receiver;
  15495. return this.$mul(padding, delta) + receiver;
  15496. },
  15497. padRight$1: function(receiver, width) {
  15498. var delta = width - receiver.length;
  15499. if (delta <= 0)
  15500. return receiver;
  15501. return receiver + this.$mul(" ", delta);
  15502. },
  15503. indexOf$2: function(receiver, pattern, start) {
  15504. var t1, t2, i;
  15505. if (pattern == null)
  15506. H.throwExpression(H.argumentErrorValue(pattern));
  15507. if (start < 0 || start > receiver.length)
  15508. throw H.wrapException(P.RangeError$range(start, 0, receiver.length, null, null));
  15509. if (typeof pattern === "string")
  15510. return receiver.indexOf(pattern, start);
  15511. for (t1 = receiver.length, t2 = J.getInterceptor$s(pattern), i = start; i <= t1; ++i)
  15512. if (t2.matchAsPrefix$2(pattern, receiver, i) != null)
  15513. return i;
  15514. return -1;
  15515. },
  15516. indexOf$1: function($receiver, pattern) {
  15517. return this.indexOf$2($receiver, pattern, 0);
  15518. },
  15519. lastIndexOf$2: function(receiver, pattern, start) {
  15520. var t1, t2, i;
  15521. if (pattern == null)
  15522. H.throwExpression(H.argumentErrorValue(pattern));
  15523. if (start == null)
  15524. start = receiver.length;
  15525. else if (start < 0 || start > receiver.length)
  15526. throw H.wrapException(P.RangeError$range(start, 0, receiver.length, null, null));
  15527. if (typeof pattern === "string") {
  15528. t1 = pattern.length;
  15529. t2 = receiver.length;
  15530. if (start + t1 > t2)
  15531. start = t2 - t1;
  15532. return receiver.lastIndexOf(pattern, start);
  15533. }
  15534. for (t1 = J.getInterceptor$s(pattern), i = start; i >= 0; --i)
  15535. if (t1.matchAsPrefix$2(pattern, receiver, i) != null)
  15536. return i;
  15537. return -1;
  15538. },
  15539. lastIndexOf$1: function($receiver, pattern) {
  15540. return this.lastIndexOf$2($receiver, pattern, null);
  15541. },
  15542. contains$2: function(receiver, other, startIndex) {
  15543. if (other == null)
  15544. H.throwExpression(H.argumentErrorValue(other));
  15545. if (startIndex > receiver.length)
  15546. throw H.wrapException(P.RangeError$range(startIndex, 0, receiver.length, null, null));
  15547. return H.stringContainsUnchecked(receiver, other, startIndex);
  15548. },
  15549. contains$1: function($receiver, other) {
  15550. return this.contains$2($receiver, other, 0);
  15551. },
  15552. get$isNotEmpty: function(receiver) {
  15553. return receiver.length !== 0;
  15554. },
  15555. compareTo$1: function(receiver, other) {
  15556. var t1;
  15557. if (typeof other !== "string")
  15558. throw H.wrapException(H.argumentErrorValue(other));
  15559. if (receiver === other)
  15560. t1 = 0;
  15561. else
  15562. t1 = receiver < other ? -1 : 1;
  15563. return t1;
  15564. },
  15565. toString$0: function(receiver) {
  15566. return receiver;
  15567. },
  15568. get$hashCode: function(receiver) {
  15569. var t1, hash, i;
  15570. for (t1 = receiver.length, hash = 0, i = 0; i < t1; ++i) {
  15571. hash = 536870911 & hash + receiver.charCodeAt(i);
  15572. hash = 536870911 & hash + ((524287 & hash) << 10);
  15573. hash ^= hash >> 6;
  15574. }
  15575. hash = 536870911 & hash + ((67108863 & hash) << 3);
  15576. hash ^= hash >> 11;
  15577. return 536870911 & hash + ((16383 & hash) << 15);
  15578. },
  15579. get$length: function(receiver) {
  15580. return receiver.length;
  15581. },
  15582. $isComparable: 1,
  15583. $asComparable: function() {
  15584. return [P.String];
  15585. },
  15586. $isString: 1
  15587. };
  15588. H._CastIterableBase.prototype = {
  15589. get$iterator: function(_) {
  15590. return new H.CastIterator(J.get$iterator$ax(this.get$_source()), this.$ti);
  15591. },
  15592. get$length: function(_) {
  15593. return J.get$length$asx(this.get$_source());
  15594. },
  15595. get$isEmpty: function(_) {
  15596. return J.get$isEmpty$asx(this.get$_source());
  15597. },
  15598. get$isNotEmpty: function(_) {
  15599. return J.get$isNotEmpty$asx(this.get$_source());
  15600. },
  15601. skip$1: function(_, count) {
  15602. return H.CastIterable_CastIterable(J.skip$1$ax(this.get$_source(), count), H.getTypeArgumentByIndex(this, 0), H.getTypeArgumentByIndex(this, 1));
  15603. },
  15604. take$1: function(_, count) {
  15605. return H.CastIterable_CastIterable(J.take$1$ax(this.get$_source(), count), H.getTypeArgumentByIndex(this, 0), H.getTypeArgumentByIndex(this, 1));
  15606. },
  15607. elementAt$1: function(_, index) {
  15608. return H.subtypeOfRuntimeTypeCast(J.elementAt$1$ax(this.get$_source(), index), H.getTypeArgumentByIndex(this, 1));
  15609. },
  15610. get$first: function(_) {
  15611. return H.subtypeOfRuntimeTypeCast(J.get$first$ax(this.get$_source()), H.getTypeArgumentByIndex(this, 1));
  15612. },
  15613. get$last: function(_) {
  15614. return H.subtypeOfRuntimeTypeCast(J.get$last$ax(this.get$_source()), H.getTypeArgumentByIndex(this, 1));
  15615. },
  15616. get$single: function(_) {
  15617. return H.subtypeOfRuntimeTypeCast(J.get$single$ax(this.get$_source()), H.getTypeArgumentByIndex(this, 1));
  15618. },
  15619. contains$1: function(_, other) {
  15620. return J.contains$1$asx(this.get$_source(), other);
  15621. },
  15622. toString$0: function(_) {
  15623. return J.toString$0$(this.get$_source());
  15624. },
  15625. $asIterable: function($S, $T) {
  15626. return [$T];
  15627. }
  15628. };
  15629. H.CastIterator.prototype = {
  15630. moveNext$0: function() {
  15631. return this._source.moveNext$0();
  15632. },
  15633. get$current: function(_) {
  15634. var t1 = this._source;
  15635. return H.subtypeOfRuntimeTypeCast(t1.get$current(t1), H.getTypeArgumentByIndex(this, 1));
  15636. }
  15637. };
  15638. H.CastIterable.prototype = {
  15639. cast$1$0: function(_, $R) {
  15640. return H.CastIterable_CastIterable(this._source, H.getTypeArgumentByIndex(this, 0), $R);
  15641. },
  15642. get$_source: function() {
  15643. return this._source;
  15644. }
  15645. };
  15646. H._EfficientLengthCastIterable.prototype = {$isEfficientLengthIterable: 1,
  15647. $asEfficientLengthIterable: function($S, $T) {
  15648. return [$T];
  15649. }
  15650. };
  15651. H._CastListBase.prototype = {
  15652. $index: function(_, index) {
  15653. return H.subtypeOfRuntimeTypeCast(J.$index$asx(this._source, index), H.getTypeArgumentByIndex(this, 1));
  15654. },
  15655. $indexSet: function(_, index, value) {
  15656. J.$indexSet$ax(this._source, index, H.subtypeOfRuntimeTypeCast(value, H.getTypeArgumentByIndex(this, 0)));
  15657. },
  15658. set$length: function(_, $length) {
  15659. J.set$length$asx(this._source, $length);
  15660. },
  15661. add$1: function(_, value) {
  15662. J.add$1$ax(this._source, H.subtypeOfRuntimeTypeCast(value, H.getTypeArgumentByIndex(this, 0)));
  15663. },
  15664. setRange$4: function(_, start, end, iterable, skipCount) {
  15665. J.setRange$4$ax(this._source, start, end, H.CastIterable_CastIterable(iterable, H.getTypeArgumentByIndex(this, 1), H.getTypeArgumentByIndex(this, 0)), skipCount);
  15666. },
  15667. fillRange$3: function(_, start, end, fillValue) {
  15668. J.fillRange$3$ax(this._source, start, end, H.subtypeOfRuntimeTypeCast(fillValue, H.getTypeArgumentByIndex(this, 0)));
  15669. },
  15670. $isEfficientLengthIterable: 1,
  15671. $asEfficientLengthIterable: function($S, $T) {
  15672. return [$T];
  15673. },
  15674. $asListMixin: function($S, $T) {
  15675. return [$T];
  15676. },
  15677. $isList: 1,
  15678. $asList: function($S, $T) {
  15679. return [$T];
  15680. }
  15681. };
  15682. H.CastList.prototype = {
  15683. cast$1$0: function(_, $R) {
  15684. return new H.CastList(this._source, [H.getTypeArgumentByIndex(this, 0), $R]);
  15685. },
  15686. get$_source: function() {
  15687. return this._source;
  15688. }
  15689. };
  15690. H.CastSet.prototype = {
  15691. cast$1$0: function(_, $R) {
  15692. return new H.CastSet(this._source, this._emptySet, [H.getTypeArgumentByIndex(this, 0), $R]);
  15693. },
  15694. add$1: function(_, value) {
  15695. return this._source.add$1(0, H.subtypeOfRuntimeTypeCast(value, H.getTypeArgumentByIndex(this, 0)));
  15696. },
  15697. addAll$1: function(_, elements) {
  15698. this._source.addAll$1(0, H.CastIterable_CastIterable(elements, H.getTypeArgumentByIndex(this, 1), H.getTypeArgumentByIndex(this, 0)));
  15699. },
  15700. toSet$0: function(_) {
  15701. var t1 = this._emptySet,
  15702. result = t1 == null ? P.LinkedHashSet_LinkedHashSet(H.getTypeArgumentByIndex(this, 1)) : t1.call$0();
  15703. result.addAll$1(0, this);
  15704. return result;
  15705. },
  15706. $isEfficientLengthIterable: 1,
  15707. $asEfficientLengthIterable: function($S, $T) {
  15708. return [$T];
  15709. },
  15710. $isSet: 1,
  15711. $asSet: function($S, $T) {
  15712. return [$T];
  15713. },
  15714. get$_source: function() {
  15715. return this._source;
  15716. }
  15717. };
  15718. H.CastQueue.prototype = {
  15719. cast$1$0: function(_, $R) {
  15720. return new H.CastQueue(this._source, [H.getTypeArgumentByIndex(this, 0), $R]);
  15721. },
  15722. add$1: function(_, value) {
  15723. this._source._collection$_add$1(H.subtypeOfRuntimeTypeCast(value, H.getTypeArgumentByIndex(this, 0)));
  15724. },
  15725. $isEfficientLengthIterable: 1,
  15726. $asEfficientLengthIterable: function($S, $T) {
  15727. return [$T];
  15728. },
  15729. $isQueue: 1,
  15730. $asQueue: function($S, $T) {
  15731. return [$T];
  15732. },
  15733. get$_source: function() {
  15734. return this._source;
  15735. }
  15736. };
  15737. H.CodeUnits.prototype = {
  15738. get$length: function(_) {
  15739. return this.__internal$_string.length;
  15740. },
  15741. $index: function(_, i) {
  15742. return C.JSString_methods.codeUnitAt$1(this.__internal$_string, i);
  15743. },
  15744. $asEfficientLengthIterable: function() {
  15745. return [P.int];
  15746. },
  15747. $asListMixin: function() {
  15748. return [P.int];
  15749. },
  15750. $asIterable: function() {
  15751. return [P.int];
  15752. },
  15753. $asList: function() {
  15754. return [P.int];
  15755. }
  15756. };
  15757. H.EfficientLengthIterable.prototype = {};
  15758. H.ListIterable.prototype = {
  15759. get$iterator: function(_) {
  15760. return new H.ListIterator(this, this.get$length(this));
  15761. },
  15762. get$isEmpty: function(_) {
  15763. return this.get$length(this) === 0;
  15764. },
  15765. get$first: function(_) {
  15766. if (this.get$length(this) === 0)
  15767. throw H.wrapException(H.IterableElementError_noElement());
  15768. return this.elementAt$1(0, 0);
  15769. },
  15770. get$last: function(_) {
  15771. var _this = this;
  15772. if (_this.get$length(_this) === 0)
  15773. throw H.wrapException(H.IterableElementError_noElement());
  15774. return _this.elementAt$1(0, _this.get$length(_this) - 1);
  15775. },
  15776. get$single: function(_) {
  15777. var _this = this;
  15778. if (_this.get$length(_this) === 0)
  15779. throw H.wrapException(H.IterableElementError_noElement());
  15780. if (_this.get$length(_this) > 1)
  15781. throw H.wrapException(H.IterableElementError_tooMany());
  15782. return _this.elementAt$1(0, 0);
  15783. },
  15784. contains$1: function(_, element) {
  15785. var i, _this = this,
  15786. $length = _this.get$length(_this);
  15787. for (i = 0; i < $length; ++i) {
  15788. if (J.$eq$(_this.elementAt$1(0, i), element))
  15789. return true;
  15790. if ($length !== _this.get$length(_this))
  15791. throw H.wrapException(P.ConcurrentModificationError$(_this));
  15792. }
  15793. return false;
  15794. },
  15795. any$1: function(_, test) {
  15796. var i, _this = this,
  15797. $length = _this.get$length(_this);
  15798. for (i = 0; i < $length; ++i) {
  15799. if (test.call$1(_this.elementAt$1(0, i)))
  15800. return true;
  15801. if ($length !== _this.get$length(_this))
  15802. throw H.wrapException(P.ConcurrentModificationError$(_this));
  15803. }
  15804. return false;
  15805. },
  15806. firstWhere$2$orElse: function(_, test, orElse) {
  15807. var i, element, _this = this,
  15808. $length = _this.get$length(_this);
  15809. for (i = 0; i < $length; ++i) {
  15810. element = _this.elementAt$1(0, i);
  15811. if (test.call$1(element))
  15812. return element;
  15813. if ($length !== _this.get$length(_this))
  15814. throw H.wrapException(P.ConcurrentModificationError$(_this));
  15815. }
  15816. return orElse.call$0();
  15817. },
  15818. join$1: function(_, separator) {
  15819. var first, t1, i, _this = this,
  15820. $length = _this.get$length(_this);
  15821. if (separator.length !== 0) {
  15822. if ($length === 0)
  15823. return "";
  15824. first = H.S(_this.elementAt$1(0, 0));
  15825. if ($length !== _this.get$length(_this))
  15826. throw H.wrapException(P.ConcurrentModificationError$(_this));
  15827. for (t1 = first, i = 1; i < $length; ++i) {
  15828. t1 = t1 + separator + H.S(_this.elementAt$1(0, i));
  15829. if ($length !== _this.get$length(_this))
  15830. throw H.wrapException(P.ConcurrentModificationError$(_this));
  15831. }
  15832. return t1.charCodeAt(0) == 0 ? t1 : t1;
  15833. } else {
  15834. for (i = 0, t1 = ""; i < $length; ++i) {
  15835. t1 += H.S(_this.elementAt$1(0, i));
  15836. if ($length !== _this.get$length(_this))
  15837. throw H.wrapException(P.ConcurrentModificationError$(_this));
  15838. }
  15839. return t1.charCodeAt(0) == 0 ? t1 : t1;
  15840. }
  15841. },
  15842. join$0: function($receiver) {
  15843. return this.join$1($receiver, "");
  15844. },
  15845. where$1: function(_, test) {
  15846. return this.super$Iterable$where(0, test);
  15847. },
  15848. map$1$1: function(_, f, $T) {
  15849. return new H.MappedListIterable(this, f, [H.getRuntimeTypeArgument(this, "ListIterable", 0), $T]);
  15850. },
  15851. reduce$1: function(_, combine) {
  15852. var value, i, _this = this,
  15853. $length = _this.get$length(_this);
  15854. if ($length === 0)
  15855. throw H.wrapException(H.IterableElementError_noElement());
  15856. value = _this.elementAt$1(0, 0);
  15857. for (i = 1; i < $length; ++i) {
  15858. value = combine.call$2(value, _this.elementAt$1(0, i));
  15859. if ($length !== _this.get$length(_this))
  15860. throw H.wrapException(P.ConcurrentModificationError$(_this));
  15861. }
  15862. return value;
  15863. },
  15864. fold$1$2: function(_, initialValue, combine) {
  15865. var value, i, _this = this,
  15866. $length = _this.get$length(_this);
  15867. for (value = initialValue, i = 0; i < $length; ++i) {
  15868. value = combine.call$2(value, _this.elementAt$1(0, i));
  15869. if ($length !== _this.get$length(_this))
  15870. throw H.wrapException(P.ConcurrentModificationError$(_this));
  15871. }
  15872. return value;
  15873. },
  15874. fold$2: function($receiver, initialValue, combine) {
  15875. return this.fold$1$2($receiver, initialValue, combine, null);
  15876. },
  15877. skip$1: function(_, count) {
  15878. return H.SubListIterable$(this, count, null, H.getRuntimeTypeArgument(this, "ListIterable", 0));
  15879. },
  15880. take$1: function(_, count) {
  15881. return H.SubListIterable$(this, 0, count, H.getRuntimeTypeArgument(this, "ListIterable", 0));
  15882. },
  15883. toList$1$growable: function(_, growable) {
  15884. var i, _this = this,
  15885. result = H.setRuntimeTypeInfo([], [H.getRuntimeTypeArgument(_this, "ListIterable", 0)]);
  15886. C.JSArray_methods.set$length(result, _this.get$length(_this));
  15887. for (i = 0; i < _this.get$length(_this); ++i)
  15888. result[i] = _this.elementAt$1(0, i);
  15889. return result;
  15890. },
  15891. toList$0: function($receiver) {
  15892. return this.toList$1$growable($receiver, true);
  15893. },
  15894. toSet$0: function(_) {
  15895. var i, _this = this,
  15896. result = P.LinkedHashSet_LinkedHashSet(H.getRuntimeTypeArgument(_this, "ListIterable", 0));
  15897. for (i = 0; i < _this.get$length(_this); ++i)
  15898. result.add$1(0, _this.elementAt$1(0, i));
  15899. return result;
  15900. }
  15901. };
  15902. H.SubListIterable.prototype = {
  15903. get$_endIndex: function() {
  15904. var $length = J.get$length$asx(this.__internal$_iterable),
  15905. t1 = this._endOrLength;
  15906. if (t1 == null || t1 > $length)
  15907. return $length;
  15908. return t1;
  15909. },
  15910. get$_startIndex: function() {
  15911. var $length = J.get$length$asx(this.__internal$_iterable),
  15912. t1 = this.__internal$_start;
  15913. if (t1 > $length)
  15914. return $length;
  15915. return t1;
  15916. },
  15917. get$length: function(_) {
  15918. var t2,
  15919. $length = J.get$length$asx(this.__internal$_iterable),
  15920. t1 = this.__internal$_start;
  15921. if (t1 >= $length)
  15922. return 0;
  15923. t2 = this._endOrLength;
  15924. if (t2 == null || t2 >= $length)
  15925. return $length - t1;
  15926. return t2 - t1;
  15927. },
  15928. elementAt$1: function(_, index) {
  15929. var _this = this,
  15930. realIndex = _this.get$_startIndex() + index;
  15931. if (index < 0 || realIndex >= _this.get$_endIndex())
  15932. throw H.wrapException(P.IndexError$(index, _this, "index", null, null));
  15933. return J.elementAt$1$ax(_this.__internal$_iterable, realIndex);
  15934. },
  15935. skip$1: function(_, count) {
  15936. var newStart, t1, _this = this;
  15937. P.RangeError_checkNotNegative(count, "count");
  15938. newStart = _this.__internal$_start + count;
  15939. t1 = _this._endOrLength;
  15940. if (t1 != null && newStart >= t1)
  15941. return new H.EmptyIterable(_this.$ti);
  15942. return H.SubListIterable$(_this.__internal$_iterable, newStart, t1, H.getTypeArgumentByIndex(_this, 0));
  15943. },
  15944. take$1: function(_, count) {
  15945. var t1, t2, newEnd, _this = this;
  15946. P.RangeError_checkNotNegative(count, "count");
  15947. t1 = _this._endOrLength;
  15948. t2 = _this.__internal$_start;
  15949. if (t1 == null)
  15950. return H.SubListIterable$(_this.__internal$_iterable, t2, t2 + count, H.getTypeArgumentByIndex(_this, 0));
  15951. else {
  15952. newEnd = t2 + count;
  15953. if (t1 < newEnd)
  15954. return _this;
  15955. return H.SubListIterable$(_this.__internal$_iterable, t2, newEnd, H.getTypeArgumentByIndex(_this, 0));
  15956. }
  15957. },
  15958. toList$1$growable: function(_, growable) {
  15959. var $length, t3, result, t4, i, _this = this,
  15960. start = _this.__internal$_start,
  15961. t1 = _this.__internal$_iterable,
  15962. t2 = J.getInterceptor$asx(t1),
  15963. end = t2.get$length(t1),
  15964. end0 = _this._endOrLength;
  15965. if (end0 != null && end0 < end)
  15966. end = end0;
  15967. $length = end - start;
  15968. if ($length < 0)
  15969. $length = 0;
  15970. t3 = _this.$ti;
  15971. if (growable) {
  15972. result = H.setRuntimeTypeInfo([], t3);
  15973. C.JSArray_methods.set$length(result, $length);
  15974. } else {
  15975. t4 = new Array($length);
  15976. t4.fixed$length = Array;
  15977. result = H.setRuntimeTypeInfo(t4, t3);
  15978. }
  15979. for (i = 0; i < $length; ++i) {
  15980. result[i] = t2.elementAt$1(t1, start + i);
  15981. if (t2.get$length(t1) < end)
  15982. throw H.wrapException(P.ConcurrentModificationError$(_this));
  15983. }
  15984. return result;
  15985. },
  15986. toList$0: function($receiver) {
  15987. return this.toList$1$growable($receiver, true);
  15988. }
  15989. };
  15990. H.ListIterator.prototype = {
  15991. get$current: function(_) {
  15992. return this.__internal$_current;
  15993. },
  15994. moveNext$0: function() {
  15995. var t3, _this = this,
  15996. t1 = _this.__internal$_iterable,
  15997. t2 = J.getInterceptor$asx(t1),
  15998. $length = t2.get$length(t1);
  15999. if (_this.__internal$_length !== $length)
  16000. throw H.wrapException(P.ConcurrentModificationError$(t1));
  16001. t3 = _this.__internal$_index;
  16002. if (t3 >= $length) {
  16003. _this.__internal$_current = null;
  16004. return false;
  16005. }
  16006. _this.__internal$_current = t2.elementAt$1(t1, t3);
  16007. ++_this.__internal$_index;
  16008. return true;
  16009. }
  16010. };
  16011. H.MappedIterable.prototype = {
  16012. get$iterator: function(_) {
  16013. return new H.MappedIterator(J.get$iterator$ax(this.__internal$_iterable), this._f);
  16014. },
  16015. get$length: function(_) {
  16016. return J.get$length$asx(this.__internal$_iterable);
  16017. },
  16018. get$isEmpty: function(_) {
  16019. return J.get$isEmpty$asx(this.__internal$_iterable);
  16020. },
  16021. get$first: function(_) {
  16022. return this._f.call$1(J.get$first$ax(this.__internal$_iterable));
  16023. },
  16024. get$last: function(_) {
  16025. return this._f.call$1(J.get$last$ax(this.__internal$_iterable));
  16026. },
  16027. get$single: function(_) {
  16028. return this._f.call$1(J.get$single$ax(this.__internal$_iterable));
  16029. },
  16030. elementAt$1: function(_, index) {
  16031. return this._f.call$1(J.elementAt$1$ax(this.__internal$_iterable, index));
  16032. },
  16033. $asIterable: function($S, $T) {
  16034. return [$T];
  16035. }
  16036. };
  16037. H.EfficientLengthMappedIterable.prototype = {$isEfficientLengthIterable: 1,
  16038. $asEfficientLengthIterable: function($S, $T) {
  16039. return [$T];
  16040. }
  16041. };
  16042. H.MappedIterator.prototype = {
  16043. moveNext$0: function() {
  16044. var _this = this,
  16045. t1 = _this._iterator;
  16046. if (t1.moveNext$0()) {
  16047. _this.__internal$_current = _this._f.call$1(t1.get$current(t1));
  16048. return true;
  16049. }
  16050. _this.__internal$_current = null;
  16051. return false;
  16052. },
  16053. get$current: function(_) {
  16054. return this.__internal$_current;
  16055. }
  16056. };
  16057. H.MappedListIterable.prototype = {
  16058. get$length: function(_) {
  16059. return J.get$length$asx(this._source);
  16060. },
  16061. elementAt$1: function(_, index) {
  16062. return this._f.call$1(J.elementAt$1$ax(this._source, index));
  16063. },
  16064. $asEfficientLengthIterable: function($S, $T) {
  16065. return [$T];
  16066. },
  16067. $asListIterable: function($S, $T) {
  16068. return [$T];
  16069. },
  16070. $asIterable: function($S, $T) {
  16071. return [$T];
  16072. }
  16073. };
  16074. H.WhereIterable.prototype = {
  16075. get$iterator: function(_) {
  16076. return new H.WhereIterator(J.get$iterator$ax(this.__internal$_iterable), this._f);
  16077. },
  16078. map$1$1: function(_, f, $T) {
  16079. return new H.MappedIterable(this, f, [H.getTypeArgumentByIndex(this, 0), $T]);
  16080. }
  16081. };
  16082. H.WhereIterator.prototype = {
  16083. moveNext$0: function() {
  16084. var t1, t2;
  16085. for (t1 = this._iterator, t2 = this._f; t1.moveNext$0();)
  16086. if (t2.call$1(t1.get$current(t1)))
  16087. return true;
  16088. return false;
  16089. },
  16090. get$current: function(_) {
  16091. var t1 = this._iterator;
  16092. return t1.get$current(t1);
  16093. }
  16094. };
  16095. H.ExpandIterable.prototype = {
  16096. get$iterator: function(_) {
  16097. return new H.ExpandIterator(J.get$iterator$ax(this.__internal$_iterable), this._f, C.C_EmptyIterator);
  16098. },
  16099. $asIterable: function($S, $T) {
  16100. return [$T];
  16101. }
  16102. };
  16103. H.ExpandIterator.prototype = {
  16104. get$current: function(_) {
  16105. return this.__internal$_current;
  16106. },
  16107. moveNext$0: function() {
  16108. var t2, t3, _this = this,
  16109. t1 = _this._currentExpansion;
  16110. if (t1 == null)
  16111. return false;
  16112. for (t2 = _this._iterator, t3 = _this._f; !t1.moveNext$0();) {
  16113. _this.__internal$_current = null;
  16114. if (t2.moveNext$0()) {
  16115. _this._currentExpansion = null;
  16116. t1 = J.get$iterator$ax(t3.call$1(t2.get$current(t2)));
  16117. _this._currentExpansion = t1;
  16118. } else
  16119. return false;
  16120. }
  16121. t1 = _this._currentExpansion;
  16122. _this.__internal$_current = t1.get$current(t1);
  16123. return true;
  16124. }
  16125. };
  16126. H.TakeIterable.prototype = {
  16127. get$iterator: function(_) {
  16128. return new H.TakeIterator(J.get$iterator$ax(this.__internal$_iterable), this._takeCount);
  16129. }
  16130. };
  16131. H.EfficientLengthTakeIterable.prototype = {
  16132. get$length: function(_) {
  16133. var iterableLength = J.get$length$asx(this.__internal$_iterable),
  16134. t1 = this._takeCount;
  16135. if (iterableLength > t1)
  16136. return t1;
  16137. return iterableLength;
  16138. },
  16139. $isEfficientLengthIterable: 1
  16140. };
  16141. H.TakeIterator.prototype = {
  16142. moveNext$0: function() {
  16143. if (--this._remaining >= 0)
  16144. return this._iterator.moveNext$0();
  16145. this._remaining = -1;
  16146. return false;
  16147. },
  16148. get$current: function(_) {
  16149. var t1;
  16150. if (this._remaining < 0)
  16151. return;
  16152. t1 = this._iterator;
  16153. return t1.get$current(t1);
  16154. }
  16155. };
  16156. H.SkipIterable.prototype = {
  16157. skip$1: function(_, count) {
  16158. if (count == null)
  16159. H.throwExpression(P.ArgumentError$notNull("count"));
  16160. P.RangeError_checkNotNegative(count, "count");
  16161. return new H.SkipIterable(this.__internal$_iterable, this._skipCount + count, this.$ti);
  16162. },
  16163. get$iterator: function(_) {
  16164. return new H.SkipIterator(J.get$iterator$ax(this.__internal$_iterable), this._skipCount);
  16165. }
  16166. };
  16167. H.EfficientLengthSkipIterable.prototype = {
  16168. get$length: function(_) {
  16169. var $length = J.get$length$asx(this.__internal$_iterable) - this._skipCount;
  16170. if ($length >= 0)
  16171. return $length;
  16172. return 0;
  16173. },
  16174. skip$1: function(_, count) {
  16175. if (count == null)
  16176. H.throwExpression(P.ArgumentError$notNull("count"));
  16177. P.RangeError_checkNotNegative(count, "count");
  16178. return new H.EfficientLengthSkipIterable(this.__internal$_iterable, this._skipCount + count, this.$ti);
  16179. },
  16180. $isEfficientLengthIterable: 1
  16181. };
  16182. H.SkipIterator.prototype = {
  16183. moveNext$0: function() {
  16184. var t1, i;
  16185. for (t1 = this._iterator, i = 0; i < this._skipCount; ++i)
  16186. t1.moveNext$0();
  16187. this._skipCount = 0;
  16188. return t1.moveNext$0();
  16189. },
  16190. get$current: function(_) {
  16191. var t1 = this._iterator;
  16192. return t1.get$current(t1);
  16193. }
  16194. };
  16195. H.SkipWhileIterable.prototype = {
  16196. get$iterator: function(_) {
  16197. return new H.SkipWhileIterator(J.get$iterator$ax(this.__internal$_iterable), this._f);
  16198. }
  16199. };
  16200. H.SkipWhileIterator.prototype = {
  16201. moveNext$0: function() {
  16202. var t1, t2, _this = this;
  16203. if (!_this._hasSkipped) {
  16204. _this._hasSkipped = true;
  16205. for (t1 = _this._iterator, t2 = _this._f; t1.moveNext$0();)
  16206. if (!t2.call$1(t1.get$current(t1)))
  16207. return true;
  16208. }
  16209. return _this._iterator.moveNext$0();
  16210. },
  16211. get$current: function(_) {
  16212. var t1 = this._iterator;
  16213. return t1.get$current(t1);
  16214. }
  16215. };
  16216. H.EmptyIterable.prototype = {
  16217. get$iterator: function(_) {
  16218. return C.C_EmptyIterator;
  16219. },
  16220. get$isEmpty: function(_) {
  16221. return true;
  16222. },
  16223. get$length: function(_) {
  16224. return 0;
  16225. },
  16226. get$first: function(_) {
  16227. throw H.wrapException(H.IterableElementError_noElement());
  16228. },
  16229. get$last: function(_) {
  16230. throw H.wrapException(H.IterableElementError_noElement());
  16231. },
  16232. get$single: function(_) {
  16233. throw H.wrapException(H.IterableElementError_noElement());
  16234. },
  16235. elementAt$1: function(_, index) {
  16236. throw H.wrapException(P.RangeError$range(index, 0, 0, "index", null));
  16237. },
  16238. contains$1: function(_, element) {
  16239. return false;
  16240. },
  16241. join$1: function(_, separator) {
  16242. return "";
  16243. },
  16244. join$0: function($receiver) {
  16245. return this.join$1($receiver, "");
  16246. },
  16247. where$1: function(_, test) {
  16248. return this;
  16249. },
  16250. map$1$1: function(_, f, $T) {
  16251. return new H.EmptyIterable([$T]);
  16252. },
  16253. skip$1: function(_, count) {
  16254. P.RangeError_checkNotNegative(count, "count");
  16255. return this;
  16256. },
  16257. take$1: function(_, count) {
  16258. P.RangeError_checkNotNegative(count, "count");
  16259. return this;
  16260. },
  16261. toList$1$growable: function(_, growable) {
  16262. var t1 = H.setRuntimeTypeInfo([], this.$ti);
  16263. return t1;
  16264. },
  16265. toList$0: function($receiver) {
  16266. return this.toList$1$growable($receiver, true);
  16267. },
  16268. toSet$0: function(_) {
  16269. return P.LinkedHashSet_LinkedHashSet(H.getTypeArgumentByIndex(this, 0));
  16270. }
  16271. };
  16272. H.EmptyIterator.prototype = {
  16273. moveNext$0: function() {
  16274. return false;
  16275. },
  16276. get$current: function(_) {
  16277. return;
  16278. }
  16279. };
  16280. H.FollowedByIterable.prototype = {
  16281. get$iterator: function(_) {
  16282. return new H.FollowedByIterator(J.get$iterator$ax(this.__internal$_first), this._second);
  16283. },
  16284. get$length: function(_) {
  16285. var t1 = this._second;
  16286. return J.get$length$asx(this.__internal$_first) + t1.get$length(t1);
  16287. },
  16288. get$isEmpty: function(_) {
  16289. var t1;
  16290. if (J.get$isEmpty$asx(this.__internal$_first)) {
  16291. t1 = this._second;
  16292. t1 = t1.get$isEmpty(t1);
  16293. } else
  16294. t1 = false;
  16295. return t1;
  16296. },
  16297. get$isNotEmpty: function(_) {
  16298. var t1;
  16299. if (!J.get$isNotEmpty$asx(this.__internal$_first)) {
  16300. t1 = this._second;
  16301. t1 = t1.get$isNotEmpty(t1);
  16302. } else
  16303. t1 = true;
  16304. return t1;
  16305. },
  16306. contains$1: function(_, value) {
  16307. var t1;
  16308. if (!J.contains$1$asx(this.__internal$_first, value)) {
  16309. t1 = this._second;
  16310. t1 = t1.contains$1(t1, value);
  16311. } else
  16312. t1 = true;
  16313. return t1;
  16314. },
  16315. get$first: function(_) {
  16316. var t1,
  16317. iterator = J.get$iterator$ax(this.__internal$_first);
  16318. if (iterator.moveNext$0())
  16319. return iterator.get$current(iterator);
  16320. t1 = this._second;
  16321. return t1.get$first(t1);
  16322. },
  16323. get$last: function(_) {
  16324. var last,
  16325. t1 = this._second,
  16326. iterator = t1.get$iterator(t1);
  16327. if (iterator.moveNext$0()) {
  16328. last = iterator.get$current(iterator);
  16329. for (; iterator.moveNext$0();)
  16330. last = iterator.get$current(iterator);
  16331. return last;
  16332. }
  16333. return J.get$last$ax(this.__internal$_first);
  16334. }
  16335. };
  16336. H.EfficientLengthFollowedByIterable.prototype = {
  16337. skip$1: function(_, count) {
  16338. var _this = this,
  16339. t1 = _this.__internal$_first,
  16340. t2 = J.getInterceptor$asx(t1),
  16341. firstLength = t2.get$length(t1);
  16342. if (count >= firstLength) {
  16343. t1 = _this._second;
  16344. return t1.skip$1(t1, count - firstLength);
  16345. }
  16346. return new H.EfficientLengthFollowedByIterable(t2.skip$1(t1, count), _this._second, _this.$ti);
  16347. },
  16348. take$1: function(_, count) {
  16349. var t1 = this.__internal$_first,
  16350. t2 = J.getInterceptor$asx(t1),
  16351. firstLength = t2.get$length(t1);
  16352. if (count <= firstLength)
  16353. return t2.take$1(t1, count);
  16354. t2 = this._second;
  16355. return new H.EfficientLengthFollowedByIterable(t1, t2.take$1(t2, count - firstLength), this.$ti);
  16356. },
  16357. elementAt$1: function(_, index) {
  16358. var t1 = this.__internal$_first,
  16359. t2 = J.getInterceptor$asx(t1),
  16360. firstLength = t2.get$length(t1);
  16361. if (index < firstLength)
  16362. return t2.elementAt$1(t1, index);
  16363. t1 = this._second;
  16364. return t1.elementAt$1(t1, index - firstLength);
  16365. },
  16366. get$first: function(_) {
  16367. var t1 = this.__internal$_first,
  16368. t2 = J.getInterceptor$asx(t1);
  16369. if (t2.get$isNotEmpty(t1))
  16370. return t2.get$first(t1);
  16371. t1 = this._second;
  16372. return t1.get$first(t1);
  16373. },
  16374. get$last: function(_) {
  16375. var t1 = this._second;
  16376. if (t1.get$isNotEmpty(t1))
  16377. return t1.get$last(t1);
  16378. return J.get$last$ax(this.__internal$_first);
  16379. },
  16380. $isEfficientLengthIterable: 1
  16381. };
  16382. H.FollowedByIterator.prototype = {
  16383. moveNext$0: function() {
  16384. var t1, _this = this;
  16385. if (_this._currentIterator.moveNext$0())
  16386. return true;
  16387. t1 = _this._nextIterable;
  16388. if (t1 != null) {
  16389. t1 = t1.get$iterator(t1);
  16390. _this._currentIterator = t1;
  16391. _this._nextIterable = null;
  16392. return t1.moveNext$0();
  16393. }
  16394. return false;
  16395. },
  16396. get$current: function(_) {
  16397. var t1 = this._currentIterator;
  16398. return t1.get$current(t1);
  16399. }
  16400. };
  16401. H.WhereTypeIterable.prototype = {
  16402. get$iterator: function(_) {
  16403. return new H.WhereTypeIterator(J.get$iterator$ax(this._source), this.$ti);
  16404. }
  16405. };
  16406. H.WhereTypeIterator.prototype = {
  16407. moveNext$0: function() {
  16408. var t1, t2, t3;
  16409. for (t1 = this._source, t2 = H.getTypeArgumentByIndex(this, 0); t1.moveNext$0();) {
  16410. t3 = t1.get$current(t1);
  16411. if (H.checkSubtypeOfRuntimeType(t3, t2))
  16412. return true;
  16413. }
  16414. return false;
  16415. },
  16416. get$current: function(_) {
  16417. var t1 = this._source;
  16418. return t1.get$current(t1);
  16419. }
  16420. };
  16421. H.FixedLengthListMixin.prototype = {
  16422. set$length: function(receiver, newLength) {
  16423. throw H.wrapException(P.UnsupportedError$("Cannot change the length of a fixed-length list"));
  16424. },
  16425. add$1: function(receiver, value) {
  16426. throw H.wrapException(P.UnsupportedError$("Cannot add to a fixed-length list"));
  16427. }
  16428. };
  16429. H.UnmodifiableListMixin.prototype = {
  16430. $indexSet: function(_, index, value) {
  16431. throw H.wrapException(P.UnsupportedError$("Cannot modify an unmodifiable list"));
  16432. },
  16433. set$length: function(_, newLength) {
  16434. throw H.wrapException(P.UnsupportedError$("Cannot change the length of an unmodifiable list"));
  16435. },
  16436. add$1: function(_, value) {
  16437. throw H.wrapException(P.UnsupportedError$("Cannot add to an unmodifiable list"));
  16438. },
  16439. setRange$4: function(_, start, end, iterable, skipCount) {
  16440. throw H.wrapException(P.UnsupportedError$("Cannot modify an unmodifiable list"));
  16441. },
  16442. fillRange$3: function(_, start, end, fillValue) {
  16443. throw H.wrapException(P.UnsupportedError$("Cannot modify an unmodifiable list"));
  16444. }
  16445. };
  16446. H.UnmodifiableListBase.prototype = {};
  16447. H.ReversedListIterable.prototype = {
  16448. get$length: function(_) {
  16449. return J.get$length$asx(this._source);
  16450. },
  16451. elementAt$1: function(_, index) {
  16452. var t1 = this._source,
  16453. t2 = J.getInterceptor$asx(t1);
  16454. return t2.elementAt$1(t1, t2.get$length(t1) - 1 - index);
  16455. }
  16456. };
  16457. H.Symbol0.prototype = {
  16458. get$hashCode: function(_) {
  16459. var hash = this._hashCode;
  16460. if (hash != null)
  16461. return hash;
  16462. hash = 536870911 & 664597 * J.get$hashCode$(this._name);
  16463. this._hashCode = hash;
  16464. return hash;
  16465. },
  16466. toString$0: function(_) {
  16467. return 'Symbol("' + H.S(this._name) + '")';
  16468. },
  16469. $eq: function(_, other) {
  16470. if (other == null)
  16471. return false;
  16472. return other instanceof H.Symbol0 && this._name == other._name;
  16473. },
  16474. $isSymbol: 1
  16475. };
  16476. H.__CastListBase__CastIterableBase_ListMixin.prototype = {};
  16477. H.ConstantMapView.prototype = {};
  16478. H.ConstantMap.prototype = {
  16479. get$isEmpty: function(_) {
  16480. return this.get$length(this) === 0;
  16481. },
  16482. get$isNotEmpty: function(_) {
  16483. return this.get$length(this) !== 0;
  16484. },
  16485. toString$0: function(_) {
  16486. return P.MapBase_mapToString(this);
  16487. },
  16488. $indexSet: function(_, key, val) {
  16489. return H.ConstantMap__throwUnmodifiable();
  16490. },
  16491. putIfAbsent$2: function(key, ifAbsent) {
  16492. return H.ConstantMap__throwUnmodifiable();
  16493. },
  16494. remove$1: function(_, key) {
  16495. return H.ConstantMap__throwUnmodifiable();
  16496. },
  16497. addAll$1: function(_, other) {
  16498. return H.ConstantMap__throwUnmodifiable();
  16499. },
  16500. get$entries: function() {
  16501. return this.entries$body$ConstantMap([P.MapEntry, H.getTypeArgumentByIndex(this, 0), H.getTypeArgumentByIndex(this, 1)]);
  16502. },
  16503. entries$body$ConstantMap: function($async$type) {
  16504. var $async$self = this;
  16505. return P._makeSyncStarIterable(function() {
  16506. var $async$goto = 0, $async$handler = 1, $async$currentError, t1, t2, key;
  16507. return function $async$get$entries($async$errorCode, $async$result) {
  16508. if ($async$errorCode === 1) {
  16509. $async$currentError = $async$result;
  16510. $async$goto = $async$handler;
  16511. }
  16512. while (true)
  16513. switch ($async$goto) {
  16514. case 0:
  16515. // Function start
  16516. t1 = $async$self.get$keys(), t1 = t1.get$iterator(t1), t2 = $async$self.$ti;
  16517. case 2:
  16518. // for condition
  16519. if (!t1.moveNext$0()) {
  16520. // goto after for
  16521. $async$goto = 3;
  16522. break;
  16523. }
  16524. key = t1.get$current(t1);
  16525. $async$goto = 4;
  16526. return new P.MapEntry(key, $async$self.$index(0, key), t2);
  16527. case 4:
  16528. // after yield
  16529. // goto for condition
  16530. $async$goto = 2;
  16531. break;
  16532. case 3:
  16533. // after for
  16534. // implicit return
  16535. return P._IterationMarker_endOfIteration();
  16536. case 1:
  16537. // rethrow
  16538. return P._IterationMarker_uncaughtError($async$currentError);
  16539. }
  16540. };
  16541. }, $async$type);
  16542. },
  16543. $isMap: 1
  16544. };
  16545. H.ConstantStringMap.prototype = {
  16546. get$length: function(_) {
  16547. return this.__js_helper$_length;
  16548. },
  16549. containsKey$1: function(key) {
  16550. if (typeof key !== "string")
  16551. return false;
  16552. if ("__proto__" === key)
  16553. return false;
  16554. return this._jsObject.hasOwnProperty(key);
  16555. },
  16556. $index: function(_, key) {
  16557. if (!this.containsKey$1(key))
  16558. return;
  16559. return this._fetch$1(key);
  16560. },
  16561. _fetch$1: function(key) {
  16562. return this._jsObject[key];
  16563. },
  16564. forEach$1: function(_, f) {
  16565. var t1, i, key,
  16566. keys = this._keys;
  16567. for (t1 = keys.length, i = 0; i < t1; ++i) {
  16568. key = keys[i];
  16569. f.call$2(key, this._fetch$1(key));
  16570. }
  16571. },
  16572. get$keys: function() {
  16573. return new H._ConstantMapKeyIterable(this, [H.getTypeArgumentByIndex(this, 0)]);
  16574. },
  16575. get$values: function() {
  16576. var _this = this;
  16577. return H.MappedIterable_MappedIterable(_this._keys, new H.ConstantStringMap_values_closure(_this), H.getTypeArgumentByIndex(_this, 0), H.getTypeArgumentByIndex(_this, 1));
  16578. }
  16579. };
  16580. H.ConstantStringMap_values_closure.prototype = {
  16581. call$1: function(key) {
  16582. return this.$this._fetch$1(key);
  16583. },
  16584. $signature: function() {
  16585. var t1 = this.$this;
  16586. return {func: 1, ret: H.getTypeArgumentByIndex(t1, 1), args: [H.getTypeArgumentByIndex(t1, 0)]};
  16587. }
  16588. };
  16589. H.ConstantProtoMap.prototype = {
  16590. containsKey$1: function(key) {
  16591. if (typeof key !== "string")
  16592. return false;
  16593. if ("__proto__" === key)
  16594. return true;
  16595. return this._jsObject.hasOwnProperty(key);
  16596. },
  16597. _fetch$1: function(key) {
  16598. return "__proto__" === key ? this._protoValue : this._jsObject[key];
  16599. }
  16600. };
  16601. H._ConstantMapKeyIterable.prototype = {
  16602. get$iterator: function(_) {
  16603. var t1 = this._map._keys;
  16604. return new J.ArrayIterator(t1, t1.length);
  16605. },
  16606. get$length: function(_) {
  16607. return this._map._keys.length;
  16608. }
  16609. };
  16610. H.Instantiation.prototype = {
  16611. Instantiation$1: function(_genericClosure) {
  16612. if (false)
  16613. H.instantiatedGenericFunctionType(0, 0);
  16614. },
  16615. toString$0: function(_) {
  16616. var types = "<" + C.JSArray_methods.join$1(this.get$_types(), ", ") + ">";
  16617. return H.S(this._genericClosure) + " with " + types;
  16618. }
  16619. };
  16620. H.Instantiation1.prototype = {
  16621. get$_types: function() {
  16622. return [new H.TypeImpl(H.getTypeArgumentByIndex(this, 0))];
  16623. },
  16624. call$2: function(a0, a1) {
  16625. return this._genericClosure.call$1$2(a0, a1, this.$ti[0]);
  16626. },
  16627. call$0: function() {
  16628. return this._genericClosure.call$1$0(this.$ti[0]);
  16629. },
  16630. call$3: function(a0, a1, a2) {
  16631. return this._genericClosure.call$1$3(a0, a1, a2, this.$ti[0]);
  16632. },
  16633. call$4: function(a0, a1, a2, a3) {
  16634. return this._genericClosure.call$1$4(a0, a1, a2, a3, this.$ti[0]);
  16635. },
  16636. $signature: function() {
  16637. return H.instantiatedGenericFunctionType(H.extractFunctionTypeObjectFromInternal(this._genericClosure), this.$ti);
  16638. }
  16639. };
  16640. H.JSInvocationMirror.prototype = {
  16641. get$memberName: function() {
  16642. var t1 = this.__js_helper$_memberName;
  16643. return t1;
  16644. },
  16645. get$positionalArguments: function() {
  16646. var t1, argumentCount, list, index, _this = this;
  16647. if (_this._kind === 1)
  16648. return C.List_empty;
  16649. t1 = _this.__js_helper$_arguments;
  16650. argumentCount = t1.length - _this._namedArgumentNames.length - _this._typeArgumentCount;
  16651. if (argumentCount === 0)
  16652. return C.List_empty;
  16653. list = [];
  16654. for (index = 0; index < argumentCount; ++index)
  16655. list.push(t1[index]);
  16656. return J.JSArray_markUnmodifiableList(list);
  16657. },
  16658. get$namedArguments: function() {
  16659. var t1, namedArgumentCount, t2, namedArgumentsStartIndex, t3, map, i, _this = this;
  16660. if (_this._kind !== 0)
  16661. return C.Map_empty;
  16662. t1 = _this._namedArgumentNames;
  16663. namedArgumentCount = t1.length;
  16664. t2 = _this.__js_helper$_arguments;
  16665. namedArgumentsStartIndex = t2.length - namedArgumentCount - _this._typeArgumentCount;
  16666. if (namedArgumentCount === 0)
  16667. return C.Map_empty;
  16668. t3 = P.Symbol;
  16669. map = new H.JsLinkedHashMap([t3, null]);
  16670. for (i = 0; i < namedArgumentCount; ++i)
  16671. map.$indexSet(0, new H.Symbol0(t1[i]), t2[namedArgumentsStartIndex + i]);
  16672. return new H.ConstantMapView(map, [t3, null]);
  16673. }
  16674. };
  16675. H.Primitives_functionNoSuchMethod_closure.prototype = {
  16676. call$2: function($name, argument) {
  16677. var t1 = this._box_0;
  16678. t1.names = t1.names + "$" + H.S($name);
  16679. this.namedArgumentList.push($name);
  16680. this.$arguments.push(argument);
  16681. ++t1.argumentCount;
  16682. }
  16683. };
  16684. H.TypeErrorDecoder.prototype = {
  16685. matchTypeError$1: function(message) {
  16686. var result, t1, _this = this,
  16687. match = new RegExp(_this._pattern).exec(message);
  16688. if (match == null)
  16689. return;
  16690. result = Object.create(null);
  16691. t1 = _this.__js_helper$_arguments;
  16692. if (t1 !== -1)
  16693. result.arguments = match[t1 + 1];
  16694. t1 = _this._argumentsExpr;
  16695. if (t1 !== -1)
  16696. result.argumentsExpr = match[t1 + 1];
  16697. t1 = _this._expr;
  16698. if (t1 !== -1)
  16699. result.expr = match[t1 + 1];
  16700. t1 = _this._method;
  16701. if (t1 !== -1)
  16702. result.method = match[t1 + 1];
  16703. t1 = _this.__js_helper$_receiver;
  16704. if (t1 !== -1)
  16705. result.receiver = match[t1 + 1];
  16706. return result;
  16707. }
  16708. };
  16709. H.NullError.prototype = {
  16710. toString$0: function(_) {
  16711. var t1 = this._method;
  16712. if (t1 == null)
  16713. return "NoSuchMethodError: " + H.S(this._message);
  16714. return "NoSuchMethodError: method not found: '" + t1 + "' on null";
  16715. }
  16716. };
  16717. H.JsNoSuchMethodError.prototype = {
  16718. toString$0: function(_) {
  16719. var t2, _this = this,
  16720. _s38_ = "NoSuchMethodError: method not found: '",
  16721. t1 = _this._method;
  16722. if (t1 == null)
  16723. return "NoSuchMethodError: " + H.S(_this._message);
  16724. t2 = _this.__js_helper$_receiver;
  16725. if (t2 == null)
  16726. return _s38_ + t1 + "' (" + H.S(_this._message) + ")";
  16727. return _s38_ + t1 + "' on '" + t2 + "' (" + H.S(_this._message) + ")";
  16728. }
  16729. };
  16730. H.UnknownJsTypeError.prototype = {
  16731. toString$0: function(_) {
  16732. var t1 = this._message;
  16733. return t1.length === 0 ? "Error" : "Error: " + t1;
  16734. }
  16735. };
  16736. H.ExceptionAndStackTrace.prototype = {};
  16737. H.unwrapException_saveStackTrace.prototype = {
  16738. call$1: function(error) {
  16739. if (!!J.getInterceptor$(error).$isError)
  16740. if (error.$thrownJsError == null)
  16741. error.$thrownJsError = this.ex;
  16742. return error;
  16743. },
  16744. $signature: 10
  16745. };
  16746. H._StackTrace.prototype = {
  16747. toString$0: function(_) {
  16748. var trace,
  16749. t1 = this._trace;
  16750. if (t1 != null)
  16751. return t1;
  16752. t1 = this._exception;
  16753. trace = t1 !== null && typeof t1 === "object" ? t1.stack : null;
  16754. return this._trace = trace == null ? "" : trace;
  16755. },
  16756. $isStackTrace: 1
  16757. };
  16758. H.Closure.prototype = {
  16759. toString$0: function(_) {
  16760. return "Closure '" + H.Primitives_objectTypeName(this).trim() + "'";
  16761. },
  16762. $isFunction: 1,
  16763. get$$call: function() {
  16764. return this;
  16765. },
  16766. "call*": "call$1",
  16767. $requiredArgCount: 1,
  16768. $defaultValues: null
  16769. };
  16770. H.TearOffClosure.prototype = {};
  16771. H.StaticClosure.prototype = {
  16772. toString$0: function(_) {
  16773. var $name = this.$static_name;
  16774. if ($name == null)
  16775. return "Closure of unknown static method";
  16776. return "Closure '" + H.unminifyOrTag($name) + "'";
  16777. }
  16778. };
  16779. H.BoundClosure.prototype = {
  16780. $eq: function(_, other) {
  16781. var _this = this;
  16782. if (other == null)
  16783. return false;
  16784. if (_this === other)
  16785. return true;
  16786. if (!(other instanceof H.BoundClosure))
  16787. return false;
  16788. return _this._self === other._self && _this._target === other._target && _this.__js_helper$_receiver === other.__js_helper$_receiver;
  16789. },
  16790. get$hashCode: function(_) {
  16791. var receiverHashCode,
  16792. t1 = this.__js_helper$_receiver;
  16793. if (t1 == null)
  16794. receiverHashCode = H.Primitives_objectHashCode(this._self);
  16795. else
  16796. receiverHashCode = typeof t1 !== "object" ? J.get$hashCode$(t1) : H.Primitives_objectHashCode(t1);
  16797. return (receiverHashCode ^ H.Primitives_objectHashCode(this._target)) >>> 0;
  16798. },
  16799. toString$0: function(_) {
  16800. var receiver = this.__js_helper$_receiver;
  16801. if (receiver == null)
  16802. receiver = this._self;
  16803. return "Closure '" + H.S(this.__js_helper$_name) + "' of " + ("Instance of '" + H.Primitives_objectTypeName(receiver) + "'");
  16804. }
  16805. };
  16806. H.CastErrorImplementation.prototype = {
  16807. toString$0: function(_) {
  16808. return this.message;
  16809. },
  16810. get$message: function(receiver) {
  16811. return this.message;
  16812. }
  16813. };
  16814. H.RuntimeError.prototype = {
  16815. toString$0: function(_) {
  16816. return "RuntimeError: " + H.S(this.message);
  16817. },
  16818. get$message: function(receiver) {
  16819. return this.message;
  16820. }
  16821. };
  16822. H.TypeImpl.prototype = {
  16823. get$_typeName: function() {
  16824. var t1 = this.__typeName;
  16825. return t1 == null ? this.__typeName = H.runtimeTypeToString(this._rti) : t1;
  16826. },
  16827. toString$0: function(_) {
  16828. return this.get$_typeName();
  16829. },
  16830. get$hashCode: function(_) {
  16831. var t1 = this._hashCode;
  16832. return t1 == null ? this._hashCode = C.JSString_methods.get$hashCode(this.get$_typeName()) : t1;
  16833. },
  16834. $eq: function(_, other) {
  16835. if (other == null)
  16836. return false;
  16837. return other instanceof H.TypeImpl && this.get$_typeName() === other.get$_typeName();
  16838. }
  16839. };
  16840. H.JsLinkedHashMap.prototype = {
  16841. get$length: function(_) {
  16842. return this.__js_helper$_length;
  16843. },
  16844. get$isEmpty: function(_) {
  16845. return this.__js_helper$_length === 0;
  16846. },
  16847. get$isNotEmpty: function(_) {
  16848. return !this.get$isEmpty(this);
  16849. },
  16850. get$keys: function() {
  16851. return new H.LinkedHashMapKeyIterable(this, [H.getTypeArgumentByIndex(this, 0)]);
  16852. },
  16853. get$values: function() {
  16854. var _this = this;
  16855. return H.MappedIterable_MappedIterable(_this.get$keys(), new H.JsLinkedHashMap_values_closure(_this), H.getTypeArgumentByIndex(_this, 0), H.getTypeArgumentByIndex(_this, 1));
  16856. },
  16857. containsKey$1: function(key) {
  16858. var strings, nums, _this = this;
  16859. if (typeof key === "string") {
  16860. strings = _this._strings;
  16861. if (strings == null)
  16862. return false;
  16863. return _this._containsTableEntry$2(strings, key);
  16864. } else if (typeof key === "number" && (key & 0x3ffffff) === key) {
  16865. nums = _this._nums;
  16866. if (nums == null)
  16867. return false;
  16868. return _this._containsTableEntry$2(nums, key);
  16869. } else
  16870. return _this.internalContainsKey$1(key);
  16871. },
  16872. internalContainsKey$1: function(key) {
  16873. var _this = this,
  16874. rest = _this._rest;
  16875. if (rest == null)
  16876. return false;
  16877. return _this.internalFindBucketIndex$2(_this._getTableBucket$2(rest, _this.internalComputeHashCode$1(key)), key) >= 0;
  16878. },
  16879. addAll$1: function(_, other) {
  16880. other.forEach$1(0, new H.JsLinkedHashMap_addAll_closure(this));
  16881. },
  16882. $index: function(_, key) {
  16883. var strings, cell, t1, nums, _this = this;
  16884. if (typeof key === "string") {
  16885. strings = _this._strings;
  16886. if (strings == null)
  16887. return;
  16888. cell = _this._getTableCell$2(strings, key);
  16889. t1 = cell == null ? null : cell.hashMapCellValue;
  16890. return t1;
  16891. } else if (typeof key === "number" && (key & 0x3ffffff) === key) {
  16892. nums = _this._nums;
  16893. if (nums == null)
  16894. return;
  16895. cell = _this._getTableCell$2(nums, key);
  16896. t1 = cell == null ? null : cell.hashMapCellValue;
  16897. return t1;
  16898. } else
  16899. return _this.internalGet$1(key);
  16900. },
  16901. internalGet$1: function(key) {
  16902. var bucket, index, _this = this,
  16903. rest = _this._rest;
  16904. if (rest == null)
  16905. return;
  16906. bucket = _this._getTableBucket$2(rest, _this.internalComputeHashCode$1(key));
  16907. index = _this.internalFindBucketIndex$2(bucket, key);
  16908. if (index < 0)
  16909. return;
  16910. return bucket[index].hashMapCellValue;
  16911. },
  16912. $indexSet: function(_, key, value) {
  16913. var strings, nums, _this = this;
  16914. if (typeof key === "string") {
  16915. strings = _this._strings;
  16916. _this._addHashTableEntry$3(strings == null ? _this._strings = _this._newHashTable$0() : strings, key, value);
  16917. } else if (typeof key === "number" && (key & 0x3ffffff) === key) {
  16918. nums = _this._nums;
  16919. _this._addHashTableEntry$3(nums == null ? _this._nums = _this._newHashTable$0() : nums, key, value);
  16920. } else
  16921. _this.internalSet$2(key, value);
  16922. },
  16923. internalSet$2: function(key, value) {
  16924. var hash, bucket, index, _this = this,
  16925. rest = _this._rest;
  16926. if (rest == null)
  16927. rest = _this._rest = _this._newHashTable$0();
  16928. hash = _this.internalComputeHashCode$1(key);
  16929. bucket = _this._getTableBucket$2(rest, hash);
  16930. if (bucket == null)
  16931. _this._setTableEntry$3(rest, hash, [_this._newLinkedCell$2(key, value)]);
  16932. else {
  16933. index = _this.internalFindBucketIndex$2(bucket, key);
  16934. if (index >= 0)
  16935. bucket[index].hashMapCellValue = value;
  16936. else
  16937. bucket.push(_this._newLinkedCell$2(key, value));
  16938. }
  16939. },
  16940. putIfAbsent$2: function(key, ifAbsent) {
  16941. var value;
  16942. if (this.containsKey$1(key))
  16943. return this.$index(0, key);
  16944. value = ifAbsent.call$0();
  16945. this.$indexSet(0, key, value);
  16946. return value;
  16947. },
  16948. remove$1: function(_, key) {
  16949. var _this = this;
  16950. if (typeof key === "string")
  16951. return _this.__js_helper$_removeHashTableEntry$2(_this._strings, key);
  16952. else if (typeof key === "number" && (key & 0x3ffffff) === key)
  16953. return _this.__js_helper$_removeHashTableEntry$2(_this._nums, key);
  16954. else
  16955. return _this.internalRemove$1(key);
  16956. },
  16957. internalRemove$1: function(key) {
  16958. var hash, bucket, index, cell, _this = this,
  16959. rest = _this._rest;
  16960. if (rest == null)
  16961. return;
  16962. hash = _this.internalComputeHashCode$1(key);
  16963. bucket = _this._getTableBucket$2(rest, hash);
  16964. index = _this.internalFindBucketIndex$2(bucket, key);
  16965. if (index < 0)
  16966. return;
  16967. cell = bucket.splice(index, 1)[0];
  16968. _this.__js_helper$_unlinkCell$1(cell);
  16969. if (bucket.length === 0)
  16970. _this._deleteTableEntry$2(rest, hash);
  16971. return cell.hashMapCellValue;
  16972. },
  16973. clear$0: function(_) {
  16974. var _this = this;
  16975. if (_this.__js_helper$_length > 0) {
  16976. _this._strings = _this._nums = _this._rest = _this._first = _this._last = null;
  16977. _this.__js_helper$_length = 0;
  16978. _this._modified$0();
  16979. }
  16980. },
  16981. forEach$1: function(_, action) {
  16982. var _this = this,
  16983. cell = _this._first,
  16984. modifications = _this._modifications;
  16985. for (; cell != null;) {
  16986. action.call$2(cell.hashMapCellKey, cell.hashMapCellValue);
  16987. if (modifications !== _this._modifications)
  16988. throw H.wrapException(P.ConcurrentModificationError$(_this));
  16989. cell = cell._next;
  16990. }
  16991. },
  16992. _addHashTableEntry$3: function(table, key, value) {
  16993. var cell = this._getTableCell$2(table, key);
  16994. if (cell == null)
  16995. this._setTableEntry$3(table, key, this._newLinkedCell$2(key, value));
  16996. else
  16997. cell.hashMapCellValue = value;
  16998. },
  16999. __js_helper$_removeHashTableEntry$2: function(table, key) {
  17000. var cell;
  17001. if (table == null)
  17002. return;
  17003. cell = this._getTableCell$2(table, key);
  17004. if (cell == null)
  17005. return;
  17006. this.__js_helper$_unlinkCell$1(cell);
  17007. this._deleteTableEntry$2(table, key);
  17008. return cell.hashMapCellValue;
  17009. },
  17010. _modified$0: function() {
  17011. this._modifications = this._modifications + 1 & 67108863;
  17012. },
  17013. _newLinkedCell$2: function(key, value) {
  17014. var last, _this = this,
  17015. cell = new H.LinkedHashMapCell(key, value);
  17016. if (_this._first == null)
  17017. _this._first = _this._last = cell;
  17018. else {
  17019. last = _this._last;
  17020. cell._previous = last;
  17021. _this._last = last._next = cell;
  17022. }
  17023. ++_this.__js_helper$_length;
  17024. _this._modified$0();
  17025. return cell;
  17026. },
  17027. __js_helper$_unlinkCell$1: function(cell) {
  17028. var _this = this,
  17029. previous = cell._previous,
  17030. next = cell._next;
  17031. if (previous == null)
  17032. _this._first = next;
  17033. else
  17034. previous._next = next;
  17035. if (next == null)
  17036. _this._last = previous;
  17037. else
  17038. next._previous = previous;
  17039. --_this.__js_helper$_length;
  17040. _this._modified$0();
  17041. },
  17042. internalComputeHashCode$1: function(key) {
  17043. return J.get$hashCode$(key) & 0x3ffffff;
  17044. },
  17045. internalFindBucketIndex$2: function(bucket, key) {
  17046. var $length, i;
  17047. if (bucket == null)
  17048. return -1;
  17049. $length = bucket.length;
  17050. for (i = 0; i < $length; ++i)
  17051. if (J.$eq$(bucket[i].hashMapCellKey, key))
  17052. return i;
  17053. return -1;
  17054. },
  17055. toString$0: function(_) {
  17056. return P.MapBase_mapToString(this);
  17057. },
  17058. _getTableCell$2: function(table, key) {
  17059. return table[key];
  17060. },
  17061. _getTableBucket$2: function(table, key) {
  17062. return table[key];
  17063. },
  17064. _setTableEntry$3: function(table, key, value) {
  17065. table[key] = value;
  17066. },
  17067. _deleteTableEntry$2: function(table, key) {
  17068. delete table[key];
  17069. },
  17070. _containsTableEntry$2: function(table, key) {
  17071. return this._getTableCell$2(table, key) != null;
  17072. },
  17073. _newHashTable$0: function() {
  17074. var _s20_ = "<non-identifier-key>",
  17075. table = Object.create(null);
  17076. this._setTableEntry$3(table, _s20_, table);
  17077. this._deleteTableEntry$2(table, _s20_);
  17078. return table;
  17079. }
  17080. };
  17081. H.JsLinkedHashMap_values_closure.prototype = {
  17082. call$1: function(each) {
  17083. return this.$this.$index(0, each);
  17084. },
  17085. $signature: function() {
  17086. var t1 = this.$this;
  17087. return {func: 1, ret: H.getTypeArgumentByIndex(t1, 1), args: [H.getTypeArgumentByIndex(t1, 0)]};
  17088. }
  17089. };
  17090. H.JsLinkedHashMap_addAll_closure.prototype = {
  17091. call$2: function(key, value) {
  17092. this.$this.$indexSet(0, key, value);
  17093. },
  17094. $signature: function() {
  17095. var t1 = this.$this;
  17096. return {func: 1, ret: P.Null, args: [H.getTypeArgumentByIndex(t1, 0), H.getTypeArgumentByIndex(t1, 1)]};
  17097. }
  17098. };
  17099. H.LinkedHashMapCell.prototype = {};
  17100. H.LinkedHashMapKeyIterable.prototype = {
  17101. get$length: function(_) {
  17102. return this._map.__js_helper$_length;
  17103. },
  17104. get$isEmpty: function(_) {
  17105. return this._map.__js_helper$_length === 0;
  17106. },
  17107. get$iterator: function(_) {
  17108. var t1 = this._map,
  17109. t2 = new H.LinkedHashMapKeyIterator(t1, t1._modifications);
  17110. t2._cell = t1._first;
  17111. return t2;
  17112. },
  17113. contains$1: function(_, element) {
  17114. return this._map.containsKey$1(element);
  17115. }
  17116. };
  17117. H.LinkedHashMapKeyIterator.prototype = {
  17118. get$current: function(_) {
  17119. return this.__js_helper$_current;
  17120. },
  17121. moveNext$0: function() {
  17122. var _this = this,
  17123. t1 = _this._map;
  17124. if (_this._modifications !== t1._modifications)
  17125. throw H.wrapException(P.ConcurrentModificationError$(t1));
  17126. else {
  17127. t1 = _this._cell;
  17128. if (t1 == null) {
  17129. _this.__js_helper$_current = null;
  17130. return false;
  17131. } else {
  17132. _this.__js_helper$_current = t1.hashMapCellKey;
  17133. _this._cell = t1._next;
  17134. return true;
  17135. }
  17136. }
  17137. }
  17138. };
  17139. H.initHooks_closure.prototype = {
  17140. call$1: function(o) {
  17141. return this.getTag(o);
  17142. },
  17143. $signature: 10
  17144. };
  17145. H.initHooks_closure0.prototype = {
  17146. call$2: function(o, tag) {
  17147. return this.getUnknownTag(o, tag);
  17148. }
  17149. };
  17150. H.initHooks_closure1.prototype = {
  17151. call$1: function(tag) {
  17152. return this.prototypeForTag(tag);
  17153. }
  17154. };
  17155. H.JSSyntaxRegExp.prototype = {
  17156. toString$0: function(_) {
  17157. return "RegExp/" + this.pattern + "/" + this._nativeRegExp.flags;
  17158. },
  17159. get$_nativeGlobalVersion: function() {
  17160. var _this = this,
  17161. t1 = _this._nativeGlobalRegExp;
  17162. if (t1 != null)
  17163. return t1;
  17164. t1 = _this._nativeRegExp;
  17165. return _this._nativeGlobalRegExp = H.JSSyntaxRegExp_makeNative(_this.pattern, t1.multiline, !t1.ignoreCase, t1.unicode, t1.dotAll, true);
  17166. },
  17167. get$_nativeAnchoredVersion: function() {
  17168. var _this = this,
  17169. t1 = _this._nativeAnchoredRegExp;
  17170. if (t1 != null)
  17171. return t1;
  17172. t1 = _this._nativeRegExp;
  17173. return _this._nativeAnchoredRegExp = H.JSSyntaxRegExp_makeNative(_this.pattern + "|()", t1.multiline, !t1.ignoreCase, t1.unicode, t1.dotAll, true);
  17174. },
  17175. firstMatch$1: function(string) {
  17176. var m;
  17177. if (typeof string !== "string")
  17178. H.throwExpression(H.argumentErrorValue(string));
  17179. m = this._nativeRegExp.exec(string);
  17180. if (m == null)
  17181. return;
  17182. return new H._MatchImplementation(m);
  17183. },
  17184. allMatches$2: function(_, string, start) {
  17185. if (start > string.length)
  17186. throw H.wrapException(P.RangeError$range(start, 0, string.length, null, null));
  17187. return new H._AllMatchesIterable(this, string, start);
  17188. },
  17189. allMatches$1: function($receiver, string) {
  17190. return this.allMatches$2($receiver, string, 0);
  17191. },
  17192. _execGlobal$2: function(string, start) {
  17193. var match,
  17194. regexp = this.get$_nativeGlobalVersion();
  17195. regexp.lastIndex = start;
  17196. match = regexp.exec(string);
  17197. if (match == null)
  17198. return;
  17199. return new H._MatchImplementation(match);
  17200. },
  17201. _execAnchored$2: function(string, start) {
  17202. var match,
  17203. regexp = this.get$_nativeAnchoredVersion();
  17204. regexp.lastIndex = start;
  17205. match = regexp.exec(string);
  17206. if (match == null)
  17207. return;
  17208. if (match.pop() != null)
  17209. return;
  17210. return new H._MatchImplementation(match);
  17211. },
  17212. matchAsPrefix$2: function(_, string, start) {
  17213. if (start < 0 || start > string.length)
  17214. throw H.wrapException(P.RangeError$range(start, 0, string.length, null, null));
  17215. return this._execAnchored$2(string, start);
  17216. }
  17217. };
  17218. H._MatchImplementation.prototype = {
  17219. get$start: function(_) {
  17220. return this._match.index;
  17221. },
  17222. get$end: function(_) {
  17223. var t1 = this._match;
  17224. return t1.index + t1[0].length;
  17225. },
  17226. $isMatch: 1,
  17227. $isRegExpMatch: 1
  17228. };
  17229. H._AllMatchesIterable.prototype = {
  17230. get$iterator: function(_) {
  17231. return new H._AllMatchesIterator(this._re, this._string, this.__js_helper$_start);
  17232. },
  17233. $asIterable: function() {
  17234. return [P.RegExpMatch];
  17235. }
  17236. };
  17237. H._AllMatchesIterator.prototype = {
  17238. get$current: function(_) {
  17239. return this.__js_helper$_current;
  17240. },
  17241. moveNext$0: function() {
  17242. var t2, t3, match, nextIndex, _this = this,
  17243. t1 = _this._string;
  17244. if (t1 == null)
  17245. return false;
  17246. t2 = _this._nextIndex;
  17247. if (t2 <= t1.length) {
  17248. t3 = _this._regExp;
  17249. match = t3._execGlobal$2(t1, t2);
  17250. if (match != null) {
  17251. _this.__js_helper$_current = match;
  17252. nextIndex = match.get$end(match);
  17253. if (match._match.index === nextIndex) {
  17254. if (t3._nativeRegExp.unicode) {
  17255. t1 = _this._nextIndex;
  17256. t2 = t1 + 1;
  17257. t3 = _this._string;
  17258. if (t2 < t3.length) {
  17259. t1 = J.getInterceptor$s(t3).codeUnitAt$1(t3, t1);
  17260. if (t1 >= 55296 && t1 <= 56319) {
  17261. t1 = C.JSString_methods.codeUnitAt$1(t3, t2);
  17262. t1 = t1 >= 56320 && t1 <= 57343;
  17263. } else
  17264. t1 = false;
  17265. } else
  17266. t1 = false;
  17267. } else
  17268. t1 = false;
  17269. nextIndex = (t1 ? nextIndex + 1 : nextIndex) + 1;
  17270. }
  17271. _this._nextIndex = nextIndex;
  17272. return true;
  17273. }
  17274. }
  17275. _this._string = _this.__js_helper$_current = null;
  17276. return false;
  17277. }
  17278. };
  17279. H.StringMatch.prototype = {
  17280. get$end: function(_) {
  17281. return this.start + this.pattern.length;
  17282. },
  17283. group$1: function(group_) {
  17284. if (group_ !== 0)
  17285. throw H.wrapException(P.RangeError$value(group_, null, null));
  17286. return this.pattern;
  17287. },
  17288. $isMatch: 1,
  17289. get$start: function(receiver) {
  17290. return this.start;
  17291. }
  17292. };
  17293. H._StringAllMatchesIterable.prototype = {
  17294. get$iterator: function(_) {
  17295. return new H._StringAllMatchesIterator(this._input, this._pattern, this.__js_helper$_index);
  17296. },
  17297. get$first: function(_) {
  17298. var t1 = this._pattern,
  17299. index = this._input.indexOf(t1, this.__js_helper$_index);
  17300. if (index >= 0)
  17301. return new H.StringMatch(index, t1);
  17302. throw H.wrapException(H.IterableElementError_noElement());
  17303. },
  17304. $asIterable: function() {
  17305. return [P.Match];
  17306. }
  17307. };
  17308. H._StringAllMatchesIterator.prototype = {
  17309. moveNext$0: function() {
  17310. var index, end, _this = this,
  17311. t1 = _this.__js_helper$_index,
  17312. t2 = _this._pattern,
  17313. t3 = t2.length,
  17314. t4 = _this._input,
  17315. t5 = t4.length;
  17316. if (t1 + t3 > t5) {
  17317. _this.__js_helper$_current = null;
  17318. return false;
  17319. }
  17320. index = t4.indexOf(t2, t1);
  17321. if (index < 0) {
  17322. _this.__js_helper$_index = t5 + 1;
  17323. _this.__js_helper$_current = null;
  17324. return false;
  17325. }
  17326. end = index + t3;
  17327. _this.__js_helper$_current = new H.StringMatch(index, t2);
  17328. _this.__js_helper$_index = end === _this.__js_helper$_index ? end + 1 : end;
  17329. return true;
  17330. },
  17331. get$current: function(_) {
  17332. return this.__js_helper$_current;
  17333. }
  17334. };
  17335. H.NativeTypedData.prototype = {
  17336. _invalidPosition$3: function(receiver, position, $length, $name) {
  17337. if (typeof position !== "number" || Math.floor(position) !== position)
  17338. throw H.wrapException(P.ArgumentError$value(position, $name, "Invalid list position"));
  17339. else
  17340. throw H.wrapException(P.RangeError$range(position, 0, $length, $name, null));
  17341. },
  17342. _checkPosition$3: function(receiver, position, $length, $name) {
  17343. if (position >>> 0 !== position || position > $length)
  17344. this._invalidPosition$3(receiver, position, $length, $name);
  17345. }
  17346. };
  17347. H.NativeTypedArray.prototype = {
  17348. get$length: function(receiver) {
  17349. return receiver.length;
  17350. },
  17351. _setRangeFast$4: function(receiver, start, end, source, skipCount) {
  17352. var count, sourceLength,
  17353. targetLength = receiver.length;
  17354. this._checkPosition$3(receiver, start, targetLength, "start");
  17355. this._checkPosition$3(receiver, end, targetLength, "end");
  17356. if (start > end)
  17357. throw H.wrapException(P.RangeError$range(start, 0, end, null, null));
  17358. count = end - start;
  17359. if (skipCount < 0)
  17360. throw H.wrapException(P.ArgumentError$(skipCount));
  17361. sourceLength = source.length;
  17362. if (sourceLength - skipCount < count)
  17363. throw H.wrapException(P.StateError$("Not enough elements"));
  17364. if (skipCount !== 0 || sourceLength !== count)
  17365. source = source.subarray(skipCount, skipCount + count);
  17366. receiver.set(source, start);
  17367. },
  17368. $isJavaScriptIndexingBehavior: 1,
  17369. $asJavaScriptIndexingBehavior: function() {
  17370. }
  17371. };
  17372. H.NativeTypedArrayOfDouble.prototype = {
  17373. $index: function(receiver, index) {
  17374. H._checkValidIndex(index, receiver, receiver.length);
  17375. return receiver[index];
  17376. },
  17377. $indexSet: function(receiver, index, value) {
  17378. H._checkValidIndex(index, receiver, receiver.length);
  17379. receiver[index] = value;
  17380. },
  17381. setRange$4: function(receiver, start, end, iterable, skipCount) {
  17382. if (!!J.getInterceptor$(iterable).$isNativeTypedArrayOfDouble) {
  17383. this._setRangeFast$4(receiver, start, end, iterable, skipCount);
  17384. return;
  17385. }
  17386. this.super$ListMixin$setRange(receiver, start, end, iterable, skipCount);
  17387. },
  17388. $isEfficientLengthIterable: 1,
  17389. $asEfficientLengthIterable: function() {
  17390. return [P.double];
  17391. },
  17392. $asListMixin: function() {
  17393. return [P.double];
  17394. },
  17395. $isIterable: 1,
  17396. $asIterable: function() {
  17397. return [P.double];
  17398. },
  17399. $isList: 1,
  17400. $asList: function() {
  17401. return [P.double];
  17402. }
  17403. };
  17404. H.NativeTypedArrayOfInt.prototype = {
  17405. $indexSet: function(receiver, index, value) {
  17406. H._checkValidIndex(index, receiver, receiver.length);
  17407. receiver[index] = value;
  17408. },
  17409. setRange$4: function(receiver, start, end, iterable, skipCount) {
  17410. if (!!J.getInterceptor$(iterable).$isNativeTypedArrayOfInt) {
  17411. this._setRangeFast$4(receiver, start, end, iterable, skipCount);
  17412. return;
  17413. }
  17414. this.super$ListMixin$setRange(receiver, start, end, iterable, skipCount);
  17415. },
  17416. $isEfficientLengthIterable: 1,
  17417. $asEfficientLengthIterable: function() {
  17418. return [P.int];
  17419. },
  17420. $asListMixin: function() {
  17421. return [P.int];
  17422. },
  17423. $isIterable: 1,
  17424. $asIterable: function() {
  17425. return [P.int];
  17426. },
  17427. $isList: 1,
  17428. $asList: function() {
  17429. return [P.int];
  17430. }
  17431. };
  17432. H.NativeFloat32List.prototype = {
  17433. sublist$2: function(receiver, start, end) {
  17434. return new Float32Array(receiver.subarray(start, H._checkValidRange(start, end, receiver.length)));
  17435. }
  17436. };
  17437. H.NativeFloat64List.prototype = {
  17438. sublist$2: function(receiver, start, end) {
  17439. return new Float64Array(receiver.subarray(start, H._checkValidRange(start, end, receiver.length)));
  17440. }
  17441. };
  17442. H.NativeInt16List.prototype = {
  17443. $index: function(receiver, index) {
  17444. H._checkValidIndex(index, receiver, receiver.length);
  17445. return receiver[index];
  17446. },
  17447. sublist$2: function(receiver, start, end) {
  17448. return new Int16Array(receiver.subarray(start, H._checkValidRange(start, end, receiver.length)));
  17449. }
  17450. };
  17451. H.NativeInt32List.prototype = {
  17452. $index: function(receiver, index) {
  17453. H._checkValidIndex(index, receiver, receiver.length);
  17454. return receiver[index];
  17455. },
  17456. sublist$2: function(receiver, start, end) {
  17457. return new Int32Array(receiver.subarray(start, H._checkValidRange(start, end, receiver.length)));
  17458. }
  17459. };
  17460. H.NativeInt8List.prototype = {
  17461. $index: function(receiver, index) {
  17462. H._checkValidIndex(index, receiver, receiver.length);
  17463. return receiver[index];
  17464. },
  17465. sublist$2: function(receiver, start, end) {
  17466. return new Int8Array(receiver.subarray(start, H._checkValidRange(start, end, receiver.length)));
  17467. }
  17468. };
  17469. H.NativeUint16List.prototype = {
  17470. $index: function(receiver, index) {
  17471. H._checkValidIndex(index, receiver, receiver.length);
  17472. return receiver[index];
  17473. },
  17474. sublist$2: function(receiver, start, end) {
  17475. return new Uint16Array(receiver.subarray(start, H._checkValidRange(start, end, receiver.length)));
  17476. }
  17477. };
  17478. H.NativeUint32List.prototype = {
  17479. $index: function(receiver, index) {
  17480. H._checkValidIndex(index, receiver, receiver.length);
  17481. return receiver[index];
  17482. },
  17483. sublist$2: function(receiver, start, end) {
  17484. return new Uint32Array(receiver.subarray(start, H._checkValidRange(start, end, receiver.length)));
  17485. }
  17486. };
  17487. H.NativeUint8ClampedList.prototype = {
  17488. get$length: function(receiver) {
  17489. return receiver.length;
  17490. },
  17491. $index: function(receiver, index) {
  17492. H._checkValidIndex(index, receiver, receiver.length);
  17493. return receiver[index];
  17494. },
  17495. sublist$2: function(receiver, start, end) {
  17496. return new Uint8ClampedArray(receiver.subarray(start, H._checkValidRange(start, end, receiver.length)));
  17497. }
  17498. };
  17499. H.NativeUint8List.prototype = {
  17500. get$length: function(receiver) {
  17501. return receiver.length;
  17502. },
  17503. $index: function(receiver, index) {
  17504. H._checkValidIndex(index, receiver, receiver.length);
  17505. return receiver[index];
  17506. },
  17507. sublist$2: function(receiver, start, end) {
  17508. return new Uint8Array(receiver.subarray(start, H._checkValidRange(start, end, receiver.length)));
  17509. },
  17510. $isNativeUint8List: 1,
  17511. $isUint8List: 1
  17512. };
  17513. H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin.prototype = {};
  17514. H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin.prototype = {};
  17515. H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin.prototype = {};
  17516. H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin.prototype = {};
  17517. P._AsyncRun__initializeScheduleImmediate_internalCallback.prototype = {
  17518. call$1: function(_) {
  17519. var t1 = this._box_0,
  17520. f = t1.storedCallback;
  17521. t1.storedCallback = null;
  17522. f.call$0();
  17523. },
  17524. $signature: 17
  17525. };
  17526. P._AsyncRun__initializeScheduleImmediate_closure.prototype = {
  17527. call$1: function(callback) {
  17528. var t1, t2;
  17529. this._box_0.storedCallback = callback;
  17530. t1 = this.div;
  17531. t2 = this.span;
  17532. t1.firstChild ? t1.removeChild(t2) : t1.appendChild(t2);
  17533. }
  17534. };
  17535. P._AsyncRun__scheduleImmediateJsOverride_internalCallback.prototype = {
  17536. call$0: function() {
  17537. this.callback.call$0();
  17538. },
  17539. "call*": "call$0",
  17540. $requiredArgCount: 0
  17541. };
  17542. P._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback.prototype = {
  17543. call$0: function() {
  17544. this.callback.call$0();
  17545. },
  17546. "call*": "call$0",
  17547. $requiredArgCount: 0
  17548. };
  17549. P._TimerImpl.prototype = {
  17550. _TimerImpl$2: function(milliseconds, callback) {
  17551. if (self.setTimeout != null)
  17552. this._handle = self.setTimeout(H.convertDartClosureToJS(new P._TimerImpl_internalCallback(this, callback), 0), milliseconds);
  17553. else
  17554. throw H.wrapException(P.UnsupportedError$("`setTimeout()` not found."));
  17555. },
  17556. _TimerImpl$periodic$2: function(milliseconds, callback) {
  17557. if (self.setTimeout != null)
  17558. this._handle = self.setInterval(H.convertDartClosureToJS(new P._TimerImpl$periodic_closure(this, milliseconds, Date.now(), callback), 0), milliseconds);
  17559. else
  17560. throw H.wrapException(P.UnsupportedError$("Periodic timer."));
  17561. },
  17562. cancel$0: function() {
  17563. if (self.setTimeout != null) {
  17564. var t1 = this._handle;
  17565. if (t1 == null)
  17566. return;
  17567. if (this._once)
  17568. self.clearTimeout(t1);
  17569. else
  17570. self.clearInterval(t1);
  17571. this._handle = null;
  17572. } else
  17573. throw H.wrapException(P.UnsupportedError$("Canceling a timer."));
  17574. }
  17575. };
  17576. P._TimerImpl_internalCallback.prototype = {
  17577. call$0: function() {
  17578. var t1 = this.$this;
  17579. t1._handle = null;
  17580. t1._tick = 1;
  17581. this.callback.call$0();
  17582. },
  17583. "call*": "call$0",
  17584. $requiredArgCount: 0
  17585. };
  17586. P._TimerImpl$periodic_closure.prototype = {
  17587. call$0: function() {
  17588. var duration, _this = this,
  17589. t1 = _this.$this,
  17590. tick = t1._tick + 1,
  17591. t2 = _this.milliseconds;
  17592. if (t2 > 0) {
  17593. duration = Date.now() - _this.start;
  17594. if (duration > (tick + 1) * t2)
  17595. tick = C.JSInt_methods.$tdiv(duration, t2);
  17596. }
  17597. t1._tick = tick;
  17598. _this.callback.call$1(t1);
  17599. },
  17600. "call*": "call$0",
  17601. $requiredArgCount: 0
  17602. };
  17603. P._AsyncAwaitCompleter.prototype = {
  17604. complete$1: function(value) {
  17605. var t1, _this = this;
  17606. if (_this.isSync)
  17607. _this._completer.complete$1(value);
  17608. else if (H.checkSubtype(value, "$isFuture", _this.$ti, "$asFuture")) {
  17609. t1 = _this._completer;
  17610. value.then$1$2$onError(t1.get$complete(), t1.get$completeError(), -1);
  17611. } else
  17612. P.scheduleMicrotask(new P._AsyncAwaitCompleter_complete_closure(_this, value));
  17613. },
  17614. completeError$2: function(e, st) {
  17615. if (this.isSync)
  17616. this._completer.completeError$2(e, st);
  17617. else
  17618. P.scheduleMicrotask(new P._AsyncAwaitCompleter_completeError_closure(this, e, st));
  17619. }
  17620. };
  17621. P._AsyncAwaitCompleter_complete_closure.prototype = {
  17622. call$0: function() {
  17623. this.$this._completer.complete$1(this.value);
  17624. },
  17625. "call*": "call$0",
  17626. $requiredArgCount: 0
  17627. };
  17628. P._AsyncAwaitCompleter_completeError_closure.prototype = {
  17629. call$0: function() {
  17630. this.$this._completer.completeError$2(this.e, this.st);
  17631. },
  17632. "call*": "call$0",
  17633. $requiredArgCount: 0
  17634. };
  17635. P._awaitOnObject_closure.prototype = {
  17636. call$1: function(result) {
  17637. return this.bodyFunction.call$2(0, result);
  17638. },
  17639. $signature: 29
  17640. };
  17641. P._awaitOnObject_closure0.prototype = {
  17642. call$2: function(error, stackTrace) {
  17643. this.bodyFunction.call$2(1, new H.ExceptionAndStackTrace(error, stackTrace));
  17644. },
  17645. "call*": "call$2",
  17646. $requiredArgCount: 2,
  17647. $signature: 18
  17648. };
  17649. P._wrapJsFunctionForAsync_closure.prototype = {
  17650. call$2: function(errorCode, result) {
  17651. this.$protected(errorCode, result);
  17652. },
  17653. "call*": "call$2",
  17654. $requiredArgCount: 2
  17655. };
  17656. P._asyncStarHelper_closure.prototype = {
  17657. call$0: function() {
  17658. var t1 = this.controller,
  17659. t2 = t1.controller,
  17660. t3 = t2._async$_state;
  17661. if ((t3 & 1) !== 0 ? (t2.get$_subscription()._async$_state & 4) !== 0 : (t3 & 2) === 0) {
  17662. t1.isSuspended = true;
  17663. return;
  17664. }
  17665. this.bodyFunctionOrErrorCode.call$2(null, 0);
  17666. },
  17667. "call*": "call$0",
  17668. $requiredArgCount: 0
  17669. };
  17670. P._asyncStarHelper_closure0.prototype = {
  17671. call$1: function(_) {
  17672. var errorCode = this.controller.cancelationCompleter != null ? 2 : 0;
  17673. this.bodyFunctionOrErrorCode.call$2(errorCode, null);
  17674. },
  17675. $signature: 17
  17676. };
  17677. P._AsyncStarStreamController.prototype = {
  17678. add$1: function(_, $event) {
  17679. return this.controller.add$1(0, $event);
  17680. },
  17681. _AsyncStarStreamController$1: function(body, $T) {
  17682. var t1 = new P._AsyncStarStreamController__resumeBody(body);
  17683. this.controller = P.StreamController_StreamController(new P._AsyncStarStreamController_closure(this, body), new P._AsyncStarStreamController_closure0(t1), null, new P._AsyncStarStreamController_closure1(this, t1), false, $T);
  17684. }
  17685. };
  17686. P._AsyncStarStreamController__resumeBody.prototype = {
  17687. call$0: function() {
  17688. P.scheduleMicrotask(new P._AsyncStarStreamController__resumeBody_closure(this.body));
  17689. }
  17690. };
  17691. P._AsyncStarStreamController__resumeBody_closure.prototype = {
  17692. call$0: function() {
  17693. this.body.call$2(0, null);
  17694. },
  17695. "call*": "call$0",
  17696. $requiredArgCount: 0
  17697. };
  17698. P._AsyncStarStreamController_closure0.prototype = {
  17699. call$0: function() {
  17700. this._resumeBody.call$0();
  17701. }
  17702. };
  17703. P._AsyncStarStreamController_closure1.prototype = {
  17704. call$0: function() {
  17705. var t1 = this.$this;
  17706. if (t1.isSuspended) {
  17707. t1.isSuspended = false;
  17708. this._resumeBody.call$0();
  17709. }
  17710. }
  17711. };
  17712. P._AsyncStarStreamController_closure.prototype = {
  17713. call$0: function() {
  17714. var t1 = this.$this;
  17715. if ((t1.controller._async$_state & 4) === 0) {
  17716. t1.cancelationCompleter = new P._AsyncCompleter(new P._Future($.Zone__current, [null]), [null]);
  17717. if (t1.isSuspended) {
  17718. t1.isSuspended = false;
  17719. P.scheduleMicrotask(new P._AsyncStarStreamController__closure(this.body));
  17720. }
  17721. return t1.cancelationCompleter.future;
  17722. }
  17723. },
  17724. "call*": "call$0",
  17725. $requiredArgCount: 0
  17726. };
  17727. P._AsyncStarStreamController__closure.prototype = {
  17728. call$0: function() {
  17729. this.body.call$2(2, null);
  17730. },
  17731. "call*": "call$0",
  17732. $requiredArgCount: 0
  17733. };
  17734. P._IterationMarker.prototype = {
  17735. toString$0: function(_) {
  17736. return "IterationMarker(" + this.state + ", " + H.S(this.value) + ")";
  17737. }
  17738. };
  17739. P._SyncStarIterator.prototype = {
  17740. get$current: function(_) {
  17741. var t1 = this._nestedIterator;
  17742. if (t1 == null)
  17743. return this._async$_current;
  17744. return t1.get$current(t1);
  17745. },
  17746. moveNext$0: function() {
  17747. var t1, value, state, inner, _this = this;
  17748. for (; true;) {
  17749. t1 = _this._nestedIterator;
  17750. if (t1 != null)
  17751. if (t1.moveNext$0())
  17752. return true;
  17753. else
  17754. _this._nestedIterator = null;
  17755. value = function(body, SUCCESS, ERROR) {
  17756. var errorValue,
  17757. errorCode = SUCCESS;
  17758. while (true)
  17759. try {
  17760. return body(errorCode, errorValue);
  17761. } catch (error) {
  17762. errorValue = error;
  17763. errorCode = ERROR;
  17764. }
  17765. }(_this._body, 0, 1);
  17766. if (value instanceof P._IterationMarker) {
  17767. state = value.state;
  17768. if (state === 2) {
  17769. t1 = _this._suspendedBodies;
  17770. if (t1 == null || t1.length === 0) {
  17771. _this._async$_current = null;
  17772. return false;
  17773. }
  17774. _this._body = t1.pop();
  17775. continue;
  17776. } else {
  17777. t1 = value.value;
  17778. if (state === 3)
  17779. throw t1;
  17780. else {
  17781. inner = J.get$iterator$ax(t1);
  17782. if (!!inner.$is_SyncStarIterator) {
  17783. t1 = _this._suspendedBodies;
  17784. if (t1 == null)
  17785. t1 = _this._suspendedBodies = [];
  17786. t1.push(_this._body);
  17787. _this._body = inner._body;
  17788. continue;
  17789. } else {
  17790. _this._nestedIterator = inner;
  17791. continue;
  17792. }
  17793. }
  17794. }
  17795. } else {
  17796. _this._async$_current = value;
  17797. return true;
  17798. }
  17799. }
  17800. return false;
  17801. }
  17802. };
  17803. P._SyncStarIterable.prototype = {
  17804. get$iterator: function(_) {
  17805. return new P._SyncStarIterator(this._outerHelper());
  17806. }
  17807. };
  17808. P._BroadcastStream.prototype = {
  17809. get$isBroadcast: function() {
  17810. return true;
  17811. }
  17812. };
  17813. P._BroadcastSubscription.prototype = {
  17814. _async$_onPause$0: function() {
  17815. },
  17816. _async$_onResume$0: function() {
  17817. }
  17818. };
  17819. P._BroadcastStreamController.prototype = {
  17820. set$onPause: function(onPauseHandler) {
  17821. throw H.wrapException(P.UnsupportedError$("Broadcast stream controllers do not support pause callbacks"));
  17822. },
  17823. set$onResume: function(onResumeHandler) {
  17824. throw H.wrapException(P.UnsupportedError$("Broadcast stream controllers do not support pause callbacks"));
  17825. },
  17826. get$stream: function() {
  17827. return new P._BroadcastStream(this, this.$ti);
  17828. },
  17829. get$_mayAddEvent: function() {
  17830. return this._async$_state < 4;
  17831. },
  17832. _ensureDoneFuture$0: function() {
  17833. var t1 = this._doneFuture;
  17834. if (t1 != null)
  17835. return t1;
  17836. return this._doneFuture = new P._Future($.Zone__current, [null]);
  17837. },
  17838. _removeListener$1: function(subscription) {
  17839. var previous = subscription._async$_previous,
  17840. next = subscription._async$_next;
  17841. if (previous == null)
  17842. this._firstSubscription = next;
  17843. else
  17844. previous._async$_next = next;
  17845. if (next == null)
  17846. this._lastSubscription = previous;
  17847. else
  17848. next._async$_previous = previous;
  17849. subscription._async$_previous = subscription;
  17850. subscription._async$_next = subscription;
  17851. },
  17852. _subscribe$4: function(onData, onError, onDone, cancelOnError) {
  17853. var t1, t2, subscription, oldLast, _this = this;
  17854. if ((_this._async$_state & 4) !== 0) {
  17855. if (onDone == null)
  17856. onDone = P.async___nullDoneHandler$closure();
  17857. t1 = new P._DoneStreamSubscription($.Zone__current, onDone, _this.$ti);
  17858. t1._schedule$0();
  17859. return t1;
  17860. }
  17861. t1 = $.Zone__current;
  17862. t2 = cancelOnError ? 1 : 0;
  17863. subscription = new P._BroadcastSubscription(_this, t1, t2, _this.$ti);
  17864. subscription._BufferingStreamSubscription$4(onData, onError, onDone, cancelOnError, H.getTypeArgumentByIndex(_this, 0));
  17865. subscription._async$_previous = subscription;
  17866. subscription._async$_next = subscription;
  17867. subscription._eventState = _this._async$_state & 1;
  17868. oldLast = _this._lastSubscription;
  17869. _this._lastSubscription = subscription;
  17870. subscription._async$_next = null;
  17871. subscription._async$_previous = oldLast;
  17872. if (oldLast == null)
  17873. _this._firstSubscription = subscription;
  17874. else
  17875. oldLast._async$_next = subscription;
  17876. if (_this._firstSubscription === subscription)
  17877. P._runGuarded(_this.onListen);
  17878. return subscription;
  17879. },
  17880. _recordCancel$1: function(sub) {
  17881. var t1, _this = this;
  17882. if (sub._async$_next === sub)
  17883. return;
  17884. t1 = sub._eventState;
  17885. if ((t1 & 2) !== 0)
  17886. sub._eventState = t1 | 4;
  17887. else {
  17888. _this._removeListener$1(sub);
  17889. if ((_this._async$_state & 2) === 0 && _this._firstSubscription == null)
  17890. _this._callOnCancel$0();
  17891. }
  17892. return;
  17893. },
  17894. _recordPause$1: function(subscription) {
  17895. },
  17896. _recordResume$1: function(subscription) {
  17897. },
  17898. _addEventError$0: function() {
  17899. if ((this._async$_state & 4) !== 0)
  17900. return new P.StateError("Cannot add new events after calling close");
  17901. return new P.StateError("Cannot add new events while doing an addStream");
  17902. },
  17903. add$1: function(_, data) {
  17904. if (!this.get$_mayAddEvent())
  17905. throw H.wrapException(this._addEventError$0());
  17906. this._sendData$1(data);
  17907. },
  17908. addError$2: function(error, stackTrace) {
  17909. var replacement;
  17910. if (error == null)
  17911. error = new P.NullThrownError();
  17912. if (!this.get$_mayAddEvent())
  17913. throw H.wrapException(this._addEventError$0());
  17914. replacement = $.Zone__current.errorCallback$2(error, stackTrace);
  17915. if (replacement != null) {
  17916. error = replacement.error;
  17917. if (error == null)
  17918. error = new P.NullThrownError();
  17919. stackTrace = replacement.stackTrace;
  17920. }
  17921. this._sendError$2(error, stackTrace);
  17922. },
  17923. close$0: function(_) {
  17924. var doneFuture, _this = this;
  17925. if ((_this._async$_state & 4) !== 0)
  17926. return _this._doneFuture;
  17927. if (!_this.get$_mayAddEvent())
  17928. throw H.wrapException(_this._addEventError$0());
  17929. _this._async$_state |= 4;
  17930. doneFuture = _this._ensureDoneFuture$0();
  17931. _this._sendDone$0();
  17932. return doneFuture;
  17933. },
  17934. _forEachListener$1: function(action) {
  17935. var subscription, id, next, _this = this,
  17936. t1 = _this._async$_state;
  17937. if ((t1 & 2) !== 0)
  17938. throw H.wrapException(P.StateError$("Cannot fire new event. Controller is already firing an event"));
  17939. subscription = _this._firstSubscription;
  17940. if (subscription == null)
  17941. return;
  17942. id = t1 & 1;
  17943. _this._async$_state = t1 ^ 3;
  17944. for (; subscription != null;) {
  17945. t1 = subscription._eventState;
  17946. if ((t1 & 1) === id) {
  17947. subscription._eventState = t1 | 2;
  17948. action.call$1(subscription);
  17949. t1 = subscription._eventState ^= 1;
  17950. next = subscription._async$_next;
  17951. if ((t1 & 4) !== 0)
  17952. _this._removeListener$1(subscription);
  17953. subscription._eventState &= 4294967293;
  17954. subscription = next;
  17955. } else
  17956. subscription = subscription._async$_next;
  17957. }
  17958. _this._async$_state &= 4294967293;
  17959. if (_this._firstSubscription == null)
  17960. _this._callOnCancel$0();
  17961. },
  17962. _callOnCancel$0: function() {
  17963. var _this = this;
  17964. if ((_this._async$_state & 4) !== 0 && _this._doneFuture._async$_state === 0)
  17965. _this._doneFuture._asyncComplete$1(null);
  17966. P._runGuarded(_this.onCancel);
  17967. },
  17968. $isEventSink: 1,
  17969. set$onListen: function(val) {
  17970. return this.onListen = val;
  17971. },
  17972. set$onCancel: function(val) {
  17973. return this.onCancel = val;
  17974. }
  17975. };
  17976. P._SyncBroadcastStreamController.prototype = {
  17977. get$_mayAddEvent: function() {
  17978. return P._BroadcastStreamController.prototype.get$_mayAddEvent.call(this) && (this._async$_state & 2) === 0;
  17979. },
  17980. _addEventError$0: function() {
  17981. if ((this._async$_state & 2) !== 0)
  17982. return new P.StateError("Cannot fire new event. Controller is already firing an event");
  17983. return this.super$_BroadcastStreamController$_addEventError();
  17984. },
  17985. _sendData$1: function(data) {
  17986. var _this = this,
  17987. t1 = _this._firstSubscription;
  17988. if (t1 == null)
  17989. return;
  17990. if (t1 === _this._lastSubscription) {
  17991. _this._async$_state |= 2;
  17992. t1._async$_add$1(data);
  17993. _this._async$_state &= 4294967293;
  17994. if (_this._firstSubscription == null)
  17995. _this._callOnCancel$0();
  17996. return;
  17997. }
  17998. _this._forEachListener$1(new P._SyncBroadcastStreamController__sendData_closure(data));
  17999. },
  18000. _sendError$2: function(error, stackTrace) {
  18001. if (this._firstSubscription == null)
  18002. return;
  18003. this._forEachListener$1(new P._SyncBroadcastStreamController__sendError_closure(error, stackTrace));
  18004. },
  18005. _sendDone$0: function() {
  18006. if (this._firstSubscription != null)
  18007. this._forEachListener$1(new P._SyncBroadcastStreamController__sendDone_closure());
  18008. else
  18009. this._doneFuture._asyncComplete$1(null);
  18010. }
  18011. };
  18012. P._SyncBroadcastStreamController__sendData_closure.prototype = {
  18013. call$1: function(subscription) {
  18014. subscription._async$_add$1(this.data);
  18015. }
  18016. };
  18017. P._SyncBroadcastStreamController__sendError_closure.prototype = {
  18018. call$1: function(subscription) {
  18019. subscription._addError$2(this.error, this.stackTrace);
  18020. }
  18021. };
  18022. P._SyncBroadcastStreamController__sendDone_closure.prototype = {
  18023. call$1: function(subscription) {
  18024. subscription._close$0();
  18025. }
  18026. };
  18027. P.Future.prototype = {};
  18028. P.Future_wait_handleError.prototype = {
  18029. call$2: function(theError, theStackTrace) {
  18030. var _this = this,
  18031. t1 = _this._box_0,
  18032. t2 = --t1.remaining;
  18033. if (t1.values != null) {
  18034. t1.values = null;
  18035. if (t1.remaining === 0 || _this.eagerError)
  18036. _this.result._completeError$2(theError, theStackTrace);
  18037. else {
  18038. t1.error = theError;
  18039. t1.stackTrace = theStackTrace;
  18040. }
  18041. } else if (t2 === 0 && !_this.eagerError)
  18042. _this.result._completeError$2(t1.error, t1.stackTrace);
  18043. },
  18044. "call*": "call$2",
  18045. $requiredArgCount: 2,
  18046. $signature: 18
  18047. };
  18048. P.Future_wait_closure.prototype = {
  18049. call$1: function(value) {
  18050. var _this = this,
  18051. t1 = _this._box_0,
  18052. t2 = --t1.remaining,
  18053. t3 = t1.values;
  18054. if (t3 != null) {
  18055. t3[_this.pos] = value;
  18056. if (t2 === 0)
  18057. _this.result._completeWithValue$1(t3);
  18058. } else if (t1.remaining === 0 && !_this.eagerError)
  18059. _this.result._completeError$2(t1.error, t1.stackTrace);
  18060. },
  18061. $signature: function() {
  18062. return {func: 1, ret: P.Null, args: [this.T]};
  18063. }
  18064. };
  18065. P._Completer.prototype = {
  18066. completeError$2: function(error, stackTrace) {
  18067. var replacement;
  18068. if (error == null)
  18069. error = new P.NullThrownError();
  18070. if (this.future._async$_state !== 0)
  18071. throw H.wrapException(P.StateError$("Future already completed"));
  18072. replacement = $.Zone__current.errorCallback$2(error, stackTrace);
  18073. if (replacement != null) {
  18074. error = replacement.error;
  18075. if (error == null)
  18076. error = new P.NullThrownError();
  18077. stackTrace = replacement.stackTrace;
  18078. }
  18079. this._completeError$2(error, stackTrace);
  18080. },
  18081. completeError$1: function(error) {
  18082. return this.completeError$2(error, null);
  18083. }
  18084. };
  18085. P._AsyncCompleter.prototype = {
  18086. complete$1: function(value) {
  18087. var t1 = this.future;
  18088. if (t1._async$_state !== 0)
  18089. throw H.wrapException(P.StateError$("Future already completed"));
  18090. t1._asyncComplete$1(value);
  18091. },
  18092. complete$0: function() {
  18093. return this.complete$1(null);
  18094. },
  18095. _completeError$2: function(error, stackTrace) {
  18096. this.future._asyncCompleteError$2(error, stackTrace);
  18097. }
  18098. };
  18099. P._SyncCompleter.prototype = {
  18100. complete$1: function(value) {
  18101. var t1 = this.future;
  18102. if (t1._async$_state !== 0)
  18103. throw H.wrapException(P.StateError$("Future already completed"));
  18104. t1._complete$1(value);
  18105. },
  18106. complete$0: function() {
  18107. return this.complete$1(null);
  18108. },
  18109. _completeError$2: function(error, stackTrace) {
  18110. this.future._completeError$2(error, stackTrace);
  18111. }
  18112. };
  18113. P._FutureListener.prototype = {
  18114. matchesErrorTest$1: function(asyncError) {
  18115. if (this.state !== 6)
  18116. return true;
  18117. return this.result._zone.runUnary$2(this.callback, asyncError.error);
  18118. },
  18119. handleError$1: function(asyncError) {
  18120. var errorCallback = this.errorCallback,
  18121. t1 = this.result._zone;
  18122. if (H.functionTypeTest(errorCallback, {func: 1, args: [P.Object, P.StackTrace]}))
  18123. return t1.runBinary$3(errorCallback, asyncError.error, asyncError.stackTrace);
  18124. else
  18125. return t1.runUnary$2(errorCallback, asyncError.error);
  18126. }
  18127. };
  18128. P._Future.prototype = {
  18129. then$1$2$onError: function(f, onError, $R) {
  18130. var currentZone = $.Zone__current;
  18131. if (currentZone !== C.C__RootZone) {
  18132. f = currentZone.registerUnaryCallback$1(f);
  18133. if (onError != null)
  18134. onError = P._registerErrorHandler(onError, currentZone);
  18135. }
  18136. return this._thenNoZoneRegistration$1$2(f, onError, $R);
  18137. },
  18138. then$1$1: function(f, $R) {
  18139. return this.then$1$2$onError(f, null, $R);
  18140. },
  18141. then$1: function(f) {
  18142. return this.then$1$2$onError(f, null, null);
  18143. },
  18144. _thenNoZoneRegistration$1$2: function(f, onError, $E) {
  18145. var result = new P._Future($.Zone__current, [$E]);
  18146. this._addListener$1(new P._FutureListener(result, onError == null ? 1 : 3, f, onError));
  18147. return result;
  18148. },
  18149. whenComplete$1: function(action) {
  18150. var t1 = $.Zone__current,
  18151. result = new P._Future(t1, this.$ti);
  18152. this._addListener$1(new P._FutureListener(result, 8, t1 !== C.C__RootZone ? t1.registerCallback$1(action) : action, null));
  18153. return result;
  18154. },
  18155. _addListener$1: function(listener) {
  18156. var t2, _this = this,
  18157. t1 = _this._async$_state;
  18158. if (t1 <= 1) {
  18159. listener._nextListener = _this._resultOrListeners;
  18160. _this._resultOrListeners = listener;
  18161. } else {
  18162. if (t1 === 2) {
  18163. t1 = _this._resultOrListeners;
  18164. t2 = t1._async$_state;
  18165. if (t2 < 4) {
  18166. t1._addListener$1(listener);
  18167. return;
  18168. }
  18169. _this._async$_state = t2;
  18170. _this._resultOrListeners = t1._resultOrListeners;
  18171. }
  18172. _this._zone.scheduleMicrotask$1(new P._Future__addListener_closure(_this, listener));
  18173. }
  18174. },
  18175. _prependListeners$1: function(listeners) {
  18176. var t1, existingListeners, cursor, cursor0, t2, _this = this, _box_0 = {};
  18177. _box_0.listeners = listeners;
  18178. if (listeners == null)
  18179. return;
  18180. t1 = _this._async$_state;
  18181. if (t1 <= 1) {
  18182. existingListeners = _this._resultOrListeners;
  18183. cursor = _this._resultOrListeners = listeners;
  18184. if (existingListeners != null) {
  18185. for (; cursor0 = cursor._nextListener, cursor0 != null; cursor = cursor0)
  18186. ;
  18187. cursor._nextListener = existingListeners;
  18188. }
  18189. } else {
  18190. if (t1 === 2) {
  18191. t1 = _this._resultOrListeners;
  18192. t2 = t1._async$_state;
  18193. if (t2 < 4) {
  18194. t1._prependListeners$1(listeners);
  18195. return;
  18196. }
  18197. _this._async$_state = t2;
  18198. _this._resultOrListeners = t1._resultOrListeners;
  18199. }
  18200. _box_0.listeners = _this._reverseListeners$1(listeners);
  18201. _this._zone.scheduleMicrotask$1(new P._Future__prependListeners_closure(_box_0, _this));
  18202. }
  18203. },
  18204. _removeListeners$0: function() {
  18205. var current = this._resultOrListeners;
  18206. this._resultOrListeners = null;
  18207. return this._reverseListeners$1(current);
  18208. },
  18209. _reverseListeners$1: function(listeners) {
  18210. var current, prev, next;
  18211. for (current = listeners, prev = null; current != null; prev = current, current = next) {
  18212. next = current._nextListener;
  18213. current._nextListener = prev;
  18214. }
  18215. return prev;
  18216. },
  18217. _complete$1: function(value) {
  18218. var listeners, _this = this,
  18219. t1 = _this.$ti;
  18220. if (H.checkSubtype(value, "$isFuture", t1, "$asFuture"))
  18221. if (H.checkSubtype(value, "$is_Future", t1, null))
  18222. P._Future__chainCoreFuture(value, _this);
  18223. else
  18224. P._Future__chainForeignFuture(value, _this);
  18225. else {
  18226. listeners = _this._removeListeners$0();
  18227. _this._async$_state = 4;
  18228. _this._resultOrListeners = value;
  18229. P._Future__propagateToListeners(_this, listeners);
  18230. }
  18231. },
  18232. _completeWithValue$1: function(value) {
  18233. var _this = this,
  18234. listeners = _this._removeListeners$0();
  18235. _this._async$_state = 4;
  18236. _this._resultOrListeners = value;
  18237. P._Future__propagateToListeners(_this, listeners);
  18238. },
  18239. _completeError$2: function(error, stackTrace) {
  18240. var _this = this,
  18241. listeners = _this._removeListeners$0();
  18242. _this._async$_state = 8;
  18243. _this._resultOrListeners = new P.AsyncError(error, stackTrace);
  18244. P._Future__propagateToListeners(_this, listeners);
  18245. },
  18246. _completeError$1: function(error) {
  18247. return this._completeError$2(error, null);
  18248. },
  18249. _asyncComplete$1: function(value) {
  18250. var _this = this;
  18251. if (H.checkSubtype(value, "$isFuture", _this.$ti, "$asFuture")) {
  18252. _this._chainFuture$1(value);
  18253. return;
  18254. }
  18255. _this._async$_state = 1;
  18256. _this._zone.scheduleMicrotask$1(new P._Future__asyncComplete_closure(_this, value));
  18257. },
  18258. _chainFuture$1: function(value) {
  18259. var _this = this;
  18260. if (H.checkSubtype(value, "$is_Future", _this.$ti, null)) {
  18261. if (value._async$_state === 8) {
  18262. _this._async$_state = 1;
  18263. _this._zone.scheduleMicrotask$1(new P._Future__chainFuture_closure(_this, value));
  18264. } else
  18265. P._Future__chainCoreFuture(value, _this);
  18266. return;
  18267. }
  18268. P._Future__chainForeignFuture(value, _this);
  18269. },
  18270. _asyncCompleteError$2: function(error, stackTrace) {
  18271. this._async$_state = 1;
  18272. this._zone.scheduleMicrotask$1(new P._Future__asyncCompleteError_closure(this, error, stackTrace));
  18273. },
  18274. $isFuture: 1
  18275. };
  18276. P._Future__addListener_closure.prototype = {
  18277. call$0: function() {
  18278. P._Future__propagateToListeners(this.$this, this.listener);
  18279. },
  18280. "call*": "call$0",
  18281. $requiredArgCount: 0
  18282. };
  18283. P._Future__prependListeners_closure.prototype = {
  18284. call$0: function() {
  18285. P._Future__propagateToListeners(this.$this, this._box_0.listeners);
  18286. },
  18287. "call*": "call$0",
  18288. $requiredArgCount: 0
  18289. };
  18290. P._Future__chainForeignFuture_closure.prototype = {
  18291. call$1: function(value) {
  18292. var t1 = this.target;
  18293. t1._async$_state = 0;
  18294. t1._complete$1(value);
  18295. },
  18296. $signature: 17
  18297. };
  18298. P._Future__chainForeignFuture_closure0.prototype = {
  18299. call$2: function(error, stackTrace) {
  18300. this.target._completeError$2(error, stackTrace);
  18301. },
  18302. call$1: function(error) {
  18303. return this.call$2(error, null);
  18304. },
  18305. "call*": "call$2",
  18306. $defaultValues: function() {
  18307. return [null];
  18308. },
  18309. $signature: 51
  18310. };
  18311. P._Future__chainForeignFuture_closure1.prototype = {
  18312. call$0: function() {
  18313. this.target._completeError$2(this.e, this.s);
  18314. },
  18315. "call*": "call$0",
  18316. $requiredArgCount: 0
  18317. };
  18318. P._Future__asyncComplete_closure.prototype = {
  18319. call$0: function() {
  18320. this.$this._completeWithValue$1(this.value);
  18321. },
  18322. "call*": "call$0",
  18323. $requiredArgCount: 0
  18324. };
  18325. P._Future__chainFuture_closure.prototype = {
  18326. call$0: function() {
  18327. P._Future__chainCoreFuture(this.value, this.$this);
  18328. },
  18329. "call*": "call$0",
  18330. $requiredArgCount: 0
  18331. };
  18332. P._Future__asyncCompleteError_closure.prototype = {
  18333. call$0: function() {
  18334. this.$this._completeError$2(this.error, this.stackTrace);
  18335. },
  18336. "call*": "call$0",
  18337. $requiredArgCount: 0
  18338. };
  18339. P._Future__propagateToListeners_handleWhenCompleteCallback.prototype = {
  18340. call$0: function() {
  18341. var e, s, t1, exception, t2, originalSource, _this = this, completeResult = null;
  18342. try {
  18343. t1 = _this.listener;
  18344. completeResult = t1.result._zone.run$1(0, t1.callback);
  18345. } catch (exception) {
  18346. e = H.unwrapException(exception);
  18347. s = H.getTraceFromException(exception);
  18348. if (_this.hasError) {
  18349. t1 = _this._box_1.source._resultOrListeners.error;
  18350. t2 = e;
  18351. t2 = t1 == null ? t2 == null : t1 === t2;
  18352. t1 = t2;
  18353. } else
  18354. t1 = false;
  18355. t2 = _this._box_0;
  18356. if (t1)
  18357. t2.listenerValueOrError = _this._box_1.source._resultOrListeners;
  18358. else
  18359. t2.listenerValueOrError = new P.AsyncError(e, s);
  18360. t2.listenerHasError = true;
  18361. return;
  18362. }
  18363. if (!!J.getInterceptor$(completeResult).$isFuture) {
  18364. if (completeResult instanceof P._Future && completeResult._async$_state >= 4) {
  18365. if (completeResult._async$_state === 8) {
  18366. t1 = _this._box_0;
  18367. t1.listenerValueOrError = completeResult._resultOrListeners;
  18368. t1.listenerHasError = true;
  18369. }
  18370. return;
  18371. }
  18372. originalSource = _this._box_1.source;
  18373. t1 = _this._box_0;
  18374. t1.listenerValueOrError = completeResult.then$1$1(new P._Future__propagateToListeners_handleWhenCompleteCallback_closure(originalSource), null);
  18375. t1.listenerHasError = false;
  18376. }
  18377. }
  18378. };
  18379. P._Future__propagateToListeners_handleWhenCompleteCallback_closure.prototype = {
  18380. call$1: function(_) {
  18381. return this.originalSource;
  18382. },
  18383. $signature: 45
  18384. };
  18385. P._Future__propagateToListeners_handleValueCallback.prototype = {
  18386. call$0: function() {
  18387. var e, s, t1, exception, _this = this;
  18388. try {
  18389. t1 = _this.listener;
  18390. _this._box_0.listenerValueOrError = t1.result._zone.runUnary$2(t1.callback, _this.sourceResult);
  18391. } catch (exception) {
  18392. e = H.unwrapException(exception);
  18393. s = H.getTraceFromException(exception);
  18394. t1 = _this._box_0;
  18395. t1.listenerValueOrError = new P.AsyncError(e, s);
  18396. t1.listenerHasError = true;
  18397. }
  18398. }
  18399. };
  18400. P._Future__propagateToListeners_handleError.prototype = {
  18401. call$0: function() {
  18402. var asyncError, e, s, t1, t2, exception, t3, t4, _this = this;
  18403. try {
  18404. asyncError = _this._box_1.source._resultOrListeners;
  18405. t1 = _this.listener;
  18406. if (t1.matchesErrorTest$1(asyncError) && t1.errorCallback != null) {
  18407. t2 = _this._box_0;
  18408. t2.listenerValueOrError = t1.handleError$1(asyncError);
  18409. t2.listenerHasError = false;
  18410. }
  18411. } catch (exception) {
  18412. e = H.unwrapException(exception);
  18413. s = H.getTraceFromException(exception);
  18414. t1 = _this._box_1.source._resultOrListeners;
  18415. t2 = t1.error;
  18416. t3 = e;
  18417. t4 = _this._box_0;
  18418. if (t2 == null ? t3 == null : t2 === t3)
  18419. t4.listenerValueOrError = t1;
  18420. else
  18421. t4.listenerValueOrError = new P.AsyncError(e, s);
  18422. t4.listenerHasError = true;
  18423. }
  18424. }
  18425. };
  18426. P._AsyncCallbackEntry.prototype = {};
  18427. P.Stream.prototype = {
  18428. get$isBroadcast: function() {
  18429. return false;
  18430. },
  18431. get$length: function(_) {
  18432. var t1 = {},
  18433. future = new P._Future($.Zone__current, [P.int]);
  18434. t1.count = 0;
  18435. this.listen$4$cancelOnError$onDone$onError(new P.Stream_length_closure(t1, this), true, new P.Stream_length_closure0(t1, future), future.get$_completeError());
  18436. return future;
  18437. }
  18438. };
  18439. P.Stream_Stream$fromFuture_closure.prototype = {
  18440. call$1: function(value) {
  18441. var t1 = this.controller;
  18442. t1._async$_add$1(value);
  18443. t1._closeUnchecked$0();
  18444. },
  18445. $signature: function() {
  18446. return {func: 1, ret: P.Null, args: [this.T]};
  18447. }
  18448. };
  18449. P.Stream_Stream$fromFuture_closure0.prototype = {
  18450. call$2: function(error, stackTrace) {
  18451. var t1 = this.controller;
  18452. t1._addError$2(error, stackTrace);
  18453. t1._closeUnchecked$0();
  18454. },
  18455. "call*": "call$2",
  18456. $requiredArgCount: 2,
  18457. $signature: 12
  18458. };
  18459. P.Stream_length_closure.prototype = {
  18460. call$1: function(_) {
  18461. ++this._box_0.count;
  18462. },
  18463. $signature: function() {
  18464. return {func: 1, ret: P.Null, args: [H.getRuntimeTypeArgument(this.$this, "Stream", 0)]};
  18465. }
  18466. };
  18467. P.Stream_length_closure0.prototype = {
  18468. call$0: function() {
  18469. this.future._complete$1(this._box_0.count);
  18470. },
  18471. "call*": "call$0",
  18472. $requiredArgCount: 0
  18473. };
  18474. P.StreamSubscription.prototype = {};
  18475. P.EventSink.prototype = {};
  18476. P.StreamTransformerBase.prototype = {};
  18477. P._StreamController.prototype = {
  18478. get$stream: function() {
  18479. return new P._ControllerStream(this, this.$ti);
  18480. },
  18481. get$_pendingEvents: function() {
  18482. if ((this._async$_state & 8) === 0)
  18483. return this._varData;
  18484. return this._varData.varData;
  18485. },
  18486. _ensurePendingEvents$0: function() {
  18487. var t1, state, _this = this;
  18488. if ((_this._async$_state & 8) === 0) {
  18489. t1 = _this._varData;
  18490. return t1 == null ? _this._varData = new P._StreamImplEvents() : t1;
  18491. }
  18492. state = _this._varData;
  18493. t1 = state.varData;
  18494. return t1 == null ? state.varData = new P._StreamImplEvents() : t1;
  18495. },
  18496. get$_subscription: function() {
  18497. if ((this._async$_state & 8) !== 0)
  18498. return this._varData.varData;
  18499. return this._varData;
  18500. },
  18501. _badEventState$0: function() {
  18502. if ((this._async$_state & 4) !== 0)
  18503. return new P.StateError("Cannot add event after closing");
  18504. return new P.StateError("Cannot add event while adding a stream");
  18505. },
  18506. addStream$2$cancelOnError: function(source, cancelOnError) {
  18507. var t2, t3, t4, _this = this,
  18508. t1 = _this._async$_state;
  18509. if (t1 >= 4)
  18510. throw H.wrapException(_this._badEventState$0());
  18511. if ((t1 & 2) !== 0) {
  18512. t1 = new P._Future($.Zone__current, [null]);
  18513. t1._asyncComplete$1(null);
  18514. return t1;
  18515. }
  18516. t1 = _this._varData;
  18517. t2 = new P._Future($.Zone__current, [null]);
  18518. t3 = source.listen$4$cancelOnError$onDone$onError(_this.get$_async$_add(), false, _this.get$_close(), _this.get$_addError());
  18519. t4 = _this._async$_state;
  18520. if ((t4 & 1) !== 0 ? (_this.get$_subscription()._async$_state & 4) !== 0 : (t4 & 2) === 0)
  18521. t3.pause$0(0);
  18522. _this._varData = new P._StreamControllerAddStreamState(t1, t2, t3);
  18523. _this._async$_state |= 8;
  18524. return t2;
  18525. },
  18526. _ensureDoneFuture$0: function() {
  18527. var t1 = this._doneFuture;
  18528. if (t1 == null)
  18529. t1 = this._doneFuture = (this._async$_state & 2) !== 0 ? $.$get$Future__nullFuture() : new P._Future($.Zone__current, [null]);
  18530. return t1;
  18531. },
  18532. add$1: function(_, value) {
  18533. if (this._async$_state >= 4)
  18534. throw H.wrapException(this._badEventState$0());
  18535. this._async$_add$1(value);
  18536. },
  18537. addError$2: function(error, stackTrace) {
  18538. var replacement;
  18539. if (this._async$_state >= 4)
  18540. throw H.wrapException(this._badEventState$0());
  18541. if (error == null)
  18542. error = new P.NullThrownError();
  18543. replacement = $.Zone__current.errorCallback$2(error, stackTrace);
  18544. if (replacement != null) {
  18545. error = replacement.error;
  18546. if (error == null)
  18547. error = new P.NullThrownError();
  18548. stackTrace = replacement.stackTrace;
  18549. }
  18550. this._addError$2(error, stackTrace);
  18551. },
  18552. addError$1: function(error) {
  18553. return this.addError$2(error, null);
  18554. },
  18555. close$0: function(_) {
  18556. var _this = this,
  18557. t1 = _this._async$_state;
  18558. if ((t1 & 4) !== 0)
  18559. return _this._ensureDoneFuture$0();
  18560. if (t1 >= 4)
  18561. throw H.wrapException(_this._badEventState$0());
  18562. _this._closeUnchecked$0();
  18563. return _this._ensureDoneFuture$0();
  18564. },
  18565. _closeUnchecked$0: function() {
  18566. var t1 = this._async$_state |= 4;
  18567. if ((t1 & 1) !== 0)
  18568. this._sendDone$0();
  18569. else if ((t1 & 3) === 0)
  18570. this._ensurePendingEvents$0().add$1(0, C.C__DelayedDone);
  18571. },
  18572. _async$_add$1: function(value) {
  18573. var t1 = this._async$_state;
  18574. if ((t1 & 1) !== 0)
  18575. this._sendData$1(value);
  18576. else if ((t1 & 3) === 0)
  18577. this._ensurePendingEvents$0().add$1(0, new P._DelayedData(value));
  18578. },
  18579. _addError$2: function(error, stackTrace) {
  18580. var t1 = this._async$_state;
  18581. if ((t1 & 1) !== 0)
  18582. this._sendError$2(error, stackTrace);
  18583. else if ((t1 & 3) === 0)
  18584. this._ensurePendingEvents$0().add$1(0, new P._DelayedError(error, stackTrace));
  18585. },
  18586. _close$0: function() {
  18587. var addState = this._varData;
  18588. this._varData = addState.varData;
  18589. this._async$_state &= 4294967287;
  18590. addState.addStreamFuture._asyncComplete$1(null);
  18591. },
  18592. _subscribe$4: function(onData, onError, onDone, cancelOnError) {
  18593. var t1, t2, subscription, pendingEvents, addState, _this = this;
  18594. if ((_this._async$_state & 3) !== 0)
  18595. throw H.wrapException(P.StateError$("Stream has already been listened to."));
  18596. t1 = $.Zone__current;
  18597. t2 = cancelOnError ? 1 : 0;
  18598. subscription = new P._ControllerSubscription(_this, t1, t2, _this.$ti);
  18599. subscription._BufferingStreamSubscription$4(onData, onError, onDone, cancelOnError, H.getTypeArgumentByIndex(_this, 0));
  18600. pendingEvents = _this.get$_pendingEvents();
  18601. t2 = _this._async$_state |= 1;
  18602. if ((t2 & 8) !== 0) {
  18603. addState = _this._varData;
  18604. addState.varData = subscription;
  18605. addState.addSubscription.resume$0();
  18606. } else
  18607. _this._varData = subscription;
  18608. subscription._setPendingEvents$1(pendingEvents);
  18609. subscription._guardCallback$1(new P._StreamController__subscribe_closure(_this));
  18610. return subscription;
  18611. },
  18612. _recordCancel$1: function(subscription) {
  18613. var e, s, t1, exception, result0, _this = this, result = null;
  18614. if ((_this._async$_state & 8) !== 0)
  18615. result = _this._varData.cancel$0();
  18616. _this._varData = null;
  18617. _this._async$_state = _this._async$_state & 4294967286 | 2;
  18618. t1 = _this.onCancel;
  18619. if (t1 != null)
  18620. if (result == null)
  18621. try {
  18622. result = t1.call$0();
  18623. } catch (exception) {
  18624. e = H.unwrapException(exception);
  18625. s = H.getTraceFromException(exception);
  18626. result0 = new P._Future($.Zone__current, [null]);
  18627. result0._asyncCompleteError$2(e, s);
  18628. result = result0;
  18629. }
  18630. else
  18631. result = result.whenComplete$1(t1);
  18632. t1 = new P._StreamController__recordCancel_complete(_this);
  18633. if (result != null)
  18634. result = result.whenComplete$1(t1);
  18635. else
  18636. t1.call$0();
  18637. return result;
  18638. },
  18639. _recordPause$1: function(subscription) {
  18640. if ((this._async$_state & 8) !== 0)
  18641. this._varData.addSubscription.pause$0(0);
  18642. P._runGuarded(this.onPause);
  18643. },
  18644. _recordResume$1: function(subscription) {
  18645. if ((this._async$_state & 8) !== 0)
  18646. this._varData.addSubscription.resume$0();
  18647. P._runGuarded(this.onResume);
  18648. },
  18649. $isEventSink: 1,
  18650. set$onListen: function(val) {
  18651. return this.onListen = val;
  18652. },
  18653. set$onPause: function(val) {
  18654. return this.onPause = val;
  18655. },
  18656. set$onResume: function(val) {
  18657. return this.onResume = val;
  18658. },
  18659. set$onCancel: function(val) {
  18660. return this.onCancel = val;
  18661. }
  18662. };
  18663. P._StreamController__subscribe_closure.prototype = {
  18664. call$0: function() {
  18665. P._runGuarded(this.$this.onListen);
  18666. }
  18667. };
  18668. P._StreamController__recordCancel_complete.prototype = {
  18669. call$0: function() {
  18670. var t1 = this.$this._doneFuture;
  18671. if (t1 != null && t1._async$_state === 0)
  18672. t1._asyncComplete$1(null);
  18673. },
  18674. "call*": "call$0",
  18675. $requiredArgCount: 0
  18676. };
  18677. P._SyncStreamControllerDispatch.prototype = {
  18678. _sendData$1: function(data) {
  18679. this.get$_subscription()._async$_add$1(data);
  18680. },
  18681. _sendError$2: function(error, stackTrace) {
  18682. this.get$_subscription()._addError$2(error, stackTrace);
  18683. },
  18684. _sendDone$0: function() {
  18685. this.get$_subscription()._close$0();
  18686. }
  18687. };
  18688. P._AsyncStreamControllerDispatch.prototype = {
  18689. _sendData$1: function(data) {
  18690. this.get$_subscription()._addPending$1(new P._DelayedData(data));
  18691. },
  18692. _sendError$2: function(error, stackTrace) {
  18693. this.get$_subscription()._addPending$1(new P._DelayedError(error, stackTrace));
  18694. },
  18695. _sendDone$0: function() {
  18696. this.get$_subscription()._addPending$1(C.C__DelayedDone);
  18697. }
  18698. };
  18699. P._AsyncStreamController.prototype = {};
  18700. P._SyncStreamController.prototype = {};
  18701. P._ControllerStream.prototype = {
  18702. get$hashCode: function(_) {
  18703. return (H.Primitives_objectHashCode(this._async$_controller) ^ 892482866) >>> 0;
  18704. },
  18705. $eq: function(_, other) {
  18706. if (other == null)
  18707. return false;
  18708. if (this === other)
  18709. return true;
  18710. return other instanceof P._ControllerStream && other._async$_controller === this._async$_controller;
  18711. }
  18712. };
  18713. P._ControllerSubscription.prototype = {
  18714. _async$_onCancel$0: function() {
  18715. return this._async$_controller._recordCancel$1(this);
  18716. },
  18717. _async$_onPause$0: function() {
  18718. this._async$_controller._recordPause$1(this);
  18719. },
  18720. _async$_onResume$0: function() {
  18721. this._async$_controller._recordResume$1(this);
  18722. }
  18723. };
  18724. P._AddStreamState.prototype = {
  18725. cancel$0: function() {
  18726. var cancel = this.addSubscription.cancel$0();
  18727. if (cancel == null) {
  18728. this.addStreamFuture._asyncComplete$1(null);
  18729. return;
  18730. }
  18731. return cancel.whenComplete$1(new P._AddStreamState_cancel_closure(this));
  18732. }
  18733. };
  18734. P._AddStreamState_cancel_closure.prototype = {
  18735. call$0: function() {
  18736. this.$this.addStreamFuture._asyncComplete$1(null);
  18737. },
  18738. "call*": "call$0",
  18739. $requiredArgCount: 0
  18740. };
  18741. P._StreamControllerAddStreamState.prototype = {};
  18742. P._BufferingStreamSubscription.prototype = {
  18743. _BufferingStreamSubscription$4: function(onData, onError, onDone, cancelOnError, $T) {
  18744. var handleError, _this = this,
  18745. handleData = onData == null ? P.async___nullDataHandler$closure() : onData,
  18746. t1 = _this._zone;
  18747. _this._onData = t1.registerUnaryCallback$1(handleData);
  18748. handleError = onError == null ? P.async___nullErrorHandler$closure() : onError;
  18749. if (H.functionTypeTest(handleError, {func: 1, ret: -1, args: [P.Object, P.StackTrace]}))
  18750. _this._onError = t1.registerBinaryCallback$1(handleError);
  18751. else if (H.functionTypeTest(handleError, {func: 1, ret: -1, args: [P.Object]}))
  18752. _this._onError = t1.registerUnaryCallback$1(handleError);
  18753. else
  18754. H.throwExpression(P.ArgumentError$("handleError callback must take either an Object (the error), or both an Object (the error) and a StackTrace."));
  18755. _this._onDone = t1.registerCallback$1(onDone == null ? P.async___nullDoneHandler$closure() : onDone);
  18756. },
  18757. _setPendingEvents$1: function(pendingEvents) {
  18758. var _this = this;
  18759. if (pendingEvents == null)
  18760. return;
  18761. _this._pending = pendingEvents;
  18762. if (pendingEvents.lastPendingEvent != null) {
  18763. _this._async$_state = (_this._async$_state | 64) >>> 0;
  18764. pendingEvents.schedule$1(_this);
  18765. }
  18766. },
  18767. pause$1: function(_, resumeSignal) {
  18768. var t2, t3, _this = this,
  18769. t1 = _this._async$_state;
  18770. if ((t1 & 8) !== 0)
  18771. return;
  18772. t2 = (t1 + 128 | 4) >>> 0;
  18773. _this._async$_state = t2;
  18774. if (t1 < 128 && _this._pending != null) {
  18775. t3 = _this._pending;
  18776. if (t3._async$_state === 1)
  18777. t3._async$_state = 3;
  18778. }
  18779. if ((t1 & 4) === 0 && (t2 & 32) === 0)
  18780. _this._guardCallback$1(_this.get$_async$_onPause());
  18781. },
  18782. pause$0: function($receiver) {
  18783. return this.pause$1($receiver, null);
  18784. },
  18785. resume$0: function() {
  18786. var _this = this,
  18787. t1 = _this._async$_state;
  18788. if ((t1 & 8) !== 0)
  18789. return;
  18790. if (t1 >= 128) {
  18791. t1 = _this._async$_state = t1 - 128;
  18792. if (t1 < 128)
  18793. if ((t1 & 64) !== 0 && _this._pending.lastPendingEvent != null)
  18794. _this._pending.schedule$1(_this);
  18795. else {
  18796. t1 = (t1 & 4294967291) >>> 0;
  18797. _this._async$_state = t1;
  18798. if ((t1 & 32) === 0)
  18799. _this._guardCallback$1(_this.get$_async$_onResume());
  18800. }
  18801. }
  18802. },
  18803. cancel$0: function() {
  18804. var _this = this,
  18805. t1 = (_this._async$_state & 4294967279) >>> 0;
  18806. _this._async$_state = t1;
  18807. if ((t1 & 8) === 0)
  18808. _this._cancel$0();
  18809. t1 = _this._cancelFuture;
  18810. return t1 == null ? $.$get$Future__nullFuture() : t1;
  18811. },
  18812. _cancel$0: function() {
  18813. var t2, _this = this,
  18814. t1 = _this._async$_state = (_this._async$_state | 8) >>> 0;
  18815. if ((t1 & 64) !== 0) {
  18816. t2 = _this._pending;
  18817. if (t2._async$_state === 1)
  18818. t2._async$_state = 3;
  18819. }
  18820. if ((t1 & 32) === 0)
  18821. _this._pending = null;
  18822. _this._cancelFuture = _this._async$_onCancel$0();
  18823. },
  18824. _async$_add$1: function(data) {
  18825. var t1 = this._async$_state;
  18826. if ((t1 & 8) !== 0)
  18827. return;
  18828. if (t1 < 32)
  18829. this._sendData$1(data);
  18830. else
  18831. this._addPending$1(new P._DelayedData(data));
  18832. },
  18833. _addError$2: function(error, stackTrace) {
  18834. var t1 = this._async$_state;
  18835. if ((t1 & 8) !== 0)
  18836. return;
  18837. if (t1 < 32)
  18838. this._sendError$2(error, stackTrace);
  18839. else
  18840. this._addPending$1(new P._DelayedError(error, stackTrace));
  18841. },
  18842. _close$0: function() {
  18843. var _this = this,
  18844. t1 = _this._async$_state;
  18845. if ((t1 & 8) !== 0)
  18846. return;
  18847. t1 = (t1 | 2) >>> 0;
  18848. _this._async$_state = t1;
  18849. if (t1 < 32)
  18850. _this._sendDone$0();
  18851. else
  18852. _this._addPending$1(C.C__DelayedDone);
  18853. },
  18854. _async$_onPause$0: function() {
  18855. },
  18856. _async$_onResume$0: function() {
  18857. },
  18858. _async$_onCancel$0: function() {
  18859. return;
  18860. },
  18861. _addPending$1: function($event) {
  18862. var t1, _this = this,
  18863. pending = _this._pending;
  18864. (pending == null ? _this._pending = new P._StreamImplEvents() : pending).add$1(0, $event);
  18865. t1 = _this._async$_state;
  18866. if ((t1 & 64) === 0) {
  18867. t1 = (t1 | 64) >>> 0;
  18868. _this._async$_state = t1;
  18869. if (t1 < 128)
  18870. _this._pending.schedule$1(_this);
  18871. }
  18872. },
  18873. _sendData$1: function(data) {
  18874. var _this = this,
  18875. t1 = _this._async$_state;
  18876. _this._async$_state = (t1 | 32) >>> 0;
  18877. _this._zone.runUnaryGuarded$2(_this._onData, data);
  18878. _this._async$_state = (_this._async$_state & 4294967263) >>> 0;
  18879. _this._checkState$1((t1 & 4) !== 0);
  18880. },
  18881. _sendError$2: function(error, stackTrace) {
  18882. var _this = this,
  18883. t1 = _this._async$_state,
  18884. t2 = new P._BufferingStreamSubscription__sendError_sendError(_this, error, stackTrace);
  18885. if ((t1 & 1) !== 0) {
  18886. _this._async$_state = (t1 | 16) >>> 0;
  18887. _this._cancel$0();
  18888. t1 = _this._cancelFuture;
  18889. if (t1 != null && t1 !== $.$get$Future__nullFuture())
  18890. t1.whenComplete$1(t2);
  18891. else
  18892. t2.call$0();
  18893. } else {
  18894. t2.call$0();
  18895. _this._checkState$1((t1 & 4) !== 0);
  18896. }
  18897. },
  18898. _sendDone$0: function() {
  18899. var t2, _this = this,
  18900. t1 = new P._BufferingStreamSubscription__sendDone_sendDone(_this);
  18901. _this._cancel$0();
  18902. _this._async$_state = (_this._async$_state | 16) >>> 0;
  18903. t2 = _this._cancelFuture;
  18904. if (t2 != null && t2 !== $.$get$Future__nullFuture())
  18905. t2.whenComplete$1(t1);
  18906. else
  18907. t1.call$0();
  18908. },
  18909. _guardCallback$1: function(callback) {
  18910. var _this = this,
  18911. t1 = _this._async$_state;
  18912. _this._async$_state = (t1 | 32) >>> 0;
  18913. callback.call$0();
  18914. _this._async$_state = (_this._async$_state & 4294967263) >>> 0;
  18915. _this._checkState$1((t1 & 4) !== 0);
  18916. },
  18917. _checkState$1: function(wasInputPaused) {
  18918. var t2, isInputPaused, _this = this,
  18919. t1 = _this._async$_state;
  18920. if ((t1 & 64) !== 0 && _this._pending.lastPendingEvent == null) {
  18921. t1 = _this._async$_state = (t1 & 4294967231) >>> 0;
  18922. if ((t1 & 4) !== 0)
  18923. if (t1 < 128) {
  18924. t2 = _this._pending;
  18925. t2 = t2 == null || t2.lastPendingEvent == null;
  18926. } else
  18927. t2 = false;
  18928. else
  18929. t2 = false;
  18930. if (t2) {
  18931. t1 = (t1 & 4294967291) >>> 0;
  18932. _this._async$_state = t1;
  18933. }
  18934. }
  18935. for (; true; wasInputPaused = isInputPaused) {
  18936. if ((t1 & 8) !== 0)
  18937. return _this._pending = null;
  18938. isInputPaused = (t1 & 4) !== 0;
  18939. if (wasInputPaused === isInputPaused)
  18940. break;
  18941. _this._async$_state = (t1 ^ 32) >>> 0;
  18942. if (isInputPaused)
  18943. _this._async$_onPause$0();
  18944. else
  18945. _this._async$_onResume$0();
  18946. t1 = (_this._async$_state & 4294967263) >>> 0;
  18947. _this._async$_state = t1;
  18948. }
  18949. if ((t1 & 64) !== 0 && t1 < 128)
  18950. _this._pending.schedule$1(_this);
  18951. },
  18952. $isStreamSubscription: 1
  18953. };
  18954. P._BufferingStreamSubscription__sendError_sendError.prototype = {
  18955. call$0: function() {
  18956. var onError, t3,
  18957. t1 = this.$this,
  18958. t2 = t1._async$_state;
  18959. if ((t2 & 8) !== 0 && (t2 & 16) === 0)
  18960. return;
  18961. t1._async$_state = (t2 | 32) >>> 0;
  18962. onError = t1._onError;
  18963. t2 = this.error;
  18964. t3 = t1._zone;
  18965. if (H.functionTypeTest(onError, {func: 1, ret: -1, args: [P.Object, P.StackTrace]}))
  18966. t3.runBinaryGuarded$3(onError, t2, this.stackTrace);
  18967. else
  18968. t3.runUnaryGuarded$2(t1._onError, t2);
  18969. t1._async$_state = (t1._async$_state & 4294967263) >>> 0;
  18970. },
  18971. "call*": "call$0",
  18972. $requiredArgCount: 0
  18973. };
  18974. P._BufferingStreamSubscription__sendDone_sendDone.prototype = {
  18975. call$0: function() {
  18976. var t1 = this.$this,
  18977. t2 = t1._async$_state;
  18978. if ((t2 & 16) === 0)
  18979. return;
  18980. t1._async$_state = (t2 | 42) >>> 0;
  18981. t1._zone.runGuarded$1(t1._onDone);
  18982. t1._async$_state = (t1._async$_state & 4294967263) >>> 0;
  18983. },
  18984. "call*": "call$0",
  18985. $requiredArgCount: 0
  18986. };
  18987. P._StreamImpl.prototype = {
  18988. listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onDone, onError) {
  18989. return this._async$_controller._subscribe$4(onData, onError, onDone, true === cancelOnError);
  18990. },
  18991. listen$3$onDone$onError: function(onData, onDone, onError) {
  18992. return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError);
  18993. }
  18994. };
  18995. P._DelayedEvent.prototype = {
  18996. get$next: function() {
  18997. return this.next;
  18998. },
  18999. set$next: function(val) {
  19000. return this.next = val;
  19001. }
  19002. };
  19003. P._DelayedData.prototype = {
  19004. perform$1: function(dispatch) {
  19005. dispatch._sendData$1(this.value);
  19006. }
  19007. };
  19008. P._DelayedError.prototype = {
  19009. perform$1: function(dispatch) {
  19010. dispatch._sendError$2(this.error, this.stackTrace);
  19011. }
  19012. };
  19013. P._DelayedDone.prototype = {
  19014. perform$1: function(dispatch) {
  19015. dispatch._sendDone$0();
  19016. },
  19017. get$next: function() {
  19018. return;
  19019. },
  19020. set$next: function(_) {
  19021. throw H.wrapException(P.StateError$("No events after a done."));
  19022. }
  19023. };
  19024. P._PendingEvents.prototype = {
  19025. schedule$1: function(dispatch) {
  19026. var _this = this,
  19027. t1 = _this._async$_state;
  19028. if (t1 === 1)
  19029. return;
  19030. if (t1 >= 1) {
  19031. _this._async$_state = 1;
  19032. return;
  19033. }
  19034. P.scheduleMicrotask(new P._PendingEvents_schedule_closure(_this, dispatch));
  19035. _this._async$_state = 1;
  19036. }
  19037. };
  19038. P._PendingEvents_schedule_closure.prototype = {
  19039. call$0: function() {
  19040. var $event, t2,
  19041. t1 = this.$this,
  19042. oldState = t1._async$_state;
  19043. t1._async$_state = 0;
  19044. if (oldState === 3)
  19045. return;
  19046. $event = t1.firstPendingEvent;
  19047. t2 = $event.get$next();
  19048. t1.firstPendingEvent = t2;
  19049. if (t2 == null)
  19050. t1.lastPendingEvent = null;
  19051. $event.perform$1(this.dispatch);
  19052. },
  19053. "call*": "call$0",
  19054. $requiredArgCount: 0
  19055. };
  19056. P._StreamImplEvents.prototype = {
  19057. add$1: function(_, $event) {
  19058. var _this = this,
  19059. t1 = _this.lastPendingEvent;
  19060. if (t1 == null)
  19061. _this.firstPendingEvent = _this.lastPendingEvent = $event;
  19062. else {
  19063. t1.set$next($event);
  19064. _this.lastPendingEvent = $event;
  19065. }
  19066. }
  19067. };
  19068. P._DoneStreamSubscription.prototype = {
  19069. _schedule$0: function() {
  19070. var _this = this;
  19071. if ((_this._async$_state & 2) !== 0)
  19072. return;
  19073. _this._zone.scheduleMicrotask$1(_this.get$_sendDone());
  19074. _this._async$_state = (_this._async$_state | 2) >>> 0;
  19075. },
  19076. pause$1: function(_, resumeSignal) {
  19077. this._async$_state += 4;
  19078. },
  19079. pause$0: function($receiver) {
  19080. return this.pause$1($receiver, null);
  19081. },
  19082. resume$0: function() {
  19083. var t1 = this._async$_state;
  19084. if (t1 >= 4) {
  19085. t1 = this._async$_state = t1 - 4;
  19086. if (t1 < 4 && (t1 & 1) === 0)
  19087. this._schedule$0();
  19088. }
  19089. },
  19090. cancel$0: function() {
  19091. return $.$get$Future__nullFuture();
  19092. },
  19093. _sendDone$0: function() {
  19094. var _this = this,
  19095. t1 = _this._async$_state = (_this._async$_state & 4294967293) >>> 0;
  19096. if (t1 >= 4)
  19097. return;
  19098. _this._async$_state = (t1 | 1) >>> 0;
  19099. _this._zone.runGuarded$1(_this._onDone);
  19100. },
  19101. $isStreamSubscription: 1
  19102. };
  19103. P._StreamIterator.prototype = {
  19104. get$current: function(_) {
  19105. if (this._subscription != null && this._isPaused)
  19106. return this._stateData;
  19107. return;
  19108. },
  19109. moveNext$0: function() {
  19110. var future, _this = this,
  19111. t1 = _this._subscription;
  19112. if (t1 != null) {
  19113. if (_this._isPaused) {
  19114. future = new P._Future($.Zone__current, [P.bool]);
  19115. _this._stateData = future;
  19116. _this._isPaused = false;
  19117. t1.resume$0();
  19118. return future;
  19119. }
  19120. throw H.wrapException(P.StateError$("Already waiting for next."));
  19121. }
  19122. return _this._initializeOrDone$0();
  19123. },
  19124. _initializeOrDone$0: function() {
  19125. var _this = this,
  19126. stateData = _this._stateData;
  19127. if (stateData != null) {
  19128. _this._subscription = stateData.listen$4$cancelOnError$onDone$onError(_this.get$_onData(), true, _this.get$_onDone(), _this.get$_onError());
  19129. return _this._stateData = new P._Future($.Zone__current, [P.bool]);
  19130. }
  19131. return $.$get$Future__falseFuture();
  19132. },
  19133. cancel$0: function() {
  19134. var _this = this,
  19135. subscription = _this._subscription,
  19136. stateData = _this._stateData;
  19137. _this._stateData = null;
  19138. if (subscription != null) {
  19139. _this._subscription = null;
  19140. if (!_this._isPaused)
  19141. stateData._asyncComplete$1(false);
  19142. return subscription.cancel$0();
  19143. }
  19144. return $.$get$Future__nullFuture();
  19145. },
  19146. _onData$1: function(data) {
  19147. var t1, _this = this,
  19148. moveNextFuture = _this._stateData;
  19149. _this._stateData = data;
  19150. _this._isPaused = true;
  19151. moveNextFuture._complete$1(true);
  19152. t1 = _this._subscription;
  19153. if (t1 != null && _this._isPaused)
  19154. t1.pause$0(0);
  19155. },
  19156. _onError$2: function(error, stackTrace) {
  19157. var moveNextFuture = this._stateData;
  19158. this._stateData = this._subscription = null;
  19159. moveNextFuture._completeError$2(error, stackTrace);
  19160. },
  19161. _onError$1: function(error) {
  19162. return this._onError$2(error, null);
  19163. },
  19164. _onDone$0: function() {
  19165. var moveNextFuture = this._stateData;
  19166. this._stateData = this._subscription = null;
  19167. moveNextFuture._complete$1(false);
  19168. }
  19169. };
  19170. P._ForwardingStream.prototype = {
  19171. get$isBroadcast: function() {
  19172. return this._async$_source.get$isBroadcast();
  19173. },
  19174. listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onDone, onError) {
  19175. var t1, t2, _this = this;
  19176. cancelOnError = true === cancelOnError;
  19177. t1 = $.Zone__current;
  19178. t2 = cancelOnError ? 1 : 0;
  19179. t2 = new P._ForwardingStreamSubscription(_this, t1, t2, _this.$ti);
  19180. t2._BufferingStreamSubscription$4(onData, onError, onDone, cancelOnError, H.getTypeArgumentByIndex(_this, 1));
  19181. t2._subscription = _this._async$_source.listen$3$onDone$onError(t2.get$_handleData(), t2.get$_handleDone(), t2.get$_handleError());
  19182. return t2;
  19183. },
  19184. listen$3$onDone$onError: function(onData, onDone, onError) {
  19185. return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError);
  19186. },
  19187. _handleData$2: function(data, sink) {
  19188. sink._async$_add$1(data);
  19189. },
  19190. $asStream: function($S, $T) {
  19191. return [$T];
  19192. }
  19193. };
  19194. P._ForwardingStreamSubscription.prototype = {
  19195. _async$_add$1: function(data) {
  19196. if ((this._async$_state & 2) !== 0)
  19197. return;
  19198. this.super$_BufferingStreamSubscription$_add(data);
  19199. },
  19200. _addError$2: function(error, stackTrace) {
  19201. if ((this._async$_state & 2) !== 0)
  19202. return;
  19203. this.super$_BufferingStreamSubscription$_addError(error, stackTrace);
  19204. },
  19205. _async$_onPause$0: function() {
  19206. var t1 = this._subscription;
  19207. if (t1 == null)
  19208. return;
  19209. t1.pause$0(0);
  19210. },
  19211. _async$_onResume$0: function() {
  19212. var t1 = this._subscription;
  19213. if (t1 == null)
  19214. return;
  19215. t1.resume$0();
  19216. },
  19217. _async$_onCancel$0: function() {
  19218. var t1 = this._subscription;
  19219. if (t1 != null) {
  19220. this._subscription = null;
  19221. return t1.cancel$0();
  19222. }
  19223. return;
  19224. },
  19225. _handleData$1: function(data) {
  19226. this._stream._handleData$2(data, this);
  19227. },
  19228. _handleError$2: function(error, stackTrace) {
  19229. this._addError$2(error, stackTrace);
  19230. },
  19231. _handleDone$0: function() {
  19232. this._close$0();
  19233. },
  19234. $asStreamSubscription: function($S, $T) {
  19235. return [$T];
  19236. },
  19237. $as_BufferingStreamSubscription: function($S, $T) {
  19238. return [$T];
  19239. }
  19240. };
  19241. P._ExpandStream.prototype = {
  19242. _handleData$2: function(inputEvent, sink) {
  19243. var value, e, s, t1, exception;
  19244. try {
  19245. for (t1 = J.get$iterator$ax(this._expand.call$1(inputEvent)); t1.moveNext$0();) {
  19246. value = t1.get$current(t1);
  19247. sink._async$_add$1(value);
  19248. }
  19249. } catch (exception) {
  19250. e = H.unwrapException(exception);
  19251. s = H.getTraceFromException(exception);
  19252. P._addErrorWithReplacement(sink, e, s);
  19253. }
  19254. }
  19255. };
  19256. P.Timer.prototype = {};
  19257. P.AsyncError.prototype = {
  19258. toString$0: function(_) {
  19259. return H.S(this.error);
  19260. },
  19261. $isError: 1
  19262. };
  19263. P._ZoneFunction.prototype = {};
  19264. P.ZoneSpecification.prototype = {};
  19265. P._ZoneSpecification.prototype = {$isZoneSpecification: 1};
  19266. P.ZoneDelegate.prototype = {};
  19267. P.Zone.prototype = {};
  19268. P._ZoneDelegate.prototype = {$isZoneDelegate: 1};
  19269. P._Zone.prototype = {$isZone: 1};
  19270. P._CustomZone.prototype = {
  19271. get$_delegate: function() {
  19272. var t1 = this._delegateCache;
  19273. if (t1 != null)
  19274. return t1;
  19275. return this._delegateCache = new P._ZoneDelegate(this);
  19276. },
  19277. get$errorZone: function() {
  19278. return this._handleUncaughtError.zone;
  19279. },
  19280. runGuarded$1: function(f) {
  19281. var e, s, exception;
  19282. try {
  19283. this.run$1(0, f);
  19284. } catch (exception) {
  19285. e = H.unwrapException(exception);
  19286. s = H.getTraceFromException(exception);
  19287. this.handleUncaughtError$2(e, s);
  19288. }
  19289. },
  19290. runUnaryGuarded$1$2: function(f, arg) {
  19291. var e, s, exception;
  19292. try {
  19293. this.runUnary$2(f, arg);
  19294. } catch (exception) {
  19295. e = H.unwrapException(exception);
  19296. s = H.getTraceFromException(exception);
  19297. this.handleUncaughtError$2(e, s);
  19298. }
  19299. },
  19300. runUnaryGuarded$2: function(f, arg) {
  19301. return this.runUnaryGuarded$1$2(f, arg, null);
  19302. },
  19303. runBinaryGuarded$2$3: function(f, arg1, arg2) {
  19304. var e, s, exception;
  19305. try {
  19306. this.runBinary$3(f, arg1, arg2);
  19307. } catch (exception) {
  19308. e = H.unwrapException(exception);
  19309. s = H.getTraceFromException(exception);
  19310. this.handleUncaughtError$2(e, s);
  19311. }
  19312. },
  19313. runBinaryGuarded$3: function(f, arg1, arg2) {
  19314. return this.runBinaryGuarded$2$3(f, arg1, arg2, null, null);
  19315. },
  19316. bindCallback$1$1: function(f) {
  19317. return new P._CustomZone_bindCallback_closure(this, this.registerCallback$1(f));
  19318. },
  19319. bindCallback$1: function(f) {
  19320. return this.bindCallback$1$1(f, null);
  19321. },
  19322. bindUnaryCallback$2$1: function(f, $R, $T) {
  19323. return new P._CustomZone_bindUnaryCallback_closure(this, this.registerUnaryCallback$1(f), $T, $R);
  19324. },
  19325. bindCallbackGuarded$1: function(f) {
  19326. return new P._CustomZone_bindCallbackGuarded_closure(this, this.registerCallback$1(f));
  19327. },
  19328. $index: function(_, key) {
  19329. var value,
  19330. t1 = this._async$_map,
  19331. result = t1.$index(0, key);
  19332. if (result != null || t1.containsKey$1(key))
  19333. return result;
  19334. value = this.parent.$index(0, key);
  19335. if (value != null)
  19336. t1.$indexSet(0, key, value);
  19337. return value;
  19338. },
  19339. handleUncaughtError$2: function(error, stackTrace) {
  19340. var implementation = this._handleUncaughtError,
  19341. t1 = implementation.zone,
  19342. parentDelegate = P._parentDelegate(t1);
  19343. return implementation.$function.call$5(t1, parentDelegate, this, error, stackTrace);
  19344. },
  19345. fork$2$specification$zoneValues: function(specification, zoneValues) {
  19346. var implementation = this._fork,
  19347. t1 = implementation.zone,
  19348. parentDelegate = P._parentDelegate(t1);
  19349. return implementation.$function.call$5(t1, parentDelegate, this, specification, zoneValues);
  19350. },
  19351. run$1$1: function(_, f) {
  19352. var implementation = this._run,
  19353. t1 = implementation.zone,
  19354. parentDelegate = P._parentDelegate(t1);
  19355. return implementation.$function.call$4(t1, parentDelegate, this, f);
  19356. },
  19357. run$1: function($receiver, f) {
  19358. return this.run$1$1($receiver, f, null);
  19359. },
  19360. runUnary$2$2: function(f, arg) {
  19361. var implementation = this._runUnary,
  19362. t1 = implementation.zone,
  19363. parentDelegate = P._parentDelegate(t1);
  19364. return implementation.$function.call$5(t1, parentDelegate, this, f, arg);
  19365. },
  19366. runUnary$2: function(f, arg) {
  19367. return this.runUnary$2$2(f, arg, null, null);
  19368. },
  19369. runBinary$3$3: function(f, arg1, arg2) {
  19370. var implementation = this._runBinary,
  19371. t1 = implementation.zone,
  19372. parentDelegate = P._parentDelegate(t1);
  19373. return implementation.$function.call$6(t1, parentDelegate, this, f, arg1, arg2);
  19374. },
  19375. runBinary$3: function(f, arg1, arg2) {
  19376. return this.runBinary$3$3(f, arg1, arg2, null, null, null);
  19377. },
  19378. registerCallback$1$1: function(callback) {
  19379. var implementation = this._registerCallback,
  19380. t1 = implementation.zone,
  19381. parentDelegate = P._parentDelegate(t1);
  19382. return implementation.$function.call$4(t1, parentDelegate, this, callback);
  19383. },
  19384. registerCallback$1: function(callback) {
  19385. return this.registerCallback$1$1(callback, null);
  19386. },
  19387. registerUnaryCallback$2$1: function(callback) {
  19388. var implementation = this._registerUnaryCallback,
  19389. t1 = implementation.zone,
  19390. parentDelegate = P._parentDelegate(t1);
  19391. return implementation.$function.call$4(t1, parentDelegate, this, callback);
  19392. },
  19393. registerUnaryCallback$1: function(callback) {
  19394. return this.registerUnaryCallback$2$1(callback, null, null);
  19395. },
  19396. registerBinaryCallback$3$1: function(callback) {
  19397. var implementation = this._registerBinaryCallback,
  19398. t1 = implementation.zone,
  19399. parentDelegate = P._parentDelegate(t1);
  19400. return implementation.$function.call$4(t1, parentDelegate, this, callback);
  19401. },
  19402. registerBinaryCallback$1: function(callback) {
  19403. return this.registerBinaryCallback$3$1(callback, null, null, null);
  19404. },
  19405. errorCallback$2: function(error, stackTrace) {
  19406. var parentDelegate,
  19407. implementation = this._errorCallback,
  19408. implementationZone = implementation.zone;
  19409. if (implementationZone === C.C__RootZone)
  19410. return;
  19411. parentDelegate = P._parentDelegate(implementationZone);
  19412. return implementation.$function.call$5(implementationZone, parentDelegate, this, error, stackTrace);
  19413. },
  19414. scheduleMicrotask$1: function(f) {
  19415. var implementation = this._scheduleMicrotask,
  19416. t1 = implementation.zone,
  19417. parentDelegate = P._parentDelegate(t1);
  19418. return implementation.$function.call$4(t1, parentDelegate, this, f);
  19419. },
  19420. createTimer$2: function(duration, f) {
  19421. var implementation = this._createTimer,
  19422. t1 = implementation.zone,
  19423. parentDelegate = P._parentDelegate(t1);
  19424. return implementation.$function.call$5(t1, parentDelegate, this, duration, f);
  19425. },
  19426. print$1: function(line) {
  19427. var implementation = this._print,
  19428. t1 = implementation.zone,
  19429. parentDelegate = P._parentDelegate(t1);
  19430. return implementation.$function.call$4(t1, parentDelegate, this, line);
  19431. },
  19432. get$_run: function() {
  19433. return this._run;
  19434. },
  19435. get$_runUnary: function() {
  19436. return this._runUnary;
  19437. },
  19438. get$_runBinary: function() {
  19439. return this._runBinary;
  19440. },
  19441. get$_registerCallback: function() {
  19442. return this._registerCallback;
  19443. },
  19444. get$_registerUnaryCallback: function() {
  19445. return this._registerUnaryCallback;
  19446. },
  19447. get$_registerBinaryCallback: function() {
  19448. return this._registerBinaryCallback;
  19449. },
  19450. get$_errorCallback: function() {
  19451. return this._errorCallback;
  19452. },
  19453. get$_scheduleMicrotask: function() {
  19454. return this._scheduleMicrotask;
  19455. },
  19456. get$_createTimer: function() {
  19457. return this._createTimer;
  19458. },
  19459. get$_createPeriodicTimer: function() {
  19460. return this._createPeriodicTimer;
  19461. },
  19462. get$_print: function() {
  19463. return this._print;
  19464. },
  19465. get$_fork: function() {
  19466. return this._fork;
  19467. },
  19468. get$_handleUncaughtError: function() {
  19469. return this._handleUncaughtError;
  19470. },
  19471. get$parent: function() {
  19472. return this.parent;
  19473. },
  19474. get$_async$_map: function() {
  19475. return this._async$_map;
  19476. }
  19477. };
  19478. P._CustomZone_bindCallback_closure.prototype = {
  19479. call$0: function() {
  19480. return this.$this.run$1(0, this.registered);
  19481. }
  19482. };
  19483. P._CustomZone_bindUnaryCallback_closure.prototype = {
  19484. call$1: function(arg) {
  19485. return this.$this.runUnary$2(this.registered, arg);
  19486. },
  19487. $signature: function() {
  19488. return {func: 1, ret: this.R, args: [this.T]};
  19489. }
  19490. };
  19491. P._CustomZone_bindCallbackGuarded_closure.prototype = {
  19492. call$0: function() {
  19493. return this.$this.runGuarded$1(this.registered);
  19494. },
  19495. "call*": "call$0",
  19496. $requiredArgCount: 0
  19497. };
  19498. P._rootHandleUncaughtError_closure.prototype = {
  19499. call$0: function() {
  19500. var error,
  19501. t1 = this._box_0,
  19502. t2 = t1.error;
  19503. t1 = t2 == null ? t1.error = new P.NullThrownError() : t2;
  19504. t2 = this.stackTrace;
  19505. if (t2 == null)
  19506. throw H.wrapException(t1);
  19507. error = H.wrapException(t1);
  19508. error.stack = t2.toString$0(0);
  19509. throw error;
  19510. }
  19511. };
  19512. P._RootZone.prototype = {
  19513. get$_run: function() {
  19514. return C._ZoneFunction__RootZone__rootRun;
  19515. },
  19516. get$_runUnary: function() {
  19517. return C._ZoneFunction__RootZone__rootRunUnary;
  19518. },
  19519. get$_runBinary: function() {
  19520. return C._ZoneFunction__RootZone__rootRunBinary;
  19521. },
  19522. get$_registerCallback: function() {
  19523. return C._ZoneFunction__RootZone__rootRegisterCallback;
  19524. },
  19525. get$_registerUnaryCallback: function() {
  19526. return C._ZoneFunction_Eeh;
  19527. },
  19528. get$_registerBinaryCallback: function() {
  19529. return C._ZoneFunction_7G2;
  19530. },
  19531. get$_errorCallback: function() {
  19532. return C._ZoneFunction__RootZone__rootErrorCallback;
  19533. },
  19534. get$_scheduleMicrotask: function() {
  19535. return C._ZoneFunction__RootZone__rootScheduleMicrotask;
  19536. },
  19537. get$_createTimer: function() {
  19538. return C._ZoneFunction__RootZone__rootCreateTimer;
  19539. },
  19540. get$_createPeriodicTimer: function() {
  19541. return C._ZoneFunction_3bB;
  19542. },
  19543. get$_print: function() {
  19544. return C._ZoneFunction__RootZone__rootPrint;
  19545. },
  19546. get$_fork: function() {
  19547. return C._ZoneFunction__RootZone__rootFork;
  19548. },
  19549. get$_handleUncaughtError: function() {
  19550. return C._ZoneFunction_NMc;
  19551. },
  19552. get$parent: function() {
  19553. return;
  19554. },
  19555. get$_async$_map: function() {
  19556. return $.$get$_RootZone__rootMap();
  19557. },
  19558. get$_delegate: function() {
  19559. var t1 = $._RootZone__rootDelegate;
  19560. if (t1 != null)
  19561. return t1;
  19562. return $._RootZone__rootDelegate = new P._ZoneDelegate(this);
  19563. },
  19564. get$errorZone: function() {
  19565. return this;
  19566. },
  19567. runGuarded$1: function(f) {
  19568. var e, s, exception, _null = null;
  19569. try {
  19570. if (C.C__RootZone === $.Zone__current) {
  19571. f.call$0();
  19572. return;
  19573. }
  19574. P._rootRun(_null, _null, this, f);
  19575. } catch (exception) {
  19576. e = H.unwrapException(exception);
  19577. s = H.getTraceFromException(exception);
  19578. P._rootHandleUncaughtError(_null, _null, this, e, s);
  19579. }
  19580. },
  19581. runUnaryGuarded$1$2: function(f, arg) {
  19582. var e, s, exception, _null = null;
  19583. try {
  19584. if (C.C__RootZone === $.Zone__current) {
  19585. f.call$1(arg);
  19586. return;
  19587. }
  19588. P._rootRunUnary(_null, _null, this, f, arg);
  19589. } catch (exception) {
  19590. e = H.unwrapException(exception);
  19591. s = H.getTraceFromException(exception);
  19592. P._rootHandleUncaughtError(_null, _null, this, e, s);
  19593. }
  19594. },
  19595. runUnaryGuarded$2: function(f, arg) {
  19596. return this.runUnaryGuarded$1$2(f, arg, null);
  19597. },
  19598. runBinaryGuarded$2$3: function(f, arg1, arg2) {
  19599. var e, s, exception, _null = null;
  19600. try {
  19601. if (C.C__RootZone === $.Zone__current) {
  19602. f.call$2(arg1, arg2);
  19603. return;
  19604. }
  19605. P._rootRunBinary(_null, _null, this, f, arg1, arg2);
  19606. } catch (exception) {
  19607. e = H.unwrapException(exception);
  19608. s = H.getTraceFromException(exception);
  19609. P._rootHandleUncaughtError(_null, _null, this, e, s);
  19610. }
  19611. },
  19612. runBinaryGuarded$3: function(f, arg1, arg2) {
  19613. return this.runBinaryGuarded$2$3(f, arg1, arg2, null, null);
  19614. },
  19615. bindCallback$1$1: function(f) {
  19616. return new P._RootZone_bindCallback_closure(this, f);
  19617. },
  19618. bindCallback$1: function(f) {
  19619. return this.bindCallback$1$1(f, null);
  19620. },
  19621. bindCallbackGuarded$1: function(f) {
  19622. return new P._RootZone_bindCallbackGuarded_closure(this, f);
  19623. },
  19624. $index: function(_, key) {
  19625. return;
  19626. },
  19627. handleUncaughtError$2: function(error, stackTrace) {
  19628. P._rootHandleUncaughtError(null, null, this, error, stackTrace);
  19629. },
  19630. fork$2$specification$zoneValues: function(specification, zoneValues) {
  19631. return P._rootFork(null, null, this, specification, zoneValues);
  19632. },
  19633. run$1$1: function(_, f) {
  19634. if ($.Zone__current === C.C__RootZone)
  19635. return f.call$0();
  19636. return P._rootRun(null, null, this, f);
  19637. },
  19638. run$1: function($receiver, f) {
  19639. return this.run$1$1($receiver, f, null);
  19640. },
  19641. runUnary$2$2: function(f, arg) {
  19642. if ($.Zone__current === C.C__RootZone)
  19643. return f.call$1(arg);
  19644. return P._rootRunUnary(null, null, this, f, arg);
  19645. },
  19646. runUnary$2: function(f, arg) {
  19647. return this.runUnary$2$2(f, arg, null, null);
  19648. },
  19649. runBinary$3$3: function(f, arg1, arg2) {
  19650. if ($.Zone__current === C.C__RootZone)
  19651. return f.call$2(arg1, arg2);
  19652. return P._rootRunBinary(null, null, this, f, arg1, arg2);
  19653. },
  19654. runBinary$3: function(f, arg1, arg2) {
  19655. return this.runBinary$3$3(f, arg1, arg2, null, null, null);
  19656. },
  19657. registerCallback$1$1: function(f) {
  19658. return f;
  19659. },
  19660. registerCallback$1: function(f) {
  19661. return this.registerCallback$1$1(f, null);
  19662. },
  19663. registerUnaryCallback$2$1: function(f) {
  19664. return f;
  19665. },
  19666. registerUnaryCallback$1: function(f) {
  19667. return this.registerUnaryCallback$2$1(f, null, null);
  19668. },
  19669. registerBinaryCallback$3$1: function(f) {
  19670. return f;
  19671. },
  19672. registerBinaryCallback$1: function(f) {
  19673. return this.registerBinaryCallback$3$1(f, null, null, null);
  19674. },
  19675. errorCallback$2: function(error, stackTrace) {
  19676. return;
  19677. },
  19678. scheduleMicrotask$1: function(f) {
  19679. P._rootScheduleMicrotask(null, null, this, f);
  19680. },
  19681. createTimer$2: function(duration, f) {
  19682. return P.Timer__createTimer(duration, f);
  19683. },
  19684. print$1: function(line) {
  19685. H.printString(line);
  19686. }
  19687. };
  19688. P._RootZone_bindCallback_closure.prototype = {
  19689. call$0: function() {
  19690. return this.$this.run$1(0, this.f);
  19691. }
  19692. };
  19693. P._RootZone_bindCallbackGuarded_closure.prototype = {
  19694. call$0: function() {
  19695. return this.$this.runGuarded$1(this.f);
  19696. },
  19697. "call*": "call$0",
  19698. $requiredArgCount: 0
  19699. };
  19700. P._HashMap.prototype = {
  19701. get$length: function(_) {
  19702. return this._collection$_length;
  19703. },
  19704. get$isEmpty: function(_) {
  19705. return this._collection$_length === 0;
  19706. },
  19707. get$isNotEmpty: function(_) {
  19708. return this._collection$_length !== 0;
  19709. },
  19710. get$keys: function() {
  19711. return new P._HashMapKeyIterable(this, [H.getTypeArgumentByIndex(this, 0)]);
  19712. },
  19713. get$values: function() {
  19714. var _this = this,
  19715. t1 = H.getTypeArgumentByIndex(_this, 0);
  19716. return H.MappedIterable_MappedIterable(new P._HashMapKeyIterable(_this, [t1]), new P._HashMap_values_closure(_this), t1, H.getTypeArgumentByIndex(_this, 1));
  19717. },
  19718. containsKey$1: function(key) {
  19719. var strings, nums;
  19720. if (typeof key === "string" && key !== "__proto__") {
  19721. strings = this._collection$_strings;
  19722. return strings == null ? false : strings[key] != null;
  19723. } else if (typeof key === "number" && (key & 1073741823) === key) {
  19724. nums = this._collection$_nums;
  19725. return nums == null ? false : nums[key] != null;
  19726. } else
  19727. return this._containsKey$1(key);
  19728. },
  19729. _containsKey$1: function(key) {
  19730. var rest = this._collection$_rest;
  19731. if (rest == null)
  19732. return false;
  19733. return this._findBucketIndex$2(this._getBucket$2(rest, key), key) >= 0;
  19734. },
  19735. addAll$1: function(_, other) {
  19736. other.forEach$1(0, new P._HashMap_addAll_closure(this));
  19737. },
  19738. $index: function(_, key) {
  19739. var strings, t1, nums;
  19740. if (typeof key === "string" && key !== "__proto__") {
  19741. strings = this._collection$_strings;
  19742. t1 = strings == null ? null : P._HashMap__getTableEntry(strings, key);
  19743. return t1;
  19744. } else if (typeof key === "number" && (key & 1073741823) === key) {
  19745. nums = this._collection$_nums;
  19746. t1 = nums == null ? null : P._HashMap__getTableEntry(nums, key);
  19747. return t1;
  19748. } else
  19749. return this._get$1(key);
  19750. },
  19751. _get$1: function(key) {
  19752. var bucket, index,
  19753. rest = this._collection$_rest;
  19754. if (rest == null)
  19755. return;
  19756. bucket = this._getBucket$2(rest, key);
  19757. index = this._findBucketIndex$2(bucket, key);
  19758. return index < 0 ? null : bucket[index + 1];
  19759. },
  19760. $indexSet: function(_, key, value) {
  19761. var strings, nums, _this = this;
  19762. if (typeof key === "string" && key !== "__proto__") {
  19763. strings = _this._collection$_strings;
  19764. _this._collection$_addHashTableEntry$3(strings == null ? _this._collection$_strings = P._HashMap__newHashTable() : strings, key, value);
  19765. } else if (typeof key === "number" && (key & 1073741823) === key) {
  19766. nums = _this._collection$_nums;
  19767. _this._collection$_addHashTableEntry$3(nums == null ? _this._collection$_nums = P._HashMap__newHashTable() : nums, key, value);
  19768. } else
  19769. _this._set$2(key, value);
  19770. },
  19771. _set$2: function(key, value) {
  19772. var hash, bucket, index, _this = this,
  19773. rest = _this._collection$_rest;
  19774. if (rest == null)
  19775. rest = _this._collection$_rest = P._HashMap__newHashTable();
  19776. hash = _this._computeHashCode$1(key);
  19777. bucket = rest[hash];
  19778. if (bucket == null) {
  19779. P._HashMap__setTableEntry(rest, hash, [key, value]);
  19780. ++_this._collection$_length;
  19781. _this._collection$_keys = null;
  19782. } else {
  19783. index = _this._findBucketIndex$2(bucket, key);
  19784. if (index >= 0)
  19785. bucket[index + 1] = value;
  19786. else {
  19787. bucket.push(key, value);
  19788. ++_this._collection$_length;
  19789. _this._collection$_keys = null;
  19790. }
  19791. }
  19792. },
  19793. putIfAbsent$2: function(key, ifAbsent) {
  19794. var value;
  19795. if (this.containsKey$1(key))
  19796. return this.$index(0, key);
  19797. value = ifAbsent.call$0();
  19798. this.$indexSet(0, key, value);
  19799. return value;
  19800. },
  19801. remove$1: function(_, key) {
  19802. var t1;
  19803. if (typeof key === "string" && key !== "__proto__")
  19804. return this._removeHashTableEntry$2(this._collection$_strings, key);
  19805. else {
  19806. t1 = this._remove$1(key);
  19807. return t1;
  19808. }
  19809. },
  19810. _remove$1: function(key) {
  19811. var bucket, index, _this = this,
  19812. rest = _this._collection$_rest;
  19813. if (rest == null)
  19814. return;
  19815. bucket = _this._getBucket$2(rest, key);
  19816. index = _this._findBucketIndex$2(bucket, key);
  19817. if (index < 0)
  19818. return;
  19819. --_this._collection$_length;
  19820. _this._collection$_keys = null;
  19821. return bucket.splice(index, 2)[1];
  19822. },
  19823. forEach$1: function(_, action) {
  19824. var $length, i, key, _this = this,
  19825. keys = _this._computeKeys$0();
  19826. for ($length = keys.length, i = 0; i < $length; ++i) {
  19827. key = keys[i];
  19828. action.call$2(key, _this.$index(0, key));
  19829. if (keys !== _this._collection$_keys)
  19830. throw H.wrapException(P.ConcurrentModificationError$(_this));
  19831. }
  19832. },
  19833. _computeKeys$0: function() {
  19834. var result, strings, names, entries, index, i, nums, rest, bucket, $length, i0, _this = this,
  19835. t1 = _this._collection$_keys;
  19836. if (t1 != null)
  19837. return t1;
  19838. result = new Array(_this._collection$_length);
  19839. result.fixed$length = Array;
  19840. strings = _this._collection$_strings;
  19841. if (strings != null) {
  19842. names = Object.getOwnPropertyNames(strings);
  19843. entries = names.length;
  19844. for (index = 0, i = 0; i < entries; ++i) {
  19845. result[index] = names[i];
  19846. ++index;
  19847. }
  19848. } else
  19849. index = 0;
  19850. nums = _this._collection$_nums;
  19851. if (nums != null) {
  19852. names = Object.getOwnPropertyNames(nums);
  19853. entries = names.length;
  19854. for (i = 0; i < entries; ++i) {
  19855. result[index] = +names[i];
  19856. ++index;
  19857. }
  19858. }
  19859. rest = _this._collection$_rest;
  19860. if (rest != null) {
  19861. names = Object.getOwnPropertyNames(rest);
  19862. entries = names.length;
  19863. for (i = 0; i < entries; ++i) {
  19864. bucket = rest[names[i]];
  19865. $length = bucket.length;
  19866. for (i0 = 0; i0 < $length; i0 += 2) {
  19867. result[index] = bucket[i0];
  19868. ++index;
  19869. }
  19870. }
  19871. }
  19872. return _this._collection$_keys = result;
  19873. },
  19874. _collection$_addHashTableEntry$3: function(table, key, value) {
  19875. if (table[key] == null) {
  19876. ++this._collection$_length;
  19877. this._collection$_keys = null;
  19878. }
  19879. P._HashMap__setTableEntry(table, key, value);
  19880. },
  19881. _removeHashTableEntry$2: function(table, key) {
  19882. var value;
  19883. if (table != null && table[key] != null) {
  19884. value = P._HashMap__getTableEntry(table, key);
  19885. delete table[key];
  19886. --this._collection$_length;
  19887. this._collection$_keys = null;
  19888. return value;
  19889. } else
  19890. return;
  19891. },
  19892. _computeHashCode$1: function(key) {
  19893. return J.get$hashCode$(key) & 1073741823;
  19894. },
  19895. _getBucket$2: function(table, key) {
  19896. return table[this._computeHashCode$1(key)];
  19897. },
  19898. _findBucketIndex$2: function(bucket, key) {
  19899. var $length, i;
  19900. if (bucket == null)
  19901. return -1;
  19902. $length = bucket.length;
  19903. for (i = 0; i < $length; i += 2)
  19904. if (J.$eq$(bucket[i], key))
  19905. return i;
  19906. return -1;
  19907. }
  19908. };
  19909. P._HashMap_values_closure.prototype = {
  19910. call$1: function(each) {
  19911. return this.$this.$index(0, each);
  19912. },
  19913. $signature: function() {
  19914. var t1 = this.$this;
  19915. return {func: 1, ret: H.getTypeArgumentByIndex(t1, 1), args: [H.getTypeArgumentByIndex(t1, 0)]};
  19916. }
  19917. };
  19918. P._HashMap_addAll_closure.prototype = {
  19919. call$2: function(key, value) {
  19920. this.$this.$indexSet(0, key, value);
  19921. },
  19922. $signature: function() {
  19923. var t1 = this.$this;
  19924. return {func: 1, ret: P.Null, args: [H.getTypeArgumentByIndex(t1, 0), H.getTypeArgumentByIndex(t1, 1)]};
  19925. }
  19926. };
  19927. P._HashMapKeyIterable.prototype = {
  19928. get$length: function(_) {
  19929. return this._collection$_map._collection$_length;
  19930. },
  19931. get$isEmpty: function(_) {
  19932. return this._collection$_map._collection$_length === 0;
  19933. },
  19934. get$iterator: function(_) {
  19935. var t1 = this._collection$_map;
  19936. return new P._HashMapKeyIterator(t1, t1._computeKeys$0());
  19937. },
  19938. contains$1: function(_, element) {
  19939. return this._collection$_map.containsKey$1(element);
  19940. }
  19941. };
  19942. P._HashMapKeyIterator.prototype = {
  19943. get$current: function(_) {
  19944. return this._collection$_current;
  19945. },
  19946. moveNext$0: function() {
  19947. var _this = this,
  19948. keys = _this._collection$_keys,
  19949. offset = _this._offset,
  19950. t1 = _this._collection$_map;
  19951. if (keys !== t1._collection$_keys)
  19952. throw H.wrapException(P.ConcurrentModificationError$(t1));
  19953. else if (offset >= keys.length) {
  19954. _this._collection$_current = null;
  19955. return false;
  19956. } else {
  19957. _this._collection$_current = keys[offset];
  19958. _this._offset = offset + 1;
  19959. return true;
  19960. }
  19961. }
  19962. };
  19963. P._LinkedIdentityHashMap.prototype = {
  19964. internalComputeHashCode$1: function(key) {
  19965. return H.objectHashCode(key) & 1073741823;
  19966. },
  19967. internalFindBucketIndex$2: function(bucket, key) {
  19968. var $length, i, t1;
  19969. if (bucket == null)
  19970. return -1;
  19971. $length = bucket.length;
  19972. for (i = 0; i < $length; ++i) {
  19973. t1 = bucket[i].hashMapCellKey;
  19974. if (t1 == null ? key == null : t1 === key)
  19975. return i;
  19976. }
  19977. return -1;
  19978. }
  19979. };
  19980. P._LinkedCustomHashMap.prototype = {
  19981. $index: function(_, key) {
  19982. if (!this._validKey.call$1(key))
  19983. return;
  19984. return this.super$JsLinkedHashMap$internalGet(key);
  19985. },
  19986. $indexSet: function(_, key, value) {
  19987. this.super$JsLinkedHashMap$internalSet(key, value);
  19988. },
  19989. containsKey$1: function(key) {
  19990. if (!this._validKey.call$1(key))
  19991. return false;
  19992. return this.super$JsLinkedHashMap$internalContainsKey(key);
  19993. },
  19994. remove$1: function(_, key) {
  19995. if (!this._validKey.call$1(key))
  19996. return;
  19997. return this.super$JsLinkedHashMap$internalRemove(key);
  19998. },
  19999. internalComputeHashCode$1: function(key) {
  20000. return this._collection$_hashCode.call$1(key) & 1073741823;
  20001. },
  20002. internalFindBucketIndex$2: function(bucket, key) {
  20003. var $length, t1, i;
  20004. if (bucket == null)
  20005. return -1;
  20006. $length = bucket.length;
  20007. for (t1 = this._equals, i = 0; i < $length; ++i)
  20008. if (t1.call$2(bucket[i].hashMapCellKey, key))
  20009. return i;
  20010. return -1;
  20011. }
  20012. };
  20013. P._LinkedCustomHashMap_closure.prototype = {
  20014. call$1: function(v) {
  20015. return H.checkSubtypeOfRuntimeType(v, this.K);
  20016. },
  20017. $signature: 19
  20018. };
  20019. P._LinkedHashSet.prototype = {
  20020. _newSet$0: function() {
  20021. return new P._LinkedHashSet(this.$ti);
  20022. },
  20023. _newSimilarSet$1$0: function($R) {
  20024. return new P._LinkedHashSet([$R]);
  20025. },
  20026. _newSimilarSet$0: function() {
  20027. return this._newSimilarSet$1$0(null);
  20028. },
  20029. get$iterator: function(_) {
  20030. var t1 = new P._LinkedHashSetIterator(this, this._collection$_modifications);
  20031. t1._collection$_cell = this._collection$_first;
  20032. return t1;
  20033. },
  20034. get$length: function(_) {
  20035. return this._collection$_length;
  20036. },
  20037. get$isEmpty: function(_) {
  20038. return this._collection$_length === 0;
  20039. },
  20040. get$isNotEmpty: function(_) {
  20041. return this._collection$_length !== 0;
  20042. },
  20043. contains$1: function(_, object) {
  20044. var strings, nums;
  20045. if (typeof object === "string" && object !== "__proto__") {
  20046. strings = this._collection$_strings;
  20047. if (strings == null)
  20048. return false;
  20049. return strings[object] != null;
  20050. } else if (typeof object === "number" && (object & 1073741823) === object) {
  20051. nums = this._collection$_nums;
  20052. if (nums == null)
  20053. return false;
  20054. return nums[object] != null;
  20055. } else
  20056. return this._contains$1(object);
  20057. },
  20058. _contains$1: function(object) {
  20059. var rest = this._collection$_rest;
  20060. if (rest == null)
  20061. return false;
  20062. return this._findBucketIndex$2(this._getBucket$2(rest, object), object) >= 0;
  20063. },
  20064. get$first: function(_) {
  20065. var t1 = this._collection$_first;
  20066. if (t1 == null)
  20067. throw H.wrapException(P.StateError$("No elements"));
  20068. return t1._element;
  20069. },
  20070. get$last: function(_) {
  20071. var t1 = this._collection$_last;
  20072. if (t1 == null)
  20073. throw H.wrapException(P.StateError$("No elements"));
  20074. return t1._element;
  20075. },
  20076. add$1: function(_, element) {
  20077. var strings, nums, _this = this;
  20078. if (typeof element === "string" && element !== "__proto__") {
  20079. strings = _this._collection$_strings;
  20080. return _this._collection$_addHashTableEntry$2(strings == null ? _this._collection$_strings = P._LinkedHashSet__newHashTable() : strings, element);
  20081. } else if (typeof element === "number" && (element & 1073741823) === element) {
  20082. nums = _this._collection$_nums;
  20083. return _this._collection$_addHashTableEntry$2(nums == null ? _this._collection$_nums = P._LinkedHashSet__newHashTable() : nums, element);
  20084. } else
  20085. return _this._collection$_add$1(element);
  20086. },
  20087. _collection$_add$1: function(element) {
  20088. var hash, bucket, _this = this,
  20089. rest = _this._collection$_rest;
  20090. if (rest == null)
  20091. rest = _this._collection$_rest = P._LinkedHashSet__newHashTable();
  20092. hash = _this._computeHashCode$1(element);
  20093. bucket = rest[hash];
  20094. if (bucket == null)
  20095. rest[hash] = [_this._collection$_newLinkedCell$1(element)];
  20096. else {
  20097. if (_this._findBucketIndex$2(bucket, element) >= 0)
  20098. return false;
  20099. bucket.push(_this._collection$_newLinkedCell$1(element));
  20100. }
  20101. return true;
  20102. },
  20103. remove$1: function(_, object) {
  20104. var _this = this;
  20105. if (typeof object === "string" && object !== "__proto__")
  20106. return _this._removeHashTableEntry$2(_this._collection$_strings, object);
  20107. else if (typeof object === "number" && (object & 1073741823) === object)
  20108. return _this._removeHashTableEntry$2(_this._collection$_nums, object);
  20109. else
  20110. return _this._remove$1(object);
  20111. },
  20112. _remove$1: function(object) {
  20113. var bucket, index, _this = this,
  20114. rest = _this._collection$_rest;
  20115. if (rest == null)
  20116. return false;
  20117. bucket = _this._getBucket$2(rest, object);
  20118. index = _this._findBucketIndex$2(bucket, object);
  20119. if (index < 0)
  20120. return false;
  20121. _this._unlinkCell$1(bucket.splice(index, 1)[0]);
  20122. return true;
  20123. },
  20124. _collection$_addHashTableEntry$2: function(table, element) {
  20125. if (table[element] != null)
  20126. return false;
  20127. table[element] = this._collection$_newLinkedCell$1(element);
  20128. return true;
  20129. },
  20130. _removeHashTableEntry$2: function(table, element) {
  20131. var cell;
  20132. if (table == null)
  20133. return false;
  20134. cell = table[element];
  20135. if (cell == null)
  20136. return false;
  20137. this._unlinkCell$1(cell);
  20138. delete table[element];
  20139. return true;
  20140. },
  20141. _collection$_modified$0: function() {
  20142. this._collection$_modifications = 1073741823 & this._collection$_modifications + 1;
  20143. },
  20144. _collection$_newLinkedCell$1: function(element) {
  20145. var last, _this = this,
  20146. cell = new P._LinkedHashSetCell(element);
  20147. if (_this._collection$_first == null)
  20148. _this._collection$_first = _this._collection$_last = cell;
  20149. else {
  20150. last = _this._collection$_last;
  20151. cell._collection$_previous = last;
  20152. _this._collection$_last = last._collection$_next = cell;
  20153. }
  20154. ++_this._collection$_length;
  20155. _this._collection$_modified$0();
  20156. return cell;
  20157. },
  20158. _unlinkCell$1: function(cell) {
  20159. var _this = this,
  20160. previous = cell._collection$_previous,
  20161. next = cell._collection$_next;
  20162. if (previous == null)
  20163. _this._collection$_first = next;
  20164. else
  20165. previous._collection$_next = next;
  20166. if (next == null)
  20167. _this._collection$_last = previous;
  20168. else
  20169. next._collection$_previous = previous;
  20170. --_this._collection$_length;
  20171. _this._collection$_modified$0();
  20172. },
  20173. _computeHashCode$1: function(element) {
  20174. return J.get$hashCode$(element) & 1073741823;
  20175. },
  20176. _getBucket$2: function(table, element) {
  20177. return table[this._computeHashCode$1(element)];
  20178. },
  20179. _findBucketIndex$2: function(bucket, element) {
  20180. var $length, i;
  20181. if (bucket == null)
  20182. return -1;
  20183. $length = bucket.length;
  20184. for (i = 0; i < $length; ++i)
  20185. if (J.$eq$(bucket[i]._element, element))
  20186. return i;
  20187. return -1;
  20188. }
  20189. };
  20190. P._LinkedIdentityHashSet.prototype = {
  20191. _newSet$0: function() {
  20192. return new P._LinkedIdentityHashSet(this.$ti);
  20193. },
  20194. _newSimilarSet$1$0: function($R) {
  20195. return new P._LinkedIdentityHashSet([$R]);
  20196. },
  20197. _newSimilarSet$0: function() {
  20198. return this._newSimilarSet$1$0(null);
  20199. },
  20200. _computeHashCode$1: function(key) {
  20201. return H.objectHashCode(key) & 1073741823;
  20202. },
  20203. _findBucketIndex$2: function(bucket, element) {
  20204. var $length, i, t1;
  20205. if (bucket == null)
  20206. return -1;
  20207. $length = bucket.length;
  20208. for (i = 0; i < $length; ++i) {
  20209. t1 = bucket[i]._element;
  20210. if (t1 == null ? element == null : t1 === element)
  20211. return i;
  20212. }
  20213. return -1;
  20214. }
  20215. };
  20216. P._LinkedHashSetCell.prototype = {};
  20217. P._LinkedHashSetIterator.prototype = {
  20218. get$current: function(_) {
  20219. return this._collection$_current;
  20220. },
  20221. moveNext$0: function() {
  20222. var _this = this,
  20223. t1 = _this._set;
  20224. if (_this._collection$_modifications !== t1._collection$_modifications)
  20225. throw H.wrapException(P.ConcurrentModificationError$(t1));
  20226. else {
  20227. t1 = _this._collection$_cell;
  20228. if (t1 == null) {
  20229. _this._collection$_current = null;
  20230. return false;
  20231. } else {
  20232. _this._collection$_current = t1._element;
  20233. _this._collection$_cell = t1._collection$_next;
  20234. return true;
  20235. }
  20236. }
  20237. }
  20238. };
  20239. P.UnmodifiableListView.prototype = {
  20240. cast$1$0: function(_, $R) {
  20241. return new P.UnmodifiableListView(J.cast$1$0$ax(this._collection$_source, $R), [$R]);
  20242. },
  20243. get$length: function(_) {
  20244. return J.get$length$asx(this._collection$_source);
  20245. },
  20246. $index: function(_, index) {
  20247. return J.elementAt$1$ax(this._collection$_source, index);
  20248. }
  20249. };
  20250. P.HashMap_HashMap$from_closure.prototype = {
  20251. call$2: function(k, v) {
  20252. this.result.$indexSet(0, k, v);
  20253. },
  20254. $signature: 12
  20255. };
  20256. P.IterableBase.prototype = {};
  20257. P.LinkedHashMap_LinkedHashMap$from_closure.prototype = {
  20258. call$2: function(k, v) {
  20259. this.result.$indexSet(0, k, v);
  20260. },
  20261. $signature: 12
  20262. };
  20263. P.ListBase.prototype = {$isEfficientLengthIterable: 1, $isIterable: 1, $isList: 1};
  20264. P.ListMixin.prototype = {
  20265. get$iterator: function(receiver) {
  20266. return new H.ListIterator(receiver, this.get$length(receiver));
  20267. },
  20268. elementAt$1: function(receiver, index) {
  20269. return this.$index(receiver, index);
  20270. },
  20271. get$isEmpty: function(receiver) {
  20272. return this.get$length(receiver) === 0;
  20273. },
  20274. get$isNotEmpty: function(receiver) {
  20275. return !this.get$isEmpty(receiver);
  20276. },
  20277. get$first: function(receiver) {
  20278. if (this.get$length(receiver) === 0)
  20279. throw H.wrapException(H.IterableElementError_noElement());
  20280. return this.$index(receiver, 0);
  20281. },
  20282. get$last: function(receiver) {
  20283. if (this.get$length(receiver) === 0)
  20284. throw H.wrapException(H.IterableElementError_noElement());
  20285. return this.$index(receiver, this.get$length(receiver) - 1);
  20286. },
  20287. get$single: function(receiver) {
  20288. if (this.get$length(receiver) === 0)
  20289. throw H.wrapException(H.IterableElementError_noElement());
  20290. if (this.get$length(receiver) > 1)
  20291. throw H.wrapException(H.IterableElementError_tooMany());
  20292. return this.$index(receiver, 0);
  20293. },
  20294. contains$1: function(receiver, element) {
  20295. var i,
  20296. $length = this.get$length(receiver);
  20297. for (i = 0; i < $length; ++i) {
  20298. if (J.$eq$(this.$index(receiver, i), element))
  20299. return true;
  20300. if ($length !== this.get$length(receiver))
  20301. throw H.wrapException(P.ConcurrentModificationError$(receiver));
  20302. }
  20303. return false;
  20304. },
  20305. every$1: function(receiver, test) {
  20306. var i,
  20307. $length = this.get$length(receiver);
  20308. for (i = 0; i < $length; ++i) {
  20309. if (!test.call$1(this.$index(receiver, i)))
  20310. return false;
  20311. if ($length !== this.get$length(receiver))
  20312. throw H.wrapException(P.ConcurrentModificationError$(receiver));
  20313. }
  20314. return true;
  20315. },
  20316. any$1: function(receiver, test) {
  20317. var i,
  20318. $length = this.get$length(receiver);
  20319. for (i = 0; i < $length; ++i) {
  20320. if (test.call$1(this.$index(receiver, i)))
  20321. return true;
  20322. if ($length !== this.get$length(receiver))
  20323. throw H.wrapException(P.ConcurrentModificationError$(receiver));
  20324. }
  20325. return false;
  20326. },
  20327. join$1: function(receiver, separator) {
  20328. var t1;
  20329. if (this.get$length(receiver) === 0)
  20330. return "";
  20331. t1 = P.StringBuffer__writeAll("", receiver, separator);
  20332. return t1.charCodeAt(0) == 0 ? t1 : t1;
  20333. },
  20334. join$0: function($receiver) {
  20335. return this.join$1($receiver, "");
  20336. },
  20337. where$1: function(receiver, test) {
  20338. return new H.WhereIterable(receiver, test, [H.getRuntimeTypeArgumentIntercepted(this, receiver, "ListMixin", 0)]);
  20339. },
  20340. map$1$1: function(receiver, f, $T) {
  20341. return new H.MappedListIterable(receiver, f, [H.getRuntimeTypeArgumentIntercepted(this, receiver, "ListMixin", 0), $T]);
  20342. },
  20343. expand$1$1: function(receiver, f, $T) {
  20344. return new H.ExpandIterable(receiver, f, [H.getRuntimeTypeArgumentIntercepted(this, receiver, "ListMixin", 0), $T]);
  20345. },
  20346. skip$1: function(receiver, count) {
  20347. return H.SubListIterable$(receiver, count, null, H.getRuntimeTypeArgumentIntercepted(this, receiver, "ListMixin", 0));
  20348. },
  20349. take$1: function(receiver, count) {
  20350. return H.SubListIterable$(receiver, 0, count, H.getRuntimeTypeArgumentIntercepted(this, receiver, "ListMixin", 0));
  20351. },
  20352. toList$1$growable: function(receiver, growable) {
  20353. var i, _this = this,
  20354. result = H.setRuntimeTypeInfo([], [H.getRuntimeTypeArgumentIntercepted(_this, receiver, "ListMixin", 0)]);
  20355. C.JSArray_methods.set$length(result, _this.get$length(receiver));
  20356. for (i = 0; i < _this.get$length(receiver); ++i)
  20357. result[i] = _this.$index(receiver, i);
  20358. return result;
  20359. },
  20360. toList$0: function($receiver) {
  20361. return this.toList$1$growable($receiver, true);
  20362. },
  20363. toSet$0: function(receiver) {
  20364. var i,
  20365. result = P.LinkedHashSet_LinkedHashSet(H.getRuntimeTypeArgumentIntercepted(this, receiver, "ListMixin", 0));
  20366. for (i = 0; i < this.get$length(receiver); ++i)
  20367. result.add$1(0, this.$index(receiver, i));
  20368. return result;
  20369. },
  20370. add$1: function(receiver, element) {
  20371. var t1 = this.get$length(receiver);
  20372. this.set$length(receiver, t1 + 1);
  20373. this.$indexSet(receiver, t1, element);
  20374. },
  20375. cast$1$0: function(receiver, $R) {
  20376. return new H.CastList(receiver, [H.getRuntimeTypeArgumentIntercepted(this, receiver, "ListMixin", 0), $R]);
  20377. },
  20378. sublist$2: function(receiver, start, end) {
  20379. var $length, result, i,
  20380. listLength = this.get$length(receiver);
  20381. P.RangeError_checkValidRange(start, end, listLength);
  20382. $length = end - start;
  20383. result = H.setRuntimeTypeInfo([], [H.getRuntimeTypeArgumentIntercepted(this, receiver, "ListMixin", 0)]);
  20384. C.JSArray_methods.set$length(result, $length);
  20385. for (i = 0; i < $length; ++i)
  20386. result[i] = this.$index(receiver, start + i);
  20387. return result;
  20388. },
  20389. getRange$2: function(receiver, start, end) {
  20390. P.RangeError_checkValidRange(start, end, this.get$length(receiver));
  20391. return H.SubListIterable$(receiver, start, end, H.getRuntimeTypeArgumentIntercepted(this, receiver, "ListMixin", 0));
  20392. },
  20393. fillRange$3: function(receiver, start, end, fill) {
  20394. var i;
  20395. P.RangeError_checkValidRange(start, end, this.get$length(receiver));
  20396. for (i = start; i < end; ++i)
  20397. this.$indexSet(receiver, i, fill);
  20398. },
  20399. setRange$4: function(receiver, start, end, iterable, skipCount) {
  20400. var $length, otherStart, otherList, t1, i, _this = this;
  20401. P.RangeError_checkValidRange(start, end, _this.get$length(receiver));
  20402. $length = end - start;
  20403. if ($length === 0)
  20404. return;
  20405. P.RangeError_checkNotNegative(skipCount, "skipCount");
  20406. if (H.checkSubtype(iterable, "$isList", [H.getRuntimeTypeArgumentIntercepted(_this, receiver, "ListMixin", 0)], "$asList")) {
  20407. otherStart = skipCount;
  20408. otherList = iterable;
  20409. } else {
  20410. otherList = J.skip$1$ax(iterable, skipCount).toList$1$growable(0, false);
  20411. otherStart = 0;
  20412. }
  20413. t1 = J.getInterceptor$asx(otherList);
  20414. if (otherStart + $length > t1.get$length(otherList))
  20415. throw H.wrapException(H.IterableElementError_tooFew());
  20416. if (otherStart < start)
  20417. for (i = $length - 1; i >= 0; --i)
  20418. _this.$indexSet(receiver, start + i, t1.$index(otherList, otherStart + i));
  20419. else
  20420. for (i = 0; i < $length; ++i)
  20421. _this.$indexSet(receiver, start + i, t1.$index(otherList, otherStart + i));
  20422. },
  20423. get$reversed: function(receiver) {
  20424. return new H.ReversedListIterable(receiver, [H.getRuntimeTypeArgumentIntercepted(this, receiver, "ListMixin", 0)]);
  20425. },
  20426. toString$0: function(receiver) {
  20427. return P.IterableBase_iterableToFullString(receiver, "[", "]");
  20428. }
  20429. };
  20430. P.MapBase.prototype = {};
  20431. P.MapBase_mapToString_closure.prototype = {
  20432. call$2: function(k, v) {
  20433. var t2,
  20434. t1 = this._box_0;
  20435. if (!t1.first)
  20436. this.result._contents += ", ";
  20437. t1.first = false;
  20438. t1 = this.result;
  20439. t2 = t1._contents += H.S(k);
  20440. t1._contents = t2 + ": ";
  20441. t1._contents += H.S(v);
  20442. },
  20443. $signature: 12
  20444. };
  20445. P.MapMixin.prototype = {
  20446. forEach$1: function(_, action) {
  20447. var t1, key;
  20448. for (t1 = J.get$iterator$ax(this.get$keys()); t1.moveNext$0();) {
  20449. key = t1.get$current(t1);
  20450. action.call$2(key, this.$index(0, key));
  20451. }
  20452. },
  20453. addAll$1: function(_, other) {
  20454. var t1, key;
  20455. for (t1 = J.get$iterator$ax(other.get$keys()); t1.moveNext$0();) {
  20456. key = t1.get$current(t1);
  20457. this.$indexSet(0, key, other.$index(0, key));
  20458. }
  20459. },
  20460. putIfAbsent$2: function(key, ifAbsent) {
  20461. var t1;
  20462. if (this.containsKey$1(key))
  20463. return this.$index(0, key);
  20464. t1 = ifAbsent.call$0();
  20465. this.$indexSet(0, key, t1);
  20466. return t1;
  20467. },
  20468. get$entries: function() {
  20469. var _this = this;
  20470. return J.map$1$1$ax(_this.get$keys(), new P.MapMixin_entries_closure(_this), [P.MapEntry, H.getRuntimeTypeArgument(_this, "MapMixin", 0), H.getRuntimeTypeArgument(_this, "MapMixin", 1)]);
  20471. },
  20472. containsKey$1: function(key) {
  20473. return J.contains$1$asx(this.get$keys(), key);
  20474. },
  20475. get$length: function(_) {
  20476. return J.get$length$asx(this.get$keys());
  20477. },
  20478. get$isEmpty: function(_) {
  20479. return J.get$isEmpty$asx(this.get$keys());
  20480. },
  20481. get$isNotEmpty: function(_) {
  20482. return J.get$isNotEmpty$asx(this.get$keys());
  20483. },
  20484. get$values: function() {
  20485. return new P._MapBaseValueIterable(this, [H.getRuntimeTypeArgument(this, "MapMixin", 0), H.getRuntimeTypeArgument(this, "MapMixin", 1)]);
  20486. },
  20487. toString$0: function(_) {
  20488. return P.MapBase_mapToString(this);
  20489. },
  20490. $isMap: 1
  20491. };
  20492. P.MapMixin_entries_closure.prototype = {
  20493. call$1: function(key) {
  20494. var t1 = this.$this;
  20495. return new P.MapEntry(key, t1.$index(0, key), [H.getRuntimeTypeArgument(t1, "MapMixin", 0), H.getRuntimeTypeArgument(t1, "MapMixin", 1)]);
  20496. },
  20497. $signature: function() {
  20498. var t1 = this.$this,
  20499. t2 = H.getRuntimeTypeArgument(t1, "MapMixin", 0);
  20500. return {func: 1, ret: [P.MapEntry, t2, H.getRuntimeTypeArgument(t1, "MapMixin", 1)], args: [t2]};
  20501. }
  20502. };
  20503. P.UnmodifiableMapBase.prototype = {};
  20504. P._MapBaseValueIterable.prototype = {
  20505. get$length: function(_) {
  20506. var t1 = this._collection$_map;
  20507. return t1.get$length(t1);
  20508. },
  20509. get$isEmpty: function(_) {
  20510. var t1 = this._collection$_map;
  20511. return t1.get$isEmpty(t1);
  20512. },
  20513. get$isNotEmpty: function(_) {
  20514. var t1 = this._collection$_map;
  20515. return t1.get$isNotEmpty(t1);
  20516. },
  20517. get$first: function(_) {
  20518. var t1 = this._collection$_map;
  20519. return t1.$index(0, J.get$first$ax(t1.get$keys()));
  20520. },
  20521. get$single: function(_) {
  20522. var t1 = this._collection$_map;
  20523. return t1.$index(0, J.get$single$ax(t1.get$keys()));
  20524. },
  20525. get$last: function(_) {
  20526. var t1 = this._collection$_map;
  20527. return t1.$index(0, J.get$last$ax(t1.get$keys()));
  20528. },
  20529. get$iterator: function(_) {
  20530. var t1 = this._collection$_map;
  20531. return new P._MapBaseValueIterator(J.get$iterator$ax(t1.get$keys()), t1);
  20532. },
  20533. $asEfficientLengthIterable: function($K, $V) {
  20534. return [$V];
  20535. },
  20536. $asIterable: function($K, $V) {
  20537. return [$V];
  20538. }
  20539. };
  20540. P._MapBaseValueIterator.prototype = {
  20541. moveNext$0: function() {
  20542. var _this = this,
  20543. t1 = _this._collection$_keys;
  20544. if (t1.moveNext$0()) {
  20545. _this._collection$_current = _this._collection$_map.$index(0, t1.get$current(t1));
  20546. return true;
  20547. }
  20548. _this._collection$_current = null;
  20549. return false;
  20550. },
  20551. get$current: function(_) {
  20552. return this._collection$_current;
  20553. }
  20554. };
  20555. P._UnmodifiableMapMixin.prototype = {
  20556. $indexSet: function(_, key, value) {
  20557. throw H.wrapException(P.UnsupportedError$("Cannot modify unmodifiable map"));
  20558. },
  20559. addAll$1: function(_, other) {
  20560. throw H.wrapException(P.UnsupportedError$("Cannot modify unmodifiable map"));
  20561. },
  20562. remove$1: function(_, key) {
  20563. throw H.wrapException(P.UnsupportedError$("Cannot modify unmodifiable map"));
  20564. },
  20565. putIfAbsent$2: function(key, ifAbsent) {
  20566. throw H.wrapException(P.UnsupportedError$("Cannot modify unmodifiable map"));
  20567. }
  20568. };
  20569. P.MapView.prototype = {
  20570. $index: function(_, key) {
  20571. return this._collection$_map.$index(0, key);
  20572. },
  20573. $indexSet: function(_, key, value) {
  20574. this._collection$_map.$indexSet(0, key, value);
  20575. },
  20576. addAll$1: function(_, other) {
  20577. this._collection$_map.addAll$1(0, other);
  20578. },
  20579. putIfAbsent$2: function(key, ifAbsent) {
  20580. return this._collection$_map.putIfAbsent$2(key, ifAbsent);
  20581. },
  20582. containsKey$1: function(key) {
  20583. return this._collection$_map.containsKey$1(key);
  20584. },
  20585. forEach$1: function(_, action) {
  20586. this._collection$_map.forEach$1(0, action);
  20587. },
  20588. get$isEmpty: function(_) {
  20589. var t1 = this._collection$_map;
  20590. return t1.get$isEmpty(t1);
  20591. },
  20592. get$isNotEmpty: function(_) {
  20593. var t1 = this._collection$_map;
  20594. return t1.get$isNotEmpty(t1);
  20595. },
  20596. get$length: function(_) {
  20597. var t1 = this._collection$_map;
  20598. return t1.get$length(t1);
  20599. },
  20600. get$keys: function() {
  20601. return this._collection$_map.get$keys();
  20602. },
  20603. remove$1: function(_, key) {
  20604. return this._collection$_map.remove$1(0, key);
  20605. },
  20606. toString$0: function(_) {
  20607. return this._collection$_map.toString$0(0);
  20608. },
  20609. get$values: function() {
  20610. return this._collection$_map.get$values();
  20611. },
  20612. get$entries: function() {
  20613. return this._collection$_map.get$entries();
  20614. },
  20615. $isMap: 1
  20616. };
  20617. P.UnmodifiableMapView.prototype = {};
  20618. P.Queue.prototype = {$isEfficientLengthIterable: 1, $isIterable: 1};
  20619. P.ListQueue.prototype = {
  20620. cast$1$0: function(_, $R) {
  20621. return new H.CastQueue(this, [H.getTypeArgumentByIndex(this, 0), $R]);
  20622. },
  20623. get$iterator: function(_) {
  20624. var _this = this;
  20625. return new P._ListQueueIterator(_this, _this._collection$_tail, _this._modificationCount, _this._collection$_head);
  20626. },
  20627. get$isEmpty: function(_) {
  20628. return this._collection$_head === this._collection$_tail;
  20629. },
  20630. get$length: function(_) {
  20631. return (this._collection$_tail - this._collection$_head & this._collection$_table.length - 1) >>> 0;
  20632. },
  20633. get$first: function(_) {
  20634. var t1 = this._collection$_head;
  20635. if (t1 === this._collection$_tail)
  20636. throw H.wrapException(H.IterableElementError_noElement());
  20637. return this._collection$_table[t1];
  20638. },
  20639. get$last: function(_) {
  20640. var t1 = this._collection$_head,
  20641. t2 = this._collection$_tail;
  20642. if (t1 === t2)
  20643. throw H.wrapException(H.IterableElementError_noElement());
  20644. t1 = this._collection$_table;
  20645. return t1[(t2 - 1 & t1.length - 1) >>> 0];
  20646. },
  20647. get$single: function(_) {
  20648. var _this = this;
  20649. if (_this._collection$_head === _this._collection$_tail)
  20650. throw H.wrapException(H.IterableElementError_noElement());
  20651. if (_this.get$length(_this) > 1)
  20652. throw H.wrapException(H.IterableElementError_tooMany());
  20653. return _this._collection$_table[_this._collection$_head];
  20654. },
  20655. elementAt$1: function(_, index) {
  20656. var t1;
  20657. P.RangeError_checkValidIndex(index, this, null);
  20658. t1 = this._collection$_table;
  20659. return t1[(this._collection$_head + index & t1.length - 1) >>> 0];
  20660. },
  20661. add$1: function(_, value) {
  20662. this._collection$_add$1(value);
  20663. },
  20664. addAll$1: function(_, elements) {
  20665. var addCount, $length, t2, t3, t4, newTable, endSpace, preSpace, _this = this,
  20666. t1 = _this.$ti;
  20667. if (H.checkSubtype(elements, "$isList", t1, "$asList")) {
  20668. addCount = J.get$length$asx(elements);
  20669. $length = _this.get$length(_this);
  20670. t2 = $length + addCount;
  20671. t3 = _this._collection$_table;
  20672. t4 = t3.length;
  20673. if (t2 >= t4) {
  20674. t3 = new Array(P.ListQueue__nextPowerOf2(t2 + C.JSInt_methods._shrOtherPositive$1(t2, 1)));
  20675. t3.fixed$length = Array;
  20676. newTable = H.setRuntimeTypeInfo(t3, t1);
  20677. _this._collection$_tail = _this._collection$_writeToList$1(newTable);
  20678. _this._collection$_table = newTable;
  20679. _this._collection$_head = 0;
  20680. C.JSArray_methods.setRange$4(newTable, $length, t2, elements, 0);
  20681. _this._collection$_tail += addCount;
  20682. } else {
  20683. t1 = _this._collection$_tail;
  20684. endSpace = t4 - t1;
  20685. if (addCount < endSpace) {
  20686. C.JSArray_methods.setRange$4(t3, t1, t1 + addCount, elements, 0);
  20687. _this._collection$_tail += addCount;
  20688. } else {
  20689. preSpace = addCount - endSpace;
  20690. C.JSArray_methods.setRange$4(t3, t1, t1 + endSpace, elements, 0);
  20691. C.JSArray_methods.setRange$4(_this._collection$_table, 0, preSpace, elements, endSpace);
  20692. _this._collection$_tail = preSpace;
  20693. }
  20694. }
  20695. ++_this._modificationCount;
  20696. } else
  20697. for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();)
  20698. _this._collection$_add$1(t1.get$current(t1));
  20699. },
  20700. toString$0: function(_) {
  20701. return P.IterableBase_iterableToFullString(this, "{", "}");
  20702. },
  20703. addFirst$1: function(value) {
  20704. var _this = this,
  20705. t1 = _this._collection$_head,
  20706. t2 = _this._collection$_table;
  20707. t1 = _this._collection$_head = (t1 - 1 & t2.length - 1) >>> 0;
  20708. t2[t1] = value;
  20709. if (t1 === _this._collection$_tail)
  20710. _this._collection$_grow$0();
  20711. ++_this._modificationCount;
  20712. },
  20713. removeFirst$0: function() {
  20714. var t2, result, _this = this,
  20715. t1 = _this._collection$_head;
  20716. if (t1 === _this._collection$_tail)
  20717. throw H.wrapException(H.IterableElementError_noElement());
  20718. ++_this._modificationCount;
  20719. t2 = _this._collection$_table;
  20720. result = t2[t1];
  20721. t2[t1] = null;
  20722. _this._collection$_head = (t1 + 1 & t2.length - 1) >>> 0;
  20723. return result;
  20724. },
  20725. removeLast$0: function(_) {
  20726. var result, _this = this,
  20727. t1 = _this._collection$_head,
  20728. t2 = _this._collection$_tail;
  20729. if (t1 === t2)
  20730. throw H.wrapException(H.IterableElementError_noElement());
  20731. ++_this._modificationCount;
  20732. t1 = _this._collection$_table;
  20733. t2 = _this._collection$_tail = (t2 - 1 & t1.length - 1) >>> 0;
  20734. result = t1[t2];
  20735. t1[t2] = null;
  20736. return result;
  20737. },
  20738. _collection$_add$1: function(element) {
  20739. var _this = this,
  20740. t1 = _this._collection$_table,
  20741. t2 = _this._collection$_tail;
  20742. t1[t2] = element;
  20743. t1 = (t2 + 1 & t1.length - 1) >>> 0;
  20744. _this._collection$_tail = t1;
  20745. if (_this._collection$_head === t1)
  20746. _this._collection$_grow$0();
  20747. ++_this._modificationCount;
  20748. },
  20749. _collection$_grow$0: function() {
  20750. var newTable, t2, split, _this = this,
  20751. t1 = new Array(_this._collection$_table.length * 2);
  20752. t1.fixed$length = Array;
  20753. newTable = H.setRuntimeTypeInfo(t1, _this.$ti);
  20754. t1 = _this._collection$_table;
  20755. t2 = _this._collection$_head;
  20756. split = t1.length - t2;
  20757. C.JSArray_methods.setRange$4(newTable, 0, split, t1, t2);
  20758. C.JSArray_methods.setRange$4(newTable, split, split + _this._collection$_head, _this._collection$_table, 0);
  20759. _this._collection$_head = 0;
  20760. _this._collection$_tail = _this._collection$_table.length;
  20761. _this._collection$_table = newTable;
  20762. },
  20763. _collection$_writeToList$1: function(target) {
  20764. var $length, firstPartSize, _this = this,
  20765. t1 = _this._collection$_head,
  20766. t2 = _this._collection$_tail,
  20767. t3 = _this._collection$_table;
  20768. if (t1 <= t2) {
  20769. $length = t2 - t1;
  20770. C.JSArray_methods.setRange$4(target, 0, $length, t3, t1);
  20771. return $length;
  20772. } else {
  20773. firstPartSize = t3.length - t1;
  20774. C.JSArray_methods.setRange$4(target, 0, firstPartSize, t3, t1);
  20775. C.JSArray_methods.setRange$4(target, firstPartSize, firstPartSize + _this._collection$_tail, _this._collection$_table, 0);
  20776. return _this._collection$_tail + firstPartSize;
  20777. }
  20778. },
  20779. $isQueue: 1
  20780. };
  20781. P._ListQueueIterator.prototype = {
  20782. get$current: function(_) {
  20783. return this._collection$_current;
  20784. },
  20785. moveNext$0: function() {
  20786. var t2, _this = this,
  20787. t1 = _this._queue;
  20788. if (_this._modificationCount !== t1._modificationCount)
  20789. H.throwExpression(P.ConcurrentModificationError$(t1));
  20790. t2 = _this._position;
  20791. if (t2 === _this._collection$_end) {
  20792. _this._collection$_current = null;
  20793. return false;
  20794. }
  20795. t1 = t1._collection$_table;
  20796. _this._collection$_current = t1[t2];
  20797. _this._position = (t2 + 1 & t1.length - 1) >>> 0;
  20798. return true;
  20799. }
  20800. };
  20801. P._SetBase.prototype = {
  20802. cast$1$0: function(_, $R) {
  20803. return P.Set_castFrom(this, this.get$_newSimilarSet(), H.getTypeArgumentByIndex(this, 0), $R);
  20804. },
  20805. difference$1: function(other) {
  20806. var t1, element,
  20807. result = this._newSet$0();
  20808. for (t1 = P._LinkedHashSetIterator$(this, this._collection$_modifications); t1.moveNext$0();) {
  20809. element = t1._collection$_current;
  20810. if (!other.contains$1(0, element))
  20811. result.add$1(0, element);
  20812. }
  20813. return result;
  20814. },
  20815. intersection$1: function(other) {
  20816. var t1, t2, element,
  20817. result = this._newSet$0();
  20818. for (t1 = P._LinkedHashSetIterator$(this, this._collection$_modifications), t2 = other._baseMap; t1.moveNext$0();) {
  20819. element = t1._collection$_current;
  20820. if (t2.containsKey$1(element))
  20821. result.add$1(0, element);
  20822. }
  20823. return result;
  20824. },
  20825. toSet$0: function(_) {
  20826. var t1 = this._newSet$0();
  20827. t1.addAll$1(0, this);
  20828. return t1;
  20829. },
  20830. get$isEmpty: function(_) {
  20831. return this._collection$_length === 0;
  20832. },
  20833. get$isNotEmpty: function(_) {
  20834. return this._collection$_length !== 0;
  20835. },
  20836. followedBy$1: function(_, other) {
  20837. return H.FollowedByIterable_FollowedByIterable$firstEfficient(this, other, H.getTypeArgumentByIndex(this, 0));
  20838. },
  20839. addAll$1: function(_, elements) {
  20840. var t1;
  20841. for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();)
  20842. this.add$1(0, t1.get$current(t1));
  20843. },
  20844. removeAll$1: function(elements) {
  20845. var t1;
  20846. for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();)
  20847. this.remove$1(0, t1.get$current(t1));
  20848. },
  20849. toList$1$growable: function(_, growable) {
  20850. var t1, i, i0, _this = this,
  20851. result = H.setRuntimeTypeInfo([], _this.$ti);
  20852. C.JSArray_methods.set$length(result, _this._collection$_length);
  20853. for (t1 = P._LinkedHashSetIterator$(_this, _this._collection$_modifications), i = 0; t1.moveNext$0(); i = i0) {
  20854. i0 = i + 1;
  20855. result[i] = t1._collection$_current;
  20856. }
  20857. return result;
  20858. },
  20859. toList$0: function($receiver) {
  20860. return this.toList$1$growable($receiver, true);
  20861. },
  20862. map$1$1: function(_, f, $T) {
  20863. return new H.EfficientLengthMappedIterable(this, f, [H.getTypeArgumentByIndex(this, 0), $T]);
  20864. },
  20865. get$single: function(_) {
  20866. var it;
  20867. if (this._collection$_length > 1)
  20868. throw H.wrapException(H.IterableElementError_tooMany());
  20869. it = P._LinkedHashSetIterator$(this, this._collection$_modifications);
  20870. if (!it.moveNext$0())
  20871. throw H.wrapException(H.IterableElementError_noElement());
  20872. return it._collection$_current;
  20873. },
  20874. toString$0: function(_) {
  20875. return P.IterableBase_iterableToFullString(this, "{", "}");
  20876. },
  20877. where$1: function(_, f) {
  20878. return new H.WhereIterable(this, f, this.$ti);
  20879. },
  20880. join$1: function(_, separator) {
  20881. var t1,
  20882. iterator = P._LinkedHashSetIterator$(this, this._collection$_modifications);
  20883. if (!iterator.moveNext$0())
  20884. return "";
  20885. if (separator === "") {
  20886. t1 = "";
  20887. do
  20888. t1 += H.S(iterator._collection$_current);
  20889. while (iterator.moveNext$0());
  20890. } else {
  20891. t1 = H.S(iterator._collection$_current);
  20892. for (; iterator.moveNext$0();)
  20893. t1 = t1 + separator + H.S(iterator._collection$_current);
  20894. }
  20895. return t1.charCodeAt(0) == 0 ? t1 : t1;
  20896. },
  20897. join$0: function($receiver) {
  20898. return this.join$1($receiver, "");
  20899. },
  20900. take$1: function(_, n) {
  20901. return H.TakeIterable_TakeIterable(this, n, H.getTypeArgumentByIndex(this, 0));
  20902. },
  20903. skip$1: function(_, n) {
  20904. return H.SkipIterable_SkipIterable(this, n, H.getTypeArgumentByIndex(this, 0));
  20905. },
  20906. get$first: function(_) {
  20907. var it = P._LinkedHashSetIterator$(this, this._collection$_modifications);
  20908. if (!it.moveNext$0())
  20909. throw H.wrapException(H.IterableElementError_noElement());
  20910. return it._collection$_current;
  20911. },
  20912. get$last: function(_) {
  20913. var result,
  20914. it = P._LinkedHashSetIterator$(this, this._collection$_modifications);
  20915. if (!it.moveNext$0())
  20916. throw H.wrapException(H.IterableElementError_noElement());
  20917. do
  20918. result = it._collection$_current;
  20919. while (it.moveNext$0());
  20920. return result;
  20921. },
  20922. elementAt$1: function(_, index) {
  20923. var t1, elementIndex, element, _s5_ = "index";
  20924. if (index == null)
  20925. H.throwExpression(P.ArgumentError$notNull(_s5_));
  20926. P.RangeError_checkNotNegative(index, _s5_);
  20927. for (t1 = P._LinkedHashSetIterator$(this, this._collection$_modifications), elementIndex = 0; t1.moveNext$0();) {
  20928. element = t1._collection$_current;
  20929. if (index === elementIndex)
  20930. return element;
  20931. ++elementIndex;
  20932. }
  20933. throw H.wrapException(P.IndexError$(index, this, _s5_, null, elementIndex));
  20934. },
  20935. $isEfficientLengthIterable: 1,
  20936. $isIterable: 1,
  20937. $isSet: 1
  20938. };
  20939. P._ListBase_Object_ListMixin.prototype = {};
  20940. P._UnmodifiableMapView_MapView__UnmodifiableMapMixin.prototype = {};
  20941. P.AsciiCodec.prototype = {
  20942. encode$1: function(source) {
  20943. return C.AsciiEncoder_127.convert$1(source);
  20944. },
  20945. get$encoder: function() {
  20946. return C.AsciiEncoder_127;
  20947. }
  20948. };
  20949. P._UnicodeSubsetEncoder.prototype = {
  20950. convert$1: function(string) {
  20951. var t1, t2, i, codeUnit,
  20952. $length = P.RangeError_checkValidRange(0, null, string.length) - 0,
  20953. result = new Uint8Array($length);
  20954. for (t1 = ~this._subsetMask, t2 = J.getInterceptor$s(string), i = 0; i < $length; ++i) {
  20955. codeUnit = t2._codeUnitAt$1(string, i);
  20956. if ((codeUnit & t1) !== 0)
  20957. throw H.wrapException(P.ArgumentError$value(string, "string", "Contains invalid characters."));
  20958. result[i] = codeUnit;
  20959. }
  20960. return result;
  20961. },
  20962. $asConverter: function() {
  20963. return [P.String, [P.List, P.int]];
  20964. }
  20965. };
  20966. P.AsciiEncoder.prototype = {};
  20967. P.Base64Codec.prototype = {
  20968. get$encoder: function() {
  20969. return C.C_Base64Encoder;
  20970. },
  20971. normalize$3: function(source, start, end) {
  20972. var inverseAlphabet, i, sliceStart, buffer, firstPadding, firstPaddingSourceIndex, paddingCount, i0, char, i1, digit1, digit2, char0, value, t1, t2, endLength, $length,
  20973. _s31_ = "Invalid base64 encoding length ";
  20974. end = P.RangeError_checkValidRange(start, end, source.length);
  20975. inverseAlphabet = $.$get$_Base64Decoder__inverseAlphabet();
  20976. for (i = start, sliceStart = i, buffer = null, firstPadding = -1, firstPaddingSourceIndex = -1, paddingCount = 0; i < end; i = i0) {
  20977. i0 = i + 1;
  20978. char = C.JSString_methods._codeUnitAt$1(source, i);
  20979. if (char === 37) {
  20980. i1 = i0 + 2;
  20981. if (i1 <= end) {
  20982. digit1 = H.hexDigitValue(C.JSString_methods._codeUnitAt$1(source, i0));
  20983. digit2 = H.hexDigitValue(C.JSString_methods._codeUnitAt$1(source, i0 + 1));
  20984. char0 = digit1 * 16 + digit2 - (digit2 & 256);
  20985. if (char0 === 37)
  20986. char0 = -1;
  20987. i0 = i1;
  20988. } else
  20989. char0 = -1;
  20990. } else
  20991. char0 = char;
  20992. if (0 <= char0 && char0 <= 127) {
  20993. value = inverseAlphabet[char0];
  20994. if (value >= 0) {
  20995. char0 = C.JSString_methods.codeUnitAt$1("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", value);
  20996. if (char0 === char)
  20997. continue;
  20998. char = char0;
  20999. } else {
  21000. if (value === -1) {
  21001. if (firstPadding < 0) {
  21002. t1 = buffer == null ? null : buffer._contents.length;
  21003. if (t1 == null)
  21004. t1 = 0;
  21005. firstPadding = t1 + (i - sliceStart);
  21006. firstPaddingSourceIndex = i;
  21007. }
  21008. ++paddingCount;
  21009. if (char === 61)
  21010. continue;
  21011. }
  21012. char = char0;
  21013. }
  21014. if (value !== -2) {
  21015. if (buffer == null)
  21016. buffer = new P.StringBuffer("");
  21017. buffer._contents += C.JSString_methods.substring$2(source, sliceStart, i);
  21018. buffer._contents += H.Primitives_stringFromCharCode(char);
  21019. sliceStart = i0;
  21020. continue;
  21021. }
  21022. }
  21023. throw H.wrapException(P.FormatException$("Invalid base64 data", source, i));
  21024. }
  21025. if (buffer != null) {
  21026. t1 = buffer._contents += C.JSString_methods.substring$2(source, sliceStart, end);
  21027. t2 = t1.length;
  21028. if (firstPadding >= 0)
  21029. P.Base64Codec__checkPadding(source, firstPaddingSourceIndex, end, firstPadding, paddingCount, t2);
  21030. else {
  21031. endLength = C.JSInt_methods.$mod(t2 - 1, 4) + 1;
  21032. if (endLength === 1)
  21033. throw H.wrapException(P.FormatException$(_s31_, source, end));
  21034. for (; endLength < 4;) {
  21035. t1 += "=";
  21036. buffer._contents = t1;
  21037. ++endLength;
  21038. }
  21039. }
  21040. t1 = buffer._contents;
  21041. return C.JSString_methods.replaceRange$3(source, start, end, t1.charCodeAt(0) == 0 ? t1 : t1);
  21042. }
  21043. $length = end - start;
  21044. if (firstPadding >= 0)
  21045. P.Base64Codec__checkPadding(source, firstPaddingSourceIndex, end, firstPadding, paddingCount, $length);
  21046. else {
  21047. endLength = C.JSInt_methods.$mod($length, 4);
  21048. if (endLength === 1)
  21049. throw H.wrapException(P.FormatException$(_s31_, source, end));
  21050. if (endLength > 1)
  21051. source = C.JSString_methods.replaceRange$3(source, end, end, endLength === 2 ? "==" : "=");
  21052. }
  21053. return source;
  21054. },
  21055. $asCodec: function() {
  21056. return [[P.List, P.int], P.String];
  21057. }
  21058. };
  21059. P.Base64Encoder.prototype = {
  21060. convert$1: function(input) {
  21061. var t1 = J.getInterceptor$asx(input);
  21062. if (t1.get$isEmpty(input))
  21063. return "";
  21064. return P.String_String$fromCharCodes(new P._Base64Encoder("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/").encode$4(input, 0, t1.get$length(input), true), 0, null);
  21065. },
  21066. startChunkedConversion$1: function(sink) {
  21067. var t1,
  21068. _s64_ = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
  21069. if (!!sink.$isStringConversionSink) {
  21070. t1 = sink.asUtf8Sink$1(false);
  21071. return new P._Utf8Base64EncoderSink(t1, new P._Base64Encoder(_s64_));
  21072. }
  21073. return new P._AsciiBase64EncoderSink(sink, new P._BufferCachingBase64Encoder(_s64_));
  21074. },
  21075. $asConverter: function() {
  21076. return [[P.List, P.int], P.String];
  21077. }
  21078. };
  21079. P._Base64Encoder.prototype = {
  21080. createBuffer$1: function(bufferLength) {
  21081. return new Uint8Array(bufferLength);
  21082. },
  21083. encode$4: function(bytes, start, end, isLast) {
  21084. var output, _this = this,
  21085. byteCount = (_this._state & 3) + (end - start),
  21086. fullChunks = C.JSInt_methods._tdivFast$1(byteCount, 3),
  21087. bufferLength = fullChunks * 4;
  21088. if (isLast && byteCount - fullChunks * 3 > 0)
  21089. bufferLength += 4;
  21090. output = _this.createBuffer$1(bufferLength);
  21091. _this._state = P._Base64Encoder_encodeChunk(_this._alphabet, bytes, start, end, isLast, output, 0, _this._state);
  21092. if (bufferLength > 0)
  21093. return output;
  21094. return;
  21095. }
  21096. };
  21097. P._BufferCachingBase64Encoder.prototype = {
  21098. createBuffer$1: function(bufferLength) {
  21099. var t1 = this.bufferCache;
  21100. if (t1 == null || t1.length < bufferLength)
  21101. t1 = this.bufferCache = new Uint8Array(bufferLength);
  21102. t1 = t1.buffer;
  21103. t1.toString;
  21104. return H.NativeUint8List_NativeUint8List$view(t1, 0, bufferLength);
  21105. }
  21106. };
  21107. P._Base64EncoderSink.prototype = {
  21108. add$1: function(_, source) {
  21109. this._add$4(source, 0, J.get$length$asx(source), false);
  21110. },
  21111. close$0: function(_) {
  21112. this._add$4(null, 0, 0, true);
  21113. },
  21114. addSlice$4: function(source, start, end, isLast) {
  21115. P.RangeError_checkValidRange(start, end, source.length);
  21116. this._add$4(source, start, end, isLast);
  21117. }
  21118. };
  21119. P._AsciiBase64EncoderSink.prototype = {
  21120. _add$4: function(source, start, end, isLast) {
  21121. var buffer = this._encoder.encode$4(source, start, end, isLast);
  21122. if (buffer != null)
  21123. this._sink.add$1(0, P.String_String$fromCharCodes(buffer, 0, null));
  21124. if (isLast)
  21125. this._sink.close$0(0);
  21126. }
  21127. };
  21128. P._Utf8Base64EncoderSink.prototype = {
  21129. _add$4: function(source, start, end, isLast) {
  21130. var buffer = this._encoder.encode$4(source, start, end, isLast);
  21131. if (buffer != null)
  21132. this._sink.addSlice$4(buffer, 0, buffer.length, isLast);
  21133. }
  21134. };
  21135. P.ByteConversionSink.prototype = {};
  21136. P.ByteConversionSinkBase.prototype = {};
  21137. P.ChunkedConversionSink.prototype = {};
  21138. P.Codec.prototype = {
  21139. encode$1: function(input) {
  21140. return this.get$encoder().convert$1(input);
  21141. }
  21142. };
  21143. P.Converter.prototype = {};
  21144. P.Encoding.prototype = {
  21145. $asCodec: function() {
  21146. return [P.String, [P.List, P.int]];
  21147. }
  21148. };
  21149. P.JsonUnsupportedObjectError.prototype = {
  21150. toString$0: function(_) {
  21151. var safeString = P.Error_safeToString(this.unsupportedObject);
  21152. return (this.cause != null ? "Converting object to an encodable object failed:" : "Converting object did not return an encodable object:") + " " + safeString;
  21153. }
  21154. };
  21155. P.JsonCyclicError.prototype = {
  21156. toString$0: function(_) {
  21157. return "Cyclic error in JSON stringify";
  21158. }
  21159. };
  21160. P.JsonCodec.prototype = {
  21161. encode$2$toEncodable: function(value, toEncodable) {
  21162. var t1 = P._JsonStringStringifier_stringify(value, this.get$encoder()._toEncodable, null);
  21163. return t1;
  21164. },
  21165. get$encoder: function() {
  21166. return C.JsonEncoder_null;
  21167. },
  21168. $asCodec: function() {
  21169. return [P.Object, P.String];
  21170. }
  21171. };
  21172. P.JsonEncoder.prototype = {
  21173. convert$1: function(object) {
  21174. var t1,
  21175. output = new P.StringBuffer("");
  21176. P._JsonStringStringifier_printOn(object, output, this._toEncodable, null);
  21177. t1 = output._contents;
  21178. return t1.charCodeAt(0) == 0 ? t1 : t1;
  21179. },
  21180. $asConverter: function() {
  21181. return [P.Object, P.String];
  21182. }
  21183. };
  21184. P._JsonStringifier.prototype = {
  21185. writeStringContent$1: function(s) {
  21186. var t1, offset, i, charCode, t2, _this = this,
  21187. $length = s.length;
  21188. for (t1 = J.getInterceptor$s(s), offset = 0, i = 0; i < $length; ++i) {
  21189. charCode = t1._codeUnitAt$1(s, i);
  21190. if (charCode > 92)
  21191. continue;
  21192. if (charCode < 32) {
  21193. if (i > offset)
  21194. _this.writeStringSlice$3(s, offset, i);
  21195. offset = i + 1;
  21196. _this.writeCharCode$1(92);
  21197. switch (charCode) {
  21198. case 8:
  21199. _this.writeCharCode$1(98);
  21200. break;
  21201. case 9:
  21202. _this.writeCharCode$1(116);
  21203. break;
  21204. case 10:
  21205. _this.writeCharCode$1(110);
  21206. break;
  21207. case 12:
  21208. _this.writeCharCode$1(102);
  21209. break;
  21210. case 13:
  21211. _this.writeCharCode$1(114);
  21212. break;
  21213. default:
  21214. _this.writeCharCode$1(117);
  21215. _this.writeCharCode$1(48);
  21216. _this.writeCharCode$1(48);
  21217. t2 = charCode >>> 4 & 15;
  21218. _this.writeCharCode$1(t2 < 10 ? 48 + t2 : 87 + t2);
  21219. t2 = charCode & 15;
  21220. _this.writeCharCode$1(t2 < 10 ? 48 + t2 : 87 + t2);
  21221. break;
  21222. }
  21223. } else if (charCode === 34 || charCode === 92) {
  21224. if (i > offset)
  21225. _this.writeStringSlice$3(s, offset, i);
  21226. offset = i + 1;
  21227. _this.writeCharCode$1(92);
  21228. _this.writeCharCode$1(charCode);
  21229. }
  21230. }
  21231. if (offset === 0)
  21232. _this.writeString$1(s);
  21233. else if (offset < $length)
  21234. _this.writeStringSlice$3(s, offset, $length);
  21235. },
  21236. _checkCycle$1: function(object) {
  21237. var t1, t2, i, t3;
  21238. for (t1 = this._seen, t2 = t1.length, i = 0; i < t2; ++i) {
  21239. t3 = t1[i];
  21240. if (object == null ? t3 == null : object === t3)
  21241. throw H.wrapException(new P.JsonCyclicError(object, null));
  21242. }
  21243. t1.push(object);
  21244. },
  21245. writeObject$1: function(object) {
  21246. var customJson, e, t1, exception, _this = this;
  21247. if (_this.writeJsonValue$1(object))
  21248. return;
  21249. _this._checkCycle$1(object);
  21250. try {
  21251. customJson = _this._toEncodable.call$1(object);
  21252. if (!_this.writeJsonValue$1(customJson)) {
  21253. t1 = P.JsonUnsupportedObjectError$(object, null, _this.get$_partialResult());
  21254. throw H.wrapException(t1);
  21255. }
  21256. _this._seen.pop();
  21257. } catch (exception) {
  21258. e = H.unwrapException(exception);
  21259. t1 = P.JsonUnsupportedObjectError$(object, e, _this.get$_partialResult());
  21260. throw H.wrapException(t1);
  21261. }
  21262. },
  21263. writeJsonValue$1: function(object) {
  21264. var t1, success, _this = this;
  21265. if (typeof object === "number") {
  21266. if (!isFinite(object))
  21267. return false;
  21268. _this.writeNumber$1(object);
  21269. return true;
  21270. } else if (object === true) {
  21271. _this.writeString$1("true");
  21272. return true;
  21273. } else if (object === false) {
  21274. _this.writeString$1("false");
  21275. return true;
  21276. } else if (object == null) {
  21277. _this.writeString$1("null");
  21278. return true;
  21279. } else if (typeof object === "string") {
  21280. _this.writeString$1('"');
  21281. _this.writeStringContent$1(object);
  21282. _this.writeString$1('"');
  21283. return true;
  21284. } else {
  21285. t1 = J.getInterceptor$(object);
  21286. if (!!t1.$isList) {
  21287. _this._checkCycle$1(object);
  21288. _this.writeList$1(object);
  21289. _this._seen.pop();
  21290. return true;
  21291. } else if (!!t1.$isMap) {
  21292. _this._checkCycle$1(object);
  21293. success = _this.writeMap$1(object);
  21294. _this._seen.pop();
  21295. return success;
  21296. } else
  21297. return false;
  21298. }
  21299. },
  21300. writeList$1: function(list) {
  21301. var t1, i, _this = this;
  21302. _this.writeString$1("[");
  21303. t1 = J.getInterceptor$asx(list);
  21304. if (t1.get$isNotEmpty(list)) {
  21305. _this.writeObject$1(t1.$index(list, 0));
  21306. for (i = 1; i < t1.get$length(list); ++i) {
  21307. _this.writeString$1(",");
  21308. _this.writeObject$1(t1.$index(list, i));
  21309. }
  21310. }
  21311. _this.writeString$1("]");
  21312. },
  21313. writeMap$1: function(map) {
  21314. var t1, keyValueList, i, separator, _this = this, _box_0 = {};
  21315. if (map.get$isEmpty(map)) {
  21316. _this.writeString$1("{}");
  21317. return true;
  21318. }
  21319. t1 = map.get$length(map) * 2;
  21320. keyValueList = new Array(t1);
  21321. keyValueList.fixed$length = Array;
  21322. i = _box_0.i = 0;
  21323. _box_0.allStringKeys = true;
  21324. map.forEach$1(0, new P._JsonStringifier_writeMap_closure(_box_0, keyValueList));
  21325. if (!_box_0.allStringKeys)
  21326. return false;
  21327. _this.writeString$1("{");
  21328. for (separator = '"'; i < t1; i += 2, separator = ',"') {
  21329. _this.writeString$1(separator);
  21330. _this.writeStringContent$1(keyValueList[i]);
  21331. _this.writeString$1('":');
  21332. _this.writeObject$1(keyValueList[i + 1]);
  21333. }
  21334. _this.writeString$1("}");
  21335. return true;
  21336. }
  21337. };
  21338. P._JsonStringifier_writeMap_closure.prototype = {
  21339. call$2: function(key, value) {
  21340. var t1, t2, t3, i;
  21341. if (typeof key !== "string")
  21342. this._box_0.allStringKeys = false;
  21343. t1 = this.keyValueList;
  21344. t2 = this._box_0;
  21345. t3 = t2.i;
  21346. i = t2.i = t3 + 1;
  21347. t1[t3] = key;
  21348. t2.i = i + 1;
  21349. t1[i] = value;
  21350. },
  21351. $signature: 12
  21352. };
  21353. P._JsonStringStringifier.prototype = {
  21354. get$_partialResult: function() {
  21355. var t1 = this._sink;
  21356. return !!t1.$isStringBuffer ? t1.toString$0(0) : null;
  21357. },
  21358. writeNumber$1: function(number) {
  21359. this._sink.write$1(0, C.JSNumber_methods.toString$0(number));
  21360. },
  21361. writeString$1: function(string) {
  21362. this._sink.write$1(0, string);
  21363. },
  21364. writeStringSlice$3: function(string, start, end) {
  21365. this._sink.write$1(0, C.JSString_methods.substring$2(string, start, end));
  21366. },
  21367. writeCharCode$1: function(charCode) {
  21368. this._sink.writeCharCode$1(charCode);
  21369. }
  21370. };
  21371. P.StringConversionSinkBase.prototype = {};
  21372. P.StringConversionSinkMixin.prototype = {
  21373. add$1: function(_, str) {
  21374. this.addSlice$4(str, 0, str.length, false);
  21375. },
  21376. asUtf8Sink$1: function(allowMalformed) {
  21377. var t1 = new P.StringBuffer("");
  21378. return new P._Utf8ConversionSink(new P._Utf8Decoder(false, t1), this, t1);
  21379. },
  21380. $isStringConversionSink: 1
  21381. };
  21382. P._StringSinkConversionSink.prototype = {
  21383. close$0: function(_) {
  21384. },
  21385. addSlice$4: function(str, start, end, isLast) {
  21386. var t1, t2, i;
  21387. if (start !== 0 || end !== str.length)
  21388. for (t1 = this._stringSink, t2 = J.getInterceptor$s(str), i = start; i < end; ++i)
  21389. t1._contents += H.Primitives_stringFromCharCode(t2._codeUnitAt$1(str, i));
  21390. else
  21391. this._stringSink._contents += H.S(str);
  21392. if (isLast)
  21393. this.close$0(0);
  21394. },
  21395. add$1: function(_, str) {
  21396. this._stringSink._contents += H.S(str);
  21397. },
  21398. asUtf8Sink$1: function(allowMalformed) {
  21399. return new P._Utf8StringSinkAdapter(new P._Utf8Decoder(false, this._stringSink), this);
  21400. }
  21401. };
  21402. P._StringCallbackSink.prototype = {
  21403. close$0: function(_) {
  21404. var t1 = this._stringSink,
  21405. t2 = t1._contents;
  21406. t1._contents = "";
  21407. this._callback.call$1(t2.charCodeAt(0) == 0 ? t2 : t2);
  21408. },
  21409. asUtf8Sink$1: function(allowMalformed) {
  21410. return new P._Utf8StringSinkAdapter(new P._Utf8Decoder(false, this._stringSink), this);
  21411. }
  21412. };
  21413. P._StringAdapterSink.prototype = {
  21414. add$1: function(_, str) {
  21415. this._sink.add$1(0, str);
  21416. },
  21417. addSlice$4: function(str, start, end, isLast) {
  21418. var t1 = start === 0 && end === str.length,
  21419. t2 = this._sink;
  21420. if (t1)
  21421. t2.add$1(0, str);
  21422. else
  21423. t2.add$1(0, J.substring$2$s(str, start, end));
  21424. if (isLast)
  21425. t2.close$0(0);
  21426. },
  21427. close$0: function(_) {
  21428. this._sink.close$0(0);
  21429. }
  21430. };
  21431. P._Utf8StringSinkAdapter.prototype = {
  21432. close$0: function(_) {
  21433. this._decoder.flush$0();
  21434. this._sink.close$0(0);
  21435. },
  21436. add$1: function(_, chunk) {
  21437. this._decoder.convert$3(chunk, 0, J.get$length$asx(chunk));
  21438. },
  21439. addSlice$4: function(codeUnits, startIndex, endIndex, isLast) {
  21440. this._decoder.convert$3(codeUnits, startIndex, endIndex);
  21441. if (isLast)
  21442. this.close$0(0);
  21443. }
  21444. };
  21445. P._Utf8ConversionSink.prototype = {
  21446. close$0: function(_) {
  21447. var t1, t2, t3, accumulated;
  21448. this._decoder.flush$0();
  21449. t1 = this._convert$_buffer;
  21450. t2 = t1._contents;
  21451. t3 = this._chunkedSink;
  21452. if (t2.length !== 0) {
  21453. accumulated = t2.charCodeAt(0) == 0 ? t2 : t2;
  21454. t1._contents = "";
  21455. t3.addSlice$4(accumulated, 0, accumulated.length, true);
  21456. } else
  21457. t3.close$0(0);
  21458. },
  21459. add$1: function(_, chunk) {
  21460. this.addSlice$4(chunk, 0, J.get$length$asx(chunk), false);
  21461. },
  21462. addSlice$4: function(chunk, startIndex, endIndex, isLast) {
  21463. var t1, t2, accumulated, _this = this;
  21464. _this._decoder.convert$3(chunk, startIndex, endIndex);
  21465. t1 = _this._convert$_buffer;
  21466. t2 = t1._contents;
  21467. if (t2.length !== 0) {
  21468. accumulated = t2.charCodeAt(0) == 0 ? t2 : t2;
  21469. _this._chunkedSink.addSlice$4(accumulated, 0, accumulated.length, isLast);
  21470. t1._contents = "";
  21471. return;
  21472. }
  21473. if (isLast)
  21474. _this.close$0(0);
  21475. }
  21476. };
  21477. P.Utf8Codec.prototype = {
  21478. get$encoder: function() {
  21479. return C.C_Utf8Encoder;
  21480. }
  21481. };
  21482. P.Utf8Encoder.prototype = {
  21483. convert$1: function(string) {
  21484. var t1, encoder,
  21485. end = P.RangeError_checkValidRange(0, null, string.length),
  21486. $length = end - 0;
  21487. if ($length === 0)
  21488. return new Uint8Array(0);
  21489. t1 = new Uint8Array($length * 3);
  21490. encoder = new P._Utf8Encoder(t1);
  21491. if (encoder._fillBuffer$3(string, 0, end) !== end)
  21492. encoder._writeSurrogate$2(J.codeUnitAt$1$s(string, end - 1), 0);
  21493. return C.NativeUint8List_methods.sublist$2(t1, 0, encoder._bufferIndex);
  21494. },
  21495. $asConverter: function() {
  21496. return [P.String, [P.List, P.int]];
  21497. }
  21498. };
  21499. P._Utf8Encoder.prototype = {
  21500. _writeSurrogate$2: function(leadingSurrogate, nextCodeUnit) {
  21501. var rune, _this = this,
  21502. t1 = _this._convert$_buffer,
  21503. t2 = _this._bufferIndex,
  21504. t3 = t2 + 1;
  21505. if ((nextCodeUnit & 64512) === 56320) {
  21506. rune = 65536 + ((leadingSurrogate & 1023) << 10) | nextCodeUnit & 1023;
  21507. _this._bufferIndex = t3;
  21508. t1[t2] = 240 | rune >>> 18;
  21509. t2 = _this._bufferIndex = t3 + 1;
  21510. t1[t3] = 128 | rune >>> 12 & 63;
  21511. t3 = _this._bufferIndex = t2 + 1;
  21512. t1[t2] = 128 | rune >>> 6 & 63;
  21513. _this._bufferIndex = t3 + 1;
  21514. t1[t3] = 128 | rune & 63;
  21515. return true;
  21516. } else {
  21517. _this._bufferIndex = t3;
  21518. t1[t2] = 224 | leadingSurrogate >>> 12;
  21519. t2 = _this._bufferIndex = t3 + 1;
  21520. t1[t3] = 128 | leadingSurrogate >>> 6 & 63;
  21521. _this._bufferIndex = t2 + 1;
  21522. t1[t2] = 128 | leadingSurrogate & 63;
  21523. return false;
  21524. }
  21525. },
  21526. _fillBuffer$3: function(str, start, end) {
  21527. var t1, t2, t3, stringIndex, codeUnit, t4, stringIndex0, t5, _this = this;
  21528. if (start !== end && (J.codeUnitAt$1$s(str, end - 1) & 64512) === 55296)
  21529. --end;
  21530. for (t1 = _this._convert$_buffer, t2 = t1.length, t3 = J.getInterceptor$s(str), stringIndex = start; stringIndex < end; ++stringIndex) {
  21531. codeUnit = t3._codeUnitAt$1(str, stringIndex);
  21532. if (codeUnit <= 127) {
  21533. t4 = _this._bufferIndex;
  21534. if (t4 >= t2)
  21535. break;
  21536. _this._bufferIndex = t4 + 1;
  21537. t1[t4] = codeUnit;
  21538. } else if ((codeUnit & 64512) === 55296) {
  21539. if (_this._bufferIndex + 3 >= t2)
  21540. break;
  21541. stringIndex0 = stringIndex + 1;
  21542. if (_this._writeSurrogate$2(codeUnit, C.JSString_methods._codeUnitAt$1(str, stringIndex0)))
  21543. stringIndex = stringIndex0;
  21544. } else if (codeUnit <= 2047) {
  21545. t4 = _this._bufferIndex;
  21546. t5 = t4 + 1;
  21547. if (t5 >= t2)
  21548. break;
  21549. _this._bufferIndex = t5;
  21550. t1[t4] = 192 | codeUnit >>> 6;
  21551. _this._bufferIndex = t5 + 1;
  21552. t1[t5] = 128 | codeUnit & 63;
  21553. } else {
  21554. t4 = _this._bufferIndex;
  21555. if (t4 + 2 >= t2)
  21556. break;
  21557. t5 = _this._bufferIndex = t4 + 1;
  21558. t1[t4] = 224 | codeUnit >>> 12;
  21559. t4 = _this._bufferIndex = t5 + 1;
  21560. t1[t5] = 128 | codeUnit >>> 6 & 63;
  21561. _this._bufferIndex = t4 + 1;
  21562. t1[t4] = 128 | codeUnit & 63;
  21563. }
  21564. }
  21565. return stringIndex;
  21566. }
  21567. };
  21568. P.Utf8Decoder.prototype = {
  21569. convert$1: function(codeUnits) {
  21570. var end, oneBytes, firstPart, buffer, start, isFirstCharacter, decoder, t1,
  21571. result = P.Utf8Decoder__convertIntercepted(false, codeUnits, 0, null);
  21572. if (result != null)
  21573. return result;
  21574. end = P.RangeError_checkValidRange(0, null, J.get$length$asx(codeUnits));
  21575. oneBytes = P._scanOneByteCharacters(codeUnits, 0, end);
  21576. if (oneBytes > 0) {
  21577. firstPart = P.String_String$fromCharCodes(codeUnits, 0, oneBytes);
  21578. if (oneBytes === end)
  21579. return firstPart;
  21580. buffer = new P.StringBuffer(firstPart);
  21581. start = oneBytes;
  21582. isFirstCharacter = false;
  21583. } else {
  21584. start = 0;
  21585. buffer = null;
  21586. isFirstCharacter = true;
  21587. }
  21588. if (buffer == null)
  21589. buffer = new P.StringBuffer("");
  21590. decoder = new P._Utf8Decoder(false, buffer);
  21591. decoder._isFirstCharacter = isFirstCharacter;
  21592. decoder.convert$3(codeUnits, start, end);
  21593. decoder.flush$2(codeUnits, end);
  21594. t1 = buffer._contents;
  21595. return t1.charCodeAt(0) == 0 ? t1 : t1;
  21596. },
  21597. startChunkedConversion$1: function(sink) {
  21598. return (!!sink.$isStringConversionSink ? sink : new P._StringAdapterSink(sink)).asUtf8Sink$1(false);
  21599. },
  21600. $asConverter: function() {
  21601. return [[P.List, P.int], P.String];
  21602. }
  21603. };
  21604. P._Utf8Decoder.prototype = {
  21605. flush$2: function(source, offset) {
  21606. var t1;
  21607. if (this._expectedUnits > 0) {
  21608. t1 = P.FormatException$("Unfinished UTF-8 octet sequence", source, offset);
  21609. throw H.wrapException(t1);
  21610. }
  21611. },
  21612. flush$0: function() {
  21613. return this.flush$2(null, null);
  21614. },
  21615. convert$3: function(codeUnits, startIndex, endIndex) {
  21616. var t1, t2, i, unit, t3, oneBytes, i0, i1, t4, _this = this,
  21617. _s21_ = "Bad UTF-8 encoding 0x",
  21618. value = _this._convert$_value,
  21619. expectedUnits = _this._expectedUnits,
  21620. extraUnits = _this._extraUnits;
  21621. _this._extraUnits = _this._expectedUnits = _this._convert$_value = 0;
  21622. $label0$0:
  21623. for (t1 = J.getInterceptor$asx(codeUnits), t2 = _this._stringSink, i = startIndex; true; i = i1) {
  21624. $label1$1:
  21625. if (expectedUnits > 0) {
  21626. do {
  21627. if (i === endIndex)
  21628. break $label0$0;
  21629. unit = t1.$index(codeUnits, i);
  21630. if ((unit & 192) !== 128) {
  21631. t3 = P.FormatException$(_s21_ + C.JSInt_methods.toRadixString$1(unit, 16), codeUnits, i);
  21632. throw H.wrapException(t3);
  21633. } else {
  21634. value = (value << 6 | unit & 63) >>> 0;
  21635. --expectedUnits;
  21636. ++i;
  21637. }
  21638. } while (expectedUnits > 0);
  21639. if (value <= C.List_127_2047_65535_1114111[extraUnits - 1]) {
  21640. t3 = P.FormatException$("Overlong encoding of 0x" + C.JSInt_methods.toRadixString$1(value, 16), codeUnits, i - extraUnits - 1);
  21641. throw H.wrapException(t3);
  21642. }
  21643. if (value > 1114111) {
  21644. t3 = P.FormatException$("Character outside valid Unicode range: 0x" + C.JSInt_methods.toRadixString$1(value, 16), codeUnits, i - extraUnits - 1);
  21645. throw H.wrapException(t3);
  21646. }
  21647. if (!_this._isFirstCharacter || value !== 65279)
  21648. t2._contents += H.Primitives_stringFromCharCode(value);
  21649. _this._isFirstCharacter = false;
  21650. }
  21651. for (t3 = i < endIndex; t3;) {
  21652. oneBytes = P._scanOneByteCharacters(codeUnits, i, endIndex);
  21653. if (oneBytes > 0) {
  21654. _this._isFirstCharacter = false;
  21655. i0 = i + oneBytes;
  21656. t2._contents += P.String_String$fromCharCodes(codeUnits, i, i0);
  21657. if (i0 === endIndex)
  21658. break;
  21659. } else
  21660. i0 = i;
  21661. i1 = i0 + 1;
  21662. unit = t1.$index(codeUnits, i0);
  21663. if (unit < 0) {
  21664. t4 = P.FormatException$("Negative UTF-8 code unit: -0x" + C.JSInt_methods.toRadixString$1(-unit, 16), codeUnits, i1 - 1);
  21665. throw H.wrapException(t4);
  21666. } else {
  21667. if ((unit & 224) === 192) {
  21668. value = unit & 31;
  21669. expectedUnits = 1;
  21670. extraUnits = 1;
  21671. continue $label0$0;
  21672. }
  21673. if ((unit & 240) === 224) {
  21674. value = unit & 15;
  21675. expectedUnits = 2;
  21676. extraUnits = 2;
  21677. continue $label0$0;
  21678. }
  21679. if ((unit & 248) === 240 && unit < 245) {
  21680. value = unit & 7;
  21681. expectedUnits = 3;
  21682. extraUnits = 3;
  21683. continue $label0$0;
  21684. }
  21685. t4 = P.FormatException$(_s21_ + C.JSInt_methods.toRadixString$1(unit, 16), codeUnits, i1 - 1);
  21686. throw H.wrapException(t4);
  21687. }
  21688. }
  21689. break $label0$0;
  21690. }
  21691. if (expectedUnits > 0) {
  21692. _this._convert$_value = value;
  21693. _this._expectedUnits = expectedUnits;
  21694. _this._extraUnits = extraUnits;
  21695. }
  21696. }
  21697. };
  21698. P.NoSuchMethodError_toString_closure.prototype = {
  21699. call$2: function(key, value) {
  21700. var t3,
  21701. t1 = this.sb,
  21702. t2 = this._box_0;
  21703. t1._contents += t2.comma;
  21704. t3 = t1._contents += H.S(key._name);
  21705. t1._contents = t3 + ": ";
  21706. t1._contents += P.Error_safeToString(value);
  21707. t2.comma = ", ";
  21708. }
  21709. };
  21710. P.bool.prototype = {};
  21711. P.DateTime.prototype = {
  21712. add$1: function(_, duration) {
  21713. return P.DateTime$_withValue(C.JSInt_methods.$add(this._value, duration.get$inMilliseconds()), false);
  21714. },
  21715. $eq: function(_, other) {
  21716. if (other == null)
  21717. return false;
  21718. return other instanceof P.DateTime && this._value === other._value && true;
  21719. },
  21720. compareTo$1: function(_, other) {
  21721. return C.JSInt_methods.compareTo$1(this._value, other._value);
  21722. },
  21723. get$hashCode: function(_) {
  21724. var t1 = this._value;
  21725. return (t1 ^ C.JSInt_methods._shrOtherPositive$1(t1, 30)) & 1073741823;
  21726. },
  21727. toString$0: function(_) {
  21728. var _this = this,
  21729. y = P.DateTime__fourDigits(H.Primitives_getYear(_this)),
  21730. m = P.DateTime__twoDigits(H.Primitives_getMonth(_this)),
  21731. d = P.DateTime__twoDigits(H.Primitives_getDay(_this)),
  21732. h = P.DateTime__twoDigits(H.Primitives_getHours(_this)),
  21733. min = P.DateTime__twoDigits(H.Primitives_getMinutes(_this)),
  21734. sec = P.DateTime__twoDigits(H.Primitives_getSeconds(_this)),
  21735. ms = P.DateTime__threeDigits(H.Primitives_getMilliseconds(_this)),
  21736. t1 = y + "-" + m + "-" + d + " " + h + ":" + min + ":" + sec + "." + ms;
  21737. return t1;
  21738. },
  21739. $isComparable: 1,
  21740. $asComparable: function() {
  21741. return [P.DateTime];
  21742. }
  21743. };
  21744. P.double.prototype = {};
  21745. P.Duration.prototype = {
  21746. $eq: function(_, other) {
  21747. if (other == null)
  21748. return false;
  21749. return other instanceof P.Duration && this._duration === other._duration;
  21750. },
  21751. get$hashCode: function(_) {
  21752. return C.JSInt_methods.get$hashCode(this._duration);
  21753. },
  21754. compareTo$1: function(_, other) {
  21755. return C.JSInt_methods.compareTo$1(this._duration, other._duration);
  21756. },
  21757. toString$0: function(_) {
  21758. var twoDigitMinutes, twoDigitSeconds, sixDigitUs,
  21759. t1 = new P.Duration_toString_twoDigits(),
  21760. t2 = this._duration;
  21761. if (t2 < 0)
  21762. return "-" + new P.Duration(0 - t2).toString$0(0);
  21763. twoDigitMinutes = t1.call$1(C.JSInt_methods._tdivFast$1(t2, 60000000) % 60);
  21764. twoDigitSeconds = t1.call$1(C.JSInt_methods._tdivFast$1(t2, 1000000) % 60);
  21765. sixDigitUs = new P.Duration_toString_sixDigits().call$1(t2 % 1000000);
  21766. return "" + C.JSInt_methods._tdivFast$1(t2, 3600000000) + ":" + H.S(twoDigitMinutes) + ":" + H.S(twoDigitSeconds) + "." + H.S(sixDigitUs);
  21767. },
  21768. $isComparable: 1,
  21769. $asComparable: function() {
  21770. return [P.Duration];
  21771. }
  21772. };
  21773. P.Duration_toString_sixDigits.prototype = {
  21774. call$1: function(n) {
  21775. if (n >= 100000)
  21776. return "" + n;
  21777. if (n >= 10000)
  21778. return "0" + n;
  21779. if (n >= 1000)
  21780. return "00" + n;
  21781. if (n >= 100)
  21782. return "000" + n;
  21783. if (n >= 10)
  21784. return "0000" + n;
  21785. return "00000" + n;
  21786. },
  21787. $signature: 20
  21788. };
  21789. P.Duration_toString_twoDigits.prototype = {
  21790. call$1: function(n) {
  21791. if (n >= 10)
  21792. return "" + n;
  21793. return "0" + n;
  21794. },
  21795. $signature: 20
  21796. };
  21797. P.Error.prototype = {};
  21798. P.NullThrownError.prototype = {
  21799. toString$0: function(_) {
  21800. return "Throw of null.";
  21801. }
  21802. };
  21803. P.ArgumentError.prototype = {
  21804. get$_errorName: function() {
  21805. return "Invalid argument" + (!this._hasValue ? "(s)" : "");
  21806. },
  21807. get$_errorExplanation: function() {
  21808. return "";
  21809. },
  21810. toString$0: function(_) {
  21811. var message, prefix, explanation, errorValue, _this = this,
  21812. t1 = _this.name,
  21813. nameString = t1 != null ? " (" + t1 + ")" : "";
  21814. t1 = _this.message;
  21815. message = t1 == null ? "" : ": " + H.S(t1);
  21816. prefix = _this.get$_errorName() + nameString + message;
  21817. if (!_this._hasValue)
  21818. return prefix;
  21819. explanation = _this.get$_errorExplanation();
  21820. errorValue = P.Error_safeToString(_this.invalidValue);
  21821. return prefix + explanation + ": " + errorValue;
  21822. },
  21823. get$message: function(receiver) {
  21824. return this.message;
  21825. }
  21826. };
  21827. P.RangeError.prototype = {
  21828. get$_errorName: function() {
  21829. return "RangeError";
  21830. },
  21831. get$_errorExplanation: function() {
  21832. var explanation, t2,
  21833. t1 = this.start;
  21834. if (t1 == null) {
  21835. t1 = this.end;
  21836. explanation = t1 != null ? ": Not less than or equal to " + H.S(t1) : "";
  21837. } else {
  21838. t2 = this.end;
  21839. if (t2 == null)
  21840. explanation = ": Not greater than or equal to " + H.S(t1);
  21841. else if (t2 > t1)
  21842. explanation = ": Not in range " + H.S(t1) + ".." + H.S(t2) + ", inclusive";
  21843. else
  21844. explanation = t2 < t1 ? ": Valid value range is empty" : ": Only valid value is " + H.S(t1);
  21845. }
  21846. return explanation;
  21847. }
  21848. };
  21849. P.IndexError.prototype = {
  21850. get$_errorName: function() {
  21851. return "RangeError";
  21852. },
  21853. get$_errorExplanation: function() {
  21854. if (this.invalidValue < 0)
  21855. return ": index must not be negative";
  21856. var t1 = this.length;
  21857. if (t1 === 0)
  21858. return ": no indices are valid";
  21859. return ": index should be less than " + t1;
  21860. },
  21861. get$length: function(receiver) {
  21862. return this.length;
  21863. }
  21864. };
  21865. P.NoSuchMethodError.prototype = {
  21866. toString$0: function(_) {
  21867. var t1, t2, _i, t3, t4, argument, receiverText, actualParameters, _this = this, _box_0 = {},
  21868. sb = new P.StringBuffer("");
  21869. _box_0.comma = "";
  21870. for (t1 = _this._arguments, t2 = t1.length, _i = 0, t3 = "", t4 = ""; _i < t2; ++_i, t4 = ", ") {
  21871. argument = t1[_i];
  21872. sb._contents = t3 + t4;
  21873. t3 = sb._contents += P.Error_safeToString(argument);
  21874. _box_0.comma = ", ";
  21875. }
  21876. _this._namedArguments.forEach$1(0, new P.NoSuchMethodError_toString_closure(_box_0, sb));
  21877. receiverText = P.Error_safeToString(_this._receiver);
  21878. actualParameters = sb.toString$0(0);
  21879. t1 = "NoSuchMethodError: method not found: '" + H.S(_this._memberName._name) + "'\nReceiver: " + receiverText + "\nArguments: [" + actualParameters + "]";
  21880. return t1;
  21881. }
  21882. };
  21883. P.UnsupportedError.prototype = {
  21884. toString$0: function(_) {
  21885. return "Unsupported operation: " + this.message;
  21886. },
  21887. get$message: function(receiver) {
  21888. return this.message;
  21889. }
  21890. };
  21891. P.UnimplementedError.prototype = {
  21892. toString$0: function(_) {
  21893. var t1 = this.message;
  21894. return t1 != null ? "UnimplementedError: " + t1 : "UnimplementedError";
  21895. },
  21896. get$message: function(receiver) {
  21897. return this.message;
  21898. }
  21899. };
  21900. P.StateError.prototype = {
  21901. toString$0: function(_) {
  21902. return "Bad state: " + this.message;
  21903. },
  21904. get$message: function(receiver) {
  21905. return this.message;
  21906. }
  21907. };
  21908. P.ConcurrentModificationError.prototype = {
  21909. toString$0: function(_) {
  21910. var t1 = this.modifiedObject;
  21911. if (t1 == null)
  21912. return "Concurrent modification during iteration.";
  21913. return "Concurrent modification during iteration: " + P.Error_safeToString(t1) + ".";
  21914. }
  21915. };
  21916. P.OutOfMemoryError.prototype = {
  21917. toString$0: function(_) {
  21918. return "Out of Memory";
  21919. },
  21920. $isError: 1
  21921. };
  21922. P.StackOverflowError.prototype = {
  21923. toString$0: function(_) {
  21924. return "Stack Overflow";
  21925. },
  21926. $isError: 1
  21927. };
  21928. P.CyclicInitializationError.prototype = {
  21929. toString$0: function(_) {
  21930. var t1 = this.variableName;
  21931. return t1 == null ? "Reading static variable during its initialization" : "Reading static variable '" + t1 + "' during its initialization";
  21932. }
  21933. };
  21934. P._Exception.prototype = {
  21935. toString$0: function(_) {
  21936. return "Exception: " + this.message;
  21937. },
  21938. $isException: 1,
  21939. get$message: function(receiver) {
  21940. return this.message;
  21941. }
  21942. };
  21943. P.FormatException.prototype = {
  21944. toString$0: function(_) {
  21945. var source, lineNum, lineStart, previousCharWasCR, i, char, lineEnd, end, start, prefix, postfix, slice,
  21946. t1 = this.message,
  21947. report = t1 != null && "" !== t1 ? "FormatException: " + H.S(t1) : "FormatException",
  21948. offset = this.offset,
  21949. objectSource = this.source;
  21950. if (typeof objectSource === "string") {
  21951. if (offset != null)
  21952. t1 = offset < 0 || offset > objectSource.length;
  21953. else
  21954. t1 = false;
  21955. if (t1)
  21956. offset = null;
  21957. if (offset == null) {
  21958. source = objectSource.length > 78 ? C.JSString_methods.substring$2(objectSource, 0, 75) + "..." : objectSource;
  21959. return report + "\n" + source;
  21960. }
  21961. for (lineNum = 1, lineStart = 0, previousCharWasCR = false, i = 0; i < offset; ++i) {
  21962. char = C.JSString_methods._codeUnitAt$1(objectSource, i);
  21963. if (char === 10) {
  21964. if (lineStart !== i || !previousCharWasCR)
  21965. ++lineNum;
  21966. lineStart = i + 1;
  21967. previousCharWasCR = false;
  21968. } else if (char === 13) {
  21969. ++lineNum;
  21970. lineStart = i + 1;
  21971. previousCharWasCR = true;
  21972. }
  21973. }
  21974. report = lineNum > 1 ? report + (" (at line " + lineNum + ", character " + (offset - lineStart + 1) + ")\n") : report + (" (at character " + (offset + 1) + ")\n");
  21975. lineEnd = objectSource.length;
  21976. for (i = offset; i < lineEnd; ++i) {
  21977. char = C.JSString_methods.codeUnitAt$1(objectSource, i);
  21978. if (char === 10 || char === 13) {
  21979. lineEnd = i;
  21980. break;
  21981. }
  21982. }
  21983. if (lineEnd - lineStart > 78)
  21984. if (offset - lineStart < 75) {
  21985. end = lineStart + 75;
  21986. start = lineStart;
  21987. prefix = "";
  21988. postfix = "...";
  21989. } else {
  21990. if (lineEnd - offset < 75) {
  21991. start = lineEnd - 75;
  21992. end = lineEnd;
  21993. postfix = "";
  21994. } else {
  21995. start = offset - 36;
  21996. end = offset + 36;
  21997. postfix = "...";
  21998. }
  21999. prefix = "...";
  22000. }
  22001. else {
  22002. end = lineEnd;
  22003. start = lineStart;
  22004. prefix = "";
  22005. postfix = "";
  22006. }
  22007. slice = C.JSString_methods.substring$2(objectSource, start, end);
  22008. return report + prefix + slice + postfix + "\n" + C.JSString_methods.$mul(" ", offset - start + prefix.length) + "^\n";
  22009. } else
  22010. return offset != null ? report + (" (at offset " + H.S(offset) + ")") : report;
  22011. },
  22012. $isException: 1,
  22013. get$message: function(receiver) {
  22014. return this.message;
  22015. },
  22016. get$source: function() {
  22017. return this.source;
  22018. }
  22019. };
  22020. P.Function.prototype = {};
  22021. P.int.prototype = {};
  22022. P.Iterable.prototype = {
  22023. cast$1$0: function(_, $R) {
  22024. return H.CastIterable_CastIterable(this, H.getRuntimeTypeArgument(this, "Iterable", 0), $R);
  22025. },
  22026. map$1$1: function(_, f, $T) {
  22027. return H.MappedIterable_MappedIterable(this, f, H.getRuntimeTypeArgument(this, "Iterable", 0), $T);
  22028. },
  22029. where$1: function(_, test) {
  22030. return new H.WhereIterable(this, test, [H.getRuntimeTypeArgument(this, "Iterable", 0)]);
  22031. },
  22032. expand$1$1: function(_, f, $T) {
  22033. return new H.ExpandIterable(this, f, [H.getRuntimeTypeArgument(this, "Iterable", 0), $T]);
  22034. },
  22035. contains$1: function(_, element) {
  22036. var t1;
  22037. for (t1 = this.get$iterator(this); t1.moveNext$0();)
  22038. if (J.$eq$(t1.get$current(t1), element))
  22039. return true;
  22040. return false;
  22041. },
  22042. fold$1$2: function(_, initialValue, combine) {
  22043. var t1, value;
  22044. for (t1 = this.get$iterator(this), value = initialValue; t1.moveNext$0();)
  22045. value = combine.call$2(value, t1.get$current(t1));
  22046. return value;
  22047. },
  22048. fold$2: function($receiver, initialValue, combine) {
  22049. return this.fold$1$2($receiver, initialValue, combine, null);
  22050. },
  22051. join$1: function(_, separator) {
  22052. var t1,
  22053. iterator = this.get$iterator(this);
  22054. if (!iterator.moveNext$0())
  22055. return "";
  22056. if (separator === "") {
  22057. t1 = "";
  22058. do
  22059. t1 += H.S(iterator.get$current(iterator));
  22060. while (iterator.moveNext$0());
  22061. } else {
  22062. t1 = H.S(iterator.get$current(iterator));
  22063. for (; iterator.moveNext$0();)
  22064. t1 = t1 + separator + H.S(iterator.get$current(iterator));
  22065. }
  22066. return t1.charCodeAt(0) == 0 ? t1 : t1;
  22067. },
  22068. join$0: function($receiver) {
  22069. return this.join$1($receiver, "");
  22070. },
  22071. any$1: function(_, test) {
  22072. var t1;
  22073. for (t1 = this.get$iterator(this); t1.moveNext$0();)
  22074. if (test.call$1(t1.get$current(t1)))
  22075. return true;
  22076. return false;
  22077. },
  22078. toList$1$growable: function(_, growable) {
  22079. return P.List_List$from(this, growable, H.getRuntimeTypeArgument(this, "Iterable", 0));
  22080. },
  22081. toList$0: function($receiver) {
  22082. return this.toList$1$growable($receiver, true);
  22083. },
  22084. toSet$0: function(_) {
  22085. return P.LinkedHashSet_LinkedHashSet$from(this, H.getRuntimeTypeArgument(this, "Iterable", 0));
  22086. },
  22087. get$length: function(_) {
  22088. var count,
  22089. it = this.get$iterator(this);
  22090. for (count = 0; it.moveNext$0();)
  22091. ++count;
  22092. return count;
  22093. },
  22094. get$isEmpty: function(_) {
  22095. return !this.get$iterator(this).moveNext$0();
  22096. },
  22097. get$isNotEmpty: function(_) {
  22098. return !this.get$isEmpty(this);
  22099. },
  22100. take$1: function(_, count) {
  22101. return H.TakeIterable_TakeIterable(this, count, H.getRuntimeTypeArgument(this, "Iterable", 0));
  22102. },
  22103. skip$1: function(_, count) {
  22104. return H.SkipIterable_SkipIterable(this, count, H.getRuntimeTypeArgument(this, "Iterable", 0));
  22105. },
  22106. skipWhile$1: function(_, test) {
  22107. return new H.SkipWhileIterable(this, test, [H.getRuntimeTypeArgument(this, "Iterable", 0)]);
  22108. },
  22109. get$first: function(_) {
  22110. var it = this.get$iterator(this);
  22111. if (!it.moveNext$0())
  22112. throw H.wrapException(H.IterableElementError_noElement());
  22113. return it.get$current(it);
  22114. },
  22115. get$last: function(_) {
  22116. var result,
  22117. it = this.get$iterator(this);
  22118. if (!it.moveNext$0())
  22119. throw H.wrapException(H.IterableElementError_noElement());
  22120. do
  22121. result = it.get$current(it);
  22122. while (it.moveNext$0());
  22123. return result;
  22124. },
  22125. get$single: function(_) {
  22126. var result,
  22127. it = this.get$iterator(this);
  22128. if (!it.moveNext$0())
  22129. throw H.wrapException(H.IterableElementError_noElement());
  22130. result = it.get$current(it);
  22131. if (it.moveNext$0())
  22132. throw H.wrapException(H.IterableElementError_tooMany());
  22133. return result;
  22134. },
  22135. firstWhere$2$orElse: function(_, test, orElse) {
  22136. var t1, element;
  22137. for (t1 = this.get$iterator(this); t1.moveNext$0();) {
  22138. element = t1.get$current(t1);
  22139. if (test.call$1(element))
  22140. return element;
  22141. }
  22142. return orElse.call$0();
  22143. },
  22144. elementAt$1: function(_, index) {
  22145. var t1, elementIndex, element, _s5_ = "index";
  22146. if (index == null)
  22147. H.throwExpression(P.ArgumentError$notNull(_s5_));
  22148. P.RangeError_checkNotNegative(index, _s5_);
  22149. for (t1 = this.get$iterator(this), elementIndex = 0; t1.moveNext$0();) {
  22150. element = t1.get$current(t1);
  22151. if (index === elementIndex)
  22152. return element;
  22153. ++elementIndex;
  22154. }
  22155. throw H.wrapException(P.IndexError$(index, this, _s5_, null, elementIndex));
  22156. },
  22157. toString$0: function(_) {
  22158. return P.IterableBase_iterableToShortString(this, "(", ")");
  22159. }
  22160. };
  22161. P._GeneratorIterable.prototype = {
  22162. elementAt$1: function(_, index) {
  22163. P.RangeError_checkValidIndex(index, this, null);
  22164. return this._generator.call$1(index);
  22165. },
  22166. get$length: function(receiver) {
  22167. return this.length;
  22168. }
  22169. };
  22170. P.Iterator.prototype = {};
  22171. P.List.prototype = {$isEfficientLengthIterable: 1, $isIterable: 1};
  22172. P.Map.prototype = {};
  22173. P.MapEntry.prototype = {
  22174. toString$0: function(_) {
  22175. return "MapEntry(" + H.S(this.key) + ": " + H.S(this.value) + ")";
  22176. }
  22177. };
  22178. P.Null.prototype = {
  22179. get$hashCode: function(_) {
  22180. return P.Object.prototype.get$hashCode.call(this, this);
  22181. },
  22182. toString$0: function(_) {
  22183. return "null";
  22184. }
  22185. };
  22186. P.num.prototype = {$isComparable: 1,
  22187. $asComparable: function() {
  22188. return [P.num];
  22189. }
  22190. };
  22191. P.Object.prototype = {constructor: P.Object, $isObject: 1,
  22192. $eq: function(_, other) {
  22193. return this === other;
  22194. },
  22195. get$hashCode: function(_) {
  22196. return H.Primitives_objectHashCode(this);
  22197. },
  22198. toString$0: function(_) {
  22199. return "Instance of '" + H.Primitives_objectTypeName(this) + "'";
  22200. },
  22201. noSuchMethod$1: function(_, invocation) {
  22202. throw H.wrapException(P.NoSuchMethodError$(this, invocation.get$memberName(), invocation.get$positionalArguments(), invocation.get$namedArguments()));
  22203. },
  22204. toString: function() {
  22205. return this.toString$0(this);
  22206. }
  22207. };
  22208. P.Match.prototype = {};
  22209. P.RegExpMatch.prototype = {$isMatch: 1};
  22210. P.Set.prototype = {};
  22211. P.StackTrace.prototype = {};
  22212. P._StringStackTrace.prototype = {
  22213. toString$0: function(_) {
  22214. return this._core$_stackTrace;
  22215. },
  22216. $isStackTrace: 1
  22217. };
  22218. P.String.prototype = {$isComparable: 1,
  22219. $asComparable: function() {
  22220. return [P.String];
  22221. }
  22222. };
  22223. P.Runes.prototype = {
  22224. get$iterator: function(_) {
  22225. return new P.RuneIterator(this.string);
  22226. },
  22227. get$last: function(_) {
  22228. var code, previousCode,
  22229. t1 = this.string,
  22230. t2 = t1.length;
  22231. if (t2 === 0)
  22232. throw H.wrapException(P.StateError$("No elements."));
  22233. code = C.JSString_methods.codeUnitAt$1(t1, t2 - 1);
  22234. if ((code & 64512) === 56320 && t2 > 1) {
  22235. previousCode = C.JSString_methods.codeUnitAt$1(t1, t2 - 2);
  22236. if ((previousCode & 64512) === 55296)
  22237. return P._combineSurrogatePair(previousCode, code);
  22238. }
  22239. return code;
  22240. },
  22241. $asIterable: function() {
  22242. return [P.int];
  22243. }
  22244. };
  22245. P.RuneIterator.prototype = {
  22246. get$current: function(_) {
  22247. return this._currentCodePoint;
  22248. },
  22249. moveNext$0: function() {
  22250. var codeUnit, nextPosition, nextCodeUnit, _this = this,
  22251. t1 = _this._core$_position = _this._nextPosition,
  22252. t2 = _this.string,
  22253. t3 = t2.length;
  22254. if (t1 === t3) {
  22255. _this._currentCodePoint = null;
  22256. return false;
  22257. }
  22258. codeUnit = C.JSString_methods._codeUnitAt$1(t2, t1);
  22259. nextPosition = t1 + 1;
  22260. if ((codeUnit & 64512) === 55296 && nextPosition < t3) {
  22261. nextCodeUnit = C.JSString_methods._codeUnitAt$1(t2, nextPosition);
  22262. if ((nextCodeUnit & 64512) === 56320) {
  22263. _this._nextPosition = nextPosition + 1;
  22264. _this._currentCodePoint = P._combineSurrogatePair(codeUnit, nextCodeUnit);
  22265. return true;
  22266. }
  22267. }
  22268. _this._nextPosition = nextPosition;
  22269. _this._currentCodePoint = codeUnit;
  22270. return true;
  22271. }
  22272. };
  22273. P.StringBuffer.prototype = {
  22274. get$length: function(_) {
  22275. return this._contents.length;
  22276. },
  22277. write$1: function(_, obj) {
  22278. this._contents += H.S(obj);
  22279. },
  22280. writeCharCode$1: function(charCode) {
  22281. this._contents += H.Primitives_stringFromCharCode(charCode);
  22282. },
  22283. toString$0: function(_) {
  22284. var t1 = this._contents;
  22285. return t1.charCodeAt(0) == 0 ? t1 : t1;
  22286. }
  22287. };
  22288. P.StringSink.prototype = {};
  22289. P.Symbol.prototype = {};
  22290. P.Uri.prototype = {};
  22291. P.Uri__parseIPv4Address_error.prototype = {
  22292. call$2: function(msg, position) {
  22293. throw H.wrapException(P.FormatException$("Illegal IPv4 address, " + msg, this.host, position));
  22294. }
  22295. };
  22296. P.Uri_parseIPv6Address_error.prototype = {
  22297. call$2: function(msg, position) {
  22298. throw H.wrapException(P.FormatException$("Illegal IPv6 address, " + msg, this.host, position));
  22299. },
  22300. call$1: function(msg) {
  22301. return this.call$2(msg, null);
  22302. }
  22303. };
  22304. P.Uri_parseIPv6Address_parseHex.prototype = {
  22305. call$2: function(start, end) {
  22306. var value;
  22307. if (end - start > 4)
  22308. this.error.call$2("an IPv6 part can only contain a maximum of 4 hex digits", start);
  22309. value = P.int_parse(C.JSString_methods.substring$2(this.host, start, end), null, 16);
  22310. if (value < 0 || value > 65535)
  22311. this.error.call$2("each part must be in the range of `0x0..0xFFFF`", start);
  22312. return value;
  22313. }
  22314. };
  22315. P._Uri.prototype = {
  22316. get$userInfo: function() {
  22317. return this._userInfo;
  22318. },
  22319. get$host: function() {
  22320. var t1 = this._host;
  22321. if (t1 == null)
  22322. return "";
  22323. if (C.JSString_methods.startsWith$1(t1, "["))
  22324. return C.JSString_methods.substring$2(t1, 1, t1.length - 1);
  22325. return t1;
  22326. },
  22327. get$port: function() {
  22328. var t1 = this._port;
  22329. if (t1 == null)
  22330. return P._Uri__defaultPort(this.scheme);
  22331. return t1;
  22332. },
  22333. get$query: function() {
  22334. var t1 = this._query;
  22335. return t1 == null ? "" : t1;
  22336. },
  22337. get$fragment: function() {
  22338. var t1 = this._fragment;
  22339. return t1 == null ? "" : t1;
  22340. },
  22341. get$pathSegments: function() {
  22342. var pathToSplit, t1, t2,
  22343. result = this._pathSegments;
  22344. if (result != null)
  22345. return result;
  22346. pathToSplit = this.path;
  22347. if (pathToSplit.length !== 0 && C.JSString_methods._codeUnitAt$1(pathToSplit, 0) === 47)
  22348. pathToSplit = C.JSString_methods.substring$1(pathToSplit, 1);
  22349. if (pathToSplit === "")
  22350. result = C.List_empty0;
  22351. else {
  22352. t1 = P.String;
  22353. t2 = H.setRuntimeTypeInfo(pathToSplit.split("/"), [t1]);
  22354. result = P.List_List$unmodifiable(new H.MappedListIterable(t2, P.core_Uri_decodeComponent$closure(), [H.getTypeArgumentByIndex(t2, 0), null]), t1);
  22355. }
  22356. return this._pathSegments = result;
  22357. },
  22358. _mergePaths$2: function(base, reference) {
  22359. var backCount, refStart, baseEnd, newEnd, delta, t1;
  22360. for (backCount = 0, refStart = 0; C.JSString_methods.startsWith$2(reference, "../", refStart);) {
  22361. refStart += 3;
  22362. ++backCount;
  22363. }
  22364. baseEnd = C.JSString_methods.lastIndexOf$1(base, "/");
  22365. while (true) {
  22366. if (!(baseEnd > 0 && backCount > 0))
  22367. break;
  22368. newEnd = C.JSString_methods.lastIndexOf$2(base, "/", baseEnd - 1);
  22369. if (newEnd < 0)
  22370. break;
  22371. delta = baseEnd - newEnd;
  22372. t1 = delta !== 2;
  22373. if (!t1 || delta === 3)
  22374. if (C.JSString_methods.codeUnitAt$1(base, newEnd + 1) === 46)
  22375. t1 = !t1 || C.JSString_methods.codeUnitAt$1(base, newEnd + 2) === 46;
  22376. else
  22377. t1 = false;
  22378. else
  22379. t1 = false;
  22380. if (t1)
  22381. break;
  22382. --backCount;
  22383. baseEnd = newEnd;
  22384. }
  22385. return C.JSString_methods.replaceRange$3(base, baseEnd + 1, null, C.JSString_methods.substring$1(reference, refStart - 3 * backCount));
  22386. },
  22387. resolve$1: function(reference) {
  22388. return this.resolveUri$1(P.Uri_parse(reference));
  22389. },
  22390. resolveUri$1: function(reference) {
  22391. var targetScheme, targetUserInfo, targetHost, targetPort, targetPath, targetQuery, t1, mergedPath, t2, _this = this, _null = null;
  22392. if (reference.get$scheme().length !== 0) {
  22393. targetScheme = reference.get$scheme();
  22394. if (reference.get$hasAuthority()) {
  22395. targetUserInfo = reference.get$userInfo();
  22396. targetHost = reference.get$host();
  22397. targetPort = reference.get$hasPort() ? reference.get$port() : _null;
  22398. } else {
  22399. targetPort = _null;
  22400. targetHost = targetPort;
  22401. targetUserInfo = "";
  22402. }
  22403. targetPath = P._Uri__removeDotSegments(reference.get$path(reference));
  22404. targetQuery = reference.get$hasQuery() ? reference.get$query() : _null;
  22405. } else {
  22406. targetScheme = _this.scheme;
  22407. if (reference.get$hasAuthority()) {
  22408. targetUserInfo = reference.get$userInfo();
  22409. targetHost = reference.get$host();
  22410. targetPort = P._Uri__makePort(reference.get$hasPort() ? reference.get$port() : _null, targetScheme);
  22411. targetPath = P._Uri__removeDotSegments(reference.get$path(reference));
  22412. targetQuery = reference.get$hasQuery() ? reference.get$query() : _null;
  22413. } else {
  22414. targetUserInfo = _this._userInfo;
  22415. targetHost = _this._host;
  22416. targetPort = _this._port;
  22417. if (reference.get$path(reference) === "") {
  22418. targetPath = _this.path;
  22419. targetQuery = reference.get$hasQuery() ? reference.get$query() : _this._query;
  22420. } else {
  22421. if (reference.get$hasAbsolutePath())
  22422. targetPath = P._Uri__removeDotSegments(reference.get$path(reference));
  22423. else {
  22424. t1 = _this.path;
  22425. if (t1.length === 0)
  22426. if (targetHost == null)
  22427. targetPath = targetScheme.length === 0 ? reference.get$path(reference) : P._Uri__removeDotSegments(reference.get$path(reference));
  22428. else
  22429. targetPath = P._Uri__removeDotSegments("/" + reference.get$path(reference));
  22430. else {
  22431. mergedPath = _this._mergePaths$2(t1, reference.get$path(reference));
  22432. t2 = targetScheme.length === 0;
  22433. if (!t2 || targetHost != null || C.JSString_methods.startsWith$1(t1, "/"))
  22434. targetPath = P._Uri__removeDotSegments(mergedPath);
  22435. else
  22436. targetPath = P._Uri__normalizeRelativePath(mergedPath, !t2 || targetHost != null);
  22437. }
  22438. }
  22439. targetQuery = reference.get$hasQuery() ? reference.get$query() : _null;
  22440. }
  22441. }
  22442. }
  22443. return new P._Uri(targetScheme, targetUserInfo, targetHost, targetPort, targetPath, targetQuery, reference.get$hasFragment() ? reference.get$fragment() : _null);
  22444. },
  22445. get$hasAuthority: function() {
  22446. return this._host != null;
  22447. },
  22448. get$hasPort: function() {
  22449. return this._port != null;
  22450. },
  22451. get$hasQuery: function() {
  22452. return this._query != null;
  22453. },
  22454. get$hasFragment: function() {
  22455. return this._fragment != null;
  22456. },
  22457. get$hasAbsolutePath: function() {
  22458. return C.JSString_methods.startsWith$1(this.path, "/");
  22459. },
  22460. toFilePath$0: function() {
  22461. var windows, pathSegments, _this = this,
  22462. t1 = _this.scheme;
  22463. if (t1 !== "" && t1 !== "file")
  22464. throw H.wrapException(P.UnsupportedError$("Cannot extract a file path from a " + H.S(t1) + " URI"));
  22465. t1 = _this._query;
  22466. if ((t1 == null ? "" : t1) !== "")
  22467. throw H.wrapException(P.UnsupportedError$("Cannot extract a file path from a URI with a query component"));
  22468. t1 = _this._fragment;
  22469. if ((t1 == null ? "" : t1) !== "")
  22470. throw H.wrapException(P.UnsupportedError$("Cannot extract a file path from a URI with a fragment component"));
  22471. windows = $.$get$_Uri__isWindowsCached();
  22472. if (windows)
  22473. t1 = P._Uri__toWindowsFilePath(_this);
  22474. else {
  22475. if (_this._host != null && _this.get$host() !== "")
  22476. H.throwExpression(P.UnsupportedError$("Cannot extract a non-Windows file path from a file URI with an authority"));
  22477. pathSegments = _this.get$pathSegments();
  22478. P._Uri__checkNonWindowsPathReservedCharacters(pathSegments, false);
  22479. t1 = P.StringBuffer__writeAll(C.JSString_methods.startsWith$1(_this.path, "/") ? "/" : "", pathSegments, "/");
  22480. t1 = t1.charCodeAt(0) == 0 ? t1 : t1;
  22481. }
  22482. return t1;
  22483. },
  22484. toString$0: function(_) {
  22485. var t2, t3, t4, _this = this,
  22486. t1 = _this._text;
  22487. if (t1 == null) {
  22488. t1 = _this.scheme;
  22489. t2 = t1.length !== 0 ? H.S(t1) + ":" : "";
  22490. t3 = _this._host;
  22491. t4 = t3 == null;
  22492. if (!t4 || t1 === "file") {
  22493. t1 = t2 + "//";
  22494. t2 = _this._userInfo;
  22495. if (t2.length !== 0)
  22496. t1 = t1 + H.S(t2) + "@";
  22497. if (!t4)
  22498. t1 += t3;
  22499. t2 = _this._port;
  22500. if (t2 != null)
  22501. t1 = t1 + ":" + H.S(t2);
  22502. } else
  22503. t1 = t2;
  22504. t1 += _this.path;
  22505. t2 = _this._query;
  22506. if (t2 != null)
  22507. t1 = t1 + "?" + t2;
  22508. t2 = _this._fragment;
  22509. if (t2 != null)
  22510. t1 = t1 + "#" + t2;
  22511. t1 = _this._text = t1.charCodeAt(0) == 0 ? t1 : t1;
  22512. }
  22513. return t1;
  22514. },
  22515. $eq: function(_, other) {
  22516. var t1, t2, _this = this;
  22517. if (other == null)
  22518. return false;
  22519. if (_this === other)
  22520. return true;
  22521. if (!!J.getInterceptor$(other).$isUri)
  22522. if (_this.scheme == other.get$scheme())
  22523. if (_this._host != null === other.get$hasAuthority())
  22524. if (_this._userInfo == other.get$userInfo())
  22525. if (_this.get$host() == other.get$host())
  22526. if (_this.get$port() == other.get$port())
  22527. if (_this.path === other.get$path(other)) {
  22528. t1 = _this._query;
  22529. t2 = t1 == null;
  22530. if (!t2 === other.get$hasQuery()) {
  22531. if (t2)
  22532. t1 = "";
  22533. if (t1 === other.get$query()) {
  22534. t1 = _this._fragment;
  22535. t2 = t1 == null;
  22536. if (!t2 === other.get$hasFragment()) {
  22537. if (t2)
  22538. t1 = "";
  22539. t1 = t1 === other.get$fragment();
  22540. } else
  22541. t1 = false;
  22542. } else
  22543. t1 = false;
  22544. } else
  22545. t1 = false;
  22546. } else
  22547. t1 = false;
  22548. else
  22549. t1 = false;
  22550. else
  22551. t1 = false;
  22552. else
  22553. t1 = false;
  22554. else
  22555. t1 = false;
  22556. else
  22557. t1 = false;
  22558. else
  22559. t1 = false;
  22560. return t1;
  22561. },
  22562. get$hashCode: function(_) {
  22563. var t1 = this._hashCodeCache;
  22564. return t1 == null ? this._hashCodeCache = C.JSString_methods.get$hashCode(this.toString$0(0)) : t1;
  22565. },
  22566. $isUri: 1,
  22567. get$scheme: function() {
  22568. return this.scheme;
  22569. },
  22570. get$path: function(receiver) {
  22571. return this.path;
  22572. }
  22573. };
  22574. P._Uri__Uri$notSimple_closure.prototype = {
  22575. call$1: function(_) {
  22576. throw H.wrapException(P.FormatException$("Invalid port", this.uri, this.portStart + 1));
  22577. }
  22578. };
  22579. P._Uri__checkNonWindowsPathReservedCharacters_closure.prototype = {
  22580. call$1: function(segment) {
  22581. var _s23_ = "Illegal path character ";
  22582. if (J.contains$1$asx(segment, "/"))
  22583. if (this.argumentError)
  22584. throw H.wrapException(P.ArgumentError$(_s23_ + segment));
  22585. else
  22586. throw H.wrapException(P.UnsupportedError$(_s23_ + segment));
  22587. }
  22588. };
  22589. P._Uri__makePath_closure.prototype = {
  22590. call$1: function(s) {
  22591. return P._Uri__uriEncode(C.List_qg40, s, C.C_Utf8Codec, false);
  22592. }
  22593. };
  22594. P.UriData.prototype = {
  22595. get$uri: function() {
  22596. var t2, queryIndex, end, query, _this = this, _null = null,
  22597. t1 = _this._uriCache;
  22598. if (t1 != null)
  22599. return t1;
  22600. t1 = _this._text;
  22601. t2 = _this._separatorIndices[0] + 1;
  22602. queryIndex = C.JSString_methods.indexOf$2(t1, "?", t2);
  22603. end = t1.length;
  22604. if (queryIndex >= 0) {
  22605. query = P._Uri__normalizeOrSubstring(t1, queryIndex + 1, end, C.List_CVk, false);
  22606. end = queryIndex;
  22607. } else
  22608. query = _null;
  22609. return _this._uriCache = new P._DataUri("data", _null, _null, _null, P._Uri__normalizeOrSubstring(t1, t2, end, C.List_qg4, false), query, _null);
  22610. },
  22611. toString$0: function(_) {
  22612. var t1 = this._text;
  22613. return this._separatorIndices[0] === -1 ? "data:" + t1 : t1;
  22614. }
  22615. };
  22616. P._createTables_closure.prototype = {
  22617. call$1: function(_) {
  22618. return new Uint8Array(96);
  22619. },
  22620. $signature: 52
  22621. };
  22622. P._createTables_build.prototype = {
  22623. call$2: function(state, defaultTransition) {
  22624. var t1 = this.tables[state];
  22625. J.fillRange$3$ax(t1, 0, 96, defaultTransition);
  22626. return t1;
  22627. },
  22628. $signature: 57
  22629. };
  22630. P._createTables_setChars.prototype = {
  22631. call$3: function(target, chars, transition) {
  22632. var t1, i;
  22633. for (t1 = chars.length, i = 0; i < t1; ++i)
  22634. target[C.JSString_methods._codeUnitAt$1(chars, i) ^ 96] = transition;
  22635. }
  22636. };
  22637. P._createTables_setRange.prototype = {
  22638. call$3: function(target, range, transition) {
  22639. var i, n;
  22640. for (i = C.JSString_methods._codeUnitAt$1(range, 0), n = C.JSString_methods._codeUnitAt$1(range, 1); i <= n; ++i)
  22641. target[(i ^ 96) >>> 0] = transition;
  22642. }
  22643. };
  22644. P._SimpleUri.prototype = {
  22645. get$hasAuthority: function() {
  22646. return this._hostStart > 0;
  22647. },
  22648. get$hasPort: function() {
  22649. return this._hostStart > 0 && this._portStart + 1 < this._pathStart;
  22650. },
  22651. get$hasQuery: function() {
  22652. return this._queryStart < this._fragmentStart;
  22653. },
  22654. get$hasFragment: function() {
  22655. return this._fragmentStart < this._uri.length;
  22656. },
  22657. get$_isFile: function() {
  22658. return this._schemeEnd === 4 && C.JSString_methods.startsWith$1(this._uri, "file");
  22659. },
  22660. get$_isHttp: function() {
  22661. return this._schemeEnd === 4 && C.JSString_methods.startsWith$1(this._uri, "http");
  22662. },
  22663. get$_isHttps: function() {
  22664. return this._schemeEnd === 5 && C.JSString_methods.startsWith$1(this._uri, "https");
  22665. },
  22666. get$hasAbsolutePath: function() {
  22667. return C.JSString_methods.startsWith$2(this._uri, "/", this._pathStart);
  22668. },
  22669. get$scheme: function() {
  22670. var t2, _this = this,
  22671. _s7_ = "package",
  22672. t1 = _this._schemeEnd;
  22673. if (t1 <= 0)
  22674. return "";
  22675. t2 = _this._schemeCache;
  22676. if (t2 != null)
  22677. return t2;
  22678. if (_this.get$_isHttp())
  22679. t1 = _this._schemeCache = "http";
  22680. else if (_this.get$_isHttps()) {
  22681. _this._schemeCache = "https";
  22682. t1 = "https";
  22683. } else if (_this.get$_isFile()) {
  22684. _this._schemeCache = "file";
  22685. t1 = "file";
  22686. } else if (t1 === 7 && C.JSString_methods.startsWith$1(_this._uri, _s7_)) {
  22687. _this._schemeCache = _s7_;
  22688. t1 = _s7_;
  22689. } else {
  22690. t1 = C.JSString_methods.substring$2(_this._uri, 0, t1);
  22691. _this._schemeCache = t1;
  22692. }
  22693. return t1;
  22694. },
  22695. get$userInfo: function() {
  22696. var t1 = this._hostStart,
  22697. t2 = this._schemeEnd + 3;
  22698. return t1 > t2 ? C.JSString_methods.substring$2(this._uri, t2, t1 - 1) : "";
  22699. },
  22700. get$host: function() {
  22701. var t1 = this._hostStart;
  22702. return t1 > 0 ? C.JSString_methods.substring$2(this._uri, t1, this._portStart) : "";
  22703. },
  22704. get$port: function() {
  22705. var _this = this;
  22706. if (_this.get$hasPort())
  22707. return P.int_parse(C.JSString_methods.substring$2(_this._uri, _this._portStart + 1, _this._pathStart), null, null);
  22708. if (_this.get$_isHttp())
  22709. return 80;
  22710. if (_this.get$_isHttps())
  22711. return 443;
  22712. return 0;
  22713. },
  22714. get$path: function(_) {
  22715. return C.JSString_methods.substring$2(this._uri, this._pathStart, this._queryStart);
  22716. },
  22717. get$query: function() {
  22718. var t1 = this._queryStart,
  22719. t2 = this._fragmentStart;
  22720. return t1 < t2 ? C.JSString_methods.substring$2(this._uri, t1 + 1, t2) : "";
  22721. },
  22722. get$fragment: function() {
  22723. var t1 = this._fragmentStart,
  22724. t2 = this._uri;
  22725. return t1 < t2.length ? C.JSString_methods.substring$1(t2, t1 + 1) : "";
  22726. },
  22727. get$pathSegments: function() {
  22728. var t2, parts, i,
  22729. start = this._pathStart,
  22730. end = this._queryStart,
  22731. t1 = this._uri;
  22732. if (C.JSString_methods.startsWith$2(t1, "/", start))
  22733. ++start;
  22734. if (start == end)
  22735. return C.List_empty0;
  22736. t2 = P.String;
  22737. parts = H.setRuntimeTypeInfo([], [t2]);
  22738. for (i = start; i < end; ++i)
  22739. if (C.JSString_methods.codeUnitAt$1(t1, i) === 47) {
  22740. parts.push(C.JSString_methods.substring$2(t1, start, i));
  22741. start = i + 1;
  22742. }
  22743. parts.push(C.JSString_methods.substring$2(t1, start, end));
  22744. return P.List_List$unmodifiable(parts, t2);
  22745. },
  22746. _isPort$1: function(port) {
  22747. var portDigitStart = this._portStart + 1;
  22748. return portDigitStart + port.length === this._pathStart && C.JSString_methods.startsWith$2(this._uri, port, portDigitStart);
  22749. },
  22750. removeFragment$0: function() {
  22751. var _this = this,
  22752. t1 = _this._fragmentStart,
  22753. t2 = _this._uri;
  22754. if (t1 >= t2.length)
  22755. return _this;
  22756. return new P._SimpleUri(C.JSString_methods.substring$2(t2, 0, t1), _this._schemeEnd, _this._hostStart, _this._portStart, _this._pathStart, _this._queryStart, t1, _this._schemeCache);
  22757. },
  22758. resolve$1: function(reference) {
  22759. return this.resolveUri$1(P.Uri_parse(reference));
  22760. },
  22761. resolveUri$1: function(reference) {
  22762. if (reference instanceof P._SimpleUri)
  22763. return this._simpleMerge$2(this, reference);
  22764. return this._toNonSimple$0().resolveUri$1(reference);
  22765. },
  22766. _simpleMerge$2: function(base, ref) {
  22767. var t2, t3, isSimple, delta, refStart, baseStart, baseEnd, baseUri, baseStart0, backCount, refStart0, insert,
  22768. t1 = ref._schemeEnd;
  22769. if (t1 > 0)
  22770. return ref;
  22771. t2 = ref._hostStart;
  22772. if (t2 > 0) {
  22773. t3 = base._schemeEnd;
  22774. if (t3 <= 0)
  22775. return ref;
  22776. if (base.get$_isFile())
  22777. isSimple = ref._pathStart != ref._queryStart;
  22778. else if (base.get$_isHttp())
  22779. isSimple = !ref._isPort$1("80");
  22780. else
  22781. isSimple = !base.get$_isHttps() || !ref._isPort$1("443");
  22782. if (isSimple) {
  22783. delta = t3 + 1;
  22784. return new P._SimpleUri(C.JSString_methods.substring$2(base._uri, 0, delta) + C.JSString_methods.substring$1(ref._uri, t1 + 1), t3, t2 + delta, ref._portStart + delta, ref._pathStart + delta, ref._queryStart + delta, ref._fragmentStart + delta, base._schemeCache);
  22785. } else
  22786. return this._toNonSimple$0().resolveUri$1(ref);
  22787. }
  22788. refStart = ref._pathStart;
  22789. t1 = ref._queryStart;
  22790. if (refStart == t1) {
  22791. t2 = ref._fragmentStart;
  22792. if (t1 < t2) {
  22793. t3 = base._queryStart;
  22794. delta = t3 - t1;
  22795. return new P._SimpleUri(C.JSString_methods.substring$2(base._uri, 0, t3) + C.JSString_methods.substring$1(ref._uri, t1), base._schemeEnd, base._hostStart, base._portStart, base._pathStart, t1 + delta, t2 + delta, base._schemeCache);
  22796. }
  22797. t1 = ref._uri;
  22798. if (t2 < t1.length) {
  22799. t3 = base._fragmentStart;
  22800. return new P._SimpleUri(C.JSString_methods.substring$2(base._uri, 0, t3) + C.JSString_methods.substring$1(t1, t2), base._schemeEnd, base._hostStart, base._portStart, base._pathStart, base._queryStart, t2 + (t3 - t2), base._schemeCache);
  22801. }
  22802. return base.removeFragment$0();
  22803. }
  22804. t2 = ref._uri;
  22805. if (C.JSString_methods.startsWith$2(t2, "/", refStart)) {
  22806. t3 = base._pathStart;
  22807. delta = t3 - refStart;
  22808. return new P._SimpleUri(C.JSString_methods.substring$2(base._uri, 0, t3) + C.JSString_methods.substring$1(t2, refStart), base._schemeEnd, base._hostStart, base._portStart, t3, t1 + delta, ref._fragmentStart + delta, base._schemeCache);
  22809. }
  22810. baseStart = base._pathStart;
  22811. baseEnd = base._queryStart;
  22812. if (baseStart == baseEnd && base._hostStart > 0) {
  22813. for (; C.JSString_methods.startsWith$2(t2, "../", refStart);)
  22814. refStart += 3;
  22815. delta = baseStart - refStart + 1;
  22816. return new P._SimpleUri(C.JSString_methods.substring$2(base._uri, 0, baseStart) + "/" + C.JSString_methods.substring$1(t2, refStart), base._schemeEnd, base._hostStart, base._portStart, baseStart, t1 + delta, ref._fragmentStart + delta, base._schemeCache);
  22817. }
  22818. baseUri = base._uri;
  22819. for (baseStart0 = baseStart; C.JSString_methods.startsWith$2(baseUri, "../", baseStart0);)
  22820. baseStart0 += 3;
  22821. backCount = 0;
  22822. while (true) {
  22823. refStart0 = refStart + 3;
  22824. if (!(refStart0 <= t1 && C.JSString_methods.startsWith$2(t2, "../", refStart)))
  22825. break;
  22826. ++backCount;
  22827. refStart = refStart0;
  22828. }
  22829. for (insert = ""; baseEnd > baseStart0;) {
  22830. --baseEnd;
  22831. if (C.JSString_methods.codeUnitAt$1(baseUri, baseEnd) === 47) {
  22832. if (backCount === 0) {
  22833. insert = "/";
  22834. break;
  22835. }
  22836. --backCount;
  22837. insert = "/";
  22838. }
  22839. }
  22840. if (baseEnd === baseStart0 && base._schemeEnd <= 0 && !C.JSString_methods.startsWith$2(baseUri, "/", baseStart)) {
  22841. refStart -= backCount * 3;
  22842. insert = "";
  22843. }
  22844. delta = baseEnd - refStart + insert.length;
  22845. return new P._SimpleUri(C.JSString_methods.substring$2(baseUri, 0, baseEnd) + insert + C.JSString_methods.substring$1(t2, refStart), base._schemeEnd, base._hostStart, base._portStart, baseStart, t1 + delta, ref._fragmentStart + delta, base._schemeCache);
  22846. },
  22847. toFilePath$0: function() {
  22848. var t1, t2, windows, _this = this;
  22849. if (_this._schemeEnd >= 0 && !_this.get$_isFile())
  22850. throw H.wrapException(P.UnsupportedError$("Cannot extract a file path from a " + H.S(_this.get$scheme()) + " URI"));
  22851. t1 = _this._queryStart;
  22852. t2 = _this._uri;
  22853. if (t1 < t2.length) {
  22854. if (t1 < _this._fragmentStart)
  22855. throw H.wrapException(P.UnsupportedError$("Cannot extract a file path from a URI with a query component"));
  22856. throw H.wrapException(P.UnsupportedError$("Cannot extract a file path from a URI with a fragment component"));
  22857. }
  22858. windows = $.$get$_Uri__isWindowsCached();
  22859. if (windows)
  22860. t1 = P._Uri__toWindowsFilePath(_this);
  22861. else {
  22862. if (_this._hostStart < _this._portStart)
  22863. H.throwExpression(P.UnsupportedError$("Cannot extract a non-Windows file path from a file URI with an authority"));
  22864. t1 = C.JSString_methods.substring$2(t2, _this._pathStart, t1);
  22865. }
  22866. return t1;
  22867. },
  22868. get$hashCode: function(_) {
  22869. var t1 = this._hashCodeCache;
  22870. return t1 == null ? this._hashCodeCache = C.JSString_methods.get$hashCode(this._uri) : t1;
  22871. },
  22872. $eq: function(_, other) {
  22873. if (other == null)
  22874. return false;
  22875. if (this === other)
  22876. return true;
  22877. return !!J.getInterceptor$(other).$isUri && this._uri === other.toString$0(0);
  22878. },
  22879. _toNonSimple$0: function() {
  22880. var _this = this, _null = null,
  22881. t1 = _this.get$scheme(),
  22882. t2 = _this.get$userInfo(),
  22883. t3 = _this._hostStart > 0 ? _this.get$host() : _null,
  22884. t4 = _this.get$hasPort() ? _this.get$port() : _null,
  22885. t5 = _this._uri,
  22886. t6 = _this._queryStart,
  22887. t7 = C.JSString_methods.substring$2(t5, _this._pathStart, t6),
  22888. t8 = _this._fragmentStart;
  22889. t6 = t6 < t8 ? _this.get$query() : _null;
  22890. return new P._Uri(t1, t2, t3, t4, t7, t6, t8 < t5.length ? _this.get$fragment() : _null);
  22891. },
  22892. toString$0: function(_) {
  22893. return this._uri;
  22894. },
  22895. $isUri: 1
  22896. };
  22897. P._DataUri.prototype = {};
  22898. P._JSRandom.prototype = {
  22899. nextInt$1: function(max) {
  22900. if (max <= 0 || max > 4294967296)
  22901. throw H.wrapException(P.RangeError$("max must be in range 0 < max \u2264 2^32, was " + max));
  22902. return Math.random() * max >>> 0;
  22903. },
  22904. nextDouble$0: function() {
  22905. return Math.random();
  22906. }
  22907. };
  22908. P.Uint8List.prototype = {$isEfficientLengthIterable: 1,
  22909. $asEfficientLengthIterable: function() {
  22910. return [P.int];
  22911. },
  22912. $isIterable: 1,
  22913. $asIterable: function() {
  22914. return [P.int];
  22915. },
  22916. $isList: 1,
  22917. $asList: function() {
  22918. return [P.int];
  22919. }
  22920. };
  22921. N.ArgParser.prototype = {
  22922. addFlag$6$abbr$defaultsTo$help$hide$negatable: function($name, abbr, defaultsTo, help, hide, negatable) {
  22923. var _null = null;
  22924. this._addOption$11$hide$negatable($name, abbr, help, _null, _null, _null, defaultsTo, _null, C.OptionType_nMZ, hide, negatable);
  22925. },
  22926. addFlag$2$hide: function($name, hide) {
  22927. return this.addFlag$6$abbr$defaultsTo$help$hide$negatable($name, null, false, null, hide, true);
  22928. },
  22929. addFlag$2$help: function($name, help) {
  22930. return this.addFlag$6$abbr$defaultsTo$help$hide$negatable($name, null, false, help, false, true);
  22931. },
  22932. addFlag$3$defaultsTo$help: function($name, defaultsTo, help) {
  22933. return this.addFlag$6$abbr$defaultsTo$help$hide$negatable($name, null, defaultsTo, help, false, true);
  22934. },
  22935. addFlag$3$help$negatable: function($name, help, negatable) {
  22936. return this.addFlag$6$abbr$defaultsTo$help$hide$negatable($name, null, false, help, false, negatable);
  22937. },
  22938. addFlag$4$abbr$help$negatable: function($name, abbr, help, negatable) {
  22939. return this.addFlag$6$abbr$defaultsTo$help$hide$negatable($name, abbr, false, help, false, negatable);
  22940. },
  22941. addFlag$3$abbr$help: function($name, abbr, help) {
  22942. return this.addFlag$6$abbr$defaultsTo$help$hide$negatable($name, abbr, false, help, false, true);
  22943. },
  22944. addOption$7$abbr$allowed$defaultsTo$help$hide$valueHelp: function($name, abbr, allowed, defaultsTo, help, hide, valueHelp) {
  22945. this._addOption$11$hide$splitCommas($name, abbr, help, valueHelp, allowed, null, defaultsTo, null, C.OptionType_YwU, hide, null);
  22946. },
  22947. addOption$2$hide: function($name, hide) {
  22948. return this.addOption$7$abbr$allowed$defaultsTo$help$hide$valueHelp($name, null, null, null, null, hide, null);
  22949. },
  22950. addOption$6$abbr$allowed$defaultsTo$help$valueHelp: function($name, abbr, allowed, defaultsTo, help, valueHelp) {
  22951. return this.addOption$7$abbr$allowed$defaultsTo$help$hide$valueHelp($name, abbr, allowed, defaultsTo, help, false, valueHelp);
  22952. },
  22953. addOption$4$allowed$defaultsTo$help: function($name, allowed, defaultsTo, help) {
  22954. return this.addOption$7$abbr$allowed$defaultsTo$help$hide$valueHelp($name, null, allowed, defaultsTo, help, false, null);
  22955. },
  22956. addMultiOption$5$abbr$help$splitCommas$valueHelp: function($name, abbr, help, splitCommas, valueHelp) {
  22957. var t1 = H.setRuntimeTypeInfo([], [P.String]);
  22958. this._addOption$11$hide$splitCommas($name, abbr, help, valueHelp, null, null, t1, null, C.OptionType_qyr, false, false);
  22959. },
  22960. _addOption$12$hide$negatable$splitCommas: function($name, abbr, help, valueHelp, allowed, allowedHelp, defaultsTo, callback, type, hide, negatable, splitCommas) {
  22961. var t2, existing, t3, option,
  22962. t1 = this._arg_parser$_options;
  22963. if (t1.containsKey$1($name))
  22964. throw H.wrapException(P.ArgumentError$('Duplicate option "' + $name + '".'));
  22965. t2 = abbr != null;
  22966. if (t2) {
  22967. existing = this.findByAbbreviation$1(abbr);
  22968. if (existing != null)
  22969. throw H.wrapException(P.ArgumentError$('Abbreviation "' + abbr + '" is already used by "' + existing.name + '".'));
  22970. }
  22971. t3 = allowed == null ? null : P.List_List$unmodifiable(allowed, P.String);
  22972. option = new G.Option($name, abbr, help, valueHelp, t3, null, defaultsTo, negatable, callback, type, splitCommas == null ? type === C.OptionType_qyr : splitCommas, hide);
  22973. if ($name.length === 0)
  22974. H.throwExpression(P.ArgumentError$("Name cannot be empty."));
  22975. else if (C.JSString_methods.startsWith$1($name, "-"))
  22976. H.throwExpression(P.ArgumentError$("Name " + $name + ' cannot start with "-".'));
  22977. t3 = $.$get$Option__invalidChars()._nativeRegExp;
  22978. if (t3.test($name))
  22979. H.throwExpression(P.ArgumentError$('Name "' + $name + '" contains invalid characters.'));
  22980. if (t2) {
  22981. if (abbr.length !== 1)
  22982. H.throwExpression(P.ArgumentError$("Abbreviation must be null or have length 1."));
  22983. else if (abbr === "-")
  22984. H.throwExpression(P.ArgumentError$('Abbreviation cannot be "-".'));
  22985. if (t3.test(abbr))
  22986. H.throwExpression(P.ArgumentError$("Abbreviation is an invalid character."));
  22987. }
  22988. t1.$indexSet(0, $name, option);
  22989. this._optionsAndSeparators.push(option);
  22990. },
  22991. _addOption$11$hide$splitCommas: function($name, abbr, help, valueHelp, allowed, allowedHelp, defaultsTo, callback, type, hide, splitCommas) {
  22992. return this._addOption$12$hide$negatable$splitCommas($name, abbr, help, valueHelp, allowed, allowedHelp, defaultsTo, callback, type, hide, false, splitCommas);
  22993. },
  22994. _addOption$11$hide$negatable: function($name, abbr, help, valueHelp, allowed, allowedHelp, defaultsTo, callback, type, hide, negatable) {
  22995. return this._addOption$12$hide$negatable$splitCommas($name, abbr, help, valueHelp, allowed, allowedHelp, defaultsTo, callback, type, hide, negatable, null);
  22996. },
  22997. findByAbbreviation$1: function(abbr) {
  22998. return this.options._collection$_map.get$values().firstWhere$2$orElse(0, new N.ArgParser_findByAbbreviation_closure(abbr), new N.ArgParser_findByAbbreviation_closure0());
  22999. }
  23000. };
  23001. N.ArgParser_findByAbbreviation_closure.prototype = {
  23002. call$1: function(option) {
  23003. return option.abbr == this.abbr;
  23004. }
  23005. };
  23006. N.ArgParser_findByAbbreviation_closure0.prototype = {
  23007. call$0: function() {
  23008. return;
  23009. }
  23010. };
  23011. Z.ArgParserException.prototype = {};
  23012. V.ArgResults.prototype = {
  23013. $index: function(_, $name) {
  23014. var t1 = this._parser.options._collection$_map;
  23015. if (!t1.containsKey$1($name))
  23016. throw H.wrapException(P.ArgumentError$('Could not find an option named "' + $name + '".'));
  23017. return t1.$index(0, $name).getOrDefault$1(this._parsed.$index(0, $name));
  23018. },
  23019. wasParsed$1: function($name) {
  23020. if (this._parser.options._collection$_map.$index(0, $name) == null)
  23021. throw H.wrapException(P.ArgumentError$('Could not find an option named "' + H.S($name) + '".'));
  23022. return this._parsed.containsKey$1($name);
  23023. }
  23024. };
  23025. G.Option.prototype = {
  23026. getOrDefault$1: function(value) {
  23027. var t1;
  23028. if (value != null)
  23029. return value;
  23030. if (this.type === C.OptionType_qyr) {
  23031. t1 = this.defaultsTo;
  23032. return t1 == null ? H.setRuntimeTypeInfo([], [P.String]) : t1;
  23033. }
  23034. return this.defaultsTo;
  23035. }
  23036. };
  23037. G.OptionType.prototype = {};
  23038. G.Parser0.prototype = {
  23039. parse$0: function() {
  23040. var commandName, commandParser, error, t3, t4, t5, t6, t7, command, exception, _this = this,
  23041. t1 = _this.args,
  23042. t2 = H.setRuntimeTypeInfo(t1.slice(0), [H.getTypeArgumentByIndex(t1, 0)]),
  23043. commandResults = null;
  23044. for (t3 = _this.rest, t4 = _this.grammar, t5 = !t4.allowTrailingOptions, t6 = t4.commands._collection$_map; t1.length !== 0;) {
  23045. t7 = t1[0];
  23046. if (t7 === "--") {
  23047. C.JSArray_methods.removeAt$1(t1, 0);
  23048. break;
  23049. }
  23050. command = t6.$index(0, t7);
  23051. if (command != null) {
  23052. if (t3.length !== 0)
  23053. H.throwExpression(Z.ArgParserException$("Cannot specify arguments before a command.", null));
  23054. commandName = C.JSArray_methods.removeAt$1(t1, 0);
  23055. t5 = P.String;
  23056. t6 = [t5];
  23057. t7 = H.setRuntimeTypeInfo([], t6);
  23058. C.JSArray_methods.addAll$1(t7, t3);
  23059. commandParser = new G.Parser0(commandName, _this, command, t1, t7, P.LinkedHashMap_LinkedHashMap$_empty(t5, null));
  23060. try {
  23061. commandResults = commandParser.parse$0();
  23062. } catch (exception) {
  23063. t1 = H.unwrapException(exception);
  23064. if (t1 instanceof Z.ArgParserException) {
  23065. error = t1;
  23066. if (commandName == null)
  23067. throw exception;
  23068. t1 = error.message;
  23069. t6 = H.setRuntimeTypeInfo([commandName], t6);
  23070. C.JSArray_methods.addAll$1(t6, error.commands);
  23071. throw H.wrapException(Z.ArgParserException$(t1, t6));
  23072. } else
  23073. throw exception;
  23074. }
  23075. C.JSArray_methods.set$length(t3, 0);
  23076. break;
  23077. }
  23078. if (_this.parseSoloOption$0())
  23079. continue;
  23080. if (_this.parseAbbreviation$1(_this))
  23081. continue;
  23082. if (_this.parseLongOption$0())
  23083. continue;
  23084. if (t5)
  23085. break;
  23086. t3.push(C.JSArray_methods.removeAt$1(t1, 0));
  23087. }
  23088. t4.options._collection$_map.forEach$1(0, new G.Parser_parse_closure(_this));
  23089. C.JSArray_methods.addAll$1(t3, t1);
  23090. C.JSArray_methods.set$length(t1, 0);
  23091. return V.ArgResults$_(t4, _this.results, _this.commandName, commandResults, t3, t2);
  23092. },
  23093. readNextArgAsValue$1: function(option) {
  23094. var t1 = this.args,
  23095. t2 = t1.length,
  23096. t3 = 'Missing argument for "' + option.name + '".';
  23097. if (t2 === 0)
  23098. H.throwExpression(Z.ArgParserException$(t3, null));
  23099. this.setOption$3(this.results, option, t1[0]);
  23100. C.JSArray_methods.removeAt$1(t1, 0);
  23101. },
  23102. parseSoloOption$0: function() {
  23103. var t2, option, _this = this,
  23104. t1 = _this.args,
  23105. soloOpt = $.$get$_soloOpt().firstMatch$1(t1[0]);
  23106. if (soloOpt == null)
  23107. return false;
  23108. t2 = soloOpt._match;
  23109. option = _this.grammar.findByAbbreviation$1(t2[1]);
  23110. if (option == null) {
  23111. t1 = _this.parent;
  23112. t2 = 'Could not find an option or flag "-' + H.S(t2[1]) + '".';
  23113. if (t1 == null)
  23114. H.throwExpression(Z.ArgParserException$(t2, null));
  23115. return t1.parseSoloOption$0();
  23116. }
  23117. C.JSArray_methods.removeAt$1(t1, 0);
  23118. if (option.type === C.OptionType_nMZ)
  23119. _this.results.$indexSet(0, option.name, true);
  23120. else
  23121. _this.readNextArgAsValue$1(option);
  23122. return true;
  23123. },
  23124. parseAbbreviation$1: function(innermostCommand) {
  23125. var t2, c, first, t3, t4, i, i0, _this = this,
  23126. t1 = _this.args,
  23127. abbrOpt = $.$get$_abbrOpt().firstMatch$1(t1[0]);
  23128. if (abbrOpt == null)
  23129. return false;
  23130. t2 = abbrOpt._match;
  23131. c = J.substring$2$s(t2[1], 0, 1);
  23132. first = _this.grammar.findByAbbreviation$1(c);
  23133. if (first == null) {
  23134. t1 = _this.parent;
  23135. t2 = 'Could not find an option with short name "-' + c + '".';
  23136. if (t1 == null)
  23137. H.throwExpression(Z.ArgParserException$(t2, null));
  23138. return t1.parseAbbreviation$1(innermostCommand);
  23139. } else if (first.type !== C.OptionType_nMZ)
  23140. _this.setOption$3(_this.results, first, J.substring$1$s(t2[1], 1) + H.S(t2[2]));
  23141. else {
  23142. t3 = t2[2];
  23143. t4 = 'Option "-' + c + '" is a flag and cannot handle value "' + J.substring$1$s(t2[1], 1) + H.S(t3) + '".';
  23144. if (t3 !== "")
  23145. H.throwExpression(Z.ArgParserException$(t4, null));
  23146. for (i = 0; t3 = t2[1], i < t3.length; i = i0) {
  23147. i0 = i + 1;
  23148. innermostCommand.parseShortFlag$1(J.substring$2$s(t3, i, i0));
  23149. }
  23150. }
  23151. C.JSArray_methods.removeAt$1(t1, 0);
  23152. return true;
  23153. },
  23154. parseShortFlag$1: function(c) {
  23155. var t1, t2,
  23156. option = this.grammar.findByAbbreviation$1(c);
  23157. if (option == null) {
  23158. t1 = this.parent;
  23159. t2 = 'Could not find an option with short name "-' + c + '".';
  23160. if (t1 == null)
  23161. H.throwExpression(Z.ArgParserException$(t2, null));
  23162. t1.parseShortFlag$1(c);
  23163. return;
  23164. }
  23165. t1 = option.type;
  23166. t2 = 'Option "-' + c + '" must be a flag to be in a collapsed "-".';
  23167. if (t1 !== C.OptionType_nMZ)
  23168. H.throwExpression(Z.ArgParserException$(t2, null));
  23169. this.results.$indexSet(0, option.name, true);
  23170. },
  23171. parseLongOption$0: function() {
  23172. var t2, $name, t3, option, _this = this, _null = null,
  23173. _s32_ = 'Could not find an option named "',
  23174. t1 = _this.args,
  23175. longOpt = $.$get$_longOpt().firstMatch$1(t1[0]);
  23176. if (longOpt == null)
  23177. return false;
  23178. t2 = longOpt._match;
  23179. $name = t2[1];
  23180. t3 = _this.grammar.options._collection$_map;
  23181. option = t3.$index(0, $name);
  23182. if (option != null) {
  23183. C.JSArray_methods.removeAt$1(t1, 0);
  23184. if (option.type === C.OptionType_nMZ) {
  23185. t1 = t2[3];
  23186. t2 = 'Flag option "' + H.S($name) + '" should not be given a value.';
  23187. if (t1 != null)
  23188. H.throwExpression(Z.ArgParserException$(t2, _null));
  23189. _this.results.$indexSet(0, option.name, true);
  23190. } else {
  23191. t1 = t2[3];
  23192. if (t1 != null)
  23193. _this.setOption$3(_this.results, option, t1);
  23194. else
  23195. _this.readNextArgAsValue$1(option);
  23196. }
  23197. } else if (J.getInterceptor$s($name).startsWith$1($name, "no-")) {
  23198. $name = C.JSString_methods.substring$1($name, 3);
  23199. option = t3.$index(0, $name);
  23200. if (option == null) {
  23201. t1 = _this.parent;
  23202. t2 = _s32_ + $name + '".';
  23203. if (t1 == null)
  23204. H.throwExpression(Z.ArgParserException$(t2, _null));
  23205. return t1.parseLongOption$0();
  23206. }
  23207. C.JSArray_methods.removeAt$1(t1, 0);
  23208. t1 = option.type;
  23209. t2 = 'Cannot negate non-flag option "' + $name + '".';
  23210. if (t1 !== C.OptionType_nMZ)
  23211. H.throwExpression(Z.ArgParserException$(t2, _null));
  23212. t1 = option.negatable;
  23213. t2 = 'Cannot negate option "' + $name + '".';
  23214. if (!t1)
  23215. H.throwExpression(Z.ArgParserException$(t2, _null));
  23216. _this.results.$indexSet(0, option.name, false);
  23217. } else {
  23218. t1 = _this.parent;
  23219. t2 = _s32_ + $name + '".';
  23220. if (t1 == null)
  23221. H.throwExpression(Z.ArgParserException$(t2, _null));
  23222. return t1.parseLongOption$0();
  23223. }
  23224. return true;
  23225. },
  23226. setOption$3: function(results, option, value) {
  23227. var list, t1, t2, t3, _i, element;
  23228. if (option.type !== C.OptionType_qyr) {
  23229. this._validateAllowed$2(option, value);
  23230. results.$indexSet(0, option.name, value);
  23231. return;
  23232. }
  23233. list = results.putIfAbsent$2(option.name, new G.Parser_setOption_closure());
  23234. if (option.splitCommas)
  23235. for (t1 = value.split(","), t2 = t1.length, t3 = J.getInterceptor$ax(list), _i = 0; _i < t2; ++_i) {
  23236. element = t1[_i];
  23237. this._validateAllowed$2(option, element);
  23238. t3.add$1(list, element);
  23239. }
  23240. else {
  23241. this._validateAllowed$2(option, value);
  23242. J.add$1$ax(list, value);
  23243. }
  23244. },
  23245. _validateAllowed$2: function(option, value) {
  23246. var t2,
  23247. t1 = option.allowed;
  23248. if (t1 == null)
  23249. return;
  23250. t1 = C.JSArray_methods.contains$1(t1, value);
  23251. t2 = '"' + H.S(value) + '" is not an allowed value for option "' + option.name + '".';
  23252. if (!t1)
  23253. H.throwExpression(Z.ArgParserException$(t2, null));
  23254. }
  23255. };
  23256. G.Parser_parse_closure.prototype = {
  23257. call$2: function($name, option) {
  23258. var t1 = option.callback;
  23259. if (t1 == null)
  23260. return;
  23261. t1.call$1(option.getOrDefault$1(this.$this.results.$index(0, $name)));
  23262. }
  23263. };
  23264. G.Parser_setOption_closure.prototype = {
  23265. call$0: function() {
  23266. return H.setRuntimeTypeInfo([], [P.String]);
  23267. }
  23268. };
  23269. G.Usage.prototype = {
  23270. generate$0: function() {
  23271. var t1, t2, _i, optionOrSeparator, t3, t4, allowedNames, t5, t6, _i0, $name, isDefault, t7, _this = this;
  23272. _this.buffer = new P.StringBuffer("");
  23273. _this.calculateColumnWidths$0();
  23274. for (t1 = _this.optionsAndSeparators, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
  23275. optionOrSeparator = t1[_i];
  23276. if (typeof optionOrSeparator === "string") {
  23277. t3 = _this.buffer;
  23278. t4 = t3._contents;
  23279. t3._contents = (t4.length !== 0 ? t3._contents = t4 + "\n\n" : t4) + optionOrSeparator;
  23280. _this.newlinesNeeded = 1;
  23281. continue;
  23282. }
  23283. H.interceptedTypeCast(optionOrSeparator, "$isOption");
  23284. if (optionOrSeparator.hide)
  23285. continue;
  23286. t3 = optionOrSeparator.abbr;
  23287. _this.write$2(0, 0, t3 == null ? "" : "-" + t3 + ", ");
  23288. _this.write$2(0, 1, _this.getLongOption$1(optionOrSeparator));
  23289. t3 = optionOrSeparator.help;
  23290. if (t3 != null)
  23291. _this.write$2(0, 2, t3);
  23292. t3 = optionOrSeparator.allowedHelp;
  23293. if (t3 != null) {
  23294. t4 = t3.get$keys();
  23295. allowedNames = P.List_List$from(t4, false, H.getRuntimeTypeArgument(t4, "Iterable", 0));
  23296. t4 = allowedNames.length - 1;
  23297. if (t4 - 0 <= 32)
  23298. H.Sort__insertionSort(allowedNames, 0, t4, J._interceptors_JSArray__compareAny$closure());
  23299. else
  23300. H.Sort__dualPivotQuicksort(allowedNames, 0, t4, J._interceptors_JSArray__compareAny$closure());
  23301. ++_this.newlinesNeeded;
  23302. _this.numHelpLines = _this.currentColumn = 0;
  23303. for (t4 = allowedNames.length, t5 = optionOrSeparator.defaultsTo, t6 = !!J.getInterceptor$(t5).$isList, _i0 = 0; _i0 < allowedNames.length; allowedNames.length === t4 || (0, H.throwConcurrentModificationError)(allowedNames), ++_i0) {
  23304. $name = allowedNames[_i0];
  23305. isDefault = t6 ? C.JSArray_methods.contains$1(t5, $name) : t5 == null ? $name == null : t5 === $name;
  23306. t7 = " [" + H.S($name) + "]";
  23307. _this.write$2(0, 1, t7 + (isDefault ? " (default)" : ""));
  23308. _this.write$2(0, 2, t3.$index(0, $name));
  23309. }
  23310. ++_this.newlinesNeeded;
  23311. _this.numHelpLines = _this.currentColumn = 0;
  23312. } else if (optionOrSeparator.allowed != null)
  23313. _this.write$2(0, 2, _this.buildAllowedList$1(optionOrSeparator));
  23314. else {
  23315. t3 = optionOrSeparator.type;
  23316. if (t3 === C.OptionType_nMZ) {
  23317. if (optionOrSeparator.defaultsTo === true)
  23318. _this.write$2(0, 2, "(defaults to on)");
  23319. } else if (t3 === C.OptionType_qyr) {
  23320. t3 = optionOrSeparator.defaultsTo;
  23321. if (t3 != null && J.get$isNotEmpty$asx(t3))
  23322. _this.write$2(0, 2, "(defaults to " + J.map$1$ax(t3, new G.Usage_generate_closure()).join$1(0, ", ") + ")");
  23323. } else {
  23324. t3 = optionOrSeparator.defaultsTo;
  23325. if (t3 != null)
  23326. _this.write$2(0, 2, '(defaults to "' + H.S(t3) + '")');
  23327. }
  23328. }
  23329. if (_this.numHelpLines > 1) {
  23330. ++_this.newlinesNeeded;
  23331. _this.numHelpLines = _this.currentColumn = 0;
  23332. }
  23333. }
  23334. return J.toString$0$(_this.buffer);
  23335. },
  23336. getLongOption$1: function(option) {
  23337. var t1 = option.name,
  23338. result = option.negatable ? "--[no-]" + t1 : "--" + t1;
  23339. t1 = option.valueHelp;
  23340. return t1 != null ? result + ("=<" + t1 + ">") : result;
  23341. },
  23342. calculateColumnWidths$0: function() {
  23343. var t1, t2, abbr, title, _i, option, t3, t4, t5, allowed, isDefault, t6;
  23344. for (t1 = this.optionsAndSeparators, t2 = t1.length, abbr = 0, title = 0, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
  23345. option = t1[_i];
  23346. if (!(option instanceof G.Option))
  23347. continue;
  23348. if (option.hide)
  23349. continue;
  23350. t3 = option.abbr;
  23351. abbr = Math.max(abbr, (t3 == null ? "" : "-" + t3 + ", ").length);
  23352. title = Math.max(title, this.getLongOption$1(option).length);
  23353. t3 = option.allowedHelp;
  23354. if (t3 != null)
  23355. for (t3 = t3.get$keys(), t3 = t3.get$iterator(t3), t4 = option.defaultsTo, t5 = !!J.getInterceptor$(t4).$isList; t3.moveNext$0();) {
  23356. allowed = t3.get$current(t3);
  23357. isDefault = t5 ? C.JSArray_methods.contains$1(t4, allowed) : t4 == null ? allowed == null : t4 === allowed;
  23358. t6 = " [" + H.S(allowed) + "]";
  23359. title = Math.max(title, (t6 + (isDefault ? " (default)" : "")).length);
  23360. }
  23361. }
  23362. this.columnWidths = H.setRuntimeTypeInfo([abbr, title + 4], [P.int]);
  23363. },
  23364. write$2: function(_, column, text) {
  23365. var t1, _i,
  23366. lines = H.setRuntimeTypeInfo(text.split("\n"), [P.String]);
  23367. this.columnWidths.length;
  23368. while (true) {
  23369. if (!(lines.length !== 0 && J.trim$0$s(lines[0]) === ""))
  23370. break;
  23371. P.RangeError_checkValidRange(0, 1, lines.length);
  23372. lines.splice(0, 1);
  23373. }
  23374. while (true) {
  23375. t1 = lines.length;
  23376. if (!(t1 !== 0 && J.trim$0$s(lines[t1 - 1]) === ""))
  23377. break;
  23378. lines.pop();
  23379. }
  23380. for (t1 = lines.length, _i = 0; _i < lines.length; lines.length === t1 || (0, H.throwConcurrentModificationError)(lines), ++_i)
  23381. this.writeLine$2(column, lines[_i]);
  23382. },
  23383. writeLine$2: function(column, text) {
  23384. var t1, t2, _this = this;
  23385. for (; t1 = _this.newlinesNeeded, t1 > 0;) {
  23386. _this.buffer._contents += "\n";
  23387. _this.newlinesNeeded = t1 - 1;
  23388. }
  23389. for (; t1 = _this.currentColumn, t1 !== column;) {
  23390. t2 = _this.buffer;
  23391. if (t1 < 2)
  23392. t2._contents += C.JSString_methods.$mul(" ", _this.columnWidths[t1]);
  23393. else
  23394. t2._contents += "\n";
  23395. _this.currentColumn = (_this.currentColumn + 1) % 3;
  23396. }
  23397. t1 = _this.columnWidths;
  23398. t1.length;
  23399. t2 = _this.buffer;
  23400. if (column < 2)
  23401. t2._contents += J.padRight$1$s(text, t1[column]);
  23402. else {
  23403. t2.toString;
  23404. t2._contents += H.S(text);
  23405. }
  23406. _this.currentColumn = (_this.currentColumn + 1) % 3;
  23407. t1 = column === 2;
  23408. if (t1)
  23409. ++_this.newlinesNeeded;
  23410. if (t1)
  23411. ++_this.numHelpLines;
  23412. else
  23413. _this.numHelpLines = 0;
  23414. },
  23415. buildAllowedList$1: function(option) {
  23416. var t2, first, _i, t3, allowed,
  23417. t1 = option.defaultsTo,
  23418. isDefault = !!J.getInterceptor$(t1).$isList ? C.JSArray_methods.get$contains(t1) : new G.Usage_buildAllowedList_closure(option);
  23419. for (t1 = option.allowed, t2 = t1.length, first = true, _i = 0, t3 = "["; _i < t2; ++_i, first = false) {
  23420. allowed = t1[_i];
  23421. if (!first)
  23422. t3 += ", ";
  23423. t3 += H.S(allowed);
  23424. if (isDefault.call$1(allowed))
  23425. t3 += " (default)";
  23426. }
  23427. t1 = t3 + "]";
  23428. return t1.charCodeAt(0) == 0 ? t1 : t1;
  23429. }
  23430. };
  23431. G.Usage_generate_closure.prototype = {
  23432. call$1: function(value) {
  23433. return '"' + H.S(value) + '"';
  23434. },
  23435. $signature: 31
  23436. };
  23437. G.Usage_buildAllowedList_closure.prototype = {
  23438. call$1: function(value) {
  23439. var t1 = this.option.defaultsTo;
  23440. return value == null ? t1 == null : value === t1;
  23441. },
  23442. $signature: 19
  23443. };
  23444. V.ErrorResult.prototype = {
  23445. complete$1: function(completer) {
  23446. completer.completeError$2(this.error, this.stackTrace);
  23447. },
  23448. get$hashCode: function(_) {
  23449. return (J.get$hashCode$(this.error) ^ J.get$hashCode$(this.stackTrace) ^ 492929599) >>> 0;
  23450. },
  23451. $eq: function(_, other) {
  23452. if (other == null)
  23453. return false;
  23454. return other instanceof V.ErrorResult && J.$eq$(this.error, other.error) && this.stackTrace == other.stackTrace;
  23455. },
  23456. $isResult: 1,
  23457. $asResult: function() {
  23458. return [P.Null];
  23459. }
  23460. };
  23461. E.Result.prototype = {};
  23462. F.ValueResult.prototype = {
  23463. complete$1: function(completer) {
  23464. completer.complete$1(this.value);
  23465. },
  23466. get$hashCode: function(_) {
  23467. return (J.get$hashCode$(this.value) ^ 842997089) >>> 0;
  23468. },
  23469. $eq: function(_, other) {
  23470. if (other == null)
  23471. return false;
  23472. return other instanceof F.ValueResult && J.$eq$(this.value, other.value);
  23473. },
  23474. $isResult: 1
  23475. };
  23476. Y.StreamCompleter.prototype = {
  23477. setSourceStream$1: function(sourceStream) {
  23478. var t1 = this._stream_completer$_stream;
  23479. if (t1._sourceStream != null)
  23480. throw H.wrapException(P.StateError$("Source stream already set"));
  23481. t1._sourceStream = sourceStream;
  23482. if (t1._stream_completer$_controller != null)
  23483. t1._linkStreamToController$0();
  23484. },
  23485. setError$2: function(error, stackTrace) {
  23486. var t1 = H.getTypeArgumentByIndex(this, 0);
  23487. this.setSourceStream$1(P.Stream_Stream$fromFuture(P.Future_Future$error(error, stackTrace, t1), t1));
  23488. },
  23489. setError$1: function(error) {
  23490. return this.setError$2(error, null);
  23491. }
  23492. };
  23493. Y._CompleterStream.prototype = {
  23494. listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onDone, onError) {
  23495. var t1, _this = this, _null = null;
  23496. if (_this._stream_completer$_controller == null) {
  23497. t1 = _this._sourceStream;
  23498. if (t1 != null && !t1.get$isBroadcast())
  23499. return _this._sourceStream.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError);
  23500. _this._stream_completer$_controller = P.StreamController_StreamController(_null, _null, _null, _null, true, H.getTypeArgumentByIndex(_this, 0));
  23501. if (_this._sourceStream != null)
  23502. _this._linkStreamToController$0();
  23503. }
  23504. t1 = _this._stream_completer$_controller;
  23505. t1.toString;
  23506. return new P._ControllerStream(t1, [H.getTypeArgumentByIndex(t1, 0)]).listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError);
  23507. },
  23508. listen$3$onDone$onError: function(onData, onDone, onError) {
  23509. return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError);
  23510. },
  23511. listen$1: function(onData) {
  23512. return this.listen$4$cancelOnError$onDone$onError(onData, null, null, null);
  23513. },
  23514. _linkStreamToController$0: function() {
  23515. var t1 = this._stream_completer$_controller.addStream$2$cancelOnError(this._sourceStream, false),
  23516. t2 = this._stream_completer$_controller;
  23517. t1.whenComplete$1(t2.get$close(t2));
  23518. }
  23519. };
  23520. L.StreamGroup.prototype = {
  23521. add$1: function(_, stream) {
  23522. var t1, _this = this;
  23523. if (_this._closed)
  23524. throw H.wrapException(P.StateError$("Can't add a Stream to a closed StreamGroup."));
  23525. t1 = _this._stream_group$_state;
  23526. if (t1 === C._StreamGroupState_dormant)
  23527. _this._subscriptions.putIfAbsent$2(stream, new L.StreamGroup_add_closure());
  23528. else if (t1 === C._StreamGroupState_canceled)
  23529. return stream.listen$1(null).cancel$0();
  23530. else
  23531. _this._subscriptions.putIfAbsent$2(stream, new L.StreamGroup_add_closure0(_this, stream));
  23532. return;
  23533. },
  23534. remove$1: function(_, stream) {
  23535. var t1 = this._subscriptions,
  23536. subscription = t1.remove$1(0, stream),
  23537. future = subscription == null ? null : subscription.cancel$0();
  23538. if (this._closed && t1.get$isEmpty(t1))
  23539. this._controller.close$0(0);
  23540. return future;
  23541. },
  23542. _onListen$0: function() {
  23543. this._stream_group$_state = C._StreamGroupState_listening;
  23544. this._subscriptions.forEach$1(0, new L.StreamGroup__onListen_closure(this));
  23545. },
  23546. _onPause$0: function() {
  23547. this._stream_group$_state = C._StreamGroupState_paused;
  23548. for (var t1 = this._subscriptions.get$values(), t1 = t1.get$iterator(t1); t1.moveNext$0();)
  23549. t1.get$current(t1).pause$0(0);
  23550. },
  23551. _onResume$0: function() {
  23552. this._stream_group$_state = C._StreamGroupState_listening;
  23553. for (var t1 = this._subscriptions.get$values(), t1 = t1.get$iterator(t1); t1.moveNext$0();)
  23554. t1.get$current(t1).resume$0();
  23555. },
  23556. _onCancel$0: function() {
  23557. var t1, t2, t3, futures;
  23558. this._stream_group$_state = C._StreamGroupState_canceled;
  23559. t1 = this._subscriptions;
  23560. t2 = t1.get$values();
  23561. t2 = H.MappedIterable_MappedIterable(t2, new L.StreamGroup__onCancel_closure(), H.getRuntimeTypeArgument(t2, "Iterable", 0), [P.Future,,]);
  23562. t3 = H.getRuntimeTypeArgument(t2, "Iterable", 0);
  23563. futures = P.List_List$from(new H.WhereIterable(t2, new L.StreamGroup__onCancel_closure0(), [t3]), true, t3);
  23564. t1.clear$0(0);
  23565. return futures.length === 0 ? null : P.Future_wait(futures, null);
  23566. },
  23567. _listenToStream$1: function(stream) {
  23568. var t1 = this._controller,
  23569. subscription = stream.listen$3$onDone$onError(t1.get$add(t1), new L.StreamGroup__listenToStream_closure(this, stream), t1.get$addError());
  23570. if (this._stream_group$_state === C._StreamGroupState_paused)
  23571. subscription.pause$0(0);
  23572. return subscription;
  23573. }
  23574. };
  23575. L.StreamGroup_add_closure.prototype = {
  23576. call$0: function() {
  23577. return;
  23578. }
  23579. };
  23580. L.StreamGroup_add_closure0.prototype = {
  23581. call$0: function() {
  23582. return this.$this._listenToStream$1(this.stream);
  23583. }
  23584. };
  23585. L.StreamGroup__onListen_closure.prototype = {
  23586. call$2: function(stream, subscription) {
  23587. var t1;
  23588. if (subscription != null)
  23589. return;
  23590. t1 = this.$this;
  23591. t1._subscriptions.$indexSet(0, stream, t1._listenToStream$1(stream));
  23592. }
  23593. };
  23594. L.StreamGroup__onCancel_closure.prototype = {
  23595. call$1: function(subscription) {
  23596. return subscription.cancel$0();
  23597. }
  23598. };
  23599. L.StreamGroup__onCancel_closure0.prototype = {
  23600. call$1: function(future) {
  23601. return future != null;
  23602. }
  23603. };
  23604. L.StreamGroup__listenToStream_closure.prototype = {
  23605. call$0: function() {
  23606. return this.$this.remove$1(0, this.stream);
  23607. },
  23608. "call*": "call$0",
  23609. $requiredArgCount: 0
  23610. };
  23611. L._StreamGroupState.prototype = {
  23612. toString$0: function(_) {
  23613. return this.name;
  23614. }
  23615. };
  23616. G.StreamQueue.prototype = {
  23617. get$next: function() {
  23618. var t1 = this.$ti,
  23619. t2 = new P._Future($.Zone__current, t1);
  23620. this._addRequest$1(new G._NextRequest(new P._AsyncCompleter(t2, t1), t1));
  23621. return t2;
  23622. },
  23623. _updateRequests$0: function() {
  23624. var t1, t2, t3, _this = this;
  23625. for (t1 = _this._requestQueue, t2 = _this._eventQueue; !t1.get$isEmpty(t1);) {
  23626. t3 = t1._collection$_head;
  23627. if (t3 === t1._collection$_tail)
  23628. H.throwExpression(H.IterableElementError_noElement());
  23629. if (t1._collection$_table[t3].update$2(t2, _this._isDone))
  23630. t1.removeFirst$0();
  23631. else
  23632. return;
  23633. }
  23634. if (!_this._isDone)
  23635. _this._stream_queue$_subscription.pause$0(0);
  23636. },
  23637. _ensureListening$0: function() {
  23638. var t1, _this = this;
  23639. if (_this._isDone)
  23640. return;
  23641. t1 = _this._stream_queue$_subscription;
  23642. if (t1 == null)
  23643. _this._stream_queue$_subscription = _this._stream_queue$_source.listen$3$onDone$onError(new G.StreamQueue__ensureListening_closure(_this), new G.StreamQueue__ensureListening_closure0(_this), new G.StreamQueue__ensureListening_closure1(_this));
  23644. else
  23645. t1.resume$0();
  23646. },
  23647. _addResult$1: function(result) {
  23648. ++this._eventsReceived;
  23649. this._eventQueue._queue_list$_add$1(result);
  23650. this._updateRequests$0();
  23651. },
  23652. _addRequest$1: function(request) {
  23653. var _this = this,
  23654. t1 = _this._requestQueue;
  23655. if (t1._collection$_head === t1._collection$_tail) {
  23656. if (request.update$2(_this._eventQueue, _this._isDone))
  23657. return;
  23658. _this._ensureListening$0();
  23659. }
  23660. t1._collection$_add$1(request);
  23661. }
  23662. };
  23663. G.StreamQueue__ensureListening_closure.prototype = {
  23664. call$1: function(data) {
  23665. var t1 = this.$this;
  23666. t1._addResult$1(new F.ValueResult(data, [H.getTypeArgumentByIndex(t1, 0)]));
  23667. },
  23668. $signature: function() {
  23669. return {func: 1, ret: P.Null, args: [H.getTypeArgumentByIndex(this.$this, 0)]};
  23670. }
  23671. };
  23672. G.StreamQueue__ensureListening_closure1.prototype = {
  23673. call$2: function(error, stackTrace) {
  23674. this.$this._addResult$1(new V.ErrorResult(error, stackTrace));
  23675. },
  23676. "call*": "call$2",
  23677. $requiredArgCount: 2,
  23678. $signature: 18
  23679. };
  23680. G.StreamQueue__ensureListening_closure0.prototype = {
  23681. call$0: function() {
  23682. var t1 = this.$this;
  23683. t1._stream_queue$_subscription = null;
  23684. t1._isDone = true;
  23685. t1._updateRequests$0();
  23686. },
  23687. "call*": "call$0",
  23688. $requiredArgCount: 0
  23689. };
  23690. G._EventRequest.prototype = {};
  23691. G._NextRequest.prototype = {
  23692. update$2: function(events, isDone) {
  23693. if (!events.get$isEmpty(events)) {
  23694. events.removeFirst$0().complete$1(this._stream_queue$_completer);
  23695. return true;
  23696. }
  23697. if (isDone) {
  23698. this._stream_queue$_completer.completeError$2(new P.StateError("No elements"), P.StackTrace_current());
  23699. return true;
  23700. }
  23701. return false;
  23702. },
  23703. $is_EventRequest: 1
  23704. };
  23705. Q.Repl.prototype = {};
  23706. Q.closure130.prototype = {
  23707. call$1: function(text) {
  23708. return true;
  23709. }
  23710. };
  23711. B.ReplAdapter.prototype = {
  23712. runAsync$0: function() {
  23713. var $async$runAsync$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  23714. switch ($async$errorCode) {
  23715. case 2:
  23716. $async$next = $async$nextWhenCanceled;
  23717. $async$goto = $async$next.pop();
  23718. break;
  23719. case 1:
  23720. $async$currentError = $async$result;
  23721. $async$goto = $async$handler;
  23722. }
  23723. while (true)
  23724. switch ($async$goto) {
  23725. case 0:
  23726. // Function start
  23727. t1 = J.get$isTTY$x(self.process.stdin);
  23728. output = (t1 == null ? false : t1) ? self.process.stdout : null;
  23729. t1 = $async$self.repl;
  23730. $prompt = t1.prompt;
  23731. $async$self.rl = J.createInterface$1$x($.$get$readline(), {input: self.process.stdin, output: output, prompt: $prompt});
  23732. t2 = P.String;
  23733. controller = P.StreamController_StreamController(null, null, null, null, false, t2);
  23734. queue = new G.StreamQueue(new P._ControllerStream(controller, [H.getTypeArgumentByIndex(controller, 0)]), Q.QueueList$(null, [E.Result, t2]), P.ListQueue$([G._EventRequest,,]), [t2]);
  23735. J.on$2$x($async$self.rl, "line", P.allowInterop(new B.ReplAdapter_runAsync_closure(controller)));
  23736. prompt0 = t1.continuation, prompt1 = $prompt, statement = "";
  23737. case 3:
  23738. // for condition
  23739. // trivial condition
  23740. t2 = J.get$isTTY$x(self.process.stdin);
  23741. if (t2 == null ? false : t2)
  23742. J.write$1$x(self.process.stdout, prompt1);
  23743. $async$goto = 5;
  23744. return P._asyncStarHelper(queue.get$next(), $async$runAsync$0, $async$controller);
  23745. case 5:
  23746. // returning from await.
  23747. line = $async$result;
  23748. t2 = J.get$isTTY$x(self.process.stdin);
  23749. if (!(t2 == null ? false : t2)) {
  23750. line0 = prompt1 + H.S(line);
  23751. t2 = $.printToZone;
  23752. if (t2 == null)
  23753. H.printString(line0);
  23754. else
  23755. t2.call$1(line0);
  23756. }
  23757. statement = C.JSString_methods.$add(statement, line);
  23758. $async$goto = t1.validator.call$1(statement) ? 6 : 8;
  23759. break;
  23760. case 6:
  23761. // then
  23762. $async$goto = 9;
  23763. $async$nextWhenCanceled = [1];
  23764. return P._asyncStarHelper(P._IterationMarker_yieldSingle(statement), $async$runAsync$0, $async$controller);
  23765. case 9:
  23766. // after yield
  23767. J.setPrompt$1$x($async$self.rl, $prompt);
  23768. prompt1 = $prompt;
  23769. statement = "";
  23770. // goto join
  23771. $async$goto = 7;
  23772. break;
  23773. case 8:
  23774. // else
  23775. statement += "\n";
  23776. J.setPrompt$1$x($async$self.rl, prompt0);
  23777. prompt1 = prompt0;
  23778. case 7:
  23779. // join
  23780. // goto for condition
  23781. $async$goto = 3;
  23782. break;
  23783. case 4:
  23784. // after for
  23785. case 1:
  23786. // return
  23787. return P._asyncStarHelper(null, 0, $async$controller);
  23788. case 2:
  23789. // rethrow
  23790. return P._asyncStarHelper($async$currentError, 1, $async$controller);
  23791. }
  23792. });
  23793. var $async$goto = 0,
  23794. $async$controller = P._makeAsyncStarStreamController($async$runAsync$0, P.String),
  23795. $async$nextWhenCanceled, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, $prompt, t2, controller, queue, prompt0, prompt1, statement, line, line0, t1, output;
  23796. return P._streamOfController($async$controller);
  23797. }
  23798. };
  23799. B.ReplAdapter_runAsync_closure.prototype = {
  23800. call$1: function(value) {
  23801. this.controller.add$1(0, value);
  23802. },
  23803. call$0: function() {
  23804. return this.call$1(null);
  23805. },
  23806. "call*": "call$1",
  23807. $requiredArgCount: 0,
  23808. $defaultValues: function() {
  23809. return [null];
  23810. },
  23811. $signature: 11
  23812. };
  23813. B.Stdin.prototype = {};
  23814. B.Stdout.prototype = {};
  23815. B.ReadlineModule.prototype = {};
  23816. B.ReadlineOptions.prototype = {};
  23817. B.ReadlineInterface.prototype = {};
  23818. O.EmptyUnmodifiableSet.prototype = {
  23819. get$iterator: function(_) {
  23820. return C.C_EmptyIterator;
  23821. },
  23822. get$length: function(_) {
  23823. return 0;
  23824. },
  23825. cast$1$0: function(_, $T) {
  23826. return new O.EmptyUnmodifiableSet([$T]);
  23827. },
  23828. contains$1: function(_, element) {
  23829. return false;
  23830. },
  23831. toSet$0: function(_) {
  23832. return P.LinkedHashSet_LinkedHashSet(H.getTypeArgumentByIndex(this, 0));
  23833. },
  23834. add$1: function(_, value) {
  23835. return O.EmptyUnmodifiableSet__throw();
  23836. },
  23837. addAll$1: function(_, elements) {
  23838. return O.EmptyUnmodifiableSet__throw();
  23839. },
  23840. $isEfficientLengthIterable: 1,
  23841. $isSet: 1
  23842. };
  23843. U.DefaultEquality.prototype = {};
  23844. U.ListEquality.prototype = {
  23845. equals$2: function(list1, list2) {
  23846. var t1, $length, t2, i;
  23847. if (list1 == null ? list2 == null : list1 === list2)
  23848. return true;
  23849. if (list1 == null || list2 == null)
  23850. return false;
  23851. t1 = J.getInterceptor$asx(list1);
  23852. $length = t1.get$length(list1);
  23853. t2 = J.getInterceptor$asx(list2);
  23854. if ($length !== t2.get$length(list2))
  23855. return false;
  23856. for (i = 0; i < $length; ++i)
  23857. if (!J.$eq$(t1.$index(list1, i), t2.$index(list2, i)))
  23858. return false;
  23859. return true;
  23860. },
  23861. hash$1: function(list) {
  23862. var t1, hash, i;
  23863. for (t1 = list.length, hash = 0, i = 0; i < t1; ++i) {
  23864. hash = hash + J.get$hashCode$(list[i]) & 2147483647;
  23865. hash = hash + (hash << 10 >>> 0) & 2147483647;
  23866. hash ^= hash >>> 6;
  23867. }
  23868. hash = hash + (hash << 3 >>> 0) & 2147483647;
  23869. hash ^= hash >>> 11;
  23870. return hash + (hash << 15 >>> 0) & 2147483647;
  23871. }
  23872. };
  23873. U._MapEntry.prototype = {
  23874. get$hashCode: function(_) {
  23875. return 3 * J.get$hashCode$(this.key) + 7 * J.get$hashCode$(this.value) & 2147483647;
  23876. },
  23877. $eq: function(_, other) {
  23878. if (other == null)
  23879. return false;
  23880. return other instanceof U._MapEntry && J.$eq$(this.key, other.key) && J.$eq$(this.value, other.value);
  23881. }
  23882. };
  23883. U.MapEquality.prototype = {
  23884. equals$2: function(map1, map2) {
  23885. var equalElementCounts, t1, key, entry, count;
  23886. if (map1 === map2)
  23887. return true;
  23888. if (map1.get$length(map1) !== map2.get$length(map2))
  23889. return false;
  23890. equalElementCounts = P.HashMap_HashMap(U._MapEntry, P.int);
  23891. for (t1 = map1.get$keys(), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
  23892. key = t1.get$current(t1);
  23893. entry = new U._MapEntry(this, key, map1.$index(0, key));
  23894. count = equalElementCounts.$index(0, entry);
  23895. equalElementCounts.$indexSet(0, entry, (count == null ? 0 : count) + 1);
  23896. }
  23897. for (t1 = map2.get$keys(), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
  23898. key = t1.get$current(t1);
  23899. entry = new U._MapEntry(this, key, map2.$index(0, key));
  23900. count = equalElementCounts.$index(0, entry);
  23901. if (count == null || count === 0)
  23902. return false;
  23903. equalElementCounts.$indexSet(0, entry, count - 1);
  23904. }
  23905. return true;
  23906. },
  23907. hash$1: function(map) {
  23908. var t1, hash, key;
  23909. for (t1 = map.get$keys(), t1 = t1.get$iterator(t1), hash = 0; t1.moveNext$0();) {
  23910. key = t1.get$current(t1);
  23911. hash = hash + 3 * J.get$hashCode$(key) + 7 * J.get$hashCode$(map.$index(0, key)) & 2147483647;
  23912. }
  23913. hash = hash + (hash << 3 >>> 0) & 2147483647;
  23914. hash ^= hash >>> 11;
  23915. return hash + (hash << 15 >>> 0) & 2147483647;
  23916. }
  23917. };
  23918. Y.mapMap_closure.prototype = {
  23919. call$2: function(mapKey, _) {
  23920. return H.subtypeOfRuntimeTypeCast(mapKey, this.K2);
  23921. },
  23922. $signature: function() {
  23923. return {func: 1, ret: this.K2, args: [this.K1, this.V1]};
  23924. }
  23925. };
  23926. Y.mapMap_closure0.prototype = {
  23927. call$2: function(_, mapValue) {
  23928. return H.subtypeOfRuntimeTypeCast(mapValue, this.V2);
  23929. },
  23930. $signature: function() {
  23931. return {func: 1, ret: this.V2, args: [this.K1, this.V1]};
  23932. }
  23933. };
  23934. Y.mapMap_closure1.prototype = {
  23935. call$2: function(mapKey, mapValue) {
  23936. var t1 = this._box_0;
  23937. this.result.$indexSet(0, t1.key.call$2(mapKey, mapValue), t1.value.call$2(mapKey, mapValue));
  23938. },
  23939. $signature: function() {
  23940. return {func: 1, ret: P.Null, args: [this.K1, this.V1]};
  23941. }
  23942. };
  23943. Q.QueueList.prototype = {
  23944. QueueList$1: function(initialCapacity, $E) {
  23945. var t1;
  23946. if (initialCapacity == null || initialCapacity < 8)
  23947. initialCapacity = 8;
  23948. else if ((initialCapacity & initialCapacity - 1) >>> 0 !== 0)
  23949. initialCapacity = Q.QueueList__nextPowerOf2(initialCapacity);
  23950. t1 = new Array(initialCapacity);
  23951. t1.fixed$length = Array;
  23952. this._table = H.setRuntimeTypeInfo(t1, [$E]);
  23953. },
  23954. add$1: function(_, element) {
  23955. this._queue_list$_add$1(element);
  23956. },
  23957. addAll$1: function(_, iterable) {
  23958. var addCount, $length, endSpace, preSpace, _this = this,
  23959. t1 = J.getInterceptor$(iterable);
  23960. if (!!t1.$isList) {
  23961. addCount = t1.get$length(iterable);
  23962. $length = _this.get$length(_this);
  23963. t1 = $length + addCount;
  23964. if (t1 >= J.get$length$asx(_this._table)) {
  23965. _this._preGrow$1(t1);
  23966. J.setRange$4$ax(_this._table, $length, t1, iterable, 0);
  23967. _this.set$_tail(_this.get$_tail() + addCount);
  23968. } else {
  23969. endSpace = J.get$length$asx(_this._table) - _this.get$_tail();
  23970. t1 = _this._table;
  23971. if (addCount < endSpace) {
  23972. J.setRange$4$ax(t1, _this.get$_tail(), _this.get$_tail() + addCount, iterable, 0);
  23973. _this.set$_tail(_this.get$_tail() + addCount);
  23974. } else {
  23975. preSpace = addCount - endSpace;
  23976. J.setRange$4$ax(t1, _this.get$_tail(), _this.get$_tail() + endSpace, iterable, 0);
  23977. J.setRange$4$ax(_this._table, 0, preSpace, iterable, endSpace);
  23978. _this.set$_tail(preSpace);
  23979. }
  23980. }
  23981. } else
  23982. for (t1 = t1.get$iterator(iterable); t1.moveNext$0();)
  23983. _this._queue_list$_add$1(t1.get$current(t1));
  23984. },
  23985. cast$1$0: function(_, $T) {
  23986. var t1 = new Q._CastQueueList(this, null, null, [H.getRuntimeTypeArgument(this, "QueueList", 0), $T]);
  23987. t1._table = J.cast$1$0$ax(this._table, $T);
  23988. return t1;
  23989. },
  23990. toString$0: function(_) {
  23991. return P.IterableBase_iterableToFullString(this, "{", "}");
  23992. },
  23993. addFirst$1: function(element) {
  23994. var _this = this;
  23995. _this.set$_head((_this.get$_head() - 1 & J.get$length$asx(_this._table) - 1) >>> 0);
  23996. J.$indexSet$ax(_this._table, _this.get$_head(), element);
  23997. if (_this.get$_head() == _this.get$_tail())
  23998. _this._grow$0();
  23999. },
  24000. removeFirst$0: function() {
  24001. var result, _this = this;
  24002. if (_this.get$_head() == _this.get$_tail())
  24003. throw H.wrapException(P.StateError$("No element"));
  24004. result = J.$index$asx(_this._table, _this.get$_head());
  24005. J.$indexSet$ax(_this._table, _this.get$_head(), null);
  24006. _this.set$_head((_this.get$_head() + 1 & J.get$length$asx(_this._table) - 1) >>> 0);
  24007. return result;
  24008. },
  24009. get$length: function(_) {
  24010. return (this.get$_tail() - this.get$_head() & J.get$length$asx(this._table) - 1) >>> 0;
  24011. },
  24012. set$length: function(_, value) {
  24013. var delta, newTail, t1, t2, _this = this;
  24014. if (value < 0)
  24015. throw H.wrapException(P.RangeError$("Length " + value + " may not be negative."));
  24016. delta = value - _this.get$length(_this);
  24017. if (delta >= 0) {
  24018. if (J.get$length$asx(_this._table) <= value)
  24019. _this._preGrow$1(value);
  24020. _this.set$_tail((_this.get$_tail() + delta & J.get$length$asx(_this._table) - 1) >>> 0);
  24021. return;
  24022. }
  24023. newTail = _this.get$_tail() + delta;
  24024. t1 = _this._table;
  24025. if (newTail >= 0)
  24026. J.fillRange$3$ax(t1, newTail, _this.get$_tail(), null);
  24027. else {
  24028. newTail += J.get$length$asx(t1);
  24029. J.fillRange$3$ax(_this._table, 0, _this.get$_tail(), null);
  24030. t1 = _this._table;
  24031. t2 = J.getInterceptor$asx(t1);
  24032. t2.fillRange$3(t1, newTail, t2.get$length(t1), null);
  24033. }
  24034. _this.set$_tail(newTail);
  24035. },
  24036. $index: function(_, index) {
  24037. var _this = this;
  24038. if (index < 0 || index >= _this.get$length(_this))
  24039. throw H.wrapException(P.RangeError$("Index " + H.S(index) + " must be in the range [0.." + _this.get$length(_this) + ")."));
  24040. return J.$index$asx(_this._table, (_this.get$_head() + index & J.get$length$asx(_this._table) - 1) >>> 0);
  24041. },
  24042. $indexSet: function(_, index, value) {
  24043. var _this = this;
  24044. if (index < 0 || index >= _this.get$length(_this))
  24045. throw H.wrapException(P.RangeError$("Index " + H.S(index) + " must be in the range [0.." + _this.get$length(_this) + ")."));
  24046. J.$indexSet$ax(_this._table, (_this.get$_head() + index & J.get$length$asx(_this._table) - 1) >>> 0, value);
  24047. },
  24048. _queue_list$_add$1: function(element) {
  24049. var _this = this;
  24050. J.$indexSet$ax(_this._table, _this.get$_tail(), element);
  24051. _this.set$_tail((_this.get$_tail() + 1 & J.get$length$asx(_this._table) - 1) >>> 0);
  24052. if (_this.get$_head() == _this.get$_tail())
  24053. _this._grow$0();
  24054. },
  24055. _grow$0: function() {
  24056. var newTable, split, _this = this,
  24057. t1 = new Array(J.get$length$asx(_this._table) * 2);
  24058. t1.fixed$length = Array;
  24059. newTable = H.setRuntimeTypeInfo(t1, [H.getRuntimeTypeArgument(_this, "QueueList", 0)]);
  24060. split = J.get$length$asx(_this._table) - _this.get$_head();
  24061. C.JSArray_methods.setRange$4(newTable, 0, split, _this._table, _this.get$_head());
  24062. C.JSArray_methods.setRange$4(newTable, split, split + _this.get$_head(), _this._table, 0);
  24063. _this.set$_head(0);
  24064. _this.set$_tail(J.get$length$asx(_this._table));
  24065. _this._table = newTable;
  24066. },
  24067. _writeToList$1: function(target) {
  24068. var $length, firstPartSize, _this = this;
  24069. if (_this.get$_head() <= _this.get$_tail()) {
  24070. $length = _this.get$_tail() - _this.get$_head();
  24071. C.JSArray_methods.setRange$4(target, 0, $length, _this._table, _this.get$_head());
  24072. return $length;
  24073. } else {
  24074. firstPartSize = J.get$length$asx(_this._table) - _this.get$_head();
  24075. C.JSArray_methods.setRange$4(target, 0, firstPartSize, _this._table, _this.get$_head());
  24076. C.JSArray_methods.setRange$4(target, firstPartSize, firstPartSize + _this.get$_tail(), _this._table, 0);
  24077. return _this.get$_tail() + firstPartSize;
  24078. }
  24079. },
  24080. _preGrow$1: function(newElementCount) {
  24081. var newTable, _this = this,
  24082. t1 = new Array(Q.QueueList__nextPowerOf2(newElementCount + C.JSInt_methods._shrOtherPositive$1(newElementCount, 1)));
  24083. t1.fixed$length = Array;
  24084. newTable = H.setRuntimeTypeInfo(t1, [H.getRuntimeTypeArgument(_this, "QueueList", 0)]);
  24085. _this.set$_tail(_this._writeToList$1(newTable));
  24086. _this._table = newTable;
  24087. _this.set$_head(0);
  24088. },
  24089. $isEfficientLengthIterable: 1,
  24090. $isQueue: 1,
  24091. $isIterable: 1,
  24092. $isList: 1,
  24093. get$_head: function() {
  24094. return this._head;
  24095. },
  24096. get$_tail: function() {
  24097. return this._tail;
  24098. },
  24099. set$_head: function(val) {
  24100. return this._head = val;
  24101. },
  24102. set$_tail: function(val) {
  24103. return this._tail = val;
  24104. }
  24105. };
  24106. Q._CastQueueList.prototype = {
  24107. get$_head: function() {
  24108. return this._queue_list$_delegate.get$_head();
  24109. },
  24110. set$_head: function(value) {
  24111. this._queue_list$_delegate.set$_head(value);
  24112. },
  24113. get$_tail: function() {
  24114. return this._queue_list$_delegate.get$_tail();
  24115. },
  24116. set$_tail: function(value) {
  24117. this._queue_list$_delegate.set$_tail(value);
  24118. },
  24119. $asEfficientLengthIterable: function($S, $T) {
  24120. return [$T];
  24121. },
  24122. $asListMixin: function($S, $T) {
  24123. return [$T];
  24124. },
  24125. $asQueue: function($S, $T) {
  24126. return [$T];
  24127. },
  24128. $asIterable: function($S, $T) {
  24129. return [$T];
  24130. },
  24131. $asList: function($S, $T) {
  24132. return [$T];
  24133. },
  24134. $asQueueList: function($S, $T) {
  24135. return [$T];
  24136. }
  24137. };
  24138. Q._QueueList_Object_ListMixin.prototype = {};
  24139. L.UnmodifiableSetView.prototype = {};
  24140. L.UnmodifiableSetMixin.prototype = {
  24141. add$1: function(_, value) {
  24142. return L.UnmodifiableSetMixin__throw();
  24143. },
  24144. addAll$1: function(_, elements) {
  24145. return L.UnmodifiableSetMixin__throw();
  24146. }
  24147. };
  24148. L._UnmodifiableSetView_DelegatingSet_UnmodifiableSetMixin.prototype = {};
  24149. B.defaultCompare_closure.prototype = {
  24150. call$2: function(value1, value2) {
  24151. return J.compareTo$1$ns(H.numberOrStringSuperNativeTypeCast(value1, "$isComparable"), value2);
  24152. },
  24153. $signature: function() {
  24154. var t1 = this.T;
  24155. return {func: 1, ret: P.int, args: [t1, t1]};
  24156. }
  24157. };
  24158. M._DelegatingIterableBase.prototype = {
  24159. cast$1$0: function(_, $T) {
  24160. return J.cast$1$0$ax(this.get$_base(), $T);
  24161. },
  24162. contains$1: function(_, element) {
  24163. return J.contains$1$asx(this.get$_base(), element);
  24164. },
  24165. elementAt$1: function(_, index) {
  24166. return J.elementAt$1$ax(this.get$_base(), index);
  24167. },
  24168. get$first: function(_) {
  24169. return J.get$first$ax(this.get$_base());
  24170. },
  24171. get$isEmpty: function(_) {
  24172. return J.get$isEmpty$asx(this.get$_base());
  24173. },
  24174. get$isNotEmpty: function(_) {
  24175. return J.get$isNotEmpty$asx(this.get$_base());
  24176. },
  24177. get$iterator: function(_) {
  24178. return J.get$iterator$ax(this.get$_base());
  24179. },
  24180. join$1: function(_, separator) {
  24181. return J.join$1$ax(this.get$_base(), separator);
  24182. },
  24183. join$0: function($receiver) {
  24184. return this.join$1($receiver, "");
  24185. },
  24186. get$last: function(_) {
  24187. return J.get$last$ax(this.get$_base());
  24188. },
  24189. get$length: function(_) {
  24190. return J.get$length$asx(this.get$_base());
  24191. },
  24192. map$1$1: function(_, f, $T) {
  24193. return J.map$1$1$ax(this.get$_base(), f, $T);
  24194. },
  24195. get$single: function(_) {
  24196. return J.get$single$ax(this.get$_base());
  24197. },
  24198. skip$1: function(_, n) {
  24199. return J.skip$1$ax(this.get$_base(), n);
  24200. },
  24201. take$1: function(_, n) {
  24202. return J.take$1$ax(this.get$_base(), n);
  24203. },
  24204. toSet$0: function(_) {
  24205. return J.toSet$0$ax(this.get$_base());
  24206. },
  24207. where$1: function(_, test) {
  24208. return J.where$1$ax(this.get$_base(), test);
  24209. },
  24210. toString$0: function(_) {
  24211. return J.toString$0$(this.get$_base());
  24212. },
  24213. $isIterable: 1
  24214. };
  24215. M.DelegatingIterable.prototype = {
  24216. get$_base: function() {
  24217. return this._base;
  24218. }
  24219. };
  24220. M.DelegatingSet.prototype = {
  24221. add$1: function(_, value) {
  24222. return this._base.add$1(0, value);
  24223. },
  24224. addAll$1: function(_, elements) {
  24225. this._base.addAll$1(0, elements);
  24226. },
  24227. cast$1$0: function(_, $T) {
  24228. var t1 = this._base;
  24229. return P.Set_castFrom(t1, t1.get$_newSimilarSet(), H.getTypeArgumentByIndex(t1, 0), $T);
  24230. },
  24231. toSet$0: function(_) {
  24232. return new M.DelegatingSet(this._base.toSet$0(0), this.$ti);
  24233. },
  24234. $isEfficientLengthIterable: 1,
  24235. $isSet: 1
  24236. };
  24237. M.MapKeySet.prototype = {
  24238. get$_base: function() {
  24239. return this._baseMap.get$keys();
  24240. },
  24241. cast$1$0: function(_, $T) {
  24242. var _this = this,
  24243. t1 = [$T];
  24244. if (H.checkSubtype(_this, "$isMapKeySet", t1, null))
  24245. return H.subtypeCast(_this, "$isMapKeySet", t1, "$asMapKeySet");
  24246. return P.Set_castFrom(_this, null, H.getTypeArgumentByIndex(_this, 0), $T);
  24247. },
  24248. contains$1: function(_, element) {
  24249. return this._baseMap.containsKey$1(element);
  24250. },
  24251. get$isEmpty: function(_) {
  24252. var t1 = this._baseMap;
  24253. return t1.get$isEmpty(t1);
  24254. },
  24255. get$isNotEmpty: function(_) {
  24256. var t1 = this._baseMap;
  24257. return t1.get$isNotEmpty(t1);
  24258. },
  24259. get$length: function(_) {
  24260. var t1 = this._baseMap;
  24261. return t1.get$length(t1);
  24262. },
  24263. toString$0: function(_) {
  24264. return "{" + J.join$1$ax(this._baseMap.get$keys(), ", ") + "}";
  24265. },
  24266. $isEfficientLengthIterable: 1,
  24267. $isSet: 1
  24268. };
  24269. M._MapKeySet__DelegatingIterableBase_UnmodifiableSetMixin.prototype = {};
  24270. M.Context.prototype = {
  24271. absolute$7: function(part1, part2, part3, part4, part5, part6, part7) {
  24272. var t1;
  24273. M._validateArgList("absolute", H.setRuntimeTypeInfo([part1, part2, part3, part4, part5, part6, part7], [P.String]));
  24274. t1 = this.style;
  24275. t1 = t1.rootLength$1(part1) > 0 && !t1.isRootRelative$1(part1);
  24276. if (t1)
  24277. return part1;
  24278. t1 = this._context$_current;
  24279. return this.join$8(0, t1 != null ? t1 : D.current(), part1, part2, part3, part4, part5, part6, part7);
  24280. },
  24281. absolute$1: function(part1) {
  24282. return this.absolute$7(part1, null, null, null, null, null, null);
  24283. },
  24284. dirname$1: function(path) {
  24285. var t1, t2,
  24286. parsed = X.ParsedPath_ParsedPath$parse(path, this.style);
  24287. parsed.removeTrailingSeparators$0();
  24288. t1 = parsed.parts;
  24289. t2 = t1.length;
  24290. if (t2 === 0) {
  24291. t1 = parsed.root;
  24292. return t1 == null ? "." : t1;
  24293. }
  24294. if (t2 === 1) {
  24295. t1 = parsed.root;
  24296. return t1 == null ? "." : t1;
  24297. }
  24298. C.JSArray_methods.removeLast$0(t1);
  24299. C.JSArray_methods.removeLast$0(parsed.separators);
  24300. parsed.removeTrailingSeparators$0();
  24301. return parsed.toString$0(0);
  24302. },
  24303. join$8: function(_, part1, part2, part3, part4, part5, part6, part7, part8) {
  24304. var parts = H.setRuntimeTypeInfo([part1, part2, part3, part4, part5, part6, part7, part8], [P.String]);
  24305. M._validateArgList("join", parts);
  24306. return this.joinAll$1(new H.WhereIterable(parts, new M.Context_join_closure(), [H.getTypeArgumentByIndex(parts, 0)]));
  24307. },
  24308. join$2: function($receiver, part1, part2) {
  24309. return this.join$8($receiver, part1, part2, null, null, null, null, null, null);
  24310. },
  24311. joinAll$1: function(parts) {
  24312. var t1, t2, t3, needsSeparator, isAbsoluteAndNotRootRelative, t4, t5, parsed, path;
  24313. for (t1 = parts.get$iterator(parts), t2 = new H.WhereIterator(t1, new M.Context_joinAll_closure()), t3 = this.style, needsSeparator = false, isAbsoluteAndNotRootRelative = false, t4 = ""; t2.moveNext$0();) {
  24314. t5 = t1.get$current(t1);
  24315. if (t3.isRootRelative$1(t5) && isAbsoluteAndNotRootRelative) {
  24316. parsed = X.ParsedPath_ParsedPath$parse(t5, t3);
  24317. path = t4.charCodeAt(0) == 0 ? t4 : t4;
  24318. t4 = C.JSString_methods.substring$2(path, 0, t3.rootLength$2$withDrive(path, true));
  24319. parsed.root = t4;
  24320. if (t3.needsSeparator$1(t4))
  24321. parsed.separators[0] = t3.get$separator();
  24322. t4 = parsed.toString$0(0);
  24323. } else if (t3.rootLength$1(t5) > 0) {
  24324. isAbsoluteAndNotRootRelative = !t3.isRootRelative$1(t5);
  24325. t4 = H.S(t5);
  24326. } else {
  24327. if (!(t5.length !== 0 && t3.containsSeparator$1(t5[0])))
  24328. if (needsSeparator)
  24329. t4 += t3.get$separator();
  24330. t4 += H.S(t5);
  24331. }
  24332. needsSeparator = t3.needsSeparator$1(t5);
  24333. }
  24334. return t4.charCodeAt(0) == 0 ? t4 : t4;
  24335. },
  24336. split$1: function(_, path) {
  24337. var parsed = X.ParsedPath_ParsedPath$parse(path, this.style),
  24338. t1 = parsed.parts,
  24339. t2 = H.getTypeArgumentByIndex(t1, 0);
  24340. t2 = P.List_List$from(new H.WhereIterable(t1, new M.Context_split_closure(), [t2]), true, t2);
  24341. parsed.parts = t2;
  24342. t1 = parsed.root;
  24343. if (t1 != null)
  24344. C.JSArray_methods.insert$2(t2, 0, t1);
  24345. return parsed.parts;
  24346. },
  24347. canonicalize$1: function(path) {
  24348. var t1, parsed;
  24349. path = this.absolute$1(path);
  24350. t1 = this.style;
  24351. if (t1 != $.$get$Style_windows() && !this._needsNormalization$1(path))
  24352. return path;
  24353. parsed = X.ParsedPath_ParsedPath$parse(path, t1);
  24354. parsed.normalize$1$canonicalize(true);
  24355. return parsed.toString$0(0);
  24356. },
  24357. normalize$1: function(path) {
  24358. var parsed;
  24359. if (!this._needsNormalization$1(path))
  24360. return path;
  24361. parsed = X.ParsedPath_ParsedPath$parse(path, this.style);
  24362. parsed.normalize$0();
  24363. return parsed.toString$0(0);
  24364. },
  24365. _needsNormalization$1: function(path) {
  24366. var t1, root, t2, i, start, previous, t3, previousPrevious, codeUnit, t4;
  24367. path.toString;
  24368. t1 = this.style;
  24369. root = t1.rootLength$1(path);
  24370. if (root !== 0) {
  24371. if (t1 === $.$get$Style_windows())
  24372. for (t2 = J.getInterceptor$s(path), i = 0; i < root; ++i)
  24373. if (t2._codeUnitAt$1(path, i) === 47)
  24374. return true;
  24375. start = root;
  24376. previous = 47;
  24377. } else {
  24378. start = 0;
  24379. previous = null;
  24380. }
  24381. for (t2 = new H.CodeUnits(path).__internal$_string, t3 = t2.length, i = start, previousPrevious = null; i < t3; ++i, previousPrevious = previous, previous = codeUnit) {
  24382. codeUnit = C.JSString_methods.codeUnitAt$1(t2, i);
  24383. if (t1.isSeparator$1(codeUnit)) {
  24384. if (t1 === $.$get$Style_windows() && codeUnit === 47)
  24385. return true;
  24386. if (previous != null && t1.isSeparator$1(previous))
  24387. return true;
  24388. if (previous === 46)
  24389. t4 = previousPrevious == null || previousPrevious === 46 || t1.isSeparator$1(previousPrevious);
  24390. else
  24391. t4 = false;
  24392. if (t4)
  24393. return true;
  24394. }
  24395. }
  24396. if (previous == null)
  24397. return true;
  24398. if (t1.isSeparator$1(previous))
  24399. return true;
  24400. if (previous === 46)
  24401. t1 = previousPrevious == null || t1.isSeparator$1(previousPrevious) || previousPrevious === 46;
  24402. else
  24403. t1 = false;
  24404. if (t1)
  24405. return true;
  24406. return false;
  24407. },
  24408. relative$2$from: function(path, from) {
  24409. var fromParsed, pathParsed, t2, t3, _this = this,
  24410. _s26_ = 'Unable to find a path to "',
  24411. t1 = from == null;
  24412. if (t1 && _this.style.rootLength$1(path) <= 0)
  24413. return _this.normalize$1(path);
  24414. if (t1) {
  24415. t1 = _this._context$_current;
  24416. from = t1 != null ? t1 : D.current();
  24417. } else
  24418. from = _this.absolute$1(from);
  24419. t1 = _this.style;
  24420. if (t1.rootLength$1(from) <= 0 && t1.rootLength$1(path) > 0)
  24421. return _this.normalize$1(path);
  24422. if (t1.rootLength$1(path) <= 0 || t1.isRootRelative$1(path))
  24423. path = _this.absolute$1(path);
  24424. if (t1.rootLength$1(path) <= 0 && t1.rootLength$1(from) > 0)
  24425. throw H.wrapException(X.PathException$(_s26_ + H.S(path) + '" from "' + H.S(from) + '".'));
  24426. fromParsed = X.ParsedPath_ParsedPath$parse(from, t1);
  24427. fromParsed.normalize$0();
  24428. pathParsed = X.ParsedPath_ParsedPath$parse(path, t1);
  24429. pathParsed.normalize$0();
  24430. t2 = fromParsed.parts;
  24431. if (t2.length !== 0 && J.$eq$(t2[0], "."))
  24432. return pathParsed.toString$0(0);
  24433. t2 = fromParsed.root;
  24434. t3 = pathParsed.root;
  24435. if (t2 != t3)
  24436. t2 = t2 == null || t3 == null || !t1.pathsEqual$2(t2, t3);
  24437. else
  24438. t2 = false;
  24439. if (t2)
  24440. return pathParsed.toString$0(0);
  24441. while (true) {
  24442. t2 = fromParsed.parts;
  24443. if (t2.length !== 0) {
  24444. t3 = pathParsed.parts;
  24445. t2 = t3.length !== 0 && t1.pathsEqual$2(t2[0], t3[0]);
  24446. } else
  24447. t2 = false;
  24448. if (!t2)
  24449. break;
  24450. C.JSArray_methods.removeAt$1(fromParsed.parts, 0);
  24451. C.JSArray_methods.removeAt$1(fromParsed.separators, 1);
  24452. C.JSArray_methods.removeAt$1(pathParsed.parts, 0);
  24453. C.JSArray_methods.removeAt$1(pathParsed.separators, 1);
  24454. }
  24455. t2 = fromParsed.parts;
  24456. if (t2.length !== 0 && J.$eq$(t2[0], ".."))
  24457. throw H.wrapException(X.PathException$(_s26_ + H.S(path) + '" from "' + H.S(from) + '".'));
  24458. t2 = P.String;
  24459. C.JSArray_methods.insertAll$2(pathParsed.parts, 0, P.List_List$filled(fromParsed.parts.length, "..", t2));
  24460. t3 = pathParsed.separators;
  24461. t3[0] = "";
  24462. C.JSArray_methods.insertAll$2(t3, 1, P.List_List$filled(fromParsed.parts.length, t1.get$separator(), t2));
  24463. t1 = pathParsed.parts;
  24464. t2 = t1.length;
  24465. if (t2 === 0)
  24466. return ".";
  24467. if (t2 > 1 && J.$eq$(C.JSArray_methods.get$last(t1), ".")) {
  24468. C.JSArray_methods.removeLast$0(pathParsed.parts);
  24469. t1 = pathParsed.separators;
  24470. C.JSArray_methods.removeLast$0(t1);
  24471. C.JSArray_methods.removeLast$0(t1);
  24472. C.JSArray_methods.add$1(t1, "");
  24473. }
  24474. pathParsed.root = "";
  24475. pathParsed.removeTrailingSeparators$0();
  24476. return pathParsed.toString$0(0);
  24477. },
  24478. relative$1: function(path) {
  24479. return this.relative$2$from(path, null);
  24480. },
  24481. _isWithinOrEquals$2: function($parent, child) {
  24482. var relative, childIsRootRelative, parentIsRootRelative, result, exception, _this = this,
  24483. t1 = _this.style,
  24484. parentIsAbsolute = t1.rootLength$1($parent) > 0,
  24485. childIsAbsolute = t1.rootLength$1(child) > 0;
  24486. if (parentIsAbsolute && !childIsAbsolute) {
  24487. child = _this.absolute$1(child);
  24488. if (t1.isRootRelative$1($parent))
  24489. $parent = _this.absolute$1($parent);
  24490. } else if (childIsAbsolute && !parentIsAbsolute) {
  24491. $parent = _this.absolute$1($parent);
  24492. if (t1.isRootRelative$1(child))
  24493. child = _this.absolute$1(child);
  24494. } else if (childIsAbsolute && parentIsAbsolute) {
  24495. childIsRootRelative = t1.isRootRelative$1(child);
  24496. parentIsRootRelative = t1.isRootRelative$1($parent);
  24497. if (childIsRootRelative && !parentIsRootRelative)
  24498. child = _this.absolute$1(child);
  24499. else if (parentIsRootRelative && !childIsRootRelative)
  24500. $parent = _this.absolute$1($parent);
  24501. }
  24502. result = _this._isWithinOrEqualsFast$2($parent, child);
  24503. if (result !== C._PathRelation_inconclusive)
  24504. return result;
  24505. relative = null;
  24506. try {
  24507. relative = _this.relative$2$from(child, $parent);
  24508. } catch (exception) {
  24509. if (H.unwrapException(exception) instanceof X.PathException)
  24510. return C._PathRelation_different;
  24511. else
  24512. throw exception;
  24513. }
  24514. if (t1.rootLength$1(relative) > 0)
  24515. return C._PathRelation_different;
  24516. if (J.$eq$(relative, "."))
  24517. return C._PathRelation_equal;
  24518. if (J.$eq$(relative, ".."))
  24519. return C._PathRelation_different;
  24520. return J.get$length$asx(relative) >= 3 && J.startsWith$1$s(relative, "..") && t1.isSeparator$1(J.codeUnitAt$1$s(relative, 2)) ? C._PathRelation_different : C._PathRelation_within;
  24521. },
  24522. _isWithinOrEqualsFast$2: function($parent, child) {
  24523. var t1, parentRootLength, childRootLength, t2, t3, i, childIndex, parentIndex, lastCodeUnit, lastParentSeparator, parentCodeUnit, childCodeUnit, parentIndex0, t4, direction, _this = this;
  24524. if ($parent === ".")
  24525. $parent = "";
  24526. t1 = _this.style;
  24527. parentRootLength = t1.rootLength$1($parent);
  24528. childRootLength = t1.rootLength$1(child);
  24529. if (parentRootLength !== childRootLength)
  24530. return C._PathRelation_different;
  24531. for (t2 = J.getInterceptor$s($parent), t3 = J.getInterceptor$s(child), i = 0; i < parentRootLength; ++i)
  24532. if (!t1.codeUnitsEqual$2(t2._codeUnitAt$1($parent, i), t3._codeUnitAt$1(child, i)))
  24533. return C._PathRelation_different;
  24534. t2 = $parent.length;
  24535. childIndex = childRootLength;
  24536. parentIndex = parentRootLength;
  24537. lastCodeUnit = 47;
  24538. lastParentSeparator = null;
  24539. while (true) {
  24540. if (!(parentIndex < t2 && childIndex < child.length))
  24541. break;
  24542. c$0: {
  24543. parentCodeUnit = C.JSString_methods.codeUnitAt$1($parent, parentIndex);
  24544. childCodeUnit = t3.codeUnitAt$1(child, childIndex);
  24545. if (t1.codeUnitsEqual$2(parentCodeUnit, childCodeUnit)) {
  24546. if (t1.isSeparator$1(parentCodeUnit))
  24547. lastParentSeparator = parentIndex;
  24548. ++parentIndex;
  24549. ++childIndex;
  24550. lastCodeUnit = parentCodeUnit;
  24551. break c$0;
  24552. }
  24553. if (t1.isSeparator$1(parentCodeUnit) && t1.isSeparator$1(lastCodeUnit)) {
  24554. parentIndex0 = parentIndex + 1;
  24555. lastParentSeparator = parentIndex;
  24556. parentIndex = parentIndex0;
  24557. break c$0;
  24558. } else if (t1.isSeparator$1(childCodeUnit) && t1.isSeparator$1(lastCodeUnit)) {
  24559. ++childIndex;
  24560. break c$0;
  24561. }
  24562. if (parentCodeUnit === 46 && t1.isSeparator$1(lastCodeUnit)) {
  24563. ++parentIndex;
  24564. if (parentIndex === t2)
  24565. break;
  24566. parentCodeUnit = C.JSString_methods.codeUnitAt$1($parent, parentIndex);
  24567. if (t1.isSeparator$1(parentCodeUnit)) {
  24568. parentIndex0 = parentIndex + 1;
  24569. lastParentSeparator = parentIndex;
  24570. parentIndex = parentIndex0;
  24571. break c$0;
  24572. }
  24573. if (parentCodeUnit === 46) {
  24574. ++parentIndex;
  24575. if (parentIndex === t2 || t1.isSeparator$1(C.JSString_methods.codeUnitAt$1($parent, parentIndex)))
  24576. return C._PathRelation_inconclusive;
  24577. }
  24578. }
  24579. if (childCodeUnit === 46 && t1.isSeparator$1(lastCodeUnit)) {
  24580. ++childIndex;
  24581. t4 = child.length;
  24582. if (childIndex === t4)
  24583. break;
  24584. childCodeUnit = C.JSString_methods.codeUnitAt$1(child, childIndex);
  24585. if (t1.isSeparator$1(childCodeUnit)) {
  24586. ++childIndex;
  24587. break c$0;
  24588. }
  24589. if (childCodeUnit === 46) {
  24590. ++childIndex;
  24591. if (childIndex === t4 || t1.isSeparator$1(C.JSString_methods.codeUnitAt$1(child, childIndex)))
  24592. return C._PathRelation_inconclusive;
  24593. }
  24594. }
  24595. if (_this._pathDirection$2(child, childIndex) !== C._PathDirection_988)
  24596. return C._PathRelation_inconclusive;
  24597. if (_this._pathDirection$2($parent, parentIndex) !== C._PathDirection_988)
  24598. return C._PathRelation_inconclusive;
  24599. return C._PathRelation_different;
  24600. }
  24601. }
  24602. if (childIndex === child.length) {
  24603. if (parentIndex === t2 || t1.isSeparator$1(C.JSString_methods.codeUnitAt$1($parent, parentIndex)))
  24604. lastParentSeparator = parentIndex;
  24605. else if (lastParentSeparator == null)
  24606. lastParentSeparator = Math.max(0, parentRootLength - 1);
  24607. direction = _this._pathDirection$2($parent, lastParentSeparator);
  24608. if (direction === C._PathDirection_8Gl)
  24609. return C._PathRelation_equal;
  24610. return direction === C._PathDirection_ZGD ? C._PathRelation_inconclusive : C._PathRelation_different;
  24611. }
  24612. direction = _this._pathDirection$2(child, childIndex);
  24613. if (direction === C._PathDirection_8Gl)
  24614. return C._PathRelation_equal;
  24615. if (direction === C._PathDirection_ZGD)
  24616. return C._PathRelation_inconclusive;
  24617. return t1.isSeparator$1(C.JSString_methods.codeUnitAt$1(child, childIndex)) || t1.isSeparator$1(lastCodeUnit) ? C._PathRelation_within : C._PathRelation_different;
  24618. },
  24619. _pathDirection$2: function(path, index) {
  24620. var t1, t2, i, depth, reachedRoot, i0, t3;
  24621. for (t1 = path.length, t2 = this.style, i = index, depth = 0, reachedRoot = false; i < t1;) {
  24622. while (true) {
  24623. if (!(i < t1 && t2.isSeparator$1(C.JSString_methods.codeUnitAt$1(path, i))))
  24624. break;
  24625. ++i;
  24626. }
  24627. if (i === t1)
  24628. break;
  24629. i0 = i;
  24630. while (true) {
  24631. if (!(i0 < t1 && !t2.isSeparator$1(C.JSString_methods.codeUnitAt$1(path, i0))))
  24632. break;
  24633. ++i0;
  24634. }
  24635. t3 = i0 - i;
  24636. if (!(t3 === 1 && C.JSString_methods.codeUnitAt$1(path, i) === 46))
  24637. if (t3 === 2 && C.JSString_methods.codeUnitAt$1(path, i) === 46 && C.JSString_methods.codeUnitAt$1(path, i + 1) === 46) {
  24638. --depth;
  24639. if (depth < 0)
  24640. break;
  24641. if (depth === 0)
  24642. reachedRoot = true;
  24643. } else
  24644. ++depth;
  24645. if (i0 === t1)
  24646. break;
  24647. i = i0 + 1;
  24648. }
  24649. if (depth < 0)
  24650. return C._PathDirection_ZGD;
  24651. if (depth === 0)
  24652. return C._PathDirection_8Gl;
  24653. if (reachedRoot)
  24654. return C._PathDirection_FIw;
  24655. return C._PathDirection_988;
  24656. },
  24657. hash$1: function(path) {
  24658. var result, parsed, _this = this;
  24659. path = _this.absolute$1(path);
  24660. result = _this._hashFast$1(path);
  24661. if (result != null)
  24662. return result;
  24663. parsed = X.ParsedPath_ParsedPath$parse(path, _this.style);
  24664. parsed.normalize$0();
  24665. return _this._hashFast$1(parsed.toString$0(0));
  24666. },
  24667. _hashFast$1: function(path) {
  24668. var t1, t2, hash, beginning, wasSeparator, i, codeUnit, t3, next;
  24669. for (t1 = path.length, t2 = this.style, hash = 4603, beginning = true, wasSeparator = true, i = 0; i < t1; ++i) {
  24670. codeUnit = t2.canonicalizeCodeUnit$1(C.JSString_methods._codeUnitAt$1(path, i));
  24671. if (t2.isSeparator$1(codeUnit)) {
  24672. wasSeparator = true;
  24673. continue;
  24674. }
  24675. if (codeUnit === 46 && wasSeparator) {
  24676. t3 = i + 1;
  24677. if (t3 === t1)
  24678. break;
  24679. next = C.JSString_methods._codeUnitAt$1(path, t3);
  24680. if (t2.isSeparator$1(next))
  24681. continue;
  24682. if (!beginning)
  24683. if (next === 46) {
  24684. t3 = i + 2;
  24685. t3 = t3 === t1 || t2.isSeparator$1(C.JSString_methods._codeUnitAt$1(path, t3));
  24686. } else
  24687. t3 = false;
  24688. else
  24689. t3 = false;
  24690. if (t3)
  24691. return;
  24692. }
  24693. hash = ((hash & 67108863) * 33 ^ codeUnit) >>> 0;
  24694. beginning = false;
  24695. wasSeparator = false;
  24696. }
  24697. return hash;
  24698. },
  24699. withoutExtension$1: function(path) {
  24700. var i,
  24701. parsed = X.ParsedPath_ParsedPath$parse(path, this.style);
  24702. for (i = parsed.parts.length - 1; i >= 0; --i)
  24703. if (J.get$length$asx(parsed.parts[i]) !== 0) {
  24704. parsed.parts[i] = parsed._splitExtension$0()[0];
  24705. break;
  24706. }
  24707. return parsed.toString$0(0);
  24708. },
  24709. toUri$1: function(path) {
  24710. var t2,
  24711. t1 = this.style;
  24712. if (t1.rootLength$1(path) <= 0)
  24713. return t1.relativePathToUri$1(path);
  24714. else {
  24715. t2 = this._context$_current;
  24716. return t1.absolutePathToUri$1(this.join$2(0, t2 != null ? t2 : D.current(), path));
  24717. }
  24718. },
  24719. prettyUri$1: function(uri) {
  24720. var path, rel, _this = this,
  24721. typedUri = M._parseUri(uri);
  24722. if (typedUri.get$scheme() === "file" && _this.style == $.$get$Style_url())
  24723. return typedUri.toString$0(0);
  24724. else if (typedUri.get$scheme() !== "file" && typedUri.get$scheme() !== "" && _this.style != $.$get$Style_url())
  24725. return typedUri.toString$0(0);
  24726. path = _this.normalize$1(_this.style.pathFromUri$1(M._parseUri(typedUri)));
  24727. rel = _this.relative$1(path);
  24728. return _this.split$1(0, rel).length > _this.split$1(0, path).length ? path : rel;
  24729. }
  24730. };
  24731. M.Context_join_closure.prototype = {
  24732. call$1: function(part) {
  24733. return part != null;
  24734. }
  24735. };
  24736. M.Context_joinAll_closure.prototype = {
  24737. call$1: function(part) {
  24738. return part !== "";
  24739. }
  24740. };
  24741. M.Context_split_closure.prototype = {
  24742. call$1: function(part) {
  24743. return part.length !== 0;
  24744. }
  24745. };
  24746. M._validateArgList_closure.prototype = {
  24747. call$1: function(arg) {
  24748. return arg == null ? "null" : '"' + arg + '"';
  24749. }
  24750. };
  24751. M._PathDirection.prototype = {
  24752. toString$0: function(_) {
  24753. return this.name;
  24754. }
  24755. };
  24756. M._PathRelation.prototype = {
  24757. toString$0: function(_) {
  24758. return this.name;
  24759. }
  24760. };
  24761. B.InternalStyle.prototype = {
  24762. getRoot$1: function(path) {
  24763. var $length = this.rootLength$1(path);
  24764. if ($length > 0)
  24765. return J.substring$2$s(path, 0, $length);
  24766. return this.isRootRelative$1(path) ? path[0] : null;
  24767. },
  24768. relativePathToUri$1: function(path) {
  24769. var segments = M.Context_Context(this).split$1(0, path);
  24770. if (this.isSeparator$1(J.codeUnitAt$1$s(path, path.length - 1)))
  24771. C.JSArray_methods.add$1(segments, "");
  24772. return P._Uri__Uri(null, null, segments, null);
  24773. },
  24774. codeUnitsEqual$2: function(codeUnit1, codeUnit2) {
  24775. return codeUnit1 === codeUnit2;
  24776. },
  24777. pathsEqual$2: function(path1, path2) {
  24778. return path1 == path2;
  24779. },
  24780. canonicalizeCodeUnit$1: function(codeUnit) {
  24781. return codeUnit;
  24782. },
  24783. canonicalizePart$1: function(part) {
  24784. return part;
  24785. }
  24786. };
  24787. X.ParsedPath.prototype = {
  24788. get$basename: function() {
  24789. var _this = this,
  24790. t1 = P.String,
  24791. copy = new X.ParsedPath(_this.style, _this.root, _this.isRootRelative, P.List_List$from(_this.parts, true, t1), P.List_List$from(_this.separators, true, t1));
  24792. copy.removeTrailingSeparators$0();
  24793. t1 = copy.parts;
  24794. if (t1.length === 0) {
  24795. t1 = _this.root;
  24796. return t1 == null ? "" : t1;
  24797. }
  24798. return C.JSArray_methods.get$last(t1);
  24799. },
  24800. get$hasTrailingSeparator: function() {
  24801. var t1 = this.parts;
  24802. if (t1.length !== 0)
  24803. t1 = J.$eq$(C.JSArray_methods.get$last(t1), "") || !J.$eq$(C.JSArray_methods.get$last(this.separators), "");
  24804. else
  24805. t1 = false;
  24806. return t1;
  24807. },
  24808. removeTrailingSeparators$0: function() {
  24809. var t1, t2, _this = this;
  24810. while (true) {
  24811. t1 = _this.parts;
  24812. if (!(t1.length !== 0 && J.$eq$(C.JSArray_methods.get$last(t1), "")))
  24813. break;
  24814. C.JSArray_methods.removeLast$0(_this.parts);
  24815. C.JSArray_methods.removeLast$0(_this.separators);
  24816. }
  24817. t1 = _this.separators;
  24818. t2 = t1.length;
  24819. if (t2 !== 0)
  24820. t1[t2 - 1] = "";
  24821. },
  24822. normalize$1$canonicalize: function(canonicalize) {
  24823. var t2, t3, t4, leadingDoubles, _i, part, t5, newSeparators, _this = this,
  24824. t1 = P.String,
  24825. newParts = H.setRuntimeTypeInfo([], [t1]);
  24826. for (t2 = _this.parts, t3 = t2.length, t4 = _this.style, leadingDoubles = 0, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i) {
  24827. part = t2[_i];
  24828. t5 = J.getInterceptor$(part);
  24829. if (!(t5.$eq(part, ".") || t5.$eq(part, "")))
  24830. if (t5.$eq(part, ".."))
  24831. if (newParts.length !== 0)
  24832. newParts.pop();
  24833. else
  24834. ++leadingDoubles;
  24835. else
  24836. newParts.push(canonicalize ? t4.canonicalizePart$1(part) : part);
  24837. }
  24838. if (_this.root == null)
  24839. C.JSArray_methods.insertAll$2(newParts, 0, P.List_List$filled(leadingDoubles, "..", t1));
  24840. if (newParts.length === 0 && _this.root == null)
  24841. newParts.push(".");
  24842. newSeparators = P.List_List$generate(newParts.length, new X.ParsedPath_normalize_closure(_this), true, t1);
  24843. t1 = _this.root;
  24844. C.JSArray_methods.insert$2(newSeparators, 0, t1 != null && newParts.length !== 0 && t4.needsSeparator$1(t1) ? t4.get$separator() : "");
  24845. _this.parts = newParts;
  24846. _this.separators = newSeparators;
  24847. t1 = _this.root;
  24848. if (t1 != null && t4 === $.$get$Style_windows()) {
  24849. if (canonicalize)
  24850. t1 = _this.root = t1.toLowerCase();
  24851. t1.toString;
  24852. _this.root = H.stringReplaceAllUnchecked(t1, "/", "\\");
  24853. }
  24854. _this.removeTrailingSeparators$0();
  24855. },
  24856. normalize$0: function() {
  24857. return this.normalize$1$canonicalize(false);
  24858. },
  24859. toString$0: function(_) {
  24860. var i, _this = this,
  24861. t1 = _this.root;
  24862. t1 = t1 != null ? t1 : "";
  24863. for (i = 0; i < _this.parts.length; ++i)
  24864. t1 = t1 + H.S(_this.separators[i]) + H.S(_this.parts[i]);
  24865. t1 += H.S(C.JSArray_methods.get$last(_this.separators));
  24866. return t1.charCodeAt(0) == 0 ? t1 : t1;
  24867. },
  24868. _splitExtension$0: function() {
  24869. var lastDot,
  24870. file = C.JSArray_methods.lastWhere$2$orElse(this.parts, new X.ParsedPath__splitExtension_closure(), new X.ParsedPath__splitExtension_closure0());
  24871. if (file == null)
  24872. return H.setRuntimeTypeInfo(["", ""], [P.String]);
  24873. if (file === "..")
  24874. return H.setRuntimeTypeInfo(["..", ""], [P.String]);
  24875. lastDot = C.JSString_methods.lastIndexOf$1(file, ".");
  24876. if (lastDot <= 0)
  24877. return H.setRuntimeTypeInfo([file, ""], [P.String]);
  24878. return H.setRuntimeTypeInfo([C.JSString_methods.substring$2(file, 0, lastDot), C.JSString_methods.substring$1(file, lastDot)], [P.String]);
  24879. }
  24880. };
  24881. X.ParsedPath_normalize_closure.prototype = {
  24882. call$1: function(_) {
  24883. return this.$this.style.get$separator();
  24884. },
  24885. $signature: 20
  24886. };
  24887. X.ParsedPath__splitExtension_closure.prototype = {
  24888. call$1: function(p) {
  24889. return p !== "";
  24890. }
  24891. };
  24892. X.ParsedPath__splitExtension_closure0.prototype = {
  24893. call$0: function() {
  24894. return;
  24895. }
  24896. };
  24897. X.PathException.prototype = {
  24898. toString$0: function(_) {
  24899. return "PathException: " + this.message;
  24900. },
  24901. $isException: 1,
  24902. get$message: function(receiver) {
  24903. return this.message;
  24904. }
  24905. };
  24906. K.PathMap.prototype = {
  24907. $asMap: function($V) {
  24908. return [P.String, $V];
  24909. }
  24910. };
  24911. K.PathMap__create_closure.prototype = {
  24912. call$2: function(path1, path2) {
  24913. if (path1 == null)
  24914. return path2 == null;
  24915. if (path2 == null)
  24916. return false;
  24917. return this._box_0.context._isWithinOrEquals$2(path1, path2) === C._PathRelation_equal;
  24918. },
  24919. "call*": "call$2",
  24920. $requiredArgCount: 2
  24921. };
  24922. K.PathMap__create_closure0.prototype = {
  24923. call$1: function(path) {
  24924. return path == null ? 0 : this._box_0.context.hash$1(path);
  24925. }
  24926. };
  24927. K.PathMap__create_closure1.prototype = {
  24928. call$1: function(path) {
  24929. return typeof path === "string" || path == null;
  24930. },
  24931. $signature: 19
  24932. };
  24933. O.Style.prototype = {
  24934. toString$0: function(_) {
  24935. return this.get$name();
  24936. }
  24937. };
  24938. E.PosixStyle.prototype = {
  24939. containsSeparator$1: function(path) {
  24940. return C.JSString_methods.contains$1(path, "/");
  24941. },
  24942. isSeparator$1: function(codeUnit) {
  24943. return codeUnit === 47;
  24944. },
  24945. needsSeparator$1: function(path) {
  24946. var t1 = path.length;
  24947. return t1 !== 0 && J.codeUnitAt$1$s(path, t1 - 1) !== 47;
  24948. },
  24949. rootLength$2$withDrive: function(path, withDrive) {
  24950. if (path.length !== 0 && J._codeUnitAt$1$s(path, 0) === 47)
  24951. return 1;
  24952. return 0;
  24953. },
  24954. rootLength$1: function(path) {
  24955. return this.rootLength$2$withDrive(path, false);
  24956. },
  24957. isRootRelative$1: function(path) {
  24958. return false;
  24959. },
  24960. pathFromUri$1: function(uri) {
  24961. var t1;
  24962. if (uri.get$scheme() === "" || uri.get$scheme() === "file") {
  24963. t1 = uri.get$path(uri);
  24964. return P._Uri__uriDecode(t1, 0, t1.length, C.C_Utf8Codec, false);
  24965. }
  24966. throw H.wrapException(P.ArgumentError$("Uri " + uri.toString$0(0) + " must have scheme 'file:'."));
  24967. },
  24968. absolutePathToUri$1: function(path) {
  24969. var parsed = X.ParsedPath_ParsedPath$parse(path, this),
  24970. t1 = parsed.parts;
  24971. if (t1.length === 0)
  24972. C.JSArray_methods.addAll$1(t1, H.setRuntimeTypeInfo(["", ""], [P.String]));
  24973. else if (parsed.get$hasTrailingSeparator())
  24974. C.JSArray_methods.add$1(parsed.parts, "");
  24975. return P._Uri__Uri(null, null, parsed.parts, "file");
  24976. },
  24977. get$name: function() {
  24978. return "posix";
  24979. },
  24980. get$separator: function() {
  24981. return "/";
  24982. }
  24983. };
  24984. F.UrlStyle.prototype = {
  24985. containsSeparator$1: function(path) {
  24986. return C.JSString_methods.contains$1(path, "/");
  24987. },
  24988. isSeparator$1: function(codeUnit) {
  24989. return codeUnit === 47;
  24990. },
  24991. needsSeparator$1: function(path) {
  24992. var t1 = path.length;
  24993. if (t1 === 0)
  24994. return false;
  24995. if (J.getInterceptor$s(path).codeUnitAt$1(path, t1 - 1) !== 47)
  24996. return true;
  24997. return C.JSString_methods.endsWith$1(path, "://") && this.rootLength$1(path) === t1;
  24998. },
  24999. rootLength$2$withDrive: function(path, withDrive) {
  25000. var i, codeUnit, index, t2,
  25001. t1 = path.length;
  25002. if (t1 === 0)
  25003. return 0;
  25004. if (J.getInterceptor$s(path)._codeUnitAt$1(path, 0) === 47)
  25005. return 1;
  25006. for (i = 0; i < t1; ++i) {
  25007. codeUnit = C.JSString_methods._codeUnitAt$1(path, i);
  25008. if (codeUnit === 47)
  25009. return 0;
  25010. if (codeUnit === 58) {
  25011. if (i === 0)
  25012. return 0;
  25013. index = C.JSString_methods.indexOf$2(path, "/", C.JSString_methods.startsWith$2(path, "//", i + 1) ? i + 3 : i);
  25014. if (index <= 0)
  25015. return t1;
  25016. if (!withDrive || t1 < index + 3)
  25017. return index;
  25018. if (!C.JSString_methods.startsWith$1(path, "file://"))
  25019. return index;
  25020. if (!B.isDriveLetter(path, index + 1))
  25021. return index;
  25022. t2 = index + 3;
  25023. return t1 === t2 ? t2 : index + 4;
  25024. }
  25025. }
  25026. return 0;
  25027. },
  25028. rootLength$1: function(path) {
  25029. return this.rootLength$2$withDrive(path, false);
  25030. },
  25031. isRootRelative$1: function(path) {
  25032. return path.length !== 0 && J._codeUnitAt$1$s(path, 0) === 47;
  25033. },
  25034. pathFromUri$1: function(uri) {
  25035. return J.toString$0$(uri);
  25036. },
  25037. relativePathToUri$1: function(path) {
  25038. return P.Uri_parse(path);
  25039. },
  25040. absolutePathToUri$1: function(path) {
  25041. return P.Uri_parse(path);
  25042. },
  25043. get$name: function() {
  25044. return "url";
  25045. },
  25046. get$separator: function() {
  25047. return "/";
  25048. }
  25049. };
  25050. L.WindowsStyle.prototype = {
  25051. containsSeparator$1: function(path) {
  25052. return C.JSString_methods.contains$1(path, "/");
  25053. },
  25054. isSeparator$1: function(codeUnit) {
  25055. return codeUnit === 47 || codeUnit === 92;
  25056. },
  25057. needsSeparator$1: function(path) {
  25058. var t1 = path.length;
  25059. if (t1 === 0)
  25060. return false;
  25061. t1 = J.codeUnitAt$1$s(path, t1 - 1);
  25062. return !(t1 === 47 || t1 === 92);
  25063. },
  25064. rootLength$2$withDrive: function(path, withDrive) {
  25065. var t2, index,
  25066. t1 = path.length;
  25067. if (t1 === 0)
  25068. return 0;
  25069. t2 = J.getInterceptor$s(path)._codeUnitAt$1(path, 0);
  25070. if (t2 === 47)
  25071. return 1;
  25072. if (t2 === 92) {
  25073. if (t1 < 2 || C.JSString_methods._codeUnitAt$1(path, 1) !== 92)
  25074. return 1;
  25075. index = C.JSString_methods.indexOf$2(path, "\\", 2);
  25076. if (index > 0) {
  25077. index = C.JSString_methods.indexOf$2(path, "\\", index + 1);
  25078. if (index > 0)
  25079. return index;
  25080. }
  25081. return t1;
  25082. }
  25083. if (t1 < 3)
  25084. return 0;
  25085. if (!B.isAlphabetic(t2))
  25086. return 0;
  25087. if (C.JSString_methods._codeUnitAt$1(path, 1) !== 58)
  25088. return 0;
  25089. t1 = C.JSString_methods._codeUnitAt$1(path, 2);
  25090. if (!(t1 === 47 || t1 === 92))
  25091. return 0;
  25092. return 3;
  25093. },
  25094. rootLength$1: function(path) {
  25095. return this.rootLength$2$withDrive(path, false);
  25096. },
  25097. isRootRelative$1: function(path) {
  25098. return this.rootLength$1(path) === 1;
  25099. },
  25100. pathFromUri$1: function(uri) {
  25101. var path, t1;
  25102. if (uri.get$scheme() !== "" && uri.get$scheme() !== "file")
  25103. throw H.wrapException(P.ArgumentError$("Uri " + uri.toString$0(0) + " must have scheme 'file:'."));
  25104. path = uri.get$path(uri);
  25105. if (uri.get$host() === "") {
  25106. if (path.length >= 3 && C.JSString_methods.startsWith$1(path, "/") && B.isDriveLetter(path, 1))
  25107. path = C.JSString_methods.replaceFirst$2(path, "/", "");
  25108. } else
  25109. path = "\\\\" + H.S(uri.get$host()) + path;
  25110. t1 = H.stringReplaceAllUnchecked(path, "/", "\\");
  25111. return P._Uri__uriDecode(t1, 0, t1.length, C.C_Utf8Codec, false);
  25112. },
  25113. absolutePathToUri$1: function(path) {
  25114. var rootParts, t2,
  25115. parsed = X.ParsedPath_ParsedPath$parse(path, this),
  25116. t1 = parsed.root;
  25117. if (J.startsWith$1$s(t1, "\\\\")) {
  25118. t1 = H.setRuntimeTypeInfo(t1.split("\\"), [P.String]);
  25119. rootParts = new H.WhereIterable(t1, new L.WindowsStyle_absolutePathToUri_closure(), [H.getTypeArgumentByIndex(t1, 0)]);
  25120. C.JSArray_methods.insert$2(parsed.parts, 0, rootParts.get$last(rootParts));
  25121. if (parsed.get$hasTrailingSeparator())
  25122. C.JSArray_methods.add$1(parsed.parts, "");
  25123. return P._Uri__Uri(rootParts.get$first(rootParts), null, parsed.parts, "file");
  25124. } else {
  25125. if (parsed.parts.length === 0 || parsed.get$hasTrailingSeparator())
  25126. C.JSArray_methods.add$1(parsed.parts, "");
  25127. t1 = parsed.parts;
  25128. t2 = parsed.root;
  25129. t2.toString;
  25130. t2 = H.stringReplaceAllUnchecked(t2, "/", "");
  25131. C.JSArray_methods.insert$2(t1, 0, H.stringReplaceAllUnchecked(t2, "\\", ""));
  25132. return P._Uri__Uri(null, null, parsed.parts, "file");
  25133. }
  25134. },
  25135. codeUnitsEqual$2: function(codeUnit1, codeUnit2) {
  25136. var upperCase1;
  25137. if (codeUnit1 === codeUnit2)
  25138. return true;
  25139. if (codeUnit1 === 47)
  25140. return codeUnit2 === 92;
  25141. if (codeUnit1 === 92)
  25142. return codeUnit2 === 47;
  25143. if ((codeUnit1 ^ codeUnit2) !== 32)
  25144. return false;
  25145. upperCase1 = codeUnit1 | 32;
  25146. return upperCase1 >= 97 && upperCase1 <= 122;
  25147. },
  25148. pathsEqual$2: function(path1, path2) {
  25149. var t1, t2, i;
  25150. if (path1 == path2)
  25151. return true;
  25152. t1 = path1.length;
  25153. if (t1 !== path2.length)
  25154. return false;
  25155. for (t2 = J.getInterceptor$s(path2), i = 0; i < t1; ++i)
  25156. if (!this.codeUnitsEqual$2(C.JSString_methods._codeUnitAt$1(path1, i), t2._codeUnitAt$1(path2, i)))
  25157. return false;
  25158. return true;
  25159. },
  25160. canonicalizeCodeUnit$1: function(codeUnit) {
  25161. if (codeUnit === 47)
  25162. return 92;
  25163. if (codeUnit < 65)
  25164. return codeUnit;
  25165. if (codeUnit > 90)
  25166. return codeUnit;
  25167. return codeUnit | 32;
  25168. },
  25169. canonicalizePart$1: function(part) {
  25170. return part.toLowerCase();
  25171. },
  25172. get$name: function() {
  25173. return "windows";
  25174. },
  25175. get$separator: function() {
  25176. return "\\";
  25177. }
  25178. };
  25179. L.WindowsStyle_absolutePathToUri_closure.prototype = {
  25180. call$1: function(part) {
  25181. return part !== "";
  25182. }
  25183. };
  25184. F.CssMediaQuery.prototype = {
  25185. merge$1: function(other) {
  25186. var _i, t8, negativeFeatures, features, type, modifier, fewerFeatures, fewerFeatures0, moreFeatures, _this = this, _null = null, _s3_ = "all",
  25187. t1 = _this.modifier,
  25188. ourModifier = t1 == null ? _null : t1.toLowerCase(),
  25189. t2 = _this.type,
  25190. t3 = t2 == null,
  25191. ourType = t3 ? _null : t2.toLowerCase(),
  25192. t4 = other.modifier,
  25193. theirModifier = t4 == null ? _null : t4.toLowerCase(),
  25194. t5 = other.type,
  25195. t6 = t5 == null,
  25196. theirType = t6 ? _null : t5.toLowerCase(),
  25197. t7 = ourType == null;
  25198. if (t7 && theirType == null) {
  25199. t1 = P.String;
  25200. t2 = H.setRuntimeTypeInfo([], [t1]);
  25201. for (t3 = _this.features, t4 = t3.length, _i = 0; _i < t4; ++_i)
  25202. t2.push(t3[_i]);
  25203. for (t3 = other.features, t4 = t3.length, _i = 0; _i < t4; ++_i)
  25204. t2.push(t3[_i]);
  25205. return new F.MediaQuerySuccessfulMergeResult(new F.CssMediaQuery(_null, _null, P.List_List$unmodifiable(t2, t1)));
  25206. }
  25207. t8 = ourModifier === "not";
  25208. if (t8 !== (theirModifier === "not")) {
  25209. if (ourType == theirType) {
  25210. negativeFeatures = t8 ? _this.features : other.features;
  25211. if (C.JSArray_methods.every$1(negativeFeatures, C.JSArray_methods.get$contains(t8 ? other.features : _this.features)))
  25212. return C._SingletonCssMediaQueryMergeResult_empty;
  25213. else
  25214. return C._SingletonCssMediaQueryMergeResult_unrepresentable;
  25215. } else if (t3 || B.equalsIgnoreCase(t2, _s3_) || t6 || B.equalsIgnoreCase(t5, _s3_))
  25216. return C._SingletonCssMediaQueryMergeResult_unrepresentable;
  25217. if (t8) {
  25218. features = other.features;
  25219. type = theirType;
  25220. modifier = theirModifier;
  25221. } else {
  25222. features = _this.features;
  25223. type = ourType;
  25224. modifier = ourModifier;
  25225. }
  25226. } else if (t8) {
  25227. if (ourType != theirType)
  25228. return C._SingletonCssMediaQueryMergeResult_unrepresentable;
  25229. fewerFeatures = _this.features;
  25230. fewerFeatures0 = other.features;
  25231. t3 = fewerFeatures.length > fewerFeatures0.length;
  25232. moreFeatures = t3 ? fewerFeatures : fewerFeatures0;
  25233. if (t3)
  25234. fewerFeatures = fewerFeatures0;
  25235. if (!C.JSArray_methods.every$1(fewerFeatures, C.JSArray_methods.get$contains(moreFeatures)))
  25236. return C._SingletonCssMediaQueryMergeResult_unrepresentable;
  25237. features = moreFeatures;
  25238. type = ourType;
  25239. modifier = ourModifier;
  25240. } else if (t3 || B.equalsIgnoreCase(t2, _s3_)) {
  25241. type = (t6 || B.equalsIgnoreCase(t5, _s3_)) && t7 ? _null : theirType;
  25242. t3 = H.setRuntimeTypeInfo([], [P.String]);
  25243. for (t6 = _this.features, t7 = t6.length, _i = 0; _i < t7; ++_i)
  25244. t3.push(t6[_i]);
  25245. for (t6 = other.features, t7 = t6.length, _i = 0; _i < t7; ++_i)
  25246. t3.push(t6[_i]);
  25247. features = t3;
  25248. modifier = theirModifier;
  25249. } else {
  25250. if (t6 || B.equalsIgnoreCase(t5, _s3_)) {
  25251. t3 = H.setRuntimeTypeInfo([], [P.String]);
  25252. for (t6 = _this.features, t7 = t6.length, _i = 0; _i < t7; ++_i)
  25253. t3.push(t6[_i]);
  25254. for (t6 = other.features, t7 = t6.length, _i = 0; _i < t7; ++_i)
  25255. t3.push(t6[_i]);
  25256. features = t3;
  25257. modifier = ourModifier;
  25258. } else {
  25259. if (ourType != theirType)
  25260. return C._SingletonCssMediaQueryMergeResult_empty;
  25261. else {
  25262. modifier = ourModifier == null ? theirModifier : ourModifier;
  25263. t3 = H.setRuntimeTypeInfo([], [P.String]);
  25264. for (t6 = _this.features, t7 = t6.length, _i = 0; _i < t7; ++_i)
  25265. t3.push(t6[_i]);
  25266. for (t6 = other.features, t7 = t6.length, _i = 0; _i < t7; ++_i)
  25267. t3.push(t6[_i]);
  25268. }
  25269. features = t3;
  25270. }
  25271. type = ourType;
  25272. }
  25273. t2 = type == ourType ? t2 : t5;
  25274. return new F.MediaQuerySuccessfulMergeResult(F.CssMediaQuery$(t2, features, modifier == ourModifier ? t1 : t4));
  25275. },
  25276. $eq: function(_, other) {
  25277. if (other == null)
  25278. return false;
  25279. return other instanceof F.CssMediaQuery && other.modifier == this.modifier && other.type == this.type && C.C_ListEquality.equals$2(other.features, this.features);
  25280. },
  25281. get$hashCode: function(_) {
  25282. return J.get$hashCode$(this.modifier) ^ J.get$hashCode$(this.type) ^ C.C_ListEquality.hash$1(this.features);
  25283. },
  25284. toString$0: function(_) {
  25285. var t2, _this = this,
  25286. t1 = _this.modifier;
  25287. t1 = t1 != null ? t1 + " " : "";
  25288. t2 = _this.type;
  25289. if (t2 != null) {
  25290. t1 += t2;
  25291. if (_this.features.length !== 0)
  25292. t1 += " and ";
  25293. }
  25294. t1 += C.JSArray_methods.join$1(_this.features, " and ");
  25295. return t1.charCodeAt(0) == 0 ? t1 : t1;
  25296. }
  25297. };
  25298. F._SingletonCssMediaQueryMergeResult.prototype = {
  25299. toString$0: function(_) {
  25300. return this._media_query$_name;
  25301. }
  25302. };
  25303. F.MediaQuerySuccessfulMergeResult.prototype = {};
  25304. U.ModifiableCssAtRule.prototype = {
  25305. accept$1$1: function(visitor) {
  25306. return visitor.visitCssAtRule$1(this);
  25307. },
  25308. accept$1: function(visitor) {
  25309. return this.accept$1$1(visitor, null);
  25310. },
  25311. copyWithoutChildren$0: function() {
  25312. var _this = this,
  25313. t1 = B.ModifiableCssNode,
  25314. t2 = H.setRuntimeTypeInfo([], [t1]);
  25315. return new U.ModifiableCssAtRule(_this.name, _this.value, _this.isChildless, _this.span, new P.UnmodifiableListView(t2, [t1]), t2);
  25316. },
  25317. addChild$1: function(child) {
  25318. this.super$ModifiableCssParentNode$addChild(child);
  25319. },
  25320. $isCssAtRule: 1,
  25321. get$isChildless: function() {
  25322. return this.isChildless;
  25323. },
  25324. get$span: function() {
  25325. return this.span;
  25326. }
  25327. };
  25328. R.ModifiableCssComment.prototype = {
  25329. accept$1$1: function(visitor) {
  25330. return visitor.visitCssComment$1(this);
  25331. },
  25332. accept$1: function(visitor) {
  25333. return this.accept$1$1(visitor, null);
  25334. },
  25335. $isCssComment: 1,
  25336. get$span: function() {
  25337. return this.span;
  25338. }
  25339. };
  25340. L.ModifiableCssDeclaration.prototype = {
  25341. accept$1$1: function(visitor) {
  25342. return visitor.visitCssDeclaration$1(this);
  25343. },
  25344. accept$1: function(visitor) {
  25345. return this.accept$1$1(visitor, null);
  25346. },
  25347. get$span: function() {
  25348. return this.span;
  25349. }
  25350. };
  25351. F.ModifiableCssImport.prototype = {
  25352. accept$1$1: function(visitor) {
  25353. return visitor.visitCssImport$1(this);
  25354. },
  25355. accept$1: function(visitor) {
  25356. return this.accept$1$1(visitor, null);
  25357. },
  25358. $isCssImport: 1,
  25359. get$span: function() {
  25360. return this.span;
  25361. }
  25362. };
  25363. U.ModifiableCssKeyframeBlock.prototype = {
  25364. accept$1$1: function(visitor) {
  25365. return visitor.visitCssKeyframeBlock$1(this);
  25366. },
  25367. accept$1: function(visitor) {
  25368. return this.accept$1$1(visitor, null);
  25369. },
  25370. copyWithoutChildren$0: function() {
  25371. var t1 = B.ModifiableCssNode,
  25372. t2 = H.setRuntimeTypeInfo([], [t1]);
  25373. return new U.ModifiableCssKeyframeBlock(this.selector, this.span, new P.UnmodifiableListView(t2, [t1]), t2);
  25374. },
  25375. get$span: function() {
  25376. return this.span;
  25377. }
  25378. };
  25379. G.ModifiableCssMediaRule.prototype = {
  25380. accept$1$1: function(visitor) {
  25381. return visitor.visitCssMediaRule$1(this);
  25382. },
  25383. accept$1: function(visitor) {
  25384. return this.accept$1$1(visitor, null);
  25385. },
  25386. copyWithoutChildren$0: function() {
  25387. return G.ModifiableCssMediaRule$(this.queries, this.span);
  25388. },
  25389. $isCssMediaRule: 1,
  25390. get$span: function() {
  25391. return this.span;
  25392. }
  25393. };
  25394. B.ModifiableCssNode.prototype = {
  25395. get$hasFollowingSibling: function() {
  25396. var siblings, i, t2,
  25397. t1 = this._parent;
  25398. if (t1 == null)
  25399. return false;
  25400. siblings = t1.children;
  25401. for (i = this._indexInParent + 1, t1 = siblings._collection$_source, t2 = J.getInterceptor$asx(t1); i < t2.get$length(t1); ++i)
  25402. if (!this._node0$_isInvisible$1(t2.elementAt$1(t1, i)))
  25403. return true;
  25404. return false;
  25405. },
  25406. _node0$_isInvisible$1: function(node) {
  25407. if (!!J.getInterceptor$(node).$isCssParentNode) {
  25408. if (!!node.$isCssAtRule)
  25409. return false;
  25410. if (!!node.$isCssStyleRule && node.selector.value.get$isInvisible())
  25411. return true;
  25412. return J.every$1$ax(node.get$children(), this.get$_node0$_isInvisible());
  25413. } else
  25414. return false;
  25415. },
  25416. get$isGroupEnd: function() {
  25417. return this.isGroupEnd;
  25418. }
  25419. };
  25420. B.ModifiableCssParentNode.prototype = {
  25421. get$isChildless: function() {
  25422. return false;
  25423. },
  25424. addChild$1: function(child) {
  25425. var t1;
  25426. child._parent = this;
  25427. t1 = this._children;
  25428. child._indexInParent = t1.length;
  25429. t1.push(child);
  25430. },
  25431. $isCssParentNode: 1,
  25432. get$children: function() {
  25433. return this.children;
  25434. }
  25435. };
  25436. X.ModifiableCssStyleRule.prototype = {
  25437. accept$1$1: function(visitor) {
  25438. return visitor.visitCssStyleRule$1(this);
  25439. },
  25440. accept$1: function(visitor) {
  25441. return this.accept$1$1(visitor, null);
  25442. },
  25443. copyWithoutChildren$0: function() {
  25444. return X.ModifiableCssStyleRule$(this.selector, this.span, this.originalSelector);
  25445. },
  25446. $isCssStyleRule: 1,
  25447. get$span: function() {
  25448. return this.span;
  25449. }
  25450. };
  25451. V.ModifiableCssStylesheet.prototype = {
  25452. accept$1$1: function(visitor) {
  25453. return visitor.visitCssStylesheet$1(this);
  25454. },
  25455. accept$1: function(visitor) {
  25456. return this.accept$1$1(visitor, null);
  25457. },
  25458. copyWithoutChildren$0: function() {
  25459. var t1 = B.ModifiableCssNode,
  25460. t2 = H.setRuntimeTypeInfo([], [t1]);
  25461. return new V.ModifiableCssStylesheet(this.span, new P.UnmodifiableListView(t2, [t1]), t2);
  25462. },
  25463. $isCssStylesheet: 1,
  25464. get$span: function() {
  25465. return this.span;
  25466. }
  25467. };
  25468. B.ModifiableCssSupportsRule.prototype = {
  25469. accept$1$1: function(visitor) {
  25470. return visitor.visitCssSupportsRule$1(this);
  25471. },
  25472. accept$1: function(visitor) {
  25473. return this.accept$1$1(visitor, null);
  25474. },
  25475. copyWithoutChildren$0: function() {
  25476. var t1 = B.ModifiableCssNode,
  25477. t2 = H.setRuntimeTypeInfo([], [t1]);
  25478. return new B.ModifiableCssSupportsRule(this.condition, this.span, new P.UnmodifiableListView(t2, [t1]), t2);
  25479. },
  25480. $isCssSupportsRule: 1,
  25481. get$span: function() {
  25482. return this.span;
  25483. }
  25484. };
  25485. F.ModifiableCssValue.prototype = {
  25486. toString$0: function(_) {
  25487. return J.toString$0$(this.value);
  25488. },
  25489. $isCssValue: 1,
  25490. $isAstNode: 1,
  25491. get$value: function() {
  25492. return this.value;
  25493. },
  25494. get$span: function() {
  25495. return this.span;
  25496. }
  25497. };
  25498. B.CssNode.prototype = {
  25499. toString$0: function(_) {
  25500. return N.serialize(this, true, null, true, null, false, null, true).css;
  25501. }
  25502. };
  25503. B.CssParentNode.prototype = {};
  25504. X.CssStyleRule.prototype = {};
  25505. V.CssStylesheet.prototype = {
  25506. get$isGroupEnd: function() {
  25507. return false;
  25508. },
  25509. get$isChildless: function() {
  25510. return false;
  25511. },
  25512. accept$1$1: function(visitor) {
  25513. return visitor.visitCssStylesheet$1(this);
  25514. },
  25515. accept$1: function(visitor) {
  25516. return this.accept$1$1(visitor, null);
  25517. },
  25518. get$children: function() {
  25519. return this.children;
  25520. },
  25521. get$span: function() {
  25522. return this.span;
  25523. }
  25524. };
  25525. F.CssValue.prototype = {
  25526. toString$0: function(_) {
  25527. return J.toString$0$(this.value);
  25528. },
  25529. $isAstNode: 1,
  25530. get$value: function() {
  25531. return this.value;
  25532. },
  25533. get$span: function() {
  25534. return this.span;
  25535. }
  25536. };
  25537. B.AstNode.prototype = {};
  25538. Z.Argument.prototype = {
  25539. toString$0: function(_) {
  25540. var t1 = this.defaultValue,
  25541. t2 = this.name;
  25542. return t1 == null ? t2 : t2 + ": " + t1.toString$0(0);
  25543. },
  25544. $isAstNode: 1,
  25545. get$span: function() {
  25546. return this.span;
  25547. }
  25548. };
  25549. B.ArgumentDeclaration.prototype = {
  25550. get$originalRestArgument: function() {
  25551. var t1, text;
  25552. if (this.restArgument == null)
  25553. return;
  25554. t1 = this.span;
  25555. text = P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(t1.file._decodedChars, t1._start, t1._end), 0, null);
  25556. return C.JSString_methods.substring$2(C.JSString_methods.substring$1(text, C.JSString_methods.lastIndexOf$1(text, "$")), 0, C.JSString_methods.indexOf$1(text, "."));
  25557. },
  25558. verify$2: function(positional, names) {
  25559. var t1, t2, t3, namedUsed, i, argument, t4, unknownNames, _this = this,
  25560. _s8_ = "argument";
  25561. for (t1 = _this.$arguments, t2 = t1.length, t3 = names._baseMap, namedUsed = 0, i = 0; i < t2; ++i) {
  25562. argument = t1[i];
  25563. if (i < positional) {
  25564. t4 = argument.name;
  25565. if (t3.containsKey$1(t4))
  25566. throw H.wrapException(E.SassScriptException$("Argument " + H.S(_this._originalArgumentName$1(t4)) + " was passed both by position and by name."));
  25567. } else {
  25568. t4 = argument.name;
  25569. if (t3.containsKey$1(t4))
  25570. ++namedUsed;
  25571. else if (argument.defaultValue == null)
  25572. throw H.wrapException(E.SassScriptException$("Missing argument " + H.S(_this._originalArgumentName$1(t4)) + "."));
  25573. }
  25574. }
  25575. if (_this.restArgument != null)
  25576. return;
  25577. if (positional > t2) {
  25578. t1 = "Only " + t2 + " ";
  25579. throw H.wrapException(E.SassScriptException$(t1 + (names.get$isEmpty(names) ? "" : "positional ") + B.pluralize(_s8_, t2, null) + " allowed, but " + positional + " " + B.pluralize("was", positional, "were") + " passed."));
  25580. }
  25581. if (namedUsed < t3.get$length(t3)) {
  25582. unknownNames = P.LinkedHashSet_LinkedHashSet$of(names, P.String);
  25583. t2 = P.Object;
  25584. unknownNames.removeAll$1(new H.MappedListIterable(t1, new B.ArgumentDeclaration_verify_closure(), [H.getTypeArgumentByIndex(t1, 0), t2]));
  25585. throw H.wrapException(E.SassScriptException$("No " + B.pluralize(_s8_, unknownNames._collection$_length, null) + " named " + H.S(B.toSentence(unknownNames.map$1$1(0, new B.ArgumentDeclaration_verify_closure0(), t2), "or")) + "."));
  25586. }
  25587. },
  25588. _originalArgumentName$1: function($name) {
  25589. var t1, t2, _i, argument, t3, text, end;
  25590. if ($name === this.restArgument)
  25591. return this.get$originalRestArgument();
  25592. for (t1 = this.$arguments, t2 = t1.length, _i = 0; _i < t2; ++_i) {
  25593. argument = t1[_i];
  25594. if (argument.name === $name) {
  25595. if (argument.defaultValue == null) {
  25596. t1 = argument.span;
  25597. t2 = t1._start;
  25598. t3 = t1.file._decodedChars;
  25599. t3 = P.String_String$fromCharCodes(new Uint32Array(t3.subarray(t2, H._checkValidRange(t2, t1._end, t3.length))), 0, null);
  25600. t1 = t3;
  25601. } else {
  25602. t1 = argument.span;
  25603. t2 = t1._start;
  25604. t3 = t1.file._decodedChars;
  25605. text = P.String_String$fromCharCodes(new Uint32Array(t3.subarray(t2, H._checkValidRange(t2, t1._end, t3.length))), 0, null);
  25606. t3 = C.JSString_methods.substring$2(text, 0, C.JSString_methods.indexOf$1(text, ":"));
  25607. end = B._lastNonWhitespace(t3, false);
  25608. t1 = end == null ? "" : C.JSString_methods.substring$2(t3, 0, end + 1);
  25609. }
  25610. return t1;
  25611. }
  25612. }
  25613. throw H.wrapException(P.ArgumentError$('This declaration has no argument named "$' + $name + '".'));
  25614. },
  25615. matches$2: function(positional, names) {
  25616. var t1, t2, t3, namedUsed, i, argument;
  25617. for (t1 = this.$arguments, t2 = t1.length, t3 = names._baseMap, namedUsed = 0, i = 0; i < t2; ++i) {
  25618. argument = t1[i];
  25619. if (i < positional) {
  25620. if (t3.containsKey$1(argument.name))
  25621. return false;
  25622. } else if (t3.containsKey$1(argument.name))
  25623. ++namedUsed;
  25624. else if (argument.defaultValue == null)
  25625. return false;
  25626. }
  25627. if (this.restArgument != null)
  25628. return true;
  25629. if (positional > t2)
  25630. return false;
  25631. if (namedUsed < t3.get$length(t3))
  25632. return false;
  25633. return true;
  25634. },
  25635. toString$0: function(_) {
  25636. var t2, t3, _i,
  25637. t1 = H.setRuntimeTypeInfo([], [P.String]);
  25638. for (t2 = this.$arguments, t3 = t2.length, _i = 0; _i < t3; ++_i)
  25639. t1.push(J.toString$0$(t2[_i]));
  25640. t2 = this.restArgument;
  25641. if (t2 != null)
  25642. t1.push(t2 + "...");
  25643. return C.JSArray_methods.join$1(t1, ", ");
  25644. },
  25645. $isAstNode: 1,
  25646. get$span: function() {
  25647. return this.span;
  25648. }
  25649. };
  25650. B.ArgumentDeclaration_verify_closure.prototype = {
  25651. call$1: function(argument) {
  25652. return argument.name;
  25653. }
  25654. };
  25655. B.ArgumentDeclaration_verify_closure0.prototype = {
  25656. call$1: function($name) {
  25657. return "$" + H.S($name);
  25658. }
  25659. };
  25660. X.ArgumentInvocation.prototype = {
  25661. get$isEmpty: function(_) {
  25662. var t1;
  25663. if (this.positional.length === 0) {
  25664. t1 = this.named;
  25665. t1 = t1.get$isEmpty(t1) && this.rest == null;
  25666. } else
  25667. t1 = false;
  25668. return t1;
  25669. },
  25670. toString$0: function(_) {
  25671. var t2, t3, _i, t4, _this = this,
  25672. t1 = H.setRuntimeTypeInfo([], [P.Object]);
  25673. for (t2 = _this.positional, t3 = t2.length, _i = 0; _i < t3; ++_i)
  25674. t1.push(t2[_i]);
  25675. for (t2 = _this.named, t3 = t2.get$keys(), t3 = t3.get$iterator(t3); t3.moveNext$0();) {
  25676. t4 = t3.get$current(t3);
  25677. t1.push(H.S(t4) + ": " + H.S(t2.$index(0, t4)));
  25678. }
  25679. t2 = _this.rest;
  25680. if (t2 != null)
  25681. t1.push(t2.toString$0(0) + "...");
  25682. t2 = _this.keywordRest;
  25683. if (t2 != null)
  25684. t1.push(t2.toString$0(0) + "...");
  25685. return "(" + C.JSArray_methods.join$1(t1, ", ") + ")";
  25686. },
  25687. $isAstNode: 1,
  25688. get$span: function() {
  25689. return this.span;
  25690. }
  25691. };
  25692. V.AtRootQuery.prototype = {
  25693. excludes$1: function(node) {
  25694. var _this = this;
  25695. if (_this._all)
  25696. return !_this.include;
  25697. if (_this._at_root_query$_rule && !!J.getInterceptor$(node).$isCssStyleRule)
  25698. return !_this.include;
  25699. return _this.names.contains$1(0, _this._nameFor$1(node)) !== _this.include;
  25700. },
  25701. _nameFor$1: function(node) {
  25702. var t1 = J.getInterceptor$(node);
  25703. if (!!t1.$isCssMediaRule)
  25704. return "media";
  25705. if (!!t1.$isCssSupportsRule)
  25706. return "supports";
  25707. if (!!t1.$isCssAtRule)
  25708. return node.name.get$value().toLowerCase();
  25709. return;
  25710. }
  25711. };
  25712. T.Expression.prototype = {$isAstNode: 1};
  25713. V.BinaryOperationExpression.prototype = {
  25714. get$span: function() {
  25715. var right,
  25716. left = this.left;
  25717. for (; left instanceof V.BinaryOperationExpression;)
  25718. left = left.left;
  25719. right = this.right;
  25720. for (; right instanceof V.BinaryOperationExpression;)
  25721. right = right.right;
  25722. return B.spanForList(H.setRuntimeTypeInfo([left, right], [B.AstNode]));
  25723. },
  25724. accept$1$1: function(visitor) {
  25725. return visitor.visitBinaryOperationExpression$1(this);
  25726. },
  25727. accept$1: function(visitor) {
  25728. return this.accept$1$1(visitor, null);
  25729. },
  25730. toString$0: function(_) {
  25731. var t2, right, rightNeedsParens, _this = this,
  25732. left = _this.left,
  25733. leftNeedsParens = left instanceof V.BinaryOperationExpression && left.operator.precedence < _this.operator.precedence,
  25734. t1 = leftNeedsParens ? H.Primitives_stringFromCharCode(40) : "";
  25735. t1 += H.S(left);
  25736. if (leftNeedsParens)
  25737. t1 += H.Primitives_stringFromCharCode(41);
  25738. t2 = _this.operator;
  25739. t1 = t1 + H.Primitives_stringFromCharCode(32) + t2.operator + H.Primitives_stringFromCharCode(32);
  25740. right = _this.right;
  25741. rightNeedsParens = right instanceof V.BinaryOperationExpression && right.operator.precedence <= t2.precedence;
  25742. if (rightNeedsParens)
  25743. t1 += H.Primitives_stringFromCharCode(40);
  25744. t1 += H.S(right);
  25745. if (rightNeedsParens)
  25746. t1 += H.Primitives_stringFromCharCode(41);
  25747. return t1.charCodeAt(0) == 0 ? t1 : t1;
  25748. },
  25749. $isAstNode: 1,
  25750. $isExpression: 1
  25751. };
  25752. V.BinaryOperator.prototype = {
  25753. toString$0: function(_) {
  25754. return this.name;
  25755. }
  25756. };
  25757. Z.BooleanExpression.prototype = {
  25758. accept$1$1: function(visitor) {
  25759. return visitor.visitBooleanExpression$1(this);
  25760. },
  25761. accept$1: function(visitor) {
  25762. return this.accept$1$1(visitor, null);
  25763. },
  25764. toString$0: function(_) {
  25765. return String(this.value);
  25766. },
  25767. $isAstNode: 1,
  25768. $isExpression: 1,
  25769. get$span: function() {
  25770. return this.span;
  25771. }
  25772. };
  25773. K.ColorExpression.prototype = {
  25774. get$span: function() {
  25775. return this.value.originalSpan;
  25776. },
  25777. accept$1$1: function(visitor) {
  25778. return visitor.visitColorExpression$1(this);
  25779. },
  25780. accept$1: function(visitor) {
  25781. return this.accept$1$1(visitor, null);
  25782. },
  25783. toString$0: function(_) {
  25784. return N.serializeValue(this.value, true, true);
  25785. },
  25786. $isAstNode: 1,
  25787. $isExpression: 1
  25788. };
  25789. F.FunctionExpression.prototype = {
  25790. accept$1$1: function(visitor) {
  25791. return visitor.visitFunctionExpression$1(this);
  25792. },
  25793. accept$1: function(visitor) {
  25794. return this.accept$1$1(visitor, null);
  25795. },
  25796. toString$0: function(_) {
  25797. var t1 = this.namespace;
  25798. t1 = t1 != null ? t1 + "." : "";
  25799. t1 += this.name.toString$0(0) + this.$arguments.toString$0(0);
  25800. return t1.charCodeAt(0) == 0 ? t1 : t1;
  25801. },
  25802. $isAstNode: 1,
  25803. $isExpression: 1,
  25804. get$span: function() {
  25805. return this.span;
  25806. }
  25807. };
  25808. L.IfExpression.prototype = {
  25809. accept$1$1: function(visitor) {
  25810. return visitor.visitIfExpression$1(this);
  25811. },
  25812. accept$1: function(visitor) {
  25813. return this.accept$1$1(visitor, null);
  25814. },
  25815. toString$0: function(_) {
  25816. return "if" + this.$arguments.toString$0(0);
  25817. },
  25818. $isAstNode: 1,
  25819. $isExpression: 1,
  25820. get$span: function() {
  25821. return this.span;
  25822. }
  25823. };
  25824. D.ListExpression.prototype = {
  25825. accept$1$1: function(visitor) {
  25826. return visitor.visitListExpression$1(this);
  25827. },
  25828. accept$1: function(visitor) {
  25829. return this.accept$1$1(visitor, null);
  25830. },
  25831. toString$0: function(_) {
  25832. var _this = this,
  25833. t1 = _this.hasBrackets,
  25834. t2 = t1 ? H.Primitives_stringFromCharCode(91) : "",
  25835. t3 = _this.contents,
  25836. t4 = _this.separator === C.ListSeparator_comma ? ", " : " ";
  25837. t4 = t2 + new H.MappedListIterable(t3, new D.ListExpression_toString_closure(_this), [H.getTypeArgumentByIndex(t3, 0), P.String]).join$1(0, t4);
  25838. t1 = t1 ? t4 + H.Primitives_stringFromCharCode(93) : t4;
  25839. return t1.charCodeAt(0) == 0 ? t1 : t1;
  25840. },
  25841. _list0$_elementNeedsParens$1: function(expression) {
  25842. var t2,
  25843. t1 = J.getInterceptor$(expression);
  25844. if (!!t1.$isListExpression) {
  25845. if (expression.contents.length < 2)
  25846. return false;
  25847. if (expression.hasBrackets)
  25848. return false;
  25849. t1 = this.separator;
  25850. t2 = t1 === C.ListSeparator_comma;
  25851. return t2 ? t2 : t1 !== C.ListSeparator_undecided;
  25852. }
  25853. if (this.separator !== C.ListSeparator_space)
  25854. return false;
  25855. if (!!t1.$isUnaryOperationExpression) {
  25856. t1 = expression.operator;
  25857. return t1 === C.UnaryOperator_j2w || t1 === C.UnaryOperator_U4G;
  25858. }
  25859. return false;
  25860. },
  25861. $isAstNode: 1,
  25862. $isExpression: 1,
  25863. get$span: function() {
  25864. return this.span;
  25865. }
  25866. };
  25867. D.ListExpression_toString_closure.prototype = {
  25868. call$1: function(element) {
  25869. return this.$this._list0$_elementNeedsParens$1(element) ? "(" + H.S(element) + ")" : J.toString$0$(element);
  25870. }
  25871. };
  25872. A.MapExpression.prototype = {
  25873. accept$1$1: function(visitor) {
  25874. return visitor.visitMapExpression$1(this);
  25875. },
  25876. accept$1: function(visitor) {
  25877. return this.accept$1$1(visitor, null);
  25878. },
  25879. toString$0: function(_) {
  25880. var t1 = this.pairs;
  25881. return "(" + new H.MappedListIterable(t1, new A.MapExpression_toString_closure(), [H.getTypeArgumentByIndex(t1, 0), P.String]).join$1(0, ", ") + ")";
  25882. },
  25883. $isAstNode: 1,
  25884. $isExpression: 1,
  25885. get$span: function() {
  25886. return this.span;
  25887. }
  25888. };
  25889. A.MapExpression_toString_closure.prototype = {
  25890. call$1: function(pair) {
  25891. return H.S(pair.item1) + ": " + H.S(pair.item2);
  25892. }
  25893. };
  25894. O.NullExpression.prototype = {
  25895. accept$1$1: function(visitor) {
  25896. return visitor.visitNullExpression$1(this);
  25897. },
  25898. accept$1: function(visitor) {
  25899. return this.accept$1$1(visitor, null);
  25900. },
  25901. toString$0: function(_) {
  25902. return "null";
  25903. },
  25904. $isAstNode: 1,
  25905. $isExpression: 1,
  25906. get$span: function() {
  25907. return this.span;
  25908. }
  25909. };
  25910. T.NumberExpression.prototype = {
  25911. accept$1$1: function(visitor) {
  25912. return visitor.visitNumberExpression$1(this);
  25913. },
  25914. accept$1: function(visitor) {
  25915. return this.accept$1$1(visitor, null);
  25916. },
  25917. toString$0: function(_) {
  25918. var t1 = H.S(this.value),
  25919. t2 = this.unit;
  25920. return t1 + (t2 == null ? "" : t2);
  25921. },
  25922. $isAstNode: 1,
  25923. $isExpression: 1,
  25924. get$span: function() {
  25925. return this.span;
  25926. }
  25927. };
  25928. T.ParenthesizedExpression.prototype = {
  25929. accept$1$1: function(visitor) {
  25930. return visitor.visitParenthesizedExpression$1(this);
  25931. },
  25932. accept$1: function(visitor) {
  25933. return this.accept$1$1(visitor, null);
  25934. },
  25935. toString$0: function(_) {
  25936. return J.toString$0$(this.expression);
  25937. },
  25938. $isAstNode: 1,
  25939. $isExpression: 1,
  25940. get$span: function() {
  25941. return this.span;
  25942. }
  25943. };
  25944. T.SelectorExpression.prototype = {
  25945. accept$1$1: function(visitor) {
  25946. return visitor.visitSelectorExpression$1(this);
  25947. },
  25948. accept$1: function(visitor) {
  25949. return this.accept$1$1(visitor, null);
  25950. },
  25951. toString$0: function(_) {
  25952. return "&";
  25953. },
  25954. $isAstNode: 1,
  25955. $isExpression: 1,
  25956. get$span: function() {
  25957. return this.span;
  25958. }
  25959. };
  25960. D.StringExpression.prototype = {
  25961. get$span: function() {
  25962. return this.text.span;
  25963. },
  25964. accept$1$1: function(visitor) {
  25965. return visitor.visitStringExpression$1(this);
  25966. },
  25967. accept$1: function(visitor) {
  25968. return this.accept$1$1(visitor, null);
  25969. },
  25970. asInterpolation$1$static: function($static) {
  25971. var quote, t1, t2, buffer, t3, t4, t5, _i, value, t6, t7, i, codeUnit, next, t8, _this = this;
  25972. if (!_this.hasQuotes)
  25973. return _this.text;
  25974. quote = _this._bestQuote$0();
  25975. t1 = new P.StringBuffer("");
  25976. t2 = [];
  25977. buffer = new Z.InterpolationBuffer(t1, t2);
  25978. t1._contents += H.Primitives_stringFromCharCode(quote);
  25979. for (t3 = _this.text, t4 = t3.contents, t5 = t4.length, _i = 0; _i < t5; ++_i) {
  25980. value = t4[_i];
  25981. if (!!J.getInterceptor$(value).$isExpression) {
  25982. buffer._flushText$0();
  25983. t2.push(value);
  25984. } else if (typeof value === "string")
  25985. for (t6 = value.length, t7 = t6 - 1, i = 0; i < t6; ++i) {
  25986. codeUnit = C.JSString_methods._codeUnitAt$1(value, i);
  25987. if (codeUnit === 10 || codeUnit === 13 || codeUnit === 12) {
  25988. t1._contents += H.Primitives_stringFromCharCode(92);
  25989. t1._contents += H.Primitives_stringFromCharCode(97);
  25990. if (i !== t7) {
  25991. next = C.JSString_methods._codeUnitAt$1(value, i + 1);
  25992. if (next === 32 || next === 9 || next === 10 || next === 13 || next === 12 || T.isHex(next))
  25993. t1._contents += H.Primitives_stringFromCharCode(32);
  25994. }
  25995. } else {
  25996. if (codeUnit !== quote)
  25997. if (codeUnit !== 92)
  25998. t8 = $static && codeUnit === 35 && i < t7 && C.JSString_methods._codeUnitAt$1(value, i + 1) === 123;
  25999. else
  26000. t8 = true;
  26001. else
  26002. t8 = true;
  26003. if (t8)
  26004. t1._contents += H.Primitives_stringFromCharCode(92);
  26005. t1._contents += H.Primitives_stringFromCharCode(codeUnit);
  26006. }
  26007. }
  26008. }
  26009. t1._contents += H.Primitives_stringFromCharCode(quote);
  26010. return buffer.interpolation$1(t3.span);
  26011. },
  26012. asInterpolation$0: function() {
  26013. return this.asInterpolation$1$static(false);
  26014. },
  26015. _bestQuote$0: function() {
  26016. var t1, t2, containsDoubleQuote, _i, value, t3, i, codeUnit;
  26017. for (t1 = this.text.contents, t2 = t1.length, containsDoubleQuote = false, _i = 0; _i < t2; ++_i) {
  26018. value = t1[_i];
  26019. if (typeof value === "string")
  26020. for (t3 = value.length, i = 0; i < t3; ++i) {
  26021. codeUnit = C.JSString_methods._codeUnitAt$1(value, i);
  26022. if (codeUnit === 39)
  26023. return 34;
  26024. if (codeUnit === 34)
  26025. containsDoubleQuote = true;
  26026. }
  26027. }
  26028. return containsDoubleQuote ? 39 : 34;
  26029. },
  26030. toString$0: function(_) {
  26031. return this.asInterpolation$0().toString$0(0);
  26032. },
  26033. $isAstNode: 1,
  26034. $isExpression: 1
  26035. };
  26036. X.UnaryOperationExpression.prototype = {
  26037. accept$1$1: function(visitor) {
  26038. return visitor.visitUnaryOperationExpression$1(this);
  26039. },
  26040. accept$1: function(visitor) {
  26041. return this.accept$1$1(visitor, null);
  26042. },
  26043. toString$0: function(_) {
  26044. var t1 = this.operator,
  26045. t2 = t1.operator;
  26046. t1 = t1 === C.UnaryOperator_not_not ? t2 + H.Primitives_stringFromCharCode(32) : t2;
  26047. t1 += H.S(this.operand);
  26048. return t1.charCodeAt(0) == 0 ? t1 : t1;
  26049. },
  26050. $isAstNode: 1,
  26051. $isExpression: 1,
  26052. get$span: function() {
  26053. return this.span;
  26054. }
  26055. };
  26056. X.UnaryOperator.prototype = {
  26057. toString$0: function(_) {
  26058. return this.name;
  26059. }
  26060. };
  26061. F.ValueExpression.prototype = {
  26062. accept$1$1: function(visitor) {
  26063. return visitor.visitValueExpression$1(this);
  26064. },
  26065. accept$1: function(visitor) {
  26066. return this.accept$1$1(visitor, null);
  26067. },
  26068. toString$0: function(_) {
  26069. return J.toString$0$(this.value);
  26070. },
  26071. $isAstNode: 1,
  26072. $isExpression: 1,
  26073. get$span: function() {
  26074. return this.span;
  26075. }
  26076. };
  26077. S.VariableExpression.prototype = {
  26078. accept$1$1: function(visitor) {
  26079. return visitor.visitVariableExpression$1(this);
  26080. },
  26081. accept$1: function(visitor) {
  26082. return this.accept$1$1(visitor, null);
  26083. },
  26084. toString$0: function(_) {
  26085. var t1 = this.namespace;
  26086. t1 = t1 != null ? "$" + (t1 + ".") : "$";
  26087. t1 += this.name;
  26088. return t1.charCodeAt(0) == 0 ? t1 : t1;
  26089. },
  26090. $isAstNode: 1,
  26091. $isExpression: 1,
  26092. get$span: function() {
  26093. return this.span;
  26094. }
  26095. };
  26096. F.Import.prototype = {$isAstNode: 1};
  26097. B.DynamicImport.prototype = {
  26098. toString$0: function(_) {
  26099. return new D.StringExpression(X.Interpolation$(H.setRuntimeTypeInfo([this.url], [P.Object]), null), true).asInterpolation$1$static(true).get$asPlain();
  26100. },
  26101. $isAstNode: 1,
  26102. $isImport: 1,
  26103. get$span: function() {
  26104. return this.span;
  26105. }
  26106. };
  26107. Q.StaticImport.prototype = {
  26108. toString$0: function(_) {
  26109. var t1 = this.url.toString$0(0),
  26110. t2 = this.supports;
  26111. if (t2 != null)
  26112. t1 += " supports(" + t2.toString$0(0) + ")";
  26113. t2 = this.media;
  26114. if (t2 != null)
  26115. t1 += " " + t2.toString$0(0);
  26116. t1 += H.Primitives_stringFromCharCode(59);
  26117. return t1.charCodeAt(0) == 0 ? t1 : t1;
  26118. },
  26119. $isAstNode: 1,
  26120. $isImport: 1,
  26121. get$span: function() {
  26122. return this.span;
  26123. }
  26124. };
  26125. X.Interpolation.prototype = {
  26126. get$asPlain: function() {
  26127. var first,
  26128. t1 = this.contents,
  26129. t2 = t1.length;
  26130. if (t2 === 0)
  26131. return "";
  26132. if (t2 > 1)
  26133. return;
  26134. first = C.JSArray_methods.get$first(t1);
  26135. return typeof first === "string" ? first : null;
  26136. },
  26137. Interpolation$2: function(contents, span) {
  26138. var t1, t2, i, t3, t4,
  26139. _s8_ = "contents";
  26140. for (t1 = this.contents, t2 = t1.length, i = 0; i < t2; ++i) {
  26141. t3 = t1[i];
  26142. t4 = typeof t3 === "string";
  26143. if (!t4 && !J.getInterceptor$(t3).$isExpression)
  26144. throw H.wrapException(P.ArgumentError$value(t1, _s8_, "May only contains Strings or Expressions."));
  26145. if (i !== 0) {
  26146. t3 = t1[i - 1];
  26147. t3 = typeof t3 === "string" && t4;
  26148. } else
  26149. t3 = false;
  26150. if (t3)
  26151. throw H.wrapException(P.ArgumentError$value(t1, _s8_, "May not contain adjacent Strings."));
  26152. }
  26153. },
  26154. toString$0: function(_) {
  26155. var t1 = this.contents;
  26156. return new H.MappedListIterable(t1, new X.Interpolation_toString_closure(), [H.getTypeArgumentByIndex(t1, 0), P.String]).join$0(0);
  26157. },
  26158. $isAstNode: 1,
  26159. get$span: function() {
  26160. return this.span;
  26161. }
  26162. };
  26163. X.Interpolation_toString_closure.prototype = {
  26164. call$1: function(value) {
  26165. return typeof value === "string" ? value : "#{" + H.S(value) + "}";
  26166. },
  26167. $signature: 21
  26168. };
  26169. B.SassNode.prototype = {};
  26170. O.Statement.prototype = {$isAstNode: 1};
  26171. V.AtRootRule.prototype = {
  26172. accept$1$1: function(visitor) {
  26173. return visitor.visitAtRootRule$1(this);
  26174. },
  26175. accept$1: function(visitor) {
  26176. return this.accept$1$1(visitor, null);
  26177. },
  26178. toString$0: function(_) {
  26179. var buffer = new P.StringBuffer("@at-root "),
  26180. t1 = this.query;
  26181. if (t1 != null)
  26182. buffer._contents = "@at-root " + (t1.toString$0(0) + " ");
  26183. t1 = this.children;
  26184. return buffer.toString$0(0) + " {" + (t1 && C.JSArray_methods).join$1(t1, " ") + "}";
  26185. },
  26186. get$span: function() {
  26187. return this.span;
  26188. }
  26189. };
  26190. U.AtRule.prototype = {
  26191. accept$1$1: function(visitor) {
  26192. return visitor.visitAtRule$1(this);
  26193. },
  26194. accept$1: function(visitor) {
  26195. return this.accept$1$1(visitor, null);
  26196. },
  26197. toString$0: function(_) {
  26198. var t1 = "@" + this.name.toString$0(0),
  26199. buffer = new P.StringBuffer(t1),
  26200. t2 = this.value;
  26201. if (t2 != null)
  26202. buffer._contents = t1 + (" " + t2.toString$0(0));
  26203. t1 = this.children;
  26204. return t1 == null ? buffer.toString$0(0) + ";" : buffer.toString$0(0) + " {" + C.JSArray_methods.join$1(t1, " ") + "}";
  26205. },
  26206. get$span: function() {
  26207. return this.span;
  26208. }
  26209. };
  26210. M.CallableDeclaration.prototype = {
  26211. get$span: function() {
  26212. return this.span;
  26213. }
  26214. };
  26215. Y.ContentBlock.prototype = {
  26216. accept$1$1: function(visitor) {
  26217. return visitor.visitContentBlock$1(this);
  26218. },
  26219. accept$1: function(visitor) {
  26220. return this.accept$1$1(visitor, null);
  26221. },
  26222. toString$0: function(_) {
  26223. var t2,
  26224. t1 = this.$arguments;
  26225. t1 = t1.$arguments.length === 0 && t1.restArgument == null ? "" : " using (" + t1.toString$0(0) + ")";
  26226. t2 = this.children;
  26227. return t1 + (" {" + (t2 && C.JSArray_methods).join$1(t2, " ") + "}");
  26228. }
  26229. };
  26230. Q.ContentRule.prototype = {
  26231. accept$1$1: function(visitor) {
  26232. return visitor.visitContentRule$1(this);
  26233. },
  26234. accept$1: function(visitor) {
  26235. return this.accept$1$1(visitor, null);
  26236. },
  26237. toString$0: function(_) {
  26238. var t1 = this.$arguments;
  26239. return t1.get$isEmpty(t1) ? "@content;" : "@content(" + t1.toString$0(0) + ");";
  26240. },
  26241. $isAstNode: 1,
  26242. $isStatement: 1,
  26243. get$span: function() {
  26244. return this.span;
  26245. }
  26246. };
  26247. Q.DebugRule.prototype = {
  26248. accept$1$1: function(visitor) {
  26249. return visitor.visitDebugRule$1(this);
  26250. },
  26251. accept$1: function(visitor) {
  26252. return this.accept$1$1(visitor, null);
  26253. },
  26254. toString$0: function(_) {
  26255. return "@debug " + H.S(this.expression) + ";";
  26256. },
  26257. $isAstNode: 1,
  26258. $isStatement: 1,
  26259. get$span: function() {
  26260. return this.span;
  26261. }
  26262. };
  26263. L.Declaration.prototype = {
  26264. accept$1$1: function(visitor) {
  26265. return visitor.visitDeclaration$1(this);
  26266. },
  26267. accept$1: function(visitor) {
  26268. return this.accept$1$1(visitor, null);
  26269. },
  26270. toString$0: function(_) {
  26271. return H.S(this.name) + ": " + H.S(this.value) + ";";
  26272. },
  26273. get$span: function() {
  26274. return this.span;
  26275. }
  26276. };
  26277. V.EachRule.prototype = {
  26278. accept$1$1: function(visitor) {
  26279. return visitor.visitEachRule$1(this);
  26280. },
  26281. accept$1: function(visitor) {
  26282. return this.accept$1$1(visitor, null);
  26283. },
  26284. toString$0: function(_) {
  26285. var t1 = this.variables,
  26286. t2 = this.children;
  26287. return "@each " + new H.MappedListIterable(t1, new V.EachRule_toString_closure(), [H.getTypeArgumentByIndex(t1, 0), P.String]).join$1(0, ", ") + " in " + H.S(this.list) + " {" + (t2 && C.JSArray_methods).join$1(t2, " ") + "}";
  26288. },
  26289. get$span: function() {
  26290. return this.span;
  26291. }
  26292. };
  26293. V.EachRule_toString_closure.prototype = {
  26294. call$1: function(variable) {
  26295. return C.JSString_methods.$add("$", variable);
  26296. }
  26297. };
  26298. D.ErrorRule.prototype = {
  26299. accept$1$1: function(visitor) {
  26300. return visitor.visitErrorRule$1(this);
  26301. },
  26302. accept$1: function(visitor) {
  26303. return this.accept$1$1(visitor, null);
  26304. },
  26305. toString$0: function(_) {
  26306. return "@error " + H.S(this.expression) + ";";
  26307. },
  26308. $isAstNode: 1,
  26309. $isStatement: 1,
  26310. get$span: function() {
  26311. return this.span;
  26312. }
  26313. };
  26314. X.ExtendRule.prototype = {
  26315. accept$1$1: function(visitor) {
  26316. return visitor.visitExtendRule$1(this);
  26317. },
  26318. accept$1: function(visitor) {
  26319. return this.accept$1$1(visitor, null);
  26320. },
  26321. toString$0: function(_) {
  26322. return "@extend " + this.selector.toString$0(0);
  26323. },
  26324. $isAstNode: 1,
  26325. $isStatement: 1,
  26326. get$span: function() {
  26327. return this.span;
  26328. }
  26329. };
  26330. B.ForRule.prototype = {
  26331. accept$1$1: function(visitor) {
  26332. return visitor.visitForRule$1(this);
  26333. },
  26334. accept$1: function(visitor) {
  26335. return this.accept$1$1(visitor, null);
  26336. },
  26337. toString$0: function(_) {
  26338. var _this = this,
  26339. t1 = "@for $" + _this.variable + " from " + H.S(_this.from) + " ",
  26340. t2 = _this.children;
  26341. return t1 + (_this.isExclusive ? "to" : "through") + " " + H.S(_this.to) + " {" + (t2 && C.JSArray_methods).join$1(t2, " ") + "}";
  26342. },
  26343. get$span: function() {
  26344. return this.span;
  26345. }
  26346. };
  26347. L.ForwardRule.prototype = {
  26348. accept$1$1: function(visitor) {
  26349. return visitor.visitForwardRule$1(this);
  26350. },
  26351. accept$1: function(visitor) {
  26352. return this.accept$1$1(visitor, null);
  26353. },
  26354. toString$0: function(_) {
  26355. var _this = this,
  26356. t1 = "@forward " + H.S(new D.StringExpression(X.Interpolation$(H.setRuntimeTypeInfo([J.toString$0$(_this.url)], [P.Object]), null), true).asInterpolation$1$static(true).get$asPlain()),
  26357. t2 = _this.shownMixinsAndFunctions;
  26358. if (t2 != null)
  26359. t1 = t1 + " show " + _this._forward_rule$_memberList$2(t2, _this.shownVariables);
  26360. else {
  26361. t2 = _this.hiddenMixinsAndFunctions;
  26362. if (t2 != null)
  26363. t1 = t1 + " hide " + _this._forward_rule$_memberList$2(t2, _this.hiddenVariables);
  26364. }
  26365. t2 = _this.prefix;
  26366. t1 = (t2 != null ? t1 + (" as " + t2 + "*") : t1) + ";";
  26367. return t1.charCodeAt(0) == 0 ? t1 : t1;
  26368. },
  26369. _forward_rule$_memberList$2: function(mixinsAndFunctions, variables) {
  26370. var t1 = this.shownVariables._base.map$1$1(0, new L.ForwardRule__memberList_closure(), P.String);
  26371. return this.shownMixinsAndFunctions._base.followedBy$1(0, t1).join$1(0, ", ");
  26372. },
  26373. $isAstNode: 1,
  26374. $isStatement: 1,
  26375. get$span: function() {
  26376. return this.span;
  26377. }
  26378. };
  26379. L.ForwardRule__memberList_closure.prototype = {
  26380. call$1: function($name) {
  26381. return "$" + H.S($name);
  26382. }
  26383. };
  26384. M.FunctionRule.prototype = {
  26385. accept$1$1: function(visitor) {
  26386. return visitor.visitFunctionRule$1(this);
  26387. },
  26388. accept$1: function(visitor) {
  26389. return this.accept$1$1(visitor, null);
  26390. },
  26391. toString$0: function(_) {
  26392. var t1 = this.children;
  26393. return "@function " + H.S(this.name) + "(" + this.$arguments.toString$0(0) + ") {" + (t1 && C.JSArray_methods).join$1(t1, " ") + "}";
  26394. }
  26395. };
  26396. V.IfRule.prototype = {
  26397. accept$1$1: function(visitor) {
  26398. return visitor.visitIfRule$1(this);
  26399. },
  26400. accept$1: function(visitor) {
  26401. return this.accept$1$1(visitor, null);
  26402. },
  26403. toString$0: function(_) {
  26404. var t2, t1 = {};
  26405. t1.first = true;
  26406. t2 = this.clauses;
  26407. return new H.MappedListIterable(t2, new V.IfRule_toString_closure(t1), [H.getTypeArgumentByIndex(t2, 0), P.String]).join$1(0, " ");
  26408. },
  26409. $isAstNode: 1,
  26410. $isStatement: 1,
  26411. get$span: function() {
  26412. return this.span;
  26413. }
  26414. };
  26415. V.IfRule_toString_closure.prototype = {
  26416. call$1: function(clause) {
  26417. var t1 = this._box_0,
  26418. $name = t1.first ? "if" : "else";
  26419. t1.first = false;
  26420. return "@" + $name + " " + H.S(clause.expression) + " {" + C.JSArray_methods.join$1(clause.children, " ") + "}";
  26421. }
  26422. };
  26423. V.IfClause.prototype = {
  26424. toString$0: function(_) {
  26425. var t1 = this.expression;
  26426. t1 = t1 == null ? "@else" : "@if " + t1.toString$0(0);
  26427. return t1 + (" {" + C.JSArray_methods.join$1(this.children, " ") + "}");
  26428. }
  26429. };
  26430. V.IfClause$__closure.prototype = {
  26431. call$1: function(child) {
  26432. var t1 = J.getInterceptor$(child);
  26433. return !!t1.$isVariableDeclaration || !!t1.$isFunctionRule || !!t1.$isMixinRule;
  26434. }
  26435. };
  26436. B.ImportRule.prototype = {
  26437. accept$1$1: function(visitor) {
  26438. return visitor.visitImportRule$1(this);
  26439. },
  26440. accept$1: function(visitor) {
  26441. return this.accept$1$1(visitor, null);
  26442. },
  26443. toString$0: function(_) {
  26444. return "@import " + C.JSArray_methods.join$1(this.imports, ", ") + ";";
  26445. },
  26446. $isAstNode: 1,
  26447. $isStatement: 1,
  26448. get$span: function() {
  26449. return this.span;
  26450. }
  26451. };
  26452. A.IncludeRule.prototype = {
  26453. accept$1$1: function(visitor) {
  26454. return visitor.visitIncludeRule$1(this);
  26455. },
  26456. accept$1: function(visitor) {
  26457. return this.accept$1$1(visitor, null);
  26458. },
  26459. toString$0: function(_) {
  26460. var t2, _this = this,
  26461. t1 = _this.namespace;
  26462. t1 = t1 != null ? "@include " + (t1 + ".") : "@include ";
  26463. t1 += _this.name;
  26464. t2 = _this.$arguments;
  26465. if (!t2.get$isEmpty(t2))
  26466. t1 += "(" + t2.toString$0(0) + ")";
  26467. t2 = _this.content;
  26468. t1 += t2 == null ? ";" : " " + t2.toString$0(0);
  26469. return t1.charCodeAt(0) == 0 ? t1 : t1;
  26470. },
  26471. $isAstNode: 1,
  26472. $isStatement: 1,
  26473. get$span: function() {
  26474. return this.span;
  26475. }
  26476. };
  26477. L.LoudComment.prototype = {
  26478. get$span: function() {
  26479. return this.text.span;
  26480. },
  26481. accept$1$1: function(visitor) {
  26482. return visitor.visitLoudComment$1(this);
  26483. },
  26484. accept$1: function(visitor) {
  26485. return this.accept$1$1(visitor, null);
  26486. },
  26487. toString$0: function(_) {
  26488. return this.text.toString$0(0);
  26489. },
  26490. $isAstNode: 1,
  26491. $isStatement: 1
  26492. };
  26493. G.MediaRule.prototype = {
  26494. accept$1$1: function(visitor) {
  26495. return visitor.visitMediaRule$1(this);
  26496. },
  26497. accept$1: function(visitor) {
  26498. return this.accept$1$1(visitor, null);
  26499. },
  26500. toString$0: function(_) {
  26501. var t1 = this.children;
  26502. return "@media " + this.query.toString$0(0) + " {" + (t1 && C.JSArray_methods).join$1(t1, " ") + "}";
  26503. },
  26504. get$span: function() {
  26505. return this.span;
  26506. }
  26507. };
  26508. T.MixinRule.prototype = {
  26509. accept$1$1: function(visitor) {
  26510. return visitor.visitMixinRule$1(this);
  26511. },
  26512. accept$1: function(visitor) {
  26513. return this.accept$1$1(visitor, null);
  26514. },
  26515. toString$0: function(_) {
  26516. var t1 = "@mixin " + H.S(this.name),
  26517. t2 = this.$arguments;
  26518. if (!(t2.$arguments.length === 0 && t2.restArgument == null))
  26519. t1 += "(" + t2.toString$0(0) + ")";
  26520. t2 = this.children;
  26521. t2 = t1 + (" {" + (t2 && C.JSArray_methods).join$1(t2, " ") + "}");
  26522. return t2.charCodeAt(0) == 0 ? t2 : t2;
  26523. }
  26524. };
  26525. M.ParentStatement.prototype = {$isAstNode: 1, $isStatement: 1};
  26526. M.ParentStatement_closure.prototype = {
  26527. call$1: function(child) {
  26528. var t1 = J.getInterceptor$(child);
  26529. return !!t1.$isVariableDeclaration || !!t1.$isFunctionRule || !!t1.$isMixinRule;
  26530. }
  26531. };
  26532. B.ReturnRule.prototype = {
  26533. accept$1$1: function(visitor) {
  26534. return visitor.visitReturnRule$1(this);
  26535. },
  26536. accept$1: function(visitor) {
  26537. return this.accept$1$1(visitor, null);
  26538. },
  26539. toString$0: function(_) {
  26540. return "@return " + H.S(this.expression) + ";";
  26541. },
  26542. $isAstNode: 1,
  26543. $isStatement: 1,
  26544. get$span: function() {
  26545. return this.span;
  26546. }
  26547. };
  26548. B.SilentComment.prototype = {
  26549. accept$1$1: function(visitor) {
  26550. return visitor.visitSilentComment$1(this);
  26551. },
  26552. accept$1: function(visitor) {
  26553. return this.accept$1$1(visitor, null);
  26554. },
  26555. toString$0: function(_) {
  26556. return this.text;
  26557. },
  26558. $isAstNode: 1,
  26559. $isStatement: 1,
  26560. get$span: function() {
  26561. return this.span;
  26562. }
  26563. };
  26564. X.StyleRule.prototype = {
  26565. accept$1$1: function(visitor) {
  26566. return visitor.visitStyleRule$1(this);
  26567. },
  26568. accept$1: function(visitor) {
  26569. return this.accept$1$1(visitor, null);
  26570. },
  26571. toString$0: function(_) {
  26572. var t1 = this.children;
  26573. return this.selector.toString$0(0) + " {" + (t1 && C.JSArray_methods).join$1(t1, " ") + "}";
  26574. },
  26575. get$span: function() {
  26576. return this.span;
  26577. }
  26578. };
  26579. V.Stylesheet.prototype = {
  26580. Stylesheet$3$plainCss: function(children, span, plainCss) {
  26581. var t1, t2, t3, t4, _i, child, t5;
  26582. for (t1 = this.children, t2 = t1.length, t3 = this._forwards, t4 = this._uses, _i = 0; _i < t2; ++_i) {
  26583. child = t1[_i];
  26584. t5 = J.getInterceptor$(child);
  26585. if (!!t5.$isUseRule)
  26586. t4.push(child);
  26587. else if (!!t5.$isForwardRule)
  26588. t3.push(child);
  26589. else if (!t5.$isSilentComment && !t5.$isLoudComment && !t5.$isVariableDeclaration)
  26590. break;
  26591. }
  26592. },
  26593. accept$1$1: function(visitor) {
  26594. return visitor.visitStylesheet$1(this);
  26595. },
  26596. accept$1: function(visitor) {
  26597. return this.accept$1$1(visitor, null);
  26598. },
  26599. toString$0: function(_) {
  26600. var t1 = this.children;
  26601. return (t1 && C.JSArray_methods).join$1(t1, " ");
  26602. },
  26603. get$span: function() {
  26604. return this.span;
  26605. }
  26606. };
  26607. B.SupportsRule.prototype = {
  26608. accept$1$1: function(visitor) {
  26609. return visitor.visitSupportsRule$1(this);
  26610. },
  26611. accept$1: function(visitor) {
  26612. return this.accept$1$1(visitor, null);
  26613. },
  26614. toString$0: function(_) {
  26615. var t1 = this.children;
  26616. return "@supports " + this.condition.toString$0(0) + " {" + (t1 && C.JSArray_methods).join$1(t1, " ") + "}";
  26617. },
  26618. get$span: function() {
  26619. return this.span;
  26620. }
  26621. };
  26622. T.UseRule.prototype = {
  26623. accept$1$1: function(visitor) {
  26624. return visitor.visitUseRule$1(this);
  26625. },
  26626. accept$1: function(visitor) {
  26627. return this.accept$1$1(visitor, null);
  26628. },
  26629. toString$0: function(_) {
  26630. var t1 = "@use " + H.S(new D.StringExpression(X.Interpolation$(H.setRuntimeTypeInfo([J.toString$0$(this.url)], [P.Object]), null), true).asInterpolation$1$static(true).get$asPlain()) + " as ",
  26631. t2 = this.namespace;
  26632. return t1 + (t2 == null ? "*" : t2) + ";";
  26633. },
  26634. $isAstNode: 1,
  26635. $isStatement: 1,
  26636. get$span: function() {
  26637. return this.span;
  26638. }
  26639. };
  26640. Z.VariableDeclaration.prototype = {
  26641. accept$1$1: function(visitor) {
  26642. return visitor.visitVariableDeclaration$1(this);
  26643. },
  26644. accept$1: function(visitor) {
  26645. return this.accept$1$1(visitor, null);
  26646. },
  26647. toString$0: function(_) {
  26648. var t1 = this.namespace;
  26649. t1 = t1 != null ? "$" + (t1 + ".") : "$";
  26650. t1 += this.name + ": " + H.S(this.expression) + ";";
  26651. return t1.charCodeAt(0) == 0 ? t1 : t1;
  26652. },
  26653. $isAstNode: 1,
  26654. $isStatement: 1,
  26655. get$span: function() {
  26656. return this.span;
  26657. }
  26658. };
  26659. Y.WarnRule.prototype = {
  26660. accept$1$1: function(visitor) {
  26661. return visitor.visitWarnRule$1(this);
  26662. },
  26663. accept$1: function(visitor) {
  26664. return this.accept$1$1(visitor, null);
  26665. },
  26666. toString$0: function(_) {
  26667. return "@warn " + H.S(this.expression) + ";";
  26668. },
  26669. $isAstNode: 1,
  26670. $isStatement: 1,
  26671. get$span: function() {
  26672. return this.span;
  26673. }
  26674. };
  26675. G.WhileRule.prototype = {
  26676. accept$1$1: function(visitor) {
  26677. return visitor.visitWhileRule$1(this);
  26678. },
  26679. accept$1: function(visitor) {
  26680. return this.accept$1$1(visitor, null);
  26681. },
  26682. toString$0: function(_) {
  26683. var t1 = this.children;
  26684. return "@while " + H.S(this.condition) + " {" + (t1 && C.JSArray_methods).join$1(t1, " ") + "}";
  26685. },
  26686. get$span: function() {
  26687. return this.span;
  26688. }
  26689. };
  26690. N.SupportsCondition.prototype = {};
  26691. L.SupportsDeclaration.prototype = {
  26692. toString$0: function(_) {
  26693. return "(" + H.S(this.name) + ": " + H.S(this.value) + ")";
  26694. },
  26695. $isAstNode: 1,
  26696. get$span: function() {
  26697. return this.span;
  26698. }
  26699. };
  26700. X.SupportsInterpolation.prototype = {
  26701. toString$0: function(_) {
  26702. return "#{" + H.S(this.expression) + "}";
  26703. },
  26704. $isAstNode: 1,
  26705. get$span: function() {
  26706. return this.span;
  26707. }
  26708. };
  26709. M.SupportsNegation.prototype = {
  26710. toString$0: function(_) {
  26711. var t1 = this.condition;
  26712. if (!!t1.$isSupportsNegation || !!t1.$isSupportsOperation)
  26713. return "not (" + t1.toString$0(0) + ")";
  26714. else
  26715. return "not " + t1.toString$0(0);
  26716. },
  26717. $isAstNode: 1,
  26718. get$span: function() {
  26719. return this.span;
  26720. }
  26721. };
  26722. U.SupportsOperation.prototype = {
  26723. toString$0: function(_) {
  26724. var _this = this;
  26725. return _this._operation$_parenthesize$1(_this.left) + " " + _this.operator + " " + _this._operation$_parenthesize$1(_this.right);
  26726. },
  26727. _operation$_parenthesize$1: function(condition) {
  26728. var t1;
  26729. if (!condition.$isSupportsNegation)
  26730. t1 = !!condition.$isSupportsOperation && condition.operator === this.operator;
  26731. else
  26732. t1 = true;
  26733. return t1 ? "(" + condition.toString$0(0) + ")" : condition.toString$0(0);
  26734. },
  26735. $isAstNode: 1,
  26736. get$span: function() {
  26737. return this.span;
  26738. }
  26739. };
  26740. T.Selector.prototype = {
  26741. get$isInvisible: function() {
  26742. return false;
  26743. },
  26744. toString$0: function(_) {
  26745. var visitor = N._SerializeVisitor$(null, true, null, true, false, null, true);
  26746. this.accept$1(visitor);
  26747. return visitor._buffer.toString$0(0);
  26748. }
  26749. };
  26750. N.AttributeSelector.prototype = {
  26751. accept$1$1: function(visitor) {
  26752. var t2, _this = this,
  26753. t1 = visitor._buffer;
  26754. t1.writeCharCode$1(91);
  26755. t1.write$1(0, _this.name);
  26756. t2 = _this.op;
  26757. if (t2 != null) {
  26758. t1.write$1(0, t2);
  26759. t2 = _this.value;
  26760. if (G.Parser_isIdentifier(t2) && !J.startsWith$1$s(t2, "--")) {
  26761. t1.write$1(0, t2);
  26762. t2 = _this.modifier;
  26763. if (t2 != null)
  26764. t1.writeCharCode$1(32);
  26765. } else {
  26766. visitor._visitQuotedString$1(t2);
  26767. t2 = _this.modifier;
  26768. if (t2 != null)
  26769. if (visitor._style !== C.OutputStyle_compressed)
  26770. t1.writeCharCode$1(32);
  26771. }
  26772. if (t2 != null)
  26773. t1.write$1(0, t2);
  26774. }
  26775. t1.writeCharCode$1(93);
  26776. return;
  26777. },
  26778. accept$1: function(visitor) {
  26779. return this.accept$1$1(visitor, null);
  26780. },
  26781. $eq: function(_, other) {
  26782. var _this = this;
  26783. if (other == null)
  26784. return false;
  26785. return other instanceof N.AttributeSelector && other.name.$eq(0, _this.name) && other.op == _this.op && other.value == _this.value && other.modifier == _this.modifier;
  26786. },
  26787. get$hashCode: function(_) {
  26788. var _this = this,
  26789. t1 = _this.name;
  26790. return (C.JSString_methods.get$hashCode(t1.name) ^ J.get$hashCode$(t1.namespace) ^ J.get$hashCode$(_this.op) ^ J.get$hashCode$(_this.value) ^ J.get$hashCode$(_this.modifier)) >>> 0;
  26791. }
  26792. };
  26793. N.AttributeOperator.prototype = {
  26794. toString$0: function(_) {
  26795. return this._attribute$_text;
  26796. }
  26797. };
  26798. X.ClassSelector.prototype = {
  26799. $eq: function(_, other) {
  26800. if (other == null)
  26801. return false;
  26802. return other instanceof X.ClassSelector && other.name === this.name;
  26803. },
  26804. accept$1$1: function(visitor) {
  26805. var t1 = visitor._buffer;
  26806. t1.writeCharCode$1(46);
  26807. t1.write$1(0, this.name);
  26808. return;
  26809. },
  26810. accept$1: function(visitor) {
  26811. return this.accept$1$1(visitor, null);
  26812. },
  26813. addSuffix$1: function(suffix) {
  26814. return new X.ClassSelector(this.name + suffix);
  26815. },
  26816. get$hashCode: function(_) {
  26817. return C.JSString_methods.get$hashCode(this.name);
  26818. }
  26819. };
  26820. S.ComplexSelector.prototype = {
  26821. get$minSpecificity: function() {
  26822. if (this._minSpecificity == null)
  26823. this._computeSpecificity$0();
  26824. return this._minSpecificity;
  26825. },
  26826. get$maxSpecificity: function() {
  26827. if (this._maxSpecificity == null)
  26828. this._computeSpecificity$0();
  26829. return this._maxSpecificity;
  26830. },
  26831. get$isInvisible: function() {
  26832. var t1 = this._complex$_isInvisible;
  26833. if (t1 != null)
  26834. return t1;
  26835. return this._complex$_isInvisible = C.JSArray_methods.any$1(this.components, new S.ComplexSelector_isInvisible_closure());
  26836. },
  26837. accept$1$1: function(visitor) {
  26838. return visitor.visitComplexSelector$1(this);
  26839. },
  26840. accept$1: function(visitor) {
  26841. return this.accept$1$1(visitor, null);
  26842. },
  26843. _computeSpecificity$0: function() {
  26844. var t1, t2, component, t3, _this = this,
  26845. _i = _this._maxSpecificity = _this._minSpecificity = 0;
  26846. for (t1 = _this.components, t2 = t1.length; _i < t2; ++_i) {
  26847. component = t1[_i];
  26848. if (component instanceof X.CompoundSelector) {
  26849. t3 = _this._minSpecificity;
  26850. if (component._compound$_minSpecificity == null)
  26851. component._compound$_computeSpecificity$0();
  26852. _this._minSpecificity = t3 + component._compound$_minSpecificity;
  26853. t3 = _this._maxSpecificity;
  26854. if (component._compound$_maxSpecificity == null)
  26855. component._compound$_computeSpecificity$0();
  26856. _this._maxSpecificity = t3 + component._compound$_maxSpecificity;
  26857. }
  26858. }
  26859. },
  26860. get$hashCode: function(_) {
  26861. return C.C_ListEquality.hash$1(this.components);
  26862. },
  26863. $eq: function(_, other) {
  26864. if (other == null)
  26865. return false;
  26866. return other instanceof S.ComplexSelector && C.C_ListEquality.equals$2(this.components, other.components);
  26867. }
  26868. };
  26869. S.ComplexSelector_isInvisible_closure.prototype = {
  26870. call$1: function(component) {
  26871. return component instanceof X.CompoundSelector && component.get$isInvisible();
  26872. }
  26873. };
  26874. S.ComplexSelectorComponent.prototype = {};
  26875. S.Combinator.prototype = {
  26876. toString$0: function(_) {
  26877. return this._complex$_text;
  26878. },
  26879. $isComplexSelectorComponent: 1
  26880. };
  26881. X.CompoundSelector.prototype = {
  26882. get$isInvisible: function() {
  26883. return C.JSArray_methods.any$1(this.components, new X.CompoundSelector_isInvisible_closure());
  26884. },
  26885. accept$1$1: function(visitor) {
  26886. return visitor.visitCompoundSelector$1(this);
  26887. },
  26888. accept$1: function(visitor) {
  26889. return this.accept$1$1(visitor, null);
  26890. },
  26891. _compound$_computeSpecificity$0: function() {
  26892. var t1, t2, simple, _this = this,
  26893. _i = _this._compound$_maxSpecificity = _this._compound$_minSpecificity = 0;
  26894. for (t1 = _this.components, t2 = t1.length; _i < t2; ++_i) {
  26895. simple = t1[_i];
  26896. _this._compound$_minSpecificity = _this._compound$_minSpecificity + simple.get$minSpecificity();
  26897. _this._compound$_maxSpecificity = _this._compound$_maxSpecificity + simple.get$maxSpecificity();
  26898. }
  26899. },
  26900. get$hashCode: function(_) {
  26901. return C.C_ListEquality.hash$1(this.components);
  26902. },
  26903. $eq: function(_, other) {
  26904. if (other == null)
  26905. return false;
  26906. return other instanceof X.CompoundSelector && C.C_ListEquality.equals$2(this.components, other.components);
  26907. },
  26908. $isComplexSelectorComponent: 1
  26909. };
  26910. X.CompoundSelector_isInvisible_closure.prototype = {
  26911. call$1: function(component) {
  26912. return component.get$isInvisible();
  26913. }
  26914. };
  26915. N.IDSelector.prototype = {
  26916. get$minSpecificity: function() {
  26917. return H.intTypeCast(Math.pow(M.SimpleSelector.prototype.get$minSpecificity.call(this), 2));
  26918. },
  26919. accept$1$1: function(visitor) {
  26920. var t1 = visitor._buffer;
  26921. t1.writeCharCode$1(35);
  26922. t1.write$1(0, this.name);
  26923. return;
  26924. },
  26925. accept$1: function(visitor) {
  26926. return this.accept$1$1(visitor, null);
  26927. },
  26928. addSuffix$1: function(suffix) {
  26929. return new N.IDSelector(this.name + suffix);
  26930. },
  26931. unify$1: function(compound) {
  26932. if (C.JSArray_methods.any$1(compound, new N.IDSelector_unify_closure(this)))
  26933. return;
  26934. return this.super$SimpleSelector$unify(compound);
  26935. },
  26936. $eq: function(_, other) {
  26937. if (other == null)
  26938. return false;
  26939. return other instanceof N.IDSelector && other.name === this.name;
  26940. },
  26941. get$hashCode: function(_) {
  26942. return C.JSString_methods.get$hashCode(this.name);
  26943. }
  26944. };
  26945. N.IDSelector_unify_closure.prototype = {
  26946. call$1: function(simple) {
  26947. var t1;
  26948. if (simple instanceof N.IDSelector) {
  26949. t1 = simple.name;
  26950. t1 = this.$this.name !== t1;
  26951. } else
  26952. t1 = false;
  26953. return t1;
  26954. }
  26955. };
  26956. D.SelectorList.prototype = {
  26957. get$isInvisible: function() {
  26958. return C.JSArray_methods.every$1(this.components, new D.SelectorList_isInvisible_closure());
  26959. },
  26960. get$asSassList: function() {
  26961. var t1 = this.components;
  26962. return D.SassList$(new H.MappedListIterable(t1, new D.SelectorList_asSassList_closure(), [H.getTypeArgumentByIndex(t1, 0), F.Value]), C.ListSeparator_comma, false);
  26963. },
  26964. accept$1$1: function(visitor) {
  26965. return visitor.visitSelectorList$1(this);
  26966. },
  26967. accept$1: function(visitor) {
  26968. return this.accept$1$1(visitor, null);
  26969. },
  26970. unify$1: function(other) {
  26971. var t1 = this.components,
  26972. t2 = S.ComplexSelector,
  26973. contents = P.List_List$from(new H.ExpandIterable(t1, new D.SelectorList_unify_closure(other), [H.getTypeArgumentByIndex(t1, 0), t2]), true, t2);
  26974. return contents.length === 0 ? null : D.SelectorList$(contents);
  26975. },
  26976. resolveParentSelectors$2$implicitParent: function($parent, implicitParent) {
  26977. var t1, _this = this;
  26978. if ($parent == null) {
  26979. if (!C.JSArray_methods.any$1(_this.components, _this.get$_complexContainsParentSelector()))
  26980. return _this;
  26981. throw H.wrapException(E.SassScriptException$('Top-level selectors may not contain the parent selector "&".'));
  26982. }
  26983. t1 = _this.components;
  26984. return D.SelectorList$(B.flattenVertically(new H.MappedListIterable(t1, new D.SelectorList_resolveParentSelectors_closure(_this, implicitParent, $parent), [H.getTypeArgumentByIndex(t1, 0), [P.Iterable, S.ComplexSelector]]), S.ComplexSelector));
  26985. },
  26986. resolveParentSelectors$1: function($parent) {
  26987. return this.resolveParentSelectors$2$implicitParent($parent, true);
  26988. },
  26989. _complexContainsParentSelector$1: function(complex) {
  26990. return C.JSArray_methods.any$1(complex.components, new D.SelectorList__complexContainsParentSelector_closure());
  26991. },
  26992. _resolveParentSelectorsCompound$2: function(compound, $parent) {
  26993. var resolvedMembers0, parentSelector, t1,
  26994. resolvedMembers = compound.components,
  26995. containsSelectorPseudo = C.JSArray_methods.any$1(resolvedMembers, new D.SelectorList__resolveParentSelectorsCompound_closure());
  26996. if (!containsSelectorPseudo && !(C.JSArray_methods.get$first(resolvedMembers) instanceof M.ParentSelector))
  26997. return;
  26998. resolvedMembers0 = containsSelectorPseudo ? new H.MappedListIterable(resolvedMembers, new D.SelectorList__resolveParentSelectorsCompound_closure0($parent), [H.getTypeArgumentByIndex(resolvedMembers, 0), M.SimpleSelector]) : resolvedMembers;
  26999. parentSelector = C.JSArray_methods.get$first(resolvedMembers);
  27000. if (parentSelector instanceof M.ParentSelector) {
  27001. if (resolvedMembers.length === 1 && parentSelector.suffix == null)
  27002. return $parent.components;
  27003. } else
  27004. return H.setRuntimeTypeInfo([S.ComplexSelector$(H.setRuntimeTypeInfo([X.CompoundSelector$(resolvedMembers0)], [S.ComplexSelectorComponent]), false)], [S.ComplexSelector]);
  27005. t1 = $parent.components;
  27006. return new H.MappedListIterable(t1, new D.SelectorList__resolveParentSelectorsCompound_closure1(compound, resolvedMembers0), [H.getTypeArgumentByIndex(t1, 0), S.ComplexSelector]);
  27007. },
  27008. get$hashCode: function(_) {
  27009. return C.C_ListEquality.hash$1(this.components);
  27010. },
  27011. $eq: function(_, other) {
  27012. if (other == null)
  27013. return false;
  27014. return other instanceof D.SelectorList && C.C_ListEquality.equals$2(this.components, other.components);
  27015. }
  27016. };
  27017. D.SelectorList_isInvisible_closure.prototype = {
  27018. call$1: function(complex) {
  27019. return complex.get$isInvisible();
  27020. }
  27021. };
  27022. D.SelectorList_asSassList_closure.prototype = {
  27023. call$1: function(complex) {
  27024. var t1 = complex.components;
  27025. return D.SassList$(new H.MappedListIterable(t1, new D.SelectorList_asSassList__closure(), [H.getTypeArgumentByIndex(t1, 0), F.Value]), C.ListSeparator_space, false);
  27026. }
  27027. };
  27028. D.SelectorList_asSassList__closure.prototype = {
  27029. call$1: function(component) {
  27030. return new D.SassString(J.toString$0$(component), false);
  27031. }
  27032. };
  27033. D.SelectorList_unify_closure.prototype = {
  27034. call$1: function(complex1) {
  27035. var t1 = this.other.components;
  27036. return new H.ExpandIterable(t1, new D.SelectorList_unify__closure(complex1), [H.getTypeArgumentByIndex(t1, 0), S.ComplexSelector]);
  27037. }
  27038. };
  27039. D.SelectorList_unify__closure.prototype = {
  27040. call$1: function(complex2) {
  27041. var unified = Y.unifyComplex(H.setRuntimeTypeInfo([this.complex1.components, complex2.components], [[P.List, S.ComplexSelectorComponent]]));
  27042. if (unified == null)
  27043. return C.List_empty7;
  27044. return J.map$1$1$ax(unified, new D.SelectorList_unify___closure(), S.ComplexSelector);
  27045. }
  27046. };
  27047. D.SelectorList_unify___closure.prototype = {
  27048. call$1: function(complex) {
  27049. return S.ComplexSelector$(complex, false);
  27050. }
  27051. };
  27052. D.SelectorList_resolveParentSelectors_closure.prototype = {
  27053. call$1: function(complex) {
  27054. var t2, t3, newComplexes, t4, t5, t6, t7, _i, component, resolved, t8, _i0, previousLineBreaks, newComplexes0, t9, i, newComplex, i0, lineBreak, t10, t11, t12, t13, t14, t15, _i1, _this = this, _box_0 = {},
  27055. t1 = _this.$this;
  27056. if (!t1._complexContainsParentSelector$1(complex)) {
  27057. if (!_this.implicitParent)
  27058. return H.setRuntimeTypeInfo([complex], [S.ComplexSelector]);
  27059. t1 = _this.parent.components;
  27060. return new H.MappedListIterable(t1, new D.SelectorList_resolveParentSelectors__closure(complex), [H.getTypeArgumentByIndex(t1, 0), S.ComplexSelector]);
  27061. }
  27062. t2 = [S.ComplexSelectorComponent];
  27063. t3 = [[P.List, S.ComplexSelectorComponent]];
  27064. newComplexes = H.setRuntimeTypeInfo([H.setRuntimeTypeInfo([], t2)], t3);
  27065. t4 = [P.bool];
  27066. _box_0.lineBreaks = H.setRuntimeTypeInfo([false], t4);
  27067. for (t5 = complex.components, t6 = t5.length, t7 = _this.parent, _i = 0; _i < t6; ++_i) {
  27068. component = t5[_i];
  27069. if (component instanceof X.CompoundSelector) {
  27070. resolved = t1._resolveParentSelectorsCompound$2(component, t7);
  27071. if (resolved == null) {
  27072. for (t8 = newComplexes.length, _i0 = 0; _i0 < newComplexes.length; newComplexes.length === t8 || (0, H.throwConcurrentModificationError)(newComplexes), ++_i0)
  27073. newComplexes[_i0].push(component);
  27074. continue;
  27075. }
  27076. previousLineBreaks = _box_0.lineBreaks;
  27077. newComplexes0 = H.setRuntimeTypeInfo([], t3);
  27078. _box_0.lineBreaks = H.setRuntimeTypeInfo([], t4);
  27079. for (t8 = newComplexes.length, t9 = J.getInterceptor$ax(resolved), i = 0, _i0 = 0; _i0 < newComplexes.length; newComplexes.length === t8 || (0, H.throwConcurrentModificationError)(newComplexes), ++_i0, i = i0) {
  27080. newComplex = newComplexes[_i0];
  27081. i0 = i + 1;
  27082. lineBreak = previousLineBreaks[i];
  27083. for (t10 = t9.get$iterator(resolved), t11 = !lineBreak; t10.moveNext$0();) {
  27084. t12 = t10.get$current(t10);
  27085. t13 = H.setRuntimeTypeInfo([], t2);
  27086. for (t14 = C.JSArray_methods.get$iterator(newComplex); t14.moveNext$0();)
  27087. t13.push(t14.get$current(t14));
  27088. for (t14 = t12.components, t15 = t14.length, _i1 = 0; _i1 < t15; ++_i1)
  27089. t13.push(t14[_i1]);
  27090. newComplexes0.push(t13);
  27091. t13 = _box_0.lineBreaks;
  27092. t13.push(!t11 || t12.lineBreak);
  27093. }
  27094. }
  27095. newComplexes = newComplexes0;
  27096. } else
  27097. for (t8 = newComplexes.length, _i0 = 0; _i0 < newComplexes.length; newComplexes.length === t8 || (0, H.throwConcurrentModificationError)(newComplexes), ++_i0)
  27098. newComplexes[_i0].push(component);
  27099. }
  27100. _box_0.i = 0;
  27101. return new H.MappedListIterable(newComplexes, new D.SelectorList_resolveParentSelectors__closure0(_box_0), [H.getTypeArgumentByIndex(newComplexes, 0), S.ComplexSelector]);
  27102. }
  27103. };
  27104. D.SelectorList_resolveParentSelectors__closure.prototype = {
  27105. call$1: function(parentComplex) {
  27106. var t2, t3, _i, t4,
  27107. t1 = H.setRuntimeTypeInfo([], [S.ComplexSelectorComponent]);
  27108. for (t2 = parentComplex.components, t3 = t2.length, _i = 0; _i < t3; ++_i)
  27109. t1.push(t2[_i]);
  27110. for (t2 = this.complex, t3 = t2.components, t4 = t3.length, _i = 0; _i < t4; ++_i)
  27111. t1.push(t3[_i]);
  27112. return S.ComplexSelector$(t1, t2.lineBreak || parentComplex.lineBreak);
  27113. }
  27114. };
  27115. D.SelectorList_resolveParentSelectors__closure0.prototype = {
  27116. call$1: function(newComplex) {
  27117. var t1 = this._box_0;
  27118. return S.ComplexSelector$(newComplex, t1.lineBreaks[t1.i++]);
  27119. }
  27120. };
  27121. D.SelectorList__complexContainsParentSelector_closure.prototype = {
  27122. call$1: function(component) {
  27123. return component instanceof X.CompoundSelector && C.JSArray_methods.any$1(component.components, new D.SelectorList__complexContainsParentSelector__closure());
  27124. }
  27125. };
  27126. D.SelectorList__complexContainsParentSelector__closure.prototype = {
  27127. call$1: function(simple) {
  27128. var t1 = J.getInterceptor$(simple);
  27129. if (!t1.$isParentSelector)
  27130. if (!!t1.$isPseudoSelector) {
  27131. t1 = simple.selector;
  27132. t1 = t1 != null && C.JSArray_methods.any$1(t1.components, t1.get$_complexContainsParentSelector());
  27133. } else
  27134. t1 = false;
  27135. else
  27136. t1 = true;
  27137. return t1;
  27138. }
  27139. };
  27140. D.SelectorList__resolveParentSelectorsCompound_closure.prototype = {
  27141. call$1: function(simple) {
  27142. var t1;
  27143. if (simple instanceof D.PseudoSelector) {
  27144. t1 = simple.selector;
  27145. t1 = t1 != null && C.JSArray_methods.any$1(t1.components, t1.get$_complexContainsParentSelector());
  27146. } else
  27147. t1 = false;
  27148. return t1;
  27149. }
  27150. };
  27151. D.SelectorList__resolveParentSelectorsCompound_closure0.prototype = {
  27152. call$1: function(simple) {
  27153. var t1, t2, t3;
  27154. if (simple instanceof D.PseudoSelector) {
  27155. t1 = simple.selector;
  27156. if (t1 == null)
  27157. return simple;
  27158. if (!C.JSArray_methods.any$1(t1.components, t1.get$_complexContainsParentSelector()))
  27159. return simple;
  27160. t1 = t1.resolveParentSelectors$2$implicitParent(this.parent, false);
  27161. t2 = simple.name;
  27162. t3 = simple.isClass;
  27163. return D.PseudoSelector$(t2, simple.argument, !t3, t1);
  27164. } else
  27165. return simple;
  27166. }
  27167. };
  27168. D.SelectorList__resolveParentSelectorsCompound_closure1.prototype = {
  27169. call$1: function(complex) {
  27170. var suffix, t2, t3, t4, last, _i,
  27171. t1 = complex.components,
  27172. lastComponent = C.JSArray_methods.get$last(t1);
  27173. if (!(lastComponent instanceof X.CompoundSelector))
  27174. throw H.wrapException(E.SassScriptException$('Parent "' + H.S(complex) + '" is incompatible with this selector.'));
  27175. suffix = H.interceptedTypeCast(C.JSArray_methods.get$first(this.compound.components), "$isParentSelector").suffix;
  27176. t2 = [M.SimpleSelector];
  27177. if (suffix != null) {
  27178. t2 = H.setRuntimeTypeInfo([], t2);
  27179. for (t3 = lastComponent.components, t4 = H.SubListIterable$(t3, 0, t3.length - 1, H.getTypeArgumentByIndex(t3, 0)), t4 = new H.ListIterator(t4, t4.get$length(t4)); t4.moveNext$0();)
  27180. t2.push(t4.__internal$_current);
  27181. t2.push(C.JSArray_methods.get$last(t3).addSuffix$1(suffix));
  27182. for (t3 = J.skip$1$ax(this.resolvedMembers, 1), t3 = new H.ListIterator(t3, t3.get$length(t3)); t3.moveNext$0();)
  27183. t2.push(t3.__internal$_current);
  27184. last = X.CompoundSelector$(t2);
  27185. } else {
  27186. t2 = H.setRuntimeTypeInfo([], t2);
  27187. for (t3 = lastComponent.components, t4 = t3.length, _i = 0; _i < t4; ++_i)
  27188. t2.push(t3[_i]);
  27189. for (t3 = J.skip$1$ax(this.resolvedMembers, 1), t3 = new H.ListIterator(t3, t3.get$length(t3)); t3.moveNext$0();)
  27190. t2.push(t3.__internal$_current);
  27191. last = X.CompoundSelector$(t2);
  27192. }
  27193. t2 = H.setRuntimeTypeInfo([], [S.ComplexSelectorComponent]);
  27194. for (t1 = H.SubListIterable$(t1, 0, t1.length - 1, H.getTypeArgumentByIndex(t1, 0)), t1 = new H.ListIterator(t1, t1.get$length(t1)); t1.moveNext$0();)
  27195. t2.push(t1.__internal$_current);
  27196. t2.push(last);
  27197. return S.ComplexSelector$(t2, complex.lineBreak);
  27198. }
  27199. };
  27200. M.ParentSelector.prototype = {
  27201. accept$1$1: function(visitor) {
  27202. var t2,
  27203. t1 = visitor._buffer;
  27204. t1.writeCharCode$1(38);
  27205. t2 = this.suffix;
  27206. if (t2 != null)
  27207. t1.write$1(0, t2);
  27208. return;
  27209. },
  27210. accept$1: function(visitor) {
  27211. return this.accept$1$1(visitor, null);
  27212. },
  27213. unify$1: function(compound) {
  27214. return H.throwExpression(P.UnsupportedError$("& doesn't support unification."));
  27215. }
  27216. };
  27217. N.PlaceholderSelector.prototype = {
  27218. get$isInvisible: function() {
  27219. return true;
  27220. },
  27221. accept$1$1: function(visitor) {
  27222. var t1 = visitor._buffer;
  27223. t1.writeCharCode$1(37);
  27224. t1.write$1(0, this.name);
  27225. return;
  27226. },
  27227. accept$1: function(visitor) {
  27228. return this.accept$1$1(visitor, null);
  27229. },
  27230. addSuffix$1: function(suffix) {
  27231. return new N.PlaceholderSelector(this.name + suffix);
  27232. },
  27233. $eq: function(_, other) {
  27234. if (other == null)
  27235. return false;
  27236. return other instanceof N.PlaceholderSelector && other.name === this.name;
  27237. },
  27238. get$hashCode: function(_) {
  27239. return C.JSString_methods.get$hashCode(this.name);
  27240. }
  27241. };
  27242. D.PseudoSelector.prototype = {
  27243. get$minSpecificity: function() {
  27244. if (this._pseudo$_minSpecificity == null)
  27245. this._pseudo$_computeSpecificity$0();
  27246. return this._pseudo$_minSpecificity;
  27247. },
  27248. get$maxSpecificity: function() {
  27249. if (this._pseudo$_maxSpecificity == null)
  27250. this._pseudo$_computeSpecificity$0();
  27251. return this._pseudo$_maxSpecificity;
  27252. },
  27253. get$isInvisible: function() {
  27254. var t1 = this.selector;
  27255. if (t1 == null)
  27256. return false;
  27257. return this.name !== "not" && t1.get$isInvisible();
  27258. },
  27259. addSuffix$1: function(suffix) {
  27260. var _this = this;
  27261. if (_this.argument != null || _this.selector != null)
  27262. _this.super$SimpleSelector$addSuffix(suffix);
  27263. return D.PseudoSelector$(_this.name + suffix, null, !_this.isClass, null);
  27264. },
  27265. unify$1: function(compound) {
  27266. var result, t1, t2, addedThis, _i, simple, _this = this;
  27267. if (compound.length === 1 && C.JSArray_methods.get$first(compound) instanceof N.UniversalSelector)
  27268. return C.JSArray_methods.get$first(compound).unify$1(H.setRuntimeTypeInfo([_this], [M.SimpleSelector]));
  27269. if (C.JSArray_methods.contains$1(compound, _this))
  27270. return compound;
  27271. result = H.setRuntimeTypeInfo([], [M.SimpleSelector]);
  27272. for (t1 = compound.length, t2 = !_this.isClass, addedThis = false, _i = 0; _i < compound.length; compound.length === t1 || (0, H.throwConcurrentModificationError)(compound), ++_i) {
  27273. simple = compound[_i];
  27274. if (simple instanceof D.PseudoSelector && !simple.isClass) {
  27275. if (t2)
  27276. return;
  27277. result.push(_this);
  27278. addedThis = true;
  27279. }
  27280. result.push(simple);
  27281. }
  27282. if (!addedThis)
  27283. result.push(_this);
  27284. return result;
  27285. },
  27286. _pseudo$_computeSpecificity$0: function() {
  27287. var t1, _i, t2, complex, t3, t4, _this = this;
  27288. if (!_this.isClass) {
  27289. _this._pseudo$_maxSpecificity = _this._pseudo$_minSpecificity = 1;
  27290. return;
  27291. }
  27292. t1 = _this.selector;
  27293. if (t1 == null) {
  27294. _this._pseudo$_minSpecificity = M.SimpleSelector.prototype.get$minSpecificity.call(_this);
  27295. _this._pseudo$_maxSpecificity = M.SimpleSelector.prototype.get$maxSpecificity.call(_this);
  27296. return;
  27297. }
  27298. if (_this.name === "not") {
  27299. _i = _this._pseudo$_maxSpecificity = _this._pseudo$_minSpecificity = 0;
  27300. for (t1 = t1.components, t2 = t1.length; _i < t2; ++_i) {
  27301. complex = t1[_i];
  27302. t3 = _this._pseudo$_minSpecificity;
  27303. if (complex._minSpecificity == null)
  27304. complex._computeSpecificity$0();
  27305. t4 = complex._minSpecificity;
  27306. _this._pseudo$_minSpecificity = Math.max(H.checkNum(t3), H.checkNum(t4));
  27307. t4 = _this._pseudo$_maxSpecificity;
  27308. if (complex._maxSpecificity == null)
  27309. complex._computeSpecificity$0();
  27310. t3 = complex._maxSpecificity;
  27311. _this._pseudo$_maxSpecificity = Math.max(H.checkNum(t4), H.checkNum(t3));
  27312. }
  27313. } else {
  27314. _this._pseudo$_minSpecificity = H.intTypeCast(Math.pow(M.SimpleSelector.prototype.get$minSpecificity.call(_this), 3));
  27315. _i = _this._pseudo$_maxSpecificity = 0;
  27316. for (t1 = t1.components, t2 = t1.length; _i < t2; ++_i) {
  27317. complex = t1[_i];
  27318. t3 = _this._pseudo$_minSpecificity;
  27319. if (complex._minSpecificity == null)
  27320. complex._computeSpecificity$0();
  27321. t4 = complex._minSpecificity;
  27322. _this._pseudo$_minSpecificity = Math.min(H.checkNum(t3), H.checkNum(t4));
  27323. t4 = _this._pseudo$_maxSpecificity;
  27324. if (complex._maxSpecificity == null)
  27325. complex._computeSpecificity$0();
  27326. t3 = complex._maxSpecificity;
  27327. _this._pseudo$_maxSpecificity = Math.max(H.checkNum(t4), H.checkNum(t3));
  27328. }
  27329. }
  27330. },
  27331. accept$1$1: function(visitor) {
  27332. return visitor.visitPseudoSelector$1(this);
  27333. },
  27334. accept$1: function(visitor) {
  27335. return this.accept$1$1(visitor, null);
  27336. },
  27337. $eq: function(_, other) {
  27338. var _this = this;
  27339. if (other == null)
  27340. return false;
  27341. return other instanceof D.PseudoSelector && other.name === _this.name && other.isClass === _this.isClass && other.argument == _this.argument && J.$eq$(other.selector, _this.selector);
  27342. },
  27343. get$hashCode: function(_) {
  27344. var _this = this;
  27345. return (C.JSString_methods.get$hashCode(_this.name) ^ C.JSBool_methods.get$hashCode(!_this.isClass) ^ J.get$hashCode$(_this.argument) ^ J.get$hashCode$(_this.selector)) >>> 0;
  27346. }
  27347. };
  27348. D.QualifiedName.prototype = {
  27349. $eq: function(_, other) {
  27350. if (other == null)
  27351. return false;
  27352. return other instanceof D.QualifiedName && other.name === this.name && other.namespace == this.namespace;
  27353. },
  27354. get$hashCode: function(_) {
  27355. return C.JSString_methods.get$hashCode(this.name) ^ J.get$hashCode$(this.namespace);
  27356. },
  27357. toString$0: function(_) {
  27358. var t1 = this.namespace,
  27359. t2 = this.name;
  27360. return t1 == null ? t2 : t1 + "|" + t2;
  27361. }
  27362. };
  27363. M.SimpleSelector.prototype = {
  27364. get$minSpecificity: function() {
  27365. return 1000;
  27366. },
  27367. get$maxSpecificity: function() {
  27368. return this.get$minSpecificity();
  27369. },
  27370. addSuffix$1: function(suffix) {
  27371. return H.throwExpression(E.SassScriptException$('Invalid parent selector "' + this.toString$0(0) + '"'));
  27372. },
  27373. unify$1: function(compound) {
  27374. var result, t1, addedThis, _i, simple, _this = this;
  27375. if (compound.length === 1 && C.JSArray_methods.get$first(compound) instanceof N.UniversalSelector)
  27376. return C.JSArray_methods.get$first(compound).unify$1(H.setRuntimeTypeInfo([_this], [M.SimpleSelector]));
  27377. if (C.JSArray_methods.contains$1(compound, _this))
  27378. return compound;
  27379. result = H.setRuntimeTypeInfo([], [M.SimpleSelector]);
  27380. for (t1 = compound.length, addedThis = false, _i = 0; _i < compound.length; compound.length === t1 || (0, H.throwConcurrentModificationError)(compound), ++_i) {
  27381. simple = compound[_i];
  27382. if (!addedThis && simple instanceof D.PseudoSelector) {
  27383. result.push(_this);
  27384. addedThis = true;
  27385. }
  27386. result.push(simple);
  27387. }
  27388. if (!addedThis)
  27389. result.push(_this);
  27390. return result;
  27391. }
  27392. };
  27393. F.TypeSelector.prototype = {
  27394. get$minSpecificity: function() {
  27395. return 1;
  27396. },
  27397. accept$1$1: function(visitor) {
  27398. visitor._buffer.write$1(0, this.name);
  27399. return;
  27400. },
  27401. accept$1: function(visitor) {
  27402. return this.accept$1$1(visitor, null);
  27403. },
  27404. addSuffix$1: function(suffix) {
  27405. var t1 = this.name;
  27406. return new F.TypeSelector(new D.QualifiedName(t1.name + suffix, t1.namespace));
  27407. },
  27408. unify$1: function(compound) {
  27409. var unified, t1, t2, _i;
  27410. if (C.JSArray_methods.get$first(compound) instanceof N.UniversalSelector || C.JSArray_methods.get$first(compound) instanceof F.TypeSelector) {
  27411. unified = Y.unifyUniversalAndElement(this, C.JSArray_methods.get$first(compound));
  27412. if (unified == null)
  27413. return;
  27414. t1 = H.setRuntimeTypeInfo([], [M.SimpleSelector]);
  27415. t1.push(unified);
  27416. for (t2 = H.SubListIterable$(compound, 1, null, H.getTypeArgumentByIndex(compound, 0)), t2 = new H.ListIterator(t2, t2.get$length(t2)); t2.moveNext$0();)
  27417. t1.push(t2.__internal$_current);
  27418. return t1;
  27419. } else {
  27420. t1 = H.setRuntimeTypeInfo([], [M.SimpleSelector]);
  27421. t1.push(this);
  27422. for (t2 = compound.length, _i = 0; _i < compound.length; compound.length === t2 || (0, H.throwConcurrentModificationError)(compound), ++_i)
  27423. t1.push(compound[_i]);
  27424. return t1;
  27425. }
  27426. },
  27427. $eq: function(_, other) {
  27428. if (other == null)
  27429. return false;
  27430. return other instanceof F.TypeSelector && other.name.$eq(0, this.name);
  27431. },
  27432. get$hashCode: function(_) {
  27433. var t1 = this.name;
  27434. return C.JSString_methods.get$hashCode(t1.name) ^ J.get$hashCode$(t1.namespace);
  27435. }
  27436. };
  27437. N.UniversalSelector.prototype = {
  27438. get$minSpecificity: function() {
  27439. return 0;
  27440. },
  27441. accept$1$1: function(visitor) {
  27442. var t2,
  27443. t1 = this.namespace;
  27444. if (t1 != null) {
  27445. t2 = visitor._buffer;
  27446. t2.write$1(0, t1);
  27447. t2.writeCharCode$1(124);
  27448. }
  27449. visitor._buffer.writeCharCode$1(42);
  27450. return;
  27451. },
  27452. accept$1: function(visitor) {
  27453. return this.accept$1$1(visitor, null);
  27454. },
  27455. unify$1: function(compound) {
  27456. var unified, t1, t2, _i, _this = this;
  27457. if (C.JSArray_methods.get$first(compound) instanceof N.UniversalSelector || C.JSArray_methods.get$first(compound) instanceof F.TypeSelector) {
  27458. unified = Y.unifyUniversalAndElement(_this, C.JSArray_methods.get$first(compound));
  27459. if (unified == null)
  27460. return;
  27461. t1 = H.setRuntimeTypeInfo([], [M.SimpleSelector]);
  27462. t1.push(unified);
  27463. for (t2 = H.SubListIterable$(compound, 1, null, H.getTypeArgumentByIndex(compound, 0)), t2 = new H.ListIterator(t2, t2.get$length(t2)); t2.moveNext$0();)
  27464. t1.push(t2.__internal$_current);
  27465. return t1;
  27466. }
  27467. t1 = _this.namespace;
  27468. if (t1 != null && t1 !== "*") {
  27469. t1 = H.setRuntimeTypeInfo([], [M.SimpleSelector]);
  27470. t1.push(_this);
  27471. for (t2 = compound.length, _i = 0; _i < compound.length; compound.length === t2 || (0, H.throwConcurrentModificationError)(compound), ++_i)
  27472. t1.push(compound[_i]);
  27473. return t1;
  27474. }
  27475. if (compound.length !== 0)
  27476. return compound;
  27477. return H.setRuntimeTypeInfo([_this], [M.SimpleSelector]);
  27478. },
  27479. $eq: function(_, other) {
  27480. if (other == null)
  27481. return false;
  27482. return other instanceof N.UniversalSelector && other.namespace == this.namespace;
  27483. },
  27484. get$hashCode: function(_) {
  27485. return J.get$hashCode$(this.namespace);
  27486. }
  27487. };
  27488. X._compileStylesheet_closure0.prototype = {
  27489. call$1: function(url) {
  27490. var t1, t2, _null = null;
  27491. if (url === "")
  27492. t1 = J.toString$0$(P.Uri_Uri$dataFromString(P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(this.stylesheet.span.file._decodedChars, 0, _null), 0, _null), C.C_Utf8Codec, _null));
  27493. else {
  27494. t1 = P.Uri_parse(url);
  27495. t2 = this.importCache._async_import_cache$_resultsCache.$index(0, t1);
  27496. t2 = t2 == null ? _null : t2.get$sourceMapUrl();
  27497. t1 = J.toString$0$(t2 == null ? t1 : t2);
  27498. }
  27499. return t1;
  27500. }
  27501. };
  27502. X.CompileResult.prototype = {};
  27503. Q.AsyncEnvironment.prototype = {
  27504. closure$0: function() {
  27505. var t4, t5, t6, _this = this,
  27506. t1 = _this._async_environment$_globalModules,
  27507. t2 = _this._async_environment$_forwardedModules,
  27508. t3 = _this._async_environment$_variables;
  27509. t3 = H.setRuntimeTypeInfo(t3.slice(0), [H.getTypeArgumentByIndex(t3, 0)]);
  27510. t4 = _this._async_environment$_variableNodes;
  27511. if (t4 == null)
  27512. t4 = null;
  27513. else
  27514. t4 = H.setRuntimeTypeInfo(t4.slice(0), [H.getTypeArgumentByIndex(t4, 0)]);
  27515. t5 = _this._async_environment$_functions;
  27516. t5 = H.setRuntimeTypeInfo(t5.slice(0), [H.getTypeArgumentByIndex(t5, 0)]);
  27517. t6 = _this._async_environment$_mixins;
  27518. t6 = H.setRuntimeTypeInfo(t6.slice(0), [H.getTypeArgumentByIndex(t6, 0)]);
  27519. return Q.AsyncEnvironment$_(_this._async_environment$_modules, t1, t2, _this._async_environment$_allModules, t3, t4, t5, t6, _this._async_environment$_content);
  27520. },
  27521. global$0: function() {
  27522. var t4, t5, t6, _this = this,
  27523. t1 = [G.Module, B.AsyncCallable],
  27524. t2 = H.setRuntimeTypeInfo([], [t1]),
  27525. t3 = _this._async_environment$_variables;
  27526. t3 = H.setRuntimeTypeInfo(t3.slice(0), [H.getTypeArgumentByIndex(t3, 0)]);
  27527. t4 = _this._async_environment$_variableNodes;
  27528. if (t4 == null)
  27529. t4 = null;
  27530. else
  27531. t4 = H.setRuntimeTypeInfo(t4.slice(0), [H.getTypeArgumentByIndex(t4, 0)]);
  27532. t5 = _this._async_environment$_functions;
  27533. t5 = H.setRuntimeTypeInfo(t5.slice(0), [H.getTypeArgumentByIndex(t5, 0)]);
  27534. t6 = _this._async_environment$_mixins;
  27535. t6 = H.setRuntimeTypeInfo(t6.slice(0), [H.getTypeArgumentByIndex(t6, 0)]);
  27536. return Q.AsyncEnvironment$_(P.LinkedHashMap_LinkedHashMap$_empty(P.String, t1), null, null, t2, t3, t4, t5, t6, _this._async_environment$_content);
  27537. },
  27538. addModule$2$namespace: function(module, namespace) {
  27539. var t1, t2, _this = this;
  27540. if (namespace == null) {
  27541. t1 = _this._async_environment$_globalModules;
  27542. (t1 == null ? _this._async_environment$_globalModules = P.LinkedHashSet_LinkedHashSet([G.Module, B.AsyncCallable]) : t1).add$1(0, module);
  27543. _this._async_environment$_allModules.push(module);
  27544. for (t1 = J.get$iterator$ax(C.JSArray_methods.get$first(_this._async_environment$_variables).get$keys()); t1.moveNext$0();) {
  27545. t2 = t1.get$current(t1);
  27546. if (module.get$variables().containsKey$1(t2))
  27547. throw H.wrapException(E.SassScriptException$('This module and the new module both define a variable named "$' + H.S(t2) + '".'));
  27548. }
  27549. } else {
  27550. t1 = _this._async_environment$_modules;
  27551. if (t1.containsKey$1(namespace))
  27552. throw H.wrapException(E.SassScriptException$("There's already a module with namespace \"" + namespace + '".'));
  27553. t1.$indexSet(0, namespace, module);
  27554. _this._async_environment$_allModules.push(module);
  27555. }
  27556. },
  27557. forwardModule$2: function(module, rule) {
  27558. var view, t1, t2, t3, t4, t5, _i, other, _this = this;
  27559. if (_this._async_environment$_forwardedModules == null)
  27560. _this._async_environment$_forwardedModules = H.setRuntimeTypeInfo([], [[G.Module, B.AsyncCallable]]);
  27561. view = R.ForwardedModuleView$(module, rule, B.AsyncCallable);
  27562. for (t1 = _this._async_environment$_forwardedModules, t2 = t1.length, t3 = view.variables, t4 = view.functions, t5 = view.mixins, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
  27563. other = t1[_i];
  27564. _this._async_environment$_assertNoConflicts$4(t3, other.variables, "variable", other);
  27565. _this._async_environment$_assertNoConflicts$4(t4, other.functions, "function", other);
  27566. _this._async_environment$_assertNoConflicts$4(t5, other.mixins, "mixin", other);
  27567. }
  27568. _this._async_environment$_allModules.push(module);
  27569. _this._async_environment$_forwardedModules.push(view);
  27570. },
  27571. _async_environment$_assertNoConflicts$4: function(newMembers, oldMembers, type, oldModule) {
  27572. var larger, smaller, t1, $name;
  27573. if (newMembers.get$length(newMembers) < oldMembers.get$length(oldMembers)) {
  27574. larger = oldMembers;
  27575. smaller = newMembers;
  27576. } else {
  27577. larger = newMembers;
  27578. smaller = oldMembers;
  27579. }
  27580. for (t1 = J.get$iterator$ax(smaller.get$keys()); t1.moveNext$0();) {
  27581. $name = t1.get$current(t1);
  27582. if (larger.containsKey$1($name)) {
  27583. if (type === "variable")
  27584. $name = "$" + H.S($name);
  27585. throw H.wrapException(E.SassScriptException$("Module " + H.S(D.prettyUri(oldModule.get$url())) + " and the new module both forward a " + type + " named " + H.S($name) + "."));
  27586. }
  27587. }
  27588. },
  27589. importForwards$1: function(module) {
  27590. var t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, _i, forwarded, t12, t13, index, _this = this,
  27591. t1 = module._async_environment$_environment._async_environment$_forwardedModules;
  27592. if (t1 == null)
  27593. t1 = C.List_empty12;
  27594. t2 = t1.length;
  27595. t3 = _this._async_environment$_mixinIndices;
  27596. t4 = _this._async_environment$_mixins;
  27597. t5 = _this._async_environment$_functionIndices;
  27598. t6 = _this._async_environment$_functions;
  27599. t7 = _this._async_environment$_variableIndices;
  27600. t8 = _this._async_environment$_variableNodes;
  27601. t9 = t8 != null;
  27602. t10 = _this._async_environment$_variables;
  27603. t11 = [G.Module, B.AsyncCallable];
  27604. _i = 0;
  27605. for (; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
  27606. forwarded = t1[_i];
  27607. t12 = _this._async_environment$_globalModules;
  27608. (t12 == null ? _this._async_environment$_globalModules = P.LinkedHashSet_LinkedHashSet$_empty(t11) : t12).add$1(0, forwarded);
  27609. for (t12 = J.get$iterator$ax(forwarded.variables.get$keys()); t12.moveNext$0();) {
  27610. t13 = t12.get$current(t12);
  27611. index = t7.remove$1(0, t13);
  27612. if (index == null)
  27613. index = _this._async_environment$_variableIndex$1(t13);
  27614. if (index != null) {
  27615. J.remove$1$ax(t10[index], t13);
  27616. if (t9)
  27617. J.remove$1$ax(t8[index], t13);
  27618. }
  27619. }
  27620. for (t12 = J.get$iterator$ax(forwarded.functions.get$keys()); t12.moveNext$0();) {
  27621. t13 = t12.get$current(t12);
  27622. index = t5.remove$1(0, t13);
  27623. if (index == null)
  27624. index = _this._async_environment$_functionIndex$1(t13);
  27625. if (index != null)
  27626. J.remove$1$ax(t6[index], t13);
  27627. }
  27628. for (t12 = J.get$iterator$ax(forwarded.mixins.get$keys()); t12.moveNext$0();) {
  27629. t13 = t12.get$current(t12);
  27630. index = t3.remove$1(0, t13);
  27631. if (index == null)
  27632. index = _this._async_environment$_mixinIndex$1(t13);
  27633. if (index != null)
  27634. J.remove$1$ax(t4[index], t13);
  27635. }
  27636. }
  27637. },
  27638. getVariable$2$namespace: function($name, namespace) {
  27639. var t1, index, _this = this;
  27640. if (namespace != null)
  27641. return _this._async_environment$_getModule$1(namespace).get$variables().$index(0, $name);
  27642. if (_this._async_environment$_lastVariableName === $name) {
  27643. t1 = J.$index$asx(_this._async_environment$_variables[_this._async_environment$_lastVariableIndex], $name);
  27644. return t1 == null ? _this._async_environment$_getVariableFromGlobalModule$1($name) : t1;
  27645. }
  27646. t1 = _this._async_environment$_variableIndices;
  27647. index = t1.$index(0, $name);
  27648. if (index != null) {
  27649. _this._async_environment$_lastVariableName = $name;
  27650. _this._async_environment$_lastVariableIndex = index;
  27651. t1 = J.$index$asx(_this._async_environment$_variables[index], $name);
  27652. return t1 == null ? _this._async_environment$_getVariableFromGlobalModule$1($name) : t1;
  27653. }
  27654. index = _this._async_environment$_variableIndex$1($name);
  27655. if (index == null)
  27656. return _this._async_environment$_getVariableFromGlobalModule$1($name);
  27657. _this._async_environment$_lastVariableName = $name;
  27658. _this._async_environment$_lastVariableIndex = index;
  27659. t1.$indexSet(0, $name, index);
  27660. t1 = J.$index$asx(_this._async_environment$_variables[index], $name);
  27661. return t1 == null ? _this._async_environment$_getVariableFromGlobalModule$1($name) : t1;
  27662. },
  27663. getVariable$1: function($name) {
  27664. return this.getVariable$2$namespace($name, null);
  27665. },
  27666. _async_environment$_getVariableFromGlobalModule$1: function($name) {
  27667. return this._async_environment$_fromOneModule$2("variable", new Q.AsyncEnvironment__getVariableFromGlobalModule_closure($name));
  27668. },
  27669. getVariableNode$2$namespace: function($name, namespace) {
  27670. var t1, index, _this = this;
  27671. if (namespace != null)
  27672. return _this._async_environment$_getModule$1(namespace).get$variableNodes().$index(0, $name);
  27673. if (_this._async_environment$_lastVariableName === $name) {
  27674. t1 = J.$index$asx(_this._async_environment$_variableNodes[_this._async_environment$_lastVariableIndex], $name);
  27675. return t1 == null ? _this._async_environment$_getVariableNodeFromGlobalModule$1($name) : t1;
  27676. }
  27677. t1 = _this._async_environment$_variableIndices;
  27678. index = t1.$index(0, $name);
  27679. if (index != null) {
  27680. _this._async_environment$_lastVariableName = $name;
  27681. _this._async_environment$_lastVariableIndex = index;
  27682. t1 = J.$index$asx(_this._async_environment$_variableNodes[index], $name);
  27683. return t1 == null ? _this._async_environment$_getVariableNodeFromGlobalModule$1($name) : t1;
  27684. }
  27685. index = _this._async_environment$_variableIndex$1($name);
  27686. if (index == null)
  27687. return _this._async_environment$_getVariableNodeFromGlobalModule$1($name);
  27688. _this._async_environment$_lastVariableName = $name;
  27689. _this._async_environment$_lastVariableIndex = index;
  27690. t1.$indexSet(0, $name, index);
  27691. t1 = J.$index$asx(_this._async_environment$_variableNodes[index], $name);
  27692. return t1 == null ? _this._async_environment$_getVariableNodeFromGlobalModule$1($name) : t1;
  27693. },
  27694. _async_environment$_getVariableNodeFromGlobalModule$1: function($name) {
  27695. var t1, value;
  27696. this._async_environment$_lastVariableName = $name;
  27697. this._async_environment$_lastVariableIndex = 0;
  27698. t1 = this._async_environment$_globalModules;
  27699. if (t1 == null)
  27700. return;
  27701. for (t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications); t1.moveNext$0();) {
  27702. value = t1._collection$_current.get$variableNodes().$index(0, $name);
  27703. if (value != null)
  27704. return value;
  27705. }
  27706. return;
  27707. },
  27708. globalVariableExists$2$namespace: function($name, namespace) {
  27709. if (namespace != null)
  27710. return this._async_environment$_getModule$1(namespace).get$variables().containsKey$1($name);
  27711. if (C.JSArray_methods.get$first(this._async_environment$_variables).containsKey$1($name))
  27712. return true;
  27713. return this._async_environment$_getVariableFromGlobalModule$1($name) != null;
  27714. },
  27715. globalVariableExists$1: function($name) {
  27716. return this.globalVariableExists$2$namespace($name, null);
  27717. },
  27718. _async_environment$_variableIndex$1: function($name) {
  27719. var t1, i;
  27720. for (t1 = this._async_environment$_variables, i = t1.length - 1; i >= 0; --i)
  27721. if (t1[i].containsKey$1($name))
  27722. return i;
  27723. return;
  27724. },
  27725. setVariable$5$global$namespace: function($name, value, nodeWithSpan, global, namespace) {
  27726. var t1, moduleWithName, index, _this = this;
  27727. if (namespace != null) {
  27728. _this._async_environment$_getModule$1(namespace).setVariable$3($name, value, nodeWithSpan);
  27729. return;
  27730. }
  27731. if (global || _this._async_environment$_variables.length === 1) {
  27732. _this._async_environment$_variableIndices.putIfAbsent$2($name, new Q.AsyncEnvironment_setVariable_closure(_this, $name));
  27733. t1 = _this._async_environment$_variables;
  27734. if (!C.JSArray_methods.get$first(t1).containsKey$1($name) && _this._async_environment$_globalModules != null) {
  27735. moduleWithName = _this._async_environment$_fromOneModule$2("variable", new Q.AsyncEnvironment_setVariable_closure0($name));
  27736. if (moduleWithName != null) {
  27737. moduleWithName.setVariable$3($name, value, nodeWithSpan);
  27738. return;
  27739. }
  27740. }
  27741. J.$indexSet$ax(C.JSArray_methods.get$first(t1), $name, value);
  27742. t1 = _this._async_environment$_variableNodes;
  27743. if (t1 != null)
  27744. J.$indexSet$ax(C.JSArray_methods.get$first(t1), $name, nodeWithSpan);
  27745. return;
  27746. }
  27747. index = _this._async_environment$_lastVariableName === $name ? _this._async_environment$_lastVariableIndex : _this._async_environment$_variableIndices.putIfAbsent$2($name, new Q.AsyncEnvironment_setVariable_closure1(_this, $name));
  27748. if (!_this._async_environment$_inSemiGlobalScope && index === 0) {
  27749. index = _this._async_environment$_variables.length - 1;
  27750. _this._async_environment$_variableIndices.$indexSet(0, $name, index);
  27751. }
  27752. _this._async_environment$_lastVariableName = $name;
  27753. _this._async_environment$_lastVariableIndex = index;
  27754. J.$indexSet$ax(_this._async_environment$_variables[index], $name, value);
  27755. t1 = _this._async_environment$_variableNodes;
  27756. if (t1 != null)
  27757. J.$indexSet$ax(t1[index], $name, nodeWithSpan);
  27758. },
  27759. setLocalVariable$3: function($name, value, nodeWithSpan) {
  27760. var index, _this = this,
  27761. t1 = _this._async_environment$_variables,
  27762. t2 = t1.length;
  27763. _this._async_environment$_lastVariableName = $name;
  27764. index = _this._async_environment$_lastVariableIndex = t2 - 1;
  27765. _this._async_environment$_variableIndices.$indexSet(0, $name, index);
  27766. J.$indexSet$ax(t1[index], $name, value);
  27767. t1 = _this._async_environment$_variableNodes;
  27768. if (t1 != null)
  27769. J.$indexSet$ax(t1[index], $name, nodeWithSpan);
  27770. },
  27771. getFunction$2$namespace: function($name, namespace) {
  27772. var t1, index, _this = this;
  27773. if (namespace != null) {
  27774. t1 = _this._async_environment$_getModule$1(namespace);
  27775. return t1.get$functions(t1).$index(0, $name);
  27776. }
  27777. t1 = _this._async_environment$_functionIndices;
  27778. index = t1.$index(0, $name);
  27779. if (index != null) {
  27780. t1 = J.$index$asx(_this._async_environment$_functions[index], $name);
  27781. return t1 == null ? _this._async_environment$_getFunctionFromGlobalModule$1($name) : t1;
  27782. }
  27783. index = _this._async_environment$_functionIndex$1($name);
  27784. if (index == null)
  27785. return _this._async_environment$_getFunctionFromGlobalModule$1($name);
  27786. t1.$indexSet(0, $name, index);
  27787. t1 = J.$index$asx(_this._async_environment$_functions[index], $name);
  27788. return t1 == null ? _this._async_environment$_getFunctionFromGlobalModule$1($name) : t1;
  27789. },
  27790. _async_environment$_getFunctionFromGlobalModule$1: function($name) {
  27791. return this._async_environment$_fromOneModule$2("function", new Q.AsyncEnvironment__getFunctionFromGlobalModule_closure($name));
  27792. },
  27793. _async_environment$_functionIndex$1: function($name) {
  27794. var t1, i;
  27795. for (t1 = this._async_environment$_functions, i = t1.length - 1; i >= 0; --i)
  27796. if (t1[i].containsKey$1($name))
  27797. return i;
  27798. return;
  27799. },
  27800. getMixin$2$namespace: function($name, namespace) {
  27801. var t1, index, _this = this;
  27802. if (namespace != null)
  27803. return _this._async_environment$_getModule$1(namespace).get$mixins().$index(0, $name);
  27804. t1 = _this._async_environment$_mixinIndices;
  27805. index = t1.$index(0, $name);
  27806. if (index != null) {
  27807. t1 = J.$index$asx(_this._async_environment$_mixins[index], $name);
  27808. return t1 == null ? _this._async_environment$_getMixinFromGlobalModule$1($name) : t1;
  27809. }
  27810. index = _this._async_environment$_mixinIndex$1($name);
  27811. if (index == null)
  27812. return _this._async_environment$_getMixinFromGlobalModule$1($name);
  27813. t1.$indexSet(0, $name, index);
  27814. t1 = J.$index$asx(_this._async_environment$_mixins[index], $name);
  27815. return t1 == null ? _this._async_environment$_getMixinFromGlobalModule$1($name) : t1;
  27816. },
  27817. _async_environment$_getMixinFromGlobalModule$1: function($name) {
  27818. return this._async_environment$_fromOneModule$2("mixin", new Q.AsyncEnvironment__getMixinFromGlobalModule_closure($name));
  27819. },
  27820. _async_environment$_mixinIndex$1: function($name) {
  27821. var t1, i;
  27822. for (t1 = this._async_environment$_mixins, i = t1.length - 1; i >= 0; --i)
  27823. if (t1[i].containsKey$1($name))
  27824. return i;
  27825. return;
  27826. },
  27827. withContent$2: function($content, callback) {
  27828. return this.withContent$body$AsyncEnvironment($content, callback);
  27829. },
  27830. withContent$body$AsyncEnvironment: function($content, callback) {
  27831. var $async$goto = 0,
  27832. $async$completer = P._makeAsyncAwaitCompleter(-1),
  27833. $async$self = this, oldContent;
  27834. var $async$withContent$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  27835. if ($async$errorCode === 1)
  27836. return P._asyncRethrow($async$result, $async$completer);
  27837. while (true)
  27838. switch ($async$goto) {
  27839. case 0:
  27840. // Function start
  27841. oldContent = $async$self._async_environment$_content;
  27842. $async$self._async_environment$_content = $content;
  27843. $async$goto = 2;
  27844. return P._asyncAwait(callback.call$0(), $async$withContent$2);
  27845. case 2:
  27846. // returning from await.
  27847. $async$self._async_environment$_content = oldContent;
  27848. // implicit return
  27849. return P._asyncReturn(null, $async$completer);
  27850. }
  27851. });
  27852. return P._asyncStartSync($async$withContent$2, $async$completer);
  27853. },
  27854. asMixin$1: function(callback) {
  27855. var $async$goto = 0,
  27856. $async$completer = P._makeAsyncAwaitCompleter(-1),
  27857. $async$self = this, oldInMixin;
  27858. var $async$asMixin$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  27859. if ($async$errorCode === 1)
  27860. return P._asyncRethrow($async$result, $async$completer);
  27861. while (true)
  27862. switch ($async$goto) {
  27863. case 0:
  27864. // Function start
  27865. oldInMixin = $async$self._async_environment$_inMixin;
  27866. $async$self._async_environment$_inMixin = true;
  27867. $async$goto = 2;
  27868. return P._asyncAwait(callback.call$0(), $async$asMixin$1);
  27869. case 2:
  27870. // returning from await.
  27871. $async$self._async_environment$_inMixin = oldInMixin;
  27872. // implicit return
  27873. return P._asyncReturn(null, $async$completer);
  27874. }
  27875. });
  27876. return P._asyncStartSync($async$asMixin$1, $async$completer);
  27877. },
  27878. scope$1$3$semiGlobal$when: function(callback, semiGlobal, when, $T) {
  27879. return this.scope$body$AsyncEnvironment(callback, semiGlobal, when, $T, $T);
  27880. },
  27881. scope$1$2$when: function(callback, when, $T) {
  27882. return this.scope$1$3$semiGlobal$when(callback, false, when, $T);
  27883. },
  27884. scope$1$1: function(callback, $T) {
  27885. return this.scope$1$3$semiGlobal$when(callback, false, true, $T);
  27886. },
  27887. scope$1$2$semiGlobal: function(callback, semiGlobal, $T) {
  27888. return this.scope$1$3$semiGlobal$when(callback, semiGlobal, true, $T);
  27889. },
  27890. scope$body$AsyncEnvironment: function(callback, semiGlobal, when, $T, $async$type) {
  27891. var $async$goto = 0,
  27892. $async$completer = P._makeAsyncAwaitCompleter($async$type),
  27893. $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, wasInSemiGlobalScope, wasInSemiGlobalScope0, $name, name0, name1, t1, t2, t3, t4, t5;
  27894. var $async$scope$1$3$semiGlobal$when = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  27895. if ($async$errorCode === 1) {
  27896. $async$currentError = $async$result;
  27897. $async$goto = $async$handler;
  27898. }
  27899. while (true)
  27900. switch ($async$goto) {
  27901. case 0:
  27902. // Function start
  27903. $async$goto = !when ? 3 : 4;
  27904. break;
  27905. case 3:
  27906. // then
  27907. wasInSemiGlobalScope = $async$self._async_environment$_inSemiGlobalScope;
  27908. $async$self._async_environment$_inSemiGlobalScope = semiGlobal;
  27909. $async$handler = 5;
  27910. $async$goto = 8;
  27911. return P._asyncAwait(callback.call$0(), $async$scope$1$3$semiGlobal$when);
  27912. case 8:
  27913. // returning from await.
  27914. t1 = $async$result;
  27915. $async$returnValue = t1;
  27916. $async$next = [1];
  27917. // goto finally
  27918. $async$goto = 6;
  27919. break;
  27920. $async$next.push(7);
  27921. // goto finally
  27922. $async$goto = 6;
  27923. break;
  27924. case 5:
  27925. // uncaught
  27926. $async$next = [2];
  27927. case 6:
  27928. // finally
  27929. $async$handler = 2;
  27930. $async$self._async_environment$_inSemiGlobalScope = wasInSemiGlobalScope;
  27931. // goto the next finally handler
  27932. $async$goto = $async$next.pop();
  27933. break;
  27934. case 7:
  27935. // after finally
  27936. case 4:
  27937. // join
  27938. semiGlobal = semiGlobal && $async$self._async_environment$_inSemiGlobalScope;
  27939. wasInSemiGlobalScope0 = $async$self._async_environment$_inSemiGlobalScope;
  27940. $async$self._async_environment$_inSemiGlobalScope = semiGlobal;
  27941. t1 = $async$self._async_environment$_variables;
  27942. t2 = P.String;
  27943. C.JSArray_methods.add$1(t1, P.LinkedHashMap_LinkedHashMap$_empty(t2, F.Value));
  27944. t3 = $async$self._async_environment$_variableNodes;
  27945. if (t3 != null)
  27946. C.JSArray_methods.add$1(t3, P.LinkedHashMap_LinkedHashMap$_empty(t2, B.AstNode));
  27947. t3 = $async$self._async_environment$_functions;
  27948. t4 = B.AsyncCallable;
  27949. C.JSArray_methods.add$1(t3, P.LinkedHashMap_LinkedHashMap$_empty(t2, t4));
  27950. t5 = $async$self._async_environment$_mixins;
  27951. C.JSArray_methods.add$1(t5, P.LinkedHashMap_LinkedHashMap$_empty(t2, t4));
  27952. $async$handler = 9;
  27953. $async$goto = 12;
  27954. return P._asyncAwait(callback.call$0(), $async$scope$1$3$semiGlobal$when);
  27955. case 12:
  27956. // returning from await.
  27957. t2 = $async$result;
  27958. $async$returnValue = t2;
  27959. $async$next = [1];
  27960. // goto finally
  27961. $async$goto = 10;
  27962. break;
  27963. $async$next.push(11);
  27964. // goto finally
  27965. $async$goto = 10;
  27966. break;
  27967. case 9:
  27968. // uncaught
  27969. $async$next = [2];
  27970. case 10:
  27971. // finally
  27972. $async$handler = 2;
  27973. $async$self._async_environment$_inSemiGlobalScope = wasInSemiGlobalScope0;
  27974. $async$self._async_environment$_lastVariableIndex = $async$self._async_environment$_lastVariableName = null;
  27975. for (t1 = J.get$iterator$ax(C.JSArray_methods.removeLast$0(t1).get$keys()), t2 = $async$self._async_environment$_variableIndices; t1.moveNext$0();) {
  27976. $name = t1.get$current(t1);
  27977. t2.remove$1(0, $name);
  27978. }
  27979. for (t1 = J.get$iterator$ax(C.JSArray_methods.removeLast$0(t3).get$keys()), t2 = $async$self._async_environment$_functionIndices; t1.moveNext$0();) {
  27980. name0 = t1.get$current(t1);
  27981. t2.remove$1(0, name0);
  27982. }
  27983. for (t1 = J.get$iterator$ax(C.JSArray_methods.removeLast$0(t5).get$keys()), t2 = $async$self._async_environment$_mixinIndices; t1.moveNext$0();) {
  27984. name1 = t1.get$current(t1);
  27985. t2.remove$1(0, name1);
  27986. }
  27987. // goto the next finally handler
  27988. $async$goto = $async$next.pop();
  27989. break;
  27990. case 11:
  27991. // after finally
  27992. case 1:
  27993. // return
  27994. return P._asyncReturn($async$returnValue, $async$completer);
  27995. case 2:
  27996. // rethrow
  27997. return P._asyncRethrow($async$currentError, $async$completer);
  27998. }
  27999. });
  28000. return P._asyncStartSync($async$scope$1$3$semiGlobal$when, $async$completer);
  28001. },
  28002. _async_environment$_getModule$1: function(namespace) {
  28003. var module = this._async_environment$_modules.$index(0, namespace);
  28004. if (module != null)
  28005. return module;
  28006. throw H.wrapException(E.SassScriptException$('There is no module with the namespace "' + namespace + '".'));
  28007. },
  28008. _async_environment$_fromOneModule$1$2: function(type, callback) {
  28009. var value, valueInModule,
  28010. t1 = this._async_environment$_globalModules;
  28011. if (t1 == null)
  28012. return;
  28013. for (t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications), value = null; t1.moveNext$0(); value = valueInModule) {
  28014. valueInModule = callback.call$1(t1._collection$_current);
  28015. if (valueInModule != null && value != null)
  28016. throw H.wrapException(E.SassScriptException$("This " + type + " is available from multiple global modules."));
  28017. }
  28018. return value;
  28019. },
  28020. _async_environment$_fromOneModule$2: function(type, callback) {
  28021. return this._async_environment$_fromOneModule$1$2(type, callback, null);
  28022. }
  28023. };
  28024. Q.AsyncEnvironment__getVariableFromGlobalModule_closure.prototype = {
  28025. call$1: function(module) {
  28026. return module.get$variables().$index(0, this.name);
  28027. }
  28028. };
  28029. Q.AsyncEnvironment_setVariable_closure.prototype = {
  28030. call$0: function() {
  28031. var t1 = this.$this;
  28032. t1._async_environment$_lastVariableName = this.name;
  28033. return t1._async_environment$_lastVariableIndex = 0;
  28034. }
  28035. };
  28036. Q.AsyncEnvironment_setVariable_closure0.prototype = {
  28037. call$1: function(module) {
  28038. return module.get$variables().containsKey$1(this.name) ? module : null;
  28039. }
  28040. };
  28041. Q.AsyncEnvironment_setVariable_closure1.prototype = {
  28042. call$0: function() {
  28043. var t1 = this.$this,
  28044. t2 = t1._async_environment$_variableIndex$1(this.name);
  28045. return t2 == null ? t1._async_environment$_variables.length - 1 : t2;
  28046. }
  28047. };
  28048. Q.AsyncEnvironment__getFunctionFromGlobalModule_closure.prototype = {
  28049. call$1: function(module) {
  28050. return module.get$functions(module).$index(0, this.name);
  28051. }
  28052. };
  28053. Q.AsyncEnvironment__getMixinFromGlobalModule_closure.prototype = {
  28054. call$1: function(module) {
  28055. return module.get$mixins().$index(0, this.name);
  28056. }
  28057. };
  28058. Q._EnvironmentModule0.prototype = {
  28059. get$url: function() {
  28060. return this.css.get$span().file.url;
  28061. },
  28062. setVariable$3: function($name, value, nodeWithSpan) {
  28063. var t1, t2,
  28064. module = this._async_environment$_modulesByVariable.$index(0, $name);
  28065. if (module != null) {
  28066. module.setVariable$3($name, value, nodeWithSpan);
  28067. return;
  28068. }
  28069. t1 = this._async_environment$_environment;
  28070. t2 = t1._async_environment$_variables;
  28071. if (!C.JSArray_methods.get$first(t2).containsKey$1($name))
  28072. throw H.wrapException(E.SassScriptException$("Undefined variable."));
  28073. J.$indexSet$ax(C.JSArray_methods.get$first(t2), $name, value);
  28074. t1 = t1._async_environment$_variableNodes;
  28075. if (t1 != null)
  28076. J.$indexSet$ax(C.JSArray_methods.get$first(t1), $name, nodeWithSpan);
  28077. return;
  28078. },
  28079. cloneCss$0: function() {
  28080. var newCssAndExtender, _this = this,
  28081. t1 = _this.css;
  28082. if (J.get$isEmpty$asx(t1.get$children()))
  28083. return _this;
  28084. newCssAndExtender = V.cloneCssStylesheet(t1, _this.extender);
  28085. return Q._EnvironmentModule$_0(_this._async_environment$_environment, newCssAndExtender.item1, newCssAndExtender.item2, _this._async_environment$_modulesByVariable, _this.variables, _this.variableNodes, _this.functions, _this.mixins, _this.transitivelyContainsCss, _this.transitivelyContainsExtensions);
  28086. },
  28087. toString$0: function(_) {
  28088. var t1 = this.css.get$span();
  28089. return $.$get$context().prettyUri$1(t1.file.url);
  28090. },
  28091. $isModule: 1,
  28092. $asModule: function() {
  28093. return [B.AsyncCallable];
  28094. },
  28095. get$upstream: function() {
  28096. return this.upstream;
  28097. },
  28098. get$variables: function() {
  28099. return this.variables;
  28100. },
  28101. get$variableNodes: function() {
  28102. return this.variableNodes;
  28103. },
  28104. get$functions: function(receiver) {
  28105. return this.functions;
  28106. },
  28107. get$mixins: function() {
  28108. return this.mixins;
  28109. },
  28110. get$extender: function() {
  28111. return this.extender;
  28112. },
  28113. get$css: function(receiver) {
  28114. return this.css;
  28115. },
  28116. get$transitivelyContainsCss: function() {
  28117. return this.transitivelyContainsCss;
  28118. },
  28119. get$transitivelyContainsExtensions: function() {
  28120. return this.transitivelyContainsExtensions;
  28121. }
  28122. };
  28123. Q._EnvironmentModule__EnvironmentModule_closure5.prototype = {
  28124. call$1: function(module) {
  28125. return module.get$variables();
  28126. }
  28127. };
  28128. Q._EnvironmentModule__EnvironmentModule_closure6.prototype = {
  28129. call$1: function(module) {
  28130. return module.get$variableNodes();
  28131. }
  28132. };
  28133. Q._EnvironmentModule__EnvironmentModule_closure7.prototype = {
  28134. call$1: function(module) {
  28135. return module.get$functions(module);
  28136. }
  28137. };
  28138. Q._EnvironmentModule__EnvironmentModule_closure8.prototype = {
  28139. call$1: function(module) {
  28140. return module.get$mixins();
  28141. }
  28142. };
  28143. Q._EnvironmentModule__EnvironmentModule_closure9.prototype = {
  28144. call$1: function(module) {
  28145. return module.get$transitivelyContainsCss();
  28146. }
  28147. };
  28148. Q._EnvironmentModule__EnvironmentModule_closure10.prototype = {
  28149. call$1: function(module) {
  28150. return module.get$transitivelyContainsExtensions();
  28151. }
  28152. };
  28153. O.AsyncImportCache.prototype = {
  28154. canonicalize$3: function(url, baseImporter, baseUrl) {
  28155. return this.canonicalize$body$AsyncImportCache(url, baseImporter, baseUrl);
  28156. },
  28157. canonicalize$body$AsyncImportCache: function(url, baseImporter, baseUrl) {
  28158. var $async$goto = 0,
  28159. $async$completer = P._makeAsyncAwaitCompleter([S.Tuple3, B.AsyncImporter, P.Uri, P.Uri]),
  28160. $async$returnValue, $async$self = this, resolvedUrl, canonicalUrl, t1;
  28161. var $async$canonicalize$3 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  28162. if ($async$errorCode === 1)
  28163. return P._asyncRethrow($async$result, $async$completer);
  28164. while (true)
  28165. switch ($async$goto) {
  28166. case 0:
  28167. // Function start
  28168. $async$goto = baseImporter != null ? 3 : 4;
  28169. break;
  28170. case 3:
  28171. // then
  28172. resolvedUrl = baseUrl != null ? baseUrl.resolveUri$1(url) : url;
  28173. $async$goto = 5;
  28174. return P._asyncAwait($async$self._async_import_cache$_canonicalize$2(baseImporter, resolvedUrl), $async$canonicalize$3);
  28175. case 5:
  28176. // returning from await.
  28177. canonicalUrl = $async$result;
  28178. if (canonicalUrl != null) {
  28179. t1 = P.Uri;
  28180. $async$returnValue = new S.Tuple3(baseImporter, canonicalUrl, resolvedUrl, [B.AsyncImporter, t1, t1]);
  28181. // goto return
  28182. $async$goto = 1;
  28183. break;
  28184. }
  28185. case 4:
  28186. // join
  28187. $async$goto = 6;
  28188. return P._asyncAwait(B.putIfAbsentAsync($async$self._async_import_cache$_canonicalizeCache, url, new O.AsyncImportCache_canonicalize_closure($async$self, url), P.Uri, [S.Tuple3, B.AsyncImporter, P.Uri, P.Uri]), $async$canonicalize$3);
  28189. case 6:
  28190. // returning from await.
  28191. $async$returnValue = $async$result;
  28192. // goto return
  28193. $async$goto = 1;
  28194. break;
  28195. case 1:
  28196. // return
  28197. return P._asyncReturn($async$returnValue, $async$completer);
  28198. }
  28199. });
  28200. return P._asyncStartSync($async$canonicalize$3, $async$completer);
  28201. },
  28202. _async_import_cache$_canonicalize$2: function(importer, url) {
  28203. return this._canonicalize$body$AsyncImportCache(importer, url);
  28204. },
  28205. _canonicalize$body$AsyncImportCache: function(importer, url) {
  28206. var $async$goto = 0,
  28207. $async$completer = P._makeAsyncAwaitCompleter(P.Uri),
  28208. $async$returnValue, $async$self = this, result;
  28209. var $async$_async_import_cache$_canonicalize$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  28210. if ($async$errorCode === 1)
  28211. return P._asyncRethrow($async$result, $async$completer);
  28212. while (true)
  28213. switch ($async$goto) {
  28214. case 0:
  28215. // Function start
  28216. $async$goto = 3;
  28217. return P._asyncAwait(importer.canonicalize$1(url), $async$_async_import_cache$_canonicalize$2);
  28218. case 3:
  28219. // returning from await.
  28220. result = $async$result;
  28221. if ((result == null ? null : result.get$scheme()) === "")
  28222. $async$self._async_import_cache$_logger.warn$2$deprecation("Importer " + importer.toString$0(0) + " canonicalized " + H.S(url) + " to " + H.S(result) + ".\nRelative canonical URLs are deprecated and will eventually be disallowed.\n", true);
  28223. $async$returnValue = result;
  28224. // goto return
  28225. $async$goto = 1;
  28226. break;
  28227. case 1:
  28228. // return
  28229. return P._asyncReturn($async$returnValue, $async$completer);
  28230. }
  28231. });
  28232. return P._asyncStartSync($async$_async_import_cache$_canonicalize$2, $async$completer);
  28233. },
  28234. import$3: function(url, baseImporter, baseUrl) {
  28235. return this.import$body$AsyncImportCache(url, baseImporter, baseUrl);
  28236. },
  28237. import$body$AsyncImportCache: function(url, baseImporter, baseUrl) {
  28238. var $async$goto = 0,
  28239. $async$completer = P._makeAsyncAwaitCompleter([S.Tuple2, B.AsyncImporter, V.Stylesheet]),
  28240. $async$returnValue, $async$self = this, t1, tuple, $async$temp1, $async$temp2;
  28241. var $async$import$3 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  28242. if ($async$errorCode === 1)
  28243. return P._asyncRethrow($async$result, $async$completer);
  28244. while (true)
  28245. switch ($async$goto) {
  28246. case 0:
  28247. // Function start
  28248. $async$goto = 3;
  28249. return P._asyncAwait($async$self.canonicalize$3(url, baseImporter, baseUrl), $async$import$3);
  28250. case 3:
  28251. // returning from await.
  28252. tuple = $async$result;
  28253. if (tuple == null) {
  28254. // goto return
  28255. $async$goto = 1;
  28256. break;
  28257. }
  28258. t1 = tuple.item1;
  28259. $async$temp1 = S;
  28260. $async$temp2 = t1;
  28261. $async$goto = 4;
  28262. return P._asyncAwait($async$self.importCanonical$3(t1, tuple.item2, tuple.item3), $async$import$3);
  28263. case 4:
  28264. // returning from await.
  28265. $async$returnValue = new $async$temp1.Tuple2($async$temp2, $async$result, [B.AsyncImporter, V.Stylesheet]);
  28266. // goto return
  28267. $async$goto = 1;
  28268. break;
  28269. case 1:
  28270. // return
  28271. return P._asyncReturn($async$returnValue, $async$completer);
  28272. }
  28273. });
  28274. return P._asyncStartSync($async$import$3, $async$completer);
  28275. },
  28276. importCanonical$3: function(importer, canonicalUrl, originalUrl) {
  28277. return this.importCanonical$body$AsyncImportCache(importer, canonicalUrl, originalUrl);
  28278. },
  28279. importCanonical$body$AsyncImportCache: function(importer, canonicalUrl, originalUrl) {
  28280. var $async$goto = 0,
  28281. $async$completer = P._makeAsyncAwaitCompleter(V.Stylesheet),
  28282. $async$returnValue, $async$self = this;
  28283. var $async$importCanonical$3 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  28284. if ($async$errorCode === 1)
  28285. return P._asyncRethrow($async$result, $async$completer);
  28286. while (true)
  28287. switch ($async$goto) {
  28288. case 0:
  28289. // Function start
  28290. $async$goto = 3;
  28291. return P._asyncAwait(B.putIfAbsentAsync($async$self._async_import_cache$_importCache, canonicalUrl, new O.AsyncImportCache_importCanonical_closure($async$self, importer, canonicalUrl, originalUrl), P.Uri, V.Stylesheet), $async$importCanonical$3);
  28292. case 3:
  28293. // returning from await.
  28294. $async$returnValue = $async$result;
  28295. // goto return
  28296. $async$goto = 1;
  28297. break;
  28298. case 1:
  28299. // return
  28300. return P._asyncReturn($async$returnValue, $async$completer);
  28301. }
  28302. });
  28303. return P._asyncStartSync($async$importCanonical$3, $async$completer);
  28304. },
  28305. humanize$1: function(canonicalUrl) {
  28306. var t1 = this._async_import_cache$_canonicalizeCache.get$values(),
  28307. t2 = H.getRuntimeTypeArgument(t1, "Iterable", 0),
  28308. t3 = P.Uri,
  28309. url = Y.minBy(new H.MappedIterable(new H.WhereIterable(t1, new O.AsyncImportCache_humanize_closure(canonicalUrl), [t2]), new O.AsyncImportCache_humanize_closure0(), [t2, t3]), new O.AsyncImportCache_humanize_closure1(), t3, null);
  28310. if (url == null)
  28311. return canonicalUrl;
  28312. t1 = $.$get$url();
  28313. return url.resolve$1(X.ParsedPath_ParsedPath$parse(canonicalUrl.get$path(canonicalUrl), t1.style).get$basename());
  28314. }
  28315. };
  28316. O.AsyncImportCache_canonicalize_closure.prototype = {
  28317. call$0: function() {
  28318. var $async$goto = 0,
  28319. $async$completer = P._makeAsyncAwaitCompleter([S.Tuple3, B.AsyncImporter, P.Uri, P.Uri]),
  28320. $async$returnValue, $async$self = this, t1, t2, t3, t4, _i, importer, canonicalUrl;
  28321. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  28322. if ($async$errorCode === 1)
  28323. return P._asyncRethrow($async$result, $async$completer);
  28324. while (true)
  28325. switch ($async$goto) {
  28326. case 0:
  28327. // Function start
  28328. t1 = $async$self.$this, t2 = t1._async_import_cache$_importers, t3 = t2.length, t4 = $async$self.url, _i = 0;
  28329. case 3:
  28330. // for condition
  28331. if (!(_i < t2.length)) {
  28332. // goto after for
  28333. $async$goto = 5;
  28334. break;
  28335. }
  28336. importer = t2[_i];
  28337. $async$goto = 6;
  28338. return P._asyncAwait(t1._async_import_cache$_canonicalize$2(importer, t4), $async$call$0);
  28339. case 6:
  28340. // returning from await.
  28341. canonicalUrl = $async$result;
  28342. if (canonicalUrl != null) {
  28343. t1 = P.Uri;
  28344. $async$returnValue = new S.Tuple3(importer, canonicalUrl, t4, [B.AsyncImporter, t1, t1]);
  28345. // goto return
  28346. $async$goto = 1;
  28347. break;
  28348. }
  28349. case 4:
  28350. // for update
  28351. t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i;
  28352. // goto for condition
  28353. $async$goto = 3;
  28354. break;
  28355. case 5:
  28356. // after for
  28357. // goto return
  28358. $async$goto = 1;
  28359. break;
  28360. case 1:
  28361. // return
  28362. return P._asyncReturn($async$returnValue, $async$completer);
  28363. }
  28364. });
  28365. return P._asyncStartSync($async$call$0, $async$completer);
  28366. }
  28367. };
  28368. O.AsyncImportCache_importCanonical_closure.prototype = {
  28369. call$0: function() {
  28370. var $async$goto = 0,
  28371. $async$completer = P._makeAsyncAwaitCompleter(V.Stylesheet),
  28372. $async$returnValue, $async$self = this, t2, t3, t4, t5, t1, result;
  28373. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  28374. if ($async$errorCode === 1)
  28375. return P._asyncRethrow($async$result, $async$completer);
  28376. while (true)
  28377. switch ($async$goto) {
  28378. case 0:
  28379. // Function start
  28380. t1 = $async$self.canonicalUrl;
  28381. $async$goto = 3;
  28382. return P._asyncAwait($async$self.importer.load$1(t1), $async$call$0);
  28383. case 3:
  28384. // returning from await.
  28385. result = $async$result;
  28386. if (result == null) {
  28387. // goto return
  28388. $async$goto = 1;
  28389. break;
  28390. }
  28391. t2 = $async$self.$this;
  28392. t2._async_import_cache$_resultsCache.$indexSet(0, t1, result);
  28393. t3 = result.contents;
  28394. t4 = result.syntax;
  28395. t5 = $async$self.originalUrl;
  28396. t1 = t5 == null ? t1 : t5.resolveUri$1(t1);
  28397. $async$returnValue = V.Stylesheet_Stylesheet$parse(t3, t4, t2._async_import_cache$_logger, t1);
  28398. // goto return
  28399. $async$goto = 1;
  28400. break;
  28401. case 1:
  28402. // return
  28403. return P._asyncReturn($async$returnValue, $async$completer);
  28404. }
  28405. });
  28406. return P._asyncStartSync($async$call$0, $async$completer);
  28407. }
  28408. };
  28409. O.AsyncImportCache_humanize_closure.prototype = {
  28410. call$1: function(tuple) {
  28411. var t1 = tuple == null ? null : tuple.item2;
  28412. return J.$eq$(t1, this.canonicalUrl);
  28413. }
  28414. };
  28415. O.AsyncImportCache_humanize_closure0.prototype = {
  28416. call$1: function(tuple) {
  28417. return tuple.item3;
  28418. }
  28419. };
  28420. O.AsyncImportCache_humanize_closure1.prototype = {
  28421. call$1: function(url) {
  28422. return J.get$length$asx(J.get$path$x(url));
  28423. },
  28424. $signature: 10
  28425. };
  28426. D.Callable.prototype = {};
  28427. B.AsyncCallable.prototype = {};
  28428. S.AsyncBuiltInCallable.prototype = {
  28429. callbackFor$2: function(positional, names) {
  28430. var t1 = this._async_built_in$_overloads;
  28431. return H.SubListIterable$(t1, 0, t1.length - 1, H.getTypeArgumentByIndex(t1, 0)).firstWhere$2$orElse(0, new S.AsyncBuiltInCallable_callbackFor_closure(positional, names), new S.AsyncBuiltInCallable_callbackFor_closure0(this));
  28432. },
  28433. $isAsyncCallable: 1,
  28434. get$name: function() {
  28435. return this.name;
  28436. }
  28437. };
  28438. S.AsyncBuiltInCallable_callbackFor_closure.prototype = {
  28439. call$1: function(overload) {
  28440. return overload.item1.matches$2(this.positional, this.names);
  28441. }
  28442. };
  28443. S.AsyncBuiltInCallable_callbackFor_closure0.prototype = {
  28444. call$0: function() {
  28445. return C.JSArray_methods.get$last(this.$this._async_built_in$_overloads);
  28446. }
  28447. };
  28448. Q.BuiltInCallable.prototype = {
  28449. callbackFor$2: function(positional, names) {
  28450. var t1 = this._overloads;
  28451. return H.SubListIterable$(t1, 0, t1.length - 1, H.getTypeArgumentByIndex(t1, 0)).firstWhere$2$orElse(0, new Q.BuiltInCallable_callbackFor_closure(positional, names), new Q.BuiltInCallable_callbackFor_closure0(this));
  28452. },
  28453. withName$1: function($name) {
  28454. return new Q.BuiltInCallable($name, this._overloads);
  28455. },
  28456. $isCallable: 1,
  28457. $isAsyncCallable: 1,
  28458. $isAsyncBuiltInCallable: 1,
  28459. get$name: function() {
  28460. return this.name;
  28461. }
  28462. };
  28463. Q.BuiltInCallable_callbackFor_closure.prototype = {
  28464. call$1: function(overload) {
  28465. return overload.item1.matches$2(this.positional, this.names);
  28466. }
  28467. };
  28468. Q.BuiltInCallable_callbackFor_closure0.prototype = {
  28469. call$0: function() {
  28470. return C.JSArray_methods.get$last(this.$this._overloads);
  28471. }
  28472. };
  28473. L.PlainCssCallable.prototype = {
  28474. $eq: function(_, other) {
  28475. if (other == null)
  28476. return false;
  28477. return other instanceof L.PlainCssCallable && this.name == other.name;
  28478. },
  28479. get$hashCode: function(_) {
  28480. return J.get$hashCode$(this.name);
  28481. },
  28482. $isCallable: 1,
  28483. $isAsyncCallable: 1,
  28484. get$name: function() {
  28485. return this.name;
  28486. }
  28487. };
  28488. E.UserDefinedCallable.prototype = {
  28489. get$name: function() {
  28490. return this.declaration.name;
  28491. },
  28492. $isCallable: 1,
  28493. $isAsyncCallable: 1
  28494. };
  28495. X.closure34.prototype = {
  28496. call$2: function(_, color) {
  28497. return color;
  28498. }
  28499. };
  28500. X.closure35.prototype = {
  28501. call$2: function($name, _) {
  28502. return $name;
  28503. }
  28504. };
  28505. U._compileStylesheet_closure.prototype = {
  28506. call$1: function(url) {
  28507. var t1, t2, _null = null;
  28508. if (url === "")
  28509. t1 = J.toString$0$(P.Uri_Uri$dataFromString(P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(this.stylesheet.span.file._decodedChars, 0, _null), 0, _null), C.C_Utf8Codec, _null));
  28510. else {
  28511. t1 = P.Uri_parse(url);
  28512. t2 = this.importCache._resultsCache.$index(0, t1);
  28513. t2 = t2 == null ? _null : t2.get$sourceMapUrl();
  28514. t1 = J.toString$0$(t2 == null ? t1 : t2);
  28515. }
  28516. return t1;
  28517. }
  28518. };
  28519. O.Environment.prototype = {
  28520. closure$0: function() {
  28521. var t4, t5, t6, _this = this,
  28522. t1 = _this._globalModules,
  28523. t2 = _this._forwardedModules,
  28524. t3 = _this._variables;
  28525. t3 = H.setRuntimeTypeInfo(t3.slice(0), [H.getTypeArgumentByIndex(t3, 0)]);
  28526. t4 = _this._variableNodes;
  28527. if (t4 == null)
  28528. t4 = null;
  28529. else
  28530. t4 = H.setRuntimeTypeInfo(t4.slice(0), [H.getTypeArgumentByIndex(t4, 0)]);
  28531. t5 = _this._functions;
  28532. t5 = H.setRuntimeTypeInfo(t5.slice(0), [H.getTypeArgumentByIndex(t5, 0)]);
  28533. t6 = _this._mixins;
  28534. t6 = H.setRuntimeTypeInfo(t6.slice(0), [H.getTypeArgumentByIndex(t6, 0)]);
  28535. return O.Environment$_(_this._environment$_modules, t1, t2, _this._allModules, t3, t4, t5, t6, _this._content);
  28536. },
  28537. global$0: function() {
  28538. var t4, t5, t6, _this = this,
  28539. t1 = [G.Module, D.Callable],
  28540. t2 = H.setRuntimeTypeInfo([], [t1]),
  28541. t3 = _this._variables;
  28542. t3 = H.setRuntimeTypeInfo(t3.slice(0), [H.getTypeArgumentByIndex(t3, 0)]);
  28543. t4 = _this._variableNodes;
  28544. if (t4 == null)
  28545. t4 = null;
  28546. else
  28547. t4 = H.setRuntimeTypeInfo(t4.slice(0), [H.getTypeArgumentByIndex(t4, 0)]);
  28548. t5 = _this._functions;
  28549. t5 = H.setRuntimeTypeInfo(t5.slice(0), [H.getTypeArgumentByIndex(t5, 0)]);
  28550. t6 = _this._mixins;
  28551. t6 = H.setRuntimeTypeInfo(t6.slice(0), [H.getTypeArgumentByIndex(t6, 0)]);
  28552. return O.Environment$_(P.LinkedHashMap_LinkedHashMap$_empty(P.String, t1), null, null, t2, t3, t4, t5, t6, _this._content);
  28553. },
  28554. addModule$2$namespace: function(module, namespace) {
  28555. var t1, t2, _this = this;
  28556. if (namespace == null) {
  28557. t1 = _this._globalModules;
  28558. (t1 == null ? _this._globalModules = P.LinkedHashSet_LinkedHashSet([G.Module, D.Callable]) : t1).add$1(0, module);
  28559. _this._allModules.push(module);
  28560. for (t1 = J.get$iterator$ax(C.JSArray_methods.get$first(_this._variables).get$keys()); t1.moveNext$0();) {
  28561. t2 = t1.get$current(t1);
  28562. if (module.get$variables().containsKey$1(t2))
  28563. throw H.wrapException(E.SassScriptException$('This module and the new module both define a variable named "$' + H.S(t2) + '".'));
  28564. }
  28565. } else {
  28566. t1 = _this._environment$_modules;
  28567. if (t1.containsKey$1(namespace))
  28568. throw H.wrapException(E.SassScriptException$("There's already a module with namespace \"" + namespace + '".'));
  28569. t1.$indexSet(0, namespace, module);
  28570. _this._allModules.push(module);
  28571. }
  28572. },
  28573. forwardModule$2: function(module, rule) {
  28574. var view, t1, t2, t3, t4, t5, _i, other, _this = this;
  28575. if (_this._forwardedModules == null)
  28576. _this._forwardedModules = H.setRuntimeTypeInfo([], [[G.Module, D.Callable]]);
  28577. view = R.ForwardedModuleView$(module, rule, D.Callable);
  28578. for (t1 = _this._forwardedModules, t2 = t1.length, t3 = view.variables, t4 = view.functions, t5 = view.mixins, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
  28579. other = t1[_i];
  28580. _this._assertNoConflicts$4(t3, other.variables, "variable", other);
  28581. _this._assertNoConflicts$4(t4, other.functions, "function", other);
  28582. _this._assertNoConflicts$4(t5, other.mixins, "mixin", other);
  28583. }
  28584. _this._allModules.push(module);
  28585. _this._forwardedModules.push(view);
  28586. },
  28587. _assertNoConflicts$4: function(newMembers, oldMembers, type, oldModule) {
  28588. var larger, smaller, t1, $name;
  28589. if (newMembers.get$length(newMembers) < oldMembers.get$length(oldMembers)) {
  28590. larger = oldMembers;
  28591. smaller = newMembers;
  28592. } else {
  28593. larger = newMembers;
  28594. smaller = oldMembers;
  28595. }
  28596. for (t1 = J.get$iterator$ax(smaller.get$keys()); t1.moveNext$0();) {
  28597. $name = t1.get$current(t1);
  28598. if (larger.containsKey$1($name)) {
  28599. if (type === "variable")
  28600. $name = "$" + H.S($name);
  28601. throw H.wrapException(E.SassScriptException$("Module " + H.S(D.prettyUri(oldModule.get$url())) + " and the new module both forward a " + type + " named " + H.S($name) + "."));
  28602. }
  28603. }
  28604. },
  28605. importForwards$1: function(module) {
  28606. var t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, _i, forwarded, t12, t13, index, _this = this,
  28607. t1 = module._environment._forwardedModules;
  28608. if (t1 == null)
  28609. t1 = C.List_empty2;
  28610. t2 = t1.length;
  28611. t3 = _this._mixinIndices;
  28612. t4 = _this._mixins;
  28613. t5 = _this._functionIndices;
  28614. t6 = _this._functions;
  28615. t7 = _this._variableIndices;
  28616. t8 = _this._variableNodes;
  28617. t9 = t8 != null;
  28618. t10 = _this._variables;
  28619. t11 = [G.Module, D.Callable];
  28620. _i = 0;
  28621. for (; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
  28622. forwarded = t1[_i];
  28623. t12 = _this._globalModules;
  28624. (t12 == null ? _this._globalModules = P.LinkedHashSet_LinkedHashSet$_empty(t11) : t12).add$1(0, forwarded);
  28625. for (t12 = J.get$iterator$ax(forwarded.variables.get$keys()); t12.moveNext$0();) {
  28626. t13 = t12.get$current(t12);
  28627. index = t7.remove$1(0, t13);
  28628. if (index == null)
  28629. index = _this._variableIndex$1(t13);
  28630. if (index != null) {
  28631. J.remove$1$ax(t10[index], t13);
  28632. if (t9)
  28633. J.remove$1$ax(t8[index], t13);
  28634. }
  28635. }
  28636. for (t12 = J.get$iterator$ax(forwarded.functions.get$keys()); t12.moveNext$0();) {
  28637. t13 = t12.get$current(t12);
  28638. index = t5.remove$1(0, t13);
  28639. if (index == null)
  28640. index = _this._functionIndex$1(t13);
  28641. if (index != null)
  28642. J.remove$1$ax(t6[index], t13);
  28643. }
  28644. for (t12 = J.get$iterator$ax(forwarded.mixins.get$keys()); t12.moveNext$0();) {
  28645. t13 = t12.get$current(t12);
  28646. index = t3.remove$1(0, t13);
  28647. if (index == null)
  28648. index = _this._mixinIndex$1(t13);
  28649. if (index != null)
  28650. J.remove$1$ax(t4[index], t13);
  28651. }
  28652. }
  28653. },
  28654. getVariable$2$namespace: function($name, namespace) {
  28655. var t1, index, _this = this;
  28656. if (namespace != null)
  28657. return _this._getModule$1(namespace).get$variables().$index(0, $name);
  28658. if (_this._lastVariableName === $name) {
  28659. t1 = J.$index$asx(_this._variables[_this._lastVariableIndex], $name);
  28660. return t1 == null ? _this._getVariableFromGlobalModule$1($name) : t1;
  28661. }
  28662. t1 = _this._variableIndices;
  28663. index = t1.$index(0, $name);
  28664. if (index != null) {
  28665. _this._lastVariableName = $name;
  28666. _this._lastVariableIndex = index;
  28667. t1 = J.$index$asx(_this._variables[index], $name);
  28668. return t1 == null ? _this._getVariableFromGlobalModule$1($name) : t1;
  28669. }
  28670. index = _this._variableIndex$1($name);
  28671. if (index == null)
  28672. return _this._getVariableFromGlobalModule$1($name);
  28673. _this._lastVariableName = $name;
  28674. _this._lastVariableIndex = index;
  28675. t1.$indexSet(0, $name, index);
  28676. t1 = J.$index$asx(_this._variables[index], $name);
  28677. return t1 == null ? _this._getVariableFromGlobalModule$1($name) : t1;
  28678. },
  28679. getVariable$1: function($name) {
  28680. return this.getVariable$2$namespace($name, null);
  28681. },
  28682. _getVariableFromGlobalModule$1: function($name) {
  28683. return this._fromOneModule$2("variable", new O.Environment__getVariableFromGlobalModule_closure($name));
  28684. },
  28685. getVariableNode$2$namespace: function($name, namespace) {
  28686. var t1, index, _this = this;
  28687. if (namespace != null)
  28688. return _this._getModule$1(namespace).get$variableNodes().$index(0, $name);
  28689. if (_this._lastVariableName === $name) {
  28690. t1 = J.$index$asx(_this._variableNodes[_this._lastVariableIndex], $name);
  28691. return t1 == null ? _this._getVariableNodeFromGlobalModule$1($name) : t1;
  28692. }
  28693. t1 = _this._variableIndices;
  28694. index = t1.$index(0, $name);
  28695. if (index != null) {
  28696. _this._lastVariableName = $name;
  28697. _this._lastVariableIndex = index;
  28698. t1 = J.$index$asx(_this._variableNodes[index], $name);
  28699. return t1 == null ? _this._getVariableNodeFromGlobalModule$1($name) : t1;
  28700. }
  28701. index = _this._variableIndex$1($name);
  28702. if (index == null)
  28703. return _this._getVariableNodeFromGlobalModule$1($name);
  28704. _this._lastVariableName = $name;
  28705. _this._lastVariableIndex = index;
  28706. t1.$indexSet(0, $name, index);
  28707. t1 = J.$index$asx(_this._variableNodes[index], $name);
  28708. return t1 == null ? _this._getVariableNodeFromGlobalModule$1($name) : t1;
  28709. },
  28710. _getVariableNodeFromGlobalModule$1: function($name) {
  28711. var t1, value;
  28712. this._lastVariableName = $name;
  28713. this._lastVariableIndex = 0;
  28714. t1 = this._globalModules;
  28715. if (t1 == null)
  28716. return;
  28717. for (t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications); t1.moveNext$0();) {
  28718. value = t1._collection$_current.get$variableNodes().$index(0, $name);
  28719. if (value != null)
  28720. return value;
  28721. }
  28722. return;
  28723. },
  28724. globalVariableExists$2$namespace: function($name, namespace) {
  28725. if (namespace != null)
  28726. return this._getModule$1(namespace).get$variables().containsKey$1($name);
  28727. if (C.JSArray_methods.get$first(this._variables).containsKey$1($name))
  28728. return true;
  28729. return this._getVariableFromGlobalModule$1($name) != null;
  28730. },
  28731. globalVariableExists$1: function($name) {
  28732. return this.globalVariableExists$2$namespace($name, null);
  28733. },
  28734. _variableIndex$1: function($name) {
  28735. var t1, i;
  28736. for (t1 = this._variables, i = t1.length - 1; i >= 0; --i)
  28737. if (t1[i].containsKey$1($name))
  28738. return i;
  28739. return;
  28740. },
  28741. setVariable$5$global$namespace: function($name, value, nodeWithSpan, global, namespace) {
  28742. var t1, moduleWithName, index, _this = this;
  28743. if (namespace != null) {
  28744. _this._getModule$1(namespace).setVariable$3($name, value, nodeWithSpan);
  28745. return;
  28746. }
  28747. if (global || _this._variables.length === 1) {
  28748. _this._variableIndices.putIfAbsent$2($name, new O.Environment_setVariable_closure(_this, $name));
  28749. t1 = _this._variables;
  28750. if (!C.JSArray_methods.get$first(t1).containsKey$1($name) && _this._globalModules != null) {
  28751. moduleWithName = _this._fromOneModule$2("variable", new O.Environment_setVariable_closure0($name));
  28752. if (moduleWithName != null) {
  28753. moduleWithName.setVariable$3($name, value, nodeWithSpan);
  28754. return;
  28755. }
  28756. }
  28757. J.$indexSet$ax(C.JSArray_methods.get$first(t1), $name, value);
  28758. t1 = _this._variableNodes;
  28759. if (t1 != null)
  28760. J.$indexSet$ax(C.JSArray_methods.get$first(t1), $name, nodeWithSpan);
  28761. return;
  28762. }
  28763. index = _this._lastVariableName == $name ? _this._lastVariableIndex : _this._variableIndices.putIfAbsent$2($name, new O.Environment_setVariable_closure1(_this, $name));
  28764. if (!_this._inSemiGlobalScope && index === 0) {
  28765. index = _this._variables.length - 1;
  28766. _this._variableIndices.$indexSet(0, $name, index);
  28767. }
  28768. _this._lastVariableName = $name;
  28769. _this._lastVariableIndex = index;
  28770. J.$indexSet$ax(_this._variables[index], $name, value);
  28771. t1 = _this._variableNodes;
  28772. if (t1 != null)
  28773. J.$indexSet$ax(t1[index], $name, nodeWithSpan);
  28774. },
  28775. setVariable$4$global: function($name, value, nodeWithSpan, global) {
  28776. return this.setVariable$5$global$namespace($name, value, nodeWithSpan, global, null);
  28777. },
  28778. setLocalVariable$3: function($name, value, nodeWithSpan) {
  28779. var index, _this = this,
  28780. t1 = _this._variables,
  28781. t2 = t1.length;
  28782. _this._lastVariableName = $name;
  28783. index = _this._lastVariableIndex = t2 - 1;
  28784. _this._variableIndices.$indexSet(0, $name, index);
  28785. J.$indexSet$ax(t1[index], $name, value);
  28786. t1 = _this._variableNodes;
  28787. if (t1 != null)
  28788. J.$indexSet$ax(t1[index], $name, nodeWithSpan);
  28789. },
  28790. getFunction$2$namespace: function($name, namespace) {
  28791. var t1, index, _this = this;
  28792. if (namespace != null) {
  28793. t1 = _this._getModule$1(namespace);
  28794. return t1.get$functions(t1).$index(0, $name);
  28795. }
  28796. t1 = _this._functionIndices;
  28797. index = t1.$index(0, $name);
  28798. if (index != null) {
  28799. t1 = J.$index$asx(_this._functions[index], $name);
  28800. return t1 == null ? _this._getFunctionFromGlobalModule$1($name) : t1;
  28801. }
  28802. index = _this._functionIndex$1($name);
  28803. if (index == null)
  28804. return _this._getFunctionFromGlobalModule$1($name);
  28805. t1.$indexSet(0, $name, index);
  28806. t1 = J.$index$asx(_this._functions[index], $name);
  28807. return t1 == null ? _this._getFunctionFromGlobalModule$1($name) : t1;
  28808. },
  28809. _getFunctionFromGlobalModule$1: function($name) {
  28810. return this._fromOneModule$2("function", new O.Environment__getFunctionFromGlobalModule_closure($name));
  28811. },
  28812. _functionIndex$1: function($name) {
  28813. var t1, i;
  28814. for (t1 = this._functions, i = t1.length - 1; i >= 0; --i)
  28815. if (t1[i].containsKey$1($name))
  28816. return i;
  28817. return;
  28818. },
  28819. getMixin$2$namespace: function($name, namespace) {
  28820. var t1, index, _this = this;
  28821. if (namespace != null)
  28822. return _this._getModule$1(namespace).get$mixins().$index(0, $name);
  28823. t1 = _this._mixinIndices;
  28824. index = t1.$index(0, $name);
  28825. if (index != null) {
  28826. t1 = J.$index$asx(_this._mixins[index], $name);
  28827. return t1 == null ? _this._getMixinFromGlobalModule$1($name) : t1;
  28828. }
  28829. index = _this._mixinIndex$1($name);
  28830. if (index == null)
  28831. return _this._getMixinFromGlobalModule$1($name);
  28832. t1.$indexSet(0, $name, index);
  28833. t1 = J.$index$asx(_this._mixins[index], $name);
  28834. return t1 == null ? _this._getMixinFromGlobalModule$1($name) : t1;
  28835. },
  28836. _getMixinFromGlobalModule$1: function($name) {
  28837. return this._fromOneModule$2("mixin", new O.Environment__getMixinFromGlobalModule_closure($name));
  28838. },
  28839. _mixinIndex$1: function($name) {
  28840. var t1, i;
  28841. for (t1 = this._mixins, i = t1.length - 1; i >= 0; --i)
  28842. if (t1[i].containsKey$1($name))
  28843. return i;
  28844. return;
  28845. },
  28846. scope$1$3$semiGlobal$when: function(callback, semiGlobal, when) {
  28847. var wasInSemiGlobalScope, wasInSemiGlobalScope0, $name, name0, name1, t1, t2, t3, t4, t5, _this = this;
  28848. if (!when) {
  28849. wasInSemiGlobalScope = _this._inSemiGlobalScope;
  28850. _this._inSemiGlobalScope = semiGlobal;
  28851. try {
  28852. t1 = callback.call$0();
  28853. return t1;
  28854. } finally {
  28855. _this._inSemiGlobalScope = wasInSemiGlobalScope;
  28856. }
  28857. }
  28858. semiGlobal = semiGlobal && _this._inSemiGlobalScope;
  28859. wasInSemiGlobalScope0 = _this._inSemiGlobalScope;
  28860. _this._inSemiGlobalScope = semiGlobal;
  28861. t1 = _this._variables;
  28862. t2 = P.String;
  28863. C.JSArray_methods.add$1(t1, P.LinkedHashMap_LinkedHashMap$_empty(t2, F.Value));
  28864. t3 = _this._variableNodes;
  28865. if (t3 != null)
  28866. C.JSArray_methods.add$1(t3, P.LinkedHashMap_LinkedHashMap$_empty(t2, B.AstNode));
  28867. t3 = _this._functions;
  28868. t4 = D.Callable;
  28869. C.JSArray_methods.add$1(t3, P.LinkedHashMap_LinkedHashMap$_empty(t2, t4));
  28870. t5 = _this._mixins;
  28871. C.JSArray_methods.add$1(t5, P.LinkedHashMap_LinkedHashMap$_empty(t2, t4));
  28872. try {
  28873. t2 = callback.call$0();
  28874. return t2;
  28875. } finally {
  28876. _this._inSemiGlobalScope = wasInSemiGlobalScope0;
  28877. _this._lastVariableIndex = _this._lastVariableName = null;
  28878. for (t1 = J.get$iterator$ax(C.JSArray_methods.removeLast$0(t1).get$keys()), t2 = _this._variableIndices; t1.moveNext$0();) {
  28879. $name = t1.get$current(t1);
  28880. t2.remove$1(0, $name);
  28881. }
  28882. for (t1 = J.get$iterator$ax(C.JSArray_methods.removeLast$0(t3).get$keys()), t2 = _this._functionIndices; t1.moveNext$0();) {
  28883. name0 = t1.get$current(t1);
  28884. t2.remove$1(0, name0);
  28885. }
  28886. for (t1 = J.get$iterator$ax(C.JSArray_methods.removeLast$0(t5).get$keys()), t2 = _this._mixinIndices; t1.moveNext$0();) {
  28887. name1 = t1.get$current(t1);
  28888. t2.remove$1(0, name1);
  28889. }
  28890. }
  28891. },
  28892. scope$1$2$when: function(callback, when, $T) {
  28893. return this.scope$1$3$semiGlobal$when(callback, false, when, $T);
  28894. },
  28895. scope$1$1: function(callback, $T) {
  28896. return this.scope$1$3$semiGlobal$when(callback, false, true, $T);
  28897. },
  28898. scope$1$2$semiGlobal: function(callback, semiGlobal, $T) {
  28899. return this.scope$1$3$semiGlobal$when(callback, semiGlobal, true, $T);
  28900. },
  28901. _getModule$1: function(namespace) {
  28902. var module = this._environment$_modules.$index(0, namespace);
  28903. if (module != null)
  28904. return module;
  28905. throw H.wrapException(E.SassScriptException$('There is no module with the namespace "' + namespace + '".'));
  28906. },
  28907. _fromOneModule$1$2: function(type, callback) {
  28908. var value, valueInModule,
  28909. t1 = this._globalModules;
  28910. if (t1 == null)
  28911. return;
  28912. for (t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications), value = null; t1.moveNext$0(); value = valueInModule) {
  28913. valueInModule = callback.call$1(t1._collection$_current);
  28914. if (valueInModule != null && value != null)
  28915. throw H.wrapException(E.SassScriptException$("This " + type + " is available from multiple global modules."));
  28916. }
  28917. return value;
  28918. },
  28919. _fromOneModule$2: function(type, callback) {
  28920. return this._fromOneModule$1$2(type, callback, null);
  28921. }
  28922. };
  28923. O.Environment__getVariableFromGlobalModule_closure.prototype = {
  28924. call$1: function(module) {
  28925. return module.get$variables().$index(0, this.name);
  28926. }
  28927. };
  28928. O.Environment_setVariable_closure.prototype = {
  28929. call$0: function() {
  28930. var t1 = this.$this;
  28931. t1._lastVariableName = this.name;
  28932. return t1._lastVariableIndex = 0;
  28933. }
  28934. };
  28935. O.Environment_setVariable_closure0.prototype = {
  28936. call$1: function(module) {
  28937. return module.get$variables().containsKey$1(this.name) ? module : null;
  28938. }
  28939. };
  28940. O.Environment_setVariable_closure1.prototype = {
  28941. call$0: function() {
  28942. var t1 = this.$this,
  28943. t2 = t1._variableIndex$1(this.name);
  28944. return t2 == null ? t1._variables.length - 1 : t2;
  28945. }
  28946. };
  28947. O.Environment__getFunctionFromGlobalModule_closure.prototype = {
  28948. call$1: function(module) {
  28949. return module.get$functions(module).$index(0, this.name);
  28950. }
  28951. };
  28952. O.Environment__getMixinFromGlobalModule_closure.prototype = {
  28953. call$1: function(module) {
  28954. return module.get$mixins().$index(0, this.name);
  28955. }
  28956. };
  28957. O._EnvironmentModule.prototype = {
  28958. get$url: function() {
  28959. return this.css.get$span().file.url;
  28960. },
  28961. setVariable$3: function($name, value, nodeWithSpan) {
  28962. var t1, t2,
  28963. module = this._modulesByVariable.$index(0, $name);
  28964. if (module != null) {
  28965. module.setVariable$3($name, value, nodeWithSpan);
  28966. return;
  28967. }
  28968. t1 = this._environment;
  28969. t2 = t1._variables;
  28970. if (!C.JSArray_methods.get$first(t2).containsKey$1($name))
  28971. throw H.wrapException(E.SassScriptException$("Undefined variable."));
  28972. J.$indexSet$ax(C.JSArray_methods.get$first(t2), $name, value);
  28973. t1 = t1._variableNodes;
  28974. if (t1 != null)
  28975. J.$indexSet$ax(C.JSArray_methods.get$first(t1), $name, nodeWithSpan);
  28976. return;
  28977. },
  28978. cloneCss$0: function() {
  28979. var newCssAndExtender, _this = this,
  28980. t1 = _this.css;
  28981. if (J.get$isEmpty$asx(t1.get$children()))
  28982. return _this;
  28983. newCssAndExtender = V.cloneCssStylesheet(t1, _this.extender);
  28984. return O._EnvironmentModule$_(_this._environment, newCssAndExtender.item1, newCssAndExtender.item2, _this._modulesByVariable, _this.variables, _this.variableNodes, _this.functions, _this.mixins, _this.transitivelyContainsCss, _this.transitivelyContainsExtensions);
  28985. },
  28986. toString$0: function(_) {
  28987. var t1 = this.css.get$span();
  28988. return $.$get$context().prettyUri$1(t1.file.url);
  28989. },
  28990. $isModule: 1,
  28991. $asModule: function() {
  28992. return [D.Callable];
  28993. },
  28994. get$upstream: function() {
  28995. return this.upstream;
  28996. },
  28997. get$variables: function() {
  28998. return this.variables;
  28999. },
  29000. get$variableNodes: function() {
  29001. return this.variableNodes;
  29002. },
  29003. get$functions: function(receiver) {
  29004. return this.functions;
  29005. },
  29006. get$mixins: function() {
  29007. return this.mixins;
  29008. },
  29009. get$extender: function() {
  29010. return this.extender;
  29011. },
  29012. get$css: function(receiver) {
  29013. return this.css;
  29014. },
  29015. get$transitivelyContainsCss: function() {
  29016. return this.transitivelyContainsCss;
  29017. },
  29018. get$transitivelyContainsExtensions: function() {
  29019. return this.transitivelyContainsExtensions;
  29020. }
  29021. };
  29022. O._EnvironmentModule__EnvironmentModule_closure.prototype = {
  29023. call$1: function(module) {
  29024. return module.get$variables();
  29025. }
  29026. };
  29027. O._EnvironmentModule__EnvironmentModule_closure0.prototype = {
  29028. call$1: function(module) {
  29029. return module.get$variableNodes();
  29030. }
  29031. };
  29032. O._EnvironmentModule__EnvironmentModule_closure1.prototype = {
  29033. call$1: function(module) {
  29034. return module.get$functions(module);
  29035. }
  29036. };
  29037. O._EnvironmentModule__EnvironmentModule_closure2.prototype = {
  29038. call$1: function(module) {
  29039. return module.get$mixins();
  29040. }
  29041. };
  29042. O._EnvironmentModule__EnvironmentModule_closure3.prototype = {
  29043. call$1: function(module) {
  29044. return module.get$transitivelyContainsCss();
  29045. }
  29046. };
  29047. O._EnvironmentModule__EnvironmentModule_closure4.prototype = {
  29048. call$1: function(module) {
  29049. return module.get$transitivelyContainsExtensions();
  29050. }
  29051. };
  29052. E.SassException.prototype = {
  29053. get$trace: function() {
  29054. var t1 = A.Frame;
  29055. return new Y.Trace(P.List_List$unmodifiable(H.setRuntimeTypeInfo([B.frameForSpan(G.SourceSpanException.prototype.get$span.call(this), "root stylesheet", null)], [t1]), t1), new P._StringStackTrace(null));
  29056. },
  29057. get$span: function() {
  29058. return G.SourceSpanException.prototype.get$span.call(this);
  29059. },
  29060. toString$1$color: function(_, color) {
  29061. var t2, _i, frame, t3,
  29062. buffer = new P.StringBuffer(""),
  29063. t1 = "Error: " + H.S(this._span_exception$_message) + "\n";
  29064. buffer._contents = t1;
  29065. buffer._contents = t1 + G.SourceSpanException.prototype.get$span.call(this).highlight$1$color(color);
  29066. for (t1 = this.get$trace().toString$0(0).split("\n"), t2 = t1.length, _i = 0; _i < t2; ++_i) {
  29067. frame = t1[_i];
  29068. if (J.get$length$asx(frame) === 0)
  29069. continue;
  29070. t3 = buffer._contents += "\n";
  29071. buffer._contents = t3 + (" " + H.S(frame));
  29072. }
  29073. t1 = buffer._contents;
  29074. return t1.charCodeAt(0) == 0 ? t1 : t1;
  29075. },
  29076. toString$0: function($receiver) {
  29077. return this.toString$1$color($receiver, null);
  29078. },
  29079. toCssString$0: function() {
  29080. var stringMessage, rune,
  29081. t1 = $._glyphs,
  29082. t2 = $._glyphs = C.C_AsciiGlyphSet,
  29083. t3 = this.toString$1$color(0, false),
  29084. commentMessage = H.stringReplaceAllUnchecked(t3, "*/", "*\u2215");
  29085. $._glyphs = t1 === C.C_AsciiGlyphSet ? t2 : C.C_UnicodeGlyphSet;
  29086. stringMessage = new P.StringBuffer("");
  29087. for (t1 = new P.RuneIterator(N.serializeValue(new D.SassString(this.toString$1$color(0, false), true), true, true)); t1.moveNext$0();) {
  29088. rune = t1._currentCodePoint;
  29089. if (rune > 255) {
  29090. stringMessage._contents += H.Primitives_stringFromCharCode(92);
  29091. stringMessage._contents += C.JSInt_methods.toRadixString$1(rune, 16);
  29092. t2 = stringMessage._contents += H.Primitives_stringFromCharCode(32);
  29093. } else
  29094. t2 = stringMessage._contents += H.Primitives_stringFromCharCode(rune);
  29095. }
  29096. return "/* " + C.JSArray_methods.join$1(H.setRuntimeTypeInfo(commentMessage.split("\n"), [P.String]), "\n * ") + ' */\n\nbody::before {\n font-family: "Source Code Pro", "SF Mono", Monaco, Inconsolata, "Fira Mono",\n "Droid Sans Mono", monospace, monospace;\n white-space: pre;\n display: block;\n padding: 1em;\n margin-bottom: 1em;\n border-bottom: 2px solid black;\n content: ' + stringMessage.toString$0(0) + ";\n}";
  29097. }
  29098. };
  29099. E.SassRuntimeException.prototype = {
  29100. get$trace: function() {
  29101. return this.trace;
  29102. }
  29103. };
  29104. E.SassFormatException.prototype = {
  29105. get$source: function() {
  29106. return P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(G.SourceSpanException.prototype.get$span.call(this).file._decodedChars, 0, null), 0, null);
  29107. }
  29108. };
  29109. E.SassScriptException.prototype = {
  29110. toString$0: function(_) {
  29111. return this.message + "\n\nBUG: This should include a source span!";
  29112. },
  29113. get$message: function(receiver) {
  29114. return this.message;
  29115. }
  29116. };
  29117. F.main_printError.prototype = {
  29118. call$2: function(error, stackTrace) {
  29119. var t1 = this._box_0;
  29120. if (t1.printedError)
  29121. $.$get$stderr().writeln$0();
  29122. t1.printedError = true;
  29123. t1 = $.$get$stderr();
  29124. t1.writeln$1(error);
  29125. if (stackTrace != null) {
  29126. t1.writeln$0();
  29127. t1.writeln$1(C.JSString_methods.trimRight$0(Y.Trace_Trace$from(stackTrace).get$terse().toString$0(0)));
  29128. }
  29129. }
  29130. };
  29131. F.main_closure0.prototype = {
  29132. call$0: function() {
  29133. var t1, exception;
  29134. try {
  29135. t1 = this.destination;
  29136. if (t1 != null && !this._box_0.options.get$emitErrorCss())
  29137. B.deleteFile(t1);
  29138. } catch (exception) {
  29139. if (!(H.unwrapException(exception) instanceof B.FileSystemException))
  29140. throw exception;
  29141. }
  29142. }
  29143. };
  29144. D._writeSourceMap_closure.prototype = {
  29145. call$1: function(url) {
  29146. return J.toString$0$(this.options.sourceMapUrl$2(P.Uri_parse(url), this.destination));
  29147. }
  29148. };
  29149. B.ExecutableOptions.prototype = {
  29150. get$interactive: function() {
  29151. var t2, invalidOptions, _i, option,
  29152. t1 = this._interactive;
  29153. if (t1 != null)
  29154. return t1;
  29155. t1 = this._options;
  29156. t2 = H.boolTypeCast(t1.$index(0, "interactive"));
  29157. this._interactive = t2;
  29158. if (!t2)
  29159. return false;
  29160. invalidOptions = ["stdin", "indented", "load-path", "style", "source-map", "source-map-urls", "embed-sources", "embed-source-map", "update", "watch"];
  29161. for (t2 = t1._parser.options._collection$_map, _i = 0; _i < 10; ++_i) {
  29162. option = invalidOptions[_i];
  29163. if (t2.$index(0, option) == null)
  29164. H.throwExpression(P.ArgumentError$('Could not find an option named "' + option + '".'));
  29165. if (t1._parsed.containsKey$1(option))
  29166. throw H.wrapException(B.UsageException$("--" + option + " isn't allowed with --interactive."));
  29167. }
  29168. return true;
  29169. },
  29170. get$color: function() {
  29171. var t1 = this._options;
  29172. if (t1.wasParsed$1("color"))
  29173. t1 = H.boolTypeCast(t1.$index(0, "color"));
  29174. else {
  29175. t1 = self.process.stdout.isTTY;
  29176. if (t1 == null)
  29177. t1 = false;
  29178. }
  29179. return t1;
  29180. },
  29181. get$emitErrorCss: function() {
  29182. var t1 = H.boolTypeCast(this._options.$index(0, "error-css"));
  29183. if (t1 == null) {
  29184. this._ensureSources$0();
  29185. t1 = this._sourcesToDestinations.get$values().any$1(0, new B.ExecutableOptions_emitErrorCss_closure());
  29186. }
  29187. return t1;
  29188. },
  29189. _ensureSources$0: function() {
  29190. var t1, stdin, t2, t3, $directories, t4, colonArgs, positionalArgs, t5, t6, t7, message, target, source, destination, seen, i, t8, t9, _this = this, _null = null,
  29191. _s18_ = 'Duplicate source "';
  29192. if (_this._sourcesToDestinations != null)
  29193. return;
  29194. t1 = _this._options;
  29195. stdin = H.boolTypeCast(t1.$index(0, "stdin"));
  29196. t2 = t1.rest;
  29197. if (t2.get$length(t2) === 0 && !stdin)
  29198. B.ExecutableOptions__fail("Compile Sass to CSS.");
  29199. t3 = P.String;
  29200. $directories = P.LinkedHashSet_LinkedHashSet(t3);
  29201. for (t4 = new H.ListIterator(t2, t2.get$length(t2)), colonArgs = false, positionalArgs = false; t4.moveNext$0();) {
  29202. t5 = t4.__internal$_current;
  29203. t6 = t5.length;
  29204. if (t6 === 0)
  29205. B.ExecutableOptions__fail('Invalid argument "".');
  29206. if (H.stringContainsUnchecked(t5, ":", 0)) {
  29207. if (t6 > 2) {
  29208. t7 = J.getInterceptor$s(t5)._codeUnitAt$1(t5, 0);
  29209. if (!(t7 >= 97 && t7 <= 122))
  29210. t7 = t7 >= 65 && t7 <= 90;
  29211. else
  29212. t7 = true;
  29213. t7 = t7 && C.JSString_methods._codeUnitAt$1(t5, 1) === 58;
  29214. } else
  29215. t7 = false;
  29216. if (t7) {
  29217. if (2 > t6)
  29218. H.throwExpression(P.RangeError$range(2, 0, t6, _null, _null));
  29219. t6 = H.stringContainsUnchecked(t5, ":", 2);
  29220. } else
  29221. t6 = true;
  29222. } else
  29223. t6 = false;
  29224. if (t6)
  29225. colonArgs = true;
  29226. else if (B.dirExists(t5))
  29227. $directories.add$1(0, t5);
  29228. else
  29229. positionalArgs = true;
  29230. }
  29231. if (positionalArgs || t2.get$length(t2) === 0) {
  29232. if (colonArgs)
  29233. B.ExecutableOptions__fail('Positional and ":" arguments may not both be used.');
  29234. else if (stdin) {
  29235. if (J.get$length$asx(t2._collection$_source) > 1)
  29236. B.ExecutableOptions__fail("Only one argument is allowed with --stdin.");
  29237. else if (H.boolTypeCast(t1.$index(0, "update")))
  29238. B.ExecutableOptions__fail("--update is not allowed with --stdin.");
  29239. else if (H.boolTypeCast(t1.$index(0, "watch")))
  29240. B.ExecutableOptions__fail("--watch is not allowed with --stdin.");
  29241. _this._sourcesToDestinations = H.ConstantMap_ConstantMap$from(P.LinkedHashMap__makeLiteral([null, t2.get$length(t2) === 0 ? _null : t2.get$first(t2)]), t3, t3);
  29242. } else {
  29243. t4 = t2._collection$_source;
  29244. t5 = J.getInterceptor$asx(t4);
  29245. if (t5.get$length(t4) > 2)
  29246. B.ExecutableOptions__fail("Only two positional args may be passed.");
  29247. else if ($directories._collection$_length !== 0) {
  29248. message = 'Directory "' + H.S($directories.get$first($directories)) + '" may not be a positional arg.';
  29249. target = t2.get$last(t2);
  29250. B.ExecutableOptions__fail(J.$eq$($directories.get$first($directories), t2.get$first(t2)) && !B.fileExists(target) ? message + ('\nTo compile all CSS in "' + H.S($directories.get$first($directories)) + '" to "' + H.S(target) + '", use `sass ' + H.S($directories.get$first($directories)) + ":" + H.S(target) + "`.") : message);
  29251. } else {
  29252. source = J.$eq$(t2.get$first(t2), "-") ? _null : t2.get$first(t2);
  29253. destination = t5.get$length(t4) === 1 ? _null : t2.get$last(t2);
  29254. if (destination == null)
  29255. if (H.boolTypeCast(t1.$index(0, "update")))
  29256. B.ExecutableOptions__fail("--update is not allowed when printing to stdout.");
  29257. else if (H.boolTypeCast(t1.$index(0, "watch")))
  29258. B.ExecutableOptions__fail("--watch is not allowed when printing to stdout.");
  29259. t1 = P.LinkedHashMap_LinkedHashMap$_literal([source, destination], t3, t3);
  29260. t2 = K.PathMap__create(_null, t3);
  29261. t2.addAll$1(0, t1);
  29262. _this._sourcesToDestinations = new P.UnmodifiableMapView(new K.PathMap(t2, [t3]), [t3, t3]);
  29263. }
  29264. }
  29265. _this._sourceDirectoriesToDestinations = C.Map_empty7;
  29266. return;
  29267. }
  29268. if (stdin)
  29269. B.ExecutableOptions__fail('--stdin may not be used with ":" arguments.');
  29270. seen = P.LinkedHashSet_LinkedHashSet(t3);
  29271. t1 = K.PathMap__create(_null, t3);
  29272. t4 = [t3];
  29273. t5 = K.PathMap__create(_null, t3);
  29274. for (t2 = new H.ListIterator(t2, t2.get$length(t2)); t2.moveNext$0();) {
  29275. t6 = t2.__internal$_current;
  29276. if ($directories.contains$1(0, t6)) {
  29277. if (!seen.add$1(0, t6))
  29278. B.ExecutableOptions__fail(_s18_ + H.S(t6) + '".');
  29279. t5.$indexSet(0, t6, t6);
  29280. t1.addAll$1(0, _this._listSourceDirectory$2(t6, t6));
  29281. continue;
  29282. }
  29283. for (t7 = t6.length, destination = _null, source = destination, i = 0; i < t7; ++i) {
  29284. if (i === 1) {
  29285. t8 = i - 1;
  29286. if (t7 > t8 + 2) {
  29287. t9 = C.JSString_methods.codeUnitAt$1(t6, t8);
  29288. if (!(t9 >= 97 && t9 <= 122))
  29289. t9 = t9 >= 65 && t9 <= 90;
  29290. else
  29291. t9 = true;
  29292. t8 = t9 && C.JSString_methods.codeUnitAt$1(t6, t8 + 1) === 58;
  29293. } else
  29294. t8 = false;
  29295. } else
  29296. t8 = false;
  29297. if (t8)
  29298. continue;
  29299. if (C.JSString_methods._codeUnitAt$1(t6, i) === 58)
  29300. if (source == null) {
  29301. source = C.JSString_methods.substring$2(t6, 0, i);
  29302. destination = C.JSString_methods.substring$1(t6, i + 1);
  29303. } else {
  29304. if (i === source.length + 2) {
  29305. t8 = i - 1;
  29306. if (t7 > t8 + 2) {
  29307. t9 = C.JSString_methods.codeUnitAt$1(t6, t8);
  29308. if (!(t9 >= 97 && t9 <= 122))
  29309. t9 = t9 >= 65 && t9 <= 90;
  29310. else
  29311. t9 = true;
  29312. t8 = t9 && C.JSString_methods.codeUnitAt$1(t6, t8 + 1) === 58;
  29313. } else
  29314. t8 = false;
  29315. t8 = !t8;
  29316. } else
  29317. t8 = true;
  29318. if (t8)
  29319. B.ExecutableOptions__fail('"' + t6 + '" may only contain one ":".');
  29320. }
  29321. }
  29322. if (!seen.add$1(0, source))
  29323. B.ExecutableOptions__fail(_s18_ + H.S(source) + '".');
  29324. if (source === "-")
  29325. t1.$indexSet(0, _null, destination);
  29326. else if (B.dirExists(source)) {
  29327. t5.$indexSet(0, source, destination);
  29328. t1.addAll$1(0, _this._listSourceDirectory$2(source, destination));
  29329. } else
  29330. t1.$indexSet(0, source, destination);
  29331. }
  29332. t2 = [t3, t3];
  29333. _this._sourcesToDestinations = new P.UnmodifiableMapView(new K.PathMap(t1, t4), t2);
  29334. _this._sourceDirectoriesToDestinations = new P.UnmodifiableMapView(new K.PathMap(t5, t4), t2);
  29335. },
  29336. _listSourceDirectory$2: function(source, destination) {
  29337. var t2, t3, t4, _null = null,
  29338. t1 = P.String;
  29339. t1 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
  29340. for (t2 = J.get$iterator$ax(B.listDir(source, true)); t2.moveNext$0();) {
  29341. t3 = t2.get$current(t2);
  29342. if (this._isEntrypoint$1(t3)) {
  29343. t4 = $.$get$context();
  29344. t1.$indexSet(0, t3, t4.join$8(0, destination, t4.withoutExtension$1(t4.relative$2$from(t3, source)) + ".css", _null, _null, _null, _null, _null, _null));
  29345. }
  29346. }
  29347. return t1;
  29348. },
  29349. _isEntrypoint$1: function(path) {
  29350. var extension,
  29351. t1 = $.$get$context().style;
  29352. if (J.startsWith$1$s(X.ParsedPath_ParsedPath$parse(path, t1).get$basename(), "_"))
  29353. return false;
  29354. extension = X.ParsedPath_ParsedPath$parse(path, t1)._splitExtension$0()[1];
  29355. return extension === ".scss" || extension === ".sass";
  29356. },
  29357. get$emitSourceMap: function() {
  29358. var t2, writeToStdout, _this = this,
  29359. _s10_ = "source-map",
  29360. _s15_ = "source-map-urls",
  29361. _s13_ = "embed-sources",
  29362. _s16_ = "embed-source-map",
  29363. t1 = _this._options;
  29364. if (!H.boolTypeCast(t1.$index(0, _s10_)))
  29365. if (t1.wasParsed$1(_s15_))
  29366. B.ExecutableOptions__fail("--source-map-urls isn't allowed with --no-source-map.");
  29367. else if (t1.wasParsed$1(_s13_))
  29368. B.ExecutableOptions__fail("--embed-sources isn't allowed with --no-source-map.");
  29369. else if (t1.wasParsed$1(_s16_))
  29370. B.ExecutableOptions__fail("--embed-source-map isn't allowed with --no-source-map.");
  29371. _this._ensureSources$0();
  29372. t2 = _this._sourcesToDestinations;
  29373. if (t2.get$length(t2) === 1) {
  29374. _this._ensureSources$0();
  29375. t2 = _this._sourcesToDestinations.get$values();
  29376. writeToStdout = t2.get$single(t2) == null;
  29377. } else
  29378. writeToStdout = false;
  29379. if (!writeToStdout)
  29380. return H.boolTypeCast(t1.$index(0, _s10_));
  29381. if (J.$eq$(_this._ifParsed$1(_s15_), "relative"))
  29382. B.ExecutableOptions__fail("--source-map-urls=relative isn't allowed when printing to stdout.");
  29383. if (H.boolTypeCast(t1.$index(0, _s16_)))
  29384. return H.boolTypeCast(t1.$index(0, _s10_));
  29385. else if (J.$eq$(_this._ifParsed$1(_s10_), true))
  29386. B.ExecutableOptions__fail("When printing to stdout, --source-map requires --embed-source-map.");
  29387. else if (t1.wasParsed$1(_s15_))
  29388. B.ExecutableOptions__fail("When printing to stdout, --source-map-urls requires --embed-source-map.");
  29389. else if (H.boolTypeCast(t1.$index(0, _s13_)))
  29390. B.ExecutableOptions__fail("When printing to stdout, --embed-sources requires --embed-source-map.");
  29391. else
  29392. return false;
  29393. },
  29394. sourceMapUrl$2: function(url, destination) {
  29395. var t1, path;
  29396. if (url.get$scheme().length !== 0 && url.get$scheme() !== "file")
  29397. return url;
  29398. t1 = $.$get$context();
  29399. path = t1.style.pathFromUri$1(M._parseUri(url));
  29400. return t1.toUri$1(J.$eq$(this._options.$index(0, "source-map-urls"), "relative") ? t1.relative$2$from(path, t1.dirname$1(destination)) : D.absolute(path));
  29401. },
  29402. _ifParsed$1: function($name) {
  29403. var t1 = this._options;
  29404. return t1.wasParsed$1($name) ? t1.$index(0, $name) : null;
  29405. }
  29406. };
  29407. B.ExecutableOptions_closure.prototype = {
  29408. call$0: function() {
  29409. var t1 = P.String,
  29410. t2 = G.Option,
  29411. t3 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t2),
  29412. t4 = N.ArgParser,
  29413. t5 = [],
  29414. parser = new N.ArgParser(t3, new P.UnmodifiableMapView(t3, [t1, t2]), new P.UnmodifiableMapView(P.LinkedHashMap_LinkedHashMap$_empty(t1, t4), [t1, t4]), t5, true, null);
  29415. parser.addOption$2$hide("precision", true);
  29416. parser.addFlag$2$hide("async", true);
  29417. t5.push(B.ExecutableOptions__separator("Input and Output"));
  29418. parser.addFlag$2$help("stdin", "Read the stylesheet from stdin.");
  29419. parser.addFlag$2$help("indented", "Use the indented syntax for input from stdin.");
  29420. parser.addMultiOption$5$abbr$help$splitCommas$valueHelp("load-path", "I", "A path to use when resolving imports.\nMay be passed multiple times.", false, "PATH");
  29421. t1 = [t1];
  29422. parser.addOption$6$abbr$allowed$defaultsTo$help$valueHelp("style", "s", H.setRuntimeTypeInfo(["expanded", "compressed"], t1), "expanded", "Output style.", "NAME");
  29423. parser.addFlag$3$defaultsTo$help("charset", true, "Emit a @charset or BOM for CSS with non-ASCII characters.");
  29424. parser.addFlag$3$defaultsTo$help("error-css", null, "When an error occurs, emit a stylesheet describing it.\nDefaults to true when compiling to a file.");
  29425. parser.addFlag$3$help$negatable("update", "Only compile out-of-date stylesheets.", false);
  29426. t5.push(B.ExecutableOptions__separator("Source Maps"));
  29427. parser.addFlag$3$defaultsTo$help("source-map", true, "Whether to generate source maps.");
  29428. parser.addOption$4$allowed$defaultsTo$help("source-map-urls", H.setRuntimeTypeInfo(["relative", "absolute"], t1), "relative", "How to link from source maps to source files.");
  29429. parser.addFlag$3$defaultsTo$help("embed-sources", false, "Embed source file contents in source maps.");
  29430. parser.addFlag$3$defaultsTo$help("embed-source-map", false, "Embed source map contents in CSS.");
  29431. t5.push(B.ExecutableOptions__separator("Other"));
  29432. parser.addFlag$3$help$negatable("watch", "Watch stylesheets and recompile when they change.", false);
  29433. parser.addFlag$2$help("poll", "Manually check for changes rather than using a native watcher.\nOnly valid with --watch.");
  29434. parser.addFlag$2$help("stop-on-error", "Don't compile more files once an error is encountered.");
  29435. parser.addFlag$4$abbr$help$negatable("interactive", "i", "Run an interactive SassScript shell.", false);
  29436. parser.addFlag$3$abbr$help("color", "c", "Whether to use terminal colors for messages.");
  29437. parser.addFlag$2$help("unicode", "Whether to use Unicode characters for messages.");
  29438. parser.addFlag$3$abbr$help("quiet", "q", "Don't print warnings.");
  29439. parser.addFlag$2$help("trace", "Print full Dart stack traces for exceptions.");
  29440. parser.addFlag$4$abbr$help$negatable("help", "h", "Print this usage information.", false);
  29441. parser.addFlag$3$help$negatable("version", "Print the version of Dart Sass.", false);
  29442. return parser;
  29443. }
  29444. };
  29445. B.ExecutableOptions_emitErrorCss_closure.prototype = {
  29446. call$1: function(destination) {
  29447. return destination != null;
  29448. }
  29449. };
  29450. B.UsageException.prototype = {$isException: 1,
  29451. get$message: function(receiver) {
  29452. return this.message;
  29453. }
  29454. };
  29455. A.watch_closure.prototype = {
  29456. call$1: function(dir) {
  29457. for (; !B.dirExists(dir);)
  29458. dir = $.$get$context().dirname$1(dir);
  29459. return this.dirWatcher.watch$1(0, dir);
  29460. }
  29461. };
  29462. A._Watcher.prototype = {
  29463. compile$3$ifModified: function(source, destination, ifModified) {
  29464. return this.compile$body$_Watcher(source, destination, ifModified);
  29465. },
  29466. compile$2: function(source, destination) {
  29467. return this.compile$3$ifModified(source, destination, false);
  29468. },
  29469. compile$body$_Watcher: function(source, destination, ifModified) {
  29470. var $async$goto = 0,
  29471. $async$completer = P._makeAsyncAwaitCompleter(P.bool),
  29472. $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, error, stackTrace, error0, stackTrace0, exception, t1, t2, $async$exception;
  29473. var $async$compile$3$ifModified = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  29474. if ($async$errorCode === 1) {
  29475. $async$currentError = $async$result;
  29476. $async$goto = $async$handler;
  29477. }
  29478. while (true)
  29479. switch ($async$goto) {
  29480. case 0:
  29481. // Function start
  29482. $async$handler = 4;
  29483. $async$goto = 7;
  29484. return P._asyncAwait(D.compileStylesheet($async$self._watch$_options, $async$self._graph, source, destination, ifModified), $async$compile$3$ifModified);
  29485. case 7:
  29486. // returning from await.
  29487. $async$returnValue = true;
  29488. // goto return
  29489. $async$goto = 1;
  29490. break;
  29491. $async$handler = 2;
  29492. // goto after finally
  29493. $async$goto = 6;
  29494. break;
  29495. case 4:
  29496. // catch
  29497. $async$handler = 3;
  29498. $async$exception = $async$currentError;
  29499. t1 = H.unwrapException($async$exception);
  29500. t2 = J.getInterceptor$(t1);
  29501. if (!!t2.$isSassException) {
  29502. error = t1;
  29503. stackTrace = H.getTraceFromException($async$exception);
  29504. t1 = $async$self._watch$_options;
  29505. if (!t1.get$emitErrorCss())
  29506. $async$self._delete$1(destination);
  29507. $async$self._printError$2(J.toString$1$color$(error, t1.get$color()), stackTrace);
  29508. self.process.exitCode = 65;
  29509. $async$returnValue = false;
  29510. // goto return
  29511. $async$goto = 1;
  29512. break;
  29513. } else if (!!t2.$isFileSystemException) {
  29514. error0 = t1;
  29515. stackTrace0 = H.getTraceFromException($async$exception);
  29516. t1 = error0.path;
  29517. $async$self._printError$2("Error reading " + H.S($.$get$context().relative$2$from(t1, null)) + ": " + error0.message + ".", stackTrace0);
  29518. self.process.exitCode = 66;
  29519. $async$returnValue = false;
  29520. // goto return
  29521. $async$goto = 1;
  29522. break;
  29523. } else
  29524. throw $async$exception;
  29525. // goto after finally
  29526. $async$goto = 6;
  29527. break;
  29528. case 3:
  29529. // uncaught
  29530. // goto rethrow
  29531. $async$goto = 2;
  29532. break;
  29533. case 6:
  29534. // after finally
  29535. case 1:
  29536. // return
  29537. return P._asyncReturn($async$returnValue, $async$completer);
  29538. case 2:
  29539. // rethrow
  29540. return P._asyncRethrow($async$currentError, $async$completer);
  29541. }
  29542. });
  29543. return P._asyncStartSync($async$compile$3$ifModified, $async$completer);
  29544. },
  29545. _delete$1: function(path) {
  29546. var buffer, t1, exception;
  29547. try {
  29548. B.deleteFile(path);
  29549. buffer = new P.StringBuffer("");
  29550. t1 = this._watch$_options;
  29551. if (t1.get$color())
  29552. buffer._contents += "\x1b[33m";
  29553. buffer._contents += "Deleted " + H.S(path) + ".";
  29554. if (t1.get$color())
  29555. buffer._contents += "\x1b[0m";
  29556. P.print(buffer);
  29557. } catch (exception) {
  29558. if (!(H.unwrapException(exception) instanceof B.FileSystemException))
  29559. throw exception;
  29560. }
  29561. },
  29562. _printError$2: function(message, stackTrace) {
  29563. var t2,
  29564. t1 = $.$get$stderr();
  29565. t1.writeln$1(message);
  29566. t2 = this._watch$_options._options;
  29567. if (H.boolTypeCast(t2.$index(0, "trace"))) {
  29568. t1.writeln$0();
  29569. t1.writeln$1(C.JSString_methods.trimRight$0(Y.Trace_Trace$from(stackTrace).get$terse().toString$0(0)));
  29570. }
  29571. if (!H.boolTypeCast(t2.$index(0, "stop-on-error")))
  29572. t1.writeln$0();
  29573. },
  29574. watch$1: function(_, watcher) {
  29575. return this.watch$body$_Watcher(_, watcher);
  29576. },
  29577. watch$body$_Watcher: function(_, watcher) {
  29578. var $async$goto = 0,
  29579. $async$completer = P._makeAsyncAwaitCompleter(-1),
  29580. $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, $event, extension, success, success0, success1, t2, t1;
  29581. var $async$watch$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  29582. if ($async$errorCode === 1) {
  29583. $async$currentError = $async$result;
  29584. $async$goto = $async$handler;
  29585. }
  29586. while (true)
  29587. switch ($async$goto) {
  29588. case 0:
  29589. // Function start
  29590. t1 = watcher._group._controller;
  29591. t1.toString;
  29592. t1 = P._StreamIterator$($async$self._debounceEvents$1(new P._ControllerStream(t1, [H.getTypeArgumentByIndex(t1, 0)])));
  29593. $async$handler = 3;
  29594. t2 = $async$self._watch$_options._options;
  29595. case 6:
  29596. // for condition
  29597. $async$goto = 8;
  29598. return P._asyncAwait(t1.moveNext$0(), $async$watch$1);
  29599. case 8:
  29600. // returning from await.
  29601. if (!$async$result) {
  29602. // goto after for
  29603. $async$goto = 7;
  29604. break;
  29605. }
  29606. $event = t1.get$current(t1);
  29607. extension = X.ParsedPath_ParsedPath$parse($event.path, $.$get$context().style)._splitExtension$0()[1];
  29608. if (!J.$eq$(extension, ".sass") && !J.$eq$(extension, ".scss")) {
  29609. // goto for condition
  29610. $async$goto = 6;
  29611. break;
  29612. }
  29613. case 9:
  29614. // switch
  29615. switch ($event.type) {
  29616. case C.ChangeType_modify:
  29617. // goto case
  29618. $async$goto = 11;
  29619. break;
  29620. case C.ChangeType_add:
  29621. // goto case
  29622. $async$goto = 12;
  29623. break;
  29624. case C.ChangeType_remove:
  29625. // goto case
  29626. $async$goto = 13;
  29627. break;
  29628. default:
  29629. // goto after switch
  29630. $async$goto = 10;
  29631. break;
  29632. }
  29633. break;
  29634. case 11:
  29635. // case
  29636. $async$goto = 14;
  29637. return P._asyncAwait($async$self._handleModify$1($event.path), $async$watch$1);
  29638. case 14:
  29639. // returning from await.
  29640. success = $async$result;
  29641. if (!success && H.boolTypeCast(t2.$index(0, "stop-on-error"))) {
  29642. $async$next = [1];
  29643. // goto finally
  29644. $async$goto = 4;
  29645. break;
  29646. }
  29647. // goto after switch
  29648. $async$goto = 10;
  29649. break;
  29650. case 12:
  29651. // case
  29652. $async$goto = 15;
  29653. return P._asyncAwait($async$self._handleAdd$1($event.path), $async$watch$1);
  29654. case 15:
  29655. // returning from await.
  29656. success0 = $async$result;
  29657. if (!success0 && H.boolTypeCast(t2.$index(0, "stop-on-error"))) {
  29658. $async$next = [1];
  29659. // goto finally
  29660. $async$goto = 4;
  29661. break;
  29662. }
  29663. // goto after switch
  29664. $async$goto = 10;
  29665. break;
  29666. case 13:
  29667. // case
  29668. $async$goto = 16;
  29669. return P._asyncAwait($async$self._handleRemove$1($event.path), $async$watch$1);
  29670. case 16:
  29671. // returning from await.
  29672. success1 = $async$result;
  29673. if (!success1 && H.boolTypeCast(t2.$index(0, "stop-on-error"))) {
  29674. $async$next = [1];
  29675. // goto finally
  29676. $async$goto = 4;
  29677. break;
  29678. }
  29679. // goto after switch
  29680. $async$goto = 10;
  29681. break;
  29682. case 10:
  29683. // after switch
  29684. // goto for condition
  29685. $async$goto = 6;
  29686. break;
  29687. case 7:
  29688. // after for
  29689. $async$next.push(5);
  29690. // goto finally
  29691. $async$goto = 4;
  29692. break;
  29693. case 3:
  29694. // uncaught
  29695. $async$next = [2];
  29696. case 4:
  29697. // finally
  29698. $async$handler = 2;
  29699. $async$goto = 17;
  29700. return P._asyncAwait(t1.cancel$0(), $async$watch$1);
  29701. case 17:
  29702. // returning from await.
  29703. // goto the next finally handler
  29704. $async$goto = $async$next.pop();
  29705. break;
  29706. case 5:
  29707. // after finally
  29708. case 1:
  29709. // return
  29710. return P._asyncReturn($async$returnValue, $async$completer);
  29711. case 2:
  29712. // rethrow
  29713. return P._asyncRethrow($async$currentError, $async$completer);
  29714. }
  29715. });
  29716. return P._asyncStartSync($async$watch$1, $async$completer);
  29717. },
  29718. _handleModify$1: function(path) {
  29719. return this._handleModify$body$_Watcher(path);
  29720. },
  29721. _handleModify$body$_Watcher: function(path) {
  29722. var $async$goto = 0,
  29723. $async$completer = P._makeAsyncAwaitCompleter(P.bool),
  29724. $async$returnValue, $async$self = this, t2, node, t1, url;
  29725. var $async$_handleModify$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  29726. if ($async$errorCode === 1)
  29727. return P._asyncRethrow($async$result, $async$completer);
  29728. while (true)
  29729. switch ($async$goto) {
  29730. case 0:
  29731. // Function start
  29732. t1 = $.$get$context();
  29733. url = t1.toUri$1(t1.canonicalize$1(path));
  29734. t1 = $async$self._graph;
  29735. t2 = t1._nodes;
  29736. if (!t2.containsKey$1(url)) {
  29737. $async$returnValue = $async$self._handleAdd$1(path);
  29738. // goto return
  29739. $async$goto = 1;
  29740. break;
  29741. }
  29742. node = t2.$index(0, url);
  29743. t1.reload$1(url);
  29744. $async$goto = 3;
  29745. return P._asyncAwait($async$self._recompileDownstream$1(H.setRuntimeTypeInfo([node], [M.StylesheetNode])), $async$_handleModify$1);
  29746. case 3:
  29747. // returning from await.
  29748. $async$returnValue = $async$result;
  29749. // goto return
  29750. $async$goto = 1;
  29751. break;
  29752. case 1:
  29753. // return
  29754. return P._asyncReturn($async$returnValue, $async$completer);
  29755. }
  29756. });
  29757. return P._asyncStartSync($async$_handleModify$1, $async$completer);
  29758. },
  29759. _handleAdd$1: function(path) {
  29760. return this._handleAdd$body$_Watcher(path);
  29761. },
  29762. _handleAdd$body$_Watcher: function(path) {
  29763. var $async$goto = 0,
  29764. $async$completer = P._makeAsyncAwaitCompleter(P.bool),
  29765. $async$returnValue, $async$self = this, destination, t1, t2;
  29766. var $async$_handleAdd$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  29767. if ($async$errorCode === 1)
  29768. return P._asyncRethrow($async$result, $async$completer);
  29769. while (true)
  29770. switch ($async$goto) {
  29771. case 0:
  29772. // Function start
  29773. $async$goto = 3;
  29774. return P._asyncAwait($async$self._retryPotentialImports$1(path), $async$_handleAdd$1);
  29775. case 3:
  29776. // returning from await.
  29777. if (!$async$result && H.boolTypeCast($async$self._watch$_options._options.$index(0, "stop-on-error"))) {
  29778. $async$returnValue = false;
  29779. // goto return
  29780. $async$goto = 1;
  29781. break;
  29782. }
  29783. destination = $async$self._destinationFor$1(path);
  29784. if (destination == null) {
  29785. $async$returnValue = true;
  29786. // goto return
  29787. $async$goto = 1;
  29788. break;
  29789. }
  29790. t1 = D.absolute(".");
  29791. t2 = $.$get$context();
  29792. $async$self._graph.addCanonical$3(new F.FilesystemImporter(t1), t2.toUri$1(t2.canonicalize$1(path)), t2.toUri$1(path));
  29793. $async$goto = 4;
  29794. return P._asyncAwait($async$self.compile$2(path, destination), $async$_handleAdd$1);
  29795. case 4:
  29796. // returning from await.
  29797. $async$returnValue = $async$result;
  29798. // goto return
  29799. $async$goto = 1;
  29800. break;
  29801. case 1:
  29802. // return
  29803. return P._asyncReturn($async$returnValue, $async$completer);
  29804. }
  29805. });
  29806. return P._asyncStartSync($async$_handleAdd$1, $async$completer);
  29807. },
  29808. _handleRemove$1: function(path) {
  29809. return this._handleRemove$body$_Watcher(path);
  29810. },
  29811. _handleRemove$body$_Watcher: function(path) {
  29812. var $async$goto = 0,
  29813. $async$completer = P._makeAsyncAwaitCompleter(P.bool),
  29814. $async$returnValue, $async$self = this, t2, destination, t1, url;
  29815. var $async$_handleRemove$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  29816. if ($async$errorCode === 1)
  29817. return P._asyncRethrow($async$result, $async$completer);
  29818. while (true)
  29819. switch ($async$goto) {
  29820. case 0:
  29821. // Function start
  29822. t1 = $.$get$context();
  29823. url = t1.toUri$1(t1.canonicalize$1(path));
  29824. $async$goto = 3;
  29825. return P._asyncAwait($async$self._retryPotentialImports$1(path), $async$_handleRemove$1);
  29826. case 3:
  29827. // returning from await.
  29828. if (!$async$result && H.boolTypeCast($async$self._watch$_options._options.$index(0, "stop-on-error"))) {
  29829. $async$returnValue = false;
  29830. // goto return
  29831. $async$goto = 1;
  29832. break;
  29833. }
  29834. t1 = $async$self._graph;
  29835. t2 = t1._nodes;
  29836. if (!t2.containsKey$1(url)) {
  29837. $async$returnValue = true;
  29838. // goto return
  29839. $async$goto = 1;
  29840. break;
  29841. }
  29842. destination = $async$self._destinationFor$1(path);
  29843. if (destination != null)
  29844. $async$self._delete$1(destination);
  29845. t2 = t2.$index(0, url)._downstream;
  29846. t1.remove$1(0, url);
  29847. $async$goto = 4;
  29848. return P._asyncAwait($async$self._recompileDownstream$1(new L.UnmodifiableSetView(t2, [M.StylesheetNode])), $async$_handleRemove$1);
  29849. case 4:
  29850. // returning from await.
  29851. $async$returnValue = $async$result;
  29852. // goto return
  29853. $async$goto = 1;
  29854. break;
  29855. case 1:
  29856. // return
  29857. return P._asyncReturn($async$returnValue, $async$completer);
  29858. }
  29859. });
  29860. return P._asyncStartSync($async$_handleRemove$1, $async$completer);
  29861. },
  29862. _debounceEvents$1: function(events) {
  29863. var t1 = E.WatchEvent,
  29864. t2 = T._debounceAggregate(P.Duration$(25, 0), H.instantiate1(T.debounce___collectToList$closure(), t1), t1, [P.List, t1]).bind$1(events);
  29865. return new P._ExpandStream(new A._Watcher__debounceEvents_closure(), t2, [H.getRuntimeTypeArgument(t2, "Stream", 0), t1]);
  29866. },
  29867. _recompileDownstream$1: function(nodes) {
  29868. return this._recompileDownstream$body$_Watcher(nodes);
  29869. },
  29870. _recompileDownstream$body$_Watcher: function(nodes) {
  29871. var $async$goto = 0,
  29872. $async$completer = P._makeAsyncAwaitCompleter(P.bool),
  29873. $async$returnValue, $async$self = this, t2, allSucceeded, node, success, t1, seen, toRecompile;
  29874. var $async$_recompileDownstream$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  29875. if ($async$errorCode === 1)
  29876. return P._asyncRethrow($async$result, $async$completer);
  29877. while (true)
  29878. switch ($async$goto) {
  29879. case 0:
  29880. // Function start
  29881. t1 = M.StylesheetNode;
  29882. seen = P.LinkedHashSet_LinkedHashSet(t1);
  29883. toRecompile = P.ListQueue_ListQueue$of(nodes, t1);
  29884. t1 = [t1], t2 = $async$self._watch$_options._options, allSucceeded = true;
  29885. case 3:
  29886. // for condition
  29887. if (!!toRecompile.get$isEmpty(toRecompile)) {
  29888. // goto after for
  29889. $async$goto = 4;
  29890. break;
  29891. }
  29892. node = toRecompile.removeFirst$0();
  29893. if (!seen.add$1(0, node)) {
  29894. // goto for condition
  29895. $async$goto = 3;
  29896. break;
  29897. }
  29898. $async$goto = 5;
  29899. return P._asyncAwait($async$self._compileIfEntrypoint$1(node.canonicalUrl), $async$_recompileDownstream$1);
  29900. case 5:
  29901. // returning from await.
  29902. success = $async$result;
  29903. allSucceeded = allSucceeded && success;
  29904. if (!success && H.boolTypeCast(t2.$index(0, "stop-on-error"))) {
  29905. $async$returnValue = false;
  29906. // goto return
  29907. $async$goto = 1;
  29908. break;
  29909. }
  29910. toRecompile.addAll$1(0, new L.UnmodifiableSetView(node._downstream, t1));
  29911. // goto for condition
  29912. $async$goto = 3;
  29913. break;
  29914. case 4:
  29915. // after for
  29916. $async$returnValue = allSucceeded;
  29917. // goto return
  29918. $async$goto = 1;
  29919. break;
  29920. case 1:
  29921. // return
  29922. return P._asyncReturn($async$returnValue, $async$completer);
  29923. }
  29924. });
  29925. return P._asyncStartSync($async$_recompileDownstream$1, $async$completer);
  29926. },
  29927. _compileIfEntrypoint$1: function(url) {
  29928. return this._compileIfEntrypoint$body$_Watcher(url);
  29929. },
  29930. _compileIfEntrypoint$body$_Watcher: function(url) {
  29931. var $async$goto = 0,
  29932. $async$completer = P._makeAsyncAwaitCompleter(P.bool),
  29933. $async$returnValue, $async$self = this, source, destination;
  29934. var $async$_compileIfEntrypoint$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  29935. if ($async$errorCode === 1)
  29936. return P._asyncRethrow($async$result, $async$completer);
  29937. while (true)
  29938. switch ($async$goto) {
  29939. case 0:
  29940. // Function start
  29941. if (url.get$scheme() !== "file") {
  29942. $async$returnValue = true;
  29943. // goto return
  29944. $async$goto = 1;
  29945. break;
  29946. }
  29947. source = $.$get$context().style.pathFromUri$1(M._parseUri(url));
  29948. destination = $async$self._destinationFor$1(source);
  29949. if (destination == null) {
  29950. $async$returnValue = true;
  29951. // goto return
  29952. $async$goto = 1;
  29953. break;
  29954. }
  29955. $async$goto = 3;
  29956. return P._asyncAwait($async$self.compile$2(source, destination), $async$_compileIfEntrypoint$1);
  29957. case 3:
  29958. // returning from await.
  29959. $async$returnValue = $async$result;
  29960. // goto return
  29961. $async$goto = 1;
  29962. break;
  29963. case 1:
  29964. // return
  29965. return P._asyncReturn($async$returnValue, $async$completer);
  29966. }
  29967. });
  29968. return P._asyncStartSync($async$_compileIfEntrypoint$1, $async$completer);
  29969. },
  29970. _destinationFor$1: function(source) {
  29971. var destination, t2, t3, t4, _null = null,
  29972. t1 = this._watch$_options;
  29973. t1._ensureSources$0();
  29974. destination = t1._sourcesToDestinations.$index(0, source);
  29975. if (destination != null)
  29976. return destination;
  29977. t2 = $.$get$context();
  29978. if (J.startsWith$1$s(X.ParsedPath_ParsedPath$parse(source, t2.style).get$basename(), "_"))
  29979. return;
  29980. for (t1._ensureSources$0(), t3 = t1._sourceDirectoriesToDestinations.get$keys(), t3 = t3.get$iterator(t3); t3.moveNext$0();) {
  29981. t4 = t3.get$current(t3);
  29982. if (t2._isWithinOrEquals$2(t4, source) === C._PathRelation_within) {
  29983. t1._ensureSources$0();
  29984. return t2.join$8(0, t1._sourceDirectoriesToDestinations.$index(0, t4), t2.withoutExtension$1(t2.relative$2$from(source, t4)) + ".css", _null, _null, _null, _null, _null, _null);
  29985. }
  29986. }
  29987. return;
  29988. },
  29989. _retryPotentialImports$1: function(path) {
  29990. return this._retryPotentialImports$body$_Watcher(path);
  29991. },
  29992. _retryPotentialImports$body$_Watcher: function(path) {
  29993. var $async$goto = 0,
  29994. $async$completer = P._makeAsyncAwaitCompleter(P.bool),
  29995. $async$returnValue, $async$next = [], $async$self = this, node, url, newCanonicalUrl, t1, t2, t3, t4, t5, importChanged, t6, basename, exception, t7, $name, changed;
  29996. var $async$_retryPotentialImports$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  29997. if ($async$errorCode === 1)
  29998. return P._asyncRethrow($async$result, $async$completer);
  29999. while (true)
  30000. switch ($async$goto) {
  30001. case 0:
  30002. // Function start
  30003. $name = $async$self._watch$_name$1(X.ParsedPath_ParsedPath$parse(path, $.$get$context().style).get$basename());
  30004. changed = H.setRuntimeTypeInfo([], [M.StylesheetNode]);
  30005. for (t1 = $async$self._graph, t2 = t1._nodes.get$values(), t2 = t2.get$iterator(t2), t3 = t1._transitiveModificationTimes, t1 = t1.importCache, t4 = t1._canonicalizeCache; t2.moveNext$0();) {
  30006. node = t2.get$current(t2);
  30007. for (t5 = node._upstream.get$keys(), t5 = t5.get$iterator(t5), importChanged = false; t5.moveNext$0();) {
  30008. url = t5.get$current(t5);
  30009. t6 = $.$get$url();
  30010. t6 = X.ParsedPath_ParsedPath$parse(J.get$path$x(url), t6.style).get$basename();
  30011. basename = $.$get$context().withoutExtension$1(t6);
  30012. if ((C.JSString_methods.startsWith$1(basename, "_") ? C.JSString_methods.substring$1(basename, 1) : basename) !== $name)
  30013. continue;
  30014. t3.clear$0(0);
  30015. t4.remove$1(0, url);
  30016. if (!importChanged) {
  30017. newCanonicalUrl = null;
  30018. try {
  30019. t6 = t1.canonicalize$3(url, node.importer, node.canonicalUrl);
  30020. newCanonicalUrl = t6 == null ? null : t6.item2;
  30021. } catch (exception) {
  30022. H.unwrapException(exception);
  30023. }
  30024. t6 = newCanonicalUrl;
  30025. t7 = node._upstream.$index(0, url);
  30026. importChanged = !J.$eq$(t6, t7 == null ? null : t7.canonicalUrl);
  30027. }
  30028. }
  30029. if (importChanged)
  30030. changed.push(node);
  30031. }
  30032. $async$goto = 3;
  30033. return P._asyncAwait($async$self._recompileDownstream$1(changed), $async$_retryPotentialImports$1);
  30034. case 3:
  30035. // returning from await.
  30036. $async$returnValue = $async$result;
  30037. // goto return
  30038. $async$goto = 1;
  30039. break;
  30040. case 1:
  30041. // return
  30042. return P._asyncReturn($async$returnValue, $async$completer);
  30043. }
  30044. });
  30045. return P._asyncStartSync($async$_retryPotentialImports$1, $async$completer);
  30046. },
  30047. _watch$_name$1: function(basename) {
  30048. basename = $.$get$context().withoutExtension$1(basename);
  30049. return C.JSString_methods.startsWith$1(basename, "_") ? C.JSString_methods.substring$1(basename, 1) : basename;
  30050. }
  30051. };
  30052. A._Watcher__debounceEvents_closure.prototype = {
  30053. call$1: function(buffer) {
  30054. var t3, t4, t5, oldType,
  30055. t1 = E.ChangeType,
  30056. t2 = K.PathMap__create(null, t1);
  30057. for (t3 = J.get$iterator$ax(buffer); t3.moveNext$0();) {
  30058. t4 = t3.get$current(t3);
  30059. t5 = t4.path;
  30060. oldType = t2.$index(0, t5);
  30061. if (oldType == null)
  30062. t2.$indexSet(0, t5, t4.type);
  30063. else if (t4.type === C.ChangeType_remove)
  30064. t2.$indexSet(0, t5, C.ChangeType_remove);
  30065. else if (oldType !== C.ChangeType_add)
  30066. t2.$indexSet(0, t5, C.ChangeType_modify);
  30067. }
  30068. t3 = t2.get$keys();
  30069. return H.MappedIterable_MappedIterable(t3, new A._Watcher__debounceEvents__closure(new K.PathMap(t2, [t1])), H.getRuntimeTypeArgument(t3, "Iterable", 0), E.WatchEvent);
  30070. }
  30071. };
  30072. A._Watcher__debounceEvents__closure.prototype = {
  30073. call$1: function(path) {
  30074. return new E.WatchEvent(this.typeForPath._collection$_map.$index(0, path), path);
  30075. }
  30076. };
  30077. T.EmptyExtender.prototype = {
  30078. get$isEmpty: function(_) {
  30079. return true;
  30080. },
  30081. get$simpleSelectors: function() {
  30082. return C.C_EmptyUnmodifiableSet;
  30083. },
  30084. extensionsWhereTarget$1: function(callback) {
  30085. return C.List_empty5;
  30086. },
  30087. addExtensions$1: function(extenders) {
  30088. throw H.wrapException(P.UnsupportedError$("addExtensions() can't be called for a const Extender."));
  30089. },
  30090. clone$0: function() {
  30091. return C.Tuple2_EmptyExtender_Map_empty;
  30092. },
  30093. $isExtender: 1
  30094. };
  30095. F.Extender.prototype = {
  30096. get$isEmpty: function(_) {
  30097. var t1 = this._extensions;
  30098. return t1.get$isEmpty(t1);
  30099. },
  30100. get$simpleSelectors: function() {
  30101. return new M.MapKeySet(this._selectors, [M.SimpleSelector]);
  30102. },
  30103. extensionsWhereTarget$1: function($async$callback) {
  30104. var $async$self = this;
  30105. return P._makeSyncStarIterable(function() {
  30106. var callback = $async$callback;
  30107. var $async$goto = 0, $async$handler = 1, $async$currentError, t1, t2, t3, t4;
  30108. return function $async$extensionsWhereTarget$1($async$errorCode, $async$result) {
  30109. if ($async$errorCode === 1) {
  30110. $async$currentError = $async$result;
  30111. $async$goto = $async$handler;
  30112. }
  30113. while (true)
  30114. switch ($async$goto) {
  30115. case 0:
  30116. // Function start
  30117. t1 = $async$self._extensions, t2 = t1.get$keys(), t2 = t2.get$iterator(t2);
  30118. case 2:
  30119. // for condition
  30120. if (!t2.moveNext$0()) {
  30121. // goto after for
  30122. $async$goto = 3;
  30123. break;
  30124. }
  30125. t3 = t2.get$current(t2);
  30126. if (!callback.call$1(t3)) {
  30127. // goto for condition
  30128. $async$goto = 2;
  30129. break;
  30130. }
  30131. t3 = t1.$index(0, t3).get$values(), t3 = t3.get$iterator(t3);
  30132. case 4:
  30133. // for condition
  30134. if (!t3.moveNext$0()) {
  30135. // goto after for
  30136. $async$goto = 5;
  30137. break;
  30138. }
  30139. t4 = t3.get$current(t3);
  30140. $async$goto = t4 instanceof A.MergedExtension ? 6 : 8;
  30141. break;
  30142. case 6:
  30143. // then
  30144. t4 = t4.unmerge$0();
  30145. $async$goto = 9;
  30146. return P._IterationMarker_yieldStar(new H.WhereIterable(t4, new F.Extender_extensionsWhereTarget_closure(), [H.getTypeArgumentByIndex(t4, 0)]));
  30147. case 9:
  30148. // after yield
  30149. // goto join
  30150. $async$goto = 7;
  30151. break;
  30152. case 8:
  30153. // else
  30154. $async$goto = !t4.isOptional ? 10 : 11;
  30155. break;
  30156. case 10:
  30157. // then
  30158. $async$goto = 12;
  30159. return t4;
  30160. case 12:
  30161. // after yield
  30162. case 11:
  30163. // join
  30164. case 7:
  30165. // join
  30166. // goto for condition
  30167. $async$goto = 4;
  30168. break;
  30169. case 5:
  30170. // after for
  30171. // goto for condition
  30172. $async$goto = 2;
  30173. break;
  30174. case 3:
  30175. // after for
  30176. // implicit return
  30177. return P._IterationMarker_endOfIteration();
  30178. case 1:
  30179. // rethrow
  30180. return P._IterationMarker_uncaughtError($async$currentError);
  30181. }
  30182. };
  30183. }, S.Extension);
  30184. },
  30185. addSelector$4: function(selector, selectorSpan, ruleSpan, mediaContext) {
  30186. var error, t1, t2, t3, _i, exception, rule, _this = this,
  30187. originalSelector = selector;
  30188. if (!originalSelector.get$isInvisible())
  30189. for (t1 = originalSelector.components, t2 = t1.length, t3 = _this._originals, _i = 0; _i < t2; ++_i)
  30190. t3.add$1(0, t1[_i]);
  30191. t1 = _this._extensions;
  30192. if (t1.get$isNotEmpty(t1))
  30193. try {
  30194. selector = _this._extendList$3(originalSelector, t1, mediaContext);
  30195. } catch (exception) {
  30196. t1 = H.unwrapException(exception);
  30197. if (t1 instanceof E.SassException) {
  30198. error = t1;
  30199. throw H.wrapException(E.SassException$("From " + error.get$span().message$1(0, "") + "\n" + H.S(error._span_exception$_message), selectorSpan));
  30200. } else
  30201. throw exception;
  30202. }
  30203. rule = X.ModifiableCssStyleRule$(new F.ModifiableCssValue(selector, selectorSpan, [D.SelectorList]), ruleSpan, originalSelector);
  30204. if (mediaContext != null)
  30205. _this._mediaContexts.$indexSet(0, rule, mediaContext);
  30206. _this._registerSelector$2(selector, rule);
  30207. return rule;
  30208. },
  30209. _registerSelector$2: function(list, rule) {
  30210. var t1, t2, t3, _i, t4, t5, _i0, component, t6, t7, _i1, simple;
  30211. for (t1 = list.components, t2 = t1.length, t3 = this._selectors, _i = 0; _i < t2; ++_i)
  30212. for (t4 = t1[_i].components, t5 = t4.length, _i0 = 0; _i0 < t5; ++_i0) {
  30213. component = t4[_i0];
  30214. if (component instanceof X.CompoundSelector)
  30215. for (t6 = component.components, t7 = t6.length, _i1 = 0; _i1 < t7; ++_i1) {
  30216. simple = t6[_i1];
  30217. J.add$1$ax(t3.putIfAbsent$2(simple, new F.Extender__registerSelector_closure()), rule);
  30218. if (simple instanceof D.PseudoSelector && simple.selector != null)
  30219. this._registerSelector$2(simple.selector, rule);
  30220. }
  30221. }
  30222. },
  30223. addExtension$4: function(extender, target, extend, mediaContext) {
  30224. var t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, newExtensions, _i, complex, t12, state, existingState, t13, _i0, component, t14, t15, _i1, simple, newExtensionsByTarget, additionalExtensions, _this = this,
  30225. rules = _this._selectors.$index(0, target),
  30226. t1 = _this._extensionsByExtender,
  30227. existingExtensions = t1.$index(0, target),
  30228. sources = _this._extensions.putIfAbsent$2(target, new F.Extender_addExtension_closure());
  30229. for (t2 = extender.value.components, t3 = t2.length, t4 = rules == null, t5 = _this._sourceSpecificity, t6 = extender.span, t7 = extend.span, t8 = extend.isOptional, t9 = existingExtensions != null, t10 = S.ComplexSelector, t11 = S.Extension, newExtensions = null, _i = 0; _i < t3; ++_i) {
  30230. complex = t2[_i];
  30231. if (complex._maxSpecificity == null)
  30232. complex._computeSpecificity$0();
  30233. t12 = complex._maxSpecificity;
  30234. state = new S.Extension(complex, target, t12, t8, false, mediaContext, t6, t7);
  30235. existingState = sources.$index(0, complex);
  30236. if (existingState != null) {
  30237. sources.$indexSet(0, complex, A.MergedExtension_merge(existingState, state));
  30238. continue;
  30239. }
  30240. sources.$indexSet(0, complex, state);
  30241. for (t12 = complex.components, t13 = t12.length, _i0 = 0; _i0 < t13; ++_i0) {
  30242. component = t12[_i0];
  30243. if (component instanceof X.CompoundSelector)
  30244. for (t14 = component.components, t15 = t14.length, _i1 = 0; _i1 < t15; ++_i1) {
  30245. simple = t14[_i1];
  30246. J.add$1$ax(t1.putIfAbsent$2(simple, new F.Extender_addExtension_closure0()), state);
  30247. t5.putIfAbsent$2(simple, new F.Extender_addExtension_closure1(complex));
  30248. }
  30249. }
  30250. if (!t4 || t9) {
  30251. if (newExtensions == null)
  30252. newExtensions = P.LinkedHashMap_LinkedHashMap$_empty(t10, t11);
  30253. newExtensions.$indexSet(0, complex, state);
  30254. }
  30255. }
  30256. if (newExtensions == null)
  30257. return;
  30258. newExtensionsByTarget = P.LinkedHashMap_LinkedHashMap$_literal([target, newExtensions], M.SimpleSelector, [P.Map, S.ComplexSelector, S.Extension]);
  30259. if (t9) {
  30260. additionalExtensions = _this._extendExistingExtensions$2(existingExtensions, newExtensionsByTarget);
  30261. if (additionalExtensions != null)
  30262. B.mapAddAll2(newExtensionsByTarget, additionalExtensions);
  30263. }
  30264. if (!t4)
  30265. _this._extendExistingStyleRules$2(rules, newExtensionsByTarget);
  30266. },
  30267. _extendExistingExtensions$2: function(extensions, newExtensions) {
  30268. var extension, selectors, error, t1, t2, t3, t4, t5, t6, additionalExtensions, _i, sources, exception, containsExtension, t7, t8, first, _i0, complex, t9, t10, t11, t12, t13, t14, withExtender, existingExtension, _i1, component, _i2;
  30269. for (t1 = J.toList$0$ax(extensions), t2 = t1.length, t3 = this._extensionsByExtender, t4 = M.SimpleSelector, t5 = [P.Map, S.ComplexSelector, S.Extension], t6 = this._extensions, additionalExtensions = null, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
  30270. extension = t1[_i];
  30271. sources = t6.$index(0, extension.target);
  30272. selectors = null;
  30273. try {
  30274. selectors = this._extendComplex$3(extension.extender, newExtensions, extension.mediaContext);
  30275. if (selectors == null)
  30276. continue;
  30277. } catch (exception) {
  30278. t1 = H.unwrapException(exception);
  30279. if (t1 instanceof E.SassException) {
  30280. error = t1;
  30281. throw H.wrapException(E.SassException$("From " + extension.extenderSpan.message$1(0, "") + "\n" + H.S(error._span_exception$_message), error.get$span()));
  30282. } else
  30283. throw exception;
  30284. }
  30285. containsExtension = J.$eq$(J.get$first$ax(selectors), extension.extender);
  30286. for (t7 = selectors, t8 = t7.length, first = false, _i0 = 0; _i0 < t7.length; t7.length === t8 || (0, H.throwConcurrentModificationError)(t7), ++_i0) {
  30287. complex = t7[_i0];
  30288. if (containsExtension && first) {
  30289. first = false;
  30290. continue;
  30291. }
  30292. t9 = extension;
  30293. t10 = t9.target;
  30294. t11 = t9.extenderSpan;
  30295. t12 = t9.span;
  30296. t13 = t9.mediaContext;
  30297. t14 = t9.specificity;
  30298. t9 = t9.isOptional;
  30299. if (t14 == null) {
  30300. if (complex._maxSpecificity == null)
  30301. complex._computeSpecificity$0();
  30302. t14 = complex._maxSpecificity;
  30303. }
  30304. withExtender = new S.Extension(complex, t10, t14, t9, false, t13, t11, t12);
  30305. existingExtension = sources.$index(0, complex);
  30306. if (existingExtension != null)
  30307. sources.$indexSet(0, complex, A.MergedExtension_merge(existingExtension, withExtender));
  30308. else {
  30309. sources.$indexSet(0, complex, withExtender);
  30310. for (t9 = complex.components, t10 = t9.length, _i1 = 0; _i1 < t10; ++_i1) {
  30311. component = t9[_i1];
  30312. if (component instanceof X.CompoundSelector)
  30313. for (t11 = component.components, t12 = t11.length, _i2 = 0; _i2 < t12; ++_i2)
  30314. J.add$1$ax(t3.putIfAbsent$2(t11[_i2], new F.Extender__extendExistingExtensions_closure()), withExtender);
  30315. }
  30316. if (newExtensions.containsKey$1(extension.target)) {
  30317. if (additionalExtensions == null)
  30318. additionalExtensions = P.LinkedHashMap_LinkedHashMap$_empty(t4, t5);
  30319. additionalExtensions.putIfAbsent$2(extension.target, new F.Extender__extendExistingExtensions_closure0()).$indexSet(0, complex, withExtender);
  30320. }
  30321. }
  30322. }
  30323. if (!containsExtension)
  30324. sources.remove$1(0, extension.extender);
  30325. }
  30326. return additionalExtensions;
  30327. },
  30328. _extendExistingStyleRules$2: function(rules, newExtensions) {
  30329. var rule, error, t1, t2, oldValue, exception;
  30330. for (t1 = rules.get$iterator(rules), t2 = this._mediaContexts; t1.moveNext$0();) {
  30331. rule = t1.get$current(t1);
  30332. oldValue = rule.selector.value;
  30333. try {
  30334. rule.selector.value = this._extendList$3(rule.selector.value, newExtensions, t2.$index(0, rule));
  30335. } catch (exception) {
  30336. t1 = H.unwrapException(exception);
  30337. if (t1 instanceof E.SassException) {
  30338. error = t1;
  30339. throw H.wrapException(E.SassException$("From " + rule.selector.span.message$1(0, "") + "\n" + H.S(error._span_exception$_message), error.get$span()));
  30340. } else
  30341. throw exception;
  30342. }
  30343. if (oldValue == rule.selector.value)
  30344. continue;
  30345. this._registerSelector$2(rule.selector.value, rule);
  30346. }
  30347. },
  30348. addExtensions$1: function(extenders) {
  30349. var t1, t2, _box_0 = {};
  30350. _box_0.newExtensions = _box_0.rulesToExtend = _box_0.extensionsToExtend = null;
  30351. for (t1 = J.get$iterator$ax(extenders); t1.moveNext$0();) {
  30352. t2 = t1.get$current(t1);
  30353. if (t2.get$isEmpty(t2))
  30354. continue;
  30355. t2.get$_extensions().forEach$1(0, new F.Extender_addExtensions_closure(_box_0, this, t2));
  30356. }
  30357. t1 = _box_0.newExtensions;
  30358. if (t1 == null)
  30359. return;
  30360. t2 = _box_0.extensionsToExtend;
  30361. if (t2 != null)
  30362. this._extendExistingExtensions$2(t2, t1);
  30363. t1 = _box_0.rulesToExtend;
  30364. if (t1 != null)
  30365. this._extendExistingStyleRules$2(t1, _box_0.newExtensions);
  30366. },
  30367. _extendList$3: function(list, extensions, mediaQueryContext) {
  30368. var t1, t2, t3, extended, i, complex, result, t4;
  30369. for (t1 = list.components, t2 = t1.length, t3 = [S.ComplexSelector], extended = null, i = 0; i < t2; ++i) {
  30370. complex = t1[i];
  30371. result = this._extendComplex$3(complex, extensions, mediaQueryContext);
  30372. if (result == null) {
  30373. if (extended != null)
  30374. extended.push(complex);
  30375. } else {
  30376. if (extended == null)
  30377. if (i === 0)
  30378. extended = H.setRuntimeTypeInfo([], t3);
  30379. else {
  30380. t4 = C.JSArray_methods.sublist$2(t1, 0, i);
  30381. extended = H.setRuntimeTypeInfo(t4.slice(0), [H.getTypeArgumentByIndex(t4, 0)]);
  30382. }
  30383. C.JSArray_methods.addAll$1(extended, result);
  30384. }
  30385. }
  30386. if (extended == null)
  30387. return list;
  30388. t1 = this._originals;
  30389. return D.SelectorList$(J.where$1$ax(this._trim$2(extended, t1.get$contains(t1)), new F.Extender__extendList_closure()));
  30390. },
  30391. _extendComplex$3: function(complex, extensions, mediaQueryContext) {
  30392. var t1, t2, t3, t4, t5, t6, t7, extendedNotExpanded, i, component, extended, result, t8,
  30393. _s28_ = "components may not be empty.",
  30394. _box_0 = {},
  30395. isOriginal = this._originals.contains$1(0, complex);
  30396. for (t1 = complex.components, t2 = t1.length, t3 = S.ComplexSelector, t4 = [t3], t5 = S.ComplexSelectorComponent, t6 = [t5], t7 = [P.List, S.ComplexSelector], extendedNotExpanded = null, i = 0; i < t2; ++i) {
  30397. component = t1[i];
  30398. if (component instanceof X.CompoundSelector) {
  30399. extended = this._extendCompound$4$inOriginal(component, extensions, mediaQueryContext, isOriginal);
  30400. if (extended == null) {
  30401. if (extendedNotExpanded != null) {
  30402. result = P.List_List$from(H.setRuntimeTypeInfo([component], t6), false, t5);
  30403. result.fixed$length = Array;
  30404. result.immutable$list = Array;
  30405. t8 = result;
  30406. if (t8.length === 0)
  30407. H.throwExpression(P.ArgumentError$(_s28_));
  30408. C.JSArray_methods.add$1(extendedNotExpanded, H.setRuntimeTypeInfo([new S.ComplexSelector(t8, false)], t4));
  30409. }
  30410. } else {
  30411. if (extendedNotExpanded == null) {
  30412. t8 = H.SubListIterable$(t1, 0, i, H.getTypeArgumentByIndex(t1, 0));
  30413. extendedNotExpanded = new H.MappedListIterable(t8, new F.Extender__extendComplex_closure(complex), [H.getTypeArgumentByIndex(t8, 0), t7]).toList$0(0);
  30414. }
  30415. C.JSArray_methods.add$1(extendedNotExpanded, extended);
  30416. }
  30417. } else if (extendedNotExpanded != null) {
  30418. result = P.List_List$from(H.setRuntimeTypeInfo([component], t6), false, t5);
  30419. result.fixed$length = Array;
  30420. result.immutable$list = Array;
  30421. t8 = result;
  30422. if (t8.length === 0)
  30423. H.throwExpression(P.ArgumentError$(_s28_));
  30424. C.JSArray_methods.add$1(extendedNotExpanded, H.setRuntimeTypeInfo([new S.ComplexSelector(t8, false)], t4));
  30425. }
  30426. }
  30427. if (extendedNotExpanded == null)
  30428. return;
  30429. _box_0.first = true;
  30430. t1 = J.expand$1$1$ax(Y.paths(extendedNotExpanded, t3), new F.Extender__extendComplex_closure0(_box_0, this, complex), t3);
  30431. return P.List_List$from(t1, true, H.getRuntimeTypeArgument(t1, "Iterable", 0));
  30432. },
  30433. _extendCompound$4$inOriginal: function(compound, extensions, mediaQueryContext, inOriginal) {
  30434. var t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, options, i, simple, extended, result, t13, t14, compound0, _this = this, _null = null,
  30435. _s28_ = "components may not be empty.",
  30436. _box_1 = {},
  30437. t1 = _this._mode,
  30438. targetsUsed = t1 === C.ExtendMode_normal || extensions.get$length(extensions) < 2 ? _null : P.LinkedHashSet_LinkedHashSet(M.SimpleSelector);
  30439. for (t2 = compound.components, t3 = t2.length, t4 = [[P.List, S.Extension]], t5 = S.Extension, t6 = [t5], t7 = S.ComplexSelectorComponent, t8 = [t7], t9 = H.getTypeArgumentByIndex(t2, 0), t10 = M.SimpleSelector, t11 = _this._sourceSpecificity, t12 = [t10], options = _null, i = 0; i < t3; ++i) {
  30440. simple = t2[i];
  30441. extended = _this._extendSimple$4(simple, extensions, mediaQueryContext, targetsUsed);
  30442. if (extended == null) {
  30443. if (options != null) {
  30444. result = P.List_List$from(H.setRuntimeTypeInfo([simple], t12), false, t10);
  30445. result.fixed$length = Array;
  30446. result.immutable$list = Array;
  30447. t13 = result;
  30448. if (t13.length === 0)
  30449. H.throwExpression(P.ArgumentError$(_s28_));
  30450. result = P.List_List$from(H.setRuntimeTypeInfo([new X.CompoundSelector(t13)], t8), false, t7);
  30451. result.fixed$length = Array;
  30452. result.immutable$list = Array;
  30453. t13 = result;
  30454. if (t13.length === 0)
  30455. H.throwExpression(P.ArgumentError$(_s28_));
  30456. t14 = t11.$index(0, simple);
  30457. if (t14 == null)
  30458. t14 = 0;
  30459. options.push(H.setRuntimeTypeInfo([new S.Extension(new S.ComplexSelector(t13, false), _null, t14, true, true, _null, _null, _null)], t6));
  30460. }
  30461. } else {
  30462. if (options == null) {
  30463. options = H.setRuntimeTypeInfo([], t4);
  30464. if (i !== 0) {
  30465. result = P.List_List$from(H.SubListIterable$(t2, 0, i, t9), false, t10);
  30466. result.fixed$length = Array;
  30467. result.immutable$list = Array;
  30468. t13 = result;
  30469. compound0 = new X.CompoundSelector(t13);
  30470. if (t13.length === 0)
  30471. H.throwExpression(P.ArgumentError$(_s28_));
  30472. result = P.List_List$from(H.setRuntimeTypeInfo([compound0], t8), false, t7);
  30473. result.fixed$length = Array;
  30474. result.immutable$list = Array;
  30475. t13 = result;
  30476. if (t13.length === 0)
  30477. H.throwExpression(P.ArgumentError$(_s28_));
  30478. t14 = _this._sourceSpecificityFor$1(compound0);
  30479. options.push(H.setRuntimeTypeInfo([new S.Extension(new S.ComplexSelector(t13, false), _null, t14, true, true, _null, _null, _null)], t6));
  30480. }
  30481. }
  30482. C.JSArray_methods.addAll$1(options, extended);
  30483. }
  30484. }
  30485. if (options == null)
  30486. return;
  30487. if (targetsUsed != null && targetsUsed._collection$_length !== extensions.get$length(extensions))
  30488. return;
  30489. if (options.length === 1)
  30490. return J.map$1$1$ax(C.JSArray_methods.get$first(options), new F.Extender__extendCompound_closure(mediaQueryContext), S.ComplexSelector).toList$0(0);
  30491. _box_1.first = t1 !== C.ExtendMode_replace;
  30492. t1 = J.map$1$1$ax(Y.paths(options, t5), new F.Extender__extendCompound_closure0(_box_1, _this, compound, mediaQueryContext), [P.List, S.ComplexSelector]).where$1(0, new F.Extender__extendCompound_closure1());
  30493. t2 = S.ComplexSelector;
  30494. return P.List_List$from(new H.ExpandIterable(t1, new F.Extender__extendCompound_closure2(), [H.getTypeArgumentByIndex(t1, 0), t2]), true, t2);
  30495. },
  30496. _extendSimple$4: function(simple, extensions, mediaQueryContext, targetsUsed) {
  30497. var extended, result,
  30498. t1 = new F.Extender__extendSimple_withoutPseudo(this, extensions, targetsUsed);
  30499. if (simple instanceof D.PseudoSelector && simple.selector != null) {
  30500. extended = this._extendPseudo$3(simple, extensions, mediaQueryContext);
  30501. if (extended != null)
  30502. return new H.MappedListIterable(extended, new F.Extender__extendSimple_closure(this, t1), [H.getTypeArgumentByIndex(extended, 0), [P.List, S.Extension]]);
  30503. }
  30504. result = t1.call$1(simple);
  30505. return result == null ? null : H.setRuntimeTypeInfo([result], [[P.List, S.Extension]]);
  30506. },
  30507. _extensionForSimple$1: function(simple) {
  30508. var t1 = S.ComplexSelector$(H.setRuntimeTypeInfo([X.CompoundSelector$(H.setRuntimeTypeInfo([simple], [M.SimpleSelector]))], [S.ComplexSelectorComponent]), false),
  30509. t2 = this._sourceSpecificity.$index(0, simple);
  30510. return S.Extension$oneOff(t1, true, t2 == null ? 0 : t2);
  30511. },
  30512. _extendPseudo$3: function(pseudo, extensions, mediaQueryContext) {
  30513. var complexes, t2, result,
  30514. t1 = pseudo.selector,
  30515. extended = this._extendList$3(t1, extensions, mediaQueryContext);
  30516. if (extended == t1)
  30517. return;
  30518. complexes = extended.components;
  30519. t2 = pseudo.normalizedName === "not";
  30520. if (t2 && !C.JSArray_methods.any$1(t1.components, new F.Extender__extendPseudo_closure()) && C.JSArray_methods.any$1(complexes, new F.Extender__extendPseudo_closure0()))
  30521. complexes = new H.WhereIterable(complexes, new F.Extender__extendPseudo_closure1(), [H.getTypeArgumentByIndex(complexes, 0)]);
  30522. complexes = J.expand$1$1$ax(complexes, new F.Extender__extendPseudo_closure2(pseudo), S.ComplexSelector);
  30523. t1 = t2 && t1.components.length === 1;
  30524. t2 = D.PseudoSelector;
  30525. if (t1) {
  30526. t1 = H.MappedIterable_MappedIterable(complexes, new F.Extender__extendPseudo_closure3(pseudo), H.getRuntimeTypeArgument(complexes, "Iterable", 0), t2);
  30527. result = P.List_List$from(t1, true, H.getRuntimeTypeArgument(t1, "Iterable", 0));
  30528. return result.length === 0 ? null : result;
  30529. } else
  30530. return H.setRuntimeTypeInfo([D.PseudoSelector$(pseudo.name, pseudo.argument, !pseudo.isClass, D.SelectorList$(complexes))], [t2]);
  30531. },
  30532. _trim$2: function(selectors, isOriginal) {
  30533. var result, i, t1, numOriginals, _box_0, complex1, j, t2, t3, _i, component;
  30534. if (selectors.length > 100)
  30535. return selectors;
  30536. result = Q.QueueList$(null, S.ComplexSelector);
  30537. $label0$0:
  30538. for (i = selectors.length - 1, t1 = H.getTypeArgumentByIndex(selectors, 0), numOriginals = 0; i >= 0; --i) {
  30539. _box_0 = {};
  30540. complex1 = selectors[i];
  30541. if (isOriginal.call$1(complex1)) {
  30542. for (j = 0; j < numOriginals; ++j)
  30543. if (J.$eq$(result.$index(0, j), complex1)) {
  30544. B.rotateSlice(result, 0, j + 1);
  30545. continue $label0$0;
  30546. }
  30547. ++numOriginals;
  30548. result.addFirst$1(complex1);
  30549. continue $label0$0;
  30550. }
  30551. _box_0.maxSpecificity = 0;
  30552. for (t2 = complex1.components, t3 = t2.length, _i = 0; _i < t3; ++_i) {
  30553. component = t2[_i];
  30554. if (component instanceof X.CompoundSelector)
  30555. _box_0.maxSpecificity = Math.max(_box_0.maxSpecificity, this._sourceSpecificityFor$1(component));
  30556. }
  30557. if (result.any$1(result, new F.Extender__trim_closure(_box_0, complex1)))
  30558. continue $label0$0;
  30559. if (H.SubListIterable$(selectors, 0, i, t1).any$1(0, new F.Extender__trim_closure0(_box_0, complex1)))
  30560. continue $label0$0;
  30561. result.addFirst$1(complex1);
  30562. }
  30563. return result;
  30564. },
  30565. _sourceSpecificityFor$1: function(compound) {
  30566. var t1, t2, t3, specificity, _i, t4;
  30567. for (t1 = compound.components, t2 = t1.length, t3 = this._sourceSpecificity, specificity = 0, _i = 0; _i < t2; ++_i) {
  30568. t4 = t3.$index(0, t1[_i]);
  30569. specificity = Math.max(specificity, H.checkNum(t4 == null ? 0 : t4));
  30570. }
  30571. return specificity;
  30572. },
  30573. clone$0: function() {
  30574. var t3, t4, _this = this,
  30575. t1 = M.SimpleSelector,
  30576. newSelectors = P.LinkedHashMap_LinkedHashMap$_empty(t1, [P.Set, X.ModifiableCssStyleRule]),
  30577. t2 = X.CssStyleRule,
  30578. newMediaContexts = new H.JsLinkedHashMap([t2, [P.List, F.CssMediaQuery]]),
  30579. oldToNewRules = P.LinkedHashMap_LinkedHashMap$_empty(t2, X.ModifiableCssStyleRule);
  30580. _this._selectors.forEach$1(0, new F.Extender_clone_closure(_this, newSelectors, oldToNewRules, newMediaContexts));
  30581. t2 = S.ComplexSelector;
  30582. t3 = S.Extension;
  30583. t4 = B.copyMapOfMap(_this._extensions, t1, t2, t3);
  30584. t3 = B.copyMapOfList(_this._extensionsByExtender, t1, t3);
  30585. t1 = P._LinkedIdentityHashMap__LinkedIdentityHashMap$es6(t1, P.int);
  30586. t1.addAll$1(0, _this._sourceSpecificity);
  30587. t2 = new P._LinkedIdentityHashSet([t2]);
  30588. t2.addAll$1(0, _this._originals);
  30589. return new S.Tuple2(new F.Extender(newSelectors, t4, t3, newMediaContexts, t1, t2, C.ExtendMode_normal), oldToNewRules, [F.Extender, [P.Map, X.CssStyleRule, X.ModifiableCssStyleRule]]);
  30590. },
  30591. get$_extensions: function() {
  30592. return this._extensions;
  30593. }
  30594. };
  30595. F.Extender__extendOrReplace_closure.prototype = {
  30596. call$1: function(complex) {
  30597. return S.Extension$oneOff(H.interceptedTypeCast(complex, "$isComplexSelector"), false, null);
  30598. },
  30599. $signature: 47
  30600. };
  30601. F.Extender_extensionsWhereTarget_closure.prototype = {
  30602. call$1: function(extension) {
  30603. return !extension.isOptional;
  30604. }
  30605. };
  30606. F.Extender__registerSelector_closure.prototype = {
  30607. call$0: function() {
  30608. return P.LinkedHashSet_LinkedHashSet(X.ModifiableCssStyleRule);
  30609. }
  30610. };
  30611. F.Extender_addExtension_closure.prototype = {
  30612. call$0: function() {
  30613. return P.LinkedHashMap_LinkedHashMap$_empty(S.ComplexSelector, S.Extension);
  30614. }
  30615. };
  30616. F.Extender_addExtension_closure0.prototype = {
  30617. call$0: function() {
  30618. return H.setRuntimeTypeInfo([], [S.Extension]);
  30619. }
  30620. };
  30621. F.Extender_addExtension_closure1.prototype = {
  30622. call$0: function() {
  30623. return this.complex.get$maxSpecificity();
  30624. }
  30625. };
  30626. F.Extender__extendExistingExtensions_closure.prototype = {
  30627. call$0: function() {
  30628. return H.setRuntimeTypeInfo([], [S.Extension]);
  30629. }
  30630. };
  30631. F.Extender__extendExistingExtensions_closure0.prototype = {
  30632. call$0: function() {
  30633. return P.LinkedHashMap_LinkedHashMap$_empty(S.ComplexSelector, S.Extension);
  30634. }
  30635. };
  30636. F.Extender_addExtensions_closure.prototype = {
  30637. call$2: function(target, newSources) {
  30638. var start, t1, extensionsForTarget, t2, t3, t4, rulesForTarget, t5, existingSources, _this = this;
  30639. if (target instanceof N.PlaceholderSelector) {
  30640. start = C.JSString_methods._codeUnitAt$1(target.name, 0);
  30641. t1 = start === 45 || start === 95;
  30642. } else
  30643. t1 = false;
  30644. if (t1)
  30645. return;
  30646. t1 = _this.$this;
  30647. extensionsForTarget = t1._extensionsByExtender.$index(0, target);
  30648. t2 = extensionsForTarget == null;
  30649. if (!t2) {
  30650. t3 = _this._box_0;
  30651. t4 = t3.extensionsToExtend;
  30652. C.JSArray_methods.addAll$1(t4 == null ? t3.extensionsToExtend = H.setRuntimeTypeInfo([], [S.Extension]) : t4, extensionsForTarget);
  30653. }
  30654. rulesForTarget = t1._selectors.$index(0, target);
  30655. t3 = rulesForTarget != null;
  30656. if (t3) {
  30657. t4 = _this._box_0;
  30658. t5 = t4.rulesToExtend;
  30659. (t5 == null ? t4.rulesToExtend = P.LinkedHashSet_LinkedHashSet(X.ModifiableCssStyleRule) : t5).addAll$1(0, rulesForTarget);
  30660. }
  30661. t1 = t1._extensions;
  30662. existingSources = t1.$index(0, target);
  30663. if (existingSources == null) {
  30664. t4 = _this.extender;
  30665. t1.$indexSet(0, target, t4.get$_extensions().$index(0, target));
  30666. if (!t2 || t3) {
  30667. t1 = _this._box_0;
  30668. t2 = t1.newExtensions;
  30669. t1 = t2 == null ? t1.newExtensions = P.LinkedHashMap_LinkedHashMap$_empty(M.SimpleSelector, [P.Map, S.ComplexSelector, S.Extension]) : t2;
  30670. t1.$indexSet(0, target, t4.get$_extensions().$index(0, target));
  30671. }
  30672. } else
  30673. newSources.forEach$1(0, new F.Extender_addExtensions__closure(_this._box_0, existingSources, extensionsForTarget, rulesForTarget, target));
  30674. }
  30675. };
  30676. F.Extender_addExtensions__closure.prototype = {
  30677. call$2: function(extender, extension) {
  30678. var t2, _this = this,
  30679. t1 = _this.existingSources;
  30680. if (t1.containsKey$1(extender))
  30681. return;
  30682. t1.$indexSet(0, extender, extension);
  30683. if (_this.extensionsForTarget != null || _this.rulesForTarget != null) {
  30684. t1 = _this._box_0;
  30685. t2 = t1.newExtensions;
  30686. t1 = t2 == null ? t1.newExtensions = P.LinkedHashMap_LinkedHashMap$_empty(M.SimpleSelector, [P.Map, S.ComplexSelector, S.Extension]) : t2;
  30687. t1.putIfAbsent$2(_this.target, new F.Extender_addExtensions___closure()).putIfAbsent$2(extender, new F.Extender_addExtensions___closure0(extension));
  30688. }
  30689. }
  30690. };
  30691. F.Extender_addExtensions___closure.prototype = {
  30692. call$0: function() {
  30693. return P.LinkedHashMap_LinkedHashMap$_empty(S.ComplexSelector, S.Extension);
  30694. }
  30695. };
  30696. F.Extender_addExtensions___closure0.prototype = {
  30697. call$0: function() {
  30698. return this.extension;
  30699. }
  30700. };
  30701. F.Extender__extendList_closure.prototype = {
  30702. call$1: function(complex) {
  30703. return complex != null;
  30704. }
  30705. };
  30706. F.Extender__extendComplex_closure.prototype = {
  30707. call$1: function(component) {
  30708. return H.setRuntimeTypeInfo([S.ComplexSelector$(H.setRuntimeTypeInfo([component], [S.ComplexSelectorComponent]), this.complex.lineBreak)], [S.ComplexSelector]);
  30709. }
  30710. };
  30711. F.Extender__extendComplex_closure0.prototype = {
  30712. call$1: function(path) {
  30713. var t1 = Y.weave(J.map$1$1$ax(path, new F.Extender__extendComplex__closure(), [P.List, S.ComplexSelectorComponent]).toList$0(0));
  30714. return new H.MappedListIterable(t1, new F.Extender__extendComplex__closure0(this._box_0, this.$this, this.complex, path), [H.getTypeArgumentByIndex(t1, 0), S.ComplexSelector]);
  30715. }
  30716. };
  30717. F.Extender__extendComplex__closure.prototype = {
  30718. call$1: function(complex) {
  30719. return complex.components;
  30720. }
  30721. };
  30722. F.Extender__extendComplex__closure0.prototype = {
  30723. call$1: function(components) {
  30724. var _this = this,
  30725. t1 = _this.complex,
  30726. outputComplex = S.ComplexSelector$(components, t1.lineBreak || J.any$1$ax(_this.path, new F.Extender__extendComplex___closure())),
  30727. t2 = _this._box_0;
  30728. if (t2.first && _this.$this._originals.contains$1(0, t1))
  30729. _this.$this._originals.add$1(0, outputComplex);
  30730. t2.first = false;
  30731. return outputComplex;
  30732. }
  30733. };
  30734. F.Extender__extendComplex___closure.prototype = {
  30735. call$1: function(inputComplex) {
  30736. return inputComplex.lineBreak;
  30737. }
  30738. };
  30739. F.Extender__extendCompound_closure.prototype = {
  30740. call$1: function(state) {
  30741. state.assertCompatibleMediaContext$1(this.mediaQueryContext);
  30742. return state.extender;
  30743. }
  30744. };
  30745. F.Extender__extendCompound_closure0.prototype = {
  30746. call$1: function(path) {
  30747. var complexes, toUnify, originals, t3, specificity, _this = this, _box_0 = {},
  30748. t1 = _this._box_1,
  30749. t2 = [P.List, S.ComplexSelectorComponent];
  30750. if (t1.first) {
  30751. t1.first = false;
  30752. complexes = H.setRuntimeTypeInfo([H.setRuntimeTypeInfo([X.CompoundSelector$(J.expand$1$1$ax(path, new F.Extender__extendCompound__closure(), M.SimpleSelector))], [S.ComplexSelectorComponent])], [t2]);
  30753. } else {
  30754. toUnify = Q.QueueList$(null, t2);
  30755. for (t1 = J.get$iterator$ax(path), t2 = [M.SimpleSelector], originals = null; t1.moveNext$0();) {
  30756. t3 = t1.get$current(t1);
  30757. if (t3.isOriginal) {
  30758. if (originals == null)
  30759. originals = H.setRuntimeTypeInfo([], t2);
  30760. C.JSArray_methods.addAll$1(originals, H.interceptedTypeCast(C.JSArray_methods.get$last(t3.extender.components), "$isCompoundSelector").components);
  30761. } else
  30762. toUnify._queue_list$_add$1(t3.extender.components);
  30763. }
  30764. if (originals != null)
  30765. toUnify.addFirst$1(H.setRuntimeTypeInfo([X.CompoundSelector$(originals)], [S.ComplexSelectorComponent]));
  30766. complexes = Y.unifyComplex(toUnify);
  30767. if (complexes == null)
  30768. return;
  30769. }
  30770. _box_0.lineBreak = false;
  30771. specificity = _this.$this._sourceSpecificityFor$1(_this.compound);
  30772. for (t1 = J.get$iterator$ax(path), t2 = _this.mediaQueryContext; t1.moveNext$0();) {
  30773. t3 = t1.get$current(t1);
  30774. t3.assertCompatibleMediaContext$1(t2);
  30775. _box_0.lineBreak = _box_0.lineBreak || t3.extender.lineBreak;
  30776. specificity = Math.max(specificity, H.checkNum(t3.specificity));
  30777. }
  30778. return J.map$1$1$ax(complexes, new F.Extender__extendCompound__closure0(_box_0), S.ComplexSelector).toList$0(0);
  30779. }
  30780. };
  30781. F.Extender__extendCompound__closure.prototype = {
  30782. call$1: function(state) {
  30783. return H.interceptedTypeCast(C.JSArray_methods.get$last(state.extender.components), "$isCompoundSelector").components;
  30784. }
  30785. };
  30786. F.Extender__extendCompound__closure0.prototype = {
  30787. call$1: function(components) {
  30788. return S.ComplexSelector$(components, this._box_0.lineBreak);
  30789. }
  30790. };
  30791. F.Extender__extendCompound_closure1.prototype = {
  30792. call$1: function(complexes) {
  30793. return complexes != null;
  30794. }
  30795. };
  30796. F.Extender__extendCompound_closure2.prototype = {
  30797. call$1: function(l) {
  30798. return l;
  30799. }
  30800. };
  30801. F.Extender__extendSimple_withoutPseudo.prototype = {
  30802. call$1: function(simple) {
  30803. var t1, t2,
  30804. extenders = this.extensions.$index(0, simple);
  30805. if (extenders == null)
  30806. return;
  30807. t1 = this.targetsUsed;
  30808. if (t1 != null)
  30809. t1.add$1(0, simple);
  30810. t1 = this.$this;
  30811. if (t1._mode === C.ExtendMode_replace) {
  30812. t1 = extenders.get$values();
  30813. return P.List_List$from(t1, true, H.getRuntimeTypeArgument(t1, "Iterable", 0));
  30814. }
  30815. t2 = H.setRuntimeTypeInfo([], [S.Extension]);
  30816. t2.push(t1._extensionForSimple$1(simple));
  30817. for (t1 = extenders.get$values(), t1 = t1.get$iterator(t1); t1.moveNext$0();)
  30818. t2.push(t1.get$current(t1));
  30819. return t2;
  30820. }
  30821. };
  30822. F.Extender__extendSimple_closure.prototype = {
  30823. call$1: function(pseudo) {
  30824. var t1 = this.withoutPseudo.call$1(pseudo);
  30825. return t1 == null ? H.setRuntimeTypeInfo([this.$this._extensionForSimple$1(pseudo)], [S.Extension]) : t1;
  30826. }
  30827. };
  30828. F.Extender__extendPseudo_closure.prototype = {
  30829. call$1: function(complex) {
  30830. return complex.components.length > 1;
  30831. }
  30832. };
  30833. F.Extender__extendPseudo_closure0.prototype = {
  30834. call$1: function(complex) {
  30835. return complex.components.length === 1;
  30836. }
  30837. };
  30838. F.Extender__extendPseudo_closure1.prototype = {
  30839. call$1: function(complex) {
  30840. return complex.components.length <= 1;
  30841. }
  30842. };
  30843. F.Extender__extendPseudo_closure2.prototype = {
  30844. call$1: function(complex) {
  30845. var innerPseudo, t2,
  30846. t1 = complex.components;
  30847. if (t1.length !== 1)
  30848. return H.setRuntimeTypeInfo([complex], [S.ComplexSelector]);
  30849. if (!(C.JSArray_methods.get$first(t1) instanceof X.CompoundSelector))
  30850. return H.setRuntimeTypeInfo([complex], [S.ComplexSelector]);
  30851. t1 = H.interceptedTypeCast(C.JSArray_methods.get$first(t1), "$isCompoundSelector").components;
  30852. if (t1.length !== 1)
  30853. return H.setRuntimeTypeInfo([complex], [S.ComplexSelector]);
  30854. if (!(C.JSArray_methods.get$first(t1) instanceof D.PseudoSelector))
  30855. return H.setRuntimeTypeInfo([complex], [S.ComplexSelector]);
  30856. innerPseudo = H.interceptedTypeCast(C.JSArray_methods.get$first(t1), "$isPseudoSelector");
  30857. t1 = innerPseudo.selector;
  30858. if (t1 == null)
  30859. return H.setRuntimeTypeInfo([complex], [S.ComplexSelector]);
  30860. t2 = this.pseudo;
  30861. switch (t2.normalizedName) {
  30862. case "not":
  30863. if (innerPseudo.normalizedName !== "matches")
  30864. return H.setRuntimeTypeInfo([], [S.ComplexSelector]);
  30865. return t1.components;
  30866. case "matches":
  30867. case "any":
  30868. case "current":
  30869. case "nth-child":
  30870. case "nth-last-child":
  30871. if (innerPseudo.name !== t2.name)
  30872. return H.setRuntimeTypeInfo([], [S.ComplexSelector]);
  30873. if (innerPseudo.argument != t2.argument)
  30874. return H.setRuntimeTypeInfo([], [S.ComplexSelector]);
  30875. return t1.components;
  30876. case "has":
  30877. case "host":
  30878. case "host-context":
  30879. case "slotted":
  30880. return H.setRuntimeTypeInfo([complex], [S.ComplexSelector]);
  30881. default:
  30882. return H.setRuntimeTypeInfo([], [S.ComplexSelector]);
  30883. }
  30884. }
  30885. };
  30886. F.Extender__extendPseudo_closure3.prototype = {
  30887. call$1: function(complex) {
  30888. var t1 = this.pseudo;
  30889. return D.PseudoSelector$(t1.name, t1.argument, !t1.isClass, D.SelectorList$(H.setRuntimeTypeInfo([complex], [S.ComplexSelector])));
  30890. }
  30891. };
  30892. F.Extender__trim_closure.prototype = {
  30893. call$1: function(complex2) {
  30894. return complex2.get$minSpecificity() >= this._box_0.maxSpecificity && Y.complexIsSuperselector(complex2.components, this.complex1.components);
  30895. }
  30896. };
  30897. F.Extender__trim_closure0.prototype = {
  30898. call$1: function(complex2) {
  30899. return complex2.get$minSpecificity() >= this._box_0.maxSpecificity && Y.complexIsSuperselector(complex2.components, this.complex1.components);
  30900. }
  30901. };
  30902. F.Extender_clone_closure.prototype = {
  30903. call$2: function(simple, rules) {
  30904. var t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, newRule, mediaContext, _this = this,
  30905. newRules = P.LinkedHashSet_LinkedHashSet(X.ModifiableCssStyleRule);
  30906. _this.newSelectors.$indexSet(0, simple, newRules);
  30907. for (t1 = rules.get$iterator(rules), t2 = B.ModifiableCssNode, t3 = [t2], t2 = [t2], t4 = _this.oldToNewRules, t5 = _this.$this._mediaContexts, t6 = [D.SelectorList], t7 = _this.newMediaContexts; t1.moveNext$0();) {
  30908. t8 = t1.get$current(t1);
  30909. t9 = t8.selector;
  30910. t10 = t9.value;
  30911. t11 = t8.span;
  30912. t12 = t8.originalSelector;
  30913. if (t12 == null)
  30914. t12 = t10;
  30915. t13 = H.setRuntimeTypeInfo([], t3);
  30916. newRule = new X.ModifiableCssStyleRule(new F.ModifiableCssValue(t10, t9.span, t6), t12, t11, new P.UnmodifiableListView(t13, t2), t13);
  30917. newRules.add$1(0, newRule);
  30918. t4.$indexSet(0, t8, newRule);
  30919. mediaContext = t5.$index(0, t8);
  30920. if (mediaContext != null)
  30921. t7.$indexSet(0, newRule, mediaContext);
  30922. }
  30923. }
  30924. };
  30925. S.Extension.prototype = {
  30926. assertCompatibleMediaContext$1: function(mediaContext) {
  30927. var t1 = this.mediaContext;
  30928. if (t1 == null)
  30929. return;
  30930. if (mediaContext != null && C.C_ListEquality.equals$2(t1, mediaContext))
  30931. return;
  30932. throw H.wrapException(E.SassException$("You may not @extend selectors across media queries.", this.span));
  30933. },
  30934. toString$0: function(_) {
  30935. var t1 = H.S(this.extender) + " {@extend " + H.S(this.target);
  30936. return t1 + (this.isOptional ? " !optional" : "") + "}";
  30937. },
  30938. get$target: function() {
  30939. return this.target;
  30940. }
  30941. };
  30942. Y.unifyComplex_closure.prototype = {
  30943. call$1: function(complex) {
  30944. var t1 = J.getInterceptor$asx(complex);
  30945. return t1.sublist$2(complex, 0, t1.get$length(complex) - 1);
  30946. }
  30947. };
  30948. Y._weaveParents_closure.prototype = {
  30949. call$2: function(group1, group2) {
  30950. var unified, t1;
  30951. if (C.C_ListEquality.equals$2(group1, group2))
  30952. return group1;
  30953. if (!(J.get$first$ax(group1) instanceof X.CompoundSelector) || !(J.get$first$ax(group2) instanceof X.CompoundSelector))
  30954. return;
  30955. if (Y.complexIsParentSuperselector(group1, group2))
  30956. return group2;
  30957. if (Y.complexIsParentSuperselector(group2, group1))
  30958. return group1;
  30959. if (!Y._mustUnify(group1, group2))
  30960. return;
  30961. unified = Y.unifyComplex(H.setRuntimeTypeInfo([group1, group2], [[P.List, S.ComplexSelectorComponent]]));
  30962. if (unified == null)
  30963. return;
  30964. t1 = J.getInterceptor$asx(unified);
  30965. if (t1.get$length(unified) > 1)
  30966. return;
  30967. return t1.get$first(unified);
  30968. }
  30969. };
  30970. Y._weaveParents_closure0.prototype = {
  30971. call$1: function(sequence) {
  30972. return Y.complexIsParentSuperselector(sequence.get$first(sequence), this.group);
  30973. }
  30974. };
  30975. Y._weaveParents_closure1.prototype = {
  30976. call$1: function(chunk) {
  30977. return J.expand$1$1$ax(chunk, new Y._weaveParents__closure1(), S.ComplexSelectorComponent);
  30978. }
  30979. };
  30980. Y._weaveParents__closure1.prototype = {
  30981. call$1: function(group) {
  30982. return group;
  30983. }
  30984. };
  30985. Y._weaveParents_closure2.prototype = {
  30986. call$1: function(sequence) {
  30987. return sequence.get$length(sequence) === 0;
  30988. }
  30989. };
  30990. Y._weaveParents_closure3.prototype = {
  30991. call$1: function(chunk) {
  30992. return J.expand$1$1$ax(chunk, new Y._weaveParents__closure0(), S.ComplexSelectorComponent);
  30993. }
  30994. };
  30995. Y._weaveParents__closure0.prototype = {
  30996. call$1: function(group) {
  30997. return group;
  30998. }
  30999. };
  31000. Y._weaveParents_closure4.prototype = {
  31001. call$1: function(choice) {
  31002. return J.get$isNotEmpty$asx(choice);
  31003. }
  31004. };
  31005. Y._weaveParents_closure5.prototype = {
  31006. call$1: function(path) {
  31007. var t1 = J.expand$1$1$ax(path, new Y._weaveParents__closure(), S.ComplexSelectorComponent);
  31008. return P.List_List$from(t1, true, H.getRuntimeTypeArgument(t1, "Iterable", 0));
  31009. }
  31010. };
  31011. Y._weaveParents__closure.prototype = {
  31012. call$1: function(group) {
  31013. return group;
  31014. }
  31015. };
  31016. Y._mustUnify_closure.prototype = {
  31017. call$1: function(component) {
  31018. return component instanceof X.CompoundSelector && C.JSArray_methods.any$1(component.components, new Y._mustUnify__closure(this.uniqueSelectors));
  31019. }
  31020. };
  31021. Y._mustUnify__closure.prototype = {
  31022. call$1: function(simple) {
  31023. var t1 = J.getInterceptor$(simple);
  31024. if (!t1.$isIDSelector)
  31025. t1 = !!t1.$isPseudoSelector && !simple.isClass;
  31026. else
  31027. t1 = true;
  31028. return t1 && this.uniqueSelectors.contains$1(0, simple);
  31029. }
  31030. };
  31031. Y.paths_closure.prototype = {
  31032. call$2: function(paths, choice) {
  31033. var t1 = this.T;
  31034. t1 = J.expand$1$1$ax(choice, new Y.paths__closure(paths, t1), [P.List, t1]);
  31035. return P.List_List$from(t1, true, H.getRuntimeTypeArgument(t1, "Iterable", 0));
  31036. }
  31037. };
  31038. Y.paths__closure.prototype = {
  31039. call$1: function(option) {
  31040. var t1 = this.T;
  31041. return J.map$1$1$ax(this.paths, new Y.paths___closure(option, t1), [P.List, t1]);
  31042. },
  31043. $signature: function() {
  31044. var t1 = this.T;
  31045. return {func: 1, ret: [P.Iterable, [P.List, t1]], args: [t1]};
  31046. }
  31047. };
  31048. Y.paths___closure.prototype = {
  31049. call$1: function(path) {
  31050. var t2,
  31051. t1 = H.setRuntimeTypeInfo([], [this.T]);
  31052. for (t2 = J.get$iterator$ax(path); t2.moveNext$0();)
  31053. t1.push(t2.get$current(t2));
  31054. t1.push(this.option);
  31055. return t1;
  31056. }
  31057. };
  31058. Y._hasRoot_closure.prototype = {
  31059. call$1: function(simple) {
  31060. return simple instanceof D.PseudoSelector && simple.isClass && simple.normalizedName === "root";
  31061. }
  31062. };
  31063. Y.listIsSuperslector_closure.prototype = {
  31064. call$1: function(complex1) {
  31065. return C.JSArray_methods.any$1(this.list1, new Y.listIsSuperslector__closure(complex1));
  31066. }
  31067. };
  31068. Y.listIsSuperslector__closure.prototype = {
  31069. call$1: function(complex2) {
  31070. return Y.complexIsSuperselector(complex2.components, this.complex1.components);
  31071. }
  31072. };
  31073. Y._simpleIsSuperselectorOfCompound_closure.prototype = {
  31074. call$1: function(theirSimple) {
  31075. var t1 = this.simple;
  31076. if (J.$eq$(t1, theirSimple))
  31077. return true;
  31078. if (theirSimple instanceof D.PseudoSelector && theirSimple.selector != null && $._subselectorPseudos.contains$1(0, theirSimple.normalizedName))
  31079. return C.JSArray_methods.every$1(theirSimple.selector.components, new Y._simpleIsSuperselectorOfCompound__closure(t1));
  31080. else
  31081. return false;
  31082. }
  31083. };
  31084. Y._simpleIsSuperselectorOfCompound__closure.prototype = {
  31085. call$1: function(complex) {
  31086. var t1 = complex.components;
  31087. if (t1.length !== 1)
  31088. return false;
  31089. return C.JSArray_methods.contains$1(H.interceptedTypeCast(C.JSArray_methods.get$single(t1), "$isCompoundSelector").components, this.simple);
  31090. }
  31091. };
  31092. Y._selectorPseudoIsSuperselector_closure.prototype = {
  31093. call$1: function(pseudo2) {
  31094. var t1 = pseudo2.selector;
  31095. return Y.listIsSuperslector(this.pseudo1.selector.components, t1.components);
  31096. }
  31097. };
  31098. Y._selectorPseudoIsSuperselector_closure0.prototype = {
  31099. call$1: function(complex1) {
  31100. var t1 = complex1.components,
  31101. t2 = H.setRuntimeTypeInfo([], [S.ComplexSelectorComponent]),
  31102. t3 = this.parents;
  31103. if (t3 != null)
  31104. for (t3 = t3.get$iterator(t3); t3.moveNext$0();)
  31105. t2.push(t3.get$current(t3));
  31106. t2.push(this.compound2);
  31107. return Y.complexIsSuperselector(t1, t2);
  31108. }
  31109. };
  31110. Y._selectorPseudoIsSuperselector_closure1.prototype = {
  31111. call$1: function(pseudo2) {
  31112. var t1 = pseudo2.selector;
  31113. return Y.listIsSuperslector(this.pseudo1.selector.components, t1.components);
  31114. }
  31115. };
  31116. Y._selectorPseudoIsSuperselector_closure2.prototype = {
  31117. call$1: function(complex) {
  31118. return C.JSArray_methods.any$1(this.compound2.components, new Y._selectorPseudoIsSuperselector__closure(complex, this.pseudo1));
  31119. }
  31120. };
  31121. Y._selectorPseudoIsSuperselector__closure.prototype = {
  31122. call$1: function(simple2) {
  31123. var compound1, _this = this,
  31124. t1 = J.getInterceptor$(simple2);
  31125. if (!!t1.$isTypeSelector) {
  31126. compound1 = C.JSArray_methods.get$last(_this.complex.components);
  31127. return compound1 instanceof X.CompoundSelector && C.JSArray_methods.any$1(compound1.components, new Y._selectorPseudoIsSuperselector___closure(simple2));
  31128. } else if (!!t1.$isIDSelector) {
  31129. compound1 = C.JSArray_methods.get$last(_this.complex.components);
  31130. return compound1 instanceof X.CompoundSelector && C.JSArray_methods.any$1(compound1.components, new Y._selectorPseudoIsSuperselector___closure0(simple2));
  31131. } else if (!!t1.$isPseudoSelector && simple2.name === _this.pseudo1.name && simple2.selector != null)
  31132. return Y.listIsSuperslector(simple2.selector.components, H.setRuntimeTypeInfo([_this.complex], [S.ComplexSelector]));
  31133. else
  31134. return false;
  31135. }
  31136. };
  31137. Y._selectorPseudoIsSuperselector___closure.prototype = {
  31138. call$1: function(simple1) {
  31139. var t1;
  31140. if (simple1 instanceof F.TypeSelector) {
  31141. t1 = this.simple2.name.$eq(0, simple1.name);
  31142. t1 = !t1;
  31143. } else
  31144. t1 = false;
  31145. return t1;
  31146. }
  31147. };
  31148. Y._selectorPseudoIsSuperselector___closure0.prototype = {
  31149. call$1: function(simple1) {
  31150. var t1;
  31151. if (simple1 instanceof N.IDSelector) {
  31152. t1 = simple1.name;
  31153. t1 = this.simple2.name !== t1;
  31154. } else
  31155. t1 = false;
  31156. return t1;
  31157. }
  31158. };
  31159. Y._selectorPseudoIsSuperselector_closure3.prototype = {
  31160. call$1: function(pseudo2) {
  31161. return J.$eq$(this.pseudo1.selector, pseudo2.selector);
  31162. }
  31163. };
  31164. Y._selectorPseudoIsSuperselector_closure4.prototype = {
  31165. call$1: function(pseudo2) {
  31166. var t1, t2;
  31167. if (pseudo2 instanceof D.PseudoSelector) {
  31168. t1 = this.pseudo1;
  31169. if (pseudo2.name === t1.name)
  31170. if (pseudo2.argument == t1.argument) {
  31171. t2 = pseudo2.selector;
  31172. t2 = Y.listIsSuperslector(t1.selector.components, t2.components);
  31173. t1 = t2;
  31174. } else
  31175. t1 = false;
  31176. else
  31177. t1 = false;
  31178. } else
  31179. t1 = false;
  31180. return t1;
  31181. }
  31182. };
  31183. Y._selectorPseudosNamed_closure.prototype = {
  31184. call$1: function(pseudo) {
  31185. return pseudo.isClass && pseudo.selector != null && pseudo.name === this.name;
  31186. }
  31187. };
  31188. A.MergedExtension.prototype = {
  31189. unmerge$0: function() {
  31190. var $async$self = this;
  31191. return P._makeSyncStarIterable(function() {
  31192. var $async$goto = 0, $async$handler = 1, $async$currentError, t1;
  31193. return function $async$unmerge$0($async$errorCode, $async$result) {
  31194. if ($async$errorCode === 1) {
  31195. $async$currentError = $async$result;
  31196. $async$goto = $async$handler;
  31197. }
  31198. while (true)
  31199. switch ($async$goto) {
  31200. case 0:
  31201. // Function start
  31202. t1 = $async$self.left;
  31203. $async$goto = !!t1.$isMergedExtension ? 2 : 4;
  31204. break;
  31205. case 2:
  31206. // then
  31207. $async$goto = 5;
  31208. return P._IterationMarker_yieldStar(t1.unmerge$0());
  31209. case 5:
  31210. // after yield
  31211. // goto join
  31212. $async$goto = 3;
  31213. break;
  31214. case 4:
  31215. // else
  31216. $async$goto = 6;
  31217. return t1;
  31218. case 6:
  31219. // after yield
  31220. case 3:
  31221. // join
  31222. $async$goto = 7;
  31223. return $async$self.right;
  31224. case 7:
  31225. // after yield
  31226. // implicit return
  31227. return P._IterationMarker_endOfIteration();
  31228. case 1:
  31229. // rethrow
  31230. return P._IterationMarker_uncaughtError($async$currentError);
  31231. }
  31232. };
  31233. }, S.Extension);
  31234. }
  31235. };
  31236. L.ExtendMode.prototype = {
  31237. toString$0: function(_) {
  31238. return this.name;
  31239. }
  31240. };
  31241. Y.closure37.prototype = {
  31242. call$1: function($arguments) {
  31243. var t1 = J.getInterceptor$asx($arguments);
  31244. return t1.$index($arguments, 0).get$isTruthy() ? t1.$index($arguments, 1) : t1.$index($arguments, 2);
  31245. },
  31246. $signature: 0
  31247. };
  31248. K.closure81.prototype = {
  31249. call$1: function($arguments) {
  31250. return K._rgb("rgb", $arguments);
  31251. },
  31252. $signature: 0
  31253. };
  31254. K.closure82.prototype = {
  31255. call$1: function($arguments) {
  31256. return K._rgb("rgb", $arguments);
  31257. },
  31258. $signature: 0
  31259. };
  31260. K.closure83.prototype = {
  31261. call$1: function($arguments) {
  31262. return K._rgbTwoArg("rgb", $arguments);
  31263. },
  31264. $signature: 0
  31265. };
  31266. K.closure84.prototype = {
  31267. call$1: function($arguments) {
  31268. var parsed = K._parseChannels("rgb", H.setRuntimeTypeInfo(["$red", "$green", "$blue"], [P.String]), J.get$first$ax($arguments));
  31269. return parsed instanceof D.SassString ? parsed : K._rgb("rgb", H.subtypeCast(parsed, "$isList", [F.Value], "$asList"));
  31270. },
  31271. $signature: 0
  31272. };
  31273. K.closure85.prototype = {
  31274. call$1: function($arguments) {
  31275. return K._rgb("rgba", $arguments);
  31276. },
  31277. $signature: 0
  31278. };
  31279. K.closure86.prototype = {
  31280. call$1: function($arguments) {
  31281. return K._rgb("rgba", $arguments);
  31282. },
  31283. $signature: 0
  31284. };
  31285. K.closure87.prototype = {
  31286. call$1: function($arguments) {
  31287. return K._rgbTwoArg("rgba", $arguments);
  31288. },
  31289. $signature: 0
  31290. };
  31291. K.closure88.prototype = {
  31292. call$1: function($arguments) {
  31293. var parsed = K._parseChannels("rgba", H.setRuntimeTypeInfo(["$red", "$green", "$blue"], [P.String]), J.get$first$ax($arguments));
  31294. return parsed instanceof D.SassString ? parsed : K._rgb("rgba", H.subtypeCast(parsed, "$isList", [F.Value], "$asList"));
  31295. },
  31296. $signature: 0
  31297. };
  31298. K.closure89.prototype = {
  31299. call$1: function($arguments) {
  31300. var color, t2,
  31301. t1 = J.getInterceptor$asx($arguments),
  31302. weight = t1.$index($arguments, 1).assertNumber$1("weight");
  31303. if (t1.$index($arguments, 0) instanceof T.SassNumber) {
  31304. if (weight.value !== 100 || !weight.hasUnit$1("%"))
  31305. throw H.wrapException("Only one argument may be passed to the plain-CSS invert() function.");
  31306. return K._functionString("invert", t1.take$1($arguments, 1));
  31307. }
  31308. color = t1.$index($arguments, 0).assertColor$1("color");
  31309. t1 = color.get$red();
  31310. t2 = color.get$green();
  31311. return K._mixColors(color.changeRgb$3$blue$green$red(255 - color.get$blue(), 255 - t2, 255 - t1), color, weight);
  31312. },
  31313. $signature: 0
  31314. };
  31315. K.closure90.prototype = {
  31316. call$1: function($arguments) {
  31317. return K._hsl("hsl", $arguments);
  31318. },
  31319. $signature: 0
  31320. };
  31321. K.closure91.prototype = {
  31322. call$1: function($arguments) {
  31323. return K._hsl("hsl", $arguments);
  31324. },
  31325. $signature: 0
  31326. };
  31327. K.closure92.prototype = {
  31328. call$1: function($arguments) {
  31329. var t1 = J.getInterceptor$asx($arguments);
  31330. if (t1.$index($arguments, 0).get$isVar() || t1.$index($arguments, 1).get$isVar())
  31331. return K._functionString("hsl", $arguments);
  31332. else
  31333. throw H.wrapException(E.SassScriptException$("Missing argument $lightness."));
  31334. },
  31335. $signature: 2
  31336. };
  31337. K.closure93.prototype = {
  31338. call$1: function($arguments) {
  31339. var parsed = K._parseChannels("hsl", H.setRuntimeTypeInfo(["$hue", "$saturation", "$lightness"], [P.String]), J.get$first$ax($arguments));
  31340. return parsed instanceof D.SassString ? parsed : K._hsl("hsl", H.subtypeCast(parsed, "$isList", [F.Value], "$asList"));
  31341. },
  31342. $signature: 0
  31343. };
  31344. K.closure94.prototype = {
  31345. call$1: function($arguments) {
  31346. return K._hsl("hsla", $arguments);
  31347. },
  31348. $signature: 0
  31349. };
  31350. K.closure95.prototype = {
  31351. call$1: function($arguments) {
  31352. return K._hsl("hsla", $arguments);
  31353. },
  31354. $signature: 0
  31355. };
  31356. K.closure96.prototype = {
  31357. call$1: function($arguments) {
  31358. var t1 = J.getInterceptor$asx($arguments);
  31359. if (t1.$index($arguments, 0).get$isVar() || t1.$index($arguments, 1).get$isVar())
  31360. return K._functionString("hsla", $arguments);
  31361. else
  31362. throw H.wrapException(E.SassScriptException$("Missing argument $lightness."));
  31363. },
  31364. $signature: 2
  31365. };
  31366. K.closure97.prototype = {
  31367. call$1: function($arguments) {
  31368. var parsed = K._parseChannels("hsla", H.setRuntimeTypeInfo(["$hue", "$saturation", "$lightness"], [P.String]), J.get$first$ax($arguments));
  31369. return parsed instanceof D.SassString ? parsed : K._hsl("hsla", H.subtypeCast(parsed, "$isList", [F.Value], "$asList"));
  31370. },
  31371. $signature: 0
  31372. };
  31373. K.closure98.prototype = {
  31374. call$1: function($arguments) {
  31375. var t1 = J.getInterceptor$asx($arguments);
  31376. if (t1.$index($arguments, 0) instanceof T.SassNumber)
  31377. return K._functionString("grayscale", $arguments);
  31378. return t1.$index($arguments, 0).assertColor$1("color").changeHsl$1$saturation(0);
  31379. },
  31380. $signature: 0
  31381. };
  31382. K.closure99.prototype = {
  31383. call$1: function($arguments) {
  31384. var t1 = J.getInterceptor$asx($arguments),
  31385. color = t1.$index($arguments, 0).assertColor$1("color"),
  31386. amount = t1.$index($arguments, 1).assertNumber$1("amount");
  31387. return color.changeHsl$1$lightness(C.JSNumber_methods.clamp$2(color.get$lightness() + amount.valueInRange$3(0, 100, "amount"), 0, 100));
  31388. },
  31389. $signature: 5
  31390. };
  31391. K.closure100.prototype = {
  31392. call$1: function($arguments) {
  31393. var t1 = J.getInterceptor$asx($arguments),
  31394. color = t1.$index($arguments, 0).assertColor$1("color"),
  31395. amount = t1.$index($arguments, 1).assertNumber$1("amount");
  31396. return color.changeHsl$1$lightness(C.JSNumber_methods.clamp$2(color.get$lightness() - amount.valueInRange$3(0, 100, "amount"), 0, 100));
  31397. },
  31398. $signature: 5
  31399. };
  31400. K.closure101.prototype = {
  31401. call$1: function($arguments) {
  31402. return new D.SassString("saturate(" + N.serializeValue(J.$index$asx($arguments, 0).assertNumber$1("amount"), false, true) + ")", false);
  31403. },
  31404. $signature: 2
  31405. };
  31406. K.closure102.prototype = {
  31407. call$1: function($arguments) {
  31408. var t1 = J.getInterceptor$asx($arguments),
  31409. color = t1.$index($arguments, 0).assertColor$1("color"),
  31410. amount = t1.$index($arguments, 1).assertNumber$1("amount");
  31411. return color.changeHsl$1$saturation(C.JSNumber_methods.clamp$2(color.get$saturation() + amount.valueInRange$3(0, 100, "amount"), 0, 100));
  31412. },
  31413. $signature: 5
  31414. };
  31415. K.closure103.prototype = {
  31416. call$1: function($arguments) {
  31417. var t1 = J.getInterceptor$asx($arguments),
  31418. color = t1.$index($arguments, 0).assertColor$1("color"),
  31419. amount = t1.$index($arguments, 1).assertNumber$1("amount");
  31420. return color.changeHsl$1$saturation(C.JSNumber_methods.clamp$2(color.get$saturation() - amount.valueInRange$3(0, 100, "amount"), 0, 100));
  31421. },
  31422. $signature: 5
  31423. };
  31424. K.closure104.prototype = {
  31425. call$1: function($arguments) {
  31426. var color,
  31427. argument = J.$index$asx($arguments, 0);
  31428. if (argument instanceof D.SassString && !argument.hasQuotes && J.contains$1$asx(argument.text, $.$get$_microsoftFilterStart()))
  31429. return K._functionString("alpha", $arguments);
  31430. color = argument.assertColor$1("color");
  31431. return new T.SassNumber(color.alpha, C.List_empty0, C.List_empty0, null);
  31432. },
  31433. $signature: 0
  31434. };
  31435. K.closure105.prototype = {
  31436. call$1: function($arguments) {
  31437. var t1,
  31438. argList = J.$index$asx($arguments, 0).get$asList();
  31439. if (argList.length !== 0 && C.JSArray_methods.every$1(argList, new K._closure17()))
  31440. return K._functionString("alpha", $arguments);
  31441. t1 = argList.length;
  31442. if (t1 === 0)
  31443. throw H.wrapException(E.SassScriptException$("Missing argument $color."));
  31444. else
  31445. throw H.wrapException(E.SassScriptException$("Only 1 argument allowed, but " + t1 + " were passed."));
  31446. },
  31447. $signature: 2
  31448. };
  31449. K._closure17.prototype = {
  31450. call$1: function(argument) {
  31451. return argument instanceof D.SassString && !argument.hasQuotes && J.contains$1$asx(argument.text, $.$get$_microsoftFilterStart());
  31452. }
  31453. };
  31454. K.closure106.prototype = {
  31455. call$1: function($arguments) {
  31456. var color,
  31457. t1 = J.getInterceptor$asx($arguments);
  31458. if (t1.$index($arguments, 0) instanceof T.SassNumber)
  31459. return K._functionString("opacity", $arguments);
  31460. color = t1.$index($arguments, 0).assertColor$1("color");
  31461. return new T.SassNumber(color.alpha, C.List_empty0, C.List_empty0, null);
  31462. },
  31463. $signature: 0
  31464. };
  31465. K.closure120.prototype = {
  31466. call$1: function($arguments) {
  31467. var result, color, t2,
  31468. t1 = J.getInterceptor$asx($arguments),
  31469. weight = t1.$index($arguments, 1).assertNumber$1("weight");
  31470. if (t1.$index($arguments, 0) instanceof T.SassNumber) {
  31471. if (weight.value !== 100 || !weight.hasUnit$1("%"))
  31472. throw H.wrapException("Only one argument may be passed to the plain-CSS invert() function.");
  31473. result = K._functionString("invert", t1.take$1($arguments, 1));
  31474. N.warn("Passing a number to color.invert() is deprecated.\n\nRecommendation: " + result.toString$0(0), false);
  31475. return result;
  31476. }
  31477. color = t1.$index($arguments, 0).assertColor$1("color");
  31478. t1 = color.get$red();
  31479. t2 = color.get$green();
  31480. return K._mixColors(color.changeRgb$3$blue$green$red(255 - color.get$blue(), 255 - t2, 255 - t1), color, weight);
  31481. },
  31482. $signature: 0
  31483. };
  31484. K.closure121.prototype = {
  31485. call$1: function($arguments) {
  31486. var result,
  31487. t1 = J.getInterceptor$asx($arguments);
  31488. if (t1.$index($arguments, 0) instanceof T.SassNumber) {
  31489. result = K._functionString("grayscale", t1.take$1($arguments, 1));
  31490. N.warn("Passing a number to color.grayscale() is deprecated.\n\nRecommendation: " + result.toString$0(0), false);
  31491. return result;
  31492. }
  31493. return t1.$index($arguments, 0).assertColor$1("color").changeHsl$1$saturation(0);
  31494. },
  31495. $signature: 0
  31496. };
  31497. K.closure122.prototype = {
  31498. call$1: function($arguments) {
  31499. var result, color,
  31500. argument = J.$index$asx($arguments, 0);
  31501. if (argument instanceof D.SassString && !argument.hasQuotes && J.contains$1$asx(argument.text, $.$get$_microsoftFilterStart())) {
  31502. result = K._functionString("alpha", $arguments);
  31503. N.warn("Using color.alpha() for a Microsoft filter is deprecated.\n\nRecommendation: " + result.toString$0(0), false);
  31504. return result;
  31505. }
  31506. color = argument.assertColor$1("color");
  31507. return new T.SassNumber(color.alpha, C.List_empty0, C.List_empty0, null);
  31508. },
  31509. $signature: 0
  31510. };
  31511. K.closure123.prototype = {
  31512. call$1: function($arguments) {
  31513. var result,
  31514. t1 = J.getInterceptor$asx($arguments);
  31515. if (C.JSArray_methods.every$1(t1.$index($arguments, 0).get$asList(), new K._closure18())) {
  31516. result = K._functionString("alpha", $arguments);
  31517. N.warn("Using color.alpha() for a Microsoft filter is deprecated.\n\nRecommendation: " + result.toString$0(0), false);
  31518. return result;
  31519. }
  31520. throw H.wrapException(E.SassScriptException$("Only 1 argument allowed, but " + t1.get$length($arguments) + " were passed."));
  31521. },
  31522. $signature: 2
  31523. };
  31524. K._closure18.prototype = {
  31525. call$1: function(argument) {
  31526. return argument instanceof D.SassString && !argument.hasQuotes && J.contains$1$asx(argument.text, $.$get$_microsoftFilterStart());
  31527. }
  31528. };
  31529. K.closure124.prototype = {
  31530. call$1: function($arguments) {
  31531. var result, color,
  31532. t1 = J.getInterceptor$asx($arguments);
  31533. if (t1.$index($arguments, 0) instanceof T.SassNumber) {
  31534. result = K._functionString("opacity", $arguments);
  31535. N.warn("Passing a number to color.opacity() is deprecated.\n\nRecommendation: " + result.toString$0(0), false);
  31536. return result;
  31537. }
  31538. color = t1.$index($arguments, 0).assertColor$1("color");
  31539. return new T.SassNumber(color.alpha, C.List_empty0, C.List_empty0, null);
  31540. },
  31541. $signature: 0
  31542. };
  31543. K.closure119.prototype = {
  31544. call$1: function($arguments) {
  31545. var t1 = J.get$first$ax($arguments).assertColor$1("color").get$red();
  31546. return new T.SassNumber(t1, C.List_empty0, C.List_empty0, null);
  31547. },
  31548. $signature: 4
  31549. };
  31550. K.closure118.prototype = {
  31551. call$1: function($arguments) {
  31552. var t1 = J.get$first$ax($arguments).assertColor$1("color").get$green();
  31553. return new T.SassNumber(t1, C.List_empty0, C.List_empty0, null);
  31554. },
  31555. $signature: 4
  31556. };
  31557. K.closure117.prototype = {
  31558. call$1: function($arguments) {
  31559. var t1 = J.get$first$ax($arguments).assertColor$1("color").get$blue();
  31560. return new T.SassNumber(t1, C.List_empty0, C.List_empty0, null);
  31561. },
  31562. $signature: 4
  31563. };
  31564. K.closure116.prototype = {
  31565. call$1: function($arguments) {
  31566. var t1 = J.getInterceptor$asx($arguments);
  31567. return K._mixColors(t1.$index($arguments, 0).assertColor$1("color1"), t1.$index($arguments, 1).assertColor$1("color2"), t1.$index($arguments, 2).assertNumber$1("weight"));
  31568. },
  31569. $signature: 5
  31570. };
  31571. K.closure115.prototype = {
  31572. call$1: function($arguments) {
  31573. var t1 = J.get$first$ax($arguments).assertColor$1("color").get$hue(),
  31574. t2 = P.String,
  31575. t3 = H.setRuntimeTypeInfo(["deg"], [t2]);
  31576. t2 = P.List_List$unmodifiable(t3, t2);
  31577. return new T.SassNumber(t1, t2, C.List_empty0, null);
  31578. },
  31579. $signature: 4
  31580. };
  31581. K.closure114.prototype = {
  31582. call$1: function($arguments) {
  31583. var t1 = J.get$first$ax($arguments).assertColor$1("color").get$saturation(),
  31584. t2 = P.String,
  31585. t3 = H.setRuntimeTypeInfo(["%"], [t2]);
  31586. t2 = P.List_List$unmodifiable(t3, t2);
  31587. return new T.SassNumber(t1, t2, C.List_empty0, null);
  31588. },
  31589. $signature: 4
  31590. };
  31591. K.closure113.prototype = {
  31592. call$1: function($arguments) {
  31593. var t1 = J.get$first$ax($arguments).assertColor$1("color").get$lightness(),
  31594. t2 = P.String,
  31595. t3 = H.setRuntimeTypeInfo(["%"], [t2]);
  31596. t2 = P.List_List$unmodifiable(t3, t2);
  31597. return new T.SassNumber(t1, t2, C.List_empty0, null);
  31598. },
  31599. $signature: 4
  31600. };
  31601. K.closure112.prototype = {
  31602. call$1: function($arguments) {
  31603. var t1 = J.getInterceptor$asx($arguments),
  31604. color = t1.$index($arguments, 0).assertColor$1("color"),
  31605. degrees = t1.$index($arguments, 1).assertNumber$1("degrees");
  31606. return color.changeHsl$1$hue(color.get$hue() + degrees.value);
  31607. },
  31608. $signature: 5
  31609. };
  31610. K.closure111.prototype = {
  31611. call$1: function($arguments) {
  31612. var color = J.$index$asx($arguments, 0).assertColor$1("color");
  31613. return color.changeHsl$1$hue(color.get$hue() + 180);
  31614. },
  31615. $signature: 5
  31616. };
  31617. K.closure109.prototype = {
  31618. call$1: function($arguments) {
  31619. var keywords, t2, red, green, blue, hue, saturation, lightness, alpha, hasRgb, hasHsl, t3, t4, t5, _null = null,
  31620. t1 = J.getInterceptor$asx($arguments),
  31621. color = t1.$index($arguments, 0).assertColor$1("color"),
  31622. argumentList = H.interceptedTypeCast(t1.$index($arguments, 1), "$isSassArgumentList");
  31623. if (argumentList._list$_contents.length !== 0)
  31624. throw H.wrapException(E.SassScriptException$("Only one positional argument is allowed. All other arguments must be passed by name."));
  31625. argumentList._wereKeywordsAccessed = true;
  31626. keywords = P.LinkedHashMap_LinkedHashMap$of(argumentList._keywords, P.String, F.Value);
  31627. t1 = new K.closure_getInRange0(keywords);
  31628. t2 = t1.call$3("red", -255, 255);
  31629. red = t2 == null ? _null : T.fuzzyRound(t2);
  31630. t2 = t1.call$3("green", -255, 255);
  31631. green = t2 == null ? _null : T.fuzzyRound(t2);
  31632. t2 = t1.call$3("blue", -255, 255);
  31633. blue = t2 == null ? _null : T.fuzzyRound(t2);
  31634. t2 = keywords.remove$1(0, "hue");
  31635. t2 = t2 == null ? _null : t2.assertNumber$1("hue");
  31636. hue = t2 == null ? _null : t2.value;
  31637. saturation = t1.call$3("saturation", -100, 100);
  31638. lightness = t1.call$3("lightness", -100, 100);
  31639. alpha = t1.call$3("alpha", -1, 1);
  31640. if (keywords.get$isNotEmpty(keywords))
  31641. throw H.wrapException(E.SassScriptException$("No " + B.pluralize("argument", keywords.get$length(keywords), _null) + " named " + H.S(B.toSentence(keywords.get$keys().map$1$1(0, new K._closure16(), P.Object), "or")) + "."));
  31642. t1 = red == null;
  31643. hasRgb = !t1 || green != null || blue != null;
  31644. t2 = hue == null;
  31645. hasHsl = !t2 || saturation != null || lightness != null;
  31646. if (hasRgb) {
  31647. if (hasHsl)
  31648. throw H.wrapException(E.SassScriptException$("RGB parameters may not be passed along with HSL parameters."));
  31649. t2 = color.get$red();
  31650. t2 = H.intTypeCast(C.JSInt_methods.clamp$2(t2 + (t1 ? 0 : red), 0, 255));
  31651. t3 = color.get$green();
  31652. t1 = H.intTypeCast(C.JSInt_methods.clamp$2(t3 + (green == null ? 0 : green), 0, 255));
  31653. t3 = color.get$blue();
  31654. t3 = H.intTypeCast(C.JSInt_methods.clamp$2(t3 + (blue == null ? 0 : blue), 0, 255));
  31655. t4 = alpha == null ? 0 : alpha;
  31656. return color.changeRgb$4$alpha$blue$green$red(C.JSNumber_methods.clamp$2(color.alpha + t4, 0, 1), t3, t1, t2);
  31657. } else if (hasHsl) {
  31658. t1 = color.get$hue();
  31659. t2 = t2 ? 0 : hue;
  31660. t3 = color.get$saturation();
  31661. t3 = C.JSNumber_methods.clamp$2(t3 + (saturation == null ? 0 : saturation), 0, 100);
  31662. t4 = color.get$lightness();
  31663. t4 = C.JSNumber_methods.clamp$2(t4 + (lightness == null ? 0 : lightness), 0, 100);
  31664. t5 = alpha == null ? 0 : alpha;
  31665. return color.changeHsl$4$alpha$hue$lightness$saturation(C.JSNumber_methods.clamp$2(color.alpha + t5, 0, 1), t1 + t2, t4, t3);
  31666. } else if (alpha != null)
  31667. return color.changeAlpha$1(C.JSNumber_methods.clamp$2(color.alpha + alpha, 0, 1));
  31668. else
  31669. return color;
  31670. },
  31671. $signature: 5
  31672. };
  31673. K.closure_getInRange0.prototype = {
  31674. call$3: function($name, min, max) {
  31675. var t1 = this.keywords.remove$1(0, $name);
  31676. t1 = t1 == null ? null : t1.assertNumber$1($name);
  31677. return t1 == null ? null : t1.valueInRange$3(min, max, $name);
  31678. }
  31679. };
  31680. K._closure16.prototype = {
  31681. call$1: function($name) {
  31682. return "$" + H.S($name);
  31683. }
  31684. };
  31685. K.closure108.prototype = {
  31686. call$1: function($arguments) {
  31687. var keywords, t2, red, green, blue, saturation, lightness, alpha, hasRgb, hasHsl, t3, t4,
  31688. t1 = J.getInterceptor$asx($arguments),
  31689. color = t1.$index($arguments, 0).assertColor$1("color"),
  31690. argumentList = H.interceptedTypeCast(t1.$index($arguments, 1), "$isSassArgumentList");
  31691. if (argumentList._list$_contents.length !== 0)
  31692. throw H.wrapException(E.SassScriptException$("Only one positional argument is allowed. All other arguments must be passed by name."));
  31693. argumentList._wereKeywordsAccessed = true;
  31694. keywords = P.LinkedHashMap_LinkedHashMap$of(argumentList._keywords, P.String, F.Value);
  31695. t1 = new K.closure_getScale(keywords);
  31696. t2 = new K.closure_scaleValue();
  31697. red = t1.call$1("red");
  31698. green = t1.call$1("green");
  31699. blue = t1.call$1("blue");
  31700. saturation = t1.call$1("saturation");
  31701. lightness = t1.call$1("lightness");
  31702. alpha = t1.call$1("alpha");
  31703. if (keywords.get$isNotEmpty(keywords))
  31704. throw H.wrapException(E.SassScriptException$("No " + B.pluralize("argument", keywords.get$length(keywords), null) + " named " + H.S(B.toSentence(keywords.get$keys().map$1$1(0, new K._closure15(), P.Object), "or")) + "."));
  31705. hasRgb = red != null || green != null || blue != null;
  31706. hasHsl = saturation != null || lightness != null;
  31707. if (hasRgb) {
  31708. if (hasHsl)
  31709. throw H.wrapException(E.SassScriptException$("RGB parameters may not be passed along with HSL parameters."));
  31710. t1 = T.fuzzyRound(t2.call$3(color.get$red(), red, 255));
  31711. t3 = T.fuzzyRound(t2.call$3(color.get$green(), green, 255));
  31712. t4 = T.fuzzyRound(t2.call$3(color.get$blue(), blue, 255));
  31713. return color.changeRgb$4$alpha$blue$green$red(t2.call$3(color.alpha, alpha, 1), t4, t3, t1);
  31714. } else if (hasHsl) {
  31715. t1 = t2.call$3(color.get$saturation(), saturation, 100);
  31716. t3 = t2.call$3(color.get$lightness(), lightness, 100);
  31717. return color.changeHsl$3$alpha$lightness$saturation(t2.call$3(color.alpha, alpha, 1), t3, t1);
  31718. } else if (alpha != null)
  31719. return color.changeAlpha$1(t2.call$3(color.alpha, alpha, 1));
  31720. else
  31721. return color;
  31722. },
  31723. $signature: 5
  31724. };
  31725. K.closure_getScale.prototype = {
  31726. call$1: function($name) {
  31727. var number,
  31728. value = this.keywords.remove$1(0, $name);
  31729. if (value == null)
  31730. return;
  31731. number = value.assertNumber$1($name);
  31732. number.assertUnit$2("%", $name);
  31733. return number.valueInRange$3(-100, 100, $name) / 100;
  31734. }
  31735. };
  31736. K.closure_scaleValue.prototype = {
  31737. call$3: function(current, scale, max) {
  31738. if (scale == null)
  31739. return current;
  31740. return current + (scale > 0 ? max - current : current) * scale;
  31741. }
  31742. };
  31743. K._closure15.prototype = {
  31744. call$1: function($name) {
  31745. return "$" + H.S($name);
  31746. }
  31747. };
  31748. K.closure107.prototype = {
  31749. call$1: function($arguments) {
  31750. var keywords, t2, red, green, blue, hue, saturation, lightness, alpha, hasRgb, hasHsl, _null = null,
  31751. t1 = J.getInterceptor$asx($arguments),
  31752. color = t1.$index($arguments, 0).assertColor$1("color"),
  31753. argumentList = H.interceptedTypeCast(t1.$index($arguments, 1), "$isSassArgumentList");
  31754. if (argumentList._list$_contents.length !== 0)
  31755. throw H.wrapException(E.SassScriptException$("Only one positional argument is allowed. All other arguments must be passed by name."));
  31756. argumentList._wereKeywordsAccessed = true;
  31757. keywords = P.LinkedHashMap_LinkedHashMap$of(argumentList._keywords, P.String, F.Value);
  31758. t1 = new K.closure_getInRange(keywords);
  31759. t2 = t1.call$3("red", 0, 255);
  31760. red = t2 == null ? _null : T.fuzzyRound(t2);
  31761. t2 = t1.call$3("green", 0, 255);
  31762. green = t2 == null ? _null : T.fuzzyRound(t2);
  31763. t2 = t1.call$3("blue", 0, 255);
  31764. blue = t2 == null ? _null : T.fuzzyRound(t2);
  31765. t2 = keywords.remove$1(0, "hue");
  31766. t2 = t2 == null ? _null : t2.assertNumber$1("hue");
  31767. hue = t2 == null ? _null : t2.value;
  31768. saturation = t1.call$3("saturation", 0, 100);
  31769. lightness = t1.call$3("lightness", 0, 100);
  31770. alpha = t1.call$3("alpha", 0, 1);
  31771. if (keywords.get$isNotEmpty(keywords))
  31772. throw H.wrapException(E.SassScriptException$("No " + B.pluralize("argument", keywords.get$length(keywords), _null) + " named " + H.S(B.toSentence(keywords.get$keys().map$1$1(0, new K._closure14(), P.Object), "or")) + "."));
  31773. hasRgb = red != null || green != null || blue != null;
  31774. hasHsl = hue != null || saturation != null || lightness != null;
  31775. if (hasRgb) {
  31776. if (hasHsl)
  31777. throw H.wrapException(E.SassScriptException$("RGB parameters may not be passed along with HSL parameters."));
  31778. return color.changeRgb$4$alpha$blue$green$red(alpha, blue, green, red);
  31779. } else if (hasHsl)
  31780. return color.changeHsl$4$alpha$hue$lightness$saturation(alpha, hue, lightness, saturation);
  31781. else if (alpha != null)
  31782. return color.changeAlpha$1(alpha);
  31783. else
  31784. return color;
  31785. },
  31786. $signature: 5
  31787. };
  31788. K.closure_getInRange.prototype = {
  31789. call$3: function($name, min, max) {
  31790. var t1 = this.keywords.remove$1(0, $name);
  31791. t1 = t1 == null ? null : t1.assertNumber$1($name);
  31792. return t1 == null ? null : t1.valueInRange$3(min, max, $name);
  31793. }
  31794. };
  31795. K._closure14.prototype = {
  31796. call$1: function($name) {
  31797. return "$" + H.S($name);
  31798. }
  31799. };
  31800. K.closure110.prototype = {
  31801. call$1: function($arguments) {
  31802. var color = J.$index$asx($arguments, 0).assertColor$1("color"),
  31803. t1 = new K.closure_hexString();
  31804. return new D.SassString("#" + H.S(t1.call$1(T.fuzzyRound(color.alpha * 255))) + H.S(t1.call$1(color.get$red())) + H.S(t1.call$1(color.get$green())) + H.S(t1.call$1(color.get$blue())), false);
  31805. },
  31806. $signature: 2
  31807. };
  31808. K.closure_hexString.prototype = {
  31809. call$1: function(component) {
  31810. return C.JSString_methods.padLeft$2(J.toRadixString$1$n(component, 16), 2, "0").toUpperCase();
  31811. },
  31812. $signature: 20
  31813. };
  31814. K._functionString_closure.prototype = {
  31815. call$1: function(argument) {
  31816. argument.toString;
  31817. return N.serializeValue(argument, false, true);
  31818. }
  31819. };
  31820. K._removedColorFunction_closure.prototype = {
  31821. call$1: function($arguments) {
  31822. var t1 = this.name,
  31823. t2 = J.getInterceptor$asx($arguments),
  31824. t3 = "The function " + t1 + "() isn't in the new module system.\n\nRecommendation: color.adjust(" + H.S(t2.$index($arguments, 0)) + ", $" + this.argument + ": ";
  31825. throw H.wrapException(E.SassScriptException$(t3 + (this.negative ? "-" : "") + H.S(t2.$index($arguments, 1)) + ")\n\nMore info: https://sass-lang.com/documentation/functions/color#" + t1));
  31826. },
  31827. $signature: 48
  31828. };
  31829. K._parseChannels_closure.prototype = {
  31830. call$1: function(value) {
  31831. return value.get$isVar();
  31832. }
  31833. };
  31834. D.closure80.prototype = {
  31835. call$1: function($arguments) {
  31836. var t1 = J.$index$asx($arguments, 0).get$asList().length;
  31837. return new T.SassNumber(t1, C.List_empty0, C.List_empty0, null);
  31838. },
  31839. $signature: 4
  31840. };
  31841. D.closure79.prototype = {
  31842. call$1: function($arguments) {
  31843. var t1 = J.getInterceptor$asx($arguments),
  31844. list = t1.$index($arguments, 0),
  31845. index = t1.$index($arguments, 1);
  31846. return list.get$asList()[list.sassIndexToListIndex$2(index, "n")];
  31847. },
  31848. $signature: 0
  31849. };
  31850. D.closure78.prototype = {
  31851. call$1: function($arguments) {
  31852. var t1 = J.getInterceptor$asx($arguments),
  31853. list = t1.$index($arguments, 0),
  31854. index = t1.$index($arguments, 1),
  31855. value = t1.$index($arguments, 2),
  31856. t2 = list.get$asList(),
  31857. newList = H.setRuntimeTypeInfo(t2.slice(0), [H.getTypeArgumentByIndex(t2, 0)]);
  31858. newList[list.sassIndexToListIndex$2(index, "n")] = value;
  31859. return t1.$index($arguments, 0).changeListContents$1(newList);
  31860. },
  31861. $signature: 6
  31862. };
  31863. D.closure77.prototype = {
  31864. call$1: function($arguments) {
  31865. var separator, bracketed, t2, t3, _i,
  31866. t1 = J.getInterceptor$asx($arguments),
  31867. list1 = t1.$index($arguments, 0),
  31868. list2 = t1.$index($arguments, 1),
  31869. separatorParam = t1.$index($arguments, 2).assertString$1("separator"),
  31870. bracketedParam = t1.$index($arguments, 3);
  31871. t1 = separatorParam.text;
  31872. if (t1 === "auto")
  31873. if (list1.get$separator() !== C.ListSeparator_undecided)
  31874. separator = list1.get$separator();
  31875. else
  31876. separator = list2.get$separator() !== C.ListSeparator_undecided ? list2.get$separator() : C.ListSeparator_space;
  31877. else if (t1 === "space")
  31878. separator = C.ListSeparator_space;
  31879. else {
  31880. if (t1 !== "comma")
  31881. throw H.wrapException(E.SassScriptException$('$separator: Must be "space", "comma", or "auto".'));
  31882. separator = C.ListSeparator_comma;
  31883. }
  31884. bracketed = bracketedParam instanceof D.SassString && bracketedParam.text === "auto" ? list1.get$hasBrackets() : bracketedParam.get$isTruthy();
  31885. t1 = H.setRuntimeTypeInfo([], [F.Value]);
  31886. for (t2 = list1.get$asList(), t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i)
  31887. t1.push(t2[_i]);
  31888. for (t2 = list2.get$asList(), t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i)
  31889. t1.push(t2[_i]);
  31890. return D.SassList$(t1, separator, bracketed);
  31891. },
  31892. $signature: 6
  31893. };
  31894. D.closure76.prototype = {
  31895. call$1: function($arguments) {
  31896. var separator, t2, t3, _i,
  31897. t1 = J.getInterceptor$asx($arguments),
  31898. list = t1.$index($arguments, 0),
  31899. value = t1.$index($arguments, 1);
  31900. t1 = t1.$index($arguments, 2).assertString$1("separator").text;
  31901. if (t1 === "auto")
  31902. separator = list.get$separator() === C.ListSeparator_undecided ? C.ListSeparator_space : list.get$separator();
  31903. else if (t1 === "space")
  31904. separator = C.ListSeparator_space;
  31905. else {
  31906. if (t1 !== "comma")
  31907. throw H.wrapException(E.SassScriptException$('$separator: Must be "space", "comma", or "auto".'));
  31908. separator = C.ListSeparator_comma;
  31909. }
  31910. t1 = H.setRuntimeTypeInfo([], [F.Value]);
  31911. for (t2 = list.get$asList(), t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i)
  31912. t1.push(t2[_i]);
  31913. t1.push(value);
  31914. return list.changeListContents$2$separator(t1, separator);
  31915. },
  31916. $signature: 6
  31917. };
  31918. D.closure75.prototype = {
  31919. call$1: function($arguments) {
  31920. var results, t2, result, _box_0 = {},
  31921. t1 = J.$index$asx($arguments, 0).get$asList(),
  31922. lists = new H.MappedListIterable(t1, new D._closure11(), [H.getTypeArgumentByIndex(t1, 0), [P.List, F.Value]]).toList$0(0);
  31923. if (lists.length === 0)
  31924. return C.SassList_lmy;
  31925. _box_0.i = 0;
  31926. results = H.setRuntimeTypeInfo([], [D.SassList]);
  31927. for (t1 = F.Value, t2 = [H.getTypeArgumentByIndex(lists, 0), t1]; C.JSArray_methods.every$1(lists, new D._closure12(_box_0));) {
  31928. result = P.List_List$from(new H.MappedListIterable(lists, new D._closure13(_box_0), t2), false, t1);
  31929. result.fixed$length = Array;
  31930. result.immutable$list = Array;
  31931. results.push(new D.SassList(result, C.ListSeparator_space, false));
  31932. ++_box_0.i;
  31933. }
  31934. return D.SassList$(results, C.ListSeparator_comma, false);
  31935. },
  31936. $signature: 6
  31937. };
  31938. D._closure11.prototype = {
  31939. call$1: function(list) {
  31940. return list.get$asList();
  31941. }
  31942. };
  31943. D._closure12.prototype = {
  31944. call$1: function(list) {
  31945. return this._box_0.i !== J.get$length$asx(list);
  31946. }
  31947. };
  31948. D._closure13.prototype = {
  31949. call$1: function(list) {
  31950. return J.$index$asx(list, this._box_0.i);
  31951. },
  31952. $signature: 0
  31953. };
  31954. D.closure74.prototype = {
  31955. call$1: function($arguments) {
  31956. var t1 = J.getInterceptor$asx($arguments),
  31957. index = C.JSArray_methods.indexOf$1(t1.$index($arguments, 0).get$asList(), t1.$index($arguments, 1));
  31958. if (index === -1)
  31959. t1 = C.C_SassNull;
  31960. else
  31961. t1 = new T.SassNumber(index + 1, C.List_empty0, C.List_empty0, null);
  31962. return t1;
  31963. },
  31964. $signature: 0
  31965. };
  31966. D.closure72.prototype = {
  31967. call$1: function($arguments) {
  31968. return J.$index$asx($arguments, 0).get$separator() === C.ListSeparator_comma ? new D.SassString("comma", false) : new D.SassString("space", false);
  31969. },
  31970. $signature: 2
  31971. };
  31972. D.closure73.prototype = {
  31973. call$1: function($arguments) {
  31974. return J.$index$asx($arguments, 0).get$hasBrackets() ? C.SassBoolean_true : C.SassBoolean_false;
  31975. },
  31976. $signature: 3
  31977. };
  31978. A.closure71.prototype = {
  31979. call$1: function($arguments) {
  31980. var t1 = J.getInterceptor$asx($arguments);
  31981. t1 = t1.$index($arguments, 0).assertMap$1("map").contents.$index(0, t1.$index($arguments, 1));
  31982. return t1 == null ? C.C_SassNull : t1;
  31983. },
  31984. $signature: 0
  31985. };
  31986. A.closure70.prototype = {
  31987. call$1: function($arguments) {
  31988. var t2, t3, t4,
  31989. t1 = J.getInterceptor$asx($arguments),
  31990. map1 = t1.$index($arguments, 0).assertMap$1("map1"),
  31991. map2 = t1.$index($arguments, 1).assertMap$1("map2");
  31992. t1 = F.Value;
  31993. t2 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
  31994. for (t3 = map1.contents.get$entries(), t3 = t3.get$iterator(t3); t3.moveNext$0();) {
  31995. t4 = t3.get$current(t3);
  31996. t2.$indexSet(0, t4.key, t4.value);
  31997. }
  31998. for (t3 = map2.contents.get$entries(), t3 = t3.get$iterator(t3); t3.moveNext$0();) {
  31999. t4 = t3.get$current(t3);
  32000. t2.$indexSet(0, t4.key, t4.value);
  32001. }
  32002. return new A.SassMap(H.ConstantMap_ConstantMap$from(t2, t1, t1));
  32003. },
  32004. $signature: 9
  32005. };
  32006. A.closure68.prototype = {
  32007. call$1: function($arguments) {
  32008. return J.$index$asx($arguments, 0).assertMap$1("map");
  32009. },
  32010. $signature: 9
  32011. };
  32012. A.closure69.prototype = {
  32013. call$1: function($arguments) {
  32014. var t4, _i, mutableMap,
  32015. t1 = J.getInterceptor$asx($arguments),
  32016. map = t1.$index($arguments, 0).assertMap$1("map"),
  32017. t2 = F.Value,
  32018. t3 = H.setRuntimeTypeInfo([], [t2]);
  32019. t3.push(t1.$index($arguments, 1));
  32020. for (t1 = t1.$index($arguments, 2).get$asList(), t4 = t1.length, _i = 0; _i < t1.length; t1.length === t4 || (0, H.throwConcurrentModificationError)(t1), ++_i)
  32021. t3.push(t1[_i]);
  32022. mutableMap = P.LinkedHashMap_LinkedHashMap$of(map.contents, t2, t2);
  32023. for (t1 = t3.length, _i = 0; _i < t3.length; t3.length === t1 || (0, H.throwConcurrentModificationError)(t3), ++_i)
  32024. mutableMap.remove$1(0, t3[_i]);
  32025. return new A.SassMap(H.ConstantMap_ConstantMap$from(mutableMap, t2, t2));
  32026. },
  32027. $signature: 9
  32028. };
  32029. A.closure67.prototype = {
  32030. call$1: function($arguments) {
  32031. return D.SassList$(J.$index$asx($arguments, 0).assertMap$1("map").contents.get$keys(), C.ListSeparator_comma, false);
  32032. },
  32033. $signature: 6
  32034. };
  32035. A.closure66.prototype = {
  32036. call$1: function($arguments) {
  32037. return D.SassList$(J.$index$asx($arguments, 0).assertMap$1("map").contents.get$values(), C.ListSeparator_comma, false);
  32038. },
  32039. $signature: 6
  32040. };
  32041. A.closure65.prototype = {
  32042. call$1: function($arguments) {
  32043. var t1 = J.getInterceptor$asx($arguments);
  32044. return t1.$index($arguments, 0).assertMap$1("map").contents.containsKey$1(t1.$index($arguments, 1)) ? C.SassBoolean_true : C.SassBoolean_false;
  32045. },
  32046. $signature: 3
  32047. };
  32048. K.closure57.prototype = {
  32049. call$1: function($arguments) {
  32050. var t1, t2,
  32051. number = J.$index$asx($arguments, 0).assertNumber$1("number");
  32052. number.assertNoUnits$1("number");
  32053. t1 = P.String;
  32054. t2 = H.setRuntimeTypeInfo(["%"], [t1]);
  32055. t1 = P.List_List$unmodifiable(t2, t1);
  32056. return new T.SassNumber(number.value * 100, t1, C.List_empty0, null);
  32057. },
  32058. $signature: 4
  32059. };
  32060. K.closure64.prototype = {
  32061. call$1: function(value) {
  32062. return J.ceil$0$n(value);
  32063. },
  32064. $signature: 24
  32065. };
  32066. K.closure63.prototype = {
  32067. call$1: function(value) {
  32068. return J.floor$0$n(value);
  32069. },
  32070. $signature: 24
  32071. };
  32072. K.closure62.prototype = {
  32073. call$1: function(value) {
  32074. return Math.abs(value);
  32075. },
  32076. $signature: 77
  32077. };
  32078. K.closure61.prototype = {
  32079. call$1: function($arguments) {
  32080. var t1, t2, max, _i, number;
  32081. for (t1 = J.$index$asx($arguments, 0).get$asList(), t2 = t1.length, max = null, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
  32082. number = t1[_i].assertNumber$0();
  32083. if (max == null || max.lessThan$1(number).value)
  32084. max = number;
  32085. }
  32086. if (max != null)
  32087. return max;
  32088. throw H.wrapException(E.SassScriptException$("At least one argument must be passed."));
  32089. },
  32090. $signature: 4
  32091. };
  32092. K.closure60.prototype = {
  32093. call$1: function($arguments) {
  32094. var t1, t2, min, _i, number;
  32095. for (t1 = J.$index$asx($arguments, 0).get$asList(), t2 = t1.length, min = null, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
  32096. number = t1[_i].assertNumber$0();
  32097. if (min == null || min.greaterThan$1(number).value)
  32098. min = number;
  32099. }
  32100. if (min != null)
  32101. return min;
  32102. throw H.wrapException(E.SassScriptException$("At least one argument must be passed."));
  32103. },
  32104. $signature: 4
  32105. };
  32106. K.closure59.prototype = {
  32107. call$1: function($arguments) {
  32108. var limit,
  32109. t1 = J.getInterceptor$asx($arguments);
  32110. if (J.$eq$(t1.$index($arguments, 0), C.C_SassNull)) {
  32111. t1 = $.$get$_random0().nextDouble$0();
  32112. return new T.SassNumber(t1, C.List_empty0, C.List_empty0, null);
  32113. }
  32114. limit = t1.$index($arguments, 0).assertNumber$1("limit").assertInt$1("limit");
  32115. if (limit < 1)
  32116. throw H.wrapException(E.SassScriptException$("$limit: Must be greater than 0, was " + limit + "."));
  32117. t1 = $.$get$_random0().nextInt$1(limit);
  32118. return new T.SassNumber(t1 + 1, C.List_empty0, C.List_empty0, null);
  32119. },
  32120. $signature: 4
  32121. };
  32122. K.closure58.prototype = {
  32123. call$1: function($arguments) {
  32124. return new D.SassString(J.$index$asx($arguments, 0).assertNumber$1("number").get$unitString(), true);
  32125. },
  32126. $signature: 2
  32127. };
  32128. K.closure56.prototype = {
  32129. call$1: function($arguments) {
  32130. var number = J.$index$asx($arguments, 0).assertNumber$1("number");
  32131. return !(number.numeratorUnits.length !== 0 || number.denominatorUnits.length !== 0) ? C.SassBoolean_true : C.SassBoolean_false;
  32132. },
  32133. $signature: 3
  32134. };
  32135. K.closure55.prototype = {
  32136. call$1: function($arguments) {
  32137. var t1 = J.getInterceptor$asx($arguments);
  32138. return t1.$index($arguments, 0).assertNumber$1("number1").isComparableTo$1(t1.$index($arguments, 1).assertNumber$1("number2")) ? C.SassBoolean_true : C.SassBoolean_false;
  32139. },
  32140. $signature: 3
  32141. };
  32142. K._numberFunction_closure.prototype = {
  32143. call$1: function($arguments) {
  32144. var number = J.$index$asx($arguments, 0).assertNumber$1("number");
  32145. return T.SassNumber$withUnits(this.transform.call$1(number.value), number.denominatorUnits, number.numeratorUnits);
  32146. },
  32147. $signature: 4
  32148. };
  32149. Q.closure125.prototype = {
  32150. call$1: function($arguments) {
  32151. return $._features.contains$1(0, J.$index$asx($arguments, 0).assertString$1("feature").text) ? C.SassBoolean_true : C.SassBoolean_false;
  32152. },
  32153. $signature: 3
  32154. };
  32155. Q.closure126.prototype = {
  32156. call$1: function($arguments) {
  32157. return new D.SassString(J.toString$0$(J.get$first$ax($arguments)), false);
  32158. },
  32159. $signature: 2
  32160. };
  32161. Q.closure127.prototype = {
  32162. call$1: function($arguments) {
  32163. var t1 = J.getInterceptor$(J.$index$asx($arguments, 0));
  32164. if (!!t1.$isSassArgumentList)
  32165. return new D.SassString("arglist", false);
  32166. if (!!t1.$isSassBoolean)
  32167. return new D.SassString("bool", false);
  32168. if (!!t1.$isSassColor)
  32169. return new D.SassString("color", false);
  32170. if (!!t1.$isSassList)
  32171. return new D.SassString("list", false);
  32172. if (!!t1.$isSassMap)
  32173. return new D.SassString("map", false);
  32174. if (!!t1.$isSassNull)
  32175. return new D.SassString("null", false);
  32176. if (!!t1.$isSassNumber)
  32177. return new D.SassString("number", false);
  32178. if (!!t1.$isSassFunction)
  32179. return new D.SassString("function", false);
  32180. return new D.SassString("string", false);
  32181. },
  32182. $signature: 2
  32183. };
  32184. Q.closure128.prototype = {
  32185. call$1: function($arguments) {
  32186. var t1,
  32187. argumentList = J.$index$asx($arguments, 0);
  32188. if (argumentList instanceof D.SassArgumentList) {
  32189. argumentList._wereKeywordsAccessed = true;
  32190. t1 = F.Value;
  32191. return new A.SassMap(H.ConstantMap_ConstantMap$from(Y.mapMap(argumentList._keywords, new Q._closure19(), null, P.String, t1, t1, t1), t1, t1));
  32192. } else
  32193. throw H.wrapException("$args: " + H.S(argumentList) + " is not an argument list.");
  32194. },
  32195. $signature: 9
  32196. };
  32197. Q._closure19.prototype = {
  32198. call$2: function(key, _) {
  32199. return new D.SassString(key, false);
  32200. }
  32201. };
  32202. T.closure51.prototype = {
  32203. call$1: function($arguments) {
  32204. var selectors = J.$index$asx($arguments, 0).get$asList();
  32205. if (selectors.length === 0)
  32206. throw H.wrapException(E.SassScriptException$("$selectors: At least one selector must be passed."));
  32207. return new H.MappedListIterable(selectors, new T._closure8(), [H.getTypeArgumentByIndex(selectors, 0), D.SelectorList]).reduce$1(0, new T._closure9()).get$asSassList();
  32208. },
  32209. $signature: 6
  32210. };
  32211. T._closure8.prototype = {
  32212. call$1: function(selector) {
  32213. return selector.assertSelector$1$allowParent(true);
  32214. }
  32215. };
  32216. T._closure9.prototype = {
  32217. call$2: function($parent, child) {
  32218. return child.resolveParentSelectors$1($parent);
  32219. }
  32220. };
  32221. T.closure50.prototype = {
  32222. call$1: function($arguments) {
  32223. var selectors = J.$index$asx($arguments, 0).get$asList();
  32224. if (selectors.length === 0)
  32225. throw H.wrapException(E.SassScriptException$("$selectors: At least one selector must be passed."));
  32226. return new H.MappedListIterable(selectors, new T._closure6(), [H.getTypeArgumentByIndex(selectors, 0), D.SelectorList]).reduce$1(0, new T._closure7()).get$asSassList();
  32227. },
  32228. $signature: 6
  32229. };
  32230. T._closure6.prototype = {
  32231. call$1: function(selector) {
  32232. return selector.assertSelector$0();
  32233. }
  32234. };
  32235. T._closure7.prototype = {
  32236. call$2: function($parent, child) {
  32237. var t1 = child.components;
  32238. return D.SelectorList$(new H.MappedListIterable(t1, new T.__closure($parent), [H.getTypeArgumentByIndex(t1, 0), S.ComplexSelector])).resolveParentSelectors$1($parent);
  32239. }
  32240. };
  32241. T.__closure.prototype = {
  32242. call$1: function(complex) {
  32243. var newCompound, t2,
  32244. t1 = complex.components,
  32245. compound = C.JSArray_methods.get$first(t1);
  32246. if (compound instanceof X.CompoundSelector) {
  32247. newCompound = T._prependParent(compound);
  32248. if (newCompound == null)
  32249. throw H.wrapException(E.SassScriptException$("Can't append " + H.S(complex) + " to " + H.S(this.parent) + "."));
  32250. t2 = H.setRuntimeTypeInfo([], [S.ComplexSelectorComponent]);
  32251. t2.push(newCompound);
  32252. for (t1 = H.SubListIterable$(t1, 1, null, H.getTypeArgumentByIndex(t1, 0)), t1 = new H.ListIterator(t1, t1.get$length(t1)); t1.moveNext$0();)
  32253. t2.push(t1.__internal$_current);
  32254. return S.ComplexSelector$(t2, false);
  32255. } else
  32256. throw H.wrapException(E.SassScriptException$("Can't append " + H.S(complex) + " to " + H.S(this.parent) + "."));
  32257. }
  32258. };
  32259. T.closure49.prototype = {
  32260. call$1: function($arguments) {
  32261. var t1 = J.getInterceptor$asx($arguments),
  32262. selector = t1.$index($arguments, 0).assertSelector$1$name("selector"),
  32263. target = t1.$index($arguments, 1).assertSelector$1$name("extendee");
  32264. return F.Extender__extendOrReplace(selector, t1.$index($arguments, 2).assertSelector$1$name("extender"), target, C.ExtendMode_allTargets).get$asSassList();
  32265. },
  32266. $signature: 6
  32267. };
  32268. T.closure48.prototype = {
  32269. call$1: function($arguments) {
  32270. var t1 = J.getInterceptor$asx($arguments),
  32271. selector = t1.$index($arguments, 0).assertSelector$1$name("selector"),
  32272. target = t1.$index($arguments, 1).assertSelector$1$name("original");
  32273. return F.Extender__extendOrReplace(selector, t1.$index($arguments, 2).assertSelector$1$name("replacement"), target, C.ExtendMode_replace).get$asSassList();
  32274. },
  32275. $signature: 6
  32276. };
  32277. T.closure47.prototype = {
  32278. call$1: function($arguments) {
  32279. var t1 = J.getInterceptor$asx($arguments),
  32280. result = t1.$index($arguments, 0).assertSelector$1$name("selector1").unify$1(t1.$index($arguments, 1).assertSelector$1$name("selector2"));
  32281. return result == null ? C.C_SassNull : result.get$asSassList();
  32282. },
  32283. $signature: 0
  32284. };
  32285. T.closure54.prototype = {
  32286. call$1: function($arguments) {
  32287. var t1 = J.getInterceptor$asx($arguments),
  32288. selector1 = t1.$index($arguments, 0).assertSelector$1$name("super"),
  32289. selector2 = t1.$index($arguments, 1).assertSelector$1$name("sub");
  32290. return Y.listIsSuperslector(selector1.components, selector2.components) ? C.SassBoolean_true : C.SassBoolean_false;
  32291. },
  32292. $signature: 3
  32293. };
  32294. T.closure53.prototype = {
  32295. call$1: function($arguments) {
  32296. var t1 = J.$index$asx($arguments, 0).assertCompoundSelector$1$name("selector").components;
  32297. return D.SassList$(new H.MappedListIterable(t1, new T._closure10(), [H.getTypeArgumentByIndex(t1, 0), F.Value]), C.ListSeparator_comma, false);
  32298. },
  32299. $signature: 6
  32300. };
  32301. T._closure10.prototype = {
  32302. call$1: function(simple) {
  32303. return new D.SassString(J.toString$0$(simple), false);
  32304. }
  32305. };
  32306. T.closure52.prototype = {
  32307. call$1: function($arguments) {
  32308. return J.$index$asx($arguments, 0).assertSelector$1$name("selector").get$asSassList();
  32309. },
  32310. $signature: 6
  32311. };
  32312. D.closure46.prototype = {
  32313. call$1: function($arguments) {
  32314. var string = J.$index$asx($arguments, 0).assertString$1("string");
  32315. if (!string.hasQuotes)
  32316. return string;
  32317. return new D.SassString(string.text, false);
  32318. },
  32319. $signature: 2
  32320. };
  32321. D.closure45.prototype = {
  32322. call$1: function($arguments) {
  32323. var string = J.$index$asx($arguments, 0).assertString$1("string");
  32324. if (string.hasQuotes)
  32325. return string;
  32326. return new D.SassString(string.text, true);
  32327. },
  32328. $signature: 2
  32329. };
  32330. D.closure41.prototype = {
  32331. call$1: function($arguments) {
  32332. var t1 = J.$index$asx($arguments, 0).assertString$1("string").get$sassLength();
  32333. return new T.SassNumber(t1, C.List_empty0, C.List_empty0, null);
  32334. },
  32335. $signature: 4
  32336. };
  32337. D.closure40.prototype = {
  32338. call$1: function($arguments) {
  32339. var indexInt, codeUnitIndex, _s5_ = "index",
  32340. t1 = J.getInterceptor$asx($arguments),
  32341. string = t1.$index($arguments, 0).assertString$1("string"),
  32342. insert = t1.$index($arguments, 1).assertString$1("insert"),
  32343. index = t1.$index($arguments, 2).assertNumber$1(_s5_);
  32344. index.assertNoUnits$1(_s5_);
  32345. indexInt = index.assertInt$1(_s5_);
  32346. if (indexInt < 0)
  32347. indexInt = string.get$sassLength() + indexInt + 2;
  32348. t1 = string.text;
  32349. codeUnitIndex = B.codepointIndexToCodeUnitIndex(t1, D._codepointForIndex(indexInt, string.get$sassLength(), false));
  32350. return new D.SassString(J.replaceRange$3$asx(t1, codeUnitIndex, codeUnitIndex, insert.text), string.hasQuotes);
  32351. },
  32352. $signature: 2
  32353. };
  32354. D.closure39.prototype = {
  32355. call$1: function($arguments) {
  32356. var codepointIndex,
  32357. t1 = J.getInterceptor$asx($arguments),
  32358. t2 = t1.$index($arguments, 0).assertString$1("string").text,
  32359. codeUnitIndex = J.indexOf$1$asx(t2, t1.$index($arguments, 1).assertString$1("substring").text);
  32360. if (codeUnitIndex === -1)
  32361. return C.C_SassNull;
  32362. codepointIndex = B.codeUnitIndexToCodepointIndex(t2, codeUnitIndex);
  32363. return new T.SassNumber(codepointIndex + 1, C.List_empty0, C.List_empty0, null);
  32364. },
  32365. $signature: 0
  32366. };
  32367. D.closure38.prototype = {
  32368. call$1: function($arguments) {
  32369. var lengthInCodepoints, endInt, startCodepoint, endCodepoint,
  32370. t1 = J.getInterceptor$asx($arguments),
  32371. string = t1.$index($arguments, 0).assertString$1("string"),
  32372. start = t1.$index($arguments, 1).assertNumber$1("start-at"),
  32373. end = t1.$index($arguments, 2).assertNumber$1("end-at");
  32374. start.assertNoUnits$1("start");
  32375. end.assertNoUnits$1("end");
  32376. lengthInCodepoints = string.get$sassLength();
  32377. endInt = end.assertInt$0();
  32378. if (endInt === 0)
  32379. return string.hasQuotes ? $.$get$_emptyQuoted() : $.$get$_emptyUnquoted();
  32380. startCodepoint = D._codepointForIndex(start.assertInt$0(), lengthInCodepoints, false);
  32381. endCodepoint = D._codepointForIndex(endInt, lengthInCodepoints, true);
  32382. if (endCodepoint === lengthInCodepoints)
  32383. --endCodepoint;
  32384. if (endCodepoint < startCodepoint)
  32385. return string.hasQuotes ? $.$get$_emptyQuoted() : $.$get$_emptyUnquoted();
  32386. t1 = string.text;
  32387. return new D.SassString(J.substring$2$s(t1, B.codepointIndexToCodeUnitIndex(t1, startCodepoint), B.codepointIndexToCodeUnitIndex(t1, endCodepoint + 1)), string.hasQuotes);
  32388. },
  32389. $signature: 2
  32390. };
  32391. D.closure44.prototype = {
  32392. call$1: function($arguments) {
  32393. var t1, t2, t3, i, t4, t5,
  32394. string = J.$index$asx($arguments, 0).assertString$1("string");
  32395. for (t1 = string.text, t2 = t1.length, t3 = J.getInterceptor$s(t1), i = 0, t4 = ""; i < t2; ++i) {
  32396. t5 = t3._codeUnitAt$1(t1, i);
  32397. t4 += H.Primitives_stringFromCharCode(t5 >= 97 && t5 <= 122 ? t5 & 4294967263 : t5);
  32398. }
  32399. return new D.SassString(t4.charCodeAt(0) == 0 ? t4 : t4, string.hasQuotes);
  32400. },
  32401. $signature: 2
  32402. };
  32403. D.closure43.prototype = {
  32404. call$1: function($arguments) {
  32405. var t1, t2, t3, i, t4, t5,
  32406. string = J.$index$asx($arguments, 0).assertString$1("string");
  32407. for (t1 = string.text, t2 = t1.length, t3 = J.getInterceptor$s(t1), i = 0, t4 = ""; i < t2; ++i) {
  32408. t5 = t3._codeUnitAt$1(t1, i);
  32409. t4 += H.Primitives_stringFromCharCode(t5 >= 65 && t5 <= 90 ? t5 | 32 : t5);
  32410. }
  32411. return new D.SassString(t4.charCodeAt(0) == 0 ? t4 : t4, string.hasQuotes);
  32412. },
  32413. $signature: 2
  32414. };
  32415. D.closure42.prototype = {
  32416. call$1: function($arguments) {
  32417. var t1 = $.$get$_previousUniqueId() + ($.$get$_random().nextInt$1(36) + 1);
  32418. $._previousUniqueId = t1;
  32419. if (t1 > Math.pow(36, 6))
  32420. $._previousUniqueId = C.JSInt_methods.$mod($.$get$_previousUniqueId(), H.intTypeCast(Math.pow(36, 6)));
  32421. return new D.SassString("u" + C.JSString_methods.padLeft$2(J.toRadixString$1$n($.$get$_previousUniqueId(), 36), 6, "0"), false);
  32422. },
  32423. $signature: 2
  32424. };
  32425. R.ImportCache.prototype = {
  32426. canonicalize$3: function(url, baseImporter, baseUrl) {
  32427. var resolvedUrl, canonicalUrl, t1;
  32428. if (baseImporter != null) {
  32429. resolvedUrl = baseUrl != null ? baseUrl.resolveUri$1(url) : url;
  32430. canonicalUrl = this._canonicalize$2(baseImporter, resolvedUrl);
  32431. if (canonicalUrl != null) {
  32432. t1 = P.Uri;
  32433. return new S.Tuple3(baseImporter, canonicalUrl, resolvedUrl, [M.Importer, t1, t1]);
  32434. }
  32435. }
  32436. return this._canonicalizeCache.putIfAbsent$2(url, new R.ImportCache_canonicalize_closure(this, url));
  32437. },
  32438. _canonicalize$2: function(importer, url) {
  32439. var result = importer.canonicalize$1(url);
  32440. if ((result == null ? null : result.get$scheme()) === "")
  32441. this._import_cache$_logger.warn$2$deprecation("Importer " + importer.toString$0(0) + " canonicalized " + H.S(url) + " to " + H.S(result) + ".\nRelative canonical URLs are deprecated and will eventually be disallowed.\n", true);
  32442. return result;
  32443. },
  32444. import$3: function(url, baseImporter, baseUrl) {
  32445. var t1,
  32446. tuple = this.canonicalize$3(url, baseImporter, baseUrl);
  32447. if (tuple == null)
  32448. return;
  32449. t1 = tuple.item1;
  32450. return new S.Tuple2(t1, this.importCanonical$3(t1, tuple.item2, tuple.item3), [M.Importer, V.Stylesheet]);
  32451. },
  32452. importCanonical$3: function(importer, canonicalUrl, originalUrl) {
  32453. return this._import_cache$_importCache.putIfAbsent$2(canonicalUrl, new R.ImportCache_importCanonical_closure(this, importer, canonicalUrl, originalUrl));
  32454. },
  32455. importCanonical$2: function(importer, canonicalUrl) {
  32456. return this.importCanonical$3(importer, canonicalUrl, null);
  32457. },
  32458. humanize$1: function(canonicalUrl) {
  32459. var t1 = this._canonicalizeCache.get$values(),
  32460. t2 = H.getRuntimeTypeArgument(t1, "Iterable", 0),
  32461. t3 = P.Uri,
  32462. url = Y.minBy(new H.MappedIterable(new H.WhereIterable(t1, new R.ImportCache_humanize_closure(canonicalUrl), [t2]), new R.ImportCache_humanize_closure0(), [t2, t3]), new R.ImportCache_humanize_closure1(), t3, null);
  32463. if (url == null)
  32464. return canonicalUrl;
  32465. t1 = $.$get$url();
  32466. return url.resolve$1(X.ParsedPath_ParsedPath$parse(canonicalUrl.get$path(canonicalUrl), t1.style).get$basename());
  32467. },
  32468. clearImport$1: function(canonicalUrl) {
  32469. this._resultsCache.remove$1(0, canonicalUrl);
  32470. this._import_cache$_importCache.remove$1(0, canonicalUrl);
  32471. }
  32472. };
  32473. R.ImportCache_canonicalize_closure.prototype = {
  32474. call$0: function() {
  32475. var t1, t2, t3, t4, _i, importer, canonicalUrl;
  32476. for (t1 = this.$this, t2 = t1._importers, t3 = t2.length, t4 = this.url, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i) {
  32477. importer = t2[_i];
  32478. canonicalUrl = t1._canonicalize$2(importer, t4);
  32479. if (canonicalUrl != null) {
  32480. t1 = P.Uri;
  32481. return new S.Tuple3(importer, canonicalUrl, t4, [M.Importer, t1, t1]);
  32482. }
  32483. }
  32484. return;
  32485. }
  32486. };
  32487. R.ImportCache_importCanonical_closure.prototype = {
  32488. call$0: function() {
  32489. var t3, _this = this,
  32490. t1 = _this.canonicalUrl,
  32491. result = _this.importer.load$1(t1),
  32492. t2 = _this.$this;
  32493. t2._resultsCache.$indexSet(0, t1, result);
  32494. t3 = _this.originalUrl;
  32495. t1 = t3 == null ? t1 : t3.resolveUri$1(t1);
  32496. return V.Stylesheet_Stylesheet$parse(result.contents, result.syntax, t2._import_cache$_logger, t1);
  32497. }
  32498. };
  32499. R.ImportCache_humanize_closure.prototype = {
  32500. call$1: function(tuple) {
  32501. var t1 = tuple == null ? null : tuple.item2;
  32502. return J.$eq$(t1, this.canonicalUrl);
  32503. }
  32504. };
  32505. R.ImportCache_humanize_closure0.prototype = {
  32506. call$1: function(tuple) {
  32507. return tuple.item3;
  32508. }
  32509. };
  32510. R.ImportCache_humanize_closure1.prototype = {
  32511. call$1: function(url) {
  32512. return J.get$length$asx(J.get$path$x(url));
  32513. },
  32514. $signature: 10
  32515. };
  32516. M.Importer.prototype = {
  32517. modificationTime$1: function(url) {
  32518. return new P.DateTime(Date.now(), false);
  32519. }
  32520. };
  32521. B.AsyncImporter.prototype = {};
  32522. F.FilesystemImporter.prototype = {
  32523. canonicalize$1: function(url) {
  32524. var t1, resolved;
  32525. if (url.get$scheme() !== "file" && url.get$scheme() !== "")
  32526. return;
  32527. t1 = $.$get$context();
  32528. resolved = B.resolveImportPath(D.join(this._loadPath, t1.style.pathFromUri$1(M._parseUri(url)), null));
  32529. return resolved == null ? null : t1.toUri$1(t1.canonicalize$1(resolved));
  32530. },
  32531. load$1: function(url) {
  32532. var t3,
  32533. t1 = $.$get$context(),
  32534. path = t1.style.pathFromUri$1(M._parseUri(url)),
  32535. t2 = B.readFile(path);
  32536. t1 = J.$eq$(J.get$platform$x(self.process), "win32") || J.$eq$(J.get$platform$x(self.process), "darwin") ? t1.toUri$1(F.realCasePath(path)) : url;
  32537. t3 = M.Syntax_forPath(path);
  32538. if ((t1 == null ? null : t1.get$scheme()) === "")
  32539. H.throwExpression(P.ArgumentError$value(t1, "sourceMapUrl", "must be absolute"));
  32540. return new E.ImporterResult(t2, t1, t3);
  32541. },
  32542. modificationTime$1: function(url) {
  32543. return B.modificationTime($.$get$context().style.pathFromUri$1(M._parseUri(url)));
  32544. },
  32545. toString$0: function(_) {
  32546. return this._loadPath;
  32547. }
  32548. };
  32549. F.NodeImporter.prototype = {
  32550. load$2: function(url, previous) {
  32551. var result, previousString, t1, t2, t3, t4, _i, value, _this = this,
  32552. parsed = P.Uri_parse(url);
  32553. if (parsed.get$scheme() === "" || parsed.get$scheme() === "file") {
  32554. result = _this._resolveRelativePath$2($.$get$context().style.pathFromUri$1(M._parseUri(parsed)), previous);
  32555. if (result != null)
  32556. return result;
  32557. }
  32558. previousString = previous.get$scheme() === "file" ? $.$get$context().style.pathFromUri$1(M._parseUri(previous)) : previous.toString$0(0);
  32559. for (t1 = _this._implementation$_importers, t2 = t1.length, t3 = _this._implementation$_context, t4 = [P.Object], _i = 0; _i < t2; ++_i) {
  32560. value = J.apply$2$x(t1[_i], t3, H.setRuntimeTypeInfo([url, previousString], t4));
  32561. if (value != null)
  32562. return _this._handleImportResult$3(url, previous, value);
  32563. }
  32564. return _this._resolveLoadPathFromUrl$2(parsed, previous);
  32565. },
  32566. loadAsync$2: function(url, previous) {
  32567. return this.loadAsync$body$NodeImporter(url, previous);
  32568. },
  32569. loadAsync$body$NodeImporter: function(url, previous) {
  32570. var $async$goto = 0,
  32571. $async$completer = P._makeAsyncAwaitCompleter([S.Tuple2, P.String, P.String]),
  32572. $async$returnValue, $async$self = this, result, previousString, t1, t2, _i, value, parsed;
  32573. var $async$loadAsync$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  32574. if ($async$errorCode === 1)
  32575. return P._asyncRethrow($async$result, $async$completer);
  32576. while (true)
  32577. switch ($async$goto) {
  32578. case 0:
  32579. // Function start
  32580. parsed = P.Uri_parse(url);
  32581. if (parsed.get$scheme() === "" || parsed.get$scheme() === "file") {
  32582. result = $async$self._resolveRelativePath$2($.$get$context().style.pathFromUri$1(M._parseUri(parsed)), previous);
  32583. if (result != null) {
  32584. $async$returnValue = result;
  32585. // goto return
  32586. $async$goto = 1;
  32587. break;
  32588. }
  32589. }
  32590. previousString = previous.get$scheme() === "file" ? $.$get$context().style.pathFromUri$1(M._parseUri(previous)) : previous.toString$0(0);
  32591. t1 = $async$self._implementation$_importers, t2 = t1.length, _i = 0;
  32592. case 3:
  32593. // for condition
  32594. if (!(_i < t2)) {
  32595. // goto after for
  32596. $async$goto = 5;
  32597. break;
  32598. }
  32599. $async$goto = 6;
  32600. return P._asyncAwait($async$self._callImporterAsync$3(t1[_i], url, previousString), $async$loadAsync$2);
  32601. case 6:
  32602. // returning from await.
  32603. value = $async$result;
  32604. if (value != null) {
  32605. $async$returnValue = $async$self._handleImportResult$3(url, previous, value);
  32606. // goto return
  32607. $async$goto = 1;
  32608. break;
  32609. }
  32610. case 4:
  32611. // for update
  32612. ++_i;
  32613. // goto for condition
  32614. $async$goto = 3;
  32615. break;
  32616. case 5:
  32617. // after for
  32618. $async$returnValue = $async$self._resolveLoadPathFromUrl$2(parsed, previous);
  32619. // goto return
  32620. $async$goto = 1;
  32621. break;
  32622. case 1:
  32623. // return
  32624. return P._asyncReturn($async$returnValue, $async$completer);
  32625. }
  32626. });
  32627. return P._asyncStartSync($async$loadAsync$2, $async$completer);
  32628. },
  32629. _resolveRelativePath$2: function(path, previous) {
  32630. var result,
  32631. t1 = $.$get$context(),
  32632. t2 = t1.style;
  32633. if (t2.rootLength$1(path) > 0)
  32634. return this._tryPath$1(path);
  32635. if (previous.get$scheme() === "file") {
  32636. result = this._tryPath$1(D.join(t1.dirname$1(t2.pathFromUri$1(M._parseUri(previous))), path, null));
  32637. if (result != null)
  32638. return result;
  32639. }
  32640. return;
  32641. },
  32642. _resolveLoadPathFromUrl$2: function(url, previous) {
  32643. return url.get$scheme() === "" || url.get$scheme() === "file" ? this._resolveLoadPath$2($.$get$context().style.pathFromUri$1(M._parseUri(url)), previous) : null;
  32644. },
  32645. _resolveLoadPath$2: function(path, previous) {
  32646. var t1, t2, t3, _i, includePath, t4, resolved, result, _null = null,
  32647. cwdResult = this._tryPath$1(D.absolute(path));
  32648. if (cwdResult != null)
  32649. return cwdResult;
  32650. for (t1 = this._includePaths, t2 = t1.length, t3 = P.String, t3 = [t3, t3], _i = 0; _i < t2; ++_i) {
  32651. includePath = t1[_i];
  32652. t4 = $.$get$context();
  32653. resolved = B.resolveImportPath(t4.absolute$7(t4.join$8(0, includePath, path, _null, _null, _null, _null, _null, _null), _null, _null, _null, _null, _null, _null));
  32654. result = resolved == null ? _null : new S.Tuple2(B.readFile(resolved), J.toString$0$(t4.toUri$1(resolved)), t3);
  32655. if (result != null)
  32656. return result;
  32657. }
  32658. return;
  32659. },
  32660. _tryPath$1: function(path) {
  32661. var t1,
  32662. resolved = B.resolveImportPath(path);
  32663. if (resolved == null)
  32664. t1 = null;
  32665. else {
  32666. t1 = P.String;
  32667. t1 = new S.Tuple2(B.readFile(resolved), J.toString$0$($.$get$context().toUri$1(resolved)), [t1, t1]);
  32668. }
  32669. return t1;
  32670. },
  32671. _handleImportResult$3: function(url, previous, value) {
  32672. var t1, resolved, t2;
  32673. if (value instanceof self.Error)
  32674. throw H.wrapException(value);
  32675. t1 = J.getInterceptor$(value);
  32676. if (!t1.$isNodeImporterResult)
  32677. return;
  32678. if (t1.get$file(value) != null) {
  32679. resolved = this._resolveRelativePath$2(t1.get$file(value), previous);
  32680. if (resolved == null)
  32681. resolved = this._resolveLoadPath$2(t1.get$file(value), previous);
  32682. if (resolved != null)
  32683. return resolved;
  32684. throw H.wrapException("Can't find stylesheet to import.");
  32685. } else {
  32686. t1 = t1.get$contents(value);
  32687. if (t1 == null)
  32688. t1 = "";
  32689. t2 = P.String;
  32690. return new S.Tuple2(t1, url, [t2, t2]);
  32691. }
  32692. },
  32693. _callImporterAsync$3: function(importer, url, previousString) {
  32694. return this._callImporterAsync$body$NodeImporter(importer, url, previousString);
  32695. },
  32696. _callImporterAsync$body$NodeImporter: function(importer, url, previousString) {
  32697. var $async$goto = 0,
  32698. $async$completer = P._makeAsyncAwaitCompleter(P.Object),
  32699. $async$returnValue, $async$self = this, t1, t2, result;
  32700. var $async$_callImporterAsync$3 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  32701. if ($async$errorCode === 1)
  32702. return P._asyncRethrow($async$result, $async$completer);
  32703. while (true)
  32704. switch ($async$goto) {
  32705. case 0:
  32706. // Function start
  32707. t1 = P.Object;
  32708. t2 = new P._Future($.Zone__current, [t1]);
  32709. result = J.apply$2$x(importer, $async$self._implementation$_context, H.setRuntimeTypeInfo([url, previousString, P.allowInterop(new P._AsyncCompleter(t2, [t1]).get$complete())], [t1]));
  32710. $async$goto = H.boolTypeCast($.$get$_isUndefined().call$1(result)) ? 3 : 4;
  32711. break;
  32712. case 3:
  32713. // then
  32714. $async$goto = 5;
  32715. return P._asyncAwait(t2, $async$_callImporterAsync$3);
  32716. case 5:
  32717. // returning from await.
  32718. $async$returnValue = $async$result;
  32719. // goto return
  32720. $async$goto = 1;
  32721. break;
  32722. case 4:
  32723. // join
  32724. $async$returnValue = result;
  32725. // goto return
  32726. $async$goto = 1;
  32727. break;
  32728. case 1:
  32729. // return
  32730. return P._asyncReturn($async$returnValue, $async$completer);
  32731. }
  32732. });
  32733. return P._asyncStartSync($async$_callImporterAsync$3, $async$completer);
  32734. }
  32735. };
  32736. E.ImporterResult.prototype = {
  32737. get$sourceMapUrl: function() {
  32738. var t1 = this._sourceMapUrl;
  32739. return t1 == null ? P.Uri_Uri$dataFromString(this.contents, C.C_Utf8Codec, null) : t1;
  32740. }
  32741. };
  32742. B.resolveImportPath_closure.prototype = {
  32743. call$0: function() {
  32744. return B._exactlyOne(B._tryPath($.$get$context().withoutExtension$1(this.path) + ".import" + this.extension));
  32745. }
  32746. };
  32747. B.resolveImportPath_closure0.prototype = {
  32748. call$0: function() {
  32749. return B._exactlyOne(B._tryPathWithExtensions(H.S(this.path) + ".import"));
  32750. }
  32751. };
  32752. B._tryPathAsDirectory_closure.prototype = {
  32753. call$0: function() {
  32754. return B._exactlyOne(B._tryPathWithExtensions(D.join(this.path, "index.import", null)));
  32755. }
  32756. };
  32757. B._exactlyOne_closure.prototype = {
  32758. call$1: function(path) {
  32759. var t1 = $.$get$context();
  32760. return C.JSString_methods.$add(" ", t1.prettyUri$1(t1.toUri$1(path)));
  32761. }
  32762. };
  32763. Z.InterpolationBuffer.prototype = {
  32764. add$1: function(_, expression) {
  32765. this._flushText$0();
  32766. this._interpolation_buffer$_contents.push(expression);
  32767. },
  32768. addInterpolation$1: function(interpolation) {
  32769. var first, t1, t2, _this = this,
  32770. toAdd = interpolation.contents;
  32771. if (toAdd.length === 0)
  32772. return;
  32773. first = C.JSArray_methods.get$first(toAdd);
  32774. if (typeof first === "string") {
  32775. _this._interpolation_buffer$_text._contents += first;
  32776. toAdd = H.SubListIterable$(toAdd, 1, null, H.getTypeArgumentByIndex(toAdd, 0));
  32777. }
  32778. _this._flushText$0();
  32779. t1 = _this._interpolation_buffer$_contents;
  32780. C.JSArray_methods.addAll$1(t1, toAdd);
  32781. t2 = C.JSArray_methods.get$last(t1);
  32782. if (typeof t2 === "string")
  32783. _this._interpolation_buffer$_text._contents += H.S(t1.pop());
  32784. },
  32785. _flushText$0: function() {
  32786. var t1 = this._interpolation_buffer$_text,
  32787. t2 = t1._contents;
  32788. if (t2.length === 0)
  32789. return;
  32790. this._interpolation_buffer$_contents.push(t2.charCodeAt(0) == 0 ? t2 : t2);
  32791. t1._contents = "";
  32792. },
  32793. interpolation$1: function(span) {
  32794. var t2, t3, _i,
  32795. t1 = H.setRuntimeTypeInfo([], [P.Object]);
  32796. for (t2 = this._interpolation_buffer$_contents, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i)
  32797. t1.push(t2[_i]);
  32798. t2 = this._interpolation_buffer$_text._contents;
  32799. if (t2.length !== 0)
  32800. t1.push(t2.charCodeAt(0) == 0 ? t2 : t2);
  32801. return X.Interpolation$(t1, span);
  32802. },
  32803. toString$0: function(_) {
  32804. var t1, t2, _i, t3, element;
  32805. for (t1 = this._interpolation_buffer$_contents, t2 = t1.length, _i = 0, t3 = ""; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
  32806. element = t1[_i];
  32807. t3 = typeof element === "string" ? t3 + element : t3 + "#{" + H.S(element) + H.Primitives_stringFromCharCode(125);
  32808. }
  32809. t1 = t3 + this._interpolation_buffer$_text.toString$0(0);
  32810. return t1.charCodeAt(0) == 0 ? t1 : t1;
  32811. }
  32812. };
  32813. F.realCasePath_closure.prototype = {
  32814. call$1: function(realPath) {
  32815. return B.equalsIgnoreCase(X.ParsedPath_ParsedPath$parse(realPath, $.$get$context().style).get$basename(), this.basename);
  32816. }
  32817. };
  32818. B._FS.prototype = {};
  32819. B._Stat.prototype = {};
  32820. B._Date.prototype = {};
  32821. B._Stderr.prototype = {};
  32822. B._Stdin.prototype = {};
  32823. B._SystemError.prototype = {};
  32824. B._Process.prototype = {};
  32825. B.FileSystemException.prototype = {
  32826. toString$0: function(_) {
  32827. var t1 = $.$get$context();
  32828. return H.S(t1.prettyUri$1(t1.toUri$1(this.path))) + ": " + this.message;
  32829. },
  32830. get$message: function(receiver) {
  32831. return this.message;
  32832. },
  32833. get$path: function(receiver) {
  32834. return this.path;
  32835. }
  32836. };
  32837. B.Stderr.prototype = {
  32838. writeln$1: function(object) {
  32839. J.write$1$x(this._stderr, H.S(object == null ? "" : object) + "\n");
  32840. },
  32841. writeln$0: function() {
  32842. return this.writeln$1(null);
  32843. }
  32844. };
  32845. B._readFile_closure.prototype = {
  32846. call$0: function() {
  32847. return J.readFileSync$2$x(self.fs, this.path, this.encoding);
  32848. }
  32849. };
  32850. B.writeFile_closure.prototype = {
  32851. call$0: function() {
  32852. return J.writeFileSync$2$x(self.fs, this.path, this.contents);
  32853. }
  32854. };
  32855. B.deleteFile_closure.prototype = {
  32856. call$0: function() {
  32857. return J.unlinkSync$1$x(self.fs, this.path);
  32858. }
  32859. };
  32860. B.readStdin_closure.prototype = {
  32861. call$1: function(result) {
  32862. this._box_0.contents = result;
  32863. this.completer.complete$1(result);
  32864. }
  32865. };
  32866. B.readStdin_closure0.prototype = {
  32867. call$1: function(chunk) {
  32868. this.sink.add$1(0, H.subtypeCast(chunk, "$isList", [P.int], "$asList"));
  32869. },
  32870. call$0: function() {
  32871. return this.call$1(null);
  32872. },
  32873. "call*": "call$1",
  32874. $requiredArgCount: 0,
  32875. $defaultValues: function() {
  32876. return [null];
  32877. },
  32878. $signature: 11
  32879. };
  32880. B.readStdin_closure1.prototype = {
  32881. call$1: function(_) {
  32882. this.sink.close$0(0);
  32883. },
  32884. call$0: function() {
  32885. return this.call$1(null);
  32886. },
  32887. "call*": "call$1",
  32888. $requiredArgCount: 0,
  32889. $defaultValues: function() {
  32890. return [null];
  32891. },
  32892. $signature: 11
  32893. };
  32894. B.readStdin_closure2.prototype = {
  32895. call$1: function(e) {
  32896. var t1 = $.$get$stderr();
  32897. t1.writeln$1("Failed to read from stdin");
  32898. t1.writeln$1(e);
  32899. this.completer.completeError$1(e);
  32900. },
  32901. call$0: function() {
  32902. return this.call$1(null);
  32903. },
  32904. "call*": "call$1",
  32905. $requiredArgCount: 0,
  32906. $defaultValues: function() {
  32907. return [null];
  32908. },
  32909. $signature: 11
  32910. };
  32911. B.ensureDir_closure.prototype = {
  32912. call$0: function() {
  32913. var error, systemError, exception, t1;
  32914. try {
  32915. J.mkdirSync$1$x(self.fs, this.path);
  32916. } catch (exception) {
  32917. error = H.unwrapException(exception);
  32918. systemError = H.interceptedTypeCast(error, "$is_SystemError");
  32919. if (J.$eq$(J.get$code$x(systemError), "EEXIST"))
  32920. return;
  32921. if (!J.$eq$(J.get$code$x(systemError), "ENOENT"))
  32922. throw exception;
  32923. t1 = this.path;
  32924. B.ensureDir($.$get$context().dirname$1(t1));
  32925. J.mkdirSync$1$x(self.fs, t1);
  32926. }
  32927. }
  32928. };
  32929. B.listDir_closure.prototype = {
  32930. call$0: function() {
  32931. var t1 = this.path;
  32932. if (!this.recursive)
  32933. return J.map$1$1$ax(J.readdirSync$1$x(self.fs, t1), new B.listDir__closure(t1), P.String).where$1(0, new B.listDir__closure0());
  32934. else
  32935. return new B.listDir_closure_list().call$1(t1);
  32936. }
  32937. };
  32938. B.listDir__closure.prototype = {
  32939. call$1: function(child) {
  32940. return D.join(this.path, H.stringTypeCast(child), null);
  32941. },
  32942. $signature: 21
  32943. };
  32944. B.listDir__closure0.prototype = {
  32945. call$1: function(child) {
  32946. return !B.dirExists(child);
  32947. }
  32948. };
  32949. B.listDir_closure_list.prototype = {
  32950. call$1: function($parent) {
  32951. return J.expand$1$1$ax(J.readdirSync$1$x(self.fs, $parent), new B.listDir__list_closure($parent, this), P.String);
  32952. }
  32953. };
  32954. B.listDir__list_closure.prototype = {
  32955. call$1: function(child) {
  32956. var path = D.join(this.parent, H.stringTypeCast(child), null);
  32957. return B.dirExists(path) ? this.list.call$1(path) : H.setRuntimeTypeInfo([path], [P.String]);
  32958. },
  32959. $signature: 38
  32960. };
  32961. B.modificationTime_closure.prototype = {
  32962. call$0: function() {
  32963. var t2,
  32964. t1 = J.getTime$0$x(J.get$mtime$x(J.statSync$1$x(self.fs, this.path)));
  32965. if (Math.abs(t1) <= 864e13)
  32966. t2 = false;
  32967. else
  32968. t2 = true;
  32969. if (t2)
  32970. H.throwExpression(P.ArgumentError$("DateTime is outside valid range: " + H.S(t1)));
  32971. return new P.DateTime(t1, false);
  32972. }
  32973. };
  32974. B.watchDir_closure.prototype = {
  32975. call$2: function(path, _) {
  32976. var t1 = this._box_0.controller;
  32977. return t1 == null ? null : t1.add$1(0, new E.WatchEvent(C.ChangeType_add, path));
  32978. },
  32979. call$1: function(path) {
  32980. return this.call$2(path, null);
  32981. },
  32982. "call*": "call$2",
  32983. $defaultValues: function() {
  32984. return [null];
  32985. }
  32986. };
  32987. B.watchDir_closure0.prototype = {
  32988. call$2: function(path, _) {
  32989. var t1 = this._box_0.controller;
  32990. return t1 == null ? null : t1.add$1(0, new E.WatchEvent(C.ChangeType_modify, path));
  32991. },
  32992. call$1: function(path) {
  32993. return this.call$2(path, null);
  32994. },
  32995. "call*": "call$2",
  32996. $defaultValues: function() {
  32997. return [null];
  32998. }
  32999. };
  33000. B.watchDir_closure1.prototype = {
  33001. call$1: function(path) {
  33002. var t1 = this._box_0.controller;
  33003. return t1 == null ? null : t1.add$1(0, new E.WatchEvent(C.ChangeType_remove, path));
  33004. }
  33005. };
  33006. B.watchDir_closure2.prototype = {
  33007. call$1: function(error) {
  33008. var t1 = this._box_0.controller;
  33009. return t1 == null ? null : t1.addError$1(error);
  33010. },
  33011. $signature: 29
  33012. };
  33013. B.watchDir_closure3.prototype = {
  33014. call$0: function() {
  33015. var controller = P.StreamController_StreamController(new B.watchDir__closure(this.watcher), null, null, null, false, E.WatchEvent);
  33016. this._box_0.controller = controller;
  33017. this.completer.complete$1(new P._ControllerStream(controller, [H.getTypeArgumentByIndex(controller, 0)]));
  33018. },
  33019. "call*": "call$0",
  33020. $requiredArgCount: 0
  33021. };
  33022. B.watchDir__closure.prototype = {
  33023. call$0: function() {
  33024. J.close$0$x(this.watcher);
  33025. },
  33026. "call*": "call$0",
  33027. $requiredArgCount: 0
  33028. };
  33029. F._QuietLogger.prototype = {
  33030. warn$4$deprecation$span$trace: function(message, deprecation, span, trace) {
  33031. },
  33032. warn$2$span: function(message, span) {
  33033. return this.warn$4$deprecation$span$trace(message, false, span, null);
  33034. },
  33035. warn$2$deprecation: function(message, deprecation) {
  33036. return this.warn$4$deprecation$span$trace(message, deprecation, null, null);
  33037. },
  33038. warn$3$deprecation$span: function(message, deprecation, span) {
  33039. return this.warn$4$deprecation$span$trace(message, deprecation, span, null);
  33040. },
  33041. warn$2$trace: function(message, trace) {
  33042. return this.warn$4$deprecation$span$trace(message, false, null, trace);
  33043. },
  33044. debug$2: function(message, span) {
  33045. }
  33046. };
  33047. S.StderrLogger.prototype = {
  33048. warn$4$deprecation$span$trace: function(message, deprecation, span, trace) {
  33049. var t2, t3,
  33050. t1 = this.color;
  33051. if (t1) {
  33052. t2 = $.$get$stderr();
  33053. t3 = t2._stderr;
  33054. J.write$1$x(t3, "\x1b[33m\x1b[1m");
  33055. if (deprecation)
  33056. J.write$1$x(t3, "Deprecation ");
  33057. J.write$1$x(t3, "Warning\x1b[0m");
  33058. } else {
  33059. if (deprecation)
  33060. J.write$1$x($.$get$stderr()._stderr, "DEPRECATION ");
  33061. t2 = $.$get$stderr();
  33062. J.write$1$x(t2._stderr, "WARNING");
  33063. }
  33064. if (span == null)
  33065. t2.writeln$1(": " + H.S(message));
  33066. else if (trace != null)
  33067. t2.writeln$1(": " + H.S(message) + "\n\n" + span.highlight$1$color(t1));
  33068. else
  33069. t2.writeln$1(" on " + span.message$2$color(0, C.JSString_methods.$add("\n", message), t1));
  33070. if (trace != null)
  33071. t2.writeln$1(B.indent(C.JSString_methods.trimRight$0(trace.toString$0(0)), 4));
  33072. t2.writeln$0();
  33073. },
  33074. warn$2$span: function(message, span) {
  33075. return this.warn$4$deprecation$span$trace(message, false, span, null);
  33076. },
  33077. warn$2$deprecation: function(message, deprecation) {
  33078. return this.warn$4$deprecation$span$trace(message, deprecation, null, null);
  33079. },
  33080. warn$3$deprecation$span: function(message, deprecation, span) {
  33081. return this.warn$4$deprecation$span$trace(message, deprecation, span, null);
  33082. },
  33083. warn$2$trace: function(message, trace) {
  33084. return this.warn$4$deprecation$span$trace(message, false, null, trace);
  33085. },
  33086. debug$2: function(message, span) {
  33087. var url, t3, t4,
  33088. t1 = span.file,
  33089. t2 = span._start;
  33090. if (Y.FileLocation$_(t1, t2).file.url == null)
  33091. url = "-";
  33092. else {
  33093. t3 = Y.FileLocation$_(t1, t2);
  33094. url = $.$get$context().prettyUri$1(t3.file.url);
  33095. }
  33096. t3 = $.$get$stderr();
  33097. t4 = H.S(url) + ":";
  33098. t2 = Y.FileLocation$_(t1, t2);
  33099. t2 = t4 + (t2.file.getLine$1(t2.offset) + 1) + " ";
  33100. t4 = t3._stderr;
  33101. J.write$1$x(t4, t2);
  33102. J.write$1$x(t4, this.color ? "\x1b[1mDebug\x1b[0m" : "DEBUG");
  33103. t3.writeln$1(": " + H.S(message));
  33104. }
  33105. };
  33106. T.TrackingLogger.prototype = {
  33107. warn$4$deprecation$span$trace: function(message, deprecation, span, trace) {
  33108. this._emittedWarning = true;
  33109. this._tracking$_logger.warn$4$deprecation$span$trace(message, deprecation, span, trace);
  33110. },
  33111. warn$2$span: function(message, span) {
  33112. return this.warn$4$deprecation$span$trace(message, false, span, null);
  33113. },
  33114. warn$2$deprecation: function(message, deprecation) {
  33115. return this.warn$4$deprecation$span$trace(message, deprecation, null, null);
  33116. },
  33117. warn$3$deprecation$span: function(message, deprecation, span) {
  33118. return this.warn$4$deprecation$span$trace(message, deprecation, span, null);
  33119. },
  33120. warn$2$trace: function(message, trace) {
  33121. return this.warn$4$deprecation$span$trace(message, false, null, trace);
  33122. },
  33123. debug$2: function(message, span) {
  33124. this._emittedDebug = true;
  33125. this._tracking$_logger.debug$2(message, span);
  33126. }
  33127. };
  33128. G.Module.prototype = {};
  33129. Q.BuiltInModule.prototype = {
  33130. get$upstream: function() {
  33131. return C.List_empty6;
  33132. },
  33133. get$variables: function() {
  33134. return C.Map_empty4;
  33135. },
  33136. get$variableNodes: function() {
  33137. return C.Map_empty3;
  33138. },
  33139. get$mixins: function() {
  33140. return C.Map_empty2;
  33141. },
  33142. get$extender: function() {
  33143. return C.C_EmptyExtender;
  33144. },
  33145. get$css: function(_) {
  33146. return new V.CssStylesheet(C.List_empty3, Y.SourceFile$decoded(C.List_empty4, this.url).span$2(0, 0));
  33147. },
  33148. get$transitivelyContainsCss: function() {
  33149. return false;
  33150. },
  33151. get$transitivelyContainsExtensions: function() {
  33152. return false;
  33153. },
  33154. setVariable$3: function($name, value, nodeWithSpan) {
  33155. throw H.wrapException(E.SassScriptException$("Undefined variable."));
  33156. },
  33157. cloneCss$0: function() {
  33158. return this;
  33159. },
  33160. $isModule: 1,
  33161. get$url: function() {
  33162. return this.url;
  33163. },
  33164. get$functions: function(receiver) {
  33165. return this.functions;
  33166. }
  33167. };
  33168. R.ForwardedModuleView.prototype = {
  33169. get$url: function() {
  33170. return this._forwarded_view$_inner.get$url();
  33171. },
  33172. get$upstream: function() {
  33173. return this._forwarded_view$_inner.get$upstream();
  33174. },
  33175. get$extender: function() {
  33176. return this._forwarded_view$_inner.get$extender();
  33177. },
  33178. get$css: function(_) {
  33179. var t1 = this._forwarded_view$_inner;
  33180. return t1.get$css(t1);
  33181. },
  33182. get$transitivelyContainsCss: function() {
  33183. return this._forwarded_view$_inner.get$transitivelyContainsCss();
  33184. },
  33185. get$transitivelyContainsExtensions: function() {
  33186. return this._forwarded_view$_inner.get$transitivelyContainsExtensions();
  33187. },
  33188. setVariable$3: function($name, value, nodeWithSpan) {
  33189. var _s19_ = "Undefined variable.",
  33190. t1 = this._rule,
  33191. t2 = t1.shownVariables;
  33192. if (t2 != null && !t2._base.contains$1(0, $name))
  33193. throw H.wrapException(E.SassScriptException$(_s19_));
  33194. else {
  33195. t2 = t1.hiddenVariables;
  33196. if (t2 != null && t2._base.contains$1(0, $name))
  33197. throw H.wrapException(E.SassScriptException$(_s19_));
  33198. }
  33199. t1 = t1.prefix;
  33200. if (t1 != null) {
  33201. if (!B.startsWithIgnoreSeparator($name, t1))
  33202. throw H.wrapException(E.SassScriptException$(_s19_));
  33203. $name = J.substring$1$s($name, t1.length);
  33204. }
  33205. return this._forwarded_view$_inner.setVariable$3($name, value, nodeWithSpan);
  33206. },
  33207. cloneCss$0: function() {
  33208. return R.ForwardedModuleView$(this._forwarded_view$_inner.cloneCss$0(), this._rule, H.getTypeArgumentByIndex(this, 0));
  33209. },
  33210. $isModule: 1,
  33211. get$variables: function() {
  33212. return this.variables;
  33213. },
  33214. get$variableNodes: function() {
  33215. return this.variableNodes;
  33216. },
  33217. get$functions: function(receiver) {
  33218. return this.functions;
  33219. },
  33220. get$mixins: function() {
  33221. return this.mixins;
  33222. }
  33223. };
  33224. B.main_closure.prototype = {
  33225. call$1: function(args) {
  33226. return F.main(P.List_List$from(H.subtypeCast(args, "$isList", [P.Object], "$asList"), true, P.String));
  33227. },
  33228. $signature: 10
  33229. };
  33230. B._render_closure.prototype = {
  33231. call$0: function() {
  33232. var error, exception;
  33233. try {
  33234. this.callback.call$2(null, B._renderSync(this.options));
  33235. } catch (exception) {
  33236. error = H.unwrapException(exception);
  33237. this.callback.call$2(H.interceptedTypeCast(error, "$isJSError"), null);
  33238. }
  33239. },
  33240. "call*": "call$0",
  33241. $requiredArgCount: 0
  33242. };
  33243. B._render_closure0.prototype = {
  33244. call$1: function(result) {
  33245. this.callback.call$2(null, result);
  33246. }
  33247. };
  33248. B._render_closure1.prototype = {
  33249. call$2: function(error, stackTrace) {
  33250. var _null = null,
  33251. t1 = J.getInterceptor$(error),
  33252. t2 = this.callback;
  33253. if (!!t1.$isSassException)
  33254. t2.call$2(B._wrapException(error), _null);
  33255. else
  33256. t2.call$2(B._newRenderError(t1.toString$0(error), _null, _null, _null, 3), _null);
  33257. },
  33258. "call*": "call$2",
  33259. $requiredArgCount: 2,
  33260. $signature: 12
  33261. };
  33262. B._parseFunctions_closure.prototype = {
  33263. call$2: function(signature, callback) {
  33264. var error, t1, exception, _this = this, tuple = null;
  33265. try {
  33266. t1 = S.SpanScanner$(signature, null);
  33267. tuple = new L.ScssParser(P.LinkedHashMap_LinkedHashMap$_empty(P.String, Z.VariableDeclaration), t1, C.StderrLogger_false).parseSignature$0();
  33268. } catch (exception) {
  33269. t1 = H.unwrapException(exception);
  33270. if (t1 instanceof E.SassFormatException) {
  33271. error = t1;
  33272. throw H.wrapException(E.SassFormatException$('Invalid signature "' + H.S(signature) + '": ' + H.S(error._span_exception$_message), error.get$span()));
  33273. } else
  33274. throw exception;
  33275. }
  33276. t1 = _this.options;
  33277. if (J.get$fiber$x(t1) != null)
  33278. _this.result.push(Q.BuiltInCallable$parsed(tuple.item1, tuple.item2, new B._parseFunctions__closure(t1, callback)));
  33279. else {
  33280. t1 = _this.result;
  33281. if (!_this.asynch)
  33282. t1.push(Q.BuiltInCallable$parsed(tuple.item1, tuple.item2, new B._parseFunctions__closure0(callback)));
  33283. else
  33284. t1.push(S.AsyncBuiltInCallable$parsed(tuple.item1, tuple.item2, new B._parseFunctions__closure1(callback)));
  33285. }
  33286. },
  33287. $signature: 39
  33288. };
  33289. B._parseFunctions__closure.prototype = {
  33290. call$1: function($arguments) {
  33291. var result,
  33292. t1 = this.options,
  33293. t2 = J.getInterceptor$x(t1),
  33294. fiber = J.get$current$x(t2.get$fiber(t1)),
  33295. t3 = P.Object,
  33296. t4 = H.setRuntimeTypeInfo([], [t3]);
  33297. for (t3 = J.map$1$1$ax($arguments, F.value0__wrapValue$closure(), t3), t3 = t3.get$iterator(t3); t3.moveNext$0();)
  33298. t4.push(t3.get$current(t3));
  33299. t4.push(P.allowInterop(new B._parseFunctions___closure0(fiber)));
  33300. result = P.Function_apply(H.interceptedTypeCast(this.callback, "$isFunction"), t4);
  33301. return F.unwrapValue(H.boolTypeCast($.$get$_isUndefined().call$1(result)) ? J.yield$0$x(t2.get$fiber(t1)) : result);
  33302. },
  33303. $signature: 0
  33304. };
  33305. B._parseFunctions___closure0.prototype = {
  33306. call$1: function(result) {
  33307. P.scheduleMicrotask(new B._parseFunctions____closure(this.fiber, result));
  33308. },
  33309. call$0: function() {
  33310. return this.call$1(null);
  33311. },
  33312. "call*": "call$1",
  33313. $requiredArgCount: 0,
  33314. $defaultValues: function() {
  33315. return [null];
  33316. },
  33317. $signature: 11
  33318. };
  33319. B._parseFunctions____closure.prototype = {
  33320. call$0: function() {
  33321. return J.run$1$x(this.fiber, this.result);
  33322. },
  33323. "call*": "call$0",
  33324. $requiredArgCount: 0
  33325. };
  33326. B._parseFunctions__closure0.prototype = {
  33327. call$1: function($arguments) {
  33328. return F.unwrapValue(P.Function_apply(H.interceptedTypeCast(this.callback, "$isFunction"), J.map$1$1$ax($arguments, F.value0__wrapValue$closure(), P.Object).toList$0(0)));
  33329. },
  33330. $signature: 0
  33331. };
  33332. B._parseFunctions__closure1.prototype = {
  33333. call$1: function($arguments) {
  33334. return this.$call$body$_parseFunctions__closure($arguments);
  33335. },
  33336. $call$body$_parseFunctions__closure: function($arguments) {
  33337. var $async$goto = 0,
  33338. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  33339. $async$returnValue, $async$self = this, result, t1, completer, t2, $async$temp1;
  33340. var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  33341. if ($async$errorCode === 1)
  33342. return P._asyncRethrow($async$result, $async$completer);
  33343. while (true)
  33344. switch ($async$goto) {
  33345. case 0:
  33346. // Function start
  33347. t1 = P.Object;
  33348. completer = new P._AsyncCompleter(new P._Future($.Zone__current, [t1]), [t1]);
  33349. t2 = H.setRuntimeTypeInfo([], [t1]);
  33350. for (t1 = J.map$1$1$ax($arguments, F.value0__wrapValue$closure(), t1), t1 = t1.get$iterator(t1); t1.moveNext$0();)
  33351. t2.push(t1.get$current(t1));
  33352. t2.push(P.allowInterop(new B._parseFunctions___closure(completer)));
  33353. result = P.Function_apply(H.interceptedTypeCast($async$self.callback, "$isFunction"), t2);
  33354. $async$temp1 = F;
  33355. $async$goto = H.boolTypeCast($.$get$_isUndefined().call$1(result)) ? 3 : 5;
  33356. break;
  33357. case 3:
  33358. // then
  33359. $async$goto = 6;
  33360. return P._asyncAwait(completer.future, $async$call$1);
  33361. case 6:
  33362. // returning from await.
  33363. // goto join
  33364. $async$goto = 4;
  33365. break;
  33366. case 5:
  33367. // else
  33368. $async$result = result;
  33369. case 4:
  33370. // join
  33371. $async$returnValue = $async$temp1.unwrapValue($async$result);
  33372. // goto return
  33373. $async$goto = 1;
  33374. break;
  33375. case 1:
  33376. // return
  33377. return P._asyncReturn($async$returnValue, $async$completer);
  33378. }
  33379. });
  33380. return P._asyncStartSync($async$call$1, $async$completer);
  33381. }
  33382. };
  33383. B._parseFunctions___closure.prototype = {
  33384. call$1: function(result) {
  33385. return this.completer.complete$1(result);
  33386. },
  33387. call$0: function() {
  33388. return this.call$1(null);
  33389. },
  33390. "call*": "call$1",
  33391. $requiredArgCount: 0,
  33392. $defaultValues: function() {
  33393. return [null];
  33394. },
  33395. $signature: 40
  33396. };
  33397. B._parseImporter_closure.prototype = {
  33398. call$1: function(importer) {
  33399. return H.interceptedTypeCast(P.allowInteropCaptureThis(new B._parseImporter__closure(this.options, importer)), "$isJSFunction");
  33400. }
  33401. };
  33402. B._parseImporter__closure.prototype = {
  33403. call$4: function(thisArg, url, previous, _) {
  33404. var t1 = this.options,
  33405. t2 = J.getInterceptor$x(t1),
  33406. result = J.apply$2$x(this.importer, thisArg, H.setRuntimeTypeInfo([url, previous, P.allowInterop(new B._parseImporter___closure(J.get$current$x(t2.get$fiber(t1))))], [P.Object]));
  33407. if (H.boolTypeCast($.$get$_isUndefined().call$1(result)))
  33408. return J.yield$0$x(t2.get$fiber(t1));
  33409. return result;
  33410. },
  33411. call$3: function(thisArg, url, previous) {
  33412. return this.call$4(thisArg, url, previous, null);
  33413. },
  33414. "call*": "call$4",
  33415. $requiredArgCount: 3,
  33416. $defaultValues: function() {
  33417. return [null];
  33418. }
  33419. };
  33420. B._parseImporter___closure.prototype = {
  33421. call$1: function(result) {
  33422. P.scheduleMicrotask(new B._parseImporter____closure(this.fiber, result));
  33423. },
  33424. $signature: 17
  33425. };
  33426. B._parseImporter____closure.prototype = {
  33427. call$0: function() {
  33428. return J.run$1$x(this.fiber, this.result);
  33429. },
  33430. "call*": "call$0",
  33431. $requiredArgCount: 0
  33432. };
  33433. Y.Chokidar.prototype = {};
  33434. Y.ChokidarOptions.prototype = {};
  33435. Y.ChokidarWatcher.prototype = {};
  33436. V.JSError.prototype = {};
  33437. D.Exports.prototype = {};
  33438. E.FiberClass.prototype = {};
  33439. E.Fiber.prototype = {};
  33440. F.JSFunction.prototype = {};
  33441. F.NodeImporterResult.prototype = {};
  33442. Z.RenderContext.prototype = {};
  33443. L.RenderContextOptions.prototype = {};
  33444. R.RenderOptions.prototype = {};
  33445. U.RenderResult.prototype = {};
  33446. U.RenderResultStats.prototype = {};
  33447. G.Types.prototype = {};
  33448. B.forwardToString_closure.prototype = {
  33449. call$1: function(thisArg) {
  33450. return J.toString$0$(thisArg);
  33451. },
  33452. $signature: 31
  33453. };
  33454. B.createClass_closure.prototype = {
  33455. call$2: function($name, body) {
  33456. this.$prototype[$name] = P.allowInteropCaptureThis(body);
  33457. }
  33458. };
  33459. Z.closure36.prototype = {
  33460. call$0: function() {
  33461. var $constructor = P.allowInterop(new Z._closure4());
  33462. B.injectSuperclass(C.SassBoolean_true, $constructor);
  33463. B.forwardToString($constructor);
  33464. $constructor.prototype.getValue = P.allowInteropCaptureThis(new Z._closure5());
  33465. $constructor.TRUE = C.SassBoolean_true;
  33466. $constructor.FALSE = C.SassBoolean_false;
  33467. return $constructor;
  33468. }
  33469. };
  33470. Z._closure4.prototype = {
  33471. call$1: function(_) {
  33472. throw H.wrapException("new sass.types.Boolean() isn't allowed.\nUse sass.types.Boolean.TRUE or sass.types.Boolean.FALSE instead.");
  33473. },
  33474. call$0: function() {
  33475. return this.call$1(null);
  33476. },
  33477. "call*": "call$1",
  33478. $requiredArgCount: 0,
  33479. $defaultValues: function() {
  33480. return [null];
  33481. },
  33482. $signature: 11
  33483. };
  33484. Z._closure5.prototype = {
  33485. call$1: function(thisArg) {
  33486. return thisArg === C.SassBoolean_true;
  33487. },
  33488. $signature: 19
  33489. };
  33490. K._NodeSassColor.prototype = {};
  33491. K.closure24.prototype = {
  33492. call$6: function(thisArg, redOrArgb, green, blue, alpha, dartValue) {
  33493. var red, t1, t2, t3, t4;
  33494. if (dartValue != null) {
  33495. J.set$dartValue$x(thisArg, dartValue);
  33496. return;
  33497. }
  33498. if (green == null) {
  33499. H.intTypeCast(redOrArgb);
  33500. alpha = C.JSInt_methods._shrOtherPositive$1(redOrArgb, 24) / 255;
  33501. red = C.JSInt_methods.$mod(C.JSInt_methods._shrOtherPositive$1(redOrArgb, 16), 256);
  33502. green = C.JSInt_methods.$mod(C.JSInt_methods._shrOtherPositive$1(redOrArgb, 8), 256);
  33503. blue = C.JSInt_methods.$mod(redOrArgb, 256);
  33504. } else
  33505. red = redOrArgb;
  33506. t1 = C.JSNumber_methods.round$0(J.clamp$2$n(red, 0, 255));
  33507. t2 = C.JSNumber_methods.round$0(C.JSNumber_methods.clamp$2(green, 0, 255));
  33508. t3 = C.JSNumber_methods.round$0(J.clamp$2$n(blue, 0, 255));
  33509. t4 = alpha == null ? null : C.JSNumber_methods.clamp$2(alpha, 0, 1);
  33510. J.set$dartValue$x(thisArg, K.SassColor$rgb(t1, t2, t3, t4 == null ? 1 : t4, null));
  33511. },
  33512. call$2: function(thisArg, redOrArgb) {
  33513. return this.call$6(thisArg, redOrArgb, null, null, null, null);
  33514. },
  33515. call$3: function(thisArg, redOrArgb, green) {
  33516. return this.call$6(thisArg, redOrArgb, green, null, null, null);
  33517. },
  33518. call$4: function(thisArg, redOrArgb, green, blue) {
  33519. return this.call$6(thisArg, redOrArgb, green, blue, null, null);
  33520. },
  33521. call$5: function(thisArg, redOrArgb, green, blue, alpha) {
  33522. return this.call$6(thisArg, redOrArgb, green, blue, alpha, null);
  33523. },
  33524. "call*": "call$6",
  33525. $requiredArgCount: 2,
  33526. $defaultValues: function() {
  33527. return [null, null, null, null];
  33528. }
  33529. };
  33530. K.closure25.prototype = {
  33531. call$1: function(thisArg) {
  33532. return J.get$dartValue$x(thisArg).get$red();
  33533. }
  33534. };
  33535. K.closure26.prototype = {
  33536. call$1: function(thisArg) {
  33537. return J.get$dartValue$x(thisArg).get$green();
  33538. }
  33539. };
  33540. K.closure27.prototype = {
  33541. call$1: function(thisArg) {
  33542. return J.get$dartValue$x(thisArg).get$blue();
  33543. }
  33544. };
  33545. K.closure28.prototype = {
  33546. call$1: function(thisArg) {
  33547. return J.get$dartValue$x(thisArg).alpha;
  33548. }
  33549. };
  33550. K.closure29.prototype = {
  33551. call$2: function(thisArg, value) {
  33552. var t1 = J.getInterceptor$x(thisArg);
  33553. t1.set$dartValue(thisArg, t1.get$dartValue(thisArg).changeRgb$1$red(C.JSNumber_methods.round$0(J.clamp$2$n(value, 0, 255))));
  33554. },
  33555. "call*": "call$2",
  33556. $requiredArgCount: 2
  33557. };
  33558. K.closure30.prototype = {
  33559. call$2: function(thisArg, value) {
  33560. var t1 = J.getInterceptor$x(thisArg);
  33561. t1.set$dartValue(thisArg, t1.get$dartValue(thisArg).changeRgb$1$green(C.JSNumber_methods.round$0(J.clamp$2$n(value, 0, 255))));
  33562. },
  33563. "call*": "call$2",
  33564. $requiredArgCount: 2
  33565. };
  33566. K.closure31.prototype = {
  33567. call$2: function(thisArg, value) {
  33568. var t1 = J.getInterceptor$x(thisArg);
  33569. t1.set$dartValue(thisArg, t1.get$dartValue(thisArg).changeRgb$1$blue(C.JSNumber_methods.round$0(J.clamp$2$n(value, 0, 255))));
  33570. },
  33571. "call*": "call$2",
  33572. $requiredArgCount: 2
  33573. };
  33574. K.closure32.prototype = {
  33575. call$2: function(thisArg, value) {
  33576. var t1 = J.getInterceptor$x(thisArg);
  33577. t1.set$dartValue(thisArg, t1.get$dartValue(thisArg).changeRgb$1$alpha(J.clamp$2$n(value, 0, 1)));
  33578. },
  33579. "call*": "call$2",
  33580. $requiredArgCount: 2
  33581. };
  33582. K.closure33.prototype = {
  33583. call$1: function(thisArg) {
  33584. return J.toString$0$(J.get$dartValue$x(thisArg));
  33585. }
  33586. };
  33587. D._NodeSassList.prototype = {};
  33588. D.closure17.prototype = {
  33589. call$4: function(thisArg, $length, commaSeparator, dartValue) {
  33590. var t1;
  33591. if (dartValue == null) {
  33592. t1 = P.Iterable_Iterable$generate($length, new D._closure3(), F.Value);
  33593. t1 = D.SassList$(t1, commaSeparator !== false ? C.ListSeparator_comma : C.ListSeparator_space, false);
  33594. } else
  33595. t1 = dartValue;
  33596. J.set$dartValue$x(thisArg, t1);
  33597. },
  33598. call$2: function(thisArg, $length) {
  33599. return this.call$4(thisArg, $length, null, null);
  33600. },
  33601. call$3: function(thisArg, $length, commaSeparator) {
  33602. return this.call$4(thisArg, $length, commaSeparator, null);
  33603. },
  33604. "call*": "call$4",
  33605. $requiredArgCount: 2,
  33606. $defaultValues: function() {
  33607. return [null, null];
  33608. }
  33609. };
  33610. D._closure3.prototype = {
  33611. call$1: function(_) {
  33612. return C.C_SassNull;
  33613. },
  33614. $signature: 30
  33615. };
  33616. D.closure18.prototype = {
  33617. call$2: function(thisArg, index) {
  33618. return F.wrapValue(J.get$dartValue$x(thisArg)._list$_contents[index]);
  33619. },
  33620. "call*": "call$2",
  33621. $requiredArgCount: 2
  33622. };
  33623. D.closure19.prototype = {
  33624. call$3: function(thisArg, index, value) {
  33625. var t1 = J.getInterceptor$x(thisArg),
  33626. t2 = t1.get$dartValue(thisArg)._list$_contents,
  33627. mutable = H.setRuntimeTypeInfo(t2.slice(0), [H.getTypeArgumentByIndex(t2, 0)]);
  33628. mutable[index] = F.unwrapValue(value);
  33629. t1.set$dartValue(thisArg, t1.get$dartValue(thisArg).changeListContents$1(mutable));
  33630. },
  33631. "call*": "call$3",
  33632. $requiredArgCount: 3
  33633. };
  33634. D.closure20.prototype = {
  33635. call$1: function(thisArg) {
  33636. return J.get$dartValue$x(thisArg).separator === C.ListSeparator_comma;
  33637. }
  33638. };
  33639. D.closure21.prototype = {
  33640. call$2: function(thisArg, isComma) {
  33641. var t1 = J.getInterceptor$x(thisArg),
  33642. t2 = t1.get$dartValue(thisArg)._list$_contents,
  33643. t3 = isComma ? C.ListSeparator_comma : C.ListSeparator_space;
  33644. t1.set$dartValue(thisArg, D.SassList$(t2, t3, t1.get$dartValue(thisArg).hasBrackets));
  33645. },
  33646. "call*": "call$2",
  33647. $requiredArgCount: 2
  33648. };
  33649. D.closure22.prototype = {
  33650. call$1: function(thisArg) {
  33651. return J.get$dartValue$x(thisArg)._list$_contents.length;
  33652. }
  33653. };
  33654. D.closure23.prototype = {
  33655. call$1: function(thisArg) {
  33656. return J.toString$0$(J.get$dartValue$x(thisArg));
  33657. }
  33658. };
  33659. A._NodeSassMap.prototype = {};
  33660. A.closure10.prototype = {
  33661. call$3: function(thisArg, $length, dartValue) {
  33662. var t1, t2, t3, map;
  33663. if (dartValue == null) {
  33664. t1 = F.Value;
  33665. t2 = P.Iterable_Iterable$generate($length, new A._closure1(), t1);
  33666. t3 = P.Iterable_Iterable$generate($length, new A._closure2(), t1);
  33667. map = P.LinkedHashMap_LinkedHashMap(null, null, null, t1, t1);
  33668. P.MapBase__fillMapWithIterables(map, t2, t3);
  33669. t1 = new A.SassMap(H.ConstantMap_ConstantMap$from(map, t1, t1));
  33670. } else
  33671. t1 = dartValue;
  33672. J.set$dartValue$x(thisArg, t1);
  33673. },
  33674. call$2: function(thisArg, $length) {
  33675. return this.call$3(thisArg, $length, null);
  33676. },
  33677. "call*": "call$3",
  33678. $requiredArgCount: 2,
  33679. $defaultValues: function() {
  33680. return [null];
  33681. }
  33682. };
  33683. A._closure1.prototype = {
  33684. call$1: function(i) {
  33685. return new T.SassNumber(i, C.List_empty0, C.List_empty0, null);
  33686. },
  33687. $signature: 42
  33688. };
  33689. A._closure2.prototype = {
  33690. call$1: function(_) {
  33691. return C.C_SassNull;
  33692. },
  33693. $signature: 30
  33694. };
  33695. A.closure11.prototype = {
  33696. call$2: function(thisArg, index) {
  33697. return F.wrapValue(J.get$dartValue$x(thisArg).contents.get$keys().elementAt$1(0, index));
  33698. },
  33699. "call*": "call$2",
  33700. $requiredArgCount: 2
  33701. };
  33702. A.closure12.prototype = {
  33703. call$2: function(thisArg, index) {
  33704. return F.wrapValue(J.get$dartValue$x(thisArg).contents.get$values().elementAt$1(0, index));
  33705. },
  33706. "call*": "call$2",
  33707. $requiredArgCount: 2
  33708. };
  33709. A.closure13.prototype = {
  33710. call$1: function(thisArg) {
  33711. var t1 = J.get$dartValue$x(thisArg).contents;
  33712. return t1.get$length(t1);
  33713. }
  33714. };
  33715. A.closure14.prototype = {
  33716. call$3: function(thisArg, index, key) {
  33717. var newKey, t2, newMap, t3, i, t4,
  33718. t1 = J.getInterceptor$x(thisArg),
  33719. oldMap = t1.get$dartValue(thisArg).contents;
  33720. P.RangeError_checkValidIndex(index, oldMap, "index");
  33721. newKey = F.unwrapValue(key);
  33722. t2 = F.Value;
  33723. newMap = P.LinkedHashMap_LinkedHashMap$_empty(t2, t2);
  33724. for (t3 = t1.get$dartValue(thisArg).contents.get$keys(), t3 = t3.get$iterator(t3), i = 0; t3.moveNext$0();) {
  33725. t4 = t3.get$current(t3);
  33726. if (i === index)
  33727. newMap.$indexSet(0, newKey, oldMap.$index(0, t4));
  33728. else {
  33729. if (newKey.$eq(0, t4))
  33730. throw H.wrapException(P.ArgumentError$value(key, "key", "is already in the map"));
  33731. newMap.$indexSet(0, t4, oldMap.$index(0, t4));
  33732. }
  33733. ++i;
  33734. }
  33735. t1.set$dartValue(thisArg, new A.SassMap(H.ConstantMap_ConstantMap$from(newMap, t2, t2)));
  33736. },
  33737. "call*": "call$3",
  33738. $requiredArgCount: 3
  33739. };
  33740. A.closure15.prototype = {
  33741. call$3: function(thisArg, index, value) {
  33742. var t4, t5,
  33743. t1 = J.getInterceptor$x(thisArg),
  33744. key = t1.get$dartValue(thisArg).contents.get$keys().elementAt$1(0, index),
  33745. t2 = F.Value,
  33746. t3 = P.LinkedHashMap_LinkedHashMap$_empty(t2, t2);
  33747. for (t4 = t1.get$dartValue(thisArg).contents.get$entries(), t4 = t4.get$iterator(t4); t4.moveNext$0();) {
  33748. t5 = t4.get$current(t4);
  33749. t3.$indexSet(0, t5.key, t5.value);
  33750. }
  33751. t3.$indexSet(0, key, F.unwrapValue(value));
  33752. t1.set$dartValue(thisArg, new A.SassMap(H.ConstantMap_ConstantMap$from(t3, t2, t2)));
  33753. },
  33754. "call*": "call$3",
  33755. $requiredArgCount: 3
  33756. };
  33757. A.closure16.prototype = {
  33758. call$1: function(thisArg) {
  33759. return J.toString$0$(J.get$dartValue$x(thisArg));
  33760. }
  33761. };
  33762. O.closure9.prototype = {
  33763. call$0: function() {
  33764. var $constructor = P.allowInterop(new O._closure());
  33765. B.injectSuperclass(C.C_SassNull, $constructor);
  33766. B.forwardToString($constructor);
  33767. $constructor.NULL = C.C_SassNull;
  33768. C.C_SassNull.toString = P.allowInterop(new O._closure0());
  33769. return $constructor;
  33770. }
  33771. };
  33772. O._closure.prototype = {
  33773. call$1: function(_) {
  33774. throw H.wrapException("new sass.types.Null() isn't allowed. Use sass.types.Null.NULL instead.");
  33775. },
  33776. call$0: function() {
  33777. return this.call$1(null);
  33778. },
  33779. "call*": "call$1",
  33780. $requiredArgCount: 0,
  33781. $defaultValues: function() {
  33782. return [null];
  33783. },
  33784. $signature: 11
  33785. };
  33786. O._closure0.prototype = {
  33787. call$0: function() {
  33788. return "null";
  33789. },
  33790. "call*": "call$0",
  33791. $requiredArgCount: 0
  33792. };
  33793. T._NodeSassNumber.prototype = {};
  33794. T.closure3.prototype = {
  33795. call$4: function(thisArg, value, unit, dartValue) {
  33796. J.set$dartValue$x(thisArg, dartValue == null ? T._parseNumber(value, unit) : dartValue);
  33797. },
  33798. call$2: function(thisArg, value) {
  33799. return this.call$4(thisArg, value, null, null);
  33800. },
  33801. call$3: function(thisArg, value, unit) {
  33802. return this.call$4(thisArg, value, unit, null);
  33803. },
  33804. "call*": "call$4",
  33805. $requiredArgCount: 2,
  33806. $defaultValues: function() {
  33807. return [null, null];
  33808. }
  33809. };
  33810. T.closure4.prototype = {
  33811. call$1: function(thisArg) {
  33812. return J.get$dartValue$x(thisArg).value;
  33813. }
  33814. };
  33815. T.closure5.prototype = {
  33816. call$2: function(thisArg, value) {
  33817. var t1 = J.getInterceptor$x(thisArg),
  33818. t2 = t1.get$dartValue(thisArg).numeratorUnits;
  33819. t1.set$dartValue(thisArg, T.SassNumber$withUnits(value, t1.get$dartValue(thisArg).denominatorUnits, t2));
  33820. },
  33821. "call*": "call$2",
  33822. $requiredArgCount: 2
  33823. };
  33824. T.closure6.prototype = {
  33825. call$1: function(thisArg) {
  33826. var t1 = J.getInterceptor$x(thisArg),
  33827. t2 = C.JSArray_methods.join$1(t1.get$dartValue(thisArg).numeratorUnits, "*");
  33828. return t2 + (t1.get$dartValue(thisArg).denominatorUnits.length === 0 ? "" : "/") + C.JSArray_methods.join$1(t1.get$dartValue(thisArg).denominatorUnits, "*");
  33829. }
  33830. };
  33831. T.closure7.prototype = {
  33832. call$2: function(thisArg, unit) {
  33833. var t1 = J.getInterceptor$x(thisArg);
  33834. t1.set$dartValue(thisArg, T._parseNumber(t1.get$dartValue(thisArg).value, unit));
  33835. },
  33836. "call*": "call$2",
  33837. $requiredArgCount: 2
  33838. };
  33839. T.closure8.prototype = {
  33840. call$1: function(thisArg) {
  33841. return J.toString$0$(J.get$dartValue$x(thisArg));
  33842. }
  33843. };
  33844. T._parseNumber_closure.prototype = {
  33845. call$1: function(unit) {
  33846. return unit.length === 0;
  33847. }
  33848. };
  33849. T._parseNumber_closure0.prototype = {
  33850. call$1: function(unit) {
  33851. return unit.length === 0;
  33852. }
  33853. };
  33854. D._NodeSassString.prototype = {};
  33855. D.closure.prototype = {
  33856. call$3: function(thisArg, value, dartValue) {
  33857. J.set$dartValue$x(thisArg, dartValue == null ? new D.SassString(value, false) : dartValue);
  33858. },
  33859. call$2: function(thisArg, value) {
  33860. return this.call$3(thisArg, value, null);
  33861. },
  33862. "call*": "call$3",
  33863. $requiredArgCount: 2,
  33864. $defaultValues: function() {
  33865. return [null];
  33866. }
  33867. };
  33868. D.closure0.prototype = {
  33869. call$1: function(thisArg) {
  33870. return J.get$dartValue$x(thisArg).text;
  33871. }
  33872. };
  33873. D.closure1.prototype = {
  33874. call$2: function(thisArg, value) {
  33875. J.set$dartValue$x(thisArg, new D.SassString(value, false));
  33876. },
  33877. "call*": "call$2",
  33878. $requiredArgCount: 2
  33879. };
  33880. D.closure2.prototype = {
  33881. call$1: function(thisArg) {
  33882. return J.toString$0$(J.get$dartValue$x(thisArg));
  33883. }
  33884. };
  33885. V.AtRootQueryParser.prototype = {
  33886. parse$0: function() {
  33887. return this.wrapSpanFormatException$1(new V.AtRootQueryParser_parse_closure(this));
  33888. }
  33889. };
  33890. V.AtRootQueryParser_parse_closure.prototype = {
  33891. call$0: function() {
  33892. var include, atRules,
  33893. t1 = this.$this,
  33894. t2 = t1.scanner;
  33895. t2.expectChar$1(40);
  33896. t1.whitespace$0();
  33897. include = t1.scanIdentifier$1("with");
  33898. if (!include)
  33899. t1.expectIdentifier$2$name("without", '"with" or "without"');
  33900. t1.whitespace$0();
  33901. t2.expectChar$1(58);
  33902. t1.whitespace$0();
  33903. atRules = P.LinkedHashSet_LinkedHashSet(P.String);
  33904. do {
  33905. atRules.add$1(0, t1.identifier$0().toLowerCase());
  33906. t1.whitespace$0();
  33907. } while (t1.lookingAtIdentifier$0());
  33908. t2.expectChar$1(41);
  33909. t2.expectDone$0();
  33910. return new V.AtRootQuery(include, atRules, atRules.contains$1(0, "all"), atRules.contains$1(0, "rule"));
  33911. }
  33912. };
  33913. Q.closure129.prototype = {
  33914. call$1: function($function) {
  33915. return $function.name;
  33916. }
  33917. };
  33918. Q.CssParser.prototype = {
  33919. get$plainCss: function() {
  33920. return true;
  33921. },
  33922. silentComment$0: function() {
  33923. var t1 = this.scanner,
  33924. t2 = t1._string_scanner$_position;
  33925. this.super$Parser$silentComment();
  33926. this.error$2("Silent comments aren't allowed in plain CSS.", t1.spanFrom$1(new S._SpanScannerState(t1, t2)));
  33927. },
  33928. atRule$2$root: function(child, root) {
  33929. var $name, urlStart, next, url, urlSpan, queries, t2, t3, t4, t5, t6, _this = this,
  33930. t1 = _this.scanner,
  33931. start = new S._SpanScannerState(t1, t1._string_scanner$_position);
  33932. t1.expectChar$1(64);
  33933. $name = _this.interpolatedIdentifier$0();
  33934. _this.whitespace$0();
  33935. switch ($name.get$asPlain()) {
  33936. case "at-root":
  33937. case "content":
  33938. case "debug":
  33939. case "each":
  33940. case "error":
  33941. case "extend":
  33942. case "for":
  33943. case "function":
  33944. case "if":
  33945. case "include":
  33946. case "mixin":
  33947. case "return":
  33948. case "warn":
  33949. case "while":
  33950. _this.almostAnyValue$0();
  33951. _this.error$2("This at-rule isn't allowed in plain CSS.", t1.spanFrom$1(start));
  33952. break;
  33953. case "charset":
  33954. _this.string$0();
  33955. if (!root)
  33956. _this.error$2("This at-rule is not allowed here.", t1.spanFrom$1(start));
  33957. return;
  33958. case "import":
  33959. urlStart = new S._SpanScannerState(t1, t1._string_scanner$_position);
  33960. next = t1.peekChar$0();
  33961. url = next === 117 || next === 85 ? _this.dynamicUrl$0() : new D.StringExpression(_this.interpolatedString$0().asInterpolation$1$static(true), false);
  33962. urlSpan = t1.spanFrom$1(urlStart);
  33963. _this.whitespace$0();
  33964. queries = _this.tryImportQueries$0();
  33965. _this.expectStatementSeparator$1("@import rule");
  33966. t2 = X.Interpolation$(H.setRuntimeTypeInfo([url], [P.Object]), urlSpan);
  33967. t3 = t1.spanFrom$1(urlStart);
  33968. t4 = queries == null;
  33969. t5 = t4 ? null : queries.item1;
  33970. t4 = t4 ? null : queries.item2;
  33971. t6 = F.Import;
  33972. t3 = H.setRuntimeTypeInfo([new Q.StaticImport(t2, t5, t4, t3)], [t6]);
  33973. t1 = t1.spanFrom$1(start);
  33974. return new B.ImportRule(P.List_List$unmodifiable(t3, t6), t1);
  33975. case "media":
  33976. return _this.mediaRule$1(start);
  33977. case "-moz-document":
  33978. return _this.mozDocumentRule$2(start, $name);
  33979. case "supports":
  33980. return _this.supportsRule$1(start);
  33981. default:
  33982. return _this.unknownAtRule$2(start, $name);
  33983. }
  33984. },
  33985. identifierLike$0: function() {
  33986. var t2, $arguments, _this = this,
  33987. t1 = _this.scanner,
  33988. start = new S._SpanScannerState(t1, t1._string_scanner$_position),
  33989. identifier = _this.interpolatedIdentifier$0(),
  33990. plain = identifier.get$asPlain(),
  33991. specialFunction = _this.trySpecialFunction$2(plain.toLowerCase(), start);
  33992. if (specialFunction != null)
  33993. return specialFunction;
  33994. t2 = t1._string_scanner$_position;
  33995. if (!t1.scanChar$1(40))
  33996. return new D.StringExpression(identifier, false);
  33997. $arguments = H.setRuntimeTypeInfo([], [T.Expression]);
  33998. if (!t1.scanChar$1(41)) {
  33999. do {
  34000. _this.whitespace$0();
  34001. $arguments.push(_this.expression$1$singleEquals(true));
  34002. _this.whitespace$0();
  34003. } while (t1.scanChar$1(44));
  34004. t1.expectChar$1(41);
  34005. }
  34006. if ($.$get$_disallowedFunctionNames().contains$1(0, plain))
  34007. _this.error$2("This function isn't allowed in plain CSS.", t1.spanFrom$1(start));
  34008. return new F.FunctionExpression(null, X.Interpolation$(H.setRuntimeTypeInfo([new D.StringExpression(identifier, false)], [P.Object]), identifier.span), X.ArgumentInvocation$($arguments, C.Map_empty5, t1.spanFrom$1(new S._SpanScannerState(t1, t2)), null, null), t1.spanFrom$1(start));
  34009. }
  34010. };
  34011. E.KeyframeSelectorParser.prototype = {
  34012. parse$0: function() {
  34013. return this.wrapSpanFormatException$1(new E.KeyframeSelectorParser_parse_closure(this));
  34014. },
  34015. _percentage$0: function() {
  34016. var t3, next,
  34017. t1 = this.scanner,
  34018. t2 = t1.scanChar$1(43) ? H.Primitives_stringFromCharCode(43) : "",
  34019. second = t1.peekChar$0();
  34020. if (!T.isDigit(second) && second !== 46)
  34021. t1.error$1("Expected number.");
  34022. while (true) {
  34023. t3 = t1.peekChar$0();
  34024. if (!(t3 != null && t3 >= 48 && t3 <= 57))
  34025. break;
  34026. t2 += H.Primitives_stringFromCharCode(t1.readChar$0());
  34027. }
  34028. if (t1.peekChar$0() === 46) {
  34029. t2 += H.Primitives_stringFromCharCode(t1.readChar$0());
  34030. while (true) {
  34031. t3 = t1.peekChar$0();
  34032. if (!(t3 != null && t3 >= 48 && t3 <= 57))
  34033. break;
  34034. t2 += H.Primitives_stringFromCharCode(t1.readChar$0());
  34035. }
  34036. }
  34037. if (this.scanIdentifier$1("e")) {
  34038. t2 += t1.readChar$0();
  34039. next = t1.peekChar$0();
  34040. if (next === 43 || next === 45)
  34041. t2 += t1.readChar$0();
  34042. if (!T.isDigit(t1.peekChar$0()))
  34043. t1.error$1("Expected digit.");
  34044. while (true) {
  34045. t3 = t1.peekChar$0();
  34046. if (!(t3 != null && t3 >= 48 && t3 <= 57))
  34047. break;
  34048. t2 += H.Primitives_stringFromCharCode(t1.readChar$0());
  34049. }
  34050. }
  34051. t1.expectChar$1(37);
  34052. t2 += H.Primitives_stringFromCharCode(37);
  34053. return t2.charCodeAt(0) == 0 ? t2 : t2;
  34054. }
  34055. };
  34056. E.KeyframeSelectorParser_parse_closure.prototype = {
  34057. call$0: function() {
  34058. var selectors = H.setRuntimeTypeInfo([], [P.String]),
  34059. t1 = this.$this,
  34060. t2 = t1.scanner;
  34061. do {
  34062. t1.whitespace$0();
  34063. if (t1.lookingAtIdentifier$0())
  34064. if (t1.scanIdentifier$1("from"))
  34065. selectors.push("from");
  34066. else {
  34067. t1.expectIdentifier$2$name("to", '"to" or "from"');
  34068. selectors.push("to");
  34069. }
  34070. else
  34071. selectors.push(t1._percentage$0());
  34072. t1.whitespace$0();
  34073. } while (t2.scanChar$1(44));
  34074. t2.expectDone$0();
  34075. return selectors;
  34076. }
  34077. };
  34078. F.MediaQueryParser.prototype = {
  34079. parse$0: function() {
  34080. return this.wrapSpanFormatException$1(new F.MediaQueryParser_parse_closure(this));
  34081. },
  34082. _mediaQuery$0: function() {
  34083. var identifier1, identifier2, type, modifier, t2, features, _this = this, _null = null,
  34084. t1 = _this.scanner;
  34085. if (t1.peekChar$0() !== 40) {
  34086. identifier1 = _this.identifier$0();
  34087. _this.whitespace$0();
  34088. if (!_this.lookingAtIdentifier$0())
  34089. return F.CssMediaQuery$(identifier1, _null, _null);
  34090. identifier2 = _this.identifier$0();
  34091. _this.whitespace$0();
  34092. if (B.equalsIgnoreCase(identifier2, "and")) {
  34093. type = identifier1;
  34094. modifier = _null;
  34095. } else {
  34096. if (_this.scanIdentifier$1("and"))
  34097. _this.whitespace$0();
  34098. else
  34099. return F.CssMediaQuery$(identifier2, _null, identifier1);
  34100. type = identifier2;
  34101. modifier = identifier1;
  34102. }
  34103. } else {
  34104. type = _null;
  34105. modifier = type;
  34106. }
  34107. t2 = P.String;
  34108. features = H.setRuntimeTypeInfo([], [t2]);
  34109. do {
  34110. _this.whitespace$0();
  34111. t1.expectChar$1(40);
  34112. features.push("(" + _this.declarationValue$0() + ")");
  34113. t1.expectChar$1(41);
  34114. _this.whitespace$0();
  34115. } while (_this.scanIdentifier$1("and"));
  34116. if (type == null)
  34117. return new F.CssMediaQuery(_null, _null, P.List_List$unmodifiable(features, t2));
  34118. else
  34119. return F.CssMediaQuery$(type, features, modifier);
  34120. }
  34121. };
  34122. F.MediaQueryParser_parse_closure.prototype = {
  34123. call$0: function() {
  34124. var queries = H.setRuntimeTypeInfo([], [F.CssMediaQuery]),
  34125. t1 = this.$this,
  34126. t2 = t1.scanner;
  34127. do {
  34128. t1.whitespace$0();
  34129. queries.push(t1._mediaQuery$0());
  34130. } while (t2.scanChar$1(44));
  34131. t2.expectDone$0();
  34132. return queries;
  34133. }
  34134. };
  34135. G.Parser.prototype = {
  34136. _parseIdentifier$0: function() {
  34137. return this.wrapSpanFormatException$1(new G.Parser__parseIdentifier_closure(this));
  34138. },
  34139. _isVariableDeclarationLike$0: function() {
  34140. var _this = this,
  34141. t1 = _this.scanner;
  34142. if (!t1.scanChar$1(36))
  34143. return false;
  34144. if (!_this.lookingAtIdentifier$0())
  34145. return false;
  34146. _this.identifier$0();
  34147. _this.whitespace$0();
  34148. return t1.scanChar$1(58);
  34149. },
  34150. whitespace$0: function() {
  34151. do
  34152. this.whitespaceWithoutComments$0();
  34153. while (this.scanComment$0());
  34154. },
  34155. whitespaceWithoutComments$0: function() {
  34156. var t3,
  34157. t1 = this.scanner,
  34158. t2 = t1.string.length;
  34159. while (true) {
  34160. if (t1._string_scanner$_position !== t2) {
  34161. t3 = t1.peekChar$0();
  34162. t3 = t3 === 32 || t3 === 9 || t3 === 10 || t3 === 13 || t3 === 12;
  34163. } else
  34164. t3 = false;
  34165. if (!t3)
  34166. break;
  34167. t1.readChar$0();
  34168. }
  34169. },
  34170. spaces$0: function() {
  34171. var t3,
  34172. t1 = this.scanner,
  34173. t2 = t1.string.length;
  34174. while (true) {
  34175. if (t1._string_scanner$_position !== t2) {
  34176. t3 = t1.peekChar$0();
  34177. t3 = t3 === 32 || t3 === 9;
  34178. } else
  34179. t3 = false;
  34180. if (!t3)
  34181. break;
  34182. t1.readChar$0();
  34183. }
  34184. },
  34185. scanComment$0: function() {
  34186. var next,
  34187. t1 = this.scanner;
  34188. if (t1.peekChar$0() !== 47)
  34189. return false;
  34190. next = t1.peekChar$1(1);
  34191. if (next === 47) {
  34192. this.silentComment$0();
  34193. return true;
  34194. } else if (next === 42) {
  34195. this.loudComment$0();
  34196. return true;
  34197. } else
  34198. return false;
  34199. },
  34200. silentComment$0: function() {
  34201. var t2, t3,
  34202. t1 = this.scanner;
  34203. t1.expect$1("//");
  34204. t2 = t1.string.length;
  34205. while (true) {
  34206. if (t1._string_scanner$_position !== t2) {
  34207. t3 = t1.peekChar$0();
  34208. t3 = !(t3 === 10 || t3 === 13 || t3 === 12);
  34209. } else
  34210. t3 = false;
  34211. if (!t3)
  34212. break;
  34213. t1.readChar$0();
  34214. }
  34215. },
  34216. loudComment$0: function() {
  34217. var next,
  34218. t1 = this.scanner;
  34219. t1.expect$1("/*");
  34220. for (; true;) {
  34221. if (t1.readChar$0() !== 42)
  34222. continue;
  34223. do
  34224. next = t1.readChar$0();
  34225. while (next === 42);
  34226. if (next === 47)
  34227. break;
  34228. }
  34229. },
  34230. identifier$2$normalize$unit: function(normalize, unit) {
  34231. var t1, first,
  34232. _s20_ = "Expected identifier.",
  34233. text = new P.StringBuffer("");
  34234. for (t1 = this.scanner; t1.scanChar$1(45);)
  34235. text._contents += H.Primitives_stringFromCharCode(45);
  34236. first = t1.peekChar$0();
  34237. if (first == null)
  34238. t1.error$1(_s20_);
  34239. else if (normalize && first === 95) {
  34240. t1.readChar$0();
  34241. text._contents += H.Primitives_stringFromCharCode(45);
  34242. } else if (first === 95 || T.isAlphabetic0(first) || first >= 128)
  34243. text._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  34244. else if (first === 92)
  34245. text._contents += H.S(this.escape$1$identifierStart(true));
  34246. else
  34247. t1.error$1(_s20_);
  34248. this._identifierBody$3$normalize$unit(text, normalize, unit);
  34249. t1 = text._contents;
  34250. return t1.charCodeAt(0) == 0 ? t1 : t1;
  34251. },
  34252. identifier$0: function() {
  34253. return this.identifier$2$normalize$unit(false, false);
  34254. },
  34255. identifier$1$normalize: function(normalize) {
  34256. return this.identifier$2$normalize$unit(normalize, false);
  34257. },
  34258. identifier$1$unit: function(unit) {
  34259. return this.identifier$2$normalize$unit(false, unit);
  34260. },
  34261. _identifierBody$3$normalize$unit: function(text, normalize, unit) {
  34262. var t1, next, second, t2;
  34263. for (t1 = this.scanner; true;) {
  34264. next = t1.peekChar$0();
  34265. if (next == null)
  34266. break;
  34267. else if (unit && next === 45) {
  34268. second = t1.peekChar$1(1);
  34269. if (second != null)
  34270. if (second !== 46)
  34271. t2 = second >= 48 && second <= 57;
  34272. else
  34273. t2 = true;
  34274. else
  34275. t2 = false;
  34276. if (t2)
  34277. break;
  34278. text._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  34279. } else if (normalize && next === 95) {
  34280. t1.readChar$0();
  34281. text._contents += H.Primitives_stringFromCharCode(45);
  34282. } else {
  34283. if (next !== 95) {
  34284. if (!(next >= 97 && next <= 122))
  34285. t2 = next >= 65 && next <= 90;
  34286. else
  34287. t2 = true;
  34288. t2 = t2 || next >= 128;
  34289. } else
  34290. t2 = true;
  34291. if (!t2) {
  34292. t2 = next >= 48 && next <= 57;
  34293. t2 = t2 || next === 45;
  34294. } else
  34295. t2 = true;
  34296. if (t2)
  34297. text._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  34298. else if (next === 92)
  34299. text._contents += H.S(this.escape$0());
  34300. else
  34301. break;
  34302. }
  34303. }
  34304. },
  34305. _identifierBody$1: function(text) {
  34306. return this._identifierBody$3$normalize$unit(text, false, false);
  34307. },
  34308. string$0: function() {
  34309. var t2, buffer, next,
  34310. t1 = this.scanner,
  34311. quote = t1.readChar$0();
  34312. if (quote !== 39 && quote !== 34) {
  34313. t2 = t1._string_scanner$_position;
  34314. t1.error$2$position("Expected string.", t2 - 1);
  34315. }
  34316. buffer = new P.StringBuffer("");
  34317. for (; true;) {
  34318. next = t1.peekChar$0();
  34319. if (next === quote) {
  34320. t1.readChar$0();
  34321. break;
  34322. } else if (next == null || next === 10 || next === 13 || next === 12)
  34323. t1.error$1("Expected " + H.Primitives_stringFromCharCode(quote) + ".");
  34324. else if (next === 92) {
  34325. t2 = t1.peekChar$1(1);
  34326. if (t2 === 10 || t2 === 13 || t2 === 12) {
  34327. t1.readChar$0();
  34328. t1.readChar$0();
  34329. } else
  34330. buffer._contents += H.Primitives_stringFromCharCode(this.escapeCharacter$0());
  34331. } else
  34332. buffer._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  34333. }
  34334. t1 = buffer._contents;
  34335. return t1.charCodeAt(0) == 0 ? t1 : t1;
  34336. },
  34337. naturalNumber$0: function() {
  34338. var number, t2,
  34339. t1 = this.scanner,
  34340. first = t1.readChar$0();
  34341. if (!T.isDigit(first))
  34342. t1.error$2$position("Expected digit.", t1._string_scanner$_position - 1);
  34343. number = first - 48;
  34344. while (true) {
  34345. t2 = t1.peekChar$0();
  34346. if (!(t2 != null && t2 >= 48 && t2 <= 57))
  34347. break;
  34348. number = number * 10 + (t1.readChar$0() - 48);
  34349. }
  34350. return number;
  34351. },
  34352. declarationValue$1$allowEmpty: function(allowEmpty) {
  34353. var t1, t2, t3, wroteNewline, next, start, end, t4, url, _this = this,
  34354. buffer = new P.StringBuffer(""),
  34355. brackets = H.setRuntimeTypeInfo([], [P.int]);
  34356. $label0$1:
  34357. for (t1 = _this.scanner, t2 = _this.get$loudComment(), t3 = _this.get$string(), wroteNewline = false; true;) {
  34358. next = t1.peekChar$0();
  34359. switch (next) {
  34360. case 92:
  34361. buffer._contents += H.S(_this.escape$1$identifierStart(true));
  34362. wroteNewline = false;
  34363. break;
  34364. case 34:
  34365. case 39:
  34366. start = t1._string_scanner$_position;
  34367. t3.call$0();
  34368. end = t1._string_scanner$_position;
  34369. buffer._contents += J.substring$2$s(t1.string, start, end);
  34370. wroteNewline = false;
  34371. break;
  34372. case 47:
  34373. if (t1.peekChar$1(1) === 42) {
  34374. start = t1._string_scanner$_position;
  34375. t2.call$0();
  34376. end = t1._string_scanner$_position;
  34377. buffer._contents += J.substring$2$s(t1.string, start, end);
  34378. } else
  34379. buffer._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  34380. wroteNewline = false;
  34381. break;
  34382. case 32:
  34383. case 9:
  34384. if (!wroteNewline) {
  34385. t4 = t1.peekChar$1(1);
  34386. t4 = !(t4 === 32 || t4 === 9 || t4 === 10 || t4 === 13 || t4 === 12);
  34387. } else
  34388. t4 = true;
  34389. if (t4)
  34390. buffer._contents += H.Primitives_stringFromCharCode(32);
  34391. t1.readChar$0();
  34392. break;
  34393. case 10:
  34394. case 13:
  34395. case 12:
  34396. t4 = t1.peekChar$1(-1);
  34397. if (!(t4 === 10 || t4 === 13 || t4 === 12))
  34398. buffer._contents += "\n";
  34399. t1.readChar$0();
  34400. wroteNewline = true;
  34401. break;
  34402. case 40:
  34403. case 123:
  34404. case 91:
  34405. buffer._contents += H.Primitives_stringFromCharCode(next);
  34406. brackets.push(T.opposite(t1.readChar$0()));
  34407. wroteNewline = false;
  34408. break;
  34409. case 41:
  34410. case 125:
  34411. case 93:
  34412. if (brackets.length === 0)
  34413. break $label0$1;
  34414. buffer._contents += H.Primitives_stringFromCharCode(next);
  34415. t1.expectChar$1(brackets.pop());
  34416. wroteNewline = false;
  34417. break;
  34418. case 59:
  34419. if (brackets.length === 0)
  34420. break $label0$1;
  34421. buffer._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  34422. break;
  34423. case 117:
  34424. case 85:
  34425. url = _this.tryUrl$0();
  34426. if (url != null)
  34427. buffer._contents += url;
  34428. else
  34429. buffer._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  34430. wroteNewline = false;
  34431. break;
  34432. default:
  34433. if (next == null)
  34434. break $label0$1;
  34435. if (_this.lookingAtIdentifier$0())
  34436. buffer._contents += _this.identifier$0();
  34437. else
  34438. buffer._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  34439. wroteNewline = false;
  34440. break;
  34441. }
  34442. }
  34443. if (brackets.length !== 0)
  34444. t1.expectChar$1(C.JSArray_methods.get$last(brackets));
  34445. if (!allowEmpty && buffer._contents.length === 0)
  34446. t1.error$1("Expected token.");
  34447. t1 = buffer._contents;
  34448. return t1.charCodeAt(0) == 0 ? t1 : t1;
  34449. },
  34450. declarationValue$0: function() {
  34451. return this.declarationValue$1$allowEmpty(false);
  34452. },
  34453. tryUrl$0: function() {
  34454. var buffer, next, t2, _this = this,
  34455. t1 = _this.scanner,
  34456. start = new S._SpanScannerState(t1, t1._string_scanner$_position);
  34457. if (!_this.scanIdentifier$1("url"))
  34458. return;
  34459. if (!t1.scanChar$1(40)) {
  34460. t1.set$state(start);
  34461. return;
  34462. }
  34463. _this.whitespace$0();
  34464. buffer = new P.StringBuffer("");
  34465. buffer._contents = "url(";
  34466. for (; true;) {
  34467. next = t1.peekChar$0();
  34468. if (next == null)
  34469. break;
  34470. else {
  34471. if (next !== 37)
  34472. if (next !== 38)
  34473. if (next !== 35)
  34474. t2 = next >= 42 && next <= 126 || next >= 128;
  34475. else
  34476. t2 = true;
  34477. else
  34478. t2 = true;
  34479. else
  34480. t2 = true;
  34481. if (t2)
  34482. buffer._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  34483. else if (next === 92)
  34484. buffer._contents += H.S(_this.escape$0());
  34485. else if (next === 32 || next === 9 || next === 10 || next === 13 || next === 12) {
  34486. _this.whitespace$0();
  34487. if (t1.peekChar$0() !== 41)
  34488. break;
  34489. } else if (next === 41) {
  34490. t2 = buffer._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  34491. return t2.charCodeAt(0) == 0 ? t2 : t2;
  34492. } else
  34493. break;
  34494. }
  34495. }
  34496. t1.set$state(start);
  34497. return;
  34498. },
  34499. variableName$0: function() {
  34500. this.scanner.expectChar$1(36);
  34501. return this.identifier$1$normalize(true);
  34502. },
  34503. escape$1$identifierStart: function(identifierStart) {
  34504. var first, value, i, next,
  34505. t1 = this.scanner;
  34506. t1.expectChar$1(92);
  34507. first = t1.peekChar$0();
  34508. if (first == null)
  34509. return "";
  34510. else if (T.isNewline(first)) {
  34511. t1.error$1("Expected escape sequence.");
  34512. value = 0;
  34513. } else if (T.isHex(first)) {
  34514. for (value = 0, i = 0; i < 6; ++i) {
  34515. next = t1.peekChar$0();
  34516. if (next == null || !T.isHex(next))
  34517. break;
  34518. value = value * 16 + T.asHex(t1.readChar$0());
  34519. }
  34520. this.scanCharIf$1(T.character__isWhitespace$closure());
  34521. } else
  34522. value = t1.readChar$0();
  34523. if (identifierStart)
  34524. t1 = value === 95 || T.isAlphabetic0(value) || value >= 128;
  34525. else
  34526. t1 = value === 95 || T.isAlphabetic0(value) || value >= 128 || T.isDigit(value) || value === 45;
  34527. if (t1)
  34528. return H.Primitives_stringFromCharCode(value);
  34529. else {
  34530. if (value > 31)
  34531. if (value !== 127)
  34532. t1 = identifierStart && T.isDigit(value);
  34533. else
  34534. t1 = true;
  34535. else
  34536. t1 = true;
  34537. if (t1) {
  34538. t1 = H.Primitives_stringFromCharCode(92);
  34539. if (value > 15)
  34540. t1 += H.Primitives_stringFromCharCode(T.hexCharFor(C.JSInt_methods._shrOtherPositive$1(value, 4)));
  34541. t1 = t1 + H.Primitives_stringFromCharCode(T.hexCharFor(value & 15)) + H.Primitives_stringFromCharCode(32);
  34542. return t1.charCodeAt(0) == 0 ? t1 : t1;
  34543. } else
  34544. return P.String_String$fromCharCodes(H.setRuntimeTypeInfo([92, value], [P.int]), 0, null);
  34545. }
  34546. },
  34547. escape$0: function() {
  34548. return this.escape$1$identifierStart(false);
  34549. },
  34550. escapeCharacter$0: function() {
  34551. var first, value, i, next, t2,
  34552. t1 = this.scanner;
  34553. t1.expectChar$1(92);
  34554. first = t1.peekChar$0();
  34555. if (first == null)
  34556. return 65533;
  34557. else if (T.isNewline(first))
  34558. t1.error$1("Expected escape sequence.");
  34559. else if (T.isHex(first)) {
  34560. for (value = 0, i = 0; i < 6; ++i) {
  34561. next = t1.peekChar$0();
  34562. if (next == null || !T.isHex(next))
  34563. break;
  34564. value = (value << 4 >>> 0) + T.asHex(t1.readChar$0());
  34565. }
  34566. t2 = t1.peekChar$0();
  34567. if (t2 === 32 || t2 === 9 || T.isNewline(t2))
  34568. t1.readChar$0();
  34569. if (value !== 0)
  34570. t1 = value >= 55296 && value <= 57343 || value >= 1114111;
  34571. else
  34572. t1 = true;
  34573. if (t1)
  34574. return 65533;
  34575. else
  34576. return value;
  34577. } else
  34578. return t1.readChar$0();
  34579. },
  34580. scanCharIf$1: function(condition) {
  34581. var t1 = this.scanner;
  34582. if (!condition.call$1(t1.peekChar$0()))
  34583. return false;
  34584. t1.readChar$0();
  34585. return true;
  34586. },
  34587. scanCharIgnoreCase$1: function(letter) {
  34588. var t1 = this.scanner;
  34589. if ((t1.peekChar$0() | 32) !== letter)
  34590. return false;
  34591. t1.readChar$0();
  34592. return true;
  34593. },
  34594. expectCharIgnoreCase$1: function(letter) {
  34595. var t2, t3,
  34596. t1 = this.scanner;
  34597. if ((t1.readChar$0() | 32) === letter)
  34598. return;
  34599. t2 = 'Expected "' + H.Primitives_stringFromCharCode(letter) + '".';
  34600. t3 = t1._string_scanner$_position;
  34601. t1.error$2$position(t2, t3 - 1);
  34602. },
  34603. lookingAtNumber$0: function() {
  34604. var second, third,
  34605. t1 = this.scanner,
  34606. first = t1.peekChar$0();
  34607. if (first == null)
  34608. return false;
  34609. if (T.isDigit(first))
  34610. return true;
  34611. if (first === 46) {
  34612. second = t1.peekChar$1(1);
  34613. return second != null && T.isDigit(second);
  34614. } else if (first === 43 || first === 45) {
  34615. second = t1.peekChar$1(1);
  34616. if (second == null)
  34617. return false;
  34618. if (T.isDigit(second))
  34619. return true;
  34620. if (second !== 46)
  34621. return false;
  34622. third = t1.peekChar$1(2);
  34623. return third != null && T.isDigit(third);
  34624. } else
  34625. return false;
  34626. },
  34627. lookingAtIdentifier$1: function($forward) {
  34628. var t1, first, second, third;
  34629. if ($forward == null)
  34630. $forward = 0;
  34631. t1 = this.scanner;
  34632. first = t1.peekChar$1($forward);
  34633. if (first == null)
  34634. return false;
  34635. if (first === 95 || T.isAlphabetic0(first) || first >= 128 || first === 92)
  34636. return true;
  34637. if (first !== 45)
  34638. return false;
  34639. second = t1.peekChar$1($forward + 1);
  34640. if (second == null)
  34641. return false;
  34642. if (second === 95 || T.isAlphabetic0(second) || second >= 128 || second === 92)
  34643. return true;
  34644. if (second !== 45)
  34645. return false;
  34646. third = t1.peekChar$1($forward + 2);
  34647. if (third != null)
  34648. t1 = third === 95 || T.isAlphabetic0(third) || third >= 128;
  34649. else
  34650. t1 = false;
  34651. return t1;
  34652. },
  34653. lookingAtIdentifier$0: function() {
  34654. return this.lookingAtIdentifier$1(null);
  34655. },
  34656. lookingAtIdentifierBody$0: function() {
  34657. var t1,
  34658. next = this.scanner.peekChar$0();
  34659. if (next != null)
  34660. t1 = next === 95 || T.isAlphabetic0(next) || next >= 128 || T.isDigit(next) || next === 45 || next === 92;
  34661. else
  34662. t1 = false;
  34663. return t1;
  34664. },
  34665. scanIdentifier$1: function(text) {
  34666. var t1, start, t2, i, _this = this;
  34667. if (!_this.lookingAtIdentifier$0())
  34668. return false;
  34669. t1 = _this.scanner;
  34670. start = new S._SpanScannerState(t1, t1._string_scanner$_position);
  34671. for (t2 = text.length, i = 0; i < t2; ++i) {
  34672. if (_this.scanCharIgnoreCase$1(C.JSString_methods._codeUnitAt$1(text, i)))
  34673. continue;
  34674. if (start._scanner !== t1)
  34675. H.throwExpression(P.ArgumentError$("The given LineScannerState was not returned by this LineScanner."));
  34676. t2 = start.position;
  34677. if (t2 < 0 || t2 > t1.string.length)
  34678. H.throwExpression(P.ArgumentError$("Invalid position " + t2));
  34679. t1._string_scanner$_position = t2;
  34680. t1._lastMatch = null;
  34681. return false;
  34682. }
  34683. if (!_this.lookingAtIdentifierBody$0())
  34684. return true;
  34685. t1.set$state(start);
  34686. return false;
  34687. },
  34688. expectIdentifier$2$name: function(text, $name) {
  34689. var t1, start, t2, i;
  34690. if ($name == null)
  34691. $name = '"' + text + '"';
  34692. t1 = this.scanner;
  34693. start = t1._string_scanner$_position;
  34694. for (t2 = text.length, i = 0; i < t2; ++i) {
  34695. if (this.scanCharIgnoreCase$1(C.JSString_methods._codeUnitAt$1(text, i)))
  34696. continue;
  34697. t1.error$2$position("Expected " + $name + ".", start);
  34698. }
  34699. if (!this.lookingAtIdentifierBody$0())
  34700. return;
  34701. t1.error$2$position("Expected " + $name, start);
  34702. },
  34703. expectIdentifier$1: function(text) {
  34704. return this.expectIdentifier$2$name(text, null);
  34705. },
  34706. rawText$1: function(consumer) {
  34707. var t1 = this.scanner,
  34708. start = t1._string_scanner$_position;
  34709. consumer.call$0();
  34710. return t1.substring$1(0, start);
  34711. },
  34712. error$2: function(message, span) {
  34713. return H.throwExpression(E.StringScannerException$(message, span, this.scanner.string));
  34714. },
  34715. withErrorMessage$1$2: function(message, callback) {
  34716. var error, t1, exception;
  34717. try {
  34718. t1 = callback.call$0();
  34719. return t1;
  34720. } catch (exception) {
  34721. t1 = H.unwrapException(exception);
  34722. if (t1 instanceof G.SourceSpanFormatException) {
  34723. error = t1;
  34724. throw H.wrapException(G.SourceSpanFormatException$(message, error._span, error.get$source()));
  34725. } else
  34726. throw exception;
  34727. }
  34728. },
  34729. withErrorMessage$2: function(message, callback) {
  34730. return this.withErrorMessage$1$2(message, callback, null);
  34731. },
  34732. wrapSpanFormatException$1$1: function(callback) {
  34733. var error, span, startPosition, t1, exception;
  34734. try {
  34735. t1 = callback.call$0();
  34736. return t1;
  34737. } catch (exception) {
  34738. t1 = H.unwrapException(exception);
  34739. if (t1 instanceof G.SourceSpanFormatException) {
  34740. error = t1;
  34741. span = error._span;
  34742. if (B.startsWithIgnoreCase(error._span_exception$_message, "expected")) {
  34743. t1 = span;
  34744. t1 = t1._end - t1._start === 0;
  34745. } else
  34746. t1 = false;
  34747. if (t1) {
  34748. t1 = span;
  34749. startPosition = this._firstNewlineBefore$1(Y.FileLocation$_(t1.file, t1._start).offset);
  34750. t1 = span;
  34751. if (!J.$eq$(startPosition, Y.FileLocation$_(t1.file, t1._start).offset))
  34752. span = span.file.span$2(startPosition, startPosition);
  34753. }
  34754. throw H.wrapException(E.SassFormatException$(error._span_exception$_message, span));
  34755. } else
  34756. throw exception;
  34757. }
  34758. },
  34759. wrapSpanFormatException$1: function(callback) {
  34760. return this.wrapSpanFormatException$1$1(callback, null);
  34761. },
  34762. _firstNewlineBefore$1: function(position) {
  34763. var t1, t2, lastNewline, codeUnit,
  34764. index = position - 1;
  34765. for (t1 = this.scanner.string, t2 = J.getInterceptor$s(t1), lastNewline = null; index >= 0;) {
  34766. codeUnit = t2.codeUnitAt$1(t1, index);
  34767. if (!(codeUnit === 32 || codeUnit === 9 || codeUnit === 10 || codeUnit === 13 || codeUnit === 12))
  34768. return lastNewline == null ? position : lastNewline;
  34769. if (codeUnit === 10 || codeUnit === 13 || codeUnit === 12)
  34770. lastNewline = index;
  34771. --index;
  34772. }
  34773. return position;
  34774. }
  34775. };
  34776. G.Parser__parseIdentifier_closure.prototype = {
  34777. call$0: function() {
  34778. var t1 = this.$this,
  34779. result = t1.identifier$0();
  34780. t1.scanner.expectDone$0();
  34781. return result;
  34782. }
  34783. };
  34784. U.SassParser.prototype = {
  34785. get$currentIndentation: function() {
  34786. return this._currentIndentation;
  34787. },
  34788. get$indented: function() {
  34789. return true;
  34790. },
  34791. styleRuleSelector$0: function() {
  34792. var t4,
  34793. t1 = this.scanner,
  34794. t2 = t1._string_scanner$_position,
  34795. t3 = new P.StringBuffer(""),
  34796. buffer = new Z.InterpolationBuffer(t3, []);
  34797. do {
  34798. buffer.addInterpolation$1(this.almostAnyValue$0());
  34799. t4 = t3._contents += H.Primitives_stringFromCharCode(10);
  34800. } while (C.JSString_methods.endsWith$1(C.JSString_methods.trimRight$0(t4.charCodeAt(0) == 0 ? t4 : t4), ",") && this.scanCharIf$1(T.character__isNewline$closure()));
  34801. return buffer.interpolation$1(t1.spanFrom$1(new S._SpanScannerState(t1, t2)));
  34802. },
  34803. expectStatementSeparator$1: function($name) {
  34804. var _this = this;
  34805. if (!_this.atEndOfStatement$0())
  34806. _this._expectNewline$0();
  34807. if (_this._peekIndentation$0() <= _this._currentIndentation)
  34808. return;
  34809. _this.scanner.error$2$position("Nothing may be indented " + ($name == null ? "here" : "beneath a " + $name) + ".", _this._nextIndentationEnd.position);
  34810. },
  34811. expectStatementSeparator$0: function() {
  34812. return this.expectStatementSeparator$1(null);
  34813. },
  34814. atEndOfStatement$0: function() {
  34815. var next = this.scanner.peekChar$0();
  34816. return next == null || T.isNewline(next);
  34817. },
  34818. lookingAtChildren$0: function() {
  34819. return this.atEndOfStatement$0() && this._peekIndentation$0() > this._currentIndentation;
  34820. },
  34821. importArgument$0: function() {
  34822. var start, next, t2, _this = this,
  34823. t1 = _this.scanner;
  34824. switch (t1.peekChar$0()) {
  34825. case 117:
  34826. case 85:
  34827. start = new S._SpanScannerState(t1, t1._string_scanner$_position);
  34828. if (_this.scanIdentifier$1("url"))
  34829. if (t1.scanChar$1(40)) {
  34830. t1.set$state(start);
  34831. return _this.super$StylesheetParser$importArgument();
  34832. } else
  34833. t1.set$state(start);
  34834. break;
  34835. case 39:
  34836. case 34:
  34837. return _this.super$StylesheetParser$importArgument();
  34838. }
  34839. start = new S._SpanScannerState(t1, t1._string_scanner$_position);
  34840. next = t1.peekChar$0();
  34841. while (true) {
  34842. if (next != null)
  34843. if (next !== 44)
  34844. if (next !== 59)
  34845. t2 = !(next === 10 || next === 13 || next === 12);
  34846. else
  34847. t2 = false;
  34848. else
  34849. t2 = false;
  34850. else
  34851. t2 = false;
  34852. if (!t2)
  34853. break;
  34854. t1.readChar$0();
  34855. next = t1.peekChar$0();
  34856. }
  34857. return new B.DynamicImport(_this.parseImportUrl$1(t1.substring$1(0, start.position)), t1.spanFrom$1(start));
  34858. },
  34859. scanElse$1: function(ifIndentation) {
  34860. var t1, t2, startIndentation, startNextIndentation, startNextIndentationEnd, _this = this;
  34861. if (_this._peekIndentation$0() != ifIndentation)
  34862. return false;
  34863. t1 = _this.scanner;
  34864. t2 = t1._string_scanner$_position;
  34865. startIndentation = _this._currentIndentation;
  34866. startNextIndentation = _this._nextIndentation;
  34867. startNextIndentationEnd = _this._nextIndentationEnd;
  34868. _this._readIndentation$0();
  34869. if (t1.scanChar$1(64) && _this.scanIdentifier$1("else"))
  34870. return true;
  34871. t1.set$state(new S._SpanScannerState(t1, t2));
  34872. _this._currentIndentation = startIndentation;
  34873. _this._nextIndentation = startNextIndentation;
  34874. _this._nextIndentationEnd = startNextIndentationEnd;
  34875. return false;
  34876. },
  34877. children$1: function(child) {
  34878. var children = H.setRuntimeTypeInfo([], [O.Statement]);
  34879. this._whileIndentedLower$1(new U.SassParser_children_closure(this, children, child));
  34880. return children;
  34881. },
  34882. statements$1: function(statement) {
  34883. var statements, t2, child,
  34884. t1 = this.scanner,
  34885. first = t1.peekChar$0();
  34886. if (first === 9 || first === 32)
  34887. t1.error$3$length$position("Indenting at the beginning of the document is illegal.", t1._string_scanner$_position, 0);
  34888. statements = H.setRuntimeTypeInfo([], [O.Statement]);
  34889. for (t2 = t1.string.length; t1._string_scanner$_position !== t2;) {
  34890. child = this._child$1(statement);
  34891. if (child != null)
  34892. statements.push(child);
  34893. this._readIndentation$0();
  34894. }
  34895. return statements;
  34896. },
  34897. _child$1: function(child) {
  34898. var _this = this,
  34899. t1 = _this.scanner;
  34900. switch (t1.peekChar$0()) {
  34901. case 13:
  34902. case 10:
  34903. case 12:
  34904. return;
  34905. case 36:
  34906. return _this.variableDeclaration$0();
  34907. case 47:
  34908. switch (t1.peekChar$1(1)) {
  34909. case 47:
  34910. return _this._silentComment$0();
  34911. case 42:
  34912. return _this._loudComment$0();
  34913. default:
  34914. return child.call$0();
  34915. }
  34916. default:
  34917. return child.call$0();
  34918. }
  34919. },
  34920. _silentComment$0: function() {
  34921. var buffer, parentIndentation, t3, commentPrefix, i, t4, i0, t5, t6, _this = this,
  34922. t1 = _this.scanner,
  34923. t2 = t1._string_scanner$_position;
  34924. t1.expect$1("//");
  34925. buffer = new P.StringBuffer("");
  34926. parentIndentation = _this._currentIndentation;
  34927. t3 = t1.string;
  34928. $label0$0:
  34929. do {
  34930. commentPrefix = t1.scanChar$1(47) ? "///" : "//";
  34931. for (i = commentPrefix.length; true;) {
  34932. t4 = buffer._contents += commentPrefix;
  34933. for (i0 = i; i0 < _this._currentIndentation - parentIndentation; ++i0) {
  34934. t4 += H.Primitives_stringFromCharCode(32);
  34935. buffer._contents = t4;
  34936. }
  34937. t5 = t3.length;
  34938. while (true) {
  34939. if (t1._string_scanner$_position !== t5) {
  34940. t6 = t1.peekChar$0();
  34941. t6 = !(t6 === 10 || t6 === 13 || t6 === 12);
  34942. } else
  34943. t6 = false;
  34944. if (!t6)
  34945. break;
  34946. t4 += H.Primitives_stringFromCharCode(t1.readChar$0());
  34947. buffer._contents = t4;
  34948. }
  34949. buffer._contents = t4 + "\n";
  34950. if (_this._peekIndentation$0() < parentIndentation)
  34951. break $label0$0;
  34952. if (_this._peekIndentation$0() === parentIndentation) {
  34953. if (t1.peekChar$1(1 + parentIndentation) === 47 && t1.peekChar$1(2 + parentIndentation) === 47)
  34954. _this._readIndentation$0();
  34955. break;
  34956. }
  34957. _this._readIndentation$0();
  34958. }
  34959. } while (t1.scan$1("//"));
  34960. t3 = buffer._contents;
  34961. return _this.lastSilentComment = new B.SilentComment(t3.charCodeAt(0) == 0 ? t3 : t3, t1.spanFrom$1(new S._SpanScannerState(t1, t2)));
  34962. },
  34963. _loudComment$0: function() {
  34964. var t3, t4, buffer, parentIndentation, t5, first, beginningOfComment, t6, end, i, t7, _this = this,
  34965. t1 = _this.scanner,
  34966. t2 = t1._string_scanner$_position;
  34967. t1.expect$1("/*");
  34968. t3 = new P.StringBuffer("");
  34969. t4 = [];
  34970. buffer = new Z.InterpolationBuffer(t3, t4);
  34971. t3._contents = "/*";
  34972. parentIndentation = _this._currentIndentation;
  34973. for (t5 = t1.string, first = true; true; first = false) {
  34974. if (first) {
  34975. beginningOfComment = t1._string_scanner$_position;
  34976. _this.spaces$0();
  34977. t6 = t1.peekChar$0();
  34978. if (t6 === 10 || t6 === 13 || t6 === 12) {
  34979. _this._readIndentation$0();
  34980. t3._contents += H.Primitives_stringFromCharCode(32);
  34981. } else {
  34982. end = t1._string_scanner$_position;
  34983. t3._contents += J.substring$2$s(t5, beginningOfComment, end);
  34984. }
  34985. } else {
  34986. t6 = t3._contents += "\n";
  34987. t3._contents = t6 + " * ";
  34988. }
  34989. for (i = 3; i < _this._currentIndentation - parentIndentation; ++i)
  34990. t3._contents += H.Primitives_stringFromCharCode(32);
  34991. $label0$1:
  34992. for (t6 = t5.length; t1._string_scanner$_position !== t6;)
  34993. switch (t1.peekChar$0()) {
  34994. case 10:
  34995. case 13:
  34996. case 12:
  34997. break $label0$1;
  34998. case 35:
  34999. if (t1.peekChar$1(1) === 123) {
  35000. t7 = _this.singleInterpolation$0();
  35001. buffer._flushText$0();
  35002. t4.push(t7);
  35003. } else
  35004. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  35005. break;
  35006. default:
  35007. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  35008. break;
  35009. }
  35010. if (_this._peekIndentation$0() <= parentIndentation)
  35011. break;
  35012. for (; _this._lookingAtDoubleNewline$0();) {
  35013. _this._expectNewline$0();
  35014. t6 = t3._contents += "\n";
  35015. t3._contents = t6 + " *";
  35016. }
  35017. _this._readIndentation$0();
  35018. }
  35019. t4 = t3._contents;
  35020. if (!C.JSString_methods.endsWith$1(C.JSString_methods.trimRight$0(t4.charCodeAt(0) == 0 ? t4 : t4), "*/"))
  35021. t3._contents += " */";
  35022. return new L.LoudComment(buffer.interpolation$1(t1.spanFrom$1(new S._SpanScannerState(t1, t2))));
  35023. },
  35024. whitespace$0: function() {
  35025. var t1, t2, next;
  35026. for (t1 = this.scanner, t2 = t1.string.length; t1._string_scanner$_position !== t2;) {
  35027. next = t1.peekChar$0();
  35028. if (next !== 9 && next !== 32)
  35029. break;
  35030. t1.readChar$0();
  35031. }
  35032. if (t1.peekChar$0() === 47 && t1.peekChar$1(1) === 47)
  35033. this.silentComment$0();
  35034. },
  35035. _expectNewline$0: function() {
  35036. var t1 = this.scanner;
  35037. switch (t1.peekChar$0()) {
  35038. case 59:
  35039. t1.error$1("semicolons aren't allowed in the indented syntax.");
  35040. break;
  35041. case 13:
  35042. t1.readChar$0();
  35043. if (t1.peekChar$0() === 10)
  35044. t1.readChar$0();
  35045. return;
  35046. case 10:
  35047. case 12:
  35048. t1.readChar$0();
  35049. return;
  35050. default:
  35051. t1.error$1("expected newline.");
  35052. }
  35053. },
  35054. _lookingAtDoubleNewline$0: function() {
  35055. var nextChar,
  35056. t1 = this.scanner;
  35057. switch (t1.peekChar$0()) {
  35058. case 13:
  35059. nextChar = t1.peekChar$1(1);
  35060. if (nextChar === 10)
  35061. return T.isNewline(t1.peekChar$1(2));
  35062. return nextChar === 13 || nextChar === 12;
  35063. case 10:
  35064. case 12:
  35065. return T.isNewline(t1.peekChar$1(1));
  35066. default:
  35067. return false;
  35068. }
  35069. },
  35070. _whileIndentedLower$1: function(body) {
  35071. var t1, t2, childIndentation, indentation, t3, t4, t5, _this = this,
  35072. parentIndentation = _this._currentIndentation;
  35073. for (t1 = _this.scanner, t2 = t1._sourceFile, childIndentation = null; _this._peekIndentation$0() > parentIndentation;) {
  35074. indentation = _this._readIndentation$0();
  35075. if (childIndentation == null)
  35076. childIndentation = indentation;
  35077. if (childIndentation != indentation) {
  35078. t3 = "Inconsistent indentation, expected " + H.S(childIndentation) + " spaces.";
  35079. t4 = t1._string_scanner$_position;
  35080. t5 = t2.getColumn$1(t4);
  35081. t1.error$3$length$position(t3, t2.getColumn$1(t1._string_scanner$_position), t4 - t5);
  35082. }
  35083. body.call$0();
  35084. }
  35085. },
  35086. _readIndentation$0: function() {
  35087. var _this = this;
  35088. if (_this._nextIndentation == null)
  35089. _this._peekIndentation$0();
  35090. _this._currentIndentation = _this._nextIndentation;
  35091. _this.scanner.set$state(_this._nextIndentationEnd);
  35092. _this._nextIndentationEnd = _this._nextIndentation = null;
  35093. return _this._currentIndentation;
  35094. },
  35095. _peekIndentation$0: function() {
  35096. var t2, t3, start, containsTab, containsSpace, next, t4, _this = this,
  35097. t1 = _this._nextIndentation;
  35098. if (t1 != null)
  35099. return t1;
  35100. t1 = _this.scanner;
  35101. t2 = t1._string_scanner$_position;
  35102. t3 = t1.string.length;
  35103. if (t2 === t3) {
  35104. _this._nextIndentation = 0;
  35105. _this._nextIndentationEnd = new S._SpanScannerState(t1, t2);
  35106. return 0;
  35107. }
  35108. start = new S._SpanScannerState(t1, t2);
  35109. if (!_this.scanCharIf$1(T.character__isNewline$closure()))
  35110. t1.error$2$position("Expected newline.", t1._string_scanner$_position);
  35111. do {
  35112. _this._nextIndentation = 0;
  35113. for (containsTab = false, containsSpace = false; true;) {
  35114. next = t1.peekChar$0();
  35115. if (next === 32)
  35116. containsSpace = true;
  35117. else {
  35118. if (next !== 9)
  35119. break;
  35120. containsTab = true;
  35121. }
  35122. _this._nextIndentation = _this._nextIndentation + 1;
  35123. t1.readChar$0();
  35124. }
  35125. t2 = t1._string_scanner$_position;
  35126. if (t2 === t3) {
  35127. _this._nextIndentation = 0;
  35128. _this._nextIndentationEnd = new S._SpanScannerState(t1, t2);
  35129. t1.set$state(start);
  35130. return 0;
  35131. }
  35132. } while (_this.scanCharIf$1(T.character__isNewline$closure()));
  35133. if (containsTab) {
  35134. if (containsSpace) {
  35135. t2 = t1._string_scanner$_position;
  35136. t3 = t1._sourceFile;
  35137. t4 = t3.getColumn$1(t2);
  35138. t1.error$3$length$position("Tabs and spaces may not be mixed.", t3.getColumn$1(t1._string_scanner$_position), t2 - t4);
  35139. } else if (_this._spaces === true) {
  35140. t2 = t1._string_scanner$_position;
  35141. t3 = t1._sourceFile;
  35142. t4 = t3.getColumn$1(t2);
  35143. t1.error$3$length$position("Expected spaces, was tabs.", t3.getColumn$1(t1._string_scanner$_position), t2 - t4);
  35144. }
  35145. } else if (containsSpace && _this._spaces === false) {
  35146. t2 = t1._string_scanner$_position;
  35147. t3 = t1._sourceFile;
  35148. t4 = t3.getColumn$1(t2);
  35149. t1.error$3$length$position("Expected tabs, was spaces.", t3.getColumn$1(t1._string_scanner$_position), t2 - t4);
  35150. }
  35151. if (_this._nextIndentation > 0)
  35152. if (_this._spaces == null)
  35153. _this._spaces = containsSpace;
  35154. _this._nextIndentationEnd = new S._SpanScannerState(t1, t1._string_scanner$_position);
  35155. t1.set$state(start);
  35156. return _this._nextIndentation;
  35157. }
  35158. };
  35159. U.SassParser_children_closure.prototype = {
  35160. call$0: function() {
  35161. this.children.push(this.$this._child$1(this.child));
  35162. }
  35163. };
  35164. L.ScssParser.prototype = {
  35165. get$indented: function() {
  35166. return false;
  35167. },
  35168. get$currentIndentation: function() {
  35169. return;
  35170. },
  35171. styleRuleSelector$0: function() {
  35172. return this.almostAnyValue$0();
  35173. },
  35174. expectStatementSeparator$1: function($name) {
  35175. var t1, next;
  35176. this.whitespaceWithoutComments$0();
  35177. t1 = this.scanner;
  35178. if (t1._string_scanner$_position === t1.string.length)
  35179. return;
  35180. next = t1.peekChar$0();
  35181. if (next === 59 || next === 125)
  35182. return;
  35183. t1.expectChar$1(59);
  35184. },
  35185. expectStatementSeparator$0: function() {
  35186. return this.expectStatementSeparator$1(null);
  35187. },
  35188. atEndOfStatement$0: function() {
  35189. var next = this.scanner.peekChar$0();
  35190. return next == null || next === 59 || next === 125 || next === 123;
  35191. },
  35192. lookingAtChildren$0: function() {
  35193. return this.scanner.peekChar$0() === 123;
  35194. },
  35195. scanElse$1: function(_) {
  35196. var t3, _this = this,
  35197. t1 = _this.scanner,
  35198. t2 = t1._string_scanner$_position;
  35199. _this.whitespace$0();
  35200. t3 = t1._string_scanner$_position;
  35201. if (t1.scanChar$1(64)) {
  35202. if (_this.scanIdentifier$1("else"))
  35203. return true;
  35204. if (_this.scanIdentifier$1("elseif")) {
  35205. _this.logger.warn$3$deprecation$span('@elseif is deprecated and will not be supported in future Sass versions.\nUse "@else if" instead.', true, t1.spanFrom$1(new S._SpanScannerState(t1, t3)));
  35206. t1.set$position(t1._string_scanner$_position - 2);
  35207. return true;
  35208. }
  35209. }
  35210. t1.set$state(new S._SpanScannerState(t1, t2));
  35211. return false;
  35212. },
  35213. children$1: function(child) {
  35214. var children, _this = this,
  35215. t1 = _this.scanner;
  35216. t1.expectChar$1(123);
  35217. _this.whitespaceWithoutComments$0();
  35218. children = H.setRuntimeTypeInfo([], [O.Statement]);
  35219. for (; true;)
  35220. switch (t1.peekChar$0()) {
  35221. case 36:
  35222. children.push(_this.variableDeclaration$0());
  35223. break;
  35224. case 47:
  35225. switch (t1.peekChar$1(1)) {
  35226. case 47:
  35227. children.push(_this._scss$_silentComment$0());
  35228. _this.whitespaceWithoutComments$0();
  35229. break;
  35230. case 42:
  35231. children.push(_this._scss$_loudComment$0());
  35232. _this.whitespaceWithoutComments$0();
  35233. break;
  35234. default:
  35235. children.push(child.call$0());
  35236. break;
  35237. }
  35238. break;
  35239. case 59:
  35240. t1.readChar$0();
  35241. _this.whitespaceWithoutComments$0();
  35242. break;
  35243. case 125:
  35244. t1.expectChar$1(125);
  35245. return children;
  35246. default:
  35247. children.push(child.call$0());
  35248. break;
  35249. }
  35250. },
  35251. statements$1: function(statement) {
  35252. var t1, t2, child, _this = this,
  35253. statements = H.setRuntimeTypeInfo([], [O.Statement]);
  35254. _this.whitespaceWithoutComments$0();
  35255. for (t1 = _this.scanner, t2 = t1.string.length; t1._string_scanner$_position !== t2;)
  35256. switch (t1.peekChar$0()) {
  35257. case 36:
  35258. statements.push(_this.variableDeclaration$0());
  35259. break;
  35260. case 47:
  35261. switch (t1.peekChar$1(1)) {
  35262. case 47:
  35263. statements.push(_this._scss$_silentComment$0());
  35264. _this.whitespaceWithoutComments$0();
  35265. break;
  35266. case 42:
  35267. statements.push(_this._scss$_loudComment$0());
  35268. _this.whitespaceWithoutComments$0();
  35269. break;
  35270. default:
  35271. child = statement.call$0();
  35272. if (child != null)
  35273. statements.push(child);
  35274. break;
  35275. }
  35276. break;
  35277. case 59:
  35278. t1.readChar$0();
  35279. _this.whitespaceWithoutComments$0();
  35280. break;
  35281. default:
  35282. child = statement.call$0();
  35283. if (child != null)
  35284. statements.push(child);
  35285. break;
  35286. }
  35287. return statements;
  35288. },
  35289. _scss$_silentComment$0: function() {
  35290. var t2, t3, _this = this,
  35291. t1 = _this.scanner,
  35292. start = new S._SpanScannerState(t1, t1._string_scanner$_position);
  35293. t1.expect$1("//");
  35294. t2 = t1.string.length;
  35295. do {
  35296. while (true) {
  35297. if (t1._string_scanner$_position !== t2) {
  35298. t3 = t1.readChar$0();
  35299. t3 = !(t3 === 10 || t3 === 13 || t3 === 12);
  35300. } else
  35301. t3 = false;
  35302. if (!t3)
  35303. break;
  35304. }
  35305. if (t1._string_scanner$_position === t2)
  35306. break;
  35307. _this.whitespaceWithoutComments$0();
  35308. } while (t1.scan$1("//"));
  35309. if (_this.get$plainCss())
  35310. _this.error$2("Silent comments aren't allowed in plain CSS.", t1.spanFrom$1(start));
  35311. return _this.lastSilentComment = new B.SilentComment(t1.substring$1(0, start.position), t1.spanFrom$1(start));
  35312. },
  35313. _scss$_loudComment$0: function() {
  35314. var t3, t4, buffer, t5, endPosition,
  35315. t1 = this.scanner,
  35316. t2 = t1._string_scanner$_position;
  35317. t1.expect$1("/*");
  35318. t3 = new P.StringBuffer("");
  35319. t4 = [];
  35320. buffer = new Z.InterpolationBuffer(t3, t4);
  35321. t3._contents = "/*";
  35322. for (; true;)
  35323. switch (t1.peekChar$0()) {
  35324. case 35:
  35325. if (t1.peekChar$1(1) === 123) {
  35326. t5 = this.singleInterpolation$0();
  35327. buffer._flushText$0();
  35328. t4.push(t5);
  35329. } else
  35330. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  35331. break;
  35332. case 42:
  35333. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  35334. if (t1.peekChar$0() !== 47)
  35335. break;
  35336. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  35337. endPosition = t1._string_scanner$_position;
  35338. return new L.LoudComment(buffer.interpolation$1(Y._FileSpan$(t1._sourceFile, new S._SpanScannerState(t1, t2).position, endPosition)));
  35339. case 13:
  35340. t1.readChar$0();
  35341. if (t1.peekChar$0() !== 10)
  35342. t3._contents += H.Primitives_stringFromCharCode(10);
  35343. break;
  35344. case 12:
  35345. t1.readChar$0();
  35346. t3._contents += H.Primitives_stringFromCharCode(10);
  35347. break;
  35348. default:
  35349. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  35350. break;
  35351. }
  35352. }
  35353. };
  35354. T.SelectorParser.prototype = {
  35355. parse$0: function() {
  35356. return this.wrapSpanFormatException$1(new T.SelectorParser_parse_closure(this));
  35357. },
  35358. parseCompoundSelector$0: function() {
  35359. return this.wrapSpanFormatException$1(new T.SelectorParser_parseCompoundSelector_closure(this));
  35360. },
  35361. _selectorList$0: function() {
  35362. var t3, t4, lineBreak, _this = this,
  35363. t1 = _this.scanner,
  35364. t2 = t1._sourceFile,
  35365. previousLine = t2.getLine$1(t1._string_scanner$_position),
  35366. components = H.setRuntimeTypeInfo([_this._complexSelector$0()], [S.ComplexSelector]);
  35367. _this.whitespace$0();
  35368. for (t3 = t1.string; t1.scanChar$1(44);) {
  35369. _this.whitespace$0();
  35370. if (t1.peekChar$0() === 44)
  35371. continue;
  35372. t4 = t1._string_scanner$_position;
  35373. if (t4 === t3.length)
  35374. break;
  35375. lineBreak = t2.getLine$1(t4) != previousLine;
  35376. if (lineBreak)
  35377. previousLine = t2.getLine$1(t1._string_scanner$_position);
  35378. components.push(_this._complexSelector$1$lineBreak(lineBreak));
  35379. }
  35380. return D.SelectorList$(components);
  35381. },
  35382. _complexSelector$1$lineBreak: function(lineBreak) {
  35383. var t1, next, _this = this,
  35384. _s58_ = '"&" may only used at the beginning of a compound selector.',
  35385. components = H.setRuntimeTypeInfo([], [S.ComplexSelectorComponent]);
  35386. $label0$1:
  35387. for (t1 = _this.scanner; true;) {
  35388. _this.whitespace$0();
  35389. next = t1.peekChar$0();
  35390. switch (next) {
  35391. case 43:
  35392. t1.readChar$0();
  35393. components.push(C.Combinator_uzg);
  35394. break;
  35395. case 62:
  35396. t1.readChar$0();
  35397. components.push(C.Combinator_sgq);
  35398. break;
  35399. case 126:
  35400. t1.readChar$0();
  35401. components.push(C.Combinator_CzM);
  35402. break;
  35403. case 91:
  35404. case 46:
  35405. case 35:
  35406. case 37:
  35407. case 58:
  35408. case 38:
  35409. case 42:
  35410. case 124:
  35411. components.push(_this._compoundSelector$0());
  35412. if (t1.peekChar$0() === 38)
  35413. t1.error$1(_s58_);
  35414. break;
  35415. default:
  35416. if (next == null || !_this.lookingAtIdentifier$0())
  35417. break $label0$1;
  35418. components.push(_this._compoundSelector$0());
  35419. if (t1.peekChar$0() === 38)
  35420. t1.error$1(_s58_);
  35421. break;
  35422. }
  35423. }
  35424. if (components.length === 0)
  35425. t1.error$1("expected selector.");
  35426. return S.ComplexSelector$(components, lineBreak);
  35427. },
  35428. _complexSelector$0: function() {
  35429. return this._complexSelector$1$lineBreak(false);
  35430. },
  35431. _compoundSelector$0: function() {
  35432. var t2,
  35433. components = H.setRuntimeTypeInfo([this._simpleSelector$0()], [M.SimpleSelector]),
  35434. t1 = this.scanner;
  35435. while (true) {
  35436. t2 = t1.peekChar$0();
  35437. if (!(t2 === 42 || t2 === 91 || t2 === 46 || t2 === 35 || t2 === 37 || t2 === 58))
  35438. break;
  35439. components.push(this._simpleSelector$1$allowParent(false));
  35440. }
  35441. return X.CompoundSelector$(components);
  35442. },
  35443. _simpleSelector$1$allowParent: function(allowParent) {
  35444. var $name, text, t2, suffix, _this = this,
  35445. t1 = _this.scanner,
  35446. start = new S._SpanScannerState(t1, t1._string_scanner$_position);
  35447. if (allowParent == null)
  35448. allowParent = _this._allowParent;
  35449. switch (t1.peekChar$0()) {
  35450. case 91:
  35451. return _this._attributeSelector$0();
  35452. case 46:
  35453. t1.expectChar$1(46);
  35454. return new X.ClassSelector(_this.identifier$0());
  35455. case 35:
  35456. t1.expectChar$1(35);
  35457. return new N.IDSelector(_this.identifier$0());
  35458. case 37:
  35459. t1.expectChar$1(37);
  35460. $name = _this.identifier$0();
  35461. if (!_this._allowPlaceholder)
  35462. _this.error$2("Placeholder selectors aren't allowed here.", t1.spanFrom$1(start));
  35463. return new N.PlaceholderSelector($name);
  35464. case 58:
  35465. return _this._pseudoSelector$0();
  35466. case 38:
  35467. t1.expectChar$1(38);
  35468. if (_this.lookingAtIdentifierBody$0()) {
  35469. text = new P.StringBuffer("");
  35470. _this._identifierBody$1(text);
  35471. if (text._contents.length === 0)
  35472. t1.error$1("Expected identifier body.");
  35473. t2 = text._contents;
  35474. suffix = t2.charCodeAt(0) == 0 ? t2 : t2;
  35475. } else
  35476. suffix = null;
  35477. if (!allowParent)
  35478. _this.error$2("Parent selectors aren't allowed here.", t1.spanFrom$1(start));
  35479. return new M.ParentSelector(suffix);
  35480. default:
  35481. return _this._typeOrUniversalSelector$0();
  35482. }
  35483. },
  35484. _simpleSelector$0: function() {
  35485. return this._simpleSelector$1$allowParent(null);
  35486. },
  35487. _attributeSelector$0: function() {
  35488. var $name, operator, next, value, modifier, _this = this, _null = null,
  35489. t1 = _this.scanner;
  35490. t1.expectChar$1(91);
  35491. _this.whitespace$0();
  35492. $name = _this._attributeName$0();
  35493. _this.whitespace$0();
  35494. if (t1.scanChar$1(93))
  35495. return new N.AttributeSelector($name, _null, _null, _null);
  35496. operator = _this._attributeOperator$0();
  35497. _this.whitespace$0();
  35498. next = t1.peekChar$0();
  35499. value = next === 39 || next === 34 ? _this.string$0() : _this.identifier$0();
  35500. _this.whitespace$0();
  35501. modifier = T.isAlphabetic0(t1.peekChar$0()) ? H.Primitives_stringFromCharCode(t1.readChar$0()) : _null;
  35502. t1.expectChar$1(93);
  35503. return new N.AttributeSelector($name, operator, value, modifier);
  35504. },
  35505. _attributeName$0: function() {
  35506. var nameOrNamespace, _this = this,
  35507. t1 = _this.scanner;
  35508. if (t1.scanChar$1(42)) {
  35509. t1.expectChar$1(124);
  35510. return new D.QualifiedName(_this.identifier$0(), "*");
  35511. }
  35512. nameOrNamespace = _this.identifier$0();
  35513. if (t1.peekChar$0() !== 124 || t1.peekChar$1(1) === 61)
  35514. return new D.QualifiedName(nameOrNamespace, null);
  35515. t1.readChar$0();
  35516. return new D.QualifiedName(_this.identifier$0(), nameOrNamespace);
  35517. },
  35518. _attributeOperator$0: function() {
  35519. var t1 = this.scanner,
  35520. t2 = t1._string_scanner$_position;
  35521. switch (t1.readChar$0()) {
  35522. case 61:
  35523. return C.AttributeOperator_sEs;
  35524. case 126:
  35525. t1.expectChar$1(61);
  35526. return C.AttributeOperator_fz1;
  35527. case 124:
  35528. t1.expectChar$1(61);
  35529. return C.AttributeOperator_AuK;
  35530. case 94:
  35531. t1.expectChar$1(61);
  35532. return C.AttributeOperator_4L5;
  35533. case 36:
  35534. t1.expectChar$1(61);
  35535. return C.AttributeOperator_mOX;
  35536. case 42:
  35537. t1.expectChar$1(61);
  35538. return C.AttributeOperator_gqZ;
  35539. default:
  35540. t1.error$2$position('Expected "]".', t2);
  35541. }
  35542. },
  35543. _pseudoSelector$0: function() {
  35544. var element, $name, unvendored, selector, argument, t2, _this = this, _null = null,
  35545. t1 = _this.scanner;
  35546. t1.expectChar$1(58);
  35547. element = t1.scanChar$1(58);
  35548. $name = _this.identifier$0();
  35549. if (!t1.scanChar$1(40))
  35550. return D.PseudoSelector$($name, _null, element, _null);
  35551. _this.whitespace$0();
  35552. unvendored = B.unvendor($name);
  35553. if (element)
  35554. if ($._selectorPseudoElements.contains$1(0, unvendored)) {
  35555. selector = _this._selectorList$0();
  35556. argument = _null;
  35557. } else {
  35558. argument = _this.declarationValue$1$allowEmpty(true);
  35559. selector = _null;
  35560. }
  35561. else if ($._selectorPseudoClasses.contains$1(0, unvendored)) {
  35562. selector = _this._selectorList$0();
  35563. argument = _null;
  35564. } else if (unvendored === "nth-child" || unvendored === "nth-last-child") {
  35565. argument = _this._aNPlusB$0();
  35566. _this.whitespace$0();
  35567. t2 = t1.peekChar$1(-1);
  35568. if ((t2 === 32 || t2 === 9 || T.isNewline(t2)) && t1.peekChar$0() !== 41) {
  35569. _this.expectIdentifier$1("of");
  35570. argument += " of";
  35571. _this.whitespace$0();
  35572. selector = _this._selectorList$0();
  35573. } else
  35574. selector = _null;
  35575. } else {
  35576. argument = C.JSString_methods.trimRight$0(_this.declarationValue$1$allowEmpty(true));
  35577. selector = _null;
  35578. }
  35579. t1.expectChar$1(41);
  35580. return D.PseudoSelector$($name, argument, element, selector);
  35581. },
  35582. _aNPlusB$0: function() {
  35583. var t2, first, t3, next, last, _this = this,
  35584. t1 = _this.scanner;
  35585. switch (t1.peekChar$0()) {
  35586. case 101:
  35587. case 69:
  35588. _this.expectIdentifier$1("even");
  35589. return "even";
  35590. case 111:
  35591. case 79:
  35592. _this.expectIdentifier$1("odd");
  35593. return "odd";
  35594. case 43:
  35595. case 45:
  35596. t2 = H.Primitives_stringFromCharCode(t1.readChar$0());
  35597. break;
  35598. default:
  35599. t2 = "";
  35600. }
  35601. first = t1.peekChar$0();
  35602. if (first != null && T.isDigit(first)) {
  35603. while (true) {
  35604. t3 = t1.peekChar$0();
  35605. if (!(t3 != null && t3 >= 48 && t3 <= 57))
  35606. break;
  35607. t2 += H.Primitives_stringFromCharCode(t1.readChar$0());
  35608. }
  35609. _this.whitespace$0();
  35610. if (!_this.scanCharIgnoreCase$1(110))
  35611. return t2.charCodeAt(0) == 0 ? t2 : t2;
  35612. } else
  35613. _this.expectCharIgnoreCase$1(110);
  35614. t2 += H.Primitives_stringFromCharCode(110);
  35615. _this.whitespace$0();
  35616. next = t1.peekChar$0();
  35617. if (next !== 43 && next !== 45)
  35618. return t2.charCodeAt(0) == 0 ? t2 : t2;
  35619. t2 += H.Primitives_stringFromCharCode(t1.readChar$0());
  35620. _this.whitespace$0();
  35621. last = t1.peekChar$0();
  35622. if (last == null || !T.isDigit(last))
  35623. t1.error$1("Expected a number.");
  35624. while (true) {
  35625. t3 = t1.peekChar$0();
  35626. if (!(t3 != null && t3 >= 48 && t3 <= 57))
  35627. break;
  35628. t2 += H.Primitives_stringFromCharCode(t1.readChar$0());
  35629. }
  35630. return t2.charCodeAt(0) == 0 ? t2 : t2;
  35631. },
  35632. _typeOrUniversalSelector$0: function() {
  35633. var nameOrNamespace, _this = this,
  35634. t1 = _this.scanner,
  35635. first = t1.peekChar$0();
  35636. if (first === 42) {
  35637. t1.readChar$0();
  35638. if (!t1.scanChar$1(124))
  35639. return new N.UniversalSelector(null);
  35640. if (t1.scanChar$1(42))
  35641. return new N.UniversalSelector("*");
  35642. else
  35643. return new F.TypeSelector(new D.QualifiedName(_this.identifier$0(), "*"));
  35644. } else if (first === 124) {
  35645. t1.readChar$0();
  35646. if (t1.scanChar$1(42))
  35647. return new N.UniversalSelector("");
  35648. else
  35649. return new F.TypeSelector(new D.QualifiedName(_this.identifier$0(), ""));
  35650. }
  35651. nameOrNamespace = _this.identifier$0();
  35652. if (!t1.scanChar$1(124))
  35653. return new F.TypeSelector(new D.QualifiedName(nameOrNamespace, null));
  35654. else if (t1.scanChar$1(42))
  35655. return new N.UniversalSelector(nameOrNamespace);
  35656. else
  35657. return new F.TypeSelector(new D.QualifiedName(_this.identifier$0(), nameOrNamespace));
  35658. }
  35659. };
  35660. T.SelectorParser_parse_closure.prototype = {
  35661. call$0: function() {
  35662. var t1 = this.$this,
  35663. selector = t1._selectorList$0();
  35664. t1 = t1.scanner;
  35665. if (t1._string_scanner$_position !== t1.string.length)
  35666. t1.error$1("expected selector.");
  35667. return selector;
  35668. }
  35669. };
  35670. T.SelectorParser_parseCompoundSelector_closure.prototype = {
  35671. call$0: function() {
  35672. var t1 = this.$this,
  35673. compound = t1._compoundSelector$0();
  35674. t1 = t1.scanner;
  35675. if (t1._string_scanner$_position !== t1.string.length)
  35676. t1.error$1("expected selector.");
  35677. return compound;
  35678. }
  35679. };
  35680. V.StylesheetParser.prototype = {
  35681. parse$0: function() {
  35682. return this.wrapSpanFormatException$1(new V.StylesheetParser_parse_closure(this));
  35683. },
  35684. parseArgumentDeclaration$0: function() {
  35685. return this.wrapSpanFormatException$1(new V.StylesheetParser_parseArgumentDeclaration_closure(this));
  35686. },
  35687. parseExpression$0: function() {
  35688. return this.wrapSpanFormatException$1(new V.StylesheetParser_parseExpression_closure(this));
  35689. },
  35690. parseVariableDeclaration$0: function() {
  35691. return this.wrapSpanFormatException$1(new V.StylesheetParser_parseVariableDeclaration_closure(this));
  35692. },
  35693. parseSignature$0: function() {
  35694. return this.wrapSpanFormatException$1(new V.StylesheetParser_parseSignature_closure(this));
  35695. },
  35696. _statement$1$root: function(root) {
  35697. var t2, _this = this,
  35698. t1 = _this.scanner;
  35699. switch (t1.peekChar$0()) {
  35700. case 64:
  35701. return _this.atRule$2$root(new V.StylesheetParser__statement_closure(_this), root);
  35702. case 43:
  35703. if (!_this.get$indented() || !_this.lookingAtIdentifier$1(1))
  35704. return _this._stylesheet$_styleRule$0();
  35705. _this._isUseAllowed = false;
  35706. t2 = t1._string_scanner$_position;
  35707. t1.readChar$0();
  35708. return _this._includeRule$1(new S._SpanScannerState(t1, t2));
  35709. case 61:
  35710. if (!_this.get$indented())
  35711. return _this._stylesheet$_styleRule$0();
  35712. _this._isUseAllowed = false;
  35713. t2 = t1._string_scanner$_position;
  35714. t1.readChar$0();
  35715. _this.whitespace$0();
  35716. return _this._mixinRule$1(new S._SpanScannerState(t1, t2));
  35717. default:
  35718. _this._isUseAllowed = false;
  35719. return _this._inStyleRule || _this._stylesheet$_inUnknownAtRule || _this._stylesheet$_inMixin || _this._inContentBlock ? _this._declarationOrStyleRule$0() : _this._stylesheet$_styleRule$0();
  35720. }
  35721. },
  35722. _statement$0: function() {
  35723. return this._statement$1$root(false);
  35724. },
  35725. variableDeclaration$0: function() {
  35726. var t1, start, $name, name0, namespace, value, flagStart, t2, guarded, global, flag, endPosition, declaration, _this = this,
  35727. precedingComment = _this.lastSilentComment;
  35728. _this.lastSilentComment = null;
  35729. t1 = _this.scanner;
  35730. start = new S._SpanScannerState(t1, t1._string_scanner$_position);
  35731. $name = _this.variableName$0();
  35732. if (t1.scanChar$1(46)) {
  35733. name0 = _this._publicIdentifier$0();
  35734. namespace = $name;
  35735. $name = name0;
  35736. } else
  35737. namespace = null;
  35738. if (_this.get$plainCss())
  35739. _this.error$2("Sass variables aren't allowed in plain CSS.", t1.spanFrom$1(start));
  35740. _this.whitespace$0();
  35741. t1.expectChar$1(58);
  35742. _this.whitespace$0();
  35743. value = _this.expression$0();
  35744. flagStart = new S._SpanScannerState(t1, t1._string_scanner$_position);
  35745. for (t2 = namespace != null, guarded = false, global = false; t1.scanChar$1(33);) {
  35746. flag = _this.identifier$0();
  35747. if (flag === "default")
  35748. guarded = true;
  35749. else if (flag === "global") {
  35750. if (t2) {
  35751. endPosition = t1._string_scanner$_position;
  35752. _this.error$2("!global isn't allowed for variables in other modules.", Y._FileSpan$(t1._sourceFile, flagStart.position, endPosition));
  35753. }
  35754. global = true;
  35755. } else {
  35756. endPosition = t1._string_scanner$_position;
  35757. _this.error$2("Invalid flag name.", Y._FileSpan$(t1._sourceFile, flagStart.position, endPosition));
  35758. }
  35759. _this.whitespace$0();
  35760. flagStart = new S._SpanScannerState(t1, t1._string_scanner$_position);
  35761. }
  35762. _this.expectStatementSeparator$1("variable declaration");
  35763. declaration = Z.VariableDeclaration$($name, value, t1.spanFrom$1(start), precedingComment, global, guarded, namespace);
  35764. if (global)
  35765. _this._globalVariables.putIfAbsent$2($name, new V.StylesheetParser_variableDeclaration_closure(declaration));
  35766. return declaration;
  35767. },
  35768. _stylesheet$_styleRule$0: function() {
  35769. var t1, rule, _this = this,
  35770. wasInStyleRule = _this._inStyleRule;
  35771. _this._inStyleRule = true;
  35772. if (_this.get$indented())
  35773. _this.scanner.scanChar$1(92);
  35774. t1 = _this.scanner;
  35775. rule = _this._withChildren$3(_this.get$_statement(), new S._SpanScannerState(t1, t1._string_scanner$_position), new V.StylesheetParser__styleRule_closure(_this.styleRuleSelector$0()));
  35776. _this._inStyleRule = wasInStyleRule;
  35777. return rule;
  35778. },
  35779. _declarationOrStyleRule$0: function() {
  35780. var t1, start, declarationOrBuffer, selectorSpan, wasInStyleRule, _this = this;
  35781. if (_this.get$plainCss() && _this._inStyleRule && !_this._stylesheet$_inUnknownAtRule)
  35782. return _this._declaration$0();
  35783. if (_this.get$indented() && _this.scanner.scanChar$1(92))
  35784. return _this._stylesheet$_styleRule$0();
  35785. t1 = _this.scanner;
  35786. start = new S._SpanScannerState(t1, t1._string_scanner$_position);
  35787. declarationOrBuffer = _this._declarationOrBuffer$0();
  35788. if (declarationOrBuffer instanceof L.Declaration)
  35789. return declarationOrBuffer;
  35790. H.interceptedTypeCast(declarationOrBuffer, "$isInterpolationBuffer");
  35791. declarationOrBuffer.addInterpolation$1(_this.styleRuleSelector$0());
  35792. selectorSpan = t1.spanFrom$1(start);
  35793. wasInStyleRule = _this._inStyleRule;
  35794. _this._inStyleRule = true;
  35795. if (declarationOrBuffer._interpolation_buffer$_contents.length === 0 && declarationOrBuffer._interpolation_buffer$_text._contents.length === 0)
  35796. t1.error$1('expected "}".');
  35797. return _this._withChildren$3(_this.get$_statement(), start, new V.StylesheetParser__declarationOrStyleRule_closure(_this, selectorSpan, wasInStyleRule, declarationOrBuffer, start));
  35798. },
  35799. _declarationOrBuffer$0: function() {
  35800. var midBuffer, couldBeSelector, beforeDeclaration, additional, t3, $name, value, postColonWhitespace, t4, t5, exception, _this = this, t1 = {},
  35801. t2 = _this.scanner,
  35802. start = new S._SpanScannerState(t2, t2._string_scanner$_position),
  35803. nameBuffer = new Z.InterpolationBuffer(new P.StringBuffer(""), []),
  35804. first = t2.peekChar$0();
  35805. if (first !== 58)
  35806. if (first !== 42)
  35807. if (first !== 46)
  35808. t3 = first === 35 && t2.peekChar$1(1) !== 123;
  35809. else
  35810. t3 = true;
  35811. else
  35812. t3 = true;
  35813. else
  35814. t3 = true;
  35815. if (t3) {
  35816. t3 = t2.readChar$0();
  35817. nameBuffer._interpolation_buffer$_text._contents += H.Primitives_stringFromCharCode(t3);
  35818. t3 = _this.rawText$1(_this.get$whitespace());
  35819. nameBuffer._interpolation_buffer$_text._contents += t3;
  35820. }
  35821. if (!_this._lookingAtInterpolatedIdentifier$0())
  35822. return nameBuffer;
  35823. nameBuffer.addInterpolation$1(_this.interpolatedIdentifier$0());
  35824. if (t2.matches$1("/*")) {
  35825. t3 = _this.rawText$1(_this.get$loudComment());
  35826. nameBuffer._interpolation_buffer$_text._contents += t3;
  35827. }
  35828. midBuffer = new P.StringBuffer("");
  35829. midBuffer._contents += _this.rawText$1(_this.get$whitespace());
  35830. t3 = t2._string_scanner$_position;
  35831. if (!t2.scanChar$1(58)) {
  35832. if (midBuffer._contents.length !== 0)
  35833. nameBuffer._interpolation_buffer$_text._contents += H.Primitives_stringFromCharCode(32);
  35834. return nameBuffer;
  35835. }
  35836. midBuffer._contents += H.Primitives_stringFromCharCode(58);
  35837. $name = nameBuffer.interpolation$1(t2.spanFrom$2(start, new S._SpanScannerState(t2, t3)));
  35838. first = C.JSArray_methods.get$first($name.contents);
  35839. if (C.JSString_methods.startsWith$1(typeof first === "string" ? first : "", "--")) {
  35840. value = _this._interpolatedDeclarationValue$0();
  35841. _this.expectStatementSeparator$1("custom property");
  35842. return L.Declaration$($name, t2.spanFrom$1(start), null, value);
  35843. }
  35844. if (t2.scanChar$1(58)) {
  35845. t1 = nameBuffer;
  35846. t2 = t1._interpolation_buffer$_text;
  35847. t2._contents += H.S(midBuffer);
  35848. t2._contents += H.Primitives_stringFromCharCode(58);
  35849. return t1;
  35850. } else if (_this.get$indented() && _this._lookingAtInterpolatedIdentifier$0()) {
  35851. t1 = nameBuffer;
  35852. t1._interpolation_buffer$_text._contents += H.S(midBuffer);
  35853. return t1;
  35854. }
  35855. postColonWhitespace = _this.rawText$1(_this.get$whitespace());
  35856. if (_this.lookingAtChildren$0())
  35857. return _this._withChildren$3(_this.get$_declarationChild(), start, new V.StylesheetParser__declarationOrBuffer_closure($name));
  35858. midBuffer._contents += postColonWhitespace;
  35859. couldBeSelector = postColonWhitespace.length === 0 && _this._lookingAtInterpolatedIdentifier$0();
  35860. beforeDeclaration = new S._SpanScannerState(t2, t2._string_scanner$_position);
  35861. t1.value = null;
  35862. try {
  35863. if (_this.lookingAtChildren$0()) {
  35864. t3 = H.setRuntimeTypeInfo([], [P.Object]);
  35865. t4 = Y.FileLocation$_(t2._sourceFile, t2._string_scanner$_position);
  35866. t5 = t4.offset;
  35867. value = new D.StringExpression(X.Interpolation$(t3, Y._FileSpan$(t4.file, t5, t5)), true);
  35868. } else
  35869. value = _this.expression$0();
  35870. t3 = t1.value = value;
  35871. if (_this.lookingAtChildren$0()) {
  35872. if (couldBeSelector)
  35873. _this.expectStatementSeparator$0();
  35874. } else if (!_this.atEndOfStatement$0())
  35875. _this.expectStatementSeparator$0();
  35876. } catch (exception) {
  35877. if (!!J.getInterceptor$(H.unwrapException(exception)).$isFormatException) {
  35878. if (!couldBeSelector)
  35879. throw exception;
  35880. t2.set$state(beforeDeclaration);
  35881. additional = _this.almostAnyValue$0();
  35882. if (!_this.get$indented() && t2.peekChar$0() === 59)
  35883. throw exception;
  35884. nameBuffer._interpolation_buffer$_text._contents += H.S(midBuffer);
  35885. nameBuffer.addInterpolation$1(additional);
  35886. return nameBuffer;
  35887. } else
  35888. throw exception;
  35889. }
  35890. if (_this.lookingAtChildren$0())
  35891. return _this._withChildren$3(_this.get$_declarationChild(), start, new V.StylesheetParser__declarationOrBuffer_closure0(t1, $name));
  35892. else {
  35893. _this.expectStatementSeparator$0();
  35894. return L.Declaration$($name, t2.spanFrom$1(start), null, t3);
  35895. }
  35896. },
  35897. _declaration$0: function() {
  35898. var first, t3, nameBuffer, value, _this = this,
  35899. _s48_ = "Nested declarations aren't allowed in plain CSS.",
  35900. t1 = {},
  35901. t2 = _this.scanner,
  35902. start = new S._SpanScannerState(t2, t2._string_scanner$_position);
  35903. t1.name = null;
  35904. first = t2.peekChar$0();
  35905. if (first !== 58)
  35906. if (first !== 42)
  35907. if (first !== 46)
  35908. t3 = first === 35 && t2.peekChar$1(1) !== 123;
  35909. else
  35910. t3 = true;
  35911. else
  35912. t3 = true;
  35913. else
  35914. t3 = true;
  35915. if (t3) {
  35916. t3 = new P.StringBuffer("");
  35917. nameBuffer = new Z.InterpolationBuffer(t3, []);
  35918. t3._contents += H.Primitives_stringFromCharCode(t2.readChar$0());
  35919. t3._contents += _this.rawText$1(_this.get$whitespace());
  35920. nameBuffer.addInterpolation$1(_this.interpolatedIdentifier$0());
  35921. t3 = t1.name = nameBuffer.interpolation$1(t2.spanFrom$1(start));
  35922. } else
  35923. t3 = t1.name = _this.interpolatedIdentifier$0();
  35924. _this.whitespace$0();
  35925. t2.expectChar$1(58);
  35926. _this.whitespace$0();
  35927. if (_this.lookingAtChildren$0()) {
  35928. if (_this.get$plainCss())
  35929. t2.error$1(_s48_);
  35930. return _this._withChildren$3(_this.get$_declarationChild(), start, new V.StylesheetParser__declaration_closure(t1));
  35931. }
  35932. value = _this.expression$0();
  35933. if (_this.lookingAtChildren$0()) {
  35934. if (_this.get$plainCss())
  35935. t2.error$1(_s48_);
  35936. return _this._withChildren$3(_this.get$_declarationChild(), start, new V.StylesheetParser__declaration_closure0(t1, value));
  35937. } else {
  35938. _this.expectStatementSeparator$0();
  35939. return L.Declaration$(t3, t2.spanFrom$1(start), null, value);
  35940. }
  35941. },
  35942. _declarationChild$0: function() {
  35943. if (this.scanner.peekChar$0() === 64)
  35944. return this._declarationAtRule$0();
  35945. return this._declaration$0();
  35946. },
  35947. atRule$2$root: function(child, root) {
  35948. var $name, wasUseAllowed, value, optional, _this = this,
  35949. t1 = _this.scanner,
  35950. start = new S._SpanScannerState(t1, t1._string_scanner$_position);
  35951. t1.expectChar$2$name(64, "@-rule");
  35952. $name = _this.interpolatedIdentifier$0();
  35953. _this.whitespace$0();
  35954. wasUseAllowed = _this._isUseAllowed;
  35955. _this._isUseAllowed = false;
  35956. switch ($name.get$asPlain()) {
  35957. case "at-root":
  35958. return _this._atRootRule$1(start);
  35959. case "charset":
  35960. _this._isUseAllowed = wasUseAllowed;
  35961. if (!root)
  35962. _this._disallowedAtRule$1(start);
  35963. _this.string$0();
  35964. return;
  35965. case "content":
  35966. return _this._contentRule$1(start);
  35967. case "debug":
  35968. return _this._debugRule$1(start);
  35969. case "each":
  35970. return _this._eachRule$2(start, child);
  35971. case "else":
  35972. return _this._disallowedAtRule$1(start);
  35973. case "error":
  35974. return _this._errorRule$1(start);
  35975. case "extend":
  35976. if (!_this._inStyleRule && !_this._stylesheet$_inMixin && !_this._inContentBlock)
  35977. _this.error$2("@extend may only be used within style rules.", t1.spanFrom$1(start));
  35978. value = _this.almostAnyValue$0();
  35979. optional = t1.scanChar$1(33);
  35980. if (optional)
  35981. _this.expectIdentifier$1("optional");
  35982. _this.expectStatementSeparator$1("@extend rule");
  35983. return new X.ExtendRule(value, optional, t1.spanFrom$1(start));
  35984. case "for":
  35985. return _this._forRule$2(start, child);
  35986. case "forward":
  35987. _this._isUseAllowed = wasUseAllowed;
  35988. if (!root)
  35989. _this._disallowedAtRule$1(start);
  35990. return _this._forwardRule$1(start);
  35991. case "function":
  35992. return _this._functionRule$1(start);
  35993. case "if":
  35994. return _this._ifRule$2(start, child);
  35995. case "import":
  35996. return _this._importRule$1(start);
  35997. case "include":
  35998. return _this._includeRule$1(start);
  35999. case "media":
  36000. return _this.mediaRule$1(start);
  36001. case "mixin":
  36002. return _this._mixinRule$1(start);
  36003. case "-moz-document":
  36004. return _this.mozDocumentRule$2(start, $name);
  36005. case "return":
  36006. return _this._disallowedAtRule$1(start);
  36007. case "supports":
  36008. return _this.supportsRule$1(start);
  36009. case "use":
  36010. _this._isUseAllowed = wasUseAllowed;
  36011. if (!root)
  36012. _this._disallowedAtRule$1(start);
  36013. return _this._useRule$1(start);
  36014. case "warn":
  36015. return _this._warnRule$1(start);
  36016. case "while":
  36017. return _this._whileRule$2(start, child);
  36018. default:
  36019. return _this.unknownAtRule$2(start, $name);
  36020. }
  36021. },
  36022. _declarationAtRule$0: function() {
  36023. var _this = this,
  36024. t1 = _this.scanner,
  36025. start = new S._SpanScannerState(t1, t1._string_scanner$_position);
  36026. switch (_this._plainAtRuleName$0()) {
  36027. case "content":
  36028. return _this._contentRule$1(start);
  36029. case "debug":
  36030. return _this._debugRule$1(start);
  36031. case "each":
  36032. return _this._eachRule$2(start, _this.get$_declarationChild());
  36033. case "else":
  36034. return _this._disallowedAtRule$1(start);
  36035. case "error":
  36036. return _this._errorRule$1(start);
  36037. case "for":
  36038. return _this._forRule$2(start, _this.get$_declarationAtRule());
  36039. case "if":
  36040. return _this._ifRule$2(start, _this.get$_declarationChild());
  36041. case "include":
  36042. return _this._includeRule$1(start);
  36043. case "warn":
  36044. return _this._warnRule$1(start);
  36045. case "while":
  36046. return _this._whileRule$2(start, _this.get$_declarationChild());
  36047. default:
  36048. return _this._disallowedAtRule$1(start);
  36049. }
  36050. },
  36051. _functionAtRule$0: function() {
  36052. var position, statement, exception, start, value, _this = this,
  36053. t1 = _this.scanner;
  36054. if (t1.peekChar$0() !== 64) {
  36055. position = t1._string_scanner$_position;
  36056. statement = null;
  36057. try {
  36058. statement = _this._declarationOrStyleRule$0();
  36059. } catch (exception) {
  36060. if (H.unwrapException(exception) instanceof G.SourceSpanFormatException)
  36061. t1.error$2$position("expected @-rule", position);
  36062. else
  36063. throw exception;
  36064. }
  36065. _this.error$2("@function rules may not contain " + (statement instanceof X.StyleRule ? "style rules" : "declarations") + ".", statement.get$span());
  36066. }
  36067. start = new S._SpanScannerState(t1, t1._string_scanner$_position);
  36068. switch (_this._plainAtRuleName$0()) {
  36069. case "debug":
  36070. return _this._debugRule$1(start);
  36071. case "each":
  36072. return _this._eachRule$2(start, _this.get$_functionAtRule());
  36073. case "else":
  36074. return _this._disallowedAtRule$1(start);
  36075. case "error":
  36076. return _this._errorRule$1(start);
  36077. case "for":
  36078. return _this._forRule$2(start, _this.get$_functionAtRule());
  36079. case "if":
  36080. return _this._ifRule$2(start, _this.get$_functionAtRule());
  36081. case "return":
  36082. value = _this.expression$0();
  36083. _this.expectStatementSeparator$1("@return rule");
  36084. return new B.ReturnRule(value, t1.spanFrom$1(start));
  36085. case "warn":
  36086. return _this._warnRule$1(start);
  36087. case "while":
  36088. return _this._whileRule$2(start, _this.get$_functionAtRule());
  36089. default:
  36090. return _this._disallowedAtRule$1(start);
  36091. }
  36092. },
  36093. _plainAtRuleName$0: function() {
  36094. this.scanner.expectChar$2$name(64, "@-rule");
  36095. var $name = this.identifier$0();
  36096. this.whitespace$0();
  36097. return $name;
  36098. },
  36099. _atRootRule$1: function(start) {
  36100. var query, t2, t3, _this = this,
  36101. t1 = _this.scanner;
  36102. if (t1.peekChar$0() === 40) {
  36103. query = _this._atRootQuery$0();
  36104. _this.whitespace$0();
  36105. return _this._withChildren$3(_this.get$_statement(), start, new V.StylesheetParser__atRootRule_closure(query));
  36106. } else if (_this.lookingAtChildren$0())
  36107. return _this._withChildren$3(_this.get$_statement(), start, new V.StylesheetParser__atRootRule_closure0());
  36108. else {
  36109. t2 = O.Statement;
  36110. t3 = H.setRuntimeTypeInfo([_this._stylesheet$_styleRule$0()], [t2]);
  36111. t1 = t1.spanFrom$1(start);
  36112. t2 = P.List_List$unmodifiable(t3, t2);
  36113. t3 = C.JSArray_methods.any$1(t2, new M.ParentStatement_closure());
  36114. return new V.AtRootRule(null, t1, t2, t3);
  36115. }
  36116. },
  36117. _atRootQuery$0: function() {
  36118. var interpolation, t2, t3, t4, buffer, t5, _this = this,
  36119. t1 = _this.scanner;
  36120. if (t1.peekChar$0() === 35) {
  36121. interpolation = _this.singleInterpolation$0();
  36122. return X.Interpolation$(H.setRuntimeTypeInfo([interpolation], [P.Object]), interpolation.get$span());
  36123. }
  36124. t2 = t1._string_scanner$_position;
  36125. t3 = new P.StringBuffer("");
  36126. t4 = [];
  36127. buffer = new Z.InterpolationBuffer(t3, t4);
  36128. t1.expectChar$1(40);
  36129. t3._contents += H.Primitives_stringFromCharCode(40);
  36130. _this.whitespace$0();
  36131. t5 = _this.expression$0();
  36132. buffer._flushText$0();
  36133. t4.push(t5);
  36134. if (t1.scanChar$1(58)) {
  36135. _this.whitespace$0();
  36136. t3._contents += H.Primitives_stringFromCharCode(58);
  36137. t3._contents += H.Primitives_stringFromCharCode(32);
  36138. t5 = _this.expression$0();
  36139. buffer._flushText$0();
  36140. t4.push(t5);
  36141. }
  36142. t1.expectChar$1(41);
  36143. _this.whitespace$0();
  36144. t3._contents += H.Primitives_stringFromCharCode(41);
  36145. return buffer.interpolation$1(t1.spanFrom$1(new S._SpanScannerState(t1, t2)));
  36146. },
  36147. _contentRule$1: function(start) {
  36148. var t1, $arguments, t2, t3, _this = this;
  36149. if (!_this._stylesheet$_inMixin)
  36150. _this.error$2("@content is only allowed within mixin declarations.", _this.scanner.spanFrom$1(start));
  36151. _this.whitespace$0();
  36152. t1 = _this.scanner;
  36153. if (t1.peekChar$0() === 40)
  36154. $arguments = _this._argumentInvocation$1$mixin(true);
  36155. else {
  36156. t2 = Y.FileLocation$_(t1._sourceFile, t1._string_scanner$_position);
  36157. t3 = t2.offset;
  36158. $arguments = new X.ArgumentInvocation(C.List_empty8, C.Map_empty5, null, null, Y._FileSpan$(t2.file, t3, t3));
  36159. }
  36160. _this._mixinHasContent = true;
  36161. _this.expectStatementSeparator$1("@content rule");
  36162. return new Q.ContentRule(t1.spanFrom$1(start), $arguments);
  36163. },
  36164. _debugRule$1: function(start) {
  36165. var value = this.expression$0();
  36166. this.expectStatementSeparator$1("@debug rule");
  36167. return new Q.DebugRule(value, this.scanner.spanFrom$1(start));
  36168. },
  36169. _eachRule$2: function(start, child) {
  36170. var variables, t1, _this = this,
  36171. wasInControlDirective = _this._inControlDirective;
  36172. _this._inControlDirective = true;
  36173. variables = H.setRuntimeTypeInfo([_this.variableName$0()], [P.String]);
  36174. _this.whitespace$0();
  36175. for (t1 = _this.scanner; t1.scanChar$1(44);) {
  36176. _this.whitespace$0();
  36177. t1.expectChar$1(36);
  36178. variables.push(_this.identifier$1$normalize(true));
  36179. _this.whitespace$0();
  36180. }
  36181. _this.expectIdentifier$1("in");
  36182. _this.whitespace$0();
  36183. return _this._withChildren$3(child, start, new V.StylesheetParser__eachRule_closure(_this, wasInControlDirective, variables, _this.expression$0()));
  36184. },
  36185. _errorRule$1: function(start) {
  36186. var value = this.expression$0();
  36187. this.expectStatementSeparator$1("@error rule");
  36188. return new D.ErrorRule(value, this.scanner.spanFrom$1(start));
  36189. },
  36190. _functionRule$1: function(start) {
  36191. var $name, $arguments, _this = this,
  36192. precedingComment = _this.lastSilentComment;
  36193. _this.lastSilentComment = null;
  36194. $name = _this.identifier$1$normalize(true);
  36195. _this.whitespace$0();
  36196. $arguments = _this._argumentDeclaration$0();
  36197. if (_this._stylesheet$_inMixin || _this._inContentBlock)
  36198. _this.error$2("Mixins may not contain function declarations.", _this.scanner.spanFrom$1(start));
  36199. else if (_this._inControlDirective)
  36200. _this.error$2("Functions may not be declared in control directives.", _this.scanner.spanFrom$1(start));
  36201. switch (B.unvendor($name)) {
  36202. case "calc":
  36203. case "element":
  36204. case "expression":
  36205. case "url":
  36206. case "and":
  36207. case "or":
  36208. case "not":
  36209. _this.error$2("Invalid function name.", _this.scanner.spanFrom$1(start));
  36210. break;
  36211. }
  36212. _this.whitespace$0();
  36213. return _this._withChildren$3(_this.get$_functionAtRule(), start, new V.StylesheetParser__functionRule_closure($name, $arguments, precedingComment));
  36214. },
  36215. _forRule$2: function(start, child) {
  36216. var variable, from, _this = this, t1 = {},
  36217. wasInControlDirective = _this._inControlDirective;
  36218. _this._inControlDirective = true;
  36219. variable = _this.variableName$0();
  36220. _this.whitespace$0();
  36221. _this.expectIdentifier$1("from");
  36222. _this.whitespace$0();
  36223. t1.exclusive = null;
  36224. from = _this.expression$1$until(new V.StylesheetParser__forRule_closure(t1, _this));
  36225. if (t1.exclusive == null)
  36226. _this.scanner.error$1('Expected "to" or "through".');
  36227. _this.whitespace$0();
  36228. return _this._withChildren$3(child, start, new V.StylesheetParser__forRule_closure0(t1, _this, wasInControlDirective, variable, from, _this.expression$0()));
  36229. },
  36230. _forwardRule$1: function(start) {
  36231. var prefix, members, shownMixinsAndFunctions, shownVariables, hiddenVariables, hiddenMixinsAndFunctions, span, t1, t2, _this = this, _null = null,
  36232. url = _this._urlString$0();
  36233. _this.whitespace$0();
  36234. if (_this.scanIdentifier$1("as")) {
  36235. _this.whitespace$0();
  36236. prefix = _this.identifier$0();
  36237. _this.scanner.expectChar$1(42);
  36238. _this.whitespace$0();
  36239. } else
  36240. prefix = _null;
  36241. if (_this.scanIdentifier$1("show")) {
  36242. members = _this._memberList$0();
  36243. shownMixinsAndFunctions = members.item1;
  36244. shownVariables = members.item2;
  36245. hiddenVariables = _null;
  36246. hiddenMixinsAndFunctions = hiddenVariables;
  36247. } else {
  36248. if (_this.scanIdentifier$1("hide")) {
  36249. members = _this._memberList$0();
  36250. hiddenMixinsAndFunctions = members.item1;
  36251. hiddenVariables = members.item2;
  36252. } else {
  36253. hiddenVariables = _null;
  36254. hiddenMixinsAndFunctions = hiddenVariables;
  36255. }
  36256. shownVariables = _null;
  36257. shownMixinsAndFunctions = shownVariables;
  36258. }
  36259. _this.expectStatementSeparator$1("@forward rule");
  36260. span = _this.scanner.spanFrom$1(start);
  36261. _this.error$2("@forward is coming soon, but it's not supported in this version of Dart Sass.", span);
  36262. if (shownMixinsAndFunctions != null) {
  36263. t1 = P.String;
  36264. t2 = [t1];
  36265. return new L.ForwardRule(url, new L.UnmodifiableSetView(P.LinkedHashSet_LinkedHashSet$of(shownMixinsAndFunctions, t1), t2), new L.UnmodifiableSetView(P.LinkedHashSet_LinkedHashSet$of(shownVariables, t1), t2), _null, _null, prefix, span);
  36266. } else if (hiddenMixinsAndFunctions != null) {
  36267. t1 = P.String;
  36268. t2 = [t1];
  36269. return new L.ForwardRule(url, _null, _null, new L.UnmodifiableSetView(P.LinkedHashSet_LinkedHashSet$of(hiddenMixinsAndFunctions, t1), t2), new L.UnmodifiableSetView(P.LinkedHashSet_LinkedHashSet$of(hiddenVariables, t1), t2), prefix, span);
  36270. } else
  36271. return new L.ForwardRule(url, _null, _null, _null, _null, prefix, span);
  36272. },
  36273. _memberList$0: function() {
  36274. var _this = this,
  36275. t1 = P.String,
  36276. identifiers = P.LinkedHashSet_LinkedHashSet(t1),
  36277. variables = P.LinkedHashSet_LinkedHashSet(t1);
  36278. t1 = _this.scanner;
  36279. do {
  36280. _this.whitespace$0();
  36281. _this.withErrorMessage$2("Expected variable, mixin, or function name", new V.StylesheetParser__memberList_closure(_this, variables, identifiers));
  36282. _this.whitespace$0();
  36283. } while (t1.scanChar$1(44));
  36284. t1 = [P.Set, P.String];
  36285. return new S.Tuple2(identifiers, variables, [t1, t1]);
  36286. },
  36287. _ifRule$2: function(start, child) {
  36288. var condition, children, t1, t2, t3, clauses, lastClause, result, t4, span, _this = this,
  36289. ifIndentation = _this.get$currentIndentation(),
  36290. wasInControlDirective = _this._inControlDirective;
  36291. _this._inControlDirective = true;
  36292. condition = _this.expression$0();
  36293. children = _this.children$1(child);
  36294. _this.whitespaceWithoutComments$0();
  36295. t1 = O.Statement;
  36296. t2 = P.List_List$unmodifiable(children, t1);
  36297. t3 = V.IfClause;
  36298. clauses = H.setRuntimeTypeInfo([new V.IfClause(condition, t2, C.JSArray_methods.any$1(t2, new V.IfClause$__closure()))], [t3]);
  36299. while (true) {
  36300. if (!_this.scanElse$1(ifIndentation)) {
  36301. lastClause = null;
  36302. break;
  36303. }
  36304. _this.whitespace$0();
  36305. if (_this.scanIdentifier$1("if")) {
  36306. _this.whitespace$0();
  36307. t2 = _this.expression$0();
  36308. result = P.List_List$from(_this.children$1(child), false, t1);
  36309. result.fixed$length = Array;
  36310. result.immutable$list = Array;
  36311. t4 = result;
  36312. clauses.push(new V.IfClause(t2, t4, C.JSArray_methods.any$1(t4, new V.IfClause$__closure())));
  36313. } else {
  36314. result = P.List_List$from(_this.children$1(child), false, t1);
  36315. result.fixed$length = Array;
  36316. result.immutable$list = Array;
  36317. t1 = result;
  36318. lastClause = new V.IfClause(null, t1, C.JSArray_methods.any$1(t1, new V.IfClause$__closure()));
  36319. break;
  36320. }
  36321. }
  36322. _this._inControlDirective = wasInControlDirective;
  36323. span = _this.scanner.spanFrom$1(start);
  36324. _this.whitespaceWithoutComments$0();
  36325. return new V.IfRule(P.List_List$unmodifiable(clauses, t3), lastClause, span);
  36326. },
  36327. _importRule$1: function(start) {
  36328. var argument, _this = this,
  36329. t1 = F.Import,
  36330. imports = H.setRuntimeTypeInfo([], [t1]),
  36331. t2 = _this.scanner;
  36332. do {
  36333. _this.whitespace$0();
  36334. argument = _this.importArgument$0();
  36335. if ((_this._inControlDirective || _this._stylesheet$_inMixin) && argument instanceof B.DynamicImport)
  36336. _this._disallowedAtRule$1(start);
  36337. imports.push(argument);
  36338. _this.whitespace$0();
  36339. } while (t2.scanChar$1(44));
  36340. _this.expectStatementSeparator$1("@import rule");
  36341. t2 = t2.spanFrom$1(start);
  36342. return new B.ImportRule(P.List_List$unmodifiable(imports, t1), t2);
  36343. },
  36344. importArgument$0: function() {
  36345. var url, urlSpan, innerError, queries, t2, t3, t4, exception, _this = this, _null = null,
  36346. t1 = _this.scanner,
  36347. start = new S._SpanScannerState(t1, t1._string_scanner$_position),
  36348. next = t1.peekChar$0();
  36349. if (next === 117 || next === 85) {
  36350. url = _this.dynamicUrl$0();
  36351. _this.whitespace$0();
  36352. queries = _this.tryImportQueries$0();
  36353. t2 = X.Interpolation$(H.setRuntimeTypeInfo([url], [P.Object]), t1.spanFrom$1(start));
  36354. t1 = t1.spanFrom$1(start);
  36355. t3 = queries == null;
  36356. t4 = t3 ? _null : queries.item1;
  36357. return new Q.StaticImport(t2, t4, t3 ? _null : queries.item2, t1);
  36358. }
  36359. url = _this.string$0();
  36360. urlSpan = t1.spanFrom$1(start);
  36361. _this.whitespace$0();
  36362. queries = _this.tryImportQueries$0();
  36363. if (_this._isPlainImportUrl$1(url) || queries != null) {
  36364. t2 = urlSpan;
  36365. t2 = X.Interpolation$(H.setRuntimeTypeInfo([P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(t2.file._decodedChars, t2._start, t2._end), 0, _null)], [P.Object]), urlSpan);
  36366. t1 = t1.spanFrom$1(start);
  36367. t3 = queries == null;
  36368. t4 = t3 ? _null : queries.item1;
  36369. return new Q.StaticImport(t2, t4, t3 ? _null : queries.item2, t1);
  36370. } else
  36371. try {
  36372. t1 = _this.parseImportUrl$1(url);
  36373. return new B.DynamicImport(t1, urlSpan);
  36374. } catch (exception) {
  36375. t1 = H.unwrapException(exception);
  36376. if (!!J.getInterceptor$(t1).$isFormatException) {
  36377. innerError = t1;
  36378. _this.error$2("Invalid URL: " + H.S(J.get$message$x(innerError)), urlSpan);
  36379. } else
  36380. throw exception;
  36381. }
  36382. },
  36383. parseImportUrl$1: function(url) {
  36384. var t1 = $.$get$windows();
  36385. if (t1.style.rootLength$1(url) > 0)
  36386. return J.toString$0$(t1.toUri$1(url));
  36387. P.Uri_parse(url);
  36388. return url;
  36389. },
  36390. _isPlainImportUrl$1: function(url) {
  36391. var first;
  36392. if (url.length < 5)
  36393. return false;
  36394. if (C.JSString_methods.endsWith$1(url, ".css"))
  36395. return true;
  36396. first = C.JSString_methods._codeUnitAt$1(url, 0);
  36397. if (first === 47)
  36398. return C.JSString_methods._codeUnitAt$1(url, 1) === 47;
  36399. if (first !== 104)
  36400. return false;
  36401. return C.JSString_methods.startsWith$1(url, "http://") || C.JSString_methods.startsWith$1(url, "https://");
  36402. },
  36403. tryImportQueries$0: function() {
  36404. var t1, start, supports, $name, media, _this = this;
  36405. if (_this.scanIdentifier$1("supports")) {
  36406. t1 = _this.scanner;
  36407. t1.expectChar$1(40);
  36408. start = new S._SpanScannerState(t1, t1._string_scanner$_position);
  36409. if (_this.scanIdentifier$1("not")) {
  36410. _this.whitespace$0();
  36411. supports = new M.SupportsNegation(_this._supportsConditionInParens$0(), t1.spanFrom$1(start));
  36412. } else if (t1.peekChar$0() === 40)
  36413. supports = _this._supportsCondition$0();
  36414. else {
  36415. $name = _this.expression$0();
  36416. t1.expectChar$1(58);
  36417. _this.whitespace$0();
  36418. supports = new L.SupportsDeclaration($name, _this.expression$0(), t1.spanFrom$1(start));
  36419. }
  36420. t1.expectChar$1(41);
  36421. _this.whitespace$0();
  36422. } else
  36423. supports = null;
  36424. media = _this._lookingAtInterpolatedIdentifier$0() || _this.scanner.peekChar$0() === 40 ? _this._mediaQueryList$0() : null;
  36425. if (supports == null && media == null)
  36426. return;
  36427. return new S.Tuple2(supports, media, [N.SupportsCondition, X.Interpolation]);
  36428. },
  36429. _includeRule$1: function(start) {
  36430. var name0, namespace, $arguments, t3, t4, wasInContentBlock, $content, _this = this, _null = null, t1 = {},
  36431. $name = _this.identifier$0(),
  36432. t2 = _this.scanner;
  36433. if (t2.scanChar$1(46)) {
  36434. name0 = _this._publicIdentifier$0();
  36435. namespace = $name;
  36436. $name = name0;
  36437. } else {
  36438. $name = H.stringReplaceAllUnchecked($name, "_", "-");
  36439. namespace = _null;
  36440. }
  36441. _this.whitespace$0();
  36442. if (t2.peekChar$0() === 40)
  36443. $arguments = _this._argumentInvocation$1$mixin(true);
  36444. else {
  36445. t3 = Y.FileLocation$_(t2._sourceFile, t2._string_scanner$_position);
  36446. t4 = t3.offset;
  36447. $arguments = new X.ArgumentInvocation(C.List_empty8, C.Map_empty5, _null, _null, Y._FileSpan$(t3.file, t4, t4));
  36448. }
  36449. _this.whitespace$0();
  36450. t1.contentArguments = null;
  36451. if (_this.scanIdentifier$1("using")) {
  36452. _this.whitespace$0();
  36453. t3 = t1.contentArguments = _this._argumentDeclaration$0();
  36454. _this.whitespace$0();
  36455. } else
  36456. t3 = _null;
  36457. if (t3 != null || _this.lookingAtChildren$0()) {
  36458. wasInContentBlock = _this._inContentBlock;
  36459. _this._inContentBlock = true;
  36460. $content = _this._withChildren$3(_this.get$_statement(), start, new V.StylesheetParser__includeRule_closure(t1, _this));
  36461. _this._inContentBlock = wasInContentBlock;
  36462. } else {
  36463. _this.expectStatementSeparator$0();
  36464. $content = _null;
  36465. }
  36466. t1 = t2.spanFrom$2(start, start);
  36467. return new A.IncludeRule(namespace, $name, $arguments, $content, t1.expand$1(0, ($content == null ? $arguments : $content).get$span()));
  36468. },
  36469. mediaRule$1: function(start) {
  36470. return this._withChildren$3(this.get$_statement(), start, new V.StylesheetParser_mediaRule_closure(this._mediaQueryList$0()));
  36471. },
  36472. _mixinRule$1: function(start) {
  36473. var $name, t1, $arguments, t2, t3, _this = this,
  36474. precedingComment = _this.lastSilentComment;
  36475. _this.lastSilentComment = null;
  36476. $name = _this.identifier$1$normalize(true);
  36477. _this.whitespace$0();
  36478. t1 = _this.scanner;
  36479. if (t1.peekChar$0() === 40)
  36480. $arguments = _this._argumentDeclaration$0();
  36481. else {
  36482. t2 = Y.FileLocation$_(t1._sourceFile, t1._string_scanner$_position);
  36483. t3 = t2.offset;
  36484. $arguments = new B.ArgumentDeclaration(C.List_empty9, null, Y._FileSpan$(t2.file, t3, t3));
  36485. }
  36486. if (_this._stylesheet$_inMixin || _this._inContentBlock)
  36487. _this.error$2("Mixins may not contain mixin declarations.", t1.spanFrom$1(start));
  36488. else if (_this._inControlDirective)
  36489. _this.error$2("Mixins may not be declared in control directives.", t1.spanFrom$1(start));
  36490. _this.whitespace$0();
  36491. _this._stylesheet$_inMixin = true;
  36492. _this._mixinHasContent = false;
  36493. return _this._withChildren$3(_this.get$_statement(), start, new V.StylesheetParser__mixinRule_closure(_this, $name, $arguments, precedingComment));
  36494. },
  36495. mozDocumentRule$2: function(start, $name) {
  36496. var t5, identifier, contents, argument, trailing, endPosition, start0, end, _this = this, _box_0 = {},
  36497. t1 = _this.scanner,
  36498. t2 = t1._string_scanner$_position,
  36499. t3 = new P.StringBuffer(""),
  36500. t4 = [],
  36501. buffer = new Z.InterpolationBuffer(t3, t4);
  36502. _box_0.needsDeprecationWarning = false;
  36503. for (; true;) {
  36504. if (t1.peekChar$0() === 35) {
  36505. t5 = _this.singleInterpolation$0();
  36506. buffer._flushText$0();
  36507. t4.push(t5);
  36508. _box_0.needsDeprecationWarning = true;
  36509. } else {
  36510. t5 = t1._string_scanner$_position;
  36511. identifier = _this.identifier$0();
  36512. switch (identifier) {
  36513. case "url":
  36514. case "url-prefix":
  36515. case "domain":
  36516. contents = _this._tryUrlContents$2$name(new S._SpanScannerState(t1, t5), identifier);
  36517. if (contents != null)
  36518. buffer.addInterpolation$1(contents);
  36519. else {
  36520. t1.expectChar$1(40);
  36521. _this.whitespace$0();
  36522. argument = _this.interpolatedString$0();
  36523. t1.expectChar$1(41);
  36524. t3._contents += identifier;
  36525. t3._contents += H.Primitives_stringFromCharCode(40);
  36526. buffer.addInterpolation$1(argument.asInterpolation$0());
  36527. t3._contents += H.Primitives_stringFromCharCode(41);
  36528. }
  36529. t5 = t3._contents;
  36530. trailing = t5.charCodeAt(0) == 0 ? t5 : t5;
  36531. if (!C.JSString_methods.endsWith$1(trailing, "url-prefix()") && !C.JSString_methods.endsWith$1(trailing, "url-prefix('')") && !C.JSString_methods.endsWith$1(trailing, 'url-prefix("")'))
  36532. _box_0.needsDeprecationWarning = true;
  36533. break;
  36534. case "regexp":
  36535. t3._contents += "regexp(";
  36536. t1.expectChar$1(40);
  36537. buffer.addInterpolation$1(_this.interpolatedString$0().asInterpolation$0());
  36538. t1.expectChar$1(41);
  36539. t3._contents += H.Primitives_stringFromCharCode(41);
  36540. _box_0.needsDeprecationWarning = true;
  36541. break;
  36542. default:
  36543. endPosition = t1._string_scanner$_position;
  36544. _this.error$2("Invalid function name.", Y._FileSpan$(t1._sourceFile, t5, endPosition));
  36545. }
  36546. }
  36547. _this.whitespace$0();
  36548. if (!t1.scanChar$1(44))
  36549. break;
  36550. t3._contents += H.Primitives_stringFromCharCode(44);
  36551. t5 = _this.get$whitespace();
  36552. start0 = t1._string_scanner$_position;
  36553. t5.call$0();
  36554. end = t1._string_scanner$_position;
  36555. t3._contents += J.substring$2$s(t1.string, start0, end);
  36556. }
  36557. return _this._withChildren$3(_this.get$_statement(), start, new V.StylesheetParser_mozDocumentRule_closure(_box_0, _this, $name, buffer.interpolation$1(t1.spanFrom$1(new S._SpanScannerState(t1, t2)))));
  36558. },
  36559. supportsRule$1: function(start) {
  36560. var _this = this,
  36561. condition = _this._supportsCondition$0();
  36562. _this.whitespace$0();
  36563. return _this._withChildren$3(_this.get$_statement(), start, new V.StylesheetParser_supportsRule_closure(condition));
  36564. },
  36565. _useRule$1: function(start) {
  36566. var namespace, basename, dot, exception, span, _this = this,
  36567. _s9_ = "@use rule",
  36568. url = _this._urlString$0();
  36569. _this.whitespace$0();
  36570. namespace = null;
  36571. if (_this.scanIdentifier$1("as")) {
  36572. _this.whitespace$0();
  36573. namespace = _this.scanner.scanChar$1(42) ? null : _this.identifier$0();
  36574. } else {
  36575. basename = url.get$pathSegments().length === 0 ? "" : C.JSArray_methods.get$last(url.get$pathSegments());
  36576. dot = J.getInterceptor$asx(basename).indexOf$1(basename, ".");
  36577. namespace = C.JSString_methods.substring$2(basename, 0, dot === -1 ? basename.length : dot);
  36578. try {
  36579. namespace = G.Parser$(namespace, _this.logger, null)._parseIdentifier$0();
  36580. } catch (exception) {
  36581. if (H.unwrapException(exception) instanceof E.SassFormatException)
  36582. _this.error$2('Invalid Sass identifier "' + H.S(namespace) + '"', _this.scanner.spanFrom$1(start));
  36583. else
  36584. throw exception;
  36585. }
  36586. }
  36587. _this.expectStatementSeparator$1(_s9_);
  36588. span = _this.scanner.spanFrom$1(start);
  36589. _this.error$2("@use is coming soon, but it's not supported in this version of Dart Sass.", span);
  36590. _this.expectStatementSeparator$1(_s9_);
  36591. return new T.UseRule(url, namespace, span);
  36592. },
  36593. _warnRule$1: function(start) {
  36594. var value = this.expression$0();
  36595. this.expectStatementSeparator$1("@warn rule");
  36596. return new Y.WarnRule(value, this.scanner.spanFrom$1(start));
  36597. },
  36598. _whileRule$2: function(start, child) {
  36599. var _this = this,
  36600. wasInControlDirective = _this._inControlDirective;
  36601. _this._inControlDirective = true;
  36602. return _this._withChildren$3(child, start, new V.StylesheetParser__whileRule_closure(_this, wasInControlDirective, _this.expression$0()));
  36603. },
  36604. unknownAtRule$2: function(start, $name) {
  36605. var t2, t3, rule, _this = this, t1 = {},
  36606. wasInUnknownAtRule = _this._stylesheet$_inUnknownAtRule;
  36607. _this._stylesheet$_inUnknownAtRule = true;
  36608. t1.value = null;
  36609. t2 = _this.scanner;
  36610. t3 = t2.peekChar$0() !== 33 && !_this.atEndOfStatement$0() ? t1.value = _this.almostAnyValue$0() : null;
  36611. if (_this.lookingAtChildren$0())
  36612. rule = _this._withChildren$3(_this.get$_statement(), start, new V.StylesheetParser_unknownAtRule_closure(t1, $name));
  36613. else {
  36614. _this.expectStatementSeparator$0();
  36615. rule = U.AtRule$($name, t2.spanFrom$1(start), null, t3);
  36616. }
  36617. _this._stylesheet$_inUnknownAtRule = wasInUnknownAtRule;
  36618. return rule;
  36619. },
  36620. _disallowedAtRule$1: function(start) {
  36621. this.almostAnyValue$0();
  36622. this.error$2("This at-rule is not allowed here.", this.scanner.spanFrom$1(start));
  36623. },
  36624. _argumentDeclaration$0: function() {
  36625. var t3, $arguments, named, restArgument, t4, $name, defaultValue, endPosition, _this = this,
  36626. t1 = _this.scanner,
  36627. t2 = t1._string_scanner$_position;
  36628. t1.expectChar$1(40);
  36629. _this.whitespace$0();
  36630. t3 = Z.Argument;
  36631. $arguments = H.setRuntimeTypeInfo([], [t3]);
  36632. named = P.LinkedHashSet_LinkedHashSet$_empty(P.String);
  36633. while (true) {
  36634. if (!(t1.peekChar$0() === 36)) {
  36635. restArgument = null;
  36636. break;
  36637. }
  36638. t4 = t1._string_scanner$_position;
  36639. t1.expectChar$1(36);
  36640. $name = _this.identifier$1$normalize(true);
  36641. _this.whitespace$0();
  36642. if (t1.scanChar$1(58)) {
  36643. _this.whitespace$0();
  36644. defaultValue = _this._expressionUntilComma$0();
  36645. } else {
  36646. if (t1.scanChar$1(46)) {
  36647. t1.expectChar$1(46);
  36648. t1.expectChar$1(46);
  36649. _this.whitespace$0();
  36650. restArgument = $name;
  36651. break;
  36652. }
  36653. defaultValue = null;
  36654. }
  36655. endPosition = t1._string_scanner$_position;
  36656. $arguments.push(new Z.Argument($name, defaultValue, Y._FileSpan$(t1._sourceFile, t4, endPosition)));
  36657. if (!named.add$1(0, $name))
  36658. _this.error$2("Duplicate argument.", C.JSArray_methods.get$last($arguments).span);
  36659. if (!t1.scanChar$1(44)) {
  36660. restArgument = null;
  36661. break;
  36662. }
  36663. _this.whitespace$0();
  36664. }
  36665. t1.expectChar$1(41);
  36666. t1 = t1.spanFrom$1(new S._SpanScannerState(t1, t2));
  36667. return new B.ArgumentDeclaration(P.List_List$unmodifiable($arguments, t3), restArgument, t1);
  36668. },
  36669. _argumentInvocation$1$mixin: function(mixin) {
  36670. var t3, positional, named, keywordRest, rest, expression, t4, _this = this,
  36671. t1 = _this.scanner,
  36672. t2 = t1._string_scanner$_position;
  36673. t1.expectChar$1(40);
  36674. _this.whitespace$0();
  36675. t3 = T.Expression;
  36676. positional = H.setRuntimeTypeInfo([], [t3]);
  36677. named = P.LinkedHashMap_LinkedHashMap$_empty(P.String, t3);
  36678. t3 = !mixin;
  36679. rest = null;
  36680. while (true) {
  36681. if (!_this._lookingAtExpression$0()) {
  36682. keywordRest = null;
  36683. break;
  36684. }
  36685. expression = _this._expressionUntilComma$1$singleEquals(t3);
  36686. _this.whitespace$0();
  36687. if (expression instanceof S.VariableExpression && t1.scanChar$1(58)) {
  36688. _this.whitespace$0();
  36689. t4 = expression.name;
  36690. if (named.containsKey$1(t4))
  36691. _this.error$2("Duplicate argument.", expression.span);
  36692. named.$indexSet(0, t4, _this._expressionUntilComma$1$singleEquals(t3));
  36693. } else if (t1.scanChar$1(46)) {
  36694. t1.expectChar$1(46);
  36695. t1.expectChar$1(46);
  36696. if (rest != null) {
  36697. _this.whitespace$0();
  36698. keywordRest = expression;
  36699. break;
  36700. }
  36701. rest = expression;
  36702. } else if (named.get$isNotEmpty(named))
  36703. t1.expect$1("...");
  36704. else
  36705. positional.push(expression);
  36706. _this.whitespace$0();
  36707. if (!t1.scanChar$1(44)) {
  36708. keywordRest = null;
  36709. break;
  36710. }
  36711. _this.whitespace$0();
  36712. }
  36713. t1.expectChar$1(41);
  36714. return X.ArgumentInvocation$(positional, named, t1.spanFrom$1(new S._SpanScannerState(t1, t2)), keywordRest, rest);
  36715. },
  36716. _argumentInvocation$0: function() {
  36717. return this._argumentInvocation$1$mixin(false);
  36718. },
  36719. expression$3$bracketList$singleEquals$until: function(bracketList, singleEquals, until) {
  36720. var t2, beforeBracket, t3, wasInParentheses, resetState, resolveOneOperation, resolveOperations, addSingleExpression, addOperator, resolveSpaceExpressions, t4, first, next, t5, _this = this,
  36721. _s20_ = "Expected expression.",
  36722. _box_0 = {},
  36723. t1 = until != null;
  36724. if (t1 && until.call$0())
  36725. _this.scanner.error$1(_s20_);
  36726. if (bracketList) {
  36727. t2 = _this.scanner;
  36728. beforeBracket = new S._SpanScannerState(t2, t2._string_scanner$_position);
  36729. t2.expectChar$1(91);
  36730. _this.whitespace$0();
  36731. if (t2.scanChar$1(93)) {
  36732. t1 = T.Expression;
  36733. t3 = H.setRuntimeTypeInfo([], [t1]);
  36734. t2 = t2.spanFrom$1(beforeBracket);
  36735. t1 = P.List_List$unmodifiable(t3, t1);
  36736. return new D.ListExpression(t1, C.ListSeparator_undecided, true, t2);
  36737. }
  36738. } else
  36739. beforeBracket = null;
  36740. t2 = _this.scanner;
  36741. t3 = t2._string_scanner$_position;
  36742. wasInParentheses = _this._inParentheses;
  36743. _box_0.operands = _box_0.operators = _box_0.spaceExpressions = _box_0.singleEqualsOperand = _box_0.commaExpressions = null;
  36744. _box_0.allowSlash = _this.lookingAtNumber$0();
  36745. _box_0.singleExpression = _this._singleExpression$0();
  36746. resetState = new V.StylesheetParser_expression_resetState(_box_0, _this, new S._SpanScannerState(t2, t3));
  36747. resolveOneOperation = new V.StylesheetParser_expression_resolveOneOperation(_box_0, _this);
  36748. resolveOperations = new V.StylesheetParser_expression_resolveOperations(_box_0, resolveOneOperation);
  36749. addSingleExpression = new V.StylesheetParser_expression_addSingleExpression(_box_0, _this, resetState, resolveOperations);
  36750. addOperator = new V.StylesheetParser_expression_addOperator(_box_0, _this, resolveOneOperation);
  36751. resolveSpaceExpressions = new V.StylesheetParser_expression_resolveSpaceExpressions(_box_0, resolveOperations);
  36752. $label0$0:
  36753. for (t3 = T.Expression, t4 = [t3]; true;) {
  36754. _this.whitespace$0();
  36755. if (t1 && until.call$0())
  36756. break $label0$0;
  36757. first = t2.peekChar$0();
  36758. switch (first) {
  36759. case 40:
  36760. addSingleExpression.call$1(_this._parentheses$0());
  36761. break;
  36762. case 91:
  36763. addSingleExpression.call$1(_this.expression$1$bracketList(true));
  36764. break;
  36765. case 36:
  36766. addSingleExpression.call$1(_this._variable$0());
  36767. break;
  36768. case 38:
  36769. addSingleExpression.call$1(_this._selector$0());
  36770. break;
  36771. case 39:
  36772. case 34:
  36773. addSingleExpression.call$1(_this.interpolatedString$0());
  36774. break;
  36775. case 35:
  36776. addSingleExpression.call$1(_this._hashExpression$0());
  36777. break;
  36778. case 61:
  36779. t2.readChar$0();
  36780. if (singleEquals && t2.peekChar$0() !== 61) {
  36781. resolveSpaceExpressions.call$0();
  36782. _box_0.singleEqualsOperand = _box_0.singleExpression;
  36783. _box_0.singleExpression = null;
  36784. } else {
  36785. t2.expectChar$1(61);
  36786. addOperator.call$1(C.BinaryOperator_YlX);
  36787. }
  36788. break;
  36789. case 33:
  36790. next = t2.peekChar$1(1);
  36791. if (next === 61) {
  36792. t2.readChar$0();
  36793. t2.readChar$0();
  36794. addOperator.call$1(C.BinaryOperator_i5H);
  36795. } else {
  36796. if (next != null)
  36797. if ((next | 32) !== 105)
  36798. t5 = next === 32 || next === 9 || next === 10 || next === 13 || next === 12;
  36799. else
  36800. t5 = true;
  36801. else
  36802. t5 = true;
  36803. if (t5)
  36804. addSingleExpression.call$1(_this._importantExpression$0());
  36805. else
  36806. break $label0$0;
  36807. }
  36808. break;
  36809. case 60:
  36810. t2.readChar$0();
  36811. addOperator.call$1(t2.scanChar$1(61) ? C.BinaryOperator_33h : C.BinaryOperator_8qt);
  36812. break;
  36813. case 62:
  36814. t2.readChar$0();
  36815. addOperator.call$1(t2.scanChar$1(61) ? C.BinaryOperator_1da : C.BinaryOperator_AcR);
  36816. break;
  36817. case 42:
  36818. t2.readChar$0();
  36819. addOperator.call$1(C.BinaryOperator_O1M);
  36820. break;
  36821. case 43:
  36822. if (_box_0.singleExpression == null)
  36823. addSingleExpression.call$1(_this._unaryOperation$0());
  36824. else {
  36825. t2.readChar$0();
  36826. addOperator.call$1(C.BinaryOperator_AcR0);
  36827. }
  36828. break;
  36829. case 45:
  36830. next = t2.peekChar$1(1);
  36831. if (next != null && next >= 48 && next <= 57 || next === 46)
  36832. if (_box_0.singleExpression != null) {
  36833. t5 = t2.peekChar$1(-1);
  36834. t5 = t5 === 32 || t5 === 9 || t5 === 10 || t5 === 13 || t5 === 12;
  36835. } else
  36836. t5 = true;
  36837. else
  36838. t5 = false;
  36839. if (t5)
  36840. addSingleExpression.call$2$number(_this._number$0(), true);
  36841. else if (_this._lookingAtInterpolatedIdentifier$0())
  36842. addSingleExpression.call$1(_this.identifierLike$0());
  36843. else if (_box_0.singleExpression == null)
  36844. addSingleExpression.call$1(_this._unaryOperation$0());
  36845. else {
  36846. t2.readChar$0();
  36847. addOperator.call$1(C.BinaryOperator_iyO);
  36848. }
  36849. break;
  36850. case 47:
  36851. if (_box_0.singleExpression == null)
  36852. addSingleExpression.call$1(_this._unaryOperation$0());
  36853. else {
  36854. t2.readChar$0();
  36855. addOperator.call$1(C.BinaryOperator_RTB);
  36856. }
  36857. break;
  36858. case 37:
  36859. t2.readChar$0();
  36860. addOperator.call$1(C.BinaryOperator_2ad);
  36861. break;
  36862. case 48:
  36863. case 49:
  36864. case 50:
  36865. case 51:
  36866. case 52:
  36867. case 53:
  36868. case 54:
  36869. case 55:
  36870. case 56:
  36871. case 57:
  36872. addSingleExpression.call$2$number(_this._number$0(), true);
  36873. break;
  36874. case 46:
  36875. if (t2.peekChar$1(1) === 46)
  36876. break $label0$0;
  36877. addSingleExpression.call$2$number(_this._number$0(), true);
  36878. break;
  36879. case 97:
  36880. if (!_this.get$plainCss() && _this.scanIdentifier$1("and"))
  36881. addOperator.call$1(C.BinaryOperator_and_and_2);
  36882. else
  36883. addSingleExpression.call$1(_this.identifierLike$0());
  36884. break;
  36885. case 111:
  36886. if (!_this.get$plainCss() && _this.scanIdentifier$1("or"))
  36887. addOperator.call$1(C.BinaryOperator_or_or_1);
  36888. else
  36889. addSingleExpression.call$1(_this.identifierLike$0());
  36890. break;
  36891. case 117:
  36892. case 85:
  36893. if (t2.peekChar$1(1) === 43)
  36894. addSingleExpression.call$1(_this._unicodeRange$0());
  36895. else
  36896. addSingleExpression.call$1(_this.identifierLike$0());
  36897. break;
  36898. case 98:
  36899. case 99:
  36900. case 100:
  36901. case 101:
  36902. case 102:
  36903. case 103:
  36904. case 104:
  36905. case 105:
  36906. case 106:
  36907. case 107:
  36908. case 108:
  36909. case 109:
  36910. case 110:
  36911. case 112:
  36912. case 113:
  36913. case 114:
  36914. case 115:
  36915. case 116:
  36916. case 118:
  36917. case 119:
  36918. case 120:
  36919. case 121:
  36920. case 122:
  36921. case 65:
  36922. case 66:
  36923. case 67:
  36924. case 68:
  36925. case 69:
  36926. case 70:
  36927. case 71:
  36928. case 72:
  36929. case 73:
  36930. case 74:
  36931. case 75:
  36932. case 76:
  36933. case 77:
  36934. case 78:
  36935. case 79:
  36936. case 80:
  36937. case 81:
  36938. case 82:
  36939. case 83:
  36940. case 84:
  36941. case 86:
  36942. case 87:
  36943. case 88:
  36944. case 89:
  36945. case 90:
  36946. case 95:
  36947. case 92:
  36948. addSingleExpression.call$1(_this.identifierLike$0());
  36949. break;
  36950. case 44:
  36951. if (_this._inParentheses) {
  36952. _this._inParentheses = false;
  36953. if (_box_0.allowSlash) {
  36954. resetState.call$0();
  36955. break;
  36956. }
  36957. }
  36958. if (_box_0.commaExpressions == null)
  36959. _box_0.commaExpressions = H.setRuntimeTypeInfo([], t4);
  36960. if (_box_0.singleExpression == null)
  36961. t2.error$1(_s20_);
  36962. resolveSpaceExpressions.call$0();
  36963. _box_0.commaExpressions.push(_box_0.singleExpression);
  36964. t2.readChar$0();
  36965. _box_0.allowSlash = true;
  36966. _box_0.singleExpression = null;
  36967. break;
  36968. default:
  36969. if (first != null && first >= 128) {
  36970. addSingleExpression.call$1(_this.identifierLike$0());
  36971. break;
  36972. } else
  36973. break $label0$0;
  36974. }
  36975. }
  36976. if (bracketList)
  36977. t2.expectChar$1(93);
  36978. if (_box_0.commaExpressions != null) {
  36979. resolveSpaceExpressions.call$0();
  36980. _this._inParentheses = wasInParentheses;
  36981. t1 = _box_0.singleExpression;
  36982. if (t1 != null)
  36983. _box_0.commaExpressions.push(t1);
  36984. t1 = _box_0.commaExpressions;
  36985. t2 = bracketList ? t2.spanFrom$1(beforeBracket) : null;
  36986. t3 = P.List_List$unmodifiable(t1, t3);
  36987. return new D.ListExpression(t3, C.ListSeparator_comma, bracketList, t2 == null ? B.spanForList(t3) : t2);
  36988. } else if (bracketList && _box_0.spaceExpressions != null && _box_0.singleEqualsOperand == null) {
  36989. resolveOperations.call$0();
  36990. t1 = _box_0.spaceExpressions;
  36991. t1.push(_box_0.singleExpression);
  36992. t2 = t2.spanFrom$1(beforeBracket);
  36993. t3 = P.List_List$unmodifiable(t1, t3);
  36994. return new D.ListExpression(t3, C.ListSeparator_space, true, t2);
  36995. } else {
  36996. resolveSpaceExpressions.call$0();
  36997. if (bracketList) {
  36998. t1 = H.setRuntimeTypeInfo([_box_0.singleExpression], t4);
  36999. t2 = t2.spanFrom$1(beforeBracket);
  37000. t3 = P.List_List$unmodifiable(t1, t3);
  37001. _box_0.singleExpression = new D.ListExpression(t3, C.ListSeparator_undecided, true, t2);
  37002. }
  37003. return _box_0.singleExpression;
  37004. }
  37005. },
  37006. expression$2$singleEquals$until: function(singleEquals, until) {
  37007. return this.expression$3$bracketList$singleEquals$until(false, singleEquals, until);
  37008. },
  37009. expression$1$bracketList: function(bracketList) {
  37010. return this.expression$3$bracketList$singleEquals$until(bracketList, false, null);
  37011. },
  37012. expression$0: function() {
  37013. return this.expression$3$bracketList$singleEquals$until(false, false, null);
  37014. },
  37015. expression$1$singleEquals: function(singleEquals) {
  37016. return this.expression$3$bracketList$singleEquals$until(false, singleEquals, null);
  37017. },
  37018. expression$1$until: function(until) {
  37019. return this.expression$3$bracketList$singleEquals$until(false, false, until);
  37020. },
  37021. _expressionUntilComma$1$singleEquals: function(singleEquals) {
  37022. return this.expression$2$singleEquals$until(singleEquals, new V.StylesheetParser__expressionUntilComma_closure(this));
  37023. },
  37024. _expressionUntilComma$0: function() {
  37025. return this._expressionUntilComma$1$singleEquals(false);
  37026. },
  37027. _singleExpression$0: function() {
  37028. var next, _this = this,
  37029. t1 = _this.scanner,
  37030. first = t1.peekChar$0();
  37031. switch (first) {
  37032. case 40:
  37033. return _this._parentheses$0();
  37034. case 47:
  37035. return _this._unaryOperation$0();
  37036. case 46:
  37037. return _this._number$0();
  37038. case 91:
  37039. return _this.expression$1$bracketList(true);
  37040. case 36:
  37041. return _this._variable$0();
  37042. case 38:
  37043. return _this._selector$0();
  37044. case 39:
  37045. case 34:
  37046. return _this.interpolatedString$0();
  37047. case 35:
  37048. return _this._hashExpression$0();
  37049. case 43:
  37050. next = t1.peekChar$1(1);
  37051. return T.isDigit(next) || next === 46 ? _this._number$0() : _this._unaryOperation$0();
  37052. case 45:
  37053. return _this._minusExpression$0();
  37054. case 33:
  37055. return _this._importantExpression$0();
  37056. case 117:
  37057. case 85:
  37058. if (t1.peekChar$1(1) === 43)
  37059. return _this._unicodeRange$0();
  37060. else
  37061. return _this.identifierLike$0();
  37062. case 48:
  37063. case 49:
  37064. case 50:
  37065. case 51:
  37066. case 52:
  37067. case 53:
  37068. case 54:
  37069. case 55:
  37070. case 56:
  37071. case 57:
  37072. return _this._number$0();
  37073. case 97:
  37074. case 98:
  37075. case 99:
  37076. case 100:
  37077. case 101:
  37078. case 102:
  37079. case 103:
  37080. case 104:
  37081. case 105:
  37082. case 106:
  37083. case 107:
  37084. case 108:
  37085. case 109:
  37086. case 110:
  37087. case 111:
  37088. case 112:
  37089. case 113:
  37090. case 114:
  37091. case 115:
  37092. case 116:
  37093. case 118:
  37094. case 119:
  37095. case 120:
  37096. case 121:
  37097. case 122:
  37098. case 65:
  37099. case 66:
  37100. case 67:
  37101. case 68:
  37102. case 69:
  37103. case 70:
  37104. case 71:
  37105. case 72:
  37106. case 73:
  37107. case 74:
  37108. case 75:
  37109. case 76:
  37110. case 77:
  37111. case 78:
  37112. case 79:
  37113. case 80:
  37114. case 81:
  37115. case 82:
  37116. case 83:
  37117. case 84:
  37118. case 86:
  37119. case 87:
  37120. case 88:
  37121. case 89:
  37122. case 90:
  37123. case 95:
  37124. case 92:
  37125. return _this.identifierLike$0();
  37126. default:
  37127. if (first != null && first >= 128)
  37128. return _this.identifierLike$0();
  37129. t1.error$1("Expected expression.");
  37130. }
  37131. },
  37132. _parentheses$0: function() {
  37133. var wasInParentheses, start, first, expressions, t1, t2, t3, _this = this;
  37134. if (_this.get$plainCss())
  37135. _this.scanner.error$2$length("Parentheses aren't allowed in plain CSS.", 1);
  37136. wasInParentheses = _this._inParentheses;
  37137. _this._inParentheses = true;
  37138. try {
  37139. t1 = _this.scanner;
  37140. start = new S._SpanScannerState(t1, t1._string_scanner$_position);
  37141. t1.expectChar$1(40);
  37142. _this.whitespace$0();
  37143. if (!_this._lookingAtExpression$0()) {
  37144. t1.expectChar$1(41);
  37145. t2 = T.Expression;
  37146. t3 = H.setRuntimeTypeInfo([], [t2]);
  37147. t1 = t1.spanFrom$1(start);
  37148. t2 = P.List_List$unmodifiable(t3, t2);
  37149. return new D.ListExpression(t2, C.ListSeparator_undecided, false, t1);
  37150. }
  37151. first = _this._expressionUntilComma$0();
  37152. if (t1.scanChar$1(58)) {
  37153. _this.whitespace$0();
  37154. t1 = _this._stylesheet$_map$2(first, start);
  37155. return t1;
  37156. }
  37157. if (!t1.scanChar$1(44)) {
  37158. t1.expectChar$1(41);
  37159. t1 = t1.spanFrom$1(start);
  37160. return new T.ParenthesizedExpression(first, t1);
  37161. }
  37162. _this.whitespace$0();
  37163. t2 = T.Expression;
  37164. expressions = H.setRuntimeTypeInfo([first], [t2]);
  37165. for (; true;) {
  37166. if (!_this._lookingAtExpression$0())
  37167. break;
  37168. J.add$1$ax(expressions, _this._expressionUntilComma$0());
  37169. if (!t1.scanChar$1(44))
  37170. break;
  37171. _this.whitespace$0();
  37172. }
  37173. t1.expectChar$1(41);
  37174. t1 = t1.spanFrom$1(start);
  37175. t2 = P.List_List$unmodifiable(expressions, t2);
  37176. return new D.ListExpression(t2, C.ListSeparator_comma, false, t1);
  37177. } finally {
  37178. _this._inParentheses = wasInParentheses;
  37179. }
  37180. },
  37181. _stylesheet$_map$2: function(first, start) {
  37182. var t2, pairs, t3, key, _this = this,
  37183. t1 = T.Expression;
  37184. t1 = [t1, t1];
  37185. t2 = [S.Tuple2, T.Expression, T.Expression];
  37186. pairs = H.setRuntimeTypeInfo([new S.Tuple2(first, _this._expressionUntilComma$0(), t1)], [t2]);
  37187. for (t3 = _this.scanner; t3.scanChar$1(44);) {
  37188. _this.whitespace$0();
  37189. if (!_this._lookingAtExpression$0())
  37190. break;
  37191. key = _this._expressionUntilComma$0();
  37192. t3.expectChar$1(58);
  37193. _this.whitespace$0();
  37194. pairs.push(new S.Tuple2(key, _this._expressionUntilComma$0(), t1));
  37195. }
  37196. t3.expectChar$1(41);
  37197. t1 = t3.spanFrom$1(start);
  37198. return new A.MapExpression(P.List_List$unmodifiable(pairs, t2), t1);
  37199. },
  37200. _hashExpression$0: function() {
  37201. var start, first, t2, identifier, buffer, _this = this,
  37202. t1 = _this.scanner;
  37203. if (t1.peekChar$1(1) === 123)
  37204. return _this.identifierLike$0();
  37205. start = new S._SpanScannerState(t1, t1._string_scanner$_position);
  37206. t1.expectChar$1(35);
  37207. first = t1.peekChar$0();
  37208. if (first != null && T.isDigit(first))
  37209. return new K.ColorExpression(_this._hexColorContents$1(start));
  37210. t2 = t1._string_scanner$_position;
  37211. identifier = _this.interpolatedIdentifier$0();
  37212. if (_this._isHexColor$1(identifier)) {
  37213. t1.set$state(new S._SpanScannerState(t1, t2));
  37214. return new K.ColorExpression(_this._hexColorContents$1(start));
  37215. }
  37216. t2 = new P.StringBuffer("");
  37217. buffer = new Z.InterpolationBuffer(t2, []);
  37218. t2._contents += H.Primitives_stringFromCharCode(35);
  37219. buffer.addInterpolation$1(identifier);
  37220. return new D.StringExpression(buffer.interpolation$1(t1.spanFrom$1(start)), false);
  37221. },
  37222. _hexColorContents$1: function(start) {
  37223. var red, green, blue, alpha, digit4, t2, t3, _this = this,
  37224. digit1 = _this._hexDigit$0(),
  37225. digit2 = _this._hexDigit$0(),
  37226. digit3 = _this._hexDigit$0(),
  37227. t1 = _this.scanner;
  37228. if (!T.isHex(t1.peekChar$0())) {
  37229. red = (digit1 << 4 >>> 0) + digit1;
  37230. green = (digit2 << 4 >>> 0) + digit2;
  37231. blue = (digit3 << 4 >>> 0) + digit3;
  37232. alpha = 1;
  37233. } else {
  37234. digit4 = _this._hexDigit$0();
  37235. t2 = digit1 << 4 >>> 0;
  37236. t3 = digit3 << 4 >>> 0;
  37237. if (!T.isHex(t1.peekChar$0())) {
  37238. red = t2 + digit1;
  37239. green = (digit2 << 4 >>> 0) + digit2;
  37240. blue = t3 + digit3;
  37241. alpha = ((digit4 << 4 >>> 0) + digit4) / 255;
  37242. } else {
  37243. red = t2 + digit2;
  37244. green = t3 + digit4;
  37245. blue = (_this._hexDigit$0() << 4 >>> 0) + _this._hexDigit$0();
  37246. alpha = T.isHex(t1.peekChar$0()) ? ((_this._hexDigit$0() << 4 >>> 0) + _this._hexDigit$0()) / 255 : 1;
  37247. }
  37248. }
  37249. return K.SassColor$rgb(red, green, blue, alpha, t1.spanFrom$1(start));
  37250. },
  37251. _isHexColor$1: function(interpolation) {
  37252. var t1,
  37253. plain = interpolation.get$asPlain();
  37254. if (plain == null)
  37255. return false;
  37256. t1 = plain.length;
  37257. if (t1 !== 3 && t1 !== 4 && t1 !== 6 && t1 !== 8)
  37258. return false;
  37259. t1 = new H.CodeUnits(plain);
  37260. return t1.every$1(t1, T.character__isHex$closure());
  37261. },
  37262. _hexDigit$0: function() {
  37263. var t1 = this.scanner,
  37264. char = t1.peekChar$0();
  37265. if (char == null || !T.isHex(char))
  37266. t1.error$1("Expected hex digit.");
  37267. return T.asHex(t1.readChar$0());
  37268. },
  37269. _minusExpression$0: function() {
  37270. var _this = this,
  37271. next = _this.scanner.peekChar$1(1);
  37272. if (T.isDigit(next) || next === 46)
  37273. return _this._number$0();
  37274. if (_this._lookingAtInterpolatedIdentifier$0())
  37275. return _this.identifierLike$0();
  37276. return _this._unaryOperation$0();
  37277. },
  37278. _importantExpression$0: function() {
  37279. var t1 = this.scanner,
  37280. t2 = t1._string_scanner$_position;
  37281. t1.readChar$0();
  37282. this.whitespace$0();
  37283. this.expectIdentifier$1("important");
  37284. t2 = t1.spanFrom$1(new S._SpanScannerState(t1, t2));
  37285. return new D.StringExpression(X.Interpolation$(H.setRuntimeTypeInfo(["!important"], [P.Object]), t2), false);
  37286. },
  37287. _unaryOperation$0: function() {
  37288. var _this = this,
  37289. t1 = _this.scanner,
  37290. t2 = t1._string_scanner$_position,
  37291. operator = _this._unaryOperatorFor$1(t1.readChar$0());
  37292. if (operator == null)
  37293. t1.error$2$position("Expected unary operator.", t1._string_scanner$_position - 1);
  37294. else if (_this.get$plainCss() && operator !== C.UnaryOperator_zDx)
  37295. t1.error$3$length$position("Operators aren't allowed in plain CSS.", 1, t1._string_scanner$_position - 1);
  37296. _this.whitespace$0();
  37297. return new X.UnaryOperationExpression(operator, _this._singleExpression$0(), t1.spanFrom$1(new S._SpanScannerState(t1, t2)));
  37298. },
  37299. _unaryOperatorFor$1: function(character) {
  37300. switch (character) {
  37301. case 43:
  37302. return C.UnaryOperator_j2w;
  37303. case 45:
  37304. return C.UnaryOperator_U4G;
  37305. case 47:
  37306. return C.UnaryOperator_zDx;
  37307. default:
  37308. return;
  37309. }
  37310. },
  37311. _number$0: function() {
  37312. var number, t4, unit, t5, _this = this,
  37313. t1 = _this.scanner,
  37314. t2 = t1._string_scanner$_position,
  37315. first = t1.peekChar$0(),
  37316. t3 = first === 45,
  37317. sign = t3 ? -1 : 1;
  37318. if (first === 43 || t3)
  37319. t1.readChar$0();
  37320. number = t1.peekChar$0() === 46 ? 0 : _this.naturalNumber$0();
  37321. t3 = _this._tryDecimal$1$allowTrailingDot(t1._string_scanner$_position !== t2);
  37322. t4 = _this._tryExponent$0();
  37323. if (t1.scanChar$1(37))
  37324. unit = "%";
  37325. else {
  37326. if (_this.lookingAtIdentifier$0())
  37327. t5 = t1.peekChar$0() !== 45 || t1.peekChar$1(1) !== 45;
  37328. else
  37329. t5 = false;
  37330. unit = t5 ? _this.identifier$1$unit(true) : null;
  37331. }
  37332. return new T.NumberExpression(sign * ((number + t3) * t4), unit, t1.spanFrom$1(new S._SpanScannerState(t1, t2)));
  37333. },
  37334. _tryDecimal$1$allowTrailingDot: function(allowTrailingDot) {
  37335. var t2,
  37336. t1 = this.scanner,
  37337. start = t1._string_scanner$_position;
  37338. if (t1.peekChar$0() !== 46)
  37339. return 0;
  37340. if (!T.isDigit(t1.peekChar$1(1))) {
  37341. if (allowTrailingDot)
  37342. return 0;
  37343. t1.error$2$position("Expected digit.", t1._string_scanner$_position + 1);
  37344. }
  37345. t1.readChar$0();
  37346. while (true) {
  37347. t2 = t1.peekChar$0();
  37348. if (!(t2 != null && t2 >= 48 && t2 <= 57))
  37349. break;
  37350. t1.readChar$0();
  37351. }
  37352. return P.double_parse(t1.substring$1(0, start));
  37353. },
  37354. _tryExponent$0: function() {
  37355. var next, t2, exponentSign, exponent,
  37356. t1 = this.scanner,
  37357. first = t1.peekChar$0();
  37358. if (first !== 101 && first !== 69)
  37359. return 1;
  37360. next = t1.peekChar$1(1);
  37361. if (!T.isDigit(next) && next !== 45 && next !== 43)
  37362. return 1;
  37363. t1.readChar$0();
  37364. t2 = next === 45;
  37365. exponentSign = t2 ? -1 : 1;
  37366. if (next === 43 || t2)
  37367. t1.readChar$0();
  37368. if (!T.isDigit(t1.peekChar$0()))
  37369. t1.error$1("Expected digit.");
  37370. exponent = 0;
  37371. while (true) {
  37372. t2 = t1.peekChar$0();
  37373. if (!(t2 != null && t2 >= 48 && t2 <= 57))
  37374. break;
  37375. exponent = exponent * 10 + (t1.readChar$0() - 48);
  37376. }
  37377. return Math.pow(10, exponentSign * exponent);
  37378. },
  37379. _unicodeRange$0: function() {
  37380. var i, t2, j, _this = this,
  37381. t1 = _this.scanner,
  37382. start = new S._SpanScannerState(t1, t1._string_scanner$_position);
  37383. _this.expectCharIgnoreCase$1(117);
  37384. t1.expectChar$1(43);
  37385. for (i = 0; i < 6; ++i)
  37386. if (!_this.scanCharIf$1(new V.StylesheetParser__unicodeRange_closure()))
  37387. break;
  37388. if (t1.scanChar$1(63)) {
  37389. ++i;
  37390. for (; i < 6; ++i)
  37391. if (!t1.scanChar$1(63))
  37392. break;
  37393. t2 = t1.substring$1(0, start.position);
  37394. t1 = t1.spanFrom$1(start);
  37395. return new D.StringExpression(X.Interpolation$(H.setRuntimeTypeInfo([t2], [P.Object]), t1), false);
  37396. }
  37397. if (i === 0)
  37398. t1.error$1('Expected hex digit or "?".');
  37399. if (t1.scanChar$1(45)) {
  37400. for (j = 0; j < 6; ++j)
  37401. if (!_this.scanCharIf$1(new V.StylesheetParser__unicodeRange_closure0()))
  37402. break;
  37403. if (j === 0)
  37404. t1.error$1("Expected hex digit.");
  37405. }
  37406. if (_this._lookingAtInterpolatedIdentifierBody$0())
  37407. t1.error$1("Expected end of identifier.");
  37408. t2 = t1.substring$1(0, start.position);
  37409. t1 = t1.spanFrom$1(start);
  37410. return new D.StringExpression(X.Interpolation$(H.setRuntimeTypeInfo([t2], [P.Object]), t1), false);
  37411. },
  37412. _variable$0: function() {
  37413. var $name, name0, namespace, _this = this,
  37414. t1 = _this.scanner,
  37415. start = new S._SpanScannerState(t1, t1._string_scanner$_position);
  37416. t1.expectChar$1(36);
  37417. $name = _this.identifier$0();
  37418. if (t1.peekChar$0() === 46 && t1.peekChar$1(1) !== 46) {
  37419. t1.readChar$0();
  37420. name0 = _this._publicIdentifier$0();
  37421. namespace = $name;
  37422. $name = name0;
  37423. } else {
  37424. $name = H.stringReplaceAllUnchecked($name, "_", "-");
  37425. namespace = null;
  37426. }
  37427. if (_this.get$plainCss())
  37428. _this.error$2("Sass variables aren't allowed in plain CSS.", t1.spanFrom$1(start));
  37429. return new S.VariableExpression(namespace, $name, t1.spanFrom$1(start));
  37430. },
  37431. _selector$0: function() {
  37432. var t1, start, _this = this;
  37433. if (_this.get$plainCss())
  37434. _this.scanner.error$2$length("The parent selector isn't allowed in plain CSS.", 1);
  37435. t1 = _this.scanner;
  37436. start = new S._SpanScannerState(t1, t1._string_scanner$_position);
  37437. t1.expectChar$1(38);
  37438. if (t1.scanChar$1(38)) {
  37439. _this.logger.warn$2$span('In Sass, "&&" means two copies of the parent selector. You probably want to use "and" instead.', t1.spanFrom$1(start));
  37440. t1.set$position(t1._string_scanner$_position - 1);
  37441. }
  37442. return new T.SelectorExpression(t1.spanFrom$1(start));
  37443. },
  37444. interpolatedString$0: function() {
  37445. var t3, t4, buffer, next, second, t5,
  37446. t1 = this.scanner,
  37447. t2 = t1._string_scanner$_position,
  37448. quote = t1.readChar$0();
  37449. if (quote !== 39 && quote !== 34)
  37450. t1.error$2$position("Expected string.", t2);
  37451. t3 = new P.StringBuffer("");
  37452. t4 = [];
  37453. buffer = new Z.InterpolationBuffer(t3, t4);
  37454. for (; true;) {
  37455. next = t1.peekChar$0();
  37456. if (next === quote) {
  37457. t1.readChar$0();
  37458. break;
  37459. } else if (next == null || next === 10 || next === 13 || next === 12)
  37460. t1.error$1("Expected " + H.Primitives_stringFromCharCode(quote) + ".");
  37461. else if (next === 92) {
  37462. second = t1.peekChar$1(1);
  37463. if (second === 10 || second === 13 || second === 12) {
  37464. t1.readChar$0();
  37465. t1.readChar$0();
  37466. if (second === 13)
  37467. t1.scanChar$1(10);
  37468. } else
  37469. t3._contents += H.Primitives_stringFromCharCode(this.escapeCharacter$0());
  37470. } else if (next === 35)
  37471. if (t1.peekChar$1(1) === 123) {
  37472. t5 = this.singleInterpolation$0();
  37473. buffer._flushText$0();
  37474. t4.push(t5);
  37475. } else
  37476. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  37477. else
  37478. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  37479. }
  37480. return new D.StringExpression(buffer.interpolation$1(t1.spanFrom$1(new S._SpanScannerState(t1, t2))), true);
  37481. },
  37482. identifierLike$0: function() {
  37483. var invocation, lower, color, specialFunction, namespace, t2, $name, _this = this,
  37484. t1 = _this.scanner,
  37485. start = new S._SpanScannerState(t1, t1._string_scanner$_position),
  37486. identifier = _this.interpolatedIdentifier$0(),
  37487. plain = identifier.get$asPlain();
  37488. if (plain != null) {
  37489. if (plain === "if") {
  37490. invocation = _this._argumentInvocation$0();
  37491. return new L.IfExpression(invocation, B.spanForList(H.setRuntimeTypeInfo([identifier, invocation], [B.AstNode])));
  37492. } else if (plain === "not") {
  37493. _this.whitespace$0();
  37494. return new X.UnaryOperationExpression(C.UnaryOperator_not_not, _this._singleExpression$0(), identifier.span);
  37495. }
  37496. lower = plain.toLowerCase();
  37497. if (t1.peekChar$0() !== 40) {
  37498. switch (plain) {
  37499. case "false":
  37500. return new Z.BooleanExpression(false, identifier.span);
  37501. case "null":
  37502. return new O.NullExpression(identifier.span);
  37503. case "true":
  37504. return new Z.BooleanExpression(true, identifier.span);
  37505. }
  37506. color = $.$get$colorsByName().$index(0, lower);
  37507. if (color != null)
  37508. return new K.ColorExpression(K.SassColor$rgb(color.get$red(), color.get$green(), color.get$blue(), color.alpha, identifier.span));
  37509. }
  37510. specialFunction = _this.trySpecialFunction$2(lower, start);
  37511. if (specialFunction != null)
  37512. return specialFunction;
  37513. }
  37514. switch (t1.peekChar$0()) {
  37515. case 46:
  37516. if (t1.peekChar$1(1) === 46)
  37517. return new D.StringExpression(identifier, false);
  37518. namespace = identifier.get$asPlain();
  37519. t1.readChar$0();
  37520. t2 = t1._string_scanner$_position;
  37521. $name = X.Interpolation$(H.setRuntimeTypeInfo([_this._publicIdentifier$0()], [P.Object]), t1.spanFrom$1(new S._SpanScannerState(t1, t2)));
  37522. if (namespace == null)
  37523. _this.error$2("Interpolation isn't allowed in namespaces.", identifier.span);
  37524. return new F.FunctionExpression(namespace, $name, _this._argumentInvocation$0(), t1.spanFrom$1(start));
  37525. case 40:
  37526. return new F.FunctionExpression(null, identifier, _this._argumentInvocation$0(), t1.spanFrom$1(start));
  37527. default:
  37528. return new D.StringExpression(identifier, false);
  37529. }
  37530. },
  37531. trySpecialFunction$2: function($name, start) {
  37532. var t1, buffer, t2, t3, next, contents, _this = this;
  37533. switch (B.unvendor($name)) {
  37534. case "calc":
  37535. case "element":
  37536. case "expression":
  37537. if (!_this.scanner.scanChar$1(40))
  37538. return;
  37539. t1 = new P.StringBuffer("");
  37540. buffer = new Z.InterpolationBuffer(t1, []);
  37541. t1._contents = $name;
  37542. t1._contents += H.Primitives_stringFromCharCode(40);
  37543. break;
  37544. case "min":
  37545. case "max":
  37546. t1 = _this.scanner;
  37547. t2 = t1._string_scanner$_position;
  37548. if (!t1.scanChar$1(40))
  37549. return;
  37550. _this.whitespace$0();
  37551. t3 = new P.StringBuffer("");
  37552. buffer = new Z.InterpolationBuffer(t3, []);
  37553. t3._contents = $name;
  37554. t3._contents += H.Primitives_stringFromCharCode(40);
  37555. if (!_this._tryMinMaxContents$1(buffer)) {
  37556. t1.set$state(new S._SpanScannerState(t1, t2));
  37557. return;
  37558. }
  37559. return new D.StringExpression(buffer.interpolation$1(t1.spanFrom$1(start)), false);
  37560. case "progid":
  37561. t1 = _this.scanner;
  37562. if (!t1.scanChar$1(58))
  37563. return;
  37564. t2 = new P.StringBuffer("");
  37565. buffer = new Z.InterpolationBuffer(t2, []);
  37566. t2._contents = $name;
  37567. t2._contents += H.Primitives_stringFromCharCode(58);
  37568. next = t1.peekChar$0();
  37569. while (true) {
  37570. if (next != null) {
  37571. if (!(next >= 97 && next <= 122))
  37572. t3 = next >= 65 && next <= 90;
  37573. else
  37574. t3 = true;
  37575. t3 = t3 || next === 46;
  37576. } else
  37577. t3 = false;
  37578. if (!t3)
  37579. break;
  37580. t2._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  37581. next = t1.peekChar$0();
  37582. }
  37583. t1.expectChar$1(40);
  37584. t2._contents += H.Primitives_stringFromCharCode(40);
  37585. break;
  37586. case "url":
  37587. contents = _this._tryUrlContents$1(start);
  37588. return contents == null ? null : new D.StringExpression(contents, false);
  37589. default:
  37590. return;
  37591. }
  37592. buffer.addInterpolation$1(_this._interpolatedDeclarationValue$1$allowEmpty(true).text);
  37593. t1 = _this.scanner;
  37594. t1.expectChar$1(41);
  37595. buffer._interpolation_buffer$_text._contents += H.Primitives_stringFromCharCode(41);
  37596. return new D.StringExpression(buffer.interpolation$1(t1.spanFrom$1(start)), false);
  37597. },
  37598. _tryMinMaxContents$2$allowComma: function(buffer, allowComma) {
  37599. var t1, t2, t3, t4, start, end, exception, t5, _this = this;
  37600. for (t1 = _this.scanner, t2 = buffer._interpolation_buffer$_text, t3 = !allowComma, t4 = _this.get$_number(); true;) {
  37601. switch (t1.peekChar$0()) {
  37602. case 45:
  37603. case 43:
  37604. case 48:
  37605. case 49:
  37606. case 50:
  37607. case 51:
  37608. case 52:
  37609. case 53:
  37610. case 54:
  37611. case 55:
  37612. case 56:
  37613. case 57:
  37614. try {
  37615. start = t1._string_scanner$_position;
  37616. t4.call$0();
  37617. end = t1._string_scanner$_position;
  37618. t2._contents += J.substring$2$s(t1.string, start, end);
  37619. } catch (exception) {
  37620. if (!!J.getInterceptor$(H.unwrapException(exception)).$isFormatException)
  37621. return false;
  37622. else
  37623. throw exception;
  37624. }
  37625. break;
  37626. case 35:
  37627. if (t1.peekChar$1(1) !== 123)
  37628. return false;
  37629. t5 = _this.singleInterpolation$0();
  37630. buffer._flushText$0();
  37631. buffer._interpolation_buffer$_contents.push(t5);
  37632. break;
  37633. case 99:
  37634. case 67:
  37635. if (!_this._tryMinMaxFunction$2(buffer, "calc"))
  37636. return false;
  37637. break;
  37638. case 101:
  37639. case 69:
  37640. if (!_this._tryMinMaxFunction$2(buffer, "env"))
  37641. return false;
  37642. break;
  37643. case 118:
  37644. case 86:
  37645. if (!_this._tryMinMaxFunction$2(buffer, "var"))
  37646. return false;
  37647. break;
  37648. case 40:
  37649. t2._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  37650. if (!_this._tryMinMaxContents$2$allowComma(buffer, false))
  37651. return false;
  37652. break;
  37653. case 109:
  37654. case 77:
  37655. t1.readChar$0();
  37656. if (_this.scanCharIgnoreCase$1(105)) {
  37657. if (!_this.scanCharIgnoreCase$1(110))
  37658. return false;
  37659. t2._contents += "min(";
  37660. } else if (_this.scanCharIgnoreCase$1(97)) {
  37661. if (!_this.scanCharIgnoreCase$1(120))
  37662. return false;
  37663. t2._contents += "max(";
  37664. } else
  37665. return false;
  37666. if (!t1.scanChar$1(40))
  37667. return false;
  37668. if (!_this._tryMinMaxContents$1(buffer))
  37669. return false;
  37670. break;
  37671. default:
  37672. return false;
  37673. }
  37674. _this.whitespace$0();
  37675. switch (t1.peekChar$0()) {
  37676. case 41:
  37677. t2._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  37678. return true;
  37679. case 43:
  37680. case 45:
  37681. case 42:
  37682. case 47:
  37683. t2._contents += H.Primitives_stringFromCharCode(32);
  37684. t2._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  37685. t2._contents += H.Primitives_stringFromCharCode(32);
  37686. break;
  37687. case 44:
  37688. if (t3)
  37689. return false;
  37690. t2._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  37691. t2._contents += H.Primitives_stringFromCharCode(32);
  37692. break;
  37693. default:
  37694. return false;
  37695. }
  37696. _this.whitespace$0();
  37697. }
  37698. },
  37699. _tryMinMaxContents$1: function(buffer) {
  37700. return this._tryMinMaxContents$2$allowComma(buffer, true);
  37701. },
  37702. _tryMinMaxFunction$2: function(buffer, $name) {
  37703. var t1, t2;
  37704. if (!this.scanIdentifier$1($name))
  37705. return false;
  37706. t1 = this.scanner;
  37707. if (!t1.scanChar$1(40))
  37708. return false;
  37709. t2 = buffer._interpolation_buffer$_text;
  37710. t2._contents += $name;
  37711. t2._contents += H.Primitives_stringFromCharCode(40);
  37712. buffer.addInterpolation$1(this._interpolatedDeclarationValue$1$allowEmpty(true).asInterpolation$0());
  37713. t2._contents += H.Primitives_stringFromCharCode(41);
  37714. if (!t1.scanChar$1(41))
  37715. return false;
  37716. return true;
  37717. },
  37718. _tryUrlContents$2$name: function(start, $name) {
  37719. var t3, t4, buffer, next, t5, endPosition, _this = this,
  37720. t1 = _this.scanner,
  37721. t2 = t1._string_scanner$_position;
  37722. if (!t1.scanChar$1(40))
  37723. return;
  37724. _this.whitespaceWithoutComments$0();
  37725. t3 = new P.StringBuffer("");
  37726. t4 = [];
  37727. buffer = new Z.InterpolationBuffer(t3, t4);
  37728. t3._contents = $name == null ? "url" : $name;
  37729. t3._contents += H.Primitives_stringFromCharCode(40);
  37730. for (; true;) {
  37731. next = t1.peekChar$0();
  37732. if (next == null)
  37733. break;
  37734. else {
  37735. if (next !== 33)
  37736. if (next !== 37)
  37737. if (next !== 38)
  37738. t5 = next >= 42 && next <= 126 || next >= 128;
  37739. else
  37740. t5 = true;
  37741. else
  37742. t5 = true;
  37743. else
  37744. t5 = true;
  37745. if (t5)
  37746. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  37747. else if (next === 92)
  37748. t3._contents += H.S(_this.escape$0());
  37749. else if (next === 35)
  37750. if (t1.peekChar$1(1) === 123) {
  37751. t5 = _this.singleInterpolation$0();
  37752. buffer._flushText$0();
  37753. t4.push(t5);
  37754. } else
  37755. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  37756. else if (next === 32 || next === 9 || next === 10 || next === 13 || next === 12) {
  37757. _this.whitespaceWithoutComments$0();
  37758. if (t1.peekChar$0() !== 41)
  37759. break;
  37760. } else if (next === 41) {
  37761. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  37762. endPosition = t1._string_scanner$_position;
  37763. return buffer.interpolation$1(Y._FileSpan$(t1._sourceFile, start.position, endPosition));
  37764. } else
  37765. break;
  37766. }
  37767. }
  37768. t1.set$state(new S._SpanScannerState(t1, t2));
  37769. return;
  37770. },
  37771. _tryUrlContents$1: function(start) {
  37772. return this._tryUrlContents$2$name(start, null);
  37773. },
  37774. dynamicUrl$0: function() {
  37775. var contents, _this = this,
  37776. t1 = _this.scanner,
  37777. start = new S._SpanScannerState(t1, t1._string_scanner$_position);
  37778. _this.expectIdentifier$1("url");
  37779. contents = _this._tryUrlContents$1(start);
  37780. if (contents != null)
  37781. return new D.StringExpression(contents, false);
  37782. return new F.FunctionExpression(null, X.Interpolation$(H.setRuntimeTypeInfo(["url"], [P.Object]), t1.spanFrom$1(start)), _this._argumentInvocation$0(), t1.spanFrom$1(start));
  37783. },
  37784. almostAnyValue$0: function() {
  37785. var t4, next, commentStart, end, t5, contents, _this = this,
  37786. t1 = _this.scanner,
  37787. t2 = t1._string_scanner$_position,
  37788. t3 = new P.StringBuffer(""),
  37789. buffer = new Z.InterpolationBuffer(t3, []);
  37790. $label0$1:
  37791. for (t4 = t1.string; true;) {
  37792. next = t1.peekChar$0();
  37793. switch (next) {
  37794. case 92:
  37795. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  37796. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  37797. break;
  37798. case 34:
  37799. case 39:
  37800. buffer.addInterpolation$1(_this.interpolatedString$0().asInterpolation$0());
  37801. break;
  37802. case 47:
  37803. commentStart = t1._string_scanner$_position;
  37804. if (_this.scanComment$0()) {
  37805. end = t1._string_scanner$_position;
  37806. t3._contents += J.substring$2$s(t4, commentStart, end);
  37807. } else
  37808. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  37809. break;
  37810. case 35:
  37811. if (t1.peekChar$1(1) === 123)
  37812. buffer.addInterpolation$1(_this.interpolatedIdentifier$0());
  37813. else
  37814. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  37815. break;
  37816. case 13:
  37817. case 10:
  37818. case 12:
  37819. if (_this.get$indented())
  37820. break $label0$1;
  37821. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  37822. break;
  37823. case 33:
  37824. case 59:
  37825. case 123:
  37826. case 125:
  37827. break $label0$1;
  37828. case 117:
  37829. case 85:
  37830. t5 = t1._string_scanner$_position;
  37831. if (!_this.scanIdentifier$1("url")) {
  37832. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  37833. break;
  37834. }
  37835. contents = _this._tryUrlContents$1(new S._SpanScannerState(t1, t5));
  37836. if (contents == null) {
  37837. if (t5 < 0 || t5 > t4.length)
  37838. H.throwExpression(P.ArgumentError$("Invalid position " + t5));
  37839. t1._string_scanner$_position = t5;
  37840. t1._lastMatch = null;
  37841. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  37842. } else
  37843. buffer.addInterpolation$1(contents);
  37844. break;
  37845. default:
  37846. if (next == null)
  37847. break $label0$1;
  37848. if (_this.lookingAtIdentifier$0())
  37849. t3._contents += _this.identifier$0();
  37850. else
  37851. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  37852. break;
  37853. }
  37854. }
  37855. return buffer.interpolation$1(t1.spanFrom$1(new S._SpanScannerState(t1, t2)));
  37856. },
  37857. _interpolatedDeclarationValue$1$allowEmpty: function(allowEmpty) {
  37858. var t4, t5, wroteNewline, next, start, end, t6, contents, _this = this,
  37859. t1 = _this.scanner,
  37860. t2 = t1._string_scanner$_position,
  37861. t3 = new P.StringBuffer(""),
  37862. buffer = new Z.InterpolationBuffer(t3, []),
  37863. brackets = H.setRuntimeTypeInfo([], [P.int]);
  37864. $label0$1:
  37865. for (t4 = t1.string, t5 = _this.get$loudComment(), wroteNewline = false; true;) {
  37866. next = t1.peekChar$0();
  37867. switch (next) {
  37868. case 92:
  37869. t3._contents += H.S(_this.escape$1$identifierStart(true));
  37870. wroteNewline = false;
  37871. break;
  37872. case 34:
  37873. case 39:
  37874. buffer.addInterpolation$1(_this.interpolatedString$0().asInterpolation$0());
  37875. wroteNewline = false;
  37876. break;
  37877. case 47:
  37878. if (t1.peekChar$1(1) === 42) {
  37879. start = t1._string_scanner$_position;
  37880. t5.call$0();
  37881. end = t1._string_scanner$_position;
  37882. t3._contents += J.substring$2$s(t4, start, end);
  37883. } else
  37884. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  37885. wroteNewline = false;
  37886. break;
  37887. case 35:
  37888. if (t1.peekChar$1(1) === 123)
  37889. buffer.addInterpolation$1(_this.interpolatedIdentifier$0());
  37890. else
  37891. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  37892. wroteNewline = false;
  37893. break;
  37894. case 32:
  37895. case 9:
  37896. if (!wroteNewline) {
  37897. t6 = t1.peekChar$1(1);
  37898. t6 = !(t6 === 32 || t6 === 9 || t6 === 10 || t6 === 13 || t6 === 12);
  37899. } else
  37900. t6 = true;
  37901. if (t6)
  37902. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  37903. else
  37904. t1.readChar$0();
  37905. break;
  37906. case 10:
  37907. case 13:
  37908. case 12:
  37909. if (_this.get$indented())
  37910. break $label0$1;
  37911. t6 = t1.peekChar$1(-1);
  37912. if (!(t6 === 10 || t6 === 13 || t6 === 12))
  37913. t3._contents += "\n";
  37914. t1.readChar$0();
  37915. wroteNewline = true;
  37916. break;
  37917. case 40:
  37918. case 123:
  37919. case 91:
  37920. t3._contents += H.Primitives_stringFromCharCode(next);
  37921. brackets.push(T.opposite(t1.readChar$0()));
  37922. wroteNewline = false;
  37923. break;
  37924. case 41:
  37925. case 125:
  37926. case 93:
  37927. if (brackets.length === 0)
  37928. break $label0$1;
  37929. t3._contents += H.Primitives_stringFromCharCode(next);
  37930. t1.expectChar$1(brackets.pop());
  37931. wroteNewline = false;
  37932. break;
  37933. case 59:
  37934. if (brackets.length === 0)
  37935. break $label0$1;
  37936. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  37937. break;
  37938. case 117:
  37939. case 85:
  37940. t6 = t1._string_scanner$_position;
  37941. if (!_this.scanIdentifier$1("url")) {
  37942. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  37943. wroteNewline = false;
  37944. break;
  37945. }
  37946. contents = _this._tryUrlContents$1(new S._SpanScannerState(t1, t6));
  37947. if (contents == null) {
  37948. if (t6 < 0 || t6 > t4.length)
  37949. H.throwExpression(P.ArgumentError$("Invalid position " + t6));
  37950. t1._string_scanner$_position = t6;
  37951. t1._lastMatch = null;
  37952. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  37953. } else
  37954. buffer.addInterpolation$1(contents);
  37955. wroteNewline = false;
  37956. break;
  37957. default:
  37958. if (next == null)
  37959. break $label0$1;
  37960. if (_this.lookingAtIdentifier$0())
  37961. t3._contents += _this.identifier$0();
  37962. else
  37963. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  37964. wroteNewline = false;
  37965. break;
  37966. }
  37967. }
  37968. if (brackets.length !== 0)
  37969. t1.expectChar$1(C.JSArray_methods.get$last(brackets));
  37970. if (!allowEmpty && buffer._interpolation_buffer$_contents.length === 0 && t3._contents.length === 0)
  37971. t1.error$1("Expected token.");
  37972. return new D.StringExpression(buffer.interpolation$1(t1.spanFrom$1(new S._SpanScannerState(t1, t2))), false);
  37973. },
  37974. _interpolatedDeclarationValue$0: function() {
  37975. return this._interpolatedDeclarationValue$1$allowEmpty(false);
  37976. },
  37977. interpolatedIdentifier$0: function() {
  37978. var first, t4, next, t5, _this = this,
  37979. _s20_ = "Expected identifier.",
  37980. t1 = _this.scanner,
  37981. t2 = t1._string_scanner$_position,
  37982. t3 = new P.StringBuffer(""),
  37983. buffer = new Z.InterpolationBuffer(t3, []);
  37984. for (; t1.scanChar$1(45);)
  37985. t3._contents += H.Primitives_stringFromCharCode(45);
  37986. first = t1.peekChar$0();
  37987. if (first == null)
  37988. t1.error$1(_s20_);
  37989. else if (first === 95 || T.isAlphabetic0(first) || first >= 128)
  37990. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  37991. else if (first === 92)
  37992. t3._contents += H.S(_this.escape$1$identifierStart(true));
  37993. else if (first === 35 && t1.peekChar$1(1) === 123) {
  37994. t4 = _this.singleInterpolation$0();
  37995. buffer._flushText$0();
  37996. buffer._interpolation_buffer$_contents.push(t4);
  37997. } else
  37998. t1.error$1(_s20_);
  37999. for (t4 = buffer._interpolation_buffer$_contents; true;) {
  38000. next = t1.peekChar$0();
  38001. if (next == null)
  38002. break;
  38003. else {
  38004. if (next !== 95)
  38005. if (next !== 45) {
  38006. if (!(next >= 97 && next <= 122))
  38007. t5 = next >= 65 && next <= 90;
  38008. else
  38009. t5 = true;
  38010. if (!t5)
  38011. t5 = next >= 48 && next <= 57;
  38012. else
  38013. t5 = true;
  38014. t5 = t5 || next >= 128;
  38015. } else
  38016. t5 = true;
  38017. else
  38018. t5 = true;
  38019. if (t5)
  38020. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  38021. else if (next === 92)
  38022. t3._contents += H.S(_this.escape$0());
  38023. else if (next === 35 && t1.peekChar$1(1) === 123) {
  38024. t5 = _this.singleInterpolation$0();
  38025. buffer._flushText$0();
  38026. t4.push(t5);
  38027. } else
  38028. break;
  38029. }
  38030. }
  38031. return buffer.interpolation$1(t1.spanFrom$1(new S._SpanScannerState(t1, t2)));
  38032. },
  38033. singleInterpolation$0: function() {
  38034. var contents, _this = this,
  38035. t1 = _this.scanner,
  38036. t2 = t1._string_scanner$_position;
  38037. t1.expect$1("#{");
  38038. _this.whitespace$0();
  38039. contents = _this.expression$0();
  38040. t1.expectChar$1(125);
  38041. if (_this.get$plainCss())
  38042. _this.error$2("Interpolation isn't allowed in plain CSS.", t1.spanFrom$1(new S._SpanScannerState(t1, t2)));
  38043. return contents;
  38044. },
  38045. _mediaQueryList$0: function() {
  38046. var t1 = this.scanner,
  38047. t2 = t1._string_scanner$_position,
  38048. t3 = new P.StringBuffer(""),
  38049. buffer = new Z.InterpolationBuffer(t3, []);
  38050. for (; true;) {
  38051. this.whitespace$0();
  38052. this._stylesheet$_mediaQuery$1(buffer);
  38053. if (!t1.scanChar$1(44))
  38054. break;
  38055. t3._contents += H.Primitives_stringFromCharCode(44);
  38056. t3._contents += H.Primitives_stringFromCharCode(32);
  38057. }
  38058. return buffer.interpolation$1(t1.spanFrom$1(new S._SpanScannerState(t1, t2)));
  38059. },
  38060. _stylesheet$_mediaQuery$1: function(buffer) {
  38061. var t1, identifier, _this = this;
  38062. if (_this.scanner.peekChar$0() !== 40) {
  38063. buffer.addInterpolation$1(_this.interpolatedIdentifier$0());
  38064. _this.whitespace$0();
  38065. if (!_this._lookingAtInterpolatedIdentifier$0())
  38066. return;
  38067. t1 = buffer._interpolation_buffer$_text;
  38068. t1._contents += H.Primitives_stringFromCharCode(32);
  38069. identifier = _this.interpolatedIdentifier$0();
  38070. _this.whitespace$0();
  38071. if (B.equalsIgnoreCase(identifier.get$asPlain(), "and"))
  38072. t1._contents += " and ";
  38073. else {
  38074. buffer.addInterpolation$1(identifier);
  38075. if (_this.scanIdentifier$1("and")) {
  38076. _this.whitespace$0();
  38077. t1._contents += " and ";
  38078. } else
  38079. return;
  38080. }
  38081. }
  38082. for (t1 = buffer._interpolation_buffer$_text; true;) {
  38083. _this.whitespace$0();
  38084. buffer.addInterpolation$1(_this._mediaFeature$0());
  38085. _this.whitespace$0();
  38086. if (!_this.scanIdentifier$1("and"))
  38087. break;
  38088. t1._contents += " and ";
  38089. }
  38090. },
  38091. _mediaFeature$0: function() {
  38092. var interpolation, t2, t3, t4, buffer, t5, next, isAngle, _this = this,
  38093. t1 = _this.scanner;
  38094. if (t1.peekChar$0() === 35) {
  38095. interpolation = _this.singleInterpolation$0();
  38096. return X.Interpolation$(H.setRuntimeTypeInfo([interpolation], [P.Object]), interpolation.get$span());
  38097. }
  38098. t2 = t1._string_scanner$_position;
  38099. t3 = new P.StringBuffer("");
  38100. t4 = [];
  38101. buffer = new Z.InterpolationBuffer(t3, t4);
  38102. t1.expectChar$1(40);
  38103. t3._contents += H.Primitives_stringFromCharCode(40);
  38104. _this.whitespace$0();
  38105. t5 = _this._expressionUntilComparison$0();
  38106. buffer._flushText$0();
  38107. t4.push(t5);
  38108. if (t1.scanChar$1(58)) {
  38109. _this.whitespace$0();
  38110. t3._contents += H.Primitives_stringFromCharCode(58);
  38111. t3._contents += H.Primitives_stringFromCharCode(32);
  38112. t5 = _this.expression$0();
  38113. buffer._flushText$0();
  38114. t4.push(t5);
  38115. } else {
  38116. next = t1.peekChar$0();
  38117. isAngle = next === 60 || next === 62;
  38118. if (isAngle || next === 61) {
  38119. t3._contents += H.Primitives_stringFromCharCode(32);
  38120. t3._contents += H.Primitives_stringFromCharCode(t1.readChar$0());
  38121. if (isAngle && t1.scanChar$1(61))
  38122. t3._contents += H.Primitives_stringFromCharCode(61);
  38123. t3._contents += H.Primitives_stringFromCharCode(32);
  38124. _this.whitespace$0();
  38125. t5 = _this._expressionUntilComparison$0();
  38126. buffer._flushText$0();
  38127. t4.push(t5);
  38128. if (isAngle && t1.scanChar$1(next)) {
  38129. t3._contents += H.Primitives_stringFromCharCode(32);
  38130. t3._contents += H.Primitives_stringFromCharCode(next);
  38131. if (t1.scanChar$1(61))
  38132. t3._contents += H.Primitives_stringFromCharCode(61);
  38133. t3._contents += H.Primitives_stringFromCharCode(32);
  38134. _this.whitespace$0();
  38135. t5 = _this._expressionUntilComparison$0();
  38136. buffer._flushText$0();
  38137. t4.push(t5);
  38138. }
  38139. }
  38140. }
  38141. t1.expectChar$1(41);
  38142. _this.whitespace$0();
  38143. t3._contents += H.Primitives_stringFromCharCode(41);
  38144. return buffer.interpolation$1(t1.spanFrom$1(new S._SpanScannerState(t1, t2)));
  38145. },
  38146. _expressionUntilComparison$0: function() {
  38147. return this.expression$1$until(new V.StylesheetParser__expressionUntilComparison_closure(this));
  38148. },
  38149. _supportsCondition$0: function() {
  38150. var condition, operator, right, endPosition, lowerOperator, _this = this,
  38151. t1 = _this.scanner,
  38152. t2 = t1._string_scanner$_position,
  38153. first = t1.peekChar$0();
  38154. if (first !== 40 && first !== 35) {
  38155. t2 = t1._string_scanner$_position;
  38156. _this.expectIdentifier$1("not");
  38157. _this.whitespace$0();
  38158. return new M.SupportsNegation(_this._supportsConditionInParens$0(), t1.spanFrom$1(new S._SpanScannerState(t1, t2)));
  38159. }
  38160. condition = _this._supportsConditionInParens$0();
  38161. _this.whitespace$0();
  38162. for (; _this.lookingAtIdentifier$0();) {
  38163. if (_this.scanIdentifier$1("or"))
  38164. operator = "or";
  38165. else {
  38166. _this.expectIdentifier$1("and");
  38167. operator = "and";
  38168. }
  38169. _this.whitespace$0();
  38170. right = _this._supportsConditionInParens$0();
  38171. endPosition = t1._string_scanner$_position;
  38172. condition = new U.SupportsOperation(condition, right, operator, Y._FileSpan$(t1._sourceFile, t2, endPosition));
  38173. lowerOperator = operator.toLowerCase();
  38174. if (lowerOperator !== "and" && lowerOperator !== "or")
  38175. H.throwExpression(P.ArgumentError$value(operator, "operator", 'may only be "and" or "or".'));
  38176. _this.whitespace$0();
  38177. }
  38178. return condition;
  38179. },
  38180. _supportsConditionInParens$0: function() {
  38181. var next, condition, negation, $name, value, _this = this,
  38182. t1 = _this.scanner,
  38183. start = new S._SpanScannerState(t1, t1._string_scanner$_position);
  38184. if (t1.peekChar$0() === 35)
  38185. return new X.SupportsInterpolation(_this.singleInterpolation$0(), t1.spanFrom$1(start));
  38186. t1.expectChar$1(40);
  38187. _this.whitespace$0();
  38188. next = t1.peekChar$0();
  38189. if (next === 40 || next === 35) {
  38190. condition = _this._supportsCondition$0();
  38191. _this.whitespace$0();
  38192. t1.expectChar$1(41);
  38193. return condition;
  38194. }
  38195. if (next === 110 || next === 78) {
  38196. negation = _this._trySupportsNegation$0();
  38197. if (negation != null) {
  38198. t1.expectChar$1(41);
  38199. return negation;
  38200. }
  38201. }
  38202. $name = _this.expression$0();
  38203. t1.expectChar$1(58);
  38204. _this.whitespace$0();
  38205. value = _this.expression$0();
  38206. t1.expectChar$1(41);
  38207. return new L.SupportsDeclaration($name, value, t1.spanFrom$1(start));
  38208. },
  38209. _trySupportsNegation$0: function() {
  38210. var next, _this = this,
  38211. t1 = _this.scanner,
  38212. start = new S._SpanScannerState(t1, t1._string_scanner$_position);
  38213. if (!_this.scanIdentifier$1("not") || t1._string_scanner$_position === t1.string.length) {
  38214. t1.set$state(start);
  38215. return;
  38216. }
  38217. next = t1.peekChar$0();
  38218. if (!(next === 32 || next === 9 || T.isNewline(next)) && next !== 40) {
  38219. t1.set$state(start);
  38220. return;
  38221. }
  38222. _this.whitespace$0();
  38223. return new M.SupportsNegation(_this._supportsConditionInParens$0(), t1.spanFrom$1(start));
  38224. },
  38225. _lookingAtInterpolatedIdentifier$0: function() {
  38226. var second, third,
  38227. t1 = this.scanner,
  38228. first = t1.peekChar$0();
  38229. if (first == null)
  38230. return false;
  38231. if (first === 95 || T.isAlphabetic0(first) || first >= 128 || first === 92)
  38232. return true;
  38233. if (first === 35)
  38234. return t1.peekChar$1(1) === 123;
  38235. if (first !== 45)
  38236. return false;
  38237. second = t1.peekChar$1(1);
  38238. if (second == null)
  38239. return false;
  38240. if (second === 95 || T.isAlphabetic0(second) || second >= 128 || second === 92)
  38241. return true;
  38242. if (second === 35)
  38243. return t1.peekChar$1(2) === 123;
  38244. if (second !== 45)
  38245. return false;
  38246. third = t1.peekChar$1(2);
  38247. if (third == null)
  38248. return false;
  38249. if (third === 35)
  38250. return t1.peekChar$1(3) === 123;
  38251. return third === 95 || T.isAlphabetic0(third) || third >= 128;
  38252. },
  38253. _lookingAtInterpolatedIdentifierBody$0: function() {
  38254. var t1 = this.scanner,
  38255. first = t1.peekChar$0();
  38256. if (first == null)
  38257. return false;
  38258. if (first === 95 || T.isAlphabetic0(first) || first >= 128 || T.isDigit(first) || first === 45 || first === 92)
  38259. return true;
  38260. return first === 35 && t1.peekChar$1(1) === 123;
  38261. },
  38262. _lookingAtExpression$0: function() {
  38263. var next,
  38264. t1 = this.scanner,
  38265. character = t1.peekChar$0();
  38266. if (character == null)
  38267. return false;
  38268. if (character === 46)
  38269. return t1.peekChar$1(1) !== 46;
  38270. if (character === 33) {
  38271. next = t1.peekChar$1(1);
  38272. if (next != null)
  38273. if ((next | 32) !== 105)
  38274. t1 = next === 32 || next === 9 || T.isNewline(next);
  38275. else
  38276. t1 = true;
  38277. else
  38278. t1 = true;
  38279. return t1;
  38280. }
  38281. if (character !== 40)
  38282. if (character !== 47)
  38283. if (character !== 91)
  38284. if (character !== 39)
  38285. if (character !== 34)
  38286. if (character !== 35)
  38287. if (character !== 43)
  38288. if (character !== 45)
  38289. if (character !== 92)
  38290. if (character !== 36)
  38291. if (character !== 38)
  38292. t1 = character === 95 || T.isAlphabetic0(character) || character >= 128 || T.isDigit(character);
  38293. else
  38294. t1 = true;
  38295. else
  38296. t1 = true;
  38297. else
  38298. t1 = true;
  38299. else
  38300. t1 = true;
  38301. else
  38302. t1 = true;
  38303. else
  38304. t1 = true;
  38305. else
  38306. t1 = true;
  38307. else
  38308. t1 = true;
  38309. else
  38310. t1 = true;
  38311. else
  38312. t1 = true;
  38313. else
  38314. t1 = true;
  38315. return t1;
  38316. },
  38317. _withChildren$1$3: function(child, start, create) {
  38318. var result = create.call$2(this.children$1(child), this.scanner.spanFrom$1(start));
  38319. this.whitespaceWithoutComments$0();
  38320. return result;
  38321. },
  38322. _withChildren$3: function(child, start, create) {
  38323. return this._withChildren$1$3(child, start, create, null);
  38324. },
  38325. _urlString$0: function() {
  38326. var innerError, t2, exception,
  38327. t1 = this.scanner,
  38328. start = new S._SpanScannerState(t1, t1._string_scanner$_position),
  38329. url = this.string$0();
  38330. try {
  38331. t2 = P.Uri_parse(url);
  38332. return t2;
  38333. } catch (exception) {
  38334. t2 = H.unwrapException(exception);
  38335. if (!!J.getInterceptor$(t2).$isFormatException) {
  38336. innerError = t2;
  38337. this.error$2("Invalid URL: " + H.S(J.get$message$x(innerError)), t1.spanFrom$1(start));
  38338. } else
  38339. throw exception;
  38340. }
  38341. },
  38342. _publicIdentifier$0: function() {
  38343. var t1 = this.scanner,
  38344. t2 = t1._string_scanner$_position,
  38345. result = this.identifier$1$normalize(true),
  38346. first = C.JSString_methods._codeUnitAt$1(result, 0);
  38347. if (first === 45 || first === 95)
  38348. this.error$2("Private members can't be accessed from outside their modules.", t1.spanFrom$1(new S._SpanScannerState(t1, t2)));
  38349. return result;
  38350. },
  38351. get$plainCss: function() {
  38352. return false;
  38353. }
  38354. };
  38355. V.StylesheetParser_parse_closure.prototype = {
  38356. call$0: function() {
  38357. var statements, t4,
  38358. t1 = this.$this,
  38359. t2 = t1.scanner,
  38360. t3 = t2._string_scanner$_position;
  38361. t2.scanChar$1(65279);
  38362. statements = t1.statements$1(new V.StylesheetParser_parse__closure(t1));
  38363. t2.expectDone$0();
  38364. t4 = t1._globalVariables.get$values();
  38365. C.JSArray_methods.addAll$1(statements, H.MappedIterable_MappedIterable(t4, new V.StylesheetParser_parse__closure0(), H.getRuntimeTypeArgument(t4, "Iterable", 0), O.Statement));
  38366. return V.Stylesheet$(statements, t2.spanFrom$1(new S._SpanScannerState(t2, t3)), t1.get$plainCss());
  38367. }
  38368. };
  38369. V.StylesheetParser_parse__closure.prototype = {
  38370. call$0: function() {
  38371. return this.$this._statement$1$root(true);
  38372. }
  38373. };
  38374. V.StylesheetParser_parse__closure0.prototype = {
  38375. call$1: function(declaration) {
  38376. return Z.VariableDeclaration$(declaration.name, new O.NullExpression(declaration.expression.get$span()), declaration.span, null, false, true, null);
  38377. }
  38378. };
  38379. V.StylesheetParser_parseArgumentDeclaration_closure.prototype = {
  38380. call$0: function() {
  38381. var t1 = this.$this,
  38382. declaration = t1._argumentDeclaration$0();
  38383. t1.scanner.expectDone$0();
  38384. return declaration;
  38385. }
  38386. };
  38387. V.StylesheetParser_parseExpression_closure.prototype = {
  38388. call$0: function() {
  38389. var t1 = this.$this,
  38390. result = t1.expression$0();
  38391. t1.scanner.expectDone$0();
  38392. return result;
  38393. }
  38394. };
  38395. V.StylesheetParser_parseVariableDeclaration_closure.prototype = {
  38396. call$0: function() {
  38397. var t1 = this.$this,
  38398. declaration = t1.variableDeclaration$0();
  38399. t1.scanner.expectDone$0();
  38400. return declaration;
  38401. }
  38402. };
  38403. V.StylesheetParser_parseSignature_closure.prototype = {
  38404. call$0: function() {
  38405. var t2, $arguments, t3,
  38406. t1 = this.$this,
  38407. $name = t1.identifier$0();
  38408. t1.whitespace$0();
  38409. t2 = t1.scanner;
  38410. if (t2.peekChar$0() === 40)
  38411. $arguments = t1._argumentDeclaration$0();
  38412. else {
  38413. t1 = Y.FileLocation$_(t2._sourceFile, t2._string_scanner$_position);
  38414. t3 = t1.offset;
  38415. $arguments = new B.ArgumentDeclaration(C.List_empty9, null, Y._FileSpan$(t1.file, t3, t3));
  38416. }
  38417. t2.expectDone$0();
  38418. return new S.Tuple2($name, $arguments, [P.String, B.ArgumentDeclaration]);
  38419. }
  38420. };
  38421. V.StylesheetParser__statement_closure.prototype = {
  38422. call$0: function() {
  38423. return this.$this._statement$0();
  38424. }
  38425. };
  38426. V.StylesheetParser_variableDeclaration_closure.prototype = {
  38427. call$0: function() {
  38428. return this.declaration;
  38429. }
  38430. };
  38431. V.StylesheetParser__styleRule_closure.prototype = {
  38432. call$2: function(children, span) {
  38433. var t1 = P.List_List$unmodifiable(children, O.Statement),
  38434. t2 = C.JSArray_methods.any$1(t1, new M.ParentStatement_closure());
  38435. return new X.StyleRule(this.selector, span, t1, t2);
  38436. }
  38437. };
  38438. V.StylesheetParser__declarationOrStyleRule_closure.prototype = {
  38439. call$2: function(children, span) {
  38440. var t2, t3, t4, _this = this,
  38441. t1 = _this.$this;
  38442. if (t1.get$indented() && children.length === 0)
  38443. t1.logger.warn$2$span("This selector doesn't have any properties and won't be rendered.", _this.selectorSpan);
  38444. t1._inStyleRule = _this.wasInStyleRule;
  38445. t2 = _this.buffer.interpolation$1(_this.selectorSpan);
  38446. t1 = t1.scanner.spanFrom$1(_this.start);
  38447. t3 = P.List_List$unmodifiable(children, O.Statement);
  38448. t4 = C.JSArray_methods.any$1(t3, new M.ParentStatement_closure());
  38449. return new X.StyleRule(t2, t1, t3, t4);
  38450. }
  38451. };
  38452. V.StylesheetParser__declarationOrBuffer_closure.prototype = {
  38453. call$2: function(children, span) {
  38454. return L.Declaration$(this.name, span, children, null);
  38455. }
  38456. };
  38457. V.StylesheetParser__declarationOrBuffer_closure0.prototype = {
  38458. call$2: function(children, span) {
  38459. return L.Declaration$(this.name, span, children, this._box_0.value);
  38460. }
  38461. };
  38462. V.StylesheetParser__declaration_closure.prototype = {
  38463. call$2: function(children, span) {
  38464. return L.Declaration$(this._box_0.name, span, children, null);
  38465. }
  38466. };
  38467. V.StylesheetParser__declaration_closure0.prototype = {
  38468. call$2: function(children, span) {
  38469. return L.Declaration$(this._box_0.name, span, children, this.value);
  38470. }
  38471. };
  38472. V.StylesheetParser__atRootRule_closure.prototype = {
  38473. call$2: function(children, span) {
  38474. var t1 = P.List_List$unmodifiable(children, O.Statement),
  38475. t2 = C.JSArray_methods.any$1(t1, new M.ParentStatement_closure());
  38476. return new V.AtRootRule(this.query, span, t1, t2);
  38477. }
  38478. };
  38479. V.StylesheetParser__atRootRule_closure0.prototype = {
  38480. call$2: function(children, span) {
  38481. var t1 = P.List_List$unmodifiable(children, O.Statement),
  38482. t2 = C.JSArray_methods.any$1(t1, new M.ParentStatement_closure());
  38483. return new V.AtRootRule(null, span, t1, t2);
  38484. }
  38485. };
  38486. V.StylesheetParser__eachRule_closure.prototype = {
  38487. call$2: function(children, span) {
  38488. var t1, t2, t3, _this = this;
  38489. _this.$this._inControlDirective = _this.wasInControlDirective;
  38490. t1 = P.List_List$unmodifiable(_this.variables, P.String);
  38491. t2 = P.List_List$unmodifiable(children, O.Statement);
  38492. t3 = C.JSArray_methods.any$1(t2, new M.ParentStatement_closure());
  38493. return new V.EachRule(t1, _this.list, span, t2, t3);
  38494. }
  38495. };
  38496. V.StylesheetParser__functionRule_closure.prototype = {
  38497. call$2: function(children, span) {
  38498. var t1 = P.List_List$unmodifiable(children, O.Statement),
  38499. t2 = C.JSArray_methods.any$1(t1, new M.ParentStatement_closure());
  38500. return new M.FunctionRule(this.name, this.$arguments, span, t1, t2);
  38501. }
  38502. };
  38503. V.StylesheetParser__forRule_closure.prototype = {
  38504. call$0: function() {
  38505. var t1 = this.$this;
  38506. if (!t1.lookingAtIdentifier$0())
  38507. return false;
  38508. if (t1.scanIdentifier$1("to"))
  38509. return this._box_0.exclusive = true;
  38510. else if (t1.scanIdentifier$1("through")) {
  38511. this._box_0.exclusive = false;
  38512. return true;
  38513. } else
  38514. return false;
  38515. }
  38516. };
  38517. V.StylesheetParser__forRule_closure0.prototype = {
  38518. call$2: function(children, span) {
  38519. var t1, t2, t3, _this = this;
  38520. _this.$this._inControlDirective = _this.wasInControlDirective;
  38521. t1 = _this._box_0.exclusive;
  38522. t2 = P.List_List$unmodifiable(children, O.Statement);
  38523. t3 = C.JSArray_methods.any$1(t2, new M.ParentStatement_closure());
  38524. return new B.ForRule(_this.variable, _this.from, _this.to, t1, span, t2, t3);
  38525. }
  38526. };
  38527. V.StylesheetParser__memberList_closure.prototype = {
  38528. call$0: function() {
  38529. var t1 = this.$this;
  38530. if (t1.scanner.peekChar$0() === 36)
  38531. this.variables.add$1(0, t1.variableName$0());
  38532. else
  38533. this.identifiers.add$1(0, t1.identifier$0());
  38534. }
  38535. };
  38536. V.StylesheetParser__includeRule_closure.prototype = {
  38537. call$2: function(children, span) {
  38538. var t2, t3,
  38539. t1 = this._box_0.contentArguments;
  38540. if (t1 == null) {
  38541. t1 = this.$this.scanner;
  38542. t1 = Y.FileLocation$_(t1._sourceFile, t1._string_scanner$_position);
  38543. t2 = t1.offset;
  38544. t2 = new B.ArgumentDeclaration(C.List_empty9, null, Y._FileSpan$(t1.file, t2, t2));
  38545. t1 = t2;
  38546. }
  38547. t2 = P.List_List$unmodifiable(children, O.Statement);
  38548. t3 = C.JSArray_methods.any$1(t2, new M.ParentStatement_closure());
  38549. return new Y.ContentBlock(null, t1, span, t2, t3);
  38550. }
  38551. };
  38552. V.StylesheetParser_mediaRule_closure.prototype = {
  38553. call$2: function(children, span) {
  38554. var t1 = P.List_List$unmodifiable(children, O.Statement),
  38555. t2 = C.JSArray_methods.any$1(t1, new M.ParentStatement_closure());
  38556. return new G.MediaRule(this.query, span, t1, t2);
  38557. }
  38558. };
  38559. V.StylesheetParser__mixinRule_closure.prototype = {
  38560. call$2: function(children, span) {
  38561. var t2,
  38562. t1 = this.$this,
  38563. hadContent = t1._mixinHasContent;
  38564. t1._stylesheet$_inMixin = false;
  38565. t1._mixinHasContent = null;
  38566. t1 = P.List_List$unmodifiable(children, O.Statement);
  38567. t2 = C.JSArray_methods.any$1(t1, new M.ParentStatement_closure());
  38568. return new T.MixinRule(hadContent, this.name, this.$arguments, span, t1, t2);
  38569. }
  38570. };
  38571. V.StylesheetParser_mozDocumentRule_closure.prototype = {
  38572. call$2: function(children, span) {
  38573. var _this = this;
  38574. if (_this._box_0.needsDeprecationWarning)
  38575. _this.$this.logger.warn$3$deprecation$span("@-moz-document is deprecated and support will be removed from Sass in a future\nrelase. For details, see http://bit.ly/moz-document.\n", true, span);
  38576. return U.AtRule$(_this.name, span, children, _this.value);
  38577. }
  38578. };
  38579. V.StylesheetParser_supportsRule_closure.prototype = {
  38580. call$2: function(children, span) {
  38581. var t1 = P.List_List$unmodifiable(children, O.Statement),
  38582. t2 = C.JSArray_methods.any$1(t1, new M.ParentStatement_closure());
  38583. return new B.SupportsRule(this.condition, span, t1, t2);
  38584. }
  38585. };
  38586. V.StylesheetParser__whileRule_closure.prototype = {
  38587. call$2: function(children, span) {
  38588. var t1, t2;
  38589. this.$this._inControlDirective = this.wasInControlDirective;
  38590. t1 = P.List_List$unmodifiable(children, O.Statement);
  38591. t2 = C.JSArray_methods.any$1(t1, new M.ParentStatement_closure());
  38592. return new G.WhileRule(this.condition, span, t1, t2);
  38593. }
  38594. };
  38595. V.StylesheetParser_unknownAtRule_closure.prototype = {
  38596. call$2: function(children, span) {
  38597. return U.AtRule$(this.name, span, children, this._box_0.value);
  38598. }
  38599. };
  38600. V.StylesheetParser_expression_resetState.prototype = {
  38601. call$0: function() {
  38602. var t2,
  38603. t1 = this._box_0;
  38604. t1.operands = t1.operators = t1.spaceExpressions = t1.commaExpressions = null;
  38605. t2 = this.$this;
  38606. t2.scanner.set$state(this.start);
  38607. t1.allowSlash = t2.lookingAtNumber$0();
  38608. t1.singleExpression = t2._singleExpression$0();
  38609. }
  38610. };
  38611. V.StylesheetParser_expression_resolveOneOperation.prototype = {
  38612. call$0: function() {
  38613. var t2, t3,
  38614. t1 = this._box_0,
  38615. operator = t1.operators.pop();
  38616. if (operator !== C.BinaryOperator_RTB)
  38617. t1.allowSlash = false;
  38618. t2 = t1.allowSlash && !this.$this._inParentheses;
  38619. t3 = t1.operands;
  38620. if (t2)
  38621. t1.singleExpression = new V.BinaryOperationExpression(C.BinaryOperator_RTB, t3.pop(), t1.singleExpression, true);
  38622. else
  38623. t1.singleExpression = new V.BinaryOperationExpression(operator, t3.pop(), t1.singleExpression, false);
  38624. }
  38625. };
  38626. V.StylesheetParser_expression_resolveOperations.prototype = {
  38627. call$0: function() {
  38628. var t2,
  38629. t1 = this._box_0;
  38630. if (t1.operators == null)
  38631. return;
  38632. for (t2 = this.resolveOneOperation; t1.operators.length !== 0;)
  38633. t2.call$0();
  38634. }
  38635. };
  38636. V.StylesheetParser_expression_addSingleExpression.prototype = {
  38637. call$2$number: function(expression, number) {
  38638. var t2, _this = this,
  38639. t1 = _this._box_0;
  38640. if (t1.singleExpression != null) {
  38641. t2 = _this.$this;
  38642. if (t2._inParentheses) {
  38643. t2._inParentheses = false;
  38644. if (t1.allowSlash) {
  38645. _this.resetState.call$0();
  38646. return;
  38647. }
  38648. }
  38649. if (t1.spaceExpressions == null)
  38650. t1.spaceExpressions = H.setRuntimeTypeInfo([], [T.Expression]);
  38651. _this.resolveOperations.call$0();
  38652. t1.spaceExpressions.push(t1.singleExpression);
  38653. t1.allowSlash = number;
  38654. } else if (!number)
  38655. t1.allowSlash = false;
  38656. t1.singleExpression = expression;
  38657. },
  38658. call$1: function(expression) {
  38659. return this.call$2$number(expression, false);
  38660. }
  38661. };
  38662. V.StylesheetParser_expression_addOperator.prototype = {
  38663. call$1: function(operator) {
  38664. var t2, t3, t4, t5, singleExpression,
  38665. t1 = this.$this;
  38666. if (t1.get$plainCss() && operator !== C.BinaryOperator_RTB) {
  38667. t2 = t1.scanner;
  38668. t3 = operator.operator.length;
  38669. t2.error$3$length$position("Operators aren't allowed in plain CSS.", t3, t2._string_scanner$_position - t3);
  38670. }
  38671. t2 = this._box_0;
  38672. t2.allowSlash = t2.allowSlash && operator === C.BinaryOperator_RTB;
  38673. if (t2.operators == null)
  38674. t2.operators = H.setRuntimeTypeInfo([], [V.BinaryOperator]);
  38675. if (t2.operands == null)
  38676. t2.operands = H.setRuntimeTypeInfo([], [T.Expression]);
  38677. t3 = this.resolveOneOperation;
  38678. t4 = operator.precedence;
  38679. while (true) {
  38680. t5 = t2.operators;
  38681. if (!(t5.length !== 0 && (t5 && C.JSArray_methods).get$last(t5).precedence >= t4))
  38682. break;
  38683. t3.call$0();
  38684. }
  38685. t2.operators.push(operator);
  38686. t2.operands.push(t2.singleExpression);
  38687. t1.whitespace$0();
  38688. t2.allowSlash = t2.allowSlash && t1.lookingAtNumber$0();
  38689. singleExpression = t1._singleExpression$0();
  38690. t2.singleExpression = singleExpression;
  38691. t2.allowSlash = t2.allowSlash && singleExpression instanceof T.NumberExpression;
  38692. }
  38693. };
  38694. V.StylesheetParser_expression_resolveSpaceExpressions.prototype = {
  38695. call$0: function() {
  38696. var t1, t2, t3;
  38697. this.resolveOperations.call$0();
  38698. t1 = this._box_0;
  38699. t2 = t1.spaceExpressions;
  38700. if (t2 != null) {
  38701. t2.push(t1.singleExpression);
  38702. t2 = P.List_List$unmodifiable(t1.spaceExpressions, T.Expression);
  38703. t3 = B.spanForList(t2);
  38704. t1.singleExpression = new D.ListExpression(t2, C.ListSeparator_space, false, t3);
  38705. t1.spaceExpressions = null;
  38706. }
  38707. t2 = t1.singleEqualsOperand;
  38708. if (t2 != null) {
  38709. t1.singleExpression = new V.BinaryOperationExpression(C.BinaryOperator_kjl, t2, t1.singleExpression, false);
  38710. t1.singleEqualsOperand = null;
  38711. }
  38712. }
  38713. };
  38714. V.StylesheetParser__expressionUntilComma_closure.prototype = {
  38715. call$0: function() {
  38716. return this.$this.scanner.peekChar$0() === 44;
  38717. }
  38718. };
  38719. V.StylesheetParser__unicodeRange_closure.prototype = {
  38720. call$1: function(char) {
  38721. return char != null && T.isHex(char);
  38722. },
  38723. $signature: 13
  38724. };
  38725. V.StylesheetParser__unicodeRange_closure0.prototype = {
  38726. call$1: function(char) {
  38727. return char != null && T.isHex(char);
  38728. },
  38729. $signature: 13
  38730. };
  38731. V.StylesheetParser__expressionUntilComparison_closure.prototype = {
  38732. call$0: function() {
  38733. var t1 = this.$this.scanner,
  38734. next = t1.peekChar$0();
  38735. if (next === 61)
  38736. return t1.peekChar$1(1) !== 61;
  38737. return next === 60 || next === 62;
  38738. }
  38739. };
  38740. M.StylesheetGraph.prototype = {
  38741. modifiedSince$3: function(url, since, baseImporter) {
  38742. var node = this._stylesheet_graph$_add$3(url, baseImporter, null);
  38743. if (node == null)
  38744. return true;
  38745. return new M.StylesheetGraph_modifiedSince_transitiveModificationTime(this).call$1(node)._value > since._value;
  38746. },
  38747. _stylesheet_graph$_add$3: function(url, baseImporter, baseUrl) {
  38748. var tuple = this._ignoreErrors$1(new M.StylesheetGraph__add_closure(this, url, baseImporter, baseUrl));
  38749. if (tuple == null)
  38750. return;
  38751. return this.addCanonical$3(tuple.item1, tuple.item2, tuple.item3);
  38752. },
  38753. addCanonical$3: function(importer, canonicalUrl, originalUrl) {
  38754. var _this = this,
  38755. stylesheet = _this._ignoreErrors$1(new M.StylesheetGraph_addCanonical_closure(_this, importer, canonicalUrl, originalUrl));
  38756. if (stylesheet == null)
  38757. return;
  38758. return _this._nodes.putIfAbsent$2(canonicalUrl, new M.StylesheetGraph_addCanonical_closure0(_this, stylesheet, importer, canonicalUrl));
  38759. },
  38760. _upstreamNodes$3: function(stylesheet, baseImporter, baseUrl) {
  38761. var upstreamUrls, t3,
  38762. t1 = P.Uri,
  38763. active = P.LinkedHashSet_LinkedHashSet$_literal([baseUrl], t1),
  38764. t2 = H.setRuntimeTypeInfo([], [B.DynamicImport]);
  38765. new L._FindImportsVisitor(t2).visitChildren$1(stylesheet);
  38766. upstreamUrls = new H.MappedListIterable(t2, new M.StylesheetGraph__upstreamNodes_closure(), [H.getTypeArgumentByIndex(t2, 0), t1]);
  38767. t1 = P.LinkedHashMap_LinkedHashMap$_empty(t1, M.StylesheetNode);
  38768. for (t2 = new H.ListIterator(upstreamUrls, upstreamUrls.get$length(upstreamUrls)); t2.moveNext$0();) {
  38769. t3 = t2.__internal$_current;
  38770. t1.$indexSet(0, t3, this._nodeFor$4(t3, baseImporter, baseUrl, active));
  38771. }
  38772. return t1;
  38773. },
  38774. reload$1: function(canonicalUrl) {
  38775. var stylesheet, _this = this,
  38776. node = _this._nodes.$index(0, canonicalUrl);
  38777. if (node == null)
  38778. throw H.wrapException(P.StateError$(H.S(canonicalUrl) + " is not in the dependency graph."));
  38779. _this._transitiveModificationTimes.clear$0(0);
  38780. _this.importCache.clearImport$1(canonicalUrl);
  38781. stylesheet = _this._ignoreErrors$1(new M.StylesheetGraph_reload_closure(_this, node, canonicalUrl));
  38782. if (stylesheet == null) {
  38783. _this.remove$1(0, canonicalUrl);
  38784. return;
  38785. }
  38786. node._replaceUpstream$1(_this._upstreamNodes$3(stylesheet, node.importer, canonicalUrl));
  38787. return node;
  38788. },
  38789. remove$1: function(_, canonicalUrl) {
  38790. var node = this._nodes.remove$1(0, canonicalUrl);
  38791. if (node == null)
  38792. throw H.wrapException(P.StateError$(H.S(canonicalUrl) + " is not in the dependency graph."));
  38793. this._transitiveModificationTimes.clear$0(0);
  38794. this.importCache.clearImport$1(canonicalUrl);
  38795. node._stylesheet_graph$_remove$0();
  38796. },
  38797. _nodeFor$4: function(url, baseImporter, baseUrl, active) {
  38798. var importer, canonicalUrl, resolvedUrl, t1, stylesheet, node, _this = this,
  38799. tuple = _this._ignoreErrors$1(new M.StylesheetGraph__nodeFor_closure(_this, url, baseImporter, baseUrl));
  38800. if (tuple == null)
  38801. return;
  38802. importer = tuple.item1;
  38803. canonicalUrl = tuple.item2;
  38804. resolvedUrl = tuple.item3;
  38805. t1 = _this._nodes;
  38806. if (t1.containsKey$1(canonicalUrl))
  38807. return t1.$index(0, canonicalUrl);
  38808. if (active.contains$1(0, canonicalUrl))
  38809. return;
  38810. stylesheet = _this._ignoreErrors$1(new M.StylesheetGraph__nodeFor_closure0(_this, importer, canonicalUrl, resolvedUrl));
  38811. if (stylesheet == null)
  38812. return;
  38813. active.add$1(0, canonicalUrl);
  38814. node = M.StylesheetNode$_(stylesheet, importer, canonicalUrl, _this._upstreamNodes$3(stylesheet, importer, canonicalUrl));
  38815. active.remove$1(0, canonicalUrl);
  38816. t1.$indexSet(0, canonicalUrl, node);
  38817. return node;
  38818. },
  38819. _ignoreErrors$1$1: function(callback) {
  38820. var t1, exception;
  38821. try {
  38822. t1 = callback.call$0();
  38823. return t1;
  38824. } catch (exception) {
  38825. H.unwrapException(exception);
  38826. return;
  38827. }
  38828. },
  38829. _ignoreErrors$1: function(callback) {
  38830. return this._ignoreErrors$1$1(callback, null);
  38831. }
  38832. };
  38833. M.StylesheetGraph_modifiedSince_transitiveModificationTime.prototype = {
  38834. call$1: function(node) {
  38835. return this.$this._transitiveModificationTimes.putIfAbsent$2(node.canonicalUrl, new M.StylesheetGraph_modifiedSince_transitiveModificationTime_closure(node, this));
  38836. }
  38837. };
  38838. M.StylesheetGraph_modifiedSince_transitiveModificationTime_closure.prototype = {
  38839. call$0: function() {
  38840. var t2, t3, upstreamTime,
  38841. t1 = this.node,
  38842. latest = t1.importer.modificationTime$1(t1.canonicalUrl);
  38843. for (t1 = t1._upstream.get$values(), t1 = t1.get$iterator(t1), t2 = this.transitiveModificationTime; t1.moveNext$0();) {
  38844. t3 = t1.get$current(t1);
  38845. upstreamTime = t3 == null ? new P.DateTime(Date.now(), false) : t2.call$1(t3);
  38846. if (upstreamTime._value > latest._value)
  38847. latest = upstreamTime;
  38848. }
  38849. return latest;
  38850. }
  38851. };
  38852. M.StylesheetGraph__add_closure.prototype = {
  38853. call$0: function() {
  38854. var _this = this;
  38855. return _this.$this.importCache.canonicalize$3(_this.url, _this.baseImporter, _this.baseUrl);
  38856. }
  38857. };
  38858. M.StylesheetGraph_addCanonical_closure.prototype = {
  38859. call$0: function() {
  38860. var _this = this;
  38861. return _this.$this.importCache.importCanonical$3(_this.importer, _this.canonicalUrl, _this.originalUrl);
  38862. }
  38863. };
  38864. M.StylesheetGraph_addCanonical_closure0.prototype = {
  38865. call$0: function() {
  38866. var _this = this,
  38867. t1 = _this.stylesheet,
  38868. t2 = _this.importer,
  38869. t3 = _this.canonicalUrl;
  38870. return M.StylesheetNode$_(t1, t2, t3, _this.$this._upstreamNodes$3(t1, t2, t3));
  38871. }
  38872. };
  38873. M.StylesheetGraph__upstreamNodes_closure.prototype = {
  38874. call$1: function($import) {
  38875. return P.Uri_parse($import.url);
  38876. }
  38877. };
  38878. M.StylesheetGraph_reload_closure.prototype = {
  38879. call$0: function() {
  38880. return this.$this.importCache.importCanonical$2(this.node.importer, this.canonicalUrl);
  38881. }
  38882. };
  38883. M.StylesheetGraph__nodeFor_closure.prototype = {
  38884. call$0: function() {
  38885. var _this = this;
  38886. return _this.$this.importCache.canonicalize$3(_this.url, _this.baseImporter, _this.baseUrl);
  38887. }
  38888. };
  38889. M.StylesheetGraph__nodeFor_closure0.prototype = {
  38890. call$0: function() {
  38891. var _this = this;
  38892. return _this.$this.importCache.importCanonical$3(_this.importer, _this.canonicalUrl, _this.resolvedUrl);
  38893. }
  38894. };
  38895. M.StylesheetNode.prototype = {
  38896. StylesheetNode$_$4: function(_stylesheet, importer, canonicalUrl, _upstream) {
  38897. var t1, t2;
  38898. for (t1 = this._upstream.get$values(), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
  38899. t2 = t1.get$current(t1);
  38900. if (t2 != null)
  38901. t2._downstream.add$1(0, this);
  38902. }
  38903. },
  38904. _replaceUpstream$1: function(newUpstream) {
  38905. var newUpstreamSet, _this = this,
  38906. t1 = M.StylesheetNode,
  38907. oldUpstream = P.LinkedHashSet_LinkedHashSet$of(_this._upstream.get$values(), t1);
  38908. oldUpstream.remove$1(0, null);
  38909. newUpstreamSet = P.LinkedHashSet_LinkedHashSet$of(newUpstream.get$values(), t1);
  38910. newUpstreamSet.remove$1(0, null);
  38911. for (t1 = oldUpstream.difference$1(newUpstreamSet), t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications); t1.moveNext$0();)
  38912. t1._collection$_current._downstream.remove$1(0, _this);
  38913. for (t1 = newUpstreamSet.difference$1(oldUpstream), t1 = P._LinkedHashSetIterator$(t1, t1._collection$_modifications); t1.moveNext$0();)
  38914. t1._collection$_current._downstream.add$1(0, _this);
  38915. _this._upstream = newUpstream;
  38916. },
  38917. _stylesheet_graph$_remove$0: function() {
  38918. var t1, t2, t3, t4, _i, url, _this = this;
  38919. for (t1 = _this._upstream.get$values(), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
  38920. t2 = t1.get$current(t1);
  38921. if (t2 == null)
  38922. continue;
  38923. t2._downstream.remove$1(0, _this);
  38924. }
  38925. for (t1 = _this._downstream, t1 = t1.get$iterator(t1); t1.moveNext$0();) {
  38926. t2 = t1.get$current(t1);
  38927. for (t3 = t2._upstream.get$keys(), t3 = P.List_List$from(t3, true, H.getRuntimeTypeArgument(t3, "Iterable", 0)), t4 = t3.length, _i = 0; _i < t3.length; t3.length === t4 || (0, H.throwConcurrentModificationError)(t3), ++_i) {
  38928. url = t3[_i];
  38929. if (J.$eq$(t2._upstream.$index(0, url), _this)) {
  38930. t2._upstream.$indexSet(0, url, null);
  38931. break;
  38932. }
  38933. }
  38934. }
  38935. }
  38936. };
  38937. M.Syntax.prototype = {
  38938. toString$0: function(_) {
  38939. return this._syntax$_name;
  38940. }
  38941. };
  38942. G.FixedLengthListBuilder.prototype = {
  38943. add$1: function(_, element) {
  38944. var t1, _this = this;
  38945. _this._checkUnbuilt$0();
  38946. t1 = _this._fixed_length_list_builder$_index;
  38947. _this._list[t1] = element;
  38948. _this._fixed_length_list_builder$_index = t1 + 1;
  38949. },
  38950. addAll$1: function(_, elements) {
  38951. var _this = this;
  38952. _this._checkUnbuilt$0();
  38953. C.JSArray_methods.setAll$2(_this._list, _this._fixed_length_list_builder$_index, elements);
  38954. _this._fixed_length_list_builder$_index = _this._fixed_length_list_builder$_index + elements.length;
  38955. },
  38956. addRange$3: function(elements, start, end) {
  38957. var $length, t1, _this = this;
  38958. _this._checkUnbuilt$0();
  38959. $length = (end == null ? J.get$length$asx(elements._collection$_source) : end) - start;
  38960. t1 = _this._fixed_length_list_builder$_index;
  38961. C.JSArray_methods.setRange$4(_this._list, t1, t1 + $length, elements, start);
  38962. _this._fixed_length_list_builder$_index += $length;
  38963. },
  38964. addRange$2: function(elements, start) {
  38965. return this.addRange$3(elements, start, null);
  38966. },
  38967. build$0: function() {
  38968. this._checkUnbuilt$0();
  38969. this._fixed_length_list_builder$_index = -1;
  38970. return this._list;
  38971. },
  38972. _checkUnbuilt$0: function() {
  38973. if (this._fixed_length_list_builder$_index === -1)
  38974. throw H.wrapException(P.StateError$("build() has already been called."));
  38975. }
  38976. };
  38977. K.LimitedMapView.prototype = {
  38978. get$keys: function() {
  38979. return this._limited_map_view$_keys;
  38980. },
  38981. get$length: function(_) {
  38982. return this._limited_map_view$_keys._collection$_length;
  38983. },
  38984. get$isEmpty: function(_) {
  38985. return this._limited_map_view$_keys._collection$_length === 0;
  38986. },
  38987. get$isNotEmpty: function(_) {
  38988. return this._limited_map_view$_keys._collection$_length !== 0;
  38989. },
  38990. $index: function(_, key) {
  38991. return this._limited_map_view$_keys.contains$1(0, key) ? this._limited_map_view$_map.$index(0, key) : null;
  38992. },
  38993. containsKey$1: function(key) {
  38994. return this._limited_map_view$_keys.contains$1(0, key);
  38995. }
  38996. };
  38997. Z.MergedMapView.prototype = {
  38998. get$keys: function() {
  38999. return this._mapsByKey.get$keys();
  39000. },
  39001. get$length: function(_) {
  39002. var t1 = this._mapsByKey;
  39003. return t1.get$length(t1);
  39004. },
  39005. get$isEmpty: function(_) {
  39006. var t1 = this._mapsByKey;
  39007. return t1.get$isEmpty(t1);
  39008. },
  39009. get$isNotEmpty: function(_) {
  39010. var t1 = this._mapsByKey;
  39011. return t1.get$isNotEmpty(t1);
  39012. },
  39013. MergedMapView$1: function(maps, $K, $V) {
  39014. var t1, t2, t3, _i, map, t4, t5;
  39015. for (t1 = maps.length, t2 = this._mapsByKey, t3 = [$K, $V], _i = 0; _i < maps.length; maps.length === t1 || (0, H.throwConcurrentModificationError)(maps), ++_i) {
  39016. map = maps[_i];
  39017. if (H.checkSubtype(map, "$isMergedMapView", t3, null))
  39018. for (t4 = map._mapsByKey.get$values(), t4 = t4.get$iterator(t4); t4.moveNext$0();) {
  39019. t5 = t4.get$current(t4);
  39020. B.setAll(t2, t5.get$keys(), t5);
  39021. }
  39022. else
  39023. B.setAll(t2, map.get$keys(), map);
  39024. }
  39025. },
  39026. $index: function(_, key) {
  39027. var child = this._mapsByKey.$index(0, key);
  39028. return child == null ? null : child.$index(0, key);
  39029. },
  39030. $indexSet: function(_, key, value) {
  39031. var child = this._mapsByKey.$index(0, key);
  39032. if (child == null)
  39033. throw H.wrapException(P.UnsupportedError$("New entries may not be added to MergedMapView."));
  39034. child.$indexSet(0, key, value);
  39035. },
  39036. remove$1: function(_, key) {
  39037. throw H.wrapException(P.UnsupportedError$("Entries may not be removed from MergedMapView."));
  39038. },
  39039. containsKey$1: function(key) {
  39040. return this._mapsByKey.containsKey$1(key);
  39041. }
  39042. };
  39043. U.MultiDirWatcher.prototype = {
  39044. watch$1: function(_, directory) {
  39045. var t1, t2, t3, t4, isParentOfExistingDir, _i, existingDir, t5, future, completer;
  39046. for (t1 = this._watchers, t2 = t1.get$keys(), t2 = P.List_List$from(t2, true, H.getRuntimeTypeArgument(t2, "Iterable", 0)), t3 = t2.length, t4 = this._group, isParentOfExistingDir = false, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i) {
  39047. existingDir = t2[_i];
  39048. if (!isParentOfExistingDir) {
  39049. t5 = $.$get$context();
  39050. t5 = t5._isWithinOrEquals$2(existingDir, directory) === C._PathRelation_equal || t5._isWithinOrEquals$2(existingDir, directory) === C._PathRelation_within;
  39051. } else
  39052. t5 = false;
  39053. if (t5) {
  39054. t1 = new P._Future($.Zone__current, [-1]);
  39055. t1._asyncComplete$1(null);
  39056. return t1;
  39057. }
  39058. if ($.$get$context()._isWithinOrEquals$2(directory, existingDir) === C._PathRelation_within) {
  39059. t4.remove$1(0, t1.remove$1(0, existingDir));
  39060. isParentOfExistingDir = true;
  39061. }
  39062. }
  39063. future = B.watchDir(directory, this._poll);
  39064. t2 = E.WatchEvent;
  39065. t3 = new Y._CompleterStream([t2]);
  39066. completer = new Y.StreamCompleter(t3, [t2]);
  39067. future.then$1$2$onError(completer.get$setSourceStream(), completer.get$setError(), -1);
  39068. t1.$indexSet(0, directory, t3);
  39069. t4.add$1(0, t3);
  39070. return future;
  39071. }
  39072. };
  39073. N.NoSourceMapBuffer.prototype = {
  39074. get$length: function(_) {
  39075. return this._no_source_map_buffer$_buffer._contents.length;
  39076. },
  39077. get$sourceFiles: function() {
  39078. return C.Map_empty0;
  39079. },
  39080. forSpan$1$2: function(span, callback) {
  39081. return callback.call$0();
  39082. },
  39083. forSpan$2: function(span, callback) {
  39084. return this.forSpan$1$2(span, callback, null);
  39085. },
  39086. write$1: function(_, object) {
  39087. this._no_source_map_buffer$_buffer._contents += H.S(object);
  39088. return;
  39089. },
  39090. writeCharCode$1: function(charCode) {
  39091. this._no_source_map_buffer$_buffer._contents += H.Primitives_stringFromCharCode(charCode);
  39092. return;
  39093. },
  39094. toString$0: function(_) {
  39095. var t1 = this._no_source_map_buffer$_buffer._contents;
  39096. return t1.charCodeAt(0) == 0 ? t1 : t1;
  39097. },
  39098. buildSourceMap$1$prefix: function(prefix) {
  39099. return H.throwExpression(P.UnsupportedError$("NoSourceMapBuffer.buildSourceMap() is not supported."));
  39100. },
  39101. $isStringBuffer: 1
  39102. };
  39103. F.PrefixedMapView.prototype = {
  39104. get$keys: function() {
  39105. return new F._PrefixedKeys(this);
  39106. },
  39107. get$length: function(_) {
  39108. var t1 = this._prefixed_map_view$_map;
  39109. return t1.get$length(t1);
  39110. },
  39111. get$isEmpty: function(_) {
  39112. var t1 = this._prefixed_map_view$_map;
  39113. return t1.get$isEmpty(t1);
  39114. },
  39115. get$isNotEmpty: function(_) {
  39116. var t1 = this._prefixed_map_view$_map;
  39117. return t1.get$isNotEmpty(t1);
  39118. },
  39119. $index: function(_, key) {
  39120. var t1;
  39121. if (typeof key === "string") {
  39122. t1 = this._prefix;
  39123. t1 = key.length >= t1.length && C.JSString_methods.startsWith$1(key, t1);
  39124. } else
  39125. t1 = false;
  39126. return t1 ? this._prefixed_map_view$_map.$index(0, J.substring$1$s(key, this._prefix.length)) : null;
  39127. },
  39128. containsKey$1: function(key) {
  39129. var t1;
  39130. if (typeof key === "string") {
  39131. t1 = this._prefix;
  39132. t1 = key.length >= t1.length && C.JSString_methods.startsWith$1(key, t1);
  39133. } else
  39134. t1 = false;
  39135. return t1 && this._prefixed_map_view$_map.containsKey$1(J.substring$1$s(key, this._prefix.length));
  39136. },
  39137. $asMapMixin: function($V) {
  39138. return [P.String, $V];
  39139. },
  39140. $asMap: function($V) {
  39141. return [P.String, $V];
  39142. }
  39143. };
  39144. F._PrefixedKeys.prototype = {
  39145. get$length: function(_) {
  39146. var t1 = this._view._prefixed_map_view$_map;
  39147. return t1.get$length(t1);
  39148. },
  39149. get$iterator: function(_) {
  39150. var t1 = J.map$1$1$ax(this._view._prefixed_map_view$_map.get$keys(), new F._PrefixedKeys_iterator_closure(this), P.String);
  39151. return t1.get$iterator(t1);
  39152. },
  39153. contains$1: function(_, key) {
  39154. return this._view.containsKey$1(key);
  39155. },
  39156. $asIterable: function() {
  39157. return [P.String];
  39158. }
  39159. };
  39160. F._PrefixedKeys_iterator_closure.prototype = {
  39161. call$1: function(key) {
  39162. return this.$this._view._prefix + H.S(key);
  39163. }
  39164. };
  39165. U.PublicMemberMapView.prototype = {
  39166. get$keys: function() {
  39167. return J.where$1$ax(this._inner.get$keys(), B.utils__isPublic$closure());
  39168. },
  39169. containsKey$1: function(key) {
  39170. return typeof key === "string" && B.isPublic(key) && this._inner.containsKey$1(key);
  39171. },
  39172. $index: function(_, key) {
  39173. if (typeof key === "string" && B.isPublic(key))
  39174. return this._inner.$index(0, key);
  39175. return;
  39176. },
  39177. $asMapMixin: function($V) {
  39178. return [P.String, $V];
  39179. },
  39180. $asMap: function($V) {
  39181. return [P.String, $V];
  39182. }
  39183. };
  39184. D.SourceMapBuffer.prototype = {
  39185. get$sourceFiles: function() {
  39186. var t1 = Y.SourceFile,
  39187. t2 = P.String;
  39188. return new P.UnmodifiableMapView(Y.mapMap(this._sourceFiles, new D.SourceMapBuffer_sourceFiles_closure(), null, P.Uri, t1, t2, t1), [t2, t1]);
  39189. },
  39190. get$_targetLocation: function() {
  39191. var t1 = this._source_map_buffer$_buffer._contents,
  39192. t2 = this._line;
  39193. return V.SourceLocation$(t1.length, this._column, t2, null);
  39194. },
  39195. get$length: function(_) {
  39196. return this._source_map_buffer$_buffer._contents.length;
  39197. },
  39198. forSpan$1$2: function(span, callback) {
  39199. var t1, _this = this,
  39200. wasInSpan = _this._inSpan;
  39201. _this._inSpan = true;
  39202. _this._addEntry$2(Y.FileLocation$_(span.file, span._start), _this.get$_targetLocation());
  39203. try {
  39204. t1 = callback.call$0();
  39205. return t1;
  39206. } finally {
  39207. _this._inSpan = wasInSpan;
  39208. }
  39209. },
  39210. forSpan$2: function(span, callback) {
  39211. return this.forSpan$1$2(span, callback, null);
  39212. },
  39213. _addEntry$2: function(source, target) {
  39214. var entry, t2,
  39215. t1 = this._entries;
  39216. if (t1.length !== 0) {
  39217. entry = C.JSArray_methods.get$last(t1);
  39218. t2 = entry.source;
  39219. if (t2.file.getLine$1(t2.offset) == source.file.getLine$1(source.offset) && entry.target.line === target.line)
  39220. return;
  39221. if (entry.target.offset == target.offset)
  39222. return;
  39223. }
  39224. this._sourceFiles.putIfAbsent$2(source.file.url, new D.SourceMapBuffer__addEntry_closure(source));
  39225. t1.push(new L.Entry(source, target, null));
  39226. },
  39227. write$1: function(_, object) {
  39228. var t1, i,
  39229. string = J.toString$0$(object);
  39230. this._source_map_buffer$_buffer._contents += H.S(string);
  39231. for (t1 = string.length, i = 0; i < t1; ++i)
  39232. if (C.JSString_methods._codeUnitAt$1(string, i) === 10)
  39233. this._writeLine$0();
  39234. else
  39235. ++this._column;
  39236. },
  39237. writeCharCode$1: function(charCode) {
  39238. this._source_map_buffer$_buffer._contents += H.Primitives_stringFromCharCode(charCode);
  39239. if (charCode === 10)
  39240. this._writeLine$0();
  39241. else
  39242. ++this._column;
  39243. },
  39244. _writeLine$0: function() {
  39245. var _this = this,
  39246. t1 = _this._entries;
  39247. if (C.JSArray_methods.get$last(t1).target.line === _this._line && C.JSArray_methods.get$last(t1).target.column === _this._column)
  39248. t1.pop();
  39249. ++_this._line;
  39250. _this._column = 0;
  39251. if (_this._inSpan)
  39252. t1.push(new L.Entry(C.JSArray_methods.get$last(t1).source, _this.get$_targetLocation(), null));
  39253. },
  39254. toString$0: function(_) {
  39255. var t1 = this._source_map_buffer$_buffer._contents;
  39256. return t1.charCodeAt(0) == 0 ? t1 : t1;
  39257. },
  39258. buildSourceMap$1$prefix: function(prefix) {
  39259. var i, t2, prefixColumn, _box_0 = {},
  39260. t1 = prefix.length;
  39261. if (t1 === 0)
  39262. return T.SingleMapping_SingleMapping$fromEntries(this._entries);
  39263. _box_0.prefixColumn = _box_0.prefixLines = 0;
  39264. for (i = 0, t2 = 0; i < t1; ++i)
  39265. if (C.JSString_methods._codeUnitAt$1(prefix, i) === 10) {
  39266. ++_box_0.prefixLines;
  39267. _box_0.prefixColumn = 0;
  39268. t2 = 0;
  39269. } else {
  39270. prefixColumn = t2 + 1;
  39271. _box_0.prefixColumn = prefixColumn;
  39272. t2 = prefixColumn;
  39273. }
  39274. t2 = this._entries;
  39275. return T.SingleMapping_SingleMapping$fromEntries(new H.MappedListIterable(t2, new D.SourceMapBuffer_buildSourceMap_closure(_box_0, t1), [H.getTypeArgumentByIndex(t2, 0), L.Entry]));
  39276. },
  39277. $isStringBuffer: 1
  39278. };
  39279. D.SourceMapBuffer_sourceFiles_closure.prototype = {
  39280. call$2: function(url, _) {
  39281. return J.toString$0$(url);
  39282. },
  39283. $signature: 15
  39284. };
  39285. D.SourceMapBuffer__addEntry_closure.prototype = {
  39286. call$0: function() {
  39287. return this.source.file;
  39288. }
  39289. };
  39290. D.SourceMapBuffer_buildSourceMap_closure.prototype = {
  39291. call$1: function(entry) {
  39292. var t1 = entry.source,
  39293. t2 = entry.target,
  39294. t3 = t2.line,
  39295. t4 = this._box_0,
  39296. t5 = t4.prefixLines;
  39297. t4 = t3 === 0 ? t4.prefixColumn : 0;
  39298. return new L.Entry(t1, V.SourceLocation$(t2.offset + this.prefixLength, t2.column + t4, t3 + t5, null), entry.identifierName);
  39299. }
  39300. };
  39301. B.indent_closure.prototype = {
  39302. call$1: function(line) {
  39303. return C.JSString_methods.$add(C.JSString_methods.$mul(" ", this.indentation), line);
  39304. }
  39305. };
  39306. B.flattenVertically_closure.prototype = {
  39307. call$1: function(inner) {
  39308. return Q.QueueList_QueueList$from(inner, this.T);
  39309. }
  39310. };
  39311. B.flattenVertically_closure0.prototype = {
  39312. call$1: function(queue) {
  39313. this.result.push(queue.removeFirst$0());
  39314. return queue.get$length(queue) === 0;
  39315. }
  39316. };
  39317. B.longestCommonSubsequence_closure.prototype = {
  39318. call$2: function(element1, element2) {
  39319. return J.$eq$(element1, element2) ? element1 : null;
  39320. },
  39321. $signature: function() {
  39322. var t1 = this.T;
  39323. return {func: 1, ret: t1, args: [t1, t1]};
  39324. }
  39325. };
  39326. B.longestCommonSubsequence_closure0.prototype = {
  39327. call$1: function(_) {
  39328. return P.List_List$filled(J.get$length$asx(this.list2) + 1, 0, P.int);
  39329. },
  39330. $signature: 49
  39331. };
  39332. B.longestCommonSubsequence_closure1.prototype = {
  39333. call$1: function(_) {
  39334. var t1 = new Array(J.get$length$asx(this.list2));
  39335. t1.fixed$length = Array;
  39336. return H.setRuntimeTypeInfo(t1, [this.T]);
  39337. },
  39338. $signature: function() {
  39339. return {func: 1, ret: [P.List, this.T], args: [P.int]};
  39340. }
  39341. };
  39342. B.longestCommonSubsequence_backtrack.prototype = {
  39343. call$2: function(i, j) {
  39344. var selection, t1, _this = this;
  39345. if (i === -1 || j === -1)
  39346. return H.setRuntimeTypeInfo([], [_this.T]);
  39347. selection = J.$index$asx(_this.selections[i], j);
  39348. if (selection != null) {
  39349. t1 = _this.call$2(i - 1, j - 1);
  39350. J.add$1$ax(t1, selection);
  39351. return t1;
  39352. }
  39353. t1 = _this.lengths;
  39354. return J.$index$asx(t1[i + 1], j) > J.$index$asx(t1[i], j + 1) ? _this.call$2(i, j - 1) : _this.call$2(i - 1, j);
  39355. }
  39356. };
  39357. B.mapAddAll2_closure.prototype = {
  39358. call$2: function(key, inner) {
  39359. var t1 = this.destination;
  39360. if (t1.containsKey$1(key))
  39361. t1.$index(0, key).addAll$1(0, inner);
  39362. else
  39363. t1.$indexSet(0, key, inner);
  39364. }
  39365. };
  39366. B.mapMapAsync_closure.prototype = {
  39367. call$2: function(mapKey, _) {
  39368. return this.$call$body$mapMapAsync_closure(mapKey, _, this.K2);
  39369. },
  39370. $call$body$mapMapAsync_closure: function(mapKey, _, $async$type) {
  39371. var $async$goto = 0,
  39372. $async$completer = P._makeAsyncAwaitCompleter($async$type),
  39373. $async$returnValue, $async$self = this;
  39374. var $async$call$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  39375. if ($async$errorCode === 1)
  39376. return P._asyncRethrow($async$result, $async$completer);
  39377. while (true)
  39378. switch ($async$goto) {
  39379. case 0:
  39380. // Function start
  39381. $async$returnValue = H.subtypeOfRuntimeTypeCast(mapKey, $async$self.K2);
  39382. // goto return
  39383. $async$goto = 1;
  39384. break;
  39385. case 1:
  39386. // return
  39387. return P._asyncReturn($async$returnValue, $async$completer);
  39388. }
  39389. });
  39390. return P._asyncStartSync($async$call$2, $async$completer);
  39391. },
  39392. $signature: function() {
  39393. return {func: 1, ret: [P.Future, this.K2], args: [this.K1, this.V1]};
  39394. }
  39395. };
  39396. B.copyMapOfMap_closure.prototype = {
  39397. call$2: function(_, innerMap) {
  39398. return P.LinkedHashMap_LinkedHashMap$of(innerMap, this.K2, this.V);
  39399. }
  39400. };
  39401. B.copyMapOfList_closure.prototype = {
  39402. call$2: function(_, list) {
  39403. return J.toList$0$ax(list);
  39404. }
  39405. };
  39406. F.Value.prototype = {
  39407. get$isTruthy: function() {
  39408. return true;
  39409. },
  39410. get$separator: function() {
  39411. return C.ListSeparator_undecided;
  39412. },
  39413. get$hasBrackets: function() {
  39414. return false;
  39415. },
  39416. get$asList: function() {
  39417. return H.setRuntimeTypeInfo([this], [F.Value]);
  39418. },
  39419. get$lengthAsList: function() {
  39420. return 1;
  39421. },
  39422. get$isBlank: function() {
  39423. return false;
  39424. },
  39425. get$isSpecialNumber: function() {
  39426. return false;
  39427. },
  39428. get$isVar: function() {
  39429. return false;
  39430. },
  39431. get$realNull: function() {
  39432. return this;
  39433. },
  39434. sassIndexToListIndex$2: function(sassIndex, $name) {
  39435. var _this = this,
  39436. index = sassIndex.assertNumber$1($name).assertInt$1($name);
  39437. if (index === 0)
  39438. throw H.wrapException(_this._value$_exception$2("List index may not be 0.", $name));
  39439. if (Math.abs(index) > _this.get$lengthAsList())
  39440. throw H.wrapException(_this._value$_exception$2("Invalid index " + sassIndex.toString$0(0) + " for a list with " + _this.get$lengthAsList() + " elements.", $name));
  39441. return index < 0 ? _this.get$lengthAsList() + index : index - 1;
  39442. },
  39443. assertColor$1: function($name) {
  39444. return H.throwExpression(this._value$_exception$2(this.toString$0(0) + " is not a color.", $name));
  39445. },
  39446. assertFunction$1: function($name) {
  39447. return H.throwExpression(this._value$_exception$2(this.toString$0(0) + " is not a function reference.", $name));
  39448. },
  39449. assertMap$1: function($name) {
  39450. return H.throwExpression(this._value$_exception$2(this.toString$0(0) + " is not a map.", $name));
  39451. },
  39452. assertNumber$1: function($name) {
  39453. return H.throwExpression(this._value$_exception$2(this.toString$0(0) + " is not a number.", $name));
  39454. },
  39455. assertNumber$0: function() {
  39456. return this.assertNumber$1(null);
  39457. },
  39458. assertString$1: function($name) {
  39459. return H.throwExpression(this._value$_exception$2(this.toString$0(0) + " is not a string.", $name));
  39460. },
  39461. assertSelector$2$allowParent$name: function(allowParent, $name) {
  39462. var error, t1, exception,
  39463. string = this._selectorString$1($name);
  39464. try {
  39465. t1 = D.SelectorList_SelectorList$parse(string, allowParent, true, null);
  39466. return t1;
  39467. } catch (exception) {
  39468. t1 = H.unwrapException(exception);
  39469. if (t1 instanceof E.SassFormatException) {
  39470. error = t1;
  39471. throw H.wrapException(this._value$_exception$2(C.JSString_methods.replaceFirst$2(J.toString$0$(error), "Error: ", ""), $name));
  39472. } else
  39473. throw exception;
  39474. }
  39475. },
  39476. assertSelector$1$name: function($name) {
  39477. return this.assertSelector$2$allowParent$name(false, $name);
  39478. },
  39479. assertSelector$0: function() {
  39480. return this.assertSelector$2$allowParent$name(false, null);
  39481. },
  39482. assertSelector$1$allowParent: function(allowParent) {
  39483. return this.assertSelector$2$allowParent$name(allowParent, null);
  39484. },
  39485. assertCompoundSelector$1$name: function($name) {
  39486. var error, t1, exception,
  39487. allowParent = false,
  39488. string = this._selectorString$1($name);
  39489. try {
  39490. t1 = S.SpanScanner$(string, null);
  39491. t1 = new T.SelectorParser(allowParent, true, t1, C.StderrLogger_false).parseCompoundSelector$0();
  39492. return t1;
  39493. } catch (exception) {
  39494. t1 = H.unwrapException(exception);
  39495. if (t1 instanceof E.SassFormatException) {
  39496. error = t1;
  39497. throw H.wrapException(this._value$_exception$2(C.JSString_methods.replaceFirst$2(J.toString$0$(error), "Error: ", ""), $name));
  39498. } else
  39499. throw exception;
  39500. }
  39501. },
  39502. _selectorString$1: function($name) {
  39503. var string = this._selectorStringOrNull$0();
  39504. if (string != null)
  39505. return string;
  39506. throw H.wrapException(this._value$_exception$2(this.toString$0(0) + " is not a valid selector: it must be a string,\na list of strings, or a list of lists of strings.", $name));
  39507. },
  39508. _selectorString$0: function() {
  39509. return this._selectorString$1(null);
  39510. },
  39511. _selectorStringOrNull$0: function() {
  39512. var t1, t2, result, t3, _i, complex, t4, string, compound, _this = this;
  39513. if (!!_this.$isSassString)
  39514. return _this.text;
  39515. if (!_this.$isSassList)
  39516. return;
  39517. t1 = _this._list$_contents;
  39518. t2 = t1.length;
  39519. if (t2 === 0)
  39520. return;
  39521. result = H.setRuntimeTypeInfo([], [P.String]);
  39522. t3 = _this.separator === C.ListSeparator_comma;
  39523. if (t3)
  39524. for (_i = 0; _i < t2; ++_i) {
  39525. complex = t1[_i];
  39526. t4 = J.getInterceptor$(complex);
  39527. if (!!t4.$isSassString)
  39528. result.push(complex.text);
  39529. else if (!!t4.$isSassList && complex.separator === C.ListSeparator_space) {
  39530. string = complex._selectorString$0();
  39531. result.push(string);
  39532. } else
  39533. return;
  39534. }
  39535. else
  39536. for (_i = 0; _i < t2; ++_i) {
  39537. compound = t1[_i];
  39538. if (compound instanceof D.SassString)
  39539. result.push(compound.text);
  39540. else
  39541. return;
  39542. }
  39543. return C.JSArray_methods.join$1(result, t3 ? ", " : " ");
  39544. },
  39545. changeListContents$2$separator: function(contents, separator) {
  39546. var t1 = separator == null ? this.get$separator() : separator,
  39547. t2 = this.get$hasBrackets();
  39548. return D.SassList$(contents, t1, t2);
  39549. },
  39550. changeListContents$1: function(contents) {
  39551. return this.changeListContents$2$separator(contents, null);
  39552. },
  39553. greaterThan$1: function(other) {
  39554. return H.throwExpression(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " > " + H.S(other) + '".'));
  39555. },
  39556. greaterThanOrEquals$1: function(other) {
  39557. return H.throwExpression(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " >= " + H.S(other) + '".'));
  39558. },
  39559. lessThan$1: function(other) {
  39560. return H.throwExpression(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " < " + H.S(other) + '".'));
  39561. },
  39562. lessThanOrEquals$1: function(other) {
  39563. return H.throwExpression(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " <= " + H.S(other) + '".'));
  39564. },
  39565. times$1: function(other) {
  39566. return H.throwExpression(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " * " + H.S(other) + '".'));
  39567. },
  39568. modulo$1: function(other) {
  39569. return H.throwExpression(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " % " + H.S(other) + '".'));
  39570. },
  39571. plus$1: function(other) {
  39572. var t1;
  39573. if (other instanceof D.SassString)
  39574. return new D.SassString(C.JSString_methods.$add(N.serializeValue(this, false, true), other.text), other.hasQuotes);
  39575. else {
  39576. t1 = N.serializeValue(this, false, true);
  39577. other.toString;
  39578. return new D.SassString(t1 + N.serializeValue(other, false, true), false);
  39579. }
  39580. },
  39581. minus$1: function(other) {
  39582. var t1 = N.serializeValue(this, false, true) + "-";
  39583. other.toString;
  39584. return new D.SassString(t1 + N.serializeValue(other, false, true), false);
  39585. },
  39586. dividedBy$1: function(other) {
  39587. var t1 = N.serializeValue(this, false, true) + "/";
  39588. other.toString;
  39589. return new D.SassString(t1 + N.serializeValue(other, false, true), false);
  39590. },
  39591. unaryPlus$0: function() {
  39592. return new D.SassString("+" + N.serializeValue(this, false, true), false);
  39593. },
  39594. unaryMinus$0: function() {
  39595. return new D.SassString("-" + N.serializeValue(this, false, true), false);
  39596. },
  39597. unaryNot$0: function() {
  39598. return C.SassBoolean_false;
  39599. },
  39600. withoutSlash$0: function() {
  39601. return this;
  39602. },
  39603. toString$0: function(_) {
  39604. return N.serializeValue(this, true, true);
  39605. },
  39606. _value$_exception$2: function(message, $name) {
  39607. return new E.SassScriptException($name == null ? message : "$" + $name + ": " + message);
  39608. }
  39609. };
  39610. D.SassArgumentList.prototype = {};
  39611. Z.SassBoolean.prototype = {
  39612. get$isTruthy: function() {
  39613. return this.value;
  39614. },
  39615. accept$1$1: function(visitor) {
  39616. return visitor._buffer.write$1(0, String(this.value));
  39617. },
  39618. accept$1: function(visitor) {
  39619. return this.accept$1$1(visitor, null);
  39620. },
  39621. unaryNot$0: function() {
  39622. return this.value ? C.SassBoolean_false : C.SassBoolean_true;
  39623. }
  39624. };
  39625. K.SassColor.prototype = {
  39626. get$red: function() {
  39627. if (this._red == null)
  39628. this._hslToRgb$0();
  39629. return this._red;
  39630. },
  39631. get$green: function() {
  39632. if (this._green == null)
  39633. this._hslToRgb$0();
  39634. return this._green;
  39635. },
  39636. get$blue: function() {
  39637. if (this._blue == null)
  39638. this._hslToRgb$0();
  39639. return this._blue;
  39640. },
  39641. get$hue: function() {
  39642. if (this._hue == null)
  39643. this._rgbToHsl$0();
  39644. return this._hue;
  39645. },
  39646. get$saturation: function() {
  39647. if (this._saturation == null)
  39648. this._rgbToHsl$0();
  39649. return this._saturation;
  39650. },
  39651. get$lightness: function() {
  39652. if (this._lightness == null)
  39653. this._rgbToHsl$0();
  39654. return this._lightness;
  39655. },
  39656. get$original: function() {
  39657. var t1 = this.originalSpan;
  39658. return t1 == null ? null : P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(t1.file._decodedChars, t1._start, t1._end), 0, null);
  39659. },
  39660. accept$1$1: function(visitor) {
  39661. return visitor.visitColor$1(this);
  39662. },
  39663. accept$1: function(visitor) {
  39664. return this.accept$1$1(visitor, null);
  39665. },
  39666. assertColor$1: function($name) {
  39667. return this;
  39668. },
  39669. changeRgb$4$alpha$blue$green$red: function(alpha, blue, green, red) {
  39670. var _this = this,
  39671. t1 = red == null ? _this.get$red() : red,
  39672. t2 = green == null ? _this.get$green() : green,
  39673. t3 = blue == null ? _this.get$blue() : blue;
  39674. return K.SassColor$rgb(t1, t2, t3, alpha == null ? _this.alpha : alpha, null);
  39675. },
  39676. changeRgb$1$alpha: function(alpha) {
  39677. return this.changeRgb$4$alpha$blue$green$red(alpha, null, null, null);
  39678. },
  39679. changeRgb$1$blue: function(blue) {
  39680. return this.changeRgb$4$alpha$blue$green$red(null, blue, null, null);
  39681. },
  39682. changeRgb$1$green: function(green) {
  39683. return this.changeRgb$4$alpha$blue$green$red(null, null, green, null);
  39684. },
  39685. changeRgb$1$red: function(red) {
  39686. return this.changeRgb$4$alpha$blue$green$red(null, null, null, red);
  39687. },
  39688. changeRgb$3$blue$green$red: function(blue, green, red) {
  39689. return this.changeRgb$4$alpha$blue$green$red(null, blue, green, red);
  39690. },
  39691. changeHsl$4$alpha$hue$lightness$saturation: function(alpha, hue, lightness, saturation) {
  39692. var _this = this,
  39693. t1 = hue == null ? _this.get$hue() : hue,
  39694. t2 = saturation == null ? _this.get$saturation() : saturation,
  39695. t3 = lightness == null ? _this.get$lightness() : lightness;
  39696. return K.SassColor$hsl(t1, t2, t3, alpha == null ? _this.alpha : alpha);
  39697. },
  39698. changeHsl$3$alpha$lightness$saturation: function(alpha, lightness, saturation) {
  39699. return this.changeHsl$4$alpha$hue$lightness$saturation(alpha, null, lightness, saturation);
  39700. },
  39701. changeHsl$1$saturation: function(saturation) {
  39702. return this.changeHsl$4$alpha$hue$lightness$saturation(null, null, null, saturation);
  39703. },
  39704. changeHsl$1$lightness: function(lightness) {
  39705. return this.changeHsl$4$alpha$hue$lightness$saturation(null, null, lightness, null);
  39706. },
  39707. changeHsl$1$hue: function(hue) {
  39708. return this.changeHsl$4$alpha$hue$lightness$saturation(null, hue, null, null);
  39709. },
  39710. changeAlpha$1: function(alpha) {
  39711. var _this = this;
  39712. return new K.SassColor(_this._red, _this._green, _this._blue, _this._hue, _this._saturation, _this._lightness, T.fuzzyAssertRange(alpha, 0, 1, "alpha"), null);
  39713. },
  39714. plus$1: function(other) {
  39715. var t1 = J.getInterceptor$(other);
  39716. if (!t1.$isSassNumber && !t1.$isSassColor)
  39717. return this.super$Value$plus(other);
  39718. throw H.wrapException(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " + " + H.S(other) + '".'));
  39719. },
  39720. minus$1: function(other) {
  39721. var t1 = J.getInterceptor$(other);
  39722. if (!t1.$isSassNumber && !t1.$isSassColor)
  39723. return this.super$Value$minus(other);
  39724. throw H.wrapException(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " - " + H.S(other) + '".'));
  39725. },
  39726. dividedBy$1: function(other) {
  39727. var t1 = J.getInterceptor$(other);
  39728. if (!t1.$isSassNumber && !t1.$isSassColor)
  39729. return this.super$Value$dividedBy(other);
  39730. throw H.wrapException(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " / " + H.S(other) + '".'));
  39731. },
  39732. modulo$1: function(other) {
  39733. return H.throwExpression(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " % " + H.S(other) + '".'));
  39734. },
  39735. $eq: function(_, other) {
  39736. var _this = this;
  39737. if (other == null)
  39738. return false;
  39739. return other instanceof K.SassColor && other.get$red() == _this.get$red() && other.get$green() == _this.get$green() && other.get$blue() == _this.get$blue() && other.alpha === _this.alpha;
  39740. },
  39741. get$hashCode: function(_) {
  39742. var _this = this;
  39743. return J.get$hashCode$(_this.get$red()) ^ J.get$hashCode$(_this.get$green()) ^ J.get$hashCode$(_this.get$blue()) ^ C.JSNumber_methods.get$hashCode(_this.alpha);
  39744. },
  39745. _rgbToHsl$0: function() {
  39746. var t2, t3, _this = this,
  39747. scaledRed = _this.get$red() / 255,
  39748. scaledGreen = _this.get$green() / 255,
  39749. scaledBlue = _this.get$blue() / 255,
  39750. max = Math.max(Math.max(scaledRed, scaledGreen), scaledBlue),
  39751. min = Math.min(Math.min(scaledRed, scaledGreen), scaledBlue),
  39752. delta = max - min,
  39753. t1 = max === min;
  39754. if (t1)
  39755. _this._hue = 0;
  39756. else if (max === scaledRed)
  39757. _this._hue = C.JSDouble_methods.$mod(60 * (scaledGreen - scaledBlue) / delta, 360);
  39758. else if (max === scaledGreen)
  39759. _this._hue = C.JSNumber_methods.$mod(120 + 60 * (scaledBlue - scaledRed) / delta, 360);
  39760. else if (max === scaledBlue)
  39761. _this._hue = C.JSNumber_methods.$mod(240 + 60 * (scaledRed - scaledGreen) / delta, 360);
  39762. t2 = max + min;
  39763. t3 = 50 * t2;
  39764. _this._lightness = t3;
  39765. if (t1)
  39766. _this._saturation = 0;
  39767. else {
  39768. t1 = 100 * delta;
  39769. if (t3 < 50)
  39770. _this._saturation = t1 / t2;
  39771. else
  39772. _this._saturation = t1 / (2 - max - min);
  39773. }
  39774. },
  39775. _hslToRgb$0: function() {
  39776. var _this = this,
  39777. scaledHue = _this.get$hue() / 360,
  39778. scaledSaturation = _this.get$saturation() / 100,
  39779. scaledLightness = _this.get$lightness() / 100,
  39780. m2 = scaledLightness <= 0.5 ? scaledLightness * (scaledSaturation + 1) : scaledLightness + scaledSaturation - scaledLightness * scaledSaturation,
  39781. m1 = scaledLightness * 2 - m2;
  39782. _this._red = _this._hueToRgb$3(m1, m2, scaledHue + 0.3333333333333333);
  39783. _this._green = _this._hueToRgb$3(m1, m2, scaledHue);
  39784. _this._blue = _this._hueToRgb$3(m1, m2, scaledHue - 0.3333333333333333);
  39785. },
  39786. _hueToRgb$3: function(m1, m2, hue) {
  39787. var result;
  39788. if (hue < 0)
  39789. ++hue;
  39790. if (hue > 1)
  39791. --hue;
  39792. if (hue < 0.16666666666666666)
  39793. result = m1 + (m2 - m1) * hue * 6;
  39794. else if (hue < 0.5)
  39795. result = m2;
  39796. else
  39797. result = hue < 0.6666666666666666 ? m1 + (m2 - m1) * (0.6666666666666666 - hue) * 6 : m1;
  39798. return T.fuzzyRound(result * 255);
  39799. }
  39800. };
  39801. F.SassFunction.prototype = {
  39802. accept$1$1: function(visitor) {
  39803. var t1;
  39804. if (!visitor._inspect)
  39805. H.throwExpression(E.SassScriptException$(this.toString$0(0) + " isn't a valid CSS value."));
  39806. t1 = visitor._buffer;
  39807. t1.write$1(0, "get-function(");
  39808. visitor._visitQuotedString$1(this.callable.get$name());
  39809. t1.writeCharCode$1(41);
  39810. return;
  39811. },
  39812. accept$1: function(visitor) {
  39813. return this.accept$1$1(visitor, null);
  39814. },
  39815. assertFunction$1: function($name) {
  39816. return this;
  39817. },
  39818. $eq: function(_, other) {
  39819. if (other == null)
  39820. return false;
  39821. return other instanceof F.SassFunction && J.$eq$(this.callable, other.callable);
  39822. },
  39823. get$hashCode: function(_) {
  39824. return J.get$hashCode$(this.callable);
  39825. }
  39826. };
  39827. D.SassList.prototype = {
  39828. get$isBlank: function() {
  39829. return C.JSArray_methods.every$1(this._list$_contents, new D.SassList_isBlank_closure());
  39830. },
  39831. get$asList: function() {
  39832. return this._list$_contents;
  39833. },
  39834. get$lengthAsList: function() {
  39835. return this._list$_contents.length;
  39836. },
  39837. SassList$3$brackets: function(contents, separator, brackets) {
  39838. if (this.separator === C.ListSeparator_undecided && this._list$_contents.length > 1)
  39839. throw H.wrapException(P.ArgumentError$("A list with more than one element must have an explicit separator."));
  39840. },
  39841. accept$1$1: function(visitor) {
  39842. return visitor.visitList$1(this);
  39843. },
  39844. accept$1: function(visitor) {
  39845. return this.accept$1$1(visitor, null);
  39846. },
  39847. assertMap$1: function($name) {
  39848. return this._list$_contents.length === 0 ? C.SassMap_Map_empty : this.super$Value$assertMap($name);
  39849. },
  39850. $eq: function(_, other) {
  39851. var t1, _this = this;
  39852. if (other == null)
  39853. return false;
  39854. t1 = J.getInterceptor$(other);
  39855. if (!(!!t1.$isSassList && other.separator === _this.separator && other.hasBrackets === _this.hasBrackets && C.C_ListEquality.equals$2(other._list$_contents, _this._list$_contents)))
  39856. t1 = _this._list$_contents.length === 0 && !!t1.$isSassMap && other.get$asList().length === 0;
  39857. else
  39858. t1 = true;
  39859. return t1;
  39860. },
  39861. get$hashCode: function(_) {
  39862. return C.C_ListEquality.hash$1(this._list$_contents);
  39863. },
  39864. get$separator: function() {
  39865. return this.separator;
  39866. },
  39867. get$hasBrackets: function() {
  39868. return this.hasBrackets;
  39869. }
  39870. };
  39871. D.SassList_isBlank_closure.prototype = {
  39872. call$1: function(element) {
  39873. return element.get$isBlank();
  39874. }
  39875. };
  39876. D.ListSeparator.prototype = {
  39877. toString$0: function(_) {
  39878. return this._list$_name;
  39879. }
  39880. };
  39881. A.SassMap.prototype = {
  39882. get$separator: function() {
  39883. var t1 = this.contents;
  39884. return t1.get$isEmpty(t1) ? C.ListSeparator_undecided : C.ListSeparator_comma;
  39885. },
  39886. get$asList: function() {
  39887. var result = H.setRuntimeTypeInfo([], [F.Value]);
  39888. this.contents.forEach$1(0, new A.SassMap_asList_closure(result));
  39889. return result;
  39890. },
  39891. get$lengthAsList: function() {
  39892. var t1 = this.contents;
  39893. return t1.get$length(t1);
  39894. },
  39895. accept$1$1: function(visitor) {
  39896. return visitor.visitMap$1(this);
  39897. },
  39898. accept$1: function(visitor) {
  39899. return this.accept$1$1(visitor, null);
  39900. },
  39901. assertMap$1: function($name) {
  39902. return this;
  39903. },
  39904. $eq: function(_, other) {
  39905. var t1, t2;
  39906. if (other == null)
  39907. return false;
  39908. t1 = J.getInterceptor$(other);
  39909. if (!(!!t1.$isSassMap && C.C_MapEquality.equals$2(other.contents, this.contents))) {
  39910. t2 = this.contents;
  39911. t1 = t2.get$isEmpty(t2) && !!t1.$isSassList && other._list$_contents.length === 0;
  39912. } else
  39913. t1 = true;
  39914. return t1;
  39915. },
  39916. get$hashCode: function(_) {
  39917. var t1 = this.contents;
  39918. return t1.get$isEmpty(t1) ? C.C_ListEquality.hash$1(C.List_empty1) : C.C_MapEquality.hash$1(t1);
  39919. }
  39920. };
  39921. A.SassMap_asList_closure.prototype = {
  39922. call$2: function(key, value) {
  39923. this.result.push(D.SassList$(H.setRuntimeTypeInfo([key, value], [F.Value]), C.ListSeparator_space, false));
  39924. }
  39925. };
  39926. O.SassNull.prototype = {
  39927. get$isTruthy: function() {
  39928. return false;
  39929. },
  39930. get$isBlank: function() {
  39931. return true;
  39932. },
  39933. get$realNull: function() {
  39934. return;
  39935. },
  39936. accept$1$1: function(visitor) {
  39937. if (visitor._inspect)
  39938. visitor._buffer.write$1(0, "null");
  39939. return;
  39940. },
  39941. accept$1: function(visitor) {
  39942. return this.accept$1$1(visitor, null);
  39943. },
  39944. unaryNot$0: function() {
  39945. return C.SassBoolean_true;
  39946. }
  39947. };
  39948. T.SassNumber.prototype = {
  39949. get$unitString: function() {
  39950. var _this = this,
  39951. t1 = _this.numeratorUnits;
  39952. return t1.length !== 0 || _this.denominatorUnits.length !== 0 ? _this._unitString$2(t1, _this.denominatorUnits) : "";
  39953. },
  39954. accept$1$1: function(visitor) {
  39955. return visitor.visitNumber$1(this);
  39956. },
  39957. accept$1: function(visitor) {
  39958. return this.accept$1$1(visitor, null);
  39959. },
  39960. withoutSlash$0: function() {
  39961. var _this = this;
  39962. if (_this.asSlash == null)
  39963. return _this;
  39964. return new T.SassNumber(_this.value, _this.numeratorUnits, _this.denominatorUnits, null);
  39965. },
  39966. withSlash$2: function(numerator, denominator) {
  39967. var t1 = T.SassNumber;
  39968. return new T.SassNumber(this.value, this.numeratorUnits, this.denominatorUnits, new S.Tuple2(numerator, denominator, [t1, t1]));
  39969. },
  39970. assertNumber$1: function($name) {
  39971. return this;
  39972. },
  39973. assertNumber$0: function() {
  39974. return this.assertNumber$1(null);
  39975. },
  39976. assertInt$1: function($name) {
  39977. var t1 = this.value,
  39978. integer = T.fuzzyIsInt(t1) ? J.round$0$n(t1) : null;
  39979. if (integer != null)
  39980. return integer;
  39981. throw H.wrapException(this._number0$_exception$2(this.toString$0(0) + " is not an int.", $name));
  39982. },
  39983. assertInt$0: function() {
  39984. return this.assertInt$1(null);
  39985. },
  39986. valueInRange$3: function(min, max, $name) {
  39987. var _this = this,
  39988. result = T.fuzzyCheckRange(_this.value, min, max);
  39989. if (result != null)
  39990. return result;
  39991. throw H.wrapException(_this._number0$_exception$2("Expected " + _this.toString$0(0) + " to be within " + min + _this.get$unitString() + " and " + max + _this.get$unitString() + ".", $name));
  39992. },
  39993. hasUnit$1: function(unit) {
  39994. var t1 = this.numeratorUnits;
  39995. return t1.length === 1 && this.denominatorUnits.length === 0 && J.$eq$(C.JSArray_methods.get$first(t1), unit);
  39996. },
  39997. assertUnit$2: function(unit, $name) {
  39998. if (this.hasUnit$1(unit))
  39999. return;
  40000. throw H.wrapException(this._number0$_exception$2("Expected " + this.toString$0(0) + ' to have unit "' + unit + '".', $name));
  40001. },
  40002. assertNoUnits$1: function($name) {
  40003. var _this = this;
  40004. if (!(_this.numeratorUnits.length !== 0 || _this.denominatorUnits.length !== 0))
  40005. return;
  40006. throw H.wrapException(_this._number0$_exception$2("Expected " + _this.toString$0(0) + " to have no units.", $name));
  40007. },
  40008. valueInUnits$2: function(newNumerators, newDenominators) {
  40009. var t2, oldNumerators, _i, oldDenominators, t3, _this = this, _box_0 = {},
  40010. t1 = newNumerators.length;
  40011. if (!(t1 === 0 && newDenominators.length === 0)) {
  40012. t2 = _this.numeratorUnits;
  40013. if (!(t2.length === 0 && _this.denominatorUnits.length === 0))
  40014. t2 = C.C_ListEquality.equals$2(t2, newNumerators) && C.C_ListEquality.equals$2(_this.denominatorUnits, newDenominators);
  40015. else
  40016. t2 = true;
  40017. } else
  40018. t2 = true;
  40019. if (t2)
  40020. return _this.value;
  40021. _box_0.value = _this.value;
  40022. t2 = _this.numeratorUnits;
  40023. oldNumerators = H.setRuntimeTypeInfo(t2.slice(0), [H.getTypeArgumentByIndex(t2, 0)]);
  40024. for (_i = 0; _i < t1; ++_i)
  40025. B.removeFirstWhere(oldNumerators, new T.SassNumber_valueInUnits_closure(_box_0, _this, newNumerators[_i]), new T.SassNumber_valueInUnits_closure0(_this, newNumerators, newDenominators));
  40026. t1 = _this.denominatorUnits;
  40027. oldDenominators = H.setRuntimeTypeInfo(t1.slice(0), [H.getTypeArgumentByIndex(t1, 0)]);
  40028. for (t3 = newDenominators.length, _i = 0; _i < t3; ++_i)
  40029. B.removeFirstWhere(oldDenominators, new T.SassNumber_valueInUnits_closure1(_box_0, _this, newDenominators[_i]), new T.SassNumber_valueInUnits_closure2(_this, newNumerators, newDenominators));
  40030. if (oldNumerators.length !== 0 || oldDenominators.length !== 0)
  40031. throw H.wrapException(E.SassScriptException$("Incompatible units " + _this._unitString$2(t2, t1) + " and " + _this._unitString$2(newNumerators, newDenominators) + "."));
  40032. return _box_0.value;
  40033. },
  40034. isComparableTo$1: function(other) {
  40035. var t1, exception;
  40036. if (this.numeratorUnits.length !== 0 || this.denominatorUnits.length !== 0)
  40037. t1 = !(other.numeratorUnits.length !== 0 || other.denominatorUnits.length !== 0);
  40038. else
  40039. t1 = true;
  40040. if (t1)
  40041. return true;
  40042. try {
  40043. this.greaterThan$1(other);
  40044. return true;
  40045. } catch (exception) {
  40046. if (H.unwrapException(exception) instanceof E.SassScriptException)
  40047. return false;
  40048. else
  40049. throw exception;
  40050. }
  40051. },
  40052. greaterThan$1: function(other) {
  40053. if (other instanceof T.SassNumber)
  40054. return this._coerceUnits$2(other, T.number__fuzzyGreaterThan$closure()) ? C.SassBoolean_true : C.SassBoolean_false;
  40055. throw H.wrapException(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " > " + H.S(other) + '".'));
  40056. },
  40057. greaterThanOrEquals$1: function(other) {
  40058. if (other instanceof T.SassNumber)
  40059. return this._coerceUnits$2(other, T.number__fuzzyGreaterThanOrEquals$closure()) ? C.SassBoolean_true : C.SassBoolean_false;
  40060. throw H.wrapException(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " >= " + H.S(other) + '".'));
  40061. },
  40062. lessThan$1: function(other) {
  40063. if (other instanceof T.SassNumber)
  40064. return this._coerceUnits$2(other, T.number__fuzzyLessThan$closure()) ? C.SassBoolean_true : C.SassBoolean_false;
  40065. throw H.wrapException(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " < " + H.S(other) + '".'));
  40066. },
  40067. lessThanOrEquals$1: function(other) {
  40068. if (other instanceof T.SassNumber)
  40069. return this._coerceUnits$2(other, T.number__fuzzyLessThanOrEquals$closure()) ? C.SassBoolean_true : C.SassBoolean_false;
  40070. throw H.wrapException(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " <= " + H.S(other) + '".'));
  40071. },
  40072. modulo$1: function(other) {
  40073. if (other instanceof T.SassNumber)
  40074. return this._coerceNumber$2(other, new T.SassNumber_modulo_closure());
  40075. throw H.wrapException(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " % " + H.S(other) + '".'));
  40076. },
  40077. plus$1: function(other) {
  40078. var t1 = J.getInterceptor$(other);
  40079. if (!!t1.$isSassNumber)
  40080. return this._coerceNumber$2(other, new T.SassNumber_plus_closure());
  40081. if (!t1.$isSassColor)
  40082. return this.super$Value$plus(other);
  40083. throw H.wrapException(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " + " + other.toString$0(0) + '".'));
  40084. },
  40085. minus$1: function(other) {
  40086. var t1 = J.getInterceptor$(other);
  40087. if (!!t1.$isSassNumber)
  40088. return this._coerceNumber$2(other, new T.SassNumber_minus_closure());
  40089. if (!t1.$isSassColor)
  40090. return this.super$Value$minus(other);
  40091. throw H.wrapException(E.SassScriptException$('Undefined operation "' + this.toString$0(0) + " - " + other.toString$0(0) + '".'));
  40092. },
  40093. times$1: function(other) {
  40094. var _this = this;
  40095. if (other instanceof T.SassNumber)
  40096. return _this._multiplyUnits$5(_this.value * other.value, _this.numeratorUnits, _this.denominatorUnits, other.numeratorUnits, other.denominatorUnits);
  40097. throw H.wrapException(E.SassScriptException$('Undefined operation "' + _this.toString$0(0) + " * " + H.S(other) + '".'));
  40098. },
  40099. dividedBy$1: function(other) {
  40100. var _this = this;
  40101. if (other instanceof T.SassNumber)
  40102. return _this._multiplyUnits$5(_this.value / other.value, _this.numeratorUnits, _this.denominatorUnits, other.denominatorUnits, other.numeratorUnits);
  40103. return _this.super$Value$dividedBy(other);
  40104. },
  40105. unaryPlus$0: function() {
  40106. return this;
  40107. },
  40108. unaryMinus$0: function() {
  40109. return T.SassNumber$withUnits(-this.value, this.denominatorUnits, this.numeratorUnits);
  40110. },
  40111. _coerceNumber$2: function(other, operation) {
  40112. var _this = this,
  40113. result = _this._coerceUnits$2(other, operation),
  40114. t1 = _this.numeratorUnits,
  40115. t2 = t1.length === 0;
  40116. t1 = !t2 || _this.denominatorUnits.length !== 0 ? t1 : other.numeratorUnits;
  40117. return T.SassNumber$withUnits(result, !t2 || _this.denominatorUnits.length !== 0 ? _this.denominatorUnits : other.denominatorUnits, t1);
  40118. },
  40119. _coerceUnits$1$2: function(other, operation) {
  40120. var num1, num2, _this = this,
  40121. t1 = _this.numeratorUnits;
  40122. if (t1.length !== 0 || _this.denominatorUnits.length !== 0) {
  40123. num1 = _this.value;
  40124. num2 = other.valueInUnits$2(t1, _this.denominatorUnits);
  40125. } else {
  40126. num1 = _this.valueInUnits$2(other.numeratorUnits, other.denominatorUnits);
  40127. num2 = other.value;
  40128. }
  40129. return operation.call$2(num1, num2);
  40130. },
  40131. _coerceUnits$2: function(other, operation) {
  40132. return this._coerceUnits$1$2(other, operation, null);
  40133. },
  40134. _multiplyUnits$5: function(value, numerators1, denominators1, numerators2, denominators2) {
  40135. var t1, newNumerators, mutableDenominators2, _i, numerator, mutableDenominators1, _this = this, _box_0 = {};
  40136. _box_0.value = value;
  40137. t1 = numerators1.length;
  40138. if (t1 === 0) {
  40139. if (denominators2.length === 0 && !_this._areAnyConvertible$2(denominators1, numerators2))
  40140. return T.SassNumber$withUnits(value, denominators1, numerators2);
  40141. else if (denominators1.length === 0)
  40142. return T.SassNumber$withUnits(value, denominators2, numerators2);
  40143. } else if (numerators2.length === 0)
  40144. if (denominators2.length === 0)
  40145. return T.SassNumber$withUnits(value, denominators2, numerators1);
  40146. else if (denominators1.length === 0 && !_this._areAnyConvertible$2(numerators1, denominators2))
  40147. return T.SassNumber$withUnits(value, denominators2, numerators1);
  40148. newNumerators = H.setRuntimeTypeInfo([], [P.String]);
  40149. mutableDenominators2 = H.setRuntimeTypeInfo(denominators2.slice(0), [H.getTypeArgumentByIndex(denominators2, 0)]);
  40150. for (_i = 0; _i < t1; ++_i) {
  40151. numerator = numerators1[_i];
  40152. B.removeFirstWhere(mutableDenominators2, new T.SassNumber__multiplyUnits_closure(_box_0, _this, numerator), new T.SassNumber__multiplyUnits_closure0(newNumerators, numerator));
  40153. }
  40154. mutableDenominators1 = H.setRuntimeTypeInfo(denominators1.slice(0), [H.getTypeArgumentByIndex(denominators1, 0)]);
  40155. for (t1 = numerators2.length, _i = 0; _i < t1; ++_i) {
  40156. numerator = numerators2[_i];
  40157. B.removeFirstWhere(mutableDenominators1, new T.SassNumber__multiplyUnits_closure1(_box_0, _this, numerator), new T.SassNumber__multiplyUnits_closure2(newNumerators, numerator));
  40158. }
  40159. t1 = _box_0.value;
  40160. C.JSArray_methods.addAll$1(mutableDenominators1, mutableDenominators2);
  40161. return T.SassNumber$withUnits(t1, mutableDenominators1, newNumerators);
  40162. },
  40163. _areAnyConvertible$2: function(units1, units2) {
  40164. return C.JSArray_methods.any$1(units1, new T.SassNumber__areAnyConvertible_closure(this, units2));
  40165. },
  40166. _conversionFactor$2: function(unit1, unit2) {
  40167. var innerMap;
  40168. if (unit1 == unit2)
  40169. return 1;
  40170. innerMap = $.$get$_conversions().$index(0, unit1);
  40171. if (innerMap == null)
  40172. return;
  40173. return innerMap.$index(0, unit2);
  40174. },
  40175. _unitString$2: function(numerators, denominators) {
  40176. var t1;
  40177. if (numerators.length === 0) {
  40178. t1 = denominators.length;
  40179. if (t1 === 0)
  40180. return "no units";
  40181. if (t1 === 1)
  40182. return J.$add$ansx(C.JSArray_methods.get$single(denominators), "^-1");
  40183. return "(" + C.JSArray_methods.join$1(denominators, "*") + ")^-1";
  40184. }
  40185. if (denominators.length === 0)
  40186. return C.JSArray_methods.join$1(numerators, "*");
  40187. return C.JSArray_methods.join$1(numerators, "*") + "/" + C.JSArray_methods.join$1(denominators, "*");
  40188. },
  40189. $eq: function(_, other) {
  40190. var t1, t2, t3, exception, _this = this;
  40191. if (other == null)
  40192. return false;
  40193. if (other instanceof T.SassNumber) {
  40194. t1 = _this.numeratorUnits.length === 0;
  40195. t2 = !t1 || _this.denominatorUnits.length !== 0;
  40196. t3 = other;
  40197. if (t2 !== (t3.numeratorUnits.length !== 0 || t3.denominatorUnits.length !== 0))
  40198. return false;
  40199. if (!(!t1 || _this.denominatorUnits.length !== 0))
  40200. return Math.abs(_this.value - other.value) < $.$get$epsilon();
  40201. try {
  40202. t1 = _this._coerceUnits$2(other, T.number__fuzzyEquals$closure());
  40203. return t1;
  40204. } catch (exception) {
  40205. if (H.unwrapException(exception) instanceof E.SassScriptException)
  40206. return false;
  40207. else
  40208. throw exception;
  40209. }
  40210. } else
  40211. return false;
  40212. },
  40213. get$hashCode: function(_) {
  40214. var _this = this;
  40215. return C.JSInt_methods.get$hashCode(C.JSDouble_methods.round$0(_this.value * _this._canonicalMultiplier$1(_this.numeratorUnits) / _this._canonicalMultiplier$1(_this.denominatorUnits) * $.$get$_inverseEpsilon()));
  40216. },
  40217. _canonicalMultiplier$1: function(units) {
  40218. return C.JSArray_methods.fold$2(units, 1, new T.SassNumber__canonicalMultiplier_closure());
  40219. },
  40220. _number0$_exception$2: function(message, $name) {
  40221. return new E.SassScriptException($name == null ? message : "$" + $name + ": " + message);
  40222. }
  40223. };
  40224. T.SassNumber_valueInUnits_closure.prototype = {
  40225. call$1: function(oldNumerator) {
  40226. var t1,
  40227. factor = this.$this._conversionFactor$2(this.newNumerator, oldNumerator);
  40228. if (factor == null)
  40229. return false;
  40230. t1 = this._box_0;
  40231. t1.value = t1.value * factor;
  40232. return true;
  40233. }
  40234. };
  40235. T.SassNumber_valueInUnits_closure0.prototype = {
  40236. call$0: function() {
  40237. var t1 = this.$this;
  40238. throw H.wrapException(E.SassScriptException$("Incompatible units " + t1._unitString$2(t1.numeratorUnits, t1.denominatorUnits) + " and " + t1._unitString$2(this.newNumerators, this.newDenominators) + "."));
  40239. }
  40240. };
  40241. T.SassNumber_valueInUnits_closure1.prototype = {
  40242. call$1: function(oldDenominator) {
  40243. var t1,
  40244. factor = this.$this._conversionFactor$2(this.newDenominator, oldDenominator);
  40245. if (factor == null)
  40246. return false;
  40247. t1 = this._box_0;
  40248. t1.value = t1.value / factor;
  40249. return true;
  40250. }
  40251. };
  40252. T.SassNumber_valueInUnits_closure2.prototype = {
  40253. call$0: function() {
  40254. var t1 = this.$this;
  40255. throw H.wrapException(E.SassScriptException$("Incompatible units " + t1._unitString$2(t1.numeratorUnits, t1.denominatorUnits) + " and " + t1._unitString$2(this.newNumerators, this.newDenominators) + "."));
  40256. }
  40257. };
  40258. T.SassNumber_modulo_closure.prototype = {
  40259. call$2: function(num1, num2) {
  40260. var t1;
  40261. if (num2 > 0)
  40262. return C.JSNumber_methods.$mod(num1, num2);
  40263. if (num2 === 0)
  40264. return 0 / 0;
  40265. t1 = C.JSNumber_methods.$mod(num1, num2);
  40266. return t1 === 0 ? 0 : t1 + num2;
  40267. }
  40268. };
  40269. T.SassNumber_plus_closure.prototype = {
  40270. call$2: function(num1, num2) {
  40271. return num1 + num2;
  40272. }
  40273. };
  40274. T.SassNumber_minus_closure.prototype = {
  40275. call$2: function(num1, num2) {
  40276. return num1 - num2;
  40277. }
  40278. };
  40279. T.SassNumber__multiplyUnits_closure.prototype = {
  40280. call$1: function(denominator) {
  40281. var factor = this.$this._conversionFactor$2(this.numerator, denominator);
  40282. if (factor == null)
  40283. return false;
  40284. this._box_0.value /= factor;
  40285. return true;
  40286. }
  40287. };
  40288. T.SassNumber__multiplyUnits_closure0.prototype = {
  40289. call$0: function() {
  40290. this.newNumerators.push(this.numerator);
  40291. return;
  40292. }
  40293. };
  40294. T.SassNumber__multiplyUnits_closure1.prototype = {
  40295. call$1: function(denominator) {
  40296. var factor = this.$this._conversionFactor$2(this.numerator, denominator);
  40297. if (factor == null)
  40298. return false;
  40299. this._box_0.value /= factor;
  40300. return true;
  40301. }
  40302. };
  40303. T.SassNumber__multiplyUnits_closure2.prototype = {
  40304. call$0: function() {
  40305. this.newNumerators.push(this.numerator);
  40306. return;
  40307. }
  40308. };
  40309. T.SassNumber__areAnyConvertible_closure.prototype = {
  40310. call$1: function(unit1) {
  40311. var t1 = $.$get$_conversions();
  40312. if (!t1.containsKey$1(unit1))
  40313. return C.JSArray_methods.contains$1(this.units2, unit1);
  40314. return C.JSArray_methods.any$1(this.units2, t1.$index(0, unit1).get$containsKey());
  40315. }
  40316. };
  40317. T.SassNumber__canonicalMultiplier_closure.prototype = {
  40318. call$2: function(multiplier, unit) {
  40319. var t1,
  40320. innerMap = $.$get$_conversions().$index(0, unit);
  40321. if (innerMap == null)
  40322. t1 = multiplier;
  40323. else {
  40324. t1 = innerMap.get$values();
  40325. t1 = multiplier / t1.get$first(t1);
  40326. }
  40327. return t1;
  40328. }
  40329. };
  40330. D.SassString.prototype = {
  40331. get$sassLength: function() {
  40332. var t1 = this._sassLength;
  40333. if (t1 == null) {
  40334. t1 = this.text;
  40335. t1.toString;
  40336. t1 = new P.Runes(t1);
  40337. t1 = this._sassLength = t1.get$length(t1);
  40338. }
  40339. return t1;
  40340. },
  40341. get$isSpecialNumber: function() {
  40342. var t1, t2;
  40343. if (this.hasQuotes)
  40344. return false;
  40345. t1 = this.text;
  40346. if (t1.length < 6)
  40347. return false;
  40348. t2 = J.getInterceptor$s(t1)._codeUnitAt$1(t1, 0) | 32;
  40349. if (t2 === 99) {
  40350. if ((C.JSString_methods._codeUnitAt$1(t1, 1) | 32) !== 97)
  40351. return false;
  40352. if ((C.JSString_methods._codeUnitAt$1(t1, 2) | 32) !== 108)
  40353. return false;
  40354. if ((C.JSString_methods._codeUnitAt$1(t1, 3) | 32) !== 99)
  40355. return false;
  40356. return C.JSString_methods._codeUnitAt$1(t1, 4) === 40;
  40357. } else if (t2 === 118) {
  40358. if ((C.JSString_methods._codeUnitAt$1(t1, 1) | 32) !== 97)
  40359. return false;
  40360. if ((C.JSString_methods._codeUnitAt$1(t1, 2) | 32) !== 114)
  40361. return false;
  40362. return C.JSString_methods._codeUnitAt$1(t1, 3) === 40;
  40363. } else if (t2 === 101) {
  40364. if ((C.JSString_methods._codeUnitAt$1(t1, 1) | 32) !== 110)
  40365. return false;
  40366. if ((C.JSString_methods._codeUnitAt$1(t1, 2) | 32) !== 118)
  40367. return false;
  40368. return C.JSString_methods._codeUnitAt$1(t1, 3) === 40;
  40369. } else if (t2 === 109) {
  40370. t2 = C.JSString_methods._codeUnitAt$1(t1, 1) | 32;
  40371. if (t2 === 97) {
  40372. if ((C.JSString_methods._codeUnitAt$1(t1, 2) | 32) !== 120)
  40373. return false;
  40374. return C.JSString_methods._codeUnitAt$1(t1, 3) === 40;
  40375. } else if (t2 === 105) {
  40376. if ((C.JSString_methods._codeUnitAt$1(t1, 2) | 32) !== 110)
  40377. return false;
  40378. return C.JSString_methods._codeUnitAt$1(t1, 3) === 40;
  40379. } else
  40380. return false;
  40381. } else
  40382. return false;
  40383. },
  40384. get$isVar: function() {
  40385. if (this.hasQuotes)
  40386. return false;
  40387. var t1 = this.text;
  40388. if (t1.length < 8)
  40389. return false;
  40390. return (J.getInterceptor$s(t1)._codeUnitAt$1(t1, 0) | 32) === 118 && (C.JSString_methods._codeUnitAt$1(t1, 1) | 32) === 97 && (C.JSString_methods._codeUnitAt$1(t1, 2) | 32) === 114 && C.JSString_methods._codeUnitAt$1(t1, 3) === 40;
  40391. },
  40392. get$isBlank: function() {
  40393. return !this.hasQuotes && this.text.length === 0;
  40394. },
  40395. accept$1$1: function(visitor) {
  40396. var t1 = visitor._quote && this.hasQuotes,
  40397. t2 = this.text;
  40398. if (t1)
  40399. visitor._visitQuotedString$1(t2);
  40400. else
  40401. visitor._visitUnquotedString$1(t2);
  40402. return;
  40403. },
  40404. accept$1: function(visitor) {
  40405. return this.accept$1$1(visitor, null);
  40406. },
  40407. assertString$1: function($name) {
  40408. return this;
  40409. },
  40410. plus$1: function(other) {
  40411. var t1 = this.text,
  40412. t2 = this.hasQuotes;
  40413. if (other instanceof D.SassString)
  40414. return new D.SassString(J.$add$ansx(t1, other.text), t2);
  40415. else {
  40416. other.toString;
  40417. return new D.SassString(J.$add$ansx(t1, N.serializeValue(other, false, true)), t2);
  40418. }
  40419. },
  40420. $eq: function(_, other) {
  40421. if (other == null)
  40422. return false;
  40423. return other instanceof D.SassString && this.text == other.text;
  40424. },
  40425. get$hashCode: function(_) {
  40426. return J.get$hashCode$(this.text);
  40427. }
  40428. };
  40429. E._EvaluateVisitor0.prototype = {
  40430. _EvaluateVisitor$5$functions$importCache$logger$nodeImporter$sourceMap0: function(functions, importCache, logger, nodeImporter, sourceMap) {
  40431. var t11, metaFunctions, _i, metaModule, module, $function, _this = this,
  40432. _s20_ = "$name, $module: null",
  40433. t1 = B.ArgumentDeclaration,
  40434. t2 = [t1, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}],
  40435. t3 = [[S.Tuple2, B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}]],
  40436. t4 = H.setRuntimeTypeInfo([new S.Tuple2(B.ArgumentDeclaration_ArgumentDeclaration$parse(_s20_), new E._EvaluateVisitor_closure8(_this), t2)], t3),
  40437. t5 = H.setRuntimeTypeInfo([new S.Tuple2(B.ArgumentDeclaration_ArgumentDeclaration$parse("$name"), new E._EvaluateVisitor_closure9(_this), t2)], t3),
  40438. t6 = H.setRuntimeTypeInfo([new S.Tuple2(B.ArgumentDeclaration_ArgumentDeclaration$parse(_s20_), new E._EvaluateVisitor_closure10(_this), t2)], t3),
  40439. t7 = H.setRuntimeTypeInfo([new S.Tuple2(B.ArgumentDeclaration_ArgumentDeclaration$parse(_s20_), new E._EvaluateVisitor_closure11(_this), t2)], t3),
  40440. t8 = H.setRuntimeTypeInfo([new S.Tuple2(B.ArgumentDeclaration_ArgumentDeclaration$parse(""), new E._EvaluateVisitor_closure12(_this), t2)], t3),
  40441. t9 = H.setRuntimeTypeInfo([new S.Tuple2(B.ArgumentDeclaration_ArgumentDeclaration$parse("$module"), new E._EvaluateVisitor_closure13(_this), t2)], t3),
  40442. t10 = H.setRuntimeTypeInfo([new S.Tuple2(B.ArgumentDeclaration_ArgumentDeclaration$parse("$module"), new E._EvaluateVisitor_closure14(_this), t2)], t3);
  40443. t3 = H.setRuntimeTypeInfo([new S.Tuple2(B.ArgumentDeclaration_ArgumentDeclaration$parse("$name, $css: false, $module: null"), new E._EvaluateVisitor_closure15(_this), t2)], t3);
  40444. t2 = B.ArgumentDeclaration_ArgumentDeclaration$parse("$function, $args...");
  40445. t11 = H.setRuntimeTypeInfo([], [[S.Tuple2, B.ArgumentDeclaration, {func: 1, ret: {futureOr: 1, type: F.Value}, args: [[P.List, F.Value]]}]]);
  40446. t11.push(new S.Tuple2(t2, new E._EvaluateVisitor_closure16(_this), [t1, {func: 1, ret: {futureOr: 1, type: F.Value}, args: [[P.List, F.Value]]}]));
  40447. metaFunctions = [new Q.BuiltInCallable("global-variable-exists", t4), new Q.BuiltInCallable("variable-exists", t5), new Q.BuiltInCallable("function-exists", t6), new Q.BuiltInCallable("mixin-exists", t7), new Q.BuiltInCallable("content-exists", t8), new Q.BuiltInCallable("module-variables", t9), new Q.BuiltInCallable("module-functions", t10), new Q.BuiltInCallable("get-function", t3), new S.AsyncBuiltInCallable("call", t11)];
  40448. t11 = S.AsyncBuiltInCallable;
  40449. t3 = H.setRuntimeTypeInfo([], [t11]);
  40450. for (t1 = $.$get$global(), t1 = new H.ListIterator(t1, t1.get$length(t1)); t1.moveNext$0();)
  40451. t3.push(t1.__internal$_current);
  40452. for (_i = 0; _i < 9; ++_i)
  40453. t3.push(metaFunctions[_i]);
  40454. metaModule = Q.BuiltInModule$("meta", t3, t11);
  40455. t1 = H.setRuntimeTypeInfo([], [[Q.BuiltInModule, S.AsyncBuiltInCallable]]);
  40456. for (t2 = $.$get$coreModules(), t2 = new H.ListIterator(t2, t2.get$length(t2)); t2.moveNext$0();)
  40457. t1.push(t2.__internal$_current);
  40458. t1.push(metaModule);
  40459. t2 = t1.length;
  40460. t3 = _this._async_evaluate$_builtInModules;
  40461. _i = 0;
  40462. for (; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
  40463. module = t1[_i];
  40464. t3.$indexSet(0, module.url, module);
  40465. }
  40466. t1 = H.setRuntimeTypeInfo([], [B.AsyncCallable]);
  40467. if (functions != null)
  40468. for (t2 = functions.length, _i = 0; _i < functions.length; functions.length === t2 || (0, H.throwConcurrentModificationError)(functions), ++_i)
  40469. t1.push(functions[_i]);
  40470. for (t2 = $.$get$globalFunctions(), t2 = new H.ListIterator(t2, t2.get$length(t2)); t2.moveNext$0();)
  40471. t1.push(t2.__internal$_current);
  40472. for (_i = 0; _i < 9; ++_i)
  40473. t1.push(metaFunctions[_i]);
  40474. for (t2 = t1.length, t3 = _this._async_evaluate$_builtInFunctions, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
  40475. $function = t1[_i];
  40476. t3.$indexSet(0, $function.get$name(), $function);
  40477. }
  40478. },
  40479. run$2: function(_, importer, node) {
  40480. return this.run$body$_EvaluateVisitor(_, importer, node);
  40481. },
  40482. run$body$_EvaluateVisitor: function(_, importer, node) {
  40483. var $async$goto = 0,
  40484. $async$completer = P._makeAsyncAwaitCompleter(E.EvaluateResult),
  40485. $async$returnValue, $async$self = this;
  40486. var $async$run$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  40487. if ($async$errorCode === 1)
  40488. return P._asyncRethrow($async$result, $async$completer);
  40489. while (true)
  40490. switch ($async$goto) {
  40491. case 0:
  40492. // Function start
  40493. $async$returnValue = $async$self._async_evaluate$_withWarnCallback$1(new E._EvaluateVisitor_run_closure0($async$self, node, importer));
  40494. // goto return
  40495. $async$goto = 1;
  40496. break;
  40497. case 1:
  40498. // return
  40499. return P._asyncReturn($async$returnValue, $async$completer);
  40500. }
  40501. });
  40502. return P._asyncStartSync($async$run$2, $async$completer);
  40503. },
  40504. _async_evaluate$_withWarnCallback$1$1: function(callback) {
  40505. return N.withWarnCallback(new E._EvaluateVisitor__withWarnCallback_closure0(this), callback);
  40506. },
  40507. _async_evaluate$_withWarnCallback$1: function(callback) {
  40508. return this._async_evaluate$_withWarnCallback$1$1(callback, null);
  40509. },
  40510. _async_evaluate$_loadModule$4: function(url, stackFrame, nodeForSpan, callback) {
  40511. return this._loadModule$body$_EvaluateVisitor(url, stackFrame, nodeForSpan, callback);
  40512. },
  40513. _loadModule$body$_EvaluateVisitor: function(url, stackFrame, nodeForSpan, callback) {
  40514. var $async$goto = 0,
  40515. $async$completer = P._makeAsyncAwaitCompleter(-1),
  40516. $async$returnValue, $async$self = this, builtInModule;
  40517. var $async$_async_evaluate$_loadModule$4 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  40518. if ($async$errorCode === 1)
  40519. return P._asyncRethrow($async$result, $async$completer);
  40520. while (true)
  40521. switch ($async$goto) {
  40522. case 0:
  40523. // Function start
  40524. builtInModule = $async$self._async_evaluate$_builtInModules.$index(0, url);
  40525. if (builtInModule != null) {
  40526. callback.call$1(builtInModule);
  40527. // goto return
  40528. $async$goto = 1;
  40529. break;
  40530. }
  40531. $async$goto = 3;
  40532. return P._asyncAwait($async$self._async_evaluate$_withStackFrame$1$3(stackFrame, nodeForSpan, new E._EvaluateVisitor__loadModule_closure0($async$self, url, nodeForSpan, callback), P.Null), $async$_async_evaluate$_loadModule$4);
  40533. case 3:
  40534. // returning from await.
  40535. case 1:
  40536. // return
  40537. return P._asyncReturn($async$returnValue, $async$completer);
  40538. }
  40539. });
  40540. return P._asyncStartSync($async$_async_evaluate$_loadModule$4, $async$completer);
  40541. },
  40542. _async_evaluate$_execute$2: function(importer, stylesheet) {
  40543. return B.putIfAbsentAsync(this._async_evaluate$_modules, stylesheet.span.file.url, new E._EvaluateVisitor__execute_closure0(this, importer, stylesheet), P.Uri, [G.Module, B.AsyncCallable]);
  40544. },
  40545. _async_evaluate$_addOutOfOrderImports$0: function() {
  40546. var t1, t2, statements, _this = this;
  40547. if (_this._async_evaluate$_outOfOrderImports == null)
  40548. return _this._async_evaluate$_root.children;
  40549. t1 = B.ModifiableCssNode;
  40550. t2 = new Array(J.get$length$asx(_this._async_evaluate$_root.children._collection$_source) + _this._async_evaluate$_outOfOrderImports.length);
  40551. t2.fixed$length = Array;
  40552. statements = new G.FixedLengthListBuilder(H.setRuntimeTypeInfo(t2, [t1]), [t1]);
  40553. statements.addRange$3(_this._async_evaluate$_root.children, 0, _this._async_evaluate$_endOfImports);
  40554. statements.addAll$1(0, _this._async_evaluate$_outOfOrderImports);
  40555. statements.addRange$2(_this._async_evaluate$_root.children, _this._async_evaluate$_endOfImports);
  40556. return statements.build$0();
  40557. },
  40558. _async_evaluate$_combineCss$2$clone: function(root, clone) {
  40559. var selectors, unsatisfiedExtension, sortedModules, t1, t2, imports, css, t3, statements, index, _this = this;
  40560. if (!C.JSArray_methods.any$1(root.get$upstream(), new E._EvaluateVisitor__combineCss_closure2())) {
  40561. selectors = root.get$extender().get$simpleSelectors();
  40562. unsatisfiedExtension = B.firstOrNull(root.get$extender().extensionsWhereTarget$1(new E._EvaluateVisitor__combineCss_closure3(selectors)));
  40563. if (unsatisfiedExtension != null)
  40564. _this._async_evaluate$_throwForUnsatisfiedExtension$1(unsatisfiedExtension);
  40565. return root.get$css(root);
  40566. }
  40567. sortedModules = _this._async_evaluate$_topologicalModules$1(root);
  40568. if (clone)
  40569. sortedModules = new H.MappedListIterable(sortedModules, new E._EvaluateVisitor__combineCss_closure4(), [H.getTypeArgumentByIndex(sortedModules, 0), [G.Module, B.AsyncCallable]]).toList$0(0);
  40570. _this._async_evaluate$_extendModules$1(sortedModules);
  40571. t1 = B.CssNode;
  40572. t2 = [t1];
  40573. imports = H.setRuntimeTypeInfo([], t2);
  40574. css = H.setRuntimeTypeInfo([], t2);
  40575. for (t2 = J.get$reversed$ax(sortedModules), t2 = new H.ListIterator(t2, t2.get$length(t2)); t2.moveNext$0();) {
  40576. t3 = t2.__internal$_current;
  40577. statements = t3.get$css(t3).get$children();
  40578. index = _this._async_evaluate$_indexAfterImports$1(statements);
  40579. t3 = J.getInterceptor$ax(statements);
  40580. C.JSArray_methods.addAll$1(imports, t3.getRange$2(statements, 0, index));
  40581. C.JSArray_methods.addAll$1(css, t3.getRange$2(statements, index, t3.get$length(statements)));
  40582. }
  40583. return new V.CssStylesheet(new P.UnmodifiableListView(C.JSArray_methods.$add(imports, css), [t1]), root.get$css(root).get$span());
  40584. },
  40585. _async_evaluate$_combineCss$1: function(root) {
  40586. return this._async_evaluate$_combineCss$2$clone(root, false);
  40587. },
  40588. _async_evaluate$_extendModules$1: function(sortedModules) {
  40589. var t1, t2, originalSelectors, extenders, t3, t4, _i,
  40590. downstreamExtenders = P.LinkedHashMap_LinkedHashMap$_empty(P.Uri, [P.List, F.Extender]),
  40591. unsatisfiedExtensions = new P._LinkedIdentityHashSet([S.Extension]);
  40592. for (t1 = J.get$iterator$ax(sortedModules); t1.moveNext$0();) {
  40593. t2 = t1.get$current(t1);
  40594. originalSelectors = t2.get$extender().get$simpleSelectors().toSet$0(0);
  40595. unsatisfiedExtensions.addAll$1(0, t2.get$extender().extensionsWhereTarget$1(new E._EvaluateVisitor__extendModules_closure1(originalSelectors)));
  40596. extenders = downstreamExtenders.$index(0, t2.get$url());
  40597. if (extenders != null)
  40598. t2.get$extender().addExtensions$1(extenders);
  40599. t3 = t2.get$extender();
  40600. if (t3.get$isEmpty(t3))
  40601. continue;
  40602. for (t3 = t2.get$upstream(), t4 = t3.length, _i = 0; _i < t3.length; t3.length === t4 || (0, H.throwConcurrentModificationError)(t3), ++_i)
  40603. J.add$1$ax(downstreamExtenders.putIfAbsent$2(t3[_i].get$url(), new E._EvaluateVisitor__extendModules_closure2()), t2.get$extender());
  40604. unsatisfiedExtensions.removeAll$1(t2.get$extender().extensionsWhereTarget$1(originalSelectors.get$contains(originalSelectors)));
  40605. }
  40606. if (unsatisfiedExtensions._collection$_length !== 0)
  40607. this._async_evaluate$_throwForUnsatisfiedExtension$1(unsatisfiedExtensions.get$first(unsatisfiedExtensions));
  40608. },
  40609. _async_evaluate$_throwForUnsatisfiedExtension$1: function(extension) {
  40610. throw H.wrapException(E.SassException$('The target selector was not found.\nUse "@extend ' + H.S(extension.target) + ' !optional" to avoid this error.', extension.span));
  40611. },
  40612. _async_evaluate$_topologicalModules$1: function(root) {
  40613. var t1 = [G.Module, B.AsyncCallable],
  40614. seen = P.LinkedHashSet_LinkedHashSet(t1),
  40615. sorted = Q.QueueList$(null, t1);
  40616. new E._EvaluateVisitor__topologicalModules_visitModule0(seen, sorted).call$1(root);
  40617. return sorted;
  40618. },
  40619. _async_evaluate$_indexAfterImports$1: function(statements) {
  40620. var t1, lastImport, i, t2;
  40621. for (t1 = J.getInterceptor$asx(statements), lastImport = -1, i = 0; i < t1.get$length(statements); ++i) {
  40622. t2 = J.getInterceptor$(t1.$index(statements, i));
  40623. if (!!t2.$isCssImport)
  40624. lastImport = i;
  40625. else if (!t2.$isCssComment)
  40626. break;
  40627. }
  40628. return lastImport + 1;
  40629. },
  40630. visitStylesheet$1: function(node) {
  40631. return this.visitStylesheet$body$_EvaluateVisitor(node);
  40632. },
  40633. visitStylesheet$body$_EvaluateVisitor: function(node) {
  40634. var $async$goto = 0,
  40635. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  40636. $async$returnValue, $async$self = this, t1, t2, _i;
  40637. var $async$visitStylesheet$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  40638. if ($async$errorCode === 1)
  40639. return P._asyncRethrow($async$result, $async$completer);
  40640. while (true)
  40641. switch ($async$goto) {
  40642. case 0:
  40643. // Function start
  40644. t1 = node.children, t2 = t1.length, _i = 0;
  40645. case 3:
  40646. // for condition
  40647. if (!(_i < t2)) {
  40648. // goto after for
  40649. $async$goto = 5;
  40650. break;
  40651. }
  40652. $async$goto = 6;
  40653. return P._asyncAwait(t1[_i].accept$1($async$self), $async$visitStylesheet$1);
  40654. case 6:
  40655. // returning from await.
  40656. case 4:
  40657. // for update
  40658. ++_i;
  40659. // goto for condition
  40660. $async$goto = 3;
  40661. break;
  40662. case 5:
  40663. // after for
  40664. // goto return
  40665. $async$goto = 1;
  40666. break;
  40667. case 1:
  40668. // return
  40669. return P._asyncReturn($async$returnValue, $async$completer);
  40670. }
  40671. });
  40672. return P._asyncStartSync($async$visitStylesheet$1, $async$completer);
  40673. },
  40674. visitAtRootRule$1: function(node) {
  40675. return this.visitAtRootRule$body$_EvaluateVisitor(node);
  40676. },
  40677. visitAtRootRule$body$_EvaluateVisitor: function(node) {
  40678. var $async$goto = 0,
  40679. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  40680. $async$returnValue, $async$self = this, root, innerCopy, outerCopy, copy, t1, query, $parent, included, $async$temp1, $async$temp2;
  40681. var $async$visitAtRootRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  40682. if ($async$errorCode === 1)
  40683. return P._asyncRethrow($async$result, $async$completer);
  40684. while (true)
  40685. switch ($async$goto) {
  40686. case 0:
  40687. // Function start
  40688. t1 = node.query;
  40689. $async$goto = t1 != null ? 3 : 5;
  40690. break;
  40691. case 3:
  40692. // then
  40693. $async$temp1 = t1;
  40694. $async$temp2 = E;
  40695. $async$goto = 6;
  40696. return P._asyncAwait($async$self._async_evaluate$_performInterpolation$2$warnForColor(t1, true), $async$visitAtRootRule$1);
  40697. case 6:
  40698. // returning from await.
  40699. $async$result = $async$self._async_evaluate$_adjustParseError$2($async$temp1, new $async$temp2._EvaluateVisitor_visitAtRootRule_closure2($async$self, $async$result));
  40700. // goto join
  40701. $async$goto = 4;
  40702. break;
  40703. case 5:
  40704. // else
  40705. $async$result = C.AtRootQuery_UsS;
  40706. case 4:
  40707. // join
  40708. query = $async$result;
  40709. $parent = $async$self._async_evaluate$_parent;
  40710. included = H.setRuntimeTypeInfo([], [B.ModifiableCssParentNode]);
  40711. for (; !J.getInterceptor$($parent).$isCssStylesheet;) {
  40712. if (!query.excludes$1($parent))
  40713. included.push($parent);
  40714. $parent = $parent._parent;
  40715. }
  40716. root = $async$self._async_evaluate$_trimIncluded$1(included);
  40717. $async$goto = root == $async$self._async_evaluate$_parent ? 7 : 8;
  40718. break;
  40719. case 7:
  40720. // then
  40721. $async$goto = 9;
  40722. return P._asyncAwait($async$self._async_evaluate$_environment.scope$1$2$when(new E._EvaluateVisitor_visitAtRootRule_closure3($async$self, node), node.hasDeclarations, P.Null), $async$visitAtRootRule$1);
  40723. case 9:
  40724. // returning from await.
  40725. // goto return
  40726. $async$goto = 1;
  40727. break;
  40728. case 8:
  40729. // join
  40730. innerCopy = included.length === 0 ? null : C.JSArray_methods.get$first(included).copyWithoutChildren$0();
  40731. for (t1 = H.SubListIterable$(included, 1, null, H.getTypeArgumentByIndex(included, 0)), t1 = new H.ListIterator(t1, t1.get$length(t1)), outerCopy = innerCopy; t1.moveNext$0(); outerCopy = copy) {
  40732. copy = t1.__internal$_current.copyWithoutChildren$0();
  40733. copy.addChild$1(outerCopy);
  40734. }
  40735. if (outerCopy != null)
  40736. root.addChild$1(outerCopy);
  40737. $async$goto = 10;
  40738. return P._asyncAwait($async$self._async_evaluate$_scopeForAtRoot$4(node, innerCopy == null ? root : innerCopy, query, included).call$1(new E._EvaluateVisitor_visitAtRootRule_closure4($async$self, node)), $async$visitAtRootRule$1);
  40739. case 10:
  40740. // returning from await.
  40741. // goto return
  40742. $async$goto = 1;
  40743. break;
  40744. case 1:
  40745. // return
  40746. return P._asyncReturn($async$returnValue, $async$completer);
  40747. }
  40748. });
  40749. return P._asyncStartSync($async$visitAtRootRule$1, $async$completer);
  40750. },
  40751. _async_evaluate$_trimIncluded$1: function(nodes) {
  40752. var $parent, innermostContiguous, i, t2, root,
  40753. t1 = nodes.length;
  40754. if (t1 === 0)
  40755. return this._async_evaluate$_root;
  40756. $parent = this._async_evaluate$_parent;
  40757. for (innermostContiguous = null, i = 0; i < t1; ++i) {
  40758. for (; $parent != nodes[i]; innermostContiguous = null)
  40759. $parent = $parent._parent;
  40760. if (innermostContiguous == null)
  40761. innermostContiguous = i;
  40762. $parent = $parent._parent;
  40763. }
  40764. t2 = this._async_evaluate$_root;
  40765. if ($parent != t2)
  40766. return t2;
  40767. root = nodes[innermostContiguous];
  40768. C.JSArray_methods.removeRange$2(nodes, innermostContiguous, t1);
  40769. return root;
  40770. },
  40771. _async_evaluate$_scopeForAtRoot$4: function(node, newParent, query, included) {
  40772. var _this = this,
  40773. scope = new E._EvaluateVisitor__scopeForAtRoot_closure5(_this, newParent, node),
  40774. t1 = query._all,
  40775. t2 = t1 || query._at_root_query$_rule,
  40776. t3 = query.include;
  40777. if (t2 !== t3)
  40778. scope = new E._EvaluateVisitor__scopeForAtRoot_closure6(_this, scope);
  40779. if (t1 ? !t3 : query.names.contains$1(0, "media") !== t3)
  40780. scope = new E._EvaluateVisitor__scopeForAtRoot_closure7(_this, scope);
  40781. if (_this._async_evaluate$_inKeyframes && query.names.contains$1(0, "keyframes") !== t3)
  40782. scope = new E._EvaluateVisitor__scopeForAtRoot_closure8(_this, scope);
  40783. return _this._async_evaluate$_inUnknownAtRule && !C.JSArray_methods.any$1(included, new E._EvaluateVisitor__scopeForAtRoot_closure9()) ? new E._EvaluateVisitor__scopeForAtRoot_closure10(_this, scope) : scope;
  40784. },
  40785. visitContentBlock$1: function(node) {
  40786. return H.throwExpression(P.UnsupportedError$("Evaluation handles @include and its content block together."));
  40787. },
  40788. visitContentRule$1: function(node) {
  40789. return this.visitContentRule$body$_EvaluateVisitor(node);
  40790. },
  40791. visitContentRule$body$_EvaluateVisitor: function(node) {
  40792. var $async$goto = 0,
  40793. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  40794. $async$returnValue, $async$self = this, $content;
  40795. var $async$visitContentRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  40796. if ($async$errorCode === 1)
  40797. return P._asyncRethrow($async$result, $async$completer);
  40798. while (true)
  40799. switch ($async$goto) {
  40800. case 0:
  40801. // Function start
  40802. $content = $async$self._async_evaluate$_environment._async_environment$_content;
  40803. if ($content == null) {
  40804. // goto return
  40805. $async$goto = 1;
  40806. break;
  40807. }
  40808. $async$goto = 3;
  40809. return P._asyncAwait($async$self._async_evaluate$_runUserDefinedCallable$4(node.$arguments, $content, node, new E._EvaluateVisitor_visitContentRule_closure0($async$self, $content)), $async$visitContentRule$1);
  40810. case 3:
  40811. // returning from await.
  40812. // goto return
  40813. $async$goto = 1;
  40814. break;
  40815. case 1:
  40816. // return
  40817. return P._asyncReturn($async$returnValue, $async$completer);
  40818. }
  40819. });
  40820. return P._asyncStartSync($async$visitContentRule$1, $async$completer);
  40821. },
  40822. visitDebugRule$1: function(node) {
  40823. return this.visitDebugRule$body$_EvaluateVisitor(node);
  40824. },
  40825. visitDebugRule$body$_EvaluateVisitor: function(node) {
  40826. var $async$goto = 0,
  40827. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  40828. $async$returnValue, $async$self = this, value, t1;
  40829. var $async$visitDebugRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  40830. if ($async$errorCode === 1)
  40831. return P._asyncRethrow($async$result, $async$completer);
  40832. while (true)
  40833. switch ($async$goto) {
  40834. case 0:
  40835. // Function start
  40836. $async$goto = 3;
  40837. return P._asyncAwait(node.expression.accept$1($async$self), $async$visitDebugRule$1);
  40838. case 3:
  40839. // returning from await.
  40840. value = $async$result;
  40841. t1 = J.getInterceptor$(value);
  40842. t1 = !!t1.$isSassString ? value.text : t1.toString$0(value);
  40843. $async$self._async_evaluate$_logger.debug$2(t1, node.span);
  40844. // goto return
  40845. $async$goto = 1;
  40846. break;
  40847. case 1:
  40848. // return
  40849. return P._asyncReturn($async$returnValue, $async$completer);
  40850. }
  40851. });
  40852. return P._asyncStartSync($async$visitDebugRule$1, $async$completer);
  40853. },
  40854. visitDeclaration$1: function(node) {
  40855. return this.visitDeclaration$body$_EvaluateVisitor(node);
  40856. },
  40857. visitDeclaration$body$_EvaluateVisitor: function(node) {
  40858. var $async$goto = 0,
  40859. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  40860. $async$returnValue, $async$self = this, $name, t1, cssValue, t2, oldDeclarationName, $async$temp1;
  40861. var $async$visitDeclaration$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  40862. if ($async$errorCode === 1)
  40863. return P._asyncRethrow($async$result, $async$completer);
  40864. while (true)
  40865. switch ($async$goto) {
  40866. case 0:
  40867. // Function start
  40868. if (!($async$self._async_evaluate$_styleRule != null && !$async$self._async_evaluate$_atRootExcludingStyleRule) && !$async$self._async_evaluate$_inUnknownAtRule && !$async$self._async_evaluate$_inKeyframes)
  40869. throw H.wrapException($async$self._async_evaluate$_exception$2("Declarations may only be used within style rules.", node.span));
  40870. $async$goto = 3;
  40871. return P._asyncAwait($async$self._async_evaluate$_interpolationToValue$2$warnForColor(node.name, true), $async$visitDeclaration$1);
  40872. case 3:
  40873. // returning from await.
  40874. $name = $async$result;
  40875. t1 = $async$self._async_evaluate$_declarationName;
  40876. if (t1 != null)
  40877. $name = new F.CssValue(t1 + "-" + H.S($name.get$value()), $name.get$span(), [P.String]);
  40878. t1 = node.value;
  40879. $async$goto = t1 == null ? 4 : 6;
  40880. break;
  40881. case 4:
  40882. // then
  40883. $async$result = null;
  40884. // goto join
  40885. $async$goto = 5;
  40886. break;
  40887. case 6:
  40888. // else
  40889. $async$temp1 = F;
  40890. $async$goto = 7;
  40891. return P._asyncAwait(t1.accept$1($async$self), $async$visitDeclaration$1);
  40892. case 7:
  40893. // returning from await.
  40894. $async$result = new $async$temp1.CssValue($async$result, t1.get$span(), [F.Value]);
  40895. case 5:
  40896. // join
  40897. cssValue = $async$result;
  40898. if (cssValue != null) {
  40899. t2 = cssValue.value;
  40900. t2 = !t2.get$isBlank() || t2.get$asList().length === 0;
  40901. } else
  40902. t2 = false;
  40903. if (t2) {
  40904. t2 = $async$self._async_evaluate$_parent;
  40905. t1 = $async$self._async_evaluate$_expressionNode$1(t1);
  40906. t1 = t1 == null ? null : t1.get$span();
  40907. t2.addChild$1(L.ModifiableCssDeclaration$($name, cssValue, node.span, t1));
  40908. } else if (J.startsWith$1$s($name.get$value(), "--"))
  40909. throw H.wrapException($async$self._async_evaluate$_exception$2("Custom property values may not be empty.", t1.get$span()));
  40910. $async$goto = node.children != null ? 8 : 9;
  40911. break;
  40912. case 8:
  40913. // then
  40914. oldDeclarationName = $async$self._async_evaluate$_declarationName;
  40915. $async$self._async_evaluate$_declarationName = $name.get$value();
  40916. $async$goto = 10;
  40917. return P._asyncAwait($async$self._async_evaluate$_environment.scope$1$2$when(new E._EvaluateVisitor_visitDeclaration_closure0($async$self, node), node.hasDeclarations, P.Null), $async$visitDeclaration$1);
  40918. case 10:
  40919. // returning from await.
  40920. $async$self._async_evaluate$_declarationName = oldDeclarationName;
  40921. case 9:
  40922. // join
  40923. // goto return
  40924. $async$goto = 1;
  40925. break;
  40926. case 1:
  40927. // return
  40928. return P._asyncReturn($async$returnValue, $async$completer);
  40929. }
  40930. });
  40931. return P._asyncStartSync($async$visitDeclaration$1, $async$completer);
  40932. },
  40933. visitEachRule$1: function(node) {
  40934. return this.visitEachRule$body$_EvaluateVisitor(node);
  40935. },
  40936. visitEachRule$body$_EvaluateVisitor: function(node) {
  40937. var $async$goto = 0,
  40938. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  40939. $async$returnValue, $async$self = this, t1, list, nodeForSpan, setVariables;
  40940. var $async$visitEachRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  40941. if ($async$errorCode === 1)
  40942. return P._asyncRethrow($async$result, $async$completer);
  40943. while (true)
  40944. switch ($async$goto) {
  40945. case 0:
  40946. // Function start
  40947. t1 = node.list;
  40948. $async$goto = 3;
  40949. return P._asyncAwait(t1.accept$1($async$self), $async$visitEachRule$1);
  40950. case 3:
  40951. // returning from await.
  40952. list = $async$result;
  40953. nodeForSpan = $async$self._async_evaluate$_expressionNode$1(t1);
  40954. setVariables = node.variables.length === 1 ? new E._EvaluateVisitor_visitEachRule_closure2($async$self, node, nodeForSpan) : new E._EvaluateVisitor_visitEachRule_closure3($async$self, node, nodeForSpan);
  40955. $async$returnValue = $async$self._async_evaluate$_environment.scope$1$2$semiGlobal(new E._EvaluateVisitor_visitEachRule_closure4($async$self, list, setVariables, node), true, F.Value);
  40956. // goto return
  40957. $async$goto = 1;
  40958. break;
  40959. case 1:
  40960. // return
  40961. return P._asyncReturn($async$returnValue, $async$completer);
  40962. }
  40963. });
  40964. return P._asyncStartSync($async$visitEachRule$1, $async$completer);
  40965. },
  40966. _async_evaluate$_setMultipleVariables$3: function(variables, value, nodeForSpan) {
  40967. var i,
  40968. list = value.get$asList(),
  40969. t1 = variables.length,
  40970. minLength = Math.min(t1, list.length);
  40971. for (i = 0; i < minLength; ++i)
  40972. this._async_evaluate$_environment.setLocalVariable$3(variables[i], list[i].withoutSlash$0(), nodeForSpan);
  40973. for (i = minLength; i < t1; ++i)
  40974. this._async_evaluate$_environment.setLocalVariable$3(variables[i], C.C_SassNull, nodeForSpan);
  40975. },
  40976. visitErrorRule$1: function(node) {
  40977. return this.visitErrorRule$body$_EvaluateVisitor(node);
  40978. },
  40979. visitErrorRule$body$_EvaluateVisitor: function(node) {
  40980. var $async$goto = 0,
  40981. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  40982. $async$self = this, $async$temp1, $async$temp2;
  40983. var $async$visitErrorRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  40984. if ($async$errorCode === 1)
  40985. return P._asyncRethrow($async$result, $async$completer);
  40986. while (true)
  40987. switch ($async$goto) {
  40988. case 0:
  40989. // Function start
  40990. $async$temp1 = H;
  40991. $async$temp2 = J;
  40992. $async$goto = 2;
  40993. return P._asyncAwait(node.expression.accept$1($async$self), $async$visitErrorRule$1);
  40994. case 2:
  40995. // returning from await.
  40996. throw $async$temp1.wrapException($async$self._async_evaluate$_exception$2($async$temp2.toString$0$($async$result), node.span));
  40997. // implicit return
  40998. return P._asyncReturn(null, $async$completer);
  40999. }
  41000. });
  41001. return P._asyncStartSync($async$visitErrorRule$1, $async$completer);
  41002. },
  41003. visitExtendRule$1: function(node) {
  41004. return this.visitExtendRule$body$_EvaluateVisitor(node);
  41005. },
  41006. visitExtendRule$body$_EvaluateVisitor: function(node) {
  41007. var $async$goto = 0,
  41008. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  41009. $async$returnValue, $async$self = this, targetText, t1, t2, _i, t3;
  41010. var $async$visitExtendRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  41011. if ($async$errorCode === 1)
  41012. return P._asyncRethrow($async$result, $async$completer);
  41013. while (true)
  41014. switch ($async$goto) {
  41015. case 0:
  41016. // Function start
  41017. if (!($async$self._async_evaluate$_styleRule != null && !$async$self._async_evaluate$_atRootExcludingStyleRule) || $async$self._async_evaluate$_declarationName != null)
  41018. throw H.wrapException($async$self._async_evaluate$_exception$2("@extend may only be used within style rules.", node.span));
  41019. $async$goto = 3;
  41020. return P._asyncAwait($async$self._async_evaluate$_interpolationToValue$2$warnForColor(node.selector, true), $async$visitExtendRule$1);
  41021. case 3:
  41022. // returning from await.
  41023. targetText = $async$result;
  41024. for (t1 = $async$self._async_evaluate$_adjustParseError$2(targetText, new E._EvaluateVisitor_visitExtendRule_closure0($async$self, targetText)).components, t2 = t1.length, _i = 0; _i < t2; ++_i) {
  41025. t3 = t1[_i].components;
  41026. if (t3.length !== 1 || !(C.JSArray_methods.get$first(t3) instanceof X.CompoundSelector))
  41027. throw H.wrapException(E.SassFormatException$("complex selectors may not be extended.", targetText.get$span()));
  41028. t3 = H.interceptedTypeCast(C.JSArray_methods.get$first(t3), "$isCompoundSelector").components;
  41029. if (t3.length !== 1)
  41030. throw H.wrapException(E.SassFormatException$("compound selectors may no longer be extended.\nConsider `@extend " + C.JSArray_methods.join$1(t3, ", ") + "` instead.\nSee http://bit.ly/ExtendCompound for details.\n", targetText.get$span()));
  41031. $async$self._async_evaluate$_extender.addExtension$4($async$self._async_evaluate$_styleRule.selector, C.JSArray_methods.get$first(t3), node, $async$self._async_evaluate$_mediaQueries);
  41032. }
  41033. // goto return
  41034. $async$goto = 1;
  41035. break;
  41036. case 1:
  41037. // return
  41038. return P._asyncReturn($async$returnValue, $async$completer);
  41039. }
  41040. });
  41041. return P._asyncStartSync($async$visitExtendRule$1, $async$completer);
  41042. },
  41043. visitAtRule$1: function(node) {
  41044. return this.visitAtRule$body$_EvaluateVisitor(node);
  41045. },
  41046. visitAtRule$body$_EvaluateVisitor: function(node) {
  41047. var $async$goto = 0,
  41048. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  41049. $async$returnValue, $async$self = this, $name, t1, value, t2, t3, wasInKeyframes, wasInUnknownAtRule;
  41050. var $async$visitAtRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  41051. if ($async$errorCode === 1)
  41052. return P._asyncRethrow($async$result, $async$completer);
  41053. while (true)
  41054. switch ($async$goto) {
  41055. case 0:
  41056. // Function start
  41057. if ($async$self._async_evaluate$_declarationName != null)
  41058. throw H.wrapException($async$self._async_evaluate$_exception$2("At-rules may not be used within nested declarations.", node.span));
  41059. $async$goto = 3;
  41060. return P._asyncAwait($async$self._async_evaluate$_interpolationToValue$1(node.name), $async$visitAtRule$1);
  41061. case 3:
  41062. // returning from await.
  41063. $name = $async$result;
  41064. t1 = node.value;
  41065. $async$goto = t1 == null ? 4 : 6;
  41066. break;
  41067. case 4:
  41068. // then
  41069. $async$result = null;
  41070. // goto join
  41071. $async$goto = 5;
  41072. break;
  41073. case 6:
  41074. // else
  41075. $async$goto = 7;
  41076. return P._asyncAwait($async$self._async_evaluate$_interpolationToValue$3$trim$warnForColor(t1, true, true), $async$visitAtRule$1);
  41077. case 7:
  41078. // returning from await.
  41079. case 5:
  41080. // join
  41081. value = $async$result;
  41082. if (node.children == null) {
  41083. t1 = $async$self._async_evaluate$_parent;
  41084. t2 = B.ModifiableCssNode;
  41085. t3 = H.setRuntimeTypeInfo([], [t2]);
  41086. t1.addChild$1(new U.ModifiableCssAtRule($name, value, true, node.span, new P.UnmodifiableListView(t3, [t2]), t3));
  41087. // goto return
  41088. $async$goto = 1;
  41089. break;
  41090. }
  41091. wasInKeyframes = $async$self._async_evaluate$_inKeyframes;
  41092. wasInUnknownAtRule = $async$self._async_evaluate$_inUnknownAtRule;
  41093. if (B.unvendor($name.get$value()) === "keyframes")
  41094. $async$self._async_evaluate$_inKeyframes = true;
  41095. else
  41096. $async$self._async_evaluate$_inUnknownAtRule = true;
  41097. t1 = B.ModifiableCssNode;
  41098. t2 = H.setRuntimeTypeInfo([], [t1]);
  41099. $async$goto = 8;
  41100. return P._asyncAwait($async$self._async_evaluate$_withParent$2$4$scopeWhen$through(new U.ModifiableCssAtRule($name, value, false, node.span, new P.UnmodifiableListView(t2, [t1]), t2), new E._EvaluateVisitor_visitAtRule_closure1($async$self, node), node.hasDeclarations, new E._EvaluateVisitor_visitAtRule_closure2(), U.ModifiableCssAtRule, P.Null), $async$visitAtRule$1);
  41101. case 8:
  41102. // returning from await.
  41103. $async$self._async_evaluate$_inUnknownAtRule = wasInUnknownAtRule;
  41104. $async$self._async_evaluate$_inKeyframes = wasInKeyframes;
  41105. // goto return
  41106. $async$goto = 1;
  41107. break;
  41108. case 1:
  41109. // return
  41110. return P._asyncReturn($async$returnValue, $async$completer);
  41111. }
  41112. });
  41113. return P._asyncStartSync($async$visitAtRule$1, $async$completer);
  41114. },
  41115. visitForRule$1: function(node) {
  41116. return this.visitForRule$body$_EvaluateVisitor(node);
  41117. },
  41118. visitForRule$body$_EvaluateVisitor: function(node) {
  41119. var $async$goto = 0,
  41120. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  41121. $async$returnValue, $async$self = this, t1, t2, t3, fromNumber, t4, toNumber, from, to, direction;
  41122. var $async$visitForRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  41123. if ($async$errorCode === 1)
  41124. return P._asyncRethrow($async$result, $async$completer);
  41125. while (true)
  41126. switch ($async$goto) {
  41127. case 0:
  41128. // Function start
  41129. t1 = {};
  41130. t2 = node.from;
  41131. t3 = T.SassNumber;
  41132. $async$goto = 3;
  41133. return P._asyncAwait($async$self._addExceptionSpanAsync$1$2(t2, new E._EvaluateVisitor_visitForRule_closure4($async$self, node), t3), $async$visitForRule$1);
  41134. case 3:
  41135. // returning from await.
  41136. fromNumber = $async$result;
  41137. t4 = node.to;
  41138. $async$goto = 4;
  41139. return P._asyncAwait($async$self._addExceptionSpanAsync$1$2(t4, new E._EvaluateVisitor_visitForRule_closure5($async$self, node), t3), $async$visitForRule$1);
  41140. case 4:
  41141. // returning from await.
  41142. toNumber = $async$result;
  41143. from = $async$self._async_evaluate$_addExceptionSpan$2(t2, new E._EvaluateVisitor_visitForRule_closure6(fromNumber, toNumber));
  41144. to = t1.to = $async$self._async_evaluate$_addExceptionSpan$2(t4, new E._EvaluateVisitor_visitForRule_closure7(toNumber));
  41145. direction = from > to ? -1 : 1;
  41146. if (from === (!node.isExclusive ? t1.to = to + direction : to)) {
  41147. // goto return
  41148. $async$goto = 1;
  41149. break;
  41150. }
  41151. $async$returnValue = $async$self._async_evaluate$_environment.scope$1$2$semiGlobal(new E._EvaluateVisitor_visitForRule_closure8(t1, $async$self, node, from, direction), true, F.Value);
  41152. // goto return
  41153. $async$goto = 1;
  41154. break;
  41155. case 1:
  41156. // return
  41157. return P._asyncReturn($async$returnValue, $async$completer);
  41158. }
  41159. });
  41160. return P._asyncStartSync($async$visitForRule$1, $async$completer);
  41161. },
  41162. visitForwardRule$1: function(node) {
  41163. return this.visitForwardRule$body$_EvaluateVisitor(node);
  41164. },
  41165. visitForwardRule$body$_EvaluateVisitor: function(node) {
  41166. var $async$goto = 0,
  41167. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  41168. $async$returnValue, $async$self = this;
  41169. var $async$visitForwardRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  41170. if ($async$errorCode === 1)
  41171. return P._asyncRethrow($async$result, $async$completer);
  41172. while (true)
  41173. switch ($async$goto) {
  41174. case 0:
  41175. // Function start
  41176. $async$goto = 3;
  41177. return P._asyncAwait($async$self._async_evaluate$_loadModule$4(node.url, "@forward", node, new E._EvaluateVisitor_visitForwardRule_closure0($async$self, node)), $async$visitForwardRule$1);
  41178. case 3:
  41179. // returning from await.
  41180. // goto return
  41181. $async$goto = 1;
  41182. break;
  41183. case 1:
  41184. // return
  41185. return P._asyncReturn($async$returnValue, $async$completer);
  41186. }
  41187. });
  41188. return P._asyncStartSync($async$visitForwardRule$1, $async$completer);
  41189. },
  41190. visitFunctionRule$1: function(node) {
  41191. return this.visitFunctionRule$body$_EvaluateVisitor(node);
  41192. },
  41193. visitFunctionRule$body$_EvaluateVisitor: function(node) {
  41194. var $async$goto = 0,
  41195. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  41196. $async$returnValue, $async$self = this, t1, t2, t3, index, t4;
  41197. var $async$visitFunctionRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  41198. if ($async$errorCode === 1)
  41199. return P._asyncRethrow($async$result, $async$completer);
  41200. while (true)
  41201. switch ($async$goto) {
  41202. case 0:
  41203. // Function start
  41204. t1 = $async$self._async_evaluate$_environment;
  41205. t2 = t1.closure$0();
  41206. t3 = t1._async_environment$_functions;
  41207. index = t3.length - 1;
  41208. t4 = node.name;
  41209. t1._async_environment$_functionIndices.$indexSet(0, t4, index);
  41210. J.$indexSet$ax(t3[index], t4, new E.UserDefinedCallable(node, t2, [Q.AsyncEnvironment]));
  41211. // goto return
  41212. $async$goto = 1;
  41213. break;
  41214. case 1:
  41215. // return
  41216. return P._asyncReturn($async$returnValue, $async$completer);
  41217. }
  41218. });
  41219. return P._asyncStartSync($async$visitFunctionRule$1, $async$completer);
  41220. },
  41221. visitIfRule$1: function(node) {
  41222. return this.visitIfRule$body$_EvaluateVisitor(node);
  41223. },
  41224. visitIfRule$body$_EvaluateVisitor: function(node) {
  41225. var $async$goto = 0,
  41226. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  41227. $async$returnValue, $async$self = this, t1, t2, _i, clauseToCheck, _box_0;
  41228. var $async$visitIfRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  41229. if ($async$errorCode === 1)
  41230. return P._asyncRethrow($async$result, $async$completer);
  41231. while (true)
  41232. switch ($async$goto) {
  41233. case 0:
  41234. // Function start
  41235. _box_0 = {};
  41236. _box_0.clause = node.lastClause;
  41237. t1 = node.clauses, t2 = t1.length, _i = 0;
  41238. case 3:
  41239. // for condition
  41240. if (!(_i < t2)) {
  41241. // goto after for
  41242. $async$goto = 5;
  41243. break;
  41244. }
  41245. clauseToCheck = t1[_i];
  41246. $async$goto = 6;
  41247. return P._asyncAwait(clauseToCheck.expression.accept$1($async$self), $async$visitIfRule$1);
  41248. case 6:
  41249. // returning from await.
  41250. if ($async$result.get$isTruthy()) {
  41251. _box_0.clause = clauseToCheck;
  41252. // goto after for
  41253. $async$goto = 5;
  41254. break;
  41255. }
  41256. case 4:
  41257. // for update
  41258. ++_i;
  41259. // goto for condition
  41260. $async$goto = 3;
  41261. break;
  41262. case 5:
  41263. // after for
  41264. t1 = _box_0.clause;
  41265. if (t1 == null) {
  41266. // goto return
  41267. $async$goto = 1;
  41268. break;
  41269. }
  41270. $async$goto = 7;
  41271. return P._asyncAwait($async$self._async_evaluate$_environment.scope$1$3$semiGlobal$when(new E._EvaluateVisitor_visitIfRule_closure0(_box_0, $async$self), true, t1.hasDeclarations, F.Value), $async$visitIfRule$1);
  41272. case 7:
  41273. // returning from await.
  41274. $async$returnValue = $async$result;
  41275. // goto return
  41276. $async$goto = 1;
  41277. break;
  41278. case 1:
  41279. // return
  41280. return P._asyncReturn($async$returnValue, $async$completer);
  41281. }
  41282. });
  41283. return P._asyncStartSync($async$visitIfRule$1, $async$completer);
  41284. },
  41285. visitImportRule$1: function(node) {
  41286. return this.visitImportRule$body$_EvaluateVisitor(node);
  41287. },
  41288. visitImportRule$body$_EvaluateVisitor: function(node) {
  41289. var $async$goto = 0,
  41290. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  41291. $async$returnValue, $async$self = this, t1, t2, _i, $import;
  41292. var $async$visitImportRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  41293. if ($async$errorCode === 1)
  41294. return P._asyncRethrow($async$result, $async$completer);
  41295. while (true)
  41296. switch ($async$goto) {
  41297. case 0:
  41298. // Function start
  41299. t1 = node.imports, t2 = t1.length, _i = 0;
  41300. case 3:
  41301. // for condition
  41302. if (!(_i < t2)) {
  41303. // goto after for
  41304. $async$goto = 5;
  41305. break;
  41306. }
  41307. $import = t1[_i];
  41308. $async$goto = $import instanceof B.DynamicImport ? 6 : 8;
  41309. break;
  41310. case 6:
  41311. // then
  41312. $async$goto = 9;
  41313. return P._asyncAwait($async$self._async_evaluate$_visitDynamicImport$1($import), $async$visitImportRule$1);
  41314. case 9:
  41315. // returning from await.
  41316. // goto join
  41317. $async$goto = 7;
  41318. break;
  41319. case 8:
  41320. // else
  41321. $async$goto = 10;
  41322. return P._asyncAwait($async$self._visitStaticImport$1(H.interceptedTypeCast($import, "$isStaticImport")), $async$visitImportRule$1);
  41323. case 10:
  41324. // returning from await.
  41325. case 7:
  41326. // join
  41327. case 4:
  41328. // for update
  41329. ++_i;
  41330. // goto for condition
  41331. $async$goto = 3;
  41332. break;
  41333. case 5:
  41334. // after for
  41335. // goto return
  41336. $async$goto = 1;
  41337. break;
  41338. case 1:
  41339. // return
  41340. return P._asyncReturn($async$returnValue, $async$completer);
  41341. }
  41342. });
  41343. return P._asyncStartSync($async$visitImportRule$1, $async$completer);
  41344. },
  41345. _async_evaluate$_visitDynamicImport$1: function($import) {
  41346. return this._async_evaluate$_withStackFrame$1$3("@import", $import, new E._EvaluateVisitor__visitDynamicImport_closure0(this, $import), -1);
  41347. },
  41348. _async_evaluate$_loadStylesheet$2: function(url, span) {
  41349. return this._loadStylesheet$body$_EvaluateVisitor(url, span);
  41350. },
  41351. _loadStylesheet$body$_EvaluateVisitor: function(url, span) {
  41352. var $async$goto = 0,
  41353. $async$completer = P._makeAsyncAwaitCompleter([S.Tuple2, B.AsyncImporter, V.Stylesheet]),
  41354. $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, stylesheet, tuple, error, error0, message, t1, t2, t3, exception, $async$exception;
  41355. var $async$_async_evaluate$_loadStylesheet$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  41356. if ($async$errorCode === 1) {
  41357. $async$currentError = $async$result;
  41358. $async$goto = $async$handler;
  41359. }
  41360. while (true)
  41361. switch ($async$goto) {
  41362. case 0:
  41363. // Function start
  41364. $async$handler = 4;
  41365. $async$self._async_evaluate$_importSpan = span;
  41366. $async$goto = $async$self._async_evaluate$_nodeImporter != null ? 7 : 9;
  41367. break;
  41368. case 7:
  41369. // then
  41370. $async$goto = 10;
  41371. return P._asyncAwait($async$self._async_evaluate$_importLikeNode$1(url), $async$_async_evaluate$_loadStylesheet$2);
  41372. case 10:
  41373. // returning from await.
  41374. stylesheet = $async$result;
  41375. if (stylesheet != null) {
  41376. $async$returnValue = new S.Tuple2(null, stylesheet, [B.AsyncImporter, V.Stylesheet]);
  41377. $async$next = [1];
  41378. // goto finally
  41379. $async$goto = 5;
  41380. break;
  41381. }
  41382. // goto join
  41383. $async$goto = 8;
  41384. break;
  41385. case 9:
  41386. // else
  41387. t1 = P.Uri_parse(url);
  41388. t2 = $async$self._async_evaluate$_importer;
  41389. t3 = $async$self._async_evaluate$_stylesheet.span;
  41390. $async$goto = 11;
  41391. return P._asyncAwait($async$self._async_evaluate$_importCache.import$3(t1, t2, t3.file.url), $async$_async_evaluate$_loadStylesheet$2);
  41392. case 11:
  41393. // returning from await.
  41394. tuple = $async$result;
  41395. if (tuple != null) {
  41396. $async$returnValue = tuple;
  41397. $async$next = [1];
  41398. // goto finally
  41399. $async$goto = 5;
  41400. break;
  41401. }
  41402. case 8:
  41403. // join
  41404. if (C.JSString_methods.startsWith$1(url, "package:") && true)
  41405. throw H.wrapException('"package:" URLs aren\'t supported on this platform.');
  41406. else
  41407. throw H.wrapException("Can't find stylesheet to import.");
  41408. $async$next.push(6);
  41409. // goto finally
  41410. $async$goto = 5;
  41411. break;
  41412. case 4:
  41413. // catch
  41414. $async$handler = 3;
  41415. $async$exception = $async$currentError;
  41416. t1 = H.unwrapException($async$exception);
  41417. if (t1 instanceof E.SassException) {
  41418. error = t1;
  41419. t1 = $async$self._async_evaluate$_exception$2(error._span_exception$_message, error.get$span());
  41420. throw H.wrapException(t1);
  41421. } else {
  41422. error0 = t1;
  41423. message = null;
  41424. try {
  41425. message = H.stringTypeCast(J.get$message$x(error0));
  41426. } catch (exception) {
  41427. H.unwrapException($async$exception);
  41428. message = J.toString$0$(error0);
  41429. }
  41430. t1 = $async$self._async_evaluate$_exception$1(message);
  41431. throw H.wrapException(t1);
  41432. }
  41433. $async$next.push(6);
  41434. // goto finally
  41435. $async$goto = 5;
  41436. break;
  41437. case 3:
  41438. // uncaught
  41439. $async$next = [2];
  41440. case 5:
  41441. // finally
  41442. $async$handler = 2;
  41443. $async$self._async_evaluate$_importSpan = null;
  41444. // goto the next finally handler
  41445. $async$goto = $async$next.pop();
  41446. break;
  41447. case 6:
  41448. // after finally
  41449. case 1:
  41450. // return
  41451. return P._asyncReturn($async$returnValue, $async$completer);
  41452. case 2:
  41453. // rethrow
  41454. return P._asyncRethrow($async$currentError, $async$completer);
  41455. }
  41456. });
  41457. return P._asyncStartSync($async$_async_evaluate$_loadStylesheet$2, $async$completer);
  41458. },
  41459. _async_evaluate$_importLikeNode$1: function(originalUrl) {
  41460. return this._importLikeNode$body$_EvaluateVisitor(originalUrl);
  41461. },
  41462. _importLikeNode$body$_EvaluateVisitor: function(originalUrl) {
  41463. var $async$goto = 0,
  41464. $async$completer = P._makeAsyncAwaitCompleter(V.Stylesheet),
  41465. $async$returnValue, $async$self = this, contents, url, t1, result;
  41466. var $async$_async_evaluate$_importLikeNode$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  41467. if ($async$errorCode === 1)
  41468. return P._asyncRethrow($async$result, $async$completer);
  41469. while (true)
  41470. switch ($async$goto) {
  41471. case 0:
  41472. // Function start
  41473. t1 = $async$self._async_evaluate$_stylesheet.span;
  41474. $async$goto = 3;
  41475. return P._asyncAwait($async$self._async_evaluate$_nodeImporter.loadAsync$2(originalUrl, t1.file.url), $async$_async_evaluate$_importLikeNode$1);
  41476. case 3:
  41477. // returning from await.
  41478. result = $async$result;
  41479. if (result == null) {
  41480. // goto return
  41481. $async$goto = 1;
  41482. break;
  41483. }
  41484. contents = result.item1;
  41485. url = result.item2;
  41486. t1 = J.getInterceptor$s(url).startsWith$1(url, "file:") ? $.$get$context().style.pathFromUri$1(M._parseUri(url)) : url;
  41487. $async$self._async_evaluate$_includedFiles.add$1(0, t1);
  41488. t1 = C.JSString_methods.startsWith$1(url, "file") ? M.Syntax_forPath(url) : C.Syntax_SCSS;
  41489. $async$returnValue = V.Stylesheet_Stylesheet$parse(contents, t1, $async$self._async_evaluate$_logger, url);
  41490. // goto return
  41491. $async$goto = 1;
  41492. break;
  41493. case 1:
  41494. // return
  41495. return P._asyncReturn($async$returnValue, $async$completer);
  41496. }
  41497. });
  41498. return P._asyncStartSync($async$_async_evaluate$_importLikeNode$1, $async$completer);
  41499. },
  41500. _visitStaticImport$1: function($import) {
  41501. return this._visitStaticImport$body$_EvaluateVisitor($import);
  41502. },
  41503. _visitStaticImport$body$_EvaluateVisitor: function($import) {
  41504. var $async$goto = 0,
  41505. $async$completer = P._makeAsyncAwaitCompleter(-1),
  41506. $async$returnValue, $async$self = this, resolvedSupports, t1, mediaQuery, node, t2, url, supports, $async$temp1, $async$temp2;
  41507. var $async$_visitStaticImport$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  41508. if ($async$errorCode === 1)
  41509. return P._asyncRethrow($async$result, $async$completer);
  41510. while (true)
  41511. switch ($async$goto) {
  41512. case 0:
  41513. // Function start
  41514. $async$goto = 3;
  41515. return P._asyncAwait($async$self._async_evaluate$_interpolationToValue$1($import.url), $async$_visitStaticImport$1);
  41516. case 3:
  41517. // returning from await.
  41518. url = $async$result;
  41519. supports = $import.supports;
  41520. $async$goto = supports instanceof L.SupportsDeclaration ? 4 : 6;
  41521. break;
  41522. case 4:
  41523. // then
  41524. $async$temp1 = H;
  41525. $async$goto = 7;
  41526. return P._asyncAwait($async$self._evaluateToCss$1(supports.name), $async$_visitStaticImport$1);
  41527. case 7:
  41528. // returning from await.
  41529. $async$temp1 = $async$temp1.S($async$result) + ": ";
  41530. $async$temp2 = H;
  41531. $async$goto = 8;
  41532. return P._asyncAwait($async$self._evaluateToCss$1(supports.value), $async$_visitStaticImport$1);
  41533. case 8:
  41534. // returning from await.
  41535. resolvedSupports = $async$temp1 + $async$temp2.S($async$result);
  41536. // goto join
  41537. $async$goto = 5;
  41538. break;
  41539. case 6:
  41540. // else
  41541. $async$goto = supports == null ? 9 : 11;
  41542. break;
  41543. case 9:
  41544. // then
  41545. $async$result = null;
  41546. // goto join
  41547. $async$goto = 10;
  41548. break;
  41549. case 11:
  41550. // else
  41551. $async$goto = 12;
  41552. return P._asyncAwait($async$self._async_evaluate$_visitSupportsCondition$1(supports), $async$_visitStaticImport$1);
  41553. case 12:
  41554. // returning from await.
  41555. case 10:
  41556. // join
  41557. resolvedSupports = $async$result;
  41558. case 5:
  41559. // join
  41560. t1 = $import.media;
  41561. $async$goto = t1 == null ? 13 : 15;
  41562. break;
  41563. case 13:
  41564. // then
  41565. $async$result = null;
  41566. // goto join
  41567. $async$goto = 14;
  41568. break;
  41569. case 15:
  41570. // else
  41571. $async$goto = 16;
  41572. return P._asyncAwait($async$self._async_evaluate$_visitMediaQueries$1(t1), $async$_visitStaticImport$1);
  41573. case 16:
  41574. // returning from await.
  41575. case 14:
  41576. // join
  41577. mediaQuery = $async$result;
  41578. t1 = $import.span;
  41579. node = F.ModifiableCssImport$(url, t1, mediaQuery, resolvedSupports == null ? null : new F.CssValue("supports(" + resolvedSupports + ")", supports.get$span(), [P.String]));
  41580. t1 = $async$self._async_evaluate$_parent;
  41581. t2 = $async$self._async_evaluate$_root;
  41582. if (t1 != t2)
  41583. t1.addChild$1(node);
  41584. else if ($async$self._async_evaluate$_endOfImports === J.get$length$asx(t2.children._collection$_source)) {
  41585. $async$self._async_evaluate$_root.addChild$1(node);
  41586. $async$self._async_evaluate$_endOfImports = $async$self._async_evaluate$_endOfImports + 1;
  41587. } else {
  41588. t1 = $async$self._async_evaluate$_outOfOrderImports;
  41589. (t1 == null ? $async$self._async_evaluate$_outOfOrderImports = H.setRuntimeTypeInfo([], [F.ModifiableCssImport]) : t1).push(node);
  41590. }
  41591. // goto return
  41592. $async$goto = 1;
  41593. break;
  41594. case 1:
  41595. // return
  41596. return P._asyncReturn($async$returnValue, $async$completer);
  41597. }
  41598. });
  41599. return P._asyncStartSync($async$_visitStaticImport$1, $async$completer);
  41600. },
  41601. visitIncludeRule$1: function(node) {
  41602. return this.visitIncludeRule$body$_EvaluateVisitor(node);
  41603. },
  41604. visitIncludeRule$body$_EvaluateVisitor: function(node) {
  41605. var $async$goto = 0,
  41606. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  41607. $async$returnValue, $async$self = this, t2, t3, contentCallable, t1, mixin;
  41608. var $async$visitIncludeRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  41609. if ($async$errorCode === 1)
  41610. return P._asyncRethrow($async$result, $async$completer);
  41611. while (true)
  41612. switch ($async$goto) {
  41613. case 0:
  41614. // Function start
  41615. t1 = [Q.AsyncEnvironment];
  41616. mixin = H.subtypeCast($async$self._async_evaluate$_addExceptionSpan$2(node, new E._EvaluateVisitor_visitIncludeRule_closure1($async$self, node)), "$isUserDefinedCallable", t1, "$asUserDefinedCallable");
  41617. if (mixin == null)
  41618. throw H.wrapException($async$self._async_evaluate$_exception$2("Undefined mixin.", node.span));
  41619. t2 = node.content;
  41620. t3 = t2 == null;
  41621. if (!t3 && !H.interceptedTypeCast(mixin.declaration, "$isMixinRule").hasContent)
  41622. throw H.wrapException($async$self._async_evaluate$_exception$2("Mixin doesn't accept a content block.", node.span));
  41623. contentCallable = t3 ? null : new E.UserDefinedCallable(t2, $async$self._async_evaluate$_environment.closure$0(), t1);
  41624. $async$goto = 3;
  41625. return P._asyncAwait($async$self._async_evaluate$_runUserDefinedCallable$4(node.$arguments, mixin, node, new E._EvaluateVisitor_visitIncludeRule_closure2($async$self, contentCallable, mixin)), $async$visitIncludeRule$1);
  41626. case 3:
  41627. // returning from await.
  41628. // goto return
  41629. $async$goto = 1;
  41630. break;
  41631. case 1:
  41632. // return
  41633. return P._asyncReturn($async$returnValue, $async$completer);
  41634. }
  41635. });
  41636. return P._asyncStartSync($async$visitIncludeRule$1, $async$completer);
  41637. },
  41638. visitMixinRule$1: function(node) {
  41639. return this.visitMixinRule$body$_EvaluateVisitor(node);
  41640. },
  41641. visitMixinRule$body$_EvaluateVisitor: function(node) {
  41642. var $async$goto = 0,
  41643. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  41644. $async$returnValue, $async$self = this, t1, t2, t3, index, t4;
  41645. var $async$visitMixinRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  41646. if ($async$errorCode === 1)
  41647. return P._asyncRethrow($async$result, $async$completer);
  41648. while (true)
  41649. switch ($async$goto) {
  41650. case 0:
  41651. // Function start
  41652. t1 = $async$self._async_evaluate$_environment;
  41653. t2 = t1.closure$0();
  41654. t3 = t1._async_environment$_mixins;
  41655. index = t3.length - 1;
  41656. t4 = node.name;
  41657. t1._async_environment$_mixinIndices.$indexSet(0, t4, index);
  41658. J.$indexSet$ax(t3[index], t4, new E.UserDefinedCallable(node, t2, [Q.AsyncEnvironment]));
  41659. // goto return
  41660. $async$goto = 1;
  41661. break;
  41662. case 1:
  41663. // return
  41664. return P._asyncReturn($async$returnValue, $async$completer);
  41665. }
  41666. });
  41667. return P._asyncStartSync($async$visitMixinRule$1, $async$completer);
  41668. },
  41669. visitLoudComment$1: function(node) {
  41670. return this.visitLoudComment$body$_EvaluateVisitor(node);
  41671. },
  41672. visitLoudComment$body$_EvaluateVisitor: function(node) {
  41673. var $async$goto = 0,
  41674. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  41675. $async$returnValue, $async$self = this, t1, t2, $async$temp1, $async$temp2;
  41676. var $async$visitLoudComment$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  41677. if ($async$errorCode === 1)
  41678. return P._asyncRethrow($async$result, $async$completer);
  41679. while (true)
  41680. switch ($async$goto) {
  41681. case 0:
  41682. // Function start
  41683. if ($async$self._async_evaluate$_inFunction) {
  41684. // goto return
  41685. $async$goto = 1;
  41686. break;
  41687. }
  41688. t1 = $async$self._async_evaluate$_parent;
  41689. t2 = $async$self._async_evaluate$_root;
  41690. if (t1 == t2 && $async$self._async_evaluate$_endOfImports === J.get$length$asx(t2.children._collection$_source))
  41691. $async$self._async_evaluate$_endOfImports = $async$self._async_evaluate$_endOfImports + 1;
  41692. t1 = node.text;
  41693. $async$temp1 = $async$self._async_evaluate$_parent;
  41694. $async$temp2 = R;
  41695. $async$goto = 3;
  41696. return P._asyncAwait($async$self._async_evaluate$_performInterpolation$1(t1), $async$visitLoudComment$1);
  41697. case 3:
  41698. // returning from await.
  41699. $async$temp1.addChild$1(new $async$temp2.ModifiableCssComment($async$result, t1.span));
  41700. // goto return
  41701. $async$goto = 1;
  41702. break;
  41703. case 1:
  41704. // return
  41705. return P._asyncReturn($async$returnValue, $async$completer);
  41706. }
  41707. });
  41708. return P._asyncStartSync($async$visitLoudComment$1, $async$completer);
  41709. },
  41710. visitMediaRule$1: function(node) {
  41711. return this.visitMediaRule$body$_EvaluateVisitor(node);
  41712. },
  41713. visitMediaRule$body$_EvaluateVisitor: function(node) {
  41714. var $async$goto = 0,
  41715. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  41716. $async$returnValue, $async$self = this, queries, t1, mergedQueries;
  41717. var $async$visitMediaRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  41718. if ($async$errorCode === 1)
  41719. return P._asyncRethrow($async$result, $async$completer);
  41720. while (true)
  41721. switch ($async$goto) {
  41722. case 0:
  41723. // Function start
  41724. if ($async$self._async_evaluate$_declarationName != null)
  41725. throw H.wrapException($async$self._async_evaluate$_exception$2("Media rules may not be used within nested declarations.", node.span));
  41726. $async$goto = 3;
  41727. return P._asyncAwait($async$self._async_evaluate$_visitMediaQueries$1(node.query), $async$visitMediaRule$1);
  41728. case 3:
  41729. // returning from await.
  41730. queries = $async$result;
  41731. t1 = $async$self._async_evaluate$_mediaQueries;
  41732. mergedQueries = t1 == null ? null : $async$self._async_evaluate$_mergeMediaQueries$2(t1, queries);
  41733. t1 = mergedQueries == null;
  41734. if (!t1 && mergedQueries.length === 0) {
  41735. // goto return
  41736. $async$goto = 1;
  41737. break;
  41738. }
  41739. t1 = t1 ? queries : mergedQueries;
  41740. $async$goto = 4;
  41741. return P._asyncAwait($async$self._async_evaluate$_withParent$2$4$scopeWhen$through(G.ModifiableCssMediaRule$(t1, node.span), new E._EvaluateVisitor_visitMediaRule_closure1($async$self, mergedQueries, queries, node), node.hasDeclarations, new E._EvaluateVisitor_visitMediaRule_closure2(mergedQueries), G.ModifiableCssMediaRule, P.Null), $async$visitMediaRule$1);
  41742. case 4:
  41743. // returning from await.
  41744. // goto return
  41745. $async$goto = 1;
  41746. break;
  41747. case 1:
  41748. // return
  41749. return P._asyncReturn($async$returnValue, $async$completer);
  41750. }
  41751. });
  41752. return P._asyncStartSync($async$visitMediaRule$1, $async$completer);
  41753. },
  41754. _async_evaluate$_visitMediaQueries$1: function(interpolation) {
  41755. return this._visitMediaQueries$body$_EvaluateVisitor(interpolation);
  41756. },
  41757. _visitMediaQueries$body$_EvaluateVisitor: function(interpolation) {
  41758. var $async$goto = 0,
  41759. $async$completer = P._makeAsyncAwaitCompleter([P.List, F.CssMediaQuery]),
  41760. $async$returnValue, $async$self = this, $async$temp1, $async$temp2;
  41761. var $async$_async_evaluate$_visitMediaQueries$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  41762. if ($async$errorCode === 1)
  41763. return P._asyncRethrow($async$result, $async$completer);
  41764. while (true)
  41765. switch ($async$goto) {
  41766. case 0:
  41767. // Function start
  41768. $async$temp1 = interpolation;
  41769. $async$temp2 = E;
  41770. $async$goto = 3;
  41771. return P._asyncAwait($async$self._async_evaluate$_performInterpolation$2$warnForColor(interpolation, true), $async$_async_evaluate$_visitMediaQueries$1);
  41772. case 3:
  41773. // returning from await.
  41774. $async$returnValue = $async$self._async_evaluate$_adjustParseError$2($async$temp1, new $async$temp2._EvaluateVisitor__visitMediaQueries_closure0($async$self, $async$result));
  41775. // goto return
  41776. $async$goto = 1;
  41777. break;
  41778. case 1:
  41779. // return
  41780. return P._asyncReturn($async$returnValue, $async$completer);
  41781. }
  41782. });
  41783. return P._asyncStartSync($async$_async_evaluate$_visitMediaQueries$1, $async$completer);
  41784. },
  41785. _async_evaluate$_mergeMediaQueries$2: function(queries1, queries2) {
  41786. var t1, t2, t3, t4, result,
  41787. queries = H.setRuntimeTypeInfo([], [F.CssMediaQuery]);
  41788. for (t1 = J.get$iterator$ax(queries1), t2 = J.getInterceptor$ax(queries2); t1.moveNext$0();) {
  41789. t3 = t1.get$current(t1);
  41790. for (t4 = t2.get$iterator(queries2); t4.moveNext$0();) {
  41791. result = t3.merge$1(t4.get$current(t4));
  41792. if (result === C._SingletonCssMediaQueryMergeResult_empty)
  41793. continue;
  41794. if (result === C._SingletonCssMediaQueryMergeResult_unrepresentable)
  41795. return;
  41796. queries.push(H.interceptedTypeCast(result, "$isMediaQuerySuccessfulMergeResult").query);
  41797. }
  41798. }
  41799. return queries;
  41800. },
  41801. visitReturnRule$1: function(node) {
  41802. return node.expression.accept$1(this);
  41803. },
  41804. visitSilentComment$1: function(node) {
  41805. return this.visitSilentComment$body$_EvaluateVisitor(node);
  41806. },
  41807. visitSilentComment$body$_EvaluateVisitor: function(node) {
  41808. var $async$goto = 0,
  41809. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  41810. $async$returnValue;
  41811. var $async$visitSilentComment$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  41812. if ($async$errorCode === 1)
  41813. return P._asyncRethrow($async$result, $async$completer);
  41814. while (true)
  41815. switch ($async$goto) {
  41816. case 0:
  41817. // Function start
  41818. // goto return
  41819. $async$goto = 1;
  41820. break;
  41821. case 1:
  41822. // return
  41823. return P._asyncReturn($async$returnValue, $async$completer);
  41824. }
  41825. });
  41826. return P._asyncStartSync($async$visitSilentComment$1, $async$completer);
  41827. },
  41828. visitStyleRule$1: function(node) {
  41829. return this.visitStyleRule$body$_EvaluateVisitor(node);
  41830. },
  41831. visitStyleRule$body$_EvaluateVisitor: function(node) {
  41832. var $async$goto = 0,
  41833. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  41834. $async$returnValue, $async$self = this, t2, selectorText, t3, t4, parsedSelector, rule, oldAtRootExcludingStyleRule, t1;
  41835. var $async$visitStyleRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  41836. if ($async$errorCode === 1)
  41837. return P._asyncRethrow($async$result, $async$completer);
  41838. while (true)
  41839. switch ($async$goto) {
  41840. case 0:
  41841. // Function start
  41842. t1 = {};
  41843. if ($async$self._async_evaluate$_declarationName != null)
  41844. throw H.wrapException($async$self._async_evaluate$_exception$2("Style rules may not be used within nested declarations.", node.span));
  41845. t2 = node.selector;
  41846. $async$goto = 3;
  41847. return P._asyncAwait($async$self._async_evaluate$_interpolationToValue$3$trim$warnForColor(t2, true, true), $async$visitStyleRule$1);
  41848. case 3:
  41849. // returning from await.
  41850. selectorText = $async$result;
  41851. $async$goto = $async$self._async_evaluate$_inKeyframes ? 4 : 5;
  41852. break;
  41853. case 4:
  41854. // then
  41855. t1 = P.List_List$unmodifiable($async$self._async_evaluate$_adjustParseError$2(t2, new E._EvaluateVisitor_visitStyleRule_closure6($async$self, selectorText)), P.String);
  41856. t3 = B.ModifiableCssNode;
  41857. t4 = H.setRuntimeTypeInfo([], [t3]);
  41858. $async$goto = 6;
  41859. return P._asyncAwait($async$self._async_evaluate$_withParent$2$4$scopeWhen$through(new U.ModifiableCssKeyframeBlock(new F.CssValue(t1, t2.span, [[P.List, P.String]]), node.span, new P.UnmodifiableListView(t4, [t3]), t4), new E._EvaluateVisitor_visitStyleRule_closure7($async$self, node), node.hasDeclarations, new E._EvaluateVisitor_visitStyleRule_closure8(), U.ModifiableCssKeyframeBlock, P.Null), $async$visitStyleRule$1);
  41860. case 6:
  41861. // returning from await.
  41862. // goto return
  41863. $async$goto = 1;
  41864. break;
  41865. case 5:
  41866. // join
  41867. t1.parsedSelector = $async$self._async_evaluate$_adjustParseError$2(t2, new E._EvaluateVisitor_visitStyleRule_closure9($async$self, selectorText));
  41868. parsedSelector = $async$self._async_evaluate$_addExceptionSpan$2(t2, new E._EvaluateVisitor_visitStyleRule_closure10(t1, $async$self));
  41869. t1.parsedSelector = parsedSelector;
  41870. rule = $async$self._async_evaluate$_extender.addSelector$4(parsedSelector, t2.span, node.span, $async$self._async_evaluate$_mediaQueries);
  41871. oldAtRootExcludingStyleRule = $async$self._async_evaluate$_atRootExcludingStyleRule;
  41872. $async$self._async_evaluate$_atRootExcludingStyleRule = false;
  41873. $async$goto = 7;
  41874. return P._asyncAwait($async$self._async_evaluate$_withParent$2$4$scopeWhen$through(rule, new E._EvaluateVisitor_visitStyleRule_closure11($async$self, rule, node), node.hasDeclarations, new E._EvaluateVisitor_visitStyleRule_closure12(), X.ModifiableCssStyleRule, P.Null), $async$visitStyleRule$1);
  41875. case 7:
  41876. // returning from await.
  41877. $async$self._async_evaluate$_atRootExcludingStyleRule = oldAtRootExcludingStyleRule;
  41878. if (!($async$self._async_evaluate$_styleRule != null && !oldAtRootExcludingStyleRule)) {
  41879. t1 = $async$self._async_evaluate$_parent.children;
  41880. t1 = !t1.get$isEmpty(t1);
  41881. } else
  41882. t1 = false;
  41883. if (t1) {
  41884. t1 = $async$self._async_evaluate$_parent.children;
  41885. t1.get$last(t1).isGroupEnd = true;
  41886. }
  41887. // goto return
  41888. $async$goto = 1;
  41889. break;
  41890. case 1:
  41891. // return
  41892. return P._asyncReturn($async$returnValue, $async$completer);
  41893. }
  41894. });
  41895. return P._asyncStartSync($async$visitStyleRule$1, $async$completer);
  41896. },
  41897. visitSupportsRule$1: function(node) {
  41898. return this.visitSupportsRule$body$_EvaluateVisitor(node);
  41899. },
  41900. visitSupportsRule$body$_EvaluateVisitor: function(node) {
  41901. var $async$goto = 0,
  41902. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  41903. $async$returnValue, $async$self = this, t1, t2, t3, t4;
  41904. var $async$visitSupportsRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  41905. if ($async$errorCode === 1)
  41906. return P._asyncRethrow($async$result, $async$completer);
  41907. while (true)
  41908. switch ($async$goto) {
  41909. case 0:
  41910. // Function start
  41911. if ($async$self._async_evaluate$_declarationName != null)
  41912. throw H.wrapException($async$self._async_evaluate$_exception$2("Supports rules may not be used within nested declarations.", node.span));
  41913. t1 = node.condition;
  41914. $async$goto = 3;
  41915. return P._asyncAwait($async$self._async_evaluate$_visitSupportsCondition$1(t1), $async$visitSupportsRule$1);
  41916. case 3:
  41917. // returning from await.
  41918. t2 = $async$result;
  41919. t1 = t1.get$span();
  41920. t3 = B.ModifiableCssNode;
  41921. t4 = H.setRuntimeTypeInfo([], [t3]);
  41922. $async$goto = 4;
  41923. return P._asyncAwait($async$self._async_evaluate$_withParent$2$4$scopeWhen$through(new B.ModifiableCssSupportsRule(new F.CssValue(t2, t1, [P.String]), node.span, new P.UnmodifiableListView(t4, [t3]), t4), new E._EvaluateVisitor_visitSupportsRule_closure1($async$self, node), node.hasDeclarations, new E._EvaluateVisitor_visitSupportsRule_closure2(), B.ModifiableCssSupportsRule, P.Null), $async$visitSupportsRule$1);
  41924. case 4:
  41925. // returning from await.
  41926. // goto return
  41927. $async$goto = 1;
  41928. break;
  41929. case 1:
  41930. // return
  41931. return P._asyncReturn($async$returnValue, $async$completer);
  41932. }
  41933. });
  41934. return P._asyncStartSync($async$visitSupportsRule$1, $async$completer);
  41935. },
  41936. _async_evaluate$_visitSupportsCondition$1: function(condition) {
  41937. return this._visitSupportsCondition$body$_EvaluateVisitor(condition);
  41938. },
  41939. _visitSupportsCondition$body$_EvaluateVisitor: function(condition) {
  41940. var $async$goto = 0,
  41941. $async$completer = P._makeAsyncAwaitCompleter(P.String),
  41942. $async$returnValue, $async$self = this, t2, t1, $async$temp1, $async$temp2;
  41943. var $async$_async_evaluate$_visitSupportsCondition$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  41944. if ($async$errorCode === 1)
  41945. return P._asyncRethrow($async$result, $async$completer);
  41946. while (true)
  41947. switch ($async$goto) {
  41948. case 0:
  41949. // Function start
  41950. t1 = J.getInterceptor$(condition);
  41951. $async$goto = !!t1.$isSupportsOperation ? 3 : 5;
  41952. break;
  41953. case 3:
  41954. // then
  41955. t1 = condition.left;
  41956. t2 = condition.operator;
  41957. $async$temp1 = H;
  41958. $async$goto = 6;
  41959. return P._asyncAwait($async$self._async_evaluate$_parenthesize$2(t1, t2), $async$_async_evaluate$_visitSupportsCondition$1);
  41960. case 6:
  41961. // returning from await.
  41962. $async$temp1 = $async$temp1.S($async$result) + " " + t2 + " ";
  41963. $async$temp2 = H;
  41964. $async$goto = 7;
  41965. return P._asyncAwait($async$self._async_evaluate$_parenthesize$2(condition.right, t2), $async$_async_evaluate$_visitSupportsCondition$1);
  41966. case 7:
  41967. // returning from await.
  41968. $async$returnValue = $async$temp1 + $async$temp2.S($async$result);
  41969. // goto return
  41970. $async$goto = 1;
  41971. break;
  41972. // goto join
  41973. $async$goto = 4;
  41974. break;
  41975. case 5:
  41976. // else
  41977. $async$goto = !!t1.$isSupportsNegation ? 8 : 10;
  41978. break;
  41979. case 8:
  41980. // then
  41981. $async$temp1 = H;
  41982. $async$goto = 11;
  41983. return P._asyncAwait($async$self._async_evaluate$_parenthesize$1(condition.condition), $async$_async_evaluate$_visitSupportsCondition$1);
  41984. case 11:
  41985. // returning from await.
  41986. $async$returnValue = "not " + $async$temp1.S($async$result);
  41987. // goto return
  41988. $async$goto = 1;
  41989. break;
  41990. // goto join
  41991. $async$goto = 9;
  41992. break;
  41993. case 10:
  41994. // else
  41995. $async$goto = !!t1.$isSupportsInterpolation ? 12 : 14;
  41996. break;
  41997. case 12:
  41998. // then
  41999. $async$goto = 15;
  42000. return P._asyncAwait($async$self._evaluateToCss$2$quote(condition.expression, false), $async$_async_evaluate$_visitSupportsCondition$1);
  42001. case 15:
  42002. // returning from await.
  42003. $async$returnValue = $async$result;
  42004. // goto return
  42005. $async$goto = 1;
  42006. break;
  42007. // goto join
  42008. $async$goto = 13;
  42009. break;
  42010. case 14:
  42011. // else
  42012. $async$goto = !!t1.$isSupportsDeclaration ? 16 : 18;
  42013. break;
  42014. case 16:
  42015. // then
  42016. $async$temp1 = H;
  42017. $async$goto = 19;
  42018. return P._asyncAwait($async$self._evaluateToCss$1(condition.name), $async$_async_evaluate$_visitSupportsCondition$1);
  42019. case 19:
  42020. // returning from await.
  42021. $async$temp1 = "(" + $async$temp1.S($async$result) + ": ";
  42022. $async$temp2 = H;
  42023. $async$goto = 20;
  42024. return P._asyncAwait($async$self._evaluateToCss$1(condition.value), $async$_async_evaluate$_visitSupportsCondition$1);
  42025. case 20:
  42026. // returning from await.
  42027. $async$returnValue = $async$temp1 + $async$temp2.S($async$result) + ")";
  42028. // goto return
  42029. $async$goto = 1;
  42030. break;
  42031. // goto join
  42032. $async$goto = 17;
  42033. break;
  42034. case 18:
  42035. // else
  42036. // goto return
  42037. $async$goto = 1;
  42038. break;
  42039. case 17:
  42040. // join
  42041. case 13:
  42042. // join
  42043. case 9:
  42044. // join
  42045. case 4:
  42046. // join
  42047. case 1:
  42048. // return
  42049. return P._asyncReturn($async$returnValue, $async$completer);
  42050. }
  42051. });
  42052. return P._asyncStartSync($async$_async_evaluate$_visitSupportsCondition$1, $async$completer);
  42053. },
  42054. _async_evaluate$_parenthesize$2: function(condition, operator) {
  42055. return this._parenthesize$body$_EvaluateVisitor(condition, operator);
  42056. },
  42057. _async_evaluate$_parenthesize$1: function(condition) {
  42058. return this._async_evaluate$_parenthesize$2(condition, null);
  42059. },
  42060. _parenthesize$body$_EvaluateVisitor: function(condition, operator) {
  42061. var $async$goto = 0,
  42062. $async$completer = P._makeAsyncAwaitCompleter(P.String),
  42063. $async$returnValue, $async$self = this, t1, $async$temp1;
  42064. var $async$_async_evaluate$_parenthesize$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  42065. if ($async$errorCode === 1)
  42066. return P._asyncRethrow($async$result, $async$completer);
  42067. while (true)
  42068. switch ($async$goto) {
  42069. case 0:
  42070. // Function start
  42071. if (!condition.$isSupportsNegation)
  42072. if (!!condition.$isSupportsOperation)
  42073. t1 = operator == null || operator !== condition.operator;
  42074. else
  42075. t1 = false;
  42076. else
  42077. t1 = true;
  42078. $async$goto = t1 ? 3 : 5;
  42079. break;
  42080. case 3:
  42081. // then
  42082. $async$temp1 = H;
  42083. $async$goto = 6;
  42084. return P._asyncAwait($async$self._async_evaluate$_visitSupportsCondition$1(condition), $async$_async_evaluate$_parenthesize$2);
  42085. case 6:
  42086. // returning from await.
  42087. $async$returnValue = "(" + $async$temp1.S($async$result) + ")";
  42088. // goto return
  42089. $async$goto = 1;
  42090. break;
  42091. // goto join
  42092. $async$goto = 4;
  42093. break;
  42094. case 5:
  42095. // else
  42096. $async$goto = 7;
  42097. return P._asyncAwait($async$self._async_evaluate$_visitSupportsCondition$1(condition), $async$_async_evaluate$_parenthesize$2);
  42098. case 7:
  42099. // returning from await.
  42100. $async$returnValue = $async$result;
  42101. // goto return
  42102. $async$goto = 1;
  42103. break;
  42104. case 4:
  42105. // join
  42106. case 1:
  42107. // return
  42108. return P._asyncReturn($async$returnValue, $async$completer);
  42109. }
  42110. });
  42111. return P._asyncStartSync($async$_async_evaluate$_parenthesize$2, $async$completer);
  42112. },
  42113. visitVariableDeclaration$1: function(node) {
  42114. return this.visitVariableDeclaration$body$_EvaluateVisitor(node);
  42115. },
  42116. visitVariableDeclaration$body$_EvaluateVisitor: function(node) {
  42117. var $async$goto = 0,
  42118. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  42119. $async$returnValue, $async$self = this, value, t1, t2, $async$temp1, $async$temp2, $async$temp3;
  42120. var $async$visitVariableDeclaration$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  42121. if ($async$errorCode === 1)
  42122. return P._asyncRethrow($async$result, $async$completer);
  42123. while (true)
  42124. switch ($async$goto) {
  42125. case 0:
  42126. // Function start
  42127. if (node.isGuarded) {
  42128. value = $async$self._async_evaluate$_addExceptionSpan$2(node, new E._EvaluateVisitor_visitVariableDeclaration_closure1($async$self, node));
  42129. if (value != null && !value.$eq(0, C.C_SassNull)) {
  42130. // goto return
  42131. $async$goto = 1;
  42132. break;
  42133. }
  42134. }
  42135. if (node.isGlobal && !$async$self._async_evaluate$_environment.globalVariableExists$1(node.name)) {
  42136. t1 = $async$self._async_evaluate$_environment._async_environment$_variables.length === 1 ? "As of Dart Sass 2.0.0, !global assignments won't be able to\ndeclare new variables. Since this assignment is at the root of the stylesheet,\nthe !global flag is unnecessary and can safely be removed." : "As of Dart Sass 2.0.0, !global assignments won't be able to\ndeclare new variables. Consider adding `" + B.declarationName(node.span) + ": null` at the root of the\nstylesheet.";
  42137. t2 = node.span;
  42138. $async$self._async_evaluate$_logger.warn$4$deprecation$span$trace(t1, true, t2, $async$self._async_evaluate$_stackTrace$1(t2));
  42139. }
  42140. $async$temp1 = node;
  42141. $async$temp2 = E;
  42142. $async$temp3 = node;
  42143. $async$goto = 3;
  42144. return P._asyncAwait(node.expression.accept$1($async$self), $async$visitVariableDeclaration$1);
  42145. case 3:
  42146. // returning from await.
  42147. $async$self._async_evaluate$_addExceptionSpan$2($async$temp1, new $async$temp2._EvaluateVisitor_visitVariableDeclaration_closure2($async$self, $async$temp3, $async$result.withoutSlash$0()));
  42148. // goto return
  42149. $async$goto = 1;
  42150. break;
  42151. case 1:
  42152. // return
  42153. return P._asyncReturn($async$returnValue, $async$completer);
  42154. }
  42155. });
  42156. return P._asyncStartSync($async$visitVariableDeclaration$1, $async$completer);
  42157. },
  42158. visitUseRule$1: function(node) {
  42159. return this.visitUseRule$body$_EvaluateVisitor(node);
  42160. },
  42161. visitUseRule$body$_EvaluateVisitor: function(node) {
  42162. var $async$goto = 0,
  42163. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  42164. $async$returnValue, $async$self = this;
  42165. var $async$visitUseRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  42166. if ($async$errorCode === 1)
  42167. return P._asyncRethrow($async$result, $async$completer);
  42168. while (true)
  42169. switch ($async$goto) {
  42170. case 0:
  42171. // Function start
  42172. $async$goto = 3;
  42173. return P._asyncAwait($async$self._async_evaluate$_loadModule$4(node.url, "@use", node, new E._EvaluateVisitor_visitUseRule_closure0($async$self, node)), $async$visitUseRule$1);
  42174. case 3:
  42175. // returning from await.
  42176. // goto return
  42177. $async$goto = 1;
  42178. break;
  42179. case 1:
  42180. // return
  42181. return P._asyncReturn($async$returnValue, $async$completer);
  42182. }
  42183. });
  42184. return P._asyncStartSync($async$visitUseRule$1, $async$completer);
  42185. },
  42186. visitWarnRule$1: function(node) {
  42187. return this.visitWarnRule$body$_EvaluateVisitor(node);
  42188. },
  42189. visitWarnRule$body$_EvaluateVisitor: function(node) {
  42190. var $async$goto = 0,
  42191. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  42192. $async$returnValue, $async$self = this, value, t1;
  42193. var $async$visitWarnRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  42194. if ($async$errorCode === 1)
  42195. return P._asyncRethrow($async$result, $async$completer);
  42196. while (true)
  42197. switch ($async$goto) {
  42198. case 0:
  42199. // Function start
  42200. $async$goto = 3;
  42201. return P._asyncAwait($async$self._addExceptionSpanAsync$1$2(node, new E._EvaluateVisitor_visitWarnRule_closure0($async$self, node), F.Value), $async$visitWarnRule$1);
  42202. case 3:
  42203. // returning from await.
  42204. value = $async$result;
  42205. t1 = value instanceof D.SassString ? value.text : $async$self._async_evaluate$_serialize$2(value, node.expression);
  42206. $async$self._async_evaluate$_logger.warn$2$trace(t1, $async$self._async_evaluate$_stackTrace$1(node.span));
  42207. // goto return
  42208. $async$goto = 1;
  42209. break;
  42210. case 1:
  42211. // return
  42212. return P._asyncReturn($async$returnValue, $async$completer);
  42213. }
  42214. });
  42215. return P._asyncStartSync($async$visitWarnRule$1, $async$completer);
  42216. },
  42217. visitWhileRule$1: function(node) {
  42218. return this._async_evaluate$_environment.scope$1$3$semiGlobal$when(new E._EvaluateVisitor_visitWhileRule_closure0(this, node), true, node.hasDeclarations, F.Value);
  42219. },
  42220. visitBinaryOperationExpression$1: function(node) {
  42221. return this._addExceptionSpanAsync$1$2(node, new E._EvaluateVisitor_visitBinaryOperationExpression_closure0(this, node), F.Value);
  42222. },
  42223. visitValueExpression$1: function(node) {
  42224. return this.visitValueExpression$body$_EvaluateVisitor(node);
  42225. },
  42226. visitValueExpression$body$_EvaluateVisitor: function(node) {
  42227. var $async$goto = 0,
  42228. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  42229. $async$returnValue;
  42230. var $async$visitValueExpression$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  42231. if ($async$errorCode === 1)
  42232. return P._asyncRethrow($async$result, $async$completer);
  42233. while (true)
  42234. switch ($async$goto) {
  42235. case 0:
  42236. // Function start
  42237. $async$returnValue = node.value;
  42238. // goto return
  42239. $async$goto = 1;
  42240. break;
  42241. case 1:
  42242. // return
  42243. return P._asyncReturn($async$returnValue, $async$completer);
  42244. }
  42245. });
  42246. return P._asyncStartSync($async$visitValueExpression$1, $async$completer);
  42247. },
  42248. visitVariableExpression$1: function(node) {
  42249. return this.visitVariableExpression$body$_EvaluateVisitor(node);
  42250. },
  42251. visitVariableExpression$body$_EvaluateVisitor: function(node) {
  42252. var $async$goto = 0,
  42253. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  42254. $async$returnValue, $async$self = this, result;
  42255. var $async$visitVariableExpression$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  42256. if ($async$errorCode === 1)
  42257. return P._asyncRethrow($async$result, $async$completer);
  42258. while (true)
  42259. switch ($async$goto) {
  42260. case 0:
  42261. // Function start
  42262. result = $async$self._async_evaluate$_addExceptionSpan$2(node, new E._EvaluateVisitor_visitVariableExpression_closure0($async$self, node));
  42263. if (result != null) {
  42264. $async$returnValue = result;
  42265. // goto return
  42266. $async$goto = 1;
  42267. break;
  42268. }
  42269. throw H.wrapException($async$self._async_evaluate$_exception$2("Undefined variable.", node.span));
  42270. case 1:
  42271. // return
  42272. return P._asyncReturn($async$returnValue, $async$completer);
  42273. }
  42274. });
  42275. return P._asyncStartSync($async$visitVariableExpression$1, $async$completer);
  42276. },
  42277. visitUnaryOperationExpression$1: function(node) {
  42278. return this.visitUnaryOperationExpression$body$_EvaluateVisitor(node);
  42279. },
  42280. visitUnaryOperationExpression$body$_EvaluateVisitor: function(node) {
  42281. var $async$goto = 0,
  42282. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  42283. $async$returnValue, $async$self = this, operand, t1;
  42284. var $async$visitUnaryOperationExpression$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  42285. if ($async$errorCode === 1)
  42286. return P._asyncRethrow($async$result, $async$completer);
  42287. while (true)
  42288. $async$outer:
  42289. switch ($async$goto) {
  42290. case 0:
  42291. // Function start
  42292. $async$goto = 3;
  42293. return P._asyncAwait(node.operand.accept$1($async$self), $async$visitUnaryOperationExpression$1);
  42294. case 3:
  42295. // returning from await.
  42296. operand = $async$result;
  42297. t1 = node.operator;
  42298. switch (t1) {
  42299. case C.UnaryOperator_j2w:
  42300. $async$returnValue = operand.unaryPlus$0();
  42301. // goto return
  42302. $async$goto = 1;
  42303. break $async$outer;
  42304. case C.UnaryOperator_U4G:
  42305. $async$returnValue = operand.unaryMinus$0();
  42306. // goto return
  42307. $async$goto = 1;
  42308. break $async$outer;
  42309. case C.UnaryOperator_zDx:
  42310. operand.toString;
  42311. $async$returnValue = new D.SassString("/" + N.serializeValue(operand, false, true), false);
  42312. // goto return
  42313. $async$goto = 1;
  42314. break $async$outer;
  42315. case C.UnaryOperator_not_not:
  42316. $async$returnValue = operand.unaryNot$0();
  42317. // goto return
  42318. $async$goto = 1;
  42319. break $async$outer;
  42320. default:
  42321. throw H.wrapException(P.StateError$("Unknown unary operator " + H.S(t1) + "."));
  42322. }
  42323. case 1:
  42324. // return
  42325. return P._asyncReturn($async$returnValue, $async$completer);
  42326. }
  42327. });
  42328. return P._asyncStartSync($async$visitUnaryOperationExpression$1, $async$completer);
  42329. },
  42330. visitBooleanExpression$1: function(node) {
  42331. return this.visitBooleanExpression$body$_EvaluateVisitor(node);
  42332. },
  42333. visitBooleanExpression$body$_EvaluateVisitor: function(node) {
  42334. var $async$goto = 0,
  42335. $async$completer = P._makeAsyncAwaitCompleter(Z.SassBoolean),
  42336. $async$returnValue;
  42337. var $async$visitBooleanExpression$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  42338. if ($async$errorCode === 1)
  42339. return P._asyncRethrow($async$result, $async$completer);
  42340. while (true)
  42341. switch ($async$goto) {
  42342. case 0:
  42343. // Function start
  42344. $async$returnValue = node.value ? C.SassBoolean_true : C.SassBoolean_false;
  42345. // goto return
  42346. $async$goto = 1;
  42347. break;
  42348. case 1:
  42349. // return
  42350. return P._asyncReturn($async$returnValue, $async$completer);
  42351. }
  42352. });
  42353. return P._asyncStartSync($async$visitBooleanExpression$1, $async$completer);
  42354. },
  42355. visitIfExpression$1: function(node) {
  42356. return this.visitIfExpression$body$_EvaluateVisitor(node);
  42357. },
  42358. visitIfExpression$body$_EvaluateVisitor: function(node) {
  42359. var $async$goto = 0,
  42360. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  42361. $async$returnValue, $async$self = this, condition, ifTrue, ifFalse, pair, positional, named, t1;
  42362. var $async$visitIfExpression$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  42363. if ($async$errorCode === 1)
  42364. return P._asyncRethrow($async$result, $async$completer);
  42365. while (true)
  42366. switch ($async$goto) {
  42367. case 0:
  42368. // Function start
  42369. $async$goto = 3;
  42370. return P._asyncAwait($async$self._async_evaluate$_evaluateMacroArguments$1(node), $async$visitIfExpression$1);
  42371. case 3:
  42372. // returning from await.
  42373. pair = $async$result;
  42374. positional = pair.item1;
  42375. named = pair.item2;
  42376. t1 = J.getInterceptor$asx(positional);
  42377. $async$self._async_evaluate$_verifyArguments$4(t1.get$length(positional), named, $.$get$IfExpression_declaration(), node);
  42378. condition = t1.get$length(positional) > 0 ? t1.$index(positional, 0) : named.$index(0, "condition");
  42379. ifTrue = t1.get$length(positional) > 1 ? t1.$index(positional, 1) : named.$index(0, "if-true");
  42380. ifFalse = t1.get$length(positional) > 2 ? t1.$index(positional, 2) : named.$index(0, "if-false");
  42381. $async$goto = 5;
  42382. return P._asyncAwait(condition.accept$1($async$self), $async$visitIfExpression$1);
  42383. case 5:
  42384. // returning from await.
  42385. $async$goto = 4;
  42386. return P._asyncAwait(($async$result.get$isTruthy() ? ifTrue : ifFalse).accept$1($async$self), $async$visitIfExpression$1);
  42387. case 4:
  42388. // returning from await.
  42389. $async$returnValue = $async$result;
  42390. // goto return
  42391. $async$goto = 1;
  42392. break;
  42393. case 1:
  42394. // return
  42395. return P._asyncReturn($async$returnValue, $async$completer);
  42396. }
  42397. });
  42398. return P._asyncStartSync($async$visitIfExpression$1, $async$completer);
  42399. },
  42400. visitNullExpression$1: function(node) {
  42401. return this.visitNullExpression$body$_EvaluateVisitor(node);
  42402. },
  42403. visitNullExpression$body$_EvaluateVisitor: function(node) {
  42404. var $async$goto = 0,
  42405. $async$completer = P._makeAsyncAwaitCompleter(O.SassNull),
  42406. $async$returnValue;
  42407. var $async$visitNullExpression$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  42408. if ($async$errorCode === 1)
  42409. return P._asyncRethrow($async$result, $async$completer);
  42410. while (true)
  42411. switch ($async$goto) {
  42412. case 0:
  42413. // Function start
  42414. $async$returnValue = C.C_SassNull;
  42415. // goto return
  42416. $async$goto = 1;
  42417. break;
  42418. case 1:
  42419. // return
  42420. return P._asyncReturn($async$returnValue, $async$completer);
  42421. }
  42422. });
  42423. return P._asyncStartSync($async$visitNullExpression$1, $async$completer);
  42424. },
  42425. visitNumberExpression$1: function(node) {
  42426. return this.visitNumberExpression$body$_EvaluateVisitor(node);
  42427. },
  42428. visitNumberExpression$body$_EvaluateVisitor: function(node) {
  42429. var $async$goto = 0,
  42430. $async$completer = P._makeAsyncAwaitCompleter(T.SassNumber),
  42431. $async$returnValue, t1;
  42432. var $async$visitNumberExpression$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  42433. if ($async$errorCode === 1)
  42434. return P._asyncRethrow($async$result, $async$completer);
  42435. while (true)
  42436. switch ($async$goto) {
  42437. case 0:
  42438. // Function start
  42439. t1 = node.unit;
  42440. t1 = t1 == null ? null : H.setRuntimeTypeInfo([t1], [P.String]);
  42441. t1 = t1 == null ? C.List_empty0 : P.List_List$unmodifiable(t1, P.String);
  42442. $async$returnValue = new T.SassNumber(node.value, t1, C.List_empty0, null);
  42443. // goto return
  42444. $async$goto = 1;
  42445. break;
  42446. case 1:
  42447. // return
  42448. return P._asyncReturn($async$returnValue, $async$completer);
  42449. }
  42450. });
  42451. return P._asyncStartSync($async$visitNumberExpression$1, $async$completer);
  42452. },
  42453. visitParenthesizedExpression$1: function(node) {
  42454. return node.expression.accept$1(this);
  42455. },
  42456. visitColorExpression$1: function(node) {
  42457. return this.visitColorExpression$body$_EvaluateVisitor(node);
  42458. },
  42459. visitColorExpression$body$_EvaluateVisitor: function(node) {
  42460. var $async$goto = 0,
  42461. $async$completer = P._makeAsyncAwaitCompleter(K.SassColor),
  42462. $async$returnValue;
  42463. var $async$visitColorExpression$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  42464. if ($async$errorCode === 1)
  42465. return P._asyncRethrow($async$result, $async$completer);
  42466. while (true)
  42467. switch ($async$goto) {
  42468. case 0:
  42469. // Function start
  42470. $async$returnValue = node.value;
  42471. // goto return
  42472. $async$goto = 1;
  42473. break;
  42474. case 1:
  42475. // return
  42476. return P._asyncReturn($async$returnValue, $async$completer);
  42477. }
  42478. });
  42479. return P._asyncStartSync($async$visitColorExpression$1, $async$completer);
  42480. },
  42481. visitListExpression$1: function(node) {
  42482. return this.visitListExpression$body$_EvaluateVisitor(node);
  42483. },
  42484. visitListExpression$body$_EvaluateVisitor: function(node) {
  42485. var $async$goto = 0,
  42486. $async$completer = P._makeAsyncAwaitCompleter(D.SassList),
  42487. $async$returnValue, $async$self = this, $async$temp1;
  42488. var $async$visitListExpression$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  42489. if ($async$errorCode === 1)
  42490. return P._asyncRethrow($async$result, $async$completer);
  42491. while (true)
  42492. switch ($async$goto) {
  42493. case 0:
  42494. // Function start
  42495. $async$temp1 = D;
  42496. $async$goto = 3;
  42497. return P._asyncAwait(B.mapAsync(node.contents, new E._EvaluateVisitor_visitListExpression_closure0($async$self), T.Expression, F.Value), $async$visitListExpression$1);
  42498. case 3:
  42499. // returning from await.
  42500. $async$returnValue = $async$temp1.SassList$($async$result, node.separator, node.hasBrackets);
  42501. // goto return
  42502. $async$goto = 1;
  42503. break;
  42504. case 1:
  42505. // return
  42506. return P._asyncReturn($async$returnValue, $async$completer);
  42507. }
  42508. });
  42509. return P._asyncStartSync($async$visitListExpression$1, $async$completer);
  42510. },
  42511. visitMapExpression$1: function(node) {
  42512. return this.visitMapExpression$body$_EvaluateVisitor(node);
  42513. },
  42514. visitMapExpression$body$_EvaluateVisitor: function(node) {
  42515. var $async$goto = 0,
  42516. $async$completer = P._makeAsyncAwaitCompleter(A.SassMap),
  42517. $async$returnValue, $async$self = this, t2, t3, _i, pair, t4, keyValue, valueValue, t1, map;
  42518. var $async$visitMapExpression$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  42519. if ($async$errorCode === 1)
  42520. return P._asyncRethrow($async$result, $async$completer);
  42521. while (true)
  42522. switch ($async$goto) {
  42523. case 0:
  42524. // Function start
  42525. t1 = F.Value;
  42526. map = P.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
  42527. t2 = node.pairs, t3 = t2.length, _i = 0;
  42528. case 3:
  42529. // for condition
  42530. if (!(_i < t3)) {
  42531. // goto after for
  42532. $async$goto = 5;
  42533. break;
  42534. }
  42535. pair = t2[_i];
  42536. t4 = pair.item1;
  42537. $async$goto = 6;
  42538. return P._asyncAwait(t4.accept$1($async$self), $async$visitMapExpression$1);
  42539. case 6:
  42540. // returning from await.
  42541. keyValue = $async$result;
  42542. $async$goto = 7;
  42543. return P._asyncAwait(pair.item2.accept$1($async$self), $async$visitMapExpression$1);
  42544. case 7:
  42545. // returning from await.
  42546. valueValue = $async$result;
  42547. if (map.containsKey$1(keyValue))
  42548. throw H.wrapException($async$self._async_evaluate$_exception$2("Duplicate key.", t4.get$span()));
  42549. map.$indexSet(0, keyValue, valueValue);
  42550. case 4:
  42551. // for update
  42552. ++_i;
  42553. // goto for condition
  42554. $async$goto = 3;
  42555. break;
  42556. case 5:
  42557. // after for
  42558. $async$returnValue = new A.SassMap(H.ConstantMap_ConstantMap$from(map, t1, t1));
  42559. // goto return
  42560. $async$goto = 1;
  42561. break;
  42562. case 1:
  42563. // return
  42564. return P._asyncReturn($async$returnValue, $async$completer);
  42565. }
  42566. });
  42567. return P._asyncStartSync($async$visitMapExpression$1, $async$completer);
  42568. },
  42569. visitFunctionExpression$1: function(node) {
  42570. return this.visitFunctionExpression$body$_EvaluateVisitor(node);
  42571. },
  42572. visitFunctionExpression$body$_EvaluateVisitor: function(node) {
  42573. var $async$goto = 0,
  42574. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  42575. $async$returnValue, $async$self = this, oldInFunction, result, t1, plainName, $function, $async$temp1;
  42576. var $async$visitFunctionExpression$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  42577. if ($async$errorCode === 1)
  42578. return P._asyncRethrow($async$result, $async$completer);
  42579. while (true)
  42580. switch ($async$goto) {
  42581. case 0:
  42582. // Function start
  42583. t1 = node.name;
  42584. plainName = t1.get$asPlain();
  42585. $function = plainName != null ? $async$self._async_evaluate$_addExceptionSpan$2(node, new E._EvaluateVisitor_visitFunctionExpression_closure0($async$self, node, plainName)) : null;
  42586. $async$goto = $function == null ? 3 : 4;
  42587. break;
  42588. case 3:
  42589. // then
  42590. if (node.namespace != null)
  42591. throw H.wrapException($async$self._async_evaluate$_exception$2("Undefined function.", node.span));
  42592. $async$temp1 = L;
  42593. $async$goto = 5;
  42594. return P._asyncAwait($async$self._async_evaluate$_performInterpolation$1(t1), $async$visitFunctionExpression$1);
  42595. case 5:
  42596. // returning from await.
  42597. $function = new $async$temp1.PlainCssCallable($async$result);
  42598. case 4:
  42599. // join
  42600. oldInFunction = $async$self._async_evaluate$_inFunction;
  42601. $async$self._async_evaluate$_inFunction = true;
  42602. $async$goto = 6;
  42603. return P._asyncAwait($async$self._async_evaluate$_runFunctionCallable$3(node.$arguments, $function, node), $async$visitFunctionExpression$1);
  42604. case 6:
  42605. // returning from await.
  42606. result = $async$result;
  42607. $async$self._async_evaluate$_inFunction = oldInFunction;
  42608. $async$returnValue = result;
  42609. // goto return
  42610. $async$goto = 1;
  42611. break;
  42612. case 1:
  42613. // return
  42614. return P._asyncReturn($async$returnValue, $async$completer);
  42615. }
  42616. });
  42617. return P._asyncStartSync($async$visitFunctionExpression$1, $async$completer);
  42618. },
  42619. _async_evaluate$_getFunction$2$namespace: function($name, namespace) {
  42620. var local = this._async_evaluate$_environment.getFunction$2$namespace($name, namespace);
  42621. if (local != null || namespace != null)
  42622. return local;
  42623. return this._async_evaluate$_builtInFunctions.$index(0, $name);
  42624. },
  42625. _async_evaluate$_runUserDefinedCallable$4: function($arguments, callable, nodeWithSpan, run) {
  42626. return this._runUserDefinedCallable$body$_EvaluateVisitor($arguments, callable, nodeWithSpan, run);
  42627. },
  42628. _runUserDefinedCallable$body$_EvaluateVisitor: function($arguments, callable, nodeWithSpan, run) {
  42629. var $async$goto = 0,
  42630. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  42631. $async$returnValue, $async$self = this, evaluated, t1, $name;
  42632. var $async$_async_evaluate$_runUserDefinedCallable$4 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  42633. if ($async$errorCode === 1)
  42634. return P._asyncRethrow($async$result, $async$completer);
  42635. while (true)
  42636. switch ($async$goto) {
  42637. case 0:
  42638. // Function start
  42639. $async$goto = 3;
  42640. return P._asyncAwait($async$self._async_evaluate$_evaluateArguments$1($arguments), $async$_async_evaluate$_runUserDefinedCallable$4);
  42641. case 3:
  42642. // returning from await.
  42643. evaluated = $async$result;
  42644. t1 = callable.declaration.name;
  42645. $name = t1 == null ? "@content" : t1 + "()";
  42646. $async$goto = 4;
  42647. return P._asyncAwait($async$self._async_evaluate$_withStackFrame$1$3($name, nodeWithSpan, new E._EvaluateVisitor__runUserDefinedCallable_closure0($async$self, callable, evaluated, nodeWithSpan, run), F.Value), $async$_async_evaluate$_runUserDefinedCallable$4);
  42648. case 4:
  42649. // returning from await.
  42650. $async$returnValue = $async$result;
  42651. // goto return
  42652. $async$goto = 1;
  42653. break;
  42654. case 1:
  42655. // return
  42656. return P._asyncReturn($async$returnValue, $async$completer);
  42657. }
  42658. });
  42659. return P._asyncStartSync($async$_async_evaluate$_runUserDefinedCallable$4, $async$completer);
  42660. },
  42661. _async_evaluate$_runFunctionCallable$3: function($arguments, callable, nodeWithSpan) {
  42662. return this._runFunctionCallable$body$_EvaluateVisitor($arguments, callable, nodeWithSpan);
  42663. },
  42664. _runFunctionCallable$body$_EvaluateVisitor: function($arguments, callable, nodeWithSpan) {
  42665. var $async$goto = 0,
  42666. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  42667. $async$returnValue, $async$self = this, t1, t2, t3, first, _i, argument, rest, $async$temp1;
  42668. var $async$_async_evaluate$_runFunctionCallable$3 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  42669. if ($async$errorCode === 1)
  42670. return P._asyncRethrow($async$result, $async$completer);
  42671. while (true)
  42672. switch ($async$goto) {
  42673. case 0:
  42674. // Function start
  42675. $async$goto = !!callable.$isAsyncBuiltInCallable ? 3 : 5;
  42676. break;
  42677. case 3:
  42678. // then
  42679. $async$goto = 6;
  42680. return P._asyncAwait($async$self._async_evaluate$_runBuiltInCallable$3($arguments, callable, nodeWithSpan), $async$_async_evaluate$_runFunctionCallable$3);
  42681. case 6:
  42682. // returning from await.
  42683. $async$returnValue = $async$result.withoutSlash$0();
  42684. // goto return
  42685. $async$goto = 1;
  42686. break;
  42687. // goto join
  42688. $async$goto = 4;
  42689. break;
  42690. case 5:
  42691. // else
  42692. $async$goto = H.checkSubtype(callable, "$isUserDefinedCallable", [Q.AsyncEnvironment], null) ? 7 : 9;
  42693. break;
  42694. case 7:
  42695. // then
  42696. $async$goto = 10;
  42697. return P._asyncAwait($async$self._async_evaluate$_runUserDefinedCallable$4($arguments, callable, nodeWithSpan, new E._EvaluateVisitor__runFunctionCallable_closure0($async$self, callable)), $async$_async_evaluate$_runFunctionCallable$3);
  42698. case 10:
  42699. // returning from await.
  42700. $async$returnValue = $async$result.withoutSlash$0();
  42701. // goto return
  42702. $async$goto = 1;
  42703. break;
  42704. // goto join
  42705. $async$goto = 8;
  42706. break;
  42707. case 9:
  42708. // else
  42709. $async$goto = !!callable.$isPlainCssCallable ? 11 : 13;
  42710. break;
  42711. case 11:
  42712. // then
  42713. t1 = $arguments.named;
  42714. if (t1.get$isNotEmpty(t1) || $arguments.keywordRest != null)
  42715. throw H.wrapException($async$self._async_evaluate$_exception$2("Plain CSS functions don't support keyword arguments.", nodeWithSpan.span));
  42716. t1 = H.S(callable.name) + "(";
  42717. t2 = $arguments.positional, t3 = t2.length, first = true, _i = 0;
  42718. case 14:
  42719. // for condition
  42720. if (!(_i < t3)) {
  42721. // goto after for
  42722. $async$goto = 16;
  42723. break;
  42724. }
  42725. argument = t2[_i];
  42726. if (first)
  42727. first = false;
  42728. else
  42729. t1 += ", ";
  42730. $async$temp1 = H;
  42731. $async$goto = 17;
  42732. return P._asyncAwait($async$self._evaluateToCss$1(argument), $async$_async_evaluate$_runFunctionCallable$3);
  42733. case 17:
  42734. // returning from await.
  42735. t1 += $async$temp1.S($async$result);
  42736. case 15:
  42737. // for update
  42738. ++_i;
  42739. // goto for condition
  42740. $async$goto = 14;
  42741. break;
  42742. case 16:
  42743. // after for
  42744. t2 = $arguments.rest;
  42745. $async$goto = 18;
  42746. return P._asyncAwait(t2 == null ? null : t2.accept$1($async$self), $async$_async_evaluate$_runFunctionCallable$3);
  42747. case 18:
  42748. // returning from await.
  42749. rest = $async$result;
  42750. if (rest != null) {
  42751. if (!first)
  42752. t1 += ", ";
  42753. t2 = t1 + H.S($async$self._async_evaluate$_serialize$2(rest, t2));
  42754. t1 = t2;
  42755. }
  42756. t1 += H.Primitives_stringFromCharCode(41);
  42757. $async$returnValue = new D.SassString(t1.charCodeAt(0) == 0 ? t1 : t1, false);
  42758. // goto return
  42759. $async$goto = 1;
  42760. break;
  42761. // goto join
  42762. $async$goto = 12;
  42763. break;
  42764. case 13:
  42765. // else
  42766. // goto return
  42767. $async$goto = 1;
  42768. break;
  42769. case 12:
  42770. // join
  42771. case 8:
  42772. // join
  42773. case 4:
  42774. // join
  42775. case 1:
  42776. // return
  42777. return P._asyncReturn($async$returnValue, $async$completer);
  42778. }
  42779. });
  42780. return P._asyncStartSync($async$_async_evaluate$_runFunctionCallable$3, $async$completer);
  42781. },
  42782. _async_evaluate$_runBuiltInCallable$3: function($arguments, callable, nodeWithSpan) {
  42783. return this._runBuiltInCallable$body$_EvaluateVisitor($arguments, callable, nodeWithSpan);
  42784. },
  42785. _runBuiltInCallable$body$_EvaluateVisitor: function($arguments, callable, nodeWithSpan) {
  42786. var $async$goto = 0,
  42787. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  42788. $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, callback, result, error, message, t1, namedSet, tuple, overload, declaredArguments, i, t2, argument, t3, t4, rest, argumentList, exception, evaluated, oldCallableNode, $async$exception;
  42789. var $async$_async_evaluate$_runBuiltInCallable$3 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  42790. if ($async$errorCode === 1) {
  42791. $async$currentError = $async$result;
  42792. $async$goto = $async$handler;
  42793. }
  42794. while (true)
  42795. switch ($async$goto) {
  42796. case 0:
  42797. // Function start
  42798. $async$goto = 3;
  42799. return P._asyncAwait($async$self._async_evaluate$_evaluateArguments$2$trackSpans($arguments, false), $async$_async_evaluate$_runBuiltInCallable$3);
  42800. case 3:
  42801. // returning from await.
  42802. evaluated = $async$result;
  42803. oldCallableNode = $async$self._async_evaluate$_callableNode;
  42804. $async$self._async_evaluate$_callableNode = nodeWithSpan;
  42805. t1 = P.String;
  42806. namedSet = new M.MapKeySet(evaluated.named, [t1]);
  42807. tuple = callable.callbackFor$2(evaluated.positional.length, namedSet);
  42808. overload = tuple.item1;
  42809. callback = tuple.item2;
  42810. $async$self._async_evaluate$_addExceptionSpan$2(nodeWithSpan, new E._EvaluateVisitor__runBuiltInCallable_closure1(overload, evaluated, namedSet));
  42811. declaredArguments = overload.$arguments;
  42812. i = evaluated.positional.length, t2 = declaredArguments.length;
  42813. case 4:
  42814. // for condition
  42815. if (!(i < t2)) {
  42816. // goto after for
  42817. $async$goto = 6;
  42818. break;
  42819. }
  42820. argument = declaredArguments[i];
  42821. t3 = evaluated.positional;
  42822. t4 = evaluated.named.remove$1(0, argument.name);
  42823. $async$goto = t4 == null ? 7 : 8;
  42824. break;
  42825. case 7:
  42826. // then
  42827. t4 = argument.defaultValue;
  42828. $async$goto = 9;
  42829. return P._asyncAwait(t4 == null ? null : t4.accept$1($async$self), $async$_async_evaluate$_runBuiltInCallable$3);
  42830. case 9:
  42831. // returning from await.
  42832. t4 = $async$result;
  42833. case 8:
  42834. // join
  42835. t3.push(t4);
  42836. case 5:
  42837. // for update
  42838. ++i;
  42839. // goto for condition
  42840. $async$goto = 4;
  42841. break;
  42842. case 6:
  42843. // after for
  42844. if (overload.restArgument != null) {
  42845. if (evaluated.positional.length > t2) {
  42846. rest = C.JSArray_methods.sublist$1(evaluated.positional, t2);
  42847. C.JSArray_methods.removeRange$2(evaluated.positional, t2, evaluated.positional.length);
  42848. } else
  42849. rest = C.List_empty1;
  42850. t2 = evaluated.named;
  42851. t3 = evaluated.separator === C.ListSeparator_undecided ? C.ListSeparator_comma : evaluated.separator;
  42852. t4 = F.Value;
  42853. argumentList = new D.SassArgumentList(H.ConstantMap_ConstantMap$from(t2, t1, t4), P.List_List$unmodifiable(rest, t4), t3, false);
  42854. argumentList.SassList$3$brackets(rest, t3, false);
  42855. evaluated.positional.push(argumentList);
  42856. } else
  42857. argumentList = null;
  42858. result = null;
  42859. $async$handler = 11;
  42860. $async$goto = 14;
  42861. return P._asyncAwait(callback.call$1(evaluated.positional), $async$_async_evaluate$_runBuiltInCallable$3);
  42862. case 14:
  42863. // returning from await.
  42864. result = $async$result;
  42865. if (result == null)
  42866. throw H.wrapException("Custom functions may not return Dart's null.");
  42867. $async$handler = 2;
  42868. // goto after finally
  42869. $async$goto = 13;
  42870. break;
  42871. case 11:
  42872. // catch
  42873. $async$handler = 10;
  42874. $async$exception = $async$currentError;
  42875. error = H.unwrapException($async$exception);
  42876. message = null;
  42877. try {
  42878. message = H.stringTypeCast(J.get$message$x(error));
  42879. } catch (exception) {
  42880. H.unwrapException($async$exception);
  42881. message = J.toString$0$(error);
  42882. }
  42883. throw H.wrapException($async$self._async_evaluate$_exception$2(message, nodeWithSpan.span));
  42884. // goto after finally
  42885. $async$goto = 13;
  42886. break;
  42887. case 10:
  42888. // uncaught
  42889. // goto rethrow
  42890. $async$goto = 2;
  42891. break;
  42892. case 13:
  42893. // after finally
  42894. $async$self._async_evaluate$_callableNode = oldCallableNode;
  42895. if (argumentList == null) {
  42896. $async$returnValue = result;
  42897. // goto return
  42898. $async$goto = 1;
  42899. break;
  42900. }
  42901. t1 = evaluated.named;
  42902. if (t1.get$isEmpty(t1)) {
  42903. $async$returnValue = result;
  42904. // goto return
  42905. $async$goto = 1;
  42906. break;
  42907. }
  42908. if (argumentList._wereKeywordsAccessed) {
  42909. $async$returnValue = result;
  42910. // goto return
  42911. $async$goto = 1;
  42912. break;
  42913. }
  42914. throw H.wrapException($async$self._async_evaluate$_exception$2("No " + B.pluralize("argument", J.get$length$asx(evaluated.named.get$keys()), null) + " named " + H.S(B.toSentence(J.map$1$1$ax(evaluated.named.get$keys(), new E._EvaluateVisitor__runBuiltInCallable_closure2(), P.Object), "or")) + ".", nodeWithSpan.span));
  42915. case 1:
  42916. // return
  42917. return P._asyncReturn($async$returnValue, $async$completer);
  42918. case 2:
  42919. // rethrow
  42920. return P._asyncRethrow($async$currentError, $async$completer);
  42921. }
  42922. });
  42923. return P._asyncStartSync($async$_async_evaluate$_runBuiltInCallable$3, $async$completer);
  42924. },
  42925. _async_evaluate$_evaluateArguments$2$trackSpans: function($arguments, trackSpans) {
  42926. return this._evaluateArguments$body$_EvaluateVisitor($arguments, trackSpans);
  42927. },
  42928. _async_evaluate$_evaluateArguments$1: function($arguments) {
  42929. return this._async_evaluate$_evaluateArguments$2$trackSpans($arguments, null);
  42930. },
  42931. _evaluateArguments$body$_EvaluateVisitor: function($arguments, trackSpans) {
  42932. var $async$goto = 0,
  42933. $async$completer = P._makeAsyncAwaitCompleter(E._ArgumentResults0),
  42934. $async$returnValue, $async$self = this, t1, t2, t3, t4, _i, t5, t6, t7, named, t8, positionalNodes, namedNodes, rest, restNodeForSpan, separator, keywordRest, keywordRestNodeForSpan, $async$temp1;
  42935. var $async$_async_evaluate$_evaluateArguments$2$trackSpans = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  42936. if ($async$errorCode === 1)
  42937. return P._asyncRethrow($async$result, $async$completer);
  42938. while (true)
  42939. switch ($async$goto) {
  42940. case 0:
  42941. // Function start
  42942. if (trackSpans == null)
  42943. trackSpans = $async$self._async_evaluate$_sourceMap;
  42944. t1 = F.Value;
  42945. t2 = H.setRuntimeTypeInfo([], [t1]);
  42946. t3 = $arguments.positional, t4 = t3.length, _i = 0;
  42947. case 3:
  42948. // for condition
  42949. if (!(_i < t4)) {
  42950. // goto after for
  42951. $async$goto = 5;
  42952. break;
  42953. }
  42954. $async$temp1 = t2;
  42955. $async$goto = 6;
  42956. return P._asyncAwait(t3[_i].accept$1($async$self), $async$_async_evaluate$_evaluateArguments$2$trackSpans);
  42957. case 6:
  42958. // returning from await.
  42959. $async$temp1.push($async$result);
  42960. case 4:
  42961. // for update
  42962. ++_i;
  42963. // goto for condition
  42964. $async$goto = 3;
  42965. break;
  42966. case 5:
  42967. // after for
  42968. t5 = $arguments.named;
  42969. t6 = P.String;
  42970. t7 = T.Expression;
  42971. $async$goto = 7;
  42972. return P._asyncAwait(B.mapMapAsync(t5, new E._EvaluateVisitor__evaluateArguments_closure6($async$self), t6, t7, t6, t1), $async$_async_evaluate$_evaluateArguments$2$trackSpans);
  42973. case 7:
  42974. // returning from await.
  42975. named = $async$result;
  42976. if (trackSpans) {
  42977. t8 = H.setRuntimeTypeInfo([], [B.AstNode]);
  42978. for (_i = 0; _i < t4; ++_i)
  42979. t8.push($async$self._async_evaluate$_expressionNode$1(t3[_i]));
  42980. positionalNodes = t8;
  42981. } else
  42982. positionalNodes = null;
  42983. namedNodes = trackSpans ? Y.mapMap(t5, null, new E._EvaluateVisitor__evaluateArguments_closure7($async$self), t6, t7, t6, B.AstNode) : null;
  42984. t3 = $arguments.rest;
  42985. if (t3 == null) {
  42986. $async$returnValue = E._ArgumentResults$0(t2, named, C.ListSeparator_undecided, namedNodes, positionalNodes);
  42987. // goto return
  42988. $async$goto = 1;
  42989. break;
  42990. }
  42991. $async$goto = 8;
  42992. return P._asyncAwait(t3.accept$1($async$self), $async$_async_evaluate$_evaluateArguments$2$trackSpans);
  42993. case 8:
  42994. // returning from await.
  42995. rest = $async$result;
  42996. restNodeForSpan = trackSpans ? $async$self._async_evaluate$_expressionNode$1(t3) : null;
  42997. t4 = J.getInterceptor$(rest);
  42998. if (!!t4.$isSassMap) {
  42999. $async$self._async_evaluate$_addRestMap$1$3(named, rest, t3, t1);
  43000. if (namedNodes != null)
  43001. namedNodes.addAll$1(0, Y.mapMap(rest.contents, new E._EvaluateVisitor__evaluateArguments_closure8(), new E._EvaluateVisitor__evaluateArguments_closure9(restNodeForSpan), t1, t1, t6, B.AstNode));
  43002. separator = C.ListSeparator_undecided;
  43003. } else if (!!t4.$isSassList) {
  43004. t3 = rest._list$_contents;
  43005. C.JSArray_methods.addAll$1(t2, t3);
  43006. if (positionalNodes != null)
  43007. C.JSArray_methods.addAll$1(positionalNodes, P.List_List$filled(t3.length, restNodeForSpan, B.AstNode));
  43008. separator = rest.separator;
  43009. if (!!rest.$isSassArgumentList) {
  43010. rest._wereKeywordsAccessed = true;
  43011. rest._keywords.forEach$1(0, new E._EvaluateVisitor__evaluateArguments_closure10(named, namedNodes, restNodeForSpan));
  43012. }
  43013. } else {
  43014. t2.push(rest);
  43015. if (positionalNodes != null)
  43016. positionalNodes.push(restNodeForSpan);
  43017. separator = C.ListSeparator_undecided;
  43018. }
  43019. t3 = $arguments.keywordRest;
  43020. if (t3 == null) {
  43021. $async$returnValue = E._ArgumentResults$0(t2, named, separator, namedNodes, positionalNodes);
  43022. // goto return
  43023. $async$goto = 1;
  43024. break;
  43025. }
  43026. $async$goto = 9;
  43027. return P._asyncAwait(t3.accept$1($async$self), $async$_async_evaluate$_evaluateArguments$2$trackSpans);
  43028. case 9:
  43029. // returning from await.
  43030. keywordRest = $async$result;
  43031. keywordRestNodeForSpan = trackSpans ? $async$self._async_evaluate$_expressionNode$1(t3) : null;
  43032. if (keywordRest instanceof A.SassMap) {
  43033. $async$self._async_evaluate$_addRestMap$1$3(named, keywordRest, t3, t1);
  43034. if (namedNodes != null)
  43035. namedNodes.addAll$1(0, Y.mapMap(keywordRest.contents, new E._EvaluateVisitor__evaluateArguments_closure11(), new E._EvaluateVisitor__evaluateArguments_closure12(keywordRestNodeForSpan), t1, t1, t6, B.AstNode));
  43036. $async$returnValue = E._ArgumentResults$0(t2, named, separator, namedNodes, positionalNodes);
  43037. // goto return
  43038. $async$goto = 1;
  43039. break;
  43040. } else
  43041. throw H.wrapException($async$self._async_evaluate$_exception$2("Variable keyword arguments must be a map (was " + H.S(keywordRest) + ").", t3.get$span()));
  43042. case 1:
  43043. // return
  43044. return P._asyncReturn($async$returnValue, $async$completer);
  43045. }
  43046. });
  43047. return P._asyncStartSync($async$_async_evaluate$_evaluateArguments$2$trackSpans, $async$completer);
  43048. },
  43049. _async_evaluate$_evaluateMacroArguments$1: function(invocation) {
  43050. return this._evaluateMacroArguments$body$_EvaluateVisitor(invocation);
  43051. },
  43052. _evaluateMacroArguments$body$_EvaluateVisitor: function(invocation) {
  43053. var $async$goto = 0,
  43054. $async$completer = P._makeAsyncAwaitCompleter([S.Tuple2, [P.List, T.Expression], [P.Map, P.String, T.Expression]]),
  43055. $async$returnValue, $async$self = this, t3, positional, named, rest, keywordRest, t1, t2;
  43056. var $async$_async_evaluate$_evaluateMacroArguments$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  43057. if ($async$errorCode === 1)
  43058. return P._asyncRethrow($async$result, $async$completer);
  43059. while (true)
  43060. switch ($async$goto) {
  43061. case 0:
  43062. // Function start
  43063. t1 = invocation.$arguments;
  43064. t2 = t1.rest;
  43065. if (t2 == null) {
  43066. $async$returnValue = new S.Tuple2(t1.positional, t1.named, [[P.List, T.Expression], [P.Map, P.String, T.Expression]]);
  43067. // goto return
  43068. $async$goto = 1;
  43069. break;
  43070. }
  43071. t3 = t1.positional;
  43072. positional = H.setRuntimeTypeInfo(t3.slice(0), [H.getTypeArgumentByIndex(t3, 0)]);
  43073. t3 = T.Expression;
  43074. named = P.LinkedHashMap_LinkedHashMap$of(t1.named, P.String, t3);
  43075. $async$goto = 3;
  43076. return P._asyncAwait(t2.accept$1($async$self), $async$_async_evaluate$_evaluateMacroArguments$1);
  43077. case 3:
  43078. // returning from await.
  43079. rest = $async$result;
  43080. t2 = J.getInterceptor$(rest);
  43081. if (!!t2.$isSassMap)
  43082. $async$self._async_evaluate$_addRestMap$1$4(named, rest, invocation, new E._EvaluateVisitor__evaluateMacroArguments_closure3(), t3);
  43083. else if (!!t2.$isSassList) {
  43084. t2 = rest._list$_contents;
  43085. C.JSArray_methods.addAll$1(positional, new H.MappedListIterable(t2, new E._EvaluateVisitor__evaluateMacroArguments_closure4(), [H.getTypeArgumentByIndex(t2, 0), t3]));
  43086. if (!!rest.$isSassArgumentList) {
  43087. rest._wereKeywordsAccessed = true;
  43088. rest._keywords.forEach$1(0, new E._EvaluateVisitor__evaluateMacroArguments_closure5(named));
  43089. }
  43090. } else
  43091. positional.push(new F.ValueExpression(rest, null));
  43092. t1 = t1.keywordRest;
  43093. if (t1 == null) {
  43094. $async$returnValue = new S.Tuple2(positional, named, [[P.List, T.Expression], [P.Map, P.String, T.Expression]]);
  43095. // goto return
  43096. $async$goto = 1;
  43097. break;
  43098. }
  43099. $async$goto = 4;
  43100. return P._asyncAwait(t1.accept$1($async$self), $async$_async_evaluate$_evaluateMacroArguments$1);
  43101. case 4:
  43102. // returning from await.
  43103. keywordRest = $async$result;
  43104. if (keywordRest instanceof A.SassMap) {
  43105. $async$self._async_evaluate$_addRestMap$1$4(named, keywordRest, invocation, new E._EvaluateVisitor__evaluateMacroArguments_closure6(), t3);
  43106. $async$returnValue = new S.Tuple2(positional, named, [[P.List, T.Expression], [P.Map, P.String, T.Expression]]);
  43107. // goto return
  43108. $async$goto = 1;
  43109. break;
  43110. } else
  43111. throw H.wrapException($async$self._async_evaluate$_exception$2("Variable keyword arguments must be a map (was " + H.S(keywordRest) + ").", invocation.span));
  43112. case 1:
  43113. // return
  43114. return P._asyncReturn($async$returnValue, $async$completer);
  43115. }
  43116. });
  43117. return P._asyncStartSync($async$_async_evaluate$_evaluateMacroArguments$1, $async$completer);
  43118. },
  43119. _async_evaluate$_addRestMap$1$4: function(values, map, nodeForSpan, convert, $T) {
  43120. var t1 = {};
  43121. t1.convert = convert;
  43122. if (convert == null)
  43123. t1.convert = new E._EvaluateVisitor__addRestMap_closure1($T);
  43124. map.contents.forEach$1(0, new E._EvaluateVisitor__addRestMap_closure2(t1, this, values, map, nodeForSpan));
  43125. },
  43126. _async_evaluate$_addRestMap$1$3: function(values, map, nodeForSpan, $T) {
  43127. return this._async_evaluate$_addRestMap$1$4(values, map, nodeForSpan, null, $T);
  43128. },
  43129. _async_evaluate$_verifyArguments$4: function(positional, named, $arguments, nodeWithSpan) {
  43130. return this._async_evaluate$_addExceptionSpan$2(nodeWithSpan, new E._EvaluateVisitor__verifyArguments_closure0($arguments, positional, named));
  43131. },
  43132. visitSelectorExpression$1: function(node) {
  43133. return this.visitSelectorExpression$body$_EvaluateVisitor(node);
  43134. },
  43135. visitSelectorExpression$body$_EvaluateVisitor: function(node) {
  43136. var $async$goto = 0,
  43137. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  43138. $async$returnValue, $async$self = this, t1;
  43139. var $async$visitSelectorExpression$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  43140. if ($async$errorCode === 1)
  43141. return P._asyncRethrow($async$result, $async$completer);
  43142. while (true)
  43143. switch ($async$goto) {
  43144. case 0:
  43145. // Function start
  43146. t1 = $async$self._async_evaluate$_styleRule;
  43147. if (t1 == null) {
  43148. $async$returnValue = C.C_SassNull;
  43149. // goto return
  43150. $async$goto = 1;
  43151. break;
  43152. }
  43153. $async$returnValue = t1.originalSelector.get$asSassList();
  43154. // goto return
  43155. $async$goto = 1;
  43156. break;
  43157. case 1:
  43158. // return
  43159. return P._asyncReturn($async$returnValue, $async$completer);
  43160. }
  43161. });
  43162. return P._asyncStartSync($async$visitSelectorExpression$1, $async$completer);
  43163. },
  43164. visitStringExpression$1: function(node) {
  43165. return this.visitStringExpression$body$_EvaluateVisitor(node);
  43166. },
  43167. visitStringExpression$body$_EvaluateVisitor: function(node) {
  43168. var $async$goto = 0,
  43169. $async$completer = P._makeAsyncAwaitCompleter(D.SassString),
  43170. $async$returnValue, $async$self = this, $async$temp1, $async$temp2;
  43171. var $async$visitStringExpression$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  43172. if ($async$errorCode === 1)
  43173. return P._asyncRethrow($async$result, $async$completer);
  43174. while (true)
  43175. switch ($async$goto) {
  43176. case 0:
  43177. // Function start
  43178. $async$temp1 = D;
  43179. $async$temp2 = J;
  43180. $async$goto = 3;
  43181. return P._asyncAwait(B.mapAsync(node.text.contents, new E._EvaluateVisitor_visitStringExpression_closure0($async$self), P.Object, P.String), $async$visitStringExpression$1);
  43182. case 3:
  43183. // returning from await.
  43184. $async$returnValue = new $async$temp1.SassString($async$temp2.join$0$ax($async$result), node.hasQuotes);
  43185. // goto return
  43186. $async$goto = 1;
  43187. break;
  43188. case 1:
  43189. // return
  43190. return P._asyncReturn($async$returnValue, $async$completer);
  43191. }
  43192. });
  43193. return P._asyncStartSync($async$visitStringExpression$1, $async$completer);
  43194. },
  43195. visitCssAtRule$1: function(node) {
  43196. return this.visitCssAtRule$body$_EvaluateVisitor(node);
  43197. },
  43198. visitCssAtRule$body$_EvaluateVisitor: function(node) {
  43199. var $async$goto = 0,
  43200. $async$completer = P._makeAsyncAwaitCompleter(-1),
  43201. $async$returnValue, $async$self = this, t1, t2, t3, wasInKeyframes, wasInUnknownAtRule;
  43202. var $async$visitCssAtRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  43203. if ($async$errorCode === 1)
  43204. return P._asyncRethrow($async$result, $async$completer);
  43205. while (true)
  43206. switch ($async$goto) {
  43207. case 0:
  43208. // Function start
  43209. if ($async$self._async_evaluate$_declarationName != null)
  43210. throw H.wrapException($async$self._async_evaluate$_exception$2("At-rules may not be used within nested declarations.", node.span));
  43211. if (node.isChildless) {
  43212. t1 = $async$self._async_evaluate$_parent;
  43213. t2 = B.ModifiableCssNode;
  43214. t3 = H.setRuntimeTypeInfo([], [t2]);
  43215. t1.addChild$1(new U.ModifiableCssAtRule(node.name, node.value, true, node.span, new P.UnmodifiableListView(t3, [t2]), t3));
  43216. // goto return
  43217. $async$goto = 1;
  43218. break;
  43219. }
  43220. wasInKeyframes = $async$self._async_evaluate$_inKeyframes;
  43221. wasInUnknownAtRule = $async$self._async_evaluate$_inUnknownAtRule;
  43222. t1 = node.name;
  43223. if (B.unvendor(t1.get$value()) === "keyframes")
  43224. $async$self._async_evaluate$_inKeyframes = true;
  43225. else
  43226. $async$self._async_evaluate$_inUnknownAtRule = true;
  43227. t2 = B.ModifiableCssNode;
  43228. t3 = H.setRuntimeTypeInfo([], [t2]);
  43229. $async$goto = 3;
  43230. return P._asyncAwait($async$self._async_evaluate$_withParent$2$4$scopeWhen$through(new U.ModifiableCssAtRule(t1, node.value, false, node.span, new P.UnmodifiableListView(t3, [t2]), t3), new E._EvaluateVisitor_visitCssAtRule_closure1($async$self, node), false, new E._EvaluateVisitor_visitCssAtRule_closure2(), U.ModifiableCssAtRule, P.Null), $async$visitCssAtRule$1);
  43231. case 3:
  43232. // returning from await.
  43233. $async$self._async_evaluate$_inUnknownAtRule = wasInUnknownAtRule;
  43234. $async$self._async_evaluate$_inKeyframes = wasInKeyframes;
  43235. case 1:
  43236. // return
  43237. return P._asyncReturn($async$returnValue, $async$completer);
  43238. }
  43239. });
  43240. return P._asyncStartSync($async$visitCssAtRule$1, $async$completer);
  43241. },
  43242. visitCssComment$1: function(node) {
  43243. return this.visitCssComment$body$_EvaluateVisitor(node);
  43244. },
  43245. visitCssComment$body$_EvaluateVisitor: function(node) {
  43246. var $async$goto = 0,
  43247. $async$completer = P._makeAsyncAwaitCompleter(-1),
  43248. $async$self = this, t1, t2;
  43249. var $async$visitCssComment$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  43250. if ($async$errorCode === 1)
  43251. return P._asyncRethrow($async$result, $async$completer);
  43252. while (true)
  43253. switch ($async$goto) {
  43254. case 0:
  43255. // Function start
  43256. t1 = $async$self._async_evaluate$_parent;
  43257. t2 = $async$self._async_evaluate$_root;
  43258. if (t1 == t2 && $async$self._async_evaluate$_endOfImports === J.get$length$asx(t2.children._collection$_source))
  43259. $async$self._async_evaluate$_endOfImports = $async$self._async_evaluate$_endOfImports + 1;
  43260. $async$self._async_evaluate$_parent.addChild$1(new R.ModifiableCssComment(node.text, node.span));
  43261. // implicit return
  43262. return P._asyncReturn(null, $async$completer);
  43263. }
  43264. });
  43265. return P._asyncStartSync($async$visitCssComment$1, $async$completer);
  43266. },
  43267. visitCssDeclaration$1: function(node) {
  43268. return this.visitCssDeclaration$body$_EvaluateVisitor(node);
  43269. },
  43270. visitCssDeclaration$body$_EvaluateVisitor: function(node) {
  43271. var $async$goto = 0,
  43272. $async$completer = P._makeAsyncAwaitCompleter(-1),
  43273. $async$self = this;
  43274. var $async$visitCssDeclaration$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  43275. if ($async$errorCode === 1)
  43276. return P._asyncRethrow($async$result, $async$completer);
  43277. while (true)
  43278. switch ($async$goto) {
  43279. case 0:
  43280. // Function start
  43281. $async$self._async_evaluate$_parent.addChild$1(L.ModifiableCssDeclaration$(node.name, node.value, node.span, node.valueSpanForMap));
  43282. // implicit return
  43283. return P._asyncReturn(null, $async$completer);
  43284. }
  43285. });
  43286. return P._asyncStartSync($async$visitCssDeclaration$1, $async$completer);
  43287. },
  43288. visitCssImport$1: function(node) {
  43289. return this.visitCssImport$body$_EvaluateVisitor(node);
  43290. },
  43291. visitCssImport$body$_EvaluateVisitor: function(node) {
  43292. var $async$goto = 0,
  43293. $async$completer = P._makeAsyncAwaitCompleter(-1),
  43294. $async$self = this, modifiableNode, t1, t2;
  43295. var $async$visitCssImport$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  43296. if ($async$errorCode === 1)
  43297. return P._asyncRethrow($async$result, $async$completer);
  43298. while (true)
  43299. switch ($async$goto) {
  43300. case 0:
  43301. // Function start
  43302. modifiableNode = F.ModifiableCssImport$(node.url, node.span, node.media, node.supports);
  43303. t1 = $async$self._async_evaluate$_parent;
  43304. t2 = $async$self._async_evaluate$_root;
  43305. if (t1 != t2)
  43306. t1.addChild$1(modifiableNode);
  43307. else if ($async$self._async_evaluate$_endOfImports === J.get$length$asx(t2.children._collection$_source)) {
  43308. $async$self._async_evaluate$_root.addChild$1(modifiableNode);
  43309. $async$self._async_evaluate$_endOfImports = $async$self._async_evaluate$_endOfImports + 1;
  43310. } else {
  43311. t1 = $async$self._async_evaluate$_outOfOrderImports;
  43312. (t1 == null ? $async$self._async_evaluate$_outOfOrderImports = H.setRuntimeTypeInfo([], [F.ModifiableCssImport]) : t1).push(modifiableNode);
  43313. }
  43314. // implicit return
  43315. return P._asyncReturn(null, $async$completer);
  43316. }
  43317. });
  43318. return P._asyncStartSync($async$visitCssImport$1, $async$completer);
  43319. },
  43320. visitCssKeyframeBlock$1: function(node) {
  43321. return this.visitCssKeyframeBlock$body$_EvaluateVisitor(node);
  43322. },
  43323. visitCssKeyframeBlock$body$_EvaluateVisitor: function(node) {
  43324. var $async$goto = 0,
  43325. $async$completer = P._makeAsyncAwaitCompleter(-1),
  43326. $async$self = this, t1, t2;
  43327. var $async$visitCssKeyframeBlock$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  43328. if ($async$errorCode === 1)
  43329. return P._asyncRethrow($async$result, $async$completer);
  43330. while (true)
  43331. switch ($async$goto) {
  43332. case 0:
  43333. // Function start
  43334. t1 = B.ModifiableCssNode;
  43335. t2 = H.setRuntimeTypeInfo([], [t1]);
  43336. $async$goto = 2;
  43337. return P._asyncAwait($async$self._async_evaluate$_withParent$2$4$scopeWhen$through(new U.ModifiableCssKeyframeBlock(node.selector, node.span, new P.UnmodifiableListView(t2, [t1]), t2), new E._EvaluateVisitor_visitCssKeyframeBlock_closure1($async$self, node), false, new E._EvaluateVisitor_visitCssKeyframeBlock_closure2(), U.ModifiableCssKeyframeBlock, P.Null), $async$visitCssKeyframeBlock$1);
  43338. case 2:
  43339. // returning from await.
  43340. // implicit return
  43341. return P._asyncReturn(null, $async$completer);
  43342. }
  43343. });
  43344. return P._asyncStartSync($async$visitCssKeyframeBlock$1, $async$completer);
  43345. },
  43346. visitCssMediaRule$1: function(node) {
  43347. return this.visitCssMediaRule$body$_EvaluateVisitor(node);
  43348. },
  43349. visitCssMediaRule$body$_EvaluateVisitor: function(node) {
  43350. var $async$goto = 0,
  43351. $async$completer = P._makeAsyncAwaitCompleter(-1),
  43352. $async$returnValue, $async$self = this, t1, mergedQueries;
  43353. var $async$visitCssMediaRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  43354. if ($async$errorCode === 1)
  43355. return P._asyncRethrow($async$result, $async$completer);
  43356. while (true)
  43357. switch ($async$goto) {
  43358. case 0:
  43359. // Function start
  43360. if ($async$self._async_evaluate$_declarationName != null)
  43361. throw H.wrapException($async$self._async_evaluate$_exception$2("Media rules may not be used within nested declarations.", node.span));
  43362. t1 = $async$self._async_evaluate$_mediaQueries;
  43363. mergedQueries = t1 == null ? null : $async$self._async_evaluate$_mergeMediaQueries$2(t1, node.queries);
  43364. t1 = mergedQueries == null;
  43365. if (!t1 && mergedQueries.length === 0) {
  43366. // goto return
  43367. $async$goto = 1;
  43368. break;
  43369. }
  43370. t1 = t1 ? node.queries : mergedQueries;
  43371. $async$goto = 3;
  43372. return P._asyncAwait($async$self._async_evaluate$_withParent$2$4$scopeWhen$through(G.ModifiableCssMediaRule$(t1, node.span), new E._EvaluateVisitor_visitCssMediaRule_closure1($async$self, mergedQueries, node), false, new E._EvaluateVisitor_visitCssMediaRule_closure2(mergedQueries), G.ModifiableCssMediaRule, P.Null), $async$visitCssMediaRule$1);
  43373. case 3:
  43374. // returning from await.
  43375. case 1:
  43376. // return
  43377. return P._asyncReturn($async$returnValue, $async$completer);
  43378. }
  43379. });
  43380. return P._asyncStartSync($async$visitCssMediaRule$1, $async$completer);
  43381. },
  43382. visitCssStyleRule$1: function(node) {
  43383. return this.visitCssStyleRule$body$_EvaluateVisitor(node);
  43384. },
  43385. visitCssStyleRule$body$_EvaluateVisitor: function(node) {
  43386. var $async$goto = 0,
  43387. $async$completer = P._makeAsyncAwaitCompleter(-1),
  43388. $async$self = this, t1, t2, t3, t4, rule, oldAtRootExcludingStyleRule;
  43389. var $async$visitCssStyleRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  43390. if ($async$errorCode === 1)
  43391. return P._asyncRethrow($async$result, $async$completer);
  43392. while (true)
  43393. switch ($async$goto) {
  43394. case 0:
  43395. // Function start
  43396. if ($async$self._async_evaluate$_declarationName != null)
  43397. throw H.wrapException($async$self._async_evaluate$_exception$2("Style rules may not be used within nested declarations.", node.span));
  43398. t1 = $async$self._async_evaluate$_extender;
  43399. t2 = node.selector;
  43400. t3 = t2.value;
  43401. t4 = $async$self._async_evaluate$_styleRule;
  43402. t4 = t4 == null ? null : t4.originalSelector;
  43403. rule = t1.addSelector$4(t3.resolveParentSelectors$2$implicitParent(t4, !$async$self._async_evaluate$_atRootExcludingStyleRule), t2.span, node.span, $async$self._async_evaluate$_mediaQueries);
  43404. oldAtRootExcludingStyleRule = $async$self._async_evaluate$_atRootExcludingStyleRule;
  43405. $async$self._async_evaluate$_atRootExcludingStyleRule = false;
  43406. $async$goto = 2;
  43407. return P._asyncAwait($async$self._async_evaluate$_withParent$2$4$scopeWhen$through(rule, new E._EvaluateVisitor_visitCssStyleRule_closure1($async$self, rule, node), false, new E._EvaluateVisitor_visitCssStyleRule_closure2(), X.ModifiableCssStyleRule, P.Null), $async$visitCssStyleRule$1);
  43408. case 2:
  43409. // returning from await.
  43410. $async$self._async_evaluate$_atRootExcludingStyleRule = oldAtRootExcludingStyleRule;
  43411. if (!($async$self._async_evaluate$_styleRule != null && !oldAtRootExcludingStyleRule)) {
  43412. t1 = $async$self._async_evaluate$_parent.children;
  43413. t1 = !t1.get$isEmpty(t1);
  43414. } else
  43415. t1 = false;
  43416. if (t1) {
  43417. t1 = $async$self._async_evaluate$_parent.children;
  43418. t1.get$last(t1).isGroupEnd = true;
  43419. }
  43420. // implicit return
  43421. return P._asyncReturn(null, $async$completer);
  43422. }
  43423. });
  43424. return P._asyncStartSync($async$visitCssStyleRule$1, $async$completer);
  43425. },
  43426. visitCssStylesheet$1: function(node) {
  43427. return this.visitCssStylesheet$body$_EvaluateVisitor(node);
  43428. },
  43429. visitCssStylesheet$body$_EvaluateVisitor: function(node) {
  43430. var $async$goto = 0,
  43431. $async$completer = P._makeAsyncAwaitCompleter(-1),
  43432. $async$self = this, t1;
  43433. var $async$visitCssStylesheet$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  43434. if ($async$errorCode === 1)
  43435. return P._asyncRethrow($async$result, $async$completer);
  43436. while (true)
  43437. switch ($async$goto) {
  43438. case 0:
  43439. // Function start
  43440. t1 = J.get$iterator$ax(node.get$children());
  43441. case 2:
  43442. // for condition
  43443. if (!t1.moveNext$0()) {
  43444. // goto after for
  43445. $async$goto = 3;
  43446. break;
  43447. }
  43448. $async$goto = 4;
  43449. return P._asyncAwait(t1.get$current(t1).accept$1($async$self), $async$visitCssStylesheet$1);
  43450. case 4:
  43451. // returning from await.
  43452. // goto for condition
  43453. $async$goto = 2;
  43454. break;
  43455. case 3:
  43456. // after for
  43457. // implicit return
  43458. return P._asyncReturn(null, $async$completer);
  43459. }
  43460. });
  43461. return P._asyncStartSync($async$visitCssStylesheet$1, $async$completer);
  43462. },
  43463. visitCssSupportsRule$1: function(node) {
  43464. return this.visitCssSupportsRule$body$_EvaluateVisitor(node);
  43465. },
  43466. visitCssSupportsRule$body$_EvaluateVisitor: function(node) {
  43467. var $async$goto = 0,
  43468. $async$completer = P._makeAsyncAwaitCompleter(-1),
  43469. $async$self = this, t1, t2;
  43470. var $async$visitCssSupportsRule$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  43471. if ($async$errorCode === 1)
  43472. return P._asyncRethrow($async$result, $async$completer);
  43473. while (true)
  43474. switch ($async$goto) {
  43475. case 0:
  43476. // Function start
  43477. if ($async$self._async_evaluate$_declarationName != null)
  43478. throw H.wrapException($async$self._async_evaluate$_exception$2("Supports rules may not be used within nested declarations.", node.span));
  43479. t1 = B.ModifiableCssNode;
  43480. t2 = H.setRuntimeTypeInfo([], [t1]);
  43481. $async$goto = 2;
  43482. return P._asyncAwait($async$self._async_evaluate$_withParent$2$4$scopeWhen$through(new B.ModifiableCssSupportsRule(node.condition, node.span, new P.UnmodifiableListView(t2, [t1]), t2), new E._EvaluateVisitor_visitCssSupportsRule_closure1($async$self, node), false, new E._EvaluateVisitor_visitCssSupportsRule_closure2(), B.ModifiableCssSupportsRule, P.Null), $async$visitCssSupportsRule$1);
  43483. case 2:
  43484. // returning from await.
  43485. // implicit return
  43486. return P._asyncReturn(null, $async$completer);
  43487. }
  43488. });
  43489. return P._asyncStartSync($async$visitCssSupportsRule$1, $async$completer);
  43490. },
  43491. _async_evaluate$_handleReturn$1$2: function(list, callback) {
  43492. return this._handleReturn$body$_EvaluateVisitor(list, callback, null);
  43493. },
  43494. _async_evaluate$_handleReturn$2: function(list, callback) {
  43495. return this._async_evaluate$_handleReturn$1$2(list, callback, null);
  43496. },
  43497. _handleReturn$body$_EvaluateVisitor: function(list, callback) {
  43498. var $async$goto = 0,
  43499. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  43500. $async$returnValue, t1, _i, result;
  43501. var $async$_async_evaluate$_handleReturn$1$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  43502. if ($async$errorCode === 1)
  43503. return P._asyncRethrow($async$result, $async$completer);
  43504. while (true)
  43505. switch ($async$goto) {
  43506. case 0:
  43507. // Function start
  43508. t1 = list.length, _i = 0;
  43509. case 3:
  43510. // for condition
  43511. if (!(_i < list.length)) {
  43512. // goto after for
  43513. $async$goto = 5;
  43514. break;
  43515. }
  43516. $async$goto = 6;
  43517. return P._asyncAwait(callback.call$1(list[_i]), $async$_async_evaluate$_handleReturn$1$2);
  43518. case 6:
  43519. // returning from await.
  43520. result = $async$result;
  43521. if (result != null) {
  43522. $async$returnValue = result;
  43523. // goto return
  43524. $async$goto = 1;
  43525. break;
  43526. }
  43527. case 4:
  43528. // for update
  43529. list.length === t1 || (0, H.throwConcurrentModificationError)(list), ++_i;
  43530. // goto for condition
  43531. $async$goto = 3;
  43532. break;
  43533. case 5:
  43534. // after for
  43535. // goto return
  43536. $async$goto = 1;
  43537. break;
  43538. case 1:
  43539. // return
  43540. return P._asyncReturn($async$returnValue, $async$completer);
  43541. }
  43542. });
  43543. return P._asyncStartSync($async$_async_evaluate$_handleReturn$1$2, $async$completer);
  43544. },
  43545. _async_evaluate$_withEnvironment$1$2: function(environment, callback, $T) {
  43546. return this._withEnvironment$body$_EvaluateVisitor(environment, callback, $T, $T);
  43547. },
  43548. _withEnvironment$body$_EvaluateVisitor: function(environment, callback, $T, $async$type) {
  43549. var $async$goto = 0,
  43550. $async$completer = P._makeAsyncAwaitCompleter($async$type),
  43551. $async$returnValue, $async$self = this, result, oldEnvironment;
  43552. var $async$_async_evaluate$_withEnvironment$1$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  43553. if ($async$errorCode === 1)
  43554. return P._asyncRethrow($async$result, $async$completer);
  43555. while (true)
  43556. switch ($async$goto) {
  43557. case 0:
  43558. // Function start
  43559. oldEnvironment = $async$self._async_evaluate$_environment;
  43560. $async$self._async_evaluate$_environment = environment;
  43561. $async$goto = 3;
  43562. return P._asyncAwait(callback.call$0(), $async$_async_evaluate$_withEnvironment$1$2);
  43563. case 3:
  43564. // returning from await.
  43565. result = $async$result;
  43566. $async$self._async_evaluate$_environment = oldEnvironment;
  43567. $async$returnValue = result;
  43568. // goto return
  43569. $async$goto = 1;
  43570. break;
  43571. case 1:
  43572. // return
  43573. return P._asyncReturn($async$returnValue, $async$completer);
  43574. }
  43575. });
  43576. return P._asyncStartSync($async$_async_evaluate$_withEnvironment$1$2, $async$completer);
  43577. },
  43578. _async_evaluate$_interpolationToValue$3$trim$warnForColor: function(interpolation, trim, warnForColor) {
  43579. return this._interpolationToValue$body$_EvaluateVisitor(interpolation, trim, warnForColor);
  43580. },
  43581. _async_evaluate$_interpolationToValue$1: function(interpolation) {
  43582. return this._async_evaluate$_interpolationToValue$3$trim$warnForColor(interpolation, false, false);
  43583. },
  43584. _async_evaluate$_interpolationToValue$2$warnForColor: function(interpolation, warnForColor) {
  43585. return this._async_evaluate$_interpolationToValue$3$trim$warnForColor(interpolation, false, warnForColor);
  43586. },
  43587. _interpolationToValue$body$_EvaluateVisitor: function(interpolation, trim, warnForColor) {
  43588. var $async$goto = 0,
  43589. $async$completer = P._makeAsyncAwaitCompleter([F.CssValue, P.String]),
  43590. $async$returnValue, $async$self = this, result, t1;
  43591. var $async$_async_evaluate$_interpolationToValue$3$trim$warnForColor = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  43592. if ($async$errorCode === 1)
  43593. return P._asyncRethrow($async$result, $async$completer);
  43594. while (true)
  43595. switch ($async$goto) {
  43596. case 0:
  43597. // Function start
  43598. $async$goto = 3;
  43599. return P._asyncAwait($async$self._async_evaluate$_performInterpolation$2$warnForColor(interpolation, warnForColor), $async$_async_evaluate$_interpolationToValue$3$trim$warnForColor);
  43600. case 3:
  43601. // returning from await.
  43602. result = $async$result;
  43603. t1 = trim ? B.trimAscii(result, true) : result;
  43604. $async$returnValue = new F.CssValue(t1, interpolation.span, [P.String]);
  43605. // goto return
  43606. $async$goto = 1;
  43607. break;
  43608. case 1:
  43609. // return
  43610. return P._asyncReturn($async$returnValue, $async$completer);
  43611. }
  43612. });
  43613. return P._asyncStartSync($async$_async_evaluate$_interpolationToValue$3$trim$warnForColor, $async$completer);
  43614. },
  43615. _async_evaluate$_performInterpolation$2$warnForColor: function(interpolation, warnForColor) {
  43616. return this._performInterpolation$body$_EvaluateVisitor(interpolation, warnForColor);
  43617. },
  43618. _async_evaluate$_performInterpolation$1: function(interpolation) {
  43619. return this._async_evaluate$_performInterpolation$2$warnForColor(interpolation, false);
  43620. },
  43621. _performInterpolation$body$_EvaluateVisitor: function(interpolation, warnForColor) {
  43622. var $async$goto = 0,
  43623. $async$completer = P._makeAsyncAwaitCompleter(P.String),
  43624. $async$returnValue, $async$self = this, $async$temp1;
  43625. var $async$_async_evaluate$_performInterpolation$2$warnForColor = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  43626. if ($async$errorCode === 1)
  43627. return P._asyncRethrow($async$result, $async$completer);
  43628. while (true)
  43629. switch ($async$goto) {
  43630. case 0:
  43631. // Function start
  43632. $async$temp1 = J;
  43633. $async$goto = 3;
  43634. return P._asyncAwait(B.mapAsync(interpolation.contents, new E._EvaluateVisitor__performInterpolation_closure0($async$self, warnForColor), P.Object, P.String), $async$_async_evaluate$_performInterpolation$2$warnForColor);
  43635. case 3:
  43636. // returning from await.
  43637. $async$returnValue = $async$temp1.join$0$ax($async$result);
  43638. // goto return
  43639. $async$goto = 1;
  43640. break;
  43641. case 1:
  43642. // return
  43643. return P._asyncReturn($async$returnValue, $async$completer);
  43644. }
  43645. });
  43646. return P._asyncStartSync($async$_async_evaluate$_performInterpolation$2$warnForColor, $async$completer);
  43647. },
  43648. _evaluateToCss$2$quote: function(expression, quote) {
  43649. return this._evaluateToCss$body$_EvaluateVisitor(expression, quote);
  43650. },
  43651. _evaluateToCss$1: function(expression) {
  43652. return this._evaluateToCss$2$quote(expression, true);
  43653. },
  43654. _evaluateToCss$body$_EvaluateVisitor: function(expression, quote) {
  43655. var $async$goto = 0,
  43656. $async$completer = P._makeAsyncAwaitCompleter(P.String),
  43657. $async$returnValue, $async$self = this;
  43658. var $async$_evaluateToCss$2$quote = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  43659. if ($async$errorCode === 1)
  43660. return P._asyncRethrow($async$result, $async$completer);
  43661. while (true)
  43662. switch ($async$goto) {
  43663. case 0:
  43664. // Function start
  43665. $async$goto = 3;
  43666. return P._asyncAwait(expression.accept$1($async$self), $async$_evaluateToCss$2$quote);
  43667. case 3:
  43668. // returning from await.
  43669. $async$returnValue = $async$self._async_evaluate$_serialize$3$quote($async$result, expression, quote);
  43670. // goto return
  43671. $async$goto = 1;
  43672. break;
  43673. case 1:
  43674. // return
  43675. return P._asyncReturn($async$returnValue, $async$completer);
  43676. }
  43677. });
  43678. return P._asyncStartSync($async$_evaluateToCss$2$quote, $async$completer);
  43679. },
  43680. _async_evaluate$_serialize$3$quote: function(value, nodeWithSpan, quote) {
  43681. return this._async_evaluate$_addExceptionSpan$2(nodeWithSpan, new E._EvaluateVisitor__serialize_closure0(value, quote));
  43682. },
  43683. _async_evaluate$_serialize$2: function(value, nodeWithSpan) {
  43684. return this._async_evaluate$_serialize$3$quote(value, nodeWithSpan, true);
  43685. },
  43686. _async_evaluate$_expressionNode$1: function(expression) {
  43687. if (!this._async_evaluate$_sourceMap)
  43688. return;
  43689. if (expression instanceof S.VariableExpression)
  43690. return this._async_evaluate$_environment.getVariableNode$2$namespace(expression.name, expression.namespace);
  43691. else
  43692. return expression;
  43693. },
  43694. _async_evaluate$_withParent$2$4$scopeWhen$through: function(node, callback, scopeWhen, through, $S, $T) {
  43695. return this._withParent$body$_EvaluateVisitor(node, callback, scopeWhen, through, $S, $T, $T);
  43696. },
  43697. _async_evaluate$_withParent$2$2: function(node, callback, $S, $T) {
  43698. return this._async_evaluate$_withParent$2$4$scopeWhen$through(node, callback, true, null, $S, $T);
  43699. },
  43700. _async_evaluate$_withParent$2$3$scopeWhen: function(node, callback, scopeWhen, $S, $T) {
  43701. return this._async_evaluate$_withParent$2$4$scopeWhen$through(node, callback, scopeWhen, null, $S, $T);
  43702. },
  43703. _withParent$body$_EvaluateVisitor: function(node, callback, scopeWhen, through, $S, $T, $async$type) {
  43704. var $async$goto = 0,
  43705. $async$completer = P._makeAsyncAwaitCompleter($async$type),
  43706. $async$returnValue, $async$self = this, oldParent, result;
  43707. var $async$_async_evaluate$_withParent$2$4$scopeWhen$through = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  43708. if ($async$errorCode === 1)
  43709. return P._asyncRethrow($async$result, $async$completer);
  43710. while (true)
  43711. switch ($async$goto) {
  43712. case 0:
  43713. // Function start
  43714. $async$self._async_evaluate$_addChild$2$through(node, through);
  43715. oldParent = $async$self._async_evaluate$_parent;
  43716. $async$self._async_evaluate$_parent = node;
  43717. $async$goto = 3;
  43718. return P._asyncAwait($async$self._async_evaluate$_environment.scope$1$2$when(callback, scopeWhen, $T), $async$_async_evaluate$_withParent$2$4$scopeWhen$through);
  43719. case 3:
  43720. // returning from await.
  43721. result = $async$result;
  43722. $async$self._async_evaluate$_parent = oldParent;
  43723. $async$returnValue = result;
  43724. // goto return
  43725. $async$goto = 1;
  43726. break;
  43727. case 1:
  43728. // return
  43729. return P._asyncReturn($async$returnValue, $async$completer);
  43730. }
  43731. });
  43732. return P._asyncStartSync($async$_async_evaluate$_withParent$2$4$scopeWhen$through, $async$completer);
  43733. },
  43734. _async_evaluate$_addChild$2$through: function(node, through) {
  43735. var grandparent,
  43736. $parent = this._async_evaluate$_parent;
  43737. if (through != null) {
  43738. for (; through.call$1($parent);)
  43739. $parent = $parent._parent;
  43740. if ($parent.get$hasFollowingSibling()) {
  43741. grandparent = $parent._parent;
  43742. $parent = $parent.copyWithoutChildren$0();
  43743. grandparent.addChild$1($parent);
  43744. }
  43745. }
  43746. $parent.addChild$1(node);
  43747. },
  43748. _async_evaluate$_addChild$1: function(node) {
  43749. return this._async_evaluate$_addChild$2$through(node, null);
  43750. },
  43751. _async_evaluate$_withStyleRule$1$2: function(rule, callback, $T) {
  43752. return this._withStyleRule$body$_EvaluateVisitor(rule, callback, $T, $T);
  43753. },
  43754. _withStyleRule$body$_EvaluateVisitor: function(rule, callback, $T, $async$type) {
  43755. var $async$goto = 0,
  43756. $async$completer = P._makeAsyncAwaitCompleter($async$type),
  43757. $async$returnValue, $async$self = this, result, oldRule;
  43758. var $async$_async_evaluate$_withStyleRule$1$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  43759. if ($async$errorCode === 1)
  43760. return P._asyncRethrow($async$result, $async$completer);
  43761. while (true)
  43762. switch ($async$goto) {
  43763. case 0:
  43764. // Function start
  43765. oldRule = $async$self._async_evaluate$_styleRule;
  43766. $async$self._async_evaluate$_styleRule = rule;
  43767. $async$goto = 3;
  43768. return P._asyncAwait(callback.call$0(), $async$_async_evaluate$_withStyleRule$1$2);
  43769. case 3:
  43770. // returning from await.
  43771. result = $async$result;
  43772. $async$self._async_evaluate$_styleRule = oldRule;
  43773. $async$returnValue = result;
  43774. // goto return
  43775. $async$goto = 1;
  43776. break;
  43777. case 1:
  43778. // return
  43779. return P._asyncReturn($async$returnValue, $async$completer);
  43780. }
  43781. });
  43782. return P._asyncStartSync($async$_async_evaluate$_withStyleRule$1$2, $async$completer);
  43783. },
  43784. _async_evaluate$_withMediaQueries$1$2: function(queries, callback, $T) {
  43785. return this._withMediaQueries$body$_EvaluateVisitor(queries, callback, $T, $T);
  43786. },
  43787. _withMediaQueries$body$_EvaluateVisitor: function(queries, callback, $T, $async$type) {
  43788. var $async$goto = 0,
  43789. $async$completer = P._makeAsyncAwaitCompleter($async$type),
  43790. $async$returnValue, $async$self = this, result, oldMediaQueries;
  43791. var $async$_async_evaluate$_withMediaQueries$1$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  43792. if ($async$errorCode === 1)
  43793. return P._asyncRethrow($async$result, $async$completer);
  43794. while (true)
  43795. switch ($async$goto) {
  43796. case 0:
  43797. // Function start
  43798. oldMediaQueries = $async$self._async_evaluate$_mediaQueries;
  43799. $async$self._async_evaluate$_mediaQueries = queries;
  43800. $async$goto = 3;
  43801. return P._asyncAwait(callback.call$0(), $async$_async_evaluate$_withMediaQueries$1$2);
  43802. case 3:
  43803. // returning from await.
  43804. result = $async$result;
  43805. $async$self._async_evaluate$_mediaQueries = oldMediaQueries;
  43806. $async$returnValue = result;
  43807. // goto return
  43808. $async$goto = 1;
  43809. break;
  43810. case 1:
  43811. // return
  43812. return P._asyncReturn($async$returnValue, $async$completer);
  43813. }
  43814. });
  43815. return P._asyncStartSync($async$_async_evaluate$_withMediaQueries$1$2, $async$completer);
  43816. },
  43817. _async_evaluate$_withStackFrame$1$3: function(member, nodeWithSpan, callback, $T) {
  43818. return this._withStackFrame$body$_EvaluateVisitor(member, nodeWithSpan, callback, $T, $T);
  43819. },
  43820. _withStackFrame$body$_EvaluateVisitor: function(member, nodeWithSpan, callback, $T, $async$type) {
  43821. var $async$goto = 0,
  43822. $async$completer = P._makeAsyncAwaitCompleter($async$type),
  43823. $async$returnValue, $async$self = this, oldMember, result, t1;
  43824. var $async$_async_evaluate$_withStackFrame$1$3 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  43825. if ($async$errorCode === 1)
  43826. return P._asyncRethrow($async$result, $async$completer);
  43827. while (true)
  43828. switch ($async$goto) {
  43829. case 0:
  43830. // Function start
  43831. t1 = $async$self._async_evaluate$_stack;
  43832. t1.push(new S.Tuple2($async$self._async_evaluate$_member, nodeWithSpan, [P.String, B.AstNode]));
  43833. oldMember = $async$self._async_evaluate$_member;
  43834. $async$self._async_evaluate$_member = member;
  43835. $async$goto = 3;
  43836. return P._asyncAwait(callback.call$0(), $async$_async_evaluate$_withStackFrame$1$3);
  43837. case 3:
  43838. // returning from await.
  43839. result = $async$result;
  43840. $async$self._async_evaluate$_member = oldMember;
  43841. t1.pop();
  43842. $async$returnValue = result;
  43843. // goto return
  43844. $async$goto = 1;
  43845. break;
  43846. case 1:
  43847. // return
  43848. return P._asyncReturn($async$returnValue, $async$completer);
  43849. }
  43850. });
  43851. return P._asyncStartSync($async$_async_evaluate$_withStackFrame$1$3, $async$completer);
  43852. },
  43853. _async_evaluate$_stackFrame$2: function(member, span) {
  43854. var url = span.file.url;
  43855. return B.frameForSpan(span, member, url != null && this._async_evaluate$_importCache != null ? this._async_evaluate$_importCache.humanize$1(url) : url);
  43856. },
  43857. _async_evaluate$_stackTrace$1: function(span) {
  43858. var t3, _this = this,
  43859. t1 = A.Frame,
  43860. t2 = H.setRuntimeTypeInfo([], [t1]);
  43861. for (t3 = _this._async_evaluate$_stack, t3 = new H.MappedListIterable(t3, new E._EvaluateVisitor__stackTrace_closure0(_this), [H.getTypeArgumentByIndex(t3, 0), t1]), t3 = new H.ListIterator(t3, t3.get$length(t3)); t3.moveNext$0();)
  43862. t2.push(t3.__internal$_current);
  43863. if (span != null)
  43864. t2.push(_this._async_evaluate$_stackFrame$2(_this._async_evaluate$_member, span));
  43865. return new Y.Trace(P.List_List$unmodifiable(new H.ReversedListIterable(t2, [H.getTypeArgumentByIndex(t2, 0)]), t1), new P._StringStackTrace(null));
  43866. },
  43867. _async_evaluate$_warn$3$deprecation: function(message, span, deprecation) {
  43868. return this._async_evaluate$_logger.warn$4$deprecation$span$trace(message, deprecation, span, this._async_evaluate$_stackTrace$1(span));
  43869. },
  43870. _async_evaluate$_warn$2: function(message, span) {
  43871. return this._async_evaluate$_warn$3$deprecation(message, span, false);
  43872. },
  43873. _async_evaluate$_exception$2: function(message, span) {
  43874. var t1 = span == null ? C.JSArray_methods.get$last(this._async_evaluate$_stack).item2.get$span() : span;
  43875. return new E.SassRuntimeException(this._async_evaluate$_stackTrace$1(span), message, t1);
  43876. },
  43877. _async_evaluate$_exception$1: function(message) {
  43878. return this._async_evaluate$_exception$2(message, null);
  43879. },
  43880. _async_evaluate$_adjustParseError$1$2: function(nodeWithSpan, callback) {
  43881. var error, errorText, span, syntheticFile, syntheticSpan, t1, exception, t2, t3, t4, t5, _null = null;
  43882. try {
  43883. t1 = callback.call$0();
  43884. return t1;
  43885. } catch (exception) {
  43886. t1 = H.unwrapException(exception);
  43887. if (t1 instanceof E.SassFormatException) {
  43888. error = t1;
  43889. t1 = error;
  43890. errorText = P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(G.SourceSpanException.prototype.get$span.call(t1).file._decodedChars, 0, _null), 0, _null);
  43891. span = nodeWithSpan.get$span();
  43892. t1 = span;
  43893. t2 = span;
  43894. syntheticFile = C.JSString_methods.replaceRange$3(P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(span.file._decodedChars, 0, _null), 0, _null), Y.FileLocation$_(t1.file, t1._start).offset, Y.FileLocation$_(t2.file, t2._end).offset, errorText);
  43895. t2 = syntheticFile;
  43896. t1 = span.file.url;
  43897. t2.toString;
  43898. t2 = new H.CodeUnits(t2);
  43899. t3 = H.setRuntimeTypeInfo([0], [P.int]);
  43900. t3 = new Y.SourceFile(t1, t3, new Uint32Array(H._ensureNativeList(t2.toList$0(t2))));
  43901. t3.SourceFile$decoded$2$url(t2, t1);
  43902. t1 = span;
  43903. t1 = Y.FileLocation$_(t1.file, t1._start);
  43904. t2 = error;
  43905. t2 = G.SourceSpanException.prototype.get$span.call(t2);
  43906. t2 = Y.FileLocation$_(t2.file, t2._start);
  43907. t4 = span;
  43908. t4 = Y.FileLocation$_(t4.file, t4._start);
  43909. t5 = error;
  43910. t5 = G.SourceSpanException.prototype.get$span.call(t5);
  43911. syntheticSpan = t3.span$2(t1.offset + t2.offset, t4.offset + Y.FileLocation$_(t5.file, t5._end).offset);
  43912. throw H.wrapException(this._async_evaluate$_exception$2(error._span_exception$_message, syntheticSpan));
  43913. } else
  43914. throw exception;
  43915. }
  43916. },
  43917. _async_evaluate$_adjustParseError$2: function(nodeWithSpan, callback) {
  43918. return this._async_evaluate$_adjustParseError$1$2(nodeWithSpan, callback, null);
  43919. },
  43920. _async_evaluate$_addExceptionSpan$1$2: function(nodeWithSpan, callback) {
  43921. var error, t1, exception;
  43922. try {
  43923. t1 = callback.call$0();
  43924. return t1;
  43925. } catch (exception) {
  43926. t1 = H.unwrapException(exception);
  43927. if (t1 instanceof E.SassScriptException) {
  43928. error = t1;
  43929. throw H.wrapException(this._async_evaluate$_exception$2(error.message, nodeWithSpan.get$span()));
  43930. } else
  43931. throw exception;
  43932. }
  43933. },
  43934. _async_evaluate$_addExceptionSpan$2: function(nodeWithSpan, callback) {
  43935. return this._async_evaluate$_addExceptionSpan$1$2(nodeWithSpan, callback, null);
  43936. },
  43937. _addExceptionSpanAsync$1$2: function(nodeWithSpan, callback, $T) {
  43938. return this._addExceptionSpanAsync$body$_EvaluateVisitor(nodeWithSpan, callback, $T, $T);
  43939. },
  43940. _addExceptionSpanAsync$body$_EvaluateVisitor: function(nodeWithSpan, callback, $T, $async$type) {
  43941. var $async$goto = 0,
  43942. $async$completer = P._makeAsyncAwaitCompleter($async$type),
  43943. $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, error, t1, exception, $async$exception;
  43944. var $async$_addExceptionSpanAsync$1$2 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  43945. if ($async$errorCode === 1) {
  43946. $async$currentError = $async$result;
  43947. $async$goto = $async$handler;
  43948. }
  43949. while (true)
  43950. switch ($async$goto) {
  43951. case 0:
  43952. // Function start
  43953. $async$handler = 4;
  43954. $async$goto = 7;
  43955. return P._asyncAwait(callback.call$0(), $async$_addExceptionSpanAsync$1$2);
  43956. case 7:
  43957. // returning from await.
  43958. t1 = $async$result;
  43959. $async$returnValue = t1;
  43960. // goto return
  43961. $async$goto = 1;
  43962. break;
  43963. $async$handler = 2;
  43964. // goto after finally
  43965. $async$goto = 6;
  43966. break;
  43967. case 4:
  43968. // catch
  43969. $async$handler = 3;
  43970. $async$exception = $async$currentError;
  43971. t1 = H.unwrapException($async$exception);
  43972. if (t1 instanceof E.SassScriptException) {
  43973. error = t1;
  43974. throw H.wrapException($async$self._async_evaluate$_exception$2(error.message, nodeWithSpan.get$span()));
  43975. } else
  43976. throw $async$exception;
  43977. // goto after finally
  43978. $async$goto = 6;
  43979. break;
  43980. case 3:
  43981. // uncaught
  43982. // goto rethrow
  43983. $async$goto = 2;
  43984. break;
  43985. case 6:
  43986. // after finally
  43987. case 1:
  43988. // return
  43989. return P._asyncReturn($async$returnValue, $async$completer);
  43990. case 2:
  43991. // rethrow
  43992. return P._asyncRethrow($async$currentError, $async$completer);
  43993. }
  43994. });
  43995. return P._asyncStartSync($async$_addExceptionSpanAsync$1$2, $async$completer);
  43996. }
  43997. };
  43998. E._EvaluateVisitor_closure8.prototype = {
  43999. call$1: function($arguments) {
  44000. var module, t2,
  44001. t1 = J.getInterceptor$asx($arguments),
  44002. variable = t1.$index($arguments, 0).assertString$1("name");
  44003. t1 = t1.$index($arguments, 1).get$realNull();
  44004. module = t1 == null ? null : t1.assertString$1("module");
  44005. t1 = this.$this._async_evaluate$_environment;
  44006. t2 = variable.text;
  44007. t2.toString;
  44008. t2 = H.stringReplaceAllUnchecked(t2, "_", "-");
  44009. return t1.globalVariableExists$2$namespace(t2, module == null ? null : module.text) ? C.SassBoolean_true : C.SassBoolean_false;
  44010. },
  44011. $signature: 3
  44012. };
  44013. E._EvaluateVisitor_closure9.prototype = {
  44014. call$1: function($arguments) {
  44015. var variable = J.$index$asx($arguments, 0).assertString$1("name"),
  44016. t1 = this.$this._async_evaluate$_environment,
  44017. t2 = variable.text;
  44018. t2.toString;
  44019. return t1.getVariable$1(H.stringReplaceAllUnchecked(t2, "_", "-")) != null ? C.SassBoolean_true : C.SassBoolean_false;
  44020. },
  44021. $signature: 3
  44022. };
  44023. E._EvaluateVisitor_closure10.prototype = {
  44024. call$1: function($arguments) {
  44025. var module, t2, t3, t4,
  44026. t1 = J.getInterceptor$asx($arguments),
  44027. variable = t1.$index($arguments, 0).assertString$1("name");
  44028. t1 = t1.$index($arguments, 1).get$realNull();
  44029. module = t1 == null ? null : t1.assertString$1("module");
  44030. t1 = this.$this;
  44031. t2 = t1._async_evaluate$_environment;
  44032. t3 = variable.text;
  44033. t3.toString;
  44034. t4 = H.stringReplaceAllUnchecked(t3, "_", "-");
  44035. return t2.getFunction$2$namespace(t4, module == null ? null : module.text) != null || t1._async_evaluate$_builtInFunctions.containsKey$1(t3) ? C.SassBoolean_true : C.SassBoolean_false;
  44036. },
  44037. $signature: 3
  44038. };
  44039. E._EvaluateVisitor_closure11.prototype = {
  44040. call$1: function($arguments) {
  44041. var module, t2,
  44042. t1 = J.getInterceptor$asx($arguments),
  44043. variable = t1.$index($arguments, 0).assertString$1("name");
  44044. t1 = t1.$index($arguments, 1).get$realNull();
  44045. module = t1 == null ? null : t1.assertString$1("module");
  44046. t1 = this.$this._async_evaluate$_environment;
  44047. t2 = variable.text;
  44048. t2.toString;
  44049. t2 = H.stringReplaceAllUnchecked(t2, "_", "-");
  44050. return t1.getMixin$2$namespace(t2, module == null ? null : module.text) != null ? C.SassBoolean_true : C.SassBoolean_false;
  44051. },
  44052. $signature: 3
  44053. };
  44054. E._EvaluateVisitor_closure12.prototype = {
  44055. call$1: function($arguments) {
  44056. var t1 = this.$this._async_evaluate$_environment;
  44057. if (!t1._async_environment$_inMixin)
  44058. throw H.wrapException(E.SassScriptException$("content-exists() may only be called within a mixin."));
  44059. return t1._async_environment$_content != null ? C.SassBoolean_true : C.SassBoolean_false;
  44060. },
  44061. $signature: 3
  44062. };
  44063. E._EvaluateVisitor_closure13.prototype = {
  44064. call$1: function($arguments) {
  44065. var t2, t3, t4,
  44066. t1 = J.$index$asx($arguments, 0).assertString$1("module").text,
  44067. module = this.$this._async_evaluate$_environment._async_environment$_modules.$index(0, t1);
  44068. if (module == null)
  44069. throw H.wrapException('There is no module with namespace "' + H.S(t1) + '".');
  44070. t1 = F.Value;
  44071. t2 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
  44072. for (t3 = module.get$variables().get$entries(), t3 = t3.get$iterator(t3); t3.moveNext$0();) {
  44073. t4 = t3.get$current(t3);
  44074. t2.$indexSet(0, new D.SassString(t4.key, true), t4.value);
  44075. }
  44076. return new A.SassMap(H.ConstantMap_ConstantMap$from(t2, t1, t1));
  44077. },
  44078. $signature: 9
  44079. };
  44080. E._EvaluateVisitor_closure14.prototype = {
  44081. call$1: function($arguments) {
  44082. var t2, t3, t4,
  44083. t1 = J.$index$asx($arguments, 0).assertString$1("module").text,
  44084. module = this.$this._async_evaluate$_environment._async_environment$_modules.$index(0, t1);
  44085. if (module == null)
  44086. throw H.wrapException('There is no module with namespace "' + H.S(t1) + '".');
  44087. t1 = F.Value;
  44088. t2 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
  44089. for (t3 = module.get$functions(module).get$entries(), t3 = t3.get$iterator(t3); t3.moveNext$0();) {
  44090. t4 = t3.get$current(t3);
  44091. t2.$indexSet(0, new D.SassString(t4.key, true), new F.SassFunction(t4.value));
  44092. }
  44093. return new A.SassMap(H.ConstantMap_ConstantMap$from(t2, t1, t1));
  44094. },
  44095. $signature: 9
  44096. };
  44097. E._EvaluateVisitor_closure15.prototype = {
  44098. call$1: function($arguments) {
  44099. var module, callable,
  44100. t1 = J.getInterceptor$asx($arguments),
  44101. $name = t1.$index($arguments, 0).assertString$1("name"),
  44102. css = t1.$index($arguments, 1).get$isTruthy();
  44103. t1 = t1.$index($arguments, 2).get$realNull();
  44104. module = t1 == null ? null : t1.assertString$1("module");
  44105. if (css && module != null)
  44106. throw H.wrapException("$css and $module may not both be passed at once.");
  44107. if (css)
  44108. callable = new L.PlainCssCallable($name.text);
  44109. else {
  44110. t1 = this.$this;
  44111. callable = t1._async_evaluate$_addExceptionSpan$2(t1._async_evaluate$_callableNode, new E._EvaluateVisitor__closure4(t1, $name, module));
  44112. }
  44113. if (callable != null)
  44114. return new F.SassFunction(callable);
  44115. throw H.wrapException("Function not found: " + $name.toString$0(0));
  44116. },
  44117. $signature: 33
  44118. };
  44119. E._EvaluateVisitor__closure4.prototype = {
  44120. call$0: function() {
  44121. var t1 = this.module;
  44122. t1 = t1 == null ? null : t1.text;
  44123. return this.$this._async_evaluate$_getFunction$2$namespace(this.name.text, t1);
  44124. }
  44125. };
  44126. E._EvaluateVisitor_closure16.prototype = {
  44127. call$1: function($arguments) {
  44128. return this.$call$body$_EvaluateVisitor_closure($arguments);
  44129. },
  44130. $call$body$_EvaluateVisitor_closure: function($arguments) {
  44131. var $async$goto = 0,
  44132. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  44133. $async$returnValue, $async$self = this, t2, t3, t4, t5, t6, t7, invocation, callable, t1, $function, args;
  44134. var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  44135. if ($async$errorCode === 1)
  44136. return P._asyncRethrow($async$result, $async$completer);
  44137. while (true)
  44138. switch ($async$goto) {
  44139. case 0:
  44140. // Function start
  44141. t1 = J.getInterceptor$asx($arguments);
  44142. $function = t1.$index($arguments, 0);
  44143. args = H.interceptedTypeCast(t1.$index($arguments, 1), "$isSassArgumentList");
  44144. t1 = T.Expression;
  44145. t2 = H.setRuntimeTypeInfo([], [t1]);
  44146. t3 = P.String;
  44147. t4 = $async$self.$this;
  44148. t5 = t4._async_evaluate$_callableNode.span;
  44149. args._wereKeywordsAccessed = true;
  44150. t6 = args._keywords;
  44151. if (t6.get$isEmpty(t6))
  44152. t6 = null;
  44153. else {
  44154. args._wereKeywordsAccessed = true;
  44155. t7 = F.Value;
  44156. t7 = new F.ValueExpression(new A.SassMap(H.ConstantMap_ConstantMap$from(Y.mapMap(t6, new E._EvaluateVisitor__closure2(), new E._EvaluateVisitor__closure3(), t3, t7, t7, t7), t7, t7)), t4._async_evaluate$_callableNode.span);
  44157. t6 = t7;
  44158. }
  44159. invocation = X.ArgumentInvocation$(t2, P.LinkedHashMap_LinkedHashMap$_empty(t3, t1), t5, t6, new F.ValueExpression(args, t5));
  44160. $async$goto = $function instanceof D.SassString ? 3 : 4;
  44161. break;
  44162. case 3:
  44163. // then
  44164. N.warn("Passing a string to call() is deprecated and will be illegal\nin Dart Sass 2.0.0. Use call(get-function(" + $function.toString$0(0) + ")) instead.", true);
  44165. $async$goto = 5;
  44166. return P._asyncAwait(t4.visitFunctionExpression$1(new F.FunctionExpression(null, X.Interpolation$(H.setRuntimeTypeInfo([$function.text], [P.Object]), t4._async_evaluate$_callableNode.span), invocation, t4._async_evaluate$_callableNode.span)), $async$call$1);
  44167. case 5:
  44168. // returning from await.
  44169. $async$returnValue = $async$result;
  44170. // goto return
  44171. $async$goto = 1;
  44172. break;
  44173. case 4:
  44174. // join
  44175. callable = $function.assertFunction$1("function").callable;
  44176. $async$goto = !!J.getInterceptor$(callable).$isAsyncCallable ? 6 : 8;
  44177. break;
  44178. case 6:
  44179. // then
  44180. $async$goto = 9;
  44181. return P._asyncAwait(t4._async_evaluate$_runFunctionCallable$3(invocation, callable, t4._async_evaluate$_callableNode), $async$call$1);
  44182. case 9:
  44183. // returning from await.
  44184. $async$returnValue = $async$result;
  44185. // goto return
  44186. $async$goto = 1;
  44187. break;
  44188. // goto join
  44189. $async$goto = 7;
  44190. break;
  44191. case 8:
  44192. // else
  44193. throw H.wrapException(E.SassScriptException$("The function " + H.S(callable.get$name()) + " is asynchronous.\nThis is probably caused by a bug in a Sass plugin."));
  44194. case 7:
  44195. // join
  44196. case 1:
  44197. // return
  44198. return P._asyncReturn($async$returnValue, $async$completer);
  44199. }
  44200. });
  44201. return P._asyncStartSync($async$call$1, $async$completer);
  44202. }
  44203. };
  44204. E._EvaluateVisitor__closure2.prototype = {
  44205. call$2: function(key, _) {
  44206. return new D.SassString(key, false);
  44207. }
  44208. };
  44209. E._EvaluateVisitor__closure3.prototype = {
  44210. call$2: function(_, value) {
  44211. return value;
  44212. }
  44213. };
  44214. E._EvaluateVisitor_run_closure0.prototype = {
  44215. call$0: function() {
  44216. var $async$goto = 0,
  44217. $async$completer = P._makeAsyncAwaitCompleter(E.EvaluateResult),
  44218. $async$returnValue, $async$self = this, t2, t1, url, $async$temp1, $async$temp2;
  44219. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  44220. if ($async$errorCode === 1)
  44221. return P._asyncRethrow($async$result, $async$completer);
  44222. while (true)
  44223. switch ($async$goto) {
  44224. case 0:
  44225. // Function start
  44226. t1 = $async$self.node;
  44227. url = t1.span.file.url;
  44228. if (url != null) {
  44229. t2 = $async$self.$this;
  44230. t2._async_evaluate$_activeModules.add$1(0, url);
  44231. if (t2._async_evaluate$_nodeImporter != null)
  44232. if (url.get$scheme() === "file")
  44233. t2._async_evaluate$_includedFiles.add$1(0, $.$get$context().style.pathFromUri$1(M._parseUri(url)));
  44234. else if (url.toString$0(0) !== "stdin")
  44235. t2._async_evaluate$_includedFiles.add$1(0, url.toString$0(0));
  44236. }
  44237. t2 = $async$self.$this;
  44238. $async$temp1 = E;
  44239. $async$temp2 = t2;
  44240. $async$goto = 3;
  44241. return P._asyncAwait(t2._async_evaluate$_execute$2($async$self.importer, t1), $async$call$0);
  44242. case 3:
  44243. // returning from await.
  44244. $async$returnValue = new $async$temp1.EvaluateResult($async$temp2._async_evaluate$_combineCss$1($async$result), t2._async_evaluate$_includedFiles);
  44245. // goto return
  44246. $async$goto = 1;
  44247. break;
  44248. case 1:
  44249. // return
  44250. return P._asyncReturn($async$returnValue, $async$completer);
  44251. }
  44252. });
  44253. return P._asyncStartSync($async$call$0, $async$completer);
  44254. }
  44255. };
  44256. E._EvaluateVisitor__withWarnCallback_closure0.prototype = {
  44257. call$2: function(message, deprecation) {
  44258. var t1 = this.$this,
  44259. t2 = t1._async_evaluate$_importSpan;
  44260. return t1._async_evaluate$_warn$3$deprecation(message, t2 == null ? t1._async_evaluate$_callableNode.span : t2, deprecation);
  44261. },
  44262. "call*": "call$2",
  44263. $requiredArgCount: 2
  44264. };
  44265. E._EvaluateVisitor__loadModule_closure0.prototype = {
  44266. call$0: function() {
  44267. var $async$goto = 0,
  44268. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  44269. $async$handler = 1, $async$currentError, $async$next = [], $async$self = this, module, error, exception, t1, result, importer, stylesheet, canonicalUrl, t2, $async$exception;
  44270. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  44271. if ($async$errorCode === 1) {
  44272. $async$currentError = $async$result;
  44273. $async$goto = $async$handler;
  44274. }
  44275. while (true)
  44276. switch ($async$goto) {
  44277. case 0:
  44278. // Function start
  44279. t1 = $async$self.$this;
  44280. $async$goto = 2;
  44281. return P._asyncAwait(B.inUseRuleAsync(new E._EvaluateVisitor__loadModule__closure0(t1, $async$self.url, $async$self.nodeForSpan), [S.Tuple2, B.AsyncImporter, V.Stylesheet]), $async$call$0);
  44282. case 2:
  44283. // returning from await.
  44284. result = $async$result;
  44285. importer = result.item1;
  44286. stylesheet = result.item2;
  44287. canonicalUrl = stylesheet.span.file.url;
  44288. t2 = t1._async_evaluate$_activeModules;
  44289. if (t2.contains$1(0, canonicalUrl))
  44290. throw H.wrapException(t1._async_evaluate$_exception$1("Module loop: this module is already being loaded."));
  44291. t2.add$1(0, canonicalUrl);
  44292. module = null;
  44293. $async$handler = 3;
  44294. $async$goto = 6;
  44295. return P._asyncAwait(t1._async_evaluate$_execute$2(importer, stylesheet), $async$call$0);
  44296. case 6:
  44297. // returning from await.
  44298. module = $async$result;
  44299. $async$next.push(5);
  44300. // goto finally
  44301. $async$goto = 4;
  44302. break;
  44303. case 3:
  44304. // uncaught
  44305. $async$next = [1];
  44306. case 4:
  44307. // finally
  44308. $async$handler = 1;
  44309. t2.remove$1(0, canonicalUrl);
  44310. // goto the next finally handler
  44311. $async$goto = $async$next.pop();
  44312. break;
  44313. case 5:
  44314. // after finally
  44315. $async$handler = 8;
  44316. $async$goto = 11;
  44317. return P._asyncAwait($async$self.callback.call$1(module), $async$call$0);
  44318. case 11:
  44319. // returning from await.
  44320. $async$handler = 1;
  44321. // goto after finally
  44322. $async$goto = 10;
  44323. break;
  44324. case 8:
  44325. // catch
  44326. $async$handler = 7;
  44327. $async$exception = $async$currentError;
  44328. t2 = H.unwrapException($async$exception);
  44329. if (t2 instanceof E.SassScriptException) {
  44330. error = t2;
  44331. throw H.wrapException(t1._async_evaluate$_exception$1(error.message));
  44332. } else
  44333. throw $async$exception;
  44334. // goto after finally
  44335. $async$goto = 10;
  44336. break;
  44337. case 7:
  44338. // uncaught
  44339. // goto rethrow
  44340. $async$goto = 1;
  44341. break;
  44342. case 10:
  44343. // after finally
  44344. // implicit return
  44345. return P._asyncReturn(null, $async$completer);
  44346. case 1:
  44347. // rethrow
  44348. return P._asyncRethrow($async$currentError, $async$completer);
  44349. }
  44350. });
  44351. return P._asyncStartSync($async$call$0, $async$completer);
  44352. }
  44353. };
  44354. E._EvaluateVisitor__loadModule__closure0.prototype = {
  44355. call$0: function() {
  44356. return this.$this._async_evaluate$_loadStylesheet$2(J.toString$0$(this.url), this.nodeForSpan.get$span());
  44357. }
  44358. };
  44359. E._EvaluateVisitor__execute_closure0.prototype = {
  44360. call$0: function() {
  44361. return this.$call$body$_EvaluateVisitor__execute_closure();
  44362. },
  44363. $call$body$_EvaluateVisitor__execute_closure: function() {
  44364. var $async$goto = 0,
  44365. $async$completer = P._makeAsyncAwaitCompleter([G.Module, B.AsyncCallable]),
  44366. $async$returnValue, $async$self = this, extender, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, environment;
  44367. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  44368. if ($async$errorCode === 1)
  44369. return P._asyncRethrow($async$result, $async$completer);
  44370. while (true)
  44371. switch ($async$goto) {
  44372. case 0:
  44373. // Function start
  44374. t1 = {};
  44375. t2 = $async$self.$this;
  44376. t3 = P.String;
  44377. t4 = [G.Module, B.AsyncCallable];
  44378. t5 = H.setRuntimeTypeInfo([], [t4]);
  44379. t6 = H.setRuntimeTypeInfo([P.LinkedHashMap_LinkedHashMap$_empty(t3, F.Value)], [[P.Map, P.String, F.Value]]);
  44380. t7 = t2._async_evaluate$_sourceMap ? H.setRuntimeTypeInfo([P.LinkedHashMap_LinkedHashMap$_empty(t3, B.AstNode)], [[P.Map, P.String, B.AstNode]]) : null;
  44381. t8 = P.int;
  44382. t9 = B.AsyncCallable;
  44383. t10 = [[P.Map, P.String, B.AsyncCallable]];
  44384. environment = new Q.AsyncEnvironment(P.LinkedHashMap_LinkedHashMap$_empty(t3, t4), null, null, t5, t6, t7, P.LinkedHashMap_LinkedHashMap$_empty(t3, t8), H.setRuntimeTypeInfo([P.LinkedHashMap_LinkedHashMap$_empty(t3, t9)], t10), P.LinkedHashMap_LinkedHashMap$_empty(t3, t8), H.setRuntimeTypeInfo([P.LinkedHashMap_LinkedHashMap$_empty(t3, t9)], t10), P.LinkedHashMap_LinkedHashMap$_empty(t3, t8), null);
  44385. t1.css = null;
  44386. t3 = M.SimpleSelector;
  44387. extender = new F.Extender(P.LinkedHashMap_LinkedHashMap$_empty(t3, [P.Set, X.ModifiableCssStyleRule]), P.LinkedHashMap_LinkedHashMap$_empty(t3, [P.Map, S.ComplexSelector, S.Extension]), P.LinkedHashMap_LinkedHashMap$_empty(t3, [P.List, S.Extension]), P.LinkedHashMap_LinkedHashMap$_empty(X.CssStyleRule, [P.List, F.CssMediaQuery]), P._LinkedIdentityHashMap__LinkedIdentityHashMap$es6(t3, t8), new P._LinkedIdentityHashSet([S.ComplexSelector]), C.ExtendMode_normal);
  44388. $async$goto = 3;
  44389. return P._asyncAwait(t2._async_evaluate$_withEnvironment$1$2(environment, new E._EvaluateVisitor__execute__closure0(t1, t2, $async$self.importer, $async$self.stylesheet, extender), P.Null), $async$call$0);
  44390. case 3:
  44391. // returning from await.
  44392. $async$returnValue = Q._EnvironmentModule__EnvironmentModule0(environment, t1.css, extender, environment._async_environment$_forwardedModules);
  44393. // goto return
  44394. $async$goto = 1;
  44395. break;
  44396. case 1:
  44397. // return
  44398. return P._asyncReturn($async$returnValue, $async$completer);
  44399. }
  44400. });
  44401. return P._asyncStartSync($async$call$0, $async$completer);
  44402. }
  44403. };
  44404. E._EvaluateVisitor__execute__closure0.prototype = {
  44405. call$0: function() {
  44406. var $async$goto = 0,
  44407. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  44408. $async$self = this, t2, t3, t4, t5, css, t1, oldImporter, oldStylesheet, oldRoot, oldParent, oldEndOfImports, oldOutOfOrderImports, oldExtender, oldStyleRule, oldMediaQueries, oldDeclarationName, oldInUnknownAtRule, oldAtRootExcludingStyleRule, oldInKeyframes;
  44409. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  44410. if ($async$errorCode === 1)
  44411. return P._asyncRethrow($async$result, $async$completer);
  44412. while (true)
  44413. switch ($async$goto) {
  44414. case 0:
  44415. // Function start
  44416. t1 = $async$self.$this;
  44417. oldImporter = t1._async_evaluate$_importer;
  44418. oldStylesheet = t1._async_evaluate$_stylesheet;
  44419. oldRoot = t1._async_evaluate$_root;
  44420. oldParent = t1._async_evaluate$_parent;
  44421. oldEndOfImports = t1._async_evaluate$_endOfImports;
  44422. oldOutOfOrderImports = t1._async_evaluate$_outOfOrderImports;
  44423. oldExtender = t1._async_evaluate$_extender;
  44424. oldStyleRule = t1._async_evaluate$_styleRule;
  44425. oldMediaQueries = t1._async_evaluate$_mediaQueries;
  44426. oldDeclarationName = t1._async_evaluate$_declarationName;
  44427. oldInUnknownAtRule = t1._async_evaluate$_inUnknownAtRule;
  44428. oldAtRootExcludingStyleRule = t1._async_evaluate$_atRootExcludingStyleRule;
  44429. oldInKeyframes = t1._async_evaluate$_inKeyframes;
  44430. t1._async_evaluate$_importer = $async$self.importer;
  44431. t2 = t1._async_evaluate$_stylesheet = $async$self.stylesheet;
  44432. t3 = t2.span;
  44433. t4 = B.ModifiableCssNode;
  44434. t5 = H.setRuntimeTypeInfo([], [t4]);
  44435. t1._async_evaluate$_parent = t1._async_evaluate$_root = new V.ModifiableCssStylesheet(t3, new P.UnmodifiableListView(t5, [t4]), t5);
  44436. t1._async_evaluate$_endOfImports = 0;
  44437. t1._async_evaluate$_outOfOrderImports = null;
  44438. t1._async_evaluate$_extender = $async$self.extender;
  44439. t1._async_evaluate$_declarationName = t1._async_evaluate$_mediaQueries = t1._async_evaluate$_styleRule = null;
  44440. t1._async_evaluate$_inKeyframes = t1._async_evaluate$_atRootExcludingStyleRule = t1._async_evaluate$_inUnknownAtRule = false;
  44441. $async$goto = 2;
  44442. return P._asyncAwait(t1.visitStylesheet$1(t2), $async$call$0);
  44443. case 2:
  44444. // returning from await.
  44445. css = t1._async_evaluate$_outOfOrderImports == null ? t1._async_evaluate$_root : new V.CssStylesheet(new P.UnmodifiableListView(t1._async_evaluate$_addOutOfOrderImports$0(), [B.CssNode]), t3);
  44446. $async$self._box_0.css = css;
  44447. t1._async_evaluate$_importer = oldImporter;
  44448. t1._async_evaluate$_stylesheet = oldStylesheet;
  44449. t1._async_evaluate$_root = oldRoot;
  44450. t1._async_evaluate$_parent = oldParent;
  44451. t1._async_evaluate$_endOfImports = oldEndOfImports;
  44452. t1._async_evaluate$_outOfOrderImports = oldOutOfOrderImports;
  44453. t1._async_evaluate$_extender = oldExtender;
  44454. t1._async_evaluate$_styleRule = oldStyleRule;
  44455. t1._async_evaluate$_mediaQueries = oldMediaQueries;
  44456. t1._async_evaluate$_declarationName = oldDeclarationName;
  44457. t1._async_evaluate$_inUnknownAtRule = oldInUnknownAtRule;
  44458. t1._async_evaluate$_atRootExcludingStyleRule = oldAtRootExcludingStyleRule;
  44459. t1._async_evaluate$_inKeyframes = oldInKeyframes;
  44460. // implicit return
  44461. return P._asyncReturn(null, $async$completer);
  44462. }
  44463. });
  44464. return P._asyncStartSync($async$call$0, $async$completer);
  44465. }
  44466. };
  44467. E._EvaluateVisitor__combineCss_closure2.prototype = {
  44468. call$1: function(module) {
  44469. return module.get$transitivelyContainsCss();
  44470. }
  44471. };
  44472. E._EvaluateVisitor__combineCss_closure3.prototype = {
  44473. call$1: function(target) {
  44474. return !this.selectors.contains$1(0, target);
  44475. }
  44476. };
  44477. E._EvaluateVisitor__combineCss_closure4.prototype = {
  44478. call$1: function(module) {
  44479. return module.cloneCss$0();
  44480. }
  44481. };
  44482. E._EvaluateVisitor__extendModules_closure1.prototype = {
  44483. call$1: function(target) {
  44484. return !this.originalSelectors.contains$1(0, target);
  44485. }
  44486. };
  44487. E._EvaluateVisitor__extendModules_closure2.prototype = {
  44488. call$0: function() {
  44489. return H.setRuntimeTypeInfo([], [F.Extender]);
  44490. }
  44491. };
  44492. E._EvaluateVisitor__topologicalModules_visitModule0.prototype = {
  44493. call$1: function(module) {
  44494. var t1, t2, t3, _i, upstream;
  44495. for (t1 = module.get$upstream(), t2 = t1.length, t3 = this.seen, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
  44496. upstream = t1[_i];
  44497. if (upstream.get$transitivelyContainsCss() && t3.add$1(0, upstream))
  44498. this.call$1(upstream);
  44499. }
  44500. this.sorted.addFirst$1(module);
  44501. }
  44502. };
  44503. E._EvaluateVisitor_visitAtRootRule_closure2.prototype = {
  44504. call$0: function() {
  44505. var t1 = S.SpanScanner$(this.resolved, null);
  44506. return new V.AtRootQueryParser(t1, this.$this._async_evaluate$_logger).parse$0();
  44507. }
  44508. };
  44509. E._EvaluateVisitor_visitAtRootRule_closure3.prototype = {
  44510. call$0: function() {
  44511. var $async$goto = 0,
  44512. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  44513. $async$self = this, t1, t2, t3, _i;
  44514. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  44515. if ($async$errorCode === 1)
  44516. return P._asyncRethrow($async$result, $async$completer);
  44517. while (true)
  44518. switch ($async$goto) {
  44519. case 0:
  44520. // Function start
  44521. t1 = $async$self.node.children, t2 = t1.length, t3 = $async$self.$this, _i = 0;
  44522. case 2:
  44523. // for condition
  44524. if (!(_i < t2)) {
  44525. // goto after for
  44526. $async$goto = 4;
  44527. break;
  44528. }
  44529. $async$goto = 5;
  44530. return P._asyncAwait(t1[_i].accept$1(t3), $async$call$0);
  44531. case 5:
  44532. // returning from await.
  44533. case 3:
  44534. // for update
  44535. ++_i;
  44536. // goto for condition
  44537. $async$goto = 2;
  44538. break;
  44539. case 4:
  44540. // after for
  44541. // implicit return
  44542. return P._asyncReturn(null, $async$completer);
  44543. }
  44544. });
  44545. return P._asyncStartSync($async$call$0, $async$completer);
  44546. }
  44547. };
  44548. E._EvaluateVisitor_visitAtRootRule_closure4.prototype = {
  44549. call$0: function() {
  44550. var $async$goto = 0,
  44551. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  44552. $async$self = this, t1, t2, t3, _i;
  44553. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  44554. if ($async$errorCode === 1)
  44555. return P._asyncRethrow($async$result, $async$completer);
  44556. while (true)
  44557. switch ($async$goto) {
  44558. case 0:
  44559. // Function start
  44560. t1 = $async$self.node.children, t2 = t1.length, t3 = $async$self.$this, _i = 0;
  44561. case 2:
  44562. // for condition
  44563. if (!(_i < t2)) {
  44564. // goto after for
  44565. $async$goto = 4;
  44566. break;
  44567. }
  44568. $async$goto = 5;
  44569. return P._asyncAwait(t1[_i].accept$1(t3), $async$call$0);
  44570. case 5:
  44571. // returning from await.
  44572. case 3:
  44573. // for update
  44574. ++_i;
  44575. // goto for condition
  44576. $async$goto = 2;
  44577. break;
  44578. case 4:
  44579. // after for
  44580. // implicit return
  44581. return P._asyncReturn(null, $async$completer);
  44582. }
  44583. });
  44584. return P._asyncStartSync($async$call$0, $async$completer);
  44585. },
  44586. "call*": "call$0",
  44587. $requiredArgCount: 0
  44588. };
  44589. E._EvaluateVisitor__scopeForAtRoot_closure5.prototype = {
  44590. call$1: function(callback) {
  44591. var $async$goto = 0,
  44592. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  44593. $async$self = this, t1, oldParent;
  44594. var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  44595. if ($async$errorCode === 1)
  44596. return P._asyncRethrow($async$result, $async$completer);
  44597. while (true)
  44598. switch ($async$goto) {
  44599. case 0:
  44600. // Function start
  44601. t1 = $async$self.$this;
  44602. oldParent = t1._async_evaluate$_parent;
  44603. t1._async_evaluate$_parent = $async$self.newParent;
  44604. $async$goto = 2;
  44605. return P._asyncAwait(t1._async_evaluate$_environment.scope$1$2$when(callback, $async$self.node.hasDeclarations, -1), $async$call$1);
  44606. case 2:
  44607. // returning from await.
  44608. t1._async_evaluate$_parent = oldParent;
  44609. // implicit return
  44610. return P._asyncReturn(null, $async$completer);
  44611. }
  44612. });
  44613. return P._asyncStartSync($async$call$1, $async$completer);
  44614. }
  44615. };
  44616. E._EvaluateVisitor__scopeForAtRoot_closure6.prototype = {
  44617. call$1: function(callback) {
  44618. var $async$goto = 0,
  44619. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  44620. $async$self = this, t1, oldAtRootExcludingStyleRule;
  44621. var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  44622. if ($async$errorCode === 1)
  44623. return P._asyncRethrow($async$result, $async$completer);
  44624. while (true)
  44625. switch ($async$goto) {
  44626. case 0:
  44627. // Function start
  44628. t1 = $async$self.$this;
  44629. oldAtRootExcludingStyleRule = t1._async_evaluate$_atRootExcludingStyleRule;
  44630. t1._async_evaluate$_atRootExcludingStyleRule = true;
  44631. $async$goto = 2;
  44632. return P._asyncAwait($async$self.innerScope.call$1(callback), $async$call$1);
  44633. case 2:
  44634. // returning from await.
  44635. t1._async_evaluate$_atRootExcludingStyleRule = oldAtRootExcludingStyleRule;
  44636. // implicit return
  44637. return P._asyncReturn(null, $async$completer);
  44638. }
  44639. });
  44640. return P._asyncStartSync($async$call$1, $async$completer);
  44641. }
  44642. };
  44643. E._EvaluateVisitor__scopeForAtRoot_closure7.prototype = {
  44644. call$1: function(callback) {
  44645. return this.$this._async_evaluate$_withMediaQueries$1$2(null, new E._EvaluateVisitor__scopeForAtRoot__closure0(this.innerScope, callback), P.Null);
  44646. }
  44647. };
  44648. E._EvaluateVisitor__scopeForAtRoot__closure0.prototype = {
  44649. call$0: function() {
  44650. return this.innerScope.call$1(this.callback);
  44651. }
  44652. };
  44653. E._EvaluateVisitor__scopeForAtRoot_closure8.prototype = {
  44654. call$1: function(callback) {
  44655. var $async$goto = 0,
  44656. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  44657. $async$self = this, t1, wasInKeyframes;
  44658. var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  44659. if ($async$errorCode === 1)
  44660. return P._asyncRethrow($async$result, $async$completer);
  44661. while (true)
  44662. switch ($async$goto) {
  44663. case 0:
  44664. // Function start
  44665. t1 = $async$self.$this;
  44666. wasInKeyframes = t1._async_evaluate$_inKeyframes;
  44667. t1._async_evaluate$_inKeyframes = false;
  44668. $async$goto = 2;
  44669. return P._asyncAwait($async$self.innerScope.call$1(callback), $async$call$1);
  44670. case 2:
  44671. // returning from await.
  44672. t1._async_evaluate$_inKeyframes = wasInKeyframes;
  44673. // implicit return
  44674. return P._asyncReturn(null, $async$completer);
  44675. }
  44676. });
  44677. return P._asyncStartSync($async$call$1, $async$completer);
  44678. }
  44679. };
  44680. E._EvaluateVisitor__scopeForAtRoot_closure9.prototype = {
  44681. call$1: function($parent) {
  44682. return !!J.getInterceptor$($parent).$isCssAtRule;
  44683. }
  44684. };
  44685. E._EvaluateVisitor__scopeForAtRoot_closure10.prototype = {
  44686. call$1: function(callback) {
  44687. var $async$goto = 0,
  44688. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  44689. $async$self = this, t1, wasInUnknownAtRule;
  44690. var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  44691. if ($async$errorCode === 1)
  44692. return P._asyncRethrow($async$result, $async$completer);
  44693. while (true)
  44694. switch ($async$goto) {
  44695. case 0:
  44696. // Function start
  44697. t1 = $async$self.$this;
  44698. wasInUnknownAtRule = t1._async_evaluate$_inUnknownAtRule;
  44699. t1._async_evaluate$_inUnknownAtRule = false;
  44700. $async$goto = 2;
  44701. return P._asyncAwait($async$self.innerScope.call$1(callback), $async$call$1);
  44702. case 2:
  44703. // returning from await.
  44704. t1._async_evaluate$_inUnknownAtRule = wasInUnknownAtRule;
  44705. // implicit return
  44706. return P._asyncReturn(null, $async$completer);
  44707. }
  44708. });
  44709. return P._asyncStartSync($async$call$1, $async$completer);
  44710. }
  44711. };
  44712. E._EvaluateVisitor_visitContentRule_closure0.prototype = {
  44713. call$0: function() {
  44714. var $async$goto = 0,
  44715. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  44716. $async$returnValue, $async$self = this, t1, t2, t3, _i;
  44717. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  44718. if ($async$errorCode === 1)
  44719. return P._asyncRethrow($async$result, $async$completer);
  44720. while (true)
  44721. switch ($async$goto) {
  44722. case 0:
  44723. // Function start
  44724. t1 = $async$self.content.declaration.children, t2 = t1.length, t3 = $async$self.$this, _i = 0;
  44725. case 3:
  44726. // for condition
  44727. if (!(_i < t2)) {
  44728. // goto after for
  44729. $async$goto = 5;
  44730. break;
  44731. }
  44732. $async$goto = 6;
  44733. return P._asyncAwait(t1[_i].accept$1(t3), $async$call$0);
  44734. case 6:
  44735. // returning from await.
  44736. case 4:
  44737. // for update
  44738. ++_i;
  44739. // goto for condition
  44740. $async$goto = 3;
  44741. break;
  44742. case 5:
  44743. // after for
  44744. // goto return
  44745. $async$goto = 1;
  44746. break;
  44747. case 1:
  44748. // return
  44749. return P._asyncReturn($async$returnValue, $async$completer);
  44750. }
  44751. });
  44752. return P._asyncStartSync($async$call$0, $async$completer);
  44753. }
  44754. };
  44755. E._EvaluateVisitor_visitDeclaration_closure0.prototype = {
  44756. call$0: function() {
  44757. var $async$goto = 0,
  44758. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  44759. $async$self = this, t1, t2, t3, _i;
  44760. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  44761. if ($async$errorCode === 1)
  44762. return P._asyncRethrow($async$result, $async$completer);
  44763. while (true)
  44764. switch ($async$goto) {
  44765. case 0:
  44766. // Function start
  44767. t1 = $async$self.node.children, t2 = t1.length, t3 = $async$self.$this, _i = 0;
  44768. case 2:
  44769. // for condition
  44770. if (!(_i < t2)) {
  44771. // goto after for
  44772. $async$goto = 4;
  44773. break;
  44774. }
  44775. $async$goto = 5;
  44776. return P._asyncAwait(t1[_i].accept$1(t3), $async$call$0);
  44777. case 5:
  44778. // returning from await.
  44779. case 3:
  44780. // for update
  44781. ++_i;
  44782. // goto for condition
  44783. $async$goto = 2;
  44784. break;
  44785. case 4:
  44786. // after for
  44787. // implicit return
  44788. return P._asyncReturn(null, $async$completer);
  44789. }
  44790. });
  44791. return P._asyncStartSync($async$call$0, $async$completer);
  44792. }
  44793. };
  44794. E._EvaluateVisitor_visitEachRule_closure2.prototype = {
  44795. call$1: function(value) {
  44796. return this.$this._async_evaluate$_environment.setLocalVariable$3(C.JSArray_methods.get$first(this.node.variables), value.withoutSlash$0(), this.nodeForSpan);
  44797. }
  44798. };
  44799. E._EvaluateVisitor_visitEachRule_closure3.prototype = {
  44800. call$1: function(value) {
  44801. return this.$this._async_evaluate$_setMultipleVariables$3(this.node.variables, value, this.nodeForSpan);
  44802. }
  44803. };
  44804. E._EvaluateVisitor_visitEachRule_closure4.prototype = {
  44805. call$0: function() {
  44806. var _this = this,
  44807. t1 = _this.$this;
  44808. return t1._async_evaluate$_handleReturn$2(_this.list.get$asList(), new E._EvaluateVisitor_visitEachRule__closure0(t1, _this.setVariables, _this.node));
  44809. }
  44810. };
  44811. E._EvaluateVisitor_visitEachRule__closure0.prototype = {
  44812. call$1: function(element) {
  44813. var t1;
  44814. this.setVariables.call$1(element);
  44815. t1 = this.$this;
  44816. return t1._async_evaluate$_handleReturn$2(this.node.children, new E._EvaluateVisitor_visitEachRule___closure0(t1));
  44817. }
  44818. };
  44819. E._EvaluateVisitor_visitEachRule___closure0.prototype = {
  44820. call$1: function(child) {
  44821. return child.accept$1(this.$this);
  44822. }
  44823. };
  44824. E._EvaluateVisitor_visitExtendRule_closure0.prototype = {
  44825. call$0: function() {
  44826. return D.SelectorList_SelectorList$parse(B.trimAscii(this.targetText.get$value(), true), false, true, this.$this._async_evaluate$_logger);
  44827. }
  44828. };
  44829. E._EvaluateVisitor_visitAtRule_closure1.prototype = {
  44830. call$0: function() {
  44831. var $async$goto = 0,
  44832. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  44833. $async$self = this, t3, _i, t1, t2;
  44834. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  44835. if ($async$errorCode === 1)
  44836. return P._asyncRethrow($async$result, $async$completer);
  44837. while (true)
  44838. switch ($async$goto) {
  44839. case 0:
  44840. // Function start
  44841. t1 = $async$self.$this;
  44842. t2 = t1._async_evaluate$_styleRule;
  44843. $async$goto = !(t2 != null && !t1._async_evaluate$_atRootExcludingStyleRule) || t1._async_evaluate$_inKeyframes ? 2 : 4;
  44844. break;
  44845. case 2:
  44846. // then
  44847. t2 = $async$self.node.children, t3 = t2.length, _i = 0;
  44848. case 5:
  44849. // for condition
  44850. if (!(_i < t3)) {
  44851. // goto after for
  44852. $async$goto = 7;
  44853. break;
  44854. }
  44855. $async$goto = 8;
  44856. return P._asyncAwait(t2[_i].accept$1(t1), $async$call$0);
  44857. case 8:
  44858. // returning from await.
  44859. case 6:
  44860. // for update
  44861. ++_i;
  44862. // goto for condition
  44863. $async$goto = 5;
  44864. break;
  44865. case 7:
  44866. // after for
  44867. // goto join
  44868. $async$goto = 3;
  44869. break;
  44870. case 4:
  44871. // else
  44872. $async$goto = 9;
  44873. return P._asyncAwait(t1._async_evaluate$_withParent$2$3$scopeWhen(X.ModifiableCssStyleRule$(t2.selector, t2.span, t2.originalSelector), new E._EvaluateVisitor_visitAtRule__closure0(t1, $async$self.node), false, X.ModifiableCssStyleRule, P.Null), $async$call$0);
  44874. case 9:
  44875. // returning from await.
  44876. case 3:
  44877. // join
  44878. // implicit return
  44879. return P._asyncReturn(null, $async$completer);
  44880. }
  44881. });
  44882. return P._asyncStartSync($async$call$0, $async$completer);
  44883. }
  44884. };
  44885. E._EvaluateVisitor_visitAtRule__closure0.prototype = {
  44886. call$0: function() {
  44887. var $async$goto = 0,
  44888. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  44889. $async$self = this, t1, t2, t3, _i;
  44890. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  44891. if ($async$errorCode === 1)
  44892. return P._asyncRethrow($async$result, $async$completer);
  44893. while (true)
  44894. switch ($async$goto) {
  44895. case 0:
  44896. // Function start
  44897. t1 = $async$self.node.children, t2 = t1.length, t3 = $async$self.$this, _i = 0;
  44898. case 2:
  44899. // for condition
  44900. if (!(_i < t2)) {
  44901. // goto after for
  44902. $async$goto = 4;
  44903. break;
  44904. }
  44905. $async$goto = 5;
  44906. return P._asyncAwait(t1[_i].accept$1(t3), $async$call$0);
  44907. case 5:
  44908. // returning from await.
  44909. case 3:
  44910. // for update
  44911. ++_i;
  44912. // goto for condition
  44913. $async$goto = 2;
  44914. break;
  44915. case 4:
  44916. // after for
  44917. // implicit return
  44918. return P._asyncReturn(null, $async$completer);
  44919. }
  44920. });
  44921. return P._asyncStartSync($async$call$0, $async$completer);
  44922. }
  44923. };
  44924. E._EvaluateVisitor_visitAtRule_closure2.prototype = {
  44925. call$1: function(node) {
  44926. return !!J.getInterceptor$(node).$isCssStyleRule;
  44927. }
  44928. };
  44929. E._EvaluateVisitor_visitForRule_closure4.prototype = {
  44930. call$0: function() {
  44931. var $async$goto = 0,
  44932. $async$completer = P._makeAsyncAwaitCompleter(T.SassNumber),
  44933. $async$returnValue, $async$self = this;
  44934. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  44935. if ($async$errorCode === 1)
  44936. return P._asyncRethrow($async$result, $async$completer);
  44937. while (true)
  44938. switch ($async$goto) {
  44939. case 0:
  44940. // Function start
  44941. $async$goto = 3;
  44942. return P._asyncAwait($async$self.node.from.accept$1($async$self.$this), $async$call$0);
  44943. case 3:
  44944. // returning from await.
  44945. $async$returnValue = $async$result.assertNumber$0();
  44946. // goto return
  44947. $async$goto = 1;
  44948. break;
  44949. case 1:
  44950. // return
  44951. return P._asyncReturn($async$returnValue, $async$completer);
  44952. }
  44953. });
  44954. return P._asyncStartSync($async$call$0, $async$completer);
  44955. }
  44956. };
  44957. E._EvaluateVisitor_visitForRule_closure5.prototype = {
  44958. call$0: function() {
  44959. var $async$goto = 0,
  44960. $async$completer = P._makeAsyncAwaitCompleter(T.SassNumber),
  44961. $async$returnValue, $async$self = this;
  44962. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  44963. if ($async$errorCode === 1)
  44964. return P._asyncRethrow($async$result, $async$completer);
  44965. while (true)
  44966. switch ($async$goto) {
  44967. case 0:
  44968. // Function start
  44969. $async$goto = 3;
  44970. return P._asyncAwait($async$self.node.to.accept$1($async$self.$this), $async$call$0);
  44971. case 3:
  44972. // returning from await.
  44973. $async$returnValue = $async$result.assertNumber$0();
  44974. // goto return
  44975. $async$goto = 1;
  44976. break;
  44977. case 1:
  44978. // return
  44979. return P._asyncReturn($async$returnValue, $async$completer);
  44980. }
  44981. });
  44982. return P._asyncStartSync($async$call$0, $async$completer);
  44983. }
  44984. };
  44985. E._EvaluateVisitor_visitForRule_closure6.prototype = {
  44986. call$0: function() {
  44987. var t1 = this.toNumber,
  44988. t2 = t1.numeratorUnits;
  44989. t1 = t1.denominatorUnits;
  44990. return T.SassNumber$withUnits(this.fromNumber.valueInUnits$2(t2, t1), t1, t2).assertInt$0();
  44991. }
  44992. };
  44993. E._EvaluateVisitor_visitForRule_closure7.prototype = {
  44994. call$0: function() {
  44995. return this.toNumber.assertInt$0();
  44996. }
  44997. };
  44998. E._EvaluateVisitor_visitForRule_closure8.prototype = {
  44999. call$0: function() {
  45000. var $async$goto = 0,
  45001. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  45002. $async$returnValue, $async$self = this, i, t3, t4, t5, t6, result, t1, t2, nodeForSpan;
  45003. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  45004. if ($async$errorCode === 1)
  45005. return P._asyncRethrow($async$result, $async$completer);
  45006. while (true)
  45007. switch ($async$goto) {
  45008. case 0:
  45009. // Function start
  45010. t1 = $async$self.$this;
  45011. t2 = $async$self.node;
  45012. nodeForSpan = t1._async_evaluate$_expressionNode$1(t2.from);
  45013. i = $async$self.from, t3 = $async$self._box_0, t4 = $async$self.direction, t5 = t2.children, t2 = t2.variable;
  45014. case 3:
  45015. // for condition
  45016. if (!(i !== t3.to)) {
  45017. // goto after for
  45018. $async$goto = 5;
  45019. break;
  45020. }
  45021. t6 = t1._async_evaluate$_environment;
  45022. t6.setLocalVariable$3(t2, new T.SassNumber(i, C.List_empty0, C.List_empty0, null), nodeForSpan);
  45023. $async$goto = 6;
  45024. return P._asyncAwait(t1._async_evaluate$_handleReturn$2(t5, new E._EvaluateVisitor_visitForRule__closure0(t1)), $async$call$0);
  45025. case 6:
  45026. // returning from await.
  45027. result = $async$result;
  45028. if (result != null) {
  45029. $async$returnValue = result;
  45030. // goto return
  45031. $async$goto = 1;
  45032. break;
  45033. }
  45034. case 4:
  45035. // for update
  45036. i += t4;
  45037. // goto for condition
  45038. $async$goto = 3;
  45039. break;
  45040. case 5:
  45041. // after for
  45042. // goto return
  45043. $async$goto = 1;
  45044. break;
  45045. case 1:
  45046. // return
  45047. return P._asyncReturn($async$returnValue, $async$completer);
  45048. }
  45049. });
  45050. return P._asyncStartSync($async$call$0, $async$completer);
  45051. }
  45052. };
  45053. E._EvaluateVisitor_visitForRule__closure0.prototype = {
  45054. call$1: function(child) {
  45055. return child.accept$1(this.$this);
  45056. }
  45057. };
  45058. E._EvaluateVisitor_visitForwardRule_closure0.prototype = {
  45059. call$1: function(module) {
  45060. this.$this._async_evaluate$_environment.forwardModule$2(module, this.node);
  45061. }
  45062. };
  45063. E._EvaluateVisitor_visitIfRule_closure0.prototype = {
  45064. call$0: function() {
  45065. var t1 = this.$this;
  45066. return t1._async_evaluate$_handleReturn$2(this._box_0.clause.children, new E._EvaluateVisitor_visitIfRule__closure0(t1));
  45067. }
  45068. };
  45069. E._EvaluateVisitor_visitIfRule__closure0.prototype = {
  45070. call$1: function(child) {
  45071. return child.accept$1(this.$this);
  45072. }
  45073. };
  45074. E._EvaluateVisitor__visitDynamicImport_closure0.prototype = {
  45075. call$0: function() {
  45076. return this.$call$body$_EvaluateVisitor__visitDynamicImport_closure();
  45077. },
  45078. $call$body$_EvaluateVisitor__visitDynamicImport_closure: function() {
  45079. var $async$goto = 0,
  45080. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  45081. $async$returnValue, $async$self = this, url, t3, t4, environment, module, visitor, _box_0, t1, t2, result, importer, stylesheet;
  45082. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  45083. if ($async$errorCode === 1)
  45084. return P._asyncRethrow($async$result, $async$completer);
  45085. while (true)
  45086. switch ($async$goto) {
  45087. case 0:
  45088. // Function start
  45089. _box_0 = {};
  45090. t1 = $async$self.$this;
  45091. t2 = $async$self.$import;
  45092. $async$goto = 3;
  45093. return P._asyncAwait(t1._async_evaluate$_loadStylesheet$2(t2.url, t2.span), $async$call$0);
  45094. case 3:
  45095. // returning from await.
  45096. result = $async$result;
  45097. importer = result.item1;
  45098. stylesheet = result.item2;
  45099. t2 = stylesheet.span;
  45100. url = t2.file.url;
  45101. t3 = t1._async_evaluate$_activeModules;
  45102. if (!t3.add$1(0, url))
  45103. throw H.wrapException(t1._async_evaluate$_exception$1("This file is already being loaded."));
  45104. t3.add$1(0, url);
  45105. t4 = new P.UnmodifiableListView(stylesheet._uses, [T.UseRule]);
  45106. if (t4.get$length(t4) === 0) {
  45107. t4 = new P.UnmodifiableListView(stylesheet._forwards, [L.ForwardRule]);
  45108. t4 = t4.get$length(t4) === 0;
  45109. } else
  45110. t4 = false;
  45111. $async$goto = t4 ? 4 : 5;
  45112. break;
  45113. case 4:
  45114. // then
  45115. $async$goto = 6;
  45116. return P._asyncAwait(t1._async_evaluate$_withEnvironment$1$2(t1._async_evaluate$_environment.global$0(), new E._EvaluateVisitor__visitDynamicImport__closure1(t1, importer, stylesheet), P.Null), $async$call$0);
  45117. case 6:
  45118. // returning from await.
  45119. t3.remove$1(0, url);
  45120. // goto return
  45121. $async$goto = 1;
  45122. break;
  45123. case 5:
  45124. // join
  45125. _box_0.children = null;
  45126. environment = t1._async_evaluate$_environment.global$0();
  45127. $async$goto = 7;
  45128. return P._asyncAwait(t1._async_evaluate$_withEnvironment$1$2(environment, new E._EvaluateVisitor__visitDynamicImport__closure2(_box_0, t1, importer, stylesheet), P.Null), $async$call$0);
  45129. case 7:
  45130. // returning from await.
  45131. module = Q._EnvironmentModule__EnvironmentModule0(environment, new V.CssStylesheet(new P.UnmodifiableListView(C.List_empty3, [B.CssNode]), t2), C.C_EmptyExtender, environment._async_environment$_forwardedModules);
  45132. t1._async_evaluate$_environment.importForwards$1(module);
  45133. $async$goto = module.transitivelyContainsCss ? 8 : 9;
  45134. break;
  45135. case 8:
  45136. // then
  45137. $async$goto = 10;
  45138. return P._asyncAwait(t1._async_evaluate$_combineCss$2$clone(module, module.transitivelyContainsExtensions).accept$1(t1), $async$call$0);
  45139. case 10:
  45140. // returning from await.
  45141. case 9:
  45142. // join
  45143. visitor = new E._ImportedCssVisitor0(t1);
  45144. for (t1 = J.get$iterator$ax(_box_0.children); t1.moveNext$0();)
  45145. t1.get$current(t1).accept$1(visitor);
  45146. t3.remove$1(0, url);
  45147. case 1:
  45148. // return
  45149. return P._asyncReturn($async$returnValue, $async$completer);
  45150. }
  45151. });
  45152. return P._asyncStartSync($async$call$0, $async$completer);
  45153. }
  45154. };
  45155. E._EvaluateVisitor__visitDynamicImport__closure1.prototype = {
  45156. call$0: function() {
  45157. var $async$goto = 0,
  45158. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  45159. $async$self = this, t2, t1, oldImporter, oldStylesheet;
  45160. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  45161. if ($async$errorCode === 1)
  45162. return P._asyncRethrow($async$result, $async$completer);
  45163. while (true)
  45164. switch ($async$goto) {
  45165. case 0:
  45166. // Function start
  45167. t1 = $async$self.$this;
  45168. oldImporter = t1._async_evaluate$_importer;
  45169. oldStylesheet = t1._async_evaluate$_stylesheet;
  45170. t1._async_evaluate$_importer = $async$self.importer;
  45171. t2 = $async$self.stylesheet;
  45172. t1._async_evaluate$_stylesheet = t2;
  45173. $async$goto = 2;
  45174. return P._asyncAwait(t1.visitStylesheet$1(t2), $async$call$0);
  45175. case 2:
  45176. // returning from await.
  45177. t1._async_evaluate$_importer = oldImporter;
  45178. t1._async_evaluate$_stylesheet = oldStylesheet;
  45179. // implicit return
  45180. return P._asyncReturn(null, $async$completer);
  45181. }
  45182. });
  45183. return P._asyncStartSync($async$call$0, $async$completer);
  45184. }
  45185. };
  45186. E._EvaluateVisitor__visitDynamicImport__closure2.prototype = {
  45187. call$0: function() {
  45188. var $async$goto = 0,
  45189. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  45190. $async$self = this, t2, t3, t4, t1, oldImporter, oldStylesheet, oldRoot, oldParent, oldEndOfImports, oldOutOfOrderImports;
  45191. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  45192. if ($async$errorCode === 1)
  45193. return P._asyncRethrow($async$result, $async$completer);
  45194. while (true)
  45195. switch ($async$goto) {
  45196. case 0:
  45197. // Function start
  45198. t1 = $async$self.$this;
  45199. oldImporter = t1._async_evaluate$_importer;
  45200. oldStylesheet = t1._async_evaluate$_stylesheet;
  45201. oldRoot = t1._async_evaluate$_root;
  45202. oldParent = t1._async_evaluate$_parent;
  45203. oldEndOfImports = t1._async_evaluate$_endOfImports;
  45204. oldOutOfOrderImports = t1._async_evaluate$_outOfOrderImports;
  45205. t1._async_evaluate$_importer = $async$self.importer;
  45206. t2 = t1._async_evaluate$_stylesheet = $async$self.stylesheet;
  45207. t3 = B.ModifiableCssNode;
  45208. t4 = H.setRuntimeTypeInfo([], [t3]);
  45209. t1._async_evaluate$_parent = t1._async_evaluate$_root = new V.ModifiableCssStylesheet(t2.span, new P.UnmodifiableListView(t4, [t3]), t4);
  45210. t1._async_evaluate$_endOfImports = 0;
  45211. t1._async_evaluate$_outOfOrderImports = null;
  45212. $async$goto = 2;
  45213. return P._asyncAwait(t1.visitStylesheet$1(t2), $async$call$0);
  45214. case 2:
  45215. // returning from await.
  45216. $async$self._box_0.children = t1._async_evaluate$_addOutOfOrderImports$0();
  45217. t1._async_evaluate$_importer = oldImporter;
  45218. t1._async_evaluate$_stylesheet = oldStylesheet;
  45219. t1._async_evaluate$_root = oldRoot;
  45220. t1._async_evaluate$_parent = oldParent;
  45221. t1._async_evaluate$_endOfImports = oldEndOfImports;
  45222. t1._async_evaluate$_outOfOrderImports = oldOutOfOrderImports;
  45223. // implicit return
  45224. return P._asyncReturn(null, $async$completer);
  45225. }
  45226. });
  45227. return P._asyncStartSync($async$call$0, $async$completer);
  45228. }
  45229. };
  45230. E._EvaluateVisitor_visitIncludeRule_closure1.prototype = {
  45231. call$0: function() {
  45232. var t1 = this.node;
  45233. return this.$this._async_evaluate$_environment.getMixin$2$namespace(t1.name, t1.namespace);
  45234. }
  45235. };
  45236. E._EvaluateVisitor_visitIncludeRule_closure2.prototype = {
  45237. call$0: function() {
  45238. var $async$goto = 0,
  45239. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  45240. $async$returnValue, $async$self = this, t1;
  45241. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  45242. if ($async$errorCode === 1)
  45243. return P._asyncRethrow($async$result, $async$completer);
  45244. while (true)
  45245. switch ($async$goto) {
  45246. case 0:
  45247. // Function start
  45248. t1 = $async$self.$this;
  45249. $async$goto = 3;
  45250. return P._asyncAwait(t1._async_evaluate$_environment.withContent$2($async$self.contentCallable, new E._EvaluateVisitor_visitIncludeRule__closure0(t1, $async$self.mixin)), $async$call$0);
  45251. case 3:
  45252. // returning from await.
  45253. // goto return
  45254. $async$goto = 1;
  45255. break;
  45256. case 1:
  45257. // return
  45258. return P._asyncReturn($async$returnValue, $async$completer);
  45259. }
  45260. });
  45261. return P._asyncStartSync($async$call$0, $async$completer);
  45262. }
  45263. };
  45264. E._EvaluateVisitor_visitIncludeRule__closure0.prototype = {
  45265. call$0: function() {
  45266. var $async$goto = 0,
  45267. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  45268. $async$returnValue, $async$self = this, t1;
  45269. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  45270. if ($async$errorCode === 1)
  45271. return P._asyncRethrow($async$result, $async$completer);
  45272. while (true)
  45273. switch ($async$goto) {
  45274. case 0:
  45275. // Function start
  45276. t1 = $async$self.$this;
  45277. $async$goto = 3;
  45278. return P._asyncAwait(t1._async_evaluate$_environment.asMixin$1(new E._EvaluateVisitor_visitIncludeRule___closure0(t1, $async$self.mixin)), $async$call$0);
  45279. case 3:
  45280. // returning from await.
  45281. // goto return
  45282. $async$goto = 1;
  45283. break;
  45284. case 1:
  45285. // return
  45286. return P._asyncReturn($async$returnValue, $async$completer);
  45287. }
  45288. });
  45289. return P._asyncStartSync($async$call$0, $async$completer);
  45290. }
  45291. };
  45292. E._EvaluateVisitor_visitIncludeRule___closure0.prototype = {
  45293. call$0: function() {
  45294. var $async$goto = 0,
  45295. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  45296. $async$self = this, t1, t2, t3, _i;
  45297. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  45298. if ($async$errorCode === 1)
  45299. return P._asyncRethrow($async$result, $async$completer);
  45300. while (true)
  45301. switch ($async$goto) {
  45302. case 0:
  45303. // Function start
  45304. t1 = $async$self.mixin.declaration.children, t2 = t1.length, t3 = $async$self.$this, _i = 0;
  45305. case 2:
  45306. // for condition
  45307. if (!(_i < t2)) {
  45308. // goto after for
  45309. $async$goto = 4;
  45310. break;
  45311. }
  45312. $async$goto = 5;
  45313. return P._asyncAwait(t1[_i].accept$1(t3), $async$call$0);
  45314. case 5:
  45315. // returning from await.
  45316. case 3:
  45317. // for update
  45318. ++_i;
  45319. // goto for condition
  45320. $async$goto = 2;
  45321. break;
  45322. case 4:
  45323. // after for
  45324. // implicit return
  45325. return P._asyncReturn(null, $async$completer);
  45326. }
  45327. });
  45328. return P._asyncStartSync($async$call$0, $async$completer);
  45329. }
  45330. };
  45331. E._EvaluateVisitor_visitMediaRule_closure1.prototype = {
  45332. call$0: function() {
  45333. var $async$goto = 0,
  45334. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  45335. $async$self = this, t1, t2;
  45336. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  45337. if ($async$errorCode === 1)
  45338. return P._asyncRethrow($async$result, $async$completer);
  45339. while (true)
  45340. switch ($async$goto) {
  45341. case 0:
  45342. // Function start
  45343. t1 = $async$self.$this;
  45344. t2 = $async$self.mergedQueries;
  45345. if (t2 == null)
  45346. t2 = $async$self.queries;
  45347. $async$goto = 2;
  45348. return P._asyncAwait(t1._async_evaluate$_withMediaQueries$1$2(t2, new E._EvaluateVisitor_visitMediaRule__closure0(t1, $async$self.node), P.Null), $async$call$0);
  45349. case 2:
  45350. // returning from await.
  45351. // implicit return
  45352. return P._asyncReturn(null, $async$completer);
  45353. }
  45354. });
  45355. return P._asyncStartSync($async$call$0, $async$completer);
  45356. }
  45357. };
  45358. E._EvaluateVisitor_visitMediaRule__closure0.prototype = {
  45359. call$0: function() {
  45360. var $async$goto = 0,
  45361. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  45362. $async$self = this, t3, _i, t1, t2;
  45363. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  45364. if ($async$errorCode === 1)
  45365. return P._asyncRethrow($async$result, $async$completer);
  45366. while (true)
  45367. switch ($async$goto) {
  45368. case 0:
  45369. // Function start
  45370. t1 = $async$self.$this;
  45371. t2 = t1._async_evaluate$_styleRule;
  45372. $async$goto = !(t2 != null && !t1._async_evaluate$_atRootExcludingStyleRule) ? 2 : 4;
  45373. break;
  45374. case 2:
  45375. // then
  45376. t2 = $async$self.node.children, t3 = t2.length, _i = 0;
  45377. case 5:
  45378. // for condition
  45379. if (!(_i < t3)) {
  45380. // goto after for
  45381. $async$goto = 7;
  45382. break;
  45383. }
  45384. $async$goto = 8;
  45385. return P._asyncAwait(t2[_i].accept$1(t1), $async$call$0);
  45386. case 8:
  45387. // returning from await.
  45388. case 6:
  45389. // for update
  45390. ++_i;
  45391. // goto for condition
  45392. $async$goto = 5;
  45393. break;
  45394. case 7:
  45395. // after for
  45396. // goto join
  45397. $async$goto = 3;
  45398. break;
  45399. case 4:
  45400. // else
  45401. $async$goto = 9;
  45402. return P._asyncAwait(t1._async_evaluate$_withParent$2$3$scopeWhen(X.ModifiableCssStyleRule$(t2.selector, t2.span, t2.originalSelector), new E._EvaluateVisitor_visitMediaRule___closure0(t1, $async$self.node), false, X.ModifiableCssStyleRule, P.Null), $async$call$0);
  45403. case 9:
  45404. // returning from await.
  45405. case 3:
  45406. // join
  45407. // implicit return
  45408. return P._asyncReturn(null, $async$completer);
  45409. }
  45410. });
  45411. return P._asyncStartSync($async$call$0, $async$completer);
  45412. }
  45413. };
  45414. E._EvaluateVisitor_visitMediaRule___closure0.prototype = {
  45415. call$0: function() {
  45416. var $async$goto = 0,
  45417. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  45418. $async$self = this, t1, t2, t3, _i;
  45419. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  45420. if ($async$errorCode === 1)
  45421. return P._asyncRethrow($async$result, $async$completer);
  45422. while (true)
  45423. switch ($async$goto) {
  45424. case 0:
  45425. // Function start
  45426. t1 = $async$self.node.children, t2 = t1.length, t3 = $async$self.$this, _i = 0;
  45427. case 2:
  45428. // for condition
  45429. if (!(_i < t2)) {
  45430. // goto after for
  45431. $async$goto = 4;
  45432. break;
  45433. }
  45434. $async$goto = 5;
  45435. return P._asyncAwait(t1[_i].accept$1(t3), $async$call$0);
  45436. case 5:
  45437. // returning from await.
  45438. case 3:
  45439. // for update
  45440. ++_i;
  45441. // goto for condition
  45442. $async$goto = 2;
  45443. break;
  45444. case 4:
  45445. // after for
  45446. // implicit return
  45447. return P._asyncReturn(null, $async$completer);
  45448. }
  45449. });
  45450. return P._asyncStartSync($async$call$0, $async$completer);
  45451. }
  45452. };
  45453. E._EvaluateVisitor_visitMediaRule_closure2.prototype = {
  45454. call$1: function(node) {
  45455. var t1 = J.getInterceptor$(node);
  45456. if (!t1.$isCssStyleRule)
  45457. t1 = this.mergedQueries != null && !!t1.$isCssMediaRule;
  45458. else
  45459. t1 = true;
  45460. return t1;
  45461. }
  45462. };
  45463. E._EvaluateVisitor__visitMediaQueries_closure0.prototype = {
  45464. call$0: function() {
  45465. var t1 = S.SpanScanner$(this.resolved, null);
  45466. return new F.MediaQueryParser(t1, this.$this._async_evaluate$_logger).parse$0();
  45467. }
  45468. };
  45469. E._EvaluateVisitor_visitStyleRule_closure6.prototype = {
  45470. call$0: function() {
  45471. var t1 = S.SpanScanner$(this.selectorText.get$value(), null);
  45472. return new E.KeyframeSelectorParser(t1, this.$this._async_evaluate$_logger).parse$0();
  45473. }
  45474. };
  45475. E._EvaluateVisitor_visitStyleRule_closure7.prototype = {
  45476. call$0: function() {
  45477. var $async$goto = 0,
  45478. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  45479. $async$self = this, t1, t2, t3, _i;
  45480. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  45481. if ($async$errorCode === 1)
  45482. return P._asyncRethrow($async$result, $async$completer);
  45483. while (true)
  45484. switch ($async$goto) {
  45485. case 0:
  45486. // Function start
  45487. t1 = $async$self.node.children, t2 = t1.length, t3 = $async$self.$this, _i = 0;
  45488. case 2:
  45489. // for condition
  45490. if (!(_i < t2)) {
  45491. // goto after for
  45492. $async$goto = 4;
  45493. break;
  45494. }
  45495. $async$goto = 5;
  45496. return P._asyncAwait(t1[_i].accept$1(t3), $async$call$0);
  45497. case 5:
  45498. // returning from await.
  45499. case 3:
  45500. // for update
  45501. ++_i;
  45502. // goto for condition
  45503. $async$goto = 2;
  45504. break;
  45505. case 4:
  45506. // after for
  45507. // implicit return
  45508. return P._asyncReturn(null, $async$completer);
  45509. }
  45510. });
  45511. return P._asyncStartSync($async$call$0, $async$completer);
  45512. }
  45513. };
  45514. E._EvaluateVisitor_visitStyleRule_closure8.prototype = {
  45515. call$1: function(node) {
  45516. return !!J.getInterceptor$(node).$isCssStyleRule;
  45517. }
  45518. };
  45519. E._EvaluateVisitor_visitStyleRule_closure9.prototype = {
  45520. call$0: function() {
  45521. var t1 = this.selectorText.get$value(),
  45522. t2 = this.$this,
  45523. t3 = !t2._async_evaluate$_stylesheet.plainCss;
  45524. return D.SelectorList_SelectorList$parse(t1, t3, t3, t2._async_evaluate$_logger);
  45525. }
  45526. };
  45527. E._EvaluateVisitor_visitStyleRule_closure10.prototype = {
  45528. call$0: function() {
  45529. var t1 = this._box_0.parsedSelector,
  45530. t2 = this.$this,
  45531. t3 = t2._async_evaluate$_styleRule;
  45532. t3 = t3 == null ? null : t3.originalSelector;
  45533. return t1.resolveParentSelectors$2$implicitParent(t3, !t2._async_evaluate$_atRootExcludingStyleRule);
  45534. }
  45535. };
  45536. E._EvaluateVisitor_visitStyleRule_closure11.prototype = {
  45537. call$0: function() {
  45538. var $async$goto = 0,
  45539. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  45540. $async$self = this, t1;
  45541. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  45542. if ($async$errorCode === 1)
  45543. return P._asyncRethrow($async$result, $async$completer);
  45544. while (true)
  45545. switch ($async$goto) {
  45546. case 0:
  45547. // Function start
  45548. t1 = $async$self.$this;
  45549. $async$goto = 2;
  45550. return P._asyncAwait(t1._async_evaluate$_withStyleRule$1$2($async$self.rule, new E._EvaluateVisitor_visitStyleRule__closure0(t1, $async$self.node), P.Null), $async$call$0);
  45551. case 2:
  45552. // returning from await.
  45553. // implicit return
  45554. return P._asyncReturn(null, $async$completer);
  45555. }
  45556. });
  45557. return P._asyncStartSync($async$call$0, $async$completer);
  45558. }
  45559. };
  45560. E._EvaluateVisitor_visitStyleRule__closure0.prototype = {
  45561. call$0: function() {
  45562. var $async$goto = 0,
  45563. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  45564. $async$self = this, t1, t2, t3, _i;
  45565. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  45566. if ($async$errorCode === 1)
  45567. return P._asyncRethrow($async$result, $async$completer);
  45568. while (true)
  45569. switch ($async$goto) {
  45570. case 0:
  45571. // Function start
  45572. t1 = $async$self.node.children, t2 = t1.length, t3 = $async$self.$this, _i = 0;
  45573. case 2:
  45574. // for condition
  45575. if (!(_i < t2)) {
  45576. // goto after for
  45577. $async$goto = 4;
  45578. break;
  45579. }
  45580. $async$goto = 5;
  45581. return P._asyncAwait(t1[_i].accept$1(t3), $async$call$0);
  45582. case 5:
  45583. // returning from await.
  45584. case 3:
  45585. // for update
  45586. ++_i;
  45587. // goto for condition
  45588. $async$goto = 2;
  45589. break;
  45590. case 4:
  45591. // after for
  45592. // implicit return
  45593. return P._asyncReturn(null, $async$completer);
  45594. }
  45595. });
  45596. return P._asyncStartSync($async$call$0, $async$completer);
  45597. }
  45598. };
  45599. E._EvaluateVisitor_visitStyleRule_closure12.prototype = {
  45600. call$1: function(node) {
  45601. return !!J.getInterceptor$(node).$isCssStyleRule;
  45602. }
  45603. };
  45604. E._EvaluateVisitor_visitSupportsRule_closure1.prototype = {
  45605. call$0: function() {
  45606. var $async$goto = 0,
  45607. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  45608. $async$self = this, t3, _i, t1, t2;
  45609. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  45610. if ($async$errorCode === 1)
  45611. return P._asyncRethrow($async$result, $async$completer);
  45612. while (true)
  45613. switch ($async$goto) {
  45614. case 0:
  45615. // Function start
  45616. t1 = $async$self.$this;
  45617. t2 = t1._async_evaluate$_styleRule;
  45618. $async$goto = !(t2 != null && !t1._async_evaluate$_atRootExcludingStyleRule) ? 2 : 4;
  45619. break;
  45620. case 2:
  45621. // then
  45622. t2 = $async$self.node.children, t3 = t2.length, _i = 0;
  45623. case 5:
  45624. // for condition
  45625. if (!(_i < t3)) {
  45626. // goto after for
  45627. $async$goto = 7;
  45628. break;
  45629. }
  45630. $async$goto = 8;
  45631. return P._asyncAwait(t2[_i].accept$1(t1), $async$call$0);
  45632. case 8:
  45633. // returning from await.
  45634. case 6:
  45635. // for update
  45636. ++_i;
  45637. // goto for condition
  45638. $async$goto = 5;
  45639. break;
  45640. case 7:
  45641. // after for
  45642. // goto join
  45643. $async$goto = 3;
  45644. break;
  45645. case 4:
  45646. // else
  45647. $async$goto = 9;
  45648. return P._asyncAwait(t1._async_evaluate$_withParent$2$2(X.ModifiableCssStyleRule$(t2.selector, t2.span, t2.originalSelector), new E._EvaluateVisitor_visitSupportsRule__closure0(t1, $async$self.node), X.ModifiableCssStyleRule, P.Null), $async$call$0);
  45649. case 9:
  45650. // returning from await.
  45651. case 3:
  45652. // join
  45653. // implicit return
  45654. return P._asyncReturn(null, $async$completer);
  45655. }
  45656. });
  45657. return P._asyncStartSync($async$call$0, $async$completer);
  45658. }
  45659. };
  45660. E._EvaluateVisitor_visitSupportsRule__closure0.prototype = {
  45661. call$0: function() {
  45662. var $async$goto = 0,
  45663. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  45664. $async$self = this, t1, t2, t3, _i;
  45665. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  45666. if ($async$errorCode === 1)
  45667. return P._asyncRethrow($async$result, $async$completer);
  45668. while (true)
  45669. switch ($async$goto) {
  45670. case 0:
  45671. // Function start
  45672. t1 = $async$self.node.children, t2 = t1.length, t3 = $async$self.$this, _i = 0;
  45673. case 2:
  45674. // for condition
  45675. if (!(_i < t2)) {
  45676. // goto after for
  45677. $async$goto = 4;
  45678. break;
  45679. }
  45680. $async$goto = 5;
  45681. return P._asyncAwait(t1[_i].accept$1(t3), $async$call$0);
  45682. case 5:
  45683. // returning from await.
  45684. case 3:
  45685. // for update
  45686. ++_i;
  45687. // goto for condition
  45688. $async$goto = 2;
  45689. break;
  45690. case 4:
  45691. // after for
  45692. // implicit return
  45693. return P._asyncReturn(null, $async$completer);
  45694. }
  45695. });
  45696. return P._asyncStartSync($async$call$0, $async$completer);
  45697. }
  45698. };
  45699. E._EvaluateVisitor_visitSupportsRule_closure2.prototype = {
  45700. call$1: function(node) {
  45701. return !!J.getInterceptor$(node).$isCssStyleRule;
  45702. }
  45703. };
  45704. E._EvaluateVisitor_visitVariableDeclaration_closure1.prototype = {
  45705. call$0: function() {
  45706. var t1 = this.node;
  45707. return this.$this._async_evaluate$_environment.getVariable$2$namespace(t1.name, t1.namespace);
  45708. }
  45709. };
  45710. E._EvaluateVisitor_visitVariableDeclaration_closure2.prototype = {
  45711. call$0: function() {
  45712. var t1 = this.$this,
  45713. t2 = this.node;
  45714. t1._async_evaluate$_environment.setVariable$5$global$namespace(t2.name, this.value, t1._async_evaluate$_expressionNode$1(t2.expression), t2.isGlobal, t2.namespace);
  45715. }
  45716. };
  45717. E._EvaluateVisitor_visitUseRule_closure0.prototype = {
  45718. call$1: function(module) {
  45719. this.$this._async_evaluate$_environment.addModule$2$namespace(module, this.node.namespace);
  45720. }
  45721. };
  45722. E._EvaluateVisitor_visitWarnRule_closure0.prototype = {
  45723. call$0: function() {
  45724. return this.node.expression.accept$1(this.$this);
  45725. }
  45726. };
  45727. E._EvaluateVisitor_visitWhileRule_closure0.prototype = {
  45728. call$0: function() {
  45729. var $async$goto = 0,
  45730. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  45731. $async$returnValue, $async$self = this, t1, t2, t3, result;
  45732. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  45733. if ($async$errorCode === 1)
  45734. return P._asyncRethrow($async$result, $async$completer);
  45735. while (true)
  45736. switch ($async$goto) {
  45737. case 0:
  45738. // Function start
  45739. t1 = $async$self.node, t2 = t1.condition, t3 = $async$self.$this, t1 = t1.children;
  45740. case 3:
  45741. // for condition
  45742. $async$goto = 5;
  45743. return P._asyncAwait(t2.accept$1(t3), $async$call$0);
  45744. case 5:
  45745. // returning from await.
  45746. if (!$async$result.get$isTruthy()) {
  45747. // goto after for
  45748. $async$goto = 4;
  45749. break;
  45750. }
  45751. $async$goto = 6;
  45752. return P._asyncAwait(t3._async_evaluate$_handleReturn$2(t1, new E._EvaluateVisitor_visitWhileRule__closure0(t3)), $async$call$0);
  45753. case 6:
  45754. // returning from await.
  45755. result = $async$result;
  45756. if (result != null) {
  45757. $async$returnValue = result;
  45758. // goto return
  45759. $async$goto = 1;
  45760. break;
  45761. }
  45762. // goto for condition
  45763. $async$goto = 3;
  45764. break;
  45765. case 4:
  45766. // after for
  45767. // goto return
  45768. $async$goto = 1;
  45769. break;
  45770. case 1:
  45771. // return
  45772. return P._asyncReturn($async$returnValue, $async$completer);
  45773. }
  45774. });
  45775. return P._asyncStartSync($async$call$0, $async$completer);
  45776. }
  45777. };
  45778. E._EvaluateVisitor_visitWhileRule__closure0.prototype = {
  45779. call$1: function(child) {
  45780. return child.accept$1(this.$this);
  45781. }
  45782. };
  45783. E._EvaluateVisitor_visitBinaryOperationExpression_closure0.prototype = {
  45784. call$0: function() {
  45785. var $async$goto = 0,
  45786. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  45787. $async$returnValue, $async$self = this, right, result, t1, t2, left, $async$temp1, $async$temp2;
  45788. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  45789. if ($async$errorCode === 1)
  45790. return P._asyncRethrow($async$result, $async$completer);
  45791. while (true)
  45792. switch ($async$goto) {
  45793. case 0:
  45794. // Function start
  45795. t1 = $async$self.node;
  45796. t2 = $async$self.$this;
  45797. $async$goto = 3;
  45798. return P._asyncAwait(t1.left.accept$1(t2), $async$call$0);
  45799. case 3:
  45800. // returning from await.
  45801. left = $async$result;
  45802. case 4:
  45803. // switch
  45804. switch (t1.operator) {
  45805. case C.BinaryOperator_kjl:
  45806. // goto case
  45807. $async$goto = 6;
  45808. break;
  45809. case C.BinaryOperator_or_or_1:
  45810. // goto case
  45811. $async$goto = 7;
  45812. break;
  45813. case C.BinaryOperator_and_and_2:
  45814. // goto case
  45815. $async$goto = 8;
  45816. break;
  45817. case C.BinaryOperator_YlX:
  45818. // goto case
  45819. $async$goto = 9;
  45820. break;
  45821. case C.BinaryOperator_i5H:
  45822. // goto case
  45823. $async$goto = 10;
  45824. break;
  45825. case C.BinaryOperator_AcR:
  45826. // goto case
  45827. $async$goto = 11;
  45828. break;
  45829. case C.BinaryOperator_1da:
  45830. // goto case
  45831. $async$goto = 12;
  45832. break;
  45833. case C.BinaryOperator_8qt:
  45834. // goto case
  45835. $async$goto = 13;
  45836. break;
  45837. case C.BinaryOperator_33h:
  45838. // goto case
  45839. $async$goto = 14;
  45840. break;
  45841. case C.BinaryOperator_AcR0:
  45842. // goto case
  45843. $async$goto = 15;
  45844. break;
  45845. case C.BinaryOperator_iyO:
  45846. // goto case
  45847. $async$goto = 16;
  45848. break;
  45849. case C.BinaryOperator_O1M:
  45850. // goto case
  45851. $async$goto = 17;
  45852. break;
  45853. case C.BinaryOperator_RTB:
  45854. // goto case
  45855. $async$goto = 18;
  45856. break;
  45857. case C.BinaryOperator_2ad:
  45858. // goto case
  45859. $async$goto = 19;
  45860. break;
  45861. default:
  45862. // goto default
  45863. $async$goto = 20;
  45864. break;
  45865. }
  45866. break;
  45867. case 6:
  45868. // case
  45869. $async$goto = 21;
  45870. return P._asyncAwait(t1.right.accept$1(t2), $async$call$0);
  45871. case 21:
  45872. // returning from await.
  45873. right = $async$result;
  45874. left.toString;
  45875. t1 = N.serializeValue(left, false, true) + "=";
  45876. right.toString;
  45877. $async$returnValue = new D.SassString(t1 + N.serializeValue(right, false, true), false);
  45878. // goto return
  45879. $async$goto = 1;
  45880. break;
  45881. case 7:
  45882. // case
  45883. $async$goto = left.get$isTruthy() ? 22 : 24;
  45884. break;
  45885. case 22:
  45886. // then
  45887. $async$result = left;
  45888. // goto join
  45889. $async$goto = 23;
  45890. break;
  45891. case 24:
  45892. // else
  45893. $async$goto = 25;
  45894. return P._asyncAwait(t1.right.accept$1(t2), $async$call$0);
  45895. case 25:
  45896. // returning from await.
  45897. case 23:
  45898. // join
  45899. $async$returnValue = $async$result;
  45900. // goto return
  45901. $async$goto = 1;
  45902. break;
  45903. case 8:
  45904. // case
  45905. $async$goto = left.get$isTruthy() ? 26 : 28;
  45906. break;
  45907. case 26:
  45908. // then
  45909. $async$goto = 29;
  45910. return P._asyncAwait(t1.right.accept$1(t2), $async$call$0);
  45911. case 29:
  45912. // returning from await.
  45913. // goto join
  45914. $async$goto = 27;
  45915. break;
  45916. case 28:
  45917. // else
  45918. $async$result = left;
  45919. case 27:
  45920. // join
  45921. $async$returnValue = $async$result;
  45922. // goto return
  45923. $async$goto = 1;
  45924. break;
  45925. case 9:
  45926. // case
  45927. $async$temp1 = J;
  45928. $async$temp2 = left;
  45929. $async$goto = 30;
  45930. return P._asyncAwait(t1.right.accept$1(t2), $async$call$0);
  45931. case 30:
  45932. // returning from await.
  45933. $async$returnValue = $async$temp1.$eq$($async$temp2, $async$result) ? C.SassBoolean_true : C.SassBoolean_false;
  45934. // goto return
  45935. $async$goto = 1;
  45936. break;
  45937. case 10:
  45938. // case
  45939. $async$temp1 = J;
  45940. $async$temp2 = left;
  45941. $async$goto = 31;
  45942. return P._asyncAwait(t1.right.accept$1(t2), $async$call$0);
  45943. case 31:
  45944. // returning from await.
  45945. $async$returnValue = !$async$temp1.$eq$($async$temp2, $async$result) ? C.SassBoolean_true : C.SassBoolean_false;
  45946. // goto return
  45947. $async$goto = 1;
  45948. break;
  45949. case 11:
  45950. // case
  45951. $async$temp1 = left;
  45952. $async$goto = 32;
  45953. return P._asyncAwait(t1.right.accept$1(t2), $async$call$0);
  45954. case 32:
  45955. // returning from await.
  45956. $async$returnValue = $async$temp1.greaterThan$1($async$result);
  45957. // goto return
  45958. $async$goto = 1;
  45959. break;
  45960. case 12:
  45961. // case
  45962. $async$temp1 = left;
  45963. $async$goto = 33;
  45964. return P._asyncAwait(t1.right.accept$1(t2), $async$call$0);
  45965. case 33:
  45966. // returning from await.
  45967. $async$returnValue = $async$temp1.greaterThanOrEquals$1($async$result);
  45968. // goto return
  45969. $async$goto = 1;
  45970. break;
  45971. case 13:
  45972. // case
  45973. $async$temp1 = left;
  45974. $async$goto = 34;
  45975. return P._asyncAwait(t1.right.accept$1(t2), $async$call$0);
  45976. case 34:
  45977. // returning from await.
  45978. $async$returnValue = $async$temp1.lessThan$1($async$result);
  45979. // goto return
  45980. $async$goto = 1;
  45981. break;
  45982. case 14:
  45983. // case
  45984. $async$temp1 = left;
  45985. $async$goto = 35;
  45986. return P._asyncAwait(t1.right.accept$1(t2), $async$call$0);
  45987. case 35:
  45988. // returning from await.
  45989. $async$returnValue = $async$temp1.lessThanOrEquals$1($async$result);
  45990. // goto return
  45991. $async$goto = 1;
  45992. break;
  45993. case 15:
  45994. // case
  45995. $async$temp1 = left;
  45996. $async$goto = 36;
  45997. return P._asyncAwait(t1.right.accept$1(t2), $async$call$0);
  45998. case 36:
  45999. // returning from await.
  46000. $async$returnValue = $async$temp1.plus$1($async$result);
  46001. // goto return
  46002. $async$goto = 1;
  46003. break;
  46004. case 16:
  46005. // case
  46006. $async$temp1 = left;
  46007. $async$goto = 37;
  46008. return P._asyncAwait(t1.right.accept$1(t2), $async$call$0);
  46009. case 37:
  46010. // returning from await.
  46011. $async$returnValue = $async$temp1.minus$1($async$result);
  46012. // goto return
  46013. $async$goto = 1;
  46014. break;
  46015. case 17:
  46016. // case
  46017. $async$temp1 = left;
  46018. $async$goto = 38;
  46019. return P._asyncAwait(t1.right.accept$1(t2), $async$call$0);
  46020. case 38:
  46021. // returning from await.
  46022. $async$returnValue = $async$temp1.times$1($async$result);
  46023. // goto return
  46024. $async$goto = 1;
  46025. break;
  46026. case 18:
  46027. // case
  46028. $async$goto = 39;
  46029. return P._asyncAwait(t1.right.accept$1(t2), $async$call$0);
  46030. case 39:
  46031. // returning from await.
  46032. right = $async$result;
  46033. result = left.dividedBy$1(right);
  46034. if (t1.allowsSlash && !!left.$isSassNumber && right instanceof T.SassNumber) {
  46035. $async$returnValue = H.interceptedTypeCast(result, "$isSassNumber").withSlash$2(left, right);
  46036. // goto return
  46037. $async$goto = 1;
  46038. break;
  46039. } else {
  46040. $async$returnValue = result;
  46041. // goto return
  46042. $async$goto = 1;
  46043. break;
  46044. }
  46045. case 19:
  46046. // case
  46047. $async$temp1 = left;
  46048. $async$goto = 40;
  46049. return P._asyncAwait(t1.right.accept$1(t2), $async$call$0);
  46050. case 40:
  46051. // returning from await.
  46052. $async$returnValue = $async$temp1.modulo$1($async$result);
  46053. // goto return
  46054. $async$goto = 1;
  46055. break;
  46056. case 20:
  46057. // default
  46058. // goto return
  46059. $async$goto = 1;
  46060. break;
  46061. case 5:
  46062. // after switch
  46063. case 1:
  46064. // return
  46065. return P._asyncReturn($async$returnValue, $async$completer);
  46066. }
  46067. });
  46068. return P._asyncStartSync($async$call$0, $async$completer);
  46069. }
  46070. };
  46071. E._EvaluateVisitor_visitVariableExpression_closure0.prototype = {
  46072. call$0: function() {
  46073. var t1 = this.node;
  46074. return this.$this._async_evaluate$_environment.getVariable$2$namespace(t1.name, t1.namespace);
  46075. }
  46076. };
  46077. E._EvaluateVisitor_visitListExpression_closure0.prototype = {
  46078. call$1: function(expression) {
  46079. return expression.accept$1(this.$this);
  46080. }
  46081. };
  46082. E._EvaluateVisitor_visitFunctionExpression_closure0.prototype = {
  46083. call$0: function() {
  46084. var t1 = this.node.namespace,
  46085. t2 = this.plainName;
  46086. if (t1 == null)
  46087. t2 = H.stringReplaceAllUnchecked(t2, "_", "-");
  46088. return this.$this._async_evaluate$_getFunction$2$namespace(t2, t1);
  46089. }
  46090. };
  46091. E._EvaluateVisitor__runUserDefinedCallable_closure0.prototype = {
  46092. call$0: function() {
  46093. var _this = this,
  46094. t1 = _this.$this,
  46095. t2 = _this.callable;
  46096. return t1._async_evaluate$_withEnvironment$1$2(t2.environment.closure$0(), new E._EvaluateVisitor__runUserDefinedCallable__closure0(t1, _this.evaluated, t2, _this.nodeWithSpan, _this.run), F.Value);
  46097. }
  46098. };
  46099. E._EvaluateVisitor__runUserDefinedCallable__closure0.prototype = {
  46100. call$0: function() {
  46101. var _this = this,
  46102. t1 = _this.$this;
  46103. return t1._async_evaluate$_environment.scope$1$1(new E._EvaluateVisitor__runUserDefinedCallable___closure0(t1, _this.evaluated, _this.callable, _this.nodeWithSpan, _this.run), F.Value);
  46104. }
  46105. };
  46106. E._EvaluateVisitor__runUserDefinedCallable___closure0.prototype = {
  46107. call$0: function() {
  46108. var $async$goto = 0,
  46109. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  46110. $async$returnValue, $async$self = this, declaredArguments, minLength, t8, i, t9, t10, t11, argument, value, t12, rest, argumentList, result, argumentWord, argumentNames, t1, t2, t3, t4, t5, t6, t7;
  46111. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  46112. if ($async$errorCode === 1)
  46113. return P._asyncRethrow($async$result, $async$completer);
  46114. while (true)
  46115. switch ($async$goto) {
  46116. case 0:
  46117. // Function start
  46118. t1 = $async$self.$this;
  46119. t2 = $async$self.evaluated;
  46120. t3 = t2.positional;
  46121. t4 = t3.length;
  46122. t5 = t2.named;
  46123. t6 = $async$self.callable.declaration.$arguments;
  46124. t7 = $async$self.nodeWithSpan;
  46125. t1._async_evaluate$_verifyArguments$4(t4, t5, t6, t7);
  46126. declaredArguments = t6.$arguments;
  46127. t4 = declaredArguments.length;
  46128. minLength = Math.min(t3.length, t4);
  46129. for (t8 = t1._async_evaluate$_sourceMap, i = 0; i < minLength; ++i) {
  46130. t9 = t1._async_evaluate$_environment;
  46131. t10 = declaredArguments[i].name;
  46132. t11 = t3[i].withoutSlash$0();
  46133. t9.setLocalVariable$3(t10, t11, t8 ? t2.positionalNodes[i] : null);
  46134. }
  46135. i = t3.length;
  46136. case 3:
  46137. // for condition
  46138. if (!(i < t4)) {
  46139. // goto after for
  46140. $async$goto = 5;
  46141. break;
  46142. }
  46143. argument = declaredArguments[i];
  46144. t9 = argument.name;
  46145. value = t5.remove$1(0, t9);
  46146. $async$goto = value == null ? 6 : 7;
  46147. break;
  46148. case 6:
  46149. // then
  46150. $async$goto = 8;
  46151. return P._asyncAwait(argument.defaultValue.accept$1(t1), $async$call$0);
  46152. case 8:
  46153. // returning from await.
  46154. value = $async$result;
  46155. case 7:
  46156. // join
  46157. t10 = t1._async_evaluate$_environment;
  46158. t11 = value.withoutSlash$0();
  46159. if (t8) {
  46160. t12 = t2.namedNodes.$index(0, t9);
  46161. if (t12 == null)
  46162. t12 = t1._async_evaluate$_expressionNode$1(argument.defaultValue);
  46163. } else
  46164. t12 = null;
  46165. t10.setLocalVariable$3(t9, t11, t12);
  46166. case 4:
  46167. // for update
  46168. ++i;
  46169. // goto for condition
  46170. $async$goto = 3;
  46171. break;
  46172. case 5:
  46173. // after for
  46174. t6 = t6.restArgument;
  46175. if (t6 != null) {
  46176. rest = t3.length > t4 ? C.JSArray_methods.sublist$1(t3, t4) : C.List_empty1;
  46177. t2 = t2.separator;
  46178. if (t2 === C.ListSeparator_undecided)
  46179. t2 = C.ListSeparator_comma;
  46180. t3 = F.Value;
  46181. argumentList = new D.SassArgumentList(H.ConstantMap_ConstantMap$from(t5, P.String, t3), P.List_List$unmodifiable(rest, t3), t2, false);
  46182. argumentList.SassList$3$brackets(rest, t2, false);
  46183. t1._async_evaluate$_environment.setLocalVariable$3(t6, argumentList, t7);
  46184. } else
  46185. argumentList = null;
  46186. $async$goto = 9;
  46187. return P._asyncAwait($async$self.run.call$0(), $async$call$0);
  46188. case 9:
  46189. // returning from await.
  46190. result = $async$result;
  46191. if (argumentList == null) {
  46192. $async$returnValue = result;
  46193. // goto return
  46194. $async$goto = 1;
  46195. break;
  46196. }
  46197. if (t5.get$isEmpty(t5)) {
  46198. $async$returnValue = result;
  46199. // goto return
  46200. $async$goto = 1;
  46201. break;
  46202. }
  46203. if (argumentList._wereKeywordsAccessed) {
  46204. $async$returnValue = result;
  46205. // goto return
  46206. $async$goto = 1;
  46207. break;
  46208. }
  46209. argumentWord = B.pluralize("argument", J.get$length$asx(t5.get$keys()), null);
  46210. argumentNames = B.toSentence(J.map$1$1$ax(t5.get$keys(), new E._EvaluateVisitor__runUserDefinedCallable____closure0(), P.Object), "or");
  46211. throw H.wrapException(t1._async_evaluate$_exception$2("No " + argumentWord + " named " + H.S(argumentNames) + ".", t7.get$span()));
  46212. case 1:
  46213. // return
  46214. return P._asyncReturn($async$returnValue, $async$completer);
  46215. }
  46216. });
  46217. return P._asyncStartSync($async$call$0, $async$completer);
  46218. }
  46219. };
  46220. E._EvaluateVisitor__runUserDefinedCallable____closure0.prototype = {
  46221. call$1: function($name) {
  46222. return "$" + H.S($name);
  46223. }
  46224. };
  46225. E._EvaluateVisitor__runFunctionCallable_closure0.prototype = {
  46226. call$0: function() {
  46227. var $async$goto = 0,
  46228. $async$completer = P._makeAsyncAwaitCompleter(F.Value),
  46229. $async$returnValue, $async$self = this, t1, t2, t3, t4, _i, $returnValue;
  46230. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  46231. if ($async$errorCode === 1)
  46232. return P._asyncRethrow($async$result, $async$completer);
  46233. while (true)
  46234. switch ($async$goto) {
  46235. case 0:
  46236. // Function start
  46237. t1 = $async$self.callable.declaration, t2 = t1.children, t3 = t2.length, t4 = $async$self.$this, _i = 0;
  46238. case 3:
  46239. // for condition
  46240. if (!(_i < t3)) {
  46241. // goto after for
  46242. $async$goto = 5;
  46243. break;
  46244. }
  46245. $async$goto = 6;
  46246. return P._asyncAwait(t2[_i].accept$1(t4), $async$call$0);
  46247. case 6:
  46248. // returning from await.
  46249. $returnValue = $async$result;
  46250. if ($returnValue instanceof F.Value) {
  46251. $async$returnValue = $returnValue;
  46252. // goto return
  46253. $async$goto = 1;
  46254. break;
  46255. }
  46256. case 4:
  46257. // for update
  46258. ++_i;
  46259. // goto for condition
  46260. $async$goto = 3;
  46261. break;
  46262. case 5:
  46263. // after for
  46264. throw H.wrapException(t4._async_evaluate$_exception$2("Function finished without @return.", t1.span));
  46265. case 1:
  46266. // return
  46267. return P._asyncReturn($async$returnValue, $async$completer);
  46268. }
  46269. });
  46270. return P._asyncStartSync($async$call$0, $async$completer);
  46271. }
  46272. };
  46273. E._EvaluateVisitor__runBuiltInCallable_closure1.prototype = {
  46274. call$0: function() {
  46275. return this.overload.verify$2(this.evaluated.positional.length, this.namedSet);
  46276. }
  46277. };
  46278. E._EvaluateVisitor__runBuiltInCallable_closure2.prototype = {
  46279. call$1: function($name) {
  46280. return "$" + H.S($name);
  46281. }
  46282. };
  46283. E._EvaluateVisitor__evaluateArguments_closure6.prototype = {
  46284. call$2: function(_, expression) {
  46285. return expression.accept$1(this.$this);
  46286. }
  46287. };
  46288. E._EvaluateVisitor__evaluateArguments_closure7.prototype = {
  46289. call$2: function(_, expression) {
  46290. return this.$this._async_evaluate$_expressionNode$1(expression);
  46291. }
  46292. };
  46293. E._EvaluateVisitor__evaluateArguments_closure8.prototype = {
  46294. call$2: function(key, _) {
  46295. return H.interceptedTypeCast(key, "$isSassString").text;
  46296. },
  46297. $signature: 15
  46298. };
  46299. E._EvaluateVisitor__evaluateArguments_closure9.prototype = {
  46300. call$2: function(_, __) {
  46301. return this.restNodeForSpan;
  46302. },
  46303. $signature: 22
  46304. };
  46305. E._EvaluateVisitor__evaluateArguments_closure10.prototype = {
  46306. call$2: function(key, value) {
  46307. var t1;
  46308. this.named.$indexSet(0, key, value);
  46309. t1 = this.namedNodes;
  46310. if (t1 != null)
  46311. t1.$indexSet(0, key, this.restNodeForSpan);
  46312. }
  46313. };
  46314. E._EvaluateVisitor__evaluateArguments_closure11.prototype = {
  46315. call$2: function(key, _) {
  46316. return H.interceptedTypeCast(key, "$isSassString").text;
  46317. },
  46318. $signature: 15
  46319. };
  46320. E._EvaluateVisitor__evaluateArguments_closure12.prototype = {
  46321. call$2: function(_, __) {
  46322. return this.keywordRestNodeForSpan;
  46323. },
  46324. $signature: 22
  46325. };
  46326. E._EvaluateVisitor__evaluateMacroArguments_closure3.prototype = {
  46327. call$1: function(value) {
  46328. return new F.ValueExpression(value, null);
  46329. }
  46330. };
  46331. E._EvaluateVisitor__evaluateMacroArguments_closure4.prototype = {
  46332. call$1: function(value) {
  46333. return new F.ValueExpression(value, null);
  46334. }
  46335. };
  46336. E._EvaluateVisitor__evaluateMacroArguments_closure5.prototype = {
  46337. call$2: function(key, value) {
  46338. this.named.$indexSet(0, key, new F.ValueExpression(value, null));
  46339. }
  46340. };
  46341. E._EvaluateVisitor__evaluateMacroArguments_closure6.prototype = {
  46342. call$1: function(value) {
  46343. return new F.ValueExpression(value, null);
  46344. }
  46345. };
  46346. E._EvaluateVisitor__addRestMap_closure1.prototype = {
  46347. call$1: function(value) {
  46348. return H.subtypeOfRuntimeTypeCast(value, this.T);
  46349. }
  46350. };
  46351. E._EvaluateVisitor__addRestMap_closure2.prototype = {
  46352. call$2: function(key, value) {
  46353. var _this = this;
  46354. if (key instanceof D.SassString)
  46355. _this.values.$indexSet(0, key.text, _this._box_0.convert.call$1(value));
  46356. else
  46357. throw H.wrapException(_this.$this._async_evaluate$_exception$2("Variable keyword argument map must have string keys.\n" + H.S(key) + " is not a string in " + _this.map.toString$0(0) + ".", _this.nodeForSpan.get$span()));
  46358. }
  46359. };
  46360. E._EvaluateVisitor__verifyArguments_closure0.prototype = {
  46361. call$0: function() {
  46362. return this.$arguments.verify$2(this.positional, new M.MapKeySet(this.named, [P.String]));
  46363. }
  46364. };
  46365. E._EvaluateVisitor_visitStringExpression_closure0.prototype = {
  46366. call$1: function(value) {
  46367. var $async$goto = 0,
  46368. $async$completer = P._makeAsyncAwaitCompleter(P.String),
  46369. $async$returnValue, $async$self = this, t1, result;
  46370. var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  46371. if ($async$errorCode === 1)
  46372. return P._asyncRethrow($async$result, $async$completer);
  46373. while (true)
  46374. switch ($async$goto) {
  46375. case 0:
  46376. // Function start
  46377. if (typeof value === "string") {
  46378. $async$returnValue = value;
  46379. // goto return
  46380. $async$goto = 1;
  46381. break;
  46382. }
  46383. H.interceptedTypeCast(value, "$isExpression");
  46384. t1 = $async$self.$this;
  46385. $async$goto = 3;
  46386. return P._asyncAwait(value.accept$1(t1), $async$call$1);
  46387. case 3:
  46388. // returning from await.
  46389. result = $async$result;
  46390. $async$returnValue = result instanceof D.SassString ? result.text : t1._async_evaluate$_serialize$3$quote(result, value, false);
  46391. // goto return
  46392. $async$goto = 1;
  46393. break;
  46394. case 1:
  46395. // return
  46396. return P._asyncReturn($async$returnValue, $async$completer);
  46397. }
  46398. });
  46399. return P._asyncStartSync($async$call$1, $async$completer);
  46400. },
  46401. $signature: 35
  46402. };
  46403. E._EvaluateVisitor_visitCssAtRule_closure1.prototype = {
  46404. call$0: function() {
  46405. var $async$goto = 0,
  46406. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  46407. $async$self = this, t1, t2;
  46408. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  46409. if ($async$errorCode === 1)
  46410. return P._asyncRethrow($async$result, $async$completer);
  46411. while (true)
  46412. switch ($async$goto) {
  46413. case 0:
  46414. // Function start
  46415. t1 = $async$self.node.children, t1 = new H.ListIterator(t1, t1.get$length(t1)), t2 = $async$self.$this;
  46416. case 2:
  46417. // for condition
  46418. if (!t1.moveNext$0()) {
  46419. // goto after for
  46420. $async$goto = 3;
  46421. break;
  46422. }
  46423. $async$goto = 4;
  46424. return P._asyncAwait(t1.__internal$_current.accept$1(t2), $async$call$0);
  46425. case 4:
  46426. // returning from await.
  46427. // goto for condition
  46428. $async$goto = 2;
  46429. break;
  46430. case 3:
  46431. // after for
  46432. // implicit return
  46433. return P._asyncReturn(null, $async$completer);
  46434. }
  46435. });
  46436. return P._asyncStartSync($async$call$0, $async$completer);
  46437. }
  46438. };
  46439. E._EvaluateVisitor_visitCssAtRule_closure2.prototype = {
  46440. call$1: function(node) {
  46441. return !!J.getInterceptor$(node).$isCssStyleRule;
  46442. }
  46443. };
  46444. E._EvaluateVisitor_visitCssKeyframeBlock_closure1.prototype = {
  46445. call$0: function() {
  46446. var $async$goto = 0,
  46447. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  46448. $async$self = this, t1, t2;
  46449. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  46450. if ($async$errorCode === 1)
  46451. return P._asyncRethrow($async$result, $async$completer);
  46452. while (true)
  46453. switch ($async$goto) {
  46454. case 0:
  46455. // Function start
  46456. t1 = $async$self.node.children, t1 = new H.ListIterator(t1, t1.get$length(t1)), t2 = $async$self.$this;
  46457. case 2:
  46458. // for condition
  46459. if (!t1.moveNext$0()) {
  46460. // goto after for
  46461. $async$goto = 3;
  46462. break;
  46463. }
  46464. $async$goto = 4;
  46465. return P._asyncAwait(t1.__internal$_current.accept$1(t2), $async$call$0);
  46466. case 4:
  46467. // returning from await.
  46468. // goto for condition
  46469. $async$goto = 2;
  46470. break;
  46471. case 3:
  46472. // after for
  46473. // implicit return
  46474. return P._asyncReturn(null, $async$completer);
  46475. }
  46476. });
  46477. return P._asyncStartSync($async$call$0, $async$completer);
  46478. }
  46479. };
  46480. E._EvaluateVisitor_visitCssKeyframeBlock_closure2.prototype = {
  46481. call$1: function(node) {
  46482. return !!J.getInterceptor$(node).$isCssStyleRule;
  46483. }
  46484. };
  46485. E._EvaluateVisitor_visitCssMediaRule_closure1.prototype = {
  46486. call$0: function() {
  46487. var $async$goto = 0,
  46488. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  46489. $async$self = this, t1, t2;
  46490. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  46491. if ($async$errorCode === 1)
  46492. return P._asyncRethrow($async$result, $async$completer);
  46493. while (true)
  46494. switch ($async$goto) {
  46495. case 0:
  46496. // Function start
  46497. t1 = $async$self.$this;
  46498. t2 = $async$self.mergedQueries;
  46499. if (t2 == null)
  46500. t2 = $async$self.node.queries;
  46501. $async$goto = 2;
  46502. return P._asyncAwait(t1._async_evaluate$_withMediaQueries$1$2(t2, new E._EvaluateVisitor_visitCssMediaRule__closure0(t1, $async$self.node), P.Null), $async$call$0);
  46503. case 2:
  46504. // returning from await.
  46505. // implicit return
  46506. return P._asyncReturn(null, $async$completer);
  46507. }
  46508. });
  46509. return P._asyncStartSync($async$call$0, $async$completer);
  46510. }
  46511. };
  46512. E._EvaluateVisitor_visitCssMediaRule__closure0.prototype = {
  46513. call$0: function() {
  46514. var $async$goto = 0,
  46515. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  46516. $async$self = this, t1, t2;
  46517. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  46518. if ($async$errorCode === 1)
  46519. return P._asyncRethrow($async$result, $async$completer);
  46520. while (true)
  46521. switch ($async$goto) {
  46522. case 0:
  46523. // Function start
  46524. t1 = $async$self.$this;
  46525. t2 = t1._async_evaluate$_styleRule;
  46526. $async$goto = !(t2 != null && !t1._async_evaluate$_atRootExcludingStyleRule) ? 2 : 4;
  46527. break;
  46528. case 2:
  46529. // then
  46530. t2 = $async$self.node.children, t2 = new H.ListIterator(t2, t2.get$length(t2));
  46531. case 5:
  46532. // for condition
  46533. if (!t2.moveNext$0()) {
  46534. // goto after for
  46535. $async$goto = 6;
  46536. break;
  46537. }
  46538. $async$goto = 7;
  46539. return P._asyncAwait(t2.__internal$_current.accept$1(t1), $async$call$0);
  46540. case 7:
  46541. // returning from await.
  46542. // goto for condition
  46543. $async$goto = 5;
  46544. break;
  46545. case 6:
  46546. // after for
  46547. // goto join
  46548. $async$goto = 3;
  46549. break;
  46550. case 4:
  46551. // else
  46552. $async$goto = 8;
  46553. return P._asyncAwait(t1._async_evaluate$_withParent$2$3$scopeWhen(X.ModifiableCssStyleRule$(t2.selector, t2.span, t2.originalSelector), new E._EvaluateVisitor_visitCssMediaRule___closure0(t1, $async$self.node), false, X.ModifiableCssStyleRule, P.Null), $async$call$0);
  46554. case 8:
  46555. // returning from await.
  46556. case 3:
  46557. // join
  46558. // implicit return
  46559. return P._asyncReturn(null, $async$completer);
  46560. }
  46561. });
  46562. return P._asyncStartSync($async$call$0, $async$completer);
  46563. }
  46564. };
  46565. E._EvaluateVisitor_visitCssMediaRule___closure0.prototype = {
  46566. call$0: function() {
  46567. var $async$goto = 0,
  46568. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  46569. $async$self = this, t1, t2;
  46570. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  46571. if ($async$errorCode === 1)
  46572. return P._asyncRethrow($async$result, $async$completer);
  46573. while (true)
  46574. switch ($async$goto) {
  46575. case 0:
  46576. // Function start
  46577. t1 = $async$self.node.children, t1 = new H.ListIterator(t1, t1.get$length(t1)), t2 = $async$self.$this;
  46578. case 2:
  46579. // for condition
  46580. if (!t1.moveNext$0()) {
  46581. // goto after for
  46582. $async$goto = 3;
  46583. break;
  46584. }
  46585. $async$goto = 4;
  46586. return P._asyncAwait(t1.__internal$_current.accept$1(t2), $async$call$0);
  46587. case 4:
  46588. // returning from await.
  46589. // goto for condition
  46590. $async$goto = 2;
  46591. break;
  46592. case 3:
  46593. // after for
  46594. // implicit return
  46595. return P._asyncReturn(null, $async$completer);
  46596. }
  46597. });
  46598. return P._asyncStartSync($async$call$0, $async$completer);
  46599. }
  46600. };
  46601. E._EvaluateVisitor_visitCssMediaRule_closure2.prototype = {
  46602. call$1: function(node) {
  46603. var t1 = J.getInterceptor$(node);
  46604. if (!t1.$isCssStyleRule)
  46605. t1 = this.mergedQueries != null && !!t1.$isCssMediaRule;
  46606. else
  46607. t1 = true;
  46608. return t1;
  46609. }
  46610. };
  46611. E._EvaluateVisitor_visitCssStyleRule_closure1.prototype = {
  46612. call$0: function() {
  46613. var $async$goto = 0,
  46614. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  46615. $async$self = this, t1;
  46616. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  46617. if ($async$errorCode === 1)
  46618. return P._asyncRethrow($async$result, $async$completer);
  46619. while (true)
  46620. switch ($async$goto) {
  46621. case 0:
  46622. // Function start
  46623. t1 = $async$self.$this;
  46624. $async$goto = 2;
  46625. return P._asyncAwait(t1._async_evaluate$_withStyleRule$1$2($async$self.rule, new E._EvaluateVisitor_visitCssStyleRule__closure0(t1, $async$self.node), P.Null), $async$call$0);
  46626. case 2:
  46627. // returning from await.
  46628. // implicit return
  46629. return P._asyncReturn(null, $async$completer);
  46630. }
  46631. });
  46632. return P._asyncStartSync($async$call$0, $async$completer);
  46633. }
  46634. };
  46635. E._EvaluateVisitor_visitCssStyleRule__closure0.prototype = {
  46636. call$0: function() {
  46637. var $async$goto = 0,
  46638. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  46639. $async$self = this, t1, t2;
  46640. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  46641. if ($async$errorCode === 1)
  46642. return P._asyncRethrow($async$result, $async$completer);
  46643. while (true)
  46644. switch ($async$goto) {
  46645. case 0:
  46646. // Function start
  46647. t1 = $async$self.node.children, t1 = new H.ListIterator(t1, t1.get$length(t1)), t2 = $async$self.$this;
  46648. case 2:
  46649. // for condition
  46650. if (!t1.moveNext$0()) {
  46651. // goto after for
  46652. $async$goto = 3;
  46653. break;
  46654. }
  46655. $async$goto = 4;
  46656. return P._asyncAwait(t1.__internal$_current.accept$1(t2), $async$call$0);
  46657. case 4:
  46658. // returning from await.
  46659. // goto for condition
  46660. $async$goto = 2;
  46661. break;
  46662. case 3:
  46663. // after for
  46664. // implicit return
  46665. return P._asyncReturn(null, $async$completer);
  46666. }
  46667. });
  46668. return P._asyncStartSync($async$call$0, $async$completer);
  46669. }
  46670. };
  46671. E._EvaluateVisitor_visitCssStyleRule_closure2.prototype = {
  46672. call$1: function(node) {
  46673. return !!J.getInterceptor$(node).$isCssStyleRule;
  46674. }
  46675. };
  46676. E._EvaluateVisitor_visitCssSupportsRule_closure1.prototype = {
  46677. call$0: function() {
  46678. var $async$goto = 0,
  46679. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  46680. $async$self = this, t1, t2;
  46681. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  46682. if ($async$errorCode === 1)
  46683. return P._asyncRethrow($async$result, $async$completer);
  46684. while (true)
  46685. switch ($async$goto) {
  46686. case 0:
  46687. // Function start
  46688. t1 = $async$self.$this;
  46689. t2 = t1._async_evaluate$_styleRule;
  46690. $async$goto = !(t2 != null && !t1._async_evaluate$_atRootExcludingStyleRule) ? 2 : 4;
  46691. break;
  46692. case 2:
  46693. // then
  46694. t2 = $async$self.node.children, t2 = new H.ListIterator(t2, t2.get$length(t2));
  46695. case 5:
  46696. // for condition
  46697. if (!t2.moveNext$0()) {
  46698. // goto after for
  46699. $async$goto = 6;
  46700. break;
  46701. }
  46702. $async$goto = 7;
  46703. return P._asyncAwait(t2.__internal$_current.accept$1(t1), $async$call$0);
  46704. case 7:
  46705. // returning from await.
  46706. // goto for condition
  46707. $async$goto = 5;
  46708. break;
  46709. case 6:
  46710. // after for
  46711. // goto join
  46712. $async$goto = 3;
  46713. break;
  46714. case 4:
  46715. // else
  46716. $async$goto = 8;
  46717. return P._asyncAwait(t1._async_evaluate$_withParent$2$2(X.ModifiableCssStyleRule$(t2.selector, t2.span, t2.originalSelector), new E._EvaluateVisitor_visitCssSupportsRule__closure0(t1, $async$self.node), X.ModifiableCssStyleRule, P.Null), $async$call$0);
  46718. case 8:
  46719. // returning from await.
  46720. case 3:
  46721. // join
  46722. // implicit return
  46723. return P._asyncReturn(null, $async$completer);
  46724. }
  46725. });
  46726. return P._asyncStartSync($async$call$0, $async$completer);
  46727. }
  46728. };
  46729. E._EvaluateVisitor_visitCssSupportsRule__closure0.prototype = {
  46730. call$0: function() {
  46731. var $async$goto = 0,
  46732. $async$completer = P._makeAsyncAwaitCompleter(P.Null),
  46733. $async$self = this, t1, t2;
  46734. var $async$call$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  46735. if ($async$errorCode === 1)
  46736. return P._asyncRethrow($async$result, $async$completer);
  46737. while (true)
  46738. switch ($async$goto) {
  46739. case 0:
  46740. // Function start
  46741. t1 = $async$self.node.children, t1 = new H.ListIterator(t1, t1.get$length(t1)), t2 = $async$self.$this;
  46742. case 2:
  46743. // for condition
  46744. if (!t1.moveNext$0()) {
  46745. // goto after for
  46746. $async$goto = 3;
  46747. break;
  46748. }
  46749. $async$goto = 4;
  46750. return P._asyncAwait(t1.__internal$_current.accept$1(t2), $async$call$0);
  46751. case 4:
  46752. // returning from await.
  46753. // goto for condition
  46754. $async$goto = 2;
  46755. break;
  46756. case 3:
  46757. // after for
  46758. // implicit return
  46759. return P._asyncReturn(null, $async$completer);
  46760. }
  46761. });
  46762. return P._asyncStartSync($async$call$0, $async$completer);
  46763. }
  46764. };
  46765. E._EvaluateVisitor_visitCssSupportsRule_closure2.prototype = {
  46766. call$1: function(node) {
  46767. return !!J.getInterceptor$(node).$isCssStyleRule;
  46768. }
  46769. };
  46770. E._EvaluateVisitor__performInterpolation_closure0.prototype = {
  46771. call$1: function(value) {
  46772. var $async$goto = 0,
  46773. $async$completer = P._makeAsyncAwaitCompleter(P.String),
  46774. $async$returnValue, $async$self = this, t1, result, t2, t3;
  46775. var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
  46776. if ($async$errorCode === 1)
  46777. return P._asyncRethrow($async$result, $async$completer);
  46778. while (true)
  46779. switch ($async$goto) {
  46780. case 0:
  46781. // Function start
  46782. if (typeof value === "string") {
  46783. $async$returnValue = value;
  46784. // goto return
  46785. $async$goto = 1;
  46786. break;
  46787. }
  46788. H.interceptedTypeCast(value, "$isExpression");
  46789. t1 = $async$self.$this;
  46790. $async$goto = 3;
  46791. return P._asyncAwait(value.accept$1(t1), $async$call$1);
  46792. case 3:
  46793. // returning from await.
  46794. result = $async$result;
  46795. if ($async$self.warnForColor && result instanceof K.SassColor && $.$get$namesByColor().containsKey$1(result)) {
  46796. t2 = X.Interpolation$(H.setRuntimeTypeInfo([""], [P.Object]), null);
  46797. t3 = $.$get$namesByColor();
  46798. t1._async_evaluate$_warn$2("You probably don't mean to use the color value " + H.S(t3.$index(0, result)) + " in interpolation here.\nIt may end up represented as " + H.S(result) + ', which will likely produce invalid CSS.\nAlways quote color names when using them as strings or map keys (for example, "' + H.S(t3.$index(0, result)) + "\").\nIf you really want to use the color value here, use '" + new V.BinaryOperationExpression(C.BinaryOperator_AcR0, new D.StringExpression(t2, true), value, false).toString$0(0) + "'.", value.get$span());
  46799. }
  46800. $async$returnValue = t1._async_evaluate$_serialize$3$quote(result, value, false);
  46801. // goto return
  46802. $async$goto = 1;
  46803. break;
  46804. case 1:
  46805. // return
  46806. return P._asyncReturn($async$returnValue, $async$completer);
  46807. }
  46808. });
  46809. return P._asyncStartSync($async$call$1, $async$completer);
  46810. },
  46811. $signature: 35
  46812. };
  46813. E._EvaluateVisitor__serialize_closure0.prototype = {
  46814. call$0: function() {
  46815. var t1 = this.value;
  46816. t1.toString;
  46817. return N.serializeValue(t1, false, this.quote);
  46818. }
  46819. };
  46820. E._EvaluateVisitor__stackTrace_closure0.prototype = {
  46821. call$1: function(tuple) {
  46822. return this.$this._async_evaluate$_stackFrame$2(tuple.item1, tuple.item2.get$span());
  46823. }
  46824. };
  46825. E._ImportedCssVisitor0.prototype = {
  46826. visitCssAtRule$1: function(node) {
  46827. var t1 = node.isChildless ? null : new E._ImportedCssVisitor_visitCssAtRule_closure0();
  46828. this._async_evaluate$_visitor._async_evaluate$_addChild$2$through(node, t1);
  46829. },
  46830. visitCssComment$1: function(node) {
  46831. return this._async_evaluate$_visitor._async_evaluate$_addChild$1(node);
  46832. },
  46833. visitCssDeclaration$1: function(node) {
  46834. },
  46835. visitCssImport$1: function(node) {
  46836. var t1 = this._async_evaluate$_visitor,
  46837. t2 = t1._async_evaluate$_parent,
  46838. t3 = t1._async_evaluate$_root;
  46839. if (t2 != t3)
  46840. t1._async_evaluate$_addChild$1(node);
  46841. else if (t1._async_evaluate$_endOfImports === J.get$length$asx(t3.children._collection$_source)) {
  46842. t1._async_evaluate$_addChild$1(node);
  46843. t1._async_evaluate$_endOfImports = t1._async_evaluate$_endOfImports + 1;
  46844. } else {
  46845. t2 = t1._async_evaluate$_outOfOrderImports;
  46846. (t2 == null ? t1._async_evaluate$_outOfOrderImports = H.setRuntimeTypeInfo([], [F.ModifiableCssImport]) : t2).push(node);
  46847. }
  46848. },
  46849. visitCssKeyframeBlock$1: function(node) {
  46850. },
  46851. visitCssMediaRule$1: function(node) {
  46852. var t1 = this._async_evaluate$_visitor,
  46853. t2 = t1._async_evaluate$_mediaQueries;
  46854. t1._async_evaluate$_addChild$2$through(node, new E._ImportedCssVisitor_visitCssMediaRule_closure0(t2 == null || t1._async_evaluate$_mergeMediaQueries$2(t2, node.queries) != null));
  46855. },
  46856. visitCssStyleRule$1: function(node) {
  46857. return this._async_evaluate$_visitor._async_evaluate$_addChild$2$through(node, new E._ImportedCssVisitor_visitCssStyleRule_closure0());
  46858. },
  46859. visitCssStylesheet$1: function(node) {
  46860. var t1;
  46861. for (t1 = node.children, t1 = new H.ListIterator(t1, t1.get$length(t1)); t1.moveNext$0();)
  46862. t1.__internal$_current.accept$1(this);
  46863. },
  46864. visitCssSupportsRule$1: function(node) {
  46865. return this._async_evaluate$_visitor._async_evaluate$_addChild$2$through(node, new E._ImportedCssVisitor_visitCssSupportsRule_closure0());
  46866. }
  46867. };
  46868. E._ImportedCssVisitor_visitCssAtRule_closure0.prototype = {
  46869. call$1: function(node) {
  46870. return !!J.getInterceptor$(node).$isCssStyleRule;
  46871. }
  46872. };
  46873. E._ImportedCssVisitor_visitCssMediaRule_closure0.prototype = {
  46874. call$1: function(node) {
  46875. var t1 = J.getInterceptor$(node);
  46876. if (!t1.$isCssStyleRule)
  46877. t1 = this.hasBeenMerged && !!t1.$isCssMediaRule;
  46878. else
  46879. t1 = true;
  46880. return t1;
  46881. }
  46882. };
  46883. E._ImportedCssVisitor_visitCssStyleRule_closure0.prototype = {
  46884. call$1: function(node) {
  46885. return !!J.getInterceptor$(node).$isCssStyleRule;
  46886. }
  46887. };
  46888. E._ImportedCssVisitor_visitCssSupportsRule_closure0.prototype = {
  46889. call$1: function(node) {
  46890. return !!J.getInterceptor$(node).$isCssStyleRule;
  46891. }
  46892. };
  46893. E.EvaluateResult.prototype = {};
  46894. E._ArgumentResults0.prototype = {};
  46895. V._CloneCssVisitor.prototype = {
  46896. visitCssAtRule$1: function(node) {
  46897. var t1 = node.isChildless,
  46898. t2 = B.ModifiableCssNode,
  46899. t3 = H.setRuntimeTypeInfo([], [t2]),
  46900. rule = new U.ModifiableCssAtRule(node.name, node.value, t1, node.span, new P.UnmodifiableListView(t3, [t2]), t3);
  46901. return t1 ? rule : this._visitChildren$2(rule, node);
  46902. },
  46903. visitCssComment$1: function(node) {
  46904. return new R.ModifiableCssComment(node.text, node.span);
  46905. },
  46906. visitCssDeclaration$1: function(node) {
  46907. return L.ModifiableCssDeclaration$(node.name, node.value, node.span, node.valueSpanForMap);
  46908. },
  46909. visitCssImport$1: function(node) {
  46910. return F.ModifiableCssImport$(node.url, node.span, node.media, node.supports);
  46911. },
  46912. visitCssKeyframeBlock$1: function(node) {
  46913. var t1 = B.ModifiableCssNode,
  46914. t2 = H.setRuntimeTypeInfo([], [t1]);
  46915. return this._visitChildren$2(new U.ModifiableCssKeyframeBlock(node.selector, node.span, new P.UnmodifiableListView(t2, [t1]), t2), node);
  46916. },
  46917. visitCssMediaRule$1: function(node) {
  46918. return this._visitChildren$2(G.ModifiableCssMediaRule$(node.queries, node.span), node);
  46919. },
  46920. visitCssStyleRule$1: function(node) {
  46921. var newRule = this._oldToNewRules.$index(0, node);
  46922. if (newRule == null)
  46923. throw H.wrapException(P.StateError$("The Extender and CssStylesheet passed to cloneCssStylesheet() must come from the same compilation."));
  46924. return this._visitChildren$2(newRule, node);
  46925. },
  46926. visitCssStylesheet$1: function(node) {
  46927. var t1 = node.get$span(),
  46928. t2 = B.ModifiableCssNode,
  46929. t3 = H.setRuntimeTypeInfo([], [t2]);
  46930. return this._visitChildren$2(new V.ModifiableCssStylesheet(t1, new P.UnmodifiableListView(t3, [t2]), t3), node);
  46931. },
  46932. visitCssSupportsRule$1: function(node) {
  46933. var t1 = B.ModifiableCssNode,
  46934. t2 = H.setRuntimeTypeInfo([], [t1]);
  46935. return this._visitChildren$2(new B.ModifiableCssSupportsRule(node.condition, node.span, new P.UnmodifiableListView(t2, [t1]), t2), node);
  46936. },
  46937. _visitChildren$1$2: function(newParent, oldParent) {
  46938. var t1, t2, newChild;
  46939. for (t1 = J.get$iterator$ax(oldParent.get$children()); t1.moveNext$0();) {
  46940. t2 = t1.get$current(t1);
  46941. newChild = t2.accept$1(this);
  46942. newChild.isGroupEnd = t2.get$isGroupEnd();
  46943. newParent.addChild$1(newChild);
  46944. }
  46945. return newParent;
  46946. },
  46947. _visitChildren$2: function(newParent, oldParent) {
  46948. return this._visitChildren$1$2(newParent, oldParent, B.ModifiableCssParentNode);
  46949. }
  46950. };
  46951. R._EvaluateVisitor.prototype = {
  46952. _EvaluateVisitor$5$functions$importCache$logger$nodeImporter$sourceMap: function(functions, importCache, logger, nodeImporter, sourceMap) {
  46953. var t3, _i, metaModule, module, $function, _this = this,
  46954. _s20_ = "$name, $module: null",
  46955. t1 = [B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}],
  46956. t2 = [[S.Tuple2, B.ArgumentDeclaration, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}]],
  46957. metaFunctions = [new Q.BuiltInCallable("global-variable-exists", H.setRuntimeTypeInfo([new S.Tuple2(B.ArgumentDeclaration_ArgumentDeclaration$parse(_s20_), new R._EvaluateVisitor_closure(_this), t1)], t2)), new Q.BuiltInCallable("variable-exists", H.setRuntimeTypeInfo([new S.Tuple2(B.ArgumentDeclaration_ArgumentDeclaration$parse("$name"), new R._EvaluateVisitor_closure0(_this), t1)], t2)), new Q.BuiltInCallable("function-exists", H.setRuntimeTypeInfo([new S.Tuple2(B.ArgumentDeclaration_ArgumentDeclaration$parse(_s20_), new R._EvaluateVisitor_closure1(_this), t1)], t2)), new Q.BuiltInCallable("mixin-exists", H.setRuntimeTypeInfo([new S.Tuple2(B.ArgumentDeclaration_ArgumentDeclaration$parse(_s20_), new R._EvaluateVisitor_closure2(_this), t1)], t2)), new Q.BuiltInCallable("content-exists", H.setRuntimeTypeInfo([new S.Tuple2(B.ArgumentDeclaration_ArgumentDeclaration$parse(""), new R._EvaluateVisitor_closure3(_this), t1)], t2)), new Q.BuiltInCallable("module-variables", H.setRuntimeTypeInfo([new S.Tuple2(B.ArgumentDeclaration_ArgumentDeclaration$parse("$module"), new R._EvaluateVisitor_closure4(_this), t1)], t2)), new Q.BuiltInCallable("module-functions", H.setRuntimeTypeInfo([new S.Tuple2(B.ArgumentDeclaration_ArgumentDeclaration$parse("$module"), new R._EvaluateVisitor_closure5(_this), t1)], t2)), new Q.BuiltInCallable("get-function", H.setRuntimeTypeInfo([new S.Tuple2(B.ArgumentDeclaration_ArgumentDeclaration$parse("$name, $css: false, $module: null"), new R._EvaluateVisitor_closure6(_this), t1)], t2)), new Q.BuiltInCallable("call", H.setRuntimeTypeInfo([new S.Tuple2(B.ArgumentDeclaration_ArgumentDeclaration$parse("$function, $args..."), new R._EvaluateVisitor_closure7(_this), t1)], t2))];
  46958. t2 = Q.BuiltInCallable;
  46959. t1 = H.setRuntimeTypeInfo([], [t2]);
  46960. for (t3 = $.$get$global(), t3 = new H.ListIterator(t3, t3.get$length(t3)); t3.moveNext$0();)
  46961. t1.push(t3.__internal$_current);
  46962. for (_i = 0; _i < 9; ++_i)
  46963. t1.push(metaFunctions[_i]);
  46964. metaModule = Q.BuiltInModule$("meta", t1, t2);
  46965. t1 = H.setRuntimeTypeInfo([], [[Q.BuiltInModule, Q.BuiltInCallable]]);
  46966. for (t2 = $.$get$coreModules(), t2 = new H.ListIterator(t2, t2.get$length(t2)); t2.moveNext$0();)
  46967. t1.push(t2.__internal$_current);
  46968. t1.push(metaModule);
  46969. t2 = t1.length;
  46970. t3 = _this._builtInModules;
  46971. _i = 0;
  46972. for (; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
  46973. module = t1[_i];
  46974. t3.$indexSet(0, module.url, module);
  46975. }
  46976. t1 = H.setRuntimeTypeInfo([], [D.Callable]);
  46977. if (functions != null)
  46978. for (t2 = new H.ListIterator(functions, functions.get$length(functions)); t2.moveNext$0();)
  46979. t1.push(t2.__internal$_current);
  46980. for (t2 = $.$get$globalFunctions(), t2 = new H.ListIterator(t2, t2.get$length(t2)); t2.moveNext$0();)
  46981. t1.push(t2.__internal$_current);
  46982. for (_i = 0; _i < 9; ++_i)
  46983. t1.push(metaFunctions[_i]);
  46984. for (t2 = t1.length, t3 = _this._builtInFunctions, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
  46985. $function = t1[_i];
  46986. t3.$indexSet(0, $function.get$name(), $function);
  46987. }
  46988. },
  46989. run$2: function(_, importer, node) {
  46990. return this._withWarnCallback$1(new R._EvaluateVisitor_run_closure(this, node, importer));
  46991. },
  46992. runExpression$2$variables: function(expression, variables) {
  46993. return this._withWarnCallback$1(new R._EvaluateVisitor_runExpression_closure(this, variables, expression));
  46994. },
  46995. _withWarnCallback$1$1: function(callback) {
  46996. return N.withWarnCallback(new R._EvaluateVisitor__withWarnCallback_closure(this), callback);
  46997. },
  46998. _withWarnCallback$1: function(callback) {
  46999. return this._withWarnCallback$1$1(callback, null);
  47000. },
  47001. _loadModule$4: function(url, stackFrame, nodeForSpan, callback) {
  47002. var builtInModule = this._builtInModules.$index(0, url);
  47003. if (builtInModule != null) {
  47004. callback.call$1(builtInModule);
  47005. return;
  47006. }
  47007. this._withStackFrame$3(stackFrame, nodeForSpan, new R._EvaluateVisitor__loadModule_closure(this, url, nodeForSpan, callback));
  47008. },
  47009. _execute$2: function(importer, stylesheet) {
  47010. return this._modules.putIfAbsent$2(stylesheet.span.file.url, new R._EvaluateVisitor__execute_closure(this, importer, stylesheet));
  47011. },
  47012. _addOutOfOrderImports$0: function() {
  47013. var t1, t2, statements, _this = this;
  47014. if (_this._outOfOrderImports == null)
  47015. return _this._root.children;
  47016. t1 = B.ModifiableCssNode;
  47017. t2 = new Array(J.get$length$asx(_this._root.children._collection$_source) + _this._outOfOrderImports.length);
  47018. t2.fixed$length = Array;
  47019. statements = new G.FixedLengthListBuilder(H.setRuntimeTypeInfo(t2, [t1]), [t1]);
  47020. statements.addRange$3(_this._root.children, 0, _this._endOfImports);
  47021. statements.addAll$1(0, _this._outOfOrderImports);
  47022. statements.addRange$2(_this._root.children, _this._endOfImports);
  47023. return statements.build$0();
  47024. },
  47025. _combineCss$2$clone: function(root, clone) {
  47026. var selectors, unsatisfiedExtension, sortedModules, t1, t2, imports, css, t3, statements, index, _this = this;
  47027. if (!C.JSArray_methods.any$1(root.get$upstream(), new R._EvaluateVisitor__combineCss_closure())) {
  47028. selectors = root.get$extender().get$simpleSelectors();
  47029. unsatisfiedExtension = B.firstOrNull(root.get$extender().extensionsWhereTarget$1(new R._EvaluateVisitor__combineCss_closure0(selectors)));
  47030. if (unsatisfiedExtension != null)
  47031. _this._throwForUnsatisfiedExtension$1(unsatisfiedExtension);
  47032. return root.get$css(root);
  47033. }
  47034. sortedModules = _this._topologicalModules$1(root);
  47035. if (clone)
  47036. sortedModules = new H.MappedListIterable(sortedModules, new R._EvaluateVisitor__combineCss_closure1(), [H.getTypeArgumentByIndex(sortedModules, 0), [G.Module, D.Callable]]).toList$0(0);
  47037. _this._extendModules$1(sortedModules);
  47038. t1 = B.CssNode;
  47039. t2 = [t1];
  47040. imports = H.setRuntimeTypeInfo([], t2);
  47041. css = H.setRuntimeTypeInfo([], t2);
  47042. for (t2 = J.get$reversed$ax(sortedModules), t2 = new H.ListIterator(t2, t2.get$length(t2)); t2.moveNext$0();) {
  47043. t3 = t2.__internal$_current;
  47044. statements = t3.get$css(t3).get$children();
  47045. index = _this._indexAfterImports$1(statements);
  47046. t3 = J.getInterceptor$ax(statements);
  47047. C.JSArray_methods.addAll$1(imports, t3.getRange$2(statements, 0, index));
  47048. C.JSArray_methods.addAll$1(css, t3.getRange$2(statements, index, t3.get$length(statements)));
  47049. }
  47050. return new V.CssStylesheet(new P.UnmodifiableListView(C.JSArray_methods.$add(imports, css), [t1]), root.get$css(root).get$span());
  47051. },
  47052. _combineCss$1: function(root) {
  47053. return this._combineCss$2$clone(root, false);
  47054. },
  47055. _extendModules$1: function(sortedModules) {
  47056. var t1, t2, originalSelectors, extenders, t3, t4, _i,
  47057. downstreamExtenders = P.LinkedHashMap_LinkedHashMap$_empty(P.Uri, [P.List, F.Extender]),
  47058. unsatisfiedExtensions = new P._LinkedIdentityHashSet([S.Extension]);
  47059. for (t1 = J.get$iterator$ax(sortedModules); t1.moveNext$0();) {
  47060. t2 = t1.get$current(t1);
  47061. originalSelectors = t2.get$extender().get$simpleSelectors().toSet$0(0);
  47062. unsatisfiedExtensions.addAll$1(0, t2.get$extender().extensionsWhereTarget$1(new R._EvaluateVisitor__extendModules_closure(originalSelectors)));
  47063. extenders = downstreamExtenders.$index(0, t2.get$url());
  47064. if (extenders != null)
  47065. t2.get$extender().addExtensions$1(extenders);
  47066. t3 = t2.get$extender();
  47067. if (t3.get$isEmpty(t3))
  47068. continue;
  47069. for (t3 = t2.get$upstream(), t4 = t3.length, _i = 0; _i < t3.length; t3.length === t4 || (0, H.throwConcurrentModificationError)(t3), ++_i)
  47070. J.add$1$ax(downstreamExtenders.putIfAbsent$2(t3[_i].get$url(), new R._EvaluateVisitor__extendModules_closure0()), t2.get$extender());
  47071. unsatisfiedExtensions.removeAll$1(t2.get$extender().extensionsWhereTarget$1(originalSelectors.get$contains(originalSelectors)));
  47072. }
  47073. if (unsatisfiedExtensions._collection$_length !== 0)
  47074. this._throwForUnsatisfiedExtension$1(unsatisfiedExtensions.get$first(unsatisfiedExtensions));
  47075. },
  47076. _throwForUnsatisfiedExtension$1: function(extension) {
  47077. throw H.wrapException(E.SassException$('The target selector was not found.\nUse "@extend ' + H.S(extension.target) + ' !optional" to avoid this error.', extension.span));
  47078. },
  47079. _topologicalModules$1: function(root) {
  47080. var t1 = [G.Module, D.Callable],
  47081. seen = P.LinkedHashSet_LinkedHashSet(t1),
  47082. sorted = Q.QueueList$(null, t1);
  47083. new R._EvaluateVisitor__topologicalModules_visitModule(seen, sorted).call$1(root);
  47084. return sorted;
  47085. },
  47086. _indexAfterImports$1: function(statements) {
  47087. var t1, lastImport, i, t2;
  47088. for (t1 = J.getInterceptor$asx(statements), lastImport = -1, i = 0; i < t1.get$length(statements); ++i) {
  47089. t2 = J.getInterceptor$(t1.$index(statements, i));
  47090. if (!!t2.$isCssImport)
  47091. lastImport = i;
  47092. else if (!t2.$isCssComment)
  47093. break;
  47094. }
  47095. return lastImport + 1;
  47096. },
  47097. visitStylesheet$1: function(node) {
  47098. var t1, t2, _i;
  47099. for (t1 = node.children, t2 = t1.length, _i = 0; _i < t2; ++_i)
  47100. t1[_i].accept$1(this);
  47101. return;
  47102. },
  47103. visitAtRootRule$1: function(node) {
  47104. var root, innerCopy, outerCopy, copy, _this = this,
  47105. t1 = node.query,
  47106. query = t1 != null ? _this._adjustParseError$2(t1, new R._EvaluateVisitor_visitAtRootRule_closure(_this, _this._performInterpolation$2$warnForColor(t1, true))) : C.AtRootQuery_UsS,
  47107. $parent = _this._evaluate$_parent,
  47108. included = H.setRuntimeTypeInfo([], [B.ModifiableCssParentNode]);
  47109. for (; !J.getInterceptor$($parent).$isCssStylesheet;) {
  47110. if (!query.excludes$1($parent))
  47111. included.push($parent);
  47112. $parent = $parent._parent;
  47113. }
  47114. root = _this._trimIncluded$1(included);
  47115. if (root == _this._evaluate$_parent) {
  47116. _this._evaluate$_environment.scope$1$2$when(new R._EvaluateVisitor_visitAtRootRule_closure0(_this, node), node.hasDeclarations, P.Null);
  47117. return;
  47118. }
  47119. innerCopy = included.length === 0 ? null : C.JSArray_methods.get$first(included).copyWithoutChildren$0();
  47120. for (t1 = H.SubListIterable$(included, 1, null, H.getTypeArgumentByIndex(included, 0)), t1 = new H.ListIterator(t1, t1.get$length(t1)), outerCopy = innerCopy; t1.moveNext$0(); outerCopy = copy) {
  47121. copy = t1.__internal$_current.copyWithoutChildren$0();
  47122. copy.addChild$1(outerCopy);
  47123. }
  47124. if (outerCopy != null)
  47125. root.addChild$1(outerCopy);
  47126. _this._scopeForAtRoot$4(node, innerCopy == null ? root : innerCopy, query, included).call$1(new R._EvaluateVisitor_visitAtRootRule_closure1(_this, node));
  47127. return;
  47128. },
  47129. _trimIncluded$1: function(nodes) {
  47130. var $parent, innermostContiguous, i, t2, root,
  47131. t1 = nodes.length;
  47132. if (t1 === 0)
  47133. return this._root;
  47134. $parent = this._evaluate$_parent;
  47135. for (innermostContiguous = null, i = 0; i < t1; ++i) {
  47136. for (; $parent != nodes[i]; innermostContiguous = null)
  47137. $parent = $parent._parent;
  47138. if (innermostContiguous == null)
  47139. innermostContiguous = i;
  47140. $parent = $parent._parent;
  47141. }
  47142. t2 = this._root;
  47143. if ($parent != t2)
  47144. return t2;
  47145. root = nodes[innermostContiguous];
  47146. C.JSArray_methods.removeRange$2(nodes, innermostContiguous, t1);
  47147. return root;
  47148. },
  47149. _scopeForAtRoot$4: function(node, newParent, query, included) {
  47150. var _this = this,
  47151. scope = new R._EvaluateVisitor__scopeForAtRoot_closure(_this, newParent, node),
  47152. t1 = query._all,
  47153. t2 = t1 || query._at_root_query$_rule,
  47154. t3 = query.include;
  47155. if (t2 !== t3)
  47156. scope = new R._EvaluateVisitor__scopeForAtRoot_closure0(_this, scope);
  47157. if (t1 ? !t3 : query.names.contains$1(0, "media") !== t3)
  47158. scope = new R._EvaluateVisitor__scopeForAtRoot_closure1(_this, scope);
  47159. if (_this._inKeyframes && query.names.contains$1(0, "keyframes") !== t3)
  47160. scope = new R._EvaluateVisitor__scopeForAtRoot_closure2(_this, scope);
  47161. return _this._inUnknownAtRule && !C.JSArray_methods.any$1(included, new R._EvaluateVisitor__scopeForAtRoot_closure3()) ? new R._EvaluateVisitor__scopeForAtRoot_closure4(_this, scope) : scope;
  47162. },
  47163. visitContentBlock$1: function(node) {
  47164. return H.throwExpression(P.UnsupportedError$("Evaluation handles @include and its content block together."));
  47165. },
  47166. visitContentRule$1: function(node) {
  47167. var $content = this._evaluate$_environment._content;
  47168. if ($content == null)
  47169. return;
  47170. this._runUserDefinedCallable$4(node.$arguments, $content, node, new R._EvaluateVisitor_visitContentRule_closure(this, $content));
  47171. return;
  47172. },
  47173. visitDebugRule$1: function(node) {
  47174. var value = node.expression.accept$1(this),
  47175. t1 = J.getInterceptor$(value);
  47176. t1 = !!t1.$isSassString ? value.text : t1.toString$0(value);
  47177. this._logger.debug$2(t1, node.span);
  47178. return;
  47179. },
  47180. visitDeclaration$1: function(node) {
  47181. var $name, t1, cssValue, t2, oldDeclarationName, _this = this;
  47182. if (!(_this._styleRule != null && !_this._atRootExcludingStyleRule) && !_this._inUnknownAtRule && !_this._inKeyframes)
  47183. throw H.wrapException(_this._evaluate$_exception$2("Declarations may only be used within style rules.", node.span));
  47184. $name = _this._interpolationToValue$2$warnForColor(node.name, true);
  47185. t1 = _this._declarationName;
  47186. if (t1 != null)
  47187. $name = new F.CssValue(t1 + "-" + H.S($name.value), $name.span, [P.String]);
  47188. t1 = node.value;
  47189. cssValue = t1 == null ? null : new F.CssValue(t1.accept$1(_this), t1.get$span(), [F.Value]);
  47190. if (cssValue != null) {
  47191. t2 = cssValue.value;
  47192. t2 = !t2.get$isBlank() || t2.get$asList().length === 0;
  47193. } else
  47194. t2 = false;
  47195. if (t2) {
  47196. t2 = _this._evaluate$_parent;
  47197. t1 = _this._expressionNode$1(t1);
  47198. t1 = t1 == null ? null : t1.get$span();
  47199. t2.addChild$1(L.ModifiableCssDeclaration$($name, cssValue, node.span, t1));
  47200. } else if (J.startsWith$1$s($name.value, "--"))
  47201. throw H.wrapException(_this._evaluate$_exception$2("Custom property values may not be empty.", t1.get$span()));
  47202. if (node.children != null) {
  47203. oldDeclarationName = _this._declarationName;
  47204. _this._declarationName = $name.value;
  47205. _this._evaluate$_environment.scope$1$2$when(new R._EvaluateVisitor_visitDeclaration_closure(_this, node), node.hasDeclarations, P.Null);
  47206. _this._declarationName = oldDeclarationName;
  47207. }
  47208. return;
  47209. },
  47210. visitEachRule$1: function(node) {
  47211. var _this = this,
  47212. t1 = node.list,
  47213. list = t1.accept$1(_this),
  47214. nodeForSpan = _this._expressionNode$1(t1),
  47215. setVariables = node.variables.length === 1 ? new R._EvaluateVisitor_visitEachRule_closure(_this, node, nodeForSpan) : new R._EvaluateVisitor_visitEachRule_closure0(_this, node, nodeForSpan);
  47216. return _this._evaluate$_environment.scope$1$2$semiGlobal(new R._EvaluateVisitor_visitEachRule_closure1(_this, list, setVariables, node), true, F.Value);
  47217. },
  47218. _setMultipleVariables$3: function(variables, value, nodeForSpan) {
  47219. var i,
  47220. list = value.get$asList(),
  47221. t1 = variables.length,
  47222. minLength = Math.min(t1, list.length);
  47223. for (i = 0; i < minLength; ++i)
  47224. this._evaluate$_environment.setLocalVariable$3(variables[i], list[i].withoutSlash$0(), nodeForSpan);
  47225. for (i = minLength; i < t1; ++i)
  47226. this._evaluate$_environment.setLocalVariable$3(variables[i], C.C_SassNull, nodeForSpan);
  47227. },
  47228. visitErrorRule$1: function(node) {
  47229. throw H.wrapException(this._evaluate$_exception$2(J.toString$0$(node.expression.accept$1(this)), node.span));
  47230. },
  47231. visitExtendRule$1: function(node) {
  47232. var targetText, t1, t2, _i, t3, _this = this;
  47233. if (!(_this._styleRule != null && !_this._atRootExcludingStyleRule) || _this._declarationName != null)
  47234. throw H.wrapException(_this._evaluate$_exception$2("@extend may only be used within style rules.", node.span));
  47235. targetText = _this._interpolationToValue$2$warnForColor(node.selector, true);
  47236. for (t1 = _this._adjustParseError$2(targetText, new R._EvaluateVisitor_visitExtendRule_closure(_this, targetText)).components, t2 = t1.length, _i = 0; _i < t2; ++_i) {
  47237. t3 = t1[_i].components;
  47238. if (t3.length !== 1 || !(C.JSArray_methods.get$first(t3) instanceof X.CompoundSelector))
  47239. throw H.wrapException(E.SassFormatException$("complex selectors may not be extended.", targetText.span));
  47240. t3 = H.interceptedTypeCast(C.JSArray_methods.get$first(t3), "$isCompoundSelector").components;
  47241. if (t3.length !== 1)
  47242. throw H.wrapException(E.SassFormatException$("compound selectors may no longer be extended.\nConsider `@extend " + C.JSArray_methods.join$1(t3, ", ") + "` instead.\nSee http://bit.ly/ExtendCompound for details.\n", targetText.span));
  47243. _this._extender.addExtension$4(_this._styleRule.selector, C.JSArray_methods.get$first(t3), node, _this._mediaQueries);
  47244. }
  47245. return;
  47246. },
  47247. visitAtRule$1: function(node) {
  47248. var $name, t1, value, t2, t3, wasInKeyframes, wasInUnknownAtRule, _this = this;
  47249. if (_this._declarationName != null)
  47250. throw H.wrapException(_this._evaluate$_exception$2("At-rules may not be used within nested declarations.", node.span));
  47251. $name = _this._interpolationToValue$1(node.name);
  47252. t1 = node.value;
  47253. value = t1 == null ? null : _this._interpolationToValue$3$trim$warnForColor(t1, true, true);
  47254. if (node.children == null) {
  47255. t1 = _this._evaluate$_parent;
  47256. t2 = B.ModifiableCssNode;
  47257. t3 = H.setRuntimeTypeInfo([], [t2]);
  47258. t1.addChild$1(new U.ModifiableCssAtRule($name, value, true, node.span, new P.UnmodifiableListView(t3, [t2]), t3));
  47259. return;
  47260. }
  47261. wasInKeyframes = _this._inKeyframes;
  47262. wasInUnknownAtRule = _this._inUnknownAtRule;
  47263. if (B.unvendor($name.value) === "keyframes")
  47264. _this._inKeyframes = true;
  47265. else
  47266. _this._inUnknownAtRule = true;
  47267. t1 = B.ModifiableCssNode;
  47268. t2 = H.setRuntimeTypeInfo([], [t1]);
  47269. _this._withParent$2$4$scopeWhen$through(new U.ModifiableCssAtRule($name, value, false, node.span, new P.UnmodifiableListView(t2, [t1]), t2), new R._EvaluateVisitor_visitAtRule_closure(_this, node), node.hasDeclarations, new R._EvaluateVisitor_visitAtRule_closure0(), U.ModifiableCssAtRule, P.Null);
  47270. _this._inUnknownAtRule = wasInUnknownAtRule;
  47271. _this._inKeyframes = wasInKeyframes;
  47272. return;
  47273. },
  47274. visitForRule$1: function(node) {
  47275. var _this = this, t1 = {},
  47276. t2 = node.from,
  47277. fromNumber = _this._addExceptionSpan$2(t2, new R._EvaluateVisitor_visitForRule_closure(_this, node)),
  47278. t3 = node.to,
  47279. toNumber = _this._addExceptionSpan$2(t3, new R._EvaluateVisitor_visitForRule_closure0(_this, node)),
  47280. from = _this._addExceptionSpan$2(t2, new R._EvaluateVisitor_visitForRule_closure1(fromNumber, toNumber)),
  47281. to = t1.to = _this._addExceptionSpan$2(t3, new R._EvaluateVisitor_visitForRule_closure2(toNumber)),
  47282. direction = from > to ? -1 : 1;
  47283. if (from === (!node.isExclusive ? t1.to = to + direction : to))
  47284. return;
  47285. return _this._evaluate$_environment.scope$1$2$semiGlobal(new R._EvaluateVisitor_visitForRule_closure3(t1, _this, node, from, direction), true, F.Value);
  47286. },
  47287. visitForwardRule$1: function(node) {
  47288. this._loadModule$4(node.url, "@forward", node, new R._EvaluateVisitor_visitForwardRule_closure(this, node));
  47289. return;
  47290. },
  47291. visitFunctionRule$1: function(node) {
  47292. var t1 = this._evaluate$_environment,
  47293. t2 = t1.closure$0(),
  47294. t3 = t1._functions,
  47295. index = t3.length - 1,
  47296. t4 = node.name;
  47297. t1._functionIndices.$indexSet(0, t4, index);
  47298. J.$indexSet$ax(t3[index], t4, new E.UserDefinedCallable(node, t2, [O.Environment]));
  47299. return;
  47300. },
  47301. visitIfRule$1: function(node) {
  47302. var t1, t2, _i, clauseToCheck, _box_0 = {};
  47303. _box_0.clause = node.lastClause;
  47304. for (t1 = node.clauses, t2 = t1.length, _i = 0; _i < t2; ++_i) {
  47305. clauseToCheck = t1[_i];
  47306. if (clauseToCheck.expression.accept$1(this).get$isTruthy()) {
  47307. _box_0.clause = clauseToCheck;
  47308. break;
  47309. }
  47310. }
  47311. t1 = _box_0.clause;
  47312. if (t1 == null)
  47313. return;
  47314. return this._evaluate$_environment.scope$1$3$semiGlobal$when(new R._EvaluateVisitor_visitIfRule_closure(_box_0, this), true, t1.hasDeclarations, F.Value);
  47315. },
  47316. visitImportRule$1: function(node) {
  47317. var t1, t2, t3, t4, t5, _i, $import, t6, result, supports, t7, t8, resolvedSupports, mediaQuery, t9, result0, _this = this, _null = null;
  47318. for (t1 = node.imports, t2 = t1.length, t3 = F.CssMediaQuery, t4 = [P.String], t5 = [F.ModifiableCssImport], _i = 0; _i < t2; ++_i) {
  47319. $import = t1[_i];
  47320. if ($import instanceof B.DynamicImport)
  47321. _this._visitDynamicImport$1($import);
  47322. else {
  47323. H.interceptedTypeCast($import, "$isStaticImport");
  47324. t6 = $import.url;
  47325. result = _this._performInterpolation$2$warnForColor(t6, false);
  47326. supports = $import.supports;
  47327. if (supports instanceof L.SupportsDeclaration) {
  47328. t7 = supports.name;
  47329. t7 = H.S(_this._evaluate$_serialize$3$quote(t7.accept$1(_this), t7, true)) + ": ";
  47330. t8 = supports.value;
  47331. resolvedSupports = t7 + H.S(_this._evaluate$_serialize$3$quote(t8.accept$1(_this), t8, true));
  47332. } else
  47333. resolvedSupports = supports == null ? _null : _this._visitSupportsCondition$1(supports);
  47334. t7 = $import.media;
  47335. mediaQuery = t7 == null ? _null : _this._visitMediaQueries$1(t7);
  47336. t7 = $import.span;
  47337. t8 = resolvedSupports == null ? _null : new F.CssValue("supports(" + resolvedSupports + ")", supports.get$span(), t4);
  47338. if (mediaQuery == null)
  47339. t9 = _null;
  47340. else {
  47341. result0 = P.List_List$from(mediaQuery, false, t3);
  47342. result0.fixed$length = Array;
  47343. result0.immutable$list = Array;
  47344. t9 = result0;
  47345. }
  47346. node = new F.ModifiableCssImport(new F.CssValue(result, t6.span, t4), t8, t9, t7);
  47347. t6 = _this._evaluate$_parent;
  47348. t7 = _this._root;
  47349. if (t6 != t7)
  47350. t6.addChild$1(node);
  47351. else if (_this._endOfImports === J.get$length$asx(t7.children._collection$_source)) {
  47352. t6 = _this._root;
  47353. t6.toString;
  47354. node._parent = t6;
  47355. t6 = t6._children;
  47356. node._indexInParent = t6.length;
  47357. t6.push(node);
  47358. _this._endOfImports = _this._endOfImports + 1;
  47359. } else {
  47360. t6 = _this._outOfOrderImports;
  47361. (t6 == null ? _this._outOfOrderImports = H.setRuntimeTypeInfo([], t5) : t6).push(node);
  47362. }
  47363. }
  47364. }
  47365. return;
  47366. },
  47367. _visitDynamicImport$1: function($import) {
  47368. return this._withStackFrame$3("@import", $import, new R._EvaluateVisitor__visitDynamicImport_closure(this, $import));
  47369. },
  47370. _loadStylesheet$2: function(url, span) {
  47371. var stylesheet, tuple, error, error0, message, t1, t2, t3, exception, _this = this;
  47372. try {
  47373. _this._importSpan = span;
  47374. if (_this._nodeImporter != null) {
  47375. stylesheet = _this._importLikeNode$1(url);
  47376. if (stylesheet != null)
  47377. return new S.Tuple2(null, stylesheet, [M.Importer, V.Stylesheet]);
  47378. } else {
  47379. t1 = P.Uri_parse(url);
  47380. t2 = _this._importer;
  47381. t3 = _this._stylesheet.span;
  47382. tuple = _this._importCache.import$3(t1, t2, t3.file.url);
  47383. if (tuple != null)
  47384. return tuple;
  47385. }
  47386. if (C.JSString_methods.startsWith$1(url, "package:") && true)
  47387. throw H.wrapException('"package:" URLs aren\'t supported on this platform.');
  47388. else
  47389. throw H.wrapException("Can't find stylesheet to import.");
  47390. } catch (exception) {
  47391. t1 = H.unwrapException(exception);
  47392. if (t1 instanceof E.SassException) {
  47393. error = t1;
  47394. t1 = _this._evaluate$_exception$2(error._span_exception$_message, error.get$span());
  47395. throw H.wrapException(t1);
  47396. } else {
  47397. error0 = t1;
  47398. message = null;
  47399. try {
  47400. message = H.stringTypeCast(J.get$message$x(error0));
  47401. } catch (exception) {
  47402. H.unwrapException(exception);
  47403. message = J.toString$0$(error0);
  47404. }
  47405. t1 = _this._evaluate$_exception$1(message);
  47406. throw H.wrapException(t1);
  47407. }
  47408. } finally {
  47409. _this._importSpan = null;
  47410. }
  47411. },
  47412. _importLikeNode$1: function(originalUrl) {
  47413. var contents, url, _this = this,
  47414. t1 = _this._stylesheet.span,
  47415. result = _this._nodeImporter.load$2(originalUrl, t1.file.url);
  47416. if (result == null)
  47417. return;
  47418. contents = result.item1;
  47419. url = result.item2;
  47420. t1 = J.getInterceptor$s(url).startsWith$1(url, "file:") ? $.$get$context().style.pathFromUri$1(M._parseUri(url)) : url;
  47421. _this._includedFiles.add$1(0, t1);
  47422. t1 = C.JSString_methods.startsWith$1(url, "file") ? M.Syntax_forPath(url) : C.Syntax_SCSS;
  47423. return V.Stylesheet_Stylesheet$parse(contents, t1, _this._logger, url);
  47424. },
  47425. visitIncludeRule$1: function(node) {
  47426. var t2, t3, contentCallable, _this = this,
  47427. t1 = [O.Environment],
  47428. mixin = H.subtypeCast(_this._addExceptionSpan$2(node, new R._EvaluateVisitor_visitIncludeRule_closure(_this, node)), "$isUserDefinedCallable", t1, "$asUserDefinedCallable");
  47429. if (mixin == null)
  47430. throw H.wrapException(_this._evaluate$_exception$2("Undefined mixin.", node.span));
  47431. t2 = node.content;
  47432. t3 = t2 == null;
  47433. if (!t3 && !H.interceptedTypeCast(mixin.declaration, "$isMixinRule").hasContent)
  47434. throw H.wrapException(_this._evaluate$_exception$2("Mixin doesn't accept a content block.", node.span));
  47435. contentCallable = t3 ? null : new E.UserDefinedCallable(t2, _this._evaluate$_environment.closure$0(), t1);
  47436. _this._runUserDefinedCallable$4(node.$arguments, mixin, node, new R._EvaluateVisitor_visitIncludeRule_closure0(_this, contentCallable, mixin));
  47437. return;
  47438. },
  47439. visitMixinRule$1: function(node) {
  47440. var t1 = this._evaluate$_environment,
  47441. t2 = t1.closure$0(),
  47442. t3 = t1._mixins,
  47443. index = t3.length - 1,
  47444. t4 = node.name;
  47445. t1._mixinIndices.$indexSet(0, t4, index);
  47446. J.$indexSet$ax(t3[index], t4, new E.UserDefinedCallable(node, t2, [O.Environment]));
  47447. return;
  47448. },
  47449. visitLoudComment$1: function(node) {
  47450. var t1, t2, _this = this;
  47451. if (_this._inFunction)
  47452. return;
  47453. t1 = _this._evaluate$_parent;
  47454. t2 = _this._root;
  47455. if (t1 == t2 && _this._endOfImports === J.get$length$asx(t2.children._collection$_source))
  47456. _this._endOfImports = _this._endOfImports + 1;
  47457. t1 = node.text;
  47458. _this._evaluate$_parent.addChild$1(new R.ModifiableCssComment(_this._performInterpolation$1(t1), t1.span));
  47459. return;
  47460. },
  47461. visitMediaRule$1: function(node) {
  47462. var queries, t1, mergedQueries, _this = this;
  47463. if (_this._declarationName != null)
  47464. throw H.wrapException(_this._evaluate$_exception$2("Media rules may not be used within nested declarations.", node.span));
  47465. queries = _this._visitMediaQueries$1(node.query);
  47466. t1 = _this._mediaQueries;
  47467. mergedQueries = t1 == null ? null : _this._mergeMediaQueries$2(t1, queries);
  47468. t1 = mergedQueries == null;
  47469. if (!t1 && mergedQueries.length === 0)
  47470. return;
  47471. t1 = t1 ? queries : mergedQueries;
  47472. _this._withParent$2$4$scopeWhen$through(G.ModifiableCssMediaRule$(t1, node.span), new R._EvaluateVisitor_visitMediaRule_closure(_this, mergedQueries, queries, node), node.hasDeclarations, new R._EvaluateVisitor_visitMediaRule_closure0(mergedQueries), G.ModifiableCssMediaRule, P.Null);
  47473. return;
  47474. },
  47475. _visitMediaQueries$1: function(interpolation) {
  47476. return this._adjustParseError$2(interpolation, new R._EvaluateVisitor__visitMediaQueries_closure(this, this._performInterpolation$2$warnForColor(interpolation, true)));
  47477. },
  47478. _mergeMediaQueries$2: function(queries1, queries2) {
  47479. var t1, t2, t3, t4, result,
  47480. queries = H.setRuntimeTypeInfo([], [F.CssMediaQuery]);
  47481. for (t1 = J.get$iterator$ax(queries1), t2 = J.getInterceptor$ax(queries2); t1.moveNext$0();) {
  47482. t3 = t1.get$current(t1);
  47483. for (t4 = t2.get$iterator(queries2); t4.moveNext$0();) {
  47484. result = t3.merge$1(t4.get$current(t4));
  47485. if (result === C._SingletonCssMediaQueryMergeResult_empty)
  47486. continue;
  47487. if (result === C._SingletonCssMediaQueryMergeResult_unrepresentable)
  47488. return;
  47489. queries.push(H.interceptedTypeCast(result, "$isMediaQuerySuccessfulMergeResult").query);
  47490. }
  47491. }
  47492. return queries;
  47493. },
  47494. visitReturnRule$1: function(node) {
  47495. return node.expression.accept$1(this);
  47496. },
  47497. visitSilentComment$1: function(node) {
  47498. return;
  47499. },
  47500. visitStyleRule$1: function(node) {
  47501. var t2, selectorText, t3, t4, parsedSelector, rule, oldAtRootExcludingStyleRule, _this = this, t1 = {};
  47502. if (_this._declarationName != null)
  47503. throw H.wrapException(_this._evaluate$_exception$2("Style rules may not be used within nested declarations.", node.span));
  47504. t2 = node.selector;
  47505. selectorText = _this._interpolationToValue$3$trim$warnForColor(t2, true, true);
  47506. if (_this._inKeyframes) {
  47507. t1 = P.List_List$unmodifiable(_this._adjustParseError$2(t2, new R._EvaluateVisitor_visitStyleRule_closure(_this, selectorText)), P.String);
  47508. t3 = B.ModifiableCssNode;
  47509. t4 = H.setRuntimeTypeInfo([], [t3]);
  47510. _this._withParent$2$4$scopeWhen$through(new U.ModifiableCssKeyframeBlock(new F.CssValue(t1, t2.span, [[P.List, P.String]]), node.span, new P.UnmodifiableListView(t4, [t3]), t4), new R._EvaluateVisitor_visitStyleRule_closure0(_this, node), node.hasDeclarations, new R._EvaluateVisitor_visitStyleRule_closure1(), U.ModifiableCssKeyframeBlock, P.Null);
  47511. return;
  47512. }
  47513. t1.parsedSelector = _this._adjustParseError$2(t2, new R._EvaluateVisitor_visitStyleRule_closure2(_this, selectorText));
  47514. parsedSelector = _this._addExceptionSpan$2(t2, new R._EvaluateVisitor_visitStyleRule_closure3(t1, _this));
  47515. t1.parsedSelector = parsedSelector;
  47516. rule = _this._extender.addSelector$4(parsedSelector, t2.span, node.span, _this._mediaQueries);
  47517. oldAtRootExcludingStyleRule = _this._atRootExcludingStyleRule;
  47518. _this._atRootExcludingStyleRule = false;
  47519. _this._withParent$2$4$scopeWhen$through(rule, new R._EvaluateVisitor_visitStyleRule_closure4(_this, rule, node), node.hasDeclarations, new R._EvaluateVisitor_visitStyleRule_closure5(), X.ModifiableCssStyleRule, P.Null);
  47520. _this._atRootExcludingStyleRule = oldAtRootExcludingStyleRule;
  47521. if (!(_this._styleRule != null && !oldAtRootExcludingStyleRule)) {
  47522. t1 = _this._evaluate$_parent.children;
  47523. t1 = !t1.get$isEmpty(t1);
  47524. } else
  47525. t1 = false;
  47526. if (t1) {
  47527. t1 = _this._evaluate$_parent.children;
  47528. t1.get$last(t1).isGroupEnd = true;
  47529. }
  47530. return;
  47531. },
  47532. visitSupportsRule$1: function(node) {
  47533. var t1, t2, t3, t4, _this = this;
  47534. if (_this._declarationName != null)
  47535. throw H.wrapException(_this._evaluate$_exception$2("Supports rules may not be used within nested declarations.", node.span));
  47536. t1 = node.condition;
  47537. t2 = _this._visitSupportsCondition$1(t1);
  47538. t1 = t1.get$span();
  47539. t3 = B.ModifiableCssNode;
  47540. t4 = H.setRuntimeTypeInfo([], [t3]);
  47541. _this._withParent$2$4$scopeWhen$through(new B.ModifiableCssSupportsRule(new F.CssValue(t2, t1, [P.String]), node.span, new P.UnmodifiableListView(t4, [t3]), t4), new R._EvaluateVisitor_visitSupportsRule_closure(_this, node), node.hasDeclarations, new R._EvaluateVisitor_visitSupportsRule_closure0(), B.ModifiableCssSupportsRule, P.Null);
  47542. return;
  47543. },
  47544. _visitSupportsCondition$1: function(condition) {
  47545. var t2, _this = this,
  47546. t1 = J.getInterceptor$(condition);
  47547. if (!!t1.$isSupportsOperation) {
  47548. t1 = condition.left;
  47549. t2 = condition.operator;
  47550. return H.S(_this._parenthesize$2(t1, t2)) + " " + t2 + " " + H.S(_this._parenthesize$2(condition.right, t2));
  47551. } else if (!!t1.$isSupportsNegation)
  47552. return "not " + H.S(_this._parenthesize$1(condition.condition));
  47553. else if (!!t1.$isSupportsInterpolation) {
  47554. t1 = condition.expression;
  47555. return _this._evaluate$_serialize$3$quote(t1.accept$1(_this), t1, false);
  47556. } else if (!!t1.$isSupportsDeclaration) {
  47557. t1 = condition.name;
  47558. t1 = "(" + H.S(_this._evaluate$_serialize$3$quote(t1.accept$1(_this), t1, true)) + ": ";
  47559. t2 = condition.value;
  47560. return t1 + H.S(_this._evaluate$_serialize$3$quote(t2.accept$1(_this), t2, true)) + ")";
  47561. } else
  47562. return;
  47563. },
  47564. _parenthesize$2: function(condition, operator) {
  47565. var t1;
  47566. if (!condition.$isSupportsNegation)
  47567. if (!!condition.$isSupportsOperation)
  47568. t1 = operator == null || operator !== condition.operator;
  47569. else
  47570. t1 = false;
  47571. else
  47572. t1 = true;
  47573. if (t1)
  47574. return "(" + H.S(this._visitSupportsCondition$1(condition)) + ")";
  47575. else
  47576. return this._visitSupportsCondition$1(condition);
  47577. },
  47578. _parenthesize$1: function(condition) {
  47579. return this._parenthesize$2(condition, null);
  47580. },
  47581. visitVariableDeclaration$1: function(node) {
  47582. var value, t1, t2, _this = this;
  47583. if (node.isGuarded) {
  47584. value = _this._addExceptionSpan$2(node, new R._EvaluateVisitor_visitVariableDeclaration_closure(_this, node));
  47585. if (value != null && !value.$eq(0, C.C_SassNull))
  47586. return;
  47587. }
  47588. if (node.isGlobal && !_this._evaluate$_environment.globalVariableExists$1(node.name)) {
  47589. t1 = _this._evaluate$_environment._variables.length === 1 ? "As of Dart Sass 2.0.0, !global assignments won't be able to\ndeclare new variables. Since this assignment is at the root of the stylesheet,\nthe !global flag is unnecessary and can safely be removed." : "As of Dart Sass 2.0.0, !global assignments won't be able to\ndeclare new variables. Consider adding `" + B.declarationName(node.span) + ": null` at the root of the\nstylesheet.";
  47590. t2 = node.span;
  47591. _this._logger.warn$4$deprecation$span$trace(t1, true, t2, _this._stackTrace$1(t2));
  47592. }
  47593. _this._addExceptionSpan$2(node, new R._EvaluateVisitor_visitVariableDeclaration_closure0(_this, node, node.expression.accept$1(_this).withoutSlash$0()));
  47594. return;
  47595. },
  47596. visitUseRule$1: function(node) {
  47597. this._loadModule$4(node.url, "@use", node, new R._EvaluateVisitor_visitUseRule_closure(this, node));
  47598. return;
  47599. },
  47600. visitWarnRule$1: function(node) {
  47601. var _this = this,
  47602. value = _this._addExceptionSpan$2(node, new R._EvaluateVisitor_visitWarnRule_closure(_this, node)),
  47603. t1 = value instanceof D.SassString ? value.text : _this._evaluate$_serialize$2(value, node.expression);
  47604. _this._logger.warn$2$trace(t1, _this._stackTrace$1(node.span));
  47605. return;
  47606. },
  47607. visitWhileRule$1: function(node) {
  47608. return this._evaluate$_environment.scope$1$3$semiGlobal$when(new R._EvaluateVisitor_visitWhileRule_closure(this, node), true, node.hasDeclarations, F.Value);
  47609. },
  47610. visitBinaryOperationExpression$1: function(node) {
  47611. return this._addExceptionSpan$2(node, new R._EvaluateVisitor_visitBinaryOperationExpression_closure(this, node));
  47612. },
  47613. visitValueExpression$1: function(node) {
  47614. return node.value;
  47615. },
  47616. visitVariableExpression$1: function(node) {
  47617. var result = this._addExceptionSpan$2(node, new R._EvaluateVisitor_visitVariableExpression_closure(this, node));
  47618. if (result != null)
  47619. return result;
  47620. throw H.wrapException(this._evaluate$_exception$2("Undefined variable.", node.span));
  47621. },
  47622. visitUnaryOperationExpression$1: function(node) {
  47623. var operand = node.operand.accept$1(this),
  47624. t1 = node.operator;
  47625. switch (t1) {
  47626. case C.UnaryOperator_j2w:
  47627. return operand.unaryPlus$0();
  47628. case C.UnaryOperator_U4G:
  47629. return operand.unaryMinus$0();
  47630. case C.UnaryOperator_zDx:
  47631. operand.toString;
  47632. return new D.SassString("/" + N.serializeValue(operand, false, true), false);
  47633. case C.UnaryOperator_not_not:
  47634. return operand.unaryNot$0();
  47635. default:
  47636. throw H.wrapException(P.StateError$("Unknown unary operator " + H.S(t1) + "."));
  47637. }
  47638. },
  47639. visitBooleanExpression$1: function(node) {
  47640. return node.value ? C.SassBoolean_true : C.SassBoolean_false;
  47641. },
  47642. visitIfExpression$1: function(node) {
  47643. var condition, ifTrue, ifFalse, _this = this,
  47644. pair = _this._evaluateMacroArguments$1(node),
  47645. positional = pair.item1,
  47646. named = pair.item2,
  47647. t1 = J.getInterceptor$asx(positional);
  47648. _this._verifyArguments$4(t1.get$length(positional), named, $.$get$IfExpression_declaration(), node);
  47649. condition = t1.get$length(positional) > 0 ? t1.$index(positional, 0) : named.$index(0, "condition");
  47650. ifTrue = t1.get$length(positional) > 1 ? t1.$index(positional, 1) : named.$index(0, "if-true");
  47651. ifFalse = t1.get$length(positional) > 2 ? t1.$index(positional, 2) : named.$index(0, "if-false");
  47652. return (condition.accept$1(_this).get$isTruthy() ? ifTrue : ifFalse).accept$1(_this);
  47653. },
  47654. visitNullExpression$1: function(node) {
  47655. return C.C_SassNull;
  47656. },
  47657. visitNumberExpression$1: function(node) {
  47658. var t1 = node.unit;
  47659. t1 = t1 == null ? null : H.setRuntimeTypeInfo([t1], [P.String]);
  47660. t1 = t1 == null ? C.List_empty0 : P.List_List$unmodifiable(t1, P.String);
  47661. return new T.SassNumber(node.value, t1, C.List_empty0, null);
  47662. },
  47663. visitParenthesizedExpression$1: function(node) {
  47664. return node.expression.accept$1(this);
  47665. },
  47666. visitColorExpression$1: function(node) {
  47667. return node.value;
  47668. },
  47669. visitListExpression$1: function(node) {
  47670. var t1 = node.contents;
  47671. return D.SassList$(new H.MappedListIterable(t1, new R._EvaluateVisitor_visitListExpression_closure(this), [H.getTypeArgumentByIndex(t1, 0), F.Value]), node.separator, node.hasBrackets);
  47672. },
  47673. visitMapExpression$1: function(node) {
  47674. var t2, t3, _i, pair, t4, keyValue, valueValue,
  47675. t1 = F.Value,
  47676. map = P.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
  47677. for (t2 = node.pairs, t3 = t2.length, _i = 0; _i < t3; ++_i) {
  47678. pair = t2[_i];
  47679. t4 = pair.item1;
  47680. keyValue = t4.accept$1(this);
  47681. valueValue = pair.item2.accept$1(this);
  47682. if (map.containsKey$1(keyValue))
  47683. throw H.wrapException(this._evaluate$_exception$2("Duplicate key.", t4.get$span()));
  47684. map.$indexSet(0, keyValue, valueValue);
  47685. }
  47686. return new A.SassMap(H.ConstantMap_ConstantMap$from(map, t1, t1));
  47687. },
  47688. visitFunctionExpression$1: function(node) {
  47689. var oldInFunction, result, _this = this,
  47690. t1 = node.name,
  47691. plainName = t1.get$asPlain(),
  47692. $function = plainName != null ? _this._addExceptionSpan$2(node, new R._EvaluateVisitor_visitFunctionExpression_closure(_this, node, plainName)) : null;
  47693. if ($function == null) {
  47694. if (node.namespace != null)
  47695. throw H.wrapException(_this._evaluate$_exception$2("Undefined function.", node.span));
  47696. $function = new L.PlainCssCallable(_this._performInterpolation$1(t1));
  47697. }
  47698. oldInFunction = _this._inFunction;
  47699. _this._inFunction = true;
  47700. result = _this._runFunctionCallable$3(node.$arguments, $function, node);
  47701. _this._inFunction = oldInFunction;
  47702. return result;
  47703. },
  47704. _getFunction$2$namespace: function($name, namespace) {
  47705. var local = this._evaluate$_environment.getFunction$2$namespace($name, namespace);
  47706. if (local != null || namespace != null)
  47707. return local;
  47708. return this._builtInFunctions.$index(0, $name);
  47709. },
  47710. _runUserDefinedCallable$4: function($arguments, callable, nodeWithSpan, run) {
  47711. var evaluated = this._evaluateArguments$1($arguments),
  47712. t1 = callable.declaration.name,
  47713. $name = t1 == null ? "@content" : t1 + "()";
  47714. return this._withStackFrame$3($name, nodeWithSpan, new R._EvaluateVisitor__runUserDefinedCallable_closure(this, callable, evaluated, nodeWithSpan, run));
  47715. },
  47716. _runFunctionCallable$3: function($arguments, callable, nodeWithSpan) {
  47717. var t1, t2, t3, first, _i, argument, rest, _this = this;
  47718. if (!!callable.$isBuiltInCallable)
  47719. return _this._runBuiltInCallable$3($arguments, callable, nodeWithSpan).withoutSlash$0();
  47720. else if (H.checkSubtype(callable, "$isUserDefinedCallable", [O.Environment], null))
  47721. return _this._runUserDefinedCallable$4($arguments, callable, nodeWithSpan, new R._EvaluateVisitor__runFunctionCallable_closure(_this, callable)).withoutSlash$0();
  47722. else if (!!callable.$isPlainCssCallable) {
  47723. t1 = $arguments.named;
  47724. if (t1.get$isNotEmpty(t1) || $arguments.keywordRest != null)
  47725. throw H.wrapException(_this._evaluate$_exception$2("Plain CSS functions don't support keyword arguments.", nodeWithSpan.span));
  47726. t1 = H.S(callable.name) + "(";
  47727. for (t2 = $arguments.positional, t3 = t2.length, first = true, _i = 0; _i < t3; ++_i) {
  47728. argument = t2[_i];
  47729. if (first)
  47730. first = false;
  47731. else
  47732. t1 += ", ";
  47733. t1 += H.S(_this._evaluate$_serialize$3$quote(argument.accept$1(_this), argument, true));
  47734. }
  47735. t2 = $arguments.rest;
  47736. rest = t2 == null ? null : t2.accept$1(_this);
  47737. if (rest != null) {
  47738. if (!first)
  47739. t1 += ", ";
  47740. t2 = t1 + H.S(_this._evaluate$_serialize$2(rest, t2));
  47741. t1 = t2;
  47742. }
  47743. t1 += H.Primitives_stringFromCharCode(41);
  47744. return new D.SassString(t1.charCodeAt(0) == 0 ? t1 : t1, false);
  47745. } else
  47746. return;
  47747. },
  47748. _runBuiltInCallable$3: function($arguments, callable, nodeWithSpan) {
  47749. var callback, result, error, message, t1, namedSet, tuple, overload, declaredArguments, i, t2, argument, t3, t4, rest, argumentList, exception, _this = this,
  47750. evaluated = _this._evaluateArguments$2$trackSpans($arguments, false),
  47751. oldCallableNode = _this._callableNode;
  47752. _this._callableNode = nodeWithSpan;
  47753. t1 = P.String;
  47754. namedSet = new M.MapKeySet(evaluated.named, [t1]);
  47755. tuple = callable.callbackFor$2(evaluated.positional.length, namedSet);
  47756. overload = tuple.item1;
  47757. callback = tuple.item2;
  47758. _this._addExceptionSpan$2(nodeWithSpan, new R._EvaluateVisitor__runBuiltInCallable_closure(overload, evaluated, namedSet));
  47759. declaredArguments = overload.$arguments;
  47760. for (i = evaluated.positional.length, t2 = declaredArguments.length; i < t2; ++i) {
  47761. argument = declaredArguments[i];
  47762. t3 = evaluated.positional;
  47763. t4 = evaluated.named.remove$1(0, argument.name);
  47764. if (t4 == null) {
  47765. t4 = argument.defaultValue;
  47766. t4 = t4 == null ? null : t4.accept$1(_this);
  47767. }
  47768. t3.push(t4);
  47769. }
  47770. if (overload.restArgument != null) {
  47771. if (evaluated.positional.length > t2) {
  47772. rest = C.JSArray_methods.sublist$1(evaluated.positional, t2);
  47773. C.JSArray_methods.removeRange$2(evaluated.positional, t2, evaluated.positional.length);
  47774. } else
  47775. rest = C.List_empty1;
  47776. t2 = evaluated.named;
  47777. t3 = evaluated.separator === C.ListSeparator_undecided ? C.ListSeparator_comma : evaluated.separator;
  47778. t4 = F.Value;
  47779. argumentList = new D.SassArgumentList(H.ConstantMap_ConstantMap$from(t2, t1, t4), P.List_List$unmodifiable(rest, t4), t3, false);
  47780. argumentList.SassList$3$brackets(rest, t3, false);
  47781. evaluated.positional.push(argumentList);
  47782. } else
  47783. argumentList = null;
  47784. result = null;
  47785. try {
  47786. result = callback.call$1(evaluated.positional);
  47787. if (result == null)
  47788. throw H.wrapException("Custom functions may not return Dart's null.");
  47789. } catch (exception) {
  47790. error = H.unwrapException(exception);
  47791. message = null;
  47792. try {
  47793. message = H.stringTypeCast(J.get$message$x(error));
  47794. } catch (exception) {
  47795. H.unwrapException(exception);
  47796. message = J.toString$0$(error);
  47797. }
  47798. throw H.wrapException(_this._evaluate$_exception$2(message, nodeWithSpan.span));
  47799. }
  47800. _this._callableNode = oldCallableNode;
  47801. if (argumentList == null)
  47802. return result;
  47803. t1 = evaluated.named;
  47804. if (t1.get$isEmpty(t1))
  47805. return result;
  47806. if (argumentList._wereKeywordsAccessed)
  47807. return result;
  47808. t1 = evaluated.named.get$keys();
  47809. throw H.wrapException(_this._evaluate$_exception$2("No " + B.pluralize("argument", t1.get$length(t1), null) + " named " + H.S(B.toSentence(evaluated.named.get$keys().map$1$1(0, new R._EvaluateVisitor__runBuiltInCallable_closure0(), P.Object), "or")) + ".", nodeWithSpan.span));
  47810. },
  47811. _evaluateArguments$2$trackSpans: function($arguments, trackSpans) {
  47812. var t1, t2, t3, t4, _i, t5, t6, t7, named, t8, positionalNodes, namedNodes, rest, restNodeForSpan, separator, keywordRest, keywordRestNodeForSpan, _this = this, _null = null;
  47813. if (trackSpans == null)
  47814. trackSpans = _this._sourceMap;
  47815. t1 = F.Value;
  47816. t2 = H.setRuntimeTypeInfo([], [t1]);
  47817. for (t3 = $arguments.positional, t4 = t3.length, _i = 0; _i < t4; ++_i)
  47818. t2.push(t3[_i].accept$1(_this));
  47819. t5 = $arguments.named;
  47820. t6 = P.String;
  47821. t7 = T.Expression;
  47822. named = Y.mapMap(t5, _null, new R._EvaluateVisitor__evaluateArguments_closure(_this), t6, t7, t6, t1);
  47823. if (trackSpans) {
  47824. t8 = H.setRuntimeTypeInfo([], [B.AstNode]);
  47825. for (_i = 0; _i < t4; ++_i)
  47826. t8.push(_this._expressionNode$1(t3[_i]));
  47827. positionalNodes = t8;
  47828. } else
  47829. positionalNodes = _null;
  47830. namedNodes = trackSpans ? Y.mapMap(t5, _null, new R._EvaluateVisitor__evaluateArguments_closure0(_this), t6, t7, t6, B.AstNode) : _null;
  47831. t3 = $arguments.rest;
  47832. if (t3 == null)
  47833. return R._ArgumentResults$(t2, named, C.ListSeparator_undecided, namedNodes, positionalNodes);
  47834. rest = t3.accept$1(_this);
  47835. restNodeForSpan = trackSpans ? _this._expressionNode$1(t3) : _null;
  47836. t4 = J.getInterceptor$(rest);
  47837. if (!!t4.$isSassMap) {
  47838. _this._addRestMap$1$3(named, rest, t3, t1);
  47839. if (namedNodes != null)
  47840. namedNodes.addAll$1(0, Y.mapMap(rest.contents, new R._EvaluateVisitor__evaluateArguments_closure1(), new R._EvaluateVisitor__evaluateArguments_closure2(restNodeForSpan), t1, t1, t6, B.AstNode));
  47841. separator = C.ListSeparator_undecided;
  47842. } else if (!!t4.$isSassList) {
  47843. t3 = rest._list$_contents;
  47844. C.JSArray_methods.addAll$1(t2, t3);
  47845. if (positionalNodes != null)
  47846. C.JSArray_methods.addAll$1(positionalNodes, P.List_List$filled(t3.length, restNodeForSpan, B.AstNode));
  47847. separator = rest.separator;
  47848. if (!!rest.$isSassArgumentList) {
  47849. rest._wereKeywordsAccessed = true;
  47850. rest._keywords.forEach$1(0, new R._EvaluateVisitor__evaluateArguments_closure3(named, namedNodes, restNodeForSpan));
  47851. }
  47852. } else {
  47853. t2.push(rest);
  47854. if (positionalNodes != null)
  47855. positionalNodes.push(restNodeForSpan);
  47856. separator = C.ListSeparator_undecided;
  47857. }
  47858. t3 = $arguments.keywordRest;
  47859. if (t3 == null)
  47860. return R._ArgumentResults$(t2, named, separator, namedNodes, positionalNodes);
  47861. keywordRest = t3.accept$1(_this);
  47862. keywordRestNodeForSpan = trackSpans ? _this._expressionNode$1(t3) : _null;
  47863. if (keywordRest instanceof A.SassMap) {
  47864. _this._addRestMap$1$3(named, keywordRest, t3, t1);
  47865. if (namedNodes != null)
  47866. namedNodes.addAll$1(0, Y.mapMap(keywordRest.contents, new R._EvaluateVisitor__evaluateArguments_closure4(), new R._EvaluateVisitor__evaluateArguments_closure5(keywordRestNodeForSpan), t1, t1, t6, B.AstNode));
  47867. return R._ArgumentResults$(t2, named, separator, namedNodes, positionalNodes);
  47868. } else
  47869. throw H.wrapException(_this._evaluate$_exception$2("Variable keyword arguments must be a map (was " + H.S(keywordRest) + ").", t3.get$span()));
  47870. },
  47871. _evaluateArguments$1: function($arguments) {
  47872. return this._evaluateArguments$2$trackSpans($arguments, null);
  47873. },
  47874. _evaluateMacroArguments$1: function(invocation) {
  47875. var t3, positional, named, rest, keywordRest, _this = this,
  47876. t1 = invocation.$arguments,
  47877. t2 = t1.rest;
  47878. if (t2 == null)
  47879. return new S.Tuple2(t1.positional, t1.named, [[P.List, T.Expression], [P.Map, P.String, T.Expression]]);
  47880. t3 = t1.positional;
  47881. positional = H.setRuntimeTypeInfo(t3.slice(0), [H.getTypeArgumentByIndex(t3, 0)]);
  47882. t3 = T.Expression;
  47883. named = P.LinkedHashMap_LinkedHashMap$of(t1.named, P.String, t3);
  47884. rest = t2.accept$1(_this);
  47885. t2 = J.getInterceptor$(rest);
  47886. if (!!t2.$isSassMap)
  47887. _this._addRestMap$1$4(named, rest, invocation, new R._EvaluateVisitor__evaluateMacroArguments_closure(), t3);
  47888. else if (!!t2.$isSassList) {
  47889. t2 = rest._list$_contents;
  47890. C.JSArray_methods.addAll$1(positional, new H.MappedListIterable(t2, new R._EvaluateVisitor__evaluateMacroArguments_closure0(), [H.getTypeArgumentByIndex(t2, 0), t3]));
  47891. if (!!rest.$isSassArgumentList) {
  47892. rest._wereKeywordsAccessed = true;
  47893. rest._keywords.forEach$1(0, new R._EvaluateVisitor__evaluateMacroArguments_closure1(named));
  47894. }
  47895. } else
  47896. positional.push(new F.ValueExpression(rest, null));
  47897. t1 = t1.keywordRest;
  47898. if (t1 == null)
  47899. return new S.Tuple2(positional, named, [[P.List, T.Expression], [P.Map, P.String, T.Expression]]);
  47900. keywordRest = t1.accept$1(_this);
  47901. if (keywordRest instanceof A.SassMap) {
  47902. _this._addRestMap$1$4(named, keywordRest, invocation, new R._EvaluateVisitor__evaluateMacroArguments_closure2(), t3);
  47903. return new S.Tuple2(positional, named, [[P.List, T.Expression], [P.Map, P.String, T.Expression]]);
  47904. } else
  47905. throw H.wrapException(_this._evaluate$_exception$2("Variable keyword arguments must be a map (was " + H.S(keywordRest) + ").", invocation.span));
  47906. },
  47907. _addRestMap$1$4: function(values, map, nodeForSpan, convert, $T) {
  47908. var t1 = {};
  47909. t1.convert = convert;
  47910. if (convert == null)
  47911. t1.convert = new R._EvaluateVisitor__addRestMap_closure($T);
  47912. map.contents.forEach$1(0, new R._EvaluateVisitor__addRestMap_closure0(t1, this, values, map, nodeForSpan));
  47913. },
  47914. _addRestMap$1$3: function(values, map, nodeForSpan, $T) {
  47915. return this._addRestMap$1$4(values, map, nodeForSpan, null, $T);
  47916. },
  47917. _verifyArguments$4: function(positional, named, $arguments, nodeWithSpan) {
  47918. return this._addExceptionSpan$2(nodeWithSpan, new R._EvaluateVisitor__verifyArguments_closure($arguments, positional, named));
  47919. },
  47920. visitSelectorExpression$1: function(node) {
  47921. var t1 = this._styleRule;
  47922. if (t1 == null)
  47923. return C.C_SassNull;
  47924. return t1.originalSelector.get$asSassList();
  47925. },
  47926. visitStringExpression$1: function(node) {
  47927. var t1 = node.text.contents;
  47928. return new D.SassString(new H.MappedListIterable(t1, new R._EvaluateVisitor_visitStringExpression_closure(this), [H.getTypeArgumentByIndex(t1, 0), P.String]).join$0(0), node.hasQuotes);
  47929. },
  47930. visitCssAtRule$1: function(node) {
  47931. var t1, t2, t3, wasInKeyframes, wasInUnknownAtRule, _this = this;
  47932. if (_this._declarationName != null)
  47933. throw H.wrapException(_this._evaluate$_exception$2("At-rules may not be used within nested declarations.", node.span));
  47934. if (node.isChildless) {
  47935. t1 = _this._evaluate$_parent;
  47936. t2 = B.ModifiableCssNode;
  47937. t3 = H.setRuntimeTypeInfo([], [t2]);
  47938. t1.addChild$1(new U.ModifiableCssAtRule(node.name, node.value, true, node.span, new P.UnmodifiableListView(t3, [t2]), t3));
  47939. return;
  47940. }
  47941. wasInKeyframes = _this._inKeyframes;
  47942. wasInUnknownAtRule = _this._inUnknownAtRule;
  47943. t1 = node.name;
  47944. if (B.unvendor(t1.get$value()) === "keyframes")
  47945. _this._inKeyframes = true;
  47946. else
  47947. _this._inUnknownAtRule = true;
  47948. t2 = B.ModifiableCssNode;
  47949. t3 = H.setRuntimeTypeInfo([], [t2]);
  47950. _this._withParent$2$4$scopeWhen$through(new U.ModifiableCssAtRule(t1, node.value, false, node.span, new P.UnmodifiableListView(t3, [t2]), t3), new R._EvaluateVisitor_visitCssAtRule_closure(_this, node), false, new R._EvaluateVisitor_visitCssAtRule_closure0(), U.ModifiableCssAtRule, P.Null);
  47951. _this._inUnknownAtRule = wasInUnknownAtRule;
  47952. _this._inKeyframes = wasInKeyframes;
  47953. },
  47954. visitCssComment$1: function(node) {
  47955. var _this = this,
  47956. t1 = _this._evaluate$_parent,
  47957. t2 = _this._root;
  47958. if (t1 == t2 && _this._endOfImports === J.get$length$asx(t2.children._collection$_source))
  47959. _this._endOfImports = _this._endOfImports + 1;
  47960. _this._evaluate$_parent.addChild$1(new R.ModifiableCssComment(node.text, node.span));
  47961. },
  47962. visitCssDeclaration$1: function(node) {
  47963. this._evaluate$_parent.addChild$1(L.ModifiableCssDeclaration$(node.name, node.value, node.span, node.valueSpanForMap));
  47964. },
  47965. visitCssImport$1: function(node) {
  47966. var _this = this,
  47967. modifiableNode = F.ModifiableCssImport$(node.url, node.span, node.media, node.supports),
  47968. t1 = _this._evaluate$_parent,
  47969. t2 = _this._root;
  47970. if (t1 != t2)
  47971. t1.addChild$1(modifiableNode);
  47972. else if (_this._endOfImports === J.get$length$asx(t2.children._collection$_source)) {
  47973. _this._root.addChild$1(modifiableNode);
  47974. _this._endOfImports = _this._endOfImports + 1;
  47975. } else {
  47976. t1 = _this._outOfOrderImports;
  47977. (t1 == null ? _this._outOfOrderImports = H.setRuntimeTypeInfo([], [F.ModifiableCssImport]) : t1).push(modifiableNode);
  47978. }
  47979. },
  47980. visitCssKeyframeBlock$1: function(node) {
  47981. var t1 = B.ModifiableCssNode,
  47982. t2 = H.setRuntimeTypeInfo([], [t1]);
  47983. this._withParent$2$4$scopeWhen$through(new U.ModifiableCssKeyframeBlock(node.selector, node.span, new P.UnmodifiableListView(t2, [t1]), t2), new R._EvaluateVisitor_visitCssKeyframeBlock_closure(this, node), false, new R._EvaluateVisitor_visitCssKeyframeBlock_closure0(), U.ModifiableCssKeyframeBlock, P.Null);
  47984. },
  47985. visitCssMediaRule$1: function(node) {
  47986. var t1, mergedQueries, _this = this;
  47987. if (_this._declarationName != null)
  47988. throw H.wrapException(_this._evaluate$_exception$2("Media rules may not be used within nested declarations.", node.span));
  47989. t1 = _this._mediaQueries;
  47990. mergedQueries = t1 == null ? null : _this._mergeMediaQueries$2(t1, node.queries);
  47991. t1 = mergedQueries == null;
  47992. if (!t1 && mergedQueries.length === 0)
  47993. return;
  47994. t1 = t1 ? node.queries : mergedQueries;
  47995. _this._withParent$2$4$scopeWhen$through(G.ModifiableCssMediaRule$(t1, node.span), new R._EvaluateVisitor_visitCssMediaRule_closure(_this, mergedQueries, node), false, new R._EvaluateVisitor_visitCssMediaRule_closure0(mergedQueries), G.ModifiableCssMediaRule, P.Null);
  47996. },
  47997. visitCssStyleRule$1: function(node) {
  47998. var t1, t2, t3, t4, rule, oldAtRootExcludingStyleRule, _this = this;
  47999. if (_this._declarationName != null)
  48000. throw H.wrapException(_this._evaluate$_exception$2("Style rules may not be used within nested declarations.", node.span));
  48001. t1 = _this._extender;
  48002. t2 = node.selector;
  48003. t3 = t2.value;
  48004. t4 = _this._styleRule;
  48005. t4 = t4 == null ? null : t4.originalSelector;
  48006. rule = t1.addSelector$4(t3.resolveParentSelectors$2$implicitParent(t4, !_this._atRootExcludingStyleRule), t2.span, node.span, _this._mediaQueries);
  48007. oldAtRootExcludingStyleRule = _this._atRootExcludingStyleRule;
  48008. _this._atRootExcludingStyleRule = false;
  48009. _this._withParent$2$4$scopeWhen$through(rule, new R._EvaluateVisitor_visitCssStyleRule_closure(_this, rule, node), false, new R._EvaluateVisitor_visitCssStyleRule_closure0(), X.ModifiableCssStyleRule, P.Null);
  48010. _this._atRootExcludingStyleRule = oldAtRootExcludingStyleRule;
  48011. if (!(_this._styleRule != null && !oldAtRootExcludingStyleRule)) {
  48012. t1 = _this._evaluate$_parent.children;
  48013. t1 = !t1.get$isEmpty(t1);
  48014. } else
  48015. t1 = false;
  48016. if (t1) {
  48017. t1 = _this._evaluate$_parent.children;
  48018. t1.get$last(t1).isGroupEnd = true;
  48019. }
  48020. },
  48021. visitCssStylesheet$1: function(node) {
  48022. var t1;
  48023. for (t1 = J.get$iterator$ax(node.get$children()); t1.moveNext$0();)
  48024. t1.get$current(t1).accept$1(this);
  48025. },
  48026. visitCssSupportsRule$1: function(node) {
  48027. var t1, t2, _this = this;
  48028. if (_this._declarationName != null)
  48029. throw H.wrapException(_this._evaluate$_exception$2("Supports rules may not be used within nested declarations.", node.span));
  48030. t1 = B.ModifiableCssNode;
  48031. t2 = H.setRuntimeTypeInfo([], [t1]);
  48032. _this._withParent$2$4$scopeWhen$through(new B.ModifiableCssSupportsRule(node.condition, node.span, new P.UnmodifiableListView(t2, [t1]), t2), new R._EvaluateVisitor_visitCssSupportsRule_closure(_this, node), false, new R._EvaluateVisitor_visitCssSupportsRule_closure0(), B.ModifiableCssSupportsRule, P.Null);
  48033. },
  48034. _handleReturn$1$2: function(list, callback) {
  48035. var t1, _i, result;
  48036. for (t1 = list.length, _i = 0; _i < list.length; list.length === t1 || (0, H.throwConcurrentModificationError)(list), ++_i) {
  48037. result = callback.call$1(list[_i]);
  48038. if (result != null)
  48039. return result;
  48040. }
  48041. return;
  48042. },
  48043. _handleReturn$2: function(list, callback) {
  48044. return this._handleReturn$1$2(list, callback, null);
  48045. },
  48046. _withEnvironment$1$2: function(environment, callback) {
  48047. var result,
  48048. oldEnvironment = this._evaluate$_environment;
  48049. this._evaluate$_environment = environment;
  48050. result = callback.call$0();
  48051. this._evaluate$_environment = oldEnvironment;
  48052. return result;
  48053. },
  48054. _withEnvironment$2: function(environment, callback) {
  48055. return this._withEnvironment$1$2(environment, callback, null);
  48056. },
  48057. _interpolationToValue$3$trim$warnForColor: function(interpolation, trim, warnForColor) {
  48058. var result = this._performInterpolation$2$warnForColor(interpolation, warnForColor),
  48059. t1 = trim ? B.trimAscii(result, true) : result;
  48060. return new F.CssValue(t1, interpolation.span, [P.String]);
  48061. },
  48062. _interpolationToValue$1: function(interpolation) {
  48063. return this._interpolationToValue$3$trim$warnForColor(interpolation, false, false);
  48064. },
  48065. _interpolationToValue$2$warnForColor: function(interpolation, warnForColor) {
  48066. return this._interpolationToValue$3$trim$warnForColor(interpolation, false, warnForColor);
  48067. },
  48068. _performInterpolation$2$warnForColor: function(interpolation, warnForColor) {
  48069. var t1 = interpolation.contents;
  48070. return new H.MappedListIterable(t1, new R._EvaluateVisitor__performInterpolation_closure(this, warnForColor), [H.getTypeArgumentByIndex(t1, 0), P.String]).join$0(0);
  48071. },
  48072. _performInterpolation$1: function(interpolation) {
  48073. return this._performInterpolation$2$warnForColor(interpolation, false);
  48074. },
  48075. _evaluate$_serialize$3$quote: function(value, nodeWithSpan, quote) {
  48076. return this._addExceptionSpan$2(nodeWithSpan, new R._EvaluateVisitor__serialize_closure(value, quote));
  48077. },
  48078. _evaluate$_serialize$2: function(value, nodeWithSpan) {
  48079. return this._evaluate$_serialize$3$quote(value, nodeWithSpan, true);
  48080. },
  48081. _expressionNode$1: function(expression) {
  48082. if (!this._sourceMap)
  48083. return;
  48084. if (expression instanceof S.VariableExpression)
  48085. return this._evaluate$_environment.getVariableNode$2$namespace(expression.name, expression.namespace);
  48086. else
  48087. return expression;
  48088. },
  48089. _withParent$2$4$scopeWhen$through: function(node, callback, scopeWhen, through, $S, $T) {
  48090. var oldParent, result, _this = this;
  48091. _this._addChild$2$through(node, through);
  48092. oldParent = _this._evaluate$_parent;
  48093. _this._evaluate$_parent = node;
  48094. result = _this._evaluate$_environment.scope$1$2$when(callback, scopeWhen, $T);
  48095. _this._evaluate$_parent = oldParent;
  48096. return result;
  48097. },
  48098. _withParent$2$3$scopeWhen: function(node, callback, scopeWhen, $S, $T) {
  48099. return this._withParent$2$4$scopeWhen$through(node, callback, scopeWhen, null, $S, $T);
  48100. },
  48101. _withParent$2$2: function(node, callback, $S, $T) {
  48102. return this._withParent$2$4$scopeWhen$through(node, callback, true, null, $S, $T);
  48103. },
  48104. _addChild$2$through: function(node, through) {
  48105. var grandparent,
  48106. $parent = this._evaluate$_parent;
  48107. if (through != null) {
  48108. for (; through.call$1($parent);)
  48109. $parent = $parent._parent;
  48110. if ($parent.get$hasFollowingSibling()) {
  48111. grandparent = $parent._parent;
  48112. $parent = $parent.copyWithoutChildren$0();
  48113. grandparent.addChild$1($parent);
  48114. }
  48115. }
  48116. $parent.addChild$1(node);
  48117. },
  48118. _addChild$1: function(node) {
  48119. return this._addChild$2$through(node, null);
  48120. },
  48121. _withStyleRule$1$2: function(rule, callback) {
  48122. var result,
  48123. oldRule = this._styleRule;
  48124. this._styleRule = rule;
  48125. result = callback.call$0();
  48126. this._styleRule = oldRule;
  48127. return result;
  48128. },
  48129. _withStyleRule$2: function(rule, callback) {
  48130. return this._withStyleRule$1$2(rule, callback, null);
  48131. },
  48132. _withMediaQueries$1$2: function(queries, callback) {
  48133. var result,
  48134. oldMediaQueries = this._mediaQueries;
  48135. this._mediaQueries = queries;
  48136. result = callback.call$0();
  48137. this._mediaQueries = oldMediaQueries;
  48138. return result;
  48139. },
  48140. _withMediaQueries$2: function(queries, callback) {
  48141. return this._withMediaQueries$1$2(queries, callback, null);
  48142. },
  48143. _withStackFrame$1$3: function(member, nodeWithSpan, callback) {
  48144. var oldMember, result, _this = this,
  48145. t1 = _this._stack;
  48146. t1.push(new S.Tuple2(_this._member, nodeWithSpan, [P.String, B.AstNode]));
  48147. oldMember = _this._member;
  48148. _this._member = member;
  48149. result = callback.call$0();
  48150. _this._member = oldMember;
  48151. t1.pop();
  48152. return result;
  48153. },
  48154. _withStackFrame$3: function(member, nodeWithSpan, callback) {
  48155. return this._withStackFrame$1$3(member, nodeWithSpan, callback, null);
  48156. },
  48157. _stackFrame$2: function(member, span) {
  48158. var url = span.file.url;
  48159. return B.frameForSpan(span, member, url != null && this._importCache != null ? this._importCache.humanize$1(url) : url);
  48160. },
  48161. _stackTrace$1: function(span) {
  48162. var t3, _this = this,
  48163. t1 = A.Frame,
  48164. t2 = H.setRuntimeTypeInfo([], [t1]);
  48165. for (t3 = _this._stack, t3 = new H.MappedListIterable(t3, new R._EvaluateVisitor__stackTrace_closure(_this), [H.getTypeArgumentByIndex(t3, 0), t1]), t3 = new H.ListIterator(t3, t3.get$length(t3)); t3.moveNext$0();)
  48166. t2.push(t3.__internal$_current);
  48167. if (span != null)
  48168. t2.push(_this._stackFrame$2(_this._member, span));
  48169. return new Y.Trace(P.List_List$unmodifiable(new H.ReversedListIterable(t2, [H.getTypeArgumentByIndex(t2, 0)]), t1), new P._StringStackTrace(null));
  48170. },
  48171. _warn$3$deprecation: function(message, span, deprecation) {
  48172. return this._logger.warn$4$deprecation$span$trace(message, deprecation, span, this._stackTrace$1(span));
  48173. },
  48174. _warn$2: function(message, span) {
  48175. return this._warn$3$deprecation(message, span, false);
  48176. },
  48177. _evaluate$_exception$2: function(message, span) {
  48178. var t1 = span == null ? C.JSArray_methods.get$last(this._stack).item2.get$span() : span;
  48179. return new E.SassRuntimeException(this._stackTrace$1(span), message, t1);
  48180. },
  48181. _evaluate$_exception$1: function(message) {
  48182. return this._evaluate$_exception$2(message, null);
  48183. },
  48184. _adjustParseError$1$2: function(nodeWithSpan, callback) {
  48185. var error, errorText, span, syntheticFile, syntheticSpan, t1, exception, t2, t3, t4, t5, _null = null;
  48186. try {
  48187. t1 = callback.call$0();
  48188. return t1;
  48189. } catch (exception) {
  48190. t1 = H.unwrapException(exception);
  48191. if (t1 instanceof E.SassFormatException) {
  48192. error = t1;
  48193. t1 = error;
  48194. errorText = P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(G.SourceSpanException.prototype.get$span.call(t1).file._decodedChars, 0, _null), 0, _null);
  48195. span = nodeWithSpan.get$span();
  48196. t1 = span;
  48197. t2 = span;
  48198. syntheticFile = C.JSString_methods.replaceRange$3(P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(span.file._decodedChars, 0, _null), 0, _null), Y.FileLocation$_(t1.file, t1._start).offset, Y.FileLocation$_(t2.file, t2._end).offset, errorText);
  48199. t2 = syntheticFile;
  48200. t1 = span.file.url;
  48201. t2.toString;
  48202. t2 = new H.CodeUnits(t2);
  48203. t3 = H.setRuntimeTypeInfo([0], [P.int]);
  48204. t3 = new Y.SourceFile(t1, t3, new Uint32Array(H._ensureNativeList(t2.toList$0(t2))));
  48205. t3.SourceFile$decoded$2$url(t2, t1);
  48206. t1 = span;
  48207. t1 = Y.FileLocation$_(t1.file, t1._start);
  48208. t2 = error;
  48209. t2 = G.SourceSpanException.prototype.get$span.call(t2);
  48210. t2 = Y.FileLocation$_(t2.file, t2._start);
  48211. t4 = span;
  48212. t4 = Y.FileLocation$_(t4.file, t4._start);
  48213. t5 = error;
  48214. t5 = G.SourceSpanException.prototype.get$span.call(t5);
  48215. syntheticSpan = t3.span$2(t1.offset + t2.offset, t4.offset + Y.FileLocation$_(t5.file, t5._end).offset);
  48216. throw H.wrapException(this._evaluate$_exception$2(error._span_exception$_message, syntheticSpan));
  48217. } else
  48218. throw exception;
  48219. }
  48220. },
  48221. _adjustParseError$2: function(nodeWithSpan, callback) {
  48222. return this._adjustParseError$1$2(nodeWithSpan, callback, null);
  48223. },
  48224. _addExceptionSpan$1$2: function(nodeWithSpan, callback) {
  48225. var error, t1, exception;
  48226. try {
  48227. t1 = callback.call$0();
  48228. return t1;
  48229. } catch (exception) {
  48230. t1 = H.unwrapException(exception);
  48231. if (t1 instanceof E.SassScriptException) {
  48232. error = t1;
  48233. throw H.wrapException(this._evaluate$_exception$2(error.message, nodeWithSpan.get$span()));
  48234. } else
  48235. throw exception;
  48236. }
  48237. },
  48238. _addExceptionSpan$2: function(nodeWithSpan, callback) {
  48239. return this._addExceptionSpan$1$2(nodeWithSpan, callback, null);
  48240. }
  48241. };
  48242. R._EvaluateVisitor_closure.prototype = {
  48243. call$1: function($arguments) {
  48244. var module, t2,
  48245. t1 = J.getInterceptor$asx($arguments),
  48246. variable = t1.$index($arguments, 0).assertString$1("name");
  48247. t1 = t1.$index($arguments, 1).get$realNull();
  48248. module = t1 == null ? null : t1.assertString$1("module");
  48249. t1 = this.$this._evaluate$_environment;
  48250. t2 = variable.text;
  48251. t2.toString;
  48252. t2 = H.stringReplaceAllUnchecked(t2, "_", "-");
  48253. return t1.globalVariableExists$2$namespace(t2, module == null ? null : module.text) ? C.SassBoolean_true : C.SassBoolean_false;
  48254. },
  48255. $signature: 3
  48256. };
  48257. R._EvaluateVisitor_closure0.prototype = {
  48258. call$1: function($arguments) {
  48259. var variable = J.$index$asx($arguments, 0).assertString$1("name"),
  48260. t1 = this.$this._evaluate$_environment,
  48261. t2 = variable.text;
  48262. t2.toString;
  48263. return t1.getVariable$1(H.stringReplaceAllUnchecked(t2, "_", "-")) != null ? C.SassBoolean_true : C.SassBoolean_false;
  48264. },
  48265. $signature: 3
  48266. };
  48267. R._EvaluateVisitor_closure1.prototype = {
  48268. call$1: function($arguments) {
  48269. var module, t2, t3, t4,
  48270. t1 = J.getInterceptor$asx($arguments),
  48271. variable = t1.$index($arguments, 0).assertString$1("name");
  48272. t1 = t1.$index($arguments, 1).get$realNull();
  48273. module = t1 == null ? null : t1.assertString$1("module");
  48274. t1 = this.$this;
  48275. t2 = t1._evaluate$_environment;
  48276. t3 = variable.text;
  48277. t3.toString;
  48278. t4 = H.stringReplaceAllUnchecked(t3, "_", "-");
  48279. return t2.getFunction$2$namespace(t4, module == null ? null : module.text) != null || t1._builtInFunctions.containsKey$1(t3) ? C.SassBoolean_true : C.SassBoolean_false;
  48280. },
  48281. $signature: 3
  48282. };
  48283. R._EvaluateVisitor_closure2.prototype = {
  48284. call$1: function($arguments) {
  48285. var module, t2,
  48286. t1 = J.getInterceptor$asx($arguments),
  48287. variable = t1.$index($arguments, 0).assertString$1("name");
  48288. t1 = t1.$index($arguments, 1).get$realNull();
  48289. module = t1 == null ? null : t1.assertString$1("module");
  48290. t1 = this.$this._evaluate$_environment;
  48291. t2 = variable.text;
  48292. t2.toString;
  48293. t2 = H.stringReplaceAllUnchecked(t2, "_", "-");
  48294. return t1.getMixin$2$namespace(t2, module == null ? null : module.text) != null ? C.SassBoolean_true : C.SassBoolean_false;
  48295. },
  48296. $signature: 3
  48297. };
  48298. R._EvaluateVisitor_closure3.prototype = {
  48299. call$1: function($arguments) {
  48300. var t1 = this.$this._evaluate$_environment;
  48301. if (!t1._inMixin)
  48302. throw H.wrapException(E.SassScriptException$("content-exists() may only be called within a mixin."));
  48303. return t1._content != null ? C.SassBoolean_true : C.SassBoolean_false;
  48304. },
  48305. $signature: 3
  48306. };
  48307. R._EvaluateVisitor_closure4.prototype = {
  48308. call$1: function($arguments) {
  48309. var t2, t3, t4,
  48310. t1 = J.$index$asx($arguments, 0).assertString$1("module").text,
  48311. module = this.$this._evaluate$_environment._environment$_modules.$index(0, t1);
  48312. if (module == null)
  48313. throw H.wrapException('There is no module with namespace "' + H.S(t1) + '".');
  48314. t1 = F.Value;
  48315. t2 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
  48316. for (t3 = module.get$variables().get$entries(), t3 = t3.get$iterator(t3); t3.moveNext$0();) {
  48317. t4 = t3.get$current(t3);
  48318. t2.$indexSet(0, new D.SassString(t4.key, true), t4.value);
  48319. }
  48320. return new A.SassMap(H.ConstantMap_ConstantMap$from(t2, t1, t1));
  48321. },
  48322. $signature: 9
  48323. };
  48324. R._EvaluateVisitor_closure5.prototype = {
  48325. call$1: function($arguments) {
  48326. var t2, t3, t4,
  48327. t1 = J.$index$asx($arguments, 0).assertString$1("module").text,
  48328. module = this.$this._evaluate$_environment._environment$_modules.$index(0, t1);
  48329. if (module == null)
  48330. throw H.wrapException('There is no module with namespace "' + H.S(t1) + '".');
  48331. t1 = F.Value;
  48332. t2 = P.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
  48333. for (t3 = module.get$functions(module).get$entries(), t3 = t3.get$iterator(t3); t3.moveNext$0();) {
  48334. t4 = t3.get$current(t3);
  48335. t2.$indexSet(0, new D.SassString(t4.key, true), new F.SassFunction(t4.value));
  48336. }
  48337. return new A.SassMap(H.ConstantMap_ConstantMap$from(t2, t1, t1));
  48338. },
  48339. $signature: 9
  48340. };
  48341. R._EvaluateVisitor_closure6.prototype = {
  48342. call$1: function($arguments) {
  48343. var module, callable,
  48344. t1 = J.getInterceptor$asx($arguments),
  48345. $name = t1.$index($arguments, 0).assertString$1("name"),
  48346. css = t1.$index($arguments, 1).get$isTruthy();
  48347. t1 = t1.$index($arguments, 2).get$realNull();
  48348. module = t1 == null ? null : t1.assertString$1("module");
  48349. if (css && module != null)
  48350. throw H.wrapException("$css and $module may not both be passed at once.");
  48351. if (css)
  48352. callable = new L.PlainCssCallable($name.text);
  48353. else {
  48354. t1 = this.$this;
  48355. callable = t1._addExceptionSpan$2(t1._callableNode, new R._EvaluateVisitor__closure1(t1, $name, module));
  48356. }
  48357. if (callable != null)
  48358. return new F.SassFunction(callable);
  48359. throw H.wrapException("Function not found: " + $name.toString$0(0));
  48360. },
  48361. $signature: 33
  48362. };
  48363. R._EvaluateVisitor__closure1.prototype = {
  48364. call$0: function() {
  48365. var t1 = this.module;
  48366. t1 = t1 == null ? null : t1.text;
  48367. return this.$this._getFunction$2$namespace(this.name.text, t1);
  48368. }
  48369. };
  48370. R._EvaluateVisitor_closure7.prototype = {
  48371. call$1: function($arguments) {
  48372. var t2, t3, t4, t5, t6, t7, invocation, callable,
  48373. t1 = J.getInterceptor$asx($arguments),
  48374. $function = t1.$index($arguments, 0),
  48375. args = H.interceptedTypeCast(t1.$index($arguments, 1), "$isSassArgumentList");
  48376. t1 = T.Expression;
  48377. t2 = H.setRuntimeTypeInfo([], [t1]);
  48378. t3 = P.String;
  48379. t4 = this.$this;
  48380. t5 = t4._callableNode.span;
  48381. args._wereKeywordsAccessed = true;
  48382. t6 = args._keywords;
  48383. if (t6.get$isEmpty(t6))
  48384. t6 = null;
  48385. else {
  48386. args._wereKeywordsAccessed = true;
  48387. t7 = F.Value;
  48388. t7 = new F.ValueExpression(new A.SassMap(H.ConstantMap_ConstantMap$from(Y.mapMap(t6, new R._EvaluateVisitor__closure(), new R._EvaluateVisitor__closure0(), t3, t7, t7, t7), t7, t7)), t4._callableNode.span);
  48389. t6 = t7;
  48390. }
  48391. invocation = X.ArgumentInvocation$(t2, P.LinkedHashMap_LinkedHashMap$_empty(t3, t1), t5, t6, new F.ValueExpression(args, t5));
  48392. if ($function instanceof D.SassString) {
  48393. N.warn("Passing a string to call() is deprecated and will be illegal\nin Dart Sass 2.0.0. Use call(get-function(" + $function.toString$0(0) + ")) instead.", true);
  48394. return t4.visitFunctionExpression$1(new F.FunctionExpression(null, X.Interpolation$(H.setRuntimeTypeInfo([$function.text], [P.Object]), t4._callableNode.span), invocation, t4._callableNode.span));
  48395. }
  48396. callable = $function.assertFunction$1("function").callable;
  48397. if (!!J.getInterceptor$(callable).$isCallable)
  48398. return t4._runFunctionCallable$3(invocation, callable, t4._callableNode);
  48399. else
  48400. throw H.wrapException(E.SassScriptException$("The function " + H.S(callable.get$name()) + " is asynchronous.\nThis is probably caused by a bug in a Sass plugin."));
  48401. },
  48402. $signature: 0
  48403. };
  48404. R._EvaluateVisitor__closure.prototype = {
  48405. call$2: function(key, _) {
  48406. return new D.SassString(key, false);
  48407. }
  48408. };
  48409. R._EvaluateVisitor__closure0.prototype = {
  48410. call$2: function(_, value) {
  48411. return value;
  48412. }
  48413. };
  48414. R._EvaluateVisitor_run_closure.prototype = {
  48415. call$0: function() {
  48416. var t2, _this = this,
  48417. t1 = _this.node,
  48418. url = t1.span.file.url;
  48419. if (url != null) {
  48420. t2 = _this.$this;
  48421. t2._activeModules.add$1(0, url);
  48422. if (t2._nodeImporter != null)
  48423. if (url.get$scheme() === "file")
  48424. t2._includedFiles.add$1(0, $.$get$context().style.pathFromUri$1(M._parseUri(url)));
  48425. else if (url.toString$0(0) !== "stdin")
  48426. t2._includedFiles.add$1(0, url.toString$0(0));
  48427. }
  48428. t2 = _this.$this;
  48429. return new E.EvaluateResult(t2._combineCss$1(t2._execute$2(_this.importer, t1)), t2._includedFiles);
  48430. }
  48431. };
  48432. R._EvaluateVisitor_runExpression_closure.prototype = {
  48433. call$0: function() {
  48434. var t2, t3, t4,
  48435. t1 = this.$this;
  48436. t1._evaluate$_environment = O.Environment$(t1._sourceMap);
  48437. t2 = this.variables;
  48438. t3 = t2.get$keys();
  48439. t3 = J.get$iterator$ax(t3);
  48440. for (; t3.moveNext$0();) {
  48441. t4 = t3.get$current(t3);
  48442. t1._evaluate$_environment.setVariable$4$global(t4, t2.$index(0, t4), null, true);
  48443. }
  48444. return this.expression.accept$1(t1);
  48445. }
  48446. };
  48447. R._EvaluateVisitor__withWarnCallback_closure.prototype = {
  48448. call$2: function(message, deprecation) {
  48449. var t1 = this.$this,
  48450. t2 = t1._importSpan;
  48451. return t1._warn$3$deprecation(message, t2 == null ? t1._callableNode.span : t2, deprecation);
  48452. },
  48453. "call*": "call$2",
  48454. $requiredArgCount: 2
  48455. };
  48456. R._EvaluateVisitor__loadModule_closure.prototype = {
  48457. call$0: function() {
  48458. var module, error, exception, _this = this,
  48459. t1 = _this.$this,
  48460. result = B.inUseRule(new R._EvaluateVisitor__loadModule__closure(t1, _this.url, _this.nodeForSpan)),
  48461. importer = result.item1,
  48462. stylesheet = result.item2,
  48463. canonicalUrl = stylesheet.span.file.url,
  48464. t2 = t1._activeModules;
  48465. if (t2.contains$1(0, canonicalUrl))
  48466. throw H.wrapException(t1._evaluate$_exception$1("Module loop: this module is already being loaded."));
  48467. t2.add$1(0, canonicalUrl);
  48468. module = null;
  48469. try {
  48470. module = t1._execute$2(importer, stylesheet);
  48471. } finally {
  48472. t2.remove$1(0, canonicalUrl);
  48473. }
  48474. try {
  48475. _this.callback.call$1(module);
  48476. } catch (exception) {
  48477. t2 = H.unwrapException(exception);
  48478. if (t2 instanceof E.SassScriptException) {
  48479. error = t2;
  48480. throw H.wrapException(t1._evaluate$_exception$1(error.message));
  48481. } else
  48482. throw exception;
  48483. }
  48484. }
  48485. };
  48486. R._EvaluateVisitor__loadModule__closure.prototype = {
  48487. call$0: function() {
  48488. return this.$this._loadStylesheet$2(J.toString$0$(this.url), this.nodeForSpan.get$span());
  48489. }
  48490. };
  48491. R._EvaluateVisitor__execute_closure.prototype = {
  48492. call$0: function() {
  48493. var t3, extender, t1 = {},
  48494. t2 = this.$this,
  48495. environment = O.Environment$(t2._sourceMap);
  48496. t1.css = null;
  48497. t3 = M.SimpleSelector;
  48498. extender = new F.Extender(P.LinkedHashMap_LinkedHashMap$_empty(t3, [P.Set, X.ModifiableCssStyleRule]), P.LinkedHashMap_LinkedHashMap$_empty(t3, [P.Map, S.ComplexSelector, S.Extension]), P.LinkedHashMap_LinkedHashMap$_empty(t3, [P.List, S.Extension]), P.LinkedHashMap_LinkedHashMap$_empty(X.CssStyleRule, [P.List, F.CssMediaQuery]), P._LinkedIdentityHashMap__LinkedIdentityHashMap$es6(t3, P.int), new P._LinkedIdentityHashSet([S.ComplexSelector]), C.ExtendMode_normal);
  48499. t2._withEnvironment$2(environment, new R._EvaluateVisitor__execute__closure(t1, t2, this.importer, this.stylesheet, extender));
  48500. return O._EnvironmentModule__EnvironmentModule(environment, t1.css, extender, environment._forwardedModules);
  48501. }
  48502. };
  48503. R._EvaluateVisitor__execute__closure.prototype = {
  48504. call$0: function() {
  48505. var t2, t3, t4, t5, css, _this = this,
  48506. t1 = _this.$this,
  48507. oldImporter = t1._importer,
  48508. oldStylesheet = t1._stylesheet,
  48509. oldRoot = t1._root,
  48510. oldParent = t1._evaluate$_parent,
  48511. oldEndOfImports = t1._endOfImports,
  48512. oldOutOfOrderImports = t1._outOfOrderImports,
  48513. oldExtender = t1._extender,
  48514. oldStyleRule = t1._styleRule,
  48515. oldMediaQueries = t1._mediaQueries,
  48516. oldDeclarationName = t1._declarationName,
  48517. oldInUnknownAtRule = t1._inUnknownAtRule,
  48518. oldAtRootExcludingStyleRule = t1._atRootExcludingStyleRule,
  48519. oldInKeyframes = t1._inKeyframes;
  48520. t1._importer = _this.importer;
  48521. t2 = t1._stylesheet = _this.stylesheet;
  48522. t3 = t2.span;
  48523. t4 = B.ModifiableCssNode;
  48524. t5 = H.setRuntimeTypeInfo([], [t4]);
  48525. t1._evaluate$_parent = t1._root = new V.ModifiableCssStylesheet(t3, new P.UnmodifiableListView(t5, [t4]), t5);
  48526. t1._endOfImports = 0;
  48527. t1._outOfOrderImports = null;
  48528. t1._extender = _this.extender;
  48529. t1._declarationName = t1._mediaQueries = t1._styleRule = null;
  48530. t1._inKeyframes = t1._atRootExcludingStyleRule = t1._inUnknownAtRule = false;
  48531. t1.visitStylesheet$1(t2);
  48532. css = t1._outOfOrderImports == null ? t1._root : new V.CssStylesheet(new P.UnmodifiableListView(t1._addOutOfOrderImports$0(), [B.CssNode]), t3);
  48533. _this._box_0.css = css;
  48534. t1._importer = oldImporter;
  48535. t1._stylesheet = oldStylesheet;
  48536. t1._root = oldRoot;
  48537. t1._evaluate$_parent = oldParent;
  48538. t1._endOfImports = oldEndOfImports;
  48539. t1._outOfOrderImports = oldOutOfOrderImports;
  48540. t1._extender = oldExtender;
  48541. t1._styleRule = oldStyleRule;
  48542. t1._mediaQueries = oldMediaQueries;
  48543. t1._declarationName = oldDeclarationName;
  48544. t1._inUnknownAtRule = oldInUnknownAtRule;
  48545. t1._atRootExcludingStyleRule = oldAtRootExcludingStyleRule;
  48546. t1._inKeyframes = oldInKeyframes;
  48547. }
  48548. };
  48549. R._EvaluateVisitor__combineCss_closure.prototype = {
  48550. call$1: function(module) {
  48551. return module.get$transitivelyContainsCss();
  48552. }
  48553. };
  48554. R._EvaluateVisitor__combineCss_closure0.prototype = {
  48555. call$1: function(target) {
  48556. return !this.selectors.contains$1(0, target);
  48557. }
  48558. };
  48559. R._EvaluateVisitor__combineCss_closure1.prototype = {
  48560. call$1: function(module) {
  48561. return module.cloneCss$0();
  48562. }
  48563. };
  48564. R._EvaluateVisitor__extendModules_closure.prototype = {
  48565. call$1: function(target) {
  48566. return !this.originalSelectors.contains$1(0, target);
  48567. }
  48568. };
  48569. R._EvaluateVisitor__extendModules_closure0.prototype = {
  48570. call$0: function() {
  48571. return H.setRuntimeTypeInfo([], [F.Extender]);
  48572. }
  48573. };
  48574. R._EvaluateVisitor__topologicalModules_visitModule.prototype = {
  48575. call$1: function(module) {
  48576. var t1, t2, t3, _i, upstream;
  48577. for (t1 = module.get$upstream(), t2 = t1.length, t3 = this.seen, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
  48578. upstream = t1[_i];
  48579. if (upstream.get$transitivelyContainsCss() && t3.add$1(0, upstream))
  48580. this.call$1(upstream);
  48581. }
  48582. this.sorted.addFirst$1(module);
  48583. }
  48584. };
  48585. R._EvaluateVisitor_visitAtRootRule_closure.prototype = {
  48586. call$0: function() {
  48587. var t1 = S.SpanScanner$(this.resolved, null);
  48588. return new V.AtRootQueryParser(t1, this.$this._logger).parse$0();
  48589. }
  48590. };
  48591. R._EvaluateVisitor_visitAtRootRule_closure0.prototype = {
  48592. call$0: function() {
  48593. var t1, t2, t3, _i;
  48594. for (t1 = this.node.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i)
  48595. t1[_i].accept$1(t3);
  48596. }
  48597. };
  48598. R._EvaluateVisitor_visitAtRootRule_closure1.prototype = {
  48599. call$0: function() {
  48600. var t1, t2, t3, _i;
  48601. for (t1 = this.node.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i)
  48602. t1[_i].accept$1(t3);
  48603. },
  48604. "call*": "call$0",
  48605. $requiredArgCount: 0
  48606. };
  48607. R._EvaluateVisitor__scopeForAtRoot_closure.prototype = {
  48608. call$1: function(callback) {
  48609. var t1 = this.$this,
  48610. oldParent = t1._evaluate$_parent;
  48611. t1._evaluate$_parent = this.newParent;
  48612. t1._evaluate$_environment.scope$1$2$when(callback, this.node.hasDeclarations, -1);
  48613. t1._evaluate$_parent = oldParent;
  48614. }
  48615. };
  48616. R._EvaluateVisitor__scopeForAtRoot_closure0.prototype = {
  48617. call$1: function(callback) {
  48618. var t1 = this.$this,
  48619. oldAtRootExcludingStyleRule = t1._atRootExcludingStyleRule;
  48620. t1._atRootExcludingStyleRule = true;
  48621. this.innerScope.call$1(callback);
  48622. t1._atRootExcludingStyleRule = oldAtRootExcludingStyleRule;
  48623. }
  48624. };
  48625. R._EvaluateVisitor__scopeForAtRoot_closure1.prototype = {
  48626. call$1: function(callback) {
  48627. return this.$this._withMediaQueries$2(null, new R._EvaluateVisitor__scopeForAtRoot__closure(this.innerScope, callback));
  48628. }
  48629. };
  48630. R._EvaluateVisitor__scopeForAtRoot__closure.prototype = {
  48631. call$0: function() {
  48632. return this.innerScope.call$1(this.callback);
  48633. }
  48634. };
  48635. R._EvaluateVisitor__scopeForAtRoot_closure2.prototype = {
  48636. call$1: function(callback) {
  48637. var t1 = this.$this,
  48638. wasInKeyframes = t1._inKeyframes;
  48639. t1._inKeyframes = false;
  48640. this.innerScope.call$1(callback);
  48641. t1._inKeyframes = wasInKeyframes;
  48642. }
  48643. };
  48644. R._EvaluateVisitor__scopeForAtRoot_closure3.prototype = {
  48645. call$1: function($parent) {
  48646. return !!J.getInterceptor$($parent).$isCssAtRule;
  48647. }
  48648. };
  48649. R._EvaluateVisitor__scopeForAtRoot_closure4.prototype = {
  48650. call$1: function(callback) {
  48651. var t1 = this.$this,
  48652. wasInUnknownAtRule = t1._inUnknownAtRule;
  48653. t1._inUnknownAtRule = false;
  48654. this.innerScope.call$1(callback);
  48655. t1._inUnknownAtRule = wasInUnknownAtRule;
  48656. }
  48657. };
  48658. R._EvaluateVisitor_visitContentRule_closure.prototype = {
  48659. call$0: function() {
  48660. var t1, t2, t3, _i;
  48661. for (t1 = this.content.declaration.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i)
  48662. t1[_i].accept$1(t3);
  48663. return;
  48664. }
  48665. };
  48666. R._EvaluateVisitor_visitDeclaration_closure.prototype = {
  48667. call$0: function() {
  48668. var t1, t2, t3, _i;
  48669. for (t1 = this.node.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i)
  48670. t1[_i].accept$1(t3);
  48671. }
  48672. };
  48673. R._EvaluateVisitor_visitEachRule_closure.prototype = {
  48674. call$1: function(value) {
  48675. return this.$this._evaluate$_environment.setLocalVariable$3(C.JSArray_methods.get$first(this.node.variables), value.withoutSlash$0(), this.nodeForSpan);
  48676. }
  48677. };
  48678. R._EvaluateVisitor_visitEachRule_closure0.prototype = {
  48679. call$1: function(value) {
  48680. return this.$this._setMultipleVariables$3(this.node.variables, value, this.nodeForSpan);
  48681. }
  48682. };
  48683. R._EvaluateVisitor_visitEachRule_closure1.prototype = {
  48684. call$0: function() {
  48685. var _this = this,
  48686. t1 = _this.$this;
  48687. return t1._handleReturn$2(_this.list.get$asList(), new R._EvaluateVisitor_visitEachRule__closure(t1, _this.setVariables, _this.node));
  48688. }
  48689. };
  48690. R._EvaluateVisitor_visitEachRule__closure.prototype = {
  48691. call$1: function(element) {
  48692. var t1;
  48693. this.setVariables.call$1(element);
  48694. t1 = this.$this;
  48695. return t1._handleReturn$2(this.node.children, new R._EvaluateVisitor_visitEachRule___closure(t1));
  48696. }
  48697. };
  48698. R._EvaluateVisitor_visitEachRule___closure.prototype = {
  48699. call$1: function(child) {
  48700. return child.accept$1(this.$this);
  48701. }
  48702. };
  48703. R._EvaluateVisitor_visitExtendRule_closure.prototype = {
  48704. call$0: function() {
  48705. return D.SelectorList_SelectorList$parse(B.trimAscii(this.targetText.value, true), false, true, this.$this._logger);
  48706. }
  48707. };
  48708. R._EvaluateVisitor_visitAtRule_closure.prototype = {
  48709. call$0: function() {
  48710. var t3, _i,
  48711. t1 = this.$this,
  48712. t2 = t1._styleRule;
  48713. if (!(t2 != null && !t1._atRootExcludingStyleRule) || t1._inKeyframes)
  48714. for (t2 = this.node.children, t3 = t2.length, _i = 0; _i < t3; ++_i)
  48715. t2[_i].accept$1(t1);
  48716. else
  48717. t1._withParent$2$3$scopeWhen(X.ModifiableCssStyleRule$(t2.selector, t2.span, t2.originalSelector), new R._EvaluateVisitor_visitAtRule__closure(t1, this.node), false, X.ModifiableCssStyleRule, P.Null);
  48718. }
  48719. };
  48720. R._EvaluateVisitor_visitAtRule__closure.prototype = {
  48721. call$0: function() {
  48722. var t1, t2, t3, _i;
  48723. for (t1 = this.node.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i)
  48724. t1[_i].accept$1(t3);
  48725. }
  48726. };
  48727. R._EvaluateVisitor_visitAtRule_closure0.prototype = {
  48728. call$1: function(node) {
  48729. return !!J.getInterceptor$(node).$isCssStyleRule;
  48730. }
  48731. };
  48732. R._EvaluateVisitor_visitForRule_closure.prototype = {
  48733. call$0: function() {
  48734. return this.node.from.accept$1(this.$this).assertNumber$0();
  48735. }
  48736. };
  48737. R._EvaluateVisitor_visitForRule_closure0.prototype = {
  48738. call$0: function() {
  48739. return this.node.to.accept$1(this.$this).assertNumber$0();
  48740. }
  48741. };
  48742. R._EvaluateVisitor_visitForRule_closure1.prototype = {
  48743. call$0: function() {
  48744. var t1 = this.toNumber,
  48745. t2 = t1.numeratorUnits;
  48746. t1 = t1.denominatorUnits;
  48747. return T.SassNumber$withUnits(this.fromNumber.valueInUnits$2(t2, t1), t1, t2).assertInt$0();
  48748. }
  48749. };
  48750. R._EvaluateVisitor_visitForRule_closure2.prototype = {
  48751. call$0: function() {
  48752. return this.toNumber.assertInt$0();
  48753. }
  48754. };
  48755. R._EvaluateVisitor_visitForRule_closure3.prototype = {
  48756. call$0: function() {
  48757. var i, t3, t4, t5, t6, result, _this = this,
  48758. t1 = _this.$this,
  48759. t2 = _this.node,
  48760. nodeForSpan = t1._expressionNode$1(t2.from);
  48761. for (i = _this.from, t3 = _this._box_0, t4 = _this.direction, t5 = t2.children, t2 = t2.variable; i !== t3.to; i += t4) {
  48762. t6 = t1._evaluate$_environment;
  48763. t6.setLocalVariable$3(t2, new T.SassNumber(i, C.List_empty0, C.List_empty0, null), nodeForSpan);
  48764. result = t1._handleReturn$2(t5, new R._EvaluateVisitor_visitForRule__closure(t1));
  48765. if (result != null)
  48766. return result;
  48767. }
  48768. return;
  48769. }
  48770. };
  48771. R._EvaluateVisitor_visitForRule__closure.prototype = {
  48772. call$1: function(child) {
  48773. return child.accept$1(this.$this);
  48774. }
  48775. };
  48776. R._EvaluateVisitor_visitForwardRule_closure.prototype = {
  48777. call$1: function(module) {
  48778. this.$this._evaluate$_environment.forwardModule$2(module, this.node);
  48779. }
  48780. };
  48781. R._EvaluateVisitor_visitIfRule_closure.prototype = {
  48782. call$0: function() {
  48783. var t1 = this.$this;
  48784. return t1._handleReturn$2(this._box_0.clause.children, new R._EvaluateVisitor_visitIfRule__closure(t1));
  48785. }
  48786. };
  48787. R._EvaluateVisitor_visitIfRule__closure.prototype = {
  48788. call$1: function(child) {
  48789. return child.accept$1(this.$this);
  48790. }
  48791. };
  48792. R._EvaluateVisitor__visitDynamicImport_closure.prototype = {
  48793. call$0: function() {
  48794. var url, t3, t4, environment, module, visitor, _box_0 = {},
  48795. t1 = this.$this,
  48796. t2 = this.$import,
  48797. result = t1._loadStylesheet$2(t2.url, t2.span),
  48798. importer = result.item1,
  48799. stylesheet = result.item2;
  48800. t2 = stylesheet.span;
  48801. url = t2.file.url;
  48802. t3 = t1._activeModules;
  48803. if (!t3.add$1(0, url))
  48804. throw H.wrapException(t1._evaluate$_exception$1("This file is already being loaded."));
  48805. t3.add$1(0, url);
  48806. t4 = new P.UnmodifiableListView(stylesheet._uses, [T.UseRule]);
  48807. if (t4.get$length(t4) === 0) {
  48808. t4 = new P.UnmodifiableListView(stylesheet._forwards, [L.ForwardRule]);
  48809. t4 = t4.get$length(t4) === 0;
  48810. } else
  48811. t4 = false;
  48812. if (t4) {
  48813. t1._withEnvironment$2(t1._evaluate$_environment.global$0(), new R._EvaluateVisitor__visitDynamicImport__closure(t1, importer, stylesheet));
  48814. t3.remove$1(0, url);
  48815. return;
  48816. }
  48817. _box_0.children = null;
  48818. environment = t1._evaluate$_environment.global$0();
  48819. t1._withEnvironment$2(environment, new R._EvaluateVisitor__visitDynamicImport__closure0(_box_0, t1, importer, stylesheet));
  48820. module = O._EnvironmentModule__EnvironmentModule(environment, new V.CssStylesheet(new P.UnmodifiableListView(C.List_empty3, [B.CssNode]), t2), C.C_EmptyExtender, environment._forwardedModules);
  48821. t1._evaluate$_environment.importForwards$1(module);
  48822. if (module.transitivelyContainsCss)
  48823. t1._combineCss$2$clone(module, module.transitivelyContainsExtensions).accept$1(t1);
  48824. visitor = new R._ImportedCssVisitor(t1);
  48825. for (t1 = J.get$iterator$ax(_box_0.children); t1.moveNext$0();)
  48826. t1.get$current(t1).accept$1(visitor);
  48827. t3.remove$1(0, url);
  48828. }
  48829. };
  48830. R._EvaluateVisitor__visitDynamicImport__closure.prototype = {
  48831. call$0: function() {
  48832. var t2,
  48833. t1 = this.$this,
  48834. oldImporter = t1._importer,
  48835. oldStylesheet = t1._stylesheet;
  48836. t1._importer = this.importer;
  48837. t2 = this.stylesheet;
  48838. t1._stylesheet = t2;
  48839. t1.visitStylesheet$1(t2);
  48840. t1._importer = oldImporter;
  48841. t1._stylesheet = oldStylesheet;
  48842. }
  48843. };
  48844. R._EvaluateVisitor__visitDynamicImport__closure0.prototype = {
  48845. call$0: function() {
  48846. var t2, t3, t4, _this = this,
  48847. t1 = _this.$this,
  48848. oldImporter = t1._importer,
  48849. oldStylesheet = t1._stylesheet,
  48850. oldRoot = t1._root,
  48851. oldParent = t1._evaluate$_parent,
  48852. oldEndOfImports = t1._endOfImports,
  48853. oldOutOfOrderImports = t1._outOfOrderImports;
  48854. t1._importer = _this.importer;
  48855. t2 = t1._stylesheet = _this.stylesheet;
  48856. t3 = B.ModifiableCssNode;
  48857. t4 = H.setRuntimeTypeInfo([], [t3]);
  48858. t1._evaluate$_parent = t1._root = new V.ModifiableCssStylesheet(t2.span, new P.UnmodifiableListView(t4, [t3]), t4);
  48859. t1._endOfImports = 0;
  48860. t1._outOfOrderImports = null;
  48861. t1.visitStylesheet$1(t2);
  48862. _this._box_0.children = t1._addOutOfOrderImports$0();
  48863. t1._importer = oldImporter;
  48864. t1._stylesheet = oldStylesheet;
  48865. t1._root = oldRoot;
  48866. t1._evaluate$_parent = oldParent;
  48867. t1._endOfImports = oldEndOfImports;
  48868. t1._outOfOrderImports = oldOutOfOrderImports;
  48869. }
  48870. };
  48871. R._EvaluateVisitor_visitIncludeRule_closure.prototype = {
  48872. call$0: function() {
  48873. var t1 = this.node;
  48874. return this.$this._evaluate$_environment.getMixin$2$namespace(t1.name, t1.namespace);
  48875. }
  48876. };
  48877. R._EvaluateVisitor_visitIncludeRule_closure0.prototype = {
  48878. call$0: function() {
  48879. var t1 = this.$this,
  48880. t2 = t1._evaluate$_environment,
  48881. oldContent = t2._content;
  48882. t2._content = this.contentCallable;
  48883. new R._EvaluateVisitor_visitIncludeRule__closure(t1, this.mixin).call$0();
  48884. t2._content = oldContent;
  48885. return;
  48886. }
  48887. };
  48888. R._EvaluateVisitor_visitIncludeRule__closure.prototype = {
  48889. call$0: function() {
  48890. var t1 = this.$this,
  48891. t2 = t1._evaluate$_environment,
  48892. oldInMixin = t2._inMixin;
  48893. t2._inMixin = true;
  48894. new R._EvaluateVisitor_visitIncludeRule___closure(t1, this.mixin).call$0();
  48895. t2._inMixin = oldInMixin;
  48896. return;
  48897. }
  48898. };
  48899. R._EvaluateVisitor_visitIncludeRule___closure.prototype = {
  48900. call$0: function() {
  48901. var t1, t2, t3, _i;
  48902. for (t1 = this.mixin.declaration.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i)
  48903. t1[_i].accept$1(t3);
  48904. }
  48905. };
  48906. R._EvaluateVisitor_visitMediaRule_closure.prototype = {
  48907. call$0: function() {
  48908. var _this = this,
  48909. t1 = _this.$this,
  48910. t2 = _this.mergedQueries;
  48911. if (t2 == null)
  48912. t2 = _this.queries;
  48913. t1._withMediaQueries$2(t2, new R._EvaluateVisitor_visitMediaRule__closure(t1, _this.node));
  48914. }
  48915. };
  48916. R._EvaluateVisitor_visitMediaRule__closure.prototype = {
  48917. call$0: function() {
  48918. var t3, _i,
  48919. t1 = this.$this,
  48920. t2 = t1._styleRule;
  48921. if (!(t2 != null && !t1._atRootExcludingStyleRule))
  48922. for (t2 = this.node.children, t3 = t2.length, _i = 0; _i < t3; ++_i)
  48923. t2[_i].accept$1(t1);
  48924. else
  48925. t1._withParent$2$3$scopeWhen(X.ModifiableCssStyleRule$(t2.selector, t2.span, t2.originalSelector), new R._EvaluateVisitor_visitMediaRule___closure(t1, this.node), false, X.ModifiableCssStyleRule, P.Null);
  48926. }
  48927. };
  48928. R._EvaluateVisitor_visitMediaRule___closure.prototype = {
  48929. call$0: function() {
  48930. var t1, t2, t3, _i;
  48931. for (t1 = this.node.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i)
  48932. t1[_i].accept$1(t3);
  48933. }
  48934. };
  48935. R._EvaluateVisitor_visitMediaRule_closure0.prototype = {
  48936. call$1: function(node) {
  48937. var t1 = J.getInterceptor$(node);
  48938. if (!t1.$isCssStyleRule)
  48939. t1 = this.mergedQueries != null && !!t1.$isCssMediaRule;
  48940. else
  48941. t1 = true;
  48942. return t1;
  48943. }
  48944. };
  48945. R._EvaluateVisitor__visitMediaQueries_closure.prototype = {
  48946. call$0: function() {
  48947. var t1 = S.SpanScanner$(this.resolved, null);
  48948. return new F.MediaQueryParser(t1, this.$this._logger).parse$0();
  48949. }
  48950. };
  48951. R._EvaluateVisitor_visitStyleRule_closure.prototype = {
  48952. call$0: function() {
  48953. var t1 = S.SpanScanner$(this.selectorText.value, null);
  48954. return new E.KeyframeSelectorParser(t1, this.$this._logger).parse$0();
  48955. }
  48956. };
  48957. R._EvaluateVisitor_visitStyleRule_closure0.prototype = {
  48958. call$0: function() {
  48959. var t1, t2, t3, _i;
  48960. for (t1 = this.node.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i)
  48961. t1[_i].accept$1(t3);
  48962. }
  48963. };
  48964. R._EvaluateVisitor_visitStyleRule_closure1.prototype = {
  48965. call$1: function(node) {
  48966. return !!J.getInterceptor$(node).$isCssStyleRule;
  48967. }
  48968. };
  48969. R._EvaluateVisitor_visitStyleRule_closure2.prototype = {
  48970. call$0: function() {
  48971. var t1 = this.$this,
  48972. t2 = !t1._stylesheet.plainCss;
  48973. return D.SelectorList_SelectorList$parse(this.selectorText.value, t2, t2, t1._logger);
  48974. }
  48975. };
  48976. R._EvaluateVisitor_visitStyleRule_closure3.prototype = {
  48977. call$0: function() {
  48978. var t1 = this._box_0.parsedSelector,
  48979. t2 = this.$this,
  48980. t3 = t2._styleRule;
  48981. t3 = t3 == null ? null : t3.originalSelector;
  48982. return t1.resolveParentSelectors$2$implicitParent(t3, !t2._atRootExcludingStyleRule);
  48983. }
  48984. };
  48985. R._EvaluateVisitor_visitStyleRule_closure4.prototype = {
  48986. call$0: function() {
  48987. var t1 = this.$this;
  48988. t1._withStyleRule$2(this.rule, new R._EvaluateVisitor_visitStyleRule__closure(t1, this.node));
  48989. }
  48990. };
  48991. R._EvaluateVisitor_visitStyleRule__closure.prototype = {
  48992. call$0: function() {
  48993. var t1, t2, t3, _i;
  48994. for (t1 = this.node.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i)
  48995. t1[_i].accept$1(t3);
  48996. }
  48997. };
  48998. R._EvaluateVisitor_visitStyleRule_closure5.prototype = {
  48999. call$1: function(node) {
  49000. return !!J.getInterceptor$(node).$isCssStyleRule;
  49001. }
  49002. };
  49003. R._EvaluateVisitor_visitSupportsRule_closure.prototype = {
  49004. call$0: function() {
  49005. var t3, _i,
  49006. t1 = this.$this,
  49007. t2 = t1._styleRule;
  49008. if (!(t2 != null && !t1._atRootExcludingStyleRule))
  49009. for (t2 = this.node.children, t3 = t2.length, _i = 0; _i < t3; ++_i)
  49010. t2[_i].accept$1(t1);
  49011. else
  49012. t1._withParent$2$2(X.ModifiableCssStyleRule$(t2.selector, t2.span, t2.originalSelector), new R._EvaluateVisitor_visitSupportsRule__closure(t1, this.node), X.ModifiableCssStyleRule, P.Null);
  49013. }
  49014. };
  49015. R._EvaluateVisitor_visitSupportsRule__closure.prototype = {
  49016. call$0: function() {
  49017. var t1, t2, t3, _i;
  49018. for (t1 = this.node.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i)
  49019. t1[_i].accept$1(t3);
  49020. }
  49021. };
  49022. R._EvaluateVisitor_visitSupportsRule_closure0.prototype = {
  49023. call$1: function(node) {
  49024. return !!J.getInterceptor$(node).$isCssStyleRule;
  49025. }
  49026. };
  49027. R._EvaluateVisitor_visitVariableDeclaration_closure.prototype = {
  49028. call$0: function() {
  49029. var t1 = this.node;
  49030. return this.$this._evaluate$_environment.getVariable$2$namespace(t1.name, t1.namespace);
  49031. }
  49032. };
  49033. R._EvaluateVisitor_visitVariableDeclaration_closure0.prototype = {
  49034. call$0: function() {
  49035. var t1 = this.$this,
  49036. t2 = this.node;
  49037. t1._evaluate$_environment.setVariable$5$global$namespace(t2.name, this.value, t1._expressionNode$1(t2.expression), t2.isGlobal, t2.namespace);
  49038. }
  49039. };
  49040. R._EvaluateVisitor_visitUseRule_closure.prototype = {
  49041. call$1: function(module) {
  49042. this.$this._evaluate$_environment.addModule$2$namespace(module, this.node.namespace);
  49043. }
  49044. };
  49045. R._EvaluateVisitor_visitWarnRule_closure.prototype = {
  49046. call$0: function() {
  49047. return this.node.expression.accept$1(this.$this);
  49048. }
  49049. };
  49050. R._EvaluateVisitor_visitWhileRule_closure.prototype = {
  49051. call$0: function() {
  49052. var t1, t2, t3, result;
  49053. for (t1 = this.node, t2 = t1.condition, t3 = this.$this, t1 = t1.children; t2.accept$1(t3).get$isTruthy();) {
  49054. result = t3._handleReturn$2(t1, new R._EvaluateVisitor_visitWhileRule__closure(t3));
  49055. if (result != null)
  49056. return result;
  49057. }
  49058. return;
  49059. }
  49060. };
  49061. R._EvaluateVisitor_visitWhileRule__closure.prototype = {
  49062. call$1: function(child) {
  49063. return child.accept$1(this.$this);
  49064. }
  49065. };
  49066. R._EvaluateVisitor_visitBinaryOperationExpression_closure.prototype = {
  49067. call$0: function() {
  49068. var right, result,
  49069. t1 = this.node,
  49070. t2 = this.$this,
  49071. left = t1.left.accept$1(t2);
  49072. switch (t1.operator) {
  49073. case C.BinaryOperator_kjl:
  49074. right = t1.right.accept$1(t2);
  49075. left.toString;
  49076. t1 = N.serializeValue(left, false, true) + "=";
  49077. right.toString;
  49078. return new D.SassString(t1 + N.serializeValue(right, false, true), false);
  49079. case C.BinaryOperator_or_or_1:
  49080. return left.get$isTruthy() ? left : t1.right.accept$1(t2);
  49081. case C.BinaryOperator_and_and_2:
  49082. return left.get$isTruthy() ? t1.right.accept$1(t2) : left;
  49083. case C.BinaryOperator_YlX:
  49084. return J.$eq$(left, t1.right.accept$1(t2)) ? C.SassBoolean_true : C.SassBoolean_false;
  49085. case C.BinaryOperator_i5H:
  49086. return !J.$eq$(left, t1.right.accept$1(t2)) ? C.SassBoolean_true : C.SassBoolean_false;
  49087. case C.BinaryOperator_AcR:
  49088. return left.greaterThan$1(t1.right.accept$1(t2));
  49089. case C.BinaryOperator_1da:
  49090. return left.greaterThanOrEquals$1(t1.right.accept$1(t2));
  49091. case C.BinaryOperator_8qt:
  49092. return left.lessThan$1(t1.right.accept$1(t2));
  49093. case C.BinaryOperator_33h:
  49094. return left.lessThanOrEquals$1(t1.right.accept$1(t2));
  49095. case C.BinaryOperator_AcR0:
  49096. return left.plus$1(t1.right.accept$1(t2));
  49097. case C.BinaryOperator_iyO:
  49098. return left.minus$1(t1.right.accept$1(t2));
  49099. case C.BinaryOperator_O1M:
  49100. return left.times$1(t1.right.accept$1(t2));
  49101. case C.BinaryOperator_RTB:
  49102. right = t1.right.accept$1(t2);
  49103. result = left.dividedBy$1(right);
  49104. if (t1.allowsSlash && !!left.$isSassNumber && right instanceof T.SassNumber)
  49105. return H.interceptedTypeCast(result, "$isSassNumber").withSlash$2(left, right);
  49106. else
  49107. return result;
  49108. case C.BinaryOperator_2ad:
  49109. return left.modulo$1(t1.right.accept$1(t2));
  49110. default:
  49111. return;
  49112. }
  49113. }
  49114. };
  49115. R._EvaluateVisitor_visitVariableExpression_closure.prototype = {
  49116. call$0: function() {
  49117. var t1 = this.node;
  49118. return this.$this._evaluate$_environment.getVariable$2$namespace(t1.name, t1.namespace);
  49119. }
  49120. };
  49121. R._EvaluateVisitor_visitListExpression_closure.prototype = {
  49122. call$1: function(expression) {
  49123. return expression.accept$1(this.$this);
  49124. }
  49125. };
  49126. R._EvaluateVisitor_visitFunctionExpression_closure.prototype = {
  49127. call$0: function() {
  49128. var t1 = this.node.namespace,
  49129. t2 = this.plainName;
  49130. if (t1 == null)
  49131. t2 = H.stringReplaceAllUnchecked(t2, "_", "-");
  49132. return this.$this._getFunction$2$namespace(t2, t1);
  49133. }
  49134. };
  49135. R._EvaluateVisitor__runUserDefinedCallable_closure.prototype = {
  49136. call$0: function() {
  49137. var _this = this,
  49138. t1 = _this.$this,
  49139. t2 = _this.callable;
  49140. return t1._withEnvironment$2(t2.environment.closure$0(), new R._EvaluateVisitor__runUserDefinedCallable__closure(t1, _this.evaluated, t2, _this.nodeWithSpan, _this.run));
  49141. }
  49142. };
  49143. R._EvaluateVisitor__runUserDefinedCallable__closure.prototype = {
  49144. call$0: function() {
  49145. var _this = this,
  49146. t1 = _this.$this;
  49147. return t1._evaluate$_environment.scope$1$1(new R._EvaluateVisitor__runUserDefinedCallable___closure(t1, _this.evaluated, _this.callable, _this.nodeWithSpan, _this.run), F.Value);
  49148. }
  49149. };
  49150. R._EvaluateVisitor__runUserDefinedCallable___closure.prototype = {
  49151. call$0: function() {
  49152. var declaredArguments, minLength, t8, t9, i, t10, t11, t12, argument, value, t13, rest, argumentList, result, argumentWord, argumentNames, _this = this, _null = null,
  49153. t1 = _this.$this,
  49154. t2 = _this.evaluated,
  49155. t3 = t2.positional,
  49156. t4 = t3.length,
  49157. t5 = t2.named,
  49158. t6 = _this.callable.declaration.$arguments,
  49159. t7 = _this.nodeWithSpan;
  49160. t1._verifyArguments$4(t4, t5, t6, t7);
  49161. declaredArguments = t6.$arguments;
  49162. t4 = declaredArguments.length;
  49163. minLength = Math.min(t3.length, t4);
  49164. for (t8 = t1._sourceMap, t9 = t2.positionalNodes, i = 0; i < minLength; ++i) {
  49165. t10 = t1._evaluate$_environment;
  49166. t11 = declaredArguments[i].name;
  49167. t12 = t3[i].withoutSlash$0();
  49168. t10.setLocalVariable$3(t11, t12, t8 ? t9[i] : _null);
  49169. }
  49170. for (i = t3.length, t9 = t2.namedNodes; i < t4; ++i) {
  49171. argument = declaredArguments[i];
  49172. t10 = argument.name;
  49173. value = t5.remove$1(0, t10);
  49174. if (value == null)
  49175. value = argument.defaultValue.accept$1(t1);
  49176. t11 = t1._evaluate$_environment;
  49177. t12 = value.withoutSlash$0();
  49178. if (t8) {
  49179. t13 = t9.$index(0, t10);
  49180. if (t13 == null)
  49181. t13 = t1._expressionNode$1(argument.defaultValue);
  49182. } else
  49183. t13 = _null;
  49184. t11.setLocalVariable$3(t10, t12, t13);
  49185. }
  49186. t6 = t6.restArgument;
  49187. if (t6 != null) {
  49188. rest = t3.length > t4 ? C.JSArray_methods.sublist$1(t3, t4) : C.List_empty1;
  49189. t2 = t2.separator;
  49190. if (t2 === C.ListSeparator_undecided)
  49191. t2 = C.ListSeparator_comma;
  49192. t3 = F.Value;
  49193. argumentList = new D.SassArgumentList(H.ConstantMap_ConstantMap$from(t5, P.String, t3), P.List_List$unmodifiable(rest, t3), t2, false);
  49194. argumentList.SassList$3$brackets(rest, t2, false);
  49195. t1._evaluate$_environment.setLocalVariable$3(t6, argumentList, t7);
  49196. } else
  49197. argumentList = _null;
  49198. result = _this.run.call$0();
  49199. if (argumentList == null)
  49200. return result;
  49201. if (t5.get$isEmpty(t5))
  49202. return result;
  49203. if (argumentList._wereKeywordsAccessed)
  49204. return result;
  49205. t2 = t5.get$keys();
  49206. argumentWord = B.pluralize("argument", t2.get$length(t2), _null);
  49207. t5 = t5.get$keys();
  49208. argumentNames = B.toSentence(H.MappedIterable_MappedIterable(t5, new R._EvaluateVisitor__runUserDefinedCallable____closure(), H.getRuntimeTypeArgument(t5, "Iterable", 0), P.Object), "or");
  49209. throw H.wrapException(t1._evaluate$_exception$2("No " + argumentWord + " named " + H.S(argumentNames) + ".", t7.get$span()));
  49210. }
  49211. };
  49212. R._EvaluateVisitor__runUserDefinedCallable____closure.prototype = {
  49213. call$1: function($name) {
  49214. return "$" + H.S($name);
  49215. }
  49216. };
  49217. R._EvaluateVisitor__runFunctionCallable_closure.prototype = {
  49218. call$0: function() {
  49219. var t1, t2, t3, t4, _i, $returnValue;
  49220. for (t1 = this.callable.declaration, t2 = t1.children, t3 = t2.length, t4 = this.$this, _i = 0; _i < t3; ++_i) {
  49221. $returnValue = t2[_i].accept$1(t4);
  49222. if ($returnValue instanceof F.Value)
  49223. return $returnValue;
  49224. }
  49225. throw H.wrapException(t4._evaluate$_exception$2("Function finished without @return.", t1.span));
  49226. }
  49227. };
  49228. R._EvaluateVisitor__runBuiltInCallable_closure.prototype = {
  49229. call$0: function() {
  49230. return this.overload.verify$2(this.evaluated.positional.length, this.namedSet);
  49231. }
  49232. };
  49233. R._EvaluateVisitor__runBuiltInCallable_closure0.prototype = {
  49234. call$1: function($name) {
  49235. return "$" + H.S($name);
  49236. }
  49237. };
  49238. R._EvaluateVisitor__evaluateArguments_closure.prototype = {
  49239. call$2: function(_, expression) {
  49240. return expression.accept$1(this.$this);
  49241. }
  49242. };
  49243. R._EvaluateVisitor__evaluateArguments_closure0.prototype = {
  49244. call$2: function(_, expression) {
  49245. return this.$this._expressionNode$1(expression);
  49246. }
  49247. };
  49248. R._EvaluateVisitor__evaluateArguments_closure1.prototype = {
  49249. call$2: function(key, _) {
  49250. return H.interceptedTypeCast(key, "$isSassString").text;
  49251. },
  49252. $signature: 15
  49253. };
  49254. R._EvaluateVisitor__evaluateArguments_closure2.prototype = {
  49255. call$2: function(_, __) {
  49256. return this.restNodeForSpan;
  49257. },
  49258. $signature: 22
  49259. };
  49260. R._EvaluateVisitor__evaluateArguments_closure3.prototype = {
  49261. call$2: function(key, value) {
  49262. var t1;
  49263. this.named.$indexSet(0, key, value);
  49264. t1 = this.namedNodes;
  49265. if (t1 != null)
  49266. t1.$indexSet(0, key, this.restNodeForSpan);
  49267. }
  49268. };
  49269. R._EvaluateVisitor__evaluateArguments_closure4.prototype = {
  49270. call$2: function(key, _) {
  49271. return H.interceptedTypeCast(key, "$isSassString").text;
  49272. },
  49273. $signature: 15
  49274. };
  49275. R._EvaluateVisitor__evaluateArguments_closure5.prototype = {
  49276. call$2: function(_, __) {
  49277. return this.keywordRestNodeForSpan;
  49278. },
  49279. $signature: 22
  49280. };
  49281. R._EvaluateVisitor__evaluateMacroArguments_closure.prototype = {
  49282. call$1: function(value) {
  49283. return new F.ValueExpression(value, null);
  49284. }
  49285. };
  49286. R._EvaluateVisitor__evaluateMacroArguments_closure0.prototype = {
  49287. call$1: function(value) {
  49288. return new F.ValueExpression(value, null);
  49289. }
  49290. };
  49291. R._EvaluateVisitor__evaluateMacroArguments_closure1.prototype = {
  49292. call$2: function(key, value) {
  49293. this.named.$indexSet(0, key, new F.ValueExpression(value, null));
  49294. }
  49295. };
  49296. R._EvaluateVisitor__evaluateMacroArguments_closure2.prototype = {
  49297. call$1: function(value) {
  49298. return new F.ValueExpression(value, null);
  49299. }
  49300. };
  49301. R._EvaluateVisitor__addRestMap_closure.prototype = {
  49302. call$1: function(value) {
  49303. return H.subtypeOfRuntimeTypeCast(value, this.T);
  49304. }
  49305. };
  49306. R._EvaluateVisitor__addRestMap_closure0.prototype = {
  49307. call$2: function(key, value) {
  49308. var _this = this;
  49309. if (key instanceof D.SassString)
  49310. _this.values.$indexSet(0, key.text, _this._box_0.convert.call$1(value));
  49311. else
  49312. throw H.wrapException(_this.$this._evaluate$_exception$2("Variable keyword argument map must have string keys.\n" + H.S(key) + " is not a string in " + _this.map.toString$0(0) + ".", _this.nodeForSpan.get$span()));
  49313. }
  49314. };
  49315. R._EvaluateVisitor__verifyArguments_closure.prototype = {
  49316. call$0: function() {
  49317. return this.$arguments.verify$2(this.positional, new M.MapKeySet(this.named, [P.String]));
  49318. }
  49319. };
  49320. R._EvaluateVisitor_visitStringExpression_closure.prototype = {
  49321. call$1: function(value) {
  49322. var t1, result;
  49323. if (typeof value === "string")
  49324. return value;
  49325. H.interceptedTypeCast(value, "$isExpression");
  49326. t1 = this.$this;
  49327. result = value.accept$1(t1);
  49328. return result instanceof D.SassString ? result.text : t1._evaluate$_serialize$3$quote(result, value, false);
  49329. },
  49330. $signature: 21
  49331. };
  49332. R._EvaluateVisitor_visitCssAtRule_closure.prototype = {
  49333. call$0: function() {
  49334. var t1, t2;
  49335. for (t1 = this.node.children, t1 = new H.ListIterator(t1, t1.get$length(t1)), t2 = this.$this; t1.moveNext$0();)
  49336. t1.__internal$_current.accept$1(t2);
  49337. }
  49338. };
  49339. R._EvaluateVisitor_visitCssAtRule_closure0.prototype = {
  49340. call$1: function(node) {
  49341. return !!J.getInterceptor$(node).$isCssStyleRule;
  49342. }
  49343. };
  49344. R._EvaluateVisitor_visitCssKeyframeBlock_closure.prototype = {
  49345. call$0: function() {
  49346. var t1, t2;
  49347. for (t1 = this.node.children, t1 = new H.ListIterator(t1, t1.get$length(t1)), t2 = this.$this; t1.moveNext$0();)
  49348. t1.__internal$_current.accept$1(t2);
  49349. }
  49350. };
  49351. R._EvaluateVisitor_visitCssKeyframeBlock_closure0.prototype = {
  49352. call$1: function(node) {
  49353. return !!J.getInterceptor$(node).$isCssStyleRule;
  49354. }
  49355. };
  49356. R._EvaluateVisitor_visitCssMediaRule_closure.prototype = {
  49357. call$0: function() {
  49358. var _this = this,
  49359. t1 = _this.$this,
  49360. t2 = _this.mergedQueries;
  49361. if (t2 == null)
  49362. t2 = _this.node.queries;
  49363. t1._withMediaQueries$2(t2, new R._EvaluateVisitor_visitCssMediaRule__closure(t1, _this.node));
  49364. }
  49365. };
  49366. R._EvaluateVisitor_visitCssMediaRule__closure.prototype = {
  49367. call$0: function() {
  49368. var t1 = this.$this,
  49369. t2 = t1._styleRule;
  49370. if (!(t2 != null && !t1._atRootExcludingStyleRule))
  49371. for (t2 = this.node.children, t2 = new H.ListIterator(t2, t2.get$length(t2)); t2.moveNext$0();)
  49372. t2.__internal$_current.accept$1(t1);
  49373. else
  49374. t1._withParent$2$3$scopeWhen(X.ModifiableCssStyleRule$(t2.selector, t2.span, t2.originalSelector), new R._EvaluateVisitor_visitCssMediaRule___closure(t1, this.node), false, X.ModifiableCssStyleRule, P.Null);
  49375. }
  49376. };
  49377. R._EvaluateVisitor_visitCssMediaRule___closure.prototype = {
  49378. call$0: function() {
  49379. var t1, t2;
  49380. for (t1 = this.node.children, t1 = new H.ListIterator(t1, t1.get$length(t1)), t2 = this.$this; t1.moveNext$0();)
  49381. t1.__internal$_current.accept$1(t2);
  49382. }
  49383. };
  49384. R._EvaluateVisitor_visitCssMediaRule_closure0.prototype = {
  49385. call$1: function(node) {
  49386. var t1 = J.getInterceptor$(node);
  49387. if (!t1.$isCssStyleRule)
  49388. t1 = this.mergedQueries != null && !!t1.$isCssMediaRule;
  49389. else
  49390. t1 = true;
  49391. return t1;
  49392. }
  49393. };
  49394. R._EvaluateVisitor_visitCssStyleRule_closure.prototype = {
  49395. call$0: function() {
  49396. var t1 = this.$this;
  49397. t1._withStyleRule$2(this.rule, new R._EvaluateVisitor_visitCssStyleRule__closure(t1, this.node));
  49398. }
  49399. };
  49400. R._EvaluateVisitor_visitCssStyleRule__closure.prototype = {
  49401. call$0: function() {
  49402. var t1, t2;
  49403. for (t1 = this.node.children, t1 = new H.ListIterator(t1, t1.get$length(t1)), t2 = this.$this; t1.moveNext$0();)
  49404. t1.__internal$_current.accept$1(t2);
  49405. }
  49406. };
  49407. R._EvaluateVisitor_visitCssStyleRule_closure0.prototype = {
  49408. call$1: function(node) {
  49409. return !!J.getInterceptor$(node).$isCssStyleRule;
  49410. }
  49411. };
  49412. R._EvaluateVisitor_visitCssSupportsRule_closure.prototype = {
  49413. call$0: function() {
  49414. var t1 = this.$this,
  49415. t2 = t1._styleRule;
  49416. if (!(t2 != null && !t1._atRootExcludingStyleRule))
  49417. for (t2 = this.node.children, t2 = new H.ListIterator(t2, t2.get$length(t2)); t2.moveNext$0();)
  49418. t2.__internal$_current.accept$1(t1);
  49419. else
  49420. t1._withParent$2$2(X.ModifiableCssStyleRule$(t2.selector, t2.span, t2.originalSelector), new R._EvaluateVisitor_visitCssSupportsRule__closure(t1, this.node), X.ModifiableCssStyleRule, P.Null);
  49421. }
  49422. };
  49423. R._EvaluateVisitor_visitCssSupportsRule__closure.prototype = {
  49424. call$0: function() {
  49425. var t1, t2;
  49426. for (t1 = this.node.children, t1 = new H.ListIterator(t1, t1.get$length(t1)), t2 = this.$this; t1.moveNext$0();)
  49427. t1.__internal$_current.accept$1(t2);
  49428. }
  49429. };
  49430. R._EvaluateVisitor_visitCssSupportsRule_closure0.prototype = {
  49431. call$1: function(node) {
  49432. return !!J.getInterceptor$(node).$isCssStyleRule;
  49433. }
  49434. };
  49435. R._EvaluateVisitor__performInterpolation_closure.prototype = {
  49436. call$1: function(value) {
  49437. var t1, result, t2, t3;
  49438. if (typeof value === "string")
  49439. return value;
  49440. H.interceptedTypeCast(value, "$isExpression");
  49441. t1 = this.$this;
  49442. result = value.accept$1(t1);
  49443. if (this.warnForColor && result instanceof K.SassColor && $.$get$namesByColor().containsKey$1(result)) {
  49444. t2 = X.Interpolation$(H.setRuntimeTypeInfo([""], [P.Object]), null);
  49445. t3 = $.$get$namesByColor();
  49446. t1._warn$2("You probably don't mean to use the color value " + H.S(t3.$index(0, result)) + " in interpolation here.\nIt may end up represented as " + H.S(result) + ', which will likely produce invalid CSS.\nAlways quote color names when using them as strings or map keys (for example, "' + H.S(t3.$index(0, result)) + "\").\nIf you really want to use the color value here, use '" + new V.BinaryOperationExpression(C.BinaryOperator_AcR0, new D.StringExpression(t2, true), value, false).toString$0(0) + "'.", value.get$span());
  49447. }
  49448. return t1._evaluate$_serialize$3$quote(result, value, false);
  49449. },
  49450. $signature: 21
  49451. };
  49452. R._EvaluateVisitor__serialize_closure.prototype = {
  49453. call$0: function() {
  49454. var t1 = this.value;
  49455. t1.toString;
  49456. return N.serializeValue(t1, false, this.quote);
  49457. }
  49458. };
  49459. R._EvaluateVisitor__stackTrace_closure.prototype = {
  49460. call$1: function(tuple) {
  49461. return this.$this._stackFrame$2(tuple.item1, tuple.item2.get$span());
  49462. }
  49463. };
  49464. R._ImportedCssVisitor.prototype = {
  49465. visitCssAtRule$1: function(node) {
  49466. var t1 = node.isChildless ? null : new R._ImportedCssVisitor_visitCssAtRule_closure();
  49467. this._visitor._addChild$2$through(node, t1);
  49468. },
  49469. visitCssComment$1: function(node) {
  49470. return this._visitor._addChild$1(node);
  49471. },
  49472. visitCssDeclaration$1: function(node) {
  49473. },
  49474. visitCssImport$1: function(node) {
  49475. var t1 = this._visitor,
  49476. t2 = t1._evaluate$_parent,
  49477. t3 = t1._root;
  49478. if (t2 != t3)
  49479. t1._addChild$1(node);
  49480. else if (t1._endOfImports === J.get$length$asx(t3.children._collection$_source)) {
  49481. t1._addChild$1(node);
  49482. t1._endOfImports = t1._endOfImports + 1;
  49483. } else {
  49484. t2 = t1._outOfOrderImports;
  49485. (t2 == null ? t1._outOfOrderImports = H.setRuntimeTypeInfo([], [F.ModifiableCssImport]) : t2).push(node);
  49486. }
  49487. },
  49488. visitCssKeyframeBlock$1: function(node) {
  49489. },
  49490. visitCssMediaRule$1: function(node) {
  49491. var t1 = this._visitor,
  49492. t2 = t1._mediaQueries;
  49493. t1._addChild$2$through(node, new R._ImportedCssVisitor_visitCssMediaRule_closure(t2 == null || t1._mergeMediaQueries$2(t2, node.queries) != null));
  49494. },
  49495. visitCssStyleRule$1: function(node) {
  49496. return this._visitor._addChild$2$through(node, new R._ImportedCssVisitor_visitCssStyleRule_closure());
  49497. },
  49498. visitCssStylesheet$1: function(node) {
  49499. var t1;
  49500. for (t1 = node.children, t1 = new H.ListIterator(t1, t1.get$length(t1)); t1.moveNext$0();)
  49501. t1.__internal$_current.accept$1(this);
  49502. },
  49503. visitCssSupportsRule$1: function(node) {
  49504. return this._visitor._addChild$2$through(node, new R._ImportedCssVisitor_visitCssSupportsRule_closure());
  49505. }
  49506. };
  49507. R._ImportedCssVisitor_visitCssAtRule_closure.prototype = {
  49508. call$1: function(node) {
  49509. return !!J.getInterceptor$(node).$isCssStyleRule;
  49510. }
  49511. };
  49512. R._ImportedCssVisitor_visitCssMediaRule_closure.prototype = {
  49513. call$1: function(node) {
  49514. var t1 = J.getInterceptor$(node);
  49515. if (!t1.$isCssStyleRule)
  49516. t1 = this.hasBeenMerged && !!t1.$isCssMediaRule;
  49517. else
  49518. t1 = true;
  49519. return t1;
  49520. }
  49521. };
  49522. R._ImportedCssVisitor_visitCssStyleRule_closure.prototype = {
  49523. call$1: function(node) {
  49524. return !!J.getInterceptor$(node).$isCssStyleRule;
  49525. }
  49526. };
  49527. R._ImportedCssVisitor_visitCssSupportsRule_closure.prototype = {
  49528. call$1: function(node) {
  49529. return !!J.getInterceptor$(node).$isCssStyleRule;
  49530. }
  49531. };
  49532. R._ArgumentResults.prototype = {};
  49533. L._FindImportsVisitor.prototype = {
  49534. visitEachRule$1: function(node) {
  49535. },
  49536. visitForRule$1: function(node) {
  49537. },
  49538. visitIfRule$1: function(node) {
  49539. },
  49540. visitWhileRule$1: function(node) {
  49541. },
  49542. visitUseRule$1: function(node) {
  49543. this._imports.push(new B.DynamicImport(J.toString$0$(node.url), node.span));
  49544. },
  49545. visitImportRule$1: function(node) {
  49546. var t1, t2, t3, _i, $import;
  49547. for (t1 = node.imports, t2 = t1.length, t3 = this._imports, _i = 0; _i < t2; ++_i) {
  49548. $import = t1[_i];
  49549. if ($import instanceof B.DynamicImport)
  49550. t3.push($import);
  49551. }
  49552. }
  49553. };
  49554. D.RecursiveStatementVisitor.prototype = {
  49555. visitAtRootRule$1: function(node) {
  49556. return this.visitChildren$1(node);
  49557. },
  49558. visitAtRule$1: function(node) {
  49559. return node.children == null ? null : this.visitChildren$1(node);
  49560. },
  49561. visitContentBlock$1: function(node) {
  49562. return;
  49563. },
  49564. visitContentRule$1: function(node) {
  49565. this.visitArgumentInvocation$1(node.$arguments);
  49566. return;
  49567. },
  49568. visitDebugRule$1: function(node) {
  49569. return;
  49570. },
  49571. visitDeclaration$1: function(node) {
  49572. return node.children == null ? null : this.visitChildren$1(node);
  49573. },
  49574. visitErrorRule$1: function(node) {
  49575. return;
  49576. },
  49577. visitExtendRule$1: function(node) {
  49578. return;
  49579. },
  49580. visitForwardRule$1: function(node) {
  49581. return;
  49582. },
  49583. visitFunctionRule$1: function(node) {
  49584. return;
  49585. },
  49586. visitIncludeRule$1: function(node) {
  49587. this.visitArgumentInvocation$1(node.$arguments);
  49588. return;
  49589. },
  49590. visitLoudComment$1: function(node) {
  49591. return;
  49592. },
  49593. visitMediaRule$1: function(node) {
  49594. return this.visitChildren$1(node);
  49595. },
  49596. visitMixinRule$1: function(node) {
  49597. return;
  49598. },
  49599. visitReturnRule$1: function(node) {
  49600. return;
  49601. },
  49602. visitSilentComment$1: function(node) {
  49603. return;
  49604. },
  49605. visitStyleRule$1: function(node) {
  49606. return this.visitChildren$1(node);
  49607. },
  49608. visitStylesheet$1: function(node) {
  49609. return this.visitChildren$1(node);
  49610. },
  49611. visitSupportsRule$1: function(node) {
  49612. return this.visitChildren$1(node);
  49613. },
  49614. visitVariableDeclaration$1: function(node) {
  49615. return;
  49616. },
  49617. visitWarnRule$1: function(node) {
  49618. return;
  49619. },
  49620. visitArgumentInvocation$1: function(invocation) {
  49621. var t1, _i;
  49622. for (t1 = invocation.positional.length, _i = 0; _i < t1; ++_i)
  49623. ;
  49624. for (t1 = invocation.named.get$values(), t1 = t1.get$iterator(t1); t1.moveNext$0();)
  49625. t1.get$current(t1);
  49626. },
  49627. visitChildren$1: function(node) {
  49628. var t1, t2, _i;
  49629. for (t1 = node.children, t2 = t1.length, _i = 0; _i < t2; ++_i)
  49630. t1[_i].accept$1(this);
  49631. return;
  49632. }
  49633. };
  49634. N.serialize_closure.prototype = {
  49635. call$1: function(codeUnit) {
  49636. return codeUnit > 127;
  49637. },
  49638. $signature: 13
  49639. };
  49640. N._SerializeVisitor.prototype = {
  49641. visitCssStylesheet$1: function(node) {
  49642. var t1, t2, t3, previous, i, child, _this = this;
  49643. for (t1 = _this._style !== C.OutputStyle_compressed, t2 = _this._buffer, t3 = _this._lineFeed.text, previous = null, i = 0; i < J.get$length$asx(node.get$children()); ++i) {
  49644. child = J.$index$asx(node.get$children(), i);
  49645. if (_this._isInvisible$1(child))
  49646. continue;
  49647. if (previous != null) {
  49648. if (!!previous.$isCssParentNode ? previous.get$isChildless() : !previous.$isCssComment)
  49649. t2.writeCharCode$1(59);
  49650. if (t1)
  49651. t2.write$1(0, t3);
  49652. if (previous.get$isGroupEnd())
  49653. if (t1)
  49654. t2.write$1(0, t3);
  49655. }
  49656. child.accept$1(_this);
  49657. previous = child;
  49658. }
  49659. if (previous != null)
  49660. t1 = (!!previous.$isCssParentNode ? previous.get$isChildless() : !previous.$isCssComment) && t1;
  49661. else
  49662. t1 = false;
  49663. if (t1)
  49664. t2.writeCharCode$1(59);
  49665. },
  49666. visitCssComment$1: function(node) {
  49667. this._buffer.forSpan$2(node.span, new N._SerializeVisitor_visitCssComment_closure(this, node));
  49668. },
  49669. visitCssAtRule$1: function(node) {
  49670. var t1, _this = this;
  49671. _this._writeIndentation$0();
  49672. t1 = _this._buffer;
  49673. t1.forSpan$2(node.span, new N._SerializeVisitor_visitCssAtRule_closure(_this, node));
  49674. if (!node.isChildless) {
  49675. if (_this._style !== C.OutputStyle_compressed)
  49676. t1.writeCharCode$1(32);
  49677. _this._serialize$_visitChildren$1(node.children);
  49678. }
  49679. },
  49680. visitCssMediaRule$1: function(node) {
  49681. var t1, _this = this;
  49682. _this._writeIndentation$0();
  49683. t1 = _this._buffer;
  49684. t1.forSpan$2(node.span, new N._SerializeVisitor_visitCssMediaRule_closure(_this, node));
  49685. if (_this._style !== C.OutputStyle_compressed)
  49686. t1.writeCharCode$1(32);
  49687. _this._serialize$_visitChildren$1(node.children);
  49688. },
  49689. visitCssImport$1: function(node) {
  49690. this._writeIndentation$0();
  49691. this._buffer.forSpan$2(node.span, new N._SerializeVisitor_visitCssImport_closure(this, node));
  49692. },
  49693. _writeImportUrl$1: function(url) {
  49694. var urlContents, maybeQuote, _this = this;
  49695. if (_this._style !== C.OutputStyle_compressed || J._codeUnitAt$1$s(url, 0) !== 117) {
  49696. _this._buffer.write$1(0, url);
  49697. return;
  49698. }
  49699. urlContents = J.substring$2$s(url, 4, url.length - 1);
  49700. maybeQuote = C.JSString_methods._codeUnitAt$1(urlContents, 0);
  49701. if (maybeQuote === 39 || maybeQuote === 34)
  49702. _this._buffer.write$1(0, urlContents);
  49703. else
  49704. _this._visitQuotedString$1(urlContents);
  49705. },
  49706. visitCssKeyframeBlock$1: function(node) {
  49707. var t1, _this = this;
  49708. _this._writeIndentation$0();
  49709. t1 = _this._buffer;
  49710. t1.forSpan$2(node.selector.span, new N._SerializeVisitor_visitCssKeyframeBlock_closure(_this, node));
  49711. if (_this._style !== C.OutputStyle_compressed)
  49712. t1.writeCharCode$1(32);
  49713. _this._serialize$_visitChildren$1(node.children);
  49714. },
  49715. _visitMediaQuery$1: function(query) {
  49716. var t2, t3, _this = this,
  49717. t1 = query.modifier;
  49718. if (t1 != null) {
  49719. t2 = _this._buffer;
  49720. t2.write$1(0, t1);
  49721. t2.writeCharCode$1(32);
  49722. }
  49723. t1 = query.type;
  49724. if (t1 != null) {
  49725. t2 = _this._buffer;
  49726. t2.write$1(0, t1);
  49727. if (query.features.length !== 0)
  49728. t2.write$1(0, " and ");
  49729. }
  49730. t1 = query.features;
  49731. t2 = _this._style === C.OutputStyle_compressed ? "and " : " and ";
  49732. t3 = _this._buffer;
  49733. _this._writeBetween$3(t1, t2, t3.get$write(t3));
  49734. },
  49735. visitCssStyleRule$1: function(node) {
  49736. var t1, _this = this;
  49737. _this._writeIndentation$0();
  49738. t1 = _this._buffer;
  49739. t1.forSpan$2(node.selector.span, new N._SerializeVisitor_visitCssStyleRule_closure(_this, node));
  49740. if (_this._style !== C.OutputStyle_compressed)
  49741. t1.writeCharCode$1(32);
  49742. _this._serialize$_visitChildren$1(node.children);
  49743. },
  49744. visitCssSupportsRule$1: function(node) {
  49745. var t1, _this = this;
  49746. _this._writeIndentation$0();
  49747. t1 = _this._buffer;
  49748. t1.forSpan$2(node.span, new N._SerializeVisitor_visitCssSupportsRule_closure(_this, node));
  49749. if (_this._style !== C.OutputStyle_compressed)
  49750. t1.writeCharCode$1(32);
  49751. _this._serialize$_visitChildren$1(node.children);
  49752. },
  49753. visitCssDeclaration$1: function(node) {
  49754. var error, t1, exception, _this = this;
  49755. _this._writeIndentation$0();
  49756. _this._write$1(node.name);
  49757. t1 = _this._buffer;
  49758. t1.writeCharCode$1(58);
  49759. if (_this._isParsedCustomProperty$1(node))
  49760. t1.forSpan$2(node.value.span, new N._SerializeVisitor_visitCssDeclaration_closure(_this, node));
  49761. else {
  49762. if (_this._style !== C.OutputStyle_compressed)
  49763. t1.writeCharCode$1(32);
  49764. try {
  49765. t1.forSpan$2(node.valueSpanForMap, new N._SerializeVisitor_visitCssDeclaration_closure0(_this, node));
  49766. } catch (exception) {
  49767. t1 = H.unwrapException(exception);
  49768. if (t1 instanceof E.SassScriptException) {
  49769. error = t1;
  49770. throw H.wrapException(E.SassException$(error.message, node.value.span));
  49771. } else
  49772. throw exception;
  49773. }
  49774. }
  49775. },
  49776. _isParsedCustomProperty$1: function(node) {
  49777. var value;
  49778. if (!J.startsWith$1$s(node.name.get$value(), "--"))
  49779. return false;
  49780. value = node.value.value;
  49781. return value instanceof D.SassString && !value.hasQuotes;
  49782. },
  49783. _writeFoldedValue$1: function(node) {
  49784. var t1, t2, next, t3,
  49785. scanner = X.StringScanner$(H.interceptedTypeCast(node.value.value, "$isSassString").text, null, null);
  49786. for (t1 = scanner.string.length, t2 = this._buffer; scanner._string_scanner$_position !== t1;) {
  49787. next = scanner.readChar$0();
  49788. if (next !== 10) {
  49789. t2.writeCharCode$1(next);
  49790. continue;
  49791. }
  49792. t2.writeCharCode$1(32);
  49793. while (true) {
  49794. t3 = scanner.peekChar$0();
  49795. if (!(t3 === 32 || t3 === 9 || t3 === 10 || t3 === 13 || t3 === 12))
  49796. break;
  49797. scanner.readChar$0();
  49798. }
  49799. }
  49800. },
  49801. _writeReindentedValue$1: function(node) {
  49802. var _this = this,
  49803. t1 = node.value,
  49804. value = H.interceptedTypeCast(t1.value, "$isSassString").text,
  49805. minimumIndentation = _this._minimumIndentation$1(value);
  49806. if (minimumIndentation == null) {
  49807. _this._buffer.write$1(0, value);
  49808. return;
  49809. } else if (minimumIndentation === -1) {
  49810. t1 = _this._buffer;
  49811. t1.write$1(0, B.trimAsciiRight(value, true));
  49812. t1.writeCharCode$1(32);
  49813. return;
  49814. }
  49815. if (t1.span != null) {
  49816. t1 = node.name.get$span();
  49817. t1 = Y.FileLocation$_(t1.file, t1._start);
  49818. minimumIndentation = Math.min(minimumIndentation, t1.file.getColumn$1(t1.offset));
  49819. }
  49820. _this._writeWithIndent$2(value, minimumIndentation);
  49821. },
  49822. _minimumIndentation$1: function(text) {
  49823. var character, t2, min, next, min0,
  49824. scanner = new Z.LineScanner(null, text),
  49825. t1 = text.length;
  49826. while (true) {
  49827. if (scanner._string_scanner$_position !== t1) {
  49828. character = scanner.super$StringScanner$readChar();
  49829. scanner._adjustLineAndColumn$1(character);
  49830. t2 = character !== 10;
  49831. } else
  49832. t2 = false;
  49833. if (!t2)
  49834. break;
  49835. }
  49836. if (scanner._string_scanner$_position === t1)
  49837. return scanner.peekChar$1(-1) === 10 ? -1 : null;
  49838. for (min = null; scanner._string_scanner$_position !== t1;) {
  49839. for (; scanner._string_scanner$_position !== t1;) {
  49840. next = scanner.peekChar$0();
  49841. if (next !== 32 && next !== 9)
  49842. break;
  49843. scanner._adjustLineAndColumn$1(scanner.super$StringScanner$readChar());
  49844. }
  49845. if (scanner._string_scanner$_position === t1 || scanner.scanChar$1(10))
  49846. continue;
  49847. min0 = scanner._line_scanner$_column;
  49848. min = min == null ? min0 : Math.min(min, min0);
  49849. while (true) {
  49850. if (scanner._string_scanner$_position !== t1) {
  49851. character = scanner.super$StringScanner$readChar();
  49852. scanner._adjustLineAndColumn$1(character);
  49853. t2 = character !== 10;
  49854. } else
  49855. t2 = false;
  49856. if (!t2)
  49857. break;
  49858. }
  49859. }
  49860. return min == null ? -1 : min;
  49861. },
  49862. _writeWithIndent$2: function(text, minimumIndentation) {
  49863. var t1, t2, character, t3, lineStart, newlines, end,
  49864. scanner = new Z.LineScanner(null, text);
  49865. for (t1 = text.length, t2 = this._buffer; scanner._string_scanner$_position !== t1;) {
  49866. character = scanner.super$StringScanner$readChar();
  49867. scanner._adjustLineAndColumn$1(character);
  49868. if (character === 10)
  49869. break;
  49870. t2.writeCharCode$1(character);
  49871. }
  49872. for (t3 = J.getInterceptor$s(text); true;) {
  49873. lineStart = scanner._string_scanner$_position;
  49874. for (newlines = 1; true;) {
  49875. if (scanner._string_scanner$_position === t1) {
  49876. t2.writeCharCode$1(32);
  49877. return;
  49878. }
  49879. character = scanner.super$StringScanner$readChar();
  49880. scanner._adjustLineAndColumn$1(character);
  49881. if (character === 32 || character === 9)
  49882. continue;
  49883. if (character !== 10)
  49884. break;
  49885. lineStart = scanner._string_scanner$_position;
  49886. ++newlines;
  49887. }
  49888. this._writeTimes$2(10, newlines);
  49889. this._writeIndentation$0();
  49890. end = scanner._string_scanner$_position;
  49891. t2.write$1(0, t3.substring$2(text, lineStart + minimumIndentation, end));
  49892. for (; true;) {
  49893. if (scanner._string_scanner$_position === t1)
  49894. return;
  49895. character = scanner.super$StringScanner$readChar();
  49896. scanner._adjustLineAndColumn$1(character);
  49897. if (character === 10)
  49898. break;
  49899. t2.writeCharCode$1(character);
  49900. }
  49901. }
  49902. },
  49903. visitColor$1: function(value) {
  49904. var $name, hexLength, t2, t3, _this = this,
  49905. t1 = _this._style === C.OutputStyle_compressed;
  49906. if (t1 && Math.abs(value.alpha - 1) < $.$get$epsilon()) {
  49907. $name = $.$get$namesByColor().$index(0, value);
  49908. hexLength = _this._canUseShortHex$1(value) ? 4 : 7;
  49909. if ($name != null && $name.length <= hexLength)
  49910. _this._buffer.write$1(0, $name);
  49911. else {
  49912. t1 = _this._buffer;
  49913. if (_this._canUseShortHex$1(value)) {
  49914. t1.writeCharCode$1(35);
  49915. t1.writeCharCode$1(T.hexCharFor(value.get$red() & 15));
  49916. t1.writeCharCode$1(T.hexCharFor(value.get$green() & 15));
  49917. t1.writeCharCode$1(T.hexCharFor(value.get$blue() & 15));
  49918. } else {
  49919. t1.writeCharCode$1(35);
  49920. _this._writeHexComponent$1(value.get$red());
  49921. _this._writeHexComponent$1(value.get$green());
  49922. _this._writeHexComponent$1(value.get$blue());
  49923. }
  49924. }
  49925. return;
  49926. }
  49927. if (value.get$original() != null)
  49928. _this._buffer.write$1(0, value.get$original());
  49929. else {
  49930. t2 = $.$get$namesByColor();
  49931. if (t2.containsKey$1(value) && !(Math.abs(value.alpha - 0) < $.$get$epsilon()))
  49932. _this._buffer.write$1(0, t2.$index(0, value));
  49933. else {
  49934. t2 = value.alpha;
  49935. t3 = _this._buffer;
  49936. if (Math.abs(t2 - 1) < $.$get$epsilon()) {
  49937. t3.writeCharCode$1(35);
  49938. _this._writeHexComponent$1(value.get$red());
  49939. _this._writeHexComponent$1(value.get$green());
  49940. _this._writeHexComponent$1(value.get$blue());
  49941. } else {
  49942. t3.write$1(0, "rgba(" + H.S(value.get$red()));
  49943. t3.write$1(0, t1 ? "," : ", ");
  49944. t3.write$1(0, value.get$green());
  49945. t3.write$1(0, t1 ? "," : ", ");
  49946. t3.write$1(0, value.get$blue());
  49947. t3.write$1(0, t1 ? "," : ", ");
  49948. _this._writeNumber$1(t2);
  49949. t3.writeCharCode$1(41);
  49950. }
  49951. }
  49952. }
  49953. },
  49954. _canUseShortHex$1: function(color) {
  49955. var t1 = color.get$red();
  49956. if ((t1 & 15) === C.JSInt_methods._shrOtherPositive$1(t1, 4)) {
  49957. t1 = color.get$green();
  49958. if ((t1 & 15) === C.JSInt_methods._shrOtherPositive$1(t1, 4)) {
  49959. t1 = color.get$blue();
  49960. t1 = (t1 & 15) === C.JSInt_methods._shrOtherPositive$1(t1, 4);
  49961. } else
  49962. t1 = false;
  49963. } else
  49964. t1 = false;
  49965. return t1;
  49966. },
  49967. _writeHexComponent$1: function(color) {
  49968. var t1 = this._buffer;
  49969. t1.writeCharCode$1(T.hexCharFor(C.JSInt_methods._shrOtherPositive$1(color, 4)));
  49970. t1.writeCharCode$1(T.hexCharFor(color & 15));
  49971. },
  49972. visitList$1: function(value) {
  49973. var t2, singleton, t3, t4, _this = this,
  49974. t1 = value.hasBrackets;
  49975. if (t1)
  49976. _this._buffer.writeCharCode$1(91);
  49977. else if (value._list$_contents.length === 0) {
  49978. if (!_this._inspect)
  49979. throw H.wrapException(E.SassScriptException$("() isn't a valid CSS value."));
  49980. _this._buffer.write$1(0, "()");
  49981. return;
  49982. }
  49983. t2 = _this._inspect;
  49984. singleton = t2 && value._list$_contents.length === 1 && value.separator === C.ListSeparator_comma;
  49985. if (singleton && !t1)
  49986. _this._buffer.writeCharCode$1(40);
  49987. t3 = value._list$_contents;
  49988. t3 = t2 ? t3 : new H.WhereIterable(t3, new N._SerializeVisitor_visitList_closure(), [H.getTypeArgumentByIndex(t3, 0)]);
  49989. if (value.separator === C.ListSeparator_space)
  49990. t4 = " ";
  49991. else
  49992. t4 = _this._style === C.OutputStyle_compressed ? "," : ", ";
  49993. _this._writeBetween$3(t3, t4, t2 ? new N._SerializeVisitor_visitList_closure0(_this, value) : new N._SerializeVisitor_visitList_closure1(_this));
  49994. if (singleton) {
  49995. t2 = _this._buffer;
  49996. t2.writeCharCode$1(44);
  49997. if (!t1)
  49998. t2.writeCharCode$1(41);
  49999. }
  50000. if (t1)
  50001. _this._buffer.writeCharCode$1(93);
  50002. },
  50003. _elementNeedsParens$2: function(separator, value) {
  50004. var t1;
  50005. if (value instanceof D.SassList) {
  50006. if (value._list$_contents.length < 2)
  50007. return false;
  50008. if (value.hasBrackets)
  50009. return false;
  50010. t1 = value.separator;
  50011. return separator === C.ListSeparator_comma ? t1 === C.ListSeparator_comma : t1 !== C.ListSeparator_undecided;
  50012. }
  50013. return false;
  50014. },
  50015. visitMap$1: function(map) {
  50016. var t1, _this = this;
  50017. if (!_this._inspect)
  50018. throw H.wrapException(E.SassScriptException$(map.toString$0(0) + " isn't a valid CSS value."));
  50019. t1 = _this._buffer;
  50020. t1.writeCharCode$1(40);
  50021. _this._writeBetween$3(map.contents.get$keys(), ", ", new N._SerializeVisitor_visitMap_closure(_this, map));
  50022. t1.writeCharCode$1(41);
  50023. },
  50024. _writeMapElement$1: function(value) {
  50025. var needsParens = value instanceof D.SassList && value.separator === C.ListSeparator_comma && !value.hasBrackets;
  50026. if (needsParens)
  50027. this._buffer.writeCharCode$1(40);
  50028. value.accept$1(this);
  50029. if (needsParens)
  50030. this._buffer.writeCharCode$1(41);
  50031. },
  50032. visitNumber$1: function(value) {
  50033. var t2, _this = this,
  50034. t1 = value.asSlash;
  50035. if (t1 != null) {
  50036. _this.visitNumber$1(t1.item1);
  50037. _this._buffer.writeCharCode$1(47);
  50038. _this.visitNumber$1(t1.item2);
  50039. return;
  50040. }
  50041. _this._writeNumber$1(value.value);
  50042. if (!_this._inspect) {
  50043. t1 = value.numeratorUnits;
  50044. t2 = t1.length;
  50045. if (t2 > 1 || value.denominatorUnits.length !== 0)
  50046. throw H.wrapException(E.SassScriptException$(H.S(value) + " isn't a valid CSS value."));
  50047. if (t2 !== 0)
  50048. _this._buffer.write$1(0, C.JSArray_methods.get$first(t1));
  50049. } else
  50050. _this._buffer.write$1(0, value.get$unitString());
  50051. },
  50052. _writeNumber$1: function(number) {
  50053. var t1, text, text0, _this = this,
  50054. integer = T.fuzzyIsInt(number) ? J.round$0$n(number) : null;
  50055. if (integer != null) {
  50056. t1 = integer >= 1e21 ? _this._removeExponent$1(C.JSInt_methods.toString$0(integer)) : C.JSInt_methods.toString$0(integer);
  50057. _this._buffer.write$1(0, t1);
  50058. return;
  50059. }
  50060. text = number >= 1e21 ? _this._removeExponent$1(C.JSNumber_methods.toString$0(number)) : C.JSNumber_methods.toString$0(number);
  50061. text0 = _this._style === C.OutputStyle_compressed && C.JSString_methods._codeUnitAt$1(text, 0) === 48 ? C.JSString_methods.substring$1(text, 1) : text;
  50062. if (text.length < 12) {
  50063. _this._buffer.write$1(0, text0);
  50064. return;
  50065. }
  50066. _this._writeDecimal$1(text0);
  50067. },
  50068. _removeExponent$1: function(text) {
  50069. var exponent, buffer, t2, additionalZeroes, negative, _null = null,
  50070. t1 = text.length,
  50071. i = 0;
  50072. while (true) {
  50073. if (!(i < t1)) {
  50074. exponent = _null;
  50075. buffer = exponent;
  50076. break;
  50077. }
  50078. c$0: {
  50079. if (C.JSString_methods._codeUnitAt$1(text, i) !== 101)
  50080. break c$0;
  50081. buffer = new P.StringBuffer("");
  50082. t2 = H.Primitives_stringFromCharCode(C.JSString_methods._codeUnitAt$1(text, 0));
  50083. buffer._contents = t2;
  50084. if (i > 2)
  50085. buffer._contents = t2 + C.JSString_methods.substring$2(text, 2, i);
  50086. exponent = P.int_parse(C.JSString_methods.substring$2(text, i + 1, t1), _null, _null);
  50087. break;
  50088. }
  50089. ++i;
  50090. }
  50091. if (buffer == null)
  50092. return text;
  50093. if (exponent > 0) {
  50094. t1 = buffer._contents;
  50095. additionalZeroes = exponent - (t1.length - 1);
  50096. for (i = 0; i < additionalZeroes; ++i)
  50097. t1 = buffer._contents += H.Primitives_stringFromCharCode(48);
  50098. return t1.charCodeAt(0) == 0 ? t1 : t1;
  50099. } else {
  50100. negative = C.JSString_methods._codeUnitAt$1(text, 0) === 45;
  50101. t1 = (negative ? H.Primitives_stringFromCharCode(45) : "") + "0.";
  50102. for (i = -1; i > exponent; --i)
  50103. t1 += H.Primitives_stringFromCharCode(48);
  50104. if (negative) {
  50105. t2 = buffer._contents;
  50106. t2 = C.JSString_methods.substring$1(t2.charCodeAt(0) == 0 ? t2 : t2, 1);
  50107. } else
  50108. t2 = buffer;
  50109. t2 = t1 + H.S(t2);
  50110. return t2.charCodeAt(0) == 0 ? t2 : t2;
  50111. }
  50112. },
  50113. _writeDecimal$1: function(text) {
  50114. var t1, t2, textIndex, codeUnit, digits, t3, digitsIndex, digitsIndex0, textIndex0, newDigit, i;
  50115. for (t1 = text.length, t2 = this._buffer, textIndex = 0; textIndex < t1; ++textIndex) {
  50116. codeUnit = C.JSString_methods._codeUnitAt$1(text, textIndex);
  50117. if (codeUnit === 46) {
  50118. if (textIndex === t1 - 2 && C.JSString_methods.codeUnitAt$1(text, t1 - 1) === 48)
  50119. return;
  50120. t2.writeCharCode$1(codeUnit);
  50121. ++textIndex;
  50122. break;
  50123. }
  50124. t2.writeCharCode$1(codeUnit);
  50125. }
  50126. if (textIndex === t1)
  50127. return;
  50128. digits = new Uint8Array(10);
  50129. t3 = digits.length;
  50130. digitsIndex = 0;
  50131. while (true) {
  50132. if (!(textIndex < t1 && digitsIndex < t3))
  50133. break;
  50134. digitsIndex0 = digitsIndex + 1;
  50135. textIndex0 = textIndex + 1;
  50136. digits[digitsIndex] = C.JSString_methods._codeUnitAt$1(text, textIndex) - 48;
  50137. digitsIndex = digitsIndex0;
  50138. textIndex = textIndex0;
  50139. }
  50140. if (textIndex !== t1 && C.JSString_methods._codeUnitAt$1(text, textIndex) - 48 >= 5)
  50141. for (; digitsIndex >= 0; digitsIndex = digitsIndex0) {
  50142. digitsIndex0 = digitsIndex - 1;
  50143. newDigit = digits[digitsIndex0] + 1;
  50144. digits[digitsIndex0] = newDigit;
  50145. if (newDigit !== 10)
  50146. break;
  50147. }
  50148. while (true) {
  50149. if (!(digitsIndex > 0 && digits[digitsIndex - 1] === 0))
  50150. break;
  50151. --digitsIndex;
  50152. }
  50153. for (i = 0; i < digitsIndex; ++i)
  50154. t2.writeCharCode$1(48 + digits[i]);
  50155. },
  50156. _visitQuotedString$2$forceDoubleQuote: function(string, forceDoubleQuote) {
  50157. var t1, includesSingleQuote, includesDoubleQuote, i, char, t2, next, quote, _this = this,
  50158. buffer = forceDoubleQuote ? _this._buffer : new P.StringBuffer("");
  50159. if (forceDoubleQuote)
  50160. buffer.writeCharCode$1(34);
  50161. for (t1 = string.length, includesSingleQuote = false, includesDoubleQuote = false, i = 0; i < t1; ++i) {
  50162. char = C.JSString_methods._codeUnitAt$1(string, i);
  50163. switch (char) {
  50164. case 39:
  50165. if (forceDoubleQuote)
  50166. buffer.writeCharCode$1(39);
  50167. else {
  50168. if (includesDoubleQuote) {
  50169. _this._visitQuotedString$2$forceDoubleQuote(string, true);
  50170. return;
  50171. } else
  50172. buffer.writeCharCode$1(39);
  50173. includesSingleQuote = true;
  50174. }
  50175. break;
  50176. case 34:
  50177. if (forceDoubleQuote) {
  50178. buffer.writeCharCode$1(92);
  50179. buffer.writeCharCode$1(34);
  50180. } else {
  50181. if (includesSingleQuote) {
  50182. _this._visitQuotedString$2$forceDoubleQuote(string, true);
  50183. return;
  50184. } else
  50185. buffer.writeCharCode$1(34);
  50186. includesDoubleQuote = true;
  50187. }
  50188. break;
  50189. case 0:
  50190. case 1:
  50191. case 2:
  50192. case 3:
  50193. case 4:
  50194. case 5:
  50195. case 6:
  50196. case 7:
  50197. case 8:
  50198. case 10:
  50199. case 11:
  50200. case 12:
  50201. case 13:
  50202. case 14:
  50203. case 15:
  50204. case 16:
  50205. case 17:
  50206. case 18:
  50207. case 19:
  50208. case 20:
  50209. case 21:
  50210. case 22:
  50211. case 23:
  50212. case 24:
  50213. case 25:
  50214. case 26:
  50215. case 27:
  50216. case 28:
  50217. case 29:
  50218. case 30:
  50219. case 31:
  50220. buffer.writeCharCode$1(92);
  50221. if (char > 15) {
  50222. t2 = char >>> 4;
  50223. buffer.writeCharCode$1(t2 < 10 ? 48 + t2 : 87 + t2);
  50224. }
  50225. t2 = char & 15;
  50226. buffer.writeCharCode$1(t2 < 10 ? 48 + t2 : 87 + t2);
  50227. t2 = i + 1;
  50228. if (t1 === t2)
  50229. break;
  50230. next = C.JSString_methods._codeUnitAt$1(string, t2);
  50231. if (T.isHex(next) || next === 32 || next === 9)
  50232. buffer.writeCharCode$1(32);
  50233. break;
  50234. case 92:
  50235. buffer.writeCharCode$1(92);
  50236. buffer.writeCharCode$1(92);
  50237. break;
  50238. default:
  50239. buffer.writeCharCode$1(char);
  50240. break;
  50241. }
  50242. }
  50243. if (forceDoubleQuote)
  50244. buffer.writeCharCode$1(34);
  50245. else {
  50246. quote = includesDoubleQuote ? 39 : 34;
  50247. t1 = _this._buffer;
  50248. t1.writeCharCode$1(quote);
  50249. t1.write$1(0, buffer);
  50250. t1.writeCharCode$1(quote);
  50251. }
  50252. },
  50253. _visitQuotedString$1: function(string) {
  50254. return this._visitQuotedString$2$forceDoubleQuote(string, false);
  50255. },
  50256. _visitUnquotedString$1: function(string) {
  50257. var t1, t2, afterNewline, i, char;
  50258. for (t1 = string.length, t2 = this._buffer, afterNewline = false, i = 0; i < t1; ++i) {
  50259. char = C.JSString_methods._codeUnitAt$1(string, i);
  50260. switch (char) {
  50261. case 10:
  50262. t2.writeCharCode$1(32);
  50263. afterNewline = true;
  50264. break;
  50265. case 32:
  50266. if (!afterNewline)
  50267. t2.writeCharCode$1(32);
  50268. break;
  50269. default:
  50270. t2.writeCharCode$1(char);
  50271. afterNewline = false;
  50272. break;
  50273. }
  50274. }
  50275. },
  50276. visitComplexSelector$1: function(complex) {
  50277. var t1, t2, t3, t4, lastComponent, _i, component, t5;
  50278. for (t1 = complex.components, t2 = t1.length, t3 = this._buffer, t4 = this._style === C.OutputStyle_compressed, lastComponent = null, _i = 0; _i < t2; ++_i, lastComponent = component) {
  50279. component = t1[_i];
  50280. if (lastComponent != null)
  50281. if (!(t4 && !!lastComponent.$isCombinator))
  50282. t5 = !(t4 && component instanceof S.Combinator);
  50283. else
  50284. t5 = false;
  50285. else
  50286. t5 = false;
  50287. if (t5)
  50288. t3.write$1(0, " ");
  50289. if (component instanceof X.CompoundSelector)
  50290. this.visitCompoundSelector$1(component);
  50291. else
  50292. t3.write$1(0, component);
  50293. }
  50294. },
  50295. visitCompoundSelector$1: function(compound) {
  50296. var t2, t3, _i,
  50297. t1 = this._buffer,
  50298. start = t1.get$length(t1);
  50299. for (t2 = compound.components, t3 = t2.length, _i = 0; _i < t3; ++_i)
  50300. t2[_i].accept$1(this);
  50301. if (t1.get$length(t1) === start)
  50302. t1.writeCharCode$1(42);
  50303. },
  50304. visitSelectorList$1: function(list) {
  50305. var complexes, t1, t2, t3, t4, first, t5, _this = this;
  50306. if (_this._inspect)
  50307. complexes = list.components;
  50308. else {
  50309. t1 = list.components;
  50310. complexes = new H.WhereIterable(t1, new N._SerializeVisitor_visitSelectorList_closure(), [H.getTypeArgumentByIndex(t1, 0)]);
  50311. }
  50312. for (t1 = J.get$iterator$ax(complexes), t2 = _this._style !== C.OutputStyle_compressed, t3 = _this._buffer, t4 = _this._lineFeed.text, first = true; t1.moveNext$0();) {
  50313. t5 = t1.get$current(t1);
  50314. if (first)
  50315. first = false;
  50316. else {
  50317. t3.writeCharCode$1(44);
  50318. if (t5.lineBreak) {
  50319. if (t2)
  50320. t3.write$1(0, t4);
  50321. } else if (t2)
  50322. t3.writeCharCode$1(32);
  50323. }
  50324. _this.visitComplexSelector$1(t5);
  50325. }
  50326. },
  50327. visitPseudoSelector$1: function(pseudo) {
  50328. var t4, t5, t6,
  50329. t1 = pseudo.selector,
  50330. t2 = t1 == null,
  50331. t3 = !t2;
  50332. if (t3 && pseudo.name === "not" && t1.get$isInvisible())
  50333. return;
  50334. t4 = this._buffer;
  50335. t4.writeCharCode$1(58);
  50336. if (!pseudo.isSyntacticClass)
  50337. t4.writeCharCode$1(58);
  50338. t4.write$1(0, pseudo.name);
  50339. t5 = pseudo.argument;
  50340. t6 = t5 == null;
  50341. if (t6 && t2)
  50342. return;
  50343. t4.writeCharCode$1(40);
  50344. if (!t6) {
  50345. t4.write$1(0, t5);
  50346. if (t3)
  50347. t4.writeCharCode$1(32);
  50348. }
  50349. if (t3)
  50350. this.visitSelectorList$1(t1);
  50351. t4.writeCharCode$1(41);
  50352. },
  50353. _write$1: function(value) {
  50354. return this._buffer.forSpan$2(value.get$span(), new N._SerializeVisitor__write_closure(this, value));
  50355. },
  50356. _serialize$_visitChildren$1: function(children) {
  50357. var t3, _this = this, t1 = {},
  50358. t2 = _this._buffer;
  50359. t2.writeCharCode$1(123);
  50360. if (children.every$1(children, _this.get$_isInvisible())) {
  50361. t2.writeCharCode$1(125);
  50362. return;
  50363. }
  50364. _this._writeLineFeed$0();
  50365. t1.previous = null;
  50366. ++_this._indentation;
  50367. new N._SerializeVisitor__visitChildren_closure(t1, _this, children).call$0();
  50368. --_this._indentation;
  50369. t1 = t1.previous;
  50370. t3 = J.getInterceptor$(t1);
  50371. if ((!!t3.$isCssParentNode ? t1.get$isChildless() : !t3.$isCssComment) && _this._style !== C.OutputStyle_compressed)
  50372. t2.writeCharCode$1(59);
  50373. _this._writeLineFeed$0();
  50374. _this._writeIndentation$0();
  50375. t2.writeCharCode$1(125);
  50376. },
  50377. _writeLineFeed$0: function() {
  50378. if (this._style !== C.OutputStyle_compressed)
  50379. this._buffer.write$1(0, this._lineFeed.text);
  50380. },
  50381. _writeIndentation$0: function() {
  50382. var _this = this;
  50383. if (_this._style === C.OutputStyle_compressed)
  50384. return;
  50385. _this._writeTimes$2(_this._indentCharacter, _this._indentation * _this._indentWidth);
  50386. },
  50387. _writeTimes$2: function(char, times) {
  50388. var t1, i;
  50389. for (t1 = this._buffer, i = 0; i < times; ++i)
  50390. t1.writeCharCode$1(char);
  50391. },
  50392. _writeBetween$1$3: function(iterable, text, callback) {
  50393. var t1, t2, first, value;
  50394. for (t1 = J.get$iterator$ax(iterable), t2 = this._buffer, first = true; t1.moveNext$0();) {
  50395. value = t1.get$current(t1);
  50396. if (first)
  50397. first = false;
  50398. else
  50399. t2.write$1(0, text);
  50400. callback.call$1(value);
  50401. }
  50402. },
  50403. _writeBetween$3: function(iterable, text, callback) {
  50404. return this._writeBetween$1$3(iterable, text, callback, null);
  50405. },
  50406. _isInvisible$1: function(node) {
  50407. if (this._inspect)
  50408. return false;
  50409. if (this._style === C.OutputStyle_compressed && !!J.getInterceptor$(node).$isCssComment && J._codeUnitAt$1$s(node.text, 2) !== 33)
  50410. return true;
  50411. if (!!J.getInterceptor$(node).$isCssParentNode) {
  50412. if (!!node.$isCssAtRule)
  50413. return false;
  50414. if (!!node.$isCssStyleRule && node.selector.value.get$isInvisible())
  50415. return true;
  50416. return J.every$1$ax(node.get$children(), this.get$_isInvisible());
  50417. } else
  50418. return false;
  50419. }
  50420. };
  50421. N._SerializeVisitor_visitCssComment_closure.prototype = {
  50422. call$0: function() {
  50423. var t2, t3, minimumIndentation,
  50424. t1 = this.$this;
  50425. if (t1._style === C.OutputStyle_compressed && J._codeUnitAt$1$s(this.node.text, 2) !== 33)
  50426. return;
  50427. t2 = this.node;
  50428. t3 = t2.text;
  50429. minimumIndentation = t1._minimumIndentation$1(t3);
  50430. if (minimumIndentation == null) {
  50431. t1._writeIndentation$0();
  50432. t1._buffer.write$1(0, t3);
  50433. return;
  50434. }
  50435. t2 = t2.span;
  50436. if (t2 != null) {
  50437. t2 = Y.FileLocation$_(t2.file, t2._start);
  50438. minimumIndentation = Math.min(minimumIndentation, t2.file.getColumn$1(t2.offset));
  50439. }
  50440. t1._writeIndentation$0();
  50441. t1._writeWithIndent$2(t3, minimumIndentation);
  50442. }
  50443. };
  50444. N._SerializeVisitor_visitCssAtRule_closure.prototype = {
  50445. call$0: function() {
  50446. var t3,
  50447. t1 = this.$this,
  50448. t2 = t1._buffer;
  50449. t2.writeCharCode$1(64);
  50450. t3 = this.node;
  50451. t1._write$1(t3.name);
  50452. t3 = t3.value;
  50453. if (t3 != null) {
  50454. t2.writeCharCode$1(32);
  50455. t1._write$1(t3);
  50456. }
  50457. }
  50458. };
  50459. N._SerializeVisitor_visitCssMediaRule_closure.prototype = {
  50460. call$0: function() {
  50461. var t3, t4,
  50462. t1 = this.$this,
  50463. t2 = t1._buffer;
  50464. t2.write$1(0, "@media");
  50465. t3 = t1._style === C.OutputStyle_compressed;
  50466. if (t3) {
  50467. t4 = C.JSArray_methods.get$first(this.node.queries);
  50468. t4 = !(t4.modifier == null && t4.type == null);
  50469. } else
  50470. t4 = true;
  50471. if (t4)
  50472. t2.writeCharCode$1(32);
  50473. t2 = t3 ? "," : ", ";
  50474. t1._writeBetween$3(this.node.queries, t2, t1.get$_visitMediaQuery());
  50475. }
  50476. };
  50477. N._SerializeVisitor_visitCssImport_closure.prototype = {
  50478. call$0: function() {
  50479. var t3, t4, t5, t6,
  50480. t1 = this.$this,
  50481. t2 = t1._buffer;
  50482. t2.write$1(0, "@import");
  50483. t3 = t1._style === C.OutputStyle_compressed;
  50484. t4 = !t3;
  50485. if (t4)
  50486. t2.writeCharCode$1(32);
  50487. t5 = this.node;
  50488. t2.forSpan$2(t5.url.get$span(), new N._SerializeVisitor_visitCssImport__closure(t1, t5));
  50489. t6 = t5.supports;
  50490. if (t6 != null) {
  50491. if (t4)
  50492. t2.writeCharCode$1(32);
  50493. t1._write$1(t6);
  50494. }
  50495. t5 = t5.media;
  50496. if (t5 != null) {
  50497. if (t4)
  50498. t2.writeCharCode$1(32);
  50499. t2 = t3 ? "," : ", ";
  50500. t1._writeBetween$3(t5, t2, t1.get$_visitMediaQuery());
  50501. }
  50502. }
  50503. };
  50504. N._SerializeVisitor_visitCssImport__closure.prototype = {
  50505. call$0: function() {
  50506. return this.$this._writeImportUrl$1(this.node.url.get$value());
  50507. }
  50508. };
  50509. N._SerializeVisitor_visitCssKeyframeBlock_closure.prototype = {
  50510. call$0: function() {
  50511. var t1 = this.$this,
  50512. t2 = t1._style === C.OutputStyle_compressed ? "," : ", ",
  50513. t3 = t1._buffer;
  50514. return t1._writeBetween$3(this.node.selector.value, t2, t3.get$write(t3));
  50515. }
  50516. };
  50517. N._SerializeVisitor_visitCssStyleRule_closure.prototype = {
  50518. call$0: function() {
  50519. var t1 = this.node.selector.value;
  50520. t1.toString;
  50521. return this.$this.visitSelectorList$1(t1);
  50522. }
  50523. };
  50524. N._SerializeVisitor_visitCssSupportsRule_closure.prototype = {
  50525. call$0: function() {
  50526. var t1 = this.$this,
  50527. t2 = t1._buffer;
  50528. t2.write$1(0, "@supports");
  50529. if (!(t1._style === C.OutputStyle_compressed && J.codeUnitAt$1$s(this.node.condition.value, 0) === 40))
  50530. t2.writeCharCode$1(32);
  50531. t1._write$1(this.node.condition);
  50532. }
  50533. };
  50534. N._SerializeVisitor_visitCssDeclaration_closure.prototype = {
  50535. call$0: function() {
  50536. var t1 = this.$this,
  50537. t2 = this.node;
  50538. if (t1._style === C.OutputStyle_compressed)
  50539. t1._writeFoldedValue$1(t2);
  50540. else
  50541. t1._writeReindentedValue$1(t2);
  50542. }
  50543. };
  50544. N._SerializeVisitor_visitCssDeclaration_closure0.prototype = {
  50545. call$0: function() {
  50546. return this.node.value.value.accept$1(this.$this);
  50547. }
  50548. };
  50549. N._SerializeVisitor_visitList_closure.prototype = {
  50550. call$1: function(element) {
  50551. return !element.get$isBlank();
  50552. }
  50553. };
  50554. N._SerializeVisitor_visitList_closure0.prototype = {
  50555. call$1: function(element) {
  50556. var t1 = this.$this,
  50557. needsParens = t1._elementNeedsParens$2(this.value.separator, element);
  50558. if (needsParens)
  50559. t1._buffer.writeCharCode$1(40);
  50560. element.accept$1(t1);
  50561. if (needsParens)
  50562. t1._buffer.writeCharCode$1(41);
  50563. }
  50564. };
  50565. N._SerializeVisitor_visitList_closure1.prototype = {
  50566. call$1: function(element) {
  50567. element.accept$1(this.$this);
  50568. }
  50569. };
  50570. N._SerializeVisitor_visitMap_closure.prototype = {
  50571. call$1: function(key) {
  50572. var t1 = this.$this;
  50573. t1._writeMapElement$1(key);
  50574. t1._buffer.write$1(0, ": ");
  50575. t1._writeMapElement$1(this.map.contents.$index(0, key));
  50576. }
  50577. };
  50578. N._SerializeVisitor_visitSelectorList_closure.prototype = {
  50579. call$1: function(complex) {
  50580. return !complex.get$isInvisible();
  50581. }
  50582. };
  50583. N._SerializeVisitor__write_closure.prototype = {
  50584. call$0: function() {
  50585. return this.$this._buffer.write$1(0, this.value.get$value());
  50586. }
  50587. };
  50588. N._SerializeVisitor__visitChildren_closure.prototype = {
  50589. call$0: function() {
  50590. var t1, t2, t3, t4, t5, t6, i, child, t7;
  50591. for (t1 = this.children._collection$_source, t2 = J.getInterceptor$asx(t1), t3 = this._box_0, t4 = this.$this, t5 = t4._buffer, t6 = t4._lineFeed.text, i = 0; i < t2.get$length(t1); ++i) {
  50592. child = t2.elementAt$1(t1, i);
  50593. if (t4._isInvisible$1(child))
  50594. continue;
  50595. t7 = t3.previous;
  50596. if (t7 != null) {
  50597. if (!!t7.$isCssParentNode ? t7.get$isChildless() : !t7.$isCssComment)
  50598. t5.writeCharCode$1(59);
  50599. t7 = t4._style !== C.OutputStyle_compressed;
  50600. if (t7)
  50601. t5.write$1(0, t6);
  50602. if (t3.previous.get$isGroupEnd())
  50603. if (t7)
  50604. t5.write$1(0, t6);
  50605. }
  50606. t3.previous = child;
  50607. child.accept$1(t4);
  50608. }
  50609. }
  50610. };
  50611. N.OutputStyle.prototype = {
  50612. toString$0: function(_) {
  50613. return this._serialize$_name;
  50614. }
  50615. };
  50616. N.LineFeed.prototype = {
  50617. toString$0: function(_) {
  50618. return this.name;
  50619. }
  50620. };
  50621. N.SerializeResult.prototype = {};
  50622. N.withWarnCallback_closure.prototype = {
  50623. call$0: function() {
  50624. return this.callback.call$0();
  50625. },
  50626. "call*": "call$0",
  50627. $requiredArgCount: 0
  50628. };
  50629. L.Entry.prototype = {
  50630. compareTo$1: function(_, other) {
  50631. var t1, t2, t3,
  50632. res = this.target.compareTo$1(0, other.target);
  50633. if (res !== 0)
  50634. return res;
  50635. t1 = this.source;
  50636. t2 = J.toString$0$(t1.file.url);
  50637. t3 = other.source;
  50638. res = C.JSString_methods.compareTo$1(t2, J.toString$0$(t3.file.url));
  50639. if (res !== 0)
  50640. return res;
  50641. return t1.compareTo$1(0, t3);
  50642. },
  50643. $isComparable: 1,
  50644. $asComparable: function() {
  50645. return [L.Entry];
  50646. },
  50647. get$source: function() {
  50648. return this.source;
  50649. },
  50650. get$target: function() {
  50651. return this.target;
  50652. },
  50653. get$identifierName: function() {
  50654. return this.identifierName;
  50655. }
  50656. };
  50657. T.Mapping.prototype = {};
  50658. T.SingleMapping.prototype = {
  50659. toJson$1$includeSourceContents: function(includeSourceContents) {
  50660. var t1, t2, line, column, srcLine, srcColumn, srcUrlId, srcNameId, first, _i, entry, nextLine, i, t3, t4, _i0, segment, column0, t5, newUrlId, srcLine0, srcColumn0, srcNameId0, result, _this = this,
  50661. buff = new P.StringBuffer("");
  50662. for (t1 = _this.lines, t2 = t1.length, line = 0, column = 0, srcLine = 0, srcColumn = 0, srcUrlId = 0, srcNameId = 0, first = true, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
  50663. entry = t1[_i];
  50664. nextLine = entry.line;
  50665. if (nextLine > line) {
  50666. for (i = line; i < nextLine; ++i)
  50667. buff._contents += ";";
  50668. line = nextLine;
  50669. column = 0;
  50670. first = true;
  50671. }
  50672. for (t3 = entry.entries, t4 = t3.length, _i0 = 0; _i0 < t3.length; t3.length === t4 || (0, H.throwConcurrentModificationError)(t3), ++_i0, column = column0, first = false) {
  50673. segment = t3[_i0];
  50674. if (!first)
  50675. buff._contents += ",";
  50676. column0 = segment.column;
  50677. t5 = L.encodeVlq(column0 - column);
  50678. t5 = P.StringBuffer__writeAll(buff._contents, t5, "");
  50679. buff._contents = t5;
  50680. newUrlId = segment.sourceUrlId;
  50681. if (newUrlId == null)
  50682. continue;
  50683. t5 = P.StringBuffer__writeAll(t5, L.encodeVlq(newUrlId - srcUrlId), "");
  50684. buff._contents = t5;
  50685. srcLine0 = segment.sourceLine;
  50686. t5 = P.StringBuffer__writeAll(t5, L.encodeVlq(srcLine0 - srcLine), "");
  50687. buff._contents = t5;
  50688. srcColumn0 = segment.sourceColumn;
  50689. t5 = P.StringBuffer__writeAll(t5, L.encodeVlq(srcColumn0 - srcColumn), "");
  50690. buff._contents = t5;
  50691. srcNameId0 = segment.sourceNameId;
  50692. if (srcNameId0 == null) {
  50693. srcUrlId = newUrlId;
  50694. srcColumn = srcColumn0;
  50695. srcLine = srcLine0;
  50696. continue;
  50697. }
  50698. buff._contents = P.StringBuffer__writeAll(t5, L.encodeVlq(srcNameId0 - srcNameId), "");
  50699. srcNameId = srcNameId0;
  50700. srcUrlId = newUrlId;
  50701. srcColumn = srcColumn0;
  50702. srcLine = srcLine0;
  50703. }
  50704. }
  50705. t1 = _this.sourceRoot;
  50706. if (t1 == null)
  50707. t1 = "";
  50708. t2 = buff._contents;
  50709. t3 = P.String;
  50710. result = P.LinkedHashMap_LinkedHashMap$_literal(["version", 3, "sourceRoot", t1, "sources", _this.urls, "names", _this.names, "mappings", t2.charCodeAt(0) == 0 ? t2 : t2], t3, P.Object);
  50711. t1 = _this.targetUrl;
  50712. if (t1 != null)
  50713. result.$indexSet(0, "file", t1);
  50714. if (includeSourceContents) {
  50715. t1 = _this.files;
  50716. result.$indexSet(0, "sourcesContent", new H.MappedListIterable(t1, new T.SingleMapping_toJson_closure(), [H.getTypeArgumentByIndex(t1, 0), t3]).toList$0(0));
  50717. }
  50718. _this.extensions.forEach$1(0, new T.SingleMapping_toJson_closure0(result));
  50719. return result;
  50720. },
  50721. toJson$0: function() {
  50722. return this.toJson$1$includeSourceContents(false);
  50723. },
  50724. toString$0: function(_) {
  50725. var _this = this,
  50726. t1 = H.getRuntimeType(_this).toString$0(0);
  50727. t1 + " : [";
  50728. t1 = t1 + " : [targetUrl: " + H.S(_this.targetUrl) + ", sourceRoot: " + H.S(_this.sourceRoot) + ", urls: " + H.S(_this.urls) + ", names: " + H.S(_this.names) + ", lines: " + H.S(_this.lines) + "]";
  50729. return t1.charCodeAt(0) == 0 ? t1 : t1;
  50730. }
  50731. };
  50732. T.SingleMapping_SingleMapping$fromEntries_closure.prototype = {
  50733. call$0: function() {
  50734. var t1 = this.urls;
  50735. return t1.get$length(t1);
  50736. }
  50737. };
  50738. T.SingleMapping_SingleMapping$fromEntries_closure0.prototype = {
  50739. call$0: function() {
  50740. return H.interceptedTypeCast(this.sourceEntry.get$source(), "$isFileLocation").file;
  50741. }
  50742. };
  50743. T.SingleMapping_SingleMapping$fromEntries_closure1.prototype = {
  50744. call$1: function(i) {
  50745. return this.files.$index(0, i);
  50746. },
  50747. $signature: 54
  50748. };
  50749. T.SingleMapping_toJson_closure.prototype = {
  50750. call$1: function(file) {
  50751. return file == null ? null : P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(file._decodedChars, 0, null), 0, null);
  50752. }
  50753. };
  50754. T.SingleMapping_toJson_closure0.prototype = {
  50755. call$2: function($name, value) {
  50756. this.result.$indexSet(0, $name, value);
  50757. return value;
  50758. }
  50759. };
  50760. T.TargetLineEntry.prototype = {
  50761. toString$0: function(_) {
  50762. return H.getRuntimeType(this).toString$0(0) + ": " + this.line + " " + H.S(this.entries);
  50763. }
  50764. };
  50765. T.TargetEntry.prototype = {
  50766. toString$0: function(_) {
  50767. var _this = this;
  50768. return H.getRuntimeType(_this).toString$0(0) + ": (" + H.S(_this.column) + ", " + H.S(_this.sourceUrlId) + ", " + H.S(_this.sourceLine) + ", " + H.S(_this.sourceColumn) + ", " + H.S(_this.sourceNameId) + ")";
  50769. }
  50770. };
  50771. Y.SourceFile.prototype = {
  50772. get$length: function(_) {
  50773. return this._decodedChars.length;
  50774. },
  50775. get$lines: function() {
  50776. return this._lineStarts.length;
  50777. },
  50778. SourceFile$decoded$2$url: function(decodedChars, url) {
  50779. var t1, t2, t3, i, c, j;
  50780. for (t1 = this._decodedChars, t2 = t1.length, t3 = this._lineStarts, i = 0; i < t2; ++i) {
  50781. c = t1[i];
  50782. if (c === 13) {
  50783. j = i + 1;
  50784. if (j >= t2 || t1[j] !== 10)
  50785. c = 10;
  50786. }
  50787. if (c === 10)
  50788. t3.push(i + 1);
  50789. }
  50790. },
  50791. span$2: function(start, end) {
  50792. return Y._FileSpan$(this, start, end == null ? this._decodedChars.length : end);
  50793. },
  50794. getLine$1: function(offset) {
  50795. var t1, _this = this;
  50796. if (offset < 0)
  50797. throw H.wrapException(P.RangeError$("Offset may not be negative, was " + H.S(offset) + "."));
  50798. else if (offset > _this._decodedChars.length)
  50799. throw H.wrapException(P.RangeError$("Offset " + H.S(offset) + " must not be greater than the number of characters in the file, " + _this.get$length(_this) + "."));
  50800. t1 = _this._lineStarts;
  50801. if (offset < C.JSArray_methods.get$first(t1))
  50802. return -1;
  50803. if (offset >= C.JSArray_methods.get$last(t1))
  50804. return t1.length - 1;
  50805. if (_this._isNearCachedLine$1(offset))
  50806. return _this._cachedLine;
  50807. return _this._cachedLine = _this._binarySearch$1(offset) - 1;
  50808. },
  50809. _isNearCachedLine$1: function(offset) {
  50810. var t2, t3,
  50811. t1 = this._cachedLine;
  50812. if (t1 == null)
  50813. return false;
  50814. t2 = this._lineStarts;
  50815. if (offset < t2[t1])
  50816. return false;
  50817. t3 = t2.length;
  50818. if (t1 >= t3 - 1 || offset < t2[t1 + 1])
  50819. return true;
  50820. if (t1 >= t3 - 2 || offset < t2[t1 + 2]) {
  50821. this._cachedLine = t1 + 1;
  50822. return true;
  50823. }
  50824. return false;
  50825. },
  50826. _binarySearch$1: function(offset) {
  50827. var min, half,
  50828. t1 = this._lineStarts,
  50829. max = t1.length - 1;
  50830. for (min = 0; min < max;) {
  50831. half = min + C.JSInt_methods._tdivFast$1(max - min, 2);
  50832. if (t1[half] > offset)
  50833. max = half;
  50834. else
  50835. min = half + 1;
  50836. }
  50837. return max;
  50838. },
  50839. getColumn$1: function(offset) {
  50840. var line, lineStart, _this = this;
  50841. if (offset < 0)
  50842. throw H.wrapException(P.RangeError$("Offset may not be negative, was " + H.S(offset) + "."));
  50843. else if (offset > _this._decodedChars.length)
  50844. throw H.wrapException(P.RangeError$("Offset " + H.S(offset) + " must be not be greater than the number of characters in the file, " + _this.get$length(_this) + "."));
  50845. line = _this.getLine$1(offset);
  50846. lineStart = _this._lineStarts[line];
  50847. if (lineStart > offset)
  50848. throw H.wrapException(P.RangeError$("Line " + H.S(line) + " comes after offset " + H.S(offset) + "."));
  50849. return offset - lineStart;
  50850. },
  50851. getOffset$1: function(line) {
  50852. var t1, t2, result, t3;
  50853. if (line < 0)
  50854. throw H.wrapException(P.RangeError$("Line may not be negative, was " + H.S(line) + "."));
  50855. else {
  50856. t1 = this._lineStarts;
  50857. t2 = t1.length;
  50858. if (line >= t2)
  50859. throw H.wrapException(P.RangeError$("Line " + H.S(line) + " must be less than the number of lines in the file, " + this.get$lines() + "."));
  50860. }
  50861. result = t1[line];
  50862. if (result <= this._decodedChars.length) {
  50863. t3 = line + 1;
  50864. t1 = t3 < t2 && result >= t1[t3];
  50865. } else
  50866. t1 = true;
  50867. if (t1)
  50868. throw H.wrapException(P.RangeError$("Line " + H.S(line) + " doesn't have 0 columns."));
  50869. return result;
  50870. }
  50871. };
  50872. Y.FileLocation.prototype = {
  50873. get$sourceUrl: function() {
  50874. return this.file.url;
  50875. },
  50876. get$line: function() {
  50877. return this.file.getLine$1(this.offset);
  50878. },
  50879. get$column: function() {
  50880. return this.file.getColumn$1(this.offset);
  50881. },
  50882. pointSpan$0: function() {
  50883. var t1 = this.offset;
  50884. return Y._FileSpan$(this.file, t1, t1);
  50885. },
  50886. get$offset: function() {
  50887. return this.offset;
  50888. }
  50889. };
  50890. Y.FileSpan.prototype = {$isComparable: 1,
  50891. $asComparable: function() {
  50892. return [V.SourceSpan];
  50893. },
  50894. $isSourceSpan: 1,
  50895. $isSourceSpanWithContext: 1
  50896. };
  50897. Y._FileSpan.prototype = {
  50898. get$sourceUrl: function() {
  50899. return this.file.url;
  50900. },
  50901. get$length: function(_) {
  50902. return this._end - this._start;
  50903. },
  50904. get$start: function(_) {
  50905. return Y.FileLocation$_(this.file, this._start);
  50906. },
  50907. get$end: function(_) {
  50908. return Y.FileLocation$_(this.file, this._end);
  50909. },
  50910. get$text: function() {
  50911. return P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(this.file._decodedChars, this._start, this._end), 0, null);
  50912. },
  50913. get$context: function(_) {
  50914. var _this = this,
  50915. t1 = _this.file,
  50916. endOffset = _this._end,
  50917. endLine = t1.getLine$1(endOffset);
  50918. if (t1.getColumn$1(endOffset) === 0 && endLine !== 0) {
  50919. if (endOffset - _this._start === 0)
  50920. return endLine === t1._lineStarts.length - 1 ? "" : P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(t1._decodedChars, t1.getOffset$1(endLine), t1.getOffset$1(endLine + 1)), 0, null);
  50921. } else
  50922. endOffset = endLine === t1._lineStarts.length - 1 ? t1._decodedChars.length : t1.getOffset$1(endLine + 1);
  50923. return P.String_String$fromCharCodes(C.NativeUint32List_methods.sublist$2(t1._decodedChars, t1.getOffset$1(t1.getLine$1(_this._start)), endOffset), 0, null);
  50924. },
  50925. compareTo$1: function(_, other) {
  50926. var result;
  50927. if (!(other instanceof Y._FileSpan))
  50928. return this.super$SourceSpanMixin$compareTo(0, other);
  50929. result = J.compareTo$1$ns(this._start, other._start);
  50930. return result === 0 ? J.compareTo$1$ns(this._end, other._end) : result;
  50931. },
  50932. $eq: function(_, other) {
  50933. var _this = this;
  50934. if (other == null)
  50935. return false;
  50936. if (!J.getInterceptor$(other).$isFileSpan)
  50937. return _this.super$SourceSpanMixin$$eq(0, other);
  50938. return _this._start == other._start && _this._end == other._end && J.$eq$(_this.file.url, other.file.url);
  50939. },
  50940. get$hashCode: function(_) {
  50941. return Y.SourceSpanMixin.prototype.get$hashCode.call(this, this);
  50942. },
  50943. expand$1: function(_, other) {
  50944. var start, _this = this,
  50945. t1 = _this.file;
  50946. if (!J.$eq$(t1.url, other.file.url))
  50947. throw H.wrapException(P.ArgumentError$('Source URLs "' + H.S(_this.get$sourceUrl()) + '" and "' + H.S(other.get$sourceUrl()) + "\" don't match."));
  50948. start = Math.min(H.checkNum(_this._start), H.checkNum(other._start));
  50949. return Y._FileSpan$(t1, start, Math.max(H.checkNum(_this._end), H.checkNum(other._end)));
  50950. },
  50951. $isFileSpan: 1,
  50952. $isSourceSpanWithContext: 1
  50953. };
  50954. U.Highlighter.prototype = {
  50955. highlight$0: function() {
  50956. var t1, t2, lineStart, context, lines, t3, t4, lineNumber, _i, line, lastLineIndex, _this = this;
  50957. _this._writeSidebar$1$end($._glyphs.get$downEnd());
  50958. t1 = _this._highlighter$_buffer;
  50959. t1._contents += "\n";
  50960. t2 = _this._highlighter$_span;
  50961. lineStart = B.findLineStart(t2.get$context(t2), t2.get$text(), t2.get$start(t2).get$column());
  50962. context = t2.get$context(t2);
  50963. if (lineStart > 0) {
  50964. lines = C.JSString_methods.substring$2(context, 0, lineStart - 1).split("\n");
  50965. t3 = t2.get$start(t2).get$line();
  50966. t4 = lines.length;
  50967. lineNumber = t3 - t4;
  50968. for (t3 = _this._multiline, _i = 0; _i < t4; ++_i) {
  50969. line = lines[_i];
  50970. _this._writeSidebar$1$line(lineNumber);
  50971. t1._contents += C.JSString_methods.$mul(" ", t3 ? 3 : 1);
  50972. _this._writeText$1(line);
  50973. t1._contents += "\n";
  50974. ++lineNumber;
  50975. }
  50976. context = C.JSString_methods.substring$1(context, lineStart);
  50977. }
  50978. lines = H.setRuntimeTypeInfo(context.split("\n"), [P.String]);
  50979. lastLineIndex = t2.get$end(t2).get$line() - t2.get$start(t2).get$line();
  50980. if (J.get$length$asx(C.JSArray_methods.get$last(lines)) === 0 && lines.length > lastLineIndex + 1)
  50981. lines.pop();
  50982. _this._writeFirstLine$1(C.JSArray_methods.get$first(lines));
  50983. if (_this._multiline) {
  50984. _this._writeIntermediateLines$1(H.SubListIterable$(lines, 1, null, H.getTypeArgumentByIndex(lines, 0)).take$1(0, lastLineIndex - 1));
  50985. _this._writeLastLine$1(lines[lastLineIndex]);
  50986. }
  50987. _this._writeTrailingLines$1(H.SubListIterable$(lines, lastLineIndex + 1, null, H.getTypeArgumentByIndex(lines, 0)));
  50988. _this._writeSidebar$1$end($._glyphs.get$upEnd());
  50989. t1 = t1._contents;
  50990. return t1.charCodeAt(0) == 0 ? t1 : t1;
  50991. },
  50992. _writeFirstLine$1: function(line) {
  50993. var t3, t4, startColumn, endColumn, textBefore, textInside, tabsBefore, tabsInside, _this = this, t1 = {},
  50994. t2 = _this._highlighter$_span;
  50995. _this._writeSidebar$1$line(t2.get$start(t2).get$line());
  50996. t3 = t2.get$start(t2).get$column();
  50997. t4 = line.length;
  50998. startColumn = t1.startColumn = Math.min(H.checkNum(t3), t4);
  50999. endColumn = t1.endColumn = Math.min(startColumn + t2.get$end(t2).get$offset() - t2.get$start(t2).get$offset(), t4);
  51000. textBefore = J.substring$2$s(line, 0, startColumn);
  51001. t2 = _this._multiline;
  51002. if (t2 && _this._isOnlyWhitespace$1(textBefore)) {
  51003. t1 = _this._highlighter$_buffer;
  51004. t1._contents += " ";
  51005. _this._colorize$1(new U.Highlighter__writeFirstLine_closure(_this, line));
  51006. t1._contents += "\n";
  51007. return;
  51008. }
  51009. t3 = _this._highlighter$_buffer;
  51010. t3._contents += C.JSString_methods.$mul(" ", t2 ? 3 : 1);
  51011. _this._writeText$1(textBefore);
  51012. textInside = C.JSString_methods.substring$2(line, startColumn, endColumn);
  51013. _this._colorize$1(new U.Highlighter__writeFirstLine_closure0(_this, textInside));
  51014. _this._writeText$1(C.JSString_methods.substring$1(line, endColumn));
  51015. t3._contents += "\n";
  51016. tabsBefore = _this._countTabs$1(textBefore);
  51017. tabsInside = _this._countTabs$1(textInside);
  51018. startColumn += tabsBefore * 3;
  51019. t1.startColumn = startColumn;
  51020. t1.endColumn = endColumn + (tabsBefore + tabsInside) * 3;
  51021. _this._writeSidebar$0();
  51022. if (t2) {
  51023. t3._contents += " ";
  51024. _this._colorize$1(new U.Highlighter__writeFirstLine_closure1(t1, _this));
  51025. } else {
  51026. t3._contents += C.JSString_methods.$mul(" ", startColumn + 1);
  51027. _this._colorize$1(new U.Highlighter__writeFirstLine_closure2(t1, _this));
  51028. }
  51029. t3._contents += "\n";
  51030. },
  51031. _writeIntermediateLines$1: function(lines) {
  51032. var t2, t3, _this = this,
  51033. t1 = _this._highlighter$_span,
  51034. lineNumber = t1.get$start(t1).get$line() + 1;
  51035. for (t1 = new H.ListIterator(lines, lines.get$length(lines)), t2 = _this._highlighter$_buffer; t1.moveNext$0();) {
  51036. t3 = t1.__internal$_current;
  51037. _this._writeSidebar$1$line(lineNumber);
  51038. t2._contents += " ";
  51039. _this._colorize$1(new U.Highlighter__writeIntermediateLines_closure(_this, t3));
  51040. t2._contents += "\n";
  51041. ++lineNumber;
  51042. }
  51043. },
  51044. _writeLastLine$1: function(line) {
  51045. var t3, endColumn, textInside, _this = this, t1 = {},
  51046. t2 = _this._highlighter$_span;
  51047. _this._writeSidebar$1$line(t2.get$end(t2).get$line());
  51048. t2 = t2.get$end(t2).get$column();
  51049. t3 = line.length;
  51050. endColumn = t1.endColumn = Math.min(H.checkNum(t2), t3);
  51051. if (_this._multiline && endColumn === t3) {
  51052. t1 = _this._highlighter$_buffer;
  51053. t1._contents += " ";
  51054. _this._colorize$1(new U.Highlighter__writeLastLine_closure(_this, line));
  51055. t1._contents += "\n";
  51056. return;
  51057. }
  51058. t2 = _this._highlighter$_buffer;
  51059. t2._contents += " ";
  51060. textInside = J.substring$2$s(line, 0, endColumn);
  51061. _this._colorize$1(new U.Highlighter__writeLastLine_closure0(_this, textInside));
  51062. _this._writeText$1(C.JSString_methods.substring$1(line, endColumn));
  51063. t2._contents += "\n";
  51064. t1.endColumn = endColumn + _this._countTabs$1(textInside) * 3;
  51065. _this._writeSidebar$0();
  51066. t2._contents += " ";
  51067. _this._colorize$1(new U.Highlighter__writeLastLine_closure1(t1, _this));
  51068. t2._contents += "\n";
  51069. },
  51070. _writeTrailingLines$1: function(lines) {
  51071. var t2, t3, t4, _this = this,
  51072. t1 = _this._highlighter$_span,
  51073. lineNumber = t1.get$end(t1).get$line() + 1;
  51074. for (t1 = new H.ListIterator(lines, lines.get$length(lines)), t2 = _this._highlighter$_buffer, t3 = _this._multiline; t1.moveNext$0();) {
  51075. t4 = t1.__internal$_current;
  51076. _this._writeSidebar$1$line(lineNumber);
  51077. t2._contents += C.JSString_methods.$mul(" ", t3 ? 3 : 1);
  51078. _this._writeText$1(t4);
  51079. t2._contents += "\n";
  51080. ++lineNumber;
  51081. }
  51082. },
  51083. _writeText$1: function(text) {
  51084. var t1, t2, t3;
  51085. for (text.toString, t1 = new H.CodeUnits(text), t1 = new H.ListIterator(t1, t1.get$length(t1)), t2 = this._highlighter$_buffer; t1.moveNext$0();) {
  51086. t3 = t1.__internal$_current;
  51087. if (t3 === 9)
  51088. t2._contents += C.JSString_methods.$mul(" ", 4);
  51089. else
  51090. t2._contents += H.Primitives_stringFromCharCode(t3);
  51091. }
  51092. },
  51093. _writeSidebar$2$end$line: function(end, line) {
  51094. this._colorize$2$color(new U.Highlighter__writeSidebar_closure(this, line, end), "\x1b[34m");
  51095. },
  51096. _writeSidebar$1$end: function(end) {
  51097. return this._writeSidebar$2$end$line(end, null);
  51098. },
  51099. _writeSidebar$1$line: function(line) {
  51100. return this._writeSidebar$2$end$line(null, line);
  51101. },
  51102. _writeSidebar$0: function() {
  51103. return this._writeSidebar$2$end$line(null, null);
  51104. },
  51105. _countTabs$1: function(text) {
  51106. var t1, count;
  51107. for (t1 = new H.CodeUnits(text), t1 = new H.ListIterator(t1, t1.get$length(t1)), count = 0; t1.moveNext$0();)
  51108. if (t1.__internal$_current === 9)
  51109. ++count;
  51110. return count;
  51111. },
  51112. _isOnlyWhitespace$1: function(text) {
  51113. var t1, t2;
  51114. for (t1 = new H.CodeUnits(text), t1 = new H.ListIterator(t1, t1.get$length(t1)); t1.moveNext$0();) {
  51115. t2 = t1.__internal$_current;
  51116. if (t2 !== 32 && t2 !== 9)
  51117. return false;
  51118. }
  51119. return true;
  51120. },
  51121. _colorize$2$color: function(callback, color) {
  51122. var t1 = this._color,
  51123. t2 = t1 != null;
  51124. if (t2) {
  51125. t1 = color == null ? t1 : color;
  51126. this._highlighter$_buffer._contents += t1;
  51127. }
  51128. callback.call$0();
  51129. if (t2)
  51130. this._highlighter$_buffer._contents += "\x1b[0m";
  51131. },
  51132. _colorize$1: function(callback) {
  51133. return this._colorize$2$color(callback, null);
  51134. }
  51135. };
  51136. U.Highlighter__writeFirstLine_closure.prototype = {
  51137. call$0: function() {
  51138. var t1 = this.$this,
  51139. t2 = t1._highlighter$_buffer,
  51140. t3 = t2._contents += $._glyphs.glyphOrAscii$2("\u250c", "/");
  51141. t2._contents = t3 + " ";
  51142. t1._writeText$1(this.line);
  51143. }
  51144. };
  51145. U.Highlighter__writeFirstLine_closure0.prototype = {
  51146. call$0: function() {
  51147. return this.$this._writeText$1(this.textInside);
  51148. }
  51149. };
  51150. U.Highlighter__writeFirstLine_closure1.prototype = {
  51151. call$0: function() {
  51152. var t2,
  51153. t1 = this.$this._highlighter$_buffer;
  51154. t1._contents += $._glyphs.get$topLeftCorner();
  51155. t2 = t1._contents += C.JSString_methods.$mul($._glyphs.get$horizontalLine(), this._box_0.startColumn + 1);
  51156. t1._contents = t2 + "^";
  51157. }
  51158. };
  51159. U.Highlighter__writeFirstLine_closure2.prototype = {
  51160. call$0: function() {
  51161. var t1 = this._box_0;
  51162. this.$this._highlighter$_buffer._contents += C.JSString_methods.$mul("^", Math.max(t1.endColumn - t1.startColumn, 1));
  51163. return;
  51164. }
  51165. };
  51166. U.Highlighter__writeIntermediateLines_closure.prototype = {
  51167. call$0: function() {
  51168. var t1 = this.$this,
  51169. t2 = t1._highlighter$_buffer,
  51170. t3 = t2._contents += $._glyphs.get$verticalLine();
  51171. t2._contents = t3 + " ";
  51172. t1._writeText$1(this.line);
  51173. }
  51174. };
  51175. U.Highlighter__writeLastLine_closure.prototype = {
  51176. call$0: function() {
  51177. var t1 = this.$this,
  51178. t2 = t1._highlighter$_buffer,
  51179. t3 = t2._contents += $._glyphs.glyphOrAscii$2("\u2514", "\\");
  51180. t2._contents = t3 + " ";
  51181. t1._writeText$1(this.line);
  51182. }
  51183. };
  51184. U.Highlighter__writeLastLine_closure0.prototype = {
  51185. call$0: function() {
  51186. var t1 = this.$this,
  51187. t2 = t1._highlighter$_buffer,
  51188. t3 = t2._contents += $._glyphs.get$verticalLine();
  51189. t2._contents = t3 + " ";
  51190. t1._writeText$1(this.textInside);
  51191. }
  51192. };
  51193. U.Highlighter__writeLastLine_closure1.prototype = {
  51194. call$0: function() {
  51195. var t2,
  51196. t1 = this.$this._highlighter$_buffer;
  51197. t1._contents += $._glyphs.get$bottomLeftCorner();
  51198. t2 = t1._contents += C.JSString_methods.$mul($._glyphs.get$horizontalLine(), this._box_0.endColumn);
  51199. t1._contents = t2 + "^";
  51200. }
  51201. };
  51202. U.Highlighter__writeSidebar_closure.prototype = {
  51203. call$0: function() {
  51204. var t1 = this.line,
  51205. t2 = this.$this,
  51206. t3 = t2._highlighter$_buffer;
  51207. t2 = t2._paddingBeforeSidebar;
  51208. if (t1 != null)
  51209. t3._contents += C.JSString_methods.padRight$1(C.JSInt_methods.toString$0(t1 + 1), t2);
  51210. else
  51211. t3._contents += C.JSString_methods.$mul(" ", t2);
  51212. t1 = this.end;
  51213. t3._contents += t1 == null ? $._glyphs.get$verticalLine() : t1;
  51214. }
  51215. };
  51216. V.SourceLocation.prototype = {
  51217. distance$1: function(other) {
  51218. var t1 = this.sourceUrl;
  51219. if (!J.$eq$(t1, other.get$sourceUrl()))
  51220. throw H.wrapException(P.ArgumentError$('Source URLs "' + H.S(t1) + '" and "' + H.S(other.get$sourceUrl()) + "\" don't match."));
  51221. return Math.abs(this.offset - other.get$offset());
  51222. },
  51223. compareTo$1: function(_, other) {
  51224. var t1 = this.sourceUrl;
  51225. if (!J.$eq$(t1, other.get$sourceUrl()))
  51226. throw H.wrapException(P.ArgumentError$('Source URLs "' + H.S(t1) + '" and "' + H.S(other.get$sourceUrl()) + "\" don't match."));
  51227. return this.offset - other.get$offset();
  51228. },
  51229. $eq: function(_, other) {
  51230. if (other == null)
  51231. return false;
  51232. return !!J.getInterceptor$(other).$isSourceLocation && J.$eq$(this.sourceUrl, other.get$sourceUrl()) && this.offset == other.get$offset();
  51233. },
  51234. get$hashCode: function(_) {
  51235. return J.get$hashCode$(this.sourceUrl) + this.offset;
  51236. },
  51237. toString$0: function(_) {
  51238. var _this = this,
  51239. t1 = "<" + H.getRuntimeType(_this).toString$0(0) + ": " + H.S(_this.offset) + " ",
  51240. source = _this.sourceUrl;
  51241. return t1 + (H.S(source == null ? "unknown source" : source) + ":" + (_this.line + 1) + ":" + (_this.column + 1)) + ">";
  51242. },
  51243. $isComparable: 1,
  51244. $asComparable: function() {
  51245. return [V.SourceLocation];
  51246. },
  51247. get$sourceUrl: function() {
  51248. return this.sourceUrl;
  51249. },
  51250. get$offset: function() {
  51251. return this.offset;
  51252. },
  51253. get$line: function() {
  51254. return this.line;
  51255. },
  51256. get$column: function() {
  51257. return this.column;
  51258. }
  51259. };
  51260. D.SourceLocationMixin.prototype = {
  51261. distance$1: function(other) {
  51262. if (!J.$eq$(this.file.url, other.get$sourceUrl()))
  51263. throw H.wrapException(P.ArgumentError$('Source URLs "' + H.S(this.get$sourceUrl()) + '" and "' + H.S(other.get$sourceUrl()) + "\" don't match."));
  51264. return Math.abs(this.offset - other.get$offset());
  51265. },
  51266. compareTo$1: function(_, other) {
  51267. if (!J.$eq$(this.file.url, other.get$sourceUrl()))
  51268. throw H.wrapException(P.ArgumentError$('Source URLs "' + H.S(this.get$sourceUrl()) + '" and "' + H.S(other.get$sourceUrl()) + "\" don't match."));
  51269. return this.offset - other.get$offset();
  51270. },
  51271. $eq: function(_, other) {
  51272. if (other == null)
  51273. return false;
  51274. return !!J.getInterceptor$(other).$isSourceLocation && J.$eq$(this.file.url, other.get$sourceUrl()) && this.offset == other.get$offset();
  51275. },
  51276. get$hashCode: function(_) {
  51277. return J.get$hashCode$(this.file.url) + this.offset;
  51278. },
  51279. toString$0: function(_) {
  51280. var t1 = this.offset,
  51281. t2 = "<" + H.getRuntimeType(this).toString$0(0) + ": " + H.S(t1) + " ",
  51282. t3 = this.file,
  51283. source = t3.url;
  51284. return t2 + (H.S(source == null ? "unknown source" : source) + ":" + (t3.getLine$1(t1) + 1) + ":" + (t3.getColumn$1(t1) + 1)) + ">";
  51285. },
  51286. $isComparable: 1,
  51287. $asComparable: function() {
  51288. return [V.SourceLocation];
  51289. },
  51290. $isSourceLocation: 1
  51291. };
  51292. V.SourceSpan.prototype = {$isComparable: 1,
  51293. $asComparable: function() {
  51294. return [V.SourceSpan];
  51295. }
  51296. };
  51297. V.SourceSpanBase.prototype = {
  51298. SourceSpanBase$3: function(start, end, text) {
  51299. var t3,
  51300. t1 = this.end,
  51301. t2 = this.start;
  51302. if (!J.$eq$(t1.get$sourceUrl(), t2.get$sourceUrl()))
  51303. throw H.wrapException(P.ArgumentError$('Source URLs "' + H.S(t2.get$sourceUrl()) + '" and "' + H.S(t1.get$sourceUrl()) + "\" don't match."));
  51304. else if (t1.get$offset() < t2.get$offset())
  51305. throw H.wrapException(P.ArgumentError$("End " + t1.toString$0(0) + " must come after start " + t2.toString$0(0) + "."));
  51306. else {
  51307. t3 = this.text;
  51308. if (t3.length !== t2.distance$1(t1))
  51309. throw H.wrapException(P.ArgumentError$('Text "' + t3 + '" must be ' + t2.distance$1(t1) + " characters long."));
  51310. }
  51311. },
  51312. get$start: function(receiver) {
  51313. return this.start;
  51314. },
  51315. get$end: function(receiver) {
  51316. return this.end;
  51317. },
  51318. get$text: function() {
  51319. return this.text;
  51320. }
  51321. };
  51322. G.SourceSpanException.prototype = {
  51323. get$message: function(_) {
  51324. return this._span_exception$_message;
  51325. },
  51326. get$span: function() {
  51327. return this._span;
  51328. },
  51329. toString$1$color: function(_, color) {
  51330. var _this = this;
  51331. if (_this.get$span() == null)
  51332. return _this._span_exception$_message;
  51333. return "Error on " + _this.get$span().message$2$color(0, _this._span_exception$_message, color);
  51334. },
  51335. toString$0: function($receiver) {
  51336. return this.toString$1$color($receiver, null);
  51337. },
  51338. $isException: 1
  51339. };
  51340. G.SourceSpanFormatException.prototype = {
  51341. get$source: function() {
  51342. return this._span_exception$_source;
  51343. },
  51344. $isFormatException: 1
  51345. };
  51346. Y.SourceSpanMixin.prototype = {
  51347. get$sourceUrl: function() {
  51348. return this.get$start(this).get$sourceUrl();
  51349. },
  51350. get$length: function(_) {
  51351. var _this = this;
  51352. return _this.get$end(_this).get$offset() - _this.get$start(_this).get$offset();
  51353. },
  51354. compareTo$1: function(_, other) {
  51355. var _this = this,
  51356. result = _this.get$start(_this).compareTo$1(0, other.get$start(other));
  51357. return result === 0 ? _this.get$end(_this).compareTo$1(0, other.get$end(other)) : result;
  51358. },
  51359. message$2$color: function(_, message, color) {
  51360. var t2, highlight, _this = this,
  51361. t1 = "line " + (_this.get$start(_this).get$line() + 1) + ", column " + (_this.get$start(_this).get$column() + 1);
  51362. if (_this.get$sourceUrl() != null) {
  51363. t2 = _this.get$sourceUrl();
  51364. t2 = t1 + (" of " + H.S($.$get$context().prettyUri$1(t2)));
  51365. t1 = t2;
  51366. }
  51367. t1 += ": " + H.S(message);
  51368. highlight = _this.highlight$1$color(color);
  51369. if (highlight.length !== 0)
  51370. t1 = t1 + "\n" + highlight;
  51371. return t1.charCodeAt(0) == 0 ? t1 : t1;
  51372. },
  51373. message$1: function($receiver, message) {
  51374. return this.message$2$color($receiver, message, null);
  51375. },
  51376. highlight$1$color: function(color) {
  51377. var t2, t3, t4, newSpan, _this = this,
  51378. t1 = !!_this.$isSourceSpanWithContext;
  51379. if (!t1 && _this.get$length(_this) === 0)
  51380. return "";
  51381. if (J.$eq$(color, true))
  51382. color = "\x1b[31m";
  51383. if (J.$eq$(color, false))
  51384. color = null;
  51385. if (t1 && B.findLineStart(_this.get$context(_this), _this.get$text(), _this.get$start(_this).get$column()) != null)
  51386. t1 = _this;
  51387. else {
  51388. t1 = V.SourceLocation$(_this.get$start(_this).get$offset(), 0, 0, _this.get$sourceUrl());
  51389. t2 = _this.get$end(_this).get$offset();
  51390. t3 = _this.get$sourceUrl();
  51391. t4 = B.countCodeUnits(_this.get$text(), 10);
  51392. t3 = X.SourceSpanWithContext$(t1, V.SourceLocation$(t2, U.Highlighter__lastLineLength(_this.get$text()), t4, t3), _this.get$text(), _this.get$text());
  51393. t1 = t3;
  51394. }
  51395. newSpan = U.Highlighter__normalizeEndOfLine(U.Highlighter__normalizeTrailingNewline(U.Highlighter__normalizeNewlines(t1)));
  51396. return new U.Highlighter(newSpan, color, newSpan.get$start(newSpan).get$line() != newSpan.get$end(newSpan).get$line(), J.toString$0$(newSpan.get$end(newSpan).get$line()).length + 1, new P.StringBuffer("")).highlight$0();
  51397. },
  51398. $eq: function(_, other) {
  51399. var _this = this;
  51400. if (other == null)
  51401. return false;
  51402. return !!J.getInterceptor$(other).$isSourceSpan && _this.get$start(_this).$eq(0, other.get$start(other)) && _this.get$end(_this).$eq(0, other.get$end(other));
  51403. },
  51404. get$hashCode: function(_) {
  51405. var t2, _this = this,
  51406. t1 = _this.get$start(_this);
  51407. t1 = t1.get$hashCode(t1);
  51408. t2 = _this.get$end(_this);
  51409. return t1 + 31 * t2.get$hashCode(t2);
  51410. },
  51411. toString$0: function(_) {
  51412. var _this = this;
  51413. return "<" + H.getRuntimeType(_this).toString$0(0) + ": from " + _this.get$start(_this).toString$0(0) + " to " + _this.get$end(_this).toString$0(0) + ' "' + _this.get$text() + '">';
  51414. },
  51415. $isComparable: 1,
  51416. $asComparable: function() {
  51417. return [V.SourceSpan];
  51418. },
  51419. $isSourceSpan: 1
  51420. };
  51421. X.SourceSpanWithContext.prototype = {
  51422. get$context: function(_) {
  51423. return this._context;
  51424. }
  51425. };
  51426. U.Chain.prototype = {
  51427. toTrace$0: function() {
  51428. var t1 = this.traces,
  51429. t2 = A.Frame;
  51430. return new Y.Trace(P.List_List$unmodifiable(new H.ExpandIterable(t1, new U.Chain_toTrace_closure(), [H.getTypeArgumentByIndex(t1, 0), t2]), t2), new P._StringStackTrace(null));
  51431. },
  51432. toString$0: function(_) {
  51433. var t1 = this.traces,
  51434. t2 = P.int,
  51435. t3 = H.getTypeArgumentByIndex(t1, 0);
  51436. return new H.MappedListIterable(t1, new U.Chain_toString_closure(new H.MappedListIterable(t1, new U.Chain_toString_closure0(), [t3, t2]).fold$2(0, 0, H.instantiate1(P.math__max$closure(), t2))), [t3, P.String]).join$1(0, "===== asynchronous gap ===========================\n");
  51437. },
  51438. $isStackTrace: 1
  51439. };
  51440. U.Chain_Chain$parse_closure.prototype = {
  51441. call$1: function(trace) {
  51442. return new Y.Trace(P.List_List$unmodifiable(Y.Trace__parseVM(trace), A.Frame), new P._StringStackTrace(trace));
  51443. }
  51444. };
  51445. U.Chain_Chain$parse_closure0.prototype = {
  51446. call$1: function(trace) {
  51447. return Y.Trace$parseFriendly(trace);
  51448. }
  51449. };
  51450. U.Chain_toTrace_closure.prototype = {
  51451. call$1: function(trace) {
  51452. return trace.get$frames();
  51453. }
  51454. };
  51455. U.Chain_toString_closure0.prototype = {
  51456. call$1: function(trace) {
  51457. var t1 = trace.get$frames(),
  51458. t2 = P.int;
  51459. return new H.MappedListIterable(t1, new U.Chain_toString__closure0(), [H.getTypeArgumentByIndex(t1, 0), t2]).fold$2(0, 0, H.instantiate1(P.math__max$closure(), t2));
  51460. }
  51461. };
  51462. U.Chain_toString__closure0.prototype = {
  51463. call$1: function(frame) {
  51464. return frame.get$location().length;
  51465. }
  51466. };
  51467. U.Chain_toString_closure.prototype = {
  51468. call$1: function(trace) {
  51469. var t1 = trace.get$frames();
  51470. return new H.MappedListIterable(t1, new U.Chain_toString__closure(this.longest), [H.getTypeArgumentByIndex(t1, 0), P.String]).join$0(0);
  51471. }
  51472. };
  51473. U.Chain_toString__closure.prototype = {
  51474. call$1: function(frame) {
  51475. return J.padRight$1$s(frame.get$location(), this.longest) + " " + H.S(frame.get$member()) + "\n";
  51476. }
  51477. };
  51478. A.Frame.prototype = {
  51479. get$isCore: function() {
  51480. return this.uri.get$scheme() === "dart";
  51481. },
  51482. get$library: function() {
  51483. var t1 = this.uri;
  51484. if (t1.get$scheme() === "data")
  51485. return "data:...";
  51486. return $.$get$context().prettyUri$1(t1);
  51487. },
  51488. get$$package: function() {
  51489. var t1 = this.uri;
  51490. if (t1.get$scheme() !== "package")
  51491. return;
  51492. return C.JSArray_methods.get$first(t1.get$path(t1).split("/"));
  51493. },
  51494. get$location: function() {
  51495. var t2, _this = this,
  51496. t1 = _this.line;
  51497. if (t1 == null)
  51498. return _this.get$library();
  51499. t2 = _this.column;
  51500. if (t2 == null)
  51501. return H.S(_this.get$library()) + " " + H.S(t1);
  51502. return H.S(_this.get$library()) + " " + H.S(t1) + ":" + H.S(t2);
  51503. },
  51504. toString$0: function(_) {
  51505. return H.S(this.get$location()) + " in " + H.S(this.member);
  51506. },
  51507. get$uri: function() {
  51508. return this.uri;
  51509. },
  51510. get$line: function() {
  51511. return this.line;
  51512. },
  51513. get$column: function() {
  51514. return this.column;
  51515. },
  51516. get$member: function() {
  51517. return this.member;
  51518. }
  51519. };
  51520. A.Frame_Frame$parseVM_closure.prototype = {
  51521. call$0: function() {
  51522. var match, t2, t3, member, uri, lineAndColumn, line, _null = null,
  51523. t1 = this.frame;
  51524. if (t1 === "...")
  51525. return new A.Frame(P._Uri__Uri(_null, _null, _null, _null), _null, _null, "...");
  51526. match = $.$get$_vmFrame().firstMatch$1(t1);
  51527. if (match == null)
  51528. return new N.UnparsedFrame(P._Uri__Uri(_null, "unparsed", _null, _null), t1);
  51529. t1 = match._match;
  51530. t2 = t1[1];
  51531. t3 = $.$get$_asyncBody();
  51532. t2.toString;
  51533. t2 = H.stringReplaceAllUnchecked(t2, t3, "<async>");
  51534. member = H.stringReplaceAllUnchecked(t2, "<anonymous closure>", "<fn>");
  51535. uri = P.Uri_parse(t1[2]);
  51536. lineAndColumn = t1[3].split(":");
  51537. t1 = lineAndColumn.length;
  51538. line = t1 > 1 ? P.int_parse(lineAndColumn[1], _null, _null) : _null;
  51539. return new A.Frame(uri, line, t1 > 2 ? P.int_parse(lineAndColumn[2], _null, _null) : _null, member);
  51540. }
  51541. };
  51542. A.Frame_Frame$parseV8_closure.prototype = {
  51543. call$0: function() {
  51544. var t2, t3, _s4_ = "<fn>",
  51545. t1 = this.frame,
  51546. match = $.$get$_v8Frame().firstMatch$1(t1);
  51547. if (match == null)
  51548. return new N.UnparsedFrame(P._Uri__Uri(null, "unparsed", null, null), t1);
  51549. t1 = new A.Frame_Frame$parseV8_closure_parseLocation(t1);
  51550. t2 = match._match;
  51551. t3 = t2[2];
  51552. if (t3 != null) {
  51553. t2 = t2[1];
  51554. t2.toString;
  51555. t2 = H.stringReplaceAllUnchecked(t2, "<anonymous>", _s4_);
  51556. t2 = H.stringReplaceAllUnchecked(t2, "Anonymous function", _s4_);
  51557. return t1.call$2(t3, H.stringReplaceAllUnchecked(t2, "(anonymous function)", _s4_));
  51558. } else
  51559. return t1.call$2(t2[3], _s4_);
  51560. }
  51561. };
  51562. A.Frame_Frame$parseV8_closure_parseLocation.prototype = {
  51563. call$2: function($location, member) {
  51564. var urlMatch, _null = null,
  51565. t1 = $.$get$_v8EvalLocation(),
  51566. evalMatch = t1.firstMatch$1($location);
  51567. for (; evalMatch != null;) {
  51568. $location = evalMatch._match[1];
  51569. evalMatch = t1.firstMatch$1($location);
  51570. }
  51571. if ($location === "native")
  51572. return new A.Frame(P.Uri_parse("native"), _null, _null, member);
  51573. urlMatch = $.$get$_v8UrlLocation().firstMatch$1($location);
  51574. if (urlMatch == null)
  51575. return new N.UnparsedFrame(P._Uri__Uri(_null, "unparsed", _null, _null), this.frame);
  51576. t1 = urlMatch._match;
  51577. return new A.Frame(A.Frame__uriOrPathToUri(t1[1]), P.int_parse(t1[2], _null, _null), P.int_parse(t1[3], _null, _null), member);
  51578. },
  51579. $signature: 56
  51580. };
  51581. A.Frame_Frame$parseFirefox_closure.prototype = {
  51582. call$0: function() {
  51583. var uri, t2, t3, member, line, _null = null,
  51584. t1 = this.frame,
  51585. match = $.$get$_firefoxSafariFrame().firstMatch$1(t1);
  51586. if (match == null)
  51587. return new N.UnparsedFrame(P._Uri__Uri(_null, "unparsed", _null, _null), t1);
  51588. t1 = match._match;
  51589. uri = A.Frame__uriOrPathToUri(t1[3]);
  51590. t2 = t1[1];
  51591. if (t2 != null) {
  51592. t3 = C.JSString_methods.allMatches$1("/", t1[2]);
  51593. member = J.$add$ansx(t2, C.JSArray_methods.join$0(P.List_List$filled(t3.get$length(t3), ".<fn>", P.String)));
  51594. if (member === "")
  51595. member = "<fn>";
  51596. member = C.JSString_methods.replaceFirst$2(member, $.$get$_initialDot(), "");
  51597. } else
  51598. member = "<fn>";
  51599. t2 = t1[4];
  51600. line = t2 === "" ? _null : P.int_parse(t2, _null, _null);
  51601. t1 = t1[5];
  51602. return new A.Frame(uri, line, t1 == null || t1 === "" ? _null : P.int_parse(t1, _null, _null), member);
  51603. }
  51604. };
  51605. A.Frame_Frame$parseFriendly_closure.prototype = {
  51606. call$0: function() {
  51607. var t2, uri, line, column, _null = null,
  51608. t1 = this.frame,
  51609. match = $.$get$_friendlyFrame().firstMatch$1(t1);
  51610. if (match == null)
  51611. throw H.wrapException(P.FormatException$("Couldn't parse package:stack_trace stack trace line '" + H.S(t1) + "'.", _null, _null));
  51612. t1 = match._match;
  51613. t2 = t1[1];
  51614. uri = t2 === "data:..." ? P.Uri_Uri$dataFromString("", _null, _null) : P.Uri_parse(t2);
  51615. if (uri.get$scheme() === "") {
  51616. t2 = $.$get$context();
  51617. uri = t2.toUri$1(D.absolute(t2.style.pathFromUri$1(M._parseUri(uri))));
  51618. }
  51619. t2 = t1[2];
  51620. line = t2 == null ? _null : P.int_parse(t2, _null, _null);
  51621. t2 = t1[3];
  51622. column = t2 == null ? _null : P.int_parse(t2, _null, _null);
  51623. return new A.Frame(uri, line, column, t1[4]);
  51624. }
  51625. };
  51626. T.LazyTrace.prototype = {
  51627. get$_lazy_trace$_trace: function() {
  51628. var t1 = this._lazy_trace$_inner;
  51629. return t1 == null ? this._lazy_trace$_inner = this._thunk.call$0() : t1;
  51630. },
  51631. get$frames: function() {
  51632. return this.get$_lazy_trace$_trace().get$frames();
  51633. },
  51634. get$terse: function() {
  51635. return new T.LazyTrace(new T.LazyTrace_terse_closure(this));
  51636. },
  51637. toString$0: function(_) {
  51638. return J.toString$0$(this.get$_lazy_trace$_trace());
  51639. },
  51640. $isStackTrace: 1,
  51641. $isTrace: 1
  51642. };
  51643. T.LazyTrace_terse_closure.prototype = {
  51644. call$0: function() {
  51645. return this.$this.get$_lazy_trace$_trace().get$terse();
  51646. }
  51647. };
  51648. Y.Trace.prototype = {
  51649. get$terse: function() {
  51650. return this.foldFrames$2$terse(new Y.Trace_terse_closure(), true);
  51651. },
  51652. foldFrames$2$terse: function(predicate, terse) {
  51653. var t1, newFrames, t2, t3, _box_0 = {};
  51654. _box_0.predicate = predicate;
  51655. _box_0.predicate = new Y.Trace_foldFrames_closure(predicate);
  51656. t1 = A.Frame;
  51657. newFrames = H.setRuntimeTypeInfo([], [t1]);
  51658. for (t2 = this.frames, t2 = new H.ReversedListIterable(t2, [H.getTypeArgumentByIndex(t2, 0)]), t2 = new H.ListIterator(t2, t2.get$length(t2)); t2.moveNext$0();) {
  51659. t3 = t2.__internal$_current;
  51660. if (t3 instanceof N.UnparsedFrame || !_box_0.predicate.call$1(t3))
  51661. newFrames.push(t3);
  51662. else if (newFrames.length === 0 || !_box_0.predicate.call$1(C.JSArray_methods.get$last(newFrames)))
  51663. newFrames.push(new A.Frame(t3.get$uri(), t3.get$line(), t3.get$column(), t3.get$member()));
  51664. }
  51665. newFrames = new H.MappedListIterable(newFrames, new Y.Trace_foldFrames_closure0(_box_0), [H.getTypeArgumentByIndex(newFrames, 0), t1]).toList$0(0);
  51666. if (newFrames.length > 1 && _box_0.predicate.call$1(C.JSArray_methods.get$first(newFrames)))
  51667. C.JSArray_methods.removeAt$1(newFrames, 0);
  51668. return new Y.Trace(P.List_List$unmodifiable(new H.ReversedListIterable(newFrames, [H.getTypeArgumentByIndex(newFrames, 0)]), t1), new P._StringStackTrace(this.original._core$_stackTrace));
  51669. },
  51670. toString$0: function(_) {
  51671. var t1 = this.frames,
  51672. t2 = P.int,
  51673. t3 = H.getTypeArgumentByIndex(t1, 0);
  51674. return new H.MappedListIterable(t1, new Y.Trace_toString_closure(new H.MappedListIterable(t1, new Y.Trace_toString_closure0(), [t3, t2]).fold$2(0, 0, H.instantiate1(P.math__max$closure(), t2))), [t3, P.String]).join$0(0);
  51675. },
  51676. $isStackTrace: 1,
  51677. get$frames: function() {
  51678. return this.frames;
  51679. }
  51680. };
  51681. Y.Trace_Trace$from_closure.prototype = {
  51682. call$0: function() {
  51683. return Y.Trace_Trace$parse(this.trace.toString$0(0));
  51684. }
  51685. };
  51686. Y.Trace__parseVM_closure.prototype = {
  51687. call$1: function(line) {
  51688. return A.Frame_Frame$parseVM(line);
  51689. }
  51690. };
  51691. Y.Trace$parseV8_closure.prototype = {
  51692. call$1: function(line) {
  51693. return !J.startsWith$1$s(line, $.$get$_v8TraceLine());
  51694. }
  51695. };
  51696. Y.Trace$parseV8_closure0.prototype = {
  51697. call$1: function(line) {
  51698. return A.Frame_Frame$parseV8(line);
  51699. }
  51700. };
  51701. Y.Trace$parseJSCore_closure.prototype = {
  51702. call$1: function(line) {
  51703. return line !== "\tat ";
  51704. }
  51705. };
  51706. Y.Trace$parseJSCore_closure0.prototype = {
  51707. call$1: function(line) {
  51708. return A.Frame_Frame$parseV8(line);
  51709. }
  51710. };
  51711. Y.Trace$parseFirefox_closure.prototype = {
  51712. call$1: function(line) {
  51713. return line.length !== 0 && line !== "[native code]";
  51714. }
  51715. };
  51716. Y.Trace$parseFirefox_closure0.prototype = {
  51717. call$1: function(line) {
  51718. return A.Frame_Frame$parseFirefox(line);
  51719. }
  51720. };
  51721. Y.Trace$parseFriendly_closure.prototype = {
  51722. call$1: function(line) {
  51723. return !J.startsWith$1$s(line, "=====");
  51724. }
  51725. };
  51726. Y.Trace$parseFriendly_closure0.prototype = {
  51727. call$1: function(line) {
  51728. return A.Frame_Frame$parseFriendly(line);
  51729. }
  51730. };
  51731. Y.Trace_terse_closure.prototype = {
  51732. call$1: function(_) {
  51733. return false;
  51734. }
  51735. };
  51736. Y.Trace_foldFrames_closure.prototype = {
  51737. call$1: function(frame) {
  51738. if (this.oldPredicate.call$1(frame))
  51739. return true;
  51740. if (frame.get$isCore())
  51741. return true;
  51742. if (frame.get$$package() === "stack_trace")
  51743. return true;
  51744. if (!J.contains$1$asx(frame.get$member(), "<async>"))
  51745. return false;
  51746. return frame.get$line() == null;
  51747. }
  51748. };
  51749. Y.Trace_foldFrames_closure0.prototype = {
  51750. call$1: function(frame) {
  51751. var t1, t2;
  51752. if (frame instanceof N.UnparsedFrame || !this._box_0.predicate.call$1(frame))
  51753. return frame;
  51754. t1 = frame.get$library();
  51755. t2 = $.$get$_terseRegExp();
  51756. t1.toString;
  51757. return new A.Frame(P.Uri_parse(H.stringReplaceAllUnchecked(t1, t2, "")), null, null, frame.get$member());
  51758. }
  51759. };
  51760. Y.Trace_toString_closure0.prototype = {
  51761. call$1: function(frame) {
  51762. return frame.get$location().length;
  51763. }
  51764. };
  51765. Y.Trace_toString_closure.prototype = {
  51766. call$1: function(frame) {
  51767. if (frame instanceof N.UnparsedFrame)
  51768. return frame.toString$0(0) + "\n";
  51769. return J.padRight$1$s(frame.get$location(), this.longest) + " " + H.S(frame.get$member()) + "\n";
  51770. }
  51771. };
  51772. N.UnparsedFrame.prototype = {
  51773. toString$0: function(_) {
  51774. return this.member;
  51775. },
  51776. $isFrame: 1,
  51777. get$uri: function() {
  51778. return this.uri;
  51779. },
  51780. get$line: function() {
  51781. return null;
  51782. },
  51783. get$column: function() {
  51784. return null;
  51785. },
  51786. get$isCore: function() {
  51787. return false;
  51788. },
  51789. get$library: function() {
  51790. return "unparsed";
  51791. },
  51792. get$$package: function() {
  51793. return null;
  51794. },
  51795. get$location: function() {
  51796. return "unparsed";
  51797. },
  51798. get$member: function() {
  51799. return this.member;
  51800. }
  51801. };
  51802. T._debounceAggregate_closure.prototype = {
  51803. call$2: function(value, sink) {
  51804. var t1 = this._box_0,
  51805. t2 = t1.timer;
  51806. if (t2 != null)
  51807. t2.cancel$0();
  51808. t1.timer = P.Timer_Timer(this.duration, new T._debounceAggregate__closure(t1, sink));
  51809. t1.soFar = this.collect.call$2(value, t1.soFar);
  51810. },
  51811. "call*": "call$2",
  51812. $requiredArgCount: 2
  51813. };
  51814. T._debounceAggregate__closure.prototype = {
  51815. call$0: function() {
  51816. var t1 = this.sink,
  51817. t2 = this._box_0;
  51818. t1.add$1(0, t2.soFar);
  51819. if (t2.shouldClose)
  51820. t1.close$0(0);
  51821. t2.timer = t2.soFar = null;
  51822. },
  51823. "call*": "call$0",
  51824. $requiredArgCount: 0
  51825. };
  51826. T._debounceAggregate_closure0.prototype = {
  51827. call$1: function(sink) {
  51828. var t1 = this._box_0;
  51829. if (t1.soFar != null)
  51830. t1.shouldClose = true;
  51831. else
  51832. sink.close$0(0);
  51833. }
  51834. };
  51835. L._StreamTransformer.prototype = {
  51836. bind$1: function(values) {
  51837. var controller, _null = null, t1 = {},
  51838. t2 = H.getTypeArgumentByIndex(this, 1);
  51839. if (values.get$isBroadcast())
  51840. controller = new P._SyncBroadcastStreamController(_null, _null, [t2]);
  51841. else
  51842. controller = P.StreamController_StreamController(_null, _null, _null, _null, true, t2);
  51843. t1.subscription = null;
  51844. controller.set$onListen(new L._StreamTransformer_bind_closure(t1, this, values, controller));
  51845. return controller.get$stream();
  51846. }
  51847. };
  51848. L._StreamTransformer_bind_closure.prototype = {
  51849. call$0: function() {
  51850. var t2, t3, t4, t5, _this = this, t1 = {};
  51851. t1.valuesDone = false;
  51852. t2 = _this.values;
  51853. t3 = _this.$this;
  51854. t4 = _this.controller;
  51855. t5 = _this._box_1;
  51856. t5.subscription = t2.listen$3$onDone$onError(new L._StreamTransformer_bind__closure(t3, t4), new L._StreamTransformer_bind__closure0(t1, t3, t4), new L._StreamTransformer_bind__closure1(t3, t4));
  51857. if (!t2.get$isBroadcast()) {
  51858. t2 = t5.subscription;
  51859. t4.set$onPause(t2.get$pause(t2));
  51860. t4.set$onResume(t5.subscription.get$resume());
  51861. }
  51862. t4.set$onCancel(new L._StreamTransformer_bind__closure2(t5, t1));
  51863. }
  51864. };
  51865. L._StreamTransformer_bind__closure.prototype = {
  51866. call$1: function(value) {
  51867. return this.$this._from_handlers$_handleData.call$2(value, this.controller);
  51868. },
  51869. $signature: function() {
  51870. return {func: 1, ret: -1, args: [H.getTypeArgumentByIndex(this.$this, 0)]};
  51871. }
  51872. };
  51873. L._StreamTransformer_bind__closure1.prototype = {
  51874. call$2: function(error, stackTrace) {
  51875. this.$this._from_handlers$_handleError.call$3(error, stackTrace, this.controller);
  51876. },
  51877. "call*": "call$2",
  51878. $requiredArgCount: 2,
  51879. $signature: 18
  51880. };
  51881. L._StreamTransformer_bind__closure0.prototype = {
  51882. call$0: function() {
  51883. this._box_0.valuesDone = true;
  51884. this.$this._from_handlers$_handleDone.call$1(this.controller);
  51885. },
  51886. "call*": "call$0",
  51887. $requiredArgCount: 0
  51888. };
  51889. L._StreamTransformer_bind__closure2.prototype = {
  51890. call$0: function() {
  51891. var t1 = this._box_1,
  51892. toCancel = t1.subscription;
  51893. t1.subscription = null;
  51894. if (!this._box_0.valuesDone)
  51895. return toCancel.cancel$0();
  51896. return;
  51897. },
  51898. "call*": "call$0",
  51899. $requiredArgCount: 0
  51900. };
  51901. E.StringScannerException.prototype = {
  51902. get$source: function() {
  51903. return G.SourceSpanFormatException.prototype.get$source.call(this);
  51904. }
  51905. };
  51906. Z.LineScanner.prototype = {
  51907. get$_betweenCRLF: function() {
  51908. return this.peekChar$1(-1) === 13 && this.peekChar$0() === 10;
  51909. },
  51910. scanChar$1: function(character) {
  51911. if (!this.super$StringScanner$scanChar(character))
  51912. return false;
  51913. this._adjustLineAndColumn$1(character);
  51914. return true;
  51915. },
  51916. _adjustLineAndColumn$1: function(character) {
  51917. var t1, _this = this;
  51918. if (character !== 10)
  51919. t1 = character === 13 && _this.peekChar$0() !== 10;
  51920. else
  51921. t1 = true;
  51922. if (t1) {
  51923. ++_this._line_scanner$_line;
  51924. _this._line_scanner$_column = 0;
  51925. } else
  51926. ++_this._line_scanner$_column;
  51927. },
  51928. scan$1: function(pattern) {
  51929. var newlines, t1, t2, _this = this;
  51930. if (!_this.super$StringScanner$scan(pattern))
  51931. return false;
  51932. newlines = _this._newlinesIn$1(_this.get$lastMatch().group$1(0));
  51933. t1 = _this._line_scanner$_line;
  51934. t2 = newlines.length;
  51935. _this._line_scanner$_line = t1 + t2;
  51936. if (t2 === 0)
  51937. _this._line_scanner$_column = _this._line_scanner$_column + _this.get$lastMatch().group$1(0).length;
  51938. else
  51939. _this._line_scanner$_column = _this.get$lastMatch().group$1(0).length - J.get$end$x(C.JSArray_methods.get$last(newlines));
  51940. return true;
  51941. },
  51942. _newlinesIn$1: function(text) {
  51943. var t1 = $.$get$_newlineRegExp().allMatches$1(0, text),
  51944. newlines = P.List_List$from(t1, true, H.getRuntimeTypeArgument(t1, "Iterable", 0));
  51945. if (this.get$_betweenCRLF())
  51946. C.JSArray_methods.removeLast$0(newlines);
  51947. return newlines;
  51948. }
  51949. };
  51950. S.SpanScanner.prototype = {
  51951. set$state: function(state) {
  51952. if (!(state instanceof S._SpanScannerState) || state._scanner !== this)
  51953. throw H.wrapException(P.ArgumentError$("The given LineScannerState was not returned by this LineScanner."));
  51954. this.set$position(state.position);
  51955. },
  51956. spanFrom$2: function(startState, endState) {
  51957. var endPosition = endState == null ? this._string_scanner$_position : endState.position;
  51958. return this._sourceFile.span$2(startState.position, endPosition);
  51959. },
  51960. spanFrom$1: function(startState) {
  51961. return this.spanFrom$2(startState, null);
  51962. },
  51963. matches$1: function(pattern) {
  51964. var t1, t2, _this = this;
  51965. if (!_this.super$StringScanner$matches(pattern))
  51966. return false;
  51967. t1 = _this._string_scanner$_position;
  51968. t2 = _this.get$lastMatch();
  51969. _this._sourceFile.span$2(t1, t2.start + t2.pattern.length);
  51970. return true;
  51971. },
  51972. error$3$length$position: function(message, $length, position) {
  51973. var t2, match, _this = this,
  51974. t1 = _this.string;
  51975. B.validateErrorArgs(t1, null, position, $length);
  51976. t2 = position == null && $length == null;
  51977. match = t2 ? _this.get$lastMatch() : null;
  51978. if (position == null)
  51979. position = match == null ? _this._string_scanner$_position : match.start;
  51980. if ($length == null)
  51981. if (match == null)
  51982. $length = 0;
  51983. else {
  51984. t2 = match.start;
  51985. $length = t2 + match.pattern.length - t2;
  51986. }
  51987. throw H.wrapException(E.StringScannerException$(message, _this._sourceFile.span$2(position, position + $length), t1));
  51988. },
  51989. error$1: function(message) {
  51990. return this.error$3$length$position(message, null, null);
  51991. },
  51992. error$2$position: function(message, position) {
  51993. return this.error$3$length$position(message, null, position);
  51994. },
  51995. error$2$length: function(message, $length) {
  51996. return this.error$3$length$position(message, $length, null);
  51997. }
  51998. };
  51999. S._SpanScannerState.prototype = {};
  52000. X.StringScanner.prototype = {
  52001. set$position: function(position) {
  52002. if (position < 0 || position > this.string.length)
  52003. throw H.wrapException(P.ArgumentError$("Invalid position " + position));
  52004. this._string_scanner$_position = position;
  52005. this._lastMatch = null;
  52006. },
  52007. get$lastMatch: function() {
  52008. var _this = this;
  52009. if (_this._string_scanner$_position !== _this._lastMatchPosition)
  52010. _this._lastMatch = null;
  52011. return _this._lastMatch;
  52012. },
  52013. readChar$0: function() {
  52014. var _this = this,
  52015. t1 = _this._string_scanner$_position,
  52016. t2 = _this.string;
  52017. if (t1 === t2.length)
  52018. _this.error$3$length$position("expected more input.", 0, t1);
  52019. return J.codeUnitAt$1$s(t2, _this._string_scanner$_position++);
  52020. },
  52021. peekChar$1: function(offset) {
  52022. var index;
  52023. if (offset == null)
  52024. offset = 0;
  52025. index = this._string_scanner$_position + offset;
  52026. if (index < 0 || index >= this.string.length)
  52027. return;
  52028. return J.codeUnitAt$1$s(this.string, index);
  52029. },
  52030. peekChar$0: function() {
  52031. return this.peekChar$1(null);
  52032. },
  52033. scanChar$1: function(character) {
  52034. var t1 = this._string_scanner$_position,
  52035. t2 = this.string;
  52036. if (t1 === t2.length)
  52037. return false;
  52038. if (J.codeUnitAt$1$s(t2, t1) !== character)
  52039. return false;
  52040. this._string_scanner$_position = t1 + 1;
  52041. return true;
  52042. },
  52043. expectChar$2$name: function(character, $name) {
  52044. if (this.scanChar$1(character))
  52045. return;
  52046. if ($name == null)
  52047. if (character === 92)
  52048. $name = '"\\"';
  52049. else
  52050. $name = character === 34 ? '"\\""' : '"' + H.Primitives_stringFromCharCode(character) + '"';
  52051. this.error$3$length$position("expected " + $name + ".", 0, this._string_scanner$_position);
  52052. },
  52053. expectChar$1: function(character) {
  52054. return this.expectChar$2$name(character, null);
  52055. },
  52056. scan$1: function(pattern) {
  52057. var t1, _this = this,
  52058. success = _this.matches$1(pattern);
  52059. if (success) {
  52060. t1 = _this._lastMatch;
  52061. _this._lastMatchPosition = _this._string_scanner$_position = t1.start + t1.pattern.length;
  52062. }
  52063. return success;
  52064. },
  52065. expect$1: function(pattern) {
  52066. var t1, $name;
  52067. if (this.scan$1(pattern))
  52068. return;
  52069. t1 = H.stringReplaceAllUnchecked(pattern, "\\", "\\\\");
  52070. $name = '"' + H.stringReplaceAllUnchecked(t1, '"', '\\"') + '"';
  52071. this.error$3$length$position("expected " + $name + ".", 0, this._string_scanner$_position);
  52072. },
  52073. expectDone$0: function() {
  52074. var t1 = this._string_scanner$_position;
  52075. if (t1 === this.string.length)
  52076. return;
  52077. this.error$3$length$position("expected no more input.", 0, t1);
  52078. },
  52079. matches$1: function(pattern) {
  52080. var _this = this,
  52081. t1 = C.JSString_methods.matchAsPrefix$2(pattern, _this.string, _this._string_scanner$_position);
  52082. _this._lastMatch = t1;
  52083. _this._lastMatchPosition = _this._string_scanner$_position;
  52084. return t1 != null;
  52085. },
  52086. substring$1: function(_, start) {
  52087. var end = this._string_scanner$_position;
  52088. return J.substring$2$s(this.string, start, end);
  52089. },
  52090. error$3$length$position: function(message, $length, position) {
  52091. var t2, t3, t4, sourceFile,
  52092. t1 = this.string;
  52093. B.validateErrorArgs(t1, null, position, $length);
  52094. t2 = this.sourceUrl;
  52095. t1.toString;
  52096. t3 = new H.CodeUnits(t1);
  52097. t4 = H.setRuntimeTypeInfo([0], [P.int]);
  52098. sourceFile = new Y.SourceFile(t2, t4, new Uint32Array(H._ensureNativeList(t3.toList$0(t3))));
  52099. sourceFile.SourceFile$decoded$2$url(t3, t2);
  52100. throw H.wrapException(E.StringScannerException$(message, sourceFile.span$2(position, position + $length), t1));
  52101. }
  52102. };
  52103. A.AsciiGlyphSet.prototype = {
  52104. glyphOrAscii$2: function(glyph, alternative) {
  52105. return alternative;
  52106. },
  52107. get$horizontalLine: function() {
  52108. return "-";
  52109. },
  52110. get$verticalLine: function() {
  52111. return "|";
  52112. },
  52113. get$topLeftCorner: function() {
  52114. return ",";
  52115. },
  52116. get$bottomLeftCorner: function() {
  52117. return "'";
  52118. },
  52119. get$upEnd: function() {
  52120. return "'";
  52121. },
  52122. get$downEnd: function() {
  52123. return ",";
  52124. }
  52125. };
  52126. K.UnicodeGlyphSet.prototype = {
  52127. glyphOrAscii$2: function(glyph, alternative) {
  52128. return glyph;
  52129. },
  52130. get$horizontalLine: function() {
  52131. return "\u2500";
  52132. },
  52133. get$verticalLine: function() {
  52134. return "\u2502";
  52135. },
  52136. get$topLeftCorner: function() {
  52137. return "\u250c";
  52138. },
  52139. get$bottomLeftCorner: function() {
  52140. return "\u2514";
  52141. },
  52142. get$upEnd: function() {
  52143. return "\u2575";
  52144. },
  52145. get$downEnd: function() {
  52146. return "\u2577";
  52147. }
  52148. };
  52149. S.Tuple2.prototype = {
  52150. toString$0: function(_) {
  52151. return "[" + H.S(this.item1) + ", " + H.S(this.item2) + "]";
  52152. },
  52153. $eq: function(_, o) {
  52154. if (o == null)
  52155. return false;
  52156. return o instanceof S.Tuple2 && J.$eq$(o.item1, this.item1) && J.$eq$(o.item2, this.item2);
  52157. },
  52158. get$hashCode: function(_) {
  52159. var t1 = J.get$hashCode$(this.item1),
  52160. t2 = J.get$hashCode$(this.item2);
  52161. return X._finish(X._combine(X._combine(0, C.JSInt_methods.get$hashCode(t1)), C.JSInt_methods.get$hashCode(t2)));
  52162. }
  52163. };
  52164. S.Tuple3.prototype = {
  52165. toString$0: function(_) {
  52166. return "[" + H.S(this.item1) + ", " + this.item2.toString$0(0) + ", " + H.S(this.item3) + "]";
  52167. },
  52168. $eq: function(_, o) {
  52169. if (o == null)
  52170. return false;
  52171. return o instanceof S.Tuple3 && o.item1 == this.item1 && o.item2.$eq(0, this.item2) && J.$eq$(o.item3, this.item3);
  52172. },
  52173. get$hashCode: function(_) {
  52174. var t3,
  52175. t1 = J.get$hashCode$(this.item1),
  52176. t2 = this.item2;
  52177. t2 = t2.get$hashCode(t2);
  52178. t3 = J.get$hashCode$(this.item3);
  52179. return X._finish(X._combine(X._combine(X._combine(0, C.JSInt_methods.get$hashCode(t1)), C.JSInt_methods.get$hashCode(t2)), C.JSInt_methods.get$hashCode(t3)));
  52180. }
  52181. };
  52182. E.WatchEvent.prototype = {
  52183. toString$0: function(_) {
  52184. return H.S(this.type) + " " + H.S(this.path);
  52185. },
  52186. get$path: function(receiver) {
  52187. return this.path;
  52188. }
  52189. };
  52190. E.ChangeType.prototype = {
  52191. toString$0: function(_) {
  52192. return this._watch_event$_name;
  52193. }
  52194. };
  52195. (function aliases() {
  52196. var _ = J.Interceptor.prototype;
  52197. _.super$Interceptor$noSuchMethod = _.noSuchMethod$1;
  52198. _ = J.JavaScriptObject.prototype;
  52199. _.super$JavaScriptObject$toString = _.toString$0;
  52200. _ = H.JsLinkedHashMap.prototype;
  52201. _.super$JsLinkedHashMap$internalContainsKey = _.internalContainsKey$1;
  52202. _.super$JsLinkedHashMap$internalGet = _.internalGet$1;
  52203. _.super$JsLinkedHashMap$internalSet = _.internalSet$2;
  52204. _.super$JsLinkedHashMap$internalRemove = _.internalRemove$1;
  52205. _ = P._BroadcastStreamController.prototype;
  52206. _.super$_BroadcastStreamController$_addEventError = _._addEventError$0;
  52207. _ = P._BufferingStreamSubscription.prototype;
  52208. _.super$_BufferingStreamSubscription$_add = _._async$_add$1;
  52209. _.super$_BufferingStreamSubscription$_addError = _._addError$2;
  52210. _ = P.ListMixin.prototype;
  52211. _.super$ListMixin$setRange = _.setRange$4;
  52212. _ = P.Iterable.prototype;
  52213. _.super$Iterable$where = _.where$1;
  52214. _.super$Iterable$skipWhile = _.skipWhile$1;
  52215. _ = B.ModifiableCssParentNode.prototype;
  52216. _.super$ModifiableCssParentNode$addChild = _.addChild$1;
  52217. _ = M.SimpleSelector.prototype;
  52218. _.super$SimpleSelector$addSuffix = _.addSuffix$1;
  52219. _.super$SimpleSelector$unify = _.unify$1;
  52220. _ = G.Parser.prototype;
  52221. _.super$Parser$silentComment = _.silentComment$0;
  52222. _ = V.StylesheetParser.prototype;
  52223. _.super$StylesheetParser$importArgument = _.importArgument$0;
  52224. _ = F.Value.prototype;
  52225. _.super$Value$assertMap = _.assertMap$1;
  52226. _.super$Value$plus = _.plus$1;
  52227. _.super$Value$minus = _.minus$1;
  52228. _.super$Value$dividedBy = _.dividedBy$1;
  52229. _ = Y.SourceSpanMixin.prototype;
  52230. _.super$SourceSpanMixin$compareTo = _.compareTo$1;
  52231. _.super$SourceSpanMixin$$eq = _.$eq;
  52232. _ = X.StringScanner.prototype;
  52233. _.super$StringScanner$readChar = _.readChar$0;
  52234. _.super$StringScanner$scanChar = _.scanChar$1;
  52235. _.super$StringScanner$scan = _.scan$1;
  52236. _.super$StringScanner$matches = _.matches$1;
  52237. })();
  52238. (function installTearOffs() {
  52239. var _static_2 = hunkHelpers._static_2,
  52240. _instance_1_i = hunkHelpers._instance_1i,
  52241. _instance_1_u = hunkHelpers._instance_1u,
  52242. _static_1 = hunkHelpers._static_1,
  52243. _static_0 = hunkHelpers._static_0,
  52244. _static = hunkHelpers.installStaticTearOff,
  52245. _instance_0_u = hunkHelpers._instance_0u,
  52246. _instance = hunkHelpers.installInstanceTearOff,
  52247. _instance_0_i = hunkHelpers._instance_0i,
  52248. _instance_2_u = hunkHelpers._instance_2u;
  52249. _static_2(J, "_interceptors_JSArray__compareAny$closure", "JSArray__compareAny", 86);
  52250. _instance_1_i(J.JSArray.prototype, "get$contains", "contains$1", 7);
  52251. _instance_1_i(H._CastIterableBase.prototype, "get$contains", "contains$1", 7);
  52252. _instance_1_u(H.JsLinkedHashMap.prototype, "get$containsKey", "containsKey$1", 7);
  52253. _static_1(P, "async__AsyncRun__scheduleImmediateJsOverride$closure", "_AsyncRun__scheduleImmediateJsOverride", 23);
  52254. _static_1(P, "async__AsyncRun__scheduleImmediateWithSetImmediate$closure", "_AsyncRun__scheduleImmediateWithSetImmediate", 23);
  52255. _static_1(P, "async__AsyncRun__scheduleImmediateWithTimer$closure", "_AsyncRun__scheduleImmediateWithTimer", 23);
  52256. _static_0(P, "async___startMicrotaskLoop$closure", "_startMicrotaskLoop", 1);
  52257. _static_1(P, "async___nullDataHandler$closure", "_nullDataHandler", 8);
  52258. _static(P, "async___nullErrorHandler$closure", 1, function() {
  52259. return [null];
  52260. }, ["call$2", "call$1"], ["_nullErrorHandler", function(error) {
  52261. return P._nullErrorHandler(error, null);
  52262. }], 14, 0);
  52263. _static_0(P, "async___nullDoneHandler$closure", "_nullDoneHandler", 1);
  52264. _static(P, "async___rootHandleUncaughtError$closure", 5, null, ["call$5"], ["_rootHandleUncaughtError"], 59, 0);
  52265. _static(P, "async___rootRun$closure", 4, null, ["call$1$4", "call$4"], ["_rootRun", function($self, $parent, zone, f) {
  52266. return P._rootRun($self, $parent, zone, f, null);
  52267. }], 60, 1);
  52268. _static(P, "async___rootRunUnary$closure", 5, null, ["call$2$5", "call$5"], ["_rootRunUnary", function($self, $parent, zone, f, arg) {
  52269. return P._rootRunUnary($self, $parent, zone, f, arg, null, null);
  52270. }], 61, 1);
  52271. _static(P, "async___rootRunBinary$closure", 6, null, ["call$3$6", "call$6"], ["_rootRunBinary", function($self, $parent, zone, f, arg1, arg2) {
  52272. return P._rootRunBinary($self, $parent, zone, f, arg1, arg2, null, null, null);
  52273. }], 62, 1);
  52274. _static(P, "async___rootRegisterCallback$closure", 4, null, ["call$1$4", "call$4"], ["_rootRegisterCallback", function($self, $parent, zone, f) {
  52275. return P._rootRegisterCallback($self, $parent, zone, f, null);
  52276. }], 63, 0);
  52277. _static(P, "async___rootRegisterUnaryCallback$closure", 4, null, ["call$2$4", "call$4"], ["_rootRegisterUnaryCallback", function($self, $parent, zone, f) {
  52278. return P._rootRegisterUnaryCallback($self, $parent, zone, f, null, null);
  52279. }], 64, 0);
  52280. _static(P, "async___rootRegisterBinaryCallback$closure", 4, null, ["call$3$4", "call$4"], ["_rootRegisterBinaryCallback", function($self, $parent, zone, f) {
  52281. return P._rootRegisterBinaryCallback($self, $parent, zone, f, null, null, null);
  52282. }], 85, 0);
  52283. _static(P, "async___rootErrorCallback$closure", 5, null, ["call$5"], ["_rootErrorCallback"], 66, 0);
  52284. _static(P, "async___rootScheduleMicrotask$closure", 4, null, ["call$4"], ["_rootScheduleMicrotask"], 67, 0);
  52285. _static(P, "async___rootCreateTimer$closure", 5, null, ["call$5"], ["_rootCreateTimer"], 68, 0);
  52286. _static(P, "async___rootCreatePeriodicTimer$closure", 5, null, ["call$5"], ["_rootCreatePeriodicTimer"], 69, 0);
  52287. _static(P, "async___rootPrint$closure", 4, null, ["call$4"], ["_rootPrint"], 70, 0);
  52288. _static_1(P, "async___printToZone$closure", "_printToZone", 71);
  52289. _static(P, "async___rootFork$closure", 5, null, ["call$5"], ["_rootFork"], 72, 0);
  52290. var _;
  52291. _instance_0_u(_ = P._BroadcastSubscription.prototype, "get$_async$_onPause", "_async$_onPause$0", 1);
  52292. _instance_0_u(_, "get$_async$_onResume", "_async$_onResume$0", 1);
  52293. _instance(P._Completer.prototype, "get$completeError", 0, 1, function() {
  52294. return [null];
  52295. }, ["call$2", "call$1"], ["completeError$2", "completeError$1"], 14, 0);
  52296. _instance(P._AsyncCompleter.prototype, "get$complete", 0, 0, function() {
  52297. return [null];
  52298. }, ["call$1", "call$0"], ["complete$1", "complete$0"], 32, 0);
  52299. _instance(P._SyncCompleter.prototype, "get$complete", 0, 0, function() {
  52300. return [null];
  52301. }, ["call$1", "call$0"], ["complete$1", "complete$0"], 32, 0);
  52302. _instance(P._Future.prototype, "get$_completeError", 0, 1, function() {
  52303. return [null];
  52304. }, ["call$2", "call$1"], ["_completeError$2", "_completeError$1"], 14, 0);
  52305. _instance_1_i(_ = P._StreamController.prototype, "get$add", "add$1", 8);
  52306. _instance(_, "get$addError", 0, 1, function() {
  52307. return [null];
  52308. }, ["call$2", "call$1"], ["addError$2", "addError$1"], 14, 0);
  52309. _instance_0_i(_, "get$close", "close$0", 36);
  52310. _instance_1_u(_, "get$_async$_add", "_async$_add$1", 8);
  52311. _instance_2_u(_, "get$_addError", "_addError$2", 50);
  52312. _instance_0_u(_, "get$_close", "_close$0", 1);
  52313. _instance_0_u(_ = P._ControllerSubscription.prototype, "get$_async$_onPause", "_async$_onPause$0", 1);
  52314. _instance_0_u(_, "get$_async$_onResume", "_async$_onResume$0", 1);
  52315. _instance(_ = P._BufferingStreamSubscription.prototype, "get$pause", 1, 0, null, ["call$1", "call$0"], ["pause$1", "pause$0"], 26, 0);
  52316. _instance_0_u(_, "get$resume", "resume$0", 1);
  52317. _instance_0_u(_, "get$_async$_onPause", "_async$_onPause$0", 1);
  52318. _instance_0_u(_, "get$_async$_onResume", "_async$_onResume$0", 1);
  52319. _instance(_ = P._DoneStreamSubscription.prototype, "get$pause", 1, 0, null, ["call$1", "call$0"], ["pause$1", "pause$0"], 26, 0);
  52320. _instance_0_u(_, "get$resume", "resume$0", 1);
  52321. _instance_0_u(_, "get$_sendDone", "_sendDone$0", 1);
  52322. _instance_1_u(_ = P._StreamIterator.prototype, "get$_onData", "_onData$1", 8);
  52323. _instance(_, "get$_onError", 0, 1, function() {
  52324. return [null];
  52325. }, ["call$2", "call$1"], ["_onError$2", "_onError$1"], 14, 0);
  52326. _instance_0_u(_, "get$_onDone", "_onDone$0", 1);
  52327. _instance_0_u(_ = P._ForwardingStreamSubscription.prototype, "get$_async$_onPause", "_async$_onPause$0", 1);
  52328. _instance_0_u(_, "get$_async$_onResume", "_async$_onResume$0", 1);
  52329. _instance_1_u(_, "get$_handleData", "_handleData$1", 8);
  52330. _instance_2_u(_, "get$_handleError", "_handleError$2", 41);
  52331. _instance_0_u(_, "get$_handleDone", "_handleDone$0", 1);
  52332. _static_2(P, "collection___defaultEquals$closure", "_defaultEquals", 73);
  52333. _static_1(P, "collection___defaultHashCode$closure", "_defaultHashCode", 74);
  52334. _static_1(P, "collection_MapBase__id$closure", "MapBase__id", 10);
  52335. _instance_1_u(P._LinkedCustomHashMap.prototype, "get$containsKey", "containsKey$1", 7);
  52336. _instance(_ = P._LinkedHashSet.prototype, "get$_newSimilarSet", 0, 0, null, ["call$1$0", "call$0"], ["_newSimilarSet$1$0", "_newSimilarSet$0"], 28, 0);
  52337. _instance_1_i(_, "get$contains", "contains$1", 7);
  52338. _instance(P._LinkedIdentityHashSet.prototype, "get$_newSimilarSet", 0, 0, null, ["call$1$0", "call$0"], ["_newSimilarSet$1$0", "_newSimilarSet$0"], 28, 0);
  52339. _static_1(P, "convert___defaultToEncodable$closure", "_defaultToEncodable", 10);
  52340. _static_1(P, "core__identityHashCode$closure", "identityHashCode", 75);
  52341. _static_2(P, "core__identical$closure", "identical", 76);
  52342. _static_1(P, "core_Uri_decodeComponent$closure", "Uri_decodeComponent", 27);
  52343. _instance_1_i(P.Iterable.prototype, "get$contains", "contains$1", 7);
  52344. _static(P, "math__max$closure", 2, null, ["call$1$2", "call$2"], ["max", function(a, b) {
  52345. return P.max(a, b, P.num);
  52346. }], 78, 1);
  52347. _instance_1_u(_ = Y.StreamCompleter.prototype, "get$setSourceStream", "setSourceStream$1", 8);
  52348. _instance(_, "get$setError", 0, 1, function() {
  52349. return [null];
  52350. }, ["call$2", "call$1"], ["setError$2", "setError$1"], 37, 0);
  52351. _instance_0_u(_ = L.StreamGroup.prototype, "get$_onListen", "_onListen$0", 1);
  52352. _instance_0_u(_, "get$_onPause", "_onPause$0", 1);
  52353. _instance_0_u(_, "get$_onResume", "_onResume$0", 1);
  52354. _instance_0_u(_, "get$_onCancel", "_onCancel$0", 36);
  52355. _instance_1_i(O.EmptyUnmodifiableSet.prototype, "get$contains", "contains$1", 7);
  52356. _instance_1_i(M._DelegatingIterableBase.prototype, "get$contains", "contains$1", 7);
  52357. _instance_1_i(M.MapKeySet.prototype, "get$contains", "contains$1", 7);
  52358. _instance_1_u(B.ModifiableCssNode.prototype, "get$_node0$_isInvisible", "_node0$_isInvisible$1", 34);
  52359. _instance_1_u(D.SelectorList.prototype, "get$_complexContainsParentSelector", "_complexContainsParentSelector$1", 58);
  52360. _static_1(Y, "functions___isUnique$closure", "_isUnique", 79);
  52361. _static_1(K, "color___opacify$closure", "_opacify", 5);
  52362. _static_1(K, "color___transparentize$closure", "_transparentize", 5);
  52363. _static_2(B, "node___render$closure", "_render", 80);
  52364. _static_1(B, "node___renderSync$closure", "_renderSync", 81);
  52365. _instance_0_u(_ = G.Parser.prototype, "get$whitespace", "whitespace$0", 1);
  52366. _instance_0_u(_, "get$loudComment", "loudComment$0", 1);
  52367. _instance_0_u(_, "get$string", "string$0", 43);
  52368. _instance_0_u(U.SassParser.prototype, "get$whitespace", "whitespace$0", 1);
  52369. _instance(_ = V.StylesheetParser.prototype, "get$_statement", 0, 0, null, ["call$1$root", "call$0"], ["_statement$1$root", "_statement$0"], 44, 0);
  52370. _instance_0_u(_, "get$_declarationChild", "_declarationChild$0", 25);
  52371. _instance_0_u(_, "get$_declarationAtRule", "_declarationAtRule$0", 25);
  52372. _instance_0_u(_, "get$_functionAtRule", "_functionAtRule$0", 25);
  52373. _instance_0_u(_, "get$_number", "_number$0", 46);
  52374. _instance_1_i(N.NoSourceMapBuffer.prototype, "get$write", "write$1", 8);
  52375. _instance_1_i(D.SourceMapBuffer.prototype, "get$write", "write$1", 8);
  52376. _static_1(B, "utils__isPublic$closure", "isPublic", 82);
  52377. _instance_1_u(_ = N._SerializeVisitor.prototype, "get$_visitMediaQuery", "_visitMediaQuery$1", 53);
  52378. _instance_1_u(_, "get$_isInvisible", "_isInvisible$1", 34);
  52379. _instance(Y.SourceSpanMixin.prototype, "get$message", 1, 1, function() {
  52380. return {color: null};
  52381. }, ["call$2$color", "call$1"], ["message$2$color", "message$1"], 55, 0);
  52382. _static(T, "debounce___collectToList$closure", 2, null, ["call$1$2", "call$2"], ["_collectToList", function(element, soFar) {
  52383. return T._collectToList(element, soFar, null);
  52384. }], 83, 0);
  52385. _static(L, "from_handlers__StreamTransformer__defaultHandleError$closure", 3, null, ["call$1$3", "call$3"], ["_StreamTransformer__defaultHandleError", function(error, stackTrace, sink) {
  52386. return L._StreamTransformer__defaultHandleError(error, stackTrace, sink, null);
  52387. }], 84, 0);
  52388. _static_1(D, "path__dirname$closure", "dirname", 27);
  52389. _static_1(F, "value0__wrapValue$closure", "wrapValue", 65);
  52390. _static_1(T, "character__isWhitespace$closure", "isWhitespace", 13);
  52391. _static_1(T, "character__isNewline$closure", "isNewline", 13);
  52392. _static_1(T, "character__isHex$closure", "isHex", 13);
  52393. _static_2(T, "number__fuzzyEquals$closure", "fuzzyEquals", 16);
  52394. _static_2(T, "number__fuzzyLessThan$closure", "fuzzyLessThan", 16);
  52395. _static_2(T, "number__fuzzyLessThanOrEquals$closure", "fuzzyLessThanOrEquals", 16);
  52396. _static_2(T, "number__fuzzyGreaterThan$closure", "fuzzyGreaterThan", 16);
  52397. _static_2(T, "number__fuzzyGreaterThanOrEquals$closure", "fuzzyGreaterThanOrEquals", 16);
  52398. _static_1(T, "number__fuzzyRound$closure", "fuzzyRound", 24);
  52399. })();
  52400. (function inheritance() {
  52401. var _mixin = hunkHelpers.mixin,
  52402. _inherit = hunkHelpers.inherit,
  52403. _inheritMany = hunkHelpers.inheritMany;
  52404. _inherit(P.Object, null);
  52405. _inheritMany(P.Object, [H.JS_CONST, J.Interceptor, J.ArrayIterator, P.Iterable, H.CastIterator, P._ListBase_Object_ListMixin, H.ListIterator, P.Iterator, H.ExpandIterator, H.EmptyIterator, H.FollowedByIterator, H.WhereTypeIterator, H.FixedLengthListMixin, H.UnmodifiableListMixin, H.Symbol0, P.MapView, H.ConstantMap, H.Closure, H.JSInvocationMirror, H.TypeErrorDecoder, P.Error, H.ExceptionAndStackTrace, H._StackTrace, H.TypeImpl, P.MapMixin, H.LinkedHashMapCell, H.LinkedHashMapKeyIterator, H.JSSyntaxRegExp, H._MatchImplementation, H._AllMatchesIterator, H.StringMatch, H._StringAllMatchesIterator, P._TimerImpl, P._AsyncAwaitCompleter, P._AsyncStarStreamController, P._IterationMarker, P._SyncStarIterator, P.Stream, P._BufferingStreamSubscription, P._BroadcastStreamController, P.Future, P._Completer, P._FutureListener, P._Future, P._AsyncCallbackEntry, P.StreamSubscription, P.EventSink, P.StreamTransformerBase, P._StreamController, P._SyncStreamControllerDispatch, P._AsyncStreamControllerDispatch, P._AddStreamState, P._DelayedEvent, P._DelayedDone, P._PendingEvents, P._DoneStreamSubscription, P._StreamIterator, P.Timer, P.AsyncError, P._ZoneFunction, P.ZoneSpecification, P._ZoneSpecification, P.ZoneDelegate, P.Zone, P._ZoneDelegate, P._Zone, P._HashMapKeyIterator, P._SetBase, P._LinkedHashSetCell, P._LinkedHashSetIterator, P.ListMixin, P._MapBaseValueIterator, P._UnmodifiableMapMixin, P.Queue, P._ListQueueIterator, P.Codec, P._Base64Encoder, P.ChunkedConversionSink, P._JsonStringifier, P.StringConversionSinkMixin, P._Utf8Encoder, P._Utf8Decoder, P.bool, P.DateTime, P.num, P.Duration, P.OutOfMemoryError, P.StackOverflowError, P._Exception, P.FormatException, P.Function, P.List, P.Map, P.MapEntry, P.Null, P.Match, P.RegExpMatch, P.StackTrace, P._StringStackTrace, P.String, P.RuneIterator, P.StringBuffer, P.StringSink, P.Symbol, P.Uri, P._Uri, P.UriData, P._SimpleUri, P._JSRandom, P.Uint8List, N.ArgParser, V.ArgResults, G.Option, G.OptionType, G.Parser0, G.Usage, V.ErrorResult, E.Result, F.ValueResult, Y.StreamCompleter, L.StreamGroup, L._StreamGroupState, G.StreamQueue, G._EventRequest, G._NextRequest, Q.Repl, B.ReplAdapter, U.DefaultEquality, U.ListEquality, U._MapEntry, U.MapEquality, Q._QueueList_Object_ListMixin, M._DelegatingIterableBase, L.UnmodifiableSetMixin, M.Context, M._PathDirection, M._PathRelation, O.Style, X.ParsedPath, X.PathException, F.CssMediaQuery, F._SingletonCssMediaQueryMergeResult, F.MediaQuerySuccessfulMergeResult, B.AstNode, F.ModifiableCssValue, F.CssValue, Z.Argument, B.ArgumentDeclaration, X.ArgumentInvocation, V.AtRootQuery, T.Expression, V.BinaryOperationExpression, V.BinaryOperator, Z.BooleanExpression, K.ColorExpression, F.FunctionExpression, L.IfExpression, D.ListExpression, A.MapExpression, O.NullExpression, T.NumberExpression, T.ParenthesizedExpression, T.SelectorExpression, D.StringExpression, X.UnaryOperationExpression, X.UnaryOperator, F.ValueExpression, S.VariableExpression, F.Import, B.DynamicImport, Q.StaticImport, X.Interpolation, O.Statement, M.ParentStatement, Q.ContentRule, Q.DebugRule, D.ErrorRule, X.ExtendRule, L.ForwardRule, V.IfRule, V.IfClause, B.ImportRule, A.IncludeRule, L.LoudComment, B.ReturnRule, B.SilentComment, T.UseRule, Z.VariableDeclaration, Y.WarnRule, L.SupportsDeclaration, X.SupportsInterpolation, M.SupportsNegation, U.SupportsOperation, T.Selector, N.AttributeOperator, S.ComplexSelectorComponent, S.Combinator, D.QualifiedName, X.CompileResult, Q.AsyncEnvironment, Q._EnvironmentModule0, O.AsyncImportCache, B.AsyncCallable, S.AsyncBuiltInCallable, Q.BuiltInCallable, L.PlainCssCallable, E.UserDefinedCallable, O.Environment, O._EnvironmentModule, G.SourceSpanException, E.SassScriptException, B.ExecutableOptions, B.UsageException, A._Watcher, T.EmptyExtender, F.Extender, S.Extension, L.ExtendMode, R.ImportCache, B.AsyncImporter, F.NodeImporter, E.ImporterResult, Z.InterpolationBuffer, B.FileSystemException, B.Stderr, F._QuietLogger, S.StderrLogger, T.TrackingLogger, G.Module, Q.BuiltInModule, R.ForwardedModuleView, G.Parser, M.StylesheetGraph, M.StylesheetNode, M.Syntax, G.FixedLengthListBuilder, U.MultiDirWatcher, N.NoSourceMapBuffer, D.SourceMapBuffer, F.Value, D.ListSeparator, E._EvaluateVisitor0, E._ImportedCssVisitor0, E.EvaluateResult, E._ArgumentResults0, V._CloneCssVisitor, R._EvaluateVisitor, R._ImportedCssVisitor, R._ArgumentResults, D.RecursiveStatementVisitor, N._SerializeVisitor, N.OutputStyle, N.LineFeed, N.SerializeResult, L.Entry, T.Mapping, T.TargetLineEntry, T.TargetEntry, Y.SourceFile, D.SourceLocationMixin, Y.FileSpan, Y.SourceSpanMixin, U.Highlighter, V.SourceLocation, V.SourceSpan, U.Chain, A.Frame, T.LazyTrace, Y.Trace, N.UnparsedFrame, X.StringScanner, S._SpanScannerState, A.AsciiGlyphSet, K.UnicodeGlyphSet, S.Tuple2, S.Tuple3, E.WatchEvent, E.ChangeType]);
  52406. _inheritMany(J.Interceptor, [J.JSBool, J.JSNull, J.JavaScriptObject, J.JSArray, J.JSNumber, J.JSString, H.NativeTypedData]);
  52407. _inheritMany(J.JavaScriptObject, [J.PlainJavaScriptObject, J.UnknownJavaScriptObject, J.JavaScriptFunction, B.Stdin, B.Stdout, B.ReadlineModule, B.ReadlineOptions, B.ReadlineInterface, B._FS, B._Stat, B._Date, B._Stderr, B._Stdin, B._SystemError, B._Process, Y.Chokidar, Y.ChokidarOptions, Y.ChokidarWatcher, V.JSError, D.Exports, E.FiberClass, E.Fiber, F.JSFunction, F.NodeImporterResult, Z.RenderContext, L.RenderContextOptions, R.RenderOptions, U.RenderResult, U.RenderResultStats, G.Types, K._NodeSassColor, D._NodeSassList, A._NodeSassMap, T._NodeSassNumber, D._NodeSassString]);
  52408. _inherit(J.JSUnmodifiableArray, J.JSArray);
  52409. _inheritMany(J.JSNumber, [J.JSInt, J.JSDouble]);
  52410. _inheritMany(P.Iterable, [H._CastIterableBase, H.EfficientLengthIterable, H.MappedIterable, H.WhereIterable, H.ExpandIterable, H.TakeIterable, H.SkipIterable, H.SkipWhileIterable, H.FollowedByIterable, H.WhereTypeIterable, H._ConstantMapKeyIterable, P.IterableBase, H._StringAllMatchesIterable, P.Runes]);
  52411. _inheritMany(H._CastIterableBase, [H.CastIterable, H.__CastListBase__CastIterableBase_ListMixin, H.CastSet, H.CastQueue]);
  52412. _inherit(H._EfficientLengthCastIterable, H.CastIterable);
  52413. _inherit(H._CastListBase, H.__CastListBase__CastIterableBase_ListMixin);
  52414. _inherit(H.CastList, H._CastListBase);
  52415. _inherit(P.ListBase, P._ListBase_Object_ListMixin);
  52416. _inherit(H.UnmodifiableListBase, P.ListBase);
  52417. _inheritMany(H.UnmodifiableListBase, [H.CodeUnits, P.UnmodifiableListView]);
  52418. _inheritMany(H.EfficientLengthIterable, [H.ListIterable, H.EmptyIterable, H.LinkedHashMapKeyIterable, P._HashMapKeyIterable, P._MapBaseValueIterable, P.Set]);
  52419. _inheritMany(H.ListIterable, [H.SubListIterable, H.MappedListIterable, H.ReversedListIterable, P.ListQueue, P._GeneratorIterable]);
  52420. _inherit(H.EfficientLengthMappedIterable, H.MappedIterable);
  52421. _inheritMany(P.Iterator, [H.MappedIterator, H.WhereIterator, H.TakeIterator, H.SkipIterator, H.SkipWhileIterator]);
  52422. _inherit(H.EfficientLengthTakeIterable, H.TakeIterable);
  52423. _inherit(H.EfficientLengthSkipIterable, H.SkipIterable);
  52424. _inherit(H.EfficientLengthFollowedByIterable, H.FollowedByIterable);
  52425. _inheritMany(P.MapView, [P._UnmodifiableMapView_MapView__UnmodifiableMapMixin, K.PathMap]);
  52426. _inherit(P.UnmodifiableMapView, P._UnmodifiableMapView_MapView__UnmodifiableMapMixin);
  52427. _inherit(H.ConstantMapView, P.UnmodifiableMapView);
  52428. _inherit(H.ConstantStringMap, H.ConstantMap);
  52429. _inheritMany(H.Closure, [H.ConstantStringMap_values_closure, H.Instantiation, H.Primitives_functionNoSuchMethod_closure, H.unwrapException_saveStackTrace, H.TearOffClosure, H.JsLinkedHashMap_values_closure, H.JsLinkedHashMap_addAll_closure, H.initHooks_closure, H.initHooks_closure0, H.initHooks_closure1, P._AsyncRun__initializeScheduleImmediate_internalCallback, P._AsyncRun__initializeScheduleImmediate_closure, P._AsyncRun__scheduleImmediateJsOverride_internalCallback, P._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, P._TimerImpl_internalCallback, P._TimerImpl$periodic_closure, P._AsyncAwaitCompleter_complete_closure, P._AsyncAwaitCompleter_completeError_closure, P._awaitOnObject_closure, P._awaitOnObject_closure0, P._wrapJsFunctionForAsync_closure, P._asyncStarHelper_closure, P._asyncStarHelper_closure0, P._AsyncStarStreamController__resumeBody, P._AsyncStarStreamController__resumeBody_closure, P._AsyncStarStreamController_closure0, P._AsyncStarStreamController_closure1, P._AsyncStarStreamController_closure, P._AsyncStarStreamController__closure, P._SyncBroadcastStreamController__sendData_closure, P._SyncBroadcastStreamController__sendError_closure, P._SyncBroadcastStreamController__sendDone_closure, P.Future_wait_handleError, P.Future_wait_closure, P._Future__addListener_closure, P._Future__prependListeners_closure, P._Future__chainForeignFuture_closure, P._Future__chainForeignFuture_closure0, P._Future__chainForeignFuture_closure1, P._Future__asyncComplete_closure, P._Future__chainFuture_closure, P._Future__asyncCompleteError_closure, P._Future__propagateToListeners_handleWhenCompleteCallback, P._Future__propagateToListeners_handleWhenCompleteCallback_closure, P._Future__propagateToListeners_handleValueCallback, P._Future__propagateToListeners_handleError, P.Stream_Stream$fromFuture_closure, P.Stream_Stream$fromFuture_closure0, P.Stream_length_closure, P.Stream_length_closure0, P._StreamController__subscribe_closure, P._StreamController__recordCancel_complete, P._AddStreamState_cancel_closure, P._BufferingStreamSubscription__sendError_sendError, P._BufferingStreamSubscription__sendDone_sendDone, P._PendingEvents_schedule_closure, P._CustomZone_bindCallback_closure, P._CustomZone_bindUnaryCallback_closure, P._CustomZone_bindCallbackGuarded_closure, P._rootHandleUncaughtError_closure, P._RootZone_bindCallback_closure, P._RootZone_bindCallbackGuarded_closure, P._HashMap_values_closure, P._HashMap_addAll_closure, P._LinkedCustomHashMap_closure, P.HashMap_HashMap$from_closure, P.LinkedHashMap_LinkedHashMap$from_closure, P.MapBase_mapToString_closure, P.MapMixin_entries_closure, P._JsonStringifier_writeMap_closure, P.NoSuchMethodError_toString_closure, P.Duration_toString_sixDigits, P.Duration_toString_twoDigits, P.Uri__parseIPv4Address_error, P.Uri_parseIPv6Address_error, P.Uri_parseIPv6Address_parseHex, P._Uri__Uri$notSimple_closure, P._Uri__checkNonWindowsPathReservedCharacters_closure, P._Uri__makePath_closure, P._createTables_closure, P._createTables_build, P._createTables_setChars, P._createTables_setRange, N.ArgParser_findByAbbreviation_closure, N.ArgParser_findByAbbreviation_closure0, G.Parser_parse_closure, G.Parser_setOption_closure, G.Usage_generate_closure, G.Usage_buildAllowedList_closure, L.StreamGroup_add_closure, L.StreamGroup_add_closure0, L.StreamGroup__onListen_closure, L.StreamGroup__onCancel_closure, L.StreamGroup__onCancel_closure0, L.StreamGroup__listenToStream_closure, G.StreamQueue__ensureListening_closure, G.StreamQueue__ensureListening_closure1, G.StreamQueue__ensureListening_closure0, Q.closure130, B.ReplAdapter_runAsync_closure, Y.mapMap_closure, Y.mapMap_closure0, Y.mapMap_closure1, B.defaultCompare_closure, M.Context_join_closure, M.Context_joinAll_closure, M.Context_split_closure, M._validateArgList_closure, X.ParsedPath_normalize_closure, X.ParsedPath__splitExtension_closure, X.ParsedPath__splitExtension_closure0, K.PathMap__create_closure, K.PathMap__create_closure0, K.PathMap__create_closure1, L.WindowsStyle_absolutePathToUri_closure, B.ArgumentDeclaration_verify_closure, B.ArgumentDeclaration_verify_closure0, D.ListExpression_toString_closure, A.MapExpression_toString_closure, X.Interpolation_toString_closure, V.EachRule_toString_closure, L.ForwardRule__memberList_closure, V.IfRule_toString_closure, V.IfClause$__closure, M.ParentStatement_closure, S.ComplexSelector_isInvisible_closure, X.CompoundSelector_isInvisible_closure, N.IDSelector_unify_closure, D.SelectorList_isInvisible_closure, D.SelectorList_asSassList_closure, D.SelectorList_asSassList__closure, D.SelectorList_unify_closure, D.SelectorList_unify__closure, D.SelectorList_unify___closure, D.SelectorList_resolveParentSelectors_closure, D.SelectorList_resolveParentSelectors__closure, D.SelectorList_resolveParentSelectors__closure0, D.SelectorList__complexContainsParentSelector_closure, D.SelectorList__complexContainsParentSelector__closure, D.SelectorList__resolveParentSelectorsCompound_closure, D.SelectorList__resolveParentSelectorsCompound_closure0, D.SelectorList__resolveParentSelectorsCompound_closure1, X._compileStylesheet_closure0, Q.AsyncEnvironment__getVariableFromGlobalModule_closure, Q.AsyncEnvironment_setVariable_closure, Q.AsyncEnvironment_setVariable_closure0, Q.AsyncEnvironment_setVariable_closure1, Q.AsyncEnvironment__getFunctionFromGlobalModule_closure, Q.AsyncEnvironment__getMixinFromGlobalModule_closure, Q._EnvironmentModule__EnvironmentModule_closure5, Q._EnvironmentModule__EnvironmentModule_closure6, Q._EnvironmentModule__EnvironmentModule_closure7, Q._EnvironmentModule__EnvironmentModule_closure8, Q._EnvironmentModule__EnvironmentModule_closure9, Q._EnvironmentModule__EnvironmentModule_closure10, O.AsyncImportCache_canonicalize_closure, O.AsyncImportCache_importCanonical_closure, O.AsyncImportCache_humanize_closure, O.AsyncImportCache_humanize_closure0, O.AsyncImportCache_humanize_closure1, S.AsyncBuiltInCallable_callbackFor_closure, S.AsyncBuiltInCallable_callbackFor_closure0, Q.BuiltInCallable_callbackFor_closure, Q.BuiltInCallable_callbackFor_closure0, X.closure34, X.closure35, U._compileStylesheet_closure, O.Environment__getVariableFromGlobalModule_closure, O.Environment_setVariable_closure, O.Environment_setVariable_closure0, O.Environment_setVariable_closure1, O.Environment__getFunctionFromGlobalModule_closure, O.Environment__getMixinFromGlobalModule_closure, O._EnvironmentModule__EnvironmentModule_closure, O._EnvironmentModule__EnvironmentModule_closure0, O._EnvironmentModule__EnvironmentModule_closure1, O._EnvironmentModule__EnvironmentModule_closure2, O._EnvironmentModule__EnvironmentModule_closure3, O._EnvironmentModule__EnvironmentModule_closure4, F.main_printError, F.main_closure0, D._writeSourceMap_closure, B.ExecutableOptions_closure, B.ExecutableOptions_emitErrorCss_closure, A.watch_closure, A._Watcher__debounceEvents_closure, A._Watcher__debounceEvents__closure, F.Extender__extendOrReplace_closure, F.Extender_extensionsWhereTarget_closure, F.Extender__registerSelector_closure, F.Extender_addExtension_closure, F.Extender_addExtension_closure0, F.Extender_addExtension_closure1, F.Extender__extendExistingExtensions_closure, F.Extender__extendExistingExtensions_closure0, F.Extender_addExtensions_closure, F.Extender_addExtensions__closure, F.Extender_addExtensions___closure, F.Extender_addExtensions___closure0, F.Extender__extendList_closure, F.Extender__extendComplex_closure, F.Extender__extendComplex_closure0, F.Extender__extendComplex__closure, F.Extender__extendComplex__closure0, F.Extender__extendComplex___closure, F.Extender__extendCompound_closure, F.Extender__extendCompound_closure0, F.Extender__extendCompound__closure, F.Extender__extendCompound__closure0, F.Extender__extendCompound_closure1, F.Extender__extendCompound_closure2, F.Extender__extendSimple_withoutPseudo, F.Extender__extendSimple_closure, F.Extender__extendPseudo_closure, F.Extender__extendPseudo_closure0, F.Extender__extendPseudo_closure1, F.Extender__extendPseudo_closure2, F.Extender__extendPseudo_closure3, F.Extender__trim_closure, F.Extender__trim_closure0, F.Extender_clone_closure, Y.unifyComplex_closure, Y._weaveParents_closure, Y._weaveParents_closure0, Y._weaveParents_closure1, Y._weaveParents__closure1, Y._weaveParents_closure2, Y._weaveParents_closure3, Y._weaveParents__closure0, Y._weaveParents_closure4, Y._weaveParents_closure5, Y._weaveParents__closure, Y._mustUnify_closure, Y._mustUnify__closure, Y.paths_closure, Y.paths__closure, Y.paths___closure, Y._hasRoot_closure, Y.listIsSuperslector_closure, Y.listIsSuperslector__closure, Y._simpleIsSuperselectorOfCompound_closure, Y._simpleIsSuperselectorOfCompound__closure, Y._selectorPseudoIsSuperselector_closure, Y._selectorPseudoIsSuperselector_closure0, Y._selectorPseudoIsSuperselector_closure1, Y._selectorPseudoIsSuperselector_closure2, Y._selectorPseudoIsSuperselector__closure, Y._selectorPseudoIsSuperselector___closure, Y._selectorPseudoIsSuperselector___closure0, Y._selectorPseudoIsSuperselector_closure3, Y._selectorPseudoIsSuperselector_closure4, Y._selectorPseudosNamed_closure, Y.closure37, K.closure81, K.closure82, K.closure83, K.closure84, K.closure85, K.closure86, K.closure87, K.closure88, K.closure89, K.closure90, K.closure91, K.closure92, K.closure93, K.closure94, K.closure95, K.closure96, K.closure97, K.closure98, K.closure99, K.closure100, K.closure101, K.closure102, K.closure103, K.closure104, K.closure105, K._closure17, K.closure106, K.closure120, K.closure121, K.closure122, K.closure123, K._closure18, K.closure124, K.closure119, K.closure118, K.closure117, K.closure116, K.closure115, K.closure114, K.closure113, K.closure112, K.closure111, K.closure109, K.closure_getInRange0, K._closure16, K.closure108, K.closure_getScale, K.closure_scaleValue, K._closure15, K.closure107, K.closure_getInRange, K._closure14, K.closure110, K.closure_hexString, K._functionString_closure, K._removedColorFunction_closure, K._parseChannels_closure, D.closure80, D.closure79, D.closure78, D.closure77, D.closure76, D.closure75, D._closure11, D._closure12, D._closure13, D.closure74, D.closure72, D.closure73, A.closure71, A.closure70, A.closure68, A.closure69, A.closure67, A.closure66, A.closure65, K.closure57, K.closure64, K.closure63, K.closure62, K.closure61, K.closure60, K.closure59, K.closure58, K.closure56, K.closure55, K._numberFunction_closure, Q.closure125, Q.closure126, Q.closure127, Q.closure128, Q._closure19, T.closure51, T._closure8, T._closure9, T.closure50, T._closure6, T._closure7, T.__closure, T.closure49, T.closure48, T.closure47, T.closure54, T.closure53, T._closure10, T.closure52, D.closure46, D.closure45, D.closure41, D.closure40, D.closure39, D.closure38, D.closure44, D.closure43, D.closure42, R.ImportCache_canonicalize_closure, R.ImportCache_importCanonical_closure, R.ImportCache_humanize_closure, R.ImportCache_humanize_closure0, R.ImportCache_humanize_closure1, B.resolveImportPath_closure, B.resolveImportPath_closure0, B._tryPathAsDirectory_closure, B._exactlyOne_closure, F.realCasePath_closure, B._readFile_closure, B.writeFile_closure, B.deleteFile_closure, B.readStdin_closure, B.readStdin_closure0, B.readStdin_closure1, B.readStdin_closure2, B.ensureDir_closure, B.listDir_closure, B.listDir__closure, B.listDir__closure0, B.listDir_closure_list, B.listDir__list_closure, B.modificationTime_closure, B.watchDir_closure, B.watchDir_closure0, B.watchDir_closure1, B.watchDir_closure2, B.watchDir_closure3, B.watchDir__closure, B.main_closure, B._render_closure, B._render_closure0, B._render_closure1, B._parseFunctions_closure, B._parseFunctions__closure, B._parseFunctions___closure0, B._parseFunctions____closure, B._parseFunctions__closure0, B._parseFunctions__closure1, B._parseFunctions___closure, B._parseImporter_closure, B._parseImporter__closure, B._parseImporter___closure, B._parseImporter____closure, B.forwardToString_closure, B.createClass_closure, Z.closure36, Z._closure4, Z._closure5, K.closure24, K.closure25, K.closure26, K.closure27, K.closure28, K.closure29, K.closure30, K.closure31, K.closure32, K.closure33, D.closure17, D._closure3, D.closure18, D.closure19, D.closure20, D.closure21, D.closure22, D.closure23, A.closure10, A._closure1, A._closure2, A.closure11, A.closure12, A.closure13, A.closure14, A.closure15, A.closure16, O.closure9, O._closure, O._closure0, T.closure3, T.closure4, T.closure5, T.closure6, T.closure7, T.closure8, T._parseNumber_closure, T._parseNumber_closure0, D.closure, D.closure0, D.closure1, D.closure2, V.AtRootQueryParser_parse_closure, Q.closure129, E.KeyframeSelectorParser_parse_closure, F.MediaQueryParser_parse_closure, G.Parser__parseIdentifier_closure, U.SassParser_children_closure, T.SelectorParser_parse_closure, T.SelectorParser_parseCompoundSelector_closure, V.StylesheetParser_parse_closure, V.StylesheetParser_parse__closure, V.StylesheetParser_parse__closure0, V.StylesheetParser_parseArgumentDeclaration_closure, V.StylesheetParser_parseExpression_closure, V.StylesheetParser_parseVariableDeclaration_closure, V.StylesheetParser_parseSignature_closure, V.StylesheetParser__statement_closure, V.StylesheetParser_variableDeclaration_closure, V.StylesheetParser__styleRule_closure, V.StylesheetParser__declarationOrStyleRule_closure, V.StylesheetParser__declarationOrBuffer_closure, V.StylesheetParser__declarationOrBuffer_closure0, V.StylesheetParser__declaration_closure, V.StylesheetParser__declaration_closure0, V.StylesheetParser__atRootRule_closure, V.StylesheetParser__atRootRule_closure0, V.StylesheetParser__eachRule_closure, V.StylesheetParser__functionRule_closure, V.StylesheetParser__forRule_closure, V.StylesheetParser__forRule_closure0, V.StylesheetParser__memberList_closure, V.StylesheetParser__includeRule_closure, V.StylesheetParser_mediaRule_closure, V.StylesheetParser__mixinRule_closure, V.StylesheetParser_mozDocumentRule_closure, V.StylesheetParser_supportsRule_closure, V.StylesheetParser__whileRule_closure, V.StylesheetParser_unknownAtRule_closure, V.StylesheetParser_expression_resetState, V.StylesheetParser_expression_resolveOneOperation, V.StylesheetParser_expression_resolveOperations, V.StylesheetParser_expression_addSingleExpression, V.StylesheetParser_expression_addOperator, V.StylesheetParser_expression_resolveSpaceExpressions, V.StylesheetParser__expressionUntilComma_closure, V.StylesheetParser__unicodeRange_closure, V.StylesheetParser__unicodeRange_closure0, V.StylesheetParser__expressionUntilComparison_closure, M.StylesheetGraph_modifiedSince_transitiveModificationTime, M.StylesheetGraph_modifiedSince_transitiveModificationTime_closure, M.StylesheetGraph__add_closure, M.StylesheetGraph_addCanonical_closure, M.StylesheetGraph_addCanonical_closure0, M.StylesheetGraph__upstreamNodes_closure, M.StylesheetGraph_reload_closure, M.StylesheetGraph__nodeFor_closure, M.StylesheetGraph__nodeFor_closure0, F._PrefixedKeys_iterator_closure, D.SourceMapBuffer_sourceFiles_closure, D.SourceMapBuffer__addEntry_closure, D.SourceMapBuffer_buildSourceMap_closure, B.indent_closure, B.flattenVertically_closure, B.flattenVertically_closure0, B.longestCommonSubsequence_closure, B.longestCommonSubsequence_closure0, B.longestCommonSubsequence_closure1, B.longestCommonSubsequence_backtrack, B.mapAddAll2_closure, B.mapMapAsync_closure, B.copyMapOfMap_closure, B.copyMapOfList_closure, D.SassList_isBlank_closure, A.SassMap_asList_closure, T.SassNumber_valueInUnits_closure, T.SassNumber_valueInUnits_closure0, T.SassNumber_valueInUnits_closure1, T.SassNumber_valueInUnits_closure2, T.SassNumber_modulo_closure, T.SassNumber_plus_closure, T.SassNumber_minus_closure, T.SassNumber__multiplyUnits_closure, T.SassNumber__multiplyUnits_closure0, T.SassNumber__multiplyUnits_closure1, T.SassNumber__multiplyUnits_closure2, T.SassNumber__areAnyConvertible_closure, T.SassNumber__canonicalMultiplier_closure, E._EvaluateVisitor_closure8, E._EvaluateVisitor_closure9, E._EvaluateVisitor_closure10, E._EvaluateVisitor_closure11, E._EvaluateVisitor_closure12, E._EvaluateVisitor_closure13, E._EvaluateVisitor_closure14, E._EvaluateVisitor_closure15, E._EvaluateVisitor__closure4, E._EvaluateVisitor_closure16, E._EvaluateVisitor__closure2, E._EvaluateVisitor__closure3, E._EvaluateVisitor_run_closure0, E._EvaluateVisitor__withWarnCallback_closure0, E._EvaluateVisitor__loadModule_closure0, E._EvaluateVisitor__loadModule__closure0, E._EvaluateVisitor__execute_closure0, E._EvaluateVisitor__execute__closure0, E._EvaluateVisitor__combineCss_closure2, E._EvaluateVisitor__combineCss_closure3, E._EvaluateVisitor__combineCss_closure4, E._EvaluateVisitor__extendModules_closure1, E._EvaluateVisitor__extendModules_closure2, E._EvaluateVisitor__topologicalModules_visitModule0, E._EvaluateVisitor_visitAtRootRule_closure2, E._EvaluateVisitor_visitAtRootRule_closure3, E._EvaluateVisitor_visitAtRootRule_closure4, E._EvaluateVisitor__scopeForAtRoot_closure5, E._EvaluateVisitor__scopeForAtRoot_closure6, E._EvaluateVisitor__scopeForAtRoot_closure7, E._EvaluateVisitor__scopeForAtRoot__closure0, E._EvaluateVisitor__scopeForAtRoot_closure8, E._EvaluateVisitor__scopeForAtRoot_closure9, E._EvaluateVisitor__scopeForAtRoot_closure10, E._EvaluateVisitor_visitContentRule_closure0, E._EvaluateVisitor_visitDeclaration_closure0, E._EvaluateVisitor_visitEachRule_closure2, E._EvaluateVisitor_visitEachRule_closure3, E._EvaluateVisitor_visitEachRule_closure4, E._EvaluateVisitor_visitEachRule__closure0, E._EvaluateVisitor_visitEachRule___closure0, E._EvaluateVisitor_visitExtendRule_closure0, E._EvaluateVisitor_visitAtRule_closure1, E._EvaluateVisitor_visitAtRule__closure0, E._EvaluateVisitor_visitAtRule_closure2, E._EvaluateVisitor_visitForRule_closure4, E._EvaluateVisitor_visitForRule_closure5, E._EvaluateVisitor_visitForRule_closure6, E._EvaluateVisitor_visitForRule_closure7, E._EvaluateVisitor_visitForRule_closure8, E._EvaluateVisitor_visitForRule__closure0, E._EvaluateVisitor_visitForwardRule_closure0, E._EvaluateVisitor_visitIfRule_closure0, E._EvaluateVisitor_visitIfRule__closure0, E._EvaluateVisitor__visitDynamicImport_closure0, E._EvaluateVisitor__visitDynamicImport__closure1, E._EvaluateVisitor__visitDynamicImport__closure2, E._EvaluateVisitor_visitIncludeRule_closure1, E._EvaluateVisitor_visitIncludeRule_closure2, E._EvaluateVisitor_visitIncludeRule__closure0, E._EvaluateVisitor_visitIncludeRule___closure0, E._EvaluateVisitor_visitMediaRule_closure1, E._EvaluateVisitor_visitMediaRule__closure0, E._EvaluateVisitor_visitMediaRule___closure0, E._EvaluateVisitor_visitMediaRule_closure2, E._EvaluateVisitor__visitMediaQueries_closure0, E._EvaluateVisitor_visitStyleRule_closure6, E._EvaluateVisitor_visitStyleRule_closure7, E._EvaluateVisitor_visitStyleRule_closure8, E._EvaluateVisitor_visitStyleRule_closure9, E._EvaluateVisitor_visitStyleRule_closure10, E._EvaluateVisitor_visitStyleRule_closure11, E._EvaluateVisitor_visitStyleRule__closure0, E._EvaluateVisitor_visitStyleRule_closure12, E._EvaluateVisitor_visitSupportsRule_closure1, E._EvaluateVisitor_visitSupportsRule__closure0, E._EvaluateVisitor_visitSupportsRule_closure2, E._EvaluateVisitor_visitVariableDeclaration_closure1, E._EvaluateVisitor_visitVariableDeclaration_closure2, E._EvaluateVisitor_visitUseRule_closure0, E._EvaluateVisitor_visitWarnRule_closure0, E._EvaluateVisitor_visitWhileRule_closure0, E._EvaluateVisitor_visitWhileRule__closure0, E._EvaluateVisitor_visitBinaryOperationExpression_closure0, E._EvaluateVisitor_visitVariableExpression_closure0, E._EvaluateVisitor_visitListExpression_closure0, E._EvaluateVisitor_visitFunctionExpression_closure0, E._EvaluateVisitor__runUserDefinedCallable_closure0, E._EvaluateVisitor__runUserDefinedCallable__closure0, E._EvaluateVisitor__runUserDefinedCallable___closure0, E._EvaluateVisitor__runUserDefinedCallable____closure0, E._EvaluateVisitor__runFunctionCallable_closure0, E._EvaluateVisitor__runBuiltInCallable_closure1, E._EvaluateVisitor__runBuiltInCallable_closure2, E._EvaluateVisitor__evaluateArguments_closure6, E._EvaluateVisitor__evaluateArguments_closure7, E._EvaluateVisitor__evaluateArguments_closure8, E._EvaluateVisitor__evaluateArguments_closure9, E._EvaluateVisitor__evaluateArguments_closure10, E._EvaluateVisitor__evaluateArguments_closure11, E._EvaluateVisitor__evaluateArguments_closure12, E._EvaluateVisitor__evaluateMacroArguments_closure3, E._EvaluateVisitor__evaluateMacroArguments_closure4, E._EvaluateVisitor__evaluateMacroArguments_closure5, E._EvaluateVisitor__evaluateMacroArguments_closure6, E._EvaluateVisitor__addRestMap_closure1, E._EvaluateVisitor__addRestMap_closure2, E._EvaluateVisitor__verifyArguments_closure0, E._EvaluateVisitor_visitStringExpression_closure0, E._EvaluateVisitor_visitCssAtRule_closure1, E._EvaluateVisitor_visitCssAtRule_closure2, E._EvaluateVisitor_visitCssKeyframeBlock_closure1, E._EvaluateVisitor_visitCssKeyframeBlock_closure2, E._EvaluateVisitor_visitCssMediaRule_closure1, E._EvaluateVisitor_visitCssMediaRule__closure0, E._EvaluateVisitor_visitCssMediaRule___closure0, E._EvaluateVisitor_visitCssMediaRule_closure2, E._EvaluateVisitor_visitCssStyleRule_closure1, E._EvaluateVisitor_visitCssStyleRule__closure0, E._EvaluateVisitor_visitCssStyleRule_closure2, E._EvaluateVisitor_visitCssSupportsRule_closure1, E._EvaluateVisitor_visitCssSupportsRule__closure0, E._EvaluateVisitor_visitCssSupportsRule_closure2, E._EvaluateVisitor__performInterpolation_closure0, E._EvaluateVisitor__serialize_closure0, E._EvaluateVisitor__stackTrace_closure0, E._ImportedCssVisitor_visitCssAtRule_closure0, E._ImportedCssVisitor_visitCssMediaRule_closure0, E._ImportedCssVisitor_visitCssStyleRule_closure0, E._ImportedCssVisitor_visitCssSupportsRule_closure0, R._EvaluateVisitor_closure, R._EvaluateVisitor_closure0, R._EvaluateVisitor_closure1, R._EvaluateVisitor_closure2, R._EvaluateVisitor_closure3, R._EvaluateVisitor_closure4, R._EvaluateVisitor_closure5, R._EvaluateVisitor_closure6, R._EvaluateVisitor__closure1, R._EvaluateVisitor_closure7, R._EvaluateVisitor__closure, R._EvaluateVisitor__closure0, R._EvaluateVisitor_run_closure, R._EvaluateVisitor_runExpression_closure, R._EvaluateVisitor__withWarnCallback_closure, R._EvaluateVisitor__loadModule_closure, R._EvaluateVisitor__loadModule__closure, R._EvaluateVisitor__execute_closure, R._EvaluateVisitor__execute__closure, R._EvaluateVisitor__combineCss_closure, R._EvaluateVisitor__combineCss_closure0, R._EvaluateVisitor__combineCss_closure1, R._EvaluateVisitor__extendModules_closure, R._EvaluateVisitor__extendModules_closure0, R._EvaluateVisitor__topologicalModules_visitModule, R._EvaluateVisitor_visitAtRootRule_closure, R._EvaluateVisitor_visitAtRootRule_closure0, R._EvaluateVisitor_visitAtRootRule_closure1, R._EvaluateVisitor__scopeForAtRoot_closure, R._EvaluateVisitor__scopeForAtRoot_closure0, R._EvaluateVisitor__scopeForAtRoot_closure1, R._EvaluateVisitor__scopeForAtRoot__closure, R._EvaluateVisitor__scopeForAtRoot_closure2, R._EvaluateVisitor__scopeForAtRoot_closure3, R._EvaluateVisitor__scopeForAtRoot_closure4, R._EvaluateVisitor_visitContentRule_closure, R._EvaluateVisitor_visitDeclaration_closure, R._EvaluateVisitor_visitEachRule_closure, R._EvaluateVisitor_visitEachRule_closure0, R._EvaluateVisitor_visitEachRule_closure1, R._EvaluateVisitor_visitEachRule__closure, R._EvaluateVisitor_visitEachRule___closure, R._EvaluateVisitor_visitExtendRule_closure, R._EvaluateVisitor_visitAtRule_closure, R._EvaluateVisitor_visitAtRule__closure, R._EvaluateVisitor_visitAtRule_closure0, R._EvaluateVisitor_visitForRule_closure, R._EvaluateVisitor_visitForRule_closure0, R._EvaluateVisitor_visitForRule_closure1, R._EvaluateVisitor_visitForRule_closure2, R._EvaluateVisitor_visitForRule_closure3, R._EvaluateVisitor_visitForRule__closure, R._EvaluateVisitor_visitForwardRule_closure, R._EvaluateVisitor_visitIfRule_closure, R._EvaluateVisitor_visitIfRule__closure, R._EvaluateVisitor__visitDynamicImport_closure, R._EvaluateVisitor__visitDynamicImport__closure, R._EvaluateVisitor__visitDynamicImport__closure0, R._EvaluateVisitor_visitIncludeRule_closure, R._EvaluateVisitor_visitIncludeRule_closure0, R._EvaluateVisitor_visitIncludeRule__closure, R._EvaluateVisitor_visitIncludeRule___closure, R._EvaluateVisitor_visitMediaRule_closure, R._EvaluateVisitor_visitMediaRule__closure, R._EvaluateVisitor_visitMediaRule___closure, R._EvaluateVisitor_visitMediaRule_closure0, R._EvaluateVisitor__visitMediaQueries_closure, R._EvaluateVisitor_visitStyleRule_closure, R._EvaluateVisitor_visitStyleRule_closure0, R._EvaluateVisitor_visitStyleRule_closure1, R._EvaluateVisitor_visitStyleRule_closure2, R._EvaluateVisitor_visitStyleRule_closure3, R._EvaluateVisitor_visitStyleRule_closure4, R._EvaluateVisitor_visitStyleRule__closure, R._EvaluateVisitor_visitStyleRule_closure5, R._EvaluateVisitor_visitSupportsRule_closure, R._EvaluateVisitor_visitSupportsRule__closure, R._EvaluateVisitor_visitSupportsRule_closure0, R._EvaluateVisitor_visitVariableDeclaration_closure, R._EvaluateVisitor_visitVariableDeclaration_closure0, R._EvaluateVisitor_visitUseRule_closure, R._EvaluateVisitor_visitWarnRule_closure, R._EvaluateVisitor_visitWhileRule_closure, R._EvaluateVisitor_visitWhileRule__closure, R._EvaluateVisitor_visitBinaryOperationExpression_closure, R._EvaluateVisitor_visitVariableExpression_closure, R._EvaluateVisitor_visitListExpression_closure, R._EvaluateVisitor_visitFunctionExpression_closure, R._EvaluateVisitor__runUserDefinedCallable_closure, R._EvaluateVisitor__runUserDefinedCallable__closure, R._EvaluateVisitor__runUserDefinedCallable___closure, R._EvaluateVisitor__runUserDefinedCallable____closure, R._EvaluateVisitor__runFunctionCallable_closure, R._EvaluateVisitor__runBuiltInCallable_closure, R._EvaluateVisitor__runBuiltInCallable_closure0, R._EvaluateVisitor__evaluateArguments_closure, R._EvaluateVisitor__evaluateArguments_closure0, R._EvaluateVisitor__evaluateArguments_closure1, R._EvaluateVisitor__evaluateArguments_closure2, R._EvaluateVisitor__evaluateArguments_closure3, R._EvaluateVisitor__evaluateArguments_closure4, R._EvaluateVisitor__evaluateArguments_closure5, R._EvaluateVisitor__evaluateMacroArguments_closure, R._EvaluateVisitor__evaluateMacroArguments_closure0, R._EvaluateVisitor__evaluateMacroArguments_closure1, R._EvaluateVisitor__evaluateMacroArguments_closure2, R._EvaluateVisitor__addRestMap_closure, R._EvaluateVisitor__addRestMap_closure0, R._EvaluateVisitor__verifyArguments_closure, R._EvaluateVisitor_visitStringExpression_closure, R._EvaluateVisitor_visitCssAtRule_closure, R._EvaluateVisitor_visitCssAtRule_closure0, R._EvaluateVisitor_visitCssKeyframeBlock_closure, R._EvaluateVisitor_visitCssKeyframeBlock_closure0, R._EvaluateVisitor_visitCssMediaRule_closure, R._EvaluateVisitor_visitCssMediaRule__closure, R._EvaluateVisitor_visitCssMediaRule___closure, R._EvaluateVisitor_visitCssMediaRule_closure0, R._EvaluateVisitor_visitCssStyleRule_closure, R._EvaluateVisitor_visitCssStyleRule__closure, R._EvaluateVisitor_visitCssStyleRule_closure0, R._EvaluateVisitor_visitCssSupportsRule_closure, R._EvaluateVisitor_visitCssSupportsRule__closure, R._EvaluateVisitor_visitCssSupportsRule_closure0, R._EvaluateVisitor__performInterpolation_closure, R._EvaluateVisitor__serialize_closure, R._EvaluateVisitor__stackTrace_closure, R._ImportedCssVisitor_visitCssAtRule_closure, R._ImportedCssVisitor_visitCssMediaRule_closure, R._ImportedCssVisitor_visitCssStyleRule_closure, R._ImportedCssVisitor_visitCssSupportsRule_closure, N.serialize_closure, N._SerializeVisitor_visitCssComment_closure, N._SerializeVisitor_visitCssAtRule_closure, N._SerializeVisitor_visitCssMediaRule_closure, N._SerializeVisitor_visitCssImport_closure, N._SerializeVisitor_visitCssImport__closure, N._SerializeVisitor_visitCssKeyframeBlock_closure, N._SerializeVisitor_visitCssStyleRule_closure, N._SerializeVisitor_visitCssSupportsRule_closure, N._SerializeVisitor_visitCssDeclaration_closure, N._SerializeVisitor_visitCssDeclaration_closure0, N._SerializeVisitor_visitList_closure, N._SerializeVisitor_visitList_closure0, N._SerializeVisitor_visitList_closure1, N._SerializeVisitor_visitMap_closure, N._SerializeVisitor_visitSelectorList_closure, N._SerializeVisitor__write_closure, N._SerializeVisitor__visitChildren_closure, N.withWarnCallback_closure, T.SingleMapping_SingleMapping$fromEntries_closure, T.SingleMapping_SingleMapping$fromEntries_closure0, T.SingleMapping_SingleMapping$fromEntries_closure1, T.SingleMapping_toJson_closure, T.SingleMapping_toJson_closure0, U.Highlighter__writeFirstLine_closure, U.Highlighter__writeFirstLine_closure0, U.Highlighter__writeFirstLine_closure1, U.Highlighter__writeFirstLine_closure2, U.Highlighter__writeIntermediateLines_closure, U.Highlighter__writeLastLine_closure, U.Highlighter__writeLastLine_closure0, U.Highlighter__writeLastLine_closure1, U.Highlighter__writeSidebar_closure, U.Chain_Chain$parse_closure, U.Chain_Chain$parse_closure0, U.Chain_toTrace_closure, U.Chain_toString_closure0, U.Chain_toString__closure0, U.Chain_toString_closure, U.Chain_toString__closure, A.Frame_Frame$parseVM_closure, A.Frame_Frame$parseV8_closure, A.Frame_Frame$parseV8_closure_parseLocation, A.Frame_Frame$parseFirefox_closure, A.Frame_Frame$parseFriendly_closure, T.LazyTrace_terse_closure, Y.Trace_Trace$from_closure, Y.Trace__parseVM_closure, Y.Trace$parseV8_closure, Y.Trace$parseV8_closure0, Y.Trace$parseJSCore_closure, Y.Trace$parseJSCore_closure0, Y.Trace$parseFirefox_closure, Y.Trace$parseFirefox_closure0, Y.Trace$parseFriendly_closure, Y.Trace$parseFriendly_closure0, Y.Trace_terse_closure, Y.Trace_foldFrames_closure, Y.Trace_foldFrames_closure0, Y.Trace_toString_closure0, Y.Trace_toString_closure, T._debounceAggregate_closure, T._debounceAggregate__closure, T._debounceAggregate_closure0, L._StreamTransformer_bind_closure, L._StreamTransformer_bind__closure, L._StreamTransformer_bind__closure1, L._StreamTransformer_bind__closure0, L._StreamTransformer_bind__closure2]);
  52430. _inherit(H.ConstantProtoMap, H.ConstantStringMap);
  52431. _inherit(H.Instantiation1, H.Instantiation);
  52432. _inheritMany(P.Error, [H.NullError, H.JsNoSuchMethodError, H.UnknownJsTypeError, H.CastErrorImplementation, H.RuntimeError, P.JsonUnsupportedObjectError, P.NullThrownError, P.ArgumentError, P.NoSuchMethodError, P.UnsupportedError, P.UnimplementedError, P.StateError, P.ConcurrentModificationError, P.CyclicInitializationError]);
  52433. _inheritMany(H.TearOffClosure, [H.StaticClosure, H.BoundClosure]);
  52434. _inherit(P.MapBase, P.MapMixin);
  52435. _inheritMany(P.MapBase, [H.JsLinkedHashMap, P._HashMap, P.UnmodifiableMapBase, Z.MergedMapView]);
  52436. _inheritMany(P.IterableBase, [H._AllMatchesIterable, P._SyncStarIterable, O.EmptyUnmodifiableSet, F._PrefixedKeys]);
  52437. _inherit(H.NativeTypedArray, H.NativeTypedData);
  52438. _inheritMany(H.NativeTypedArray, [H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin, H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin]);
  52439. _inherit(H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin, H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin);
  52440. _inherit(H.NativeTypedArrayOfDouble, H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin);
  52441. _inherit(H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin, H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin);
  52442. _inherit(H.NativeTypedArrayOfInt, H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin);
  52443. _inheritMany(H.NativeTypedArrayOfDouble, [H.NativeFloat32List, H.NativeFloat64List]);
  52444. _inheritMany(H.NativeTypedArrayOfInt, [H.NativeInt16List, H.NativeInt32List, H.NativeInt8List, H.NativeUint16List, H.NativeUint32List, H.NativeUint8ClampedList, H.NativeUint8List]);
  52445. _inheritMany(P.Stream, [P._StreamImpl, P._ForwardingStream, Y._CompleterStream]);
  52446. _inherit(P._ControllerStream, P._StreamImpl);
  52447. _inherit(P._BroadcastStream, P._ControllerStream);
  52448. _inheritMany(P._BufferingStreamSubscription, [P._ControllerSubscription, P._ForwardingStreamSubscription]);
  52449. _inherit(P._BroadcastSubscription, P._ControllerSubscription);
  52450. _inherit(P._SyncBroadcastStreamController, P._BroadcastStreamController);
  52451. _inheritMany(P._Completer, [P._AsyncCompleter, P._SyncCompleter]);
  52452. _inheritMany(P._StreamController, [P._AsyncStreamController, P._SyncStreamController]);
  52453. _inherit(P._StreamControllerAddStreamState, P._AddStreamState);
  52454. _inheritMany(P._DelayedEvent, [P._DelayedData, P._DelayedError]);
  52455. _inherit(P._StreamImplEvents, P._PendingEvents);
  52456. _inherit(P._ExpandStream, P._ForwardingStream);
  52457. _inheritMany(P._Zone, [P._CustomZone, P._RootZone]);
  52458. _inheritMany(H.JsLinkedHashMap, [P._LinkedIdentityHashMap, P._LinkedCustomHashMap]);
  52459. _inherit(P._LinkedHashSet, P._SetBase);
  52460. _inherit(P._LinkedIdentityHashSet, P._LinkedHashSet);
  52461. _inheritMany(P.Codec, [P.Encoding, P.Base64Codec, P.JsonCodec]);
  52462. _inheritMany(P.Encoding, [P.AsciiCodec, P.Utf8Codec]);
  52463. _inheritMany(P.StreamTransformerBase, [P.Converter, L._StreamTransformer]);
  52464. _inheritMany(P.Converter, [P._UnicodeSubsetEncoder, P.Base64Encoder, P.JsonEncoder, P.Utf8Encoder, P.Utf8Decoder]);
  52465. _inherit(P.AsciiEncoder, P._UnicodeSubsetEncoder);
  52466. _inherit(P._BufferCachingBase64Encoder, P._Base64Encoder);
  52467. _inherit(P.ByteConversionSink, P.ChunkedConversionSink);
  52468. _inheritMany(P.ByteConversionSink, [P.ByteConversionSinkBase, P._Utf8StringSinkAdapter, P._Utf8ConversionSink]);
  52469. _inherit(P._Base64EncoderSink, P.ByteConversionSinkBase);
  52470. _inheritMany(P._Base64EncoderSink, [P._AsciiBase64EncoderSink, P._Utf8Base64EncoderSink]);
  52471. _inherit(P.JsonCyclicError, P.JsonUnsupportedObjectError);
  52472. _inherit(P._JsonStringStringifier, P._JsonStringifier);
  52473. _inherit(P.StringConversionSinkBase, P.StringConversionSinkMixin);
  52474. _inheritMany(P.StringConversionSinkBase, [P._StringSinkConversionSink, P._StringAdapterSink]);
  52475. _inherit(P._StringCallbackSink, P._StringSinkConversionSink);
  52476. _inheritMany(P.num, [P.double, P.int]);
  52477. _inheritMany(P.ArgumentError, [P.RangeError, P.IndexError]);
  52478. _inherit(P._DataUri, P._Uri);
  52479. _inherit(Z.ArgParserException, P.FormatException);
  52480. _inherit(Q.QueueList, Q._QueueList_Object_ListMixin);
  52481. _inherit(Q._CastQueueList, Q.QueueList);
  52482. _inheritMany(M._DelegatingIterableBase, [M.DelegatingIterable, M._MapKeySet__DelegatingIterableBase_UnmodifiableSetMixin]);
  52483. _inherit(M.DelegatingSet, M.DelegatingIterable);
  52484. _inherit(L._UnmodifiableSetView_DelegatingSet_UnmodifiableSetMixin, M.DelegatingSet);
  52485. _inherit(L.UnmodifiableSetView, L._UnmodifiableSetView_DelegatingSet_UnmodifiableSetMixin);
  52486. _inherit(M.MapKeySet, M._MapKeySet__DelegatingIterableBase_UnmodifiableSetMixin);
  52487. _inherit(B.InternalStyle, O.Style);
  52488. _inheritMany(B.InternalStyle, [E.PosixStyle, F.UrlStyle, L.WindowsStyle]);
  52489. _inheritMany(B.AstNode, [B.CssNode, B.SassNode]);
  52490. _inheritMany(B.CssNode, [B.ModifiableCssNode, B.CssParentNode]);
  52491. _inheritMany(B.ModifiableCssNode, [B.ModifiableCssParentNode, R.ModifiableCssComment, L.ModifiableCssDeclaration, F.ModifiableCssImport]);
  52492. _inheritMany(B.ModifiableCssParentNode, [U.ModifiableCssAtRule, U.ModifiableCssKeyframeBlock, G.ModifiableCssMediaRule, X.ModifiableCssStyleRule, V.ModifiableCssStylesheet, B.ModifiableCssSupportsRule]);
  52493. _inheritMany(B.CssParentNode, [X.CssStyleRule, V.CssStylesheet]);
  52494. _inheritMany(M.ParentStatement, [V.AtRootRule, U.AtRule, M.CallableDeclaration, L.Declaration, V.EachRule, B.ForRule, G.MediaRule, X.StyleRule, V.Stylesheet, B.SupportsRule, G.WhileRule]);
  52495. _inheritMany(M.CallableDeclaration, [Y.ContentBlock, M.FunctionRule, T.MixinRule]);
  52496. _inherit(N.SupportsCondition, B.SassNode);
  52497. _inheritMany(T.Selector, [M.SimpleSelector, S.ComplexSelector, X.CompoundSelector, D.SelectorList]);
  52498. _inheritMany(M.SimpleSelector, [N.AttributeSelector, X.ClassSelector, N.IDSelector, M.ParentSelector, N.PlaceholderSelector, D.PseudoSelector, F.TypeSelector, N.UniversalSelector]);
  52499. _inherit(D.Callable, B.AsyncCallable);
  52500. _inheritMany(G.SourceSpanException, [E.SassException, G.SourceSpanFormatException]);
  52501. _inheritMany(E.SassException, [E.SassRuntimeException, E.SassFormatException]);
  52502. _inherit(A.MergedExtension, S.Extension);
  52503. _inherit(M.Importer, B.AsyncImporter);
  52504. _inherit(F.FilesystemImporter, M.Importer);
  52505. _inheritMany(G.Parser, [V.AtRootQueryParser, V.StylesheetParser, E.KeyframeSelectorParser, F.MediaQueryParser, T.SelectorParser]);
  52506. _inheritMany(V.StylesheetParser, [L.ScssParser, U.SassParser]);
  52507. _inherit(Q.CssParser, L.ScssParser);
  52508. _inheritMany(P.UnmodifiableMapBase, [K.LimitedMapView, F.PrefixedMapView, U.PublicMemberMapView]);
  52509. _inheritMany(F.Value, [D.SassList, Z.SassBoolean, K.SassColor, F.SassFunction, A.SassMap, O.SassNull, T.SassNumber, D.SassString]);
  52510. _inherit(D.SassArgumentList, D.SassList);
  52511. _inherit(L._FindImportsVisitor, D.RecursiveStatementVisitor);
  52512. _inherit(T.SingleMapping, T.Mapping);
  52513. _inherit(Y.FileLocation, D.SourceLocationMixin);
  52514. _inheritMany(Y.SourceSpanMixin, [Y._FileSpan, V.SourceSpanBase]);
  52515. _inherit(X.SourceSpanWithContext, V.SourceSpanBase);
  52516. _inherit(E.StringScannerException, G.SourceSpanFormatException);
  52517. _inheritMany(X.StringScanner, [Z.LineScanner, S.SpanScanner]);
  52518. _mixin(H.UnmodifiableListBase, H.UnmodifiableListMixin);
  52519. _mixin(H.__CastListBase__CastIterableBase_ListMixin, P.ListMixin);
  52520. _mixin(H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin, P.ListMixin);
  52521. _mixin(H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin, H.FixedLengthListMixin);
  52522. _mixin(H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin, P.ListMixin);
  52523. _mixin(H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin, H.FixedLengthListMixin);
  52524. _mixin(P._AsyncStreamController, P._AsyncStreamControllerDispatch);
  52525. _mixin(P._SyncStreamController, P._SyncStreamControllerDispatch);
  52526. _mixin(P.UnmodifiableMapBase, P._UnmodifiableMapMixin);
  52527. _mixin(P._ListBase_Object_ListMixin, P.ListMixin);
  52528. _mixin(P._UnmodifiableMapView_MapView__UnmodifiableMapMixin, P._UnmodifiableMapMixin);
  52529. _mixin(Q._QueueList_Object_ListMixin, P.ListMixin);
  52530. _mixin(L._UnmodifiableSetView_DelegatingSet_UnmodifiableSetMixin, L.UnmodifiableSetMixin);
  52531. _mixin(M._MapKeySet__DelegatingIterableBase_UnmodifiableSetMixin, L.UnmodifiableSetMixin);
  52532. })();
  52533. (function constants() {
  52534. var makeConstList = hunkHelpers.makeConstList;
  52535. C.Interceptor_methods = J.Interceptor.prototype;
  52536. C.JSArray_methods = J.JSArray.prototype;
  52537. C.JSBool_methods = J.JSBool.prototype;
  52538. C.JSDouble_methods = J.JSDouble.prototype;
  52539. C.JSInt_methods = J.JSInt.prototype;
  52540. C.JSNumber_methods = J.JSNumber.prototype;
  52541. C.JSString_methods = J.JSString.prototype;
  52542. C.JavaScriptFunction_methods = J.JavaScriptFunction.prototype;
  52543. C.NativeUint32List_methods = H.NativeUint32List.prototype;
  52544. C.NativeUint8List_methods = H.NativeUint8List.prototype;
  52545. C.PlainJavaScriptObject_methods = J.PlainJavaScriptObject.prototype;
  52546. C.UnknownJavaScriptObject_methods = J.UnknownJavaScriptObject.prototype;
  52547. C.AsciiEncoder_127 = new P.AsciiEncoder(127);
  52548. C.C_EmptyUnmodifiableSet0 = new O.EmptyUnmodifiableSet([P.String]);
  52549. C.AtRootQuery_UsS = new V.AtRootQuery(false, C.C_EmptyUnmodifiableSet0, false, true);
  52550. C.AttributeOperator_4L5 = new N.AttributeOperator("^=");
  52551. C.AttributeOperator_AuK = new N.AttributeOperator("|=");
  52552. C.AttributeOperator_fz1 = new N.AttributeOperator("~=");
  52553. C.AttributeOperator_gqZ = new N.AttributeOperator("*=");
  52554. C.AttributeOperator_mOX = new N.AttributeOperator("$=");
  52555. C.AttributeOperator_sEs = new N.AttributeOperator("=");
  52556. C.BinaryOperator_1da = new V.BinaryOperator("greater than or equals", ">=", 4);
  52557. C.BinaryOperator_2ad = new V.BinaryOperator("modulo", "%", 6);
  52558. C.BinaryOperator_33h = new V.BinaryOperator("less than or equals", "<=", 4);
  52559. C.BinaryOperator_8qt = new V.BinaryOperator("less than", "<", 4);
  52560. C.BinaryOperator_AcR = new V.BinaryOperator("greater than", ">", 4);
  52561. C.BinaryOperator_AcR0 = new V.BinaryOperator("plus", "+", 5);
  52562. C.BinaryOperator_O1M = new V.BinaryOperator("times", "*", 6);
  52563. C.BinaryOperator_RTB = new V.BinaryOperator("divided by", "/", 6);
  52564. C.BinaryOperator_YlX = new V.BinaryOperator("equals", "==", 3);
  52565. C.BinaryOperator_and_and_2 = new V.BinaryOperator("and", "and", 2);
  52566. C.BinaryOperator_i5H = new V.BinaryOperator("not equals", "!=", 3);
  52567. C.BinaryOperator_iyO = new V.BinaryOperator("minus", "-", 5);
  52568. C.BinaryOperator_kjl = new V.BinaryOperator("single equals", "=", 0);
  52569. C.BinaryOperator_or_or_1 = new V.BinaryOperator("or", "or", 1);
  52570. C.C_AsciiCodec = new P.AsciiCodec();
  52571. C.C_AsciiGlyphSet = new A.AsciiGlyphSet();
  52572. C.C_Base64Encoder = new P.Base64Encoder();
  52573. C.C_Base64Codec = new P.Base64Codec();
  52574. C.C_DefaultEquality = new U.DefaultEquality();
  52575. C.C_EmptyExtender = new T.EmptyExtender();
  52576. C.C_EmptyIterator = new H.EmptyIterator();
  52577. C.C_EmptyUnmodifiableSet = new O.EmptyUnmodifiableSet([M.SimpleSelector]);
  52578. C.C_JS_CONST = function getTagFallback(o) {
  52579. var s = Object.prototype.toString.call(o);
  52580. return s.substring(8, s.length - 1);
  52581. };
  52582. C.C_JS_CONST0 = function() {
  52583. var toStringFunction = Object.prototype.toString;
  52584. function getTag(o) {
  52585. var s = toStringFunction.call(o);
  52586. return s.substring(8, s.length - 1);
  52587. }
  52588. function getUnknownTag(object, tag) {
  52589. if (/^HTML[A-Z].*Element$/.test(tag)) {
  52590. var name = toStringFunction.call(object);
  52591. if (name == "[object Object]") return null;
  52592. return "HTMLElement";
  52593. }
  52594. }
  52595. function getUnknownTagGenericBrowser(object, tag) {
  52596. if (self.HTMLElement && object instanceof HTMLElement) return "HTMLElement";
  52597. return getUnknownTag(object, tag);
  52598. }
  52599. function prototypeForTag(tag) {
  52600. if (typeof window == "undefined") return null;
  52601. if (typeof window[tag] == "undefined") return null;
  52602. var constructor = window[tag];
  52603. if (typeof constructor != "function") return null;
  52604. return constructor.prototype;
  52605. }
  52606. function discriminator(tag) { return null; }
  52607. var isBrowser = typeof navigator == "object";
  52608. return {
  52609. getTag: getTag,
  52610. getUnknownTag: isBrowser ? getUnknownTagGenericBrowser : getUnknownTag,
  52611. prototypeForTag: prototypeForTag,
  52612. discriminator: discriminator };
  52613. };
  52614. C.C_JS_CONST6 = function(getTagFallback) {
  52615. return function(hooks) {
  52616. if (typeof navigator != "object") return hooks;
  52617. var ua = navigator.userAgent;
  52618. if (ua.indexOf("DumpRenderTree") >= 0) return hooks;
  52619. if (ua.indexOf("Chrome") >= 0) {
  52620. function confirm(p) {
  52621. return typeof window == "object" && window[p] && window[p].name == p;
  52622. }
  52623. if (confirm("Window") && confirm("HTMLElement")) return hooks;
  52624. }
  52625. hooks.getTag = getTagFallback;
  52626. };
  52627. };
  52628. C.C_JS_CONST1 = function(hooks) {
  52629. if (typeof dartExperimentalFixupGetTag != "function") return hooks;
  52630. hooks.getTag = dartExperimentalFixupGetTag(hooks.getTag);
  52631. };
  52632. C.C_JS_CONST2 = function(hooks) {
  52633. var getTag = hooks.getTag;
  52634. var prototypeForTag = hooks.prototypeForTag;
  52635. function getTagFixed(o) {
  52636. var tag = getTag(o);
  52637. if (tag == "Document") {
  52638. if (!!o.xmlVersion) return "!Document";
  52639. return "!HTMLDocument";
  52640. }
  52641. return tag;
  52642. }
  52643. function prototypeForTagFixed(tag) {
  52644. if (tag == "Document") return null;
  52645. return prototypeForTag(tag);
  52646. }
  52647. hooks.getTag = getTagFixed;
  52648. hooks.prototypeForTag = prototypeForTagFixed;
  52649. };
  52650. C.C_JS_CONST5 = function(hooks) {
  52651. var userAgent = typeof navigator == "object" ? navigator.userAgent : "";
  52652. if (userAgent.indexOf("Firefox") == -1) return hooks;
  52653. var getTag = hooks.getTag;
  52654. var quickMap = {
  52655. "BeforeUnloadEvent": "Event",
  52656. "DataTransfer": "Clipboard",
  52657. "GeoGeolocation": "Geolocation",
  52658. "Location": "!Location",
  52659. "WorkerMessageEvent": "MessageEvent",
  52660. "XMLDocument": "!Document"};
  52661. function getTagFirefox(o) {
  52662. var tag = getTag(o);
  52663. return quickMap[tag] || tag;
  52664. }
  52665. hooks.getTag = getTagFirefox;
  52666. };
  52667. C.C_JS_CONST4 = function(hooks) {
  52668. var userAgent = typeof navigator == "object" ? navigator.userAgent : "";
  52669. if (userAgent.indexOf("Trident/") == -1) return hooks;
  52670. var getTag = hooks.getTag;
  52671. var quickMap = {
  52672. "BeforeUnloadEvent": "Event",
  52673. "DataTransfer": "Clipboard",
  52674. "HTMLDDElement": "HTMLElement",
  52675. "HTMLDTElement": "HTMLElement",
  52676. "HTMLPhraseElement": "HTMLElement",
  52677. "Position": "Geoposition"
  52678. };
  52679. function getTagIE(o) {
  52680. var tag = getTag(o);
  52681. var newTag = quickMap[tag];
  52682. if (newTag) return newTag;
  52683. if (tag == "Object") {
  52684. if (window.DataView && (o instanceof window.DataView)) return "DataView";
  52685. }
  52686. return tag;
  52687. }
  52688. function prototypeForTagIE(tag) {
  52689. var constructor = window[tag];
  52690. if (constructor == null) return null;
  52691. return constructor.prototype;
  52692. }
  52693. hooks.getTag = getTagIE;
  52694. hooks.prototypeForTag = prototypeForTagIE;
  52695. };
  52696. C.C_JS_CONST3 = function(hooks) { return hooks; }
  52697. ;
  52698. C.C_JsonCodec = new P.JsonCodec();
  52699. C.C_ListEquality = new U.ListEquality();
  52700. C.C_MapEquality = new U.MapEquality();
  52701. C.C_OutOfMemoryError = new P.OutOfMemoryError();
  52702. C.C_SassNull = new O.SassNull();
  52703. C.C_UnicodeGlyphSet = new K.UnicodeGlyphSet();
  52704. C.C_Utf8Codec = new P.Utf8Codec();
  52705. C.C_Utf8Encoder = new P.Utf8Encoder();
  52706. C.C__DelayedDone = new P._DelayedDone();
  52707. C.C__JSRandom = new P._JSRandom();
  52708. C.C__RootZone = new P._RootZone();
  52709. C.ChangeType_add = new E.ChangeType("add");
  52710. C.ChangeType_modify = new E.ChangeType("modify");
  52711. C.ChangeType_remove = new E.ChangeType("remove");
  52712. C.Combinator_CzM = new S.Combinator("~");
  52713. C.Combinator_sgq = new S.Combinator(">");
  52714. C.Combinator_uzg = new S.Combinator("+");
  52715. C.Duration_0 = new P.Duration(0);
  52716. C.ExtendMode_allTargets = new L.ExtendMode("allTargets");
  52717. C.ExtendMode_normal = new L.ExtendMode("normal");
  52718. C.ExtendMode_replace = new L.ExtendMode("replace");
  52719. C.JsonEncoder_null = new P.JsonEncoder(null);
  52720. C.LineFeed_D6m = new N.LineFeed("lf", "\n");
  52721. C.LineFeed_Mss = new N.LineFeed("crlf", "\r\n");
  52722. C.LineFeed_a1Y = new N.LineFeed("lfcr", "\n\r");
  52723. C.LineFeed_kMT = new N.LineFeed("cr", "\r");
  52724. C.ListSeparator_comma = new D.ListSeparator("comma");
  52725. C.ListSeparator_space = new D.ListSeparator("space");
  52726. C.ListSeparator_undecided = new D.ListSeparator("undecided");
  52727. C.List_127_2047_65535_1114111 = H.setRuntimeTypeInfo(makeConstList([127, 2047, 65535, 1114111]), [P.int]);
  52728. C.List_2Vk = H.setRuntimeTypeInfo(makeConstList([0, 0, 32776, 33792, 1, 10240, 0, 0]), [P.int]);
  52729. C.List_CVk = H.setRuntimeTypeInfo(makeConstList([0, 0, 65490, 45055, 65535, 34815, 65534, 18431]), [P.int]);
  52730. C.List_JYB = H.setRuntimeTypeInfo(makeConstList([0, 0, 26624, 1023, 65534, 2047, 65534, 2047]), [P.int]);
  52731. C.List_empty9 = H.setRuntimeTypeInfo(makeConstList([]), [Z.Argument]);
  52732. C.List_empty11 = H.setRuntimeTypeInfo(makeConstList([]), [B.AsyncCallable]);
  52733. C.List_empty13 = H.setRuntimeTypeInfo(makeConstList([]), [B.AsyncImporter]);
  52734. C.List_empty7 = H.setRuntimeTypeInfo(makeConstList([]), [S.ComplexSelector]);
  52735. C.List_empty3 = H.setRuntimeTypeInfo(makeConstList([]), [B.CssNode]);
  52736. C.List_empty8 = H.setRuntimeTypeInfo(makeConstList([]), [T.Expression]);
  52737. C.List_empty5 = H.setRuntimeTypeInfo(makeConstList([]), [S.Extension]);
  52738. C.List_empty10 = H.setRuntimeTypeInfo(makeConstList([]), [M.Importer]);
  52739. C.List_empty12 = H.setRuntimeTypeInfo(makeConstList([]), [[G.Module, B.AsyncCallable]]);
  52740. C.List_empty2 = H.setRuntimeTypeInfo(makeConstList([]), [[G.Module, D.Callable]]);
  52741. C.List_empty6 = H.setRuntimeTypeInfo(makeConstList([]), [[G.Module, P.Null]]);
  52742. C.List_empty14 = H.setRuntimeTypeInfo(makeConstList([]), [P.Null]);
  52743. C.List_empty0 = H.setRuntimeTypeInfo(makeConstList([]), [P.String]);
  52744. C.List_empty1 = H.setRuntimeTypeInfo(makeConstList([]), [F.Value]);
  52745. C.List_empty4 = H.setRuntimeTypeInfo(makeConstList([]), [P.int]);
  52746. C.List_empty = makeConstList([]);
  52747. C.List_gRj = H.setRuntimeTypeInfo(makeConstList([0, 0, 32722, 12287, 65534, 34815, 65534, 18431]), [P.int]);
  52748. C.List_nxB = H.setRuntimeTypeInfo(makeConstList([0, 0, 24576, 1023, 65534, 34815, 65534, 18431]), [P.int]);
  52749. C.List_qFt = H.setRuntimeTypeInfo(makeConstList([0, 0, 27858, 1023, 65534, 51199, 65535, 32767]), [P.int]);
  52750. C.List_qNA = H.setRuntimeTypeInfo(makeConstList([0, 0, 32754, 11263, 65534, 34815, 65534, 18431]), [P.int]);
  52751. C.List_qg40 = H.setRuntimeTypeInfo(makeConstList([0, 0, 32722, 12287, 65535, 34815, 65534, 18431]), [P.int]);
  52752. C.List_qg4 = H.setRuntimeTypeInfo(makeConstList([0, 0, 65490, 12287, 65535, 34815, 65534, 18431]), [P.int]);
  52753. C.Map_empty3 = new H.ConstantStringMap(0, {}, C.List_empty0, [P.String, B.AstNode]);
  52754. C.Map_empty5 = new H.ConstantStringMap(0, {}, C.List_empty0, [P.String, T.Expression]);
  52755. C.Map_empty6 = new H.ConstantStringMap(0, {}, C.List_empty0, [P.String, [G.Module, B.AsyncCallable]]);
  52756. C.Map_empty1 = new H.ConstantStringMap(0, {}, C.List_empty0, [P.String, [G.Module, D.Callable]]);
  52757. C.Map_empty2 = new H.ConstantStringMap(0, {}, C.List_empty0, [P.String, P.Null]);
  52758. C.Map_empty0 = new H.ConstantStringMap(0, {}, C.List_empty0, [P.String, Y.SourceFile]);
  52759. C.Map_empty7 = new H.ConstantStringMap(0, {}, C.List_empty0, [P.String, P.String]);
  52760. C.Map_empty4 = new H.ConstantStringMap(0, {}, C.List_empty0, [P.String, F.Value]);
  52761. C.List_empty15 = H.setRuntimeTypeInfo(makeConstList([]), [P.Symbol]);
  52762. C.Map_empty = new H.ConstantStringMap(0, {}, C.List_empty15, [P.Symbol, null]);
  52763. C.OptionType_YwU = new G.OptionType("OptionType.single");
  52764. C.OptionType_nMZ = new G.OptionType("OptionType.flag");
  52765. C.OptionType_qyr = new G.OptionType("OptionType.multiple");
  52766. C.OutputStyle_compressed = new N.OutputStyle("compressed");
  52767. C.OutputStyle_expanded = new N.OutputStyle("expanded");
  52768. C.SassBoolean_false = new Z.SassBoolean(false);
  52769. C.SassBoolean_true = new Z.SassBoolean(true);
  52770. C.SassList_lmy = new D.SassList(C.List_empty1, C.ListSeparator_comma, false);
  52771. C.Map_empty8 = new H.ConstantStringMap(0, {}, C.List_empty1, [F.Value, F.Value]);
  52772. C.SassMap_Map_empty = new A.SassMap(C.Map_empty8);
  52773. C.StderrLogger_false = new S.StderrLogger(false);
  52774. C.Symbol__warn = new H.Symbol0("_warn");
  52775. C.Symbol_call = new H.Symbol0("call");
  52776. C.Syntax_CSS = new M.Syntax("CSS");
  52777. C.Syntax_SCSS = new M.Syntax("SCSS");
  52778. C.Syntax_Sass = new M.Syntax("Sass");
  52779. C.List_empty16 = H.setRuntimeTypeInfo(makeConstList([]), [X.CssStyleRule]);
  52780. C.Map_empty9 = new H.ConstantStringMap(0, {}, C.List_empty16, [X.CssStyleRule, X.ModifiableCssStyleRule]);
  52781. C.Tuple2_EmptyExtender_Map_empty = new S.Tuple2(C.C_EmptyExtender, C.Map_empty9, [F.Extender, [P.Map, X.CssStyleRule, X.ModifiableCssStyleRule]]);
  52782. C.UnaryOperator_U4G = new X.UnaryOperator("minus", "-");
  52783. C.UnaryOperator_j2w = new X.UnaryOperator("plus", "+");
  52784. C.UnaryOperator_not_not = new X.UnaryOperator("not", "not");
  52785. C.UnaryOperator_zDx = new X.UnaryOperator("divide", "/");
  52786. C._IterationMarker_null_2 = new P._IterationMarker(null, 2);
  52787. C._PathDirection_8Gl = new M._PathDirection("at root");
  52788. C._PathDirection_988 = new M._PathDirection("below root");
  52789. C._PathDirection_FIw = new M._PathDirection("reaches root");
  52790. C._PathDirection_ZGD = new M._PathDirection("above root");
  52791. C._PathRelation_different = new M._PathRelation("different");
  52792. C._PathRelation_equal = new M._PathRelation("equal");
  52793. C._PathRelation_inconclusive = new M._PathRelation("inconclusive");
  52794. C._PathRelation_within = new M._PathRelation("within");
  52795. C._SingletonCssMediaQueryMergeResult_empty = new F._SingletonCssMediaQueryMergeResult("empty");
  52796. C._SingletonCssMediaQueryMergeResult_unrepresentable = new F._SingletonCssMediaQueryMergeResult("unrepresentable");
  52797. C._StreamGroupState_canceled = new L._StreamGroupState("canceled");
  52798. C._StreamGroupState_dormant = new L._StreamGroupState("dormant");
  52799. C._StreamGroupState_listening = new L._StreamGroupState("listening");
  52800. C._StreamGroupState_paused = new L._StreamGroupState("paused");
  52801. C._ZoneFunction_3bB = new P._ZoneFunction(C.C__RootZone, P.async___rootCreatePeriodicTimer$closure());
  52802. C._ZoneFunction_7G2 = new P._ZoneFunction(C.C__RootZone, P.async___rootRegisterBinaryCallback$closure());
  52803. C._ZoneFunction_Eeh = new P._ZoneFunction(C.C__RootZone, P.async___rootRegisterUnaryCallback$closure());
  52804. C._ZoneFunction_NMc = new P._ZoneFunction(C.C__RootZone, P.async___rootHandleUncaughtError$closure());
  52805. C._ZoneFunction__RootZone__rootCreateTimer = new P._ZoneFunction(C.C__RootZone, P.async___rootCreateTimer$closure());
  52806. C._ZoneFunction__RootZone__rootErrorCallback = new P._ZoneFunction(C.C__RootZone, P.async___rootErrorCallback$closure());
  52807. C._ZoneFunction__RootZone__rootFork = new P._ZoneFunction(C.C__RootZone, P.async___rootFork$closure());
  52808. C._ZoneFunction__RootZone__rootPrint = new P._ZoneFunction(C.C__RootZone, P.async___rootPrint$closure());
  52809. C._ZoneFunction__RootZone__rootRegisterCallback = new P._ZoneFunction(C.C__RootZone, P.async___rootRegisterCallback$closure());
  52810. C._ZoneFunction__RootZone__rootRun = new P._ZoneFunction(C.C__RootZone, P.async___rootRun$closure());
  52811. C._ZoneFunction__RootZone__rootRunBinary = new P._ZoneFunction(C.C__RootZone, P.async___rootRunBinary$closure());
  52812. C._ZoneFunction__RootZone__rootRunUnary = new P._ZoneFunction(C.C__RootZone, P.async___rootRunUnary$closure());
  52813. C._ZoneFunction__RootZone__rootScheduleMicrotask = new P._ZoneFunction(C.C__RootZone, P.async___rootScheduleMicrotask$closure());
  52814. C._ZoneSpecification_ALf = new P._ZoneSpecification(null, null, null, null, null, null, null, null, null, null, null, null, null);
  52815. })();
  52816. var init = {mangledGlobalNames: {int: "int", double: "double", num: "num", String: "String", bool: "bool", Null: "Null", List: "List"}, mangledNames: {}, getTypeFromName: getGlobalFromName, metadata: [], types: [{func: 1, ret: F.Value, args: [[P.List, F.Value]]}, {func: 1, ret: -1}, {func: 1, ret: D.SassString, args: [[P.List, F.Value]]}, {func: 1, ret: Z.SassBoolean, args: [[P.List, F.Value]]}, {func: 1, ret: T.SassNumber, args: [[P.List, F.Value]]}, {func: 1, ret: K.SassColor, args: [[P.List, F.Value]]}, {func: 1, ret: D.SassList, args: [[P.List, F.Value]]}, {func: 1, ret: P.bool, args: [P.Object]}, {func: 1, ret: -1, args: [P.Object]}, {func: 1, ret: A.SassMap, args: [[P.List, F.Value]]}, {func: 1, args: [,]}, {func: 1, ret: P.Null, opt: [,]}, {func: 1, ret: P.Null, args: [,,]}, {func: 1, ret: P.bool, args: [P.int]}, {func: 1, ret: -1, args: [P.Object], opt: [P.StackTrace]}, {func: 1, ret: P.String, args: [,,]}, {func: 1, ret: P.bool, args: [P.num, P.num]}, {func: 1, ret: P.Null, args: [,]}, {func: 1, ret: P.Null, args: [, P.StackTrace]}, {func: 1, ret: P.bool, args: [,]}, {func: 1, ret: P.String, args: [P.int]}, {func: 1, ret: P.String, args: [P.Object]}, {func: 1, ret: B.AstNode, args: [,,]}, {func: 1, ret: -1, args: [{func: 1, ret: -1}]}, {func: 1, ret: P.int, args: [P.num]}, {func: 1, ret: O.Statement}, {func: 1, ret: -1, opt: [[P.Future,,]]}, {func: 1, ret: P.String, args: [P.String]}, {func: 1, bounds: [P.Object], ret: [P.Set, 0]}, {func: 1, ret: -1, args: [,]}, {func: 1, ret: O.SassNull, args: [P.int]}, {func: 1, ret: P.String, args: [,]}, {func: 1, ret: -1, opt: [P.Object]}, {func: 1, ret: F.SassFunction, args: [[P.List, F.Value]]}, {func: 1, ret: P.bool, args: [B.CssNode]}, {func: 1, ret: [P.Future, P.String], args: [,]}, {func: 1, ret: [P.Future,,]}, {func: 1, ret: -1, args: [,], opt: [P.StackTrace]}, {func: 1, ret: [P.Iterable, P.String], args: [P.Object]}, {func: 1, ret: P.Null, args: [P.Object, P.Object]}, {func: 1, ret: -1, opt: [,]}, {func: 1, ret: -1, args: [, P.StackTrace]}, {func: 1, ret: T.SassNumber, args: [P.int]}, {func: 1, ret: P.String}, {func: 1, ret: O.Statement, named: {root: P.bool}}, {func: 1, ret: [P._Future,,], args: [,]}, {func: 1, ret: T.NumberExpression}, {func: 1, ret: S.Extension, args: [,]}, {func: 1, ret: P.Null, args: [[P.List, F.Value]]}, {func: 1, ret: [P.List, P.int], args: [P.int]}, {func: 1, ret: -1, args: [P.Object, P.StackTrace]}, {func: 1, ret: P.Null, args: [,], opt: [P.StackTrace]}, {func: 1, ret: P.Uint8List, args: [P.int]}, {func: 1, ret: -1, args: [F.CssMediaQuery]}, {func: 1, ret: Y.SourceFile, args: [P.int]}, {func: 1, ret: P.String, args: [P.String], named: {color: null}}, {func: 1, ret: A.Frame, args: [,,]}, {func: 1, ret: P.Uint8List, args: [,,]}, {func: 1, ret: P.bool, args: [S.ComplexSelector]}, {func: 1, ret: -1, args: [P.Zone, P.ZoneDelegate, P.Zone,, P.StackTrace]}, {func: 1, bounds: [P.Object], ret: 0, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: 0}]}, {func: 1, bounds: [P.Object, P.Object], ret: 0, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: 0, args: [1]}, 1]}, {func: 1, bounds: [P.Object, P.Object, P.Object], ret: 0, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: 0, args: [1, 2]}, 1, 2]}, {func: 1, bounds: [P.Object], ret: {func: 1, ret: 0}, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: 0}]}, {func: 1, bounds: [P.Object, P.Object], ret: {func: 1, ret: 0, args: [1]}, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: 0, args: [1]}]}, {func: 1, ret: P.Object, args: [F.Value]}, {func: 1, ret: P.AsyncError, args: [P.Zone, P.ZoneDelegate, P.Zone, P.Object, P.StackTrace]}, {func: 1, ret: -1, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: -1}]}, {func: 1, ret: P.Timer, args: [P.Zone, P.ZoneDelegate, P.Zone, P.Duration, {func: 1, ret: -1}]}, {func: 1, ret: P.Timer, args: [P.Zone, P.ZoneDelegate, P.Zone, P.Duration, {func: 1, ret: -1, args: [P.Timer]}]}, {func: 1, ret: -1, args: [P.Zone, P.ZoneDelegate, P.Zone, P.String]}, {func: 1, ret: -1, args: [P.String]}, {func: 1, ret: P.Zone, args: [P.Zone, P.ZoneDelegate, P.Zone, P.ZoneSpecification, [P.Map,,,]]}, {func: 1, ret: P.bool, args: [,,]}, {func: 1, ret: P.int, args: [,]}, {func: 1, ret: P.int, args: [P.Object]}, {func: 1, ret: P.bool, args: [P.Object, P.Object]}, {func: 1, ret: P.num, args: [P.num]}, {func: 1, bounds: [P.num], ret: 0, args: [0, 0]}, {func: 1, ret: P.bool, args: [M.SimpleSelector]}, {func: 1, ret: -1, args: [R.RenderOptions, {func: 1, ret: -1, args: [V.JSError, U.RenderResult]}]}, {func: 1, ret: U.RenderResult, args: [R.RenderOptions]}, {func: 1, ret: P.bool, args: [P.String]}, {func: 1, bounds: [P.Object], ret: [P.List, 0], args: [0, [P.List, 0]]}, {func: 1, bounds: [P.Object], ret: -1, args: [P.Object, P.StackTrace, [P.EventSink, 0]]}, {func: 1, bounds: [P.Object, P.Object, P.Object], ret: {func: 1, ret: 0, args: [1, 2]}, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: 0, args: [1, 2]}]}, {func: 1, ret: P.int, args: [,,]}], interceptorsByTag: null, leafTags: null};
  52817. (function staticFields() {
  52818. $.printToZone = null;
  52819. $.Closure_functionCounter = 0;
  52820. $.BoundClosure_selfFieldNameCache = null;
  52821. $.BoundClosure_receiverFieldNameCache = null;
  52822. $.getTagFunction = null;
  52823. $.alternateTagFunction = null;
  52824. $.prototypeForTagFunction = null;
  52825. $.dispatchRecordsForInstanceTags = null;
  52826. $.interceptorsForUncacheableTags = null;
  52827. $.initNativeDispatchFlag = null;
  52828. $._nextCallback = null;
  52829. $._lastCallback = null;
  52830. $._lastPriorityCallback = null;
  52831. $._isInCallbackLoop = false;
  52832. $.Zone__current = C.C__RootZone;
  52833. $._RootZone__rootDelegate = null;
  52834. $._toStringVisiting = [];
  52835. $._currentUriBase = null;
  52836. $._current = null;
  52837. $._subselectorPseudos = P.LinkedHashSet_LinkedHashSet$_literal(["matches", "any", "nth-child", "nth-last-child"], P.String);
  52838. $._features = P.LinkedHashSet_LinkedHashSet$_literal(["global-variable-shadowing", "extend-selector-pseudoclass", "units-level-3", "at-error", "custom-property"], P.String);
  52839. $._inUseRule = false;
  52840. $._selectorPseudoClasses = P.LinkedHashSet_LinkedHashSet$_literal(["not", "matches", "current", "any", "has", "host", "host-context"], P.String);
  52841. $._selectorPseudoElements = P.LinkedHashSet_LinkedHashSet$_literal(["slotted"], P.String);
  52842. $._glyphs = C.C_UnicodeGlyphSet;
  52843. })();
  52844. (function lazyInitializers() {
  52845. var _lazy = hunkHelpers.lazy;
  52846. _lazy($, "DART_CLOSURE_PROPERTY_NAME", "$get$DART_CLOSURE_PROPERTY_NAME", function() {
  52847. return H.getIsolateAffinityTag("_$dart_dartClosure");
  52848. });
  52849. _lazy($, "JS_INTEROP_INTERCEPTOR_TAG", "$get$JS_INTEROP_INTERCEPTOR_TAG", function() {
  52850. return H.getIsolateAffinityTag("_$dart_js");
  52851. });
  52852. _lazy($, "TypeErrorDecoder_noSuchMethodPattern", "$get$TypeErrorDecoder_noSuchMethodPattern", function() {
  52853. return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn({
  52854. toString: function() {
  52855. return "$receiver$";
  52856. }
  52857. }));
  52858. });
  52859. _lazy($, "TypeErrorDecoder_notClosurePattern", "$get$TypeErrorDecoder_notClosurePattern", function() {
  52860. return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn({$method$: null,
  52861. toString: function() {
  52862. return "$receiver$";
  52863. }
  52864. }));
  52865. });
  52866. _lazy($, "TypeErrorDecoder_nullCallPattern", "$get$TypeErrorDecoder_nullCallPattern", function() {
  52867. return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn(null));
  52868. });
  52869. _lazy($, "TypeErrorDecoder_nullLiteralCallPattern", "$get$TypeErrorDecoder_nullLiteralCallPattern", function() {
  52870. return H.TypeErrorDecoder_extractPattern(function() {
  52871. var $argumentsExpr$ = '$arguments$';
  52872. try {
  52873. null.$method$($argumentsExpr$);
  52874. } catch (e) {
  52875. return e.message;
  52876. }
  52877. }());
  52878. });
  52879. _lazy($, "TypeErrorDecoder_undefinedCallPattern", "$get$TypeErrorDecoder_undefinedCallPattern", function() {
  52880. return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn(void 0));
  52881. });
  52882. _lazy($, "TypeErrorDecoder_undefinedLiteralCallPattern", "$get$TypeErrorDecoder_undefinedLiteralCallPattern", function() {
  52883. return H.TypeErrorDecoder_extractPattern(function() {
  52884. var $argumentsExpr$ = '$arguments$';
  52885. try {
  52886. (void 0).$method$($argumentsExpr$);
  52887. } catch (e) {
  52888. return e.message;
  52889. }
  52890. }());
  52891. });
  52892. _lazy($, "TypeErrorDecoder_nullPropertyPattern", "$get$TypeErrorDecoder_nullPropertyPattern", function() {
  52893. return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokePropertyErrorOn(null));
  52894. });
  52895. _lazy($, "TypeErrorDecoder_nullLiteralPropertyPattern", "$get$TypeErrorDecoder_nullLiteralPropertyPattern", function() {
  52896. return H.TypeErrorDecoder_extractPattern(function() {
  52897. try {
  52898. null.$method$;
  52899. } catch (e) {
  52900. return e.message;
  52901. }
  52902. }());
  52903. });
  52904. _lazy($, "TypeErrorDecoder_undefinedPropertyPattern", "$get$TypeErrorDecoder_undefinedPropertyPattern", function() {
  52905. return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokePropertyErrorOn(void 0));
  52906. });
  52907. _lazy($, "TypeErrorDecoder_undefinedLiteralPropertyPattern", "$get$TypeErrorDecoder_undefinedLiteralPropertyPattern", function() {
  52908. return H.TypeErrorDecoder_extractPattern(function() {
  52909. try {
  52910. (void 0).$method$;
  52911. } catch (e) {
  52912. return e.message;
  52913. }
  52914. }());
  52915. });
  52916. _lazy($, "_AsyncRun__scheduleImmediateClosure", "$get$_AsyncRun__scheduleImmediateClosure", function() {
  52917. return P._AsyncRun__initializeScheduleImmediate();
  52918. });
  52919. _lazy($, "Future__nullFuture", "$get$Future__nullFuture", function() {
  52920. return P._Future$zoneValue(null, C.C__RootZone, P.Null);
  52921. });
  52922. _lazy($, "Future__falseFuture", "$get$Future__falseFuture", function() {
  52923. return P._Future$zoneValue(false, C.C__RootZone, P.bool);
  52924. });
  52925. _lazy($, "_RootZone__rootMap", "$get$_RootZone__rootMap", function() {
  52926. return P.HashMap_HashMap(null, null);
  52927. });
  52928. _lazy($, "Utf8Decoder__decoder", "$get$Utf8Decoder__decoder", function() {
  52929. return P.Utf8Decoder__makeDecoder();
  52930. });
  52931. _lazy($, "_Base64Decoder__inverseAlphabet", "$get$_Base64Decoder__inverseAlphabet", function() {
  52932. return H.NativeInt8List__create1(H._ensureNativeList(H.setRuntimeTypeInfo([-2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, 62, -2, 62, -2, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -2, -2, -2, -1, -2, -2, -2, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -2, -2, -2, -2, 63, -2, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -2, -2, -2, -2, -2], [P.int])));
  52933. });
  52934. _lazy($, "_Uri__isWindowsCached", "$get$_Uri__isWindowsCached", function() {
  52935. return typeof process != "undefined" && Object.prototype.toString.call(process) == "[object process]" && process.platform == "win32";
  52936. });
  52937. _lazy($, "_Uri__needsNoEncoding", "$get$_Uri__needsNoEncoding", function() {
  52938. return P.RegExp_RegExp("^[\\-\\.0-9A-Z_a-z~]*$", false);
  52939. });
  52940. _lazy($, "_hasErrorStackProperty", "$get$_hasErrorStackProperty", function() {
  52941. return new Error().stack != void 0;
  52942. });
  52943. _lazy($, "_scannerTables", "$get$_scannerTables", function() {
  52944. return P._createTables();
  52945. });
  52946. _lazy($, "Option__invalidChars", "$get$Option__invalidChars", function() {
  52947. return P.RegExp_RegExp("[ \\t\\r\\n\"'\\\\/]", false);
  52948. });
  52949. _lazy($, "_soloOpt", "$get$_soloOpt", function() {
  52950. return P.RegExp_RegExp("^-([a-zA-Z0-9])$", false);
  52951. });
  52952. _lazy($, "_abbrOpt", "$get$_abbrOpt", function() {
  52953. return P.RegExp_RegExp("^-([a-zA-Z0-9]+)(.*)$", false);
  52954. });
  52955. _lazy($, "_longOpt", "$get$_longOpt", function() {
  52956. return P.RegExp_RegExp("^--([a-zA-Z\\-_0-9]+)(=(.*))?$", false);
  52957. });
  52958. _lazy($, "alwaysValid", "$get$alwaysValid", function() {
  52959. return new Q.closure130();
  52960. });
  52961. _lazy($, "readline", "$get$readline", function() {
  52962. return self.readline;
  52963. });
  52964. _lazy($, "windows", "$get$windows", function() {
  52965. return M.Context_Context($.$get$Style_windows());
  52966. });
  52967. _lazy($, "url", "$get$url", function() {
  52968. return M.Context_Context($.$get$Style_url());
  52969. });
  52970. _lazy($, "context", "$get$context", function() {
  52971. return new M.Context($.$get$Style_platform(), null);
  52972. });
  52973. _lazy($, "Style_posix", "$get$Style_posix", function() {
  52974. return new E.PosixStyle(P.RegExp_RegExp("/", false), P.RegExp_RegExp("[^/]$", false), P.RegExp_RegExp("^/", false));
  52975. });
  52976. _lazy($, "Style_windows", "$get$Style_windows", function() {
  52977. return new L.WindowsStyle(P.RegExp_RegExp("[/\\\\]", false), P.RegExp_RegExp("[^/\\\\]$", false), P.RegExp_RegExp("^(\\\\\\\\[^\\\\]+\\\\[^\\\\/]+|[a-zA-Z]:[/\\\\])", false), P.RegExp_RegExp("^[/\\\\](?![/\\\\])", false));
  52978. });
  52979. _lazy($, "Style_url", "$get$Style_url", function() {
  52980. return new F.UrlStyle(P.RegExp_RegExp("/", false), P.RegExp_RegExp("(^[a-zA-Z][-+.a-zA-Z\\d]*://|[^/])$", false), P.RegExp_RegExp("[a-zA-Z][-+.a-zA-Z\\d]*://[^/]*", false), P.RegExp_RegExp("^/", false));
  52981. });
  52982. _lazy($, "Style_platform", "$get$Style_platform", function() {
  52983. return O.Style__getPlatformStyle();
  52984. });
  52985. _lazy($, "IfExpression_declaration", "$get$IfExpression_declaration", function() {
  52986. return B.ArgumentDeclaration_ArgumentDeclaration$parse("$condition, $if-true, $if-false");
  52987. });
  52988. _lazy($, "colorsByName", "$get$colorsByName", function() {
  52989. var _null = null;
  52990. return P.LinkedHashMap_LinkedHashMap$_literal(["yellowgreen", K.SassColor$rgb(154, 205, 50, _null, _null), "yellow", K.SassColor$rgb(255, 255, 0, _null, _null), "whitesmoke", K.SassColor$rgb(245, 245, 245, _null, _null), "white", K.SassColor$rgb(255, 255, 255, _null, _null), "wheat", K.SassColor$rgb(245, 222, 179, _null, _null), "violet", K.SassColor$rgb(238, 130, 238, _null, _null), "turquoise", K.SassColor$rgb(64, 224, 208, _null, _null), "transparent", K.SassColor$rgb(0, 0, 0, 0, _null), "tomato", K.SassColor$rgb(255, 99, 71, _null, _null), "thistle", K.SassColor$rgb(216, 191, 216, _null, _null), "teal", K.SassColor$rgb(0, 128, 128, _null, _null), "tan", K.SassColor$rgb(210, 180, 140, _null, _null), "steelblue", K.SassColor$rgb(70, 130, 180, _null, _null), "springgreen", K.SassColor$rgb(0, 255, 127, _null, _null), "snow", K.SassColor$rgb(255, 250, 250, _null, _null), "slategrey", K.SassColor$rgb(112, 128, 144, _null, _null), "slategray", K.SassColor$rgb(112, 128, 144, _null, _null), "slateblue", K.SassColor$rgb(106, 90, 205, _null, _null), "skyblue", K.SassColor$rgb(135, 206, 235, _null, _null), "silver", K.SassColor$rgb(192, 192, 192, _null, _null), "sienna", K.SassColor$rgb(160, 82, 45, _null, _null), "seashell", K.SassColor$rgb(255, 245, 238, _null, _null), "seagreen", K.SassColor$rgb(46, 139, 87, _null, _null), "sandybrown", K.SassColor$rgb(244, 164, 96, _null, _null), "salmon", K.SassColor$rgb(250, 128, 114, _null, _null), "saddlebrown", K.SassColor$rgb(139, 69, 19, _null, _null), "royalblue", K.SassColor$rgb(65, 105, 225, _null, _null), "rosybrown", K.SassColor$rgb(188, 143, 143, _null, _null), "red", K.SassColor$rgb(255, 0, 0, _null, _null), "rebeccapurple", K.SassColor$rgb(102, 51, 153, _null, _null), "purple", K.SassColor$rgb(128, 0, 128, _null, _null), "powderblue", K.SassColor$rgb(176, 224, 230, _null, _null), "plum", K.SassColor$rgb(221, 160, 221, _null, _null), "pink", K.SassColor$rgb(255, 192, 203, _null, _null), "peru", K.SassColor$rgb(205, 133, 63, _null, _null), "peachpuff", K.SassColor$rgb(255, 218, 185, _null, _null), "papayawhip", K.SassColor$rgb(255, 239, 213, _null, _null), "palevioletred", K.SassColor$rgb(219, 112, 147, _null, _null), "paleturquoise", K.SassColor$rgb(175, 238, 238, _null, _null), "palegreen", K.SassColor$rgb(152, 251, 152, _null, _null), "palegoldenrod", K.SassColor$rgb(238, 232, 170, _null, _null), "orchid", K.SassColor$rgb(218, 112, 214, _null, _null), "orangered", K.SassColor$rgb(255, 69, 0, _null, _null), "orange", K.SassColor$rgb(255, 165, 0, _null, _null), "olivedrab", K.SassColor$rgb(107, 142, 35, _null, _null), "olive", K.SassColor$rgb(128, 128, 0, _null, _null), "oldlace", K.SassColor$rgb(253, 245, 230, _null, _null), "navy", K.SassColor$rgb(0, 0, 128, _null, _null), "navajowhite", K.SassColor$rgb(255, 222, 173, _null, _null), "moccasin", K.SassColor$rgb(255, 228, 181, _null, _null), "mistyrose", K.SassColor$rgb(255, 228, 225, _null, _null), "mintcream", K.SassColor$rgb(245, 255, 250, _null, _null), "midnightblue", K.SassColor$rgb(25, 25, 112, _null, _null), "mediumvioletred", K.SassColor$rgb(199, 21, 133, _null, _null), "mediumturquoise", K.SassColor$rgb(72, 209, 204, _null, _null), "mediumspringgreen", K.SassColor$rgb(0, 250, 154, _null, _null), "mediumslateblue", K.SassColor$rgb(123, 104, 238, _null, _null), "mediumseagreen", K.SassColor$rgb(60, 179, 113, _null, _null), "mediumpurple", K.SassColor$rgb(147, 112, 219, _null, _null), "mediumorchid", K.SassColor$rgb(186, 85, 211, _null, _null), "mediumblue", K.SassColor$rgb(0, 0, 205, _null, _null), "mediumaquamarine", K.SassColor$rgb(102, 205, 170, _null, _null), "maroon", K.SassColor$rgb(128, 0, 0, _null, _null), "magenta", K.SassColor$rgb(255, 0, 255, _null, _null), "linen", K.SassColor$rgb(250, 240, 230, _null, _null), "limegreen", K.SassColor$rgb(50, 205, 50, _null, _null), "lime", K.SassColor$rgb(0, 255, 0, _null, _null), "lightyellow", K.SassColor$rgb(255, 255, 224, _null, _null), "lightsteelblue", K.SassColor$rgb(176, 196, 222, _null, _null), "lightslategrey", K.SassColor$rgb(119, 136, 153, _null, _null), "lightslategray", K.SassColor$rgb(119, 136, 153, _null, _null), "lightskyblue", K.SassColor$rgb(135, 206, 250, _null, _null), "lightseagreen", K.SassColor$rgb(32, 178, 170, _null, _null), "lightsalmon", K.SassColor$rgb(255, 160, 122, _null, _null), "lightpink", K.SassColor$rgb(255, 182, 193, _null, _null), "lightgrey", K.SassColor$rgb(211, 211, 211, _null, _null), "lightgreen", K.SassColor$rgb(144, 238, 144, _null, _null), "lightgray", K.SassColor$rgb(211, 211, 211, _null, _null), "lightgoldenrodyellow", K.SassColor$rgb(250, 250, 210, _null, _null), "lightcyan", K.SassColor$rgb(224, 255, 255, _null, _null), "lightcoral", K.SassColor$rgb(240, 128, 128, _null, _null), "lightblue", K.SassColor$rgb(173, 216, 230, _null, _null), "lemonchiffon", K.SassColor$rgb(255, 250, 205, _null, _null), "lawngreen", K.SassColor$rgb(124, 252, 0, _null, _null), "lavenderblush", K.SassColor$rgb(255, 240, 245, _null, _null), "lavender", K.SassColor$rgb(230, 230, 250, _null, _null), "khaki", K.SassColor$rgb(240, 230, 140, _null, _null), "ivory", K.SassColor$rgb(255, 255, 240, _null, _null), "indigo", K.SassColor$rgb(75, 0, 130, _null, _null), "indianred", K.SassColor$rgb(205, 92, 92, _null, _null), "hotpink", K.SassColor$rgb(255, 105, 180, _null, _null), "honeydew", K.SassColor$rgb(240, 255, 240, _null, _null), "grey", K.SassColor$rgb(128, 128, 128, _null, _null), "greenyellow", K.SassColor$rgb(173, 255, 47, _null, _null), "green", K.SassColor$rgb(0, 128, 0, _null, _null), "gray", K.SassColor$rgb(128, 128, 128, _null, _null), "goldenrod", K.SassColor$rgb(218, 165, 32, _null, _null), "gold", K.SassColor$rgb(255, 215, 0, _null, _null), "ghostwhite", K.SassColor$rgb(248, 248, 255, _null, _null), "gainsboro", K.SassColor$rgb(220, 220, 220, _null, _null), "fuchsia", K.SassColor$rgb(255, 0, 255, _null, _null), "forestgreen", K.SassColor$rgb(34, 139, 34, _null, _null), "floralwhite", K.SassColor$rgb(255, 250, 240, _null, _null), "firebrick", K.SassColor$rgb(178, 34, 34, _null, _null), "dodgerblue", K.SassColor$rgb(30, 144, 255, _null, _null), "dimgrey", K.SassColor$rgb(105, 105, 105, _null, _null), "dimgray", K.SassColor$rgb(105, 105, 105, _null, _null), "deepskyblue", K.SassColor$rgb(0, 191, 255, _null, _null), "deeppink", K.SassColor$rgb(255, 20, 147, _null, _null), "darkviolet", K.SassColor$rgb(148, 0, 211, _null, _null), "darkturquoise", K.SassColor$rgb(0, 206, 209, _null, _null), "darkslategrey", K.SassColor$rgb(47, 79, 79, _null, _null), "darkslategray", K.SassColor$rgb(47, 79, 79, _null, _null), "darkslateblue", K.SassColor$rgb(72, 61, 139, _null, _null), "darkseagreen", K.SassColor$rgb(143, 188, 143, _null, _null), "darksalmon", K.SassColor$rgb(233, 150, 122, _null, _null), "darkred", K.SassColor$rgb(139, 0, 0, _null, _null), "darkorchid", K.SassColor$rgb(153, 50, 204, _null, _null), "darkorange", K.SassColor$rgb(255, 140, 0, _null, _null), "darkolivegreen", K.SassColor$rgb(85, 107, 47, _null, _null), "darkmagenta", K.SassColor$rgb(139, 0, 139, _null, _null), "darkkhaki", K.SassColor$rgb(189, 183, 107, _null, _null), "darkgrey", K.SassColor$rgb(169, 169, 169, _null, _null), "darkgreen", K.SassColor$rgb(0, 100, 0, _null, _null), "darkgray", K.SassColor$rgb(169, 169, 169, _null, _null), "darkgoldenrod", K.SassColor$rgb(184, 134, 11, _null, _null), "darkcyan", K.SassColor$rgb(0, 139, 139, _null, _null), "darkblue", K.SassColor$rgb(0, 0, 139, _null, _null), "cyan", K.SassColor$rgb(0, 255, 255, _null, _null), "crimson", K.SassColor$rgb(220, 20, 60, _null, _null), "cornsilk", K.SassColor$rgb(255, 248, 220, _null, _null), "cornflowerblue", K.SassColor$rgb(100, 149, 237, _null, _null), "coral", K.SassColor$rgb(255, 127, 80, _null, _null), "chocolate", K.SassColor$rgb(210, 105, 30, _null, _null), "chartreuse", K.SassColor$rgb(127, 255, 0, _null, _null), "cadetblue", K.SassColor$rgb(95, 158, 160, _null, _null), "burlywood", K.SassColor$rgb(222, 184, 135, _null, _null), "brown", K.SassColor$rgb(165, 42, 42, _null, _null), "blueviolet", K.SassColor$rgb(138, 43, 226, _null, _null), "blue", K.SassColor$rgb(0, 0, 255, _null, _null), "blanchedalmond", K.SassColor$rgb(255, 235, 205, _null, _null), "black", K.SassColor$rgb(0, 0, 0, _null, _null), "bisque", K.SassColor$rgb(255, 228, 196, _null, _null), "beige", K.SassColor$rgb(245, 245, 220, _null, _null), "azure", K.SassColor$rgb(240, 255, 255, _null, _null), "aquamarine", K.SassColor$rgb(127, 255, 212, _null, _null), "aqua", K.SassColor$rgb(0, 255, 255, _null, _null), "antiquewhite", K.SassColor$rgb(250, 235, 215, _null, _null), "aliceblue", K.SassColor$rgb(240, 248, 255, _null, _null)], P.String, K.SassColor);
  52991. });
  52992. _lazy($, "namesByColor", "$get$namesByColor", function() {
  52993. var t1 = P.String,
  52994. t2 = K.SassColor;
  52995. return Y.mapMap($.$get$colorsByName(), new X.closure34(), new X.closure35(), t1, t2, t2, t1);
  52996. });
  52997. _lazy($, "ExecutableOptions__separatorBar", "$get$ExecutableOptions__separatorBar", function() {
  52998. return B.isWindows() ? "=" : "\u2501";
  52999. });
  53000. _lazy($, "ExecutableOptions__parser", "$get$ExecutableOptions__parser", function() {
  53001. return new B.ExecutableOptions_closure().call$0();
  53002. });
  53003. _lazy($, "globalFunctions", "$get$globalFunctions", function() {
  53004. var t3,
  53005. t1 = Q.BuiltInCallable,
  53006. t2 = H.setRuntimeTypeInfo([], [t1]);
  53007. for (t3 = $.$get$global0(), t3 = t3.get$iterator(t3); t3.moveNext$0();)
  53008. t2.push(t3.__internal$_current);
  53009. for (t3 = $.$get$global1(), t3 = t3.get$iterator(t3); t3.moveNext$0();)
  53010. t2.push(t3.__internal$_current);
  53011. for (t3 = $.$get$global2(), t3 = t3.get$iterator(t3); t3.moveNext$0();)
  53012. t2.push(t3.__internal$_current);
  53013. for (t3 = $.$get$global3(), t3 = t3.get$iterator(t3); t3.moveNext$0();)
  53014. t2.push(t3.__internal$_current);
  53015. for (t3 = $.$get$global4(), t3 = t3.get$iterator(t3); t3.moveNext$0();)
  53016. t2.push(t3.__internal$_current);
  53017. for (t3 = $.$get$global5(), t3 = t3.get$iterator(t3); t3.moveNext$0();)
  53018. t2.push(t3.__internal$_current);
  53019. for (t3 = $.$get$global(), t3 = t3.get$iterator(t3); t3.moveNext$0();)
  53020. t2.push(t3.__internal$_current);
  53021. t2.push(Q.BuiltInCallable$("if", "$condition, $if-true, $if-false", new Y.closure37()));
  53022. return P.UnmodifiableListView$(t2, t1);
  53023. });
  53024. _lazy($, "coreModules", "$get$coreModules", function() {
  53025. var t1 = [Q.BuiltInModule, Q.BuiltInCallable];
  53026. return P.UnmodifiableListView$(H.setRuntimeTypeInfo([$.$get$module(), $.$get$module0(), $.$get$module1(), $.$get$module2(), $.$get$module3(), $.$get$module4()], [t1]), t1);
  53027. });
  53028. _lazy($, "_microsoftFilterStart", "$get$_microsoftFilterStart", function() {
  53029. return P.RegExp_RegExp("^[a-zA-Z]+\\s*=", false);
  53030. });
  53031. _lazy($, "global", "$get$global0", function() {
  53032. var _s27_ = "$red, $green, $blue, $alpha",
  53033. _s19_ = "$red, $green, $blue",
  53034. _s37_ = "$hue, $saturation, $lightness, $alpha",
  53035. _s29_ = "$hue, $saturation, $lightness",
  53036. _s17_ = "$hue, $saturation",
  53037. _s15_ = "$color, $amount",
  53038. t1 = P.String,
  53039. t2 = {func: 1, ret: F.Value, args: [[P.List, F.Value]]},
  53040. t3 = Q.BuiltInCallable;
  53041. return P.UnmodifiableListView$(H.setRuntimeTypeInfo([$.$get$_red(), $.$get$_green(), $.$get$_blue(), $.$get$_mix(), Q.BuiltInCallable$overloaded("rgb", P.LinkedHashMap_LinkedHashMap$_literal([_s27_, new K.closure81(), _s19_, new K.closure82(), "$color, $alpha", new K.closure83(), "$channels", new K.closure84()], t1, t2)), Q.BuiltInCallable$overloaded("rgba", P.LinkedHashMap_LinkedHashMap$_literal([_s27_, new K.closure85(), _s19_, new K.closure86(), "$color, $alpha", new K.closure87(), "$channels", new K.closure88()], t1, t2)), Q.BuiltInCallable$("invert", "$color, $weight: 100%", new K.closure89()), $.$get$_hue(), $.$get$_saturation(), $.$get$_lightness(), $.$get$_adjustHue(), $.$get$_complement(), Q.BuiltInCallable$overloaded("hsl", P.LinkedHashMap_LinkedHashMap$_literal([_s37_, new K.closure90(), _s29_, new K.closure91(), _s17_, new K.closure92(), "$channels", new K.closure93()], t1, t2)), Q.BuiltInCallable$overloaded("hsla", P.LinkedHashMap_LinkedHashMap$_literal([_s37_, new K.closure94(), _s29_, new K.closure95(), _s17_, new K.closure96(), "$channels", new K.closure97()], t1, t2)), Q.BuiltInCallable$("grayscale", "$color", new K.closure98()), Q.BuiltInCallable$("lighten", _s15_, new K.closure99()), Q.BuiltInCallable$("darken", _s15_, new K.closure100()), Q.BuiltInCallable$overloaded("saturate", P.LinkedHashMap_LinkedHashMap$_literal(["$amount", new K.closure101(), "$color, $amount", new K.closure102()], t1, t2)), Q.BuiltInCallable$("desaturate", _s15_, new K.closure103()), Q.BuiltInCallable$("opacify", _s15_, K.color___opacify$closure()), Q.BuiltInCallable$("fade-in", _s15_, K.color___opacify$closure()), Q.BuiltInCallable$("transparentize", _s15_, K.color___transparentize$closure()), Q.BuiltInCallable$("fade-out", _s15_, K.color___transparentize$closure()), Q.BuiltInCallable$overloaded("alpha", P.LinkedHashMap_LinkedHashMap$_literal(["$color", new K.closure104(), "$args...", new K.closure105()], t1, t2)), Q.BuiltInCallable$("opacity", "$color", new K.closure106()), $.$get$_ieHexStr(), $.$get$_adjust().withName$1("adjust-color"), $.$get$_scale().withName$1("scale-color"), $.$get$_change().withName$1("change-color")], [t3]), t3);
  53042. });
  53043. _lazy($, "module", "$get$module", function() {
  53044. var _s9_ = "lightness",
  53045. _s10_ = "saturation",
  53046. _s5_ = "alpha",
  53047. t1 = Q.BuiltInCallable;
  53048. return Q.BuiltInModule$("color", H.setRuntimeTypeInfo([$.$get$_red(), $.$get$_green(), $.$get$_blue(), $.$get$_mix(), Q.BuiltInCallable$("invert", "$color, $weight: 100%", new K.closure120()), $.$get$_hue(), $.$get$_saturation(), $.$get$_lightness(), $.$get$_adjustHue(), $.$get$_complement(), K._removedColorFunction("lighten", _s9_, false), K._removedColorFunction("darken", _s9_, true), K._removedColorFunction("saturate", _s10_, false), K._removedColorFunction("desaturate", _s10_, true), Q.BuiltInCallable$("grayscale", "$color", new K.closure121()), K._removedColorFunction("opacify", _s5_, false), K._removedColorFunction("fade-in", _s5_, false), K._removedColorFunction("transparentize", _s5_, true), K._removedColorFunction("fade-out", _s5_, true), Q.BuiltInCallable$overloaded(_s5_, P.LinkedHashMap_LinkedHashMap$_literal(["$color", new K.closure122(), "$args...", new K.closure123()], P.String, {func: 1, ret: F.Value, args: [[P.List, F.Value]]})), Q.BuiltInCallable$("opacity", "$color", new K.closure124()), $.$get$_adjust(), $.$get$_scale(), $.$get$_change(), $.$get$_ieHexStr()], [t1]), t1);
  53049. });
  53050. _lazy($, "_red", "$get$_red", function() {
  53051. return Q.BuiltInCallable$("red", "$color", new K.closure119());
  53052. });
  53053. _lazy($, "_green", "$get$_green", function() {
  53054. return Q.BuiltInCallable$("green", "$color", new K.closure118());
  53055. });
  53056. _lazy($, "_blue", "$get$_blue", function() {
  53057. return Q.BuiltInCallable$("blue", "$color", new K.closure117());
  53058. });
  53059. _lazy($, "_mix", "$get$_mix", function() {
  53060. return Q.BuiltInCallable$("mix", "$color1, $color2, $weight: 50%", new K.closure116());
  53061. });
  53062. _lazy($, "_hue", "$get$_hue", function() {
  53063. return Q.BuiltInCallable$("hue", "$color", new K.closure115());
  53064. });
  53065. _lazy($, "_saturation", "$get$_saturation", function() {
  53066. return Q.BuiltInCallable$("saturation", "$color", new K.closure114());
  53067. });
  53068. _lazy($, "_lightness", "$get$_lightness", function() {
  53069. return Q.BuiltInCallable$("lightness", "$color", new K.closure113());
  53070. });
  53071. _lazy($, "_adjustHue", "$get$_adjustHue", function() {
  53072. return Q.BuiltInCallable$("adjust-hue", "$color, $degrees", new K.closure112());
  53073. });
  53074. _lazy($, "_complement", "$get$_complement", function() {
  53075. return Q.BuiltInCallable$("complement", "$color", new K.closure111());
  53076. });
  53077. _lazy($, "_adjust", "$get$_adjust", function() {
  53078. return Q.BuiltInCallable$("adjust", "$color, $kwargs...", new K.closure109());
  53079. });
  53080. _lazy($, "_scale", "$get$_scale", function() {
  53081. return Q.BuiltInCallable$("scale", "$color, $kwargs...", new K.closure108());
  53082. });
  53083. _lazy($, "_change", "$get$_change", function() {
  53084. return Q.BuiltInCallable$("change", "$color, $kwargs...", new K.closure107());
  53085. });
  53086. _lazy($, "_ieHexStr", "$get$_ieHexStr", function() {
  53087. return Q.BuiltInCallable$("ie-hex-str", "$color", new K.closure110());
  53088. });
  53089. _lazy($, "global0", "$get$global1", function() {
  53090. var t1 = Q.BuiltInCallable;
  53091. return P.UnmodifiableListView$(H.setRuntimeTypeInfo([$.$get$_length0(), $.$get$_nth(), $.$get$_setNth(), $.$get$_join(), $.$get$_append0(), $.$get$_zip(), $.$get$_index0(), $.$get$_isBracketed(), $.$get$_separator().withName$1("list-separator")], [t1]), t1);
  53092. });
  53093. _lazy($, "module0", "$get$module0", function() {
  53094. var t1 = Q.BuiltInCallable;
  53095. return Q.BuiltInModule$("list", H.setRuntimeTypeInfo([$.$get$_length0(), $.$get$_nth(), $.$get$_setNth(), $.$get$_join(), $.$get$_append0(), $.$get$_zip(), $.$get$_index0(), $.$get$_isBracketed(), $.$get$_separator()], [t1]), t1);
  53096. });
  53097. _lazy($, "_length", "$get$_length0", function() {
  53098. return Q.BuiltInCallable$("length", "$list", new D.closure80());
  53099. });
  53100. _lazy($, "_nth", "$get$_nth", function() {
  53101. return Q.BuiltInCallable$("nth", "$list, $n", new D.closure79());
  53102. });
  53103. _lazy($, "_setNth", "$get$_setNth", function() {
  53104. return Q.BuiltInCallable$("set-nth", "$list, $n, $value", new D.closure78());
  53105. });
  53106. _lazy($, "_join", "$get$_join", function() {
  53107. return Q.BuiltInCallable$("join", "$list1, $list2, $separator: auto, $bracketed: auto", new D.closure77());
  53108. });
  53109. _lazy($, "_append", "$get$_append0", function() {
  53110. return Q.BuiltInCallable$("append", "$list, $val, $separator: auto", new D.closure76());
  53111. });
  53112. _lazy($, "_zip", "$get$_zip", function() {
  53113. return Q.BuiltInCallable$("zip", "$lists...", new D.closure75());
  53114. });
  53115. _lazy($, "_index", "$get$_index0", function() {
  53116. return Q.BuiltInCallable$("index", "$list, $value", new D.closure74());
  53117. });
  53118. _lazy($, "_separator", "$get$_separator", function() {
  53119. return Q.BuiltInCallable$("separator", "$list", new D.closure72());
  53120. });
  53121. _lazy($, "_isBracketed", "$get$_isBracketed", function() {
  53122. return Q.BuiltInCallable$("is-bracketed", "$list", new D.closure73());
  53123. });
  53124. _lazy($, "global1", "$get$global2", function() {
  53125. var t1 = Q.BuiltInCallable;
  53126. return P.UnmodifiableListView$(H.setRuntimeTypeInfo([$.$get$_get().withName$1("map-get"), $.$get$_merge().withName$1("map-merge"), $.$get$_remove().withName$1("map-remove"), $.$get$_keys().withName$1("map-keys"), $.$get$_values().withName$1("map-values"), $.$get$_hasKey().withName$1("map-has-key")], [t1]), t1);
  53127. });
  53128. _lazy($, "module1", "$get$module1", function() {
  53129. var t1 = Q.BuiltInCallable;
  53130. return Q.BuiltInModule$("map", H.setRuntimeTypeInfo([$.$get$_get(), $.$get$_merge(), $.$get$_remove(), $.$get$_keys(), $.$get$_values(), $.$get$_hasKey()], [t1]), t1);
  53131. });
  53132. _lazy($, "_get", "$get$_get", function() {
  53133. return Q.BuiltInCallable$("get", "$map, $key", new A.closure71());
  53134. });
  53135. _lazy($, "_merge", "$get$_merge", function() {
  53136. return Q.BuiltInCallable$("merge", "$map1, $map2", new A.closure70());
  53137. });
  53138. _lazy($, "_remove", "$get$_remove", function() {
  53139. return Q.BuiltInCallable$overloaded("remove", P.LinkedHashMap_LinkedHashMap$_literal(["$map", new A.closure68(), "$map, $key, $keys...", new A.closure69()], P.String, {func: 1, ret: F.Value, args: [[P.List, F.Value]]}));
  53140. });
  53141. _lazy($, "_keys", "$get$_keys", function() {
  53142. return Q.BuiltInCallable$("keys", "$map", new A.closure67());
  53143. });
  53144. _lazy($, "_values", "$get$_values", function() {
  53145. return Q.BuiltInCallable$("values", "$map", new A.closure66());
  53146. });
  53147. _lazy($, "_hasKey", "$get$_hasKey", function() {
  53148. return Q.BuiltInCallable$("has-key", "$map, $key", new A.closure65());
  53149. });
  53150. _lazy($, "_random", "$get$_random0", function() {
  53151. return P.Random_Random();
  53152. });
  53153. _lazy($, "global2", "$get$global3", function() {
  53154. var t1 = Q.BuiltInCallable;
  53155. return P.UnmodifiableListView$(H.setRuntimeTypeInfo([$.$get$_round(), $.$get$_ceil(), $.$get$_floor(), $.$get$_abs(), $.$get$_max(), $.$get$_min(), $.$get$_randomFunction(), $.$get$_unit(), $.$get$_percentage(), $.$get$_isUnitless().withName$1("unitless"), $.$get$_compatible().withName$1("comparable")], [t1]), t1);
  53156. });
  53157. _lazy($, "module2", "$get$module2", function() {
  53158. var t1 = Q.BuiltInCallable;
  53159. return Q.BuiltInModule$("math", H.setRuntimeTypeInfo([$.$get$_round(), $.$get$_ceil(), $.$get$_floor(), $.$get$_abs(), $.$get$_max(), $.$get$_min(), $.$get$_randomFunction(), $.$get$_unit(), $.$get$_isUnitless(), $.$get$_percentage(), $.$get$_compatible()], [t1]), t1);
  53160. });
  53161. _lazy($, "_percentage", "$get$_percentage", function() {
  53162. return Q.BuiltInCallable$("percentage", "$number", new K.closure57());
  53163. });
  53164. _lazy($, "_round", "$get$_round", function() {
  53165. return K._numberFunction("round", T.number__fuzzyRound$closure());
  53166. });
  53167. _lazy($, "_ceil", "$get$_ceil", function() {
  53168. return K._numberFunction("ceil", new K.closure64());
  53169. });
  53170. _lazy($, "_floor", "$get$_floor", function() {
  53171. return K._numberFunction("floor", new K.closure63());
  53172. });
  53173. _lazy($, "_abs", "$get$_abs", function() {
  53174. return K._numberFunction("abs", new K.closure62());
  53175. });
  53176. _lazy($, "_max", "$get$_max", function() {
  53177. return Q.BuiltInCallable$("max", "$numbers...", new K.closure61());
  53178. });
  53179. _lazy($, "_min", "$get$_min", function() {
  53180. return Q.BuiltInCallable$("min", "$numbers...", new K.closure60());
  53181. });
  53182. _lazy($, "_randomFunction", "$get$_randomFunction", function() {
  53183. return Q.BuiltInCallable$("random", "$limit: null", new K.closure59());
  53184. });
  53185. _lazy($, "_unit", "$get$_unit", function() {
  53186. return Q.BuiltInCallable$("unit", "$number", new K.closure58());
  53187. });
  53188. _lazy($, "_isUnitless", "$get$_isUnitless", function() {
  53189. return Q.BuiltInCallable$("is-unitless", "$number", new K.closure56());
  53190. });
  53191. _lazy($, "_compatible", "$get$_compatible", function() {
  53192. return Q.BuiltInCallable$("compatible", "$number1, $number2", new K.closure55());
  53193. });
  53194. _lazy($, "global3", "$get$global", function() {
  53195. var t1 = Q.BuiltInCallable;
  53196. return P.UnmodifiableListView$(H.setRuntimeTypeInfo([Q.BuiltInCallable$("feature-exists", "$feature", new Q.closure125()), Q.BuiltInCallable$("inspect", "$value", new Q.closure126()), Q.BuiltInCallable$("type-of", "$value", new Q.closure127()), Q.BuiltInCallable$("keywords", "$args", new Q.closure128())], [t1]), t1);
  53197. });
  53198. _lazy($, "global4", "$get$global4", function() {
  53199. var t1 = Q.BuiltInCallable;
  53200. return P.UnmodifiableListView$(H.setRuntimeTypeInfo([$.$get$_isSuperselector(), $.$get$_simpleSelectors(), $.$get$_parse().withName$1("selector-parse"), $.$get$_nest().withName$1("selector-nest"), $.$get$_append().withName$1("selector-append"), $.$get$_extend().withName$1("selector-extend"), $.$get$_replace().withName$1("selector-replace"), $.$get$_unify().withName$1("selector-unify")], [t1]), t1);
  53201. });
  53202. _lazy($, "module3", "$get$module3", function() {
  53203. var t1 = Q.BuiltInCallable;
  53204. return Q.BuiltInModule$("selector", H.setRuntimeTypeInfo([$.$get$_isSuperselector(), $.$get$_simpleSelectors(), $.$get$_parse(), $.$get$_nest(), $.$get$_append(), $.$get$_extend(), $.$get$_replace(), $.$get$_unify()], [t1]), t1);
  53205. });
  53206. _lazy($, "_nest", "$get$_nest", function() {
  53207. return Q.BuiltInCallable$("nest", "$selectors...", new T.closure51());
  53208. });
  53209. _lazy($, "_append0", "$get$_append", function() {
  53210. return Q.BuiltInCallable$("append", "$selectors...", new T.closure50());
  53211. });
  53212. _lazy($, "_extend", "$get$_extend", function() {
  53213. return Q.BuiltInCallable$("extend", "$selector, $extendee, $extender", new T.closure49());
  53214. });
  53215. _lazy($, "_replace", "$get$_replace", function() {
  53216. return Q.BuiltInCallable$("replace", "$selector, $original, $replacement", new T.closure48());
  53217. });
  53218. _lazy($, "_unify", "$get$_unify", function() {
  53219. return Q.BuiltInCallable$("unify", "$selector1, $selector2", new T.closure47());
  53220. });
  53221. _lazy($, "_isSuperselector", "$get$_isSuperselector", function() {
  53222. return Q.BuiltInCallable$("is-superselector", "$super, $sub", new T.closure54());
  53223. });
  53224. _lazy($, "_simpleSelectors", "$get$_simpleSelectors", function() {
  53225. return Q.BuiltInCallable$("simple-selectors", "$selector", new T.closure53());
  53226. });
  53227. _lazy($, "_parse", "$get$_parse", function() {
  53228. return Q.BuiltInCallable$("parse", "$selector", new T.closure52());
  53229. });
  53230. _lazy($, "_random0", "$get$_random", function() {
  53231. return P.Random_Random();
  53232. });
  53233. _lazy($, "_previousUniqueId", "$get$_previousUniqueId", function() {
  53234. return $.$get$_random().nextInt$1(H.intTypeCast(P.pow(36, 6)));
  53235. });
  53236. _lazy($, "global5", "$get$global5", function() {
  53237. var t1 = Q.BuiltInCallable;
  53238. return P.UnmodifiableListView$(H.setRuntimeTypeInfo([$.$get$_unquote(), $.$get$_quote(), $.$get$_toUpperCase(), $.$get$_toLowerCase(), $.$get$_uniqueId(), $.$get$_length().withName$1("str-length"), $.$get$_insert().withName$1("str-insert"), $.$get$_index().withName$1("str-index"), $.$get$_slice().withName$1("str-slice")], [t1]), t1);
  53239. });
  53240. _lazy($, "module4", "$get$module4", function() {
  53241. var t1 = Q.BuiltInCallable;
  53242. return Q.BuiltInModule$("string", H.setRuntimeTypeInfo([$.$get$_unquote(), $.$get$_quote(), $.$get$_toUpperCase(), $.$get$_toLowerCase(), $.$get$_length(), $.$get$_insert(), $.$get$_index(), $.$get$_slice(), $.$get$_uniqueId()], [t1]), t1);
  53243. });
  53244. _lazy($, "_unquote", "$get$_unquote", function() {
  53245. return Q.BuiltInCallable$("unquote", "$string", new D.closure46());
  53246. });
  53247. _lazy($, "_quote", "$get$_quote", function() {
  53248. return Q.BuiltInCallable$("quote", "$string", new D.closure45());
  53249. });
  53250. _lazy($, "_length0", "$get$_length", function() {
  53251. return Q.BuiltInCallable$("length", "$string", new D.closure41());
  53252. });
  53253. _lazy($, "_insert", "$get$_insert", function() {
  53254. return Q.BuiltInCallable$("insert", "$string, $insert, $index", new D.closure40());
  53255. });
  53256. _lazy($, "_index0", "$get$_index", function() {
  53257. return Q.BuiltInCallable$("index", "$string, $substring", new D.closure39());
  53258. });
  53259. _lazy($, "_slice", "$get$_slice", function() {
  53260. return Q.BuiltInCallable$("slice", "$string, $start-at, $end-at: -1", new D.closure38());
  53261. });
  53262. _lazy($, "_toUpperCase", "$get$_toUpperCase", function() {
  53263. return Q.BuiltInCallable$("to-upper-case", "$string", new D.closure44());
  53264. });
  53265. _lazy($, "_toLowerCase", "$get$_toLowerCase", function() {
  53266. return Q.BuiltInCallable$("to-lower-case", "$string", new D.closure43());
  53267. });
  53268. _lazy($, "_uniqueId", "$get$_uniqueId", function() {
  53269. return Q.BuiltInCallable$("unique-id", "", new D.closure42());
  53270. });
  53271. _lazy($, "stderr", "$get$stderr", function() {
  53272. return new B.Stderr(self.process.stderr);
  53273. });
  53274. _lazy($, "Logger_quiet", "$get$Logger_quiet", function() {
  53275. return new F._QuietLogger();
  53276. });
  53277. _lazy($, "_jsThrow", "$get$_jsThrow", function() {
  53278. return new self.Function("error", "throw error;");
  53279. });
  53280. _lazy($, "_isUndefined", "$get$_isUndefined", function() {
  53281. return new self.Function("value", "return value === undefined;");
  53282. });
  53283. _lazy($, "booleanConstructor", "$get$booleanConstructor", function() {
  53284. return new Z.closure36().call$0();
  53285. });
  53286. _lazy($, "colorConstructor", "$get$colorConstructor", function() {
  53287. return B.createClass(new K.closure24(), P.LinkedHashMap_LinkedHashMap$_literal(["getR", new K.closure25(), "getG", new K.closure26(), "getB", new K.closure27(), "getA", new K.closure28(), "setR", new K.closure29(), "setG", new K.closure30(), "setB", new K.closure31(), "setA", new K.closure32(), "toString", new K.closure33()], P.String, P.Function));
  53288. });
  53289. _lazy($, "listConstructor", "$get$listConstructor", function() {
  53290. return B.createClass(new D.closure17(), P.LinkedHashMap_LinkedHashMap$_literal(["getValue", new D.closure18(), "setValue", new D.closure19(), "getSeparator", new D.closure20(), "setSeparator", new D.closure21(), "getLength", new D.closure22(), "toString", new D.closure23()], P.String, P.Function));
  53291. });
  53292. _lazy($, "mapConstructor", "$get$mapConstructor", function() {
  53293. return B.createClass(new A.closure10(), P.LinkedHashMap_LinkedHashMap$_literal(["getKey", new A.closure11(), "getValue", new A.closure12(), "getLength", new A.closure13(), "setKey", new A.closure14(), "setValue", new A.closure15(), "toString", new A.closure16()], P.String, P.Function));
  53294. });
  53295. _lazy($, "nullConstructor", "$get$nullConstructor", function() {
  53296. return new O.closure9().call$0();
  53297. });
  53298. _lazy($, "numberConstructor", "$get$numberConstructor", function() {
  53299. return B.createClass(new T.closure3(), P.LinkedHashMap_LinkedHashMap$_literal(["getValue", new T.closure4(), "setValue", new T.closure5(), "getUnit", new T.closure6(), "setUnit", new T.closure7(), "toString", new T.closure8()], P.String, P.Function));
  53300. });
  53301. _lazy($, "stringConstructor", "$get$stringConstructor", function() {
  53302. return B.createClass(new D.closure(), P.LinkedHashMap_LinkedHashMap$_literal(["getValue", new D.closure0(), "setValue", new D.closure1(), "toString", new D.closure2()], P.String, P.Function));
  53303. });
  53304. _lazy($, "_disallowedFunctionNames", "$get$_disallowedFunctionNames", function() {
  53305. var t1 = $.$get$globalFunctions();
  53306. t1 = t1.map$1$1(t1, new Q.closure129(), P.String).toSet$0(0);
  53307. t1.add$1(0, "if");
  53308. t1.remove$1(0, "rgb");
  53309. t1.remove$1(0, "rgba");
  53310. t1.remove$1(0, "hsl");
  53311. t1.remove$1(0, "hsla");
  53312. t1.remove$1(0, "grayscale");
  53313. t1.remove$1(0, "invert");
  53314. t1.remove$1(0, "alpha");
  53315. t1.remove$1(0, "opacity");
  53316. return t1;
  53317. });
  53318. _lazy($, "epsilon", "$get$epsilon", function() {
  53319. return P.pow(10, -11);
  53320. });
  53321. _lazy($, "_inverseEpsilon", "$get$_inverseEpsilon", function() {
  53322. return 1 / $.$get$epsilon();
  53323. });
  53324. _lazy($, "_noSourceUrl", "$get$_noSourceUrl", function() {
  53325. return P.Uri_parse("-");
  53326. });
  53327. _lazy($, "_conversions", "$get$_conversions", function() {
  53328. var t1 = P.String,
  53329. t2 = P.num;
  53330. return P.LinkedHashMap_LinkedHashMap$_literal(["in", P.LinkedHashMap_LinkedHashMap$_literal(["in", 1, "cm", 0.39370078740157477, "pc", 0.16666666666666666, "mm", 0.03937007874015748, "q", 0.00984251968503937, "pt", 0.013888888888888888, "px", 0.010416666666666666], t1, t2), "cm", P.LinkedHashMap_LinkedHashMap$_literal(["in", 2.54, "cm", 1, "pc", 0.42333333333333334, "mm", 0.1, "q", 0.025, "pt", 0.035277777777777776, "px", 0.026458333333333334], t1, t2), "pc", P.LinkedHashMap_LinkedHashMap$_literal(["in", 6, "cm", 2.3622047244094486, "pc", 1, "mm", 0.2362204724409449, "q", 0.05905511811023623, "pt", 0.08333333333333333, "px", 0.0625], t1, t2), "mm", P.LinkedHashMap_LinkedHashMap$_literal(["in", 25.4, "cm", 10, "pc", 4.233333333333333, "mm", 1, "q", 0.25, "pt", 0.35277777777777775, "px", 0.26458333333333334], t1, t2), "q", P.LinkedHashMap_LinkedHashMap$_literal(["in", 101.6, "cm", 40, "pc", 16.933333333333334, "mm", 4, "q", 1, "pt", 1.411111111111111, "px", 1.0583333333333333], t1, t2), "pt", P.LinkedHashMap_LinkedHashMap$_literal(["in", 72, "cm", 28.346456692913385, "pc", 12, "mm", 2.834645669291339, "q", 0.7086614173228347, "pt", 1, "px", 0.75], t1, t2), "px", P.LinkedHashMap_LinkedHashMap$_literal(["in", 96, "cm", 37.79527559055118, "pc", 16, "mm", 3.7795275590551185, "q", 0.9448818897637796, "pt", 1.3333333333333333, "px", 1], t1, t2), "deg", P.LinkedHashMap_LinkedHashMap$_literal(["deg", 1, "grad", 0.9, "rad", 57.29577951308232, "turn", 360], t1, t2), "grad", P.LinkedHashMap_LinkedHashMap$_literal(["deg", 1.1111111111111112, "grad", 1, "rad", 63.66197723675813, "turn", 400], t1, t2), "rad", P.LinkedHashMap_LinkedHashMap$_literal(["deg", 0.017453292519943295, "grad", 0.015707963267948967, "rad", 1, "turn", 6.283185307179586], t1, t2), "turn", P.LinkedHashMap_LinkedHashMap$_literal(["deg", 0.002777777777777778, "grad", 0.0025, "rad", 0.15915494309189535, "turn", 1], t1, t2), "s", P.LinkedHashMap_LinkedHashMap$_literal(["s", 1, "ms", 0.001], t1, t2), "ms", P.LinkedHashMap_LinkedHashMap$_literal(["s", 1000, "ms", 1], t1, t2), "Hz", P.LinkedHashMap_LinkedHashMap$_literal(["Hz", 1, "kHz", 1000], t1, t2), "kHz", P.LinkedHashMap_LinkedHashMap$_literal(["Hz", 0.001, "kHz", 1], t1, t2), "dpi", P.LinkedHashMap_LinkedHashMap$_literal(["dpi", 1, "dpcm", 2.54, "dppx", 96], t1, t2), "dpcm", P.LinkedHashMap_LinkedHashMap$_literal(["dpi", 0.39370078740157477, "dpcm", 1, "dppx", 37.79527559055118], t1, t2), "dppx", P.LinkedHashMap_LinkedHashMap$_literal(["dpi", 0.010416666666666666, "dpcm", 0.026458333333333334, "dppx", 1], t1, t2)], t1, [P.Map, P.String, P.num]);
  53331. });
  53332. _lazy($, "_emptyQuoted", "$get$_emptyQuoted", function() {
  53333. return D.SassString$("", true);
  53334. });
  53335. _lazy($, "_emptyUnquoted", "$get$_emptyUnquoted", function() {
  53336. return D.SassString$("", false);
  53337. });
  53338. _lazy($, "MAX_INT32", "$get$MAX_INT32", function() {
  53339. return P.pow(2, 31) - 1;
  53340. });
  53341. _lazy($, "MIN_INT32", "$get$MIN_INT32", function() {
  53342. return -P.pow(2, 31);
  53343. });
  53344. _lazy($, "_vmFrame", "$get$_vmFrame", function() {
  53345. return P.RegExp_RegExp("^#\\d+\\s+(\\S.*) \\((.+?)((?::\\d+){0,2})\\)$", false);
  53346. });
  53347. _lazy($, "_v8Frame", "$get$_v8Frame", function() {
  53348. return P.RegExp_RegExp("^\\s*at (?:(\\S.*?)(?: \\[as [^\\]]+\\])? \\((.*)\\)|(.*))$", false);
  53349. });
  53350. _lazy($, "_v8UrlLocation", "$get$_v8UrlLocation", function() {
  53351. return P.RegExp_RegExp("^(.*):(\\d+):(\\d+)|native$", false);
  53352. });
  53353. _lazy($, "_v8EvalLocation", "$get$_v8EvalLocation", function() {
  53354. return P.RegExp_RegExp("^eval at (?:\\S.*?) \\((.*)\\)(?:, .*?:\\d+:\\d+)?$", false);
  53355. });
  53356. _lazy($, "_firefoxSafariFrame", "$get$_firefoxSafariFrame", function() {
  53357. return P.RegExp_RegExp("^(?:([^@(/]*)(?:\\(.*\\))?((?:/[^/]*)*)(?:\\(.*\\))?@)?(.*?):(\\d*)(?::(\\d*))?$", false);
  53358. });
  53359. _lazy($, "_friendlyFrame", "$get$_friendlyFrame", function() {
  53360. return P.RegExp_RegExp("^(\\S+)(?: (\\d+)(?::(\\d+))?)?\\s+([^\\d].*)$", false);
  53361. });
  53362. _lazy($, "_asyncBody", "$get$_asyncBody", function() {
  53363. return P.RegExp_RegExp("<(<anonymous closure>|[^>]+)_async_body>", false);
  53364. });
  53365. _lazy($, "_initialDot", "$get$_initialDot", function() {
  53366. return P.RegExp_RegExp("^\\.", false);
  53367. });
  53368. _lazy($, "Frame__uriRegExp", "$get$Frame__uriRegExp", function() {
  53369. return P.RegExp_RegExp("^[a-zA-Z][-+.a-zA-Z\\d]*://", false);
  53370. });
  53371. _lazy($, "Frame__windowsRegExp", "$get$Frame__windowsRegExp", function() {
  53372. return P.RegExp_RegExp("^([a-zA-Z]:[\\\\/]|\\\\\\\\)", false);
  53373. });
  53374. _lazy($, "_terseRegExp", "$get$_terseRegExp", function() {
  53375. return P.RegExp_RegExp("(-patch)?([/\\\\].*)?$", false);
  53376. });
  53377. _lazy($, "_v8Trace", "$get$_v8Trace", function() {
  53378. return P.RegExp_RegExp("\\n ?at ", false);
  53379. });
  53380. _lazy($, "_v8TraceLine", "$get$_v8TraceLine", function() {
  53381. return P.RegExp_RegExp(" ?at ", false);
  53382. });
  53383. _lazy($, "_firefoxSafariTrace", "$get$_firefoxSafariTrace", function() {
  53384. return P.RegExp_RegExp("^(([.0-9A-Za-z_$/<]|\\(.*\\))*@)?[^\\s]*:\\d*$", true);
  53385. });
  53386. _lazy($, "_friendlyTrace", "$get$_friendlyTrace", function() {
  53387. return P.RegExp_RegExp("^[^\\s<][^\\s]*( \\d+(:\\d+)?)?[ \\t]+[^\\s]+$", true);
  53388. });
  53389. _lazy($, "_newlineRegExp", "$get$_newlineRegExp", function() {
  53390. return P.RegExp_RegExp("\\r\\n?|\\n", false);
  53391. });
  53392. })();
  53393. (function nativeSupport() {
  53394. !function() {
  53395. var intern = function(s) {
  53396. var o = {};
  53397. o[s] = 1;
  53398. return Object.keys(hunkHelpers.convertToFastObject(o))[0];
  53399. };
  53400. init.getIsolateTag = function(name) {
  53401. return intern("___dart_" + name + init.isolateTag);
  53402. };
  53403. var tableProperty = "___dart_isolate_tags_";
  53404. var usedProperties = Object[tableProperty] || (Object[tableProperty] = Object.create(null));
  53405. var rootProperty = "_ZxYxX";
  53406. for (var i = 0;; i++) {
  53407. var property = intern(rootProperty + "_" + i + "_");
  53408. if (!(property in usedProperties)) {
  53409. usedProperties[property] = 1;
  53410. init.isolateTag = property;
  53411. break;
  53412. }
  53413. }
  53414. init.dispatchPropertyName = init.getIsolateTag("dispatch_record");
  53415. }();
  53416. hunkHelpers.setOrUpdateInterceptorsByTag({ArrayBuffer: J.Interceptor, DataView: H.NativeTypedData, ArrayBufferView: H.NativeTypedData, Float32Array: H.NativeFloat32List, Float64Array: H.NativeFloat64List, Int16Array: H.NativeInt16List, Int32Array: H.NativeInt32List, Int8Array: H.NativeInt8List, Uint16Array: H.NativeUint16List, Uint32Array: H.NativeUint32List, Uint8ClampedArray: H.NativeUint8ClampedList, CanvasPixelArray: H.NativeUint8ClampedList, Uint8Array: H.NativeUint8List});
  53417. hunkHelpers.setOrUpdateLeafTags({ArrayBuffer: true, DataView: true, ArrayBufferView: false, Float32Array: true, Float64Array: true, Int16Array: true, Int32Array: true, Int8Array: true, Uint16Array: true, Uint32Array: true, Uint8ClampedArray: true, CanvasPixelArray: true, Uint8Array: false});
  53418. H.NativeTypedArray.$nativeSuperclassTag = "ArrayBufferView";
  53419. H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin.$nativeSuperclassTag = "ArrayBufferView";
  53420. H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin.$nativeSuperclassTag = "ArrayBufferView";
  53421. H.NativeTypedArrayOfDouble.$nativeSuperclassTag = "ArrayBufferView";
  53422. H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin.$nativeSuperclassTag = "ArrayBufferView";
  53423. H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin.$nativeSuperclassTag = "ArrayBufferView";
  53424. H.NativeTypedArrayOfInt.$nativeSuperclassTag = "ArrayBufferView";
  53425. })();
  53426. Function.prototype.call$1 = function(a) {
  53427. return this(a);
  53428. };
  53429. Function.prototype.call$2 = function(a, b) {
  53430. return this(a, b);
  53431. };
  53432. Function.prototype.call$0 = function() {
  53433. return this();
  53434. };
  53435. Function.prototype.call$3 = function(a, b, c) {
  53436. return this(a, b, c);
  53437. };
  53438. Function.prototype.call$4 = function(a, b, c, d) {
  53439. return this(a, b, c, d);
  53440. };
  53441. Function.prototype.call$1$1 = function(a) {
  53442. return this(a);
  53443. };
  53444. Function.prototype.call$5 = function(a, b, c, d, e) {
  53445. return this(a, b, c, d, e);
  53446. };
  53447. Function.prototype.call$1$3 = function(a, b, c) {
  53448. return this(a, b, c);
  53449. };
  53450. Function.prototype.call$2$2 = function(a, b) {
  53451. return this(a, b);
  53452. };
  53453. Function.prototype.call$6 = function(a, b, c, d, e, f) {
  53454. return this(a, b, c, d, e, f);
  53455. };
  53456. Function.prototype.call$1$0 = function() {
  53457. return this();
  53458. };
  53459. convertAllToFastObject(holders);
  53460. convertToFastObject($);
  53461. (function(callback) {
  53462. if (typeof document === "undefined") {
  53463. callback(null);
  53464. return;
  53465. }
  53466. if (typeof document.currentScript != 'undefined') {
  53467. callback(document.currentScript);
  53468. return;
  53469. }
  53470. var scripts = document.scripts;
  53471. function onLoad(event) {
  53472. for (var i = 0; i < scripts.length; ++i)
  53473. scripts[i].removeEventListener("load", onLoad, false);
  53474. callback(event.target);
  53475. }
  53476. for (var i = 0; i < scripts.length; ++i)
  53477. scripts[i].addEventListener("load", onLoad, false);
  53478. })(function(currentScript) {
  53479. init.currentScript = currentScript;
  53480. if (typeof dartMainRunner === "function")
  53481. dartMainRunner(B.main0, []);
  53482. else
  53483. B.main0([]);
  53484. });
  53485. })();